This commit is contained in:
Adam Stankiewicz
2021-12-21 14:41:23 +01:00
parent 918610d427
commit 87a26c5bf1
154 changed files with 2479 additions and 2192 deletions

View File

@@ -7,7 +7,7 @@ A collection of language packs for Vim.
> One to rule them all, one to find them, one to bring them all and in the darkness bind them. > One to rule them all, one to find them, one to bring them all and in the darkness bind them.
- It **won't affect your startup time**, as scripts are loaded only on demand\*. - It **won't affect your startup time**, as scripts are loaded only on demand\*.
- It **installs and updates 120+ times faster** than the <!--Package Count-->598<!--/Package Count--> packages it consists of. - It **installs and updates 120+ times faster** than the <!--Package Count-->597<!--/Package Count--> packages it consists of.
- It is also more secure (scripts loaded for every filetype are generated by vim-polyglot) - It is also more secure (scripts loaded for every filetype are generated by vim-polyglot)
- Best syntax and indentation support (no other features). Hand-selected language packs. - Best syntax and indentation support (no other features). Hand-selected language packs.
- Automatically detects indentation (includes performance-optimized version of [vim-sleuth](https://github.com/tpope/vim-sleuth), can be disabled) - Automatically detects indentation (includes performance-optimized version of [vim-sleuth](https://github.com/tpope/vim-sleuth), can be disabled)
@@ -53,7 +53,7 @@ On top of all language packs from [vim repository](https://github.com/vim/vim/tr
- [autohotkey](https://github.com/hnamikaw/vim-autohotkey) (AutoHotkey syntax highlighting for ahk and ahkl files) - [autohotkey](https://github.com/hnamikaw/vim-autohotkey) (AutoHotkey syntax highlighting for ahk and ahkl files)
- [blade](https://github.com/jwalton512/vim-blade) (Blade syntax highlighting for blade and blade.php files) - [blade](https://github.com/jwalton512/vim-blade) (Blade syntax highlighting for blade and blade.php files)
- [brewfile](https://github.com/bfontaine/Brewfile.vim) - [brewfile](https://github.com/bfontaine/Brewfile.vim)
- [c/c++](https://github.com/vim-jp/vim-cpp) (C++ and C syntax highlighting for cpp, c++, cc, cp, cxx and 17 more files) - [c/c++](https://github.com/vim-jp/vim-cpp) (C++ and C syntax highlighting for cpp, c++, cc, cp, cxx and 18 more files)
- [caddyfile](https://github.com/isobit/vim-caddyfile) - [caddyfile](https://github.com/isobit/vim-caddyfile)
- [carp](https://github.com/hellerve/carp-vim) (Syntax highlighting for carp files) - [carp](https://github.com/hellerve/carp-vim) (Syntax highlighting for carp files)
- [cjsx](https://github.com/mtscout6/vim-cjsx) - [cjsx](https://github.com/mtscout6/vim-cjsx)
@@ -70,8 +70,8 @@ On top of all language packs from [vim repository](https://github.com/vim/vim/tr
- [dart](https://github.com/dart-lang/dart-vim-plugin) (Dart syntax highlighting for dart and drt files) - [dart](https://github.com/dart-lang/dart-vim-plugin) (Dart syntax highlighting for dart and drt files)
- [dhall](https://github.com/vmchale/dhall-vim) (Dhall syntax highlighting for dhall files) - [dhall](https://github.com/vmchale/dhall-vim) (Dhall syntax highlighting for dhall files)
- [dlang](https://github.com/JesseKPhillips/d.vim) (D syntax highlighting for d, di, lst, dd, ddoc and sdl files) - [dlang](https://github.com/JesseKPhillips/d.vim) (D syntax highlighting for d, di, lst, dd, ddoc and sdl files)
- [docker](https://github.com/ekalinin/Dockerfile.vim) - [docker-compose](https://github.com/ekalinin/Dockerfile.vim)
- [elixir](https://github.com/elixir-lang/vim-elixir) (Elixir and HTML+EEX syntax highlighting for ex, exs, eex, html.leex and leex files) - [elixir](https://github.com/elixir-lang/vim-elixir) (Elixir and HTML+EEX syntax highlighting for ex, exs, eex, html.heex, html.leex and leex files)
- [elm](https://github.com/andys8/vim-elm-syntax) (Elm syntax highlighting for elm files) - [elm](https://github.com/andys8/vim-elm-syntax) (Elm syntax highlighting for elm files)
- [emberscript](https://github.com/yalesov/vim-ember-script) (EmberScript syntax highlighting for em and emberscript files) - [emberscript](https://github.com/yalesov/vim-ember-script) (EmberScript syntax highlighting for em and emberscript files)
- [emblem](https://github.com/yalesov/vim-emblem) (Syntax highlighting for emblem and em files) - [emblem](https://github.com/yalesov/vim-emblem) (Syntax highlighting for emblem and em files)
@@ -85,7 +85,7 @@ On top of all language packs from [vim repository](https://github.com/vim/vim/tr
- [git](https://github.com/tpope/vim-git) (Git Config syntax highlighting for gitconfig files) - [git](https://github.com/tpope/vim-git) (Git Config syntax highlighting for gitconfig files)
- [gitignore](https://github.com/SirJson/fzf-gitignore) - [gitignore](https://github.com/SirJson/fzf-gitignore)
- [gleam](https://github.com/gleam-lang/gleam.vim) (Syntax highlighting for gleam files) - [gleam](https://github.com/gleam-lang/gleam.vim) (Syntax highlighting for gleam files)
- [glsl](https://github.com/tikhomirov/vim-glsl) (GLSL syntax highlighting for glsl, fp, frag, frg, fs and 16 more files) - [glsl](https://github.com/tikhomirov/vim-glsl) (GLSL syntax highlighting for glsl, fp, frag, frg, fs and 18 more files)
- [gmpl](https://github.com/maelvalais/gmpl.vim) (Syntax highlighting for mod files) - [gmpl](https://github.com/maelvalais/gmpl.vim) (Syntax highlighting for mod files)
- [gnuplot](https://github.com/vim-scripts/gnuplot-syntax-highlighting) (Gnuplot syntax highlighting for gp, gnu, gnuplot, p, plot, plt and gpi files) - [gnuplot](https://github.com/vim-scripts/gnuplot-syntax-highlighting) (Gnuplot syntax highlighting for gp, gnu, gnuplot, p, plot, plt and gpi files)
- [go](https://github.com/fatih/vim-go) (Go syntax highlighting for go and tmpl files) - [go](https://github.com/fatih/vim-go) (Go syntax highlighting for go and tmpl files)
@@ -113,7 +113,7 @@ On top of all language packs from [vim repository](https://github.com/vim/vim/tr
- [json](https://github.com/elzr/vim-json) (JSON syntax highlighting for json, avsc, geojson, gltf, har and 13 more files) - [json](https://github.com/elzr/vim-json) (JSON syntax highlighting for json, avsc, geojson, gltf, har and 13 more files)
- [jsonc](https://github.com/neoclide/jsonc.vim) (Syntax highlighting for cjson and jsonc files) - [jsonc](https://github.com/neoclide/jsonc.vim) (Syntax highlighting for cjson and jsonc files)
- [jsonnet](https://github.com/google/vim-jsonnet) (Jsonnet syntax highlighting for jsonnet and libsonnet files) - [jsonnet](https://github.com/google/vim-jsonnet) (Jsonnet syntax highlighting for jsonnet and libsonnet files)
- [jst](https://github.com/briancollins/vim-jst) (EJS syntax highlighting for ejs, ect and jst files) - [jst](https://github.com/briancollins/vim-jst) (EJS syntax highlighting for ejs, ect, ejs.t and jst files)
- [jsx](https://github.com/MaxMEllon/vim-jsx-pretty) (Syntax highlighting for jsx files) - [jsx](https://github.com/MaxMEllon/vim-jsx-pretty) (Syntax highlighting for jsx files)
- [julia](https://github.com/JuliaEditorSupport/julia-vim) (Julia syntax highlighting for jl files) - [julia](https://github.com/JuliaEditorSupport/julia-vim) (Julia syntax highlighting for jl files)
- [just](https://github.com/NoahTheDuke/vim-just) (Syntax highlighting for just files) - [just](https://github.com/NoahTheDuke/vim-just) (Syntax highlighting for just files)
@@ -202,12 +202,11 @@ On top of all language packs from [vim repository](https://github.com/vim/vim/tr
- [velocity](https://github.com/lepture/vim-velocity) (Syntax highlighting for vm files) - [velocity](https://github.com/lepture/vim-velocity) (Syntax highlighting for vm files)
- [vue](https://github.com/posva/vim-vue) (Vue syntax highlighting for vue and wpy files) - [vue](https://github.com/posva/vim-vue) (Vue syntax highlighting for vue and wpy files)
- [xdc](https://github.com/amal-khailtash/vim-xdc-syntax) (Syntax highlighting for xdc files) - [xdc](https://github.com/amal-khailtash/vim-xdc-syntax) (Syntax highlighting for xdc files)
- [xml](https://github.com/amadeus/vim-xml) (XML syntax highlighting for xml, adml, admx, ant, axml and 94 more files) - [xml](https://github.com/amadeus/vim-xml) (XML syntax highlighting for xml, adml, admx, ant, axml and 95 more files)
- [xsl](https://github.com/vim-scripts/XSLT-syntax) (XSLT syntax highlighting for xslt and xsl files) - [xsl](https://github.com/vim-scripts/XSLT-syntax) (XSLT syntax highlighting for xslt and xsl files)
- [yard](https://github.com/noprompt/vim-yardoc) - [yard](https://github.com/noprompt/vim-yardoc)
- [zephir](https://github.com/xwsoul/vim-zephir) (Zephir syntax highlighting for zep files) - [zephir](https://github.com/xwsoul/vim-zephir) (Zephir syntax highlighting for zep files)
- [zig](https://github.com/ziglang/zig.vim) (Zig syntax highlighting for zir, zig and zir files) - [zig](https://github.com/ziglang/zig.vim) (Zig syntax highlighting for zir, zig and zir files)
- [zinit](https://github.com/zinit-zsh/zplugin-vim-syntax)
<!--/Language Packs--> <!--/Language Packs-->
## Updating ## Updating

View File

@@ -22,7 +22,7 @@ endif
if exists('b:tex_ignore_makefile') || exists('g:tex_ignore_makefile') || if exists('b:tex_ignore_makefile') || exists('g:tex_ignore_makefile') ||
\(!filereadable('Makefile') && !filereadable('makefile')) \(!filereadable('Makefile') && !filereadable('makefile'))
" If buffer-local variable 'tex_flavor' exists, it defines TeX flavor, " If buffer-local variable 'tex_flavor' exists, it defines TeX flavor,
" otherwize the same for global variable with same name, else it will be " otherwise the same for global variable with same name, else it will be
" LaTeX " LaTeX
if exists("b:tex_flavor") if exists("b:tex_flavor")
let current_compiler = b:tex_flavor let current_compiler = b:tex_flavor

View File

@@ -37,4 +37,6 @@ if executable('pip-compile')
setlocal makeprg=pip-compile\ % setlocal makeprg=pip-compile\ %
endif endif
endif endif
setlocal commentstring=#\ %s
" vim: et sw=4 ts=4 sts=4: " vim: et sw=4 ts=4 sts=4:

View File

@@ -32,7 +32,7 @@ let &l:define .= '\|\\\(re\)\=new\(boolean\|command\|counter\|environment\|font'
" Tell Vim how to recognize LaTeX \include{foo} and plain \input bar : " Tell Vim how to recognize LaTeX \include{foo} and plain \input bar :
let &l:include .= '\|\\include{' let &l:include .= '\|\\include{'
" On some file systems, "{" and "}" are inluded in 'isfname'. In case the " On some file systems, "{" and "}" are included in 'isfname'. In case the
" TeX file has \include{fname} (LaTeX only), strip everything except "fname". " TeX file has \include{fname} (LaTeX only), strip everything except "fname".
let &l:includeexpr = "substitute(v:fname, '^.\\{-}{\\|}.*', '', 'g')" let &l:includeexpr = "substitute(v:fname, '^.\\{-}{\\|}.*', '', 'g')"

View File

@@ -292,7 +292,7 @@ function! GetTeXIndent() " {{{
let ind = ind - shiftwidth() let ind = ind - shiftwidth()
let stay = 0 let stay = 0
endif endif
" lines following to '\item' are intented once again: " lines following to '\item' are indented once again:
if line =~ g:tex_items if line =~ g:tex_items
let ind = ind + shiftwidth() let ind = ind + shiftwidth()
let stay = 0 let stay = 0

View File

@@ -0,0 +1,42 @@
if polyglot#init#is_disabled(expand('<sfile>:p'), 'graphql', 'after/syntax/rescript/graphql.vim')
finish
endif
" Copyright (c) 2016-2021 Jon Parise <jon@indelible.org>
"
" Permission is hereby granted, free of charge, to any person obtaining a copy
" of this software and associated documentation files (the "Software"), to
" deal in the Software without restriction, including without limitation the
" rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
" sell copies of the Software, and to permit persons to whom the Software is
" furnished to do so, subject to the following conditions:
"
" The above copyright notice and this permission notice shall be included in
" all copies or substantial portions of the Software.
"
" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
" AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
" IN THE SOFTWARE.
"
" Language: GraphQL
" Maintainer: Jon Parise <jon@indelible.org>
if exists('b:current_syntax')
let s:current_syntax = b:current_syntax
unlet b:current_syntax
endif
let b:graphql_nested_syntax = 1
syn include @GraphQLSyntax syntax/graphql.vim
unlet b:graphql_nested_syntax
if exists('s:current_syntax')
let b:current_syntax = s:current_syntax
endif
syntax region graphqlExtensionPoint start=+%graphql(+ end=+)+ contains=graphqlExtensionPointS
syntax region graphqlExtensionPointS matchgroup=String start=+`+ end=+`+ contains=@GraphQLSyntax contained

View File

@@ -1,126 +0,0 @@
if polyglot#init#is_disabled(expand('<sfile>:p'), 'zinit', 'after/syntax/zsh.vim')
finish
endif
" Copyright (c) 2019 Sebastian Gniazdowski
"
" Syntax highlighting for Zinit commands in any file of type `zsh'.
" It adds definitions for the Zinit syntax to the ones from the
" existing zsh.vim definitions-file.
" Main Zinit command.
" Should be the only TOP rule for the whole syntax.
syntax match ZinitCommand /\<zinit\>\s/me=e-1
\ skipwhite
\ nextgroup=ZinitSubCommands,ZinitPluginSubCommands,ZinitSnippetSubCommands
\ contains=ZinitSubCommands,ZinitPluginSubCommands,ZinitSnippetSubCommands
" TODO: add options for e.g. light
syntax match ZinitSubCommands /\s\<\%(ice\|compinit\|env-whitelist\|cdreplay\|cdclear\|update\)\>\s/ms=s+1,me=e-1
\ contained
syntax match ZinitPluginSubCommands /\s\<\%(light\|load\)\>\s/ms=s+1,me=e-1
\ skipwhite nextgroup=ZinitPlugin1,ZinitPlugin2,ZinitPlugin3
\ contains=ZinitPlugin1,ZinitPlugin2,ZinitPlugin3
syntax match ZinitSnippetSubCommands /\s\<\%(snippet\)\>\s/ms=s+1,me=e-1
\ skipwhite
\ nextgroup=ZinitSnippetShorthands1,ZinitSnippetShorthands2
\ contains=ZinitSnippetShorthands1,ZinitSnippetShorthands2
" "user/plugin"
syntax match ZinitPlugin1 /\s["]\%([!-_]*\%(\/[!-_]\+\)\+\|[!-_]\+\)["]/ms=s+1,hs=s+2,he=e-1
\ contained
\ nextgroup=ZinitTrailingWhiteSpace
\ contains=ZinitTrailingWhiteSpace
" 'user/plugin'
syntax match ZinitPlugin2 /\s[']\%([!-_]*\%(\/[!-_]\+\)\+\|[!-_]\+\)[']/ms=s+1,hs=s+2,he=e-1
\ contained
\ nextgroup=ZinitTrailingWhiteSpace
\ contains=ZinitTrailingWhiteSpace
" user/plugin
syntax match ZinitPlugin3 /\s\%([!-_]*\%(\/[!-_]\+\)\+\|[!-_]\+\)/ms=s+1,me=e+2
\ contained
\ nextgroup=ZinitTrailingWhiteSpace
\ contains=ZinitTrailingWhiteSpace
" OMZ:: or PZT::
" TODO: 'OMZ:: or 'PZT::
syntax match ZinitSnippetShorthands1 /\s\<\%(\%(OMZ\|PZT\)\>::\|\)/hs=s+1,he=e-2
\ contained
\ skipwhite
\ nextgroup=ZinitSnippetUrl1,ZinitSnippetUrl2
\ contains=ZinitSnippetUrl1,ZinitSnippetUrl2
" "OMZ:: or "PZT::
syntax match ZinitSnippetShorthands2 /\s["]\%(\%(OMZ\|PZT\)\>::\|\)/hs=s+2,he=e-2
\ contained
\ skipwhite
\ nextgroup=ZinitSnippetUrl3,ZinitSnippetUrl4
\ contains=ZinitSnippetUrl3,ZinitSnippetUrl4
syntax match ZinitSnippetUrl3 /\<\%(http:\/\/\|https:\/\/\|ftp:\/\/\|\$HOME\|\/\)[!-_]\+\%(\/[!-_]\+\)*\/\?["]/he=e-1
\ contained
\ nextgroup=ZinitTrailingWhiteSpace
\ contains=ZinitTrailingWhiteSpace
" TODO: Fix ZinitTrailingWhiteSpace not matching
syntax match ZinitSnippetUrl4 /\%(\%(OMZ\|PZT\)::\)[!-_]\+\%(\/[!-_]\+\)*\/\?["]/hs=s+5,he=e-1
\ contained
\ nextgroup=ZinitTrailingWhiteSpace
\ contains=ZinitTrailingWhiteSpace
" http://… or https://… or ftp://… or $HOME/… or /…
" TODO: Fix $HOME/… and /… not matching
syntax match ZinitSnippetUrl1 /\<\%(http:\/\/\|https:\/\/\|ftp:\/\/\|\$HOME\|\/\)[!-_]\+\%(\/[!-_]\+\)*\/\?/
\ contained
\ nextgroup=ZinitTrailingWhiteSpace
\ contains=ZinitTrailingWhiteSpace
" TODO: Fix ZinitTrailingWhiteSpace not matching
syntax match ZinitSnippetUrl2 /\<\%(\%(OMZ\|PZT\)::\)[!-_]\+\%(\/[!-_]\+\)*\/\?/hs=s+5
\ contained
\ nextgroup=ZinitTrailingWhiteSpace
\ contains=ZinitTrailingWhiteSpace
syntax match ZinitTrailingWhiteSpace /[[:space:]]\+$/ contained
" TODO: differentiate the no-value ices
" TODO: use contained
syntax match ZinitIceSubCommand /\sice\s/ms=s+1,me=e-1 nextgroup=ZinitIceModifiers
syntax match ZinitIceModifiers /\s\<\%(svn\|proto\|from\|teleid\|bindmap\|cloneopts\|id-as\|depth\|if\|wait\|load\)\>/ms=s+1
syntax match ZinitIceModifiers /\s\<\%(unload\|blockf\|on-update-of\|subscribe\|pick\|bpick\|src\|as\|ver\|silent\)\>/ms=s+1
syntax match ZinitIceModifiers /\s\<\%(lucid\|notify\|mv\|cp\|atinit\|atclone\|atload\|atpull\|nocd\|run-atpull\|has\)\>/ms=s+1
syntax match ZinitIceModifiers /\s\<\%(cloneonly\|make\|service\|trackbinds\|multisrc\|compile\|nocompile\)\>/ms=s+1
syntax match ZinitIceModifiers /\s\<\%(nocompletions\|reset-prompt\|wrap-track\|reset\|aliases\|sh\|bash\|ksh\|csh\)\>/ms=s+1
syntax match ZinitIceModifiers /\s\<\%(\\!sh\|!sh\|\\!bash\|!bash\|\\!ksh\|!ksh\|\\!csh\|!csh\)\>/ms=s+1
syntax match ZinitIceModifiers /\s\<\%(blockf\|silent\|lucid\|trackbinds\|cloneonly\|nocd\|run-atpull\)\>/ms=s+1
syntax match ZinitIceModifiers /\s\<\%(\|sh\|\!sh\|bash\|\!bash\|ksh\|\!ksh\|csh\|\!csh\)\>/ms=s+1
syntax match ZinitIceModifiers /\s\<\%(nocompletions\|svn\|aliases\|trigger-load\)\>/ms=s+1
syntax match ZinitIceModifiers /\s\<\%(light-mode\|is-snippet\|countdown\|ps-on-unload\|ps-on-update\)\>/ms=s+1
" Include also ices added by the existing annexes
syntax match ZinitIceModifiers /\s\<\%(test\|zman\|submod\|dl\|patch\|fbin\|sbin\|fsrc\|ferc\|fmod\|gem\|node\|rustup\|cargo\)\>/ms=s+1
" Additional Zsh and Zinit functions
syntax match ZshAndZinitFunctions /\<\%(compdef\|compinit\|zpcdreplay\|zpcdclear\|zpcompinit\|zpcompdef\)\>/
" Link
highlight def link ZshAndZinitFunctions Keyword
highlight def link ZinitCommand Statement
highlight def link ZinitSubCommands Title
highlight def link ZinitPluginSubCommands Title
highlight def link ZinitSnippetSubCommands Title
highlight def link ZinitIceModifiers Type
highlight def link ZinitSnippetShorthands1 Keyword
highlight def link ZinitSnippetShorthands2 Keyword
highlight def link ZinitPlugin1 Macro
highlight def link ZinitPlugin2 Macro
highlight def link ZinitPlugin3 Macro
highlight def link ZinitSnippetUrl1 Macro
highlight def link ZinitSnippetUrl2 Macro
highlight def link ZinitSnippetUrl3 Macro
highlight def link ZinitSnippetUrl4 Macro
highlight def link ZinitTrailingWhiteSpace Error

View File

@@ -71,13 +71,13 @@ if exists ('g:ada_with_gnat_project_files')
endfor endfor
endif endif
" Section: add standart exception {{{2 " Section: add standard exception {{{2
" "
for Item in ['Constraint_Error', 'Program_Error', 'Storage_Error', 'Tasking_Error', 'Status_Error', 'Mode_Error', 'Name_Error', 'Use_Error', 'Device_Error', 'End_Error', 'Data_Error', 'Layout_Error', 'Length_Error', 'Pattern_Error', 'Index_Error', 'Translation_Error', 'Time_Error', 'Argument_Error', 'Tag_Error', 'Picture_Error', 'Terminator_Error', 'Conversion_Error', 'Pointer_Error', 'Dereference_Error', 'Update_Error'] for Item in ['Constraint_Error', 'Program_Error', 'Storage_Error', 'Tasking_Error', 'Status_Error', 'Mode_Error', 'Name_Error', 'Use_Error', 'Device_Error', 'End_Error', 'Data_Error', 'Layout_Error', 'Length_Error', 'Pattern_Error', 'Index_Error', 'Translation_Error', 'Time_Error', 'Argument_Error', 'Tag_Error', 'Picture_Error', 'Terminator_Error', 'Conversion_Error', 'Pointer_Error', 'Dereference_Error', 'Update_Error']
let g:ada#Keywords += [{ let g:ada#Keywords += [{
\ 'word': Item, \ 'word': Item,
\ 'menu': 'exception', \ 'menu': 'exception',
\ 'info': 'Ada standart exception.', \ 'info': 'Ada standard exception.',
\ 'kind': 'x', \ 'kind': 'x',
\ 'icase': 1}] \ 'icase': 1}]
endfor endfor
@@ -214,7 +214,7 @@ function ada#Word (...)
let l:Line = substitute (getline (l:Line_Nr), g:ada#Comment, '', '' ) let l:Line = substitute (getline (l:Line_Nr), g:ada#Comment, '', '' )
" Cope with tag searching for items in comments; if we are, don't loop " Cope with tag searching for items in comments; if we are, don't loop
" backards looking for previous lines " backwards looking for previous lines
if l:Column_Nr > strlen(l:Line) if l:Column_Nr > strlen(l:Line)
" We were in a comment " We were in a comment
let l:Line = getline(l:Line_Nr) let l:Line = getline(l:Line_Nr)

File diff suppressed because one or more lines are too long

View File

@@ -2724,7 +2724,7 @@ fu! csv#Tabularize(bang, first, last) "{{{3
if getline(a:first)[-1:] isnot? b:delimiter if getline(a:first)[-1:] isnot? b:delimiter
let b:col_width[-1] += 1 let b:col_width[-1] += 1
endif endif
let marginline = s:td.scol. join(map(copy(b:col_width), 'repeat(s:td.hbar, v:val)'), s:td.cros). s:td.ecol let marginline = s:td.scol. join(map(copy(b:col_width), 'repeat(s:td.hbar, v:val-1)'), s:td.cros). s:td.ecol
call csv#NewDelimiter(s:td.vbar, 1, line('$')) call csv#NewDelimiter(s:td.vbar, 1, line('$'))
"exe printf('sil %d,%ds/%s/%s/ge', a:first, (a:last+adjust_last), "exe printf('sil %d,%ds/%s/%s/ge', a:first, (a:last+adjust_last),

View File

@@ -3,7 +3,6 @@ if polyglot#init#is_disabled(expand('<sfile>:p'), 'fsharp', 'autoload/fsharp.vim
endif endif
" Vim autoload functions " Vim autoload functions
if exists('g:loaded_autoload_fsharp') if exists('g:loaded_autoload_fsharp')
finish finish
endif endif
@@ -240,14 +239,6 @@ function! fsharp#loadConfig()
if !exists('g:fsharp#fsautocomplete_command') if !exists('g:fsharp#fsautocomplete_command')
let s:fsac = fnamemodify(s:script_root_dir . "fsac/fsautocomplete.dll", ":p") let s:fsac = fnamemodify(s:script_root_dir . "fsac/fsautocomplete.dll", ":p")
" check if FSAC exists
if empty(glob(s:fsac))
echoerr "FSAC not found. :FSharpUpdateFSAC to download."
let &cpo = s:cpo_save
finish
endif
let g:fsharp#fsautocomplete_command = let g:fsharp#fsautocomplete_command =
\ ['dotnet', s:fsac, \ ['dotnet', s:fsac,
\ '--background-service-enabled' \ '--background-service-enabled'
@@ -331,6 +322,29 @@ function! fsharp#loadConfig()
endif endif
endif endif
" FSI keymaps
if g:fsharp#fsi_keymap == "vscode"
if has('nvim')
let g:fsharp#fsi_keymap_send = "<M-cr>"
let g:fsharp#fsi_keymap_toggle = "<M-@>"
else
let g:fsharp#fsi_keymap_send = "<esc><cr>"
let g:fsharp#fsi_keymap_toggle = "<esc>@"
endif
elseif g:fsharp#fsi_keymap == "vim-fsharp"
let g:fsharp#fsi_keymap_send = "<leader>i"
let g:fsharp#fsi_keymap_toggle = "<leader>e"
elseif g:fsharp#fsi_keymap == "custom"
let g:fsharp#fsi_keymap = "none"
if !exists('g:fsharp#fsi_keymap_send')
echoerr "g:fsharp#fsi_keymap_send is not set"
elseif !exists('g:fsharp#fsi_keymap_toggle')
echoerr "g:fsharp#fsi_keymap_toggle is not set"
else
let g:fsharp#fsi_keymap = "custom"
endif
endif
let s:config_is_loaded = 1 let s:config_is_loaded = 1
endfunction endfunction
@@ -398,39 +412,6 @@ endfunction
" .NET/F# specific operations " .NET/F# specific operations
function! s:findWorkspace(dir, cont)
let s:cont_findWorkspace = a:cont
function! s:callback_findWorkspace(result)
let result = a:result
let content = json_decode(result.result.content)
if len(content.Data.Found) < 1
return []
endif
let workspace = { 'Type': 'none' }
for found in content.Data.Found
if workspace.Type == 'none'
let workspace = found
elseif found.Type == 'solution'
if workspace.Type == 'project'
let workspace = found
else
let curLen = len(workspace.Data.Items)
let newLen = len(found.Data.Items)
if newLen > curLen
let workspace = found
endif
endif
endif
endfor
if workspace.Type == 'solution'
call s:cont_findWorkspace([workspace.Data.Path])
else
call s:cont_findWorkspace(workspace.Data.Fsprojs)
endif
endfunction
call s:workspacePeek(a:dir, g:fsharp#workspace_mode_peek_deep_level, g:fsharp#exclude_project_directories, function("s:callback_findWorkspace"))
endfunction
let s:workspace = [] let s:workspace = []
function! fsharp#handle_notifyWorkspace(payload) abort function! fsharp#handle_notifyWorkspace(payload) abort

View File

@@ -215,6 +215,10 @@ function! go#config#DebugWindows() abort
endfunction endfunction
function! go#config#DebugSubstitutePaths() abort
return get(g:, 'go_debug_substitute_paths', [])
endfunction
function! go#config#DebugPreserveLayout() abort function! go#config#DebugPreserveLayout() abort
return get(g:, 'go_debug_preserve_layout', 0) return get(g:, 'go_debug_preserve_layout', 0)
endfunction endfunction

View File

@@ -339,7 +339,7 @@ function! s:on_begin()
let [l,c] = [line('.'), col('.')] let [l,c] = [line('.'), col('.')]
normal! ^ normal! ^
let patt = '\%<'.(c+1).'c\(' . b:julia_begin_keywordsm . '\)\%>'.(c-1).'c' let patt = '\%<'.(c+1).'c\(' . b:julia_begin_keywordsm . '\)\%>'.(c-1).'c'
let n = search(patt, 'Wnc', l) let n = search('\C' . patt, 'Wnc', l)
call cursor(l, c) call cursor(l, c)
return n > 0 return n > 0
endfunction endfunction
@@ -350,7 +350,7 @@ function! s:matchit()
endfunction endfunction
function! s:move_before_begin() function! s:move_before_begin()
call search(b:julia_begin_keywordsm, 'Wbc') call search('\C' . b:julia_begin_keywordsm, 'Wbc')
normal! h normal! h
endfunction endfunction
@@ -382,7 +382,7 @@ function! s:moveto_block_delim(toend, backwards, ...)
normal! bh normal! bh
endif endif
while 1 while 1
let searchret = search(pattern, flags) let searchret = search('\C' . pattern, flags)
if !searchret if !searchret
return ret return ret
endif endif
@@ -473,7 +473,7 @@ function! s:moveto_currentblock_end()
normal! b normal! b
endif endif
let ret = searchpair(b:julia_begin_keywordsm, '', b:julia_end_keywords, flags, b:match_skip) let ret = searchpair('\C' . b:julia_begin_keywordsm, '', '\C' . b:julia_end_keywords, flags, b:match_skip)
if ret <= 0 if ret <= 0
return s:abort() return s:abort()
endif endif
@@ -679,7 +679,7 @@ function! s:find_block(current_mode)
normal! l normal! l
normal! b normal! b
endif endif
let searchret = searchpair(b:julia_begin_keywordsm, '', b:julia_end_keywords, flags, b:match_skip) let searchret = searchpair('\C' . b:julia_begin_keywordsm, '', '\C' . b:julia_end_keywords, flags, b:match_skip)
if searchret <= 0 if searchret <= 0
if !b:jlblk_did_select if !b:jlblk_did_select
return s:abort() return s:abort()

View File

@@ -23,7 +23,7 @@ fun! nim#init() abort
if !v:shell_error && expand('%:e') ==# 'nim' if !v:shell_error && expand('%:e') ==# 'nim'
let false = 0 " Needed for eval of json let false = 0 " Needed for eval of json
let true = 1 " Needed for eval of json let true = 1 " Needed for eval of json
let dumpdata = eval(substitute(raw_dumpdata, "\n", '', 'g')) let dumpdata = json_decode(raw_dumpdata)
let b:nim_project_root = dumpdata['project_path'] let b:nim_project_root = dumpdata['project_path']
let b:nim_defined_symbols = dumpdata['defined_symbols'] let b:nim_defined_symbols = dumpdata['defined_symbols']
@@ -211,7 +211,9 @@ fun! GotoDefinition_nim_ready(def_output) abort
let defBits = split(rawDef, '\t') let defBits = split(rawDef, '\t')
let file = defBits[4] let file = defBits[4]
let line = defBits[5] let line = defBits[5]
let column = defBits[6]
exe printf('e +%d %s', line, file) exe printf('e +%d %s', line, file)
call cursor(line, column + 1)
return 1 return 1
endf endf

View File

@@ -1,7 +1,7 @@
" Vim functions for file type detection " Vim functions for file type detection
" "
" Maintainer: Bram Moolenaar <Bram@vim.org> " Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2020 Aug 17 " Last Change: 2021 Nov 27
" These functions are moved here from runtime/filetype.vim to make startup " These functions are moved here from runtime/filetype.vim to make startup
" faster. " faster.
@@ -219,6 +219,23 @@ func polyglot#ft#FTe()
endif endif
endfunc endfunc
" Distinguish between Forth and F#.
" Provided by Doug Kearns.
func polyglot#ft#FTfs()
if exists("g:filetype_fs")
exe "setf " . g:filetype_fs
else
let line = getline(nextnonblank(1))
" comments and colon definitions
if line =~ '^\s*\.\=( ' || line =~ '^\s*\\G\= ' || line =~ '^\\$'
\ || line =~ '^\s*: \S'
setf forth
else
setf fsharp
endif
endif
endfunc
" Distinguish between HTML, XHTML and Django " Distinguish between HTML, XHTML and Django
func polyglot#ft#FThtml() func polyglot#ft#FThtml()
let n = 1 let n = 1
@@ -269,7 +286,10 @@ func polyglot#ft#FTm()
return return
endif endif
let octave_block_terminators = '\<end\%(_try_catch\|classdef\|enumeration\|events\|for\|function\|if\|methods\|parfor\|properties\|switch\|while\)\>' " excluding end(for|function|if|switch|while) common to Murphi
let octave_block_terminators = '\<end\%(_try_catch\|classdef\|enumeration\|events\|methods\|parfor\|properties\)\>'
let objc_preprocessor = '^\s*#\s*\%(import\|include\|define\|if\|ifn\=def\|undef\|line\|error\|pragma\)\>'
let n = 1 let n = 1
let saw_comment = 0 " Whether we've seen a multiline comment leader. let saw_comment = 0 " Whether we've seen a multiline comment leader.
@@ -281,12 +301,11 @@ func polyglot#ft#FTm()
" anything more definitive. " anything more definitive.
let saw_comment = 1 let saw_comment = 1
endif endif
if line =~ '^\s*\(#\s*\(include\|import\)\>\|@import\>\|//\)' if line =~ '^\s*//' || line =~ '^\s*@import\>' || line =~ objc_preprocessor
setf objc setf objc
return return
endif endif
if line =~ '^\s*\%(#\|%!\|[#%]{\=\s*$\)' || if line =~ '^\s*\%(#\|%!\)' || line =~ '^\s*unwind_protect\>' ||
\ line =~ '^\s*unwind_protect\>' ||
\ line =~ '\%(^\|;\)\s*' .. octave_block_terminators \ line =~ '\%(^\|;\)\s*' .. octave_block_terminators
setf octave setf octave
return return
@@ -792,6 +811,23 @@ func polyglot#ft#Redif()
endwhile endwhile
endfunc endfunc
" This function is called for all files under */debian/patches/*, make sure not
" to non-dep3patch files, such as README and other text files.
func polyglot#ft#Dep3patch()
if expand('%:t') ==# 'series'
return
endif
for ln in getline(1, 100)
if ln =~# '^\%(Description\|Subject\|Origin\|Bug\|Forwarded\|Author\|From\|Reviewed-by\|Acked-by\|Last-Updated\|Applied-Upstream\):'
setf dep3patch
return
elseif ln =~# '^---'
" end of headers found. stop processing
return
endif
endfor
endfunc
" Restore 'cpoptions' " Restore 'cpoptions'
let &cpo = s:cpo_save let &cpo = s:cpo_save

View File

@@ -1769,10 +1769,6 @@ if !has_key(g:polyglot_is_disabled, 'gitignore')
au BufNewFile,BufRead *.git/info/exclude,*/.config/git/ignore,{.,}gitignore setf gitignore au BufNewFile,BufRead *.git/info/exclude,*/.config/git/ignore,{.,}gitignore setf gitignore
endif endif
if !has_key(g:polyglot_is_disabled, 'tads')
au! BufNewFile,BufRead,BufWritePost *.t call polyglot#detect#T()
endif
if !has_key(g:polyglot_is_disabled, 'prolog') if !has_key(g:polyglot_is_disabled, 'prolog')
au! BufNewFile,BufRead,BufWritePost *.pl call polyglot#detect#Pl() au! BufNewFile,BufRead,BufWritePost *.pl call polyglot#detect#Pl()
au BufNewFile,BufRead *.pdb,*.pro,*.prolog,*.yap setf prolog au BufNewFile,BufRead *.pdb,*.pro,*.prolog,*.yap setf prolog
@@ -1787,7 +1783,7 @@ if !has_key(g:polyglot_is_disabled, 'odin')
endif endif
if !has_key(g:polyglot_is_disabled, 'dosini') if !has_key(g:polyglot_is_disabled, 'dosini')
au BufNewFile,BufRead *.dof,*.ini,*.lektorproject,*.prefs,*.pro,*.properties,*/etc/pacman.conf,*/etc/yum.conf,{.,}editorconfig,{.,}npmrc,buildozer.spec setf dosini au BufNewFile,BufRead *.dof,*.ini,*.lektorproject,*.prefs,*.pro,*.properties,*/etc/pacman.conf,*/etc/yum.conf,{.,}editorconfig,{.,}flake8,{.,}npmrc,buildozer.spec setf dosini
au BufNewFile,BufRead php.ini-* call s:StarSetf('dosini') au BufNewFile,BufRead php.ini-* call s:StarSetf('dosini')
au BufNewFile,BufRead */etc/yum.repos.d/* call s:StarSetf('dosini') au BufNewFile,BufRead */etc/yum.repos.d/* call s:StarSetf('dosini')
endif endif
@@ -1961,7 +1957,7 @@ if !has_key(g:polyglot_is_disabled, 'slim')
endif endif
if !has_key(g:polyglot_is_disabled, 'sh') if !has_key(g:polyglot_is_disabled, 'sh')
au BufNewFile,BufRead *.bash,*.bats,*.cgi,*.command,*.env,*.fcgi,*.ksh,*.sh,*.sh.in,*.tmux,*.tool,*/etc/udev/cdsymlinks.conf,{.,}bash_aliases,{.,}bash_history,{.,}bash_logout,{.,}bash_profile,{.,}bashrc,{.,}cshrc,{.,}env,{.,}env.example,{.,}flaskenv,{.,}login,{.,}profile,9fs,PKGBUILD,bash_aliases,bash_logout,bash_profile,bashrc,cshrc,gradlew,login,man,profile setf sh au BufNewFile,BufRead *.bash,*.bats,*.cgi,*.command,*.env,*.fcgi,*.ksh,*.sh,*.sh.in,*.tmux,*.tool,*/etc/udev/cdsymlinks.conf,{.,}bash_aliases,{.,}bash_history,{.,}bash_logout,{.,}bash_profile,{.,}bashrc,{.,}cshrc,{.,}env,{.,}env.example,{.,}flaskenv,{.,}kshrc,{.,}login,{.,}profile,9fs,PKGBUILD,bash_aliases,bash_logout,bash_profile,bashrc,cshrc,gradlew,kshrc,login,man,profile setf sh
au BufNewFile,BufRead *.zsh,*/etc/zprofile,{.,}zfbfmarks,{.,}zlogin,{.,}zlogout,{.,}zprofile,{.,}zshenv,{.,}zshrc setf zsh au BufNewFile,BufRead *.zsh,*/etc/zprofile,{.,}zfbfmarks,{.,}zlogin,{.,}zlogout,{.,}zprofile,{.,}zshenv,{.,}zshrc setf zsh
au BufNewFile,BufRead .zsh* call s:StarSetf('zsh') au BufNewFile,BufRead .zsh* call s:StarSetf('zsh')
au BufNewFile,BufRead .zlog* call s:StarSetf('zsh') au BufNewFile,BufRead .zlog* call s:StarSetf('zsh')
@@ -2011,13 +2007,6 @@ if !has_key(g:polyglot_is_disabled, 'raml')
au BufNewFile,BufRead *.raml setf raml au BufNewFile,BufRead *.raml setf raml
endif endif
if !has_key(g:polyglot_is_disabled, 'raku')
au! BufNewFile,BufRead,BufWritePost *.t call polyglot#detect#T()
au! BufNewFile,BufRead,BufWritePost *.pm call polyglot#detect#Pm()
au! BufNewFile,BufRead,BufWritePost *.pl call polyglot#detect#Pl()
au BufNewFile,BufRead *.6pl,*.6pm,*.nqp,*.p6,*.p6l,*.p6m,*.pl6,*.pm6,*.pod6,*.raku,*.rakudoc,*.rakumod,*.rakutest,*.t6 setf raku
endif
if !has_key(g:polyglot_is_disabled, 'ragel') if !has_key(g:polyglot_is_disabled, 'ragel')
au BufNewFile,BufRead *.rl setf ragel au BufNewFile,BufRead *.rl setf ragel
endif endif
@@ -2097,22 +2086,6 @@ if !has_key(g:polyglot_is_disabled, 'pgsql')
au BufNewFile,BufRead *.pgsql let b:sql_type_override='pgsql' | set ft=sql au BufNewFile,BufRead *.pgsql let b:sql_type_override='pgsql' | set ft=sql
endif endif
if !has_key(g:polyglot_is_disabled, 'perl')
au! BufNewFile,BufRead,BufWritePost *.t call polyglot#detect#T()
au! BufNewFile,BufRead,BufWritePost *.pm call polyglot#detect#Pm()
au! BufNewFile,BufRead,BufWritePost *.pl call polyglot#detect#Pl()
au BufNewFile,BufRead *.al,*.cgi,*.fcgi,*.perl,*.ph,*.plx,*.psgi,{.,}gitolite.rc,Makefile.PL,Rexfile,ack,cpanfile,example.gitolite.rc setf perl
au BufNewFile,BufRead *.pod setf pod
au BufNewFile,BufRead *.comp,*.mason,*.mhtml setf mason
au! BufNewFile,BufRead,BufWritePost *.tt2 call polyglot#detect#Tt2()
au! BufNewFile,BufRead,BufWritePost *.tt2 call polyglot#detect#Tt2()
au BufNewFile,BufRead *.xs setf xs
endif
if !has_key(g:polyglot_is_disabled, 'rc')
au BufNewFile,BufRead *.rc,*.rch setf rc
endif
if !has_key(g:polyglot_is_disabled, 'opencl') if !has_key(g:polyglot_is_disabled, 'opencl')
au BufNewFile,BufRead *.cl,*.opencl setf opencl au BufNewFile,BufRead *.cl,*.opencl setf opencl
endif endif
@@ -2225,7 +2198,34 @@ if !has_key(g:polyglot_is_disabled, 'julia')
endif endif
if !has_key(g:polyglot_is_disabled, 'jst') if !has_key(g:polyglot_is_disabled, 'jst')
au BufNewFile,BufRead *.ect,*.ejs,*.jst setf jst au BufNewFile,BufRead *.ect,*.ejs,*.ejs.t,*.jst setf jst
endif
if !has_key(g:polyglot_is_disabled, 'tads')
au! BufNewFile,BufRead,BufWritePost *.t call polyglot#detect#T()
endif
if !has_key(g:polyglot_is_disabled, 'raku')
au! BufNewFile,BufRead,BufWritePost *.t call polyglot#detect#T()
au! BufNewFile,BufRead,BufWritePost *.pm call polyglot#detect#Pm()
au! BufNewFile,BufRead,BufWritePost *.pl call polyglot#detect#Pl()
au BufNewFile,BufRead *.6pl,*.6pm,*.nqp,*.p6,*.p6l,*.p6m,*.pl6,*.pm6,*.pod6,*.raku,*.rakudoc,*.rakumod,*.rakutest,*.t6 setf raku
endif
if !has_key(g:polyglot_is_disabled, 'perl')
au! BufNewFile,BufRead,BufWritePost *.t call polyglot#detect#T()
au! BufNewFile,BufRead,BufWritePost *.pm call polyglot#detect#Pm()
au! BufNewFile,BufRead,BufWritePost *.pl call polyglot#detect#Pl()
au BufNewFile,BufRead *.al,*.cgi,*.fcgi,*.perl,*.ph,*.plx,*.psgi,{.,}gitolite.rc,Makefile.PL,Rexfile,ack,cpanfile,example.gitolite.rc setf perl
au BufNewFile,BufRead *.pod setf pod
au BufNewFile,BufRead *.comp,*.mason,*.mhtml setf mason
au! BufNewFile,BufRead,BufWritePost *.tt2 call polyglot#detect#Tt2()
au! BufNewFile,BufRead,BufWritePost *.tt2 call polyglot#detect#Tt2()
au BufNewFile,BufRead *.xs setf xs
endif
if !has_key(g:polyglot_is_disabled, 'rc')
au BufNewFile,BufRead *.rc,*.rch setf rc
endif endif
if !has_key(g:polyglot_is_disabled, 'jsonnet') if !has_key(g:polyglot_is_disabled, 'jsonnet')
@@ -2339,7 +2339,7 @@ endif
if !has_key(g:polyglot_is_disabled, 'glsl') if !has_key(g:polyglot_is_disabled, 'glsl')
au! BufNewFile,BufRead,BufWritePost *.fs call polyglot#detect#Fs() au! BufNewFile,BufRead,BufWritePost *.fs call polyglot#detect#Fs()
au BufNewFile,BufRead *.comp,*.fp,*.frag,*.frg,*.fsh,*.fshader,*.geo,*.geom,*.glsl,*.glslf,*.glslv,*.gs,*.gshader,*.shader,*.tesc,*.tese,*.vert,*.vrx,*.vsh,*.vshader setf glsl au BufNewFile,BufRead *.comp,*.fp,*.frag,*.frg,*.fsh,*.fshader,*.geo,*.geom,*.glsl,*.glslf,*.glslv,*.gs,*.gshader,*.rchit,*.rmiss,*.shader,*.tesc,*.tese,*.vert,*.vrx,*.vsh,*.vshader setf glsl
endif endif
if !has_key(g:polyglot_is_disabled, 'git') if !has_key(g:polyglot_is_disabled, 'git')
@@ -2398,7 +2398,7 @@ endif
if !has_key(g:polyglot_is_disabled, 'elixir') if !has_key(g:polyglot_is_disabled, 'elixir')
au BufNewFile,BufRead *.ex,*.exs,mix.lock setf elixir au BufNewFile,BufRead *.ex,*.exs,mix.lock setf elixir
au BufNewFile,BufRead *.eex,*.html.leex,*.leex setf eelixir au BufNewFile,BufRead *.eex,*.html.heex,*.html.leex,*.leex setf eelixir
endif endif
if !has_key(g:polyglot_is_disabled, 'docker-compose') if !has_key(g:polyglot_is_disabled, 'docker-compose')
@@ -2406,7 +2406,7 @@ if !has_key(g:polyglot_is_disabled, 'docker-compose')
endif endif
if !has_key(g:polyglot_is_disabled, 'yaml') if !has_key(g:polyglot_is_disabled, 'yaml')
au BufNewFile,BufRead *.mir,*.reek,*.rviz,*.sublime-syntax,*.syntax,*.yaml,*.yaml-tmlanguage,*.yaml.sed,*.yml,*.yml.mysql,{.,}clang-format,{.,}clang-tidy,{.,}gemrc,fish_history,fish_read_history,glide.lock,yarn.lock setf yaml au BufNewFile,BufRead *.mir,*.reek,*.rviz,*.sublime-syntax,*.syntax,*.yaml,*.yaml-tmlanguage,*.yaml.sed,*.yml,*.yml.mysql,{.,}clang-format,{.,}clang-tidy,{.,}gemrc,CITATION.cff,fish_history,fish_read_history,glide.lock,yarn.lock setf yaml
endif endif
if !has_key(g:polyglot_is_disabled, 'mysql') if !has_key(g:polyglot_is_disabled, 'mysql')
@@ -2534,7 +2534,7 @@ endif
if !has_key(g:polyglot_is_disabled, 'c/c++') if !has_key(g:polyglot_is_disabled, 'c/c++')
au! BufNewFile,BufRead,BufWritePost *.h call polyglot#detect#H() au! BufNewFile,BufRead,BufWritePost *.h call polyglot#detect#H()
au BufNewFile,BufRead *.c++,*.cc,*.cp,*.cpp,*.cxx,*.h++,*.hh,*.hpp,*.hxx,*.inc,*.inl,*.ipp,*.moc,*.tcc,*.tlh,*.tpp setf cpp au BufNewFile,BufRead *.c++,*.cc,*.cp,*.cpp,*.cxx,*.h++,*.hh,*.hpp,*.hxx,*.inc,*.inl,*.ipp,*.ixx,*.moc,*.tcc,*.tlh,*.tpp setf cpp
au! BufNewFile,BufRead,BufWritePost *.h call polyglot#detect#H() au! BufNewFile,BufRead,BufWritePost *.h call polyglot#detect#H()
au BufNewFile,BufRead *.c,*.cats,*.idc,*.qc,*enlightenment/*.cfg setf c au BufNewFile,BufRead *.c,*.cats,*.idc,*.qc,*enlightenment/*.cfg setf c
endif endif
@@ -2575,7 +2575,7 @@ if !has_key(g:polyglot_is_disabled, 'ant')
endif endif
if !has_key(g:polyglot_is_disabled, 'xml') if !has_key(g:polyglot_is_disabled, 'xml')
au BufNewFile,BufRead *.adml,*.admx,*.ant,*.axml,*.builds,*.ccproj,*.ccxml,*.cdxml,*.clixml,*.cproject,*.cscfg,*.csdef,*.csl,*.csproj,*.csproj.user,*.ct,*.depproj,*.dita,*.ditamap,*.ditaval,*.dll.config,*.dotsettings,*.filters,*.fsproj,*.fxml,*.glade,*.gml,*.gmx,*.grxml,*.gst,*.iml,*.ivy,*.jelly,*.jsproj,*.kml,*.launch,*.mdpolicy,*.mjml,*.mod,*.mxml,*.natvis,*.ncl,*.ndproj,*.nproj,*.nuspec,*.odd,*.osm,*.pkgproj,*.pluginspec,*.proj,*.props,*.psc1,*.pt,*.rdf,*.res,*.resx,*.rss,*.sch,*.scxml,*.sfproj,*.shproj,*.srdf,*.storyboard,*.sublime-snippet,*.targets,*.tml,*.tpm,*.ui,*.urdf,*.ux,*.vbproj,*.vcxproj,*.vsixmanifest,*.vssettings,*.vstemplate,*.vxml,*.wixproj,*.workflow,*.wpl,*.wsdl,*.wsf,*.wxi,*.wxl,*.wxs,*.x3d,*.xacro,*.xaml,*.xib,*.xlf,*.xliff,*.xmi,*.xml,*.xml.dist,*.xmp,*.xproj,*.xsd,*.xspec,*.xul,*.zcml,*/etc/blkid.tab,*/etc/blkid.tab.old,*/etc/xdg/menus/*.menu,*fglrxrc,{.,}classpath,{.,}cproject,{.,}project,App.config,NuGet.config,Settings.StyleCop,Web.Debug.config,Web.Release.config,Web.config,packages.config setf xml au BufNewFile,BufRead *.adml,*.admx,*.ant,*.axml,*.builds,*.ccproj,*.ccxml,*.cdxml,*.clixml,*.cproject,*.cscfg,*.csdef,*.csl,*.csproj,*.csproj.user,*.ct,*.depproj,*.dita,*.ditamap,*.ditaval,*.dll.config,*.dotsettings,*.filters,*.fsproj,*.fxml,*.glade,*.gml,*.gmx,*.grxml,*.gst,*.hzp,*.iml,*.ivy,*.jelly,*.jsproj,*.kml,*.launch,*.mdpolicy,*.mjml,*.mod,*.mxml,*.natvis,*.ncl,*.ndproj,*.nproj,*.nuspec,*.odd,*.osm,*.pkgproj,*.pluginspec,*.proj,*.props,*.psc1,*.pt,*.rdf,*.res,*.resx,*.rss,*.sch,*.scxml,*.sfproj,*.shproj,*.srdf,*.storyboard,*.sublime-snippet,*.targets,*.tml,*.tpm,*.ui,*.urdf,*.ux,*.vbproj,*.vcxproj,*.vsixmanifest,*.vssettings,*.vstemplate,*.vxml,*.wixproj,*.workflow,*.wpl,*.wsdl,*.wsf,*.wxi,*.wxl,*.wxs,*.x3d,*.xacro,*.xaml,*.xib,*.xlf,*.xliff,*.xmi,*.xml,*.xml.dist,*.xmp,*.xproj,*.xsd,*.xspec,*.xul,*.zcml,*/etc/blkid.tab,*/etc/blkid.tab.old,*/etc/xdg/menus/*.menu,*fglrxrc,{.,}classpath,{.,}cproject,{.,}project,App.config,NuGet.config,Settings.StyleCop,Web.Debug.config,Web.Release.config,Web.config,packages.config setf xml
endif endif
if !has_key(g:polyglot_is_disabled, 'csv') if !has_key(g:polyglot_is_disabled, 'csv')

View File

@@ -85,7 +85,7 @@ let s:globs = {
\ 'conf': '*.conf,auto.master,config', \ 'conf': '*.conf,auto.master,config',
\ 'config': 'configure.in,configure.ac,Pipfile', \ 'config': 'configure.in,configure.ac,Pipfile',
\ 'context': '*.mkii,*.mkiv,*.mkvi', \ 'context': '*.mkii,*.mkiv,*.mkvi',
\ 'cpp': '*.cpp,*.c++,*.cc,*.cp,*.cxx,*.h,*.h++,*.hh,*.hpp,*.hxx,*.inc,*.inl,*.ipp,*.tcc,*.tpp,*.moc,*.tlh', \ 'cpp': '*.cpp,*.c++,*.cc,*.cp,*.cxx,*.h,*.h++,*.hh,*.hpp,*.hxx,*.inc,*.inl,*.ipp,*.ixx,*.tcc,*.tpp,*.moc,*.tlh',
\ 'cql': '*.cql', \ 'cql': '*.cql',
\ 'crm': '*.crm', \ 'crm': '*.crm',
\ 'crontab': 'crontab,crontab.*', \ 'crontab': 'crontab,crontab.*',
@@ -129,7 +129,7 @@ let s:globs = {
\ 'dnsmasq': '', \ 'dnsmasq': '',
\ 'dockerfile': '*.Dockerfile,*.dock,Containerfile,Dockerfile,dockerfile,Dockerfile*', \ 'dockerfile': '*.Dockerfile,*.dock,Containerfile,Dockerfile,dockerfile,Dockerfile*',
\ 'dosbatch': '*.bat,*.sys', \ 'dosbatch': '*.bat,*.sys',
\ 'dosini': '*.wrap,*.ini,*.dof,*.lektorproject,*.prefs,*.pro,*.properties,buildozer.spec,.editorconfig,.npmrc,php.ini-*', \ 'dosini': '*.wrap,*.ini,*.dof,*.lektorproject,*.prefs,*.pro,*.properties,.flake8,buildozer.spec,.editorconfig,.npmrc,php.ini-*',
\ 'dot': '*.dot,*.gv', \ 'dot': '*.dot,*.gv',
\ 'dracula': '*.drac,*.drc,*lvs,*lpe,drac.*', \ 'dracula': '*.drac,*.drc,*lvs,*lpe,drac.*',
\ 'dsdl': '*.sdl', \ 'dsdl': '*.sdl',
@@ -143,7 +143,7 @@ let s:globs = {
\ 'ecd': '*.ecd', \ 'ecd': '*.ecd',
\ 'ecrystal': '*.ecr', \ 'ecrystal': '*.ecr',
\ 'edif': '*.ed\(f\|if\|o\)', \ 'edif': '*.ed\(f\|if\|o\)',
\ 'eelixir': '*.eex,*.html.leex,*.leex', \ 'eelixir': '*.eex,*.html.heex,*.html.leex,*.leex',
\ 'elf': '*.am', \ 'elf': '*.am',
\ 'elinks': 'elinks.conf', \ 'elinks': 'elinks.conf',
\ 'elixir': '*.ex,*.exs,mix.lock', \ 'elixir': '*.ex,*.exs,mix.lock',
@@ -190,7 +190,7 @@ let s:globs = {
\ 'gitsendemail': '.gitsendemail.*', \ 'gitsendemail': '.gitsendemail.*',
\ 'gkrellmrc': 'gkrellmrc,gkrellmrc_?', \ 'gkrellmrc': 'gkrellmrc,gkrellmrc_?',
\ 'gleam': '*.gleam', \ 'gleam': '*.gleam',
\ 'glsl': '*.glsl,*.fp,*.frag,*.frg,*.fs,*.fsh,*.fshader,*.geo,*.geom,*.glslf,*.glslv,*.gs,*.gshader,*.shader,*.tesc,*.tese,*.vert,*.vrx,*.vsh,*.vshader,*.comp', \ 'glsl': '*.glsl,*.fp,*.frag,*.frg,*.fs,*.fsh,*.fshader,*.geo,*.geom,*.glslf,*.glslv,*.gs,*.gshader,*.rchit,*.rmiss,*.shader,*.tesc,*.tese,*.vert,*.vrx,*.vsh,*.vshader,*.comp',
\ 'gmpl': '*.mod', \ 'gmpl': '*.mod',
\ 'gnash': 'gnashrc,.gnashrc,gnashpluginrc,.gnashpluginrc', \ 'gnash': 'gnashrc,.gnashrc,gnashpluginrc,.gnashpluginrc',
\ 'gnuplot': '*.gp,*.gnu,*.gnuplot,*.p,*.plot,*.plt,*.gpi', \ 'gnuplot': '*.gp,*.gnu,*.gnuplot,*.p,*.plot,*.plt,*.gpi',
@@ -265,7 +265,7 @@ let s:globs = {
\ 'jsonc': '*.cjson,*.jsonc,coc-settings.json,.eslintrc.json,.babelrc,.jshintrc,.jslintrc,.mocharc.json,coffeelint.json,tsconfig.json,jsconfig.json', \ 'jsonc': '*.cjson,*.jsonc,coc-settings.json,.eslintrc.json,.babelrc,.jshintrc,.jslintrc,.mocharc.json,coffeelint.json,tsconfig.json,jsconfig.json',
\ 'jsonnet': '*.jsonnet,*.libsonnet', \ 'jsonnet': '*.jsonnet,*.libsonnet',
\ 'jsp': '*.jsp', \ 'jsp': '*.jsp',
\ 'jst': '*.ejs,*.ect,*.jst', \ 'jst': '*.ejs,*.ect,*.ejs.t,*.jst',
\ 'julia': '*.jl', \ 'julia': '*.jl',
\ 'just': '*.just,justfile', \ 'just': '*.just,justfile',
\ 'kconfig': 'Kconfig,Kconfig.debug,Kconfig.*', \ 'kconfig': 'Kconfig,Kconfig.debug,Kconfig.*',
@@ -480,7 +480,7 @@ let s:globs = {
\ 'services': '', \ 'services': '',
\ 'setserial': '', \ 'setserial': '',
\ 'sexplib': '*.sexp', \ 'sexplib': '*.sexp',
\ 'sh': '*.sh,*.bash,*.bats,*.cgi,*.command,*.env,*.fcgi,*.ksh,*.sh.in,*.tmux,*.tool,.bash_aliases,.bash_history,.bash_logout,.bash_profile,.bashrc,.cshrc,.env,.env.example,.flaskenv,.login,.profile,9fs,PKGBUILD,bash_aliases,bash_logout,bash_profile,bashrc,cshrc,gradlew,login,man,profile', \ 'sh': '*.sh,*.bash,*.bats,*.cgi,*.command,*.env,*.fcgi,*.ksh,*.sh.in,*.tmux,*.tool,.bash_aliases,.bash_history,.bash_logout,.bash_profile,.bashrc,.cshrc,.env,.env.example,.flaskenv,.kshrc,.login,.profile,9fs,PKGBUILD,bash_aliases,bash_logout,bash_profile,bashrc,cshrc,gradlew,kshrc,login,man,profile',
\ 'sieve': '*.siv,*.sieve', \ 'sieve': '*.siv,*.sieve',
\ 'sil': '*.sil', \ 'sil': '*.sil',
\ 'simula': '*.sim', \ 'simula': '*.sim',
@@ -611,7 +611,7 @@ let s:globs = {
\ 'xhtml': '*.xhtml,*.xht', \ 'xhtml': '*.xhtml,*.xht',
\ 'xinetd': '', \ 'xinetd': '',
\ 'xmath': '*.msc,*.msf', \ 'xmath': '*.msc,*.msf',
\ 'xml': '*.xml,*.adml,*.admx,*.ant,*.axml,*.builds,*.ccproj,*.ccxml,*.clixml,*.cproject,*.cscfg,*.csdef,*.csl,*.csproj,*.ct,*.depproj,*.dita,*.ditamap,*.ditaval,*.dll.config,*.dotsettings,*.filters,*.fsproj,*.fxml,*.glade,*.gml,*.gmx,*.grxml,*.gst,*.iml,*.ivy,*.jelly,*.jsproj,*.kml,*.launch,*.mdpolicy,*.mjml,*.mod,*.mxml,*.natvis,*.ncl,*.ndproj,*.nproj,*.nuspec,*.odd,*.osm,*.pkgproj,*.pluginspec,*.proj,*.props,*.psc1,*.pt,*.rdf,*.res,*.resx,*.rss,*.sch,*.scxml,*.sfproj,*.shproj,*.srdf,*.storyboard,*.sublime-snippet,*.targets,*.tml,*.ui,*.urdf,*.ux,*.vbproj,*.vcxproj,*.vsixmanifest,*.vssettings,*.vstemplate,*.vxml,*.wixproj,*.workflow,*.wsdl,*.wsf,*.wxi,*.wxl,*.wxs,*.x3d,*.xacro,*.xaml,*.xib,*.xlf,*.xliff,*.xmi,*.xml.dist,*.xmp,*.xproj,*.xsd,*.xspec,*.xul,*.zcml,*.cdxml,*.tpm,*.csproj.user,*.wpl,.classpath,.cproject,.project,App.config,NuGet.config,Settings.StyleCop,Web.Debug.config,Web.Release.config,Web.config,packages.config,*fglrxrc', \ 'xml': '*.xml,*.adml,*.admx,*.ant,*.axml,*.builds,*.ccproj,*.ccxml,*.clixml,*.cproject,*.cscfg,*.csdef,*.csl,*.csproj,*.ct,*.depproj,*.dita,*.ditamap,*.ditaval,*.dll.config,*.dotsettings,*.filters,*.fsproj,*.fxml,*.glade,*.gml,*.gmx,*.grxml,*.gst,*.hzp,*.iml,*.ivy,*.jelly,*.jsproj,*.kml,*.launch,*.mdpolicy,*.mjml,*.mod,*.mxml,*.natvis,*.ncl,*.ndproj,*.nproj,*.nuspec,*.odd,*.osm,*.pkgproj,*.pluginspec,*.proj,*.props,*.psc1,*.pt,*.rdf,*.res,*.resx,*.rss,*.sch,*.scxml,*.sfproj,*.shproj,*.srdf,*.storyboard,*.sublime-snippet,*.targets,*.tml,*.ui,*.urdf,*.ux,*.vbproj,*.vcxproj,*.vsixmanifest,*.vssettings,*.vstemplate,*.vxml,*.wixproj,*.workflow,*.wsdl,*.wsf,*.wxi,*.wxl,*.wxs,*.x3d,*.xacro,*.xaml,*.xib,*.xlf,*.xliff,*.xmi,*.xml.dist,*.xmp,*.xproj,*.xsd,*.xspec,*.xul,*.zcml,*.cdxml,*.tpm,*.csproj.user,*.wpl,.classpath,.cproject,.project,App.config,NuGet.config,Settings.StyleCop,Web.Debug.config,Web.Release.config,Web.config,packages.config,*fglrxrc',
\ 'xml.twig': '*.xml.twig', \ 'xml.twig': '*.xml.twig',
\ 'xmodmap': '*Xmodmap,*xmodmap*', \ 'xmodmap': '*Xmodmap,*xmodmap*',
\ 'xpm': '*.xpm,*.pm', \ 'xpm': '*.xpm,*.pm',
@@ -622,7 +622,7 @@ let s:globs = {
\ 'xsl': '*.xslt,*.xsl', \ 'xsl': '*.xslt,*.xsl',
\ 'xslt': '*.xsl,*.xslt', \ 'xslt': '*.xsl,*.xslt',
\ 'yacc': '*.yy,*.yxx,*.y++', \ 'yacc': '*.yy,*.yxx,*.y++',
\ 'yaml': '*.yml,*.mir,*.reek,*.rviz,*.sublime-syntax,*.syntax,*.yaml,*.yaml-tmlanguage,*.yaml.sed,*.yml.mysql,.clang-format,.clang-tidy,.gemrc,glide.lock,yarn.lock,fish_history,fish_read_history', \ 'yaml': '*.yml,*.mir,*.reek,*.rviz,*.sublime-syntax,*.syntax,*.yaml,*.yaml-tmlanguage,*.yaml.sed,*.yml.mysql,.clang-format,.clang-tidy,.gemrc,CITATION.cff,glide.lock,yarn.lock,fish_history,fish_read_history',
\ 'yaml.ansible': 'playbook.y{a,}ml,site.y{a,}ml,main.y{a,}ml,local.y{a,}ml,requirements.y{a,}ml,tasks.*.y{a,}ml,roles.*.y{a,}ml,handlers.*.y{a,}ml', \ 'yaml.ansible': 'playbook.y{a,}ml,site.y{a,}ml,main.y{a,}ml,local.y{a,}ml,requirements.y{a,}ml,tasks.*.y{a,}ml,roles.*.y{a,}ml,handlers.*.y{a,}ml',
\ 'yaml.docker-compose': 'docker-compose*.yaml,docker-compose*.yml', \ 'yaml.docker-compose': 'docker-compose*.yaml,docker-compose*.yml',
\ 'z8a': '*.z8a', \ 'z8a': '*.z8a',

View File

@@ -157,7 +157,7 @@ def ParseSExpr(scanner: dict<any>): dict<any>
scanner->ParseLParen() scanner->ParseLParen()
# Expr* # Expr*
var exprs: list<any> var exprs: list<dict<any>>
while scanner->AtStartOfExpr() while scanner->AtStartOfExpr()
exprs->add(scanner->ParseExpr()) exprs->add(scanner->ParseExpr())
endwhile endwhile

108
autoload/unison.vim Normal file
View File

@@ -0,0 +1,108 @@
if polyglot#init#is_disabled(expand('<sfile>:p'), 'unison', 'autoload/unison.vim')
finish
endif
" Unison functionality for Vim, including type/term omnicompletion.
"
" Maintainer: Unison Computing
" Original Author: Cody Allen (ceedubs)
if exists('g:autoloaded_unison')
finish
endif
let g:autoloaded_unison = 1
let s:required_config_value = "!REQUIRED!"
" adapted from https://github.com/rust-lang/rust.vim/blob/4aa69b84c8a58fcec6b6dad6fe244b916b1cf830/autoload/rust.vim#L9-L18
function! s:config(name, default) abort
let name = 'unison_' . a:name
" Local buffer variable with same name takes predeence over global
if has_key(b:, name)
return get(b:, name)
elseif has_key(g:, name)
return get(g:, name)
elseif a:default == s:required_config_value
throw 'Missing required configuration value: ' . name
else
return a:default
endif
endfunction
function! s:curl_path() abort
return s:config('curl_path', "curl")
endfunction
function! s:jq_path() abort
return s:config('jq_path', "jq")
endfunction
function! unison#SetBufferDefaults() abort
if s:config('set_buffer_defaults', 1)
" Since Unison completion is fuzzy and not prefix-based, 'longest' doesn't
" work well, and 'noinsert' behaves a little better.
setlocal completeopt=menuone,noinsert,preview
setlocal omnifunc=unison#Complete
endif
endfunction
" Unison completion satisfying the standard vim completion signature, such
" that it can be assigned to omnifunc.
" vim will first call this to find the base input that should be completed,
" and then will call it again with the base input.
function! unison#Complete(findstart, base) abort
if a:findstart
" locate the start of the word
let line = getline('.')
let start = col('.') - 1
while start > 0 && line[start - 1] !~ '\s' && line[start - 1] != '(' && line[start - 1] != ')'
let start -= 1
endwhile
return start
else
return unison#CompleteForBase(a:base)
endif
endfunction
" Return an array of completion items for the provided base input. For example
" base could be 'List.foldL', in which case the top result would probably be
" 'List.foldLeft'.
function! unison#CompleteForBase(base) abort
let resultLimit = s:config('complete_result_limit', 20)
let apiHost = s:config('api_host', 'localhost')
let apiPort = s:config('api_port', s:required_config_value)
let apiToken = s:config('api_token', s:required_config_value)
let apiUri = 'http://' . apiHost . ':' . apiPort . '/' . apiToken . '/api/find'
let curlCommand = s:curl_path() . " -Gfs
\ --data-urlencode 'limit=" . resultLimit . "'
\ --data-urlencode 'query=" . a:base . "' "
\ . apiUri
let jqFilter = '
\ def prettyTermType: .termType|[(.[] | .segment)]|add;
\ def prettyTypeDef: if .tag == "BuiltinObject" then "builtin type " else "" end + (.contents|[(.[] | .segment)]|add);
\ def termToMatch: {
\ word: .bestFoundTermName,
\ info: (.namedTerm.termName + " : " + (.namedTerm|prettyTermType)),
\ menu: .namedTerm|prettyTermType
\ };
\ def typeToMatch: {
\ word: .bestFoundTypeName,
\ info: (.namedType.typeName + " : " + (.typeDef|prettyTypeDef)),
\ menu: .typeDef|prettyTypeDef
\ };
\ .[][1]|(
\ (select(.tag == "FoundTermResult")|.contents|termToMatch),
\ (select(.tag == "FoundTypeResult")|.contents|typeToMatch)
\ )'
let command = curlCommand . " | " . s:jq_path() . " -c '" . jqFilter . "'"
let lines = system(command)
let resultObjects = split(lines, "\n")
call map(resultObjects, {_, val -> json_decode(val)})
return resultObjects
endfunction
" vim: set et sw=2 sts=2 ts=2:

View File

@@ -30,7 +30,7 @@ if !g:ledger_is_hledger
CompilerSet errorformat+=%tarning:\ \"%f\"\\,\ line\ %l:\ %m CompilerSet errorformat+=%tarning:\ \"%f\"\\,\ line\ %l:\ %m
" Skip all other lines: " Skip all other lines:
CompilerSet errorformat+=%-G%.%# CompilerSet errorformat+=%-G%.%#
exe 'CompilerSet makeprg='.substitute(g:ledger_bin, ' ', '\\ ', 'g').'\ -f\ ' . expand('g:ledger_main::S') . '\ '.substitute(g:ledger_extra_options, ' ', '\\ ', 'g').'\ source\ ' . expand('g:ledger_main::S') exe 'CompilerSet makeprg='.substitute(g:ledger_bin, ' ', '\\ ', 'g').'\ -f\ ' . substitute(shellescape(expand(g:ledger_main)), ' ', '\\ ', 'g') . '\ '.substitute(g:ledger_extra_options, ' ', '\\ ', 'g').'\ source\ ' . shellescape(expand(g:ledger_main))
else else
exe 'CompilerSet makeprg=('.substitute(g:ledger_bin, ' ', '\\ ', 'g').'\ -f\ ' . expand('g:ledger_main::S') . '\ print\ '.substitute(g:ledger_extra_options, ' ', '\\ ', 'g') . '\ >\ /dev/null)' exe 'CompilerSet makeprg=('.substitute(g:ledger_bin, ' ', '\\ ', 'g').'\ -f\ ' . substitute(shellescape(expand(g:ledger_main)), ' ', '\\ ', 'g') . '\ print\ '.substitute(g:ledger_extra_options, ' ', '\\ ', 'g').'\ >\ /dev/null)'
endif endif

View File

@@ -33,14 +33,36 @@ endif
if !executable(g:ps1_makeprg_cmd) if !executable(g:ps1_makeprg_cmd)
echoerr "To use the powershell compiler, please set g:ps1_makeprg_cmd to the powershell executable!" echoerr "To use the powershell compiler, please set g:ps1_makeprg_cmd to the powershell executable!"
finish
endif endif
" Show CategoryInfo, FullyQualifiedErrorId, etc? " Show CategoryInfo, FullyQualifiedErrorId, etc?
let g:ps1_efm_show_error_categories = get(g:, 'ps1_efm_show_error_categories', 0) let g:ps1_efm_show_error_categories = get(g:, 'ps1_efm_show_error_categories', 0)
let &l:makeprg = g:ps1_makeprg_cmd
" Load Vanilla Shell and show syntax errors
" See https://zigford.org/powershell-syntax-now-supported-by-ale-vim-plugin.html
if has('win32')
setlocal makeprg+=\ -NoProfile\ -NoLogo\ -NonInteractive\ -command\ \"&{
\trap{$_.tostring();continue}&{
\[void]$executioncontext.invokecommand.invokescript('%')
\}
\}\"
elseif has('unix')
setlocal makeprg+=\ -NoProfile\ -NoLogo\ -NonInteractive\ -command\ "&{
\trap{\\$_.tostring();continue}&{
\[void]\\$executioncontext.invokecommand.invokescript('%')
\}
\}"
\}\"
else
echoerr "To use the powershell compiler, please run it under Microsoft Windows or Unix!"
finish
endif
" Use absolute path because powershell requires explicit relative paths " Use absolute path because powershell requires explicit relative paths
" (./file.ps1 is okay, but # expands to file.ps1) " (./file.ps1 is okay, but # expands to file.ps1)
let &l:makeprg = g:ps1_makeprg_cmd .' %:p:S' setlocal makeprg+=\ %:p:S
silent CompilerSet makeprg
" Parse file, line, char from callstacks: " Parse file, line, char from callstacks:
" Write-Ouput : The term 'Write-Ouput' is not recognized as the name of a " Write-Ouput : The term 'Write-Ouput' is not recognized as the name of a

View File

@@ -1,7 +1,7 @@
" Vim support file to detect file types " Vim support file to detect file types
" "
" Maintainer: Bram Moolenaar <Bram@vim.org> " Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2021 Aug 23 " Last Change: 2021 Dec 14
" Listen very carefully, I will say this only once " Listen very carefully, I will say this only once
if exists("did_load_filetypes") if exists("did_load_filetypes")
@@ -123,7 +123,7 @@ au BufNewFile,BufRead *.aml setf aml
" APT config file " APT config file
au BufNewFile,BufRead apt.conf setf aptconf au BufNewFile,BufRead apt.conf setf aptconf
au BufNewFile,BufRead */.aptitude/config setf aptconf au BufNewFile,BufRead */.aptitude/config setf aptconf
au BufNewFile,BufRead */etc/apt/apt.conf.d/{[-_[:alnum:]]\+,[-_.[:alnum:]]\+.conf} setf aptconf " more generic pattern far down
" Arch Inventory file " Arch Inventory file
au BufNewFile,BufRead .arch-inventory,=tagging-method setf arch au BufNewFile,BufRead .arch-inventory,=tagging-method setf arch
@@ -260,7 +260,7 @@ au BufNewFile,BufRead *.lpc,*.ulpc setf lpc
au BufNewFile,BufRead calendar setf calendar au BufNewFile,BufRead calendar setf calendar
" C# " C#
au BufNewFile,BufRead *.cs setf cs au BufNewFile,BufRead *.cs,*.csx setf cs
" CSDL " CSDL
au BufNewFile,BufRead *.csdl setf csdl au BufNewFile,BufRead *.csdl setf csdl
@@ -488,7 +488,10 @@ au BufNewFile,BufRead *.desktop,*.directory setf desktop
au BufNewFile,BufRead dict.conf,.dictrc setf dictconf au BufNewFile,BufRead dict.conf,.dictrc setf dictconf
" Dictd config " Dictd config
au BufNewFile,BufRead dictd.conf setf dictdconf au BufNewFile,BufRead dictd*.conf setf dictdconf
" DEP3 formatted patch files
au BufNewFile,BufRead */debian/patches/* call polyglot#ft#Dep3patch()
" Diff files " Diff files
au BufNewFile,BufRead *.diff,*.rej setf diff au BufNewFile,BufRead *.diff,*.rej setf diff
@@ -617,6 +620,9 @@ autocmd BufRead,BufNewFile *.fnl setf fennel
" Fetchmail RC file " Fetchmail RC file
au BufNewFile,BufRead .fetchmailrc setf fetchmail au BufNewFile,BufRead .fetchmailrc setf fetchmail
" Fish shell
au BufNewFile,BufRead *.fish setf fish
" FlexWiki - disabled, because it has side effects when a .wiki file " FlexWiki - disabled, because it has side effects when a .wiki file
" is not actually FlexWiki " is not actually FlexWiki
"au BufNewFile,BufRead *.wiki setf flexwiki "au BufNewFile,BufRead *.wiki setf flexwiki
@@ -629,7 +635,7 @@ au BufNewFile,BufRead auto.master setf conf
au BufNewFile,BufRead *.mas,*.master setf master au BufNewFile,BufRead *.mas,*.master setf master
" Forth " Forth
au BufNewFile,BufRead *.fs,*.ft,*.fth setf forth au BufNewFile,BufRead *.ft,*.fth setf forth
" Reva Forth " Reva Forth
au BufNewFile,BufRead *.frt setf reva au BufNewFile,BufRead *.frt setf reva
@@ -646,8 +652,14 @@ au BufNewFile,BufRead *.fsl setf framescript
" FStab " FStab
au BufNewFile,BufRead fstab,mtab setf fstab au BufNewFile,BufRead fstab,mtab setf fstab
" F# or Forth
au BufNewFile,BufRead *.fs call polyglot#ft#FTfs()
" F#
au BufNewFile,BufRead *.fsi,*.fsx setf fsharp
" GDB command files " GDB command files
au BufNewFile,BufRead .gdbinit setf gdb au BufNewFile,BufRead .gdbinit,gdbinit setf gdb
" GDMO " GDMO
au BufNewFile,BufRead *.mo,*.gdmo setf gdmo au BufNewFile,BufRead *.mo,*.gdmo setf gdmo
@@ -707,6 +719,7 @@ au BufNewFile,BufRead *.gpi setf gnuplot
" Go (Google) " Go (Google)
au BufNewFile,BufRead *.go setf go au BufNewFile,BufRead *.go setf go
au BufNewFile,BufRead Gopkg.lock setf toml
" GrADS scripts " GrADS scripts
au BufNewFile,BufRead *.gs setf grads au BufNewFile,BufRead *.gs setf grads
@@ -780,6 +793,10 @@ au BufNewFile,BufRead *.hb setf hb
" Httest " Httest
au BufNewFile,BufRead *.htt,*.htb setf httest au BufNewFile,BufRead *.htt,*.htb setf httest
" i3 (and sway)
au BufNewFile,BufRead */i3/config,*/sway/config setf i3config
au BufNewFile,BufRead */.i3/config,*/.sway/config setf i3config
" Icon " Icon
au BufNewFile,BufRead *.icn setf icon au BufNewFile,BufRead *.icn setf icon
@@ -876,6 +893,9 @@ au BufNewFile,BufRead *.json-patch setf json
" Jupyter Notebook is also json " Jupyter Notebook is also json
au BufNewFile,BufRead *.ipynb setf json au BufNewFile,BufRead *.ipynb setf json
" Other files that look like json
au BufNewFile,BufRead .babelrc,.eslintrc,.prettierrc,.firebaserc setf json
" JSONC " JSONC
au BufNewFile,BufRead *.jsonc setf jsonc au BufNewFile,BufRead *.jsonc setf jsonc
@@ -1092,6 +1112,9 @@ au BufNewFile,BufRead *.moo setf moo
" Modconf " Modconf
au BufNewFile,BufRead */etc/modules.conf,*/etc/modules,*/etc/conf.modules setf modconf au BufNewFile,BufRead */etc/modules.conf,*/etc/modules,*/etc/conf.modules setf modconf
" MPD is based on XML
au BufNewFile,BufRead *.mpd setf xml
" Mplayer config " Mplayer config
au BufNewFile,BufRead mplayer.conf,*/.mplayer/config setf mplayerconf au BufNewFile,BufRead mplayer.conf,*/.mplayer/config setf mplayerconf
@@ -1107,11 +1130,15 @@ au BufNewFile,BufRead *.msql setf msql
" Mysql " Mysql
au BufNewFile,BufRead *.mysql setf mysql au BufNewFile,BufRead *.mysql setf mysql
" Mutt setup files (must be before catch *.rc) " Tcl Shell RC file
au BufNewFile,BufRead */etc/Muttrc.d/* call s:StarSetf('muttrc') au BufNewFile,BufRead tclsh.rc setf tcl
" M$ Resource files " M$ Resource files
au BufNewFile,BufRead *.rc,*.rch setf rc " /etc/Muttrc.d/file.rc is muttrc
au BufNewFile,BufRead *.rc,*.rch
\ if expand("<afile>") !~ "/etc/Muttrc.d/" |
\ setf rc |
\ endif
" MuPAD source " MuPAD source
au BufRead,BufNewFile *.mu setf mupad au BufRead,BufNewFile *.mu setf mupad
@@ -1140,6 +1167,9 @@ au BufNewFile,BufRead Neomuttrc setf neomuttrc
" Netrc " Netrc
au BufNewFile,BufRead .netrc setf netrc au BufNewFile,BufRead .netrc setf netrc
" Nginx
au BufNewFile,BufRead *.nginx,nginx*.conf,*nginx.conf,*/etc/nginx/*,*/usr/local/nginx/conf/*,*/nginx/*.conf setf nginx
" Ninja file " Ninja file
au BufNewFile,BufRead *.ninja setf ninja au BufNewFile,BufRead *.ninja setf ninja
@@ -1278,7 +1308,7 @@ au BufNewFile,BufRead *.rcp setf pilrc
au BufNewFile,BufRead .pinerc,pinerc,.pinercex,pinercex setf pine au BufNewFile,BufRead .pinerc,pinerc,.pinercex,pinercex setf pine
" Pipenv Pipfiles " Pipenv Pipfiles
au BufNewFile,BufRead Pipfile setf config au BufNewFile,BufRead Pipfile setf toml
au BufNewFile,BufRead Pipfile.lock setf json au BufNewFile,BufRead Pipfile.lock setf json
" PL/1, PL/I " PL/1, PL/I
@@ -1400,7 +1430,7 @@ au BufNewFile,BufRead *.ptl,*.pyi,SConstruct setf python
" Radiance " Radiance
au BufNewFile,BufRead *.rad,*.mat setf radiance au BufNewFile,BufRead *.rad,*.mat setf radiance
" Raku (formelly Perl6) " Raku (formerly Perl6)
au BufNewFile,BufRead *.pm6,*.p6,*.t6,*.pod6,*.raku,*.rakumod,*.rakudoc,*.rakutest setf raku au BufNewFile,BufRead *.pm6,*.p6,*.t6,*.pod6,*.raku,*.rakumod,*.rakudoc,*.rakutest setf raku
" Ratpoison config/command files " Ratpoison config/command files
@@ -1480,6 +1510,9 @@ au BufNewFile,BufRead robots.txt setf robots
" Rpcgen " Rpcgen
au BufNewFile,BufRead *.x setf rpcgen au BufNewFile,BufRead *.x setf rpcgen
" MikroTik RouterOS script
au BufRead,BufNewFile *.rsc setf routeros
" reStructuredText Documentation Format " reStructuredText Documentation Format
au BufNewFile,BufRead *.rst setf rst au BufNewFile,BufRead *.rst setf rst
@@ -1512,6 +1545,7 @@ au BufNewFile,BufRead [rR]antfile,*.rant,[rR]akefile,*.rake setf ruby
" Rust " Rust
au BufNewFile,BufRead *.rs setf rust au BufNewFile,BufRead *.rs setf rust
au BufNewFile,BufRead Cargo.lock,*/.cargo/config,*/.cargo/credentials setf toml
" S-lang (or shader language, or SmallLisp) " S-lang (or shader language, or SmallLisp)
au BufNewFile,BufRead *.sl setf slang au BufNewFile,BufRead *.sl setf slang
@@ -1623,6 +1657,9 @@ au BufNewFile,BufRead .tcshrc,*.tcsh,tcsh.tcshrc,tcsh.login call polyglot#ft#Set
" (patterns ending in a start further below) " (patterns ending in a start further below)
au BufNewFile,BufRead .login,.cshrc,csh.cshrc,csh.login,csh.logout,*.csh,.alias call polyglot#ft#CSH() au BufNewFile,BufRead .login,.cshrc,csh.cshrc,csh.login,csh.logout,*.csh,.alias call polyglot#ft#CSH()
" Zig
au BufNewFile,BufRead *.zig setf zig
" Z-Shell script (patterns ending in a star further below) " Z-Shell script (patterns ending in a star further below)
au BufNewFile,BufRead .zprofile,*/etc/zprofile,.zfbfmarks setf zsh au BufNewFile,BufRead .zprofile,*/etc/zprofile,.zfbfmarks setf zsh
au BufNewFile,BufRead .zshrc,.zshenv,.zlogin,.zlogout,.zcompdump setf zsh au BufNewFile,BufRead .zshrc,.zshenv,.zlogin,.zlogout,.zcompdump setf zsh
@@ -1709,6 +1746,9 @@ au BufNewFile,BufRead *.speedup,*.spdata,*.spd setf spup
" Slice " Slice
au BufNewFile,BufRead *.ice setf slice au BufNewFile,BufRead *.ice setf slice
" Microsoft Visual Studio Solution
au BufNewFile,BufRead *.sln setf solution
" Spice " Spice
au BufNewFile,BufRead *.sp,*.spice setf spice au BufNewFile,BufRead *.sp,*.spice setf spice
@@ -1730,6 +1770,9 @@ au BufNewFile,BufRead *.sqlj setf sqlj
" SQR " SQR
au BufNewFile,BufRead *.sqr,*.sqi setf sqr au BufNewFile,BufRead *.sqr,*.sqi setf sqr
" Squirrel
au BufNewFile,BufRead *.nut setf squirrel
" OpenSSH configuration " OpenSSH configuration
au BufNewFile,BufRead ssh_config,*/.ssh/config setf sshconfig au BufNewFile,BufRead ssh_config,*/.ssh/config setf sshconfig
au BufNewFile,BufRead */etc/ssh/ssh_config.d/*.conf setf sshconfig au BufNewFile,BufRead */etc/ssh/ssh_config.d/*.conf setf sshconfig
@@ -1802,7 +1845,7 @@ au BufRead,BufNewFile {pending,completed,undo}.data setf taskdata
au BufRead,BufNewFile *.task setf taskedit au BufRead,BufNewFile *.task setf taskedit
" Tcl (JACL too) " Tcl (JACL too)
au BufNewFile,BufRead *.tcl,*.tk,*.itcl,*.itk,*.jacl setf tcl au BufNewFile,BufRead *.tcl,*.tm,*.tk,*.itcl,*.itk,*.jacl,.tclshrc,.wishrc setf tcl
" TealInfo " TealInfo
au BufNewFile,BufRead *.tli setf tli au BufNewFile,BufRead *.tli setf tli
@@ -1996,14 +2039,15 @@ au BufNewFile,BufRead *.ws[fc] setf wsh
" XHTML " XHTML
au BufNewFile,BufRead *.xhtml,*.xht setf xhtml au BufNewFile,BufRead *.xhtml,*.xht setf xhtml
" X Pixmap (dynamically sets colors, use BufEnter to make it work better) " X Pixmap (dynamically sets colors, this used to trigger on BufEnter to make
au BufEnter *.xpm " it work better, but that breaks setting 'filetype' manually)
au BufNewFile,BufRead *.xpm
\ if getline(1) =~ "XPM2" | \ if getline(1) =~ "XPM2" |
\ setf xpm2 | \ setf xpm2 |
\ else | \ else |
\ setf xpm | \ setf xpm |
\ endif \ endif
au BufEnter *.xpm2 setf xpm2 au BufNewFile,BufRead *.xpm2 setf xpm2
" XFree86 config " XFree86 config
au BufNewFile,BufRead XF86Config au BufNewFile,BufRead XF86Config
@@ -2038,9 +2082,15 @@ au BufNewFile,BufRead *.xml call polyglot#ft#FTxml()
" XMI (holding UML models) is also XML " XMI (holding UML models) is also XML
au BufNewFile,BufRead *.xmi setf xml au BufNewFile,BufRead *.xmi setf xml
" CSPROJ files are Visual Studio.NET's XML-based project config files " CSPROJ files are Visual Studio.NET's XML-based C# project config files
au BufNewFile,BufRead *.csproj,*.csproj.user setf xml au BufNewFile,BufRead *.csproj,*.csproj.user setf xml
" FSPROJ files are Visual Studio.NET's XML-based F# project config files
au BufNewFile,BufRead *.fsproj,*.fsproj.user setf xml
" VBPROJ files are Visual Studio.NET's XML-based Visual Basic project config files
au BufNewFile,BufRead *.vbproj,*.vbproj.user setf xml
" Qt Linguist translation source and Qt User Interface Files are XML " Qt Linguist translation source and Qt User Interface Files are XML
" However, for .ts Typescript is more common. " However, for .ts Typescript is more common.
au BufNewFile,BufRead *.ui setf xml au BufNewFile,BufRead *.ui setf xml
@@ -2124,6 +2174,12 @@ augroup filetypedetect
" Plain text files, needs to be far down to not override others. This avoids
" the "conf" type being used if there is a line starting with '#'.
" But before patterns matching everything in a directory.
au BufNewFile,BufRead *.text,README,LICENSE,COPYING,AUTHORS setf text
" Extra checks for when no filetype has been detected now. Mostly used for " Extra checks for when no filetype has been detected now. Mostly used for
" patterns that end in "*". E.g., "zsh*" matches "zsh.vim", but that's a Vim " patterns that end in "*". E.g., "zsh*" matches "zsh.vim", but that's a Vim
" script file. " script file.
@@ -2136,7 +2192,10 @@ au BufNewFile,BufRead proftpd.conf* call s:StarSetf('apachestyle')
" More Apache config files " More Apache config files
au BufNewFile,BufRead access.conf*,apache.conf*,apache2.conf*,httpd.conf*,srm.conf* call s:StarSetf('apache') au BufNewFile,BufRead access.conf*,apache.conf*,apache2.conf*,httpd.conf*,srm.conf* call s:StarSetf('apache')
au BufNewFile,BufRead */etc/apache2/*.conf*,*/etc/apache2/conf.*/*,*/etc/apache2/mods-*/*,*/etc/apache2/sites-*/*,*/etc/httpd/conf.d/*.conf* call s:StarSetf('apache') au BufNewFile,BufRead */etc/apache2/*.conf*,*/etc/apache2/conf.*/*,*/etc/apache2/mods-*/*,*/etc/apache2/sites-*/*,*/etc/httpd/conf.*/*,*/etc/httpd/mods-*/*,*/etc/httpd/sites-*/*,*/etc/httpd/conf.d/*.conf* call s:StarSetf('apache')
" APT config file
au BufNewFile,BufRead */etc/apt/apt.conf.d/{[-_[:alnum:]]\+,[-_.[:alnum:]]\+.conf} call s:StarSetf('aptconf')
" Asterisk config file " Asterisk config file
au BufNewFile,BufRead *asterisk/*.conf* call s:StarSetf('asterisk') au BufNewFile,BufRead *asterisk/*.conf* call s:StarSetf('asterisk')
@@ -2239,6 +2298,9 @@ au BufNewFile,BufRead */etc/modutils/*
\|endif \|endif
au BufNewFile,BufRead */etc/modprobe.* call s:StarSetf('modconf') au BufNewFile,BufRead */etc/modprobe.* call s:StarSetf('modconf')
" Mutt setup files (must be before catch *.rc)
au BufNewFile,BufRead */etc/Muttrc.d/* call s:StarSetf('muttrc')
" Mutt setup file " Mutt setup file
au BufNewFile,BufRead .mutt{ng,}rc*,*/.mutt{ng,}/mutt{ng,}rc* call s:StarSetf('muttrc') au BufNewFile,BufRead .mutt{ng,}rc*,*/.mutt{ng,}/mutt{ng,}rc* call s:StarSetf('muttrc')
au BufNewFile,BufRead mutt{ng,}rc*,Mutt{ng,}rc* call s:StarSetf('muttrc') au BufNewFile,BufRead mutt{ng,}rc*,Mutt{ng,}rc* call s:StarSetf('muttrc')
@@ -2284,12 +2346,18 @@ au BufNewFile,BufRead .bashrc*,.bash[_-]profile*,.bash[_-]logout*,.bash[_-]alias
au BufNewFile,BufRead .kshrc* call polyglot#ft#SetFileTypeSH("ksh") au BufNewFile,BufRead .kshrc* call polyglot#ft#SetFileTypeSH("ksh")
au BufNewFile,BufRead .profile* call polyglot#ft#SetFileTypeSH(getline(1)) au BufNewFile,BufRead .profile* call polyglot#ft#SetFileTypeSH(getline(1))
" Sudoers
au BufNewFile,BufRead */etc/sudoers.d/* call s:StarSetf('sudoers')
" tcsh scripts ending in a star " tcsh scripts ending in a star
au BufNewFile,BufRead .tcshrc* call polyglot#ft#SetFileTypeShell("tcsh") au BufNewFile,BufRead .tcshrc* call polyglot#ft#SetFileTypeShell("tcsh")
" csh scripts ending in a star " csh scripts ending in a star
au BufNewFile,BufRead .login*,.cshrc* call polyglot#ft#CSH() au BufNewFile,BufRead .login*,.cshrc* call polyglot#ft#CSH()
" tmux configuration with arbitrary extension
au BufNewFile,BufRead {.,}tmux*.conf* setf tmux
" VHDL " VHDL
au BufNewFile,BufRead *.vhdl_[0-9]* call s:StarSetf('vhdl') au BufNewFile,BufRead *.vhdl_[0-9]* call s:StarSetf('vhdl')
@@ -2325,10 +2393,6 @@ au BufNewFile,BufRead .zsh*,.zlog*,.zcompdump* call s:StarSetf('zsh')
au BufNewFile,BufRead zsh*,zlog* call s:StarSetf('zsh') au BufNewFile,BufRead zsh*,zlog* call s:StarSetf('zsh')
" Plain text files, needs to be far down to not override others. This avoids
" the "conf" type being used if there is a line starting with '#'.
au BufNewFile,BufRead *.text,README setf text
" Help files match *.txt but should have a last line that is a modeline. " Help files match *.txt but should have a last line that is a modeline.
au BufNewFile,BufRead *.txt au BufNewFile,BufRead *.txt
\ if getline('$') !~ 'vim:.*ft=help' \ if getline('$') !~ 'vim:.*ft=help'

View File

@@ -5,7 +5,8 @@ endif
" Vim ftplugin file " Vim ftplugin file
" Language: 8th " Language: 8th
" Version: any " Version: any
" Last Change: 2015/11/08 " Last Change: 2021 Sep 20
" Last Change: 2021/09/20
" Maintainer: Ron Aaron <ron@aaron-tech.com> " Maintainer: Ron Aaron <ron@aaron-tech.com>
" URL: https://8th-dev.com/ " URL: https://8th-dev.com/
" Filetypes: *.8th " Filetypes: *.8th
@@ -18,12 +19,13 @@ if exists("b:did_8thplugin")
finish finish
endif endif
" Don't load another plugin for this buffer " Don't load another 8th plugin for this buffer
let b:did_8thplugin = 1 let b:did_8thplugin = 1
setlocal ts=2 sts=2 sw=2 et setlocal ts=2 sts=2 sw=2 et
setlocal com=s1:/*,mb:*,ex:*/,:\|,:\\ setlocal com=s1:/*,mb:*,ex:*/,b:--,be:\\
setlocal fo=tcrqol setlocal fo=tcrqol
setlocal matchpairs+=\::; setlocal matchpairs+=\::;
setlocal iskeyword=!,@,33-35,%,$,38-64,A-Z,91-96,a-z,123-126,128-255 setlocal iskeyword=!,@,33-35,%,$,38-64,A-Z,91-96,a-z,123-126,128-255
setlocal suffixesadd=.8th setlocal suffixesadd=.8th
let b:undo_ftplugin = "setlocal ts< sts< sw< et< com< fo< mps< isk< sua<"

View File

@@ -5,7 +5,7 @@ endif
" Vim filetype plugin file " Vim filetype plugin file
" Language: Aap recipe " Language: Aap recipe
" Maintainer: Bram Moolenaar <Bram@vim.org> " Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2013 Apr 05 " Last Change: 2021 Nov 14
" Only do this when not done yet for this buffer " Only do this when not done yet for this buffer
if exists("b:did_ftplugin") if exists("b:did_ftplugin")
@@ -15,8 +15,9 @@ endif
" Don't load another plugin for this buffer " Don't load another plugin for this buffer
let b:did_ftplugin = 1 let b:did_ftplugin = 1
" Reset 'formatoptions', 'comments' and 'expandtab' to undo this plugin. " Reset 'formatoptions', 'comments', 'commentstring' and 'expandtab' to undo
let b:undo_ftplugin = "setl fo< com< et<" " this plugin.
let b:undo_ftplugin = "setl fo< com< cms< et<"
" Set 'formatoptions' to break comment lines but not other lines, " Set 'formatoptions' to break comment lines but not other lines,
" and insert the comment leader when hitting <CR> or using "o". " and insert the comment leader when hitting <CR> or using "o".
@@ -24,6 +25,12 @@ setlocal fo-=t fo+=croql
" Set 'comments' to format dashed lists in comments. " Set 'comments' to format dashed lists in comments.
setlocal comments=s:#\ -,m:#\ \ ,e:#,n:#,fb:- setlocal comments=s:#\ -,m:#\ \ ,e:#,n:#,fb:-
setlocal commentstring=#\ %s
" Expand tabs to spaces to avoid trouble. " Expand tabs to spaces to avoid trouble.
setlocal expandtab setlocal expandtab
if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
let b:browsefilter = "Aap Recipe Files (*.aap)\t*.aap\nAll Files (*.*)\t*.*\n"
let b:undo_ftplugin .= " | unlet! b:browsefilter"
endif

View File

@@ -68,8 +68,8 @@ if exists('loaded_matchit')
let b:undo_ftplugin .= ' | unlet! b:match_words b:match_skip' let b:undo_ftplugin .= ' | unlet! b:match_words b:match_skip'
endif endif
" Win32 can filter files in the browse dialog " Filter files in the browse dialog
if has("gui_win32") && !exists("b:browsefilter") if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
let b:browsefilter = "Clojure Source Files (*.clj)\t*.clj\n" . let b:browsefilter = "Clojure Source Files (*.clj)\t*.clj\n" .
\ "ClojureScript Source Files (*.cljs)\t*.cljs\n" . \ "ClojureScript Source Files (*.cljs)\t*.cljs\n" .
\ "Java Source Files (*.java)\t*.java\n" . \ "Java Source Files (*.java)\t*.java\n" .

View File

@@ -5,7 +5,7 @@ endif
" Vim filetype plugin file " Vim filetype plugin file
" Language: Diff " Language: Diff
" Maintainer: Bram Moolenaar <Bram@vim.org> " Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2020 Jul 18 " Last Change: 2021 Nov 14
" Only do this when not done yet for this buffer " Only do this when not done yet for this buffer
if exists("b:did_ftplugin") if exists("b:did_ftplugin")
@@ -13,10 +13,15 @@ if exists("b:did_ftplugin")
endif endif
let b:did_ftplugin = 1 let b:did_ftplugin = 1
let b:undo_ftplugin = "setl modeline<" let b:undo_ftplugin = "setl modeline< commentstring<"
" Don't use modelines in a diff, they apply to the diffed file " Don't use modelines in a diff, they apply to the diffed file
setlocal nomodeline setlocal nomodeline
" If there are comments they start with # " If there are comments they start with #
let &commentstring = "# %s" let &l:commentstring = "# %s"
if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
let b:browsefilter = "Diff Files (*.diff)\t*.diff\nPatch Files (*.patch)\t*.h\nAll Files (*.*)\t*.*\n"
let b:undo_ftplugin .= " | unlet! b:browsefilter"
endif

View File

@@ -3,7 +3,7 @@ if polyglot#init#is_disabled(expand('<sfile>:p'), 'dosini', 'ftplugin/dosini.vim
endif endif
" Vim filetype plugin file " Vim filetype plugin file
" Language: Configuration File (ini file) for MSDOS/MS Windows " Language: Configuration File (ini file) for MS-DOS/MS Windows
" Previous Maintainer: Nikolai Weibull <now@bitwi.se> " Previous Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2008-07-09 " Latest Revision: 2008-07-09

View File

@@ -15,10 +15,12 @@ if exists("b:did_ftplugin")
endif endif
let b:did_ftplugin=1 let b:did_ftplugin=1
set lisp setl lisp
" Comment string " Comment string
setl commentstring=;\ %s setl commentstring=;\ %s
setl comments=n:; setl comments=n:;
setl iskeyword+=#,?,.,/ setl iskeyword+=#,?,.,/
let b:undo_ftplugin = "setlocal lisp< cms< com< isk<"

View File

@@ -34,6 +34,28 @@ setlocal commentstring=%%s
setlocal formatoptions+=ro setlocal formatoptions+=ro
if get(g:, 'erlang_extend_path', 1)
" typical erlang.mk paths
let &l:path = join([
\ 'deps/*/include',
\ 'deps/*/src',
\ 'deps/*/test',
\ 'deps/*/apps/*/include',
\ 'deps/*/apps/*/src',
\ &g:path], ',')
" typical rebar3 paths
let &l:path = join([
\ 'apps/*/include',
\ 'apps/*/src',
\ '_build/default/lib/*/src',
\ '_build/default/*/include',
\ &l:path], ',')
" typical erlang paths
let &l:path = join(['include', 'src', 'test', &l:path], ',')
set wildignore+=*/.erlang.mk/*,*.beam
endif
setlocal suffixesadd=.erl,.hrl setlocal suffixesadd=.erl,.hrl
let &l:include = '^\s*-\%(include\|include_lib\)\s*("\zs\f*\ze")' let &l:include = '^\s*-\%(include\|include_lib\)\s*("\zs\f*\ze")'

View File

@@ -1,45 +0,0 @@
if polyglot#init#is_disabled(expand('<sfile>:p'), 'git', 'ftplugin/git.vim')
finish
endif
" Vim filetype plugin
" Language: generic git output
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Last Change: 2019 Dec 05
" Only do this when not done yet for this buffer
if (exists("b:did_ftplugin"))
finish
endif
let b:did_ftplugin = 1
if !exists('b:git_dir')
if expand('%:p') =~# '[\/]\.git[\/]modules[\/]\|:[\/][\/]\|^\a\a\+:'
" Stay out of the way
elseif expand('%:p') =~# '[\/]\.git[\/]worktrees'
let b:git_dir = matchstr(expand('%:p'),'.*\.git[\/]worktrees[\/][^\/]\+\>')
elseif expand('%:p') =~# '\.git\>'
let b:git_dir = matchstr(expand('%:p'),'.*\.git\>')
elseif $GIT_DIR != ''
let b:git_dir = $GIT_DIR
endif
if (has('win32') || has('win64')) && exists('b:git_dir')
let b:git_dir = substitute(b:git_dir,'\\','/','g')
endif
endif
if exists('*shellescape') && exists('b:git_dir') && b:git_dir != ''
if b:git_dir =~# '/\.git$' " Not a bare repository
let &l:path = escape(fnamemodify(b:git_dir,':h'),'\, ').','.&l:path
endif
let &l:path = escape(b:git_dir,'\, ').','.&l:path
let &l:keywordprg = 'git --git-dir='.shellescape(b:git_dir).' show'
else
setlocal keywordprg=git\ show
endif
if has('gui_running') && &guioptions !~# '!'
let &l:keywordprg = substitute(&l:keywordprg,'^git\>','git --no-pager','')
endif
setlocal includeexpr=substitute(v:fname,'^[^/]\\+/','','')
let b:undo_ftplugin = "setl keywordprg< path< includeexpr<"

View File

@@ -12,60 +12,50 @@ if (exists("b:did_ftplugin"))
finish finish
endif endif
runtime! ftplugin/git.vim
let b:did_ftplugin = 1 let b:did_ftplugin = 1
setlocal comments=:# commentstring=#\ %s
setlocal include=^\+\+\+
setlocal nomodeline tabstop=8 formatoptions+=tl textwidth=72 setlocal nomodeline tabstop=8 formatoptions+=tl textwidth=72
setlocal formatoptions-=c formatoptions-=r formatoptions-=o formatoptions-=q formatoptions+=n setlocal formatoptions-=c formatoptions-=r formatoptions-=o formatoptions-=q formatoptions+=n
setlocal formatlistpat+=\\\|^\\s*[-*+]\\s\\+ setlocal formatlistpat+=\\\|^\\s*[-*+]\\s\\+
setlocal include=^+++
setlocal includeexpr=substitute(v:fname,'^[bi]/','','')
let b:undo_ftplugin = 'setl modeline< tabstop< formatoptions< tw< com< cms< formatlistpat<' let b:undo_ftplugin = 'setl modeline< tabstop< formatoptions< tw< com< cms< formatlistpat< inc< inex<'
if exists("g:no_gitcommit_commands") || v:version < 700 let s:l = search('\C\m^[#;@!$%^&|:] -\{24,\} >8 -\{24,\}$', 'cnW', '', 100)
let &l:comments = ':' . (matchstr(getline(s:l ? s:l : '$'), '^[#;@!$%^&|:]\S\@!') . '#')[0]
let &l:commentstring = &l:comments[1] . ' %s'
unlet s:l
if exists("g:no_gitcommit_commands")
finish finish
endif endif
if !exists("b:git_dir") command! -bang -bar -buffer -complete=custom,s:diffcomplete -nargs=* DiffGitCached :call s:gitdiffcached(<bang>0, <f-args>)
let b:git_dir = expand("%:p:h")
endif
command! -bang -bar -buffer -complete=custom,s:diffcomplete -nargs=* DiffGitCached :call s:gitdiffcached(<bang>0,b:git_dir,<f-args>)
let b:undo_ftplugin = b:undo_ftplugin . "|delc DiffGitCached" let b:undo_ftplugin = b:undo_ftplugin . "|delc DiffGitCached"
function! s:diffcomplete(A,L,P) function! s:diffcomplete(A, L, P) abort
let args = "" let args = ""
if a:P <= match(a:L." -- "," -- ")+3 if a:P <= match(a:L." -- "," -- ")+3
let args = args . "-p\n--stat\n--shortstat\n--summary\n--patch-with-stat\n--no-renames\n-B\n-M\n-C\n" let args = args . "-p\n--stat\n--shortstat\n--summary\n--patch-with-stat\n--no-renames\n-B\n-M\n-C\n"
end end
if exists("b:git_dir") && a:A !~ '^-' if a:A !~ '^-' && !empty(getftype('.git'))
let tree = fnamemodify(b:git_dir,':h')
if strpart(getcwd(),0,strlen(tree)) == tree
let args = args."\n".system("git diff --cached --name-only") let args = args."\n".system("git diff --cached --name-only")
endif endif
endif
return args return args
endfunction endfunction
function! s:gitdiffcached(bang,gitdir,...) function! s:gitdiffcached(bang, ...) abort
let tree = fnamemodify(a:gitdir,':h')
let name = tempname() let name = tempname()
let git = "git"
if strpart(getcwd(),0,strlen(tree)) != tree
let git .= " --git-dir=".(exists("*shellescape") ? shellescape(a:gitdir) : '"'.a:gitdir.'"')
endif
if a:0 if a:0
let extra = join(map(copy(a:000),exists("*shellescape") ? 'shellescape(v:val)' : "'\"'.v:val.'\"'")) let extra = join(map(copy(a:000), 'shellescape(v:val)'))
else else
let extra = "-p --stat=".&columns let extra = "-p --stat=".&columns
endif endif
call system(git." diff --cached --no-color --no-ext-diff ".extra." > ".(exists("*shellescape") ? shellescape(name) : name)) call system("git diff --cached --no-color --no-ext-diff ".extra." > ".shellescape(name))
exe "pedit ".(exists("*fnameescape") ? fnameescape(name) : name) exe "pedit " . fnameescape(name)
wincmd P wincmd P
let b:git_dir = a:gitdir command! -bang -bar -buffer -complete=custom,s:diffcomplete -nargs=* DiffGitCached :call s:gitdiffcached(<bang>0, <f-args>)
command! -bang -bar -buffer -complete=custom,s:diffcomplete -nargs=* DiffGitCached :call s:gitdiffcached(<bang>0,b:git_dir,<f-args>)
nnoremap <buffer> <silent> q :q<CR>
setlocal buftype=nowrite nobuflisted noswapfile nomodifiable filetype=git setlocal buftype=nowrite nobuflisted noswapfile nomodifiable filetype=git
endfunction endfunction

View File

@@ -12,15 +12,13 @@ if (exists("b:did_ftplugin"))
finish finish
endif endif
runtime! ftplugin/git.vim
let b:did_ftplugin = 1 let b:did_ftplugin = 1
setlocal comments=:# commentstring=#\ %s formatoptions-=t let &l:comments = ':' . (matchstr(getline('$'), '^[#;@!$%^&|:]\S\@!') . '#')[0]
let &l:commentstring = &l:comments[1] . ' %s'
setlocal formatoptions-=t
setlocal nomodeline setlocal nomodeline
if !exists("b:undo_ftplugin") let b:undo_ftplugin = "setl com< cms< fo< ml<"
let b:undo_ftplugin = ""
endif
let b:undo_ftplugin = b:undo_ftplugin."|setl com< cms< fo< ml<"
function! s:choose(word) abort function! s:choose(word) abort
s/^\(\w\+\>\)\=\(\s*\)\ze\x\{4,40\}\>/\=(strlen(submatch(1)) == 1 ? a:word[0] : a:word) . substitute(submatch(2),'^$',' ','')/e s/^\(\w\+\>\)\=\(\s*\)\ze\x\{4,40\}\>/\=(strlen(submatch(1)) == 1 ? a:word[0] : a:word) . substitute(submatch(2),'^$',' ','')/e
@@ -45,8 +43,7 @@ if exists("g:no_plugin_maps") || exists("g:no_gitrebase_maps")
finish finish
endif endif
nnoremap <buffer> <expr> K col('.') < 7 && expand('<Lt>cword>') =~ '\X' && getline('.') =~ '^\w\+\s\+\x\+\>' ? 'wK' : 'K'
nnoremap <buffer> <silent> <C-A> :<C-U><C-R>=v:count1<CR>Cycle<CR> nnoremap <buffer> <silent> <C-A> :<C-U><C-R>=v:count1<CR>Cycle<CR>
nnoremap <buffer> <silent> <C-X> :<C-U><C-R>=v:count1<CR>Cycle!<CR> nnoremap <buffer> <silent> <C-X> :<C-U><C-R>=v:count1<CR>Cycle!<CR>
let b:undo_ftplugin = b:undo_ftplugin . "|exe 'nunmap <buffer> K'|exe 'nunmap <buffer> <C-A>'|exe 'nunmap <buffer> <C-X>'" let b:undo_ftplugin = b:undo_ftplugin . "|exe 'nunmap <buffer> <C-A>'|exe 'nunmap <buffer> <C-X>'"

View File

@@ -4,6 +4,7 @@ endif
" Vim filetype plugin file " Vim filetype plugin file
" Language: indent(1) configuration file " Language: indent(1) configuration file
" Maintainer: Doug Kearns <dougkearns@gmail.com>
" Previous Maintainer: Nikolai Weibull <now@bitwi.se> " Previous Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2008-07-09 " Latest Revision: 2008-07-09

View File

@@ -2,8 +2,29 @@ if polyglot#init#is_disabled(expand('<sfile>:p'), 'kotlin', 'ftplugin/kotlin.vim
finish finish
endif endif
" Vim filetype plugin file
" Language: Kotlin
" Maintainer: Alexander Udalov
" URL: https://github.com/udalov/kotlin-vim
" Last Change: 7 November 2021
if exists('b:did_ftplugin') | finish | endif if exists('b:did_ftplugin') | finish | endif
let b:did_ftplugin = 1 let b:did_ftplugin = 1
let s:save_cpo = &cpo
set cpo&vim
setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,:// setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,://
setlocal commentstring=//\ %s setlocal commentstring=//\ %s
setlocal formatoptions-=t formatoptions+=croqnl
silent! setlocal formatoptions+=j
setlocal includeexpr=substitute(v:fname,'\\.','/','g')
setlocal suffixesadd=.kt
let b:undo_ftplugin = "setlocal comments< commentstring< ".
\ "formatoptions< includeexpr< suffixesadd<"
let &cpo = s:save_cpo
unlet s:save_cpo

View File

@@ -5,7 +5,7 @@ endif
" Vim filetype plugin file " Vim filetype plugin file
" Language: Mail " Language: Mail
" Maintainer: Bram Moolenaar <Bram@vim.org> " Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2012 Nov 20 " Last Change: 2021 Oct 23
" Only do this when not done yet for this buffer " Only do this when not done yet for this buffer
if exists("b:did_ftplugin") if exists("b:did_ftplugin")
@@ -30,6 +30,14 @@ setlocal fo+=tcql
" Add n:> to 'comments, in case it was removed elsewhere " Add n:> to 'comments, in case it was removed elsewhere
setlocal comments+=n:> setlocal comments+=n:>
" .eml files are universally formatted with DOS line-endings, per RFC5322.
" If the file was not DOS the it will be marked as changed, which is probably
" a good thing.
if expand('%:e') ==? 'eml'
let b:undo_ftplugin .= " fileformat=" .. &fileformat
setlocal fileformat=dos
endif
" Add mappings, unless the user doesn't want this. " Add mappings, unless the user doesn't want this.
if !exists("no_plugin_maps") && !exists("no_mail_maps") if !exists("no_plugin_maps") && !exists("no_mail_maps")
" Quote text by inserting "> " " Quote text by inserting "> "

View File

@@ -16,9 +16,28 @@ set cpo&vim
setlocal commentstring=#\ %s setlocal commentstring=#\ %s
setlocal comments=:# setlocal comments=:#
setlocal formatoptions+=croql formatoptions-=t
let b:undo_ftplugin = "setl com< cms< fo<"
if get(g:, "meson_recommended_style", 1)
setlocal expandtab
setlocal shiftwidth=2 setlocal shiftwidth=2
setlocal softtabstop=2 setlocal softtabstop=2
let b:undo_ftplugin .= " | setl et< sts< sw<"
endif
if exists("loaded_matchit") && !exists("b:match_words")
let b:match_words = '\<if\>:\<elif\>:\<else\>:\<endif\>,' .
\ '\<foreach\>:\<break\>:\<continue\>:\<endforeach\>'
let b:undo_ftplugin .= " | unlet! b:match_words"
endif
if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
let b:browsefilter = "Meson Build Files (meson.build)\tmeson.build\n" .
\ "All Files (*.*)\t*.*\n"
let b:undo_ftplugin .= " | unlet! b:browsefilter"
endif
let &cpo = s:keepcpo let &cpo = s:keepcpo
unlet s:keepcpo unlet s:keepcpo

View File

@@ -2,4 +2,8 @@ if polyglot#init#is_disabled(expand('<sfile>:p'), 'nginx', 'ftplugin/nginx.vim')
finish finish
endif endif
setlocal comments=:#
setlocal commentstring=#\ %s setlocal commentstring=#\ %s
setlocal formatoptions+=croql formatoptions-=t
let b:undo_ftplugin = "setl fo< cms< com<"

View File

@@ -7,7 +7,7 @@ endif
" Maintainer: Ken Takata " Maintainer: Ken Takata
" URL: https://github.com/k-takata/vim-nsis " URL: https://github.com/k-takata/vim-nsis
" Previous Maintainer: Nikolai Weibull <now@bitwi.se> " Previous Maintainer: Nikolai Weibull <now@bitwi.se>
" Last Change: 2018-01-26 " Last Change: 2021-10-18
if exists("b:did_ftplugin") if exists("b:did_ftplugin")
finish finish
@@ -19,7 +19,6 @@ set cpo&vim
let b:did_ftplugin = 1 let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo< def< inc<" let b:undo_ftplugin = "setl com< cms< fo< def< inc<"
\ " | unlet! b:match_ignorecase b:match_words"
setlocal comments=s1:/*,mb:*,ex:*/,b:#,:; commentstring=;\ %s setlocal comments=s1:/*,mb:*,ex:*/,b:#,:; commentstring=;\ %s
setlocal formatoptions-=t formatoptions+=croql setlocal formatoptions-=t formatoptions+=croql
@@ -41,6 +40,7 @@ if exists("loaded_matchit")
\ '\${MementoSection}:\${MementoSectionEnd},' . \ '\${MementoSection}:\${MementoSectionEnd},' .
\ '!if\%(\%(macro\)\?n\?def\)\?\>:!else\>:!endif\>,' . \ '!if\%(\%(macro\)\?n\?def\)\?\>:!else\>:!endif\>,' .
\ '!macro\>:!macroend\>' \ '!macro\>:!macroend\>'
let b:undo_ftplugin .= " | unlet! b:match_ignorecase b:match_words"
endif endif
let &cpo = s:cpo_save let &cpo = s:cpo_save

View File

@@ -2,6 +2,12 @@ if polyglot#init#is_disabled(expand('<sfile>:p'), 'ocaml', 'ftplugin/oasis.vim')
finish finish
endif endif
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin=1
setlocal comments=:# setlocal comments=:#
setlocal commentstring=#\ %s setlocal commentstring=#\ %s
let b:undo_ftplugin = "com< cms<"

View File

@@ -46,6 +46,8 @@ setlocal comments=sr:(*\ ,mb:\ ,ex:*)
setlocal comments^=sr:(**,mb:\ \ ,ex:*) setlocal comments^=sr:(**,mb:\ \ ,ex:*)
setlocal commentstring=(*%s*) setlocal commentstring=(*%s*)
let b:undo_ftplugin = "setlocal com< cms<"
" Add mappings, unless the user didn't want this. " Add mappings, unless the user didn't want this.
if !exists("no_plugin_maps") && !exists("no_ocaml_maps") if !exists("no_plugin_maps") && !exists("no_ocaml_maps")
" (un)commenting " (un)commenting
@@ -54,6 +56,11 @@ if !exists("no_plugin_maps") && !exists("no_ocaml_maps")
xmap <buffer> <LocalLeader>c <Plug>BUncomOn xmap <buffer> <LocalLeader>c <Plug>BUncomOn
nmap <buffer> <LocalLeader>C <Plug>LUncomOff nmap <buffer> <LocalLeader>C <Plug>LUncomOff
xmap <buffer> <LocalLeader>C <Plug>BUncomOff xmap <buffer> <LocalLeader>C <Plug>BUncomOff
let b:undo_ftplugin .=
\ " | silent! execute 'nunmap <buffer> <LocalLeader>c'" .
\ " | silent! execute 'xunmap <buffer> <LocalLeader>c'" .
\ " | silent! execute 'nunmap <buffer> <LocalLeader>C'" .
\ " | silent! execute 'xunmap <buffer> <LocalLeader>C'"
endif endif
nnoremap <buffer> <Plug>LUncomOn gI(* <End> *)<ESC> nnoremap <buffer> <Plug>LUncomOn gI(* <End> *)<ESC>
@@ -66,8 +73,15 @@ if !exists("no_plugin_maps") && !exists("no_ocaml_maps")
nmap <buffer> <LocalLeader>t <Plug>OCamlPrintType nmap <buffer> <LocalLeader>t <Plug>OCamlPrintType
xmap <buffer> <LocalLeader>t <Plug>OCamlPrintType xmap <buffer> <LocalLeader>t <Plug>OCamlPrintType
let b:undo_ftplugin .=
\ " | silent! execute 'nunmap <buffer> <LocalLeader>s'" .
\ " | silent! execute 'nunmap <buffer> <LocalLeader>S'" .
\ " | silent! execute 'nunmap <buffer> <LocalLeader>t'" .
\ " | silent! execute 'xunmap <buffer> <LocalLeader>t'"
endif endif
if exists("loaded_matchit") && !exists("b:match_words")
" Let % jump between structure elements (due to Issac Trotts) " Let % jump between structure elements (due to Issac Trotts)
let b:mw = '\<let\>:\<and\>:\(\<in\>\|;;\)' let b:mw = '\<let\>:\<and\>:\(\<in\>\|;;\)'
let b:mw = b:mw . ',\<if\>:\<then\>:\<else\>' let b:mw = b:mw . ',\<if\>:\<then\>:\<else\>'
@@ -78,6 +92,9 @@ let b:match_words = b:mw
let b:match_ignorecase=0 let b:match_ignorecase=0
let b:undo_ftplugin .= " | unlet! b:match_ignorecase b:match_words"
endif
function! s:OcpGrep(bang,args) abort function! s:OcpGrep(bang,args) abort
let grepprg = &l:grepprg let grepprg = &l:grepprg
let grepformat = &l:grepformat let grepformat = &l:grepformat
@@ -154,12 +171,9 @@ endif
if exists("g:ocaml_folding") if exists("g:ocaml_folding")
setlocal foldmethod=expr setlocal foldmethod=expr
setlocal foldexpr=OMLetFoldLevel(v:lnum) setlocal foldexpr=OMLetFoldLevel(v:lnum)
let b:undo_ftplugin .= " | setlocal fdm< fde<"
endif endif
let b:undo_ftplugin = "setlocal efm< foldmethod< foldexpr<"
\ . "| unlet! b:mw b:match_words b:match_ignorecase"
" - Only definitions below, executed once ------------------------------------- " - Only definitions below, executed once -------------------------------------
if exists("*OMLetFoldLevel") if exists("*OMLetFoldLevel")

View File

@@ -2,6 +2,12 @@ if polyglot#init#is_disabled(expand('<sfile>:p'), 'ocaml', 'ftplugin/ocamlbuild_
finish finish
endif endif
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin=1
setlocal comments=:# setlocal comments=:#
setlocal commentstring=#\ %s setlocal commentstring=#\ %s
let b:undo_ftplugin = "com< cms<"

View File

@@ -26,3 +26,5 @@ setlocal expandtab
" Including files. " Including files.
let &l:include = '^\s*include' let &l:include = '^\s*include'
let b:undo_ftplugin = "fo< com< cms< et< inc<"

View File

@@ -90,8 +90,14 @@ endfunction
function! s:build_path(path) abort function! s:build_path(path) abort
let path = join(map(copy(a:path), 'v:val ==# "." ? "" : v:val'), ',') let path = join(map(copy(a:path), 'v:val ==# "." ? "" : v:val'), ',')
if &g:path !~# '\v^%(\.,)=%(/%(usr|emx)/include,)=,$' if &g:path =~# '\v^%(\.,)=%(/%(usr|emx)/include,)=,$'
let path = substitute(&g:path,',,$',',','') . ',' . path let path = path . ',.,,'
elseif &g:path =~# ',\.,,$'
let path = &g:path[0:-4] . path . ',.,,'
elseif &g:path =~# ',,$'
let path = &g:path[0:-2] . path . ',,'
else
let path = substitute(&g:path, '[^,]\zs$', ',', '') . path
endif endif
return path return path
endfunction endfunction
@@ -167,6 +173,8 @@ let b:undo_ftplugin .= "| sil! cunmap <buffer> <Plug><ctag>| sil! cunmap <buffer
if !exists("g:no_plugin_maps") && !exists("g:no_ruby_maps") if !exists("g:no_plugin_maps") && !exists("g:no_ruby_maps")
nmap <buffer><script> <SID>: :<C-U> nmap <buffer><script> <SID>: :<C-U>
nmap <buffer><script> <SID>c: :<C-U><C-R>=v:count ? v:count : ''<CR> nmap <buffer><script> <SID>c: :<C-U><C-R>=v:count ? v:count : ''<CR>
cmap <buffer> <SID><cfile> <Plug><cfile>
cmap <buffer> <SID><ctag> <Plug><ctag>
nnoremap <silent> <buffer> [m :<C-U>call <SID>searchsyn('\<def\>',['rubyDefine'],'b','n')<CR> nnoremap <silent> <buffer> [m :<C-U>call <SID>searchsyn('\<def\>',['rubyDefine'],'b','n')<CR>
nnoremap <silent> <buffer> ]m :<C-U>call <SID>searchsyn('\<def\>',['rubyDefine'],'','n')<CR> nnoremap <silent> <buffer> ]m :<C-U>call <SID>searchsyn('\<def\>',['rubyDefine'],'','n')<CR>
@@ -213,20 +221,20 @@ if !exists("g:no_plugin_maps") && !exists("g:no_ruby_maps")
call s:map('c', '', '<C-R><C-F> <Plug><cfile>') call s:map('c', '', '<C-R><C-F> <Plug><cfile>')
cmap <buffer><script><expr> <SID>tagzv &foldopen =~# 'tag' ? '<Bar>norm! zv' : '' cmap <buffer><script><expr> <SID>tagzv &foldopen =~# 'tag' ? '<Bar>norm! zv' : ''
call s:map('n', '<silent>', '<C-]> <SID>:exe v:count1."tag <Plug><ctag>"<SID>tagzv<CR>') call s:map('n', '<script><silent>', '<C-]> <SID>:exe v:count1."tag <SID><ctag>"<SID>tagzv<CR>')
call s:map('n', '<silent>', 'g<C-]> <SID>:exe "tjump <Plug><ctag>"<SID>tagzv<CR>') call s:map('n', '<script><silent>', 'g<C-]> <SID>:exe "tjump <SID><ctag>"<SID>tagzv<CR>')
call s:map('n', '<silent>', 'g] <SID>:exe "tselect <Plug><ctag>"<SID>tagzv<CR>') call s:map('n', '<script><silent>', 'g] <SID>:exe "tselect <SID><ctag>"<SID>tagzv<CR>')
call s:map('n', '<silent>', '<C-W>] <SID>:exe v:count1."stag <Plug><ctag>"<SID>tagzv<CR>') call s:map('n', '<script><silent>', '<C-W>] <SID>:exe v:count1."stag <SID><ctag>"<SID>tagzv<CR>')
call s:map('n', '<silent>', '<C-W><C-]> <SID>:exe v:count1."stag <Plug><ctag>"<SID>tagzv<CR>') call s:map('n', '<script><silent>', '<C-W><C-]> <SID>:exe v:count1."stag <SID><ctag>"<SID>tagzv<CR>')
call s:map('n', '<silent>', '<C-W>g<C-]> <SID>:exe "stjump <Plug><ctag>"<SID>tagzv<CR>') call s:map('n', '<script><silent>', '<C-W>g<C-]> <SID>:exe "stjump <SID><ctag>"<SID>tagzv<CR>')
call s:map('n', '<silent>', '<C-W>g] <SID>:exe "stselect <Plug><ctag>"<SID>tagzv<CR>') call s:map('n', '<script><silent>', '<C-W>g] <SID>:exe "stselect <SID><ctag>"<SID>tagzv<CR>')
call s:map('n', '<silent>', '<C-W>} <SID>:exe v:count1."ptag <Plug><ctag>"<CR>') call s:map('n', '<script><silent>', '<C-W>} <SID>:exe v:count1."ptag <SID><ctag>"<CR>')
call s:map('n', '<silent>', '<C-W>g} <SID>:exe "ptjump <Plug><ctag>"<CR>') call s:map('n', '<script><silent>', '<C-W>g} <SID>:exe "ptjump <SID><ctag>"<CR>')
call s:map('n', '<silent>', 'gf <SID>c:find <Plug><cfile><CR>') call s:map('n', '<script><silent>', 'gf <SID>c:find <SID><cfile><CR>')
call s:map('n', '<silent>', '<C-W>f <SID>c:sfind <Plug><cfile><CR>') call s:map('n', '<script><silent>', '<C-W>f <SID>c:sfind <SID><cfile><CR>')
call s:map('n', '<silent>', '<C-W><C-F> <SID>c:sfind <Plug><cfile><CR>') call s:map('n', '<script><silent>', '<C-W><C-F> <SID>c:sfind <SID><cfile><CR>')
call s:map('n', '<silent>', '<C-W>gf <SID>c:tabfind <Plug><cfile><CR>') call s:map('n', '<script><silent>', '<C-W>gf <SID>c:tabfind <SID><cfile><CR>')
endif endif
let &cpo = s:cpo_save let &cpo = s:cpo_save

View File

@@ -17,3 +17,5 @@ let b:did_ftplugin=1
" Comment string " Comment string
setl commentstring=;\ %s setl commentstring=;\ %s
setl comments=n:; setl comments=n:;
let b:undo_ftplugin = "setl cms< com<"

View File

@@ -36,7 +36,7 @@ if exists("loaded_matchit")
\ '\<checker\>:\<endchecker\>,' . \ '\<checker\>:\<endchecker\>,' .
\ '\<class\>:\<endclass\>,' . \ '\<class\>:\<endclass\>,' .
\ '\<clocking\>:\<endclocking\>,' . \ '\<clocking\>:\<endclocking\>,' .
\ '\<gruop\>:\<endgruop\>,' . \ '\<group\>:\<endgroup\>,' .
\ '\<interface\>:\<endinterface\>,' . \ '\<interface\>:\<endinterface\>,' .
\ '\<package\>:\<endpackage\>,' . \ '\<package\>:\<endpackage\>,' .
\ '\<program\>:\<endprogram\>,' . \ '\<program\>:\<endprogram\>,' .

View File

@@ -2,10 +2,12 @@ if polyglot#init#is_disabled(expand('<sfile>:p'), 'toml', 'ftplugin/toml.vim')
finish finish
endif endif
" File: ftplugin/toml.vim " Vim filetype plugin
" Language: TOML
" Homepage: https://github.com/cespare/vim-toml
" Maintainer: Aman Verma
" Author: Kevin Ballard <kevin@sb.org> " Author: Kevin Ballard <kevin@sb.org>
" Description: FileType Plugin for Toml " Last Change: Sep 21, 2021
" Last Change: Feb 12, 2019
if exists('b:did_ftplugin') if exists('b:did_ftplugin')
finish finish
@@ -22,4 +24,4 @@ setlocal comments=:#
let &cpo = s:save_cpo let &cpo = s:save_cpo
unlet s:save_cpo unlet s:save_cpo
" vim: set et sw=4 ts=4: " vim: et sw=2 sts=2

11
ftplugin/unison.vim Normal file
View File

@@ -0,0 +1,11 @@
if polyglot#init#is_disabled(expand('<sfile>:p'), 'unison', 'ftplugin/unison.vim')
finish
endif
" Only do this when not done yet for this buffer
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
call unison#SetBufferDefaults()

View File

@@ -4,37 +4,55 @@ endif
" Vim filetype plugin file " Vim filetype plugin file
" Language: Visual Basic (ft=vb) " Language: Visual Basic (ft=vb)
" Maintainer: Johannes Zellner <johannes@zellner.org> " Maintainer: Doug Kearns <dougkearns@gmail.com>
" Last Change: Thu, 22 Nov 2001 12:56:14 W. Europe Standard Time " Previous Maintainer: Johannes Zellner <johannes@zellner.org>
" Last Change: 2021 Nov 17
if exists("b:did_ftplugin") | finish | endif if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1 let b:did_ftplugin = 1
setlocal com=sr:'\ -,mb:'\ \ ,el:'\ \ ,:' let s:cpo_save = &cpo
set cpo&vim
setlocal comments=sr:'\ -,mb:'\ \ ,el:'\ \ ,:'
setlocal commentstring='\ %s
setlocal formatoptions-=t formatoptions+=croql
let b:undo_ftplugin = "setlocal com< cms< fo<"
" we need this wrapper, as call doesn't allow a count " we need this wrapper, as call doesn't allow a count
fun! <SID>VbSearch(pattern, flags) function! s:VbSearch(pattern, flags)
let cnt = v:count1 let cnt = v:count1
while cnt > 0 while cnt > 0
call search(a:pattern, a:flags) call search(a:pattern, a:flags)
let cnt = cnt - 1 let cnt = cnt - 1
endwhile endwhile
endfun endfunction
let s:cpo_save = &cpo if !exists("no_plugin_maps") && !exists("no_vb_maps")
set cpo&vim nnoremap <buffer> <silent> [[ <Cmd>call <SID>VbSearch('^\s*\%(\%(private\<Bar>public\)\s\+\)\=\%(function\<Bar>sub\)', 'sbW')<CR>
vnoremap <buffer> <silent> [[ <Cmd>call <SID>VbSearch('^\s*\%(\%(private\<Bar>public\)\s\+\)\=\%(function\<Bar>sub\)', 'sbW')<CR>
nnoremap <buffer> <silent> ]] <Cmd>call <SID>VbSearch('^\s*\%(\%(private\<Bar>public\)\s\+\)\=\%(function\<Bar>sub\)', 'sW')<CR>
vnoremap <buffer> <silent> ]] <Cmd>call <SID>VbSearch('^\s*\%(\%(private\<Bar>public\)\s\+\)\=\%(function\<Bar>sub\)', 'sW')<CR>
nnoremap <buffer> <silent> [] <Cmd>call <SID>VbSearch('^\s*end\s\+\%(function\<Bar>sub\)', 'sbW')<CR>
vnoremap <buffer> <silent> [] <Cmd>call <SID>VbSearch('^\s*end\s\+\%(function\<Bar>sub\)', 'sbW')<CR>
nnoremap <buffer> <silent> ][ <Cmd>call <SID>VbSearch('^\s*end\s\+\%(function\<Bar>sub\)', 'sW')<CR>
vnoremap <buffer> <silent> ][ <Cmd>call <SID>VbSearch('^\s*end\s\+\%(function\<Bar>sub\)', 'sW')<CR>
let b:undo_ftplugin .= " | sil! exe 'nunmap <buffer> [[' | sil! exe 'vunmap <buffer> [['" .
\ " | sil! exe 'nunmap <buffer> ]]' | sil! exe 'vunmap <buffer> ]]'" .
\ " | sil! exe 'nunmap <buffer> []' | sil! exe 'vunmap <buffer> []'" .
\ " | sil! exe 'nunmap <buffer> ][' | sil! exe 'vunmap <buffer> ]['"
endif
" NOTE the double escaping \\| " TODO: line start anchors are almost certainly overly restrictive - allow
nnoremap <buffer> <silent> [[ :call <SID>VbSearch('^\s*\(\(private\|public\)\s\+\)\=\(function\\|sub\)', 'bW')<cr> " after statement separators. Even in QuickBasic only block IF statements
nnoremap <buffer> <silent> ]] :call <SID>VbSearch('^\s*\(\(private\|public\)\s\+\)\=\(function\\|sub\)', 'W')<cr> " were required to be at the start of a line.
nnoremap <buffer> <silent> [] :call <SID>VbSearch('^\s*\<end\>\s\+\(function\\|sub\)', 'bW')<cr> if exists("loaded_matchit") && !exists("b:match_words")
nnoremap <buffer> <silent> ][ :call <SID>VbSearch('^\s*\<end\>\s\+\(function\\|sub\)', 'W')<cr>
" matchit support
if exists("loaded_matchit")
let b:match_ignorecase = 1 let b:match_ignorecase = 1
let b:match_words = let b:match_words =
\ '\%(^\s*\)\@<=\<if\>.*\<then\>\s*$:\%(^\s*\)\@<=\<else\>:\%(^\s*\)\@<=\<elseif\>:\%(^\s*\)\@<=\<end\>\s\+\<if\>,' . \ '\%(^\s*\)\@<=\<if\>.*\<then\>\s*\%($\|''\):\%(^\s*\)\@<=\<else\>:\%(^\s*\)\@<=\<elseif\>:\%(^\s*\)\@<=\<end\>\s\+\<if\>,' .
\ '\%(^\s*\)\@<=\<for\>:\%(^\s*\)\@<=\<next\>,' . \ '\%(^\s*\)\@<=\<for\>:\%(^\s*\)\@<=\<next\>,' .
\ '\%(^\s*\)\@<=\<while\>:\%(^\s*\)\@<=\<wend\>,' . \ '\%(^\s*\)\@<=\<while\>:\%(^\s*\)\@<=\<wend\>,' .
\ '\%(^\s*\)\@<=\<do\>:\%(^\s*\)\@<=\<loop\>\s\+\<while\>,' . \ '\%(^\s*\)\@<=\<do\>:\%(^\s*\)\@<=\<loop\>\s\+\<while\>,' .
@@ -43,6 +61,14 @@ if exists("loaded_matchit")
\ '\%(^\s*\)\@<=\<with\>:\%(^\s*\)\@<=\<end\>\s\<with\>,' . \ '\%(^\s*\)\@<=\<with\>:\%(^\s*\)\@<=\<end\>\s\<with\>,' .
\ '\%(^\s*\)\@<=\%(\<\%(private\|public\)\>\s\+\)\=\<function\>\s\+\([^ \t(]\+\):\%(^\s*\)\@<=\<\1\>\s*=:\%(^\s*\)\@<=\<end\>\s\+\<function\>,' . \ '\%(^\s*\)\@<=\%(\<\%(private\|public\)\>\s\+\)\=\<function\>\s\+\([^ \t(]\+\):\%(^\s*\)\@<=\<\1\>\s*=:\%(^\s*\)\@<=\<end\>\s\+\<function\>,' .
\ '\%(^\s*\)\@<=\%(\<\%(private\|public\)\>\s\+\)\=\<sub\>\s\+:\%(^\s*\)\@<=\<end\>\s\+\<sub\>' \ '\%(^\s*\)\@<=\%(\<\%(private\|public\)\>\s\+\)\=\<sub\>\s\+:\%(^\s*\)\@<=\<end\>\s\+\<sub\>'
let b:undo_ftplugin .= " | unlet! b:match_words b:match_ignorecase"
endif
if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
let b:browsefilter = "Visual Basic Source Files (*.bas)\t*.bas\n" .
\ "Visual Basic Form Files (*.frm)\t*.frm\n" .
\ "All Files (*.*)\t*.*\n"
let b:undo_ftplugin .= " | unlet! b:browsefilter"
endif endif
let &cpo = s:cpo_save let &cpo = s:cpo_save

View File

@@ -39,14 +39,18 @@ endif
let &l:define='\v(<fn>|<const>|<var>|^\s*\#\s*define)' let &l:define='\v(<fn>|<const>|<var>|^\s*\#\s*define)'
if exists("*json_decode") && executable('zig') if !exists('g:zig_std_dir') && exists('*json_decode') && executable('zig')
silent let s:env = system('zig env') silent let s:env = system('zig env')
if v:shell_error == 0 if v:shell_error == 0
let &l:path=json_decode(s:env)['std_dir'] . ',' . &l:path let g:zig_std_dir = json_decode(s:env)['std_dir']
endif endif
unlet! s:env unlet! s:env
endif endif
if exists('g:zig_std_dir')
let &l:path = g:zig_std_dir . ',' . &l:path
endif
let b:undo_ftplugin = let b:undo_ftplugin =
\ 'setl isk< et< ts< sts< sw< fo< sua< mp< com< cms< inex< inc< pa<' \ 'setl isk< et< ts< sts< sw< fo< sua< mp< com< cms< inex< inc< pa<'

View File

@@ -5,7 +5,7 @@ endif
" Vim filetype plugin file " Vim filetype plugin file
" Language: Zimbu " Language: Zimbu
" Maintainer: Bram Moolenaar <Bram@vim.org> " Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2017 Dec 05 " Last Change: 2021 Nov 12
" Only do this when not done yet for this buffer " Only do this when not done yet for this buffer
if exists("b:did_ftplugin") if exists("b:did_ftplugin")
@@ -38,9 +38,11 @@ setlocal errorformat^=%f\ line\ %l\ col\ %c:\ %m,ERROR:\ %m
" When the matchit plugin is loaded, this makes the % command skip parens and " When the matchit plugin is loaded, this makes the % command skip parens and
" braces in comments. " braces in comments.
if exists("loaded_matchit") && !exists("b:match_words")
let b:match_words = '\(^\s*\)\@<=\(MODULE\|CLASS\|INTERFACE\|BITS\|ENUM\|SHARED\|FUNC\|REPLACE\|DEFINE\|PROC\|EQUAL\|MAIN\|IF\|GENERATE_IF\|WHILE\|REPEAT\|WITH\|DO\|FOR\|SWITCH\|TRY\)\>\|{\s*$:\(^\s*\)\@<=\(ELSE\|ELSEIF\|GENERATE_ELSE\|GENERATE_ELSEIF\|CATCH\|FINALLY\)\>:\(^\s*\)\@<=\(}\|\<UNTIL\>\)' let b:match_words = '\(^\s*\)\@<=\(MODULE\|CLASS\|INTERFACE\|BITS\|ENUM\|SHARED\|FUNC\|REPLACE\|DEFINE\|PROC\|EQUAL\|MAIN\|IF\|GENERATE_IF\|WHILE\|REPEAT\|WITH\|DO\|FOR\|SWITCH\|TRY\)\>\|{\s*$:\(^\s*\)\@<=\(ELSE\|ELSEIF\|GENERATE_ELSE\|GENERATE_ELSEIF\|CATCH\|FINALLY\)\>:\(^\s*\)\@<=\(}\|\<UNTIL\>\)'
let b:match_skip = 's:comment\|string\|zimbuchar' let b:match_skip = 's:comment\|string\|zimbuchar'
let b:undo_ftplugin .= " | unlet! b:match_words b:match_skip"
endif
setlocal tw=78 setlocal tw=78
setlocal et sts=2 sw=2 setlocal et sts=2 sw=2
@@ -139,9 +141,60 @@ iabbr <buffer> <expr> until GCUpperSpace("until")
iabbr <buffer> <expr> while GCUpperSpace("while") iabbr <buffer> <expr> while GCUpperSpace("while")
iabbr <buffer> <expr> repeat GCUpper("repeat") iabbr <buffer> <expr> repeat GCUpper("repeat")
let b:undo_ftplugin ..=
\ " | iunabbr <buffer> alias" ..
\ " | iunabbr <buffer> arg" ..
\ " | iunabbr <buffer> break" ..
\ " | iunabbr <buffer> case" ..
\ " | iunabbr <buffer> catch" ..
\ " | iunabbr <buffer> check" ..
\ " | iunabbr <buffer> class" ..
\ " | iunabbr <buffer> interface" ..
\ " | iunabbr <buffer> implements" ..
\ " | iunabbr <buffer> shared" ..
\ " | iunabbr <buffer> continue" ..
\ " | iunabbr <buffer> default" ..
\ " | iunabbr <buffer> extends" ..
\ " | iunabbr <buffer> do" ..
\ " | iunabbr <buffer> else" ..
\ " | iunabbr <buffer> elseif" ..
\ " | iunabbr <buffer> enum" ..
\ " | iunabbr <buffer> exit" ..
\ " | iunabbr <buffer> false" ..
\ " | iunabbr <buffer> fail" ..
\ " | iunabbr <buffer> finally" ..
\ " | iunabbr <buffer> for" ..
\ " | iunabbr <buffer> func" ..
\ " | iunabbr <buffer> if" ..
\ " | iunabbr <buffer> import" ..
\ " | iunabbr <buffer> in" ..
\ " | iunabbr <buffer> io" ..
\ " | iunabbr <buffer> main" ..
\ " | iunabbr <buffer> module" ..
\ " | iunabbr <buffer> new" ..
\ " | iunabbr <buffer> nil" ..
\ " | iunabbr <buffer> ok" ..
\ " | iunabbr <buffer> proc" ..
\ " | iunabbr <buffer> proceed" ..
\ " | iunabbr <buffer> return" ..
\ " | iunabbr <buffer> step" ..
\ " | iunabbr <buffer> switch" ..
\ " | iunabbr <buffer> sys" ..
\ " | iunabbr <buffer> this" ..
\ " | iunabbr <buffer> throw" ..
\ " | iunabbr <buffer> try" ..
\ " | iunabbr <buffer> to" ..
\ " | iunabbr <buffer> true" ..
\ " | iunabbr <buffer> until" ..
\ " | iunabbr <buffer> while" ..
\ " | iunabbr <buffer> repeat"
if !exists("no_plugin_maps") && !exists("no_zimbu_maps") if !exists("no_plugin_maps") && !exists("no_zimbu_maps")
nnoremap <silent> <buffer> [[ m`:call ZimbuGoStartBlock()<CR> nnoremap <silent> <buffer> [[ m`:call ZimbuGoStartBlock()<CR>
nnoremap <silent> <buffer> ]] m`:call ZimbuGoEndBlock()<CR> nnoremap <silent> <buffer> ]] m`:call ZimbuGoEndBlock()<CR>
let b:undo_ftplugin ..=
\ " | silent! exe 'nunmap <buffer> [['" ..
\ " | silent! exe 'nunmap <buffer> ]]'"
endif endif
" Using a function makes sure the search pattern is restored " Using a function makes sure the search pattern is restored

View File

@@ -223,7 +223,7 @@ function GetAdaIndent()
" Move indent in twice (next 'when' will move back) " Move indent in twice (next 'when' will move back)
let ind = ind + 2 * shiftwidth() let ind = ind + 2 * shiftwidth()
elseif line =~ '^\s*end\s*record\>' elseif line =~ '^\s*end\s*record\>'
" Move indent back to tallying 'type' preceeding the 'record'. " Move indent back to tallying 'type' preceding the 'record'.
" Allow indent to be equal to 'end record's. " Allow indent to be equal to 'end record's.
let ind = s:MainBlockIndent( ind+shiftwidth(), lnum, 'type\>', '' ) let ind = s:MainBlockIndent( ind+shiftwidth(), lnum, 'type\>', '' )
elseif line =~ '\(^\s*new\>.*\)\@<!)\s*[;,]\s*$' elseif line =~ '\(^\s*new\>.*\)\@<!)\s*[;,]\s*$'

View File

@@ -22,6 +22,7 @@ let s:named_module_entry = '\v^\s*-\s*(name|hosts|role):\s*\S' " - name: 'do stu
let s:dictionary_entry = '\v^\s*[^:-]+:\s*$' " with_items: let s:dictionary_entry = '\v^\s*[^:-]+:\s*$' " with_items:
let s:key_value = '\v^\s*[^:-]+:\s*\S' " apt: name=package let s:key_value = '\v^\s*[^:-]+:\s*\S' " apt: name=package
let s:scalar_value = '\v:\s*[>|\|]\s*$' " shell: > let s:scalar_value = '\v:\s*[>|\|]\s*$' " shell: >
let s:blank = '\v^\s*$' " line with only spaces
if exists('*GetAnsibleIndent') if exists('*GetAnsibleIndent')
finish finish
@@ -37,26 +38,29 @@ function GetAnsibleIndent(lnum)
endif endif
endif endif
let prevlnum = prevnonblank(a:lnum - 1) let prevlnum = prevnonblank(a:lnum - 1)
let maintain = indent(prevlnum) let default = GetYAMLIndent(a:lnum)
let increase = maintain + &sw let increase = indent(prevlnum) + &sw
let line = getline(prevlnum) let prevline = getline(prevlnum)
if line =~ s:array_entry let line = getline(a:lnum)
if line =~ s:named_module_entry if line !~ s:blank
return default " we only special case blank lines
elseif prevline =~ s:array_entry
if prevline =~ s:named_module_entry
return increase return increase
else else
return maintain return default
endif endif
elseif line =~ s:dictionary_entry elseif prevline =~ s:dictionary_entry
return increase return increase
elseif line =~ s:key_value elseif prevline =~ s:key_value
if line =~ s:scalar_value if prevline =~ s:scalar_value
return increase return increase
else else
return maintain return default
endif endif
else else
return maintain return default
endif endif
endfunction endfunction

View File

@@ -3,7 +3,8 @@ if polyglot#init#is_disabled(expand('<sfile>:p'), 'cdl', 'indent/cdl.vim')
endif endif
" Description: Comshare Dimension Definition Language (CDL) " Description: Comshare Dimension Definition Language (CDL)
" Author: Raul Segura Acevedo <raulseguraaceved@netscape.net> " Maintainer: Raul Segura Acevedo <raulseguraaceved@netscape.net> (Invalid email address)
" Doug Kearns <dougkearns@gmail.com>
" Last Change: Fri Nov 30 13:35:48 2001 CST " Last Change: Fri Nov 30 13:35:48 2001 CST
if exists("b:did_indent") if exists("b:did_indent")
@@ -20,8 +21,8 @@ if exists("*CdlGetIndent")
"finish "finish
endif endif
" find out if an "...=..." expresion is an assignment (or a conditional) " find out if an "...=..." expression is an assignment (or a conditional)
" it scans 'line' first, and then the previos lines " it scans 'line' first, and then the previous lines
fun! CdlAsignment(lnum, line) fun! CdlAsignment(lnum, line)
let f = -1 let f = -1
let lnum = a:lnum let lnum = a:lnum
@@ -37,7 +38,7 @@ fun! CdlAsignment(lnum, line)
endif endif
" it's formula if there's a ';', 'elsE', 'theN', 'enDif' or 'expr' " it's formula if there's a ';', 'elsE', 'theN', 'enDif' or 'expr'
" conditional if there's a '<', '>', 'elseif', 'if', 'and', 'or', 'not', " conditional if there's a '<', '>', 'elseif', 'if', 'and', 'or', 'not',
" 'memberis', 'childrenof' and other \k\+of funcions " 'memberis', 'childrenof' and other \k\+of functions
let f = line[inicio-1] =~? '[en;]' || strpart(line, inicio-4, 4) =~? 'ndif\|expr' let f = line[inicio-1] =~? '[en;]' || strpart(line, inicio-4, 4) =~? 'ndif\|expr'
endw endw
let lnum = prevnonblank(lnum-1) let lnum = prevnonblank(lnum-1)
@@ -110,7 +111,7 @@ fun! CdlGetIndent(lnum)
elseif c == '(' || c ==? 'f' " '(' or 'if' elseif c == '(' || c ==? 'f' " '(' or 'if'
let ind = ind + shiftwidth() let ind = ind + shiftwidth()
else " c == '=' else " c == '='
" if it is an asignment increase indent " if it is an assignment increase indent
if f == -1 " we don't know yet, find out if f == -1 " we don't know yet, find out
let f = CdlAsignment(lnum, strpart(line, 0, inicio)) let f = CdlAsignment(lnum, strpart(line, 0, inicio))
end end
@@ -121,11 +122,11 @@ fun! CdlGetIndent(lnum)
endw endw
" CURRENT LINE, if it starts with a closing element, decrease indent " CURRENT LINE, if it starts with a closing element, decrease indent
" or if it starts with '=' (asignment), increase indent " or if it starts with '=' (assignment), increase indent
if match(thisline, '^\c\s*\(else\|then\|endif\|[);]\)') >= 0 if match(thisline, '^\c\s*\(else\|then\|endif\|[);]\)') >= 0
let ind = ind - shiftwidth() let ind = ind - shiftwidth()
elseif match(thisline, '^\s*=') >= 0 elseif match(thisline, '^\s*=') >= 0
if f == -1 " we don't know yet if is an asignment, find out if f == -1 " we don't know yet if is an assignment, find out
let f = CdlAsignment(lnum, "") let f = CdlAsignment(lnum, "")
end end
if f == 1 " formula increase it if f == 1 " formula increase it

View File

@@ -60,8 +60,7 @@ if exists("*searchpairpos")
endfunction endfunction
function! s:ignored_region() function! s:ignored_region()
let name = s:syn_id_name() return s:syn_id_name() =~? '\vstring|regex|comment|character'
return (name =~? '\vstring|regex|comment|character') && (name !~# '^clojureCommentReaderMacro\(Form\)\?$')
endfunction endfunction
function! s:current_char() function! s:current_char()
@@ -76,14 +75,10 @@ if exists("*searchpairpos")
return s:current_char() =~# '\v[\(\)\[\]\{\}]' && !s:ignored_region() return s:current_char() =~# '\v[\(\)\[\]\{\}]' && !s:ignored_region()
endfunction endfunction
" Returns 1 if string matches a pattern in 'patterns', which may be a " Returns 1 if string matches a pattern in 'patterns', which should be
" list of patterns, or a comma-delimited string of implicitly anchored " a list of patterns.
" patterns.
function! s:match_one(patterns, string) function! s:match_one(patterns, string)
let list = type(a:patterns) == type([]) for pat in a:patterns
\ ? a:patterns
\ : map(split(a:patterns, ','), '"^" . v:val . "$"')
for pat in list
if a:string =~# pat | return 1 | endif if a:string =~# pat | return 1 | endif
endfor endfor
endfunction endfunction

View File

@@ -11,6 +11,7 @@ endif
" Ankit Jain 22.03.2019 Changes & fixes: " Ankit Jain 22.03.2019 Changes & fixes:
" Allow chars in 1st 6 columns " Allow chars in 1st 6 columns
" #C22032019 " #C22032019
" Ankit Jain 24.09.2021 add b:undo_indent (request by tpope)
if exists("b:did_indent") if exists("b:did_indent")
finish finish
@@ -22,6 +23,8 @@ setlocal indentexpr=GetCobolIndent(v:lnum)
setlocal indentkeys& setlocal indentkeys&
setlocal indentkeys+=0<*>,0/,0$,0=01,=~division,=~section,0=~end,0=~then,0=~else,0=~when,*<Return>,. setlocal indentkeys+=0<*>,0/,0$,0=01,=~division,=~section,0=~end,0=~then,0=~else,0=~when,*<Return>,.
let b:undo_indent = "setlocal expandtab< indentexpr< indentkeys<"
" Only define the function once. " Only define the function once.
if exists("*GetCobolIndent") if exists("*GetCobolIndent")
finish finish

View File

@@ -4,10 +4,11 @@ endif
" Vim indent file " Vim indent file
" Language: Autoconf configure.{ac,in} file " Language: Autoconf configure.{ac,in} file
" Maintainer: Doug Kearns <dougkearns@gmail.com>
" Previous Maintainer: Nikolai Weibull <now@bitwi.se> " Previous Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2006-12-20 " Last Change: 24 Sep 2021
" TODO: how about nested [()]'s in one line
" what's wrong with '\\\@!'? " TODO: how about nested [()]'s in one line what's wrong with '\\\@!'?
" Only load this indent file when no other was loaded. " Only load this indent file when no other was loaded.
if exists("b:did_indent") if exists("b:did_indent")
@@ -20,6 +21,8 @@ setlocal indentexpr=GetConfigIndent()
setlocal indentkeys=!^F,o,O,=then,=do,=else,=elif,=esac,=fi,=fin,=fil,=done setlocal indentkeys=!^F,o,O,=then,=do,=else,=elif,=esac,=fi,=fin,=fil,=done
setlocal nosmartindent setlocal nosmartindent
let b:undo_indent = "setl inde< indk< si<"
" Only define the function once. " Only define the function once.
if exists("*GetConfigIndent") if exists("*GetConfigIndent")
finish finish
@@ -66,8 +69,8 @@ function GetConfigIndent()
let ind = s:GetOffsetOf(line, '\[') let ind = s:GetOffsetOf(line, '\[')
endif endif
" if previous line had an unmatched closing parantheses, " if previous line had an unmatched closing parentheses,
" indent to the matching opening parantheses " indent to the matching opening parentheses
if line =~ '[^(]\+\\\@<!)$' if line =~ '[^(]\+\\\@<!)$'
call search(')', 'bW') call search(')', 'bW')
let lnum = searchpair('\\\@<!(', '', ')', 'bWn') let lnum = searchpair('\\\@<!(', '', ')', 'bWn')

View File

@@ -4,8 +4,10 @@ endif
" Vim indent file " Vim indent file
" Language: CSS " Language: CSS
" Maintainer: Nikolai Weibull <now@bitwi.se> " Maintainer: Doug Kearns <dougkearns@gmail.com>
" Latest Revision: 2012-05-30 " Previous Maintainer: Nikolai Weibull <now@bitwi.se>
" Last Change: 24 Sep 2021
" Use of shiftwidth() added by Oleg Zubchenko. " Use of shiftwidth() added by Oleg Zubchenko.
if exists("b:did_indent") if exists("b:did_indent")
@@ -17,7 +19,7 @@ setlocal indentexpr=GetCSSIndent()
setlocal indentkeys=0{,0},!^F,o,O setlocal indentkeys=0{,0},!^F,o,O
setlocal nosmartindent setlocal nosmartindent
let b:undo_indent = "setl smartindent< indentkeys< indentexpr<" let b:undo_indent = "setl inde< indk< si<"
if exists("*GetCSSIndent") if exists("*GetCSSIndent")
finish finish

View File

@@ -6,7 +6,7 @@ endif
" Language: MSDOS batch file (with NT command extensions) " Language: MSDOS batch file (with NT command extensions)
" Maintainer: Ken Takata " Maintainer: Ken Takata
" URL: https://github.com/k-takata/vim-dosbatch-indent " URL: https://github.com/k-takata/vim-dosbatch-indent
" Last Change: 2017 May 10 " Last Change: 2021-10-18
" Filenames: *.bat " Filenames: *.bat
" License: VIM License " License: VIM License
@@ -21,6 +21,8 @@ setlocal indentexpr=GetDosBatchIndent(v:lnum)
setlocal indentkeys=!^F,o,O setlocal indentkeys=!^F,o,O
setlocal indentkeys+=0=) setlocal indentkeys+=0=)
let b:undo_indent = "setl ai< inde< indk< si<"
if exists("*GetDosBatchIndent") if exists("*GetDosBatchIndent")
finish finish
endif endif

View File

@@ -4,13 +4,16 @@ endif
" Vim indent file " Vim indent file
" Language: DTD (Document Type Definition for XML) " Language: DTD (Document Type Definition for XML)
" Maintainer: Doug Kearns <dougkearns@gmail.com>
" Previous Maintainer: Nikolai Weibull <now@bitwi.se> " Previous Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2011-07-08 " Last Change: 24 Sep 2021
setlocal indentexpr=GetDTDIndent() setlocal indentexpr=GetDTDIndent()
setlocal indentkeys=!^F,o,O,> setlocal indentkeys=!^F,o,O,>
setlocal nosmartindent setlocal nosmartindent
let b:undo_indent = "setl inde< indk< si<"
if exists("*GetDTDIndent") if exists("*GetDTDIndent")
finish finish
endif endif
@@ -123,16 +126,16 @@ function GetDTDIndent()
" Next comes the content model. If the token weve found isnt a " Next comes the content model. If the token weve found isnt a
" parenthesis it must be either ANY, EMPTY or some random junk. Either " parenthesis it must be either ANY, EMPTY or some random junk. Either
" way, were done indenting this element, so set it to that of the first " way, were done indenting this element, so set it to that of the first
" line so that the terminating “>” winds up having the same indention. " line so that the terminating “>” winds up having the same indentation.
if token != '(' if token != '('
return indent return indent
endif endif
" Now go through the content model. We need to keep track of the nesting " Now go through the content model. We need to keep track of the nesting
" of parentheses. As soon as we hit 0 were done. If that happens we must " of parentheses. As soon as we hit 0 were done. If that happens we must
" have a complete content model. Thus set indention to be the same as that " have a complete content model. Thus set indentation to be the same as that
" of the first line so that the terminating “>” winds up having the same " of the first line so that the terminating “>” winds up having the same
" indention. Otherwise, well indent to the innermost parentheses not yet " indentation. Otherwise, well indent to the innermost parentheses not yet
" matched. " matched.
let [indent_of_innermost, end] = s:indent_to_innermost_parentheses(line, end) let [indent_of_innermost, end] = s:indent_to_innermost_parentheses(line, end)
if indent_of_innermost != -1 if indent_of_innermost != -1

View File

@@ -15,3 +15,5 @@ let b:did_indent = 1
" dune format-dune-file uses 1 space to indent " dune format-dune-file uses 1 space to indent
setlocal softtabstop=1 shiftwidth=1 expandtab setlocal softtabstop=1 shiftwidth=1 expandtab
let b:undo_indent = "setl et< sts< sw<"

View File

@@ -4,9 +4,10 @@ endif
" Vim indent file " Vim indent file
" Language: Dylan " Language: Dylan
" Maintainer: Brent A. Fulgham <bfulgham@debian.org> (Invalid email address)
" Doug Kearns <dougkearns@gmail.com>
" Version: 0.01 " Version: 0.01
" Last Change: 2017 Jun 13 " Last Change: 2017 Jun 13
" Maintainer: Brent A. Fulgham <bfulgham@debian.org>
" Only load this indent file when no other was loaded. " Only load this indent file when no other was loaded.
if exists("b:did_indent") if exists("b:did_indent")

View File

@@ -36,6 +36,8 @@ endif
setlocal indentexpr=ErlangIndent() setlocal indentexpr=ErlangIndent()
setlocal indentkeys+=0=end,0=of,0=catch,0=after,0=when,0=),0=],0=},0=>> setlocal indentkeys+=0=end,0=of,0=catch,0=after,0=when,0=),0=],0=},0=>>
let b:undo_indent = "setl inde< indk<"
" Only define the functions once " Only define the functions once
if exists("*ErlangIndent") if exists("*ErlangIndent")
finish finish

View File

@@ -4,8 +4,9 @@ endif
" Vim indent file " Vim indent file
" Language: Eterm configuration file " Language: Eterm configuration file
" Maintainer: Doug Kearns <dougkearns@gmail.com>
" Previous Maintainer: Nikolai Weibull <now@bitwi.se> " Previous Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2006-12-20 " Last Change: 24 Sep 2021
if exists("b:did_indent") if exists("b:did_indent")
finish finish
@@ -16,6 +17,8 @@ setlocal indentexpr=GetEtermIndent()
setlocal indentkeys=!^F,o,O,=end setlocal indentkeys=!^F,o,O,=end
setlocal nosmartindent setlocal nosmartindent
let b:undo_indent = "setl inde< indk< si<"
if exists("*GetEtermIndent") if exists("*GetEtermIndent")
finish finish
endif endif

View File

@@ -4,8 +4,9 @@ endif
" Vim indent file " Vim indent file
" Language: FrameScript " Language: FrameScript
" Maintainer: Doug Kearns <dougkearns@gmail.com>
" Previous Maintainer: Nikolai Weibull <now@bitwi.se> " Previous Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2008-07-19 " Last Change: 24 Sep 2021
if exists("b:did_indent") if exists("b:did_indent")
finish finish
@@ -16,6 +17,8 @@ setlocal indentexpr=GetFrameScriptIndent()
setlocal indentkeys=!^F,o,O,0=~Else,0=~EndIf,0=~EndLoop,0=~EndSub setlocal indentkeys=!^F,o,O,0=~Else,0=~EndIf,0=~EndLoop,0=~EndSub
setlocal nosmartindent setlocal nosmartindent
let b:undo_indent = "setl inde< indk< si<"
if exists("*GetFrameScriptIndent") if exists("*GetFrameScriptIndent")
finish finish
endif endif

View File

@@ -18,6 +18,8 @@ setlocal autoindent
setlocal indentexpr=GetHamlIndent() setlocal indentexpr=GetHamlIndent()
setlocal indentkeys=o,O,*<Return>,},],0),!^F,=end,=else,=elsif,=rescue,=ensure,=when setlocal indentkeys=o,O,*<Return>,},],0),!^F,=end,=else,=elsif,=rescue,=ensure,=when
let b:undo_indent = "setl ai< inde< indk<"
" Only define the function once. " Only define the function once.
if exists("*GetHamlIndent") if exists("*GetHamlIndent")
finish finish

View File

@@ -4,9 +4,15 @@ endif
" Vim indent file " Vim indent file
" Language: Hamster Script " Language: Hamster Script
" Version: 2.0.6.0 " Version: 2.0.6.1
" Last Change: Wed Nov 08 2006 12:02:42 PM " Last Change: 2021 Oct 11
" Maintainer: David Fishburn <fishburn@ianywhere.com> " Maintainer: David Fishburn <dfishburn dot vim at gmail dot com>
" Download: https://www.vim.org/scripts/script.php?script_id=1099
"
" 2.0.6.1 (Oct 2021)
" Added b:undo_indent
" Added cpo check
"
" Only load this indent file when no other was loaded. " Only load this indent file when no other was loaded.
if exists("b:did_indent") if exists("b:did_indent")
@@ -18,12 +24,17 @@ setlocal indentkeys+==~if,=~else,=~endif,=~endfor,=~endwhile
setlocal indentkeys+==~do,=~until,=~while,=~repeat,=~for,=~loop setlocal indentkeys+==~do,=~until,=~while,=~repeat,=~for,=~loop
setlocal indentkeys+==~sub,=~endsub setlocal indentkeys+==~sub,=~endsub
let b:undo_indent = "setl indentkeys<"
" Define the appropriate indent function but only once " Define the appropriate indent function but only once
setlocal indentexpr=HamGetFreeIndent() setlocal indentexpr=HamGetFreeIndent()
if exists("*HamGetFreeIndent") if exists("*HamGetFreeIndent")
finish finish
endif endif
let s:keepcpo = &cpo
set cpo&vim
function HamGetIndent(lnum) function HamGetIndent(lnum)
let ind = indent(a:lnum) let ind = indent(a:lnum)
let prevline=getline(a:lnum) let prevline=getline(a:lnum)
@@ -56,4 +67,8 @@ function HamGetFreeIndent()
return ind return ind
endfunction endfunction
" Restore:
let &cpo = s:keepcpo
unlet s:keepcpo
" vim:sw=2 tw=80 " vim:sw=2 tw=80

View File

@@ -23,7 +23,7 @@ setlocal indentkeys+=0],0)
" "+norm! gg=G" '+%print' '+:q!' testfile.js \ " "+norm! gg=G" '+%print' '+:q!' testfile.js \
" | diff -uBZ testfile.js - " | diff -uBZ testfile.js -
let b:undo_indent = 'setlocal indentexpr< smartindent< autoindent< indentkeys<' let b:undo_indent = 'setlocal indentexpr< smartindent< autoindent< indentkeys< lisp<'
" Only define the function once. " Only define the function once.
if exists('*GetJavascriptIndent') if exists('*GetJavascriptIndent')

View File

@@ -18,6 +18,8 @@ setlocal indentkeys-=0{
setlocal indentkeys-=0} setlocal indentkeys-=0}
setlocal nosmartindent setlocal nosmartindent
let b:undo_indent = "setl ai< inde< indk< si<"
" Only define the function once. " Only define the function once.
if exists("*GetJuliaIndent") if exists("*GetJuliaIndent")
finish finish

View File

@@ -5,7 +5,8 @@ endif
" Vim indent file " Vim indent file
" Language: Kotlin " Language: Kotlin
" Maintainer: Alexander Udalov " Maintainer: Alexander Udalov
" Latest Revision: 26 May 2019 " URL: https://github.com/udalov/kotlin-vim
" Last Change: 7 November 2021
if exists('b:did_indent') if exists('b:did_indent')
finish finish
@@ -49,11 +50,11 @@ function! GetKotlinIndent()
let cur_close_brace = cur =~ '^\s*}.*$' let cur_close_brace = cur =~ '^\s*}.*$'
if prev_open_paren && !cur_close_paren || prev_open_brace && !cur_close_brace if prev_open_paren && !cur_close_paren || prev_open_brace && !cur_close_brace
return prev_indent + &shiftwidth return prev_indent + shiftwidth()
endif endif
if cur_close_paren && !prev_open_paren || cur_close_brace && !prev_open_brace if cur_close_paren && !prev_open_paren || cur_close_brace && !prev_open_brace
return prev_indent - &shiftwidth return prev_indent - shiftwidth()
endif endif
return prev_indent return prev_indent

View File

@@ -4,8 +4,9 @@ endif
" Vim indent file " Vim indent file
" Language: ld(1) script " Language: ld(1) script
" Maintainer: Doug Kearns <dougkearns@gmail.com>
" Previous Maintainer: Nikolai Weibull <now@bitwi.se> " Previous Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2006-12-20 " Last Change: 24 Sep 2021
if exists("b:did_indent") if exists("b:did_indent")
finish finish
@@ -16,6 +17,8 @@ setlocal indentexpr=GetLDIndent()
setlocal indentkeys=0{,0},!^F,o,O setlocal indentkeys=0{,0},!^F,o,O
setlocal nosmartindent setlocal nosmartindent
let b:undo_indent = "setl inde< indk< si<"
if exists("*GetLDIndent") if exists("*GetLDIndent")
finish finish
endif endif

View File

@@ -15,7 +15,7 @@ endif
let b:did_indent = 1 let b:did_indent = 1
" LifeLines uses cindent without ; line terminator, C functions " LifeLines uses cindent without ; line terminator, C functions
" declarations, C keywords, C++ formating " declarations, C keywords, C++ formatting
setlocal cindent setlocal cindent
setlocal cinwords="" setlocal cinwords=""
setlocal cinoptions+=+0 setlocal cinoptions+=+0

View File

@@ -5,7 +5,7 @@ endif
" Vim indent file " Vim indent file
" Language: Mail " Language: Mail
" Maintainer: Bram Moolenaar " Maintainer: Bram Moolenaar
" Last Change: 2009 Jun 03 " Last Change: 2021 Sep 26
if exists("b:did_indent") if exists("b:did_indent")
finish finish
@@ -15,3 +15,5 @@ let b:did_indent = 1
" What works best is auto-indenting, disable other indenting. " What works best is auto-indenting, disable other indenting.
" For formatting see the ftplugin. " For formatting see the ftplugin.
setlocal autoindent nosmartindent nocindent indentexpr= setlocal autoindent nosmartindent nocindent indentexpr=
let b:undo_indent = "setl ai< cin< inde< si<"

View File

@@ -4,8 +4,9 @@ endif
" Vim indent file " Vim indent file
" Language: Makefile " Language: Makefile
" Maintainer: Doug Kearns <dougkearns@gmail.com>
" Previous Maintainer: Nikolai Weibull <now@bitwi.se> " Previous Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2007-05-07 " Last Change: 24 Sep 2021
if exists("b:did_indent") if exists("b:did_indent")
finish finish
@@ -16,6 +17,8 @@ setlocal indentexpr=GetMakeIndent()
setlocal indentkeys=!^F,o,O,<:>,=else,=endif setlocal indentkeys=!^F,o,O,<:>,=else,=endif
setlocal nosmartindent setlocal nosmartindent
let b:undo_indent = "setl ai< inde< indk<"
if exists("*GetMakeIndent") if exists("*GetMakeIndent")
finish finish
endif endif

View File

@@ -24,6 +24,8 @@ setlocal autoindent " indentexpr isn't much help otherwise
setlocal indentexpr=GetMesonIndent(v:lnum) setlocal indentexpr=GetMesonIndent(v:lnum)
setlocal indentkeys+==elif,=else,=endforeach,=endif,0) setlocal indentkeys+==elif,=else,=endforeach,=endif,0)
let b:undo_indent = "setl ai< inde< indk< lisp<"
" Only define the function once. " Only define the function once.
if exists("*GetMesonIndent") if exists("*GetMesonIndent")
finish finish

View File

@@ -13,3 +13,5 @@ setlocal indentexpr=
setlocal cindent setlocal cindent
" Just make sure that the comments are not reset as defs would be. " Just make sure that the comments are not reset as defs would be.
setlocal cinkeys-=0# setlocal cinkeys-=0#
let b:undo_indent = "setl cin< cink< inde<"

View File

@@ -6,7 +6,7 @@ endif
" Language: NSIS script " Language: NSIS script
" Maintainer: Ken Takata " Maintainer: Ken Takata
" URL: https://github.com/k-takata/vim-nsis " URL: https://github.com/k-takata/vim-nsis
" Last Change: 2018-01-21 " Last Change: 2021-10-18
" Filenames: *.nsi " Filenames: *.nsi
" License: VIM License " License: VIM License
@@ -21,6 +21,8 @@ setlocal indentexpr=GetNsisIndent(v:lnum)
setlocal indentkeys=!^F,o,O setlocal indentkeys=!^F,o,O
setlocal indentkeys+==~${Else,=~${EndIf,=~${EndUnless,=~${AndIf,=~${AndUnless,=~${OrIf,=~${OrUnless,=~${Case,=~${Default,=~${EndSelect,=~${EndSwith,=~${Loop,=~${Next,=~${MementoSectionEnd,=~FunctionEnd,=~SectionEnd,=~SectionGroupEnd,=~PageExEnd,0=~!macroend,0=~!if,0=~!else,0=~!endif setlocal indentkeys+==~${Else,=~${EndIf,=~${EndUnless,=~${AndIf,=~${AndUnless,=~${OrIf,=~${OrUnless,=~${Case,=~${Default,=~${EndSelect,=~${EndSwith,=~${Loop,=~${Next,=~${MementoSectionEnd,=~FunctionEnd,=~SectionEnd,=~SectionGroupEnd,=~PageExEnd,0=~!macroend,0=~!if,0=~!else,0=~!endif
let b:undo_indent = "setl ai< inde< indk< si<"
if exists("*GetNsisIndent") if exists("*GetNsisIndent")
finish finish
endif endif

View File

@@ -28,6 +28,8 @@ setlocal indentkeys+=0=and,0=class,0=constraint,0=done,0=else,0=end,0=exception,
setlocal nolisp setlocal nolisp
setlocal nosmartindent setlocal nosmartindent
let b:undo_indent = "setl et< inde< indk< lisp< si<"
" At least Marc Weber and Markus Mottl do not like this: " At least Marc Weber and Markus Mottl do not like this:
" setlocal textwidth=80 " setlocal textwidth=80
@@ -37,6 +39,7 @@ if !exists("no_ocaml_comments")
setlocal comments=sr:(*\ ,mb:\ ,ex:*) setlocal comments=sr:(*\ ,mb:\ ,ex:*)
setlocal comments^=sr:(**,mb:\ \ ,ex:*) setlocal comments^=sr:(**,mb:\ \ ,ex:*)
setlocal fo=cqort setlocal fo=cqort
let b:undo_indent .= " | setl com< fo<"
endif endif
endif endif

View File

@@ -4,7 +4,8 @@ endif
" Vim indent file " Vim indent file
" Language: occam " Language: occam
" Maintainer: Mario Schweigler <ms44@kent.ac.uk> " Maintainer: Mario Schweigler <ms44@kent.ac.uk> (Invalid email address)
" Doug Kearns <dougkearns@gmail.com>
" Last Change: 23 April 2003 " Last Change: 23 April 2003
" Only load this indent file when no other was loaded. " Only load this indent file when no other was loaded.

View File

@@ -6,11 +6,9 @@ endif
" Language: Pascal " Language: Pascal
" Maintainer: Neil Carter <n.carter@swansea.ac.uk> " Maintainer: Neil Carter <n.carter@swansea.ac.uk>
" Created: 2004 Jul 13 " Created: 2004 Jul 13
" Last Change: 2021 Jul 01 " Last Change: 2021 Sep 22
" "
" This is version 2.0, a complete rewrite. " For further documentation, see https://psy.swansea.ac.uk/staff/carter/vim/
"
" For further documentation, see http://psy.swansea.ac.uk/staff/carter/vim/
if exists("b:did_indent") if exists("b:did_indent")
@@ -24,13 +22,14 @@ setlocal indentkeys+==end;,==const,==type,==var,==begin,==repeat,==until,==for
setlocal indentkeys+==program,==function,==procedure,==object,==private setlocal indentkeys+==program,==function,==procedure,==object,==private
setlocal indentkeys+==record,==if,==else,==case setlocal indentkeys+==record,==if,==else,==case
let b:undo_indent = "setl indentkeys< indentexpr<" let b:undo_indent = 'setlocal indentexpr< indentkeys<'
if exists("*GetPascalIndent") if exists("*GetPascalIndent")
finish finish
endif endif
" ________________________________________________________________
function! s:GetPrevNonCommentLineNum( line_num ) function! s:GetPrevNonCommentLineNum( line_num )
" Skip lines starting with a comment " Skip lines starting with a comment
@@ -48,6 +47,7 @@ function! s:GetPrevNonCommentLineNum( line_num )
endfunction endfunction
" ________________________________________________________________
function! s:PurifyCode( line_num ) function! s:PurifyCode( line_num )
" Strip any trailing comments and whitespace " Strip any trailing comments and whitespace
let pureline = 'TODO' let pureline = 'TODO'
@@ -55,6 +55,7 @@ function! s:PurifyCode( line_num )
endfunction endfunction
" ________________________________________________________________
function! GetPascalIndent( line_num ) function! GetPascalIndent( line_num )
" Line 0 always goes at column 0 " Line 0 always goes at column 0
@@ -188,7 +189,7 @@ function! GetPascalIndent( line_num )
endif endif
" ____________________________________________________________________ " ________________________________________________________________
" Object/Borland Pascal/Delphi Extensions " Object/Borland Pascal/Delphi Extensions
" "
" Note that extended-pascal is handled here, unless it is simpler to " Note that extended-pascal is handled here, unless it is simpler to
@@ -226,8 +227,6 @@ function! GetPascalIndent( line_num )
endif endif
" ____________________________________________________________________
" If nothing changed, return same indent. " If nothing changed, return same indent.
return indnt return indnt
endfunction endfunction

View File

@@ -4,7 +4,8 @@ endif
" PostScript indent file " PostScript indent file
" Language: PostScript " Language: PostScript
" Maintainer: Mike Williams <mrw@netcomuk.co.uk> " Maintainer: Mike Williams <mrw@netcomuk.co.uk> (Invalid email address)
" Doug Kearns <dougkearns@gmail.com>
" Last Change: 2nd July 2001 " Last Change: 2nd July 2001
" "

View File

@@ -48,7 +48,7 @@ function GetPoVRayIndent()
return -1 return -1
endif endif
" Search backwards for the frist non-empty, non-comment line. " Search backwards for the first non-empty, non-comment line.
let plnum = prevnonblank(v:lnum - 1) let plnum = prevnonblank(v:lnum - 1)
let plind = indent(plnum) let plind = indent(plnum)
while plnum > 0 && synIDattr(synID(plnum, plind+1, 0), "name") =~? "comment" while plnum > 0 && synIDattr(synID(plnum, plind+1, 0), "name") =~? "comment"

View File

@@ -3,9 +3,10 @@ if polyglot#init#is_disabled(expand('<sfile>:p'), 'prolog', 'indent/prolog.vim')
endif endif
" vim: set sw=4 sts=4: " vim: set sw=4 sts=4:
" Maintainer : Gergely Kontra <kgergely@mcl.hu>
" Revised on : 2002.02.18. 23:34:05
" Language: Prolog " Language: Prolog
" Maintainer: Gergely Kontra <kgergely@mcl.hu> (Invalid email address)
" Doug Kearns <dougkearns@gmail.com>
" Revised on: 2002.02.18. 23:34:05
" Last change by: Takuya Fujiwara, 2018 Sep 23 " Last change by: Takuya Fujiwara, 2018 Sep 23
" TODO: " TODO:

View File

@@ -4,8 +4,9 @@ endif
" Vim indent file " Vim indent file
" Language: readline configuration file " Language: readline configuration file
" Maintainer: Doug Kearns <dougkearns@gmail.com>
" Previous Maintainer: Nikolai Weibull <now@bitwi.se> " Previous Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2006-12-20 " Last Change: 24 Sep 2021
if exists("b:did_indent") if exists("b:did_indent")
finish finish
@@ -16,6 +17,8 @@ setlocal indentexpr=GetReadlineIndent()
setlocal indentkeys=!^F,o,O,=$else,=$endif setlocal indentkeys=!^F,o,O,=$else,=$endif
setlocal nosmartindent setlocal nosmartindent
let b:undo_indent = "setl inde< indk< si<"
if exists("*GetReadlineIndent") if exists("*GetReadlineIndent")
finish finish
endif endif

View File

@@ -28,6 +28,8 @@ setlocal indentkeys=0{,0},!^F,o,O,0[,0],0(,0)
setlocal indentexpr=GetRustIndent(v:lnum) setlocal indentexpr=GetRustIndent(v:lnum)
let b:undo_indent = "setlocal cindent< cinoptions< cinkeys< cinwords< lisp< autoindent< indentkeys< indentexpr<"
" Only define the function once. " Only define the function once.
if exists("*GetRustIndent") if exists("*GetRustIndent")
finish finish

View File

@@ -5,7 +5,7 @@ endif
" Vim indent file " Vim indent file
" Language: SDL " Language: SDL
" Maintainer: Michael Piefel <entwurf@piefel.de> " Maintainer: Michael Piefel <entwurf@piefel.de>
" Last Change: 10 December 2011 " Last Change: 2021 Oct 03
" Shamelessly stolen from the Vim-Script indent file " Shamelessly stolen from the Vim-Script indent file
@@ -18,6 +18,8 @@ let b:did_indent = 1
setlocal indentexpr=GetSDLIndent() setlocal indentexpr=GetSDLIndent()
setlocal indentkeys+==~end,=~state,*<Return> setlocal indentkeys+==~end,=~state,*<Return>
let b:undo_indent = "setl inde< indk<"
" Only define the function once. " Only define the function once.
if exists("*GetSDLIndent") if exists("*GetSDLIndent")
" finish " finish

View File

@@ -183,7 +183,7 @@ function! GetSvelteIndent()
call s:Log('... or current line is pug template tag') call s:Log('... or current line is pug template tag')
let ind = 0 let ind = 0
elseif s:has_init_indent elseif s:has_init_indent
if s:SynSvelteScriptOrStyle(cursyn) && ind < 1 if s:SynSvelteScriptOrStyle(cursyn) && ind == 0
call s:Log('add initial indent') call s:Log('add initial indent')
let ind = &sw let ind = &sw
endif endif

View File

@@ -68,7 +68,7 @@ function SystemVerilogIndent()
let vverb = 0 let vverb = 0
endif endif
" Indent accoding to last line " Indent according to last line
" End of multiple-line comment " End of multiple-line comment
if last_line =~ '\*/\s*$' && last_line !~ '/\*.\{-}\*/' if last_line =~ '\*/\s*$' && last_line !~ '/\*.\{-}\*/'
let ind = ind - offset_comment1 let ind = ind - offset_comment1
@@ -224,7 +224,7 @@ function SystemVerilogIndent()
endif endif
" Return the indention " Return the indentation
return ind return ind
endfunction endfunction

View File

@@ -4,9 +4,9 @@ endif
" Vim indent file " Vim indent file
" Language: Tcl " Language: Tcl
" Latest Update: Chris Heithoff <chrisheithoff@gmail.com> " Maintainer: Chris Heithoff <chrisheithoff@gmail.com>
" Previous Maintainer: Nikolai Weibull <now@bitwi.se> " Previous Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2018-12-05 " Last Change: 24 Sep 2021
if exists("b:did_indent") if exists("b:did_indent")
finish finish
@@ -17,6 +17,8 @@ setlocal indentexpr=GetTclIndent()
setlocal indentkeys=0{,0},!^F,o,O,0] setlocal indentkeys=0{,0},!^F,o,O,0]
setlocal nosmartindent setlocal nosmartindent
let b:undo_indent = "setl inde< indk< si<"
if exists("*GetTclIndent") if exists("*GetTclIndent")
finish finish
endif endif

View File

@@ -7,7 +7,7 @@ endif
" Based on Tera Term Version 4.100 " Based on Tera Term Version 4.100
" Maintainer: Ken Takata " Maintainer: Ken Takata
" URL: https://github.com/k-takata/vim-teraterm " URL: https://github.com/k-takata/vim-teraterm
" Last Change: 2018-08-31 " Last Change: 2021-10-18
" Filenames: *.ttl " Filenames: *.ttl
" License: VIM License " License: VIM License
@@ -22,6 +22,8 @@ setlocal indentexpr=GetTeraTermIndent(v:lnum)
setlocal indentkeys=!^F,o,O,e setlocal indentkeys=!^F,o,O,e
setlocal indentkeys+==elseif,=endif,=loop,=next,=enduntil,=endwhile setlocal indentkeys+==elseif,=endif,=loop,=next,=enduntil,=endwhile
let b:undo_indent = "setl ai< inde< indk< si<"
if exists("*GetTeraTermIndent") if exists("*GetTeraTermIndent")
finish finish
endif endif

View File

@@ -38,5 +38,5 @@ function GetTreetopIndent()
let ind -= shiftwidth() let ind -= shiftwidth()
end end
retur ind return ind
endfunction endfunction

View File

@@ -80,7 +80,7 @@ function GetVerilogIndent()
let vverb = 0 let vverb = 0
endif endif
" Indent accoding to last line " Indent according to last line
" End of multiple-line comment " End of multiple-line comment
if last_line =~ '\*/\s*$' && last_line !~ '/\*.\{-}\*/' if last_line =~ '\*/\s*$' && last_line !~ '/\*.\{-}\*/'
let ind = ind - offset_comment1 let ind = ind - offset_comment1
@@ -223,7 +223,7 @@ function GetVerilogIndent()
endif endif
" Return the indention " Return the indentation
return ind return ind
endfunction endfunction

View File

@@ -5,7 +5,7 @@ endif
" Vim indent file " Vim indent file
" Language: Zimbu " Language: Zimbu
" Maintainer: Bram Moolenaar <Bram@vim.org> " Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2016 Jan 25 " Last Change: 2021 Sep 26
" Only load this indent file when no other was loaded. " Only load this indent file when no other was loaded.
if exists("b:did_indent") if exists("b:did_indent")
@@ -20,7 +20,7 @@ setlocal indentkeys=0{,0},!^F,o,O,0=ELSE,0=ELSEIF,0=CASE,0=DEFAULT,0=FINALLY
" We impose recommended defaults: no Tabs, 'shiftwidth' = 2 " We impose recommended defaults: no Tabs, 'shiftwidth' = 2
setlocal sw=2 et setlocal sw=2 et
let b:undo_indent = "setl et< sw< ai< indentkeys< indentexpr=" let b:undo_indent = "setl ai< cin< et< indentkeys< indentexpr< lisp< sw<"
" Only define the function once. " Only define the function once.
if exists("*GetZimbuIndent") if exists("*GetZimbuIndent")

View File

@@ -1517,11 +1517,6 @@ filetypes:
- '.zsh*' - '.zsh*'
- '*/etc/zprofile' - '*/etc/zprofile'
--- ---
name: zinit
remote: zinit-zsh/zplugin-vim-syntax
# just adds to zsh filetype
filetypes: []
---
name: slim name: slim
remote: slim-template/vim-slim remote: slim-template/vim-slim
filetypes: filetypes:

View File

@@ -4,7 +4,8 @@ endif
" Vim syntax file " Vim syntax file
" Language: 8th " Language: 8th
" Version: 19.01d " Version: 21.08
" Last Change: 2021 Sep 20
" Maintainer: Ron Aaron <ron@aaron-tech.com> " Maintainer: Ron Aaron <ron@aaron-tech.com>
" URL: https://8th-dev.com/ " URL: https://8th-dev.com/
" Filetypes: *.8th " Filetypes: *.8th
@@ -34,246 +35,318 @@ syn match eighthClassWord "\<\S\+:.\+" contains=eighthClasses
syn keyword eighthEndOfColonDef ; i; syn keyword eighthEndOfColonDef ; i;
syn keyword eighthDefine var var, syn keyword eighthDefine var var,
" Built in words " Built in words:
com! -nargs=+ Builtin syn keyword eighthBuiltin <args> com! -nargs=+ Builtin syn keyword eighthBuiltin <args>
"Builtin ^ < <# <#> = > - -- ,# ; ;; ! ??? / . .# ' () @ * */ \
Builtin ! G:! #! G:#! ## G:## #> G:#> #if G:#if ' G:' ( G:( (* G:(* (:) G:(:) (code) G:(code) (getc) G:(getc) Builtin args #:args b #:b dhm #:dhm exec# #:exec# id2ns #:id2ns id? #:id? idd #:idd key #:key oa #:oa
Builtin (gets) G:(gets) (interp) G:(interp) (needs) G:(needs) (putc) G:(putc) (puts) G:(puts) (putslim) G:(putslim) Builtin oid #:oid okey #:okey with #:with with! #:with! zip #:zip gen-secret 2fa:gen-secret gen-url 2fa:gen-url
Builtin (say) G:(say) (stat) G:(stat) ) G:) +listener G:+listener +ref G:+ref ,# G:,# -- G:-- -----BEGIN G:-----BEGIN Builtin validate-code 2fa:validate-code ! G:! #! G:#! ## G:## #> G:#> #if G:#if ' G:' ( G:( (* G:(*
Builtin -Inf G:-Inf -Inf? G:-Inf? -listener G:-listener -ref G:-ref -rot G:-rot . G:. .# G:.# .needs G:.needs Builtin (:) G:(:) (code) G:(code) (defer) G:(defer) (dump) G:(dump) (getc) G:(getc) (gets) G:(gets)
Builtin .r G:.r .s G:.s .stats G:.stats .ver G:.ver .with G:.with 0; G:0; 2dip G:2dip 2drop G:2drop Builtin (interp) G:(interp) (log) G:(log) (needs) G:(needs) (parseln) G:(parseln) (putc) G:(putc) (puts) G:(puts)
Builtin 2dup G:2dup 2over G:2over 2swap G:2swap 3drop G:3drop 4drop G:4drop 8thdt? G:8thdt? 8thver? G:8thver? Builtin (putslim) G:(putslim) (stat) G:(stat) (with) G:(with) ) G:) +hook G:+hook +listener G:+listener
Builtin : G:: ; G:; ;; G:;; ;;; G:;;; ;then G:;then ;with G:;with <# G:<# <#> G:<#> >clip G:>clip >json G:>json Builtin +ref G:+ref ,# G:,# -- G:-- -----BEGIN G:-----BEGIN -Inf G:-Inf -Inf? G:-Inf? -hook G:-hook
Builtin >kind G:>kind >n G:>n >r G:>r >s G:>s ?: G:?: ??? G:??? @ G:@ Inf G:Inf Inf? G:Inf? NaN G:NaN Builtin -listener G:-listener -ref G:-ref -rot G:-rot . G:. .# G:.# .hook G:.hook .needs G:.needs .r G:.r
Builtin NaN? G:NaN? SED-CHECK G:SED-CHECK SED: G:SED: SED: G:SED: \ G:\ ` G:` `` G:`` actor: G:actor: Builtin .s G:.s .s-truncate G:.s-truncate .stats G:.stats .ver G:.ver .with G:.with 0; G:0; 2dip G:2dip
Builtin again G:again ahead G:ahead and G:and appname G:appname apropos G:apropos argc G:argc args G:args Builtin 2drop G:2drop 2dup G:2dup 2over G:2over 2swap G:2swap 3drop G:3drop 3rev G:3rev 4drop G:4drop
Builtin array? G:array? assert G:assert base G:base bi G:bi bits G:bits break G:break break? G:break? Builtin 8thdt? G:8thdt? 8thsku G:8thsku 8thver? G:8thver? 8thvernum? G:8thvernum? : G:: ; G:; ;; G:;;
Builtin build? G:build? buildver? G:buildver? bye G:bye c# G:c# c/does G:c/does case G:case caseof G:caseof Builtin ;;; G:;;; ;with G:;with <# G:<# <#> G:<#> >clip G:>clip >json G:>json >kind G:>kind >n G:>n
Builtin chdir G:chdir clip> G:clip> clone G:clone clone-shallow G:clone-shallow cold G:cold compat-level G:compat-level Builtin >r G:>r >s G:>s ?: G:?: @ G:@ BITMAP: G:BITMAP: ENUM: G:ENUM: FLAG: G:FLAG: Inf G:Inf Inf? G:Inf?
Builtin compile G:compile compile? G:compile? conflict G:conflict const G:const container? G:container? Builtin NaN G:NaN NaN? G:NaN? SED-CHECK G:SED-CHECK SED: G:SED: SED: G:SED: \ G:\ _dup G:_dup _swap G:_swap
Builtin cr G:cr curlang G:curlang curry G:curry curry: G:curry: decimal G:decimal defer: G:defer: deg>rad G:deg>rad Builtin actor: G:actor: again G:again ahead G:ahead and G:and appname G:appname apropos G:apropos argc G:argc
Builtin depth G:depth die G:die dip G:dip drop G:drop dstack G:dstack dump G:dump dup G:dup dup? G:dup? Builtin args G:args array? G:array? assert G:assert base G:base bi G:bi bits G:bits break G:break break? G:break?
Builtin else G:else enum: G:enum: eval G:eval eval! G:eval! eval0 G:eval0 execnull G:execnull expect G:expect Builtin breakif G:breakif build? G:build? buildver? G:buildver? bye G:bye c# G:c# c/does G:c/does case: G:case:
Builtin extra! G:extra! extra@ G:extra@ false G:false fnv G:fnv fourth G:fourth free G:free func: G:func: Builtin catch G:catch chdir G:chdir clip> G:clip> clone G:clone clone-shallow G:clone-shallow cold G:cold
Builtin getc G:getc getcwd G:getcwd getenv G:getenv gets G:gets handler G:handler header G:header help G:help Builtin compile G:compile compile? G:compile? compiling? G:compiling? conflict G:conflict const G:const
Builtin hex G:hex i: G:i: i; G:i; if G:if if; G:if; isa? G:isa? items-used G:items-used jcall G:jcall Builtin container? G:container? counting-allocations G:counting-allocations cr G:cr curlang G:curlang
Builtin jclass G:jclass jmethod G:jmethod json-nesting G:json-nesting json-pretty G:json-pretty json-throw G:json-throw Builtin curry G:curry curry: G:curry: decimal G:decimal default: G:default: defer: G:defer: deferred: G:deferred:
Builtin json> G:json> k32 G:k32 keep G:keep l: G:l: last G:last lib G:lib libbin G:libbin libc G:libc Builtin deg>rad G:deg>rad depth G:depth die G:die dip G:dip drop G:drop dstack G:dstack dump G:dump
Builtin dup G:dup dup>r G:dup>r dup? G:dup? e# G:e# enum: G:enum: error? G:error? eval G:eval eval! G:eval!
Builtin eval0 G:eval0 execnull G:execnull expect G:expect extra! G:extra! extra@ G:extra@ false G:false
Builtin fnv G:fnv fourth G:fourth free G:free func: G:func: getc G:getc getcwd G:getcwd getenv G:getenv
Builtin gets G:gets handler G:handler header G:header help G:help hex G:hex i: G:i: i; G:i; isa? G:isa?
Builtin items-used G:items-used jcall G:jcall jclass G:jclass jmethod G:jmethod json! G:json! json-8th> G:json-8th>
Builtin json-nesting G:json-nesting json-pretty G:json-pretty json-throw G:json-throw json> G:json>
Builtin json@ G:json@ k32 G:k32 keep G:keep l: G:l: last G:last lib G:lib libbin G:libbin libc G:libc
Builtin listener@ G:listener@ literal G:literal locals: G:locals: lock G:lock lock-to G:lock-to locked? G:locked? Builtin listener@ G:listener@ literal G:literal locals: G:locals: lock G:lock lock-to G:lock-to locked? G:locked?
Builtin log G:log log-async G:log-async log-task G:log-task log-time G:log-time log-time-local G:log-time-local Builtin log G:log log-syslog G:log-syslog log-task G:log-task log-time G:log-time log-time-local G:log-time-local
Builtin long-days G:long-days long-months G:long-months loop G:loop loop- G:loop- map? G:map? mark G:mark Builtin long-days G:long-days long-months G:long-months longjmp G:longjmp lookup G:lookup loop G:loop
Builtin mark? G:mark? memfree G:memfree mobile? G:mobile? n# G:n# name>os G:name>os name>sem G:name>sem Builtin loop- G:loop- map? G:map? mark G:mark mark? G:mark? memfree G:memfree mobile? G:mobile? n# G:n#
Builtin ndrop G:ndrop needs G:needs new G:new next-arg G:next-arg nip G:nip noop G:noop not G:not ns G:ns Builtin name>os G:name>os name>sem G:name>sem ndrop G:ndrop needs G:needs new G:new next-arg G:next-arg
Builtin ns: G:ns: ns>ls G:ns>ls ns>s G:ns>s ns? G:ns? null G:null null; G:null; null? G:null? number? G:number? Builtin nip G:nip noop G:noop not G:not nothrow G:nothrow ns G:ns ns: G:ns: ns>ls G:ns>ls ns>s G:ns>s
Builtin off G:off on G:on onexit G:onexit only G:only op! G:op! or G:or os G:os os-names G:os-names Builtin ns? G:ns? null G:null null; G:null; null? G:null? number? G:number? of: G:of: off G:off on G:on
Builtin os>long-name G:os>long-name os>name G:os>name over G:over p: G:p: pack G:pack parse G:parse Builtin onexit G:onexit only G:only op! G:op! or G:or os G:os os-names G:os-names os>long-name G:os>long-name
Builtin parsech G:parsech parseln G:parseln parsews G:parsews pick G:pick poke G:poke pool-clear G:pool-clear Builtin os>name G:os>name over G:over p: G:p: pack G:pack parse G:parse parse-csv G:parse-csv parsech G:parsech
Builtin prior G:prior private G:private process-args G:process-args prompt G:prompt public G:public Builtin parseln G:parseln parsews G:parsews pick G:pick poke G:poke pool-clear G:pool-clear pool-clear-all G:pool-clear-all
Builtin putc G:putc puts G:puts putslim G:putslim quote G:quote r! G:r! r> G:r> r@ G:r@ rad>deg G:rad>deg Builtin prior G:prior private G:private process-args G:process-args process-args-fancy G:process-args-fancy
Builtin rand G:rand rand-pcg G:rand-pcg rand-pcg-seed G:rand-pcg-seed randbuf G:randbuf randbuf-pcg G:randbuf-pcg Builtin process-args-help G:process-args-help process-args-vars G:process-args-vars prompt G:prompt
Builtin rdrop G:rdrop recurse G:recurse recurse-stack G:recurse-stack ref@ G:ref@ reg! G:reg! reg@ G:reg@ Builtin public G:public putc G:putc puts G:puts putslim G:putslim quote G:quote r! G:r! r> G:r> r@ G:r@
Builtin regbin@ G:regbin@ remaining-args G:remaining-args repeat G:repeat reset G:reset roll G:roll Builtin rad>deg G:rad>deg rand-jit G:rand-jit rand-jsf G:rand-jsf rand-native G:rand-native rand-normal G:rand-normal
Builtin rop! G:rop! rot G:rot rpick G:rpick rroll G:rroll rstack G:rstack rswap G:rswap rusage G:rusage Builtin rand-pcg G:rand-pcg rand-pcg-seed G:rand-pcg-seed rand-range G:rand-range rand-select G:rand-select
Builtin s>ns G:s>ns same? G:same? scriptdir G:scriptdir scriptfile G:scriptfile sem G:sem sem-post G:sem-post Builtin randbuf-pcg G:randbuf-pcg random G:random rdrop G:rdrop recurse G:recurse recurse-stack G:recurse-stack
Builtin sem-rm G:sem-rm sem-wait G:sem-wait sem-wait? G:sem-wait? sem>name G:sem>name semi-throw G:semi-throw Builtin ref@ G:ref@ reg! G:reg! reg@ G:reg@ regbin@ G:regbin@ remaining-args G:remaining-args repeat G:repeat
Builtin set-wipe G:set-wipe setenv G:setenv settings! G:settings! settings![] G:settings![] settings@ G:settings@ Builtin required? G:required? requires G:requires reset G:reset roll G:roll rop! G:rop! rot G:rot rpick G:rpick
Builtin settings@? G:settings@? settings@[] G:settings@[] sh G:sh sh$ G:sh$ short-days G:short-days Builtin rroll G:rroll rstack G:rstack rswap G:rswap rusage G:rusage s>ns G:s>ns same? G:same? scriptdir G:scriptdir
Builtin short-months G:short-months sleep G:sleep space G:space stack-check G:stack-check stack-size G:stack-size Builtin scriptfile G:scriptfile sem G:sem sem-post G:sem-post sem-rm G:sem-rm sem-wait G:sem-wait sem-wait? G:sem-wait?
Builtin step G:step string? G:string? struct: G:struct: swap G:swap syslang G:syslang sysregion G:sysregion Builtin sem>name G:sem>name semi-throw G:semi-throw set-wipe G:set-wipe setenv G:setenv setjmp G:setjmp
Builtin settings! G:settings! settings![] G:settings![] settings@ G:settings@ settings@? G:settings@?
Builtin settings@[] G:settings@[] sh G:sh sh$ G:sh$ short-days G:short-days short-months G:short-months
Builtin sleep G:sleep sleep-until G:sleep-until slog G:slog space G:space stack-check G:stack-check
Builtin stack-size G:stack-size step G:step sthrow G:sthrow string? G:string? struct: G:struct: swap G:swap
Builtin tab-hook G:tab-hook tell-conflict G:tell-conflict tempdir G:tempdir tempfilename G:tempfilename Builtin tab-hook G:tab-hook tell-conflict G:tell-conflict tempdir G:tempdir tempfilename G:tempfilename
Builtin then G:then third G:third throw G:throw thrownull G:thrownull times G:times tlog G:tlog tri G:tri Builtin third G:third throw G:throw thrownull G:thrownull times G:times tlog G:tlog tri G:tri true G:true
Builtin true G:true tuck G:tuck type-check G:type-check typeassert G:typeassert unlock G:unlock unpack G:unpack Builtin tuck G:tuck type-check G:type-check typeassert G:typeassert uid G:uid uname G:uname unlock G:unlock
Builtin until G:until until! G:until! var G:var var, G:var, while G:while while! G:while! with: G:with: Builtin unpack G:unpack until G:until until! G:until! while G:while while! G:while! with: G:with: word? G:word?
Builtin words G:words words-like G:words-like words/ G:words/ xchg G:xchg xor G:xor >auth HTTP:>auth Builtin words G:words words-like G:words-like words/ G:words/ xchg G:xchg xor G:xor >auth HTTP:>auth
Builtin sh I:sh tpush I:tpush trace-word I:trace-word call JSONRPC:call auth-string OAuth:auth-string Builtin (curry) I:(curry) notimpl I:notimpl sh I:sh trace-word I:trace-word call JSONRPC:call auth-string OAuth:auth-string
Builtin gen-nonce OAuth:gen-nonce params OAuth:params call SOAP:call ! a:! + a:+ - a:- 2each a:2each Builtin gen-nonce OAuth:gen-nonce params OAuth:params call SOAP:call ! a:! + a:+ - a:- / a:/ 2each a:2each
Builtin 2map a:2map 2map+ a:2map+ 2map= a:2map= = a:= >map a:>map @ a:@ @@ a:@@ bsearch a:bsearch clear a:clear Builtin 2map a:2map 2map+ a:2map+ 2map= a:2map= = a:= @ a:@ @? a:@? _@ a:_@ all a:all any a:any bsearch a:bsearch
Builtin close a:close diff a:diff dot a:dot each a:each each-slice a:each-slice exists? a:exists? filter a:filter Builtin centroid a:centroid clear a:clear close a:close diff a:diff dot a:dot each a:each each! a:each!
Builtin generate a:generate group a:group indexof a:indexof insert a:insert intersect a:intersect join a:join Builtin each-slice a:each-slice exists? a:exists? filter a:filter generate a:generate group a:group
Builtin len a:len map a:map map+ a:map+ map= a:map= mean a:mean mean&variance a:mean&variance new a:new Builtin indexof a:indexof insert a:insert intersect a:intersect join a:join len a:len map a:map map+ a:map+
Builtin op a:op op! a:op! op= a:op= open a:open pop a:pop push a:push qsort a:qsort randeach a:randeach Builtin map= a:map= mean a:mean mean&variance a:mean&variance merge a:merge new a:new op! a:op! open a:open
Builtin reduce a:reduce reduce+ a:reduce+ rev a:rev shift a:shift shuffle a:shuffle slice a:slice slice+ a:slice+ Builtin pop a:pop push a:push qsort a:qsort randeach a:randeach reduce a:reduce reduce+ a:reduce+ remove a:remove
Builtin slide a:slide sort a:sort union a:union when a:when when! a:when! x a:x x-each a:x-each xchg a:xchg Builtin rev a:rev shift a:shift shuffle a:shuffle slice a:slice slice+ a:slice+ slide a:slide smear a:smear
Builtin y a:y zip a:zip 8thdir app:8thdir asset app:asset atrun app:atrun atrun app:atrun atrun app:atrun Builtin sort a:sort union a:union x a:x x-each a:x-each xchg a:xchg y a:y zip a:zip 8thdir app:8thdir
Builtin basedir app:basedir current app:current datadir app:datadir exename app:exename isgui app:isgui Builtin asset app:asset atrun app:atrun atrun app:atrun atrun app:atrun basedir app:basedir current app:current
Builtin main app:main oncrash app:oncrash orientation app:orientation pid app:pid restart app:restart Builtin datadir app:datadir exename app:exename lowmem app:lowmem main app:main name app:name oncrash app:oncrash
Builtin resumed app:resumed shared? app:shared? standalone app:standalone subdir app:subdir suspended app:suspended Builtin opts! app:opts! opts@ app:opts@ orientation app:orientation orientation! app:orientation! pid app:pid
Builtin sysquit app:sysquit (here) asm:(here) >n asm:>n avail asm:avail c, asm:c, here! asm:here! n> asm:n> Builtin post-main app:post-main pre-main app:pre-main raise app:raise request-perm app:request-perm
Builtin used asm:used w, asm:w, ! b:! + b:+ / b:/ = b:= >base64 b:>base64 >hex b:>hex >mpack b:>mpack Builtin restart app:restart resumed app:resumed signal app:signal standalone app:standalone subdir app:subdir
Builtin @ b:@ append b:append base64> b:base64> bit! b:bit! bit@ b:bit@ clear b:clear compress b:compress Builtin suspended app:suspended sysquit app:sysquit terminated app:terminated trap app:trap (here) asm:(here)
Builtin conv b:conv each b:each each-slice b:each-slice expand b:expand fill b:fill getb b:getb hex> b:hex> Builtin >n asm:>n avail asm:avail c, asm:c, here! asm:here! n> asm:n> used asm:used w, asm:w, ! b:!
Builtin len b:len mem> b:mem> move b:move mpack-date b:mpack-date mpack-ignore b:mpack-ignore mpack> b:mpack> Builtin + b:+ / b:/ 1+ b:1+ 1- b:1- = b:= >base16 b:>base16 >base32 b:>base32 >base64 b:>base64 >base85 b:>base85
Builtin new b:new op b:op rev b:rev search b:search shmem b:shmem slice b:slice splice b:splice ungetb b:ungetb Builtin >hex b:>hex >mpack b:>mpack @ b:@ append b:append base16> b:base16> base32> b:base32> base64> b:base64>
Builtin writable b:writable xor b:xor +block bc:+block .blocks bc:.blocks add-block bc:add-block block-hash bc:block-hash Builtin base85> b:base85> bit! b:bit! bit@ b:bit@ clear b:clear compress b:compress conv b:conv each b:each
Builtin each! b:each! each-slice b:each-slice expand b:expand fill b:fill getb b:getb hex> b:hex> len b:len
Builtin mem> b:mem> move b:move mpack-compat b:mpack-compat mpack-date b:mpack-date mpack-ignore b:mpack-ignore
Builtin mpack> b:mpack> n! b:n! n+ b:n+ n@ b:n@ new b:new op b:op pad b:pad rev b:rev search b:search
Builtin shmem b:shmem slice b:slice splice b:splice ungetb b:ungetb unpad b:unpad writable b:writable
Builtin xor b:xor +block bc:+block .blocks bc:.blocks add-block bc:add-block block-hash bc:block-hash
Builtin block@ bc:block@ first-block bc:first-block hash bc:hash last-block bc:last-block load bc:load Builtin block@ bc:block@ first-block bc:first-block hash bc:hash last-block bc:last-block load bc:load
Builtin new bc:new save bc:save set-sql bc:set-sql validate bc:validate validate-block bc:validate-block Builtin new bc:new save bc:save set-sql bc:set-sql validate bc:validate validate-block bc:validate-block
Builtin add bloom:add filter bloom:filter in? bloom:in? accept bt:accept ch! bt:ch! ch@ bt:ch@ connect bt:connect Builtin add bloom:add filter bloom:filter in? bloom:in? accept bt:accept ch! bt:ch! ch@ bt:ch@ connect bt:connect
Builtin disconnect bt:disconnect err? bt:err? leconnect bt:leconnect lescan bt:lescan listen bt:listen Builtin disconnect bt:disconnect init bt:init leconnect bt:leconnect lescan bt:lescan listen bt:listen
Builtin on? bt:on? read bt:read scan bt:scan service? bt:service? services? bt:services? write bt:write Builtin on? bt:on? read bt:read scan bt:scan service? bt:service? services? bt:services? write bt:write
Builtin * c:* * c:* + c:+ + c:+ = c:= = c:= >ri c:>ri >ri c:>ri abs c:abs abs c:abs arg c:arg arg c:arg Builtin * c:* * c:* + c:+ + c:+ = c:= = c:= >ri c:>ri >ri c:>ri abs c:abs abs c:abs arg c:arg arg c:arg
Builtin conj c:conj conj c:conj im c:im n> c:n> new c:new new c:new re c:re >aes128gcm cr:>aes128gcm Builtin conj c:conj conj c:conj im c:im n> c:n> new c:new new c:new re c:re >redir con:>redir accept con:accept
Builtin >aes256gcm cr:>aes256gcm >cp cr:>cp >cpe cr:>cpe >decrypt cr:>decrypt >edbox cr:>edbox >encrypt cr:>encrypt Builtin accept-pwd con:accept-pwd ansi? con:ansi? black con:black blue con:blue clreol con:clreol cls con:cls
Builtin >nbuf cr:>nbuf >rsabox cr:>rsabox >uuid cr:>uuid CBC cr:CBC CFB cr:CFB CTR cr:CTR ECB cr:ECB Builtin cyan con:cyan down con:down free con:free getxy con:getxy gotoxy con:gotoxy green con:green
Builtin GCM cr:GCM OFB cr:OFB aad? cr:aad? aes128box-sig cr:aes128box-sig aes128gcm> cr:aes128gcm> Builtin key con:key key? con:key? left con:left load-history con:load-history magenta con:magenta onBlack con:onBlack
Builtin aes256box-sig cr:aes256box-sig aes256gcm> cr:aes256gcm> aesgcm cr:aesgcm blakehash cr:blakehash Builtin onBlue con:onBlue onCyan con:onCyan onGreen con:onGreen onMagenta con:onMagenta onRed con:onRed
Builtin chacha20box-sig cr:chacha20box-sig chachapoly cr:chachapoly cipher! cr:cipher! cipher@ cr:cipher@ Builtin onWhite con:onWhite onYellow con:onYellow print con:print red con:red redir> con:redir> redir? con:redir?
Builtin cp> cr:cp> cpe> cr:cpe> decrypt cr:decrypt decrypt+ cr:decrypt+ decrypt> cr:decrypt> dh-genkey cr:dh-genkey Builtin right con:right save-history con:save-history size? con:size? up con:up white con:white yellow con:yellow
Builtin dh-secret cr:dh-secret dh-sign cr:dh-sign dh-verify cr:dh-verify ebox-sig cr:ebox-sig ecc-genkey cr:ecc-genkey Builtin >aes128gcm cr:>aes128gcm >aes256gcm cr:>aes256gcm >cp cr:>cp >cpe cr:>cpe >decrypt cr:>decrypt
Builtin ecc-secret cr:ecc-secret ecc-sign cr:ecc-sign ecc-verify cr:ecc-verify edbox-sig cr:edbox-sig Builtin >edbox cr:>edbox >encrypt cr:>encrypt >nbuf cr:>nbuf >rsabox cr:>rsabox >uuid cr:>uuid CBC cr:CBC
Builtin edbox> cr:edbox> encrypt cr:encrypt encrypt+ cr:encrypt+ encrypt> cr:encrypt> ensurekey cr:ensurekey Builtin CFB cr:CFB CTR cr:CTR ECB cr:ECB GCM cr:GCM OFB cr:OFB aad? cr:aad? aes128box-sig cr:aes128box-sig
Builtin err? cr:err? gcm-tag-size cr:gcm-tag-size genkey cr:genkey hash cr:hash hash! cr:hash! hash+ cr:hash+ Builtin aes128gcm> cr:aes128gcm> aes256box-sig cr:aes256box-sig aes256gcm> cr:aes256gcm> aesgcm cr:aesgcm
Builtin hash>b cr:hash>b hash>s cr:hash>s hash@ cr:hash@ hmac cr:hmac hotp cr:hotp iv? cr:iv? mode cr:mode Builtin blakehash cr:blakehash chacha20box-sig cr:chacha20box-sig chachapoly cr:chachapoly cipher! cr:cipher!
Builtin mode@ cr:mode@ randkey cr:randkey restore cr:restore root-certs cr:root-certs rsa_decrypt cr:rsa_decrypt Builtin cipher@ cr:cipher@ cp> cr:cp> cpe> cr:cpe> decrypt cr:decrypt decrypt+ cr:decrypt+ decrypt> cr:decrypt>
Builtin rsa_encrypt cr:rsa_encrypt rsa_sign cr:rsa_sign rsa_verify cr:rsa_verify rsabox-sig cr:rsabox-sig Builtin dh-genkey cr:dh-genkey dh-secret cr:dh-secret dh-sign cr:dh-sign dh-verify cr:dh-verify ebox-sig cr:ebox-sig
Builtin rsabox> cr:rsabox> rsagenkey cr:rsagenkey save cr:save sbox-sig cr:sbox-sig sha1-hmac cr:sha1-hmac Builtin ecc-genkey cr:ecc-genkey ecc-secret cr:ecc-secret ecc-sign cr:ecc-sign ecc-verify cr:ecc-verify
Builtin shard cr:shard tag? cr:tag? totp cr:totp totp-epoch cr:totp-epoch totp-time-step cr:totp-time-step Builtin edbox-sig cr:edbox-sig edbox> cr:edbox> encrypt cr:encrypt encrypt+ cr:encrypt+ encrypt> cr:encrypt>
Builtin unshard cr:unshard uuid cr:uuid uuid> cr:uuid> validate-pgp-sig cr:validate-pgp-sig (.hebrew) d:(.hebrew) Builtin ensurekey cr:ensurekey gcm-tag-size cr:gcm-tag-size genkey cr:genkey hash cr:hash hash! cr:hash!
Builtin (.islamic) d:(.islamic) + d:+ +day d:+day +hour d:+hour +min d:+min +msec d:+msec - d:- .hebrew d:.hebrew Builtin hash+ cr:hash+ hash>b cr:hash>b hash>s cr:hash>s hash@ cr:hash@ hmac cr:hmac hotp cr:hotp iv? cr:iv?
Builtin .islamic d:.islamic .time d:.time / d:/ = d:= >fixed d:>fixed >hebepoch d:>hebepoch >msec d:>msec Builtin mode cr:mode mode@ cr:mode@ rand cr:rand randbuf cr:randbuf randkey cr:randkey restore cr:restore
Builtin >unix d:>unix >ymd d:>ymd Adar d:Adar Adar2 d:Adar2 Adar2 d:Adar2 Av d:Av Elul d:Elul Fri d:Fri Builtin root-certs cr:root-certs rsa_decrypt cr:rsa_decrypt rsa_encrypt cr:rsa_encrypt rsa_sign cr:rsa_sign
Builtin Heshvan d:Heshvan Iyar d:Iyar Kislev d:Kislev Mon d:Mon Nissan d:Nissan Sat d:Sat Shevat d:Shevat Builtin rsa_verify cr:rsa_verify rsabox-sig cr:rsabox-sig rsabox> cr:rsabox> rsagenkey cr:rsagenkey
Builtin Sivan d:Sivan Sun d:Sun Tammuz d:Tammuz Tevet d:Tevet Thu d:Thu Tishrei d:Tishrei Tue d:Tue Builtin save cr:save sbox-sig cr:sbox-sig sha1-hmac cr:sha1-hmac shard cr:shard tag? cr:tag? totp cr:totp
Builtin Wed d:Wed adjust-dst d:adjust-dst between d:between d. d:d. dawn d:dawn days-in-hebrew-year d:days-in-hebrew-year Builtin totp-epoch cr:totp-epoch totp-time-step cr:totp-time-step unshard cr:unshard uuid cr:uuid uuid> cr:uuid>
Builtin displaying-hebrew d:displaying-hebrew do-dawn d:do-dawn do-dusk d:do-dusk do-rise d:do-rise Builtin validate-pgp-sig cr:validate-pgp-sig (.hebrew) d:(.hebrew) (.islamic) d:(.islamic) + d:+ +day d:+day
Builtin doy d:doy dst? d:dst? dstquery d:dstquery dstzones? d:dstzones? dusk d:dusk elapsed-timer d:elapsed-timer Builtin +hour d:+hour +min d:+min +msec d:+msec - d:- .hebrew d:.hebrew .islamic d:.islamic .time d:.time
Builtin elapsed-timer-seconds d:elapsed-timer-seconds first-dow d:first-dow fixed> d:fixed> fixed>dow d:fixed>dow Builtin / d:/ = d:= >fixed d:>fixed >hebepoch d:>hebepoch >jdn d:>jdn >msec d:>msec >unix d:>unix >ymd d:>ymd
Builtin fixed>hebrew d:fixed>hebrew fixed>islamic d:fixed>islamic format d:format hanukkah d:hanukkah Builtin ?= d:?= Adar d:Adar Adar2 d:Adar2 Adar2 d:Adar2 Av d:Av Elul d:Elul Fri d:Fri Heshvan d:Heshvan
Builtin hebrew-epoch d:hebrew-epoch hebrew>fixed d:hebrew>fixed hebrewtoday d:hebrewtoday hmonth-name d:hmonth-name Builtin Iyar d:Iyar Kislev d:Kislev Mon d:Mon Nissan d:Nissan Sat d:Sat Shevat d:Shevat Sivan d:Sivan
Builtin islamic.epoch d:islamic.epoch islamic>fixed d:islamic>fixed islamictoday d:islamictoday join d:join Builtin Sun d:Sun Tammuz d:Tammuz Tevet d:Tevet Thu d:Thu Tishrei d:Tishrei Tue d:Tue Wed d:Wed adjust-dst d:adjust-dst
Builtin last-day-of-hebrew-month d:last-day-of-hebrew-month last-dow d:last-dow last-month d:last-month Builtin approx! d:approx! approx? d:approx? approximates! d:approximates! between d:between d. d:d.
Builtin last-week d:last-week last-year d:last-year latitude d:latitude longitude d:longitude longitude d:longitude Builtin dawn d:dawn days-in-hebrew-year d:days-in-hebrew-year displaying-hebrew d:displaying-hebrew
Builtin msec d:msec msec> d:msec> new d:new next-dow d:next-dow next-month d:next-month next-week d:next-week Builtin do-dawn d:do-dawn do-dusk d:do-dusk do-rise d:do-rise doy d:doy dst? d:dst? dstquery d:dstquery
Builtin next-year d:next-year number>hebrew d:number>hebrew omer d:omer parse d:parse pesach d:pesach Builtin dstzones? d:dstzones? dusk d:dusk elapsed-timer d:elapsed-timer elapsed-timer-seconds d:elapsed-timer-seconds
Builtin first-dow d:first-dow fixed> d:fixed> fixed>dow d:fixed>dow fixed>hebrew d:fixed>hebrew fixed>islamic d:fixed>islamic
Builtin format d:format hanukkah d:hanukkah hebrew-epoch d:hebrew-epoch hebrew>fixed d:hebrew>fixed
Builtin hebrewtoday d:hebrewtoday hmonth-name d:hmonth-name islamic.epoch d:islamic.epoch islamic>fixed d:islamic>fixed
Builtin islamictoday d:islamictoday jdn> d:jdn> join d:join last-day-of-hebrew-month d:last-day-of-hebrew-month
Builtin last-dow d:last-dow last-month d:last-month last-week d:last-week last-year d:last-year latitude d:latitude
Builtin longitude d:longitude longitude d:longitude msec d:msec msec> d:msec> new d:new next-dow d:next-dow
Builtin next-month d:next-month next-week d:next-week next-year d:next-year number>hebrew d:number>hebrew
Builtin omer d:omer parse d:parse parse-approx d:parse-approx parse-range d:parse-range pesach d:pesach
Builtin prev-dow d:prev-dow purim d:purim rosh-chodesh? d:rosh-chodesh? rosh-hashanah d:rosh-hashanah Builtin prev-dow d:prev-dow purim d:purim rosh-chodesh? d:rosh-chodesh? rosh-hashanah d:rosh-hashanah
Builtin shavuot d:shavuot start-timer d:start-timer sunrise d:sunrise taanit-esther d:taanit-esther Builtin shavuot d:shavuot start-timer d:start-timer sunrise d:sunrise taanit-esther d:taanit-esther
Builtin ticks d:ticks ticks/sec d:ticks/sec timer d:timer tisha-beav d:tisha-beav tzadjust d:tzadjust Builtin ticks d:ticks ticks/sec d:ticks/sec timer d:timer timer-ctrl d:timer-ctrl tisha-beav d:tisha-beav
Builtin unix> d:unix> updatetz d:updatetz year@ d:year@ ymd d:ymd ymd> d:ymd> yom-haatsmaut d:yom-haatsmaut Builtin tzadjust d:tzadjust unix> d:unix> unknown d:unknown unknown? d:unknown? updatetz d:updatetz
Builtin yom-kippur d:yom-kippur add-func db:add-func bind db:bind close db:close col db:col col[] db:col[] Builtin year@ d:year@ ymd d:ymd ymd> d:ymd> yom-haatsmaut d:yom-haatsmaut yom-kippur d:yom-kippur add-func db:add-func
Builtin col{} db:col{} err? db:err? errmsg db:errmsg exec db:exec exec-cb db:exec-cb key db:key mysql? db:mysql? Builtin aes! db:aes! begin db:begin bind db:bind bind-exec db:bind-exec bind-exec[] db:bind-exec[]
Builtin odbc? db:odbc? open db:open open? db:open? prepare db:prepare query db:query query-all db:query-all Builtin close db:close col db:col col[] db:col[] col{} db:col{} commit db:commit each db:each exec db:exec
Builtin rekey db:rekey sqlerrmsg db:sqlerrmsg bp dbg:bp except-task@ dbg:except-task@ go dbg:go line-info dbg:line-info Builtin exec-cb db:exec-cb exec-name db:exec-name get db:get get-sub db:get-sub key db:key kind? db:kind?
Builtin prompt dbg:prompt stop dbg:stop trace dbg:trace trace-enter dbg:trace-enter trace-leave dbg:trace-leave Builtin last-rowid db:last-rowid mysql? db:mysql? odbc? db:odbc? open db:open open? db:open? prep-name db:prep-name
Builtin abspath f:abspath append f:append associate f:associate atime f:atime canwrite? f:canwrite? Builtin prepare db:prepare query db:query query-all db:query-all rekey db:rekey rollback db:rollback
Builtin chmod f:chmod close f:close copy f:copy copydir f:copydir create f:create ctime f:ctime dir? f:dir? Builtin set db:set set-sub db:set-sub sql@ db:sql@ bp dbg:bp except-task@ dbg:except-task@ go dbg:go
Builtin dname f:dname eachbuf f:eachbuf eachline f:eachline enssep f:enssep eof? f:eof? err? f:err? Builtin line-info dbg:line-info prompt dbg:prompt stop dbg:stop trace dbg:trace trace-enter dbg:trace-enter
Builtin exists? f:exists? flush f:flush fname f:fname getb f:getb getc f:getc getline f:getline getmod f:getmod Builtin trace-leave dbg:trace-leave / f:/ abspath f:abspath absrel f:absrel append f:append associate f:associate
Builtin glob f:glob glob-nocase f:glob-nocase include f:include launch f:launch link f:link link> f:link> Builtin atime f:atime canwrite? f:canwrite? chmod f:chmod close f:close copy f:copy copydir f:copydir
Builtin link? f:link? mkdir f:mkdir mmap f:mmap mmap-range f:mmap-range mmap-range? f:mmap-range? mtime f:mtime Builtin create f:create ctime f:ctime dir? f:dir? dname f:dname eachbuf f:eachbuf eachline f:eachline
Builtin mv f:mv open f:open open-ro f:open-ro popen f:popen print f:print read f:read relpath f:relpath Builtin enssep f:enssep eof? f:eof? exists? f:exists? flush f:flush fname f:fname getb f:getb getc f:getc
Builtin rglob f:rglob rm f:rm rmdir f:rmdir seek f:seek sep f:sep show f:show size f:size slurp f:slurp Builtin getline f:getline getmod f:getmod glob f:glob glob-nocase f:glob-nocase homedir f:homedir homedir! f:homedir!
Builtin stderr f:stderr stdin f:stdin stdout f:stdout tell f:tell times f:times trash f:trash ungetb f:ungetb Builtin include f:include ioctl f:ioctl join f:join launch f:launch link f:link link> f:link> link? f:link?
Builtin ungetc f:ungetc unzip f:unzip unzip-entry f:unzip-entry watch f:watch write f:write writen f:writen Builtin mkdir f:mkdir mmap f:mmap mmap-range f:mmap-range mmap-range? f:mmap-range? mtime f:mtime mv f:mv
Builtin zip+ f:zip+ zip@ f:zip@ zipentry f:zipentry zipnew f:zipnew zipopen f:zipopen zipsave f:zipsave Builtin name@ f:name@ open f:open open-ro f:open-ro popen f:popen print f:print read f:read read? f:read?
Builtin bold font:bold face? font:face? glyph-path font:glyph-path glyph-pos font:glyph-pos info font:info Builtin relpath f:relpath rglob f:rglob rm f:rm rmdir f:rmdir seek f:seek sep f:sep size f:size slurp f:slurp
Builtin italic font:italic ls font:ls measure font:measure new font:new pixels font:pixels pixels? font:pixels? Builtin sparse? f:sparse? spit f:spit stderr f:stderr stdin f:stdin stdout f:stdout tell f:tell times f:times
Builtin points font:points points? font:points? styles font:styles styles? font:styles? underline font:underline Builtin tmpspit f:tmpspit trash f:trash truncate f:truncate ungetb f:ungetb ungetc f:ungetc unzip f:unzip
Builtin +child g:+child +kind g:+kind +path g:+path -child g:-child /path g:/path >img g:>img >progress g:>progress Builtin unzip-entry f:unzip-entry watch f:watch write f:write writen f:writen zip+ f:zip+ zip@ f:zip@
Builtin add-items g:add-items adjustwidth g:adjustwidth allow-orient g:allow-orient arc g:arc arc2 g:arc2 Builtin zipentry f:zipentry zipnew f:zipnew zipopen f:zipopen zipsave f:zipsave atlas! font:atlas!
Builtin autohide g:autohide back g:back bezier g:bezier bg g:bg bg? g:bg? bounds g:bounds bounds? g:bounds? Builtin atlas@ font:atlas@ default-size font:default-size info font:info ls font:ls measure font:measure
Builtin box-label g:box-label btn-font g:btn-font bubble g:bubble button-size g:button-size buttons-visible g:buttons-visible Builtin new font:new oversample font:oversample pixels font:pixels pixels? font:pixels? +edge gr:+edge
Builtin c-text g:c-text callout g:callout center g:center child g:child clear g:clear clearpath g:clearpath Builtin +edge+w gr:+edge+w +node gr:+node connect gr:connect edges gr:edges edges! gr:edges! m! gr:m!
Builtin clr>n g:clr>n coleven g:coleven colordlg g:colordlg colwidth g:colwidth connectededges g:connectededges Builtin m@ gr:m@ neighbors gr:neighbors new gr:new node-edges gr:node-edges nodes gr:nodes traverse gr:traverse
Builtin contrasting g:contrasting cp g:cp curmouse? g:curmouse? default-font g:default-font deselect-row g:deselect-row Builtin weight! gr:weight! + h:+ clear h:clear cmp! h:cmp! len h:len max! h:max! new h:new peek h:peek
Builtin dismiss g:dismiss do g:do draw-fitted-text g:draw-fitted-text draw-text g:draw-text draw-text-at g:draw-text-at Builtin pop h:pop push h:push unique h:unique arm? hw:arm? camera hw:camera camera-img hw:camera-img
Builtin each g:each edit-on-double-click g:edit-on-double-click editable g:editable editdlg g:editdlg Builtin camera-limits hw:camera-limits camera? hw:camera? cpu? hw:cpu? device? hw:device? displays? hw:displays?
Builtin empty-text g:empty-text enable g:enable enabled? g:enabled? fade g:fade fb-files g:fb-files Builtin displaysize? hw:displaysize? finger-match hw:finger-match finger-support hw:finger-support
Builtin fcolor g:fcolor fg g:fg fg? g:fg? file-filter g:file-filter file-name g:file-name filedlg g:filedlg Builtin gpio hw:gpio gpio! hw:gpio! gpio-mmap hw:gpio-mmap gpio@ hw:gpio@ i2c hw:i2c i2c! hw:i2c! i2c!reg hw:i2c!reg
Builtin fill g:fill fillall g:fillall fit-text g:fit-text flex! g:flex! focus g:focus fontdlg g:fontdlg Builtin i2c@ hw:i2c@ i2c@reg hw:i2c@reg isround? hw:isround? iswatch? hw:iswatch? mac? hw:mac? mem? hw:mem?
Builtin forward g:forward fullscreen g:fullscreen get-lasso-items g:get-lasso-items get-tab g:get-tab Builtin model? hw:model? poll hw:poll sensor hw:sensor start hw:start stop hw:stop uid? hw:uid? fetch-full imap:fetch-full
Builtin getclr g:getclr getfont g:getfont getimage g:getimage getpath g:getpath getroot g:getroot gradient g:gradient Builtin fetch-uid-mail imap:fetch-uid-mail login imap:login logout imap:logout new imap:new search imap:search
Builtin gui? g:gui? handle g:handle headerheight g:headerheight hide g:hide image g:image image-at g:image-at Builtin select-inbox imap:select-inbox >file img:>file >fmt img:>fmt copy img:copy crop img:crop data img:data
Builtin invalidate g:invalidate ix? g:ix? justify g:justify keyinfo g:keyinfo l-text g:l-text laf g:laf Builtin desat img:desat fill img:fill fillrect img:fillrect filter img:filter flip img:flip from-svg img:from-svg
Builtin laf! g:laf! laf? g:laf? len g:len line-width g:line-width lineto g:lineto list+ g:list+ list- g:list- Builtin new img:new pix! img:pix! pix@ img:pix@ qr-gen img:qr-gen qr-parse img:qr-parse rotate img:rotate
Builtin loadcontent g:loadcontent localize g:localize m! g:m! m@ g:m@ menu-font g:menu-font menu-update g:menu-update Builtin scale img:scale scroll img:scroll size img:size countries iso:countries find loc:find sort loc:sort
Builtin menuenabled g:menuenabled mouse? g:mouse? mousepos? g:mousepos? moveto g:moveto msgdlg g:msgdlg Builtin ! m:! !? m:!? + m:+ +? m:+? - m:- >arr m:>arr @ m:@ @? m:@? _! m:_! _@ m:_@ arr> m:arr> bitmap m:bitmap
Builtin multi g:multi name g:name named-skin g:named-skin new g:new new-laf g:new-laf next g:next obj g:obj Builtin clear m:clear data m:data each m:each exists? m:exists? filter m:filter iter m:iter iter-all m:iter-all
Builtin on g:on on? g:on? ontop g:ontop oshandle g:oshandle outlinethickness g:outlinethickness panel-size g:panel-size Builtin keys m:keys len m:len map m:map merge m:merge new m:new op! m:op! open m:open slice m:slice
Builtin panel-size? g:panel-size? parent g:parent path g:path path>s g:path>s pie g:pie pix! g:pix! Builtin vals m:vals xchg m:xchg zip m:zip ! mat:! * mat:* + mat:+ = mat:= @ mat:@ affine mat:affine
Builtin pop g:pop popmenu g:popmenu pos? g:pos? prev g:prev propval! g:propval! propval@ g:propval@ Builtin col mat:col data mat:data det mat:det dim? mat:dim? get-n mat:get-n ident mat:ident inv mat:inv
Builtin push g:push qbezier g:qbezier quit g:quit r-text g:r-text readonly g:readonly rect g:rect refresh g:refresh Builtin m. mat:m. minor mat:minor n* mat:n* new mat:new new-minor mat:new-minor rotate mat:rotate row mat:row
Builtin restore g:restore root g:root root-item-visible g:root-item-visible rotate g:rotate rowheight g:rowheight Builtin same-size? mat:same-size? scale mat:scale shear mat:shear trans mat:trans translate mat:translate
Builtin rrect g:rrect s>path g:s>path save g:save say g:say scale g:scale scolor g:scolor scrollthickness g:scrollthickness Builtin xform mat:xform 2console md:2console 2html md:2html 2nk md:2nk bounds meta:bounds color meta:color
Builtin sectionenable g:sectionenable select! g:select! select@ g:select@ selected-rows g:selected-rows Builtin console meta:console end meta:end ffi meta:ffi ! n:! * n:* */ n:*/ + n:+ +! n:+! - n:- / n:/
Builtin set-lasso g:set-lasso set-long-press g:set-long-press set-popup-font g:set-popup-font set-range g:set-range Builtin /mod n:/mod 1+ n:1+ 1- n:1- < n:< = n:= > n:> BIGE n:BIGE BIGPI n:BIGPI E n:E PI n:PI ^ n:^
Builtin set-swipe g:set-swipe set-value g:set-value setcursor g:setcursor setfont g:setfont setheader g:setheader Builtin _mod n:_mod abs n:abs acos n:acos acos n:acos asin n:asin asin n:asin atan n:atan atan n:atan
Builtin sethtml g:sethtml setimage g:setimage setname g:setname setroot g:setroot settab g:settab show g:show Builtin atan2 n:atan2 band n:band between n:between bfloat n:bfloat bic n:bic bint n:bint binv n:binv
Builtin show-line-numbers g:show-line-numbers show-pct g:show-pct showmenu g:showmenu showtooltip g:showtooltip Builtin bnot n:bnot bor n:bor bxor n:bxor cast n:cast ceil n:ceil clamp n:clamp cmp n:cmp comb n:comb
Builtin size g:size size? g:size? skin g:skin skin-class g:skin-class stackix g:stackix state g:state Builtin cos n:cos cosd n:cosd emod n:emod exp n:exp expm1 n:expm1 expmod n:expmod float n:float floor n:floor
Builtin state? g:state? stepsize g:stepsize stroke g:stroke stroke-fill g:stroke-fill style g:style
Builtin tabname g:tabname text g:text text-box-style g:text-box-style text? g:text? textcolor g:textcolor
Builtin textsize g:textsize timer! g:timer! timer@ g:timer@ toback g:toback tofront g:tofront toggle-row g:toggle-row
Builtin tooltip g:tooltip top g:top transition g:transition translate g:translate tree-open g:tree-open
Builtin triangle g:triangle update g:update updateitems g:updateitems url g:url user g:user user! g:user!
Builtin vertical g:vertical view g:view visible? g:visible? vpos! g:vpos! vpos@ g:vpos@ waitcursor g:waitcursor
Builtin winding g:winding xy g:xy xy? g:xy? +edge gr:+edge +edge+w gr:+edge+w +node gr:+node connect gr:connect
Builtin edges gr:edges m! gr:m! m@ gr:m@ neighbors gr:neighbors new gr:new node-edges gr:node-edges
Builtin nodes gr:nodes traverse gr:traverse + h:+ clear h:clear len h:len new h:new peek h:peek pop h:pop
Builtin push h:push unique h:unique arm? hw:arm? camera hw:camera camera-fmt hw:camera-fmt camera-img hw:camera-img
Builtin camera? hw:camera? cpu? hw:cpu? device? hw:device? displays? hw:displays? displaysize? hw:displaysize?
Builtin err? hw:err? gpio hw:gpio gpio! hw:gpio! gpio-mmap hw:gpio-mmap gpio@ hw:gpio@ i2c hw:i2c i2c! hw:i2c!
Builtin i2c!reg hw:i2c!reg i2c@ hw:i2c@ i2c@reg hw:i2c@reg isround? hw:isround? iswatch? hw:iswatch?
Builtin mac? hw:mac? mem? hw:mem? poll hw:poll sensor hw:sensor start hw:start stop hw:stop fetch-full imap:fetch-full
Builtin fetch-uid-mail imap:fetch-uid-mail login imap:login new imap:new select-inbox imap:select-inbox
Builtin >file img:>file copy img:copy crop img:crop data img:data desat img:desat fill img:fill filter img:filter
Builtin flip img:flip from-svg img:from-svg new img:new pix! img:pix! pix@ img:pix@ qr-gen img:qr-gen
Builtin qr-parse img:qr-parse rotate img:rotate scale img:scale scroll img:scroll size img:size countries iso:countries
Builtin find loc:find sort loc:sort ! m:! !? m:!? + m:+ +? m:+? - m:- @ m:@ @? m:@? @@ m:@@ clear m:clear
Builtin data m:data each m:each exists? m:exists? iter m:iter iter-all m:iter-all keys m:keys len m:len
Builtin map m:map new m:new op! m:op! open m:open vals m:vals xchg m:xchg ! mat:! * mat:* + mat:+ = mat:=
Builtin @ mat:@ col mat:col data mat:data det mat:det dim? mat:dim? get-n mat:get-n ident mat:ident
Builtin m. mat:m. minor mat:minor n* mat:n* new mat:new row mat:row same-size? mat:same-size? trans mat:trans
Builtin ! n:! * n:* */ n:*/ + n:+ +! n:+! - n:- / n:/ /mod n:/mod 1+ n:1+ 1- n:1- < n:< = n:= > n:>
Builtin BIGE n:BIGE BIGPI n:BIGPI E n:E PI n:PI ^ n:^ abs n:abs acos n:acos acos n:acos asin n:asin
Builtin asin n:asin atan n:atan atan n:atan atan2 n:atan2 band n:band between n:between bfloat n:bfloat
Builtin bic n:bic bint n:bint binv n:binv bnot n:bnot bor n:bor bxor n:bxor ceil n:ceil clamp n:clamp
Builtin cmp n:cmp comb n:comb cos n:cos cosd n:cosd exp n:exp expmod n:expmod float n:float floor n:floor
Builtin fmod n:fmod frac n:frac gcd n:gcd int n:int invmod n:invmod kind? n:kind? lcm n:lcm ln n:ln Builtin fmod n:fmod frac n:frac gcd n:gcd int n:int invmod n:invmod kind? n:kind? lcm n:lcm ln n:ln
Builtin max n:max median n:median min n:min mod n:mod neg n:neg odd? n:odd? perm n:perm prime? n:prime? Builtin ln1p n:ln1p max n:max median n:median min n:min mod n:mod neg n:neg odd? n:odd? perm n:perm
Builtin quantize n:quantize quantize! n:quantize! r+ n:r+ range n:range rot32l n:rot32l rot32r n:rot32r Builtin prime? n:prime? quantize n:quantize quantize! n:quantize! r+ n:r+ range n:range rot32l n:rot32l
Builtin round n:round round2 n:round2 running-variance n:running-variance running-variance-finalize n:running-variance-finalize Builtin rot32r n:rot32r round n:round round2 n:round2 rounding n:rounding running-variance n:running-variance
Builtin sgn n:sgn shl n:shl shr n:shr sin n:sin sind n:sind sqr n:sqr sqrt n:sqrt tan n:tan tand n:tand Builtin running-variance-finalize n:running-variance-finalize sgn n:sgn shl n:shl shr n:shr sin n:sin
Builtin trunc n:trunc ~= n:~= ! net:! >url net:>url @ net:@ DGRAM net:DGRAM INET4 net:INET4 INET6 net:INET6 Builtin sind n:sind sqr n:sqr sqrt n:sqrt tan n:tan tand n:tand trunc n:trunc ~= n:~= ! net:! !? net:!?
Builtin PROTO_TCP net:PROTO_TCP PROTO_UDP net:PROTO_UDP STREAM net:STREAM accept net:accept addrinfo>o net:addrinfo>o Builtin - net:- >url net:>url @ net:@ @? net:@? DGRAM net:DGRAM INET4 net:INET4 INET6 net:INET6 PROTO_TCP net:PROTO_TCP
Builtin again? net:again? alloc-and-read net:alloc-and-read alloc-buf net:alloc-buf bind net:bind browse net:browse Builtin PROTO_UDP net:PROTO_UDP STREAM net:STREAM accept net:accept addrinfo>o net:addrinfo>o again? net:again?
Builtin close net:close connect net:connect err>s net:err>s err? net:err? get net:get getaddrinfo net:getaddrinfo Builtin alloc-and-read net:alloc-and-read alloc-buf net:alloc-buf bind net:bind close net:close closed? net:closed?
Builtin getpeername net:getpeername head net:head ifaces? net:ifaces? listen net:listen net-socket net:net-socket Builtin connect net:connect debug? net:debug? delete net:delete get net:get getaddrinfo net:getaddrinfo
Builtin opts net:opts port-is-ssl? net:port-is-ssl? post net:post proxy! net:proxy! read net:read recvfrom net:recvfrom Builtin getpeername net:getpeername head net:head ifaces? net:ifaces? listen net:listen map>url net:map>url
Builtin s>url net:s>url sendto net:sendto server net:server setsockopt net:setsockopt socket net:socket Builtin net-socket net:net-socket opts net:opts port-is-ssl? net:port-is-ssl? post net:post proxy! net:proxy!
Builtin tlshello net:tlshello url> net:url> user-agent net:user-agent wait net:wait write net:write Builtin put net:put read net:read read-all net:read-all recvfrom net:recvfrom s>url net:s>url sendto net:sendto
Builtin MAX ns:MAX cast ptr:cast len ptr:len pack ptr:pack unpack ptr:unpack unpack_orig ptr:unpack_orig Builtin server net:server setsockopt net:setsockopt socket net:socket tlshello net:tlshello url> net:url>
Builtin user-agent net:user-agent wait net:wait write net:write (begin) nk:(begin) (chart-begin) nk:(chart-begin)
Builtin (chart-begin-colored) nk:(chart-begin-colored) (chart-end) nk:(chart-end) (end) nk:(end) (group-begin) nk:(group-begin)
Builtin (group-end) nk:(group-end) (property) nk:(property) >img nk:>img addfont nk:addfont anti-alias nk:anti-alias
Builtin any-clicked? nk:any-clicked? bounds nk:bounds bounds! nk:bounds! button nk:button button-color nk:button-color
Builtin button-label nk:button-label button-set-behavior nk:button-set-behavior button-symbol nk:button-symbol
Builtin button-symbol-label nk:button-symbol-label chart-add-slot nk:chart-add-slot chart-add-slot-colored nk:chart-add-slot-colored
Builtin chart-push nk:chart-push chart-push-slot nk:chart-push-slot checkbox nk:checkbox clicked? nk:clicked?
Builtin close-this! nk:close-this! close-this? nk:close-this? close? nk:close? color-picker nk:color-picker
Builtin combo nk:combo combo-begin-color nk:combo-begin-color combo-begin-label nk:combo-begin-label
Builtin combo-cb nk:combo-cb combo-end nk:combo-end contextual-begin nk:contextual-begin contextual-close nk:contextual-close
Builtin contextual-end nk:contextual-end contextual-item-image-text nk:contextual-item-image-text contextual-item-symbol-text nk:contextual-item-symbol-text
Builtin contextual-item-text nk:contextual-item-text cp! nk:cp! cp@ nk:cp@ display-info nk:display-info
Builtin display@ nk:display@ do nk:do down? nk:down? draw-image nk:draw-image draw-image-at nk:draw-image-at
Builtin draw-image-centered nk:draw-image-centered draw-sub-image nk:draw-sub-image draw-text nk:draw-text
Builtin draw-text-high nk:draw-text-high draw-text-wrap nk:draw-text-wrap edit-focus nk:edit-focus
Builtin edit-string nk:edit-string event nk:event event-boost nk:event-boost event-msec nk:event-msec
Builtin event-wait nk:event-wait fill-arc nk:fill-arc fill-circle nk:fill-circle fill-poly nk:fill-poly
Builtin fill-rect nk:fill-rect fill-rect-color nk:fill-rect-color fill-triangle nk:fill-triangle flags! nk:flags!
Builtin flags@ nk:flags@ fullscreen nk:fullscreen get nk:get get-row-height nk:get-row-height getfont nk:getfont
Builtin getmap nk:getmap gl? nk:gl? grid nk:grid grid-push nk:grid-push group-scroll-ofs nk:group-scroll-ofs
Builtin group-scroll-ofs! nk:group-scroll-ofs! hovered? nk:hovered? image nk:image init nk:init input-button nk:input-button
Builtin input-key nk:input-key input-motion nk:input-motion input-scroll nk:input-scroll input-string nk:input-string
Builtin key-down? nk:key-down? key-pressed? nk:key-pressed? key-released? nk:key-released? label nk:label
Builtin label-colored nk:label-colored label-wrap nk:label-wrap label-wrap-colored nk:label-wrap-colored
Builtin layout-bounds nk:layout-bounds layout-grid-begin nk:layout-grid-begin layout-grid-end nk:layout-grid-end
Builtin layout-push-dynamic nk:layout-push-dynamic layout-push-static nk:layout-push-static layout-push-variable nk:layout-push-variable
Builtin layout-ratio-from-pixel nk:layout-ratio-from-pixel layout-reset-row-height nk:layout-reset-row-height
Builtin layout-row nk:layout-row layout-row-begin nk:layout-row-begin layout-row-dynamic nk:layout-row-dynamic
Builtin layout-row-end nk:layout-row-end layout-row-height nk:layout-row-height layout-row-push nk:layout-row-push
Builtin layout-row-static nk:layout-row-static layout-row-template-begin nk:layout-row-template-begin
Builtin layout-row-template-end nk:layout-row-template-end layout-space-begin nk:layout-space-begin
Builtin layout-space-end nk:layout-space-end layout-space-push nk:layout-space-push layout-widget-bounds nk:layout-widget-bounds
Builtin list-begin nk:list-begin list-end nk:list-end list-new nk:list-new list-range nk:list-range
Builtin m! nk:m! m@ nk:m@ make-style nk:make-style max-vertex-element nk:max-vertex-element measure nk:measure
Builtin measure-font nk:measure-font menu-begin nk:menu-begin menu-close nk:menu-close menu-end nk:menu-end
Builtin menu-item-image nk:menu-item-image menu-item-label nk:menu-item-label menu-item-symbol nk:menu-item-symbol
Builtin menubar-begin nk:menubar-begin menubar-end nk:menubar-end mouse-pos nk:mouse-pos msgdlg nk:msgdlg
Builtin option nk:option plot nk:plot plot-fn nk:plot-fn pop-font nk:pop-font popup-begin nk:popup-begin
Builtin popup-close nk:popup-close popup-end nk:popup-end popup-scroll-ofs nk:popup-scroll-ofs popup-scroll-ofs! nk:popup-scroll-ofs!
Builtin progress nk:progress prop-int nk:prop-int pt>local nk:pt>local pt>screen nk:pt>screen pts>rect nk:pts>rect
Builtin push-font nk:push-font rect-center nk:rect-center rect-intersect nk:rect-intersect rect-ofs nk:rect-ofs
Builtin rect-pad nk:rect-pad rect-shrink nk:rect-shrink rect-union nk:rect-union rect/high nk:rect/high
Builtin rect/wide nk:rect/wide rect>center nk:rect>center rect>local nk:rect>local rect>pos nk:rect>pos
Builtin rect>pts nk:rect>pts rect>screen nk:rect>screen rect>size nk:rect>size released? nk:released?
Builtin render nk:render restore nk:restore rotate nk:rotate save nk:save scale nk:scale scancode? nk:scancode?
Builtin screen-saver nk:screen-saver screen-size nk:screen-size screen-win-close nk:screen-win-close
Builtin selectable nk:selectable set nk:set set-font nk:set-font set-num-vertices nk:set-num-vertices
Builtin setpos nk:setpos setwin nk:setwin slider nk:slider slider-int nk:slider-int space nk:space
Builtin spacing nk:spacing stroke-arc nk:stroke-arc stroke-circle nk:stroke-circle stroke-curve nk:stroke-curve
Builtin stroke-line nk:stroke-line stroke-polygon nk:stroke-polygon stroke-polyline nk:stroke-polyline
Builtin stroke-rect nk:stroke-rect stroke-tri nk:stroke-tri style-from-table nk:style-from-table sw-gl nk:sw-gl
Builtin text? nk:text? tooltip nk:tooltip translate nk:translate tree-pop nk:tree-pop tree-state-push nk:tree-state-push
Builtin use-style nk:use-style vsync nk:vsync widget nk:widget widget-bounds nk:widget-bounds widget-fitting nk:widget-fitting
Builtin widget-high nk:widget-high widget-hovered? nk:widget-hovered? widget-mouse-click-down? nk:widget-mouse-click-down?
Builtin widget-mouse-clicked? nk:widget-mouse-clicked? widget-pos nk:widget-pos widget-size nk:widget-size
Builtin widget-wide nk:widget-wide win nk:win win-bounds nk:win-bounds win-bounds! nk:win-bounds! win-close nk:win-close
Builtin win-closed? nk:win-closed? win-collapse nk:win-collapse win-collapsed? nk:win-collapsed? win-content-bounds nk:win-content-bounds
Builtin win-focus nk:win-focus win-focused? nk:win-focused? win-hidden? nk:win-hidden? win-high nk:win-high
Builtin win-hovered? nk:win-hovered? win-pos nk:win-pos win-scroll-ofs nk:win-scroll-ofs win-scroll-ofs! nk:win-scroll-ofs!
Builtin win-show nk:win-show win-size nk:win-size win-wide nk:win-wide win? nk:win? MAX ns:MAX ! o:!
Builtin + o:+ +? o:+? ??? o:??? @ o:@ class o:class exec o:exec isa o:isa method o:method mutate o:mutate
Builtin new o:new super o:super devname os:devname env os:env lang os:lang mem-arenas os:mem-arenas
Builtin notify os:notify region os:region cast ptr:cast len ptr:len null? ptr:null? pack ptr:pack unpack ptr:unpack
Builtin unpack_orig ptr:unpack_orig publish pubsub:publish qsize pubsub:qsize subscribe pubsub:subscribe
Builtin + q:+ clear q:clear len q:len new q:new notify q:notify overwrite q:overwrite peek q:peek pick q:pick Builtin + q:+ clear q:clear len q:len new q:new notify q:notify overwrite q:overwrite peek q:peek pick q:pick
Builtin pop q:pop push q:push shift q:shift size q:size slide q:slide throwing q:throwing wait q:wait Builtin pop q:pop push q:push remove q:remove shift q:shift size q:size slide q:slide throwing q:throwing
Builtin ++match r:++match +/ r:+/ +match r:+match / r:/ @ r:@ err? r:err? len r:len match r:match new r:new Builtin wait q:wait ++match r:++match +/ r:+/ +match r:+match / r:/ @ r:@ len r:len match r:match new r:new
Builtin rx r:rx str r:str ! s:! * s:* + s:+ - s:- / s:/ /scripts s:/scripts <+ s:<+ = s:= =ic s:=ic Builtin rx r:rx str r:str * rat:* + rat:+ - rat:- / rat:/ >n rat:>n >s rat:>s new rat:new proper rat:proper
Builtin >base64 s:>base64 >ucs2 s:>ucs2 @ s:@ append s:append base64> s:base64> clear s:clear cmp s:cmp Builtin ! s:! * s:* + s:+ - s:- / s:/ /scripts s:/scripts <+ s:<+ = s:= =ic s:=ic >base64 s:>base64
Builtin cmpi s:cmpi compress s:compress days! s:days! each s:each eachline s:eachline expand s:expand Builtin >ucs2 s:>ucs2 @ s:@ append s:append base64> s:base64> clear s:clear cmp s:cmp cmpi s:cmpi compress s:compress
Builtin fill s:fill fmt s:fmt gershayim s:gershayim globmatch s:globmatch hexupr s:hexupr insert s:insert Builtin days! s:days! dist s:dist each s:each each! s:each! eachline s:eachline escape s:escape expand s:expand
Builtin intl s:intl intl! s:intl! lang s:lang lc s:lc len s:len lsub s:lsub ltrim s:ltrim map s:map Builtin fill s:fill fmt s:fmt fold s:fold gershayim s:gershayim globmatch s:globmatch hexupr s:hexupr
Builtin months! s:months! new s:new replace s:replace replace! s:replace! rev s:rev rsearch s:rsearch Builtin insert s:insert intl s:intl intl! s:intl! lang s:lang lc s:lc lc? s:lc? len s:len lsub s:lsub
Builtin rsub s:rsub rtrim s:rtrim script? s:script? search s:search size s:size slice s:slice strfmap s:strfmap Builtin ltrim s:ltrim map s:map months! s:months! new s:new norm s:norm reduce s:reduce repinsert s:repinsert
Builtin strfmt s:strfmt trim s:trim tsub s:tsub uc s:uc ucs2> s:ucs2> utf8? s:utf8? zt s:zt close sio:close Builtin replace s:replace replace! s:replace! rev s:rev rsearch s:rsearch rsub s:rsub rtrim s:rtrim
Builtin enum sio:enum open sio:open opts! sio:opts! opts@ sio:opts@ read sio:read write sio:write new smtp:new Builtin script? s:script? search s:search size s:size slice s:slice soundex s:soundex strfmap s:strfmap
Builtin send smtp:send apply-filter snd:apply-filter devices? snd:devices? end-record snd:end-record Builtin strfmt s:strfmt text-wrap s:text-wrap trim s:trim tsub s:tsub uc s:uc uc? s:uc? ucs2> s:ucs2>
Builtin filter snd:filter formats? snd:formats? freq snd:freq gain snd:gain gain? snd:gain? len snd:len Builtin utf8? s:utf8? zt s:zt close sio:close enum sio:enum open sio:open opts! sio:opts! opts@ sio:opts@
Builtin loop snd:loop mix snd:mix new snd:new pause snd:pause play snd:play played snd:played rate snd:rate Builtin read sio:read write sio:write @ slv:@ auto slv:auto build slv:build constraint slv:constraint
Builtin record snd:record seek snd:seek stop snd:stop stopall snd:stopall unmix snd:unmix volume snd:volume Builtin dump slv:dump edit slv:edit named-variable slv:named-variable new slv:new relation slv:relation
Builtin volume? snd:volume? + st:+ . st:. clear st:clear len st:len ndrop st:ndrop new st:new op! st:op! Builtin reset slv:reset suggest slv:suggest term slv:term update slv:update v[] slv:v[] variable slv:variable
Builtin peek st:peek pick st:pick pop st:pop push st:push roll st:roll shift st:shift size st:size Builtin v{} slv:v{} new smtp:new send smtp:send apply-filter snd:apply-filter devices? snd:devices?
Builtin slide st:slide swap st:swap throwing st:throwing >buf struct:>buf arr> struct:arr> buf struct:buf Builtin end-record snd:end-record filter snd:filter formats? snd:formats? freq snd:freq gain snd:gain
Builtin buf> struct:buf> byte struct:byte double struct:double field! struct:field! field@ struct:field@ Builtin gain? snd:gain? init snd:init len snd:len loop snd:loop loop? snd:loop? mix snd:mix new snd:new
Builtin float struct:float ignore struct:ignore int struct:int long struct:long struct; struct:struct; Builtin pause snd:pause play snd:play played snd:played rate snd:rate ready? snd:ready? record snd:record
Builtin word struct:word ! t:! @ t:@ assign t:assign curtask t:curtask def-queue t:def-queue def-stack t:def-stack Builtin resume snd:resume seek snd:seek stop snd:stop stopall snd:stopall volume snd:volume volume? snd:volume?
Builtin done? t:done? err! t:err! err? t:err? getq t:getq guitask t:guitask handler t:handler kill t:kill Builtin + st:+ . st:. clear st:clear len st:len ndrop st:ndrop new st:new op! st:op! peek st:peek pick st:pick
Builtin list t:list main t:main name! t:name! name@ t:name@ notify t:notify pop t:pop priority t:priority Builtin pop st:pop push st:push roll st:roll shift st:shift size st:size slide st:slide swap st:swap
Builtin push t:push push< t:push< q-notify t:q-notify q-wait t:q-wait qlen t:qlen result t:result task t:task Builtin throwing st:throwing >buf struct:>buf arr> struct:arr> buf struct:buf buf> struct:buf> byte struct:byte
Builtin task-n t:task-n task-stop t:task-stop wait t:wait ! w:! @ w:@ alias: w:alias: cb w:cb deprecate w:deprecate Builtin double struct:double field! struct:field! field@ struct:field@ float struct:float ignore struct:ignore
Builtin exec w:exec exec? w:exec? ffifail w:ffifail find w:find forget w:forget is w:is undo w:undo Builtin int struct:int long struct:long struct; struct:struct; word struct:word ! t:! @ t:@ by-name t:by-name
Builtin >s xml:>s >txt xml:>txt parse xml:parse parse-html xml:parse-html parse-stream xml:parse-stream Builtin cor t:cor cor-drop t:cor-drop curtask t:curtask def-queue t:def-queue def-stack t:def-stack
Builtin done? t:done? err! t:err! err? t:err? errno? t:errno? getq t:getq handler t:handler handler@ t:handler@
Builtin kill t:kill list t:list main t:main max-exceptions t:max-exceptions name! t:name! name@ t:name@
Builtin notify t:notify parent t:parent pop t:pop priority t:priority push t:push q-notify t:q-notify
Builtin q-wait t:q-wait qlen t:qlen result t:result set-affinity t:set-affinity setq t:setq start t:start
Builtin task t:task task-n t:task-n task-stop t:task-stop wait t:wait yield t:yield yield! t:yield!
Builtin add tree:add binary tree:binary bk tree:bk btree tree:btree cmp! tree:cmp! data tree:data del tree:del
Builtin find tree:find iter tree:iter next tree:next nodes tree:nodes parent tree:parent parse tree:parse
Builtin prev tree:prev root tree:root search tree:search trie tree:trie ! w:! (is) w:(is) @ w:@ alias: w:alias:
Builtin cb w:cb deprecate w:deprecate dlcall w:dlcall dlopen w:dlopen dlsym w:dlsym exec w:exec exec? w:exec?
Builtin ffifail w:ffifail find w:find forget w:forget is w:is name w:name undo w:undo >s xml:>s >txt xml:>txt
Builtin md-init xml:md-init md-parse xml:md-parse parse xml:parse parse-html xml:parse-html parse-stream xml:parse-stream
Builtin getmsg[] zmq:getmsg[] sendmsg[] zmq:sendmsg[] Builtin getmsg[] zmq:getmsg[] sendmsg[] zmq:sendmsg[]
" numbers " numbers
syn keyword eighthMath decimal hex base@ base! syn keyword eighthMath decimal hex base@ base!
syn match eighthInteger '\<-\=[0-9.]*[0-9.]\+\>' syn match eighthInteger '\<-\=[0-9.]*[0-9.]\+\>'
" recognize hex and binary numbers, the '$' and '%' notation is for eighth " recognize hex and binary numbers, the '$' and '%' notation is for eighth
syn match eighthInteger '\<\$\x*\x\+\>' " *1* --- dont't mess syn match eighthInteger '\<\$\x*\x\+\>' " *1* --- dont't mess
syn match eighthInteger '\<\x*\d\x*\>' " *2* --- this order! syn match eighthInteger '\<\x*\d\x*\>' " *2* --- this order!
@@ -287,17 +360,14 @@ syn keyword jsonBool /\(true\|false\)/
syn region eighthString start=/\<"/ end=/"\>/ syn region eighthString start=/\<"/ end=/"\>/
syn match jsonObjEntry /"\"[^"]\+\"\ze\s*:/ syn match jsonObjEntry /"\"[^"]\+\"\ze\s*:/
"syn region jsonObject start=/{/ end=/}/ contained contains=jsonObjEntry,jsonArray,jsonObject, jsonBool, eighthString
"syn region jsonArray start=/\[/ end=/\]/ contained contains=jsonArray,jsonObject, jsonBool, eighthString
" Include files " Include files
" syn match eighthInclude '\<\(libinclude\|include\|needs\)\s\+\S\+'
syn region eighthComment start="\zs\\" end="$" contains=eighthTodo syn region eighthComment start="\zs\\" end="$" contains=eighthTodo
" Define the default highlighting. " Define the default highlighting.
if !exists("did_eighth_syntax_inits") if !exists("did_eighth_syntax_inits")
let did_eighth_syntax_inits=1 let did_eighth_syntax_inits=1
" The default methods for highlighting. Can be overridden later.
" The default methods for highlighting. Can be overriden later.
hi def link eighthTodo Todo hi def link eighthTodo Todo
hi def link eighthOperators Operator hi def link eighthOperators Operator
hi def link eighthMath Number hi def link eighthMath Number
@@ -324,7 +394,6 @@ if !exists("did_eighth_syntax_inits")
hi def link eighthBuiltin Define hi def link eighthBuiltin Define
hi def link eighthClasses Define hi def link eighthClasses Define
hi def link eighthClassWord Keyword hi def link eighthClassWord Keyword
hi def link jsonObject Delimiter hi def link jsonObject Delimiter
hi def link jsonObjEntry Label hi def link jsonObjEntry Label
hi def link jsonArray Special hi def link jsonArray Special
@@ -336,4 +405,4 @@ let b:current_syntax = "8th"
let &cpo = s:cpo_save let &cpo = s:cpo_save
unlet s:cpo_save unlet s:cpo_save
" vim: ts=8:sw=4:nocindent:smartindent: " vim: ft=vim:ts=8:sw=4:nocindent:smartindent:

View File

@@ -63,7 +63,7 @@ syn region abelSpecifier start='istype' end=';' contains=abelTypeIdChar,abelType
syn match abelTypeIdChar "[,']" contained syn match abelTypeIdChar "[,']" contained
syn match abelTypeIdEnd ";" contained syn match abelTypeIdEnd ";" contained
" string contstants and special characters within them " string constants and special characters within them
syn match abelSpecial contained "\\['\\]" syn match abelSpecial contained "\\['\\]"
syn region abelString start=+'+ skip=+\\"+ end=+'+ contains=abelSpecial syn region abelString start=+'+ skip=+\\"+ end=+'+ contains=abelSpecial

View File

@@ -163,7 +163,7 @@ endif
" Section: end {{{1 " Section: end {{{1
" Unless special ("end loop", "end if", etc.), "end" marks the end of a " Unless special ("end loop", "end if", etc.), "end" marks the end of a
" begin, package, task etc. Assiging it to adaEnd. " begin, package, task etc. Assigning it to adaEnd.
syntax match adaEnd /\<end\>/ syntax match adaEnd /\<end\>/
syntax keyword adaPreproc pragma syntax keyword adaPreproc pragma

View File

@@ -42,7 +42,7 @@ syn keyword ahdlMegafunction lpm_rom lpm_dff lpm_tff clklock pll ntsc
syn keyword ahdlTodo contained TODO syn keyword ahdlTodo contained TODO
" String contstants " String constants
syn region ahdlString start=+"+ skip=+\\"+ end=+"+ syn region ahdlString start=+"+ skip=+\\"+ end=+"+
" valid integer number formats (decimal, binary, octal, hex) " valid integer number formats (decimal, binary, octal, hex)

View File

@@ -38,7 +38,7 @@ syn match AspVBSVariableComplex contained "\<\(arr\|ary\|obj\)\u\w*"
" Functions and methods that are in VB but will cause errors in an ASP page " Functions and methods that are in VB but will cause errors in an ASP page
" This is helpfull if your porting VB code to ASP " This is helpful if your porting VB code to ASP
" I removed (Count, Item) because these are common variable names in AspVBScript " I removed (Count, Item) because these are common variable names in AspVBScript
syn keyword AspVBSError contained Val Str CVar CVDate DoEvents GoSub Return GoTo syn keyword AspVBSError contained Val Str CVar CVDate DoEvents GoSub Return GoTo
syn keyword AspVBSError contained Stop LinkExecute Add Type LinkPoke syn keyword AspVBSError contained Stop LinkExecute Add Type LinkPoke
@@ -60,7 +60,7 @@ syn match AspVBSError contained "\<Option\s\+\(Base\|Compare\|Private\s\+Module\
syn match AspVBSError contained "Respon\?ce\.\S*" syn match AspVBSError contained "Respon\?ce\.\S*"
syn match AspVBSError contained "Respose\.\S*" syn match AspVBSError contained "Respose\.\S*"
" When I looked up the VBScript syntax it mentioned that Property Get/Set/Let " When I looked up the VBScript syntax it mentioned that Property Get/Set/Let
" statements are illegal, however, I have recived reports that they do work. " statements are illegal, however, I have received reports that they do work.
" So I commented it out for now. " So I commented it out for now.
" syn match AspVBSError contained "\<Property\s\+\(Get\|Let\|Set\)\>" " syn match AspVBSError contained "\<Property\s\+\(Get\|Let\|Set\)\>"
@@ -112,7 +112,7 @@ syn match AspVBSMethods contained "Response\.\w*"
" Colorize boolean constants: " Colorize boolean constants:
syn keyword AspVBSMethods contained true false syn keyword AspVBSMethods contained true false
" AspVBScript Number Contstants " AspVBScript Number Constants
" Integer number, or floating point number without a dot. " Integer number, or floating point number without a dot.
syn match AspVBSNumber contained "\<\d\+\>" syn match AspVBSNumber contained "\<\d\+\>"
" Floating point number, with dot " Floating point number, with dot
@@ -120,7 +120,7 @@ syn match AspVBSNumber contained "\<\d\+\.\d*\>"
" Floating point number, starting with a dot " Floating point number, starting with a dot
syn match AspVBSNumber contained "\.\d\+\>" syn match AspVBSNumber contained "\.\d\+\>"
" String and Character Contstants " String and Character Constants
" removed (skip=+\\\\\|\\"+) because VB doesn't have backslash escaping in " removed (skip=+\\\\\|\\"+) because VB doesn't have backslash escaping in
" strings (or does it?) " strings (or does it?)
syn region AspVBSString contained start=+"+ end=+"+ keepend syn region AspVBSString contained start=+"+ end=+"+ keepend
@@ -147,7 +147,7 @@ syn cluster AspVBScriptTop contains=AspVBSStatement,AspVBSFunction,AspVBSMethods
syn region AspVBSFold start="^\s*\(class\)\s\+.*$" end="^\s*end\s\+\(class\)\>.*$" fold contained transparent keepend syn region AspVBSFold start="^\s*\(class\)\s\+.*$" end="^\s*end\s\+\(class\)\>.*$" fold contained transparent keepend
syn region AspVBSFold start="^\s*\(private\|public\)\=\(\s\+default\)\=\s\+\(sub\|function\)\s\+.*$" end="^\s*end\s\+\(function\|sub\)\>.*$" fold contained transparent keepend syn region AspVBSFold start="^\s*\(private\|public\)\=\(\s\+default\)\=\s\+\(sub\|function\)\s\+.*$" end="^\s*end\s\+\(function\|sub\)\>.*$" fold contained transparent keepend
" Define AspVBScript delimeters " Define AspVBScript delimiters
" <%= func("string_with_%>_in_it") %> This is illegal in ASP syntax. " <%= func("string_with_%>_in_it") %> This is illegal in ASP syntax.
syn region AspVBScriptInsideHtmlTags keepend matchgroup=Delimiter start=+<%=\=+ end=+%>+ contains=@AspVBScriptTop, AspVBSFold syn region AspVBScriptInsideHtmlTags keepend matchgroup=Delimiter start=+<%=\=+ end=+%>+ contains=@AspVBScriptTop, AspVBSFold
syn region AspVBScriptInsideHtmlTags keepend matchgroup=Delimiter start=+<script\s\+language="\=vbscript"\=[^>]*\s\+runatserver[^>]*>+ end=+</script>+ contains=@AspVBScriptTop syn region AspVBScriptInsideHtmlTags keepend matchgroup=Delimiter start=+<script\s\+language="\=vbscript"\=[^>]*\s\+runatserver[^>]*>+ end=+</script>+ contains=@AspVBScriptTop

View File

@@ -9,6 +9,7 @@ endif
" Authored By: Riccardo Casini <ric@libero.it> " Authored By: Riccardo Casini <ric@libero.it>
" Script URL: http://www.vim.org/scripts/script.php?script_id=1239 " Script URL: http://www.vim.org/scripts/script.php?script_id=1239
" ChangeLog: Please visit the script URL for detailed change information " ChangeLog: Please visit the script URL for detailed change information
" Included change from #970.
" Quit when a syntax file was already loaded. " Quit when a syntax file was already loaded.
if exists("b:current_syntax") if exists("b:current_syntax")
@@ -936,7 +937,7 @@ syn match autoitConst "\$SD_POWERDOWN"
" constants - string " constants - string
syn match autoitConst "\$STR_NOCASESENSE" syn match autoitConst "\$STR_NOCASESENSE"
syn match autoitConst "\$STR_CASESENSE" syn match autoitConst "\$STR_CASESENSE"
syn match autoitConst "\STR_STRIPLEADING" syn match autoitConst "\$STR_STRIPLEADING"
syn match autoitConst "\$STR_STRIPTRAILING" syn match autoitConst "\$STR_STRIPTRAILING"
syn match autoitConst "\$STR_STRIPSPACES" syn match autoitConst "\$STR_STRIPSPACES"
syn match autoitConst "\$STR_STRIPALL" syn match autoitConst "\$STR_STRIPALL"

View File

@@ -22,7 +22,7 @@ syntax match typescriptProp contained /\K\k*!\?/
\ nextgroup=@afterIdentifier \ nextgroup=@afterIdentifier
\ skipwhite skipempty \ skipwhite skipempty
syntax region typescriptIndexExpr contained matchgroup=typescriptProperty start=/\[/rs=s+1 end=/]/he=e-1 contains=@typescriptValue,typescriptCastKeyword nextgroup=@typescriptSymbols,typescriptDotNotation,typescriptFuncCallArg skipwhite skipempty syntax region typescriptIndexExpr contained matchgroup=typescriptProperty start=/\[/ end=/]/ contains=@typescriptValue,typescriptCastKeyword nextgroup=@typescriptSymbols,typescriptDotNotation,typescriptFuncCallArg skipwhite skipempty
syntax match typescriptDotNotation /\.\|?\.\|!\./ nextgroup=typescriptProp skipnl syntax match typescriptDotNotation /\.\|?\.\|!\./ nextgroup=typescriptProp skipnl
syntax match typescriptDotStyleNotation /\.style\./ nextgroup=typescriptDOMStyle transparent syntax match typescriptDotStyleNotation /\.style\./ nextgroup=typescriptDOMStyle transparent

Some files were not shown because too many files have changed in this diff Show More