Add support for showing Info severities in echoed messages
This commit is contained in:
parent
7d056b0839
commit
70623ca8a7
@ -7,12 +7,16 @@ let s:last_pos = [0, 0, 0]
|
||||
" Return a formatted message according to g:ale_echo_msg_format variable
|
||||
function! s:GetMessage(linter, type, text) abort
|
||||
let l:msg = g:ale_echo_msg_format
|
||||
let l:type = a:type is# 'E'
|
||||
\ ? g:ale_echo_msg_error_str
|
||||
\ : g:ale_echo_msg_warning_str
|
||||
let l:severity = g:ale_echo_msg_warning_str
|
||||
|
||||
if a:type is# 'E'
|
||||
let l:severity = g:ale_echo_msg_error_str
|
||||
elseif a:type is# 'I'
|
||||
let l:severity = g:ale_echo_msg_info_str
|
||||
endif
|
||||
|
||||
" Replace handlers if they exist
|
||||
for [l:k, l:v] in items({'linter': a:linter, 'severity': l:type})
|
||||
for [l:k, l:v] in items({'linter': a:linter, 'severity': l:severity})
|
||||
let l:msg = substitute(l:msg, '\V%' . l:k . '%', l:v, '')
|
||||
endfor
|
||||
|
||||
|
@ -660,6 +660,14 @@ g:ale_echo_msg_format *g:ale_echo_msg_format*
|
||||
|g:ale_echo_cursor| needs to be set to 1 for messages to be displayed.
|
||||
|
||||
|
||||
g:ale_echo_msg_info_str *g:ale_echo_msg_info_str*
|
||||
|
||||
Type: |String|
|
||||
Default: `'Info'`
|
||||
|
||||
The string used for `%severity%` for info. See |g:ale_echo_msg_format|
|
||||
|
||||
|
||||
g:ale_echo_msg_warning_str *g:ale_echo_msg_warning_str*
|
||||
|
||||
Type: |String|
|
||||
|
@ -155,6 +155,7 @@ let g:ale_echo_msg_format = get(g:, 'ale_echo_msg_format', '%s')
|
||||
|
||||
" Strings used for severity in the echoed message
|
||||
let g:ale_echo_msg_error_str = get(g:, 'ale_echo_msg_error_str', 'Error')
|
||||
let g:ale_echo_msg_info_str = get(g:, 'ale_echo_msg_info_str', 'Info')
|
||||
let g:ale_echo_msg_warning_str = get(g:, 'ale_echo_msg_warning_str', 'Warning')
|
||||
|
||||
" This flag can be set to 0 to disable echoing when the cursor moves.
|
||||
|
@ -1,4 +1,6 @@
|
||||
Before:
|
||||
Save g:ale_echo_msg_format
|
||||
|
||||
let g:ale_buffer_info = {
|
||||
\ bufnr('%'): {
|
||||
\ 'loclist': [
|
||||
@ -14,6 +16,16 @@ Before:
|
||||
\ 'detail': "Every statement should end with a semicolon\nsecond line"
|
||||
\ },
|
||||
\ {
|
||||
\ 'lnum': 1,
|
||||
\ 'col': 14,
|
||||
\ 'bufnr': bufnr('%'),
|
||||
\ 'vcol': 0,
|
||||
\ 'linter_name': 'eslint',
|
||||
\ 'nr': -1,
|
||||
\ 'type': 'I',
|
||||
\ 'text': 'Some information',
|
||||
\ },
|
||||
\ {
|
||||
\ 'lnum': 2,
|
||||
\ 'col': 10,
|
||||
\ 'bufnr': bufnr('%'),
|
||||
@ -63,6 +75,8 @@ Before:
|
||||
endfunction
|
||||
|
||||
After:
|
||||
Restore
|
||||
|
||||
call cursor(1, 1)
|
||||
|
||||
let g:ale_set_loclist = 1
|
||||
@ -81,7 +95,7 @@ After:
|
||||
echomsg ''
|
||||
|
||||
Given javascript(A Javscript file with warnings/errors):
|
||||
var x = 3
|
||||
var x = 3 + 12345678
|
||||
var x = 5*2 + parseInt("10");
|
||||
// comment
|
||||
|
||||
@ -141,3 +155,33 @@ Execute(ALEDetail should not capitlise cursor messages):
|
||||
call ale#cursor#EchoCursorWarning()
|
||||
|
||||
AssertEqual 'lowercase error', GetLastMessage()
|
||||
|
||||
Execute(The linter name should be formatted into the message correctly):
|
||||
let g:ale_echo_msg_format = '%linter%: %s'
|
||||
|
||||
call cursor(2, 9)
|
||||
call ale#cursor#EchoCursorWarning()
|
||||
|
||||
AssertEqual
|
||||
\ 'eslint: Infix operators must be spaced. (space-infix-ops)',
|
||||
\ GetLastMessage()
|
||||
|
||||
Execute(The severity should be formatted into the message correctly):
|
||||
let g:ale_echo_msg_format = '%severity%: %s'
|
||||
|
||||
call cursor(2, 9)
|
||||
call ale#cursor#EchoCursorWarning()
|
||||
|
||||
AssertEqual
|
||||
\ 'Warning: Infix operators must be spaced. (space-infix-ops)',
|
||||
\ GetLastMessage()
|
||||
|
||||
call cursor(1, 10)
|
||||
call ale#cursor#EchoCursorWarning()
|
||||
|
||||
AssertEqual 'Error: Missing semicolon. (semi)', GetLastMessage()
|
||||
|
||||
call cursor(1, 14)
|
||||
call ale#cursor#EchoCursorWarning()
|
||||
|
||||
AssertEqual 'Info: Some information', GetLastMessage()
|
||||
|
Loading…
Reference in New Issue
Block a user