Compare commits
1 Commits
Author | SHA1 | Date | |
---|---|---|---|
6cfb029215 |
|
@ -12,7 +12,7 @@ Go to your `Packages` subdirectory under ST2's data directory:
|
||||||
|
|
||||||
* Windows: `%APPDATA%\Sublime Text 2`
|
* Windows: `%APPDATA%\Sublime Text 2`
|
||||||
* OS X: `~/Library/Application Support/Sublime Text 2/Packages`
|
* OS X: `~/Library/Application Support/Sublime Text 2/Packages`
|
||||||
* Linux: `~/.config/sublime-text-2/Packages`
|
* Linux: `~/.config/sublime-text-2`
|
||||||
* Portable Installation: `Sublime Text 2/Data`
|
* Portable Installation: `Sublime Text 2/Data`
|
||||||
|
|
||||||
Then clone this repository:
|
Then clone this repository:
|
||||||
|
@ -45,7 +45,8 @@ as "invalid", "comment"... in "File Settings - User":
|
||||||
```
|
```
|
||||||
{
|
{
|
||||||
"highlight_whitespaces_space_highlight_scope_name": "invalid",
|
"highlight_whitespaces_space_highlight_scope_name": "invalid",
|
||||||
"highlight_whitespaces_tab_highlight_scope_name": "invalid"
|
"highlight_whitespaces_tab_highlight_scope_name": "invalid",
|
||||||
|
"highlight_whitespaces_eol_highlight_scope_name": "invalid"
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
@ -10,10 +10,12 @@ Config summary (see README.md for details):
|
||||||
{
|
{
|
||||||
"highlight_whitespaces_space_highlight_scope_name": "invalid",
|
"highlight_whitespaces_space_highlight_scope_name": "invalid",
|
||||||
"highlight_whitespaces_tab_highlight_scope_name": "invalid",
|
"highlight_whitespaces_tab_highlight_scope_name": "invalid",
|
||||||
|
"highlight_whitespaces_eol_highlight_scope_name": "invalid",
|
||||||
"highlight_whitespaces_file_max_size": 1048576,
|
"highlight_whitespaces_file_max_size": 1048576,
|
||||||
"highlight_whitespaces_enabled": true,
|
"highlight_whitespaces_enabled": true,
|
||||||
"highlight_whitespaces_check_spaces": true,
|
"highlight_whitespaces_check_spaces": true,
|
||||||
"highlight_whitespaces_check_tabs": true,
|
"highlight_whitespaces_check_tabs": true,
|
||||||
|
"highlight_whitespaces_check_eol": true,
|
||||||
"highlight_whitespaces_single_space": false,
|
"highlight_whitespaces_single_space": false,
|
||||||
"highlight_last_whitespace": true
|
"highlight_last_whitespace": true
|
||||||
}
|
}
|
||||||
|
@ -33,6 +35,7 @@ DEFAULT_COLOR_SCOPE_NAME = "invalid"
|
||||||
DEFAULT_IS_ENABLED = True
|
DEFAULT_IS_ENABLED = True
|
||||||
DEFAULT_CHECK_SPACES = True
|
DEFAULT_CHECK_SPACES = True
|
||||||
DEFAULT_SINGLE_SPACE = False
|
DEFAULT_SINGLE_SPACE = False
|
||||||
|
DEFAULT_CHECK_EOL = True
|
||||||
DEFAULT_CHECK_TABS = True
|
DEFAULT_CHECK_TABS = True
|
||||||
DEFAULT_LAST_WHITESPACE = False
|
DEFAULT_LAST_WHITESPACE = False
|
||||||
|
|
||||||
|
@ -66,6 +69,8 @@ def find_whitespaces_spaces(view):
|
||||||
def find_whitespaces_tabs(view):
|
def find_whitespaces_tabs(view):
|
||||||
return view.find_all('\t+')
|
return view.find_all('\t+')
|
||||||
|
|
||||||
|
def find_whitespaces_eol(view):
|
||||||
|
return view.find_all('[\t ]+$')
|
||||||
|
|
||||||
# Highlight whitespaces
|
# Highlight whitespaces
|
||||||
def highlight_whitespaces(view):
|
def highlight_whitespaces(view):
|
||||||
|
@ -77,6 +82,8 @@ def highlight_whitespaces(view):
|
||||||
DEFAULT_COLOR_SCOPE_NAME)
|
DEFAULT_COLOR_SCOPE_NAME)
|
||||||
tab_scope_name = hws_settings.get('highlight_whitespaces_tab_highlight_scope_name',
|
tab_scope_name = hws_settings.get('highlight_whitespaces_tab_highlight_scope_name',
|
||||||
DEFAULT_COLOR_SCOPE_NAME)
|
DEFAULT_COLOR_SCOPE_NAME)
|
||||||
|
eol_scope_name = hws_settings.get('highlight_whitespaces_eol_highlight_scope_name',
|
||||||
|
DEFAULT_COLOR_SCOPE_NAME)
|
||||||
if view.size() <= max_size and not is_find_results(view):
|
if view.size() <= max_size and not is_find_results(view):
|
||||||
if hws_settings.get('highlight_whitespaces_check_spaces', DEFAULT_CHECK_SPACES):
|
if hws_settings.get('highlight_whitespaces_check_spaces', DEFAULT_CHECK_SPACES):
|
||||||
space_regions = find_whitespaces_spaces(view)
|
space_regions = find_whitespaces_spaces(view)
|
||||||
|
@ -88,6 +95,11 @@ def highlight_whitespaces(view):
|
||||||
view.add_regions('WhitespacesHighlightListener2',
|
view.add_regions('WhitespacesHighlightListener2',
|
||||||
tab_regions, tab_scope_name, '',
|
tab_regions, tab_scope_name, '',
|
||||||
sublime.DRAW_EMPTY)
|
sublime.DRAW_EMPTY)
|
||||||
|
if hws_settings.get('highlight_whitespaces_check_eol', DEFAULT_CHECK_EOL):
|
||||||
|
eol_regions = find_whitespaces_eol(view)
|
||||||
|
view.add_regions('WhitespacesHighlightListener3',
|
||||||
|
eol_regions, eol_scope_name, '',
|
||||||
|
sublime.DRAW_EMPTY)
|
||||||
|
|
||||||
|
|
||||||
# Clear all white spaces
|
# Clear all white spaces
|
||||||
|
@ -95,6 +107,7 @@ def clear_whitespaces_highlight(window):
|
||||||
for view in window.views():
|
for view in window.views():
|
||||||
view.erase_regions('WhitespacesHighlightListener')
|
view.erase_regions('WhitespacesHighlightListener')
|
||||||
view.erase_regions('WhitespacesHighlightListener2')
|
view.erase_regions('WhitespacesHighlightListener2')
|
||||||
|
view.erase_regions('WhitespacesHighlightListener3')
|
||||||
|
|
||||||
|
|
||||||
# Toggle the event listner on or off
|
# Toggle the event listner on or off
|
||||||
|
@ -138,3 +151,15 @@ class WhitespacesHighlightListener2(sublime_plugin.EventListener):
|
||||||
if hws_enabled:
|
if hws_enabled:
|
||||||
highlight_whitespaces(view)
|
highlight_whitespaces(view)
|
||||||
|
|
||||||
|
class WhitespacesHighlightListener3(sublime_plugin.EventListener):
|
||||||
|
def on_modified(self, view):
|
||||||
|
if hws_enabled:
|
||||||
|
highlight_whitespaces(view)
|
||||||
|
|
||||||
|
def on_activated(self, view):
|
||||||
|
if hws_enabled:
|
||||||
|
highlight_whitespaces(view)
|
||||||
|
|
||||||
|
def on_load(self, view):
|
||||||
|
if hws_enabled:
|
||||||
|
highlight_whitespaces(view)
|
||||||
|
|
|
@ -5,6 +5,9 @@
|
||||||
// Tabs color is determined by scope (default, "invalid")
|
// Tabs color is determined by scope (default, "invalid")
|
||||||
// "highlight_whitespaces_tab_highlight_scope_name": "Whitespaces.tab.highlight",
|
// "highlight_whitespaces_tab_highlight_scope_name": "Whitespaces.tab.highlight",
|
||||||
|
|
||||||
|
// End-of-line color is determined by scope (default, "invalid")
|
||||||
|
// "highlight_whitespaces_eol_highlight_scope_name": "Whitespaces.eol.highlight",
|
||||||
|
|
||||||
// Max file size to search
|
// Max file size to search
|
||||||
"highlight_whitespaces_file_max_size": 1048576,
|
"highlight_whitespaces_file_max_size": 1048576,
|
||||||
|
|
||||||
|
@ -17,6 +20,9 @@
|
||||||
// Whether to check for tabs
|
// Whether to check for tabs
|
||||||
"highlight_whitespaces_check_tabs": true,
|
"highlight_whitespaces_check_tabs": true,
|
||||||
|
|
||||||
|
// Whether to check for end-of-line whitespace
|
||||||
|
"highlight_whitespaces_check_eol": true,
|
||||||
|
|
||||||
// Allow the highlighting of the last whitespace, one or more time
|
// Allow the highlighting of the last whitespace, one or more time
|
||||||
"highlight_last_whitespace": true
|
"highlight_last_whitespace": true
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user