SideBySide: Allow to activate match brackets Codemirror addon
Now, that we migrated diff user preferences to Git backend, we can make activation of codemirror option: "highlight matched brackets" customizable. Change-Id: I37c1c1ee13ff872e3cbc349a7c9fee636312402e
This commit is contained in:
committed by
David Pursehouse
parent
ca09f4717d
commit
188b8237ea
@@ -1709,6 +1709,8 @@ Number of spaces that should be used to display one tab.
|
|||||||
|'hide_empty_pane' |not set if `false`|
|
|'hide_empty_pane' |not set if `false`|
|
||||||
Whether empty panes should be hidden. The left pane is empty when a
|
Whether empty panes should be hidden. The left pane is empty when a
|
||||||
file was added; the right pane is empty when a file was deleted.
|
file was added; the right pane is empty when a file was deleted.
|
||||||
|
|`match_brackets` |not set if `false`|
|
||||||
|
Whether matching brackets should be highlighted.
|
||||||
|===========================================
|
|===========================================
|
||||||
|
|
||||||
[[diff-preferences-input]]
|
[[diff-preferences-input]]
|
||||||
|
|||||||
@@ -63,6 +63,7 @@ public class DiffPreferencesIT extends AbstractDaemonTest {
|
|||||||
assertThat(o.hideLineNumbers).isNull();
|
assertThat(o.hideLineNumbers).isNull();
|
||||||
assertThat(o.renderEntireFile).isNull();
|
assertThat(o.renderEntireFile).isNull();
|
||||||
assertThat(o.hideEmptyPane).isNull();
|
assertThat(o.hideEmptyPane).isNull();
|
||||||
|
assertThat(o.matchBrackets).isNull();
|
||||||
assertThat(o.ignoreWhitespace).isEqualTo(d.ignoreWhitespace);
|
assertThat(o.ignoreWhitespace).isEqualTo(d.ignoreWhitespace);
|
||||||
assertThat(o.theme).isEqualTo(d.theme);
|
assertThat(o.theme).isEqualTo(d.theme);
|
||||||
}
|
}
|
||||||
@@ -93,6 +94,7 @@ public class DiffPreferencesIT extends AbstractDaemonTest {
|
|||||||
i.hideLineNumbers ^= true;
|
i.hideLineNumbers ^= true;
|
||||||
i.renderEntireFile ^= true;
|
i.renderEntireFile ^= true;
|
||||||
i.hideEmptyPane ^= true;
|
i.hideEmptyPane ^= true;
|
||||||
|
i.matchBrackets ^= true;
|
||||||
|
|
||||||
RestResponse r = adminSession.put("/accounts/" + admin.email
|
RestResponse r = adminSession.put("/accounts/" + admin.email
|
||||||
+ "/preferences.diff", i);
|
+ "/preferences.diff", i);
|
||||||
@@ -119,6 +121,7 @@ public class DiffPreferencesIT extends AbstractDaemonTest {
|
|||||||
assertThat(o.hideLineNumbers).isEqualTo(i.hideLineNumbers);
|
assertThat(o.hideLineNumbers).isEqualTo(i.hideLineNumbers);
|
||||||
assertThat(o.renderEntireFile).isEqualTo(i.renderEntireFile);
|
assertThat(o.renderEntireFile).isEqualTo(i.renderEntireFile);
|
||||||
assertThat(o.hideEmptyPane).isEqualTo(i.hideEmptyPane);
|
assertThat(o.hideEmptyPane).isEqualTo(i.hideEmptyPane);
|
||||||
|
assertThat(o.matchBrackets).isEqualTo(i.matchBrackets);
|
||||||
assertThat(o.ignoreWhitespace).isEqualTo(i.ignoreWhitespace);
|
assertThat(o.ignoreWhitespace).isEqualTo(i.ignoreWhitespace);
|
||||||
assertThat(o.theme).isEqualTo(i.theme);
|
assertThat(o.theme).isEqualTo(i.theme);
|
||||||
|
|
||||||
|
|||||||
@@ -55,6 +55,7 @@ public class DiffPreferencesInfo {
|
|||||||
public Boolean hideLineNumbers;
|
public Boolean hideLineNumbers;
|
||||||
public Boolean renderEntireFile;
|
public Boolean renderEntireFile;
|
||||||
public Boolean hideEmptyPane;
|
public Boolean hideEmptyPane;
|
||||||
|
public Boolean matchBrackets;
|
||||||
public Theme theme;
|
public Theme theme;
|
||||||
public Whitespace ignoreWhitespace;
|
public Whitespace ignoreWhitespace;
|
||||||
public Boolean retainHeader;
|
public Boolean retainHeader;
|
||||||
@@ -84,6 +85,7 @@ public class DiffPreferencesInfo {
|
|||||||
i.hideLineNumbers = false;
|
i.hideLineNumbers = false;
|
||||||
i.renderEntireFile = false;
|
i.renderEntireFile = false;
|
||||||
i.hideEmptyPane = false;
|
i.hideEmptyPane = false;
|
||||||
|
i.matchBrackets = false;
|
||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -46,6 +46,7 @@ public class DiffPreferences extends JavaScriptObject {
|
|||||||
p.retainHeader(in.retainHeader);
|
p.retainHeader(in.retainHeader);
|
||||||
p.skipUncommented(in.skipUncommented);
|
p.skipUncommented(in.skipUncommented);
|
||||||
p.skipDeleted(in.skipDeleted);
|
p.skipDeleted(in.skipDeleted);
|
||||||
|
p.matchBrackets(in.matchBrackets);
|
||||||
return p;
|
return p;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -69,6 +70,7 @@ public class DiffPreferences extends JavaScriptObject {
|
|||||||
p.hideLineNumbers = hideLineNumbers();
|
p.hideLineNumbers = hideLineNumbers();
|
||||||
p.renderEntireFile = renderEntireFile();
|
p.renderEntireFile = renderEntireFile();
|
||||||
p.hideEmptyPane = hideEmptyPane();
|
p.hideEmptyPane = hideEmptyPane();
|
||||||
|
p.matchBrackets = matchBrackets();
|
||||||
p.theme = theme();
|
p.theme = theme();
|
||||||
p.ignoreWhitespace = ignoreWhitespace();
|
p.ignoreWhitespace = ignoreWhitespace();
|
||||||
}
|
}
|
||||||
@@ -134,10 +136,11 @@ public class DiffPreferences extends JavaScriptObject {
|
|||||||
public final native void expandAllComments(boolean e) /*-{ this.expand_all_comments = e }-*/;
|
public final native void expandAllComments(boolean e) /*-{ this.expand_all_comments = e }-*/;
|
||||||
public final native void manualReview(boolean r) /*-{ this.manual_review = r }-*/;
|
public final native void manualReview(boolean r) /*-{ this.manual_review = r }-*/;
|
||||||
public final native void renderEntireFile(boolean r) /*-{ this.render_entire_file = r }-*/;
|
public final native void renderEntireFile(boolean r) /*-{ this.render_entire_file = r }-*/;
|
||||||
public final native void hideEmptyPane(boolean s) /*-{ this.hide_empty_pane = s }-*/;
|
|
||||||
public final native void retainHeader(boolean r) /*-{ this.retain_header = r }-*/;
|
public final native void retainHeader(boolean r) /*-{ this.retain_header = r }-*/;
|
||||||
|
public final native void hideEmptyPane(boolean s) /*-{ this.hide_empty_pane = s }-*/;
|
||||||
public final native void skipUncommented(boolean s) /*-{ this.skip_uncommented = s }-*/;
|
public final native void skipUncommented(boolean s) /*-{ this.skip_uncommented = s }-*/;
|
||||||
public final native void skipDeleted(boolean s) /*-{ this.skip_deleted = s }-*/;
|
public final native void skipDeleted(boolean s) /*-{ this.skip_deleted = s }-*/;
|
||||||
|
public final native void matchBrackets(boolean m) /*-{ this.match_brackets = m }-*/;
|
||||||
public final native boolean intralineDifference() /*-{ return this.intraline_difference || false }-*/;
|
public final native boolean intralineDifference() /*-{ return this.intraline_difference || false }-*/;
|
||||||
public final native boolean showLineEndings() /*-{ return this.show_line_endings || false }-*/;
|
public final native boolean showLineEndings() /*-{ return this.show_line_endings || false }-*/;
|
||||||
public final native boolean showTabs() /*-{ return this.show_tabs || false }-*/;
|
public final native boolean showTabs() /*-{ return this.show_tabs || false }-*/;
|
||||||
@@ -153,6 +156,7 @@ public class DiffPreferences extends JavaScriptObject {
|
|||||||
public final native boolean retainHeader() /*-{ return this.retain_header || false }-*/;
|
public final native boolean retainHeader() /*-{ return this.retain_header || false }-*/;
|
||||||
public final native boolean skipUncommented() /*-{ return this.skip_uncommented || false }-*/;
|
public final native boolean skipUncommented() /*-{ return this.skip_uncommented || false }-*/;
|
||||||
public final native boolean skipDeleted() /*-{ return this.skip_deleted || false }-*/;
|
public final native boolean skipDeleted() /*-{ return this.skip_deleted || false }-*/;
|
||||||
|
public final native boolean matchBrackets() /*-{ return this.match_brackets || false }-*/;
|
||||||
|
|
||||||
private final native void setThemeRaw(String i) /*-{ this.theme = i }-*/;
|
private final native void setThemeRaw(String i) /*-{ this.theme = i }-*/;
|
||||||
private final native void setIgnoreWhitespaceRaw(String i) /*-{ this.ignore_whitespace = i }-*/;
|
private final native void setIgnoreWhitespaceRaw(String i) /*-{ this.ignore_whitespace = i }-*/;
|
||||||
|
|||||||
@@ -101,6 +101,7 @@ public class PreferencesBox extends Composite {
|
|||||||
@UiField ToggleButton manualReview;
|
@UiField ToggleButton manualReview;
|
||||||
@UiField ToggleButton expandAllComments;
|
@UiField ToggleButton expandAllComments;
|
||||||
@UiField ToggleButton renderEntireFile;
|
@UiField ToggleButton renderEntireFile;
|
||||||
|
@UiField ToggleButton matchBrackets;
|
||||||
@UiField ListBox theme;
|
@UiField ListBox theme;
|
||||||
@UiField Element modeLabel;
|
@UiField Element modeLabel;
|
||||||
@UiField ListBox mode;
|
@UiField ListBox mode;
|
||||||
@@ -192,6 +193,7 @@ public class PreferencesBox extends Composite {
|
|||||||
autoHideDiffTableHeader.setValue(!prefs.autoHideDiffTableHeader());
|
autoHideDiffTableHeader.setValue(!prefs.autoHideDiffTableHeader());
|
||||||
manualReview.setValue(prefs.manualReview());
|
manualReview.setValue(prefs.manualReview());
|
||||||
expandAllComments.setValue(prefs.expandAllComments());
|
expandAllComments.setValue(prefs.expandAllComments());
|
||||||
|
matchBrackets.setValue(prefs.matchBrackets());
|
||||||
setTheme(prefs.theme());
|
setTheme(prefs.theme());
|
||||||
|
|
||||||
if (view == null || view.canRenderEntireFile(prefs)) {
|
if (view == null || view.canRenderEntireFile(prefs)) {
|
||||||
@@ -482,6 +484,15 @@ public class PreferencesBox extends Composite {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@UiHandler("matchBrackets")
|
||||||
|
void onMatchBrackets(ValueChangeEvent<Boolean> e) {
|
||||||
|
prefs.matchBrackets(e.getValue());
|
||||||
|
view.getCmFromSide(DisplaySide.A).setOption("matchBrackets",
|
||||||
|
prefs.matchBrackets());
|
||||||
|
view.getCmFromSide(DisplaySide.B).setOption("matchBrackets",
|
||||||
|
prefs.matchBrackets());
|
||||||
|
}
|
||||||
|
|
||||||
@UiHandler("theme")
|
@UiHandler("theme")
|
||||||
void onTheme(@SuppressWarnings("unused") ChangeEvent e) {
|
void onTheme(@SuppressWarnings("unused") ChangeEvent e) {
|
||||||
final Theme newTheme = getSelectedTheme();
|
final Theme newTheme = getSelectedTheme();
|
||||||
|
|||||||
@@ -289,6 +289,13 @@ limitations under the License.
|
|||||||
<g:downFace><ui:msg>Slow</ui:msg></g:downFace>
|
<g:downFace><ui:msg>Slow</ui:msg></g:downFace>
|
||||||
</g:ToggleButton></td>
|
</g:ToggleButton></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th><ui:msg>Match Brackets</ui:msg></th>
|
||||||
|
<td><g:ToggleButton ui:field='matchBrackets'>
|
||||||
|
<g:upFace><ui:msg>Off</ui:msg></g:upFace>
|
||||||
|
<g:downFace><ui:msg>On</ui:msg></g:downFace>
|
||||||
|
</g:ToggleButton></td>
|
||||||
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td></td>
|
<td></td>
|
||||||
<td>
|
<td>
|
||||||
|
|||||||
Reference in New Issue
Block a user