Forgot to check in the rest of the updated plugins :/
This commit is contained in:
parent
c6ba5aa440
commit
3978f7b467
|
@ -3,12 +3,15 @@
|
|||
|
||||
call ale#Set('proto_buf_lint_executable', 'buf')
|
||||
call ale#Set('proto_buf_lint_config', '')
|
||||
call ale#Set('proto_buf_lint_options', '')
|
||||
|
||||
function! ale_linters#proto#buf_lint#GetCommand(buffer) abort
|
||||
let l:config = ale#Var(a:buffer, 'proto_buf_lint_config')
|
||||
let l:options = ale#Var(a:buffer, 'proto_buf_lint_options')
|
||||
|
||||
return '%e lint'
|
||||
\ . (!empty(l:config) ? ' --config=' . ale#Escape(l:config) : '')
|
||||
\ . (!empty(l:options) ? ' ' . l:options : '')
|
||||
\ . ' %s#include_package_files=true'
|
||||
endfunction
|
||||
|
||||
|
@ -19,5 +22,5 @@ call ale#linter#Define('proto', {
|
|||
\ 'output_stream': 'stdout',
|
||||
\ 'executable': {b -> ale#Var(b, 'proto_buf_lint_executable')},
|
||||
\ 'command': function('ale_linters#proto#buf_lint#GetCommand'),
|
||||
\ 'callback': 'ale#handlers#unix#HandleAsError',
|
||||
\ 'callback': 'ale#handlers#go#Handler',
|
||||
\})
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
" Description: Volar Language Server integration for ALE adopted from
|
||||
" nvim-lspconfig and volar/packages/shared/src/types.ts
|
||||
|
||||
call ale#Set('vue_volar_executable', 'volar-server')
|
||||
call ale#Set('vue_volar_executable', 'vue-language-server')
|
||||
call ale#Set('vue_volar_use_global', get(g:, 'ale_use_global_executables', 0))
|
||||
call ale#Set('vue_volar_init_options', {
|
||||
\ 'documentFeatures': {
|
||||
|
@ -73,7 +73,7 @@ call ale#linter#Define('vue', {
|
|||
\ 'name': 'volar',
|
||||
\ 'language': 'vue',
|
||||
\ 'lsp': 'stdio',
|
||||
\ 'executable': {b -> ale#path#FindExecutable(b, 'vue_volar', ['node_modules/.bin/volar-server'])},
|
||||
\ 'executable': {b -> ale#path#FindExecutable(b, 'vue_volar', ['node_modules/.bin/vue-language-server'])},
|
||||
\ 'command': '%e --stdio',
|
||||
\ 'project_root': function('ale_linters#vue#volar#GetProjectRoot'),
|
||||
\ 'initialization_options': function('ale_linters#vue#volar#GetInitializationOptions'),
|
||||
|
|
|
@ -139,7 +139,7 @@ let s:should_complete_map = {
|
|||
" Regular expressions for finding the start column to replace with completion.
|
||||
let s:omni_start_map = {
|
||||
\ '<default>': '\v[a-zA-Z$_][a-zA-Z$_0-9]*$',
|
||||
\ 'racket': '\k\+',
|
||||
\ 'racket': '\k\+$',
|
||||
\}
|
||||
|
||||
" A map of exact characters for triggering LSP completions. Do not forget to
|
||||
|
|
|
@ -203,6 +203,10 @@ function! ale#engine#SetResults(buffer, loclist) abort
|
|||
call ale#highlight#SetHighlights(a:buffer, a:loclist)
|
||||
endif
|
||||
|
||||
if g:ale_virtualtext_cursor == 2
|
||||
call ale#virtualtext#SetTexts(a:buffer, a:loclist)
|
||||
endif
|
||||
|
||||
if l:linting_is_done
|
||||
if g:ale_echo_cursor
|
||||
" Try and echo the warning now.
|
||||
|
@ -210,7 +214,7 @@ function! ale#engine#SetResults(buffer, loclist) abort
|
|||
call ale#cursor#EchoCursorWarning()
|
||||
endif
|
||||
|
||||
if g:ale_virtualtext_cursor
|
||||
if g:ale_virtualtext_cursor == 1
|
||||
" Try and show the warning now.
|
||||
" This will only do something meaningful if we're in normal mode.
|
||||
call ale#virtualtext#ShowCursorWarning()
|
||||
|
|
|
@ -139,7 +139,7 @@ function! ale#events#Init() abort
|
|||
autocmd InsertLeave * if exists('*ale#engine#Cleanup') | call ale#cursor#EchoCursorWarning() | endif
|
||||
endif
|
||||
|
||||
if g:ale_virtualtext_cursor
|
||||
if g:ale_virtualtext_cursor == 1
|
||||
autocmd CursorMoved,CursorHold * if exists('*ale#engine#Cleanup') | call ale#virtualtext#ShowCursorWarningWithDelay() | endif
|
||||
" Look for a warning to echo as soon as we leave Insert mode.
|
||||
" The script's position variable used when moving the cursor will
|
||||
|
|
|
@ -221,6 +221,11 @@ let s:default_registry = {
|
|||
\ 'suggested_filetypes': ['swift'],
|
||||
\ 'description': 'Apply SwiftFormat to a file.',
|
||||
\ },
|
||||
\ 'syntax_tree': {
|
||||
\ 'function': 'ale#fixers#syntax_tree#Fix',
|
||||
\ 'suggested_filetypes': ['ruby'],
|
||||
\ 'description': 'Fix ruby files with stree write',
|
||||
\ },
|
||||
\ 'apple-swift-format': {
|
||||
\ 'function': 'ale#fixers#appleswiftformat#Fix',
|
||||
\ 'suggested_filetypes': ['swift'],
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
" Author: Jan-Grimo Sobez <jan-grimo.sobez@phys.chem.ethz.ch>
|
||||
" Author: Kevin Clark <kevin.clark@gmail.com>
|
||||
" Author: D. Ben Knoble <ben.knoble+github@gmail.com>
|
||||
" Author: Shaun Duncan <shaun.duncan@gmail.com>
|
||||
" Description: Floating preview window for showing whatever information in.
|
||||
|
||||
" Precondition: exists('*nvim_open_win') || has('popupwin')
|
||||
|
@ -133,15 +134,18 @@ function! s:NvimPrepareWindowContent(lines) abort
|
|||
endfunction
|
||||
|
||||
function! s:NvimCreate(options) abort
|
||||
let l:popup_opts = extend({
|
||||
\ 'relative': 'cursor',
|
||||
\ 'row': 1,
|
||||
\ 'col': 0,
|
||||
\ 'width': 42,
|
||||
\ 'height': 4,
|
||||
\ 'style': 'minimal'
|
||||
\ }, s:GetPopupOpts())
|
||||
|
||||
let l:buffer = nvim_create_buf(v:false, v:false)
|
||||
let l:winid = nvim_open_win(l:buffer, v:false, {
|
||||
\ 'relative': 'cursor',
|
||||
\ 'row': 1,
|
||||
\ 'col': 0,
|
||||
\ 'width': 42,
|
||||
\ 'height': 4,
|
||||
\ 'style': 'minimal'
|
||||
\ })
|
||||
let l:winid = nvim_open_win(l:buffer, v:false, l:popup_opts)
|
||||
|
||||
call nvim_buf_set_option(l:buffer, 'buftype', 'acwrite')
|
||||
call nvim_buf_set_option(l:buffer, 'bufhidden', 'delete')
|
||||
call nvim_buf_set_option(l:buffer, 'swapfile', v:false)
|
||||
|
@ -151,7 +155,8 @@ function! s:NvimCreate(options) abort
|
|||
endfunction
|
||||
|
||||
function! s:VimCreate(options) abort
|
||||
let l:popup_id = popup_create([], {
|
||||
" default options
|
||||
let l:popup_opts = extend({
|
||||
\ 'line': 'cursor+1',
|
||||
\ 'col': 'cursor',
|
||||
\ 'drag': v:true,
|
||||
|
@ -170,7 +175,9 @@ function! s:VimCreate(options) abort
|
|||
\ get(g:ale_floating_window_border, 5, '+'),
|
||||
\ ],
|
||||
\ 'moved': 'any',
|
||||
\ })
|
||||
\ }, s:GetPopupOpts())
|
||||
|
||||
let l:popup_id = popup_create([], l:popup_opts)
|
||||
call setbufvar(winbufnr(l:popup_id), '&filetype', get(a:options, 'filetype', 'ale-preview'))
|
||||
let w:preview = {'id': l:popup_id}
|
||||
endfunction
|
||||
|
@ -204,3 +211,21 @@ function! s:VimClose() abort
|
|||
call popup_close(w:preview['id'])
|
||||
unlet w:preview
|
||||
endfunction
|
||||
|
||||
" get either the results of a function callback or dictionary for popup overrides
|
||||
function! s:GetPopupOpts() abort
|
||||
if exists('g:ale_floating_preview_popup_opts')
|
||||
let l:ref = g:ale_floating_preview_popup_opts
|
||||
|
||||
if type(l:ref) is# v:t_dict
|
||||
return l:ref
|
||||
elseif type(l:ref) is# v:t_string
|
||||
try
|
||||
return function(l:ref)()
|
||||
catch /E700/
|
||||
endtry
|
||||
endif
|
||||
endif
|
||||
|
||||
return {}
|
||||
endfunction
|
||||
|
|
|
@ -29,6 +29,8 @@ function! ale#handlers#deno#GetProjectRoot(buffer) abort
|
|||
endif
|
||||
|
||||
let l:possible_project_roots = [
|
||||
\ 'deno.json',
|
||||
\ 'deno.jsonc',
|
||||
\ 'tsconfig.json',
|
||||
\ '.git',
|
||||
\ bufname(a:buffer),
|
||||
|
|
|
@ -339,6 +339,10 @@ function! ale#hover#ShowTruncatedMessageAtCursor() abort
|
|||
let l:buffer = bufnr('')
|
||||
let l:pos = getpos('.')[0:2]
|
||||
|
||||
if !getbufvar(l:buffer, 'ale_enabled', 1)
|
||||
return
|
||||
endif
|
||||
|
||||
if l:pos != s:last_pos
|
||||
let s:last_pos = l:pos
|
||||
let [l:info, l:loc] = ale#util#FindItemAtCursor(l:buffer)
|
||||
|
|
|
@ -141,6 +141,10 @@ function! s:HandleLSPErrorMessage(linter_name, response) abort
|
|||
return
|
||||
endif
|
||||
|
||||
call ale#lsp_linter#AddErrorMessage(a:linter_name, l:message)
|
||||
endfunction
|
||||
|
||||
function! ale#lsp_linter#AddErrorMessage(linter_name, message) abort
|
||||
" This global variable is set here so we don't load the debugging.vim file
|
||||
" until someone uses :ALEInfo.
|
||||
let g:ale_lsp_error_messages = get(g:, 'ale_lsp_error_messages', {})
|
||||
|
@ -149,7 +153,7 @@ function! s:HandleLSPErrorMessage(linter_name, response) abort
|
|||
let g:ale_lsp_error_messages[a:linter_name] = []
|
||||
endif
|
||||
|
||||
call add(g:ale_lsp_error_messages[a:linter_name], l:message)
|
||||
call add(g:ale_lsp_error_messages[a:linter_name], a:message)
|
||||
endfunction
|
||||
|
||||
function! ale#lsp_linter#HandleLSPResponse(conn_id, response) abort
|
||||
|
@ -430,6 +434,8 @@ function! ale#lsp_linter#StartLSP(buffer, linter, Callback) abort
|
|||
if empty(l:root) && a:linter.lsp isnot# 'tsserver'
|
||||
" If there's no project root, then we can't check files with LSP,
|
||||
" unless we are using tsserver, which doesn't use project roots.
|
||||
call ale#lsp_linter#AddErrorMessage(a:linter.name, "Failed to find project root, language server wont't start.")
|
||||
|
||||
return 0
|
||||
endif
|
||||
|
||||
|
|
|
@ -14,8 +14,8 @@ function! s:DisablePostamble() abort
|
|||
call ale#highlight#UpdateHighlights()
|
||||
endif
|
||||
|
||||
if g:ale_virtualtext_cursor
|
||||
call ale#virtualtext#Clear()
|
||||
if g:ale_virtualtext_cursor == 1
|
||||
call ale#virtualtext#Clear(bufnr(''))
|
||||
endif
|
||||
endfunction
|
||||
|
||||
|
|
|
@ -8,52 +8,59 @@ let g:ale_virtualtext_delay = get(g:, 'ale_virtualtext_delay', 10)
|
|||
let s:cursor_timer = -1
|
||||
let s:last_pos = [0, 0, 0]
|
||||
let s:has_virt_text = 0
|
||||
let s:emulate_virt = 0
|
||||
|
||||
if has('nvim-0.3.2')
|
||||
let s:ns_id = nvim_create_namespace('ale')
|
||||
let s:has_virt_text = 1
|
||||
elseif has('textprop') && has('popupwin')
|
||||
call prop_type_add('ale', {})
|
||||
let s:last_popup = -1
|
||||
let s:has_virt_text = 1
|
||||
let s:emulate_virt = !has('patch-9.0.0297')
|
||||
let s:hl_list = []
|
||||
|
||||
if s:emulate_virt
|
||||
call prop_type_add('ale', {})
|
||||
let s:last_virt = -1
|
||||
endif
|
||||
endif
|
||||
|
||||
function! ale#virtualtext#Clear() abort
|
||||
function! ale#virtualtext#Clear(buf) abort
|
||||
if !s:has_virt_text
|
||||
return
|
||||
endif
|
||||
|
||||
let l:buffer = bufnr('')
|
||||
|
||||
if has('nvim')
|
||||
call nvim_buf_clear_highlight(l:buffer, s:ns_id, 0, -1)
|
||||
call nvim_buf_clear_namespace(a:buf, s:ns_id, 0, -1)
|
||||
else
|
||||
if s:last_popup != -1
|
||||
if s:emulate_virt && s:last_virt != -1
|
||||
call prop_remove({'type': 'ale'})
|
||||
call popup_close(s:last_popup)
|
||||
let s:last_popup = -1
|
||||
call popup_close(s:last_virt)
|
||||
let s:last_virt = -1
|
||||
elseif !empty(s:hl_list)
|
||||
call prop_remove({
|
||||
\ 'types': s:hl_list,
|
||||
\ 'all': 1,
|
||||
\ 'bufnr': a:buf})
|
||||
endif
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! ale#virtualtext#ShowMessage(message, hl_group) abort
|
||||
if !s:has_virt_text
|
||||
function! ale#virtualtext#ShowMessage(message, hl_group, buf, line) abort
|
||||
if !s:has_virt_text || !bufexists(str2nr(a:buf))
|
||||
return
|
||||
endif
|
||||
|
||||
let l:line = line('.')
|
||||
let l:buffer = bufnr('')
|
||||
let l:prefix = get(g:, 'ale_virtualtext_prefix', '> ')
|
||||
let l:msg = l:prefix.trim(substitute(a:message, '\n', ' ', 'g'))
|
||||
|
||||
if has('nvim')
|
||||
call nvim_buf_set_virtual_text(l:buffer, s:ns_id, l:line-1, [[l:msg, a:hl_group]], {})
|
||||
else
|
||||
call nvim_buf_set_virtual_text(a:buf, s:ns_id, a:line-1, [[l:msg, a:hl_group]], {})
|
||||
elseif s:emulate_virt
|
||||
let l:left_pad = col('$')
|
||||
call prop_add(l:line, l:left_pad, {
|
||||
call prop_add(a:line, l:left_pad, {
|
||||
\ 'type': 'ale',
|
||||
\})
|
||||
let s:last_popup = popup_create(l:msg, {
|
||||
let s:last_virt = popup_create(l:msg, {
|
||||
\ 'line': -1,
|
||||
\ 'padding': [0, 0, 0, 1],
|
||||
\ 'mask': [[1, 1, 1, 1]],
|
||||
|
@ -63,6 +70,19 @@ function! ale#virtualtext#ShowMessage(message, hl_group) abort
|
|||
\ 'wrap': 0,
|
||||
\ 'zindex': 2
|
||||
\})
|
||||
else
|
||||
let type = prop_type_get(a:hl_group)
|
||||
|
||||
if type == {}
|
||||
call add(s:hl_list, a:hl_group)
|
||||
call prop_type_add(a:hl_group, {'highlight': a:hl_group})
|
||||
endif
|
||||
|
||||
call prop_add(a:line, 0, {
|
||||
\ 'type': a:hl_group,
|
||||
\ 'text': ' ' . l:msg,
|
||||
\ 'bufnr': a:buf
|
||||
\})
|
||||
endif
|
||||
endfunction
|
||||
|
||||
|
@ -73,8 +93,26 @@ function! s:StopCursorTimer() abort
|
|||
endif
|
||||
endfunction
|
||||
|
||||
function! ale#virtualtext#GetHlGroup(type, style) abort
|
||||
if a:type is# 'E'
|
||||
if a:style is# 'style'
|
||||
return 'ALEVirtualTextStyleError'
|
||||
else
|
||||
return 'ALEVirtualTextError'
|
||||
endif
|
||||
elseif a:type is# 'W'
|
||||
if a:style is# 'style'
|
||||
return 'ALEVirtualTextStyleWarning'
|
||||
else
|
||||
return 'ALEVirtualTextWarning'
|
||||
endif
|
||||
else
|
||||
return 'ALEVirtualTextInfo'
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! ale#virtualtext#ShowCursorWarning(...) abort
|
||||
if !g:ale_virtualtext_cursor
|
||||
if g:ale_virtualtext_cursor != 1
|
||||
return
|
||||
endif
|
||||
|
||||
|
@ -90,35 +128,21 @@ function! ale#virtualtext#ShowCursorWarning(...) abort
|
|||
|
||||
let [l:info, l:loc] = ale#util#FindItemAtCursor(l:buffer)
|
||||
|
||||
call ale#virtualtext#Clear()
|
||||
call ale#virtualtext#Clear(l:buffer)
|
||||
|
||||
if !empty(l:loc)
|
||||
let l:msg = l:loc.text
|
||||
let l:hl_group = 'ALEVirtualTextInfo'
|
||||
let l:type = get(l:loc, 'type', 'E')
|
||||
|
||||
if l:type is# 'E'
|
||||
if get(l:loc, 'sub_type', '') is# 'style'
|
||||
let l:hl_group = 'ALEVirtualTextStyleError'
|
||||
else
|
||||
let l:hl_group = 'ALEVirtualTextError'
|
||||
endif
|
||||
elseif l:type is# 'W'
|
||||
if get(l:loc, 'sub_type', '') is# 'style'
|
||||
let l:hl_group = 'ALEVirtualTextStyleWarning'
|
||||
else
|
||||
let l:hl_group = 'ALEVirtualTextWarning'
|
||||
endif
|
||||
endif
|
||||
|
||||
call ale#virtualtext#ShowMessage(l:msg, l:hl_group)
|
||||
let l:style = get(l:loc, 'sub_type', '')
|
||||
let l:hl_group = ale#virtualtext#GetHlGroup(l:type, l:style)
|
||||
call ale#virtualtext#ShowMessage(l:msg, l:hl_group, l:buffer, line('.'))
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! ale#virtualtext#ShowCursorWarningWithDelay() abort
|
||||
let l:buffer = bufnr('')
|
||||
|
||||
if !g:ale_virtualtext_cursor
|
||||
if g:ale_virtualtext_cursor != 1
|
||||
return
|
||||
endif
|
||||
|
||||
|
@ -145,3 +169,19 @@ function! ale#virtualtext#ShowCursorWarningWithDelay() abort
|
|||
endif
|
||||
endfunction
|
||||
|
||||
function! ale#virtualtext#SetTexts(buf, loclist) abort
|
||||
if !has('nvim') && s:emulate_virt
|
||||
return
|
||||
endif
|
||||
|
||||
call ale#virtualtext#Clear(a:buf)
|
||||
|
||||
for l in a:loclist
|
||||
if l['bufnr'] != a:buf
|
||||
continue
|
||||
endif
|
||||
|
||||
let hl = ale#virtualtext#GetHlGroup(l['type'], get(l, 'sub_type', ''))
|
||||
call ale#virtualtext#ShowMessage(l['text'], hl, a:buf, l['lnum'])
|
||||
endfor
|
||||
endfunction
|
||||
|
|
|
@ -219,5 +219,25 @@ g:ale_ruby_standardrb_options *g:ale_ruby_standardrb_options*
|
|||
This variable can be changed to modify flags given to standardrb.
|
||||
|
||||
|
||||
===============================================================================
|
||||
syntax_tree *ale-ruby-syntax_tree*
|
||||
|
||||
g:ale_ruby_syntax_tree_executable *g:ale_ruby_syntax_tree_executable*
|
||||
*b:ale_ruby_syntax_tree_executable*
|
||||
Type: String
|
||||
Default: `'stree'`
|
||||
|
||||
Override the invoked SyntaxTree binary. Set this to `'bundle'` to invoke
|
||||
`'bundle` `exec` stree'.
|
||||
|
||||
|
||||
g:ale_ruby_syntax_tree_options *g:ale_ruby_syntax_tree_options*
|
||||
*b:ale_ruby_syntax_tree_options*
|
||||
Type: |String|
|
||||
Default: `''`
|
||||
|
||||
This variable can be changed to modify flags given to SyntaxTree.
|
||||
|
||||
|
||||
===============================================================================
|
||||
vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:
|
||||
|
|
|
@ -52,6 +52,8 @@ Notes:
|
|||
* `buildifier`
|
||||
* BibTeX
|
||||
* `bibclean`
|
||||
* Bicep
|
||||
* `bicep`
|
||||
* BitBake
|
||||
* `oelint-adv`
|
||||
* Bourne Shell
|
||||
|
@ -529,6 +531,7 @@ Notes:
|
|||
* `solargraph`
|
||||
* `sorbet`
|
||||
* `standardrb`
|
||||
* `syntax_tree`
|
||||
* Rust
|
||||
* `cargo`!!
|
||||
* `cspell`
|
||||
|
@ -664,6 +667,7 @@ Notes:
|
|||
* YAML
|
||||
* `actionlint`
|
||||
* `circleci`!!
|
||||
* `gitlablint`
|
||||
* `prettier`
|
||||
* `spectral`
|
||||
* `swaglint`
|
||||
|
|
|
@ -42,7 +42,7 @@ volar *ale-vue-volar*
|
|||
g:ale_vue_volar_executable *g:ale_vue_volar_executable*
|
||||
*b:ale_vue_volar_executable*
|
||||
Type: |String|
|
||||
Default: `'volar-server'`
|
||||
Default: `'vue-language-server'`
|
||||
|
||||
See |ale-integrations-local-executables|
|
||||
|
||||
|
|
|
@ -280,5 +280,52 @@ g:ale_yaml_yamllint_options *g:ale_yaml_yamllint_options*
|
|||
This variable can be set to pass additional options to yamllint.
|
||||
|
||||
|
||||
===============================================================================
|
||||
gitlablint *ale-yaml-gitlablint*
|
||||
|
||||
Website: https://github.com/elijah-roberts/gitlab-lint
|
||||
|
||||
|
||||
Installation
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
Install yamllint in your a virtualenv directory, locally, or globally: >
|
||||
|
||||
pip3 install gitlab_lint # After activating virtualenv
|
||||
pip3 install --user gitlab_lint # Install to ~/.local/bin
|
||||
sudo pip3 install gitlab_lint # Install globally
|
||||
|
||||
See |g:ale_virtualenv_dir_names| for configuring how ALE searches for
|
||||
virtualenv directories.
|
||||
|
||||
Is recommended to use |g:ale_pattern_options| to enable this linter so it only
|
||||
applies to 'gitlab-ci.yml' files and not all yaml files:
|
||||
>
|
||||
let g:ale_pattern_options = {
|
||||
\ '.gitlab-ci\.yml$': {
|
||||
\ 'ale_linters': ['gitlablint'],
|
||||
\ },
|
||||
\}
|
||||
<
|
||||
|
||||
Options
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
g:ale_yaml_gitlablint_executable *g:ale_yaml_gitlablint_executable*
|
||||
*b:ale_yaml_gitlablint_executable*
|
||||
Type: |String|
|
||||
Default: `'gll'`
|
||||
|
||||
This variable can be set to change the path to gll.
|
||||
|
||||
|
||||
g:ale_yaml_gitlablint_options *g:ale_yaml_gitlablint_options*
|
||||
*b:ale_yaml_gitlablint_options*
|
||||
Type: |String|
|
||||
Default: `''`
|
||||
|
||||
This variable can be set to pass additional options to gll.
|
||||
|
||||
|
||||
===============================================================================
|
||||
vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:
|
||||
|
|
|
@ -1234,6 +1234,29 @@ g:ale_floating_preview *g:ale_floating_preview*
|
|||
|g:ale_detail_to_floating_preview| to `1`.
|
||||
|
||||
|
||||
g:ale_floating_preview_popup_opts *g:ale_floating_preview_popup_opts*
|
||||
|
||||
Type: |String| or |Dictionary|
|
||||
Default: `''`
|
||||
|
||||
Either a dictionary of options or the string name of a function that returns a
|
||||
dictionary of options. This will be used as an argument to |popup_create| for
|
||||
Vim users or |nvim_open_win| for NeoVim users. Note that in either case, the
|
||||
resulting dictionary is merged with ALE defaults rather than expliciting overriding
|
||||
them. This only takes effect if |g:ale_floating_preview| is enabled.
|
||||
|
||||
NOTE: for Vim users see |popup_create-arguments|, for NeoVim users see
|
||||
|nvim_open_win| for argument details
|
||||
|
||||
For example, to enhance popups with a title: >
|
||||
|
||||
function! CustomOpts() abort {
|
||||
let [l:info, l:loc] = ale#util#FindItemAtCursor(bufnr(''))
|
||||
return {'title': ' ALE: ' . (l:loc.linter_name) . ' '}
|
||||
endfunction
|
||||
<
|
||||
|
||||
|
||||
g:ale_floating_window_border *g:ale_floating_window_border*
|
||||
|
||||
Type: |List|
|
||||
|
@ -2274,6 +2297,9 @@ g:ale_virtualtext_cursor *g:ale_virtualtext_cursor*
|
|||
column nearest to the cursor when the cursor is resting on a line which
|
||||
contains a warning or error. This option can be set to `0` to disable this
|
||||
behavior.
|
||||
When this option is set to `2`, then all warnings will be shown for the
|
||||
whole buffer, regardless of if the cursor is currently positioned in that
|
||||
line.
|
||||
|
||||
Messages are only displayed after a short delay. See |g:ale_virtualtext_delay|.
|
||||
|
||||
|
@ -2761,6 +2787,8 @@ documented in additional help files.
|
|||
buildifier............................|ale-bazel-buildifier|
|
||||
bib.....................................|ale-bib-options|
|
||||
bibclean..............................|ale-bib-bibclean|
|
||||
bicep...................................|ale-bicep-options|
|
||||
bicep.................................|ale-bicep-bicep|
|
||||
bitbake.................................|ale-bitbake-options|
|
||||
oelint-adv............................|ale-bitbake-oelint_adv|
|
||||
c.......................................|ale-c-options|
|
||||
|
@ -3167,6 +3195,7 @@ documented in additional help files.
|
|||
solargraph............................|ale-ruby-solargraph|
|
||||
sorbet................................|ale-ruby-sorbet|
|
||||
standardrb............................|ale-ruby-standardrb|
|
||||
syntax_tree...........................|ale-ruby-syntax_tree|
|
||||
rust....................................|ale-rust-options|
|
||||
analyzer..............................|ale-rust-analyzer|
|
||||
cargo.................................|ale-rust-cargo|
|
||||
|
@ -3302,6 +3331,7 @@ documented in additional help files.
|
|||
yaml-language-server..................|ale-yaml-language-server|
|
||||
yamlfix...............................|ale-yaml-yamlfix|
|
||||
yamllint..............................|ale-yaml-yamllint|
|
||||
gitlablint............................|ale-yaml-gitlablint|
|
||||
yang....................................|ale-yang-options|
|
||||
yang-lsp..............................|ale-yang-lsp|
|
||||
zeek....................................|ale-zeek-options|
|
||||
|
|
|
@ -322,7 +322,7 @@ nnoremap <silent> <Plug>(ale_go_to_definition_in_vsplit) :ALEGoToDefinition -vsp
|
|||
nnoremap <silent> <Plug>(ale_go_to_type_definition) :ALEGoToTypeDefinition<Return>
|
||||
nnoremap <silent> <Plug>(ale_go_to_type_definition_in_tab) :ALEGoToTypeDefinition -tab<Return>
|
||||
nnoremap <silent> <Plug>(ale_go_to_type_definition_in_split) :ALEGoToTypeDefinition -split<Return>
|
||||
nnoremap <silent> <Plug>(ale_go_to_type_definition_in_vsplit) :ALEGoToTypeDefinitionIn -vsplit<Return>
|
||||
nnoremap <silent> <Plug>(ale_go_to_type_definition_in_vsplit) :ALEGoToTypeDefinition -vsplit<Return>
|
||||
nnoremap <silent> <Plug>(ale_go_to_implementation_in_tab) :ALEGoToImplementation -tab<Return>
|
||||
nnoremap <silent> <Plug>(ale_go_to_implementation_in_split) :ALEGoToImplementation -split<Return>
|
||||
nnoremap <silent> <Plug>(ale_go_to_implementation_in_vsplit) :ALEGoToImplementation -vsplit<Return>
|
||||
|
|
|
@ -61,6 +61,8 @@ formatting.
|
|||
* [buildifier](https://github.com/bazelbuild/buildtools)
|
||||
* BibTeX
|
||||
* [bibclean](http://ftp.math.utah.edu/pub/bibclean/)
|
||||
* Bicep
|
||||
* [bicep](https://github.com/Azure/bicep)
|
||||
* BitBake
|
||||
* [oelint-adv](https://github.com/priv-kweihmann/oelint-adv)
|
||||
* Bourne Shell
|
||||
|
@ -538,6 +540,7 @@ formatting.
|
|||
* [solargraph](https://solargraph.org)
|
||||
* [sorbet](https://github.com/sorbet/sorbet)
|
||||
* [standardrb](https://github.com/testdouble/standard)
|
||||
* [syntax_tree](https://github.com/ruby-syntax-tree/syntax_tree)
|
||||
* Rust
|
||||
* [cargo](https://github.com/rust-lang/cargo) :floppy_disk: (see `:help ale-integration-rust` for configuration instructions)
|
||||
* [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell)
|
||||
|
@ -673,6 +676,7 @@ formatting.
|
|||
* YAML
|
||||
* [actionlint](https://github.com/rhysd/actionlint) :warning:
|
||||
* [circleci](https://circleci.com/docs/2.0/local-cli) :floppy_disk: :warning:
|
||||
* [gitlablint](https://github.com/elijah-roberts/gitlab-lint)
|
||||
* [prettier](https://github.com/prettier/prettier)
|
||||
* [spectral](https://github.com/stoplightio/spectral)
|
||||
* [swaglint](https://github.com/byCedric/swaglint) :warning:
|
||||
|
|
|
@ -50,6 +50,8 @@ if !exists("no_plugin_maps") && !exists("no_flake8_maps")
|
|||
endif
|
||||
endif
|
||||
|
||||
command! Flake :call flake8#Flake8()
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
|
|
|
@ -1598,11 +1598,20 @@ function! fugitive#repo(...) abort
|
|||
endfunction
|
||||
|
||||
function! s:repo_dir(...) dict abort
|
||||
throw 'fugitive: fugitive#repo().dir() has been replaced by FugitiveGitDir()'
|
||||
if !a:0
|
||||
return self.git_dir
|
||||
endif
|
||||
throw 'fugitive: fugitive#repo().dir("...") has been replaced by FugitiveFind(".git/...")'
|
||||
endfunction
|
||||
|
||||
function! s:repo_tree(...) dict abort
|
||||
throw 'fugitive: fugitive#repo().tree() has been replaced by FugitiveFind(":/")'
|
||||
let tree = s:Tree(self.git_dir)
|
||||
if empty(tree)
|
||||
throw 'fugitive: no work tree'
|
||||
elseif !a:0
|
||||
return tree
|
||||
endif
|
||||
throw 'fugitive: fugitive#repo().tree("...") has been replaced by FugitiveFind(":(top)...")'
|
||||
endfunction
|
||||
|
||||
function! s:repo_bare() dict abort
|
||||
|
@ -1628,11 +1637,11 @@ function! s:repo_git_command(...) dict abort
|
|||
endfunction
|
||||
|
||||
function! s:repo_git_chomp(...) dict abort
|
||||
throw 'fugitive: fugitive#repo().git_chomp(...) has been replaced by FugitiveExecute(...).stdout'
|
||||
silent return substitute(system(fugitive#ShellCommand(a:000, self.git_dir)), '\n$', '', '')
|
||||
endfunction
|
||||
|
||||
function! s:repo_git_chomp_in_tree(...) dict abort
|
||||
throw 'fugitive: fugitive#repo().git_chomp_in_tree(...) has been replaced by FugitiveExecute(...).stdout'
|
||||
return call(self.git_chomp, a:000, self)
|
||||
endfunction
|
||||
|
||||
function! s:repo_rev_parse(rev) dict abort
|
||||
|
@ -1642,7 +1651,7 @@ endfunction
|
|||
call s:add_methods('repo',['git_command','git_chomp','git_chomp_in_tree','rev_parse'])
|
||||
|
||||
function! s:repo_config(name) dict abort
|
||||
throw 'fugitive: fugitive#repo().config(...) has been replaced by FugitiveConfigGet(...)'
|
||||
return FugitiveConfigGet(a:name, self.git_dir)
|
||||
endfunction
|
||||
|
||||
call s:add_methods('repo',['config'])
|
||||
|
@ -2388,7 +2397,7 @@ function! s:GlobComplete(lead, pattern, ...) abort
|
|||
if a:lead ==# '/'
|
||||
return []
|
||||
else
|
||||
let results = glob(a:lead . a:pattern, a:0 ? a:1 : 0, 1)
|
||||
let results = glob(substitute(a:lead . a:pattern, '[\{}]', '\\&', 'g'), a:0 ? a:1 : 0, 1)
|
||||
endif
|
||||
call map(results, 'v:val !~# "/$" && isdirectory(v:val) ? v:val."/" : v:val')
|
||||
call map(results, 'v:val[ strlen(a:lead) : -1 ]')
|
||||
|
@ -7196,9 +7205,9 @@ function! s:BlameMaps(is_ftplugin) abort
|
|||
call s:Map('n', 'o', ':<C-U>exe <SID>BlameCommit("split")<CR>', '<silent>', ft)
|
||||
call s:Map('n', 'O', ':<C-U>exe <SID>BlameCommit("tabedit")<CR>', '<silent>', ft)
|
||||
call s:Map('n', 'p', ':<C-U>exe <SID>BlameCommit("pedit")<CR>', '<silent>', ft)
|
||||
call s:Map('n', '.', ":<C-U> <C-R>=substitute(<SID>BlameCommitFileLnum()[0],'^$','@','')<CR><Home>", ft)
|
||||
call s:Map('n', '(', "-", ft)
|
||||
call s:Map('n', ')', "+", ft)
|
||||
exe s:Map('n', '.', ":<C-U> <C-R>=substitute(<SID>BlameCommitFileLnum()[0],'^$','@','')<CR><Home>", '', ft)
|
||||
exe s:Map('n', '(', "-", '', ft)
|
||||
exe s:Map('n', ')', "+", '', ft)
|
||||
call s:Map('n', 'A', ":<C-u>exe 'vertical resize '.(<SID>linechars('.\\{-\\}\\ze [0-9:/+-][0-9:/+ -]* \\d\\+)')+1+v:count)<CR>", '<silent>', ft)
|
||||
call s:Map('n', 'C', ":<C-u>exe 'vertical resize '.(<SID>linechars('^\\S\\+')+1+v:count)<CR>", '<silent>', ft)
|
||||
call s:Map('n', 'D', ":<C-u>exe 'vertical resize '.(<SID>linechars('.\\{-\\}\\ze\\d\\ze\\s\\+\\d\\+)')+1-v:count)<CR>", '<silent>', ft)
|
||||
|
|
|
@ -689,6 +689,9 @@ augroup fugitive
|
|||
\ if FugitiveIsGitDir(expand('<amatch>:p:h')) |
|
||||
\ let b:git_dir = s:Slash(expand('<amatch>:p:h')) |
|
||||
\ exe fugitive#BufReadStatus(v:cmdbang) |
|
||||
\ echohl WarningMSG |
|
||||
\ echo "fugitive: Direct editing of .git/" . expand('%:t') . " is deprecated" |
|
||||
\ echohl NONE |
|
||||
\ elseif filereadable(expand('<amatch>')) |
|
||||
\ silent doautocmd BufReadPre |
|
||||
\ keepalt noautocmd read <amatch> |
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
let s:available = has('nvim') || (
|
||||
\ has('job') && (
|
||||
\ (has('patch-7-4-1826') && !has('gui_running')) ||
|
||||
\ (has('patch-7-4-1850') && has('gui_running')) ||
|
||||
\ (has('patch-7-4-1832') && has('gui_macvim'))
|
||||
\ (has('patch-7.4.1826') && !has('gui_running')) ||
|
||||
\ (has('patch-7.4.1850') && has('gui_running')) ||
|
||||
\ (has('patch-7.4.1832') && has('gui_macvim'))
|
||||
\ )
|
||||
\ )
|
||||
|
||||
|
|
|
@ -245,8 +245,10 @@ function! s:on_bufenter()
|
|||
" been any changes to the buffer since the first round, the second round
|
||||
" will be cheap.
|
||||
if has('vim_starting') && !$VIM_GITGUTTER_TEST
|
||||
if exists('*timer_start')
|
||||
call timer_start(&updatetime, 'GitGutterCursorHold')
|
||||
if exists('*timer_start') && has('lambda')
|
||||
call s:next_tick("call gitgutter#process_buffer(+".bufnr('').", 0)")
|
||||
else
|
||||
call gitgutter#process_buffer(bufnr(''), 0)
|
||||
endif
|
||||
return
|
||||
endif
|
||||
|
@ -259,10 +261,6 @@ function! s:on_bufenter()
|
|||
endif
|
||||
endfunction
|
||||
|
||||
function! GitGutterCursorHold(timer)
|
||||
execute 'doautocmd' s:nomodeline 'gitgutter CursorHold'
|
||||
endfunction
|
||||
|
||||
function! s:next_tick(cmd)
|
||||
call timer_start(1, {-> execute(a:cmd)})
|
||||
endfunction
|
||||
|
|
|
@ -18,7 +18,8 @@ syntax region jsDocTypeRecord contained start=/{/ end=/}/ contains=jsDocTypeRe
|
|||
syntax region jsDocTypeRecord contained start=/\[/ end=/\]/ contains=jsDocTypeRecord extend
|
||||
syntax region jsDocTypeNoParam contained start="{" end="}" oneline
|
||||
syntax match jsDocTypeNoParam contained "\%(#\|\"\|\w\|\.\|:\|\/\)\+"
|
||||
syntax match jsDocParam contained "\%(#\|\$\|-\|'\|\"\|{.\{-}}\|\w\|\.\|:\|\/\|\[.\{-}]\|=\)\+"
|
||||
syntax match jsDocParam contained "\%(#\|\$\|-\|'\|\"\|{.\{-}}\|\w\|\~\|\.\|:\|\/\|\[.\{-}]\|=\)\+"
|
||||
|
||||
syntax region jsDocSeeTag contained matchgroup=jsDocSeeTag start="{" end="}" contains=jsDocTags
|
||||
|
||||
if version >= 508 || !exists("did_javascript_syn_inits")
|
||||
|
|
|
@ -28,7 +28,7 @@ syntax match jsNoise /[:;]/
|
|||
syntax match jsNoise /,/ skipwhite skipempty nextgroup=@jsExpression
|
||||
syntax match jsDot /\./ skipwhite skipempty nextgroup=jsObjectProp,jsFuncCall,jsPrototype,jsTaggedTemplate
|
||||
syntax match jsObjectProp contained /\<\K\k*/
|
||||
syntax match jsFuncCall /\<\K\k*\ze\s*(/
|
||||
syntax match jsFuncCall /\<\K\k*\ze[\s\n]*(/
|
||||
syntax match jsParensError /[)}\]]/
|
||||
|
||||
" Program Keywords
|
||||
|
|
|
@ -34,7 +34,7 @@ There are many flavors of markdown, each one with an unique feature set. This pl
|
|||
|
||||
## Style
|
||||
|
||||
When choosing between multiple valid Markdown syntaxes, the default behavior must be that specified at: <http://www.cirosantilli.com/markdown-styleguide>
|
||||
When choosing between multiple valid Markdown syntaxes, the default behavior must be that specified at: <https://cirosantilli.com/markdown-style-guide>
|
||||
|
||||
If you wish to have a behavior that differs from that style guide, add an option to turn it on or off, and leave it off by default.
|
||||
|
||||
|
|
|
@ -398,11 +398,6 @@ if !exists("b:ruby_no_expensive") && !exists("ruby_no_expensive")
|
|||
|
||||
SynFold 'for' syn region rubyRepeatExpression start="\<for\>" start="\%(\%(^\|\.\.\.\=\|[{:,;([<>~\*/%&^|+=-]\|\%(\<\%(\h\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*\)\@<![!?]\)\s*\)\@<=\<\%(until\|while\)\>" matchgroup=rubyRepeat skip="\<end:" end="\<end\>" contains=ALLBUT,@rubyNotTop nextgroup=rubyOptionalDoLine
|
||||
|
||||
if !exists("ruby_minlines")
|
||||
let ruby_minlines = 500
|
||||
endif
|
||||
exe "syn sync minlines=" . ruby_minlines
|
||||
|
||||
else
|
||||
syn match rubyControl "\<def\>" nextgroup=rubyMethodDeclaration skipwhite skipnl
|
||||
syn match rubyControl "\<class\>" nextgroup=rubyClassDeclaration skipwhite skipnl
|
||||
|
@ -411,6 +406,11 @@ else
|
|||
syn match rubyKeyword "\<\%(alias\|undef\)\>"
|
||||
endif
|
||||
|
||||
if !exists("ruby_minlines")
|
||||
let ruby_minlines = 500
|
||||
endif
|
||||
exe "syn sync minlines=" . ruby_minlines
|
||||
|
||||
" Special Methods {{{1
|
||||
if !exists("ruby_no_special_methods")
|
||||
syn match rubyAccess "\<\%(public\|protected\|private\)\>" " use re=2
|
||||
|
|
|
@ -27,6 +27,12 @@ snippets by typing the name of a snippet hitting the expansion mapping.
|
|||
snippets/*
|
||||
- [github.com/Shougo/neosnippet](https://github.com/Shougo/neosnippet.vim):
|
||||
VimL, supports snippets/* with some configuration.
|
||||
- [github.com/dcampos/nvim-snippy](https://github.com/dcampos/nvim-snippy):
|
||||
Lua, supports snippets/* with some configuration.
|
||||
- [github.com/L3MON4D3/LuaSnip](https://github.com/L3MON4D3/LuaSnip):
|
||||
Lua, supports snippets/* with some configuration.
|
||||
Also supports redefining snippets without changing the priority, unlike
|
||||
nvim-snippy.
|
||||
- [github.com/drmingdrmer/xptemplate](https://github.com/drmingdrmer/xptemplate):
|
||||
Totally different syntax, does not read snippets contained in this file, but
|
||||
it is also very powerful. It does not support vim-snippets (just listing it
|
||||
|
@ -46,6 +52,9 @@ If you have VimL only (vim without python support) your best option is using
|
|||
[garbas/vim-snipmate](https://github.com/garbas/vim-snipmate) and cope with the
|
||||
minor bugs found in the engine.
|
||||
|
||||
If you use Neovim and prefer Lua plugins,
|
||||
[L3MON4D3/LuaSnip](https://github.com/L3MON4D3/LuaSnip) is the best option.
|
||||
|
||||
**Q**: Should snipMate be deprecated in favour of UltiSnips?
|
||||
|
||||
**A**: No, because snipMate is VimL, and UltiSnips requires Python.
|
||||
|
|
|
@ -30,6 +30,11 @@ endglobal
|
|||
###########################################################################
|
||||
# TextMate Snippets #
|
||||
###########################################################################
|
||||
snippet ponce "#pragma once include guard"
|
||||
#pragma once
|
||||
|
||||
endsnippet
|
||||
|
||||
snippet main
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
|
@ -67,6 +72,14 @@ namespace${1/.+/ /m}${1:`!p snip.rv = snip.basename or "name"`}
|
|||
}${1/.+/ \/* /m}$1${1/.+/ *\/ /m}
|
||||
endsnippet
|
||||
|
||||
snippet nsa "namespace alias"
|
||||
namespace ${1:alias} = ${2:namespace};
|
||||
endsnippet
|
||||
|
||||
snippet using "using directive/using declaration/type alias"
|
||||
using ${1:namespace}`!p snip.rv = ' ' if t[1] == 'namespace' else ' = ' if t[1] != '' else ''`${2:name};
|
||||
endsnippet
|
||||
|
||||
snippet readfile "read file (readF)"
|
||||
std::vector<char> v;
|
||||
if (FILE *fp = fopen(${1:"filename"}, "r"))
|
||||
|
|
|
@ -104,11 +104,11 @@ snippet local "local x = 1"
|
|||
local ${1:x} = ${0:1}
|
||||
endsnippet
|
||||
|
||||
snippet use "Use" Ab
|
||||
snippet use "Use" b
|
||||
use { '$1' }
|
||||
endsnippet
|
||||
|
||||
snippet req "Require"
|
||||
snippet req "Require" b
|
||||
require('$1')
|
||||
endsnippet
|
||||
|
||||
|
|
|
@ -454,27 +454,6 @@ snippet docls "Document Class" bA
|
|||
\documentclass{$1}$0
|
||||
endsnippet
|
||||
|
||||
snippet tmplt "Template"
|
||||
\documentclass{article}
|
||||
|
||||
\usepackage{import}
|
||||
\usepackage{pdfpages}
|
||||
\usepackage{transparent}
|
||||
\usepackage{xcolor}
|
||||
$1
|
||||
|
||||
\newcommand{\incfig}[2][1]{%
|
||||
\def\svgwidth{#1\columnwidth}
|
||||
\import{./figures/}{#2.pdf_tex}
|
||||
}
|
||||
$2
|
||||
\pdfsuppresswarningpagegroup=1
|
||||
|
||||
\begin{document}
|
||||
$0
|
||||
\end{document}
|
||||
endsnippet
|
||||
|
||||
|
||||
#########
|
||||
# OTHER #
|
||||
|
|
|
@ -114,7 +114,7 @@ snippet forr
|
|||
}
|
||||
# If Condition
|
||||
snippet if
|
||||
if (${1:/* condition */}) {
|
||||
if ($1) {
|
||||
${0:${VISUAL}}
|
||||
}
|
||||
snippet el
|
||||
|
@ -122,8 +122,8 @@ snippet el
|
|||
${0:${VISUAL}}
|
||||
}
|
||||
# Ternary conditional
|
||||
snippet t
|
||||
${1:/* condition */} ? ${2:a} : ${0:b}
|
||||
snippet t Ternary: `condition ? true : false`
|
||||
$1 ? $2 : $0
|
||||
snippet fun
|
||||
function ${1:function_name}(${2})${3}
|
||||
{
|
||||
|
@ -150,4 +150,3 @@ snippet FlxSprite
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@ snippet def
|
|||
|
||||
# if
|
||||
snippet if
|
||||
if (${1:/* condition */}) {
|
||||
if ($1) {
|
||||
${0:${VISUAL}}
|
||||
}
|
||||
# else
|
||||
|
@ -29,12 +29,12 @@ snippet el
|
|||
}
|
||||
# else if
|
||||
snippet elif
|
||||
else if (${1:/* condition */}) {
|
||||
else if ($1) {
|
||||
${2}
|
||||
}
|
||||
# ifi
|
||||
snippet ifi
|
||||
if (${1:/* condition */}) ${2};
|
||||
if ($1) ${2};
|
||||
|
||||
# switch
|
||||
snippet switch
|
||||
|
@ -63,14 +63,14 @@ snippet forr
|
|||
}
|
||||
# while
|
||||
snippet wh
|
||||
while (${1:/* condition */}) {
|
||||
while ($1) {
|
||||
${2}
|
||||
}
|
||||
# do... while
|
||||
snippet do
|
||||
do {
|
||||
${2}
|
||||
} while (${1:/* condition */});
|
||||
} while ($1);
|
||||
##
|
||||
## Functions
|
||||
# function definition
|
||||
|
|
|
@ -1,16 +1,16 @@
|
|||
snippet if
|
||||
If ${1:condition} Then
|
||||
If $1 Then
|
||||
${0:; True code}
|
||||
EndIf
|
||||
snippet el
|
||||
Else
|
||||
${0}
|
||||
snippet eif
|
||||
ElseIf ${1:condition} Then
|
||||
ElseIf $1 Then
|
||||
${0:; True code}
|
||||
# If/Else block
|
||||
snippet ife
|
||||
If ${1:condition} Then
|
||||
If $1 Then
|
||||
${2:; True code}
|
||||
Else
|
||||
${0:; Else code}
|
||||
|
@ -26,7 +26,7 @@ snippet ifelif
|
|||
EndIf
|
||||
# Switch block
|
||||
snippet switch
|
||||
Switch (${1:condition})
|
||||
Switch ($1)
|
||||
Case ${2:case1}:
|
||||
${3:; Case 1 code}
|
||||
Case Else:
|
||||
|
@ -34,7 +34,7 @@ snippet switch
|
|||
EndSwitch
|
||||
# Select block
|
||||
snippet select
|
||||
Select (${1:condition})
|
||||
Select ($1)
|
||||
Case ${2:case1}:
|
||||
${3:; Case 1 code}
|
||||
Case Else:
|
||||
|
@ -42,7 +42,7 @@ snippet select
|
|||
EndSelect
|
||||
# While loop
|
||||
snippet wh
|
||||
While (${1:condition})
|
||||
While ($1)
|
||||
${0:; code...}
|
||||
WEnd
|
||||
# For loop
|
||||
|
|
|
@ -4,23 +4,23 @@ snippet main
|
|||
int main(int argc, char *argv[])
|
||||
{
|
||||
${0}
|
||||
return 0;
|
||||
}
|
||||
# main(void)
|
||||
snippet mainn
|
||||
int main(void)
|
||||
{
|
||||
${0}
|
||||
return 0;
|
||||
}
|
||||
##
|
||||
## Preprocessor
|
||||
# #include <...>
|
||||
snippet inc
|
||||
#include <${1:stdio}.h>
|
||||
$0
|
||||
# #include "..."
|
||||
snippet Inc
|
||||
#include "${1:`vim_snippets#Filename("$1.h")`}"
|
||||
$0
|
||||
# ifndef...define...endif
|
||||
snippet ndef
|
||||
#ifndef $1
|
||||
|
@ -86,8 +86,8 @@ snippet elif
|
|||
snippet ifi
|
||||
if (${1:true}) ${0};
|
||||
# ternary
|
||||
snippet t
|
||||
${1:/* condition */} ? ${2:a} : ${3:b}
|
||||
snippet t Ternary: `condition ? true : false`
|
||||
$1 ? $2 : $0
|
||||
# switch
|
||||
snippet switch
|
||||
switch (${1:/* variable */}) {
|
||||
|
@ -111,6 +111,8 @@ snippet case
|
|||
${3:break;}
|
||||
snippet ret
|
||||
return ${0};
|
||||
snippet ex
|
||||
exit($0);
|
||||
##
|
||||
## Loops
|
||||
# for
|
||||
|
@ -125,14 +127,18 @@ snippet forr
|
|||
}
|
||||
# while
|
||||
snippet wh
|
||||
while (${1:/* condition */}) {
|
||||
while (${1:1}) {
|
||||
${0:${VISUAL}}
|
||||
}
|
||||
snippet wht
|
||||
while (true) {
|
||||
${0:${VISUAL}}
|
||||
}
|
||||
# do... while
|
||||
snippet do
|
||||
do {
|
||||
${0:${VISUAL}}
|
||||
} while (${1:/* condition */});
|
||||
} while ($1);
|
||||
##
|
||||
## Functions
|
||||
# function definition
|
||||
|
@ -277,6 +283,14 @@ snippet prf
|
|||
printf("${1:} = %f\n", $1);
|
||||
snippet prx
|
||||
printf("${1:} = %${2}\n", $1);
|
||||
snippet warn
|
||||
warn("${1:%s}"$0);
|
||||
snippet warnx
|
||||
warnx("${1:%s}"$0);
|
||||
snippet err
|
||||
err(${1:1}, "${2:%s}"$0);
|
||||
snippet errx
|
||||
errx(${1:1}, "${2:%s}"$0);
|
||||
# getopt
|
||||
snippet getopt
|
||||
int choice;
|
||||
|
@ -337,7 +351,7 @@ snippet getopt
|
|||
|
||||
## Assertions
|
||||
snippet asr
|
||||
assert(${1:condition});
|
||||
assert($1);
|
||||
|
||||
snippet anl
|
||||
assert(${1:ptr} != NULL);
|
||||
|
|
|
@ -81,7 +81,7 @@ snippet print
|
|||
snippet reduce
|
||||
(reduce ${1:(fn [p n] ${3})} ${2})
|
||||
snippet when
|
||||
(when ${1:test} ${0:body})
|
||||
(when ${1:test} $0)
|
||||
snippet when-let
|
||||
(when-let [${1:result} ${2:test}]
|
||||
${0:body})
|
||||
$0)
|
||||
|
|
|
@ -99,7 +99,7 @@ snippet ci_db-select
|
|||
snippet ci_db-from
|
||||
$this->db->from("${1:table}");${2}
|
||||
snippet ci_db-join
|
||||
$this->db->join("${1:table}", "${2:condition}", "${3:type}");${4}
|
||||
$this->db->join("${1:table}", "$2", "${3:type}");${4}
|
||||
snippet ci_db-where
|
||||
$this->db->where("${1:key}", "${2:value}");${3}
|
||||
snippet ci_db-or_where
|
||||
|
|
|
@ -2,37 +2,37 @@
|
|||
snippet forindo
|
||||
for ${1:name} in ${2:array}
|
||||
do ($1) ->
|
||||
${0:// body}
|
||||
$0
|
||||
# Array comprehension
|
||||
snippet fora
|
||||
for ${1:name} in ${2:array}
|
||||
${0:# body...}
|
||||
$0
|
||||
# Object comprehension
|
||||
snippet foro
|
||||
for ${1:key}, ${2:value} of ${3:object}
|
||||
${0:# body...}
|
||||
$0
|
||||
# Range comprehension (inclusive)
|
||||
snippet forr
|
||||
for ${1:name} in [${2:start}..${3:finish}]
|
||||
${0:# body...}
|
||||
$0
|
||||
snippet forrb
|
||||
for ${1:name} in [${2:start}..${3:finish}] by ${4:step}
|
||||
${0:# body...}
|
||||
$0
|
||||
# Range comprehension (exclusive)
|
||||
snippet forrex
|
||||
for ${1:name} in [${2:start}...${3:finish}]
|
||||
${0:# body...}
|
||||
$0
|
||||
snippet forrexb
|
||||
for ${1:name} in [${2:start}...${3:finish}] by ${4:step}
|
||||
${0:# body...}
|
||||
$0
|
||||
# Function
|
||||
snippet fun
|
||||
(${1:args}) ->
|
||||
${0:# body...}
|
||||
$0
|
||||
# Function (bound)
|
||||
snippet bfun
|
||||
(${1:args}) =>
|
||||
${0:# body...}
|
||||
$0
|
||||
# Class
|
||||
snippet cla class ..
|
||||
class ${1:`substitute(vim_snippets#Filename(), '\(_\|^\)\(.\)', '\u\2', 'g')`}
|
||||
|
@ -54,29 +54,29 @@ snippet cla class .. extends .. constructor: ..
|
|||
${0}
|
||||
# If
|
||||
snippet if
|
||||
if ${1:condition}
|
||||
if $1
|
||||
${0:${VISUAL}}
|
||||
# If __ Else
|
||||
snippet ife
|
||||
if ${1:condition}
|
||||
if $1
|
||||
${2:${VISUAL}}
|
||||
else
|
||||
${0:# body...}
|
||||
${0}
|
||||
# Else if
|
||||
snippet eif
|
||||
else if ${1:condition}
|
||||
else if $1
|
||||
${0:${VISUAL}}
|
||||
# Ternary If
|
||||
snippet ifte
|
||||
if ${1:condition} then ${2:value} else ${0:other}
|
||||
snippet ifte Ternary
|
||||
if $1 then $2 else $0
|
||||
# Unle |