Updated plugins
This commit is contained in:
parent
0ebb4622e9
commit
b8073ac5c4
|
@ -1,5 +1,5 @@
|
||||||
" Author: kmarc <korondi.mark@gmail.com>
|
" Author: kmarc <korondi.mark@gmail.com>
|
||||||
" Description: This file adds support for using GNU awk with sripts.
|
" Description: This file adds support for using GNU awk with scripts.
|
||||||
|
|
||||||
call ale#Set('awk_gawk_executable', 'gawk')
|
call ale#Set('awk_gawk_executable', 'gawk')
|
||||||
call ale#Set('awk_gawk_options', '')
|
call ale#Set('awk_gawk_options', '')
|
||||||
|
|
|
@ -26,7 +26,7 @@ function! ale_linters#cpp#clangtidy#GetCommand(buffer, output) abort
|
||||||
|
|
||||||
" Tell clang-tidy a .h header with a C++ filetype in Vim is a C++ file
|
" Tell clang-tidy a .h header with a C++ filetype in Vim is a C++ file
|
||||||
" only when compile-commands.json file is not there. Adding these
|
" only when compile-commands.json file is not there. Adding these
|
||||||
" flags makes clang-tidy completely ignore compile commmands.
|
" flags makes clang-tidy completely ignore compile commands.
|
||||||
if expand('#' . a:buffer) =~# '\.h$'
|
if expand('#' . a:buffer) =~# '\.h$'
|
||||||
let l:options .= !empty(l:options) ? ' -x c++' : '-x c++'
|
let l:options .= !empty(l:options) ? ' -x c++' : '-x c++'
|
||||||
endif
|
endif
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
" always, yes, never
|
" always, yes, never
|
||||||
call ale#Set('dockerfile_hadolint_use_docker', 'never')
|
call ale#Set('dockerfile_hadolint_use_docker', 'never')
|
||||||
call ale#Set('dockerfile_hadolint_docker_image', 'hadolint/hadolint')
|
call ale#Set('dockerfile_hadolint_docker_image', 'hadolint/hadolint')
|
||||||
|
call ale#Set('dockerfile_hadolint_options', '')
|
||||||
|
|
||||||
function! ale_linters#dockerfile#hadolint#Handle(buffer, lines) abort
|
function! ale_linters#dockerfile#hadolint#Handle(buffer, lines) abort
|
||||||
" Matches patterns line the following:
|
" Matches patterns line the following:
|
||||||
|
@ -102,7 +103,7 @@ endfunction
|
||||||
|
|
||||||
function! ale_linters#dockerfile#hadolint#GetCommand(buffer) abort
|
function! ale_linters#dockerfile#hadolint#GetCommand(buffer) abort
|
||||||
let l:command = ale_linters#dockerfile#hadolint#GetExecutable(a:buffer)
|
let l:command = ale_linters#dockerfile#hadolint#GetExecutable(a:buffer)
|
||||||
let l:opts = '--no-color -'
|
let l:opts = ale#Var(a:buffer, 'dockerfile_hadolint_options') . ' --no-color -'
|
||||||
|
|
||||||
if l:command is# 'docker'
|
if l:command is# 'docker'
|
||||||
return printf('docker run --rm -i %s hadolint %s',
|
return printf('docker run --rm -i %s hadolint %s',
|
||||||
|
|
49
sources_non_forked/ale/ale_linters/erlang/erlang_ls.vim
Normal file
49
sources_non_forked/ale/ale_linters/erlang/erlang_ls.vim
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
" Author: Dmitri Vereshchagin <dmitri.vereshchagin@gmail.com>
|
||||||
|
" Description: LSP linter for Erlang files
|
||||||
|
|
||||||
|
call ale#Set('erlang_erlang_ls_executable', 'erlang_ls')
|
||||||
|
call ale#Set('erlang_erlang_ls_log_dir', '')
|
||||||
|
call ale#Set('erlang_erlang_ls_log_level', 'info')
|
||||||
|
|
||||||
|
function! s:GetCommand(buffer) abort
|
||||||
|
let l:log_dir = ale#Var(a:buffer, 'erlang_erlang_ls_log_dir')
|
||||||
|
let l:log_level = ale#Var(a:buffer, 'erlang_erlang_ls_log_level')
|
||||||
|
|
||||||
|
let l:command = '%e'
|
||||||
|
|
||||||
|
if !empty(l:log_dir)
|
||||||
|
let l:command .= ' --log-dir=' . ale#Escape(l:log_dir)
|
||||||
|
endif
|
||||||
|
|
||||||
|
let l:command .= ' --log-level=' . ale#Escape(l:log_level)
|
||||||
|
|
||||||
|
return l:command
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! s:FindProjectRoot(buffer) abort
|
||||||
|
let l:markers = ['_build/', 'erlang_ls.config', 'rebar.lock']
|
||||||
|
|
||||||
|
" This is a way to find Erlang/OTP root (the one that is managed
|
||||||
|
" by kerl or asdf). Useful if :ALEGoToDefinition takes us there.
|
||||||
|
let l:markers += ['.kerl_config']
|
||||||
|
|
||||||
|
for l:marker in l:markers
|
||||||
|
let l:path = l:marker[-1:] is# '/'
|
||||||
|
\ ? ale#path#FindNearestDirectory(a:buffer, l:marker)
|
||||||
|
\ : ale#path#FindNearestFile(a:buffer, l:marker)
|
||||||
|
|
||||||
|
if !empty(l:path)
|
||||||
|
return ale#path#Dirname(l:path)
|
||||||
|
endif
|
||||||
|
endfor
|
||||||
|
|
||||||
|
return ''
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
call ale#linter#Define('erlang', {
|
||||||
|
\ 'name': 'erlang_ls',
|
||||||
|
\ 'executable': {b -> ale#Var(b, 'erlang_erlang_ls_executable')},
|
||||||
|
\ 'command': function('s:GetCommand'),
|
||||||
|
\ 'lsp': 'stdio',
|
||||||
|
\ 'project_root': function('s:FindProjectRoot'),
|
||||||
|
\})
|
|
@ -1,5 +1,7 @@
|
||||||
" Author: aurieh - https://github.com/aurieh
|
" Author: aurieh - https://github.com/aurieh
|
||||||
|
|
||||||
|
call ale#Set('make_checkmake_config', '')
|
||||||
|
|
||||||
function! ale_linters#make#checkmake#Handle(buffer, lines) abort
|
function! ale_linters#make#checkmake#Handle(buffer, lines) abort
|
||||||
let l:pattern = '\v^(\d+):(.+):(.+)$'
|
let l:pattern = '\v^(\d+):(.+):(.+)$'
|
||||||
let l:output = []
|
let l:output = []
|
||||||
|
@ -17,9 +19,19 @@ function! ale_linters#make#checkmake#Handle(buffer, lines) abort
|
||||||
return l:output
|
return l:output
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
|
function! ale_linters#make#checkmake#GetCommand(buffer) abort
|
||||||
|
let l:config = ale#Var(a:buffer, 'make_checkmake_config')
|
||||||
|
let l:cmd = 'checkmake'
|
||||||
|
\ . ' --format="{{.LineNumber}}:{{.Rule}}:{{.Violation}}{{\"\r\n\"}}"'
|
||||||
|
\ . (!empty(l:config) ? ' --config="' . l:config . '"' : '')
|
||||||
|
\ . ' %s'
|
||||||
|
|
||||||
|
return l:cmd
|
||||||
|
endfunction
|
||||||
|
|
||||||
call ale#linter#Define('make', {
|
call ale#linter#Define('make', {
|
||||||
\ 'name': 'checkmake',
|
\ 'name': 'checkmake',
|
||||||
\ 'executable': 'checkmake',
|
\ 'executable': 'checkmake',
|
||||||
\ 'command': 'checkmake %s --format="{{.LineNumber}}:{{.Rule}}:{{.Violation}}{{\"\r\n\"}}"',
|
\ 'command': function('ale_linters#make#checkmake#GetCommand'),
|
||||||
\ 'callback': 'ale_linters#make#checkmake#Handle',
|
\ 'callback': 'ale_linters#make#checkmake#Handle',
|
||||||
\})
|
\})
|
||||||
|
|
|
@ -17,7 +17,7 @@ function! ale_linters#matlab#mlint#Handle(buffer, lines) abort
|
||||||
let l:code = l:match[3]
|
let l:code = l:match[3]
|
||||||
let l:text = l:match[4]
|
let l:text = l:match[4]
|
||||||
|
|
||||||
" Suppress erroneous waring about filename
|
" Suppress erroneous warning about filename
|
||||||
" TODO: Enable this error when copying filename is supported
|
" TODO: Enable this error when copying filename is supported
|
||||||
if l:code is# 'FNDEF'
|
if l:code is# 'FNDEF'
|
||||||
continue
|
continue
|
||||||
|
|
84
sources_non_forked/ale/ale_linters/python/ruff.vim
Normal file
84
sources_non_forked/ale/ale_linters/python/ruff.vim
Normal file
|
@ -0,0 +1,84 @@
|
||||||
|
" Author: Yining <zhang.yining@gmail.com>
|
||||||
|
" Description: ruff as linter for python files
|
||||||
|
|
||||||
|
call ale#Set('python_ruff_executable', 'ruff')
|
||||||
|
call ale#Set('python_ruff_options', '')
|
||||||
|
call ale#Set('python_ruff_use_global', get(g:, 'ale_use_global_executables', 0))
|
||||||
|
call ale#Set('python_ruff_change_directory', 1)
|
||||||
|
call ale#Set('python_ruff_auto_pipenv', 0)
|
||||||
|
call ale#Set('python_ruff_auto_poetry', 0)
|
||||||
|
|
||||||
|
call ale#fix#registry#Add('ruff',
|
||||||
|
\ 'ale#fixers#ruff#Fix',
|
||||||
|
\ ['python'],
|
||||||
|
\ 'A python linter/fixer for Python written in Rust'
|
||||||
|
\)
|
||||||
|
|
||||||
|
function! ale_linters#python#ruff#GetExecutable(buffer) abort
|
||||||
|
if (ale#Var(a:buffer, 'python_auto_pipenv') || ale#Var(a:buffer, 'python_ruff_auto_pipenv'))
|
||||||
|
\ && ale#python#PipenvPresent(a:buffer)
|
||||||
|
return 'pipenv'
|
||||||
|
endif
|
||||||
|
|
||||||
|
if (ale#Var(a:buffer, 'python_auto_poetry') || ale#Var(a:buffer, 'python_ruff_auto_poetry'))
|
||||||
|
\ && ale#python#PoetryPresent(a:buffer)
|
||||||
|
return 'poetry'
|
||||||
|
endif
|
||||||
|
|
||||||
|
return ale#python#FindExecutable(a:buffer, 'python_ruff', ['ruff'])
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! ale_linters#python#ruff#GetCwd(buffer) abort
|
||||||
|
if ale#Var(a:buffer, 'python_ruff_change_directory')
|
||||||
|
" Run from project root if found, else from buffer dir.
|
||||||
|
let l:project_root = ale#python#FindProjectRoot(a:buffer)
|
||||||
|
|
||||||
|
return !empty(l:project_root) ? l:project_root : '%s:h'
|
||||||
|
endif
|
||||||
|
|
||||||
|
return ''
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! ale_linters#python#ruff#GetCommand(buffer, version) abort
|
||||||
|
let l:executable = ale_linters#python#ruff#GetExecutable(a:buffer)
|
||||||
|
let l:exec_args = l:executable =~? 'pipenv\|poetry$'
|
||||||
|
\ ? ' run ruff'
|
||||||
|
\ : ''
|
||||||
|
|
||||||
|
" NOTE: ruff version `0.0.69` supports liniting input from stdin
|
||||||
|
return ale#Escape(l:executable) . l:exec_args
|
||||||
|
\ . ale#Pad(ale#Var(a:buffer, 'python_ruff_options'))
|
||||||
|
\ . ' --format text'
|
||||||
|
\ . (ale#semver#GTE(a:version, [0, 0, 69]) ? ' -' : ' %s')
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! ale_linters#python#ruff#Handle(buffer, lines) abort
|
||||||
|
"Example: path/to/file.py:10:5: E999 SyntaxError: unexpected indent
|
||||||
|
let l:pattern = '\v^[a-zA-Z]?:?[^:]+:(\d+):(\d+)?:? (.+)$'
|
||||||
|
let l:output = []
|
||||||
|
|
||||||
|
for l:match in ale#util#GetMatches(a:lines, l:pattern)
|
||||||
|
call add(l:output, {
|
||||||
|
\ 'lnum': l:match[1] + 0,
|
||||||
|
\ 'col': l:match[2] + 0,
|
||||||
|
\ 'text': l:match[3],
|
||||||
|
\})
|
||||||
|
endfor
|
||||||
|
|
||||||
|
return l:output
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
call ale#linter#Define('python', {
|
||||||
|
\ 'name': 'ruff',
|
||||||
|
\ 'executable': function('ale_linters#python#ruff#GetExecutable'),
|
||||||
|
\ 'cwd': function('ale_linters#python#ruff#GetCwd'),
|
||||||
|
\ 'command': {buffer -> ale#semver#RunWithVersionCheck(
|
||||||
|
\ buffer,
|
||||||
|
\ ale_linters#python#ruff#GetExecutable(buffer),
|
||||||
|
\ '%e --version',
|
||||||
|
\ function('ale_linters#python#ruff#GetCommand'),
|
||||||
|
\ )},
|
||||||
|
\ 'callback': 'ale_linters#python#ruff#Handle',
|
||||||
|
\ 'output_stream': 'both',
|
||||||
|
\ 'read_buffer': 1,
|
||||||
|
\})
|
|
@ -13,7 +13,7 @@ function! ale_linters#tex#lacheck#Handle(buffer, lines) abort
|
||||||
|
|
||||||
for l:match in ale#util#GetMatches(a:lines, l:pattern)
|
for l:match in ale#util#GetMatches(a:lines, l:pattern)
|
||||||
" lacheck follows `\input{}` commands. If the cwd is not the same as the
|
" lacheck follows `\input{}` commands. If the cwd is not the same as the
|
||||||
" file in the buffer then it will fail to find the inputed items. We do not
|
" file in the buffer then it will fail to find the inputted items. We do not
|
||||||
" want warnings from those items anyway
|
" want warnings from those items anyway
|
||||||
if !empty(matchstr(l:match[3], '^Could not open ".\+"$'))
|
if !empty(matchstr(l:match[3], '^Could not open ".\+"$'))
|
||||||
continue
|
continue
|
||||||
|
|
|
@ -216,7 +216,7 @@ function! s:UpdateCursor(cursor, start, end, offset) abort
|
||||||
" to the end of the changes
|
" to the end of the changes
|
||||||
let l:cur_line = l:end_line + l:line_offset
|
let l:cur_line = l:end_line + l:line_offset
|
||||||
let l:cur_column = l:end_column + l:column_offset
|
let l:cur_column = l:end_column + l:column_offset
|
||||||
" else is not necesary, it means modifications are happening
|
" else is not necessary, it means modifications are happening
|
||||||
" after the cursor so no cursor updates need to be done
|
" after the cursor so no cursor updates need to be done
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
|
@ -130,6 +130,7 @@ let s:should_complete_map = {
|
||||||
\ '<default>': '\v[a-zA-Z$_][a-zA-Z$_0-9]*$|\.$',
|
\ '<default>': '\v[a-zA-Z$_][a-zA-Z$_0-9]*$|\.$',
|
||||||
\ 'clojure': s:lisp_regex,
|
\ 'clojure': s:lisp_regex,
|
||||||
\ 'lisp': s:lisp_regex,
|
\ 'lisp': s:lisp_regex,
|
||||||
|
\ 'racket': '\k\+$',
|
||||||
\ 'typescript': '\v[a-zA-Z$_][a-zA-Z$_0-9]*$|\.$|''$|"$',
|
\ 'typescript': '\v[a-zA-Z$_][a-zA-Z$_0-9]*$|\.$|''$|"$',
|
||||||
\ 'rust': '\v[a-zA-Z$_][a-zA-Z$_0-9]*$|\.$|::$',
|
\ 'rust': '\v[a-zA-Z$_][a-zA-Z$_0-9]*$|\.$|::$',
|
||||||
\ 'cpp': '\v[a-zA-Z$_][a-zA-Z$_0-9]*$|\.$|::$|-\>$',
|
\ 'cpp': '\v[a-zA-Z$_][a-zA-Z$_0-9]*$|\.$|::$|-\>$',
|
||||||
|
|
|
@ -570,6 +570,11 @@ let s:default_registry = {
|
||||||
\ 'function': 'ale#fixers#zigfmt#Fix',
|
\ 'function': 'ale#fixers#zigfmt#Fix',
|
||||||
\ 'suggested_filetypes': ['zig'],
|
\ 'suggested_filetypes': ['zig'],
|
||||||
\ 'description': 'Official formatter for Zig',
|
\ 'description': 'Official formatter for Zig',
|
||||||
|
\ },
|
||||||
|
\ 'raco_fmt': {
|
||||||
|
\ 'function': 'ale#fixers#raco_fmt#Fix',
|
||||||
|
\ 'suggested_filetypes': ['racket'],
|
||||||
|
\ 'description': 'Fix Racket files with raco fmt.',
|
||||||
\ }
|
\ }
|
||||||
\}
|
\}
|
||||||
|
|
||||||
|
|
15
sources_non_forked/ale/autoload/ale/fixers/raco_fmt.vim
Normal file
15
sources_non_forked/ale/autoload/ale/fixers/raco_fmt.vim
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
" Author: Jeremy Cantrell <jmcantrell@gmail.com>
|
||||||
|
" Description: Integration of raco fmt with ALE.
|
||||||
|
|
||||||
|
call ale#Set('racket_raco_fmt_executable', 'raco')
|
||||||
|
call ale#Set('racket_raco_fmt_options', '')
|
||||||
|
|
||||||
|
function! ale#fixers#raco_fmt#Fix(buffer) abort
|
||||||
|
let l:executable = ale#Var(a:buffer, 'racket_raco_fmt_executable')
|
||||||
|
let l:options = ale#Var(a:buffer, 'racket_raco_fmt_options')
|
||||||
|
|
||||||
|
return {
|
||||||
|
\ 'command': ale#Escape(l:executable) . ' fmt'
|
||||||
|
\ . (empty(l:options) ? '' : ' ' . l:options),
|
||||||
|
\}
|
||||||
|
endfunction
|
54
sources_non_forked/ale/autoload/ale/fixers/ruff.vim
Normal file
54
sources_non_forked/ale/autoload/ale/fixers/ruff.vim
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
" Author: Yining <zhang.yining@gmail.com>
|
||||||
|
" Description: ruff as ALE fixer for python files
|
||||||
|
|
||||||
|
function! ale#fixers#ruff#GetCwd(buffer) abort
|
||||||
|
if ale#Var(a:buffer, 'python_ruff_change_directory')
|
||||||
|
" Run from project root if found, else from buffer dir.
|
||||||
|
let l:project_root = ale#python#FindProjectRoot(a:buffer)
|
||||||
|
|
||||||
|
return !empty(l:project_root) ? l:project_root : '%s:h'
|
||||||
|
endif
|
||||||
|
|
||||||
|
return ''
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! ale#fixers#ruff#GetExecutable(buffer) abort
|
||||||
|
if (ale#Var(a:buffer, 'python_auto_pipenv') || ale#Var(a:buffer, 'python_ruff_auto_pipenv'))
|
||||||
|
\ && ale#python#PipenvPresent(a:buffer)
|
||||||
|
return 'pipenv'
|
||||||
|
endif
|
||||||
|
|
||||||
|
if (ale#Var(a:buffer, 'python_auto_poetry') || ale#Var(a:buffer, 'python_ruff_auto_poetry'))
|
||||||
|
\ && ale#python#PoetryPresent(a:buffer)
|
||||||
|
return 'poetry'
|
||||||
|
endif
|
||||||
|
|
||||||
|
return ale#python#FindExecutable(a:buffer, 'python_ruff', ['ruff'])
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! ale#fixers#ruff#GetCommand(buffer, version) abort
|
||||||
|
let l:executable = ale_linters#python#ruff#GetExecutable(a:buffer)
|
||||||
|
let l:exec_args = l:executable =~? 'pipenv\|poetry$'
|
||||||
|
\ ? ' run ruff'
|
||||||
|
\ : ''
|
||||||
|
|
||||||
|
" NOTE: ruff version `0.0.72` implement `--fix` with stdin
|
||||||
|
return ale#Escape(l:executable) . l:exec_args
|
||||||
|
\ . ale#Pad(ale#Var(a:buffer, 'python_ruff_options'))
|
||||||
|
\ . ' --fix'
|
||||||
|
\ . (ale#semver#GTE(a:version, [0, 0, 72]) ? ' -' : ' %s')
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! ale#fixers#ruff#Fix(buffer) abort
|
||||||
|
let l:fix_cmd = {buffer -> ale#semver#RunWithVersionCheck(
|
||||||
|
\ buffer,
|
||||||
|
\ ale#fixers#ruff#GetExecutable(buffer),
|
||||||
|
\ '%e --version',
|
||||||
|
\ function('ale#fixers#ruff#GetCommand'),
|
||||||
|
\ )}(a:buffer)
|
||||||
|
|
||||||
|
return {
|
||||||
|
\ 'cwd': ale#fixers#ruff#GetCwd(a:buffer),
|
||||||
|
\ 'command': l:fix_cmd,
|
||||||
|
\}
|
||||||
|
endfunction
|
|
@ -13,7 +13,7 @@ function! ale#handlers#hdl_checker#IsDotGit(path) abort
|
||||||
return ! empty(a:path) && isdirectory(a:path)
|
return ! empty(a:path) && isdirectory(a:path)
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
" Sould return (in order of preference)
|
" Should return (in order of preference)
|
||||||
" 1. Nearest config file
|
" 1. Nearest config file
|
||||||
" 2. Nearest .git directory
|
" 2. Nearest .git directory
|
||||||
" 3. The current path
|
" 3. The current path
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
" Author: Horacio Sanson https://github.com/hsanson
|
" Author: Horacio Sanson https://github.com/hsanson
|
||||||
" Description: Functions for integrating with Java tools
|
" Description: Functions for integrating with Java tools
|
||||||
|
|
||||||
" Find the nearest dir contining a gradle or pom file and asume it
|
" Find the nearest dir contining a gradle or pom file and assume it
|
||||||
" the root of a java app.
|
" the root of a java app.
|
||||||
function! ale#java#FindProjectRoot(buffer) abort
|
function! ale#java#FindProjectRoot(buffer) abort
|
||||||
let l:gradle_root = ale#gradle#FindProjectRoot(a:buffer)
|
let l:gradle_root = ale#gradle#FindProjectRoot(a:buffer)
|
||||||
|
|
|
@ -18,7 +18,7 @@ if !exists('s:timer_args')
|
||||||
let s:timer_args = {}
|
let s:timer_args = {}
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Return 1 if there is a buffer with buftype == 'quickfix' in bufffer list
|
" Return 1 if there is a buffer with buftype == 'quickfix' in buffer list
|
||||||
function! ale#list#IsQuickfixOpen() abort
|
function! ale#list#IsQuickfixOpen() abort
|
||||||
let l:res = getqflist({ 'winid' : winnr() })
|
let l:res = getqflist({ 'winid' : winnr() })
|
||||||
|
|
||||||
|
@ -190,7 +190,7 @@ function! s:RestoreViewIfNeeded(buffer) abort
|
||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Check wether the cursor has moved since linting was actually requested. If
|
" Check whether the cursor has moved since linting was actually requested. If
|
||||||
" the user has indeed moved lines, do nothing
|
" the user has indeed moved lines, do nothing
|
||||||
let l:current_view = winsaveview()
|
let l:current_view = winsaveview()
|
||||||
|
|
||||||
|
|
|
@ -434,7 +434,7 @@ function! ale#lsp_linter#StartLSP(buffer, linter, Callback) abort
|
||||||
if empty(l:root) && a:linter.lsp isnot# 'tsserver'
|
if empty(l:root) && a:linter.lsp isnot# 'tsserver'
|
||||||
" If there's no project root, then we can't check files with LSP,
|
" 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.
|
" 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.")
|
call ale#lsp_linter#AddErrorMessage(a:linter.name, "Failed to find project root, language server won't start.")
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
endif
|
endif
|
||||||
|
|
|
@ -37,6 +37,16 @@ hadolint *ale-dockerfile-hadolint*
|
||||||
hadolint can be found at: https://github.com/hadolint/hadolint
|
hadolint can be found at: https://github.com/hadolint/hadolint
|
||||||
|
|
||||||
|
|
||||||
|
g:ale_dockerfile_hadolint_options *g:ale_dockerfile_hadolint_options*
|
||||||
|
*b:ale_dockerfile_hadolint_options*
|
||||||
|
Type: |String|
|
||||||
|
Default: `''`
|
||||||
|
|
||||||
|
This variable can be changed to add command-line arguments to the hadolint
|
||||||
|
invocation. These arguments will be used whether docker is being used or not
|
||||||
|
(see below).
|
||||||
|
|
||||||
|
|
||||||
g:ale_dockerfile_hadolint_use_docker *g:ale_dockerfile_hadolint_use_docker*
|
g:ale_dockerfile_hadolint_use_docker *g:ale_dockerfile_hadolint_use_docker*
|
||||||
*b:ale_dockerfile_hadolint_use_docker*
|
*b:ale_dockerfile_hadolint_use_docker*
|
||||||
Type: |String|
|
Type: |String|
|
||||||
|
|
|
@ -51,6 +51,31 @@ g:ale_erlang_elvis_executable *g:ale_erlang_elvis_executable*
|
||||||
This variable can be changed to specify the elvis executable.
|
This variable can be changed to specify the elvis executable.
|
||||||
|
|
||||||
|
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
erlang_ls *ale-erlang-erlang_ls*
|
||||||
|
|
||||||
|
g:ale_erlang_erlang_ls_executable *g:ale_erlang_erlang_ls_executable*
|
||||||
|
*b:ale_erlang_erlang_ls_executable*
|
||||||
|
Type: |String|
|
||||||
|
Default: `'erlang_ls'`
|
||||||
|
|
||||||
|
This variable can be changed to specify the erlang_ls executable.
|
||||||
|
|
||||||
|
g:ale_erlang_erlang_ls_log_dir *g:ale_erlang_erlang_ls_log_dir*
|
||||||
|
*b:ale_erlang_erlang_ls_log_dir*
|
||||||
|
Type: |String|
|
||||||
|
Default: `''`
|
||||||
|
|
||||||
|
If set this variable overrides default directory where logs will be written.
|
||||||
|
|
||||||
|
g:ale_erlang_erlang_ls_log_level *g:ale_erlang_erlang_ls_log_level*
|
||||||
|
*b:ale_erlang_erlang_ls_log_level*
|
||||||
|
Type: |String|
|
||||||
|
Default: `'info'`
|
||||||
|
|
||||||
|
This variable can be changed to specify log level.
|
||||||
|
|
||||||
|
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
erlc *ale-erlang-erlc*
|
erlc *ale-erlang-erlc*
|
||||||
|
|
||||||
|
|
|
@ -39,7 +39,7 @@ ruumba *ale-eruby-ruumba*
|
||||||
|
|
||||||
g:ale_eruby_ruumba_executable *g:ale_eruby_ruumba_executable*
|
g:ale_eruby_ruumba_executable *g:ale_eruby_ruumba_executable*
|
||||||
*b:ale_eruby_ruumba_executable*
|
*b:ale_eruby_ruumba_executable*
|
||||||
Type: String
|
Type: |String|
|
||||||
Default: `'ruumba`
|
Default: `'ruumba`
|
||||||
|
|
||||||
Override the invoked ruumba binary. This is useful for running ruumba
|
Override the invoked ruumba binary. This is useful for running ruumba
|
||||||
|
|
|
@ -169,7 +169,7 @@ g:ale_go_golines_executable *g:ale_go_lines_executable*
|
||||||
g:ale_go_golines_options *g:ale_go_golines_options*
|
g:ale_go_golines_options *g:ale_go_golines_options*
|
||||||
*b:ale_go_golines_options*
|
*b:ale_go_golines_options*
|
||||||
Type: |String|
|
Type: |String|
|
||||||
Default: ''
|
Default: `''`
|
||||||
|
|
||||||
Additional options passed to the golines command. By default golines has
|
Additional options passed to the golines command. By default golines has
|
||||||
--max-length=100 (lines above 100 characters will be wrapped)
|
--max-length=100 (lines above 100 characters will be wrapped)
|
||||||
|
|
|
@ -123,8 +123,8 @@ g:ale_haskell_hlint_executable *g:ale_haskell_hlint_executable*
|
||||||
|
|
||||||
g:ale_haskell_hlint_options g:ale_haskell_hlint_options
|
g:ale_haskell_hlint_options g:ale_haskell_hlint_options
|
||||||
b:ale_haskell_hlint_options
|
b:ale_haskell_hlint_options
|
||||||
Type: String
|
Type: |String|
|
||||||
Default: ''
|
Default: `''`
|
||||||
|
|
||||||
This variable can be used to pass extra options to the underlying hlint
|
This variable can be used to pass extra options to the underlying hlint
|
||||||
executable.
|
executable.
|
||||||
|
@ -217,8 +217,8 @@ g:ale_haskell_ormolu_executable *g:ale_haskell_ormolu_executable*
|
||||||
|
|
||||||
g:ale_haskell_ormolu_options *g:ale_haskell_ormolu_options*
|
g:ale_haskell_ormolu_options *g:ale_haskell_ormolu_options*
|
||||||
*b:ale_haskell_ormolu_options*
|
*b:ale_haskell_ormolu_options*
|
||||||
Type: String
|
Type: |String|
|
||||||
Default: ''
|
Default: `''`
|
||||||
|
|
||||||
This variable can be used to pass extra options to the underlying ormolu
|
This variable can be used to pass extra options to the underlying ormolu
|
||||||
executable.
|
executable.
|
||||||
|
|
|
@ -24,7 +24,7 @@ g:ale_java_checkstyle_executable *g:ale_java_checkstyle_executable*
|
||||||
*b:ale_java_checkstyle_executable*
|
*b:ale_java_checkstyle_executable*
|
||||||
|
|
||||||
Type: |String|
|
Type: |String|
|
||||||
Default: 'checkstyle'
|
Default: `'checkstyle'`
|
||||||
|
|
||||||
This variable can be changed to modify the executable used for checkstyle.
|
This variable can be changed to modify the executable used for checkstyle.
|
||||||
|
|
||||||
|
@ -124,8 +124,8 @@ pmd *ale-java-pmd*
|
||||||
g:ale_java_pmd_options *g:ale_java_pmd_options*
|
g:ale_java_pmd_options *g:ale_java_pmd_options*
|
||||||
*b:ale_java_pmd_options*
|
*b:ale_java_pmd_options*
|
||||||
|
|
||||||
Type: String
|
Type: |String|
|
||||||
Default: '-R category/java/bestpractices'
|
Default: `'-R category/java/bestpractices'`
|
||||||
|
|
||||||
This variable can be changed to modify flags given to PMD. Do not specify -f
|
This variable can be changed to modify flags given to PMD. Do not specify -f
|
||||||
and -d. They are added automatically.
|
and -d. They are added automatically.
|
||||||
|
@ -173,7 +173,7 @@ g:ale_java_javalsp_config *g:ale_java_javalsp_config*
|
||||||
Type: |Dictionary|
|
Type: |Dictionary|
|
||||||
Default: `{}`
|
Default: `{}`
|
||||||
|
|
||||||
The javalsp linter automatically detects external depenencies for Maven and
|
The javalsp linter automatically detects external dependencies for Maven and
|
||||||
Gradle projects. In case the javalsp fails to detect some of them, you can
|
Gradle projects. In case the javalsp fails to detect some of them, you can
|
||||||
specify them setting a dictionary to |g:ale_java_javalsp_config| variable.
|
specify them setting a dictionary to |g:ale_java_javalsp_config| variable.
|
||||||
>
|
>
|
||||||
|
|
|
@ -11,7 +11,7 @@ g:ale_julia_executable *g:ale_julia_executable*
|
||||||
*b:ale_julia_executable*
|
*b:ale_julia_executable*
|
||||||
|
|
||||||
Type: |String|
|
Type: |String|
|
||||||
Default: 'julia'
|
Default: `'julia'`
|
||||||
|
|
||||||
Path to the julia exetuable.
|
Path to the julia exetuable.
|
||||||
|
|
||||||
|
|
|
@ -79,7 +79,7 @@ g:ale_kotlin_ktlint_executable *g:ale_kotlin_ktlint_executable*
|
||||||
|
|
||||||
g:ale_kotlin_ktlint_rulesets *g:ale_kotlin_ktlint_rulesets*
|
g:ale_kotlin_ktlint_rulesets *g:ale_kotlin_ktlint_rulesets*
|
||||||
Type: |List| of |String|s
|
Type: |List| of |String|s
|
||||||
Default: []
|
Default: `[]`
|
||||||
|
|
||||||
This list should contain paths to ruleset jars and/or strings of maven
|
This list should contain paths to ruleset jars and/or strings of maven
|
||||||
artifact triples. Example:
|
artifact triples. Example:
|
||||||
|
|
|
@ -9,7 +9,7 @@ g:ale_llvm_llc_executable *g:ale_llvm_llc_executable*
|
||||||
*b:ale_llvm_llc_executable*
|
*b:ale_llvm_llc_executable*
|
||||||
|
|
||||||
Type: |String|
|
Type: |String|
|
||||||
Default: "llc"
|
Default: `"llc"`
|
||||||
|
|
||||||
The command to use for checking. This variable is useful when llc command
|
The command to use for checking. This variable is useful when llc command
|
||||||
has suffix like "llc-5.0".
|
has suffix like "llc-5.0".
|
||||||
|
|
18
sources_non_forked/ale/doc/ale-make.txt
Normal file
18
sources_non_forked/ale/doc/ale-make.txt
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
===============================================================================
|
||||||
|
ALE Make Integration *ale-make-options*
|
||||||
|
|
||||||
|
|
||||||
|
===============================================================================
|
||||||
|
checkmake *ale-make-checkmake*
|
||||||
|
|
||||||
|
g:ale_make_checkmake_config *g:ale_make_checkmake_config*
|
||||||
|
*b:ale_make_checkmake_config*
|
||||||
|
Type: |String|
|
||||||
|
Default: `''`
|
||||||
|
|
||||||
|
This variable can be used to set the `--config` option of checkmake command.
|
||||||
|
if the value is empty, the checkmake command will not be invoked with the
|
||||||
|
option.
|
||||||
|
|
||||||
|
===============================================================================
|
||||||
|
vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:
|
|
@ -72,7 +72,7 @@ g:ale_perl_perlcritic_options *g:ale_perl_perlcritic_options*
|
||||||
g:ale_perl_perlcritic_showrules *g:ale_perl_perlcritic_showrules*
|
g:ale_perl_perlcritic_showrules *g:ale_perl_perlcritic_showrules*
|
||||||
|
|
||||||
Type: |Number|
|
Type: |Number|
|
||||||
Default: 0
|
Default: `0`
|
||||||
|
|
||||||
Controls whether perlcritic rule names are shown after the error message.
|
Controls whether perlcritic rule names are shown after the error message.
|
||||||
Defaults to off to reduce length of message.
|
Defaults to off to reduce length of message.
|
||||||
|
|
|
@ -13,7 +13,7 @@ powershell *ale-powershell-powershell*
|
||||||
|
|
||||||
g:ale_powershell_powershell_executable *g:ale_powershell_powershell_executable*
|
g:ale_powershell_powershell_executable *g:ale_powershell_powershell_executable*
|
||||||
*b:ale_powershell_powershell_executable*
|
*b:ale_powershell_powershell_executable*
|
||||||
Type: String
|
Type: |String|
|
||||||
Default: `'pwsh'`
|
Default: `'pwsh'`
|
||||||
|
|
||||||
This variable can be changed to use a different executable for powershell.
|
This variable can be changed to use a different executable for powershell.
|
||||||
|
|
|
@ -25,7 +25,7 @@ buf-format *ale-proto-buf-format*
|
||||||
g:ale_proto_buf_format_executable *g:ale_proto_buf_format_executable*
|
g:ale_proto_buf_format_executable *g:ale_proto_buf_format_executable*
|
||||||
|
|
||||||
Type: |String|
|
Type: |String|
|
||||||
Default: 'buf'
|
Default: `'buf'`
|
||||||
|
|
||||||
This variable can be changed to modify the executable used for buf.
|
This variable can be changed to modify the executable used for buf.
|
||||||
|
|
||||||
|
@ -39,7 +39,7 @@ buf-lint *ale-proto-buf-lint*
|
||||||
g:ale_proto_buf_lint_executable *g:ale_proto_buf_lint_executable*
|
g:ale_proto_buf_lint_executable *g:ale_proto_buf_lint_executable*
|
||||||
|
|
||||||
Type: |String|
|
Type: |String|
|
||||||
Default: 'buf'
|
Default: `'buf'`
|
||||||
|
|
||||||
This variable can be changed to modify the executable used for buf.
|
This variable can be changed to modify the executable used for buf.
|
||||||
|
|
||||||
|
@ -80,7 +80,7 @@ protolint *ale-proto-protolint
|
||||||
g:ale_proto_protolint_executable *g:ale_proto_protolint_executable*
|
g:ale_proto_protolint_executable *g:ale_proto_protolint_executable*
|
||||||
|
|
||||||
Type: |String|
|
Type: |String|
|
||||||
Default: 'protolint'
|
Default: `'protolint'`
|
||||||
|
|
||||||
This variable can be changed to modify the executable used for protolint.
|
This variable can be changed to modify the executable used for protolint.
|
||||||
|
|
||||||
|
|
|
@ -48,7 +48,7 @@ g:ale_purescript_tidy_use_global *g:ale_purescript_tidy_use_global*
|
||||||
|
|
||||||
g:ale_purescript_tidy_options *g:ale_purescript_tidy_options*
|
g:ale_purescript_tidy_options *g:ale_purescript_tidy_options*
|
||||||
*b:ale_purescript_tidy_options*
|
*b:ale_purescript_tidy_options*
|
||||||
Type: String
|
Type: |String|
|
||||||
Default: `''`
|
Default: `''`
|
||||||
|
|
||||||
This variable can be set to pass in additional option to the 'purs-tidy'
|
This variable can be set to pass in additional option to the 'purs-tidy'
|
||||||
|
|
|
@ -979,7 +979,7 @@ g:ale_python_pylsp_options *g:ale_python_pylsp_options
|
||||||
let g:ale_python_pylsp_executable = 'python3'
|
let g:ale_python_pylsp_executable = 'python3'
|
||||||
let g:ale_python_pylsp_options = '-m pylsp'
|
let g:ale_python_pylsp_options = '-m pylsp'
|
||||||
|
|
||||||
An example stragety for installing `pylsp`:
|
An example strategy for installing `pylsp`:
|
||||||
`python3 -m pip install --user pylsp`
|
`python3 -m pip install --user pylsp`
|
||||||
|
|
||||||
|
|
||||||
|
@ -1115,6 +1115,69 @@ g:ale_python_reorder_python_imports_use_global
|
||||||
See |ale-integrations-local-executables|
|
See |ale-integrations-local-executables|
|
||||||
|
|
||||||
|
|
||||||
|
===============================================================================
|
||||||
|
ruff *ale-python-ruff*
|
||||||
|
|
||||||
|
g:ale_python_ruff_change_directory *g:ale_python_ruff_change_directory*
|
||||||
|
*b:ale_python_ruff_change_directory*
|
||||||
|
Type: |Number|
|
||||||
|
Default: `1`
|
||||||
|
|
||||||
|
If set to `1`, `ruff` will be run from a detected project root, per
|
||||||
|
|ale-python-root|. if set to `0` or no project root detected,
|
||||||
|
`ruff` will be run from the buffer's directory.
|
||||||
|
|
||||||
|
|
||||||
|
g:ale_python_ruff_executable *g:ale_python_ruff_executable*
|
||||||
|
*b:ale_python_ruff_executable*
|
||||||
|
Type: |String|
|
||||||
|
Default: `'ruff'`
|
||||||
|
|
||||||
|
See |ale-integrations-local-executables|
|
||||||
|
|
||||||
|
Set this to `'pipenv'` to invoke `'pipenv` `run` `ruff'`.
|
||||||
|
Set this to `'poetry'` to invoke `'poetry` `run` `ruff'`.
|
||||||
|
|
||||||
|
|
||||||
|
g:ale_python_ruff_options *g:ale_python_ruff_options*
|
||||||
|
*b:ale_python_ruff_options*
|
||||||
|
Type: |String|
|
||||||
|
Default: `''`
|
||||||
|
|
||||||
|
This variable can be changed to add command-line arguments to the ruff
|
||||||
|
invocation.
|
||||||
|
|
||||||
|
For example, to select/enable and/or disable some error codes,
|
||||||
|
you may want to set >
|
||||||
|
let g:ale_python_ruff_options = '--ignore F401'
|
||||||
|
|
||||||
|
|
||||||
|
g:ale_python_ruff_use_global *g:ale_python_ruff_use_global*
|
||||||
|
*b:ale_python_ruff_use_global*
|
||||||
|
Type: |Number|
|
||||||
|
Default: `get(g:, 'ale_use_global_executables', 0)`
|
||||||
|
|
||||||
|
See |ale-integrations-local-executables|
|
||||||
|
|
||||||
|
|
||||||
|
g:ale_python_ruff_auto_pipenv *g:ale_python_ruff_auto_pipenv*
|
||||||
|
*b:ale_python_ruff_auto_pipenv*
|
||||||
|
Type: |Number|
|
||||||
|
Default: `0`
|
||||||
|
|
||||||
|
Detect whether the file is inside a pipenv, and set the executable to `pipenv`
|
||||||
|
if true. This is overridden by a manually-set executable.
|
||||||
|
|
||||||
|
|
||||||
|
g:ale_python_ruff_auto_poetry *g:ale_python_ruff_auto_poetry*
|
||||||
|
*b:ale_python_ruff_auto_poetry*
|
||||||
|
Type: |Number|
|
||||||
|
Default: `0`
|
||||||
|
|
||||||
|
Detect whether the file is inside a poetry, and set the executable to `poetry`
|
||||||
|
if true. This is overridden by a manually-set executable.
|
||||||
|
|
||||||
|
|
||||||
===============================================================================
|
===============================================================================
|
||||||
unimport *ale-python-unimport*
|
unimport *ale-python-unimport*
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@ brakeman *ale-ruby-brakeman*
|
||||||
|
|
||||||
g:ale_ruby_brakeman_executable *g:ale_ruby_brakeman_executable*
|
g:ale_ruby_brakeman_executable *g:ale_ruby_brakeman_executable*
|
||||||
*b:ale_ruby_brakeman_executable*
|
*b:ale_ruby_brakeman_executable*
|
||||||
Type: String
|
Type: |String|
|
||||||
Default: `'brakeman'`
|
Default: `'brakeman'`
|
||||||
|
|
||||||
Override the invoked brakeman binary. Set this to `'bundle'` to invoke
|
Override the invoked brakeman binary. Set this to `'bundle'` to invoke
|
||||||
|
@ -33,7 +33,7 @@ debride *ale-ruby-debride*
|
||||||
|
|
||||||
g:ale_ruby_debride_executable *g:ale_ruby_debride_executable*
|
g:ale_ruby_debride_executable *g:ale_ruby_debride_executable*
|
||||||
*b:ale_ruby_debride_executable*
|
*b:ale_ruby_debride_executable*
|
||||||
Type: String
|
Type: |String|
|
||||||
Default: `'debride'`
|
Default: `'debride'`
|
||||||
|
|
||||||
Override the invoked debride binary. Set this to `'bundle'` to invoke
|
Override the invoked debride binary. Set this to `'bundle'` to invoke
|
||||||
|
@ -60,7 +60,7 @@ rails_best_practices *ale-ruby-rails_best_practices*
|
||||||
g:ale_ruby_rails_best_practices_executable
|
g:ale_ruby_rails_best_practices_executable
|
||||||
*g:ale_ruby_rails_best_practices_executable*
|
*g:ale_ruby_rails_best_practices_executable*
|
||||||
*b:ale_ruby_rails_best_practices_executable*
|
*b:ale_ruby_rails_best_practices_executable*
|
||||||
Type: String
|
Type: |String|
|
||||||
Default: `'rails_best_practices'`
|
Default: `'rails_best_practices'`
|
||||||
|
|
||||||
Override the invoked rails_best_practices binary. Set this to `'bundle'` to
|
Override the invoked rails_best_practices binary. Set this to `'bundle'` to
|
||||||
|
@ -81,7 +81,7 @@ reek *ale-ruby-reek*
|
||||||
|
|
||||||
g:ale_ruby_reek_executable *g:ale_ruby_reek_executable*
|
g:ale_ruby_reek_executable *g:ale_ruby_reek_executable*
|
||||||
*b:ale_ruby_reek_executable*
|
*b:ale_ruby_reek_executable*
|
||||||
Type: String
|
Type: |String|
|
||||||
Default: `'reek'`
|
Default: `'reek'`
|
||||||
|
|
||||||
Override the invoked reek binary. Set this to `'bundle'` to invoke
|
Override the invoked reek binary. Set this to `'bundle'` to invoke
|
||||||
|
@ -91,7 +91,7 @@ g:ale_ruby_reek_executable *g:ale_ruby_reek_executable*
|
||||||
g:ale_ruby_reek_show_context *g:ale_ruby_reek_show_context*
|
g:ale_ruby_reek_show_context *g:ale_ruby_reek_show_context*
|
||||||
*b:ale_ruby_reek_show_context*
|
*b:ale_ruby_reek_show_context*
|
||||||
Type: |Number|
|
Type: |Number|
|
||||||
Default: 0
|
Default: `0`
|
||||||
|
|
||||||
Controls whether context is included in the linter message. Defaults to off
|
Controls whether context is included in the linter message. Defaults to off
|
||||||
because context is usually obvious while viewing a file.
|
because context is usually obvious while viewing a file.
|
||||||
|
@ -100,7 +100,7 @@ g:ale_ruby_reek_show_context *g:ale_ruby_reek_show_context*
|
||||||
g:ale_ruby_reek_show_wiki_link *g:ale_ruby_reek_show_wiki_link*
|
g:ale_ruby_reek_show_wiki_link *g:ale_ruby_reek_show_wiki_link*
|
||||||
*b:ale_ruby_reek_show_wiki_link*
|
*b:ale_ruby_reek_show_wiki_link*
|
||||||
Type: |Number|
|
Type: |Number|
|
||||||
Default: 0
|
Default: `0`
|
||||||
|
|
||||||
Controls whether linter messages contain a link to an explanatory wiki page
|
Controls whether linter messages contain a link to an explanatory wiki page
|
||||||
for the type of code smell. Defaults to off to improve readability.
|
for the type of code smell. Defaults to off to improve readability.
|
||||||
|
@ -111,7 +111,7 @@ rubocop *ale-ruby-rubocop*
|
||||||
|
|
||||||
g:ale_ruby_rubocop_executable *g:ale_ruby_rubocop_executable*
|
g:ale_ruby_rubocop_executable *g:ale_ruby_rubocop_executable*
|
||||||
*b:ale_ruby_rubocop_executable*
|
*b:ale_ruby_rubocop_executable*
|
||||||
Type: String
|
Type: |String|
|
||||||
Default: `'rubocop'`
|
Default: `'rubocop'`
|
||||||
|
|
||||||
Override the invoked rubocop binary. Set this to `'bundle'` to invoke
|
Override the invoked rubocop binary. Set this to `'bundle'` to invoke
|
||||||
|
@ -128,7 +128,7 @@ g:ale_ruby_rubocop_options *g:ale_ruby_rubocop_options*
|
||||||
|
|
||||||
g:ale_ruby_rubocop_auto_correct_all *g:ale_ruby_rubocop_auto_correct_all*
|
g:ale_ruby_rubocop_auto_correct_all *g:ale_ruby_rubocop_auto_correct_all*
|
||||||
*b:ale_ruby_rubocop_auto_correct_all*
|
*b:ale_ruby_rubocop_auto_correct_all*
|
||||||
Type: Number
|
Type: |Number|
|
||||||
Default: `0`
|
Default: `0`
|
||||||
|
|
||||||
This variable can be changed to make rubocop to correct all offenses (unsafe).
|
This variable can be changed to make rubocop to correct all offenses (unsafe).
|
||||||
|
@ -139,7 +139,7 @@ ruby *ale-ruby-ruby*
|
||||||
|
|
||||||
g:ale_ruby_ruby_executable *g:ale_ruby_ruby_executable*
|
g:ale_ruby_ruby_executable *g:ale_ruby_ruby_executable*
|
||||||
*b:ale_ruby_ruby_executable*
|
*b:ale_ruby_ruby_executable*
|
||||||
Type: String
|
Type: |String|
|
||||||
Default: `'ruby'`
|
Default: `'ruby'`
|
||||||
|
|
||||||
This variable can be changed to use a different executable for ruby.
|
This variable can be changed to use a different executable for ruby.
|
||||||
|
@ -150,7 +150,7 @@ rufo *ale-ruby-rufo*
|
||||||
|
|
||||||
g:ale_ruby_rufo_executable *g:ale_ruby_rufo_executable*
|
g:ale_ruby_rufo_executable *g:ale_ruby_rufo_executable*
|
||||||
*b:ale_ruby_rufo_executable*
|
*b:ale_ruby_rufo_executable*
|
||||||
Type: String
|
Type: |String|
|
||||||
Default: `'rufo'`
|
Default: `'rufo'`
|
||||||
|
|
||||||
Override the invoked rufo binary. This is useful for running rufo from
|
Override the invoked rufo binary. This is useful for running rufo from
|
||||||
|
@ -162,7 +162,7 @@ solargraph *ale-ruby-solargraph*
|
||||||
|
|
||||||
g:ale_ruby_solargraph_executable *g:ale_ruby_solargraph_executable*
|
g:ale_ruby_solargraph_executable *g:ale_ruby_solargraph_executable*
|
||||||
*b:ale_ruby_solargraph_executable*
|
*b:ale_ruby_solargraph_executable*
|
||||||
Type: String
|
Type: |String|
|
||||||
Default: `'solargraph'`
|
Default: `'solargraph'`
|
||||||
|
|
||||||
Override the invoked solargraph binary. This is useful for running solargraph
|
Override the invoked solargraph binary. This is useful for running solargraph
|
||||||
|
@ -174,7 +174,7 @@ sorbet *ale-ruby-sorbet*
|
||||||
|
|
||||||
g:ale_ruby_sorbet_executable *g:ale_ruby_sorbet_executable*
|
g:ale_ruby_sorbet_executable *g:ale_ruby_sorbet_executable*
|
||||||
*b:ale_ruby_sorbet_executable*
|
*b:ale_ruby_sorbet_executable*
|
||||||
Type: String
|
Type: |String|
|
||||||
Default: `'srb'`
|
Default: `'srb'`
|
||||||
|
|
||||||
Override the invoked sorbet binary. Set this to `'bundle'` to invoke
|
Override the invoked sorbet binary. Set this to `'bundle'` to invoke
|
||||||
|
@ -204,7 +204,7 @@ standardrb *ale-ruby-standardrb*
|
||||||
|
|
||||||
g:ale_ruby_standardrb_executable *g:ale_ruby_standardrb_executable*
|
g:ale_ruby_standardrb_executable *g:ale_ruby_standardrb_executable*
|
||||||
*b:ale_ruby_standardrb_executable*
|
*b:ale_ruby_standardrb_executable*
|
||||||
Type: String
|
Type: |String|
|
||||||
Default: `'standardrb'`
|
Default: `'standardrb'`
|
||||||
|
|
||||||
Override the invoked standardrb binary. Set this to `'bundle'` to invoke
|
Override the invoked standardrb binary. Set this to `'bundle'` to invoke
|
||||||
|
@ -224,7 +224,7 @@ syntax_tree *ale-ruby-syntax_tree*
|
||||||
|
|
||||||
g:ale_ruby_syntax_tree_executable *g:ale_ruby_syntax_tree_executable*
|
g:ale_ruby_syntax_tree_executable *g:ale_ruby_syntax_tree_executable*
|
||||||
*b:ale_ruby_syntax_tree_executable*
|
*b:ale_ruby_syntax_tree_executable*
|
||||||
Type: String
|
Type: |String|
|
||||||
Default: `'stree'`
|
Default: `'stree'`
|
||||||
|
|
||||||
Override the invoked SyntaxTree binary. Set this to `'bundle'` to invoke
|
Override the invoked SyntaxTree binary. Set this to `'bundle'` to invoke
|
||||||
|
|
|
@ -261,8 +261,8 @@ g:ale_rust_ignore_error_codes *g:ale_rust_ignore_error_codes*
|
||||||
|
|
||||||
g:ale_rust_ignore_secondary_spans *g:ale_rust_ignore_secondary_spans*
|
g:ale_rust_ignore_secondary_spans *g:ale_rust_ignore_secondary_spans*
|
||||||
*b:ale_rust_ignore_secondary_spans*
|
*b:ale_rust_ignore_secondary_spans*
|
||||||
Type: Number
|
Type: |Number|
|
||||||
Default: 0
|
Default: `0`
|
||||||
|
|
||||||
When set to 1, instructs the Rust error reporting to ignore secondary spans.
|
When set to 1, instructs the Rust error reporting to ignore secondary spans.
|
||||||
The problem with secondary spans is that they sometimes appear in error
|
The problem with secondary spans is that they sometimes appear in error
|
||||||
|
|
|
@ -178,6 +178,7 @@ Notes:
|
||||||
* `SyntaxErl`
|
* `SyntaxErl`
|
||||||
* `dialyzer`!!
|
* `dialyzer`!!
|
||||||
* `elvis`!!
|
* `elvis`!!
|
||||||
|
* `erlang_ls`
|
||||||
* `erlc`
|
* `erlc`
|
||||||
* `erlfmt`
|
* `erlfmt`
|
||||||
* Fish
|
* Fish
|
||||||
|
@ -482,6 +483,7 @@ Notes:
|
||||||
* `pyre`
|
* `pyre`
|
||||||
* `pyright`
|
* `pyright`
|
||||||
* `reorder-python-imports`
|
* `reorder-python-imports`
|
||||||
|
* ruff
|
||||||
* `unimport`
|
* `unimport`
|
||||||
* `vulture`!!
|
* `vulture`!!
|
||||||
* `yapf`
|
* `yapf`
|
||||||
|
@ -495,6 +497,7 @@ Notes:
|
||||||
* Racket
|
* Racket
|
||||||
* `racket-langserver`
|
* `racket-langserver`
|
||||||
* `raco`
|
* `raco`
|
||||||
|
* `raco_fmt`
|
||||||
* Re:VIEW
|
* Re:VIEW
|
||||||
* `redpen`
|
* `redpen`
|
||||||
* ReasonML
|
* ReasonML
|
||||||
|
|
|
@ -33,7 +33,7 @@ lacheck *ale-tex-lacheck*
|
||||||
g:ale_lacheck_executable *g:ale_lacheck_executable*
|
g:ale_lacheck_executable *g:ale_lacheck_executable*
|
||||||
*b:ale_lacheck_executable*
|
*b:ale_lacheck_executable*
|
||||||
Type: |String|
|
Type: |String|
|
||||||
Default: '`lacheck`'
|
Default: `'lacheck'`
|
||||||
|
|
||||||
This variable can be changed to change the path to lacheck.
|
This variable can be changed to change the path to lacheck.
|
||||||
|
|
||||||
|
|
|
@ -29,7 +29,7 @@ g:ale_deno_lsp_project_root *g:ale_deno_lsp_project_root*
|
||||||
executing the following steps in the given order:
|
executing the following steps in the given order:
|
||||||
|
|
||||||
1. Find an ancestor directory containing a tsconfig.json.
|
1. Find an ancestor directory containing a tsconfig.json.
|
||||||
2. Find an ancestory directory containing a .git folder.
|
2. Find an ancestor directory containing a .git folder.
|
||||||
3. Use the directory of the current buffer (if the buffer was opened from
|
3. Use the directory of the current buffer (if the buffer was opened from
|
||||||
a file).
|
a file).
|
||||||
|
|
||||||
|
|
|
@ -134,7 +134,7 @@ g:ale_verilog_yosys_options *g:ale_verilog_yosys_options*
|
||||||
Default: `'-Q -T -p ''read_verilog %s'''`
|
Default: `'-Q -T -p ''read_verilog %s'''`
|
||||||
|
|
||||||
This variable can be changed to modify the flags/options passed to 'yosys'.
|
This variable can be changed to modify the flags/options passed to 'yosys'.
|
||||||
By default, Yosys is an interative program. To obtain linting functionality,
|
By default, Yosys is an interactive program. To obtain linting functionality,
|
||||||
the `'read_verilog'` command is used.
|
the `'read_verilog'` command is used.
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -24,7 +24,7 @@ g:ale_xml_xmllint_options *g:ale_xml_xmllint_options*
|
||||||
g:ale_xml_xmllint_indentsize *g:ale_xml_xmllint_indentsize*
|
g:ale_xml_xmllint_indentsize *g:ale_xml_xmllint_indentsize*
|
||||||
*b:ale_xml_xmllint_indentsize*
|
*b:ale_xml_xmllint_indentsize*
|
||||||
Type: |Number|
|
Type: |Number|
|
||||||
Default: 2
|
Default: `2`
|
||||||
|
|
||||||
This variable can be sent to specify the amount of spaces used for
|
This variable can be sent to specify the amount of spaces used for
|
||||||
indentation.
|
indentation.
|
||||||
|
|
|
@ -750,7 +750,7 @@ g:airline#extensions#ale#enabled *g:airline#extensions#ale#enabled*
|
||||||
g:ale_cache_executable_check_failures *g:ale_cache_executable_check_failures*
|
g:ale_cache_executable_check_failures *g:ale_cache_executable_check_failures*
|
||||||
|
|
||||||
Type: |Number|
|
Type: |Number|
|
||||||
Default: undefined
|
Default: not set
|
||||||
|
|
||||||
When set to `1`, ALE will cache failing executable checks for linters. By
|
When set to `1`, ALE will cache failing executable checks for linters. By
|
||||||
default, only executable checks which succeed will be cached.
|
default, only executable checks which succeed will be cached.
|
||||||
|
@ -864,7 +864,7 @@ g:ale_completion_enabled *g:ale_completion_enabled*
|
||||||
*g:ale_completion_tsserver_remove_warnings*
|
*g:ale_completion_tsserver_remove_warnings*
|
||||||
g:ale_completion_tsserver_remove_warnings
|
g:ale_completion_tsserver_remove_warnings
|
||||||
|
|
||||||
Type: Number
|
Type: |Number|
|
||||||
Default: `0`
|
Default: `0`
|
||||||
|
|
||||||
When this option is set to `0`, ALE will return all completion items,
|
When this option is set to `0`, ALE will return all completion items,
|
||||||
|
@ -874,7 +874,7 @@ g:ale_completion_tsserver_remove_warnings
|
||||||
|
|
||||||
g:ale_completion_autoimport *g:ale_completion_autoimport*
|
g:ale_completion_autoimport *g:ale_completion_autoimport*
|
||||||
|
|
||||||
Type: Number
|
Type: |Number|
|
||||||
Default: `1`
|
Default: `1`
|
||||||
|
|
||||||
When this option is set to `1`, ALE will try to automatically import
|
When this option is set to `1`, ALE will try to automatically import
|
||||||
|
@ -1836,7 +1836,7 @@ g:ale_max_signs *g:ale_max_signs*
|
||||||
g:ale_maximum_file_size *g:ale_maximum_file_size*
|
g:ale_maximum_file_size *g:ale_maximum_file_size*
|
||||||
*b:ale_maximum_file_size*
|
*b:ale_maximum_file_size*
|
||||||
Type: |Number|
|
Type: |Number|
|
||||||
Default: undefined
|
Default: not set
|
||||||
|
|
||||||
A maximum file size in bytes for ALE to check. If set to any positive
|
A maximum file size in bytes for ALE to check. If set to any positive
|
||||||
number, ALE will skip checking files larger than the given size.
|
number, ALE will skip checking files larger than the given size.
|
||||||
|
@ -1879,7 +1879,7 @@ g:ale_open_list *g:ale_open_list*
|
||||||
g:ale_pattern_options *g:ale_pattern_options*
|
g:ale_pattern_options *g:ale_pattern_options*
|
||||||
|
|
||||||
Type: |Dictionary|
|
Type: |Dictionary|
|
||||||
Default: undefined
|
Default: not set
|
||||||
|
|
||||||
This option maps regular expression patterns to |Dictionary| values for
|
This option maps regular expression patterns to |Dictionary| values for
|
||||||
buffer variables. This option can be set to automatically configure
|
buffer variables. This option can be set to automatically configure
|
||||||
|
@ -1908,7 +1908,7 @@ g:ale_pattern_options *g:ale_pattern_options*
|
||||||
g:ale_pattern_options_enabled *g:ale_pattern_options_enabled*
|
g:ale_pattern_options_enabled *g:ale_pattern_options_enabled*
|
||||||
|
|
||||||
Type: |Number|
|
Type: |Number|
|
||||||
Default: undefined
|
Default: not set
|
||||||
|
|
||||||
This option can be used for disabling pattern options. If set to `0`, ALE
|
This option can be used for disabling pattern options. If set to `0`, ALE
|
||||||
will not set buffer variables per |g:ale_pattern_options|.
|
will not set buffer variables per |g:ale_pattern_options|.
|
||||||
|
@ -1954,7 +1954,7 @@ g:ale_root *g:ale_root*
|
||||||
*b:ale_root*
|
*b:ale_root*
|
||||||
|
|
||||||
Type: |Dictionary| or |String|
|
Type: |Dictionary| or |String|
|
||||||
Default: {}
|
Default: `{}`
|
||||||
|
|
||||||
This option is used to determine the project root for a linter. If the value
|
This option is used to determine the project root for a linter. If the value
|
||||||
is a |Dictionary|, it maps a linter to either a |String| containing the
|
is a |Dictionary|, it maps a linter to either a |String| containing the
|
||||||
|
@ -2006,7 +2006,7 @@ g:ale_set_balloons *g:ale_set_balloons*
|
||||||
g:ale_set_balloons_legacy_echo *g:ale_set_balloons_legacy_echo*
|
g:ale_set_balloons_legacy_echo *g:ale_set_balloons_legacy_echo*
|
||||||
*b:ale_set_balloons_legacy_echo*
|
*b:ale_set_balloons_legacy_echo*
|
||||||
Type: |Number|
|
Type: |Number|
|
||||||
Default: undefined
|
Default: not set
|
||||||
|
|
||||||
If set to `1`, moving your mouse over documents in Vim will make ALE ask
|
If set to `1`, moving your mouse over documents in Vim will make ALE ask
|
||||||
`tsserver` or `LSP` servers for information about the symbol where the mouse
|
`tsserver` or `LSP` servers for information about the symbol where the mouse
|
||||||
|
@ -2240,10 +2240,10 @@ g:ale_sign_highlight_linenrs *g:ale_sign_highlight_linenrs*
|
||||||
|
|
||||||
g:ale_update_tagstack *g:ale_update_tagstack*
|
g:ale_update_tagstack *g:ale_update_tagstack*
|
||||||
*b:ale_update_tagstack*
|
*b:ale_update_tagstack*
|
||||||
Type: |Number|
|
Type: |Number|
|
||||||
Default: `1`
|
Default: `1`
|
||||||
|
|
||||||
This option can be set to disable updating Vim's |tagstack| automatically.
|
This option can be set to disable updating Vim's |tagstack| automatically.
|
||||||
|
|
||||||
|
|
||||||
g:ale_type_map *g:ale_type_map*
|
g:ale_type_map *g:ale_type_map*
|
||||||
|
@ -2885,6 +2885,7 @@ documented in additional help files.
|
||||||
erlang..................................|ale-erlang-options|
|
erlang..................................|ale-erlang-options|
|
||||||
dialyzer..............................|ale-erlang-dialyzer|
|
dialyzer..............................|ale-erlang-dialyzer|
|
||||||
elvis.................................|ale-erlang-elvis|
|
elvis.................................|ale-erlang-elvis|
|
||||||
|
erlang_ls.............................|ale-erlang-erlang_ls|
|
||||||
erlc..................................|ale-erlang-erlc|
|
erlc..................................|ale-erlang-erlc|
|
||||||
erlfmt................................|ale-erlang-erlfmt|
|
erlfmt................................|ale-erlang-erlfmt|
|
||||||
syntaxerl.............................|ale-erlang-syntaxerl|
|
syntaxerl.............................|ale-erlang-syntaxerl|
|
||||||
|
@ -3036,6 +3037,8 @@ documented in additional help files.
|
||||||
luafmt................................|ale-lua-luafmt|
|
luafmt................................|ale-lua-luafmt|
|
||||||
selene................................|ale-lua-selene|
|
selene................................|ale-lua-selene|
|
||||||
stylua................................|ale-lua-stylua|
|
stylua................................|ale-lua-stylua|
|
||||||
|
make....................................|ale-make-options|
|
||||||
|
checkmake.............................|ale-make-checkmake|
|
||||||
markdown................................|ale-markdown-options|
|
markdown................................|ale-markdown-options|
|
||||||
cspell................................|ale-markdown-cspell|
|
cspell................................|ale-markdown-cspell|
|
||||||
dprint................................|ale-markdown-dprint|
|
dprint................................|ale-markdown-dprint|
|
||||||
|
@ -3159,6 +3162,7 @@ documented in additional help files.
|
||||||
pyre..................................|ale-python-pyre|
|
pyre..................................|ale-python-pyre|
|
||||||
pyright...............................|ale-python-pyright|
|
pyright...............................|ale-python-pyright|
|
||||||
reorder-python-imports................|ale-python-reorder_python_imports|
|
reorder-python-imports................|ale-python-reorder_python_imports|
|
||||||
|
ruff..................................|ale-python-ruff|
|
||||||
unimport..............................|ale-python-unimport|
|
unimport..............................|ale-python-unimport|
|
||||||
vulture...............................|ale-python-vulture|
|
vulture...............................|ale-python-vulture|
|
||||||
yapf..................................|ale-python-yapf|
|
yapf..................................|ale-python-yapf|
|
||||||
|
@ -4558,7 +4562,7 @@ ALEFixPost *ALEFixPost-autocmd*
|
||||||
These |User| autocommands are triggered before and after every lint or fix
|
These |User| autocommands are triggered before and after every lint or fix
|
||||||
cycle. They can be used to update statuslines, send notifications, etc.
|
cycle. They can be used to update statuslines, send notifications, etc.
|
||||||
The autocmd commands are run with |:silent|, so |:unsilent| is required for
|
The autocmd commands are run with |:silent|, so |:unsilent| is required for
|
||||||
echoing messges.
|
echoing messages.
|
||||||
|
|
||||||
For example to change the color of the statusline while the linter is
|
For example to change the color of the statusline while the linter is
|
||||||
running:
|
running:
|
||||||
|
@ -4591,7 +4595,7 @@ ALEJobStarted *ALEJobStarted-autocmd*
|
||||||
ALELSPStarted *ALELSPStarted-autocmd*
|
ALELSPStarted *ALELSPStarted-autocmd*
|
||||||
*ALELSPStarted*
|
*ALELSPStarted*
|
||||||
|
|
||||||
This |User| autocommand is trigged immediately after an LSP connection is
|
This |User| autocommand is triggered immediately after an LSP connection is
|
||||||
successfully initialized. This provides a way to perform any additional
|
successfully initialized. This provides a way to perform any additional
|
||||||
initialization work, such as setting up buffer-level mappings.
|
initialization work, such as setting up buffer-level mappings.
|
||||||
|
|
||||||
|
|
|
@ -187,6 +187,7 @@ formatting.
|
||||||
* [SyntaxErl](https://github.com/ten0s/syntaxerl)
|
* [SyntaxErl](https://github.com/ten0s/syntaxerl)
|
||||||
* [dialyzer](http://erlang.org/doc/man/dialyzer.html) :floppy_disk:
|
* [dialyzer](http://erlang.org/doc/man/dialyzer.html) :floppy_disk:
|
||||||
* [elvis](https://github.com/inaka/elvis) :floppy_disk:
|
* [elvis](https://github.com/inaka/elvis) :floppy_disk:
|
||||||
|
* [erlang_ls](https://github.com/erlang-ls/erlang_ls)
|
||||||
* [erlc](http://erlang.org/doc/man/erlc.html)
|
* [erlc](http://erlang.org/doc/man/erlc.html)
|
||||||
* [erlfmt](https://github.com/WhatsApp/erlfmt)
|
* [erlfmt](https://github.com/WhatsApp/erlfmt)
|
||||||
* Fish
|
* Fish
|
||||||
|
@ -491,6 +492,7 @@ formatting.
|
||||||
* [pyre](https://github.com/facebook/pyre-check) :warning:
|
* [pyre](https://github.com/facebook/pyre-check) :warning:
|
||||||
* [pyright](https://github.com/microsoft/pyright)
|
* [pyright](https://github.com/microsoft/pyright)
|
||||||
* [reorder-python-imports](https://github.com/asottile/reorder_python_imports)
|
* [reorder-python-imports](https://github.com/asottile/reorder_python_imports)
|
||||||
|
* [ruff](https://github.com/charliermarsh/ruff)
|
||||||
* [unimport](https://github.com/hakancelik96/unimport)
|
* [unimport](https://github.com/hakancelik96/unimport)
|
||||||
* [vulture](https://github.com/jendrikseipp/vulture) :warning: :floppy_disk:
|
* [vulture](https://github.com/jendrikseipp/vulture) :warning: :floppy_disk:
|
||||||
* [yapf](https://github.com/google/yapf)
|
* [yapf](https://github.com/google/yapf)
|
||||||
|
@ -504,6 +506,7 @@ formatting.
|
||||||
* Racket
|
* Racket
|
||||||
* [racket-langserver](https://github.com/jeapostrophe/racket-langserver/tree/master)
|
* [racket-langserver](https://github.com/jeapostrophe/racket-langserver/tree/master)
|
||||||
* [raco](https://docs.racket-lang.org/raco/)
|
* [raco](https://docs.racket-lang.org/raco/)
|
||||||
|
* [raco_fmt](https://docs.racket-lang.org/fmt/)
|
||||||
* Re:VIEW
|
* Re:VIEW
|
||||||
* [redpen](http://redpen.cc/)
|
* [redpen](http://redpen.cc/)
|
||||||
* ReasonML
|
* ReasonML
|
||||||
|
|
|
@ -68,6 +68,8 @@ endif
|
||||||
" specification.
|
" specification.
|
||||||
" https://github.com/nvim-treesitter/nvim-treesitter/blob/master/plugin/nvim-treesitter.vim
|
" https://github.com/nvim-treesitter/nvim-treesitter/blob/master/plugin/nvim-treesitter.vim
|
||||||
if exists('g:loaded_nvim_treesitter')
|
if exists('g:loaded_nvim_treesitter')
|
||||||
|
" deprecated TS* highlight groups
|
||||||
|
" see https://github.com/nvim-treesitter/nvim-treesitter/pull/3656
|
||||||
" # Misc
|
" # Misc
|
||||||
hi! link TSPunctSpecial Special
|
hi! link TSPunctSpecial Special
|
||||||
" # Constants
|
" # Constants
|
||||||
|
@ -97,6 +99,53 @@ if exists('g:loaded_nvim_treesitter')
|
||||||
" HTML and JSX tag attributes. By default, this group is linked to TSProperty,
|
" HTML and JSX tag attributes. By default, this group is linked to TSProperty,
|
||||||
" which in turn links to Identifer (white).
|
" which in turn links to Identifer (white).
|
||||||
hi! link TSTagAttribute DraculaGreenItalic
|
hi! link TSTagAttribute DraculaGreenItalic
|
||||||
|
|
||||||
|
if has('nvim-0.8')
|
||||||
|
" # Misc
|
||||||
|
hi! link @punctuation.delimiter Delimiter
|
||||||
|
hi! link @punctuation.bracket Normal
|
||||||
|
hi! link @punctuation.special Special
|
||||||
|
" # Constants
|
||||||
|
hi! link @constant Constant
|
||||||
|
hi! link @constant.builtin Constant
|
||||||
|
hi! link @constant.macro Macro
|
||||||
|
hi! link @string.regex String
|
||||||
|
hi! link @string.escape Character
|
||||||
|
hi! link @symbol DraculaPurple
|
||||||
|
hi! link @annotation DraculaYellow
|
||||||
|
hi! link @attribute DraculaGreenItalic
|
||||||
|
hi! link @namespace Structure
|
||||||
|
" # Functions
|
||||||
|
hi! link @function.builtin DraculaCyan
|
||||||
|
hi! link @funcion.macro Function
|
||||||
|
hi! link @parameter DraculaOrangeItalic
|
||||||
|
hi! link @parameter.reference DraculaOrange
|
||||||
|
hi! link @field DraculaOrange
|
||||||
|
hi! link @property Normal
|
||||||
|
hi! link @constructor DraculaCyan
|
||||||
|
" # Keywords
|
||||||
|
hi! link @label DraculaPurpleItalic
|
||||||
|
hi! link @keyword.function DraculaPink
|
||||||
|
hi! link @keyword.operator Operator
|
||||||
|
hi! link @exception DraculaPurple
|
||||||
|
" # Variable
|
||||||
|
hi! link @variable Normal
|
||||||
|
hi! link @variable.builtin DraculaPurpleItalic
|
||||||
|
" # Text
|
||||||
|
hi! link @text Normal
|
||||||
|
hi! link @text.strong DraculaFgBold
|
||||||
|
hi! link @text.emphasis DraculaFg
|
||||||
|
hi! link @text.underline Underlined
|
||||||
|
hi! link @text.title DraculaYellow
|
||||||
|
hi! link @text.literal DraculaYellow
|
||||||
|
hi! link @text.uri DraculaYellow
|
||||||
|
" # Tags
|
||||||
|
hi! link @tag DraculaCyan
|
||||||
|
hi! link @tag.delimiter Normal
|
||||||
|
" HTML and JSX tag attributes. By default, this group is linked to TSProperty,
|
||||||
|
" which in turn links to Identifer (white).
|
||||||
|
hi! link @tag.attribute DraculaGreenItalic
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
" }}}
|
" }}}
|
||||||
" nvim-cmp: {{{
|
" nvim-cmp: {{{
|
||||||
|
|
|
@ -97,6 +97,10 @@ if !exists('g:dracula_colorterm')
|
||||||
let g:dracula_colorterm = 1
|
let g:dracula_colorterm = 1
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
if !exists('g:dracula_high_contrast_diff')
|
||||||
|
let g:dracula_high_contrast_diff = 0
|
||||||
|
endif
|
||||||
|
|
||||||
"}}}2
|
"}}}2
|
||||||
" Script Helpers: {{{2
|
" Script Helpers: {{{2
|
||||||
|
|
||||||
|
@ -197,7 +201,12 @@ call s:h('DraculaBoundary', s:comment, s:bgdark)
|
||||||
call s:h('DraculaWinSeparator', s:comment, s:bgdark)
|
call s:h('DraculaWinSeparator', s:comment, s:bgdark)
|
||||||
call s:h('DraculaLink', s:cyan, s:none, [s:attrs.underline])
|
call s:h('DraculaLink', s:cyan, s:none, [s:attrs.underline])
|
||||||
|
|
||||||
call s:h('DraculaDiffChange', s:orange, s:none)
|
if g:dracula_high_contrast_diff
|
||||||
|
call s:h('DraculaDiffChange', s:yellow, s:purple)
|
||||||
|
else
|
||||||
|
call s:h('DraculaDiffChange', s:orange, s:none)
|
||||||
|
endif
|
||||||
|
|
||||||
call s:h('DraculaDiffText', s:bg, s:orange)
|
call s:h('DraculaDiffText', s:bg, s:orange)
|
||||||
call s:h('DraculaDiffDelete', s:red, s:bgdark)
|
call s:h('DraculaDiffDelete', s:red, s:bgdark)
|
||||||
|
|
||||||
|
|
|
@ -93,6 +93,11 @@ terminal emulators, set to 1 to allow underline/undercurl highlights without
|
||||||
changing the foreground color. >
|
changing the foreground color. >
|
||||||
let g:dracula_full_special_attrs_support = 1
|
let g:dracula_full_special_attrs_support = 1
|
||||||
|
|
||||||
|
* *g:dracula_high_contrast_diff*
|
||||||
|
Use high-contrast color when in diff mode. By default it is disabled, set to
|
||||||
|
1 to enable it.
|
||||||
|
let g:dracula_high_contrast_diff = 1
|
||||||
|
|
||||||
* *g:dracula_inverse*
|
* *g:dracula_inverse*
|
||||||
Include inverse attributes in highlighting >
|
Include inverse attributes in highlighting >
|
||||||
let g:dracula_inverse = 1
|
let g:dracula_inverse = 1
|
||||||
|
|
|
@ -60,23 +60,26 @@ lockvar s:SECTCRE s:OPTCRE s:MAX_SECTION_NAME s:MAX_PROPERTY_NAME s:MAX_PROPERTY
|
||||||
" Read \p config_filename and return the options applicable to
|
" Read \p config_filename and return the options applicable to
|
||||||
" \p target_filename. This is the main entry point in this file.
|
" \p target_filename. This is the main entry point in this file.
|
||||||
function! editorconfig_core#ini#read_ini_file(config_filename, target_filename)
|
function! editorconfig_core#ini#read_ini_file(config_filename, target_filename)
|
||||||
let l:oldenc = &encoding
|
|
||||||
|
|
||||||
if !filereadable(a:config_filename)
|
if !filereadable(a:config_filename)
|
||||||
return {}
|
return {}
|
||||||
endif
|
endif
|
||||||
|
|
||||||
try " so &encoding will always be reset
|
try
|
||||||
let &encoding = 'utf-8' " so readfile() will strip BOM
|
|
||||||
let l:lines = readfile(a:config_filename)
|
let l:lines = readfile(a:config_filename)
|
||||||
|
if &encoding !=? 'utf-8'
|
||||||
|
" strip BOM
|
||||||
|
if len(l:lines) > 0 && l:lines[0][:2] ==# "\xEF\xBB\xBF"
|
||||||
|
let l:lines[0] = l:lines[0][3:]
|
||||||
|
endif
|
||||||
|
" convert from UTF-8 to 'encoding'
|
||||||
|
call map(l:lines, 'iconv(v:val, "utf-8", &encoding)')
|
||||||
|
endif
|
||||||
let result = s:parse(a:config_filename, a:target_filename, l:lines)
|
let result = s:parse(a:config_filename, a:target_filename, l:lines)
|
||||||
catch
|
catch
|
||||||
let &encoding = l:oldenc
|
|
||||||
" rethrow, but with a prefix since throw 'Vim...' fails.
|
" rethrow, but with a prefix since throw 'Vim...' fails.
|
||||||
throw 'Could not read editorconfig file at ' . v:throwpoint . ': ' . string(v:exception)
|
throw 'Could not read editorconfig file at ' . v:throwpoint . ': ' . string(v:exception)
|
||||||
endtry
|
endtry
|
||||||
|
|
||||||
let &encoding = l:oldenc
|
|
||||||
return result
|
return result
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
|
|
|
@ -124,11 +124,11 @@ is restarted.
|
||||||
|
|
||||||
*g:EditorConfig_max_line_indicator*
|
*g:EditorConfig_max_line_indicator*
|
||||||
The way to show the line where the maximal length is reached. Accepted values
|
The way to show the line where the maximal length is reached. Accepted values
|
||||||
are "line", "fill", otherwise there will be no max line indicator.
|
are "line", "fill" and "exceeding", otherwise there will be no max line
|
||||||
|
indicator.
|
||||||
|
|
||||||
"line": the right column of the max line length column will be
|
"line": the right column of the max line length column will be
|
||||||
highlighted, made possible by setting 'colorcolumn' to
|
highlighted, made possible by adding "+1" to 'colorcolumn'.
|
||||||
"max_line_length + 1".
|
|
||||||
|
|
||||||
"fill": all the columns to the right of the max line length column
|
"fill": all the columns to the right of the max line length column
|
||||||
will be highlighted, made possible by setting 'colorcolumn'
|
will be highlighted, made possible by setting 'colorcolumn'
|
||||||
|
@ -161,6 +161,23 @@ max_line_length is set:
|
||||||
<
|
<
|
||||||
This option defaults to 0.
|
This option defaults to 0.
|
||||||
|
|
||||||
|
*g:EditorConfig_softtabstop_space*
|
||||||
|
When spaces are used for indent, Vim's 'softtabstop' feature will make the
|
||||||
|
backspace key delete one indent level. If you turn off that feature (by
|
||||||
|
setting the option to 0), only a single space will be deleted.
|
||||||
|
This option defaults to 1, which enables 'softtabstop' and uses the
|
||||||
|
'shiftwidth' value for it. You can also set this to -1 to automatically follow
|
||||||
|
the current 'shiftwidth' value (since Vim 7.3.693). Or set this to [] if
|
||||||
|
EditorConfig should not touch 'softtabstop' at all.
|
||||||
|
|
||||||
|
*g:EditorConfig_softtabstop_tab*
|
||||||
|
When tabs are used for indent, Vim's 'softtabstop' feature only applies to
|
||||||
|
backspacing over existing runs of spaces.
|
||||||
|
This option defaults to 1, so backspace will delete one indent level worth of
|
||||||
|
spaces; -1 does the same but automatically follows the current 'shiftwidth'
|
||||||
|
value. Set this to 0 to have backspace delete just a single space character.
|
||||||
|
Or set this to [] if EditorConfig should not touch 'softtabstop' at all.
|
||||||
|
|
||||||
*g:EditorConfig_verbose*
|
*g:EditorConfig_verbose*
|
||||||
Set this to 1 if you want debug info printed:
|
Set this to 1 if you want debug info printed:
|
||||||
>
|
>
|
||||||
|
|
|
@ -60,6 +60,14 @@ if !exists('g:EditorConfig_disable_rules')
|
||||||
let g:EditorConfig_disable_rules = []
|
let g:EditorConfig_disable_rules = []
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
if !exists('g:EditorConfig_softtabstop_space')
|
||||||
|
let g:EditorConfig_softtabstop_space = 1
|
||||||
|
endif
|
||||||
|
|
||||||
|
if !exists('g:EditorConfig_softtabstop_tab')
|
||||||
|
let g:EditorConfig_softtabstop_tab = 1
|
||||||
|
endif
|
||||||
|
|
||||||
" Copy some of the globals into script variables --- changes to these
|
" Copy some of the globals into script variables --- changes to these
|
||||||
" globals won't affect the plugin until the plugin is reloaded.
|
" globals won't affect the plugin until the plugin is reloaded.
|
||||||
if exists('g:EditorConfig_core_mode') && !empty(g:EditorConfig_core_mode)
|
if exists('g:EditorConfig_core_mode') && !empty(g:EditorConfig_core_mode)
|
||||||
|
@ -394,12 +402,18 @@ function! s:ApplyConfig(config) abort " Set the buffer options {{{1
|
||||||
" value
|
" value
|
||||||
if a:config["indent_size"] == "tab"
|
if a:config["indent_size"] == "tab"
|
||||||
let &l:shiftwidth = &l:tabstop
|
let &l:shiftwidth = &l:tabstop
|
||||||
let &l:softtabstop = &l:shiftwidth
|
if type(g:EditorConfig_softtabstop_tab) != type([])
|
||||||
|
let &l:softtabstop = g:EditorConfig_softtabstop_tab > 0 ?
|
||||||
|
\ &l:shiftwidth : g:EditorConfig_softtabstop_tab
|
||||||
|
endif
|
||||||
else
|
else
|
||||||
let l:indent_size = str2nr(a:config["indent_size"])
|
let l:indent_size = str2nr(a:config["indent_size"])
|
||||||
if l:indent_size > 0
|
if l:indent_size > 0
|
||||||
let &l:shiftwidth = l:indent_size
|
let &l:shiftwidth = l:indent_size
|
||||||
let &l:softtabstop = &l:shiftwidth
|
if type(g:EditorConfig_softtabstop_space) != type([])
|
||||||
|
let &l:softtabstop = g:EditorConfig_softtabstop_space > 0 ?
|
||||||
|
\ &l:shiftwidth : g:EditorConfig_softtabstop_space
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@ -473,7 +487,7 @@ function! s:ApplyConfig(config) abort " Set the buffer options {{{1
|
||||||
if exists('+colorcolumn')
|
if exists('+colorcolumn')
|
||||||
if l:max_line_length > 0
|
if l:max_line_length > 0
|
||||||
if g:EditorConfig_max_line_indicator == 'line'
|
if g:EditorConfig_max_line_indicator == 'line'
|
||||||
let &l:colorcolumn = l:max_line_length + 1
|
setlocal colorcolumn+=+1
|
||||||
elseif g:EditorConfig_max_line_indicator == 'fill' &&
|
elseif g:EditorConfig_max_line_indicator == 'fill' &&
|
||||||
\ l:max_line_length < &l:columns
|
\ l:max_line_length < &l:columns
|
||||||
" Fill only if the columns of screen is large enough
|
" Fill only if the columns of screen is large enough
|
||||||
|
|
|
@ -160,3 +160,10 @@ if extcore
|
||||||
)
|
)
|
||||||
test_instance vim
|
test_instance vim
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Test the vim core with latin1 encoding
|
||||||
|
(lambda do
|
||||||
|
puts 'Testing with express vim_core mode'
|
||||||
|
vim = create_vim("set encoding=latin1")
|
||||||
|
test_instance vim
|
||||||
|
end).call
|
||||||
|
|
|
@ -1940,7 +1940,7 @@ syn keyword ngxDirectiveThirdParty srcache_default_expire
|
||||||
syn keyword ngxDirectiveThirdParty srcache_max_expire
|
syn keyword ngxDirectiveThirdParty srcache_max_expire
|
||||||
|
|
||||||
" SSSD Info Module <https://github.com/veruu/ngx_sssd_info>
|
" SSSD Info Module <https://github.com/veruu/ngx_sssd_info>
|
||||||
" Retrieves additional attributes from SSSD for current authentizated user
|
" Retrives additional attributes from SSSD for current authentizated user
|
||||||
syn keyword ngxDirectiveThirdParty sssd_info
|
syn keyword ngxDirectiveThirdParty sssd_info
|
||||||
syn keyword ngxDirectiveThirdParty sssd_info_output_to
|
syn keyword ngxDirectiveThirdParty sssd_info_output_to
|
||||||
syn keyword ngxDirectiveThirdParty sssd_info_groups
|
syn keyword ngxDirectiveThirdParty sssd_info_groups
|
||||||
|
|
|
@ -18,7 +18,7 @@ function! s:strip_white_space(l,r,line) abort
|
||||||
if l[-1:] ==# ' ' && stridx(a:line,l) == -1 && stridx(a:line,l[0:-2]) == 0
|
if l[-1:] ==# ' ' && stridx(a:line,l) == -1 && stridx(a:line,l[0:-2]) == 0
|
||||||
let l = l[:-2]
|
let l = l[:-2]
|
||||||
endif
|
endif
|
||||||
if r[0] ==# ' ' && a:line[-strlen(r):] != r && a:line[1-strlen(r):] == r[1:]
|
if r[0] ==# ' ' && (' ' . a:line)[-strlen(r)-1:] != r && a:line[-strlen(r):] == r[1:]
|
||||||
let r = r[1:]
|
let r = r[1:]
|
||||||
endif
|
endif
|
||||||
return [l, r]
|
return [l, r]
|
||||||
|
|
|
@ -470,7 +470,7 @@ function! s:GitCmd() abort
|
||||||
let string = strpart(string, len(arg))
|
let string = strpart(string, len(arg))
|
||||||
let arg = substitute(arg, '^\s\+', '', '')
|
let arg = substitute(arg, '^\s\+', '', '')
|
||||||
let arg = substitute(arg,
|
let arg = substitute(arg,
|
||||||
\ '\(' . dquote . '''\%(''''\|[^'']\)*''\|\\[' . s:fnameescape . ']\|^\\[>+-]\|!\d*\)\|' . s:expand,
|
\ '\(' . dquote . '''\%(''''\|[^'']\)*''\|\\[' . s:fnameescape . ']\|^\\[>+-]\|' . s:commit_expand . '\)\|' . s:expand,
|
||||||
\ '\=submatch(0)[0] ==# "\\" ? submatch(0)[1] : submatch(0)[1:-2]', 'g')
|
\ '\=submatch(0)[0] ==# "\\" ? submatch(0)[1] : submatch(0)[1:-2]', 'g')
|
||||||
call add(list, arg)
|
call add(list, arg)
|
||||||
endwhile
|
endwhile
|
||||||
|
@ -1958,6 +1958,7 @@ endfunction
|
||||||
let s:var = '\%(<\%(cword\|cWORD\|cexpr\|cfile\|sfile\|slnum\|afile\|abuf\|amatch' . (has('clientserver') ? '\|client' : '') . '\)>\|%\|#<\=\d\+\|##\=\)'
|
let s:var = '\%(<\%(cword\|cWORD\|cexpr\|cfile\|sfile\|slnum\|afile\|abuf\|amatch' . (has('clientserver') ? '\|client' : '') . '\)>\|%\|#<\=\d\+\|##\=\)'
|
||||||
let s:flag = '\%(:[p8~.htre]\|:g\=s\(.\).\{-\}\1.\{-\}\1\)'
|
let s:flag = '\%(:[p8~.htre]\|:g\=s\(.\).\{-\}\1.\{-\}\1\)'
|
||||||
let s:expand = '\%(\(' . s:var . '\)\(' . s:flag . '*\)\(:S\)\=\)'
|
let s:expand = '\%(\(' . s:var . '\)\(' . s:flag . '*\)\(:S\)\=\)'
|
||||||
|
let s:commit_expand = '!\\\@!#\=\d*\|!%'
|
||||||
|
|
||||||
function! s:BufName(var) abort
|
function! s:BufName(var) abort
|
||||||
if a:var ==# '%'
|
if a:var ==# '%'
|
||||||
|
@ -1978,8 +1979,8 @@ function! s:ExpandVar(other, var, flags, esc, ...) abort
|
||||||
return substitute(a:other[1:-2], "''", "'", "g")
|
return substitute(a:other[1:-2], "''", "'", "g")
|
||||||
elseif a:other =~# '^"'
|
elseif a:other =~# '^"'
|
||||||
return substitute(a:other[1:-2], '""', '"', "g")
|
return substitute(a:other[1:-2], '""', '"', "g")
|
||||||
elseif a:other =~# '^!'
|
elseif a:other =~# '^[!`]'
|
||||||
let buffer = s:BufName(len(a:other) > 1 ? '#'. a:other[1:-1] : '%')
|
let buffer = s:BufName(a:other =~# '[0-9#]' ? '#' . matchstr(a:other, '\d\+') : '%')
|
||||||
let owner = s:Owner(buffer)
|
let owner = s:Owner(buffer)
|
||||||
return len(owner) ? owner : '@'
|
return len(owner) ? owner : '@'
|
||||||
elseif a:other =~# '^\~[~.]$'
|
elseif a:other =~# '^\~[~.]$'
|
||||||
|
@ -2033,7 +2034,11 @@ function! s:ExpandVar(other, var, flags, esc, ...) abort
|
||||||
return join(files, "\1")
|
return join(files, "\1")
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
let s:fnameescape = " \t\n*?[{`$\\%#'\"|!<"
|
if has('win32')
|
||||||
|
let s:fnameescape = " \t\n*?`%#'\"|!<"
|
||||||
|
else
|
||||||
|
let s:fnameescape = " \t\n*?[{`$\\%#'\"|!<"
|
||||||
|
endif
|
||||||
|
|
||||||
function! s:Expand(rev, ...) abort
|
function! s:Expand(rev, ...) abort
|
||||||
if a:rev =~# '^>' && s:Slash(@%) =~# '^fugitive://' && empty(s:DirCommitFile(@%)[1])
|
if a:rev =~# '^>' && s:Slash(@%) =~# '^fugitive://' && empty(s:DirCommitFile(@%)[1])
|
||||||
|
@ -2060,13 +2065,13 @@ function! s:Expand(rev, ...) abort
|
||||||
let file = a:rev
|
let file = a:rev
|
||||||
endif
|
endif
|
||||||
return substitute(file,
|
return substitute(file,
|
||||||
\ '\(\\[' . s:fnameescape . ']\|^\\[>+-]\|!\d*\|^\~[~.]\)\|' . s:expand,
|
\ '\(\\[' . s:fnameescape . ']\|^\\[>+-]\|' . s:commit_expand . '\|^\~[~.]\)\|' . s:expand,
|
||||||
\ '\=tr(s:ExpandVar(submatch(1),submatch(2),submatch(3),"", a:0 ? a:1 : getcwd()), "\1", " ")', 'g')
|
\ '\=tr(s:ExpandVar(submatch(1),submatch(2),submatch(3),"", a:0 ? a:1 : getcwd()), "\1", " ")', 'g')
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! fugitive#Expand(object) abort
|
function! fugitive#Expand(object) abort
|
||||||
return substitute(a:object,
|
return substitute(a:object,
|
||||||
\ '\(\\[' . s:fnameescape . ']\|^\\[>+-]\|!\d*\|^\~[~.]\)\|' . s:expand,
|
\ '\(\\[' . s:fnameescape . ']\|^\\[>+-]\|' . s:commit_expand . '\|^\~[~.]\)\|' . s:expand,
|
||||||
\ '\=tr(s:ExpandVar(submatch(1),submatch(2),submatch(3),submatch(5)), "\1", " ")', 'g')
|
\ '\=tr(s:ExpandVar(submatch(1),submatch(2),submatch(3),submatch(5)), "\1", " ")', 'g')
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
|
@ -2087,7 +2092,7 @@ function! s:SplitExpandChain(string, ...) abort
|
||||||
\ '\=s:DotRelative(s:Slash(simplify(getcwd() . "/" . submatch(0))), cwd)', '')
|
\ '\=s:DotRelative(s:Slash(simplify(getcwd() . "/" . submatch(0))), cwd)', '')
|
||||||
endif
|
endif
|
||||||
let arg = substitute(arg,
|
let arg = substitute(arg,
|
||||||
\ '\(' . dquote . '''\%(''''\|[^'']\)*''\|\\[' . s:fnameescape . ']\|^\\[>+-]\|!\d*\|^\~[~]\|^\~\w*\|\$\w\+\)\|' . s:expand,
|
\ '\(' . dquote . '''\%(''''\|[^'']\)*''\|\\[' . s:fnameescape . ']\|^\\[>+-]\|' . s:commit_expand . '\|^\~[~]\|^\~\w*\|\$\w\+\)\|' . s:expand,
|
||||||
\ '\=s:ExpandVar(submatch(1),submatch(2),submatch(3),submatch(5), cwd)', 'g')
|
\ '\=s:ExpandVar(submatch(1),submatch(2),submatch(3),submatch(5), cwd)', 'g')
|
||||||
call extend(list, split(arg, "\1", 1))
|
call extend(list, split(arg, "\1", 1))
|
||||||
if arg ==# '--'
|
if arg ==# '--'
|
||||||
|
|
|
@ -70,12 +70,10 @@ that are part of Git repositories).
|
||||||
O jump to patch or blob in new tab
|
O jump to patch or blob in new tab
|
||||||
p jump to patch or blob in preview window
|
p jump to patch or blob in preview window
|
||||||
- reblame at commit
|
- reblame at commit
|
||||||
~ reblame at commit~[count]
|
|
||||||
P reblame at commit^[count]
|
|
||||||
|
|
||||||
*g:fugitive_dynamic_colors*
|
*g:fugitive_dynamic_colors*
|
||||||
In the GUI or a 256 color terminal, commit hashes will
|
In the GUI or a 256 color terminal, commit hashes will
|
||||||
highlighted in different colors. To disable this:
|
be highlighted in different colors. To disable this:
|
||||||
>
|
>
|
||||||
let g:fugitive_dynamic_colors = 0
|
let g:fugitive_dynamic_colors = 0
|
||||||
<
|
<
|
||||||
|
|
|
@ -140,7 +140,7 @@ function! FugitiveExecute(args, ...) abort
|
||||||
return call('fugitive#Execute', [a:args] + a:000)
|
return call('fugitive#Execute', [a:args] + a:000)
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
" FugitiveShellCommand() turns an array of arugments into a Git command string
|
" FugitiveShellCommand() turns an array of arguments into a Git command string
|
||||||
" which can be executed with functions like system() and commands like :!.
|
" which can be executed with functions like system() and commands like :!.
|
||||||
" Integer arguments will be treated as buffer numbers, and the appropriate
|
" Integer arguments will be treated as buffer numbers, and the appropriate
|
||||||
" relative path inserted in their place.
|
" relative path inserted in their place.
|
||||||
|
|
|
@ -501,18 +501,15 @@ endfunction
|
||||||
" Floating window: does not care where cursor is.
|
" Floating window: does not care where cursor is.
|
||||||
" Preview window: assumes cursor is in preview window.
|
" Preview window: assumes cursor is in preview window.
|
||||||
function! s:populate_hunk_preview_window(header, body)
|
function! s:populate_hunk_preview_window(header, body)
|
||||||
let body_length = len(a:body)
|
|
||||||
|
|
||||||
if g:gitgutter_preview_win_floating
|
if g:gitgutter_preview_win_floating
|
||||||
if exists('*nvim_open_win')
|
if exists('*nvim_open_win')
|
||||||
let height = min([body_length, g:gitgutter_floating_window_options.height])
|
|
||||||
|
|
||||||
" Assumes cursor is not in previewing window.
|
" Assumes cursor is not in previewing window.
|
||||||
call nvim_buf_set_var(winbufnr(s:winid), 'hunk_header', a:header)
|
call nvim_buf_set_var(winbufnr(s:winid), 'hunk_header', a:header)
|
||||||
|
|
||||||
let [_scrolloff, &scrolloff] = [&scrolloff, 0]
|
let [_scrolloff, &scrolloff] = [&scrolloff, 0]
|
||||||
|
|
||||||
let width = max(map(copy(a:body), 'strdisplaywidth(v:val)'))
|
let [width, height] = s:screen_lines(a:body)
|
||||||
|
let height = min([height, g:gitgutter_floating_window_options.height])
|
||||||
call nvim_win_set_width(s:winid, width)
|
call nvim_win_set_width(s:winid, width)
|
||||||
call nvim_win_set_height(s:winid, height)
|
call nvim_win_set_height(s:winid, height)
|
||||||
|
|
||||||
|
@ -548,9 +545,7 @@ function! s:populate_hunk_preview_window(header, body)
|
||||||
call setline(1, a:body)
|
call setline(1, a:body)
|
||||||
setlocal nomodified
|
setlocal nomodified
|
||||||
|
|
||||||
normal! G$
|
let [_, height] = s:screen_lines(a:body)
|
||||||
let hunk_height = max([body_length, winline()])
|
|
||||||
let height = min([hunk_height, &previewheight])
|
|
||||||
execute 'resize' height
|
execute 'resize' height
|
||||||
1
|
1
|
||||||
|
|
||||||
|
@ -565,6 +560,27 @@ function! s:populate_hunk_preview_window(header, body)
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
|
|
||||||
|
" Calculates the number of columns and the number of screen lines the given
|
||||||
|
" array of lines will take up, taking account of wrapping.
|
||||||
|
function! s:screen_lines(lines)
|
||||||
|
let [_virtualedit, &virtualedit]=[&virtualedit, 'all']
|
||||||
|
let cursor = getcurpos()
|
||||||
|
normal! g$
|
||||||
|
let available_width = virtcol('.')
|
||||||
|
call setpos('.', cursor)
|
||||||
|
let &virtualedit=_virtualedit
|
||||||
|
let width = min([max(map(copy(a:lines), 'strdisplaywidth(v:val)')), available_width])
|
||||||
|
|
||||||
|
if exists('*reduce')
|
||||||
|
let height = reduce(a:lines, { acc, val -> acc + strdisplaywidth(val) / width + (strdisplaywidth(val) % width == 0 ? 0 : 1) }, 0)
|
||||||
|
else
|
||||||
|
let height = eval(join(map(copy(a:lines), 'strdisplaywidth(v:val) / width + (strdisplaywidth(v:val) % width == 0 ? 0 : 1)'), '+'))
|
||||||
|
endif
|
||||||
|
|
||||||
|
return [width, height]
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
|
||||||
function! s:enable_staging_from_hunk_preview_window()
|
function! s:enable_staging_from_hunk_preview_window()
|
||||||
augroup gitgutter_hunk_preview
|
augroup gitgutter_hunk_preview
|
||||||
autocmd!
|
autocmd!
|
||||||
|
|
|
@ -546,7 +546,7 @@ function! s:TableFormat()
|
||||||
let l:flags = (&gdefault ? '' : 'g')
|
let l:flags = (&gdefault ? '' : 'g')
|
||||||
execute 's/\(:\@<!-:\@!\|[^|:-]\)//e' . l:flags
|
execute 's/\(:\@<!-:\@!\|[^|:-]\)//e' . l:flags
|
||||||
execute 's/--/-/e' . l:flags
|
execute 's/--/-/e' . l:flags
|
||||||
Tabularize /|
|
Tabularize /\(\\\)\@<!|
|
||||||
" Move colons for alignment to left or right side of the cell.
|
" Move colons for alignment to left or right side of the cell.
|
||||||
execute 's/:\( \+\)|/\1:|/e' . l:flags
|
execute 's/:\( \+\)|/\1:|/e' . l:flags
|
||||||
execute 's/|\( \+\):/|:\1/e' . l:flags
|
execute 's/|\( \+\):/|:\1/e' . l:flags
|
||||||
|
|
|
@ -2,7 +2,7 @@ GEM
|
||||||
remote: https://rubygems.org/
|
remote: https://rubygems.org/
|
||||||
specs:
|
specs:
|
||||||
diff-lcs (1.2.5)
|
diff-lcs (1.2.5)
|
||||||
rake (12.3.3)
|
rake (10.4.2)
|
||||||
rspec (3.4.0)
|
rspec (3.4.0)
|
||||||
rspec-core (~> 3.4.0)
|
rspec-core (~> 3.4.0)
|
||||||
rspec-expectations (~> 3.4.0)
|
rspec-expectations (~> 3.4.0)
|
||||||
|
|
|
@ -70,6 +70,13 @@ support:
|
||||||
git clone https://tpope.io/vim/surround.git
|
git clone https://tpope.io/vim/surround.git
|
||||||
vim -u NONE -c "helptags surround/doc" -c q
|
vim -u NONE -c "helptags surround/doc" -c q
|
||||||
|
|
||||||
|
## FAQ
|
||||||
|
|
||||||
|
> How do I surround without adding a space?
|
||||||
|
|
||||||
|
Only the opening brackets—`[`, `{`, and `(`—add a space. Use a closing
|
||||||
|
bracket, or the `b` (`(`) and `B` (`{`) aliases.
|
||||||
|
|
||||||
## Contributing
|
## Contributing
|
||||||
|
|
||||||
See the contribution guidelines for
|
See the contribution guidelines for
|
||||||
|
|
Loading…
Reference in a new issue