mirror of
https://github.com/amix/vimrc
synced 2025-07-10 03:25:00 +08:00
Revert "Merge from original repo"
This commit is contained in:
@ -139,7 +139,7 @@ let s:should_complete_map = {
|
||||
" Regular expressions for finding the start column to replace with completion.
|
||||
let s:omni_start_map = {
|
||||
\ '<default>': '\v[a-zA-Z$_][a-zA-Z$_0-9]*$',
|
||||
\ 'racket': '\k\+$',
|
||||
\ 'racket': '\k\+',
|
||||
\}
|
||||
|
||||
" A map of exact characters for triggering LSP completions. Do not forget to
|
||||
|
@ -203,10 +203,6 @@ function! ale#engine#SetResults(buffer, loclist) abort
|
||||
call ale#highlight#SetHighlights(a:buffer, a:loclist)
|
||||
endif
|
||||
|
||||
if g:ale_virtualtext_cursor == 2
|
||||
call ale#virtualtext#SetTexts(a:buffer, a:loclist)
|
||||
endif
|
||||
|
||||
if l:linting_is_done
|
||||
if g:ale_echo_cursor
|
||||
" Try and echo the warning now.
|
||||
@ -214,7 +210,7 @@ function! ale#engine#SetResults(buffer, loclist) abort
|
||||
call ale#cursor#EchoCursorWarning()
|
||||
endif
|
||||
|
||||
if g:ale_virtualtext_cursor == 1
|
||||
if g:ale_virtualtext_cursor
|
||||
" Try and show the warning now.
|
||||
" This will only do something meaningful if we're in normal mode.
|
||||
call ale#virtualtext#ShowCursorWarning()
|
||||
|
@ -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
|
||||
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
|
||||
|
@ -221,11 +221,6 @@ let s:default_registry = {
|
||||
\ 'suggested_filetypes': ['swift'],
|
||||
\ 'description': 'Apply SwiftFormat to a file.',
|
||||
\ },
|
||||
\ 'syntax_tree': {
|
||||
\ 'function': 'ale#fixers#syntax_tree#Fix',
|
||||
\ 'suggested_filetypes': ['ruby'],
|
||||
\ 'description': 'Fix ruby files with stree write',
|
||||
\ },
|
||||
\ 'apple-swift-format': {
|
||||
\ 'function': 'ale#fixers#appleswiftformat#Fix',
|
||||
\ 'suggested_filetypes': ['swift'],
|
||||
|
@ -1,19 +0,0 @@
|
||||
call ale#Set('ruby_syntax_tree_options', '')
|
||||
call ale#Set('ruby_syntax_tree_executable', 'stree')
|
||||
|
||||
function! ale#fixers#syntax_tree#GetCommand(buffer) abort
|
||||
let l:executable = ale#Var(a:buffer, 'ruby_syntax_tree_executable')
|
||||
let l:options = ale#Var(a:buffer, 'ruby_syntax_tree_options')
|
||||
|
||||
return ale#ruby#EscapeExecutable(l:executable, 'stree')
|
||||
\ . ' write'
|
||||
\ . (!empty(l:options) ? ' ' . l:options : '')
|
||||
\ . ' %t'
|
||||
endfunction
|
||||
|
||||
function! ale#fixers#syntax_tree#Fix(buffer) abort
|
||||
return {
|
||||
\ 'command': ale#fixers#syntax_tree#GetCommand(a:buffer),
|
||||
\ 'read_temporary_file': 1,
|
||||
\}
|
||||
endfunction
|
@ -1,7 +1,6 @@
|
||||
" Author: Jan-Grimo Sobez <jan-grimo.sobez@phys.chem.ethz.ch>
|
||||
" Author: Kevin Clark <kevin.clark@gmail.com>
|
||||
" Author: D. Ben Knoble <ben.knoble+github@gmail.com>
|
||||
" Author: Shaun Duncan <shaun.duncan@gmail.com>
|
||||
" Description: Floating preview window for showing whatever information in.
|
||||
|
||||
" Precondition: exists('*nvim_open_win') || has('popupwin')
|
||||
@ -134,18 +133,15 @@ function! s:NvimPrepareWindowContent(lines) abort
|
||||
endfunction
|
||||
|
||||
function! s:NvimCreate(options) abort
|
||||
let l:popup_opts = extend({
|
||||
\ 'relative': 'cursor',
|
||||
\ 'row': 1,
|
||||
\ 'col': 0,
|
||||
\ 'width': 42,
|
||||
\ 'height': 4,
|
||||
\ 'style': 'minimal'
|
||||
\ }, s:GetPopupOpts())
|
||||
|
||||
let l:buffer = nvim_create_buf(v:false, v:false)
|
||||
let l:winid = nvim_open_win(l:buffer, v:false, l:popup_opts)
|
||||
|
||||
let l:winid = nvim_open_win(l:buffer, v:false, {
|
||||
\ 'relative': 'cursor',
|
||||
\ 'row': 1,
|
||||
\ 'col': 0,
|
||||
\ 'width': 42,
|
||||
\ 'height': 4,
|
||||
\ 'style': 'minimal'
|
||||
\ })
|
||||
call nvim_buf_set_option(l:buffer, 'buftype', 'acwrite')
|
||||
call nvim_buf_set_option(l:buffer, 'bufhidden', 'delete')
|
||||
call nvim_buf_set_option(l:buffer, 'swapfile', v:false)
|
||||
@ -155,8 +151,7 @@ function! s:NvimCreate(options) abort
|
||||
endfunction
|
||||
|
||||
function! s:VimCreate(options) abort
|
||||
" default options
|
||||
let l:popup_opts = extend({
|
||||
let l:popup_id = popup_create([], {
|
||||
\ 'line': 'cursor+1',
|
||||
\ 'col': 'cursor',
|
||||
\ 'drag': v:true,
|
||||
@ -175,9 +170,7 @@ function! s:VimCreate(options) abort
|
||||
\ get(g:ale_floating_window_border, 5, '+'),
|
||||
\ ],
|
||||
\ 'moved': 'any',
|
||||
\ }, s:GetPopupOpts())
|
||||
|
||||
let l:popup_id = popup_create([], l:popup_opts)
|
||||
\ })
|
||||
call setbufvar(winbufnr(l:popup_id), '&filetype', get(a:options, 'filetype', 'ale-preview'))
|
||||
let w:preview = {'id': l:popup_id}
|
||||
endfunction
|
||||
@ -211,21 +204,3 @@ function! s:VimClose() abort
|
||||
call popup_close(w:preview['id'])
|
||||
unlet w:preview
|
||||
endfunction
|
||||
|
||||
" get either the results of a function callback or dictionary for popup overrides
|
||||
function! s:GetPopupOpts() abort
|
||||
if exists('g:ale_floating_preview_popup_opts')
|
||||
let l:ref = g:ale_floating_preview_popup_opts
|
||||
|
||||
if type(l:ref) is# v:t_dict
|
||||
return l:ref
|
||||
elseif type(l:ref) is# v:t_string
|
||||
try
|
||||
return function(l:ref)()
|
||||
catch /E700/
|
||||
endtry
|
||||
endif
|
||||
endif
|
||||
|
||||
return {}
|
||||
endfunction
|
||||
|
@ -29,8 +29,6 @@ function! ale#handlers#deno#GetProjectRoot(buffer) abort
|
||||
endif
|
||||
|
||||
let l:possible_project_roots = [
|
||||
\ 'deno.json',
|
||||
\ 'deno.jsonc',
|
||||
\ 'tsconfig.json',
|
||||
\ '.git',
|
||||
\ bufname(a:buffer),
|
||||
|
@ -339,10 +339,6 @@ function! ale#hover#ShowTruncatedMessageAtCursor() abort
|
||||
let l:buffer = bufnr('')
|
||||
let l:pos = getpos('.')[0:2]
|
||||
|
||||
if !getbufvar(l:buffer, 'ale_enabled', 1)
|
||||
return
|
||||
endif
|
||||
|
||||
if l:pos != s:last_pos
|
||||
let s:last_pos = l:pos
|
||||
let [l:info, l:loc] = ale#util#FindItemAtCursor(l:buffer)
|
||||
|
@ -141,10 +141,6 @@ function! s:HandleLSPErrorMessage(linter_name, response) abort
|
||||
return
|
||||
endif
|
||||
|
||||
call ale#lsp_linter#AddErrorMessage(a:linter_name, l:message)
|
||||
endfunction
|
||||
|
||||
function! ale#lsp_linter#AddErrorMessage(linter_name, message) abort
|
||||
" This global variable is set here so we don't load the debugging.vim file
|
||||
" until someone uses :ALEInfo.
|
||||
let g:ale_lsp_error_messages = get(g:, 'ale_lsp_error_messages', {})
|
||||
@ -153,7 +149,7 @@ function! ale#lsp_linter#AddErrorMessage(linter_name, message) abort
|
||||
let g:ale_lsp_error_messages[a:linter_name] = []
|
||||
endif
|
||||
|
||||
call add(g:ale_lsp_error_messages[a:linter_name], a:message)
|
||||
call add(g:ale_lsp_error_messages[a:linter_name], l:message)
|
||||
endfunction
|
||||
|
||||
function! ale#lsp_linter#HandleLSPResponse(conn_id, response) abort
|
||||
@ -434,8 +430,6 @@ function! ale#lsp_linter#StartLSP(buffer, linter, Callback) abort
|
||||
if empty(l:root) && a:linter.lsp isnot# 'tsserver'
|
||||
" If there's no project root, then we can't check files with LSP,
|
||||
" unless we are using tsserver, which doesn't use project roots.
|
||||
call ale#lsp_linter#AddErrorMessage(a:linter.name, "Failed to find project root, language server wont't start.")
|
||||
|
||||
return 0
|
||||
endif
|
||||
|
||||
|
@ -14,8 +14,8 @@ function! s:DisablePostamble() abort
|
||||
call ale#highlight#UpdateHighlights()
|
||||
endif
|
||||
|
||||
if g:ale_virtualtext_cursor == 1
|
||||
call ale#virtualtext#Clear(bufnr(''))
|
||||
if g:ale_virtualtext_cursor
|
||||
call ale#virtualtext#Clear()
|
||||
endif
|
||||
endfunction
|
||||
|
||||
|
@ -8,59 +8,52 @@ let g:ale_virtualtext_delay = get(g:, 'ale_virtualtext_delay', 10)
|
||||
let s:cursor_timer = -1
|
||||
let s:last_pos = [0, 0, 0]
|
||||
let s:has_virt_text = 0
|
||||
let s:emulate_virt = 0
|
||||
|
||||
if has('nvim-0.3.2')
|
||||
let s:ns_id = nvim_create_namespace('ale')
|
||||
let s:has_virt_text = 1
|
||||
elseif has('textprop') && has('popupwin')
|
||||
call prop_type_add('ale', {})
|
||||
let s:last_popup = -1
|
||||
let s:has_virt_text = 1
|
||||
let s:emulate_virt = !has('patch-9.0.0297')
|
||||
let s:hl_list = []
|
||||
|
||||
if s:emulate_virt
|
||||
call prop_type_add('ale', {})
|
||||
let s:last_virt = -1
|
||||
endif
|
||||
endif
|
||||
|
||||
function! ale#virtualtext#Clear(buf) abort
|
||||
function! ale#virtualtext#Clear() abort
|
||||
if !s:has_virt_text
|
||||
return
|
||||
endif
|
||||
|
||||
let l:buffer = bufnr('')
|
||||
|
||||
if has('nvim')
|
||||
call nvim_buf_clear_namespace(a:buf, s:ns_id, 0, -1)
|
||||
call nvim_buf_clear_highlight(l:buffer, s:ns_id, 0, -1)
|
||||
else
|
||||
if s:emulate_virt && s:last_virt != -1
|
||||
if s:last_popup != -1
|
||||
call prop_remove({'type': 'ale'})
|
||||
call popup_close(s:last_virt)
|
||||
let s:last_virt = -1
|
||||
elseif !empty(s:hl_list)
|
||||
call prop_remove({
|
||||
\ 'types': s:hl_list,
|
||||
\ 'all': 1,
|
||||
\ 'bufnr': a:buf})
|
||||
call popup_close(s:last_popup)
|
||||
let s:last_popup = -1
|
||||
endif
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! ale#virtualtext#ShowMessage(message, hl_group, buf, line) abort
|
||||
if !s:has_virt_text || !bufexists(str2nr(a:buf))
|
||||
function! ale#virtualtext#ShowMessage(message, hl_group) abort
|
||||
if !s:has_virt_text
|
||||
return
|
||||
endif
|
||||
|
||||
let l:line = line('.')
|
||||
let l:buffer = bufnr('')
|
||||
let l:prefix = get(g:, 'ale_virtualtext_prefix', '> ')
|
||||
let l:msg = l:prefix.trim(substitute(a:message, '\n', ' ', 'g'))
|
||||
|
||||
if has('nvim')
|
||||
call nvim_buf_set_virtual_text(a:buf, s:ns_id, a:line-1, [[l:msg, a:hl_group]], {})
|
||||
elseif s:emulate_virt
|
||||
call nvim_buf_set_virtual_text(l:buffer, s:ns_id, l:line-1, [[l:msg, a:hl_group]], {})
|
||||
else
|
||||
let l:left_pad = col('$')
|
||||
call prop_add(a:line, l:left_pad, {
|
||||
call prop_add(l:line, l:left_pad, {
|
||||
\ 'type': 'ale',
|
||||
\})
|
||||
let s:last_virt = popup_create(l:msg, {
|
||||
let s:last_popup = popup_create(l:msg, {
|
||||
\ 'line': -1,
|
||||
\ 'padding': [0, 0, 0, 1],
|
||||
\ 'mask': [[1, 1, 1, 1]],
|
||||
@ -70,19 +63,6 @@ function! ale#virtualtext#ShowMessage(message, hl_group, buf, line) abort
|
||||
\ 'wrap': 0,
|
||||
\ 'zindex': 2
|
||||
\})
|
||||
else
|
||||
let type = prop_type_get(a:hl_group)
|
||||
|
||||
if type == {}
|
||||
call add(s:hl_list, a:hl_group)
|
||||
call prop_type_add(a:hl_group, {'highlight': a:hl_group})
|
||||
endif
|
||||
|
||||
call prop_add(a:line, 0, {
|
||||
\ 'type': a:hl_group,
|
||||
\ 'text': ' ' . l:msg,
|
||||
\ 'bufnr': a:buf
|
||||
\})
|
||||
endif
|
||||
endfunction
|
||||
|
||||
@ -93,26 +73,8 @@ function! s:StopCursorTimer() abort
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! ale#virtualtext#GetHlGroup(type, style) abort
|
||||
if a:type is# 'E'
|
||||
if a:style is# 'style'
|
||||
return 'ALEVirtualTextStyleError'
|
||||
else
|
||||
return 'ALEVirtualTextError'
|
||||
endif
|
||||
elseif a:type is# 'W'
|
||||
if a:style is# 'style'
|
||||
return 'ALEVirtualTextStyleWarning'
|
||||
else
|
||||
return 'ALEVirtualTextWarning'
|
||||
endif
|
||||
else
|
||||
return 'ALEVirtualTextInfo'
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! ale#virtualtext#ShowCursorWarning(...) abort
|
||||
if g:ale_virtualtext_cursor != 1
|
||||
if !g:ale_virtualtext_cursor
|
||||
return
|
||||
endif
|
||||
|
||||
@ -128,21 +90,35 @@ function! ale#virtualtext#ShowCursorWarning(...) abort
|
||||
|
||||
let [l:info, l:loc] = ale#util#FindItemAtCursor(l:buffer)
|
||||
|
||||
call ale#virtualtext#Clear(l:buffer)
|
||||
call ale#virtualtext#Clear()
|
||||
|
||||
if !empty(l:loc)
|
||||
let l:msg = l:loc.text
|
||||
let l:hl_group = 'ALEVirtualTextInfo'
|
||||
let l:type = get(l:loc, 'type', 'E')
|
||||
let l:style = get(l:loc, 'sub_type', '')
|
||||
let l:hl_group = ale#virtualtext#GetHlGroup(l:type, l:style)
|
||||
call ale#virtualtext#ShowMessage(l:msg, l:hl_group, l:buffer, line('.'))
|
||||
|
||||
if l:type is# 'E'
|
||||
if get(l:loc, 'sub_type', '') is# 'style'
|
||||
let l:hl_group = 'ALEVirtualTextStyleError'
|
||||
else
|
||||
let l:hl_group = 'ALEVirtualTextError'
|
||||
endif
|
||||
elseif l:type is# 'W'
|
||||
if get(l:loc, 'sub_type', '') is# 'style'
|
||||
let l:hl_group = 'ALEVirtualTextStyleWarning'
|
||||
else
|
||||
let l:hl_group = 'ALEVirtualTextWarning'
|
||||
endif
|
||||
endif
|
||||
|
||||
call ale#virtualtext#ShowMessage(l:msg, l:hl_group)
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! ale#virtualtext#ShowCursorWarningWithDelay() abort
|
||||
let l:buffer = bufnr('')
|
||||
|
||||
if g:ale_virtualtext_cursor != 1
|
||||
if !g:ale_virtualtext_cursor
|
||||
return
|
||||
endif
|
||||
|
||||
@ -169,19 +145,3 @@ function! ale#virtualtext#ShowCursorWarningWithDelay() abort
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! ale#virtualtext#SetTexts(buf, loclist) abort
|
||||
if !has('nvim') && s:emulate_virt
|
||||
return
|
||||
endif
|
||||
|
||||
call ale#virtualtext#Clear(a:buf)
|
||||
|
||||
for l in a:loclist
|
||||
if l['bufnr'] != a:buf
|
||||
continue
|
||||
endif
|
||||
|
||||
let hl = ale#virtualtext#GetHlGroup(l['type'], get(l, 'sub_type', ''))
|
||||
call ale#virtualtext#ShowMessage(l['text'], hl, a:buf, l['lnum'])
|
||||
endfor
|
||||
endfunction
|
||||
|
Reference in New Issue
Block a user