1
0
Fork 0
mirror of synced 2024-12-21 22:41:06 -05:00

Updated plugins

This commit is contained in:
Amir 2022-10-15 21:05:32 +02:00
parent 950b470eb9
commit 23ee6b7311
30 changed files with 412 additions and 77 deletions

View file

@ -26,7 +26,7 @@ function! ale_linters#bicep#bicep#Command(buffer) abort
\ . l:nullfile \ . l:nullfile
\ . ' ' \ . ' '
\ . l:options \ . l:options
\ . ' %t' \ . ' %s'
endfunction endfunction
function! ale_linters#bicep#bicep#Handle(buffer, lines) abort function! ale_linters#bicep#bicep#Handle(buffer, lines) abort
@ -60,4 +60,5 @@ call ale#linter#Define('bicep', {
\ 'command': function('ale_linters#bicep#bicep#Command'), \ 'command': function('ale_linters#bicep#bicep#Command'),
\ 'callback': 'ale_linters#bicep#bicep#Handle', \ 'callback': 'ale_linters#bicep#bicep#Handle',
\ 'output_stream': 'both', \ 'output_stream': 'both',
\ 'lint_file': 1,
\}) \})

View file

@ -3,6 +3,8 @@
call ale#Set('c_cc_executable', '<auto>') call ale#Set('c_cc_executable', '<auto>')
call ale#Set('c_cc_options', '-std=c11 -Wall') call ale#Set('c_cc_options', '-std=c11 -Wall')
call ale#Set('c_cc_use_header_lang_flag', -1)
call ale#Set('c_cc_header_exts', ['h'])
function! ale_linters#c#cc#GetExecutable(buffer) abort function! ale_linters#c#cc#GetExecutable(buffer) abort
let l:executable = ale#Var(a:buffer, 'c_cc_executable') let l:executable = ale#Var(a:buffer, 'c_cc_executable')
@ -31,12 +33,24 @@ function! ale_linters#c#cc#GetCommand(buffer, output) abort
\ 'g') \ 'g')
endif endif
" Select the correct language flag depending on the executable, options
" and file extension
let l:executable = ale_linters#c#cc#GetExecutable(a:buffer)
let l:use_header_lang_flag = ale#Var(a:buffer, 'c_cc_use_header_lang_flag')
let l:header_exts = ale#Var(a:buffer, 'c_cc_header_exts')
let l:lang_flag = ale#c#GetLanguageFlag(
\ a:buffer,
\ l:executable,
\ l:use_header_lang_flag,
\ l:header_exts,
\ 'c')
" -iquote with the directory the file is in makes #include work for " -iquote with the directory the file is in makes #include work for
" headers in the same directory. " headers in the same directory.
" "
" `-o /dev/null` or `-o null` is needed to catch all errors, " `-o /dev/null` or `-o null` is needed to catch all errors,
" -fsyntax-only doesn't catch everything. " -fsyntax-only doesn't catch everything.
return '%e -S -x c' return '%e -S -x ' . l:lang_flag
\ . ' -o ' . g:ale#util#nul_file \ . ' -o ' . g:ale#util#nul_file
\ . ' -iquote %s:h' \ . ' -iquote %s:h'
\ . ale#Pad(l:cflags) \ . ale#Pad(l:cflags)

View file

@ -8,7 +8,8 @@ function! ale_linters#clojure#clj_kondo#GetCommand(buffer) abort
let l:command = 'clj-kondo' let l:command = 'clj-kondo'
\ . ale#Pad(l:options) \ . ale#Pad(l:options)
\ . ' --lint %t' \ . ' --lint -'
\ . ' --filename %s'
return l:command return l:command
endfunction endfunction

View file

@ -3,6 +3,8 @@
call ale#Set('cpp_cc_executable', '<auto>') call ale#Set('cpp_cc_executable', '<auto>')
call ale#Set('cpp_cc_options', '-std=c++14 -Wall') call ale#Set('cpp_cc_options', '-std=c++14 -Wall')
call ale#Set('cpp_cc_use_header_lang_flag', -1)
call ale#Set('cpp_cc_header_exts', ['h', 'hpp'])
function! ale_linters#cpp#cc#GetExecutable(buffer) abort function! ale_linters#cpp#cc#GetExecutable(buffer) abort
let l:executable = ale#Var(a:buffer, 'cpp_cc_executable') let l:executable = ale#Var(a:buffer, 'cpp_cc_executable')
@ -31,12 +33,24 @@ function! ale_linters#cpp#cc#GetCommand(buffer, output) abort
\ 'g') \ 'g')
endif endif
" Select the correct language flag depending on the executable, options
" and file extension
let l:executable = ale_linters#cpp#cc#GetExecutable(a:buffer)
let l:use_header_lang_flag = ale#Var(a:buffer, 'cpp_cc_use_header_lang_flag')
let l:header_exts = ale#Var(a:buffer, 'cpp_cc_header_exts')
let l:lang_flag = ale#c#GetLanguageFlag(
\ a:buffer,
\ l:executable,
\ l:use_header_lang_flag,
\ l:header_exts,
\ 'c++')
" -iquote with the directory the file is in makes #include work for " -iquote with the directory the file is in makes #include work for
" headers in the same directory. " headers in the same directory.
" "
" `-o /dev/null` or `-o null` is needed to catch all errors, " `-o /dev/null` or `-o null` is needed to catch all errors,
" -fsyntax-only doesn't catch everything. " -fsyntax-only doesn't catch everything.
return '%e -S -x c++' return '%e -S -x ' . l:lang_flag
\ . ' -o ' . g:ale#util#nul_file \ . ' -o ' . g:ale#util#nul_file
\ . ' -iquote %s:h' \ . ' -iquote %s:h'
\ . ale#Pad(l:cflags) \ . ale#Pad(l:cflags)

View file

@ -0,0 +1,87 @@
" Description: tfsec for Terraform files
"
" See: https://www.terraform.io/
" https://github.com/aquasecurity/tfsec
call ale#Set('terraform_tfsec_options', '')
call ale#Set('terraform_tfsec_executable', 'tfsec')
let s:separator = has('win32') ? '\' : '/'
function! ale_linters#terraform#tfsec#Handle(buffer, lines) abort
let l:output = []
let l:json = ale#util#FuzzyJSONDecode(a:lines, {})
" if there's no warning, 'result' is `null`.
if empty(get(l:json, 'results'))
return l:output
endif
for l:result in get(l:json, 'results', [])
if l:result.severity is# 'LOW'
let l:type = 'I'
elseif l:result.severity is# 'CRITICAL'
let l:type = 'E'
else
let l:type = 'W'
endif
call add(l:output, {
\ 'filename': l:result.location.filename,
\ 'lnum': l:result.location.start_line,
\ 'end_lnum': l:result.location.end_line,
\ 'text': l:result.description,
\ 'code': l:result.long_id,
\ 'type': l:type,
\})
endfor
return l:output
endfunction
" Construct command arguments to tfsec with `terraform_tfsec_options`.
function! ale_linters#terraform#tfsec#GetCommand(buffer) abort
let l:cmd = '%e'
let l:config = ale_linters#terraform#tfsec#FindConfig(a:buffer)
if !empty(l:config)
let l:cmd .= ' --config-file ' . l:config
endif
let l:opts = ale#Var(a:buffer, 'terraform_tfsec_options')
if !empty(l:opts)
let l:cmd .= ' ' . l:opts
endif
let l:cmd .= ' --format json'
return l:cmd
endfunction
" Find the nearest configuration file of tfsec.
function! ale_linters#terraform#tfsec#FindConfig(buffer) abort
let l:config_dir = ale#path#FindNearestDirectory(a:buffer, '.tfsec')
if !empty(l:config_dir)
" https://aquasecurity.github.io/tfsec/v1.28.0/guides/configuration/config/
for l:basename in ['config.yml', 'config.json']
let l:config = ale#path#Simplify(join([l:config_dir, l:basename], s:separator))
if filereadable(l:config)
return ale#Escape(l:config)
endif
endfor
endif
return ''
endfunction
call ale#linter#Define('terraform', {
\ 'name': 'tfsec',
\ 'executable': {b -> ale#Var(b, 'terraform_tfsec_executable')},
\ 'cwd': '%s:h',
\ 'command': function('ale_linters#terraform#tfsec#GetCommand'),
\ 'callback': 'ale_linters#terraform#tfsec#Handle',
\})

View file

@ -585,3 +585,38 @@ function! ale#c#IncludeOptions(include_paths) abort
return join(l:option_list) return join(l:option_list)
endfunction endfunction
" Get the language flag depending on on the executable, options and
" file extension
function! ale#c#GetLanguageFlag(
\ buffer,
\ executable,
\ use_header_lang_flag,
\ header_exts,
\ linter_lang_flag
\) abort
" Use only '-header' if the executable is 'clang' by default
if a:use_header_lang_flag == -1
let l:use_header_lang_flag = a:executable =~# 'clang'
else
let l:use_header_lang_flag = a:use_header_lang_flag
endif
" If we don't use the header language flag, return the default linter
" language flag
if !l:use_header_lang_flag
return a:linter_lang_flag
endif
" Get the buffer file extension
let l:buf_ext = expand('#' . a:buffer . ':e')
" If the buffer file is an header according to its extension, use
" the linter language flag + '-header', ex: 'c-header'
if index(a:header_exts, l:buf_ext) >= 0
return a:linter_lang_flag . '-header'
endif
" Else, use the default linter language flag
return a:linter_lang_flag
endfunction

View file

@ -47,6 +47,11 @@ let s:default_registry = {
\ 'suggested_filetypes': ['bzl'], \ 'suggested_filetypes': ['bzl'],
\ 'description': 'Format BUILD and .bzl files with buildifier.', \ 'description': 'Format BUILD and .bzl files with buildifier.',
\ }, \ },
\ 'css-beautify': {
\ 'function': 'ale#fixers#css_beautify#Fix',
\ 'suggested_filetypes': ['css'],
\ 'description': 'Format CSS using css-beautify from js-beautify.',
\ },
\ 'deno': { \ 'deno': {
\ 'function': 'ale#fixers#deno#Fix', \ 'function': 'ale#fixers#deno#Fix',
\ 'suggested_filetypes': ['typescript'], \ 'suggested_filetypes': ['typescript'],
@ -514,7 +519,7 @@ let s:default_registry = {
\ 'html-beautify': { \ 'html-beautify': {
\ 'function': 'ale#fixers#html_beautify#Fix', \ 'function': 'ale#fixers#html_beautify#Fix',
\ 'suggested_filetypes': ['html', 'htmldjango'], \ 'suggested_filetypes': ['html', 'htmldjango'],
\ 'description': 'Fix HTML files with html-beautify.', \ 'description': 'Fix HTML files with html-beautify from js-beautify.',
\ }, \ },
\ 'lua-format': { \ 'lua-format': {
\ 'function': 'ale#fixers#lua_format#Fix', \ 'function': 'ale#fixers#lua_format#Fix',
@ -528,7 +533,7 @@ let s:default_registry = {
\ }, \ },
\ 'dprint': { \ 'dprint': {
\ 'function': 'ale#fixers#dprint#Fix', \ 'function': 'ale#fixers#dprint#Fix',
\ 'suggested_filetypes': ['javascript', 'typescript', 'json', 'markdown'], \ 'suggested_filetypes': ['dockerfile', 'javascript', 'json', 'markdown', 'toml', 'typescript'],
\ 'description': 'Pluggable and configurable code formatting platform', \ 'description': 'Pluggable and configurable code formatting platform',
\ }, \ },
\ 'stylua': { \ 'stylua': {

View file

@ -0,0 +1,20 @@
" Author: https://github.com/Spixmaster
" Description: Format CSS using css-beautify from js-beautify.
call ale#Set('css_css_beautify_executable', 'css-beautify')
call ale#Set('css_css_beautify_use_global', get(g:, 'ale_use_global_executables', 0))
call ale#Set('css_css_beautify_options', '')
function! ale#fixers#css_beautify#Fix(buffer) abort
let l:executable = ale#python#FindExecutable(
\ a:buffer,
\ 'css_css_beautify',
\ ['css-beautify']
\)
let l:options = ale#Var(a:buffer, 'css_css_beautify_options')
return {
\ 'command': ale#Escape(l:executable) . ' ' . l:options . ' -',
\}
endfunction

View file

@ -1,10 +1,9 @@
" Author: WhyNotHugo <hugo@barrera.io> " Author: WhyNotHugo <hugo@barrera.io>
" Description: Lint HTML files with html-beautify. " Description: Format HTML files with html-beautify.
"
call ale#Set('html_beautify_executable', 'html-beautify') call ale#Set('html_beautify_executable', 'html-beautify')
call ale#Set('html_beautify_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#Set('html_beautify_use_global', get(g:, 'ale_use_global_executables', 0))
call ale#Set('html_beautify_options', '') call ale#Set('html_beautify_options', '')
call ale#Set('html_beautify_change_directory', 1)
function! ale#fixers#html_beautify#Fix(buffer) abort function! ale#fixers#html_beautify#Fix(buffer) abort
let l:executable = ale#python#FindExecutable( let l:executable = ale#python#FindExecutable(
@ -16,6 +15,6 @@ function! ale#fixers#html_beautify#Fix(buffer) abort
let l:options = ale#Var(a:buffer, 'html_beautify_options') let l:options = ale#Var(a:buffer, 'html_beautify_options')
return { return {
\ 'command': ale#Escape(l:executable). ' ' . l:options . ' -', \ 'command': ale#Escape(l:executable) . ' ' . l:options . ' -',
\} \}
endfunction endfunction

View file

@ -33,6 +33,8 @@ function! ale#python#FindProjectRootIni(buffer) abort
\|| filereadable(l:path . '/pylama.ini') \|| filereadable(l:path . '/pylama.ini')
\|| filereadable(l:path . '/pylintrc') \|| filereadable(l:path . '/pylintrc')
\|| filereadable(l:path . '/.pylintrc') \|| filereadable(l:path . '/.pylintrc')
\|| filereadable(l:path . '/pyrightconfig.json')
\|| filereadable(l:path . '/pyrightconfig.toml')
\|| filereadable(l:path . '/Pipfile') \|| filereadable(l:path . '/Pipfile')
\|| filereadable(l:path . '/Pipfile.lock') \|| filereadable(l:path . '/Pipfile.lock')
\|| filereadable(l:path . '/poetry.lock') \|| filereadable(l:path . '/poetry.lock')

View file

@ -133,7 +133,42 @@ g:ale_c_cc_options *g:ale_c_cc_options*
Type: |String| Type: |String|
Default: `'-std=c11 -Wall'` Default: `'-std=c11 -Wall'`
This variable can be change to modify flags given to the C compiler. This variable can be changed to modify flags given to the C compiler.
g:ale_c_cc_use_header_lang_flag *g:ale_c_cc_use_header_lang_flag*
*b:ale_c_cc_use_header_lang_flag*
Type: |Number|
Default: `-1`
By default, ALE will use `'-x c-header'` instead of `'-x c'` for header files
when using Clang.
This variable can be changed to manually activate or deactivate this flag
for header files.
- When set to `-1`, the default beviour is used, `'-x c-header'` is used with
Clang and `'-x c'` is used with other compilers.
- When set to `0`, the flag is deactivated, `'-x c'` is always used
independently of the compiler.
- When set to `1`, the flag is activated, `'-x c-header'` is always used
independently of the compiler.
Gcc does not support `'-x c-header'` when using `'-'` as input filename,
which is what ALE does. This why, by default, ALE only uses `'-x c-header'`
with Clang.
g:ale_c_cc_header_exts *g:ale_c_cc_header_exts*
*b:ale_c_cc_header_exts*
Type: |List|
Default: `['h']`
This variable can be changed to modify the list of extensions of the files
considered as header files.
This variable is only used when `'-x c-header'` is used instead of `'-x c'`,
see |ale_c_cc_use_header_lang_flag|.
=============================================================================== ===============================================================================

View file

@ -62,7 +62,42 @@ g:ale_cpp_cc_options *g:ale_cpp_cc_options*
Type: |String| Type: |String|
Default: `'-std=c++14 -Wall'` Default: `'-std=c++14 -Wall'`
This variable can be change to modify flags given to the C++ compiler. This variable can be changed to modify flags given to the C++ compiler.
g:ale_cpp_cc_use_header_lang_flag *g:ale_cpp_cc_use_header_lang_flag*
*b:ale_cpp_cc_use_header_lang_flag*
Type: |Number|
Default: `-1`
By default, ALE will use `'-x c++-header'` instead of `'-x c++'` for header
files when using Clang.
This variable can be changed to manually activate or deactivate this flag
for header files.
- When set to `-1`, the default beviour is used, `'-x c++-header'` is used with
Clang and `'-x c++'` is used with other compilers.
- When set to `0`, the flag is deactivated, `'-x c++'` is always used
independently of the compiler.
- When set to `1`, the flag is activated, `'-x c++-header'` is always used
independently of the compiler.
Gcc does not support `'-x c++-header'` when using `'-'` as input filename,
which is what ALE does. This why, by default, ALE only uses `'-x c++-header'`
with Clang.
g:ale_cpp_cc_header_exts *g:ale_cpp_cc_header_exts*
*b:ale_cpp_cc_header_exts*
Type: |List|
Default: `['h', 'hpp']`
This variable can be changed to modify the list of extensions of the files
considered as header files.
This variable is only used when `'-x c++-header'` is used instead of `'-x c++'`,
see |ale_cpp_cc_use_header_lang_flag|.
=============================================================================== ===============================================================================

View file

@ -8,6 +8,33 @@ cspell *ale-css-cspell*
See |ale-cspell-options| See |ale-cspell-options|
===============================================================================
css-beautify *ale-css-css-beautify*
g:ale_css_css_beautify_executable *g:ale_css_css_beautify_executable*
*b:ale_css_css_beautify_executable*
Type: |String|
Default: `'css-beautify'`
See |ale-integrations-local-executables|
g:ale_css_css_beautify_options *g:ale_css_css_beautify_options*
*b:ale_css_css_beautify_options*
Type: |String|
Default: `''`
This variable can be set to pass additional options to css-beautify.
g:ale_css_css_beautify_use_global *g:ale_css_css_beautify_use_global*
*b:ale_css_css_beautify_use_global*
Type: |String|
Default: `get(g:, 'ale_use_global_executables', 0)`
See |ale-integrations-local-executables|
=============================================================================== ===============================================================================
fecs *ale-css-fecs* fecs *ale-css-fecs*

View file

@ -45,6 +45,14 @@ See: |ale-javascript-fecs|.
=============================================================================== ===============================================================================
html-beautify *ale-html-beautify* html-beautify *ale-html-beautify*
g:ale_html_beautify_executable *g:ale_html_beautify_executable*
*b:ale_html_beautify_executable*
Type: |String|
Default: `'html-beautify'`
See |ale-integrations-local-executables|
g:ale_html_beautify_options *g:ale_html_beautify_options* g:ale_html_beautify_options *g:ale_html_beautify_options*
*b:ale_html_beautify_options* *b:ale_html_beautify_options*
Type: |String| Type: |String|
@ -53,6 +61,14 @@ g:ale_html_beautify_options *g:ale_html_beautify_options*
This variable can be changed to modify flags given to html-beautify. This variable can be changed to modify flags given to html-beautify.
g:ale_html_beautify_use_global *g:ale_html_beautify_use_global*
*b:ale_html_beautify_use_global*
Type: |String|
Default: `get(g:, 'ale_use_global_executables', 0)`
See |ale-integrations-local-executables|
=============================================================================== ===============================================================================
htmlhint *ale-html-htmlhint* htmlhint *ale-html-htmlhint*
@ -80,7 +96,6 @@ g:ale_html_htmlhint_use_global *g:ale_html_htmlhint_use_global*
See |ale-integrations-local-executables| See |ale-integrations-local-executables|
=============================================================================== ===============================================================================
prettier *ale-html-prettier* prettier *ale-html-prettier*

View file

@ -46,6 +46,8 @@ ALE will look for configuration files with the following filenames. >
pylama.ini pylama.ini
pylintrc pylintrc
.pylintrc .pylintrc
pyrightconfig.json
pyrightconfig.toml
Pipfile Pipfile
Pipfile.lock Pipfile.lock
poetry.lock poetry.lock

View file

@ -120,6 +120,7 @@ Notes:
* CSS * CSS
* `VSCode CSS language server` * `VSCode CSS language server`
* `cspell` * `cspell`
* `css-beautify`
* `csslint` * `csslint`
* `fecs` * `fecs`
* `prettier` * `prettier`
@ -596,6 +597,7 @@ Notes:
* `terraform-ls` * `terraform-ls`
* `terraform-lsp` * `terraform-lsp`
* `tflint` * `tflint`
* `tfsec`
* Texinfo * Texinfo
* `alex` * `alex`
* `cspell` * `cspell`

View file

@ -114,6 +114,25 @@ g:ale_terraform_tflint_options *g:ale_terraform_tflint_options*
to include '-f json' in your new value. to include '-f json' in your new value.
===============================================================================
tfsec *ale-terraform-tfsec*
g:ale_terraform_tfsec_executable *g:ale_terraform_tfsec_executable*
*b:ale_terraform_tfsec_executable*
Type: |String|
Default: `'tfsec'`
This variable can be changed to use a different executable for tfsec.
g:ale_terraform_tfsec_options *g:ale_terraform_tfsec_options*
*b:ale_terraform_tfsec_options*
Type: |String|
Default: `''`
This variable can be changed to pass custom CLI flags to tfsec.
=============================================================================== ===============================================================================
vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

View file

@ -2841,6 +2841,7 @@ documented in additional help files.
uncrustify............................|ale-cs-uncrustify| uncrustify............................|ale-cs-uncrustify|
css.....................................|ale-css-options| css.....................................|ale-css-options|
cspell................................|ale-css-cspell| cspell................................|ale-css-cspell|
css-beautify..........................|ale-css-css-beautify|
fecs..................................|ale-css-fecs| fecs..................................|ale-css-fecs|
prettier..............................|ale-css-prettier| prettier..............................|ale-css-prettier|
stylelint.............................|ale-css-stylelint| stylelint.............................|ale-css-stylelint|
@ -3260,6 +3261,7 @@ documented in additional help files.
terraform-ls..........................|ale-terraform-terraform-ls| terraform-ls..........................|ale-terraform-terraform-ls|
terraform-lsp.........................|ale-terraform-terraform-lsp| terraform-lsp.........................|ale-terraform-terraform-lsp|
tflint................................|ale-terraform-tflint| tflint................................|ale-terraform-tflint|
tfsec.................................|ale-terraform-tfsec|
tex.....................................|ale-tex-options| tex.....................................|ale-tex-options|
chktex................................|ale-tex-chktex| chktex................................|ale-tex-chktex|
cspell................................|ale-tex-cspell| cspell................................|ale-tex-cspell|

View file

@ -62,7 +62,7 @@ formatting.
* BibTeX * BibTeX
* [bibclean](http://ftp.math.utah.edu/pub/bibclean/) * [bibclean](http://ftp.math.utah.edu/pub/bibclean/)
* Bicep * Bicep
* [bicep](https://github.com/Azure/bicep) * [bicep](https://github.com/Azure/bicep) :floppy_disk:
* BitBake * BitBake
* [oelint-adv](https://github.com/priv-kweihmann/oelint-adv) * [oelint-adv](https://github.com/priv-kweihmann/oelint-adv)
* Bourne Shell * Bourne Shell
@ -129,6 +129,7 @@ formatting.
* CSS * CSS
* [VSCode CSS language server](https://github.com/hrsh7th/vscode-langservers-extracted) * [VSCode CSS language server](https://github.com/hrsh7th/vscode-langservers-extracted)
* [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell)
* [css-beautify](https://github.com/beautify-web/js-beautify)
* [csslint](http://csslint.net/) * [csslint](http://csslint.net/)
* [fecs](http://fecs.baidu.com/) * [fecs](http://fecs.baidu.com/)
* [prettier](https://github.com/prettier/prettier) * [prettier](https://github.com/prettier/prettier)
@ -605,6 +606,7 @@ formatting.
* [terraform-ls](https://github.com/hashicorp/terraform-ls) * [terraform-ls](https://github.com/hashicorp/terraform-ls)
* [terraform-lsp](https://github.com/juliosueiras/terraform-lsp) * [terraform-lsp](https://github.com/juliosueiras/terraform-lsp)
* [tflint](https://github.com/wata727/tflint) * [tflint](https://github.com/wata727/tflint)
* [tfsec](https://github.com/aquasecurity/tfsec)
* Texinfo * Texinfo
* [alex](https://github.com/get-alex/alex) * [alex](https://github.com/get-alex/alex)
* [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell)

View file

@ -1,7 +1,7 @@
*bufexplorer.txt* Buffer Explorer Last Change: 02 May 2022 *bufexplorer.txt* Buffer Explorer Last Change: 20 Sept 2022
Buffer Explorer *buffer-explorer* *bufexplorer* Buffer Explorer *buffer-explorer* *bufexplorer*
Version 7.4.24 Version 7.4.25
Plugin for easily exploring (or browsing) Vim|:buffers|. Plugin for easily exploring (or browsing) Vim|:buffers|.
@ -263,10 +263,21 @@ The default is 1.
=============================================================================== ===============================================================================
CHANGE LOG *bufexplorer-changelog* CHANGE LOG *bufexplorer-changelog*
7.4.25 September 20, 2022
What's Changed
- Fix MRU sort order after loading vim session by @mmrwoods in
https://github.com/jlanzarotta/bufexplorer/pull/107
New Contributors
- @mmrwoods made their first contribution in
https://github.com/jlanzarotta/bufexplorer/pull/107
Full Changelog
https://github.com/jlanzarotta/bufexplorer/compare/v7.4.24...v.7.4.25
7.4.24 May 03, 2022
Updated copyright notice.
7.4.23 January 23, 2022 7.4.23 January 23, 2022
- Merged in changes from benoit-pierre that fixes an error thrown when vim Merged in changes from benoit-pierre that fixes an error thrown when vim
is in read-only mode. is in read-only mode.
- Merged in changes from tartansandal that implements the use of an Merged in changes from tartansandal that implements the use of an
independent variable to track window splitting since s:splitMode != '' independent variable to track window splitting since s:splitMode != ''
no longer implies that a split was triggered. no longer implies that a split was triggered.
7.4.22 January 5,2022 7.4.22 January 5,2022

View file

@ -36,7 +36,7 @@
" Name Of File: bufexplorer.vim " Name Of File: bufexplorer.vim
" Description: Buffer Explorer Vim Plugin " Description: Buffer Explorer Vim Plugin
" Maintainer: Jeff Lanzarotta (my name at gmail dot com) " Maintainer: Jeff Lanzarotta (my name at gmail dot com)
" Last Changed: Thursday, 02 May 2022 " Last Changed: Tuesday, 20 Sept 2022
" Version: See g:bufexplorer_version for version number. " Version: See g:bufexplorer_version for version number.
" Usage: This file should reside in the plugin directory and be " Usage: This file should reside in the plugin directory and be
" automatically sourced. " automatically sourced.
@ -74,7 +74,7 @@ endif
"1}}} "1}}}
" Version number " Version number
let g:bufexplorer_version = "7.4.24" let g:bufexplorer_version = "7.4.25"
" Plugin Code {{{1 " Plugin Code {{{1
" Check for Vim version {{{2 " Check for Vim version {{{2
@ -138,6 +138,9 @@ let s:types = {"fullname": ':p', "path": ':p:h', "relativename": ':~:.', "relati
" Setup the autocommands that handle the MRUList and other stuff. {{{2 " Setup the autocommands that handle the MRUList and other stuff. {{{2
autocmd VimEnter * call s:Setup() autocmd VimEnter * call s:Setup()
" Reset MRUList and buffer->tab associations after loading a session. {{{2
autocmd SessionLoadPost * call s:Reset()
" Setup {{{2 " Setup {{{2
function! s:Setup() function! s:Setup()
call s:Reset() call s:Reset()
@ -156,8 +159,9 @@ endfunction
" Reset {{{2 " Reset {{{2
function! s:Reset() function! s:Reset()
" Build initial MRUList. This makes sure all the files specified on the " Build initial MRUList. This makes sure all the files specified on the
" command line are picked up correctly. " command line are picked up correctly. Check buffers exist so this also
let s:MRUList = range(1, bufnr('$')) " works after wiping buffers and loading a session (e.g. sessionman.vim)
let s:MRUList = filter(range(1, bufnr('$')), 'bufexists(v:val)')
" Initialize the association of buffers to tabs for any buffers " Initialize the association of buffers to tabs for any buffers
" that have been created prior to now, e.g., files specified as " that have been created prior to now, e.g., files specified as

View file

@ -13,7 +13,7 @@ jobs:
strategy: strategy:
matrix: matrix:
vim: vim:
- v8.2.1000 - v9.0.0000
- v8.2.0000 - v8.2.0000
- v8.1.0000 - v8.1.0000
- v8.0.0000 - v8.0.0000

View file

@ -1,6 +1,6 @@
The MIT License (MIT) The MIT License (MIT)
Copyright (c) 2013-2021 itchyny Copyright (c) 2013-2022 itchyny
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal of this software and associated documentation files (the "Software"), to deal

View file

@ -25,11 +25,11 @@ function! s:suite.highlight()
let palette = lightline#palette() let palette = lightline#palette()
call s:assert.match(s:hi('LightlineLeft_normal_0'), s:pattern(palette.normal.left[0])) call s:assert.match(s:hi('LightlineLeft_normal_0'), s:pattern(palette.normal.left[0]))
call s:assert.match(s:hi('LightlineLeft_normal_1'), s:pattern(palette.normal.left[1])) call s:assert.match(s:hi('LightlineLeft_normal_1'), s:pattern(palette.normal.left[1]))
call s:assert.match(s:hi('LightlineLeft_normal_2'), 'E411: highlight group not found\|cleared') call s:assert.match(s:hi('LightlineLeft_normal_2'), 'E411: [hH]ighlight group not found\|cleared')
call s:assert.match(s:hi('LightlineRight_normal_0'), s:pattern(palette.normal.right[0])) call s:assert.match(s:hi('LightlineRight_normal_0'), s:pattern(palette.normal.right[0]))
call s:assert.match(s:hi('LightlineRight_normal_1'), s:pattern(palette.normal.right[1])) call s:assert.match(s:hi('LightlineRight_normal_1'), s:pattern(palette.normal.right[1]))
call s:assert.match(s:hi('LightlineRight_normal_2'), s:pattern(palette.normal.right[2])) call s:assert.match(s:hi('LightlineRight_normal_2'), s:pattern(palette.normal.right[2]))
call s:assert.match(s:hi('LightlineRight_normal_3'), 'E411: highlight group not found\|cleared') call s:assert.match(s:hi('LightlineRight_normal_3'), 'E411: [hH]ighlight group not found\|cleared')
call s:assert.match(s:hi('LightlineMiddle_normal'), s:pattern(palette.normal.middle[0])) call s:assert.match(s:hi('LightlineMiddle_normal'), s:pattern(palette.normal.middle[0]))
endfunction endfunction
@ -41,11 +41,11 @@ function! s:suite.insert()
let palette = lightline#palette() let palette = lightline#palette()
call s:assert.match(s:hi('LightlineLeft_insert_0'), s:pattern(palette.insert.left[0])) call s:assert.match(s:hi('LightlineLeft_insert_0'), s:pattern(palette.insert.left[0]))
call s:assert.match(s:hi('LightlineLeft_insert_1'), s:pattern(palette.insert.left[1])) call s:assert.match(s:hi('LightlineLeft_insert_1'), s:pattern(palette.insert.left[1]))
call s:assert.match(s:hi('LightlineLeft_insert_2'), 'E411: highlight group not found\|cleared') call s:assert.match(s:hi('LightlineLeft_insert_2'), 'E411: [hH]ighlight group not found\|cleared')
call s:assert.match(s:hi('LightlineRight_insert_0'), s:pattern(palette.insert.right[0])) call s:assert.match(s:hi('LightlineRight_insert_0'), s:pattern(palette.insert.right[0]))
call s:assert.match(s:hi('LightlineRight_insert_1'), s:pattern(palette.insert.right[1])) call s:assert.match(s:hi('LightlineRight_insert_1'), s:pattern(palette.insert.right[1]))
call s:assert.match(s:hi('LightlineRight_insert_2'), s:pattern(palette.insert.right[2])) call s:assert.match(s:hi('LightlineRight_insert_2'), s:pattern(palette.insert.right[2]))
call s:assert.match(s:hi('LightlineRight_insert_3'), 'E411: highlight group not found\|cleared') call s:assert.match(s:hi('LightlineRight_insert_3'), 'E411: [hH]ighlight group not found\|cleared')
call s:assert.match(s:hi('LightlineMiddle_insert'), s:pattern(palette.insert.middle[0])) call s:assert.match(s:hi('LightlineMiddle_insert'), s:pattern(palette.insert.middle[0]))
endfunction endfunction
@ -58,11 +58,11 @@ function! s:suite.visual()
let palette = lightline#palette() let palette = lightline#palette()
call s:assert.match(s:hi('LightlineLeft_visual_0'), s:pattern(palette.visual.left[0])) call s:assert.match(s:hi('LightlineLeft_visual_0'), s:pattern(palette.visual.left[0]))
call s:assert.match(s:hi('LightlineLeft_visual_1'), s:pattern(palette.visual.left[1])) call s:assert.match(s:hi('LightlineLeft_visual_1'), s:pattern(palette.visual.left[1]))
call s:assert.match(s:hi('LightlineLeft_visual_2'), 'E411: highlight group not found\|cleared') call s:assert.match(s:hi('LightlineLeft_visual_2'), 'E411: [hH]ighlight group not found\|cleared')
call s:assert.match(s:hi('LightlineRight_visual_0'), s:pattern(palette.normal.right[0])) call s:assert.match(s:hi('LightlineRight_visual_0'), s:pattern(palette.normal.right[0]))
call s:assert.match(s:hi('LightlineRight_visual_1'), s:pattern(palette.normal.right[1])) call s:assert.match(s:hi('LightlineRight_visual_1'), s:pattern(palette.normal.right[1]))
call s:assert.match(s:hi('LightlineRight_visual_2'), s:pattern(palette.normal.right[2])) call s:assert.match(s:hi('LightlineRight_visual_2'), s:pattern(palette.normal.right[2]))
call s:assert.match(s:hi('LightlineRight_visual_3'), 'E411: highlight group not found\|cleared') call s:assert.match(s:hi('LightlineRight_visual_3'), 'E411: [hH]ighlight group not found\|cleared')
call s:assert.match(s:hi('LightlineMiddle_normal'), s:pattern(palette.normal.middle[0])) call s:assert.match(s:hi('LightlineMiddle_normal'), s:pattern(palette.normal.middle[0]))
endfunction endfunction
@ -74,11 +74,11 @@ function! s:suite.replace()
let palette = lightline#palette() let palette = lightline#palette()
call s:assert.match(s:hi('LightlineLeft_replace_0'), s:pattern(palette.replace.left[0])) call s:assert.match(s:hi('LightlineLeft_replace_0'), s:pattern(palette.replace.left[0]))
call s:assert.match(s:hi('LightlineLeft_replace_1'), s:pattern(palette.replace.left[1])) call s:assert.match(s:hi('LightlineLeft_replace_1'), s:pattern(palette.replace.left[1]))
call s:assert.match(s:hi('LightlineLeft_replace_2'), 'E411: highlight group not found\|cleared') call s:assert.match(s:hi('LightlineLeft_replace_2'), 'E411: [hH]ighlight group not found\|cleared')
call s:assert.match(s:hi('LightlineRight_replace_0'), s:pattern(palette.replace.right[0])) call s:assert.match(s:hi('LightlineRight_replace_0'), s:pattern(palette.replace.right[0]))
call s:assert.match(s:hi('LightlineRight_replace_1'), s:pattern(palette.replace.right[1])) call s:assert.match(s:hi('LightlineRight_replace_1'), s:pattern(palette.replace.right[1]))
call s:assert.match(s:hi('LightlineRight_replace_2'), s:pattern(palette.replace.right[2])) call s:assert.match(s:hi('LightlineRight_replace_2'), s:pattern(palette.replace.right[2]))
call s:assert.match(s:hi('LightlineRight_replace_3'), 'E411: highlight group not found\|cleared') call s:assert.match(s:hi('LightlineRight_replace_3'), 'E411: [hH]ighlight group not found\|cleared')
call s:assert.match(s:hi('LightlineMiddle_replace'), s:pattern(palette.replace.middle[0])) call s:assert.match(s:hi('LightlineMiddle_replace'), s:pattern(palette.replace.middle[0]))
endfunction endfunction
@ -96,13 +96,13 @@ function! s:suite.left_right()
call s:assert.match(s:hi('LightlineLeft_normal_1'), s:pattern(palette.normal.left[1])) call s:assert.match(s:hi('LightlineLeft_normal_1'), s:pattern(palette.normal.left[1]))
call s:assert.match(s:hi('LightlineLeft_normal_2'), s:pattern(palette.normal.middle[0])) call s:assert.match(s:hi('LightlineLeft_normal_2'), s:pattern(palette.normal.middle[0]))
call s:assert.match(s:hi('LightlineLeft_normal_3'), s:pattern(palette.normal.middle[0])) call s:assert.match(s:hi('LightlineLeft_normal_3'), s:pattern(palette.normal.middle[0]))
call s:assert.match(s:hi('LightlineLeft_normal_4'), 'E411: highlight group not found\|cleared') call s:assert.match(s:hi('LightlineLeft_normal_4'), 'E411: [hH]ighlight group not found\|cleared')
call s:assert.match(s:hi('LightlineRight_normal_0'), s:pattern(palette.normal.right[0])) call s:assert.match(s:hi('LightlineRight_normal_0'), s:pattern(palette.normal.right[0]))
call s:assert.match(s:hi('LightlineRight_normal_1'), s:pattern(palette.normal.right[1])) call s:assert.match(s:hi('LightlineRight_normal_1'), s:pattern(palette.normal.right[1]))
call s:assert.match(s:hi('LightlineRight_normal_2'), s:pattern(palette.normal.right[2])) call s:assert.match(s:hi('LightlineRight_normal_2'), s:pattern(palette.normal.right[2]))
call s:assert.match(s:hi('LightlineRight_normal_3'), s:pattern(palette.normal.middle[0])) call s:assert.match(s:hi('LightlineRight_normal_3'), s:pattern(palette.normal.middle[0]))
call s:assert.match(s:hi('LightlineRight_normal_4'), s:pattern(palette.normal.middle[0])) call s:assert.match(s:hi('LightlineRight_normal_4'), s:pattern(palette.normal.middle[0]))
call s:assert.match(s:hi('LightlineRight_normal_5'), 'E411: highlight group not found\|cleared') call s:assert.match(s:hi('LightlineRight_normal_5'), 'E411: [hH]ighlight group not found\|cleared')
call s:assert.match(s:hi('LightlineMiddle_normal'), s:pattern(palette.normal.middle[0])) call s:assert.match(s:hi('LightlineMiddle_normal'), s:pattern(palette.normal.middle[0]))
endfunction endfunction
@ -121,9 +121,9 @@ function! s:suite.no_components()
call lightline#colorscheme() call lightline#colorscheme()
let palette = lightline#palette() let palette = lightline#palette()
call s:assert.match(s:hi('LightlineLeft_normal_0'), s:pattern(palette.normal.left[0])) call s:assert.match(s:hi('LightlineLeft_normal_0'), s:pattern(palette.normal.left[0]))
call s:assert.match(s:hi('LightlineLeft_normal_1'), 'E411: highlight group not found\|cleared') call s:assert.match(s:hi('LightlineLeft_normal_1'), 'E411: [hH]ighlight group not found\|cleared')
call s:assert.match(s:hi('LightlineRight_normal_0'), s:pattern(palette.normal.right[0])) call s:assert.match(s:hi('LightlineRight_normal_0'), s:pattern(palette.normal.right[0]))
call s:assert.match(s:hi('LightlineRight_normal_1'), 'E411: highlight group not found\|cleared') call s:assert.match(s:hi('LightlineRight_normal_1'), 'E411: [hH]ighlight group not found\|cleared')
call s:assert.match(s:hi('LightlineMiddle_normal'), s:pattern(palette.normal.middle[0])) call s:assert.match(s:hi('LightlineMiddle_normal'), s:pattern(palette.normal.middle[0]))
endfunction endfunction
@ -142,7 +142,7 @@ function! s:suite.subseparator()
if i + 1 == j if i + 1 == j
call s:assert.match(s:hi(printf('LightlineLeft_normal_%s_%s', i, j)), s:pattern(get(palette.normal.left, i, palette.normal.middle[0]), get(palette.normal.left, j, palette.normal.middle[0]))) call s:assert.match(s:hi(printf('LightlineLeft_normal_%s_%s', i, j)), s:pattern(get(palette.normal.left, i, palette.normal.middle[0]), get(palette.normal.left, j, palette.normal.middle[0])))
else else
call s:assert.match(s:hi(printf('LightlineLeft_normal_%s_%s', i, j)), 'E411: highlight group not found\|cleared') call s:assert.match(s:hi(printf('LightlineLeft_normal_%s_%s', i, j)), 'E411: [hH]ighlight group not found\|cleared')
endif endif
endfor endfor
endfor endfor
@ -157,11 +157,11 @@ function! s:suite.component_type()
call s:assert.match(s:hi(printf('LightlineLeft_normal_%s', type)), s:pattern(palette.normal[type][0])) call s:assert.match(s:hi(printf('LightlineLeft_normal_%s', type)), s:pattern(palette.normal[type][0]))
call s:assert.match(s:hi(printf('LightlineLeft_normal_0_%s', type)), s:pattern(palette.normal.left[0], palette.normal[type][0])) call s:assert.match(s:hi(printf('LightlineLeft_normal_0_%s', type)), s:pattern(palette.normal.left[0], palette.normal[type][0]))
call s:assert.match(s:hi(printf('LightlineLeft_normal_1_%s', type)), s:pattern(palette.normal.left[1], palette.normal[type][0])) call s:assert.match(s:hi(printf('LightlineLeft_normal_1_%s', type)), s:pattern(palette.normal.left[1], palette.normal[type][0]))
call s:assert.match(s:hi(printf('LightlineLeft_normal_2_%s', type)), 'E411: highlight group not found\|cleared') call s:assert.match(s:hi(printf('LightlineLeft_normal_2_%s', type)), 'E411: [hH]ighlight group not found\|cleared')
call s:assert.match(s:hi(printf('LightlineLeft_normal_%s_0', type)), s:pattern(palette.normal[type][0], palette.normal.left[0])) call s:assert.match(s:hi(printf('LightlineLeft_normal_%s_0', type)), s:pattern(palette.normal[type][0], palette.normal.left[0]))
call s:assert.match(s:hi(printf('LightlineLeft_normal_%s_1', type)), s:pattern(palette.normal[type][0], palette.normal.left[1])) call s:assert.match(s:hi(printf('LightlineLeft_normal_%s_1', type)), s:pattern(palette.normal[type][0], palette.normal.left[1]))
call s:assert.match(s:hi(printf('LightlineLeft_normal_%s_2', type)), s:pattern(palette.normal[type][0], palette.normal.middle[0])) call s:assert.match(s:hi(printf('LightlineLeft_normal_%s_2', type)), s:pattern(palette.normal[type][0], palette.normal.middle[0]))
call s:assert.match(s:hi(printf('LightlineLeft_normal_%s_3', type)), 'E411: highlight group not found\|cleared') call s:assert.match(s:hi(printf('LightlineLeft_normal_%s_3', type)), 'E411: [hH]ighlight group not found\|cleared')
endfor endfor
for type1 in ['error', 'warning'] for type1 in ['error', 'warning']
for type2 in ['error', 'warning'] for type2 in ['error', 'warning']

View file

@ -31,11 +31,11 @@ function! s:suite.link()
call lightline#link() call lightline#link()
call s:assert.match(s:hi('LightlineLeft_active_0'), 'LightlineLeft_normal_0') call s:assert.match(s:hi('LightlineLeft_active_0'), 'LightlineLeft_normal_0')
call s:assert.match(s:hi('LightlineLeft_active_1'), 'LightlineLeft_normal_1') call s:assert.match(s:hi('LightlineLeft_active_1'), 'LightlineLeft_normal_1')
call s:assert.match(s:hi('LightlineLeft_active_2'), 'E411: highlight group not found\|cleared') call s:assert.match(s:hi('LightlineLeft_active_2'), 'E411: [hH]ighlight group not found\|cleared')
call s:assert.match(s:hi('LightlineRight_active_0'), 'LightlineRight_normal_0') call s:assert.match(s:hi('LightlineRight_active_0'), 'LightlineRight_normal_0')
call s:assert.match(s:hi('LightlineRight_active_1'), 'LightlineRight_normal_1') call s:assert.match(s:hi('LightlineRight_active_1'), 'LightlineRight_normal_1')
call s:assert.match(s:hi('LightlineRight_active_2'), 'LightlineRight_normal_2') call s:assert.match(s:hi('LightlineRight_active_2'), 'LightlineRight_normal_2')
call s:assert.match(s:hi('LightlineRight_active_3'), 'E411: highlight group not found\|cleared') call s:assert.match(s:hi('LightlineRight_active_3'), 'E411: [hH]ighlight group not found\|cleared')
call s:assert.match(s:hi('LightlineMiddle_active'), 'LightlineMiddle_normal') call s:assert.match(s:hi('LightlineMiddle_active'), 'LightlineMiddle_normal')
endfunction endfunction
@ -43,11 +43,11 @@ function! s:suite.insert()
call lightline#link('i') call lightline#link('i')
call s:assert.match(s:hi('LightlineLeft_active_0'), 'LightlineLeft_insert_0') call s:assert.match(s:hi('LightlineLeft_active_0'), 'LightlineLeft_insert_0')
call s:assert.match(s:hi('LightlineLeft_active_1'), 'LightlineLeft_insert_1') call s:assert.match(s:hi('LightlineLeft_active_1'), 'LightlineLeft_insert_1')
call s:assert.match(s:hi('LightlineLeft_active_2'), 'E411: highlight group not found\|cleared') call s:assert.match(s:hi('LightlineLeft_active_2'), 'E411: [hH]ighlight group not found\|cleared')
call s:assert.match(s:hi('LightlineRight_active_0'), 'LightlineRight_insert_0') call s:assert.match(s:hi('LightlineRight_active_0'), 'LightlineRight_insert_0')
call s:assert.match(s:hi('LightlineRight_active_1'), 'LightlineRight_insert_1') call s:assert.match(s:hi('LightlineRight_active_1'), 'LightlineRight_insert_1')
call s:assert.match(s:hi('LightlineRight_active_2'), 'LightlineRight_insert_2') call s:assert.match(s:hi('LightlineRight_active_2'), 'LightlineRight_insert_2')
call s:assert.match(s:hi('LightlineRight_active_3'), 'E411: highlight group not found\|cleared') call s:assert.match(s:hi('LightlineRight_active_3'), 'E411: [hH]ighlight group not found\|cleared')
call s:assert.match(s:hi('LightlineMiddle_active'), 'LightlineMiddle_insert') call s:assert.match(s:hi('LightlineMiddle_active'), 'LightlineMiddle_insert')
endfunction endfunction
@ -55,11 +55,11 @@ function! s:suite.visual()
call lightline#link('v') call lightline#link('v')
call s:assert.match(s:hi('LightlineLeft_active_0'), 'LightlineLeft_visual_0') call s:assert.match(s:hi('LightlineLeft_active_0'), 'LightlineLeft_visual_0')
call s:assert.match(s:hi('LightlineLeft_active_1'), 'LightlineLeft_visual_1') call s:assert.match(s:hi('LightlineLeft_active_1'), 'LightlineLeft_visual_1')
call s:assert.match(s:hi('LightlineLeft_active_2'), 'E411: highlight group not found\|cleared') call s:assert.match(s:hi('LightlineLeft_active_2'), 'E411: [hH]ighlight group not found\|cleared')
call s:assert.match(s:hi('LightlineRight_active_0'), 'LightlineRight_visual_0') call s:assert.match(s:hi('LightlineRight_active_0'), 'LightlineRight_visual_0')
call s:assert.match(s:hi('LightlineRight_active_1'), 'LightlineRight_visual_1') call s:assert.match(s:hi('LightlineRight_active_1'), 'LightlineRight_visual_1')
call s:assert.match(s:hi('LightlineRight_active_2'), 'LightlineRight_visual_2') call s:assert.match(s:hi('LightlineRight_active_2'), 'LightlineRight_visual_2')
call s:assert.match(s:hi('LightlineRight_active_3'), 'E411: highlight group not found\|cleared') call s:assert.match(s:hi('LightlineRight_active_3'), 'E411: [hH]ighlight group not found\|cleared')
call s:assert.match(s:hi('LightlineMiddle_active'), 'LightlineMiddle_visual') call s:assert.match(s:hi('LightlineMiddle_active'), 'LightlineMiddle_visual')
endfunction endfunction
@ -67,11 +67,11 @@ function! s:suite.replace()
call lightline#link('R') call lightline#link('R')
call s:assert.match(s:hi('LightlineLeft_active_0'), 'LightlineLeft_replace_0') call s:assert.match(s:hi('LightlineLeft_active_0'), 'LightlineLeft_replace_0')
call s:assert.match(s:hi('LightlineLeft_active_1'), 'LightlineLeft_replace_1') call s:assert.match(s:hi('LightlineLeft_active_1'), 'LightlineLeft_replace_1')
call s:assert.match(s:hi('LightlineLeft_active_2'), 'E411: highlight group not found\|cleared') call s:assert.match(s:hi('LightlineLeft_active_2'), 'E411: [hH]ighlight group not found\|cleared')
call s:assert.match(s:hi('LightlineRight_active_0'), 'LightlineRight_replace_0') call s:assert.match(s:hi('LightlineRight_active_0'), 'LightlineRight_replace_0')
call s:assert.match(s:hi('LightlineRight_active_1'), 'LightlineRight_replace_1') call s:assert.match(s:hi('LightlineRight_active_1'), 'LightlineRight_replace_1')
call s:assert.match(s:hi('LightlineRight_active_2'), 'LightlineRight_replace_2') call s:assert.match(s:hi('LightlineRight_active_2'), 'LightlineRight_replace_2')
call s:assert.match(s:hi('LightlineRight_active_3'), 'E411: highlight group not found\|cleared') call s:assert.match(s:hi('LightlineRight_active_3'), 'E411: [hH]ighlight group not found\|cleared')
call s:assert.match(s:hi('LightlineMiddle_active'), 'LightlineMiddle_replace') call s:assert.match(s:hi('LightlineMiddle_active'), 'LightlineMiddle_replace')
endfunction endfunction
@ -89,13 +89,13 @@ function! s:suite.left_right()
call s:assert.match(s:hi('LightlineLeft_active_1'), 'LightlineLeft_normal_1') call s:assert.match(s:hi('LightlineLeft_active_1'), 'LightlineLeft_normal_1')
call s:assert.match(s:hi('LightlineLeft_active_2'), 'LightlineLeft_normal_2') call s:assert.match(s:hi('LightlineLeft_active_2'), 'LightlineLeft_normal_2')
call s:assert.match(s:hi('LightlineLeft_active_3'), 'LightlineLeft_normal_3') call s:assert.match(s:hi('LightlineLeft_active_3'), 'LightlineLeft_normal_3')
call s:assert.match(s:hi('LightlineLeft_active_4'), 'E411: highlight group not found') call s:assert.match(s:hi('LightlineLeft_active_4'), 'E411: [hH]ighlight group not found\|cleared')
call s:assert.match(s:hi('LightlineRight_active_0'), 'LightlineRight_normal_0') call s:assert.match(s:hi('LightlineRight_active_0'), 'LightlineRight_normal_0')
call s:assert.match(s:hi('LightlineRight_active_1'), 'LightlineRight_normal_1') call s:assert.match(s:hi('LightlineRight_active_1'), 'LightlineRight_normal_1')
call s:assert.match(s:hi('LightlineRight_active_2'), 'LightlineRight_normal_2') call s:assert.match(s:hi('LightlineRight_active_2'), 'LightlineRight_normal_2')
call s:assert.match(s:hi('LightlineRight_active_3'), 'LightlineRight_normal_3') call s:assert.match(s:hi('LightlineRight_active_3'), 'LightlineRight_normal_3')
call s:assert.match(s:hi('LightlineRight_active_4'), 'LightlineRight_normal_4') call s:assert.match(s:hi('LightlineRight_active_4'), 'LightlineRight_normal_4')
call s:assert.match(s:hi('LightlineRight_active_5'), 'E411: highlight group not found') call s:assert.match(s:hi('LightlineRight_active_5'), 'E411: [hH]ighlight group not found\|cleared')
call s:assert.match(s:hi('LightlineMiddle_active'), 'LightlineMiddle_normal') call s:assert.match(s:hi('LightlineMiddle_active'), 'LightlineMiddle_normal')
endfunction endfunction
@ -114,7 +114,7 @@ function! s:suite.subseparator()
if i + 1 == j if i + 1 == j
call s:assert.match(s:hi(printf('LightlineLeft_active_%s_%s', i, j)), printf('LightlineLeft_normal_%s_%s', i, j)) call s:assert.match(s:hi(printf('LightlineLeft_active_%s_%s', i, j)), printf('LightlineLeft_normal_%s_%s', i, j))
else else
call s:assert.match(s:hi(printf('LightlineLeft_active_%s_%s', i, j)), 'E411: highlight group not found') call s:assert.match(s:hi(printf('LightlineLeft_active_%s_%s', i, j)), 'E411: [hH]ighlight group not found\|cleared')
endif endif
endfor endfor
endfor endfor
@ -129,11 +129,11 @@ function! s:suite.component_type()
call s:assert.match(s:hi(printf('LightlineLeft_active_%s', type)), printf('LightlineLeft_normal_%s', type)) call s:assert.match(s:hi(printf('LightlineLeft_active_%s', type)), printf('LightlineLeft_normal_%s', type))
call s:assert.match(s:hi(printf('LightlineLeft_active_0_%s', type)), printf('LightlineLeft_normal_0_%s', type)) call s:assert.match(s:hi(printf('LightlineLeft_active_0_%s', type)), printf('LightlineLeft_normal_0_%s', type))
call s:assert.match(s:hi(printf('LightlineLeft_active_1_%s', type)), printf('LightlineLeft_normal_1_%s', type)) call s:assert.match(s:hi(printf('LightlineLeft_active_1_%s', type)), printf('LightlineLeft_normal_1_%s', type))
call s:assert.match(s:hi(printf('LightlineLeft_active_2_%s', type)), 'E411: highlight group not found') call s:assert.match(s:hi(printf('LightlineLeft_active_2_%s', type)), 'E411: [hH]ighlight group not found\|cleared')
call s:assert.match(s:hi(printf('LightlineLeft_active_%s_0', type)), printf('LightlineLeft_normal_%s_0', type)) call s:assert.match(s:hi(printf('LightlineLeft_active_%s_0', type)), printf('LightlineLeft_normal_%s_0', type))
call s:assert.match(s:hi(printf('LightlineLeft_active_%s_1', type)), printf('LightlineLeft_normal_%s_1', type)) call s:assert.match(s:hi(printf('LightlineLeft_active_%s_1', type)), printf('LightlineLeft_normal_%s_1', type))
call s:assert.match(s:hi(printf('LightlineLeft_active_%s_2', type)), printf('LightlineLeft_normal_%s_2', type)) call s:assert.match(s:hi(printf('LightlineLeft_active_%s_2', type)), printf('LightlineLeft_normal_%s_2', type))
call s:assert.match(s:hi(printf('LightlineLeft_active_%s_3', type)), 'E411: highlight group not found') call s:assert.match(s:hi(printf('LightlineLeft_active_%s_3', type)), 'E411: [hH]ighlight group not found\|cleared')
endfor endfor
for type1 in ['error', 'warning'] for type1 in ['error', 'warning']
for type2 in ['error', 'warning'] for type2 in ['error', 'warning']
@ -148,10 +148,10 @@ function! s:suite.hi_clear()
call lightline#link() call lightline#link()
call s:assert.match(s:hi('LightlineLeft_active_0'), 'LightlineLeft_normal_0') call s:assert.match(s:hi('LightlineLeft_active_0'), 'LightlineLeft_normal_0')
call s:assert.match(s:hi('LightlineLeft_active_1'), 'LightlineLeft_normal_1') call s:assert.match(s:hi('LightlineLeft_active_1'), 'LightlineLeft_normal_1')
call s:assert.match(s:hi('LightlineLeft_active_2'), 'E411: highlight group not found\|cleared') call s:assert.match(s:hi('LightlineLeft_active_2'), 'E411: [hH]ighlight group not found\|cleared')
call s:assert.match(s:hi('LightlineRight_active_0'), 'LightlineRight_normal_0') call s:assert.match(s:hi('LightlineRight_active_0'), 'LightlineRight_normal_0')
call s:assert.match(s:hi('LightlineRight_active_1'), 'LightlineRight_normal_1') call s:assert.match(s:hi('LightlineRight_active_1'), 'LightlineRight_normal_1')
call s:assert.match(s:hi('LightlineRight_active_2'), 'LightlineRight_normal_2') call s:assert.match(s:hi('LightlineRight_active_2'), 'LightlineRight_normal_2')
call s:assert.match(s:hi('LightlineRight_active_3'), 'E411: highlight group not found\|cleared') call s:assert.match(s:hi('LightlineRight_active_3'), 'E411: [hH]ighlight group not found\|cleared')
call s:assert.match(s:hi('LightlineMiddle_active'), 'LightlineMiddle_normal') call s:assert.match(s:hi('LightlineMiddle_active'), 'LightlineMiddle_normal')
endfunction endfunction

View file

@ -34,10 +34,12 @@ augroup END
" Ignore general cargo progress messages " Ignore general cargo progress messages
CompilerSet errorformat+= CompilerSet errorformat+=
\%-G%\\s%#Downloading%.%#, \%-G%\\s%#Downloading%.%#,
\%-G%\\s%#Checking%.%#,
\%-G%\\s%#Compiling%.%#, \%-G%\\s%#Compiling%.%#,
\%-G%\\s%#Finished%.%#, \%-G%\\s%#Finished%.%#,
\%-G%\\s%#error:\ Could\ not\ compile\ %.%#, \%-G%\\s%#error:\ Could\ not\ compile\ %.%#,
\%-G%\\s%#To\ learn\ more\\,%.%#, \%-G%\\s%#To\ learn\ more\\,%.%#,
\%-G%\\s%#For\ more\ information\ about\ this\ error\\,%.%#,
\%-Gnote:\ Run\ with\ \`RUST_BACKTRACE=%.%#, \%-Gnote:\ Run\ with\ \`RUST_BACKTRACE=%.%#,
\%.%#panicked\ at\ \\'%m\\'\\,\ %f:%l:%c \%.%#panicked\ at\ \\'%m\\'\\,\ %f:%l:%c

View file

@ -281,7 +281,7 @@ rtp:
- autoload/gist.vim - autoload/gist.vim
- plugin/gist.vim - plugin/gist.vim
If you want to uninstall gist.vim, remember to also remove `~/.vim-gist`. If you want to uninstall gist.vim, remember to also remove `~/.gist-vim`.
You need to install webapi-vim also: You need to install webapi-vim also:
@ -301,7 +301,7 @@ REQUIREMENTS *vim-gist-requirements*
============================================================================== ==============================================================================
SETUP *vim-gist-setup* SETUP *vim-gist-setup*
This plugin uses GitHub API v3. The authentication value is stored in `~/.vim-gist`. This plugin uses GitHub API v3. The authentication value is stored in `~/.gist-vim`.
vim-gist provides two ways to authenticate against the GitHub APIs. vim-gist provides two ways to authenticate against the GitHub APIs.
First, you need to set your GitHub username in global git config: First, you need to set your GitHub username in global git config:
@ -316,9 +316,9 @@ be kept for later use. You can revoke the token at any time from the list of
If you have two-factor authentication enabled on GitHub, you'll see the message If you have two-factor authentication enabled on GitHub, you'll see the message
"Must specify two-factor authentication OTP code." In this case, you need to "Must specify two-factor authentication OTP code." In this case, you need to
create a "Personal Access Token" on GitHub's "Account Settings" page create a "Personal Access Token" on GitHub's "Developer settings" page
(https://github.com/settings/applications) and place it in a file (https://github.com/settings/tokens) with the gist scope and place it in a file
named ~/.vim-gist like this: named ~/.gist-vim like this:
> >
token xxxxx token xxxxx
< <
@ -340,7 +340,7 @@ NOTE: the username is optional if you only send anonymous gists.
FAQ *vim-gist-faq* FAQ *vim-gist-faq*
Q. :Gist returns a Forbidden error Q. :Gist returns a Forbidden error
A. Try deleting ~/.vim-gist and authenticating again. A. Try deleting ~/.gist-vim and authenticating again.
============================================================================== ==============================================================================
THANKS *vim-gist-thanks* THANKS *vim-gist-thanks*

View file

@ -262,8 +262,6 @@ The following options control which syntax extensions will be turned on. They ar
Highlight TOML front matter as used by [Hugo](https://gohugo.io/content/front-matter/). Highlight TOML front matter as used by [Hugo](https://gohugo.io/content/front-matter/).
TOML syntax highlight requires [vim-toml](https://github.com/cespare/vim-toml).
let g:vim_markdown_toml_frontmatter = 1 let g:vim_markdown_toml_frontmatter = 1
#### JSON Front Matter #### JSON Front Matter
@ -272,8 +270,6 @@ The following options control which syntax extensions will be turned on. They ar
Highlight JSON front matter as used by [Hugo](https://gohugo.io/content/front-matter/). Highlight JSON front matter as used by [Hugo](https://gohugo.io/content/front-matter/).
JSON syntax highlight requires [vim-json](https://github.com/elzr/vim-json).
let g:vim_markdown_json_frontmatter = 1 let g:vim_markdown_json_frontmatter = 1
#### Strikethrough #### Strikethrough

View file

@ -3,9 +3,9 @@ snippet do
${0:${VISUAL}} ${0:${VISUAL}}
end end
snippet put IO.puts snippet put IO.puts
IO.puts "${0}" IO.puts("${0}")
snippet ins IO.inspect snippet ins IO.inspect
IO.inspect ${0} IO.inspect(${0})
snippet insl IO.inspect with label snippet insl IO.inspect with label
IO.inspect(${0}label: "${1:label}") IO.inspect(${0}label: "${1:label}")
snippet if if .. do .. end snippet if if .. do .. end
@ -247,7 +247,7 @@ snippet >f pipe to filter
snippet >r pipe to reduce snippet >r pipe to reduce
|> Enum.reduce(${1:acc}, fn ${2}, ${3:acc} -> ${0} end) |> Enum.reduce(${1:acc}, fn ${2}, ${3:acc} -> ${0} end)
snippet >i pipe to inspect snippet >i pipe to inspect
|> IO.inspect |> IO.inspect()
snippet >il pipe to inspect with label snippet >il pipe to inspect with label
|> IO.inspect(label: "${1:label}") |> IO.inspect(label: "${1:label}")
snippet cs snippet cs
@ -265,22 +265,27 @@ snippet genserver basic genserver structure
use GenServer use GenServer
@doc false @doc false
def start_link do def start_link(init_args) do
GenServer.start_link(__MODULE__, ${1:Map.new}) GenServer.start_link(__MODULE__, init_args, name: __MODULE__)
end end
@impl true @impl true
def init(state) do def init(state) do
{:ok, state} {:ok, state}
end end
snippet genserver: basic genserver structure snippet super basic supervisor structure
use GenServer use Supervisor
@doc false @doc false
def start_link, do: GenServer.start_link(__MODULE__, ${1:Map.new}) def start_link(init_args) do
Supervisor.start_link(__MODULE__, init_args, name: __MODULE__)
end
@impl true @impl true
def init(state), do: {:ok, state} def init(_init_args) do
children = [${1}]
Supervisor.init(children, strategy: :one_for_one)
end
snippet impl snippet impl
@impl true @impl true
def ${1:name} do def ${1:name} do

View file

@ -199,18 +199,18 @@ snippet defds
snippet am snippet am
alias_method :${1:new_name}, :${0:old_name} alias_method :${1:new_name}, :${0:old_name}
snippet app snippet app
if __FILE__ == $PROGRAM_NAME if __FILE__ == \$PROGRAM_NAME
${0} ${0}
end end
# usage_if() # usage_if()
snippet usai snippet usai
if ARGV.${1} if ARGV.${1}
abort "Usage: #{$PROGRAM_NAME} ${2:ARGS_GO_HERE}"${0} abort "Usage: #{\$PROGRAM_NAME} ${2:ARGS_GO_HERE}"${0}
end end
# usage_unless() # usage_unless()
snippet usau snippet usau
unless ARGV.${1} unless ARGV.${1}
abort "Usage: #{$PROGRAM_NAME} ${2:ARGS_GO_HERE}"${0} abort "Usage: #{\$PROGRAM_NAME} ${2:ARGS_GO_HERE}"${0}
end end
snippet array snippet array
Array.new(${1:10}) { |${2:i}| ${0} } Array.new(${1:10}) { |${2:i}| ${0} }
@ -439,7 +439,7 @@ snippet optp
options = { ${0:default: 'args'} } options = { ${0:default: 'args'} }
ARGV.options do |opts| ARGV.options do |opts|
opts.banner = "Usage: #{File.basename($PROGRAM_NAME)}" opts.banner = "Usage: #{File.basename(\$PROGRAM_NAME)}"
end end
snippet opt snippet opt
opts.on('-${1:o}', '--${2:long-option-name}', ${3:String}, '${4:Option description.}') do |${5:opt}| opts.on('-${1:o}', '--${2:long-option-name}', ${3:String}, '${4:Option description.}') do |${5:opt}|