srecord noeq G22ProjectStoryEditor(G22Utils g22utils) { JSyntaxTextFileEditor editor; File textFile() { ret g22utils.projectStoryTextFile(); } cachedVisualize { editor = new JSyntaxTextFileEditor(textFile()).autoSave(true); editor.adaptSyntaxTextArea = textArea -> g22_adaptSyntaxTextAreaForHashRefs(textArea, g22utils); ret withTopAndBottomMargin(jRaisedCenteredSection("Project Story " + quote(g22utils.projectName()), editor.visualize() )); } }