From 281bcc7555bbf5a4440fb575a4dcce36b487e013 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Malbr=C3=A1n?= Date: Mon, 5 May 2014 00:18:28 -0300 Subject: [PATCH 1/2] Highlight Selection Matches --- src/brackets.js | 1 + src/editor/Editor.js | 8 ++++++-- src/styles/brackets_codemirror_override.less | 6 ++++++ 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/brackets.js b/src/brackets.js index 05a3f148fa5..dfd95b53b4e 100644 --- a/src/brackets.js +++ b/src/brackets.js @@ -55,6 +55,7 @@ define(function (require, exports, module) { require("thirdparty/CodeMirror2/addon/selection/active-line"); require("thirdparty/CodeMirror2/addon/mode/multiplex"); require("thirdparty/CodeMirror2/addon/mode/overlay"); + require("thirdparty/CodeMirror2/addon/search/match-highlighter"); require("thirdparty/CodeMirror2/addon/search/searchcursor"); require("thirdparty/CodeMirror2/keymap/sublime"); diff --git a/src/editor/Editor.js b/src/editor/Editor.js index 7f17dfefb22..504a04cac24 100644 --- a/src/editor/Editor.js +++ b/src/editor/Editor.js @@ -81,6 +81,7 @@ define(function (require, exports, module) { /** Editor preferences */ var CLOSE_BRACKETS = "closeBrackets", CLOSE_TAGS = "closeTags", + HIGHLIGHT_MATCHES = "highlightMatches", SCROLL_PAST_END = "scrollPastEnd", SHOW_LINE_NUMBERS = "showLineNumbers", SMART_INDENT = "smartIndent", @@ -104,6 +105,7 @@ define(function (require, exports, module) { // Mappings from Brackets preferences to CodeMirror options cmOptions[CLOSE_BRACKETS] = "autoCloseBrackets"; cmOptions[CLOSE_TAGS] = "autoCloseTags"; + cmOptions[HIGHLIGHT_MATCHES] = "highlightSelectionMatches"; cmOptions[SCROLL_PAST_END] = "scrollPastEnd"; cmOptions[SHOW_LINE_NUMBERS] = "lineNumbers"; cmOptions[SMART_INDENT] = "smartIndent"; @@ -115,15 +117,16 @@ define(function (require, exports, module) { PreferencesManager.definePreference(CLOSE_BRACKETS, "boolean", false); PreferencesManager.definePreference(CLOSE_TAGS, "Object", { whenOpening: true, whenClosing: true, indentTags: [] }); + PreferencesManager.definePreference(HIGHLIGHT_MATCHES, "boolean", false); PreferencesManager.definePreference(SCROLL_PAST_END, "boolean", false); PreferencesManager.definePreference(SHOW_LINE_NUMBERS, "boolean", true); PreferencesManager.definePreference(SMART_INDENT, "boolean", true); PreferencesManager.definePreference(SOFT_TABS, "boolean", true); - PreferencesManager.definePreference(SPACE_UNITS, "number", DEFAULT_SPACE_UNITS, { + PreferencesManager.definePreference(SPACE_UNITS, "number", DEFAULT_SPACE_UNITS, { validator: _.partialRight(ValidationUtils.isIntegerInRange, MIN_SPACE_UNITS, MAX_SPACE_UNITS) }); PreferencesManager.definePreference(STYLE_ACTIVE_LINE, "boolean", false); - PreferencesManager.definePreference(TAB_SIZE, "number", DEFAULT_TAB_SIZE, { + PreferencesManager.definePreference(TAB_SIZE, "number", DEFAULT_TAB_SIZE, { validator: _.partialRight(ValidationUtils.isIntegerInRange, MIN_TAB_SIZE, MAX_TAB_SIZE) }); PreferencesManager.definePreference(USE_TAB_CHAR, "boolean", false); @@ -261,6 +264,7 @@ define(function (require, exports, module) { dragDrop : false, electricChars : false, // we use our own impl of this to avoid CodeMirror bugs; see _checkElectricChars() extraKeys : codeMirrorKeyMap, + highlightSelectionMatches : currentOptions[HIGHLIGHT_MATCHES], indentUnit : currentOptions[USE_TAB_CHAR] ? currentOptions[TAB_SIZE] : currentOptions[SPACE_UNITS], indentWithTabs : currentOptions[USE_TAB_CHAR], lineNumbers : currentOptions[SHOW_LINE_NUMBERS], diff --git a/src/styles/brackets_codemirror_override.less b/src/styles/brackets_codemirror_override.less index 3c004c71621..476d6735c19 100644 --- a/src/styles/brackets_codemirror_override.less +++ b/src/styles/brackets_codemirror_override.less @@ -71,6 +71,12 @@ } } +.CodeMirror-focused .cm-matchhighlight { + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAYAAABytg0kAAAAFklEQVQI12NgYGBgkKzc8x9CMDAwAAAmhwSbidEoSQAAAABJRU5ErkJggg==); + background-position: bottom; + background-repeat: repeat-x; +} + .cm-s-default { span.cm-keyword {color: @accent-keyword;} From 704aa1295656287195d7be39dab99f030983f425 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Malbr=C3=A1n?= Date: Wed, 7 May 2014 18:43:17 -0300 Subject: [PATCH 2/2] Use new underline style --- src/styles/brackets_codemirror_override.less | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/styles/brackets_codemirror_override.less b/src/styles/brackets_codemirror_override.less index 476d6735c19..4b5daa3eee3 100644 --- a/src/styles/brackets_codemirror_override.less +++ b/src/styles/brackets_codemirror_override.less @@ -72,9 +72,7 @@ } .CodeMirror-focused .cm-matchhighlight { - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAYAAABytg0kAAAAFklEQVQI12NgYGBgkKzc8x9CMDAwAAAmhwSbidEoSQAAAABJRU5ErkJggg==); - background-position: bottom; - background-repeat: repeat-x; + border-bottom: 2px solid #78B2F2; }