What it does
------------
This plugin highlights all copies of a word that's currently selected, or,
optionally, highlights all copies of a word which currently has the insertion cursor upon it.
Additionally you may select all these words highlighted with ALT+ENTER, or also may append to the selection these words one by one similar to CTRL+D.
Install
-------
The easiest method to install would be using [Package Control](https://sublime.wbond.net/installation).
Ensure you have the latest by visiting that link, then open the command palette, type in
"Install Package", and search for "WordHighLight".
Alternatively, to manually install go to your Packages subdirectory under ST's data directory, where `X` is the ST version:
* Windows: %APPDATA%\Sublime Text X
* OS X: ~/Library/Application Support/Sublime Text X
* Linux: ~/.config/sublime-text-X
* Portable Installation: Sublime Text X/Data
Then clone this repository:
git clone git://github.com/SublimeText/WordHighlight.git
That's it!
Options
-------
Under the Packages/WordHighlight sub-directory, edit the `Word Highlight.sublime-settings` file:
* `"draw_outlined" : true`
This makes the highlights be drawn as outlines instead of as filled
highlights.
* `"mark_occurrences_on_gutter" : true`
If this comes true, icons will be used to mark all occurrences of selected words on the gutter bar.
To customize the icons, the property "icon_type_on_gutter" is helpful.
* `"icon_type_on_gutter" : dot`
Normally, there are 4 valid types: dot, circle, bookmark and cross. If you want more, please
have a look at folder "Theme - Default" under the "Packages" of Sublime Text (this can be done
via menu "Preferences > Browse Packages").
* `"highlight_when_selection_is_empty" : true`
This makes words highlight when the insertion point is inside of them but when
they're not actually selected.
* `"highlight_word_under_cursor_when_selection_is_empty" : true`
When the previous option is enabled, this makes the word under the cursor to gain highlighting
* `"highlight_delay" : 0`
This delays highlighting all occurrences using given time (in milliseconds) to let users move cursor
around without being distracted with immediate highlights. Default value 0 means almost no delay.
* `"show_word_highlight_status_bar_message" : true`
This lets you toggle if you want a status bar message to show how many occurrences of the highlighted word there are.
If you mix this with `"highlight_word_under_cursor_when_selection_is_empty": false` the occurrence number will not count word your cursor is on.
* `"show_word_highlight_status_bar_message_length" : 200`
This lets you limit the length of the status bar message to prevent it from using the whole of status bar which might hide other messages.
* `"color_scope_name" : "wordhighlight"`
Normally the color of the highlights is the same as the color of comments in
your code. If you'd like to customize the color, add the below to your color
scheme `.tmTheme` file and change EDF2E9 to whatever color you want, then change
color_scope_name to the scope name in the block you added. If you'd like to
specify a background color, uncomment the background part in the example below
and set "draw_outlined" to "false").
```xml
name
WordHighlight
scope
wordhighlight
settings
foreground
#EDF2E9
```
Note that some other plugins such as Color Hightlighter and SublimeLinter make copies
of your tmTheme and add their own modifications, and if you are using a plugin that
does this, your change to the `.tmTheme` file may not be reflected in the UI immediately.
* `"file_size_limit" : 4194304`
Files bigger than this number will put WordHighlight on mode "highlight around view port" (a portion of the document)
* `"when_file_size_limit_search_this_num_of_characters" : 20000`
When a file is bigger than the previous setting. This controls how many characters below and above the view port you want to search for words to highlight
Selections
-------
By default it provides the key ALT+ENTER to select all the words highlighted by this package (you may highlight multiple words and then select all the instances)
It also has two functions with no keymap defined, to mimic CTRL+D and CTRL+K, CTRL+D. You may decided to use the alternatives by adding (upon customization) the following to the keymap file (`Packages/User/Default (Windows).sublime-keymap`):
```json
{ "keys": ["ctrl+enter"], "command": "select_highlighted_next_word", "context":
[ { "key": "selection_empty", "operator": "equal", "operand": false },
{ "key": "setting.is_widget", "operator": "equal", "operand": false }
]
},
{ "keys": ["ctrl+backspace"], "command": "select_highlighted_skip_last_word", "context":
[ { "key": "selection_empty", "operator": "equal", "operand": false },
{ "key": "setting.is_widget", "operator": "equal", "operand": false }
]
},
```
License
--------
See the file [LICENSE](LICENSE)