sclass JSyntaxTextFileEditor > JTextFileEditor { *(File file) { super(file); } RSyntaxTextAreaWithSearch textAreaWithSearch; @Override public RSyntaxTextArea textArea() { ret (RSyntaxTextArea) textArea; } @Override JTextArea makeTextArea() { textAreaWithSearch = makeSyntaxTextAreaWithSearch(); textAreaWithSearch.menuLessOperation(); var ta = textAreaWithSearch.textArea(); adaptSyntaxTextArea(ta); ret ta; } @Override JComponent textAreaLayoutComponent() { ret textAreaWithSearch.visualize(); } swappable RSyntaxTextAreaWithSearch makeSyntaxTextAreaWithSearch() { ret rSyntaxTextAreaWithSearch(); } swappable void adaptSyntaxTextArea(RSyntaxTextArea textArea) {} public selfType autoSave(bool b) { super.autoSave(b); this; } public selfType uneditable(bool b) { super.uneditable(b); this; } }