module dlangide.tools.editorTool; import dlangui.widgets.editors; import dlangui.core.types; import dlangide.ui.frame; import dlangide.ui.dsourceedit; public import dlangide.tools.d.deditorTool; class EditorTool { this(IDEFrame frame) { _frame = frame; } //Since files might be unsaved, we must send all the text content. abstract void goToDefinition(DSourceEdit editor, TextPosition caretPosition); abstract void getDocComments(DSourceEdit editor, TextPosition caretPosition, void delegate(string[]) callback); abstract void getCompletions(DSourceEdit editor, TextPosition caretPosition, void delegate(dstring[] labels, string[] icons) callback); void cancelGoToDefinition() {} void cancelGetDocComments() {} void cancelGetCompletions() {} protected IDEFrame _frame; } class DefaultEditorTool : EditorTool { this(IDEFrame frame) { super(frame); } override void goToDefinition(DSourceEdit editor, TextPosition caretPosition) { //assert(0); //Go To Definition should not be called for normal files. } override void getCompletions(DSourceEdit editor, TextPosition caretPosition, void delegate(dstring[] labels, string[] icons) callback) { //assert(0); } override void getDocComments(DSourceEdit editor, TextPosition caretPosition, void delegate(string[]) callback) { //assert(0); } }