mirror of
1
0
Fork 0

Forgot to check in the rest of the updated plugins :/

This commit is contained in:
Amir 2022-09-20 10:08:31 +02:00
parent c6ba5aa440
commit 3978f7b467
77 changed files with 630 additions and 371 deletions

View File

@ -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',
\})

View File

@ -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'),

View File

@ -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

View File

@ -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()

View File

@ -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

View File

@ -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'],

View File

@ -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

View File

@ -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),

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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:

View File

@ -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`

View File

@ -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|

View File

@ -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:

View File

@ -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|

View File

@ -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>

View File

@ -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:

View File

@ -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

View File

@ -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)

View File

@ -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> |

View File

@ -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'))
\ )
\ )

View File

@ -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

View File

@ -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")

View File

@ -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

View File

@ -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.

View File

@ -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

View File

@ -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.

View File

@ -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"))

View File

@ -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

View File

@ -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 #

View File

@ -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
}
}
}

View File

@ -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

View File

@ -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

View File

@ -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);

View File

@ -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)

View File

@ -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

View File

@ -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
# Unless
snippet unl
${1:action} unless ${0:condition}
snippet unl Unless
$1 unless $0
# Switch
snippet swi
switch ${1:object}
when ${2:value}
${0:# body...}
$0
# Log
snippet log

View File

@ -1,5 +1,13 @@
extends c
## Main
# main()
snippet mainn
int main()
{
${0}
return 0;
}
##
## Preprocessor
# #include <...>

View File

@ -1,12 +1,12 @@
snippet req require
require "${1}"
snippet case
case ${1:object}
when ${2:condition}
case $1
when $2
${0}
end
snippet when
when ${1:condition}
when $1
${0}
snippet def
def ${1:method_name}
@ -17,17 +17,17 @@ snippet pdef
${0}
end
snippet if
if ${1:condition}
if $1
${0:${VISUAL}}
end
snippet ife
if ${1:condition}
if $1
${2:${VISUAL}}
else
${0}
end
snippet wh
while ${1:condition}
while $1
${0:${VISUAL}}
end
snippet cla class .. end

View File

@ -61,15 +61,15 @@ snippet fore
${0}
}
snippet wh
while (${1:/* condition */}) {
while ($1) {
${0}
}
snippet dowh
do {
${0}
} while (${0:/* condition */});
} while ($0);
snippet as
assert(${0:/* condition */});
assert($0);
snippet try
try {
${0:${VISUAL}}

View File

@ -13,29 +13,29 @@ snippet if if .. do .. end
${0:${VISUAL}}
end
snippet if: if .. do: ..
if ${1:condition}, do: ${0}
if $1, do: ${0}
snippet ife if .. do .. else .. end
if ${1:condition} do
if $1 do
${2:${VISUAL}}
else
${0}
end
snippet ife: if .. do: .. else:
if ${1:condition}, do: ${2}, else: ${0}
if $1, do: ${2}, else: ${0}
snippet unless unless .. do .. end
unless ${1} do
${0:${VISUAL}}
end
snippet unless: unless .. do: ..
unless ${1:condition}, do: ${0}
unless $1, do: ${0}
snippet unlesse unless .. do .. else .. end
unless ${1:condition} do
unless $1 do
${2:${VISUAL}}
else
${0}
end
snippet unlesse: unless .. do: .. else:
unless ${1:condition}, do: ${2}, else: ${0}
unless $1, do: ${2}, else: ${0}
snippet cond
cond do
${1} ->

View File

@ -17,7 +17,7 @@ snippet dt
erlang:display({${1}, ${0}}),
# define directive
snippet def
-define(${1:macro}, ${2:body}).
-define(${1:macro}, $2).
# export directive
snippet exp
-export([${1:function}/${0:arity}]).
@ -44,17 +44,17 @@ snippet undef
snippet if
if
${1:guard} ->
${0:body}
$0
end
# case expression
snippet case
case ${1:expression} of
${2:pattern} ->
${0:body};
$0;
end
# anonymous function
snippet fun
fun (${1:Parameters}) -> ${2:body} end
fun (${1:Parameters}) -> $2 end
# try...catch
snippet try
try
@ -65,10 +65,10 @@ snippet try
snippet rcv "Receive Expression"
receive
${1: ${2:pattern}${3: when ${4:guard}} ->
${5:body}}
$5
${6:after
${7:expression} ->
${8:body}}
$8
end
# record directive
snippet rec

View File

@ -19,13 +19,13 @@ snippet class
# If
snippet if
if ${1:condition}
if $1
${0}
end
# If else
snippet ife
if ${1:condition}
if $1
${0}
else
${1}
@ -33,7 +33,7 @@ snippet ife
# If else if
snippet eif
elif ${1:condition}
elif $1
${0}
# Switch case

View File

@ -64,7 +64,7 @@ snippet intent
snippet /
(/ $1 /) ${2:,&} ${0}
snippet if
if (${1:condition}) then
if ($1) then
${0}
end if
snippet case
@ -78,7 +78,7 @@ snippet do
${0}
end do
snippet dow
do while (${1:condition})
do while ($1)
$2
end do
snippet sub

View File

@ -64,13 +64,13 @@ snippet inf "full interface "
}
snippet if "if condition"
if ${1:/* condition */} {
if $1 {
${2:${VISUAL}}
}
snippet ife "if else condition"
if ${1:/* condition */} {
if $1 {
${2:${VISUAL}}
} else {
${0}

View File

@ -26,12 +26,12 @@ snippet mt
snippet mts
= mail_to ${1:email_address}, ${2:name}, :subject => ${3}, :body => ${4}
snippet ife
- if ${1:condition}
- if $1
${2:${VISUAL}}
- else
${0}
snippet ifp
- if ${1:condition}.presence?
- if $1.presence?
${0:${VISUAL}}
snippet ntc
= number_to_currency(${1})

View File

@ -441,10 +441,9 @@ snippet html5
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>${1:`substitute(vim_snippets#Filename('', 'Page Title'), '^.', '\u&', '')`}</title>
${2:link}
</head>
<body>
${0:body}
$0
</body>
</html>
snippet html5l
@ -457,7 +456,7 @@ snippet html5l
${3:link}
</head>
<body>
${0:body}
$0
</body>
</html>
snippet i

View File

@ -24,11 +24,11 @@ snippet for
snippet from
{% from ${1:x} import ${0:y} %}
snippet if
{% if ${1:condition} %}
{% if $1 %}
${0}
{% end %}
snippet eif
{% elif ${0:condition} %}
{% elif $0 %}
snippet el
{% else %}
snippet import
@ -50,6 +50,6 @@ snippet try
${0}
{% end %}
snippet wh
{% while ${1:condition} %}
{% while $1 %}
${0}
{% end %}

View File

@ -142,9 +142,9 @@ snippet ae
snippet aae
assertArrayEquals("${1:Failure message}", ${2:expecteds}, ${3:actuals});
snippet af
assertFalse("${1:Failure message}", ${2:condition});
assertFalse("${1:Failure message}", $2);
snippet at
assertTrue("${1:Failure message}", ${2:condition});
assertTrue("${1:Failure message}", $2);
snippet an
assertNull("${1:Failure message}", ${2:object});
snippet ann
@ -211,7 +211,9 @@ snippet enfor
snippet for
for (${1}; ${2}; ${3}) ${0}
snippet wh
while (${1}) ${0}
while (${1:true}) ${0}
snippet wht
while (true) ${0}
##
## Main method
snippet psvm

View File

@ -62,8 +62,8 @@ snippet ife "if (condition) { ... } else { ... }"
${2}
}
# tertiary conditional
snippet ter
${1:/* condition */} ? ${2:/* if true */} : ${0:/* if false */}
snippet ter Ternary: `condition ? true : false`
$1 ? $2: $0
# switch
snippet switch
switch (${1:expression}) {
@ -107,13 +107,17 @@ snippet forr "reversed for (...) {...}"
${0:${VISUAL}}
}
snippet wh "(condition) { ... }"
while (${1:/* condition */}) {
while (${1:true}) {
${0:${VISUAL}}
}
snippet wht "(true) { ... }"
while (true) {
${0:${VISUAL}}
}
snippet do "do { ... } while (condition)"
do {
${0:${VISUAL}}
} while (${1:/* condition */});
} while ($1);
# For in loop
snippet fori
for (let ${1:prop} in ${2:object}) {

View File

@ -2,32 +2,32 @@
# https://marketplace.visualstudio.com/items?itemName=killalau.vscode-liquid-snippets
snippet if
{% if ${1:condition} %}
{% if $1 %}
${0:${VISUAL}}
{% endif %}
snippet else
{% else %}
snippet elsif
{% elsif ${1:condition} %}
{% elsif $1 %}
snippet ifelse
{% if ${1:condition} %}
{% if $1 %}
${2}
{% else %}
${0}
{% endif %}
snippet unless
{% unless ${1:condition} %}
{% unless $1 %}
${0:${VISUAL}}
{% endunless %}
snippet case
{% case ${1:variable} %}
{% when ${2:condition} %}
{% when $2 %}
${3}
{% else %}
${0}
{% endcase %}
snippet when
{% when ${1:condition} %}
{% when $1 %}
${0:${VISUAL}}
snippet cycle
{% cycle '${1:odd}', '${2:even}' %}
@ -102,32 +102,32 @@ snippet javascript
snippet comment-
{%- comment -%}${0:${VISUAL}}{%- endcomment -%}
snippet if-
{%- if ${1:condition} -%}
{%- if $1 -%}
${0:${VISUAL}}
{%- endif -%}
snippet else-
{%- else -%}
snippet elsif-
{%- elsif ${1:condition} -%}
{%- elsif $1 -%}
snippet ifelse-
{%- if ${1:condition} -%}
{%- if $1 -%}
${2}
{%- else -%}
${0}
{%- endif -%}
snippet unless-
{%- unless ${1:condition} -%}
{%- unless $1 -%}
${0:${VISUAL}}
{%- endunless -%}
snippet case-
{%- case ${1:variable} -%}
{%- when ${2:condition} -%}
{%- when $2 -%}
${3}
{%- else -%}
${0}
{%- endcase -%}
snippet when-
{%- when ${1:condition} -%}
{%- when $1 -%}
${0:${VISUAL}}
snippet cycle-
{%- cycle '${1:odd}', '${2:even}' -%}

View File

@ -66,8 +66,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 */})
@ -115,7 +115,7 @@ snippet forr
}
# while
snippet wh
while(${1:/* condition */})
while($1)
{
${0:${VISUAL}}
}
@ -123,7 +123,7 @@ snippet wh
snippet do
do{
${0:${VISUAL}}
}while (${1:/* condition */});
}while ($1);
##
## Functions
# function definition

View File

@ -54,24 +54,24 @@ snippet cla class .. extends .. constructor: ..
${5}
# If
snippet if
if ${1:condition}
if $1
${2}
# If __ Else
snippet ife
if ${1:condition}
if $1
${2}
else
${3}
# Else if
snippet elif
else if ${1:condition}
else if $1
${2}
# Ternary If
snippet ifte
if ${1:condition} then ${2:value} else ${3:other}
if $1 then $2 else $0
# Unless
snippet unl
${1:action} unless ${2:condition}
$1 unless $0
# Switch
snippet swi
switch ${1:object}

View File

@ -5,7 +5,7 @@ snippet local
local ${1:x} = ${0:1}
snippet fun
function ${1:fname}(${2:...})
${0:-- body}
$0
end
snippet for
for ${1:i}=${2:1},${3:10} do
@ -13,34 +13,60 @@ snippet for
end
snippet forp
for ${1:i},${2:v} in pairs(${3:table_name}) do
${0:-- body}
$0
end
snippet fori
for ${1:i},${2:v} in ipairs(${3:table_name}) do
${0:-- body}
$0
end
snippet if
if ${1:condition} then
${2:-- body}
if $1 then
$2
end
snippet ife
if ${1:condition} then
if $1 then
${2:-- if condition}
else
${0:-- else}
end
snippet elif
elseif ${1:condition} then
${0:--body}
elseif $1 then
$0
snippet repeat
repeat
${1:--body}
until ${0:condition}
$1
until $0
snippet while
while ${1:condition} do
${0:--body}
while $1 do
$0
end
snippet wh
while ${1:true} do
${0}
end
snippet wht
while true do
${0}
end
snippet print
print("${1:string}")
snippet pr
print($0)
snippet prs
print("$0")
snippet prf
print(string.format("${1:%s}"$0))
snippet wr
io.write($0)
snippet wrs
io.write("$0")
snippet wrf
io.write(string.format("${1:%s}"$0))
snippet fwr
io.${1:stderr}:write($0)
snippet fwrs
io.${1:stderr}:write("$0")
snippet fwrf
io.${1:stderr}:write(string.format("${2:%s}"$0))
snippet im
import "${1:import file}"

View File

@ -19,11 +19,11 @@ snippet for
${0:}
% endfor
snippet if if
% if ${1:condition}:
% if $1:
${0:}
% endif
snippet ife if/else
% if ${1:condition}:
% if $1:
${2:}
% else:
${0:}

View File

@ -67,17 +67,21 @@ snippet <*
<`@*`>
snippet <c
<`@+`>
snippet **
**${1:bold}**
snippet __
__${1:bold}__
snippet ===
snippet ** Bold
**$0**
snippet __ Bold
__$0__
snippet --- Front matter
---
$0
---
snippet ====
`repeat('=', strlen(getline(line('.') - 3)))`
${0}
snippet -
- ${0}
snippet ---
snippet ----
`repeat('-', strlen(getline(line('.') - 3)))`
${0}
@ -142,3 +146,11 @@ snippet pullquote
{% pullquote %}
${1:text} {" ${2:quote} "} ${0:text}
{% endpullquote %}
# Definition lists
snippet : Definition list
$1
: $0
snippet :: Alternate definition list
$1
- $0

View File

@ -1,2 +1 @@
extends markdown

View File

@ -40,7 +40,7 @@ snippet eif
}
# Conditional One-line
snippet xif
${1:expression} if ${2:condition};
$1 if $0;
# Unless conditional
snippet unless
unless (${1}) {
@ -48,7 +48,7 @@ snippet unless
}
# Unless conditional One-line
snippet xunless
${1:expression} unless ${2:condition};
$1 unless $0;
# Try/Except
snippet eval
local $@;
@ -65,7 +65,7 @@ snippet wh
}
# While Loop One-line
snippet xwh
${1:expression} while ${2:condition};
$1 while $0;
# C-style For Loop
snippet cfor
for (my $${2:var} = 0; $$2 < ${1:count}; $$2${3:++}) {
@ -73,7 +73,7 @@ snippet cfor
}
# For loop one-line
snippet xfor
${1:expression} for @${2:array};
$1 for @$0;
# Foreach Loop
snippet for
foreach my $${1:x} (@${2:array}) {
@ -81,7 +81,7 @@ snippet for
}
# Foreach Loop One-line
snippet fore
${1:expression} foreach @${2:array};
$1 foreach @$0;
# Package
snippet package
package ${1:`expand('%:p:s?.*lib/??:r:gs?/?::?')`};

View File

@ -33,7 +33,7 @@ snippet eif
}
# Conditional One-line
snippet xif
${1:expression} if ${2:condition};
${1} if $2;
# Unless conditional
snippet unless
unless ${1} {
@ -41,14 +41,14 @@ snippet unless
}
# Unless conditional One-line
snippet xunless
${1:expression} unless ${2:condition};
${1} unless $2;
# Ternary conditional
snippet tc
${1:condition} ?? ${2:value-if-true} !! ${3:value-if-false};
$1 ?? ${2:value-if-true} !! ${3:value-if-false};
# given - when (perl6 switch)
snippet switch
given ${1:$var} {
when ${2:condition} {
when $2 {
${3:# code block ...}
}
${4}

View File

@ -86,7 +86,7 @@ snippet =?:
snippet ?:
${1:true} ? ${2:a} : ${0}
snippet t "$retVal = (condition) ? a : b"
$${1:retVal} = (${2:condition}) ? ${3:a} : ${4:b};
$${1:retVal} = ($2) ? ${3:a} : ${4:b};
# Predefined variables
snippet C
$_COOKIE['${1:variable}']
@ -283,7 +283,7 @@ snippet def "define('VARIABLE_NAME', 'definition')"
snippet def?
${1}defined('${2}')
snippet wh "while (condition) { ... }"
while (${1:/* condition */}) {
while ($1) {
${0:${VISUAL}}
}
snippet do "do { ... } while (condition)"

View File

@ -8,7 +8,7 @@ snippet ps
snippet pb
create or replace package body ${1:name}
as
${0:-- body}
$0
end; -- end of package body $1;
# package procedure spec
snippet pps
@ -18,7 +18,7 @@ snippet ppb
procedure ${1:name}(${2:args})
as
begin
${0:-- body}
$0
end $2;
# package function spec
snippet pfs
@ -31,7 +31,7 @@ snippet pfb
as
l_res $3;
begin
${0:-- body};
$0;
return l_res;
end $1;
# snow errors

View File

@ -64,7 +64,7 @@ snippet for
};
#loop while
snippet wh
while (${1:/* condition */}) {
while ($1) {
${0}
}
#break

View File

@ -43,13 +43,13 @@ snippet enum
# PowerShell if..then
snippet if
if (${1:condition}) {
${2:statement}
if ($1) {
$0
}
# PowerShell if..else
snippet ife
if ( ${1:condition} ) {
if ( $1 ) {
${2}
}
else {
@ -58,8 +58,8 @@ snippet ife
# PowerShell While Loop
snippet while
while (${1:condition}) {
${2:statement}
while ($1) {
$0
}
# PowerShell Filter..Sort
@ -69,7 +69,7 @@ snippet filtersort
# PowerShell foreach
snippet foreach
foreach ( $${1:iterator} in $${2:collection} ) {
${3:statement}
$0
}
# PowerShell export-csv

View File

@ -28,14 +28,14 @@ snippet sk "skip unittests" b
@unittest.skip(${1:skip_reason})
snippet wh
while ${1:condition}:
while $1:
${0:${VISUAL}}
# dowh - does the same as do...while in other languages
snippet dowh
while True:
${1}
if ${0:condition}:
if $0:
break
snippet with
@ -115,13 +115,13 @@ snippet property
# Ifs
snippet if
if ${1:condition}:
if $1:
${0:${VISUAL}}
snippet el
else:
${0:${VISUAL}}
snippet ei
elif ${1:condition}:
elif $1:
${0:${VISUAL}}
# Match
@ -508,3 +508,16 @@ snippet numeric "methods for emulating a numeric type" b
def __coerce__(self, other):
${25:pass}
# Printing
snippet pr
print($0)
snippet prs
print("$0")
snippet prf
print(f"$0")
snippet fpr
print($0, file=${1:sys.stderr})
snippet fprs
print("$0", file=${1:sys.stderr})
snippet fprf
print(f"$0", file=${1:sys.stderr})

View File

@ -11,7 +11,7 @@ snippet source
# conditionals
snippet if
if (${1:condition}) {
if ($1) {
${0}
}
snippet el
@ -19,14 +19,18 @@ snippet el
${0}
}
snippet ei
else if (${1:condition}) {
else if ($1) {
${0}
}
# loops
snippet wh
while(${1}) {
${2}
while(${1:true}) {
${0}
}
snippet wht
while(true) {
${0}
}
snippet for
for (${1:item} in ${2:list}) {

View File

@ -6,6 +6,8 @@
# vim's `"*` register---i.e., the contents of the
# system clipboard---to insert text.
extends markdown
# Insert Title Block
snippet %%
% ${1:`Filename('', 'title')`}
@ -20,70 +22,12 @@ snippet %%*
${4}
# Insert Definition List
snippet ::
${1:term}
~ ${2:definition}
# Underline with `=`s or `-`s
snippet ===
`repeat('=', strlen(getline(line(".") - 1)))`
${1}
snippet ---
`repeat('-', strlen(getline(line(".") - 1)))`
${1}
# Links and their kin
# -------------------
#
# (These don't play very well with delimitMate)
#
snippet [
[${1:link}](http://${2:url} "${3:title}")${4}
snippet [*
[${1:link}](${2:`@*`} "${3:title}")${4}
snippet [:
[${1:id}]: http://${2:url} "${3:title}"
snippet [:*
[${1:id}]: ${2:`@*`} "${3:title}"
snippet [@
[${1:link}](mailto:${2:email})${3}
snippet [@*
[${1:link}](mailto:${2:`@*`})${3}
snippet [:@
[${1:id}]: mailto:${2:email} "${3:title}"
snippet [:@*
[${1:id}]: mailto:${2:`@*`} "${3:title}"
snippet ![
![${1:alt}](${2:url} "${3:title}")${4}
snippet ![*
![${1:alt}](${2:`@*`} "${3:title}")${4}
snippet ![:
![${1:id}]: ${2:url} "${3:title}"
snippet ![:*
![${1:id}]: ${2:`@*`} "${3:title}"
snippet [^:
[^${1:id}]: ${2:note}
snippet [^:*
[^${1:id}]: ${2:`@*`}
#
# library()
snippet req
require(${1:}, quietly = TRUE)
# If Condition
snippet if
if ( ${1:condition} )
if ( $1 )
{
${2:}
}
@ -107,7 +51,7 @@ snippet fun
snippet re
repeat{
${2:}
if(${1:condition}) break
if($1) break
}
# matrix

View File

@ -1,7 +1,7 @@
# rst
snippet :
:${1:field name}: ${0:field body}
:${1:field name}: $0
snippet *
*${1:Emphasis}* ${0}
snippet **

View File

@ -34,11 +34,11 @@ snippet #
# =>
snippet case
case ${1:object}
when ${2:condition}
when $2
${0}
end
snippet when
when ${1:condition}
when $1
${0:${VISUAL}}
snippet def
def ${1:method_name}
@ -55,46 +55,46 @@ snippet descendants
end
end
snippet if
if ${1:condition}
if $1
${0:${VISUAL}}
end
snippet ife
if ${1:condition}
if $1
${2:${VISUAL}}
else
${0}
end
snippet eif
elsif ${1:condition}
elsif $1
${0:${VISUAL}}
snippet ifee
if ${1:condition}
if $1
$2
elsif ${3:condition}
elsif $3
$4
else
$0
end
snippet unless
unless ${1:condition}
unless $1
${0:${VISUAL}}
end
snippet unlesse
unless ${1:condition}
unless $1
$2
else
$0
end
snippet unlesee
unless ${1:condition}
unless $1
$2
elsif ${3:condition}
elsif $3
$4
else
$0
end
snippet wh
while ${1:condition}
while $1
${0:${VISUAL}}
end
snippet for
@ -102,7 +102,7 @@ snippet for
${0}
end
snippet until
until ${1:condition}
until $1
${0:${VISUAL}}
end
snippet cla class .. end

View File

@ -147,7 +147,7 @@ snippet loop "loop {}" b
${0:${VISUAL}}
}
snippet wh "while loop"
while ${1:condition} {
while $1 {
${0:${VISUAL}}
}
snippet whl "while let (...)"

View File

@ -13,15 +13,15 @@ snippet fun
@function ${1:name}(${2:args})
${0}
snippet if
@if ${1:condition}
@if $1
${0:${VISUAL}}
snippet ife
@if ${1:condition}
@if $1
${2:${VISUAL}}
@else
${0}
snippet eif
@else if ${1:condition}
@else if $1
${0:${VISUAL}}
snippet for
@for ${1:$i} from ${2:1} through ${3:3}

View File

@ -17,17 +17,17 @@ snippet fun
${0}
}
snippet if
@if ${1:condition} {
@if $1 {
${0}
}
snippet ife
@if ${1:condition} {
@if $1 {
${2}
} @else {
${0}
}
snippet eif
@else if ${1:condition} {
@else if $1 {
${0}
}
snippet for

View File

@ -1,9 +1,9 @@
# Shebang. Executing bash via /usr/bin/env makes scripts more portable.
# Shebang
snippet #!
#!/usr/bin/env sh
#!/bin/sh
snippet s#!
#!/usr/bin/env sh
#!/bin/sh
set -eu
snippet safe
@ -18,11 +18,11 @@ snippet sbash
IFS=$'\n\t'
snippet if
if [[ ${1:condition} ]]; then
if [ $1 ]; then
${0:${VISUAL}}
fi
snippet elif
elif [[ ${1:condition} ]]; then
elif [ $1 ]; then
${0:${VISUAL}}
snippet for
for (( ${2:i} = 0; $2 < ${1:count}; $2++ )); do
@ -33,11 +33,15 @@ snippet fori
${0:${VISUAL}}
done
snippet wh
while [[ ${1:condition} ]]; do
while [ $1 ]; do
${0:${VISUAL}}
done
snippet wht
while true; do
${0:${VISUAL}}
done
snippet until
until [[ ${1:condition} ]]; do
until [ $1 ]; do
${0:${VISUAL}}
done
snippet case
@ -97,10 +101,10 @@ snippet root
snippet fun-sh
${1:function_name}() {
${0:#function_body}
$0
}
snippet fun
function ${1:function_name}() {
${0:#function_body}
$0
}

View File

@ -6,6 +6,27 @@ snippet dcl \documentclass{}
#documentclass with options
snippet dclo \documentclass[]{}
\\documentclass[${1:options}]{${2:class}} ${0}
snippet tmplt "Template"
\\documentclass{${1:article}}
\\usepackage{import}
\\usepackage{pdfpages}
\\usepackage{transparent}
\\usepackage{xcolor}
$2
\\newcommand{\incfig}[2][1]{%
\def\svgwidth{#1\columnwidth}
\import{./figures/}{#2.pdf_tex}
}
$3
\\pdfsuppresswarningpagegroup=1
\\begin{document}
$0
\\end{document}
#newcommand
snippet nc \newcommand
\\newcommand{\\${1:cmd}}[${2:opt}]{${3:realcmd}} ${0}

View File

@ -144,7 +144,7 @@ snippet yrp
#----------------Yii Model-----------------------------
#Yii Model count
snippet ycountm
${1:ModelName}::model()->count(${2:condition}, array('${3:key}'=>${0:value}));
${1:ModelName}::model()->count($2, array('${3:key}'=>${0:value}));
#Yii Model countBySql
snippet ycountbs
@ -152,35 +152,35 @@ snippet ycountbs
#Yii Model updateAll
snippet yupdatea
${1:ModelName}::model()->updateAll(${2:array('attributes')}, ${3:condition},array('${4:key}'=>${0:value}));
${1:ModelName}::model()->updateAll(${2:array('attributes')}, $3,array('${4:key}'=>${0:value}));
#Yii Model updateByPk
snippet yupdatebp
${1:ModelName}::model()->updateByPk(${2:pk}, ${3:array('attributes')}, ${4:condition},array('${5:key}'=>${0:value}));
${1:ModelName}::model()->updateByPk(${2:pk}, ${3:array('attributes')}, $4,array('${5:key}'=>${0:value}));
#Yii Model deleteAll
snippet ydela
${1:ModelName}::model()->deleteAll(${2:condition},array('${3:key}'=>${0:value}));
${1:ModelName}::model()->deleteAll($2,array('${3:key}'=>${0:value}));
#Yii Model deleteByPk
snippet ydelbp
${1:ModelName}::model()->deleteByPk(${2:pk}, ${3:condition}, array('${4:key}'=>${0:value}));
${1:ModelName}::model()->deleteByPk(${2:pk}, $3, array('${4:key}'=>${0:value}));
#Yii Model find
snippet yfind
${1:ModelName}::model()->find(${2:condition},array('${3:key}'=>${0:value}));
${1:ModelName}::model()->find($2,array('${3:key}'=>${0:value}));
#Yii Model findAll
snippet yfinda
${1:ModelName}::model()->findAll(${2:condition},array('${3:key}'=>${0:value}));
${1:ModelName}::model()->findAll($2,array('${3:key}'=>${0:value}));
#Yii Model findByPk
snippet yfindbp
${1:ModelName}::model()->findByPk(${2:pk}, ${3:condition}, array('${4:key}'=>${0:value}));
${1:ModelName}::model()->findByPk(${2:pk}, $3, array('${4:key}'=>${0:value}));
#Yii Model findAllByPk
snippet yfindabp
${1:ModelName}::model()->findAllByPk(${2:pk}, ${3:condition},array('${4:key}'=>${0:value}));
${1:ModelName}::model()->findAllByPk(${2:pk}, $3,array('${4:key}'=>${0:value}));
#Yii Model findBySql
snippet yfindbs
@ -188,11 +188,11 @@ snippet yfindbs
#Yii Model findAllByAttributes
snippet yfindaba
${1:ModelName}::model()->findAllByAttributes(array('${2:attributeName}'=>${3:attributeValue}), ${4:condition}, array('${5:key}'=>${0:value}));
${1:ModelName}::model()->findAllByAttributes(array('${2:attributeName}'=>${3:attributeValue}), $4, array('${5:key}'=>${0:value}));
#Yii Model exists
snippet yexists
${1:ModelName}::model()->exists(${2:condition}, array('${3:key}'=>${0:value}));
${1:ModelName}::model()->exists($2, array('${3:key}'=>${0:value}));
#Yii Create model class
snippet ymodel

View File

@ -1,19 +1,21 @@
# #!/bin/zsh
extends bash
snippet #!
#!/bin/zsh
#!/usr/bin/env zsh
snippet if
if ${1:condition}; then
if $1; then
${0:${VISUAL}}
fi
snippet ife
if ${1:condition}; then
if $1; then
${2:${VISUAL}}
else
${0:# statements}
fi
snippet eif
elif ${1:condition}; then
elif $1; then
${0:${VISUAL}}
snippet for
for (( ${2:i} = 0; $2 < ${1:count}; $2++ )); do
@ -28,11 +30,11 @@ snippet fore
${0:${VISUAL}}
done
snippet wh
while ${1:condition}; do
while $1; do
${0:${VISUAL}}
done
snippet until
until ${1:condition}; do
until $1; do
${0:${VISUAL}}
done
snippet repeat