summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorw0rp <devw0rp@gmail.com>2022-12-25 19:29:16 +0000
committerw0rp <devw0rp@gmail.com>2022-12-25 19:29:16 +0000
commit300ea232de003f5ce45549be85d5da7f84fe23b0 (patch)
tree8d0e22ab281b791d72b8942128e0fca07bf2c106
parent522b5d0433ba8c29f2f154f62184e34c2e5f301f (diff)
downloadale-300ea232de003f5ce45549be85d5da7f84fe23b0.zip
Close #4397 - Add human-readable values for g:ale_virtualtext_cursor
-rw-r--r--autoload/ale/engine.vim4
-rw-r--r--autoload/ale/events.vim2
-rw-r--r--autoload/ale/toggle.vim2
-rw-r--r--autoload/ale/virtualtext.vim4
-rw-r--r--doc/ale.txt16
-rw-r--r--plugin/ale.vim4
-rw-r--r--test/test_ale_info.vader4
7 files changed, 17 insertions, 19 deletions
diff --git a/autoload/ale/engine.vim b/autoload/ale/engine.vim
index 97c46656..150bbc82 100644
--- a/autoload/ale/engine.vim
+++ b/autoload/ale/engine.vim
@@ -203,7 +203,7 @@ function! ale#engine#SetResults(buffer, loclist) abort
call ale#highlight#SetHighlights(a:buffer, a:loclist)
endif
- if g:ale_virtualtext_cursor == 2
+ if g:ale_virtualtext_cursor is# 'all' || g:ale_virtualtext_cursor == 2
call ale#virtualtext#SetTexts(a:buffer, a:loclist)
endif
@@ -214,7 +214,7 @@ function! ale#engine#SetResults(buffer, loclist) abort
call ale#cursor#EchoCursorWarning()
endif
- if g:ale_virtualtext_cursor == 1
+ if g:ale_virtualtext_cursor is# 'current' || g:ale_virtualtext_cursor == 1
" Try and show the warning now.
" This will only do something meaningful if we're in normal mode.
call ale#virtualtext#ShowCursorWarning()
diff --git a/autoload/ale/events.vim b/autoload/ale/events.vim
index 4efb8a3b..eec24f46 100644
--- a/autoload/ale/events.vim
+++ b/autoload/ale/events.vim
@@ -139,7 +139,7 @@ function! ale#events#Init() abort
autocmd InsertLeave * if exists('*ale#engine#Cleanup') | call ale#cursor#EchoCursorWarning() | endif
endif
- if g:ale_virtualtext_cursor == 1
+ if g:ale_virtualtext_cursor is# 'current' || g:ale_virtualtext_cursor is# 1 || g:ale_virtualtext_cursor is# '1'
autocmd CursorMoved,CursorHold * if exists('*ale#engine#Cleanup') | call ale#virtualtext#ShowCursorWarningWithDelay() | endif
" Look for a warning to echo as soon as we leave Insert mode.
" The script's position variable used when moving the cursor will
diff --git a/autoload/ale/toggle.vim b/autoload/ale/toggle.vim
index 7f8957d4..abc53daa 100644
--- a/autoload/ale/toggle.vim
+++ b/autoload/ale/toggle.vim
@@ -14,7 +14,7 @@ function! s:DisablePostamble() abort
call ale#highlight#UpdateHighlights()
endif
- if g:ale_virtualtext_cursor == 1
+ if g:ale_virtualtext_cursor is# 'current' || g:ale_virtualtext_cursor == 1
call ale#virtualtext#Clear(bufnr(''))
endif
endfunction
diff --git a/autoload/ale/virtualtext.vim b/autoload/ale/virtualtext.vim
index 5fade39b..4fb8a31f 100644
--- a/autoload/ale/virtualtext.vim
+++ b/autoload/ale/virtualtext.vim
@@ -112,7 +112,7 @@ function! ale#virtualtext#GetHlGroup(type, style) abort
endfunction
function! ale#virtualtext#ShowCursorWarning(...) abort
- if g:ale_virtualtext_cursor != 1
+ if g:ale_virtualtext_cursor isnot# 'current' && g:ale_virtualtext_cursor != 1
return
endif
@@ -142,7 +142,7 @@ endfunction
function! ale#virtualtext#ShowCursorWarningWithDelay() abort
let l:buffer = bufnr('')
- if g:ale_virtualtext_cursor != 1
+ if g:ale_virtualtext_cursor isnot# 'current' && g:ale_virtualtext_cursor != 1
return
endif
diff --git a/doc/ale.txt b/doc/ale.txt
index 01474860..eca8d2de 100644
--- a/doc/ale.txt
+++ b/doc/ale.txt
@@ -2290,16 +2290,14 @@ g:ale_use_global_executables *g:ale_use_global_executables*
g:ale_virtualtext_cursor *g:ale_virtualtext_cursor*
Type: |Number|
- Default: `0`
+ Default: `'disabled'`
+
+ This option controls how ALE will display problems using |virtual-text|.
+ The following values can be used.
- When this option is set to `1`, a message will be shown when a cursor is
- near a warning or error. ALE will attempt to find the warning or error at a
- column nearest to the cursor when the cursor is resting on a line which
- contains a warning or error. This option can be set to `0` to disable this
- behavior.
- When this option is set to `2`, then all warnings will be shown for the
- whole buffer, regardless of if the cursor is currently positioned in that
- line.
+ `'all'`, `'2'`, or `2` - Show problems for all lines.
+ `'current'`, `'1'`, or `1` - Show problems for the current line.
+ `'disabled'`, `'0'`, or `0` - Do not show problems with virtual-text.
Messages are only displayed after a short delay. See |g:ale_virtualtext_delay|.
diff --git a/plugin/ale.vim b/plugin/ale.vim
index dc7f259a..67a3dd5d 100644
--- a/plugin/ale.vim
+++ b/plugin/ale.vim
@@ -127,8 +127,8 @@ let g:ale_echo_cursor = get(g:, 'ale_echo_cursor', 1)
" This flag can be set to 1 to automatically show errors in the preview window.
let g:ale_cursor_detail = get(g:, 'ale_cursor_detail', 0)
-" This flag can be set to 1 to enable virtual text when the cursor moves.
-let g:ale_virtualtext_cursor = get(g:, 'ale_virtualtext_cursor', 0)
+" This flag can be changed to disable/enable virtual text.
+let g:ale_virtualtext_cursor = get(g:, 'ale_virtualtext_cursor', 'disabled')
" This flag can be set to 1 to enable LSP hover messages at the cursor.
let g:ale_hover_cursor = get(g:, 'ale_hover_cursor', 1)
diff --git a/test/test_ale_info.vader b/test/test_ale_info.vader
index 2e0965a9..ded65a1f 100644
--- a/test/test_ale_info.vader
+++ b/test/test_ale_info.vader
@@ -111,7 +111,7 @@ Before:
let g:ale_statusline_format = ['%d error(s)', '%d warning(s)', 'OK']
let g:ale_type_map = {}
let g:ale_use_global_executables = v:null
- let g:ale_virtualtext_cursor = 0
+ let g:ale_virtualtext_cursor = 'disabled'
let g:ale_warn_about_trailing_blank_lines = 1
let g:ale_warn_about_trailing_whitespace = 1
@@ -190,7 +190,7 @@ Before:
\ 'let g:ale_statusline_format = [''%d error(s)'', ''%d warning(s)'', ''OK'']',
\ 'let g:ale_type_map = {}',
\ 'let g:ale_use_global_executables = v:null',
- \ 'let g:ale_virtualtext_cursor = 0',
+ \ 'let g:ale_virtualtext_cursor = ''disabled''',
\ 'let g:ale_warn_about_trailing_blank_lines = 1',
\ 'let g:ale_warn_about_trailing_whitespace = 1',
\]