InlineEdit: Allow to activate auto-close brackets Codemirror addon

Codemirror closebrackets.js addons defines an option `autoCloseBrackets`
that will auto-close brackets and quotes when typed. By default, it will
auto-close ()[]{}''"".

Change-Id: I844d49c7d60d8fc78808df566e4c4f9aff1b012e
This commit is contained in:
David Ostrovsky
2015-05-15 00:28:40 +02:00
parent c232840a1a
commit 3cd7a19ea0
8 changed files with 32 additions and 2 deletions

View File

@@ -63,6 +63,7 @@ class EditPreferencesBox extends Composite {
@UiField ToggleButton whitespaceErrors;
@UiField ToggleButton lineNumbers;
@UiField ToggleButton matchBrackets;
@UiField ToggleButton autoCloseBrackets;
@UiField ListBox theme;
@UiField ListBox keyMap;
@UiField Button apply;
@@ -87,6 +88,7 @@ class EditPreferencesBox extends Composite {
whitespaceErrors.setValue(prefs.showWhitespaceErrors());
lineNumbers.setValue(prefs.hideLineNumbers());
matchBrackets.setValue(prefs.matchBrackets());
autoCloseBrackets.setValue(prefs.autoCloseBrackets());
setTheme(prefs.theme());
setKeyMapType(prefs.keyMapType());
}
@@ -157,6 +159,12 @@ class EditPreferencesBox extends Composite {
view.getEditor().setOption("matchBrackets", prefs.matchBrackets());
}
@UiHandler("autoCloseBrackets")
void onCloseBrackets(ValueChangeEvent<Boolean> e) {
prefs.autoCloseBrackets(e.getValue());
view.getEditor().setOption("autoCloseBrackets", prefs.autoCloseBrackets());
}
@UiHandler("theme")
void onTheme(@SuppressWarnings("unused") ChangeEvent e) {
final Theme newTheme = Theme.valueOf(theme.getValue(theme.getSelectedIndex()));

View File

@@ -229,6 +229,13 @@ limitations under the License.
<g:downFace><ui:msg>On</ui:msg></g:downFace>
</g:ToggleButton></td>
</tr>
<tr>
<th><ui:msg>Auto Close Brackets</ui:msg></th>
<td><g:ToggleButton ui:field='autoCloseBrackets'>
<g:upFace><ui:msg>Off</ui:msg></g:upFace>
<g:downFace><ui:msg>On</ui:msg></g:downFace>
</g:ToggleButton></td>
</tr>
<tr>
<td></td>
<td>

View File

@@ -447,6 +447,7 @@ public class EditScreen extends Screen {
.set("tabSize", prefs.tabSize())
.set("lineWrapping", false)
.set("matchBrackets", prefs.matchBrackets())
.set("autoCloseBrackets", prefs.autoCloseBrackets())
.set("scrollbarStyle", "overlay")
.set("styleSelectedText", true)
.set("showTrailingSpace", prefs.showWhitespaceErrors())