Show pageOld revisionsBacklinksFold/unfold allBack to top This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. ====== Code Formatter ====== * :!: https://yorickpeterse.com/articles/how-to-write-a-code-formatter/ * https://www.ntietz.com/blog/writing-basic-code-formatter/ * :!: https://journal.stuffwithstuff.com/2015/09/08/the-hardest-program-ive-ever-written/ ===== How to write a code formatter ===== reference: https://www.ntietz.com/blog/writing-basic-code-formatter/ prettier is based on [[https://homepages.inf.ed.ac.uk/wadler/papers/prettier/prettier.pdf|this paper]] ===== code gen ===== <code ts> type LowcodeInterface = { identifier: string; fields: { name: string, type: string, comment?: string }[]; comment?: string; } function printField(field: { name: string, type: string, comment?: string }) { return (field.comment ? ' /* ' + field.comment + ' */' + "\n" : "") + " " + field.name + ": " + field.type; } function printInterface(lowcodeInterface: LowcodeInterface) { return (lowcodeInterface.comment ? '/* ' + lowcodeInterface.comment + " */\n" : "") + "interface " + lowcodeInterface.identifier + " {\n" + lowcodeInterface.fields.map(printField).join('\n') + "\n}"; } export { printInterface }; </code> note/sun_jun_22_2025.txt Last modified: 2025/06/22 14:52by lingao