diff --git a/app/src/main/java/com/stardust/scriptdroid/ui/edit/CodeMirrorEditor.java b/app/src/main/java/com/stardust/scriptdroid/ui/edit/CodeMirrorEditor.java index b822641a..589a01f9 100644 --- a/app/src/main/java/com/stardust/scriptdroid/ui/edit/CodeMirrorEditor.java +++ b/app/src/main/java/com/stardust/scriptdroid/ui/edit/CodeMirrorEditor.java @@ -257,6 +257,12 @@ public class CodeMirrorEditor extends FrameLayout { " {line: editor.getCursor().line + 1, ch: 0});"); } + public void moveCursor(int dLine, int dCh) { + evalJavaScript(String.format(Locale.getDefault(), + "editor.setCursor({line: editor.getCursor().line + (%d), ch: editor.getCursor().ch + (%d)});", + dLine, dCh)); + } + public void copyLine() { getLine() .observeOn(AndroidSchedulers.mainThread()) @@ -561,7 +567,7 @@ public class CodeMirrorEditor extends FrameLayout { post(CodeMirrorEditor.this::selectAll); return true; } - if(id == android.R.id.startSelectingText){ + if (id == android.R.id.startSelectingText) { evalJavaScript("editor.setSelection(editor.getCursor(), {line: editor.getCursor().line, ch: editor.getCursor().ch - 1});"); } return super.performContextMenuAction(id); diff --git a/app/src/main/java/com/stardust/scriptdroid/ui/edit/EditorView.java b/app/src/main/java/com/stardust/scriptdroid/ui/edit/EditorView.java index 63a06f3a..3b7185c3 100644 --- a/app/src/main/java/com/stardust/scriptdroid/ui/edit/EditorView.java +++ b/app/src/main/java/com/stardust/scriptdroid/ui/edit/EditorView.java @@ -428,10 +428,11 @@ public class EditorView extends FrameLayout implements CodeCompletionBar.OnHintC @Override public void onPropertyClick(Module m, Property property) { if (property.isGlobal()) { - mEditor.insert(property.getKey()); + mEditor.insert(property.getKey() + "()"); } else { - mEditor.insert(m.getName() + "." + property.getKey()); + mEditor.insert(m.getName() + "." + property.getKey() + "()"); } + mEditor.moveCursor(0, -1); mFunctionsKeyboardHelper.hideFunctionsLayout(true); }