From 0c83d4d96a6fdff74570c5ff44ff74af3dc812d7 Mon Sep 17 00:00:00 2001 From: hyb1996 <946994919@qq.com> Date: Sun, 10 Dec 2017 01:06:47 +0800 Subject: [PATCH] opt: functions keyboard auto insert brackets --- .../stardust/scriptdroid/ui/edit/CodeMirrorEditor.java | 8 +++++++- .../java/com/stardust/scriptdroid/ui/edit/EditorView.java | 5 +++-- 2 files changed, 10 insertions(+), 3 deletions(-) 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); }