diff options
240 files changed, 14187 insertions, 9005 deletions
diff --git a/.gitignore b/.gitignore index 61b96c158f..ddbcc9c60d 100644 --- a/.gitignore +++ b/.gitignore @@ -5,7 +5,6 @@ /.deps/ /tmp/ -*.orig *.mo .*.sw? *~ diff --git a/CMakeLists.txt b/CMakeLists.txt index e0daea5969..cad3ea6786 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -64,13 +64,13 @@ set_property(CACHE CMAKE_BUILD_TYPE PROPERTY # version string, else they are combined with the result of `git describe`. set(NVIM_VERSION_MAJOR 0) set(NVIM_VERSION_MINOR 2) -set(NVIM_VERSION_PATCH 1) +set(NVIM_VERSION_PATCH 3) set(NVIM_VERSION_PRERELEASE "-dev") # for package maintainers # API level set(NVIM_API_LEVEL 3) # Bump this after any API change. set(NVIM_API_LEVEL_COMPAT 0) # Adjust this after a _breaking_ API change. -set(NVIM_API_PRERELEASE true) +set(NVIM_API_PRERELEASE false) file(TO_CMAKE_PATH ${CMAKE_CURRENT_LIST_DIR}/.git FORCED_GIT_DIR) include(GetGitRevisionDescription) diff --git a/runtime/CMakeLists.txt b/runtime/CMakeLists.txt index f81d8541b5..6dbe049232 100644 --- a/runtime/CMakeLists.txt +++ b/runtime/CMakeLists.txt @@ -137,6 +137,7 @@ endforeach() file(GLOB_RECURSE RUNTIME_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} + rgb.txt *.vim *.dict *.py *.rb *.ps *.tutor) foreach(F ${RUNTIME_FILES}) diff --git a/runtime/autoload/ada.vim b/runtime/autoload/ada.vim index ce3a19369a..d04feb9250 100644 --- a/runtime/autoload/ada.vim +++ b/runtime/autoload/ada.vim @@ -591,7 +591,7 @@ function ada#Map_Menu (Text, Keys, Command) \" :" . a:Command execute \ "inoremap <buffer>" . - \ " <Learder>a" . a:Keys . + \ " <Leader>a" . a:Keys . \" <C-O>:" . a:Command endif return diff --git a/runtime/autoload/health.vim b/runtime/autoload/health.vim index b076f2456b..53d45afc2e 100644 --- a/runtime/autoload/health.vim +++ b/runtime/autoload/health.vim @@ -3,20 +3,20 @@ function! s:enhance_syntax() abort syntax keyword healthError ERROR[:] \ containedin=markdownCodeBlock,mkdListItemLine - highlight link healthError Error + highlight default link healthError Error syntax keyword healthWarning WARNING[:] \ containedin=markdownCodeBlock,mkdListItemLine - highlight link healthWarning WarningMsg + highlight default link healthWarning WarningMsg syntax keyword healthSuccess OK[:] \ containedin=markdownCodeBlock,mkdListItemLine - highlight healthSuccess guibg=#5fff00 guifg=#080808 ctermbg=82 ctermfg=232 + highlight default healthSuccess guibg=#5fff00 guifg=#080808 ctermbg=82 ctermfg=232 syntax match healthHelp "|.\{-}|" contains=healthBar \ containedin=markdownCodeBlock,mkdListItemLine syntax match healthBar "|" contained conceal - highlight link healthHelp Identifier + highlight default link healthHelp Identifier " We do not care about markdown syntax errors in :checkhealth output. highlight! link markdownError Normal diff --git a/runtime/autoload/health/nvim.vim b/runtime/autoload/health/nvim.vim index 7f6e943dc9..58033f0405 100644 --- a/runtime/autoload/health/nvim.vim +++ b/runtime/autoload/health/nvim.vim @@ -58,7 +58,7 @@ function! s:check_rplugin_manifest() abort let contents = join(readfile(script)) if contents =~# '\<\%(from\|import\)\s\+neovim\>' if script =~# '[\/]__init__\.py$' - let script = fnamemodify(script, ':h') + let script = tr(fnamemodify(script, ':h'), '\', '/') endif if !has_key(existing_rplugins, script) @@ -173,6 +173,11 @@ function! s:check_terminal() abort call health#report_info('key_dc (kdch1) terminfo entry: ' \ .(empty(kbs_entry) ? '? (not found)' : kdch1_entry)) endif + for env_var in ['XTERM_VERSION', 'VTE_VERSION', 'TERM_PROGRAM', 'COLORTERM', 'SSH_TTY'] + if !exists('$'.env_var) + call health#report_info(printf("$%s='%s'", env_var, eval('$'.env_var))) + endif + endfor endfunction function! health#nvim#check() abort diff --git a/runtime/autoload/health/provider.vim b/runtime/autoload/health/provider.vim index 0eaa678459..0201ed8062 100644 --- a/runtime/autoload/health/provider.vim +++ b/runtime/autoload/health/provider.vim @@ -487,9 +487,71 @@ function! s:check_ruby() abort endif endfunction +function! s:check_node() abort + call health#report_start('Node provider (optional)') + + let loaded_var = 'g:loaded_node_provider' + if exists(loaded_var) && !exists('*provider#node#Call') + call health#report_info('Disabled. '.loaded_var.'='.eval(loaded_var)) + return + endif + + if !executable('node') || !executable('npm') + call health#report_warn( + \ '`node` and `npm` must be in $PATH.', + \ ['Install Node.js and verify that `node` and `npm` commands work.']) + return + endif + call health#report_info('Node: '. s:system('node -v')) + + let host = provider#node#Detect() + if empty(host) + call health#report_warn('Missing "neovim" npm package.', + \ ['Run in shell: npm install -g neovim', + \ 'Is the npm bin directory in $PATH?']) + return + endif + call health#report_info('Host: '. host) + + let latest_npm_cmd = has('win32') ? 'cmd /c npm info neovim --json' : 'npm info neovim --json' + let latest_npm = s:system(split(latest_npm_cmd)) + if s:shell_error || empty(latest_npm) + call health#report_error('Failed to run: '. latest_npm_cmd, + \ ["Make sure you're connected to the internet.", + \ 'Are you behind a firewall or proxy?']) + return + endif + if !empty(latest_npm) + try + let pkg_data = json_decode(latest_npm) + catch /E474/ + return 'error: '.latest_npm + endtry + let latest_npm = get(get(pkg_data, 'dist-tags', {}), 'latest', 'unable to parse') + endif + + let current_npm_cmd = host .' --version' + let current_npm = s:system(current_npm_cmd) + if s:shell_error + call health#report_error('Failed to run: '. current_npm_cmd, + \ ['Report this issue with the output of: ', current_npm_cmd]) + return + endif + + if s:version_cmp(current_npm, latest_npm) == -1 + call health#report_warn( + \ printf('Package "neovim" is out-of-date. Installed: %s, latest: %s', + \ current_npm, latest_npm), + \ ['Run in shell: npm update neovim']) + else + call health#report_ok('Latest "neovim" npm is installed: '. current_npm) + endif +endfunction + function! health#provider#check() abort call s:check_clipboard() call s:check_python(2) call s:check_python(3) call s:check_ruby() + call s:check_node() endfunction diff --git a/runtime/autoload/paste.vim b/runtime/autoload/paste.vim index fcf06ecdf9..dd7b3ae54a 100644 --- a/runtime/autoload/paste.vim +++ b/runtime/autoload/paste.vim @@ -1,6 +1,6 @@ " Vim support file to help with paste mappings and menus " Maintainer: Bram Moolenaar <Bram@vim.org> -" Last Change: 2006 Jun 23 +" Last Change: 2017 Aug 30 " Define the string to use for items that are present both in Edit, Popup and " Toolbar menu. Also used in mswin.vim and macmap.vim. @@ -12,7 +12,7 @@ if has("virtualedit") let paste#paste_cmd = {'n': ":call paste#Paste()<CR>"} let paste#paste_cmd['v'] = '"-c<Esc>' . paste#paste_cmd['n'] - let paste#paste_cmd['i'] = 'x<BS><Esc>' . paste#paste_cmd['n'] . 'gi' + let paste#paste_cmd['i'] = "\<c-\>\<c-o>\"+gP" func! paste#Paste() let ove = &ve diff --git a/runtime/autoload/provider/node.vim b/runtime/autoload/provider/node.vim new file mode 100644 index 0000000000..b08ad4f316 --- /dev/null +++ b/runtime/autoload/provider/node.vim @@ -0,0 +1,80 @@ +if exists('g:loaded_node_provider') + finish +endif +let g:loaded_node_provider = 1 + +let s:job_opts = {'rpc': v:true, 'on_stderr': function('provider#stderr_collector')} + +function! provider#node#Detect() abort + return has('win32') ? exepath('neovim-node-host.cmd') : exepath('neovim-node-host') +endfunction + +function! provider#node#Prog() + return s:prog +endfunction + +function! provider#node#Require(host) abort + if s:err != '' + echoerr s:err + return + endif + + if has('win32') + let args = provider#node#Prog() + else + let args = ['node'] + + if !empty($NVIM_NODE_HOST_DEBUG) + call add(args, '--inspect-brk') + endif + + call add(args , provider#node#Prog()) + endif + + try + let channel_id = jobstart(args, s:job_opts) + if rpcrequest(channel_id, 'poll') ==# 'ok' + return channel_id + endif + catch + echomsg v:throwpoint + echomsg v:exception + for row in provider#get_stderr(channel_id) + echomsg row + endfor + endtry + finally + call provider#clear_stderr(channel_id) + endtry + throw remote#host#LoadErrorForHost(a:host.orig_name, '$NVIM_NODE_LOG_FILE') +endfunction + +function! provider#node#Call(method, args) + if s:err != '' + echoerr s:err + return + endif + + if !exists('s:host') + try + let s:host = remote#host#Require('node') + catch + let s:err = v:exception + echohl WarningMsg + echomsg v:exception + echohl None + return + endtry + endif + return call('rpcrequest', insert(insert(a:args, 'node_'.a:method), s:host)) +endfunction + + +let s:err = '' +let s:prog = provider#node#Detect() + +if empty(s:prog) + let s:err = 'Cannot find the "neovim" node package. Try :CheckHealth' +endif + +call remote#host#RegisterPlugin('node-provider', 'node', []) diff --git a/runtime/autoload/provider/ruby.vim b/runtime/autoload/provider/ruby.vim index 7df3500267..518a9dc793 100644 --- a/runtime/autoload/provider/ruby.vim +++ b/runtime/autoload/provider/ruby.vim @@ -19,7 +19,7 @@ function! provider#ruby#Detect() abort if exists("g:ruby_host_prog") return g:ruby_host_prog else - return exepath('neovim-ruby-host') + return has('win32') ? exepath('neovim-ruby-host.cmd') : exepath('neovim-ruby-host') end endfunction diff --git a/runtime/autoload/remote/host.vim b/runtime/autoload/remote/host.vim index e695fb7df7..dfaab7d246 100644 --- a/runtime/autoload/remote/host.vim +++ b/runtime/autoload/remote/host.vim @@ -199,3 +199,7 @@ call remote#host#Register('python3', '*', " Ruby call remote#host#Register('ruby', '*.rb', \ function('provider#ruby#Require')) + +" nodejs +call remote#host#Register('node', '*', + \ function('provider#node#Require')) diff --git a/runtime/autoload/rust.vim b/runtime/autoload/rust.vim new file mode 100644 index 0000000000..34a3b41773 --- /dev/null +++ b/runtime/autoload/rust.vim @@ -0,0 +1,415 @@ +" Author: Kevin Ballard +" Description: Helper functions for Rust commands/mappings +" Last Modified: May 27, 2014 +" For bugs, patches and license go to https://github.com/rust-lang/rust.vim + +" Jump {{{1 + +function! rust#Jump(mode, function) range + let cnt = v:count1 + normal! m' + if a:mode ==# 'v' + norm! gv + endif + let foldenable = &foldenable + set nofoldenable + while cnt > 0 + execute "call <SID>Jump_" . a:function . "()" + let cnt = cnt - 1 + endwhile + let &foldenable = foldenable +endfunction + +function! s:Jump_Back() + call search('{', 'b') + keepjumps normal! w99[{ +endfunction + +function! s:Jump_Forward() + normal! j0 + call search('{', 'b') + keepjumps normal! w99[{% + call search('{') +endfunction + +" Run {{{1 + +function! rust#Run(bang, args) + let args = s:ShellTokenize(a:args) + if a:bang + let idx = index(l:args, '--') + if idx != -1 + let rustc_args = idx == 0 ? [] : l:args[:idx-1] + let args = l:args[idx+1:] + else + let rustc_args = l:args + let args = [] + endif + else + let rustc_args = [] + endif + + let b:rust_last_rustc_args = l:rustc_args + let b:rust_last_args = l:args + + call s:WithPath(function("s:Run"), rustc_args, args) +endfunction + +function! s:Run(dict, rustc_args, args) + let exepath = a:dict.tmpdir.'/'.fnamemodify(a:dict.path, ':t:r') + if has('win32') + let exepath .= '.exe' + endif + + let relpath = get(a:dict, 'tmpdir_relpath', a:dict.path) + let rustc_args = [relpath, '-o', exepath] + a:rustc_args + + let rustc = exists("g:rustc_path") ? g:rustc_path : "rustc" + + let pwd = a:dict.istemp ? a:dict.tmpdir : '' + let output = s:system(pwd, shellescape(rustc) . " " . join(map(rustc_args, 'shellescape(v:val)'))) + if output != '' + echohl WarningMsg + echo output + echohl None + endif + if !v:shell_error + exe '!' . shellescape(exepath) . " " . join(map(a:args, 'shellescape(v:val)')) + endif +endfunction + +" Expand {{{1 + +function! rust#Expand(bang, args) + let args = s:ShellTokenize(a:args) + if a:bang && !empty(l:args) + let pretty = remove(l:args, 0) + else + let pretty = "expanded" + endif + call s:WithPath(function("s:Expand"), pretty, args) +endfunction + +function! s:Expand(dict, pretty, args) + try + let rustc = exists("g:rustc_path") ? g:rustc_path : "rustc" + + if a:pretty =~? '^\%(everybody_loops$\|flowgraph=\)' + let flag = '--xpretty' + else + let flag = '--pretty' + endif + let relpath = get(a:dict, 'tmpdir_relpath', a:dict.path) + let args = [relpath, '-Z', 'unstable-options', l:flag, a:pretty] + a:args + let pwd = a:dict.istemp ? a:dict.tmpdir : '' + let output = s:system(pwd, shellescape(rustc) . " " . join(map(args, 'shellescape(v:val)'))) + if v:shell_error + echohl WarningMsg + echo output + echohl None + else + new + silent put =output + 1 + d + setl filetype=rust + setl buftype=nofile + setl bufhidden=hide + setl noswapfile + " give the buffer a nice name + let suffix = 1 + let basename = fnamemodify(a:dict.path, ':t:r') + while 1 + let bufname = basename + if suffix > 1 | let bufname .= ' ('.suffix.')' | endif + let bufname .= '.pretty.rs' + if bufexists(bufname) + let suffix += 1 + continue + endif + exe 'silent noautocmd keepalt file' fnameescape(bufname) + break + endwhile + endif + endtry +endfunction + +function! rust#CompleteExpand(lead, line, pos) + if a:line[: a:pos-1] =~ '^RustExpand!\s*\S*$' + " first argument and it has a ! + let list = ["normal", "expanded", "typed", "expanded,identified", "flowgraph=", "everybody_loops"] + if !empty(a:lead) + call filter(list, "v:val[:len(a:lead)-1] == a:lead") + endif + return list + endif + + return glob(escape(a:lead, "*?[") . '*', 0, 1) +endfunction + +" Emit {{{1 + +function! rust#Emit(type, args) + let args = s:ShellTokenize(a:args) + call s:WithPath(function("s:Emit"), a:type, args) +endfunction + +function! s:Emit(dict, type, args) + try + let output_path = a:dict.tmpdir.'/output' + + let rustc = exists("g:rustc_path") ? g:rustc_path : "rustc" + + let relpath = get(a:dict, 'tmpdir_relpath', a:dict.path) + let args = [relpath, '--emit', a:type, '-o', output_path] + a:args + let pwd = a:dict.istemp ? a:dict.tmpdir : '' + let output = s:system(pwd, shellescape(rustc) . " " . join(map(args, 'shellescape(v:val)'))) + if output != '' + echohl WarningMsg + echo output + echohl None + endif + if !v:shell_error + new + exe 'silent keepalt read' fnameescape(output_path) + 1 + d + if a:type == "llvm-ir" + setl filetype=llvm + let extension = 'll' + elseif a:type == "asm" + setl filetype=asm + let extension = 's' + endif + setl buftype=nofile + setl bufhidden=hide + setl noswapfile + if exists('l:extension') + " give the buffer a nice name + let suffix = 1 + let basename = fnamemodify(a:dict.path, ':t:r') + while 1 + let bufname = basename + if suffix > 1 | let bufname .= ' ('.suffix.')' | endif + let bufname .= '.'.extension + if bufexists(bufname) + let suffix += 1 + continue + endif + exe 'silent noautocmd keepalt file' fnameescape(bufname) + break + endwhile + endif + endif + endtry +endfunction + +" Utility functions {{{1 + +" Invokes func(dict, ...) +" Where {dict} is a dictionary with the following keys: +" 'path' - The path to the file +" 'tmpdir' - The path to a temporary directory that will be deleted when the +" function returns. +" 'istemp' - 1 if the path is a file inside of {dict.tmpdir} or 0 otherwise. +" If {istemp} is 1 then an additional key is provided: +" 'tmpdir_relpath' - The {path} relative to the {tmpdir}. +" +" {dict.path} may be a path to a file inside of {dict.tmpdir} or it may be the +" existing path of the current buffer. If the path is inside of {dict.tmpdir} +" then it is guaranteed to have a '.rs' extension. +function! s:WithPath(func, ...) + let buf = bufnr('') + let saved = {} + let dict = {} + try + let saved.write = &write + set write + let dict.path = expand('%') + let pathisempty = empty(dict.path) + + " Always create a tmpdir in case the wrapped command wants it + let dict.tmpdir = tempname() + call mkdir(dict.tmpdir) + + if pathisempty || !saved.write + let dict.istemp = 1 + " if we're doing this because of nowrite, preserve the filename + if !pathisempty + let filename = expand('%:t:r').".rs" + else + let filename = 'unnamed.rs' + endif + let dict.tmpdir_relpath = filename + let dict.path = dict.tmpdir.'/'.filename + + let saved.mod = &mod + set nomod + + silent exe 'keepalt write! ' . fnameescape(dict.path) + if pathisempty + silent keepalt 0file + endif + else + let dict.istemp = 0 + update + endif + + call call(a:func, [dict] + a:000) + finally + if bufexists(buf) + for [opt, value] in items(saved) + silent call setbufvar(buf, '&'.opt, value) + unlet value " avoid variable type mismatches + endfor + endif + if has_key(dict, 'tmpdir') | silent call s:RmDir(dict.tmpdir) | endif + endtry +endfunction + +function! rust#AppendCmdLine(text) + call setcmdpos(getcmdpos()) + let cmd = getcmdline() . a:text + return cmd +endfunction + +" Tokenize the string according to sh parsing rules +function! s:ShellTokenize(text) + " states: + " 0: start of word + " 1: unquoted + " 2: unquoted backslash + " 3: double-quote + " 4: double-quoted backslash + " 5: single-quote + let l:state = 0 + let l:current = '' + let l:args = [] + for c in split(a:text, '\zs') + if l:state == 0 || l:state == 1 " unquoted + if l:c ==# ' ' + if l:state == 0 | continue | endif + call add(l:args, l:current) + let l:current = '' + let l:state = 0 + elseif l:c ==# '\' + let l:state = 2 + elseif l:c ==# '"' + let l:state = 3 + elseif l:c ==# "'" + let l:state = 5 + else + let l:current .= l:c + let l:state = 1 + endif + elseif l:state == 2 " unquoted backslash + if l:c !=# "\n" " can it even be \n? + let l:current .= l:c + endif + let l:state = 1 + elseif l:state == 3 " double-quote + if l:c ==# '\' + let l:state = 4 + elseif l:c ==# '"' + let l:state = 1 + else + let l:current .= l:c + endif + elseif l:state == 4 " double-quoted backslash + if stridx('$`"\', l:c) >= 0 + let l:current .= l:c + elseif l:c ==# "\n" " is this even possible? + " skip it + else + let l:current .= '\'.l:c + endif + let l:state = 3 + elseif l:state == 5 " single-quoted + if l:c == "'" + let l:state = 1 + else + let l:current .= l:c + endif + endif + endfor + if l:state != 0 + call add(l:args, l:current) + endif + return l:args +endfunction + +function! s:RmDir(path) + " sanity check; make sure it's not empty, /, or $HOME + if empty(a:path) + echoerr 'Attempted to delete empty path' + return 0 + elseif a:path == '/' || a:path == $HOME + echoerr 'Attempted to delete protected path: ' . a:path + return 0 + endif + return system("rm -rf " . shellescape(a:path)) +endfunction + +" Executes {cmd} with the cwd set to {pwd}, without changing Vim's cwd. +" If {pwd} is the empty string then it doesn't change the cwd. +function! s:system(pwd, cmd) + let cmd = a:cmd + if !empty(a:pwd) + let cmd = 'cd ' . shellescape(a:pwd) . ' && ' . cmd + endif + return system(cmd) +endfunction + +" Playpen Support {{{1 +" Parts of gist.vim by Yasuhiro Matsumoto <mattn.jp@gmail.com> reused +" gist.vim available under the BSD license, available at +" http://github.com/mattn/gist-vim +function! s:has_webapi() + if !exists("*webapi#http#post") + try + call webapi#http#post() + catch + endtry + endif + return exists("*webapi#http#post") +endfunction + +function! rust#Play(count, line1, line2, ...) abort + redraw + + let l:rust_playpen_url = get(g:, 'rust_playpen_url', 'https://play.rust-lang.org/') + let l:rust_shortener_url = get(g:, 'rust_shortener_url', 'https://is.gd/') + + if !s:has_webapi() + echohl ErrorMsg | echomsg ':RustPlay depends on webapi.vim (https://github.com/mattn/webapi-vim)' | echohl None + return + endif + + let bufname = bufname('%') + if a:count < 1 + let content = join(getline(a:line1, a:line2), "\n") + else + let save_regcont = @" + let save_regtype = getregtype('"') + silent! normal! gvy + let content = @" + call setreg('"', save_regcont, save_regtype) + endif + + let body = l:rust_playpen_url."?code=".webapi#http#encodeURI(content) + + if strlen(body) > 5000 + echohl ErrorMsg | echomsg 'Buffer too large, max 5000 encoded characters ('.strlen(body).')' | echohl None + return + endif + + let payload = "format=simple&url=".webapi#http#encodeURI(body) + let res = webapi#http#post(l:rust_shortener_url.'create.php', payload, {}) + let url = res.content + + redraw | echomsg 'Done: '.url +endfunction + +" }}}1 + +" vim: set noet sw=8 ts=8: diff --git a/runtime/autoload/rustfmt.vim b/runtime/autoload/rustfmt.vim new file mode 100644 index 0000000000..a689b5e00d --- /dev/null +++ b/runtime/autoload/rustfmt.vim @@ -0,0 +1,107 @@ +" Author: Stephen Sugden <stephen@stephensugden.com> +" +" Adapted from https://github.com/fatih/vim-go +" For bugs, patches and license go to https://github.com/rust-lang/rust.vim + +if !exists("g:rustfmt_autosave") + let g:rustfmt_autosave = 0 +endif + +if !exists("g:rustfmt_command") + let g:rustfmt_command = "rustfmt" +endif + +if !exists("g:rustfmt_options") + let g:rustfmt_options = "" +endif + +if !exists("g:rustfmt_fail_silently") + let g:rustfmt_fail_silently = 0 +endif + +let s:got_fmt_error = 0 + +function! s:RustfmtCommandRange(filename, line1, line2) + let l:arg = {"file": shellescape(a:filename), "range": [a:line1, a:line2]} + return printf("%s %s --write-mode=overwrite --file-lines '[%s]'", g:rustfmt_command, g:rustfmt_options, json_encode(l:arg)) +endfunction + +function! s:RustfmtCommand(filename) + return g:rustfmt_command . " --write-mode=overwrite " . g:rustfmt_options . " " . shellescape(a:filename) +endfunction + +function! s:RunRustfmt(command, curw, tmpname) + if exists("*systemlist") + let out = systemlist(a:command) + else + let out = split(system(a:command), '\r\?\n') + endif + + if v:shell_error == 0 || v:shell_error == 3 + " remove undo point caused via BufWritePre + try | silent undojoin | catch | endtry + + " Replace current file with temp file, then reload buffer + call rename(a:tmpname, expand('%')) + silent edit! + let &syntax = &syntax + + " only clear location list if it was previously filled to prevent + " clobbering other additions + if s:got_fmt_error + let s:got_fmt_error = 0 + call setloclist(0, []) + lwindow + endif + elseif g:rustfmt_fail_silently == 0 + " otherwise get the errors and put them in the location list + let errors = [] + + for line in out + " src/lib.rs:13:5: 13:10 error: expected `,`, or `}`, found `value` + let tokens = matchlist(line, '^\(.\{-}\):\(\d\+\):\(\d\+\):\s*\(\d\+:\d\+\s*\)\?\s*error: \(.*\)') + if !empty(tokens) + call add(errors, {"filename": @%, + \"lnum": tokens[2], + \"col": tokens[3], + \"text": tokens[5]}) + endif + endfor + + if empty(errors) + % | " Couldn't detect rustfmt error format, output errors + endif + + if !empty(errors) + call setloclist(0, errors, 'r') + echohl Error | echomsg "rustfmt returned error" | echohl None + endif + + let s:got_fmt_error = 1 + lwindow + " We didn't use the temp file, so clean up + call delete(a:tmpname) + endif + + call winrestview(a:curw) +endfunction + +function! rustfmt#FormatRange(line1, line2) + let l:curw = winsaveview() + let l:tmpname = expand("%:p:h") . "/." . expand("%:p:t") . ".rustfmt" + call writefile(getline(1, '$'), l:tmpname) + + let command = s:RustfmtCommandRange(l:tmpname, a:line1, a:line2) + + call s:RunRustfmt(command, l:curw, l:tmpname) +endfunction + +function! rustfmt#Format() + let l:curw = winsaveview() + let l:tmpname = expand("%:p:h") . "/." . expand("%:p:t") . ".rustfmt" + call writefile(getline(1, '$'), l:tmpname) + + let command = s:RustfmtCommand(l:tmpname) + + call s:RunRustfmt(command, l:curw, l:tmpname) +endfunction diff --git a/runtime/autoload/spellfile.vim b/runtime/autoload/spellfile.vim index fe7113b9a4..84584c6e29 100644 --- a/runtime/autoload/spellfile.vim +++ b/runtime/autoload/spellfile.vim @@ -197,7 +197,7 @@ function! spellfile#WritableSpellDir() " Always use the $XDG_DATA_HOME/nvim/site directory if exists('$XDG_DATA_HOME') return $XDG_DATA_HOME . "/nvim/site/spell" - else + elseif !(has('win32') || has('win64')) return $HOME . "/.local/share/nvim/site/spell" endif for dir in split(&rtp, ',') diff --git a/runtime/autoload/sqlcomplete.vim b/runtime/autoload/sqlcomplete.vim index e80729add4..ea0d8c2de9 100644 --- a/runtime/autoload/sqlcomplete.vim +++ b/runtime/autoload/sqlcomplete.vim @@ -2,7 +2,7 @@ " Language: SQL " Maintainer: David Fishburn <dfishburn dot vim at gmail dot com> " Version: 16.0 -" Last Change: 2015 Dec 29 +" Last Change: 2017 Oct 15 " Homepage: http://www.vim.org/scripts/script.php?script_id=1572 " Usage: For detailed help " ":help sql.txt" diff --git a/runtime/compiler/cargo.vim b/runtime/compiler/cargo.vim new file mode 100644 index 0000000000..bd48666bc9 --- /dev/null +++ b/runtime/compiler/cargo.vim @@ -0,0 +1,35 @@ +" Vim compiler file +" Compiler: Cargo Compiler +" Maintainer: Damien Radtke <damienradtke@gmail.com> +" Latest Revision: 2014 Sep 24 +" For bugs, patches and license go to https://github.com/rust-lang/rust.vim + +if exists('current_compiler') + finish +endif +runtime compiler/rustc.vim +let current_compiler = "cargo" + +let s:save_cpo = &cpo +set cpo&vim + +if exists(':CompilerSet') != 2 + command -nargs=* CompilerSet setlocal <args> +endif + +if exists('g:cargo_makeprg_params') + execute 'CompilerSet makeprg=cargo\ '.escape(g:cargo_makeprg_params, ' \|"').'\ $*' +else + CompilerSet makeprg=cargo\ $* +endif + +" Ignore general cargo progress messages +CompilerSet errorformat+= + \%-G%\\s%#Downloading%.%#, + \%-G%\\s%#Compiling%.%#, + \%-G%\\s%#Finished%.%#, + \%-G%\\s%#error:\ Could\ not\ compile\ %.%#, + \%-G%\\s%#To\ learn\ more\\,%.%# + +let &cpo = s:save_cpo +unlet s:save_cpo diff --git a/runtime/compiler/rst.vim b/runtime/compiler/rst.vim index c34bd3ba81..392bea6ae0 100644 --- a/runtime/compiler/rst.vim +++ b/runtime/compiler/rst.vim @@ -1,7 +1,8 @@ " Vim compiler file -" Compiler: reStructuredText Documentation Format +" Compiler: sphinx >= 1.0.8, http://www.sphinx-doc.org +" Description: reStructuredText Documentation Format " Previous Maintainer: Nikolai Weibull <now@bitwi.se> -" Latest Revision: 2006-04-19 +" Latest Revision: 2017-03-31 if exists("current_compiler") finish @@ -11,12 +12,18 @@ let current_compiler = "rst" let s:cpo_save = &cpo set cpo&vim -setlocal errorformat= - \%f:%l:\ (%tEBUG/0)\ %m, - \%f:%l:\ (%tNFO/1)\ %m, - \%f:%l:\ (%tARNING/2)\ %m, - \%f:%l:\ (%tRROR/3)\ %m, - \%f:%l:\ (%tEVERE/3)\ %m, +if exists(":CompilerSet") != 2 + command -nargs=* CompilerSet setlocal <args> +endif + +CompilerSet errorformat= + \%f\\:%l:\ %tEBUG:\ %m, + \%f\\:%l:\ %tNFO:\ %m, + \%f\\:%l:\ %tARNING:\ %m, + \%f\\:%l:\ %tRROR:\ %m, + \%f\\:%l:\ %tEVERE:\ %m, + \%f\\:%s:\ %tARNING:\ %m, + \%f\\:%s:\ %tRROR:\ %m, \%D%*\\a[%*\\d]:\ Entering\ directory\ `%f', \%X%*\\a[%*\\d]:\ Leaving\ directory\ `%f', \%DMaking\ %*\\a\ in\ %f diff --git a/runtime/compiler/rustc.vim b/runtime/compiler/rustc.vim new file mode 100644 index 0000000000..c27bdc9c0c --- /dev/null +++ b/runtime/compiler/rustc.vim @@ -0,0 +1,46 @@ +" Vim compiler file +" Compiler: Rust Compiler +" Maintainer: Chris Morgan <me@chrismorgan.info> +" Latest Revision: 2013 Jul 12 +" For bugs, patches and license go to https://github.com/rust-lang/rust.vim + +if exists("current_compiler") + finish +endif +let current_compiler = "rustc" + +let s:cpo_save = &cpo +set cpo&vim + +if exists(":CompilerSet") != 2 + command -nargs=* CompilerSet setlocal <args> +endif + +if exists("g:rustc_makeprg_no_percent") && g:rustc_makeprg_no_percent != 0 + CompilerSet makeprg=rustc +else + CompilerSet makeprg=rustc\ \% +endif + +" Old errorformat (before nightly 2016/08/10) +CompilerSet errorformat= + \%f:%l:%c:\ %t%*[^:]:\ %m, + \%f:%l:%c:\ %*\\d:%*\\d\ %t%*[^:]:\ %m, + \%-G%f:%l\ %s, + \%-G%*[\ ]^, + \%-G%*[\ ]^%*[~], + \%-G%*[\ ]... + +" New errorformat (after nightly 2016/08/10) +CompilerSet errorformat+= + \%-G, + \%-Gerror:\ aborting\ %.%#, + \%-Gerror:\ Could\ not\ compile\ %.%#, + \%Eerror:\ %m, + \%Eerror[E%n]:\ %m, + \%Wwarning:\ %m, + \%Inote:\ %m, + \%C\ %#-->\ %f:%l:%c + +let &cpo = s:cpo_save +unlet s:cpo_save diff --git a/runtime/doc/arabic.txt b/runtime/doc/arabic.txt index 3f30d7b5bc..07350083c6 100644 --- a/runtime/doc/arabic.txt +++ b/runtime/doc/arabic.txt @@ -36,7 +36,7 @@ the user interface remains the standard Vi interface. Highlights ---------- -o Editing left-to-right files as in the original VIM hasn't changed. +o Editing left-to-right files as in the original Vim hasn't changed. o Viewing and editing files in right-to-left windows. File orientation is per window, so it is possible to view the same @@ -46,7 +46,7 @@ o No special terminal with right-to-left capabilities is required. The right-to-left changes are completely hardware independent. Only Arabic fonts are necessary. -o Compatible with the original VIM. Almost all features work in +o Compatible with the original Vim. Almost all features work in right-to-left mode (there are liable to be bugs). o Changing keyboard mapping and reverse insert modes using a single @@ -60,14 +60,14 @@ o While in Arabic mode, numbers are entered from left to right. Upon o Arabic keymapping on the command line in reverse insert mode. -o Proper Bidirectional functionality is possible given VIM is +o Proper Bidirectional functionality is possible given Vim is started within a Bidi capable terminal emulator. Arabic Fonts *arabicfonts* ------------ -VIM requires monospaced fonts of which there are many out there. +Vim requires monospaced fonts of which there are many out there. Arabic requires ISO-8859-6 as well as Presentation Form-B fonts (without Form-B, Arabic will _NOT_ be usable). It is highly recommended that users search for so-called 'ISO-10646-1' fonts. @@ -90,13 +90,13 @@ o Installation of fonts for X Window systems (Unix/Linux) Usage ----- -Prior to the actual usage of Arabic within VIM, a number of settings +Prior to the actual usage of Arabic within Vim, a number of settings need to be accounted for and invoked. o Setting the Arabic fonts - + For VIM GUI set the 'guifont' to your_ARABIC_FONT. This is done - by entering the following command in the VIM window. + + For Vim GUI set the 'guifont' to your_ARABIC_FONT. This is done + by entering the following command in the Vim window. > :set guifont=your_ARABIC_FONT < @@ -109,7 +109,7 @@ o Setting the Arabic fonts you can include ':set guifont=your_ARABIC_FONT' to your vimrc file. - + Under the X Window environment, you can also start VIM with + + Under the X Window environment, you can also start Vim with '-fn your_ARABIC_FONT' option. o Setting the appropriate character Encoding @@ -131,11 +131,11 @@ o Setting the appropriate character Encoding o Enable Arabic settings [short-cut] In order to simplify and streamline things, you can either invoke - VIM with the command-line option, + Vim with the command-line option, % vim -A my_utf8_arabic_file ... - or enable 'arabic' via the following command within VIM + or enable 'arabic' via the following command within Vim > :set arabic < @@ -196,7 +196,7 @@ o Enable Arabic settings [short-cut] + Arabic deletion of a combined pair character - By default VIM has the 'delcombine' option disabled. This option + By default Vim has the 'delcombine' option disabled. This option allows the deletion of ALEF in a LAM_ALEF (LAA) combined character and still retain the LAM (i.e. it reverts to treating the combined character as its natural two characters form -- this also pertains @@ -255,7 +255,7 @@ o Enable Arabic settings [short-cut] Keymap/Keyboard *arabickeymap* --------------- -The character/letter encoding used in VIM is the standard UTF-8. +The character/letter encoding used in Vim is the standard UTF-8. It is widely discouraged that any other encoding be used or even attempted. @@ -288,7 +288,7 @@ o Keyboard Restrictions ------------ -o VIM in its GUI form does not currently support Bi-directionality +o Vim in its GUI form does not currently support Bi-directionality (i.e. the ability to see both Arabic and Latin intermixed within the same line). diff --git a/runtime/doc/autocmd.txt b/runtime/doc/autocmd.txt index 2850c8058f..6cffbf4cb6 100644 --- a/runtime/doc/autocmd.txt +++ b/runtime/doc/autocmd.txt @@ -55,7 +55,14 @@ Note: The ":autocmd" command can only be followed by another command when the '|' appears before {cmd}. This works: > :augroup mine | au! BufRead | augroup END But this sees "augroup" as part of the defined command: > + :augroup mine | au! BufRead * | augroup END :augroup mine | au BufRead * set tw=70 | augroup END +Instead you can put the group name into the command: > + :au! mine BufRead * + :au mine BufRead * set tw=70 +Or use `:execute`: > + :augroup mine | exe "au! BufRead *" | augroup END + :augroup mine | exe "au BufRead * set tw=70" | augroup END Note that special characters (e.g., "%", "<cword>") in the ":autocmd" arguments are not expanded when the autocommand is defined. These will be @@ -605,7 +612,7 @@ FileChangedShell When Vim notices that the modification time of |timestamp| Mostly triggered after executing a shell command, but also with a |:checktime| command - or when Gvim regains input focus. + or when gvim regains input focus. This autocommand is triggered for each changed file. It is not used when 'autoread' is set and the buffer was not changed. If a @@ -616,7 +623,7 @@ FileChangedShell When Vim notices that the modification time of to tell Vim what to do next. NOTE: When this autocommand is executed, the current buffer "%" may be different from the - buffer that was changed "<afile>". + buffer that was changed, which is in "<afile>". NOTE: The commands must not change the current buffer, jump to another buffer or delete a buffer. *E246* *E811* @@ -643,7 +650,8 @@ FileType When the 'filetype' option has been set. The pattern is matched against the filetype. <afile> can be used for the name of the file where this option was set, and <amatch> for - the new value of 'filetype'. + the new value of 'filetype'. Navigating to + another window or buffer is not allowed. See |filetypes|. *FileWriteCmd* FileWriteCmd Before writing to a file, when not writing the diff --git a/runtime/doc/cmdline.txt b/runtime/doc/cmdline.txt index 4222a5b6f7..4956b9e6fe 100644 --- a/runtime/doc/cmdline.txt +++ b/runtime/doc/cmdline.txt @@ -361,7 +361,7 @@ These are the commands that can be used: *c_CTRL-D* CTRL-D List names that match the pattern in front of the cursor. When showing file names, directories are highlighted (see - 'highlight' option). Names where 'suffixes' matches are moved + |highlight-groups|). Names where 'suffixes' matches are moved to the end. The 'wildoptions' option can be set to "tagfile" to list the file of matching tags. @@ -420,6 +420,9 @@ matches exactly one character. The 'wildignorecase' option can be set to ignore case in filenames. +The 'wildmenu' option can be set to show the matches just above the command +line. + If you like tcsh's autolist completion, you can use this mapping: :cnoremap X <C-L><C-D> (Where X is the command key to use, <C-L> is CTRL-L and <C-D> is CTRL-D) @@ -778,6 +781,7 @@ Also see |`=|. *:<cword>* *:<cWORD>* *:<cfile>* *<cfile>* *:<sfile>* *<sfile>* *:<afile>* *<afile>* *:<abuf>* *<abuf>* *:<amatch>* *<amatch>* + *:<cexpr>* *<cexpr>* *<slnum>* *E495* *E496* *E497* *E499* *E500* Note: these are typed literally, they are not special keys! <cword> is replaced with the word under the cursor (like |star|) @@ -785,7 +789,8 @@ Note: these are typed literally, they are not special keys! <cfile> is replaced with the path name under the cursor (like what |gf| uses) <afile> When executing autocommands, is replaced with the file name - for a file read or write. + of the buffer being manipulated, or the file for a read or + write. <abuf> When executing autocommands, is replaced with the currently effective buffer number (for ":r file" and ":so file" it is the current buffer, the file being read/sourced is not in a diff --git a/runtime/doc/deprecated.txt b/runtime/doc/deprecated.txt index b3e2f7a92f..f3d4f16244 100644 --- a/runtime/doc/deprecated.txt +++ b/runtime/doc/deprecated.txt @@ -47,6 +47,7 @@ Modifiers ~ Options ~ *'fe'* 'fenc'+'enc' before Vim 6.0; no longer used. +*'highlight'* *'hl'* Names of builtin |highlight-groups| cannot be changed. *'langnoremap'* Deprecated alias to 'nolangremap'. *'vi'* *'viminfo'* Deprecated alias to 'shada' option. diff --git a/runtime/doc/diff.txt b/runtime/doc/diff.txt index 8cb049584a..b9dccc42a8 100644 --- a/runtime/doc/diff.txt +++ b/runtime/doc/diff.txt @@ -13,7 +13,7 @@ The basics are explained in section |08.7| of the user manual. Type |gO| to see the table of contents. ============================================================================== -1. Starting diff mode +1. Starting diff mode *start-vimdiff* To start editing in diff mode, run "nvim -d". This starts Nvim as usual, and additionally sets up for viewing the differences between the arguments. > @@ -214,8 +214,8 @@ The diffs are highlighted with these groups: (searching from the end of the line). The text in between is highlighted. This means that parts in the middle that are still the - same are highlighted anyway. Only "iwhite" of - 'diffopt' is used here. + same are highlighted anyway. The 'diffopt' + flags "iwhite" and "icase" are used here. |hl-DiffDelete| DiffDelete Deleted lines. Also called filler lines, because they don't really exist in this buffer. @@ -314,7 +314,7 @@ g:diff_translations to zero: > let g:diff_translations = 0 < -After setting this variable, Reload the syntax script: > +After setting this variable, reload the syntax script: > set syntax=diff < diff --git a/runtime/doc/editing.txt b/runtime/doc/editing.txt index 0099d14822..1b9a1b38fb 100644 --- a/runtime/doc/editing.txt +++ b/runtime/doc/editing.txt @@ -1032,6 +1032,7 @@ The names can be in upper- or lowercase. window in the current tab page the current tab page is closed |tab-page|. Triggers the |QuitPre| autocommand event. + See |CTRL-W_q| for quitting another window. :conf[irm] q[uit] Quit, but give prompt when changes have been made, or the last file in the argument list has not been @@ -1265,7 +1266,7 @@ Commands for changing the working directory can be suffixed with a bang "!" *:lc* *:lcd* :lc[d][!] {path} Like |:cd|, but only set the current directory for the current window. The current directory for other - windows or any tabs is not changed. + windows or tabs is not changed. *:lch* *:lchdir* :lch[dir][!] Same as |:lcd|. @@ -1364,6 +1365,13 @@ If you want to automatically reload a file when it has been changed outside of Vim, set the 'autoread' option. This doesn't work at the moment you write the file though, only when the file wasn't changed inside of Vim. +If you do not want to be asked or automatically reload the file, you can use +this: > + set buftype=nofile + +Or, when starting gvim from a shell: > + gvim file.log -c "set buftype=nofile" + Note that if a FileChangedShell autocommand is defined you will not get a warning message or prompt. The autocommand is expected to handle this. @@ -1534,7 +1542,7 @@ There are three different types of searching: This searches the same directories, but in a different order. Note that completion for ":find", ":sfind", and ":tabfind" commands do not - currently work with 'path' items that contain a url or use the double star + currently work with 'path' items that contain a URL or use the double star with depth limiter (/usr/**2) or upward search (;) notations. vim:tw=78:ts=8:ft=help:norl: diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt index 7bf148a833..b752667d9a 100644 --- a/runtime/doc/eval.txt +++ b/runtime/doc/eval.txt @@ -94,9 +94,8 @@ To test for a non-empty string, use empty(): > Function arguments often behave slightly different from |TRUE|: If the argument is present and it evaluates to a non-zero Number, |v:true| or a non-empty String, then the value is considered to be TRUE. -Note that " " and "0" are also non-empty strings, thus cause the mode to be -cleared. A List, Dictionary or Float is not a Number or String, thus -evaluates to FALSE. +Note that " " and "0" are also non-empty strings, thus considered to be TRUE. +A List, Dictionary or Float is not a Number or String, thus evaluate to FALSE. *E745* *E728* *E703* *E729* *E730* *E731* List, Dictionary and Funcref types are not automatically converted. @@ -782,14 +781,15 @@ Examples: "abc" == "Abc" evaluates to 1 if 'ignorecase' is set, 0 otherwise *E691* *E692* -A |List| can only be compared with a |List| and only "equal", "not equal" and -"is" can be used. This compares the values of the list, recursively. -Ignoring case means case is ignored when comparing item values. +A |List| can only be compared with a |List| and only "equal", "not equal", +"is" and "isnot" can be used. This compares the values of the list, +recursively. Ignoring case means case is ignored when comparing item values. *E735* *E736* A |Dictionary| can only be compared with a |Dictionary| and only "equal", "not -equal" and "is" can be used. This compares the key/values of the |Dictionary| -recursively. Ignoring case means case is ignored when comparing item values. +equal", "is" and "isnot" can be used. This compares the key/values of the +|Dictionary| recursively. Ignoring case means case is ignored when comparing +item values. *E694* A |Funcref| can only be compared with a |Funcref| and only "equal", "not @@ -1016,7 +1016,7 @@ When expr8 is a |Funcref| type variable, invoke the function it refers to. *expr9* number ------ -number number constant *expr-number* +number number constant *expr-number* *hex-number* *octal-number* *binary-number* Decimal, Hexadecimal (starting with 0x or 0X), Binary (starting with 0b or 0B) @@ -1474,7 +1474,6 @@ v:count The count given for the last Normal mode command. Can be used When there are two counts, as in "3d2w", they are multiplied, just like what happens in the command, "d6w" for the example. Also used for evaluating the 'formatexpr' option. - "count" also works, for backwards compatibility. *v:count1* *count1-variable* v:count1 Just like "v:count", but defaults to one when no count is @@ -1789,7 +1788,7 @@ v:servername Default Nvim server address. Equivalent to |$NVIM_LISTEN_ADDRESS| on startup. |serverstop()| Read-only. - + v:searchforward *v:searchforward* *searchforward-variable* Search direction: 1 after a forward search, 0 after a backward search. It is reset to forward when directly setting @@ -1871,7 +1870,7 @@ v:termresponse The escape sequence returned by the terminal for the DA *v:testing* *testing-variable* v:testing Must be set before using `test_garbagecollect_now()`. Also, when set certain error messages won't be shown for 2 - seconds. (e.g. "'dictionary' option is empty") + seconds. (e.g. "'dictionary' option is empty") *v:this_session* *this_session-variable* v:this_session Full filename of the last loaded or saved session file. See @@ -2031,9 +2030,9 @@ filereadable({file}) Number |TRUE| if {file} is a readable file filewritable({file}) Number |TRUE| if {file} is a writable file filter({expr1}, {expr2}) List/Dict remove items from {expr1} where {expr2} is 0 -finddir({name}[, {path}[, {count}]]) +finddir({name} [, {path} [, {count}]]) String find directory {name} in {path} -findfile({name}[, {path}[, {count}]]) +findfile({name} [, {path} [, {count}]]) String find file {name} in {path} float2nr({expr}) Number convert Float {expr} to a Number floor({expr}) Float round {expr} down @@ -2077,7 +2076,7 @@ getftime({fname}) Number last modification time of file getftype({fname}) String description of type of file {fname} getline({lnum}) String line {lnum} of current buffer getline({lnum}, {end}) List lines {lnum} to {end} of current buffer -getloclist({nr}[, {what}]) List list of location list items +getloclist({nr} [, {what}]) List list of location list items getmatches() List list of current matches getpid() Number process ID of Vim getpos({expr}) List position of cursor, mark, etc. @@ -2119,7 +2118,8 @@ index({list}, {expr} [, {start} [, {ic}]]) Number index in {list} where {expr} appears input({prompt} [, {text} [, {completion}]]) String get input from the user -inputdialog({p} [, {t} [, {c}]]) String like input() but in a GUI dialog +inputdialog({prompt} [, {text} [, {completion}]]) + String like input() but in a GUI dialog inputlist({textlist}) Number let the user pick from a choice list inputrestore() Number restore typeahead inputsave() Number save and clear typeahead @@ -2201,12 +2201,13 @@ readfile({fname} [, {binary} [, {max}]]) reltime([{start} [, {end}]]) List get time value reltimefloat({time}) Float turn the time value into a Float reltimestr({time}) String turn time value into a String -remote_expr({server}, {string} [, {idvar}]) +remote_expr({server}, {string} [, {idvar} [, {timeout}]]) String send expression remote_foreground({server}) Number bring Vim server to the foreground remote_peek({serverid} [, {retvar}]) Number check for reply string -remote_read({serverid}) String read reply string +remote_read({serverid} [, {timeout}]) + String read reply string remote_send({server}, {string} [, {idvar}]) String send key sequence remove({list}, {idx} [, {end}]) any remove items {idx}-{end} from {list} @@ -2274,22 +2275,22 @@ sqrt({expr}) Float square root of {expr} str2float({expr}) Float convert String to Float str2nr({expr} [, {base}]) Number convert String to Number strchars({expr} [, {skipcc}]) Number character length of the String {expr} -strcharpart({str}, {start}[, {len}]) +strcharpart({str}, {start} [, {len}]) String {len} characters of {str} at {start} strdisplaywidth({expr} [, {col}]) Number display length of the String {expr} -strftime({format}[, {time}]) String time in specified format +strftime({format} [, {time}]) String time in specified format strgetchar({str}, {index}) Number get char {index} from {str} -stridx({haystack}, {needle}[, {start}]) +stridx({haystack}, {needle} [, {start}]) Number index of {needle} in {haystack} string({expr}) String String representation of {expr} value strlen({expr}) Number length of the String {expr} -strpart({str}, {start}[, {len}]) +strpart({str}, {start} [, {len}]) String {len} characters of {str} at {start} strridx({haystack}, {needle} [, {start}]) Number last index of {needle} in {haystack} strtrans({expr}) String translate string to make it printable strwidth({expr}) Number display cell length of the String {expr} -submatch({nr}[, {list}]) String or List +submatch({nr} [, {list}]) String or List specific match in ":s" or substitute() substitute({expr}, {pat}, {sub}, {flags}) String all {pat} in {expr} replaced with {sub} @@ -2755,7 +2756,7 @@ changenr() *changenr()* redo it is the number of the redone change. After undo it is one less than the number of the undone change. -char2nr({expr}[, {utf8}]) *char2nr()* +char2nr({expr} [, {utf8}]) *char2nr()* Return number value of the first char in {expr}. Examples: > char2nr(" ") returns 32 char2nr("ABC") returns 65 @@ -3108,6 +3109,7 @@ did_filetype() Returns |TRUE| when autocommands are being executed and the FileType event has been triggered at least once. Can be used to avoid triggering the FileType event again in the scripts that detect the file type. |FileType| + Returns |FALSE| when `:setf FALLBACK` was used. When editing another file, the counter is reset, thus this really checks if the FileType event has been triggered for the current buffer. This allows an autocommand that starts @@ -3530,7 +3532,7 @@ filter({expr1}, {expr2}) *filter()* defined with the "abort" flag. -finddir({name}[, {path}[, {count}]]) *finddir()* +finddir({name} [, {path} [, {count}]]) *finddir()* Find directory {name} in {path}. Supports both downwards and upwards recursive directory searches. See |file-searching| for the syntax of {path}. @@ -3545,7 +3547,7 @@ finddir({name}[, {path}[, {count}]]) *finddir()* {only available when compiled with the |+file_in_path| feature} -findfile({name}[, {path}[, {count}]]) *findfile()* +findfile({name} [, {path} [, {count}]]) *findfile()* Just like |finddir()|, but find a file instead of a directory. Uses 'suffixesadd'. Example: > @@ -3712,7 +3714,7 @@ function({name} [, {arglist}] [, {dict}]) When {arglist} or {dict} is present this creates a partial. That mans the argument list and/or the dictionary is stored in the Funcref and will be used when the Funcref is called. - + The arguments are passed to the function in front of other arguments. Example: > func Callback(arg1, arg2, name) @@ -4077,13 +4079,16 @@ getcompletion({pat}, {type} [, {filtered}]) *getcompletion()* getcurpos() Get the position of the cursor. This is like getpos('.'), but includes an extra item in the list: [bufnum, lnum, col, off, curswant] ~ - The "curswant" number is the preferred column when moving the - cursor vertically. - This can be used to save and restore the cursor position: > - let save_cursor = getcurpos() - MoveTheCursorAround - call setpos('.', save_cursor) -< + The "curswant" number is the preferred column when moving the + cursor vertically. Also see |getpos()|. + + This can be used to save and restore the cursor position: > + let save_cursor = getcurpos() + MoveTheCursorAround + call setpos('.', save_cursor) +< Note that this only works within the window. See + |winrestview()| for restoring more state. + getcwd([{winnr}[, {tabnr}]]) *getcwd()* With no arguments the result is a String, which is the name of the current effective working directory. With {winnr} or @@ -4381,11 +4386,13 @@ gettabwinvar({tabnr}, {winnr}, {varname} [, {def}]) *gettabwinvar()* getwinposx() The result is a Number, which is the X coordinate in pixels of the left hand side of the GUI Vim window. The result will be -1 if the information is not available. + The value can be used with `:winpos`. *getwinposy()* getwinposy() The result is a Number, which is the Y coordinate in pixels of the top of the GUI Vim window. The result will be -1 if the information is not available. + The value can be used with `:winpos`. getwininfo([{winid}]) *getwininfo()* Returns information about windows as a List with Dictionaries. @@ -4399,7 +4406,9 @@ getwininfo([{winid}]) *getwininfo()* Each List item is a Dictionary with the following entries: bufnr number of buffer in the window - height window height + height window height (excluding winbar) + winbar 1 if the window has a toolbar, 0 + otherwise loclist 1 if showing a location list quickfix 1 if quickfix or location list window tabnr tab page number @@ -5150,7 +5159,10 @@ line({expr}) The result is a Number, which is the line number of the file < *last-position-jump* This autocommand jumps to the last known position in a file just after opening it, if the '" mark is set: > - :au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g`\"" | endif + :au BufReadPost * + \ if line("'\"") > 1 && line("'\"") <= line("$") && &ft !~# 'commit' + \ | exe "normal! g`\"" + \ | endif line2byte({lnum}) *line2byte()* Return the byte count from the start of the buffer for line @@ -5245,12 +5257,12 @@ map({expr1}, {expr2}) *map()* defined with the "abort" flag. -maparg({name}[, {mode} [, {abbr} [, {dict}]]]) *maparg()* +maparg({name} [, {mode} [, {abbr} [, {dict}]]]) *maparg()* When {dict} is omitted or zero: Return the rhs of mapping {name} in mode {mode}. The returned String has special characters translated like in the output of the ":map" command listing. - + When there is no mapping for {name}, an empty String is returned. @@ -5266,6 +5278,7 @@ maparg({name}[, {mode} [, {abbr} [, {dict}]]]) *maparg()* "s" Select "x" Visual "l" langmap |language-mapping| + "t" Terminal "" Normal, Visual and Operator-pending When {mode} is omitted, the modes for "" are used. @@ -5299,7 +5312,7 @@ maparg({name}[, {mode} [, {abbr} [, {dict}]]]) *maparg()* exe 'nnoremap <Tab> ==' . maparg('<Tab>', 'n') -mapcheck({name}[, {mode} [, {abbr}]]) *mapcheck()* +mapcheck({name} [, {mode} [, {abbr}]]) *mapcheck()* Check if there is a mapping that matches with {name} in mode {mode}. See |maparg()| for {mode} and special names in {name}. @@ -5331,7 +5344,7 @@ mapcheck({name}[, {mode} [, {abbr}]]) *mapcheck()* < This avoids adding the "_vv" mapping when there already is a mapping for "_v" or for "_vvv". -match({expr}, {pat}[, {start}[, {count}]]) *match()* +match({expr}, {pat} [, {start} [, {count}]]) *match()* When {expr} is a |List| then this returns the index of the first item where {pat} matches. Each item is used as a String, |Lists| and |Dictionaries| are used as echoed. @@ -5440,7 +5453,7 @@ matchadd({group}, {pattern}[, {priority}[, {id} [, {dict}]]]) one operation by |clearmatches()|. *matchaddpos()* -matchaddpos({group}, {pos}[, {priority}[, {id}[, {dict}]]]) +matchaddpos({group}, {pos} [, {priority} [, {id} [, {dict}]]]) Same as |matchadd()|, but requires a list of positions {pos} instead of a pattern. This command is faster than |matchadd()| because it does not require to handle regular expressions and @@ -5460,7 +5473,7 @@ matchaddpos({group}, {pos}[, {priority}[, {id}[, {dict}]]]) be highlighted. - A list with three numbers, e.g., [23, 11, 3]. As above, but the third number gives the length of the highlight in bytes. - + The maximum number of positions is 8. Example: > @@ -5493,7 +5506,7 @@ matchdelete({id}) *matchdelete()* *E802* *E803* otherwise -1. See example for |matchadd()|. All matches can be deleted in one operation by |clearmatches()|. -matchend({expr}, {pat}[, {start}[, {count}]]) *matchend()* +matchend({expr}, {pat} [, {start} [, {count}]]) *matchend()* Same as |match()|, but return the index of first character after the match. Example: > :echo matchend("testing", "ing") @@ -5512,7 +5525,7 @@ matchend({expr}, {pat}[, {start}[, {count}]]) *matchend()* < result is "-1". When {expr} is a |List| the result is equal to |match()|. -matchlist({expr}, {pat}[, {start}[, {count}]]) *matchlist()* +matchlist({expr}, {pat} [, {start} [, {count}]]) *matchlist()* Same as |match()|, but return a |List|. The first item in the list is the matched string, same as what matchstr() would return. Following items are submatches, like "\1", "\2", etc. @@ -5522,7 +5535,7 @@ matchlist({expr}, {pat}[, {start}[, {count}]]) *matchlist()* < Results in: ['acd', 'a', '', 'c', 'd', '', '', '', '', ''] When there is no match an empty list is returned. -matchstr({expr}, {pat}[, {start}[, {count}]]) *matchstr()* +matchstr({expr}, {pat} [, {start} [, {count}]]) *matchstr()* Same as |match()|, but return the matched string. Example: > :echo matchstr("testing", "ing") < results in "ing". @@ -5535,7 +5548,7 @@ matchstr({expr}, {pat}[, {start}[, {count}]]) *matchstr()* When {expr} is a |List| then the matching item is returned. The type isn't changed, it's not necessarily a String. -matchstrpos({expr}, {pat}[, {start}[, {count}]]) *matchstrpos()* +matchstrpos({expr}, {pat} [, {start} [, {count}]]) *matchstrpos()* Same as |matchstr()|, but return the matched string, the start position and the end position of the match. Example: > :echo matchstrpos("testing", "ing") @@ -5647,16 +5660,20 @@ mode([expr]) Return a string that indicates the current mode. S Select by line CTRL-S Select blockwise i Insert + ic Insert mode completion |compl-generic| + ix Insert mode |i_CTRL-X| completion R Replace |R| + Rc Replace mode completion |compl-generic| Rv Virtual Replace |gR| - t Terminal - c Command-line + Rx Replace mode |i_CTRL-X| completion + c Command-line editing cv Vim Ex mode |gQ| ce Normal Ex mode |Q| r Hit-enter prompt rm The -- more -- prompt r? A |:confirm| query of some sort ! Shell or external command is executing + t Terminal mode: keys go to the job This is useful in the 'statusline' option or when used with |remote_expr()| In most other places it always returns "c" or "n". @@ -5760,7 +5777,7 @@ nextnonblank({lnum}) *nextnonblank()* below it, zero is returned. See also |prevnonblank()|. -nr2char({expr}[, {utf8}]) *nr2char()* +nr2char({expr} [, {utf8}]) *nr2char()* Return a string with a single character, which has the number value {expr}. Examples: > nr2char(64) returns "@" @@ -5798,7 +5815,7 @@ pathshorten({expr}) *pathshorten()* components in the path are reduced to single letters. Leading '~' and '.' characters are kept. Example: > :echo pathshorten('~/.config/nvim/autoload/file1.vim') -< ~/.v/a/file1.vim ~ +< ~/.c/n/a/file1.vim ~ It doesn't matter if the path exists or not. pow({x}, {y}) *pow()* @@ -5969,7 +5986,7 @@ printf({fmt}, {expr1} ...) *printf()* feature works just like 's'. *printf-f* *E807* - f F The Float argument is converted into a string of the + f F The Float argument is converted into a string of the form 123.456. The precision specifies the number of digits after the decimal point. When the precision is zero the decimal point is omitted. When the precision @@ -6035,10 +6052,10 @@ py3eval({expr}) *py3eval()* pyeval({expr}) *pyeval()* Evaluate Python expression {expr} and return its result converted to Vim data structures. - Numbers and strings are returned as they are (strings are + Numbers and strings are returned as they are (strings are copied though). Lists are represented as Vim |List| type. - Dictionaries are represented as Vim |Dictionary| type, + Dictionaries are represented as Vim |Dictionary| type, non-string keys result in error. {only available when compiled with the |+python| feature} @@ -6149,6 +6166,12 @@ remote_expr({server}, {string} [, {idvar}]) {only available when compiled with the |+clientserver| feature} Note: Any errors will cause a local error message to be issued and the result will be the empty string. + + Variables will be evaluated in the global namespace, + independent of a function currently being active. Except + when in debug mode, then local function variables and + arguments can be evaluated. + Examples: > :echo remote_expr("gvim", "2+2") :echo remote_expr("gvim1", "b:current_syntax") @@ -6308,12 +6331,12 @@ rpcstop({channel}) {Nvim} *rpcstop()* Closes the socket connection if the channel was opened by connecting to |v:servername|. -screenattr(row, col) *screenattr()* +screenattr({row}, {col}) *screenattr()* Like |screenchar()|, but return the attribute. This is a rather arbitrary number that can only be used to compare to the attribute at other positions. -screenchar(row, col) *screenchar()* +screenchar({row}, {col}) *screenchar()* The result is a Number, which is the character at position [row, col] on the screen. This works for every possible screen position, also status lines, window separators and the @@ -6369,7 +6392,7 @@ search({pattern} [, {flags} [, {stopline} [, {timeout}]]]) *search()* flag. 'ignorecase', 'smartcase' and 'magic' are used. - + When the 'z' flag is not given, searching always starts in column zero and then matches before the cursor are skipped. When the 'c' flag is present in 'cpo' the next search starts @@ -6837,13 +6860,13 @@ setqflist({list} [, {action}[, {what}]]) *setqflist()* This function can be used to create a quickfix list independent of the 'errorformat' setting. Use a command like - ":cc 1" to jump to the first position. + `:cc 1` to jump to the first position. *setreg()* setreg({regname}, {value} [, {options}]) Set the register {regname} to {value}. - {value} may be any value returned by |getreg()|, including + {value} may be any value returned by |getreg()|, including a |List|. If {options} contains "a" or {regname} is upper case, then the value is appended. @@ -6859,14 +6882,14 @@ setreg({regname}, {value} [, {options}]) set to point to register {regname}. If {options} contains no register settings, then the default - is to use character mode unless {value} ends in a <NL> for - string {value} and linewise mode for list {value}. Blockwise + is to use character mode unless {value} ends in a <NL> for + string {value} and linewise mode for list {value}. Blockwise mode is never selected automatically. Returns zero for success, non-zero for failure. *E883* - Note: you may not use |List| containing more than one item to - set search and expression registers. Lists containing no + Note: you may not use |List| containing more than one item to + set search and expression registers. Lists containing no items act like empty strings. Examples: > @@ -7019,7 +7042,7 @@ sockconnect({mode}, {address}, {opts}) *sockconnect()* sort({list} [, {func} [, {dict}]]) *sort()* *E702* Sort the items in {list} in-place. Returns {list}. - + If you want a list to remain unmodified make a copy first: > :let sortedlist = sort(copy(mylist)) @@ -7030,7 +7053,7 @@ sort({list} [, {func} [, {dict}]]) *sort()* *E702* When {func} is given and it is '1' or 'i' then case is ignored. - + When {func} is given and it is 'n' then all items will be sorted numerical (Implementation detail: This uses the strtod() function to parse numbers, Strings, Lists, Dicts and @@ -7200,7 +7223,7 @@ strchars({expr} [, {skipcc}]) *strchars()* counted separately. When {skipcc} set to 1, Composing characters are ignored. Also see |strlen()|, |strdisplaywidth()| and |strwidth()|. - + {skipcc} is only available after 7.4.755. For backward compatibility, you can define a wrapper function: > if has("patch-7.4.755") @@ -7217,7 +7240,7 @@ strchars({expr} [, {skipcc}]) *strchars()* endfunction endif < -strcharpart({src}, {start}[, {len}]) *strcharpart()* +strcharpart({src}, {start} [, {len}]) *strcharpart()* Like |strpart()| but using character index and length instead of byte index and length. When a character index is used where a character does not @@ -7225,7 +7248,7 @@ strcharpart({src}, {start}[, {len}]) *strcharpart()* strcharpart('abc', -1, 2) < results in 'a'. -strdisplaywidth({expr}[, {col}]) *strdisplaywidth()* +strdisplaywidth({expr} [, {col}]) *strdisplaywidth()* The result is a Number, which is the number of display cells String {expr} occupies on the screen when it starts at {col}. When {col} is omitted zero is used. Otherwise it is the @@ -7314,7 +7337,7 @@ strlen({expr}) The result is a Number, which is the length of the String |strchars()|. Also see |len()|, |strdisplaywidth()| and |strwidth()|. -strpart({src}, {start}[, {len}]) *strpart()* +strpart({src}, {start} [, {len}]) *strpart()* The result is a String, which is part of {src}, starting from byte {start}, with the byte length {len}. To count characters instead of bytes use |strcharpart()|. @@ -7366,7 +7389,7 @@ strwidth({expr}) *strwidth()* Ambiguous, this function's return value depends on 'ambiwidth'. Also see |strlen()|, |strdisplaywidth()| and |strchars()|. -submatch({nr}[, {list}]) *submatch()* *E935* +submatch({nr} [, {list}]) *submatch()* *E935* Only for an expression in a |:substitute| command or substitute() function. Returns the {nr}'th submatch of the matched text. When {nr} @@ -7375,8 +7398,8 @@ submatch({nr}[, {list}]) *submatch()* *E935* multi-line match or a NUL character in the text. Also see |sub-replace-expression|. - If {list} is present and non-zero then submatch() returns - a list of strings, similar to |getline()| with two arguments. + If {list} is present and non-zero then submatch() returns + a list of strings, similar to |getline()| with two arguments. NL characters in the text represent NUL characters in the text. Only returns more than one item for |:substitute|, inside @@ -7396,7 +7419,7 @@ substitute({expr}, {pat}, {sub}, {flags}) *substitute()* the first match of {pat} is replaced with {sub}. When {flags} is "g", all matches of {pat} in {expr} are replaced. Otherwise {flags} should be "". - + This works like the ":substitute" command (without any flags). But the matching with {pat} is always done like the 'magic' option is set and 'cpoptions' is empty (to make scripts @@ -7630,7 +7653,7 @@ tagfiles() Returns a |List| with the file names used to search for tags for the current buffer. This is the 'tags' option expanded. -taglist({expr}[, {filename}]) *taglist()* +taglist({expr} [, {filename}]) *taglist()* Returns a list of tags matching the regular expression {expr}. If {filename} is passed it is used to prioritize the results @@ -7878,7 +7901,7 @@ undotree() *undotree()* "save_last" Number of the last file write. Zero when no write yet. "save_cur" Number of the current position in the undo - tree. + tree. "synced" Non-zero when the last undo block was synced. This happens when waiting from input from the user. See |undo-blocks|. @@ -8037,6 +8060,7 @@ winheight({nr}) *winheight()* When {nr} is zero, the height of the current window is returned. When window {nr} doesn't exist, -1 is returned. An existing window always has a height of zero or more. + This excludes any window toolbar line. Examples: > :echo "The current window has " . winheight(0) . " lines." < @@ -8270,7 +8294,7 @@ lispindent Compiled with support for lisp indenting. listcmds Compiled with commands for the buffer list |:files| and the argument list |arglist|. localmap Compiled with local mappings and abbr. |:map-local| -mac macOS version of Vim. +mac macOS version of Nvim. menu Compiled with support for |:menu|. mksession Compiled with support for |:mksession|. modify_fname Compiled with file name modifiers. |filename-modifiers| @@ -8314,6 +8338,8 @@ termresponse Compiled with support for |t_RV| and |v:termresponse|. textobjects Compiled with support for |text-objects|. timers Compiled with |timer_start()| support. title Compiled with window title support |'title'|. +ttyin input is a terminal (tty) +ttyout output is a terminal (tty) unix Unix version of Vim. unnamedplus Compiled with support for "unnamedplus" in 'clipboard' user_commands User-defined commands. @@ -8401,13 +8427,16 @@ See |:verbose-cmd| for more information. *E124* *E125* *E853* *E884* :fu[nction][!] {name}([arguments]) [range] [abort] [dict] [closure] - Define a new function by the name {name}. The name - must be made of alphanumeric characters and '_', and - must start with a capital or "s:" (see above). Note - that using "b:" or "g:" is not allowed. (since patch - 7.4.260 E884 is given if the function name has a colon - in the name, e.g. for "foo:bar()". Before that patch - no error was given). + Define a new function by the name {name}. The body of + the function follows in the next lines, until the + matching |:endfunction|. + + The name must be made of alphanumeric characters and + '_', and must start with a capital or "s:" (see + above). Note that using "b:" or "g:" is not allowed. + (since patch 7.4.260 E884 is given if the function + name has a colon in the name, e.g. for "foo:bar()". + Before that patch no error was given). {name} can also be a |Dictionary| entry that is a |Funcref|: > @@ -8522,9 +8551,10 @@ to the number of named arguments. When using "...", the number of arguments may be larger. It is also possible to define a function without any arguments. You must -still supply the () then. The body of the function follows in the next lines, -until the matching |:endfunction|. It is allowed to define another function -inside a function body. +still supply the () then. + +It is allowed to define another function inside a function +body. *local-variables* Inside a function local variables can be used. These will disappear when the @@ -10379,7 +10409,7 @@ code can be used: > redir => scriptnames_output silent scriptnames redir END - + " Split the output into lines and parse each line. Add an entry to the " "scripts" dictionary. let scripts = {} @@ -10416,6 +10446,22 @@ missing: > : echo "You will _never_ see this message" :endif +To execute a command only when the |+eval| feature is disabled requires a trick, +as this example shows: > + if 1 + nnoremap : :" + endif + normal :set history=111<CR> + if 1 + nunmap : + endif + +The "<CR>" here is a real CR character, type CTRL-V Enter to get it. + +When the |+eval| feature is available the ":" is remapped to add a double +quote, which has the effect of commenting-out the command. without the +|+eval| feature the nnoremap command is skipped and the command is executed. + ============================================================================== 11. The sandbox *eval-sandbox* *sandbox* *E48* diff --git a/runtime/doc/filetype.txt b/runtime/doc/filetype.txt index 7f1e98fed4..78402b47fe 100644 --- a/runtime/doc/filetype.txt +++ b/runtime/doc/filetype.txt @@ -32,7 +32,7 @@ Detail: The ":filetype on" command will load one of these files: BufNewFile and BufRead events. If the file type is not found by the name, the file $VIMRUNTIME/scripts.vim is used to detect it from the contents of the file. - When the GUI is running or will start soon, the menu.vim script is + When the GUI is running or will start soon, the |menu.vim| script is also sourced. See |'go-M'| about avoiding that. To add your own file types, see |new-filetype| below. To search for help on a @@ -309,12 +309,12 @@ define yourself. There are a few ways to avoid this: You need to define your own mapping before the plugin is loaded (before editing a file of that type). The plugin will then skip installing the default mapping. - + *no_mail_maps* 3. Disable defining mappings for a specific filetype by setting a variable, which contains the name of the filetype. For the "mail" filetype this would be: > :let no_mail_maps = 1 - +< *no_plugin_maps* 4. Disable defining mappings for all filetypes by setting a variable: > :let no_plugin_maps = 1 < @@ -724,6 +724,12 @@ Format description: not recognized here as well. +RUST *ft-rust* + +Since the text for this plugin is rather long it has been put in a separate +file: |ft_rust.txt|. + + SQL *ft-sql* Since the text for this plugin is rather long it has been put in a separate diff --git a/runtime/doc/fold.txt b/runtime/doc/fold.txt index fc8484b741..c644d63280 100644 --- a/runtime/doc/fold.txt +++ b/runtime/doc/fold.txt @@ -73,7 +73,7 @@ This will call a function to compute the fold level: > :set foldexpr=MyFoldLevel(v:lnum) This will make a fold out of paragraphs separated by blank lines: > :set foldexpr=getline(v:lnum)=~'^\\s*$'&&getline(v:lnum+1)=~'\\S'?'<1':1 -this does the same: > +This does the same: > :set foldexpr=getline(v:lnum-1)=~'^\\s*$'&&getline(v:lnum)=~'\\S'?'>1':1 Note that backslashes must be used to escape characters that ":set" handles @@ -197,7 +197,7 @@ and the level given by the marker: 1. If a marker with the same fold level is encountered, the previous fold ends and another fold with the same level starts. 2. If a marker with a higher fold level is found, a nested fold is started. -3. if a marker with a lower fold level is found, all folds up to and including +3. If a marker with a lower fold level is found, all folds up to and including this level end and a fold with the specified level starts. The number indicates the fold level. A zero cannot be used (a marker with diff --git a/runtime/doc/ft_ada.txt b/runtime/doc/ft_ada.txt index 94d97b481a..c1aa0904c4 100644 --- a/runtime/doc/ft_ada.txt +++ b/runtime/doc/ft_ada.txt @@ -116,7 +116,7 @@ NOTE: "gnat xref -v" is very tricky to use as it has almost no diagnostic then "gnat xref -v *.ad?" 4) Project manager support is completely broken - don't even try "gnat xref -Padacl.gpr". -5) VIM is faster when the tags file is sorted - use "sort --unique +5) Vim is faster when the tags file is sorted - use "sort --unique --ignore-case --output=tags tags" . 6) Remember to insert "!_TAG_FILE_SORTED 2 %sort ui" as first line to mark the file assorted. diff --git a/runtime/doc/ft_rust.txt b/runtime/doc/ft_rust.txt new file mode 100644 index 0000000000..750ba76afc --- /dev/null +++ b/runtime/doc/ft_rust.txt @@ -0,0 +1,237 @@ +*ft_rust.txt* Filetype plugin for Rust + +============================================================================== +CONTENTS *rust* + +1. Introduction |rust-intro| +2. Settings |rust-settings| +3. Commands |rust-commands| +4. Mappings |rust-mappings| + +============================================================================== +INTRODUCTION *rust-intro* + +This plugin provides syntax and supporting functionality for the Rust +filetype. + +============================================================================== +SETTINGS *rust-settings* + +This plugin has a few variables you can define in your vimrc that change the +behavior of the plugin. + + *g:rustc_path* +g:rustc_path~ + Set this option to the path to rustc for use in the |:RustRun| and + |:RustExpand| commands. If unset, "rustc" will be located in $PATH: > + let g:rustc_path = $HOME."/bin/rustc" +< + + *g:rustc_makeprg_no_percent* +g:rustc_makeprg_no_percent~ + Set this option to 1 to have 'makeprg' default to "rustc" instead of + "rustc %": > + let g:rustc_makeprg_no_percent = 1 +< + + *g:rust_conceal* +g:rust_conceal~ + Set this option to turn on the basic |conceal| support: > + let g:rust_conceal = 1 +< + + *g:rust_conceal_mod_path* +g:rust_conceal_mod_path~ + Set this option to turn on |conceal| for the path connecting token + "::": > + let g:rust_conceal_mod_path = 1 +< + + *g:rust_conceal_pub* +g:rust_conceal_pub~ + Set this option to turn on |conceal| for the "pub" token: > + let g:rust_conceal_pub = 1 +< + + *g:rust_recommended_style* +g:rust_recommended_style~ + Set this option to enable vim indentation and textwidth settings to + conform to style conventions of the rust standard library (i.e. use 4 + spaces for indents and sets 'textwidth' to 99). This option is enabled + by default. To disable it: > + let g:rust_recommended_style = 0 +< + + *g:rust_fold* +g:rust_fold~ + Set this option to turn on |folding|: > + let g:rust_fold = 1 +< + Value Effect ~ + 0 No folding + 1 Braced blocks are folded. All folds are open by + default. + 2 Braced blocks are folded. 'foldlevel' is left at the + global value (all folds are closed by default). + + *g:rust_bang_comment_leader* +g:rust_bang_comment_leader~ + Set this option to 1 to preserve the leader on multi-line doc comments + using the /*! syntax: > + let g:rust_bang_comment_leader = 1 +< + + *g:ftplugin_rust_source_path* +g:ftplugin_rust_source_path~ + Set this option to a path that should be prepended to 'path' for Rust + source files: > + let g:ftplugin_rust_source_path = $HOME.'/dev/rust' +< + + *g:rustfmt_command* +g:rustfmt_command~ + Set this option to the name of the 'rustfmt' executable in your $PATH. If + not specified it defaults to 'rustfmt' : > + let g:rustfmt_command = 'rustfmt' +< + *g:rustfmt_autosave* +g:rustfmt_autosave~ + Set this option to 1 to run |:RustFmt| automatically when saving a + buffer. If not specified it defaults to 0 : > + let g:rustfmt_autosave = 0 +< + *g:rustfmt_fail_silently* +g:rustfmt_fail_silently~ + Set this option to 1 to prevent 'rustfmt' from populating the + |location-list| with errors. If not specified it defaults to 0: > + let g:rustfmt_fail_silently = 0 +< + *g:rustfmt_options* +g:rustfmt_options~ + Set this option to a string of options to pass to 'rustfmt'. The + write-mode is already set to 'overwrite'. If not specified it + defaults to '' : > + let g:rustfmt_options = '' +< + + *g:rust_playpen_url* +g:rust_playpen_url~ + Set this option to override the URL for the playpen to use: > + let g:rust_playpen_url = 'https://play.rust-lang.org/' +< + + *g:rust_shortener_url* +g:rust_shortener_url~ + Set this option to override the URL for the URL shortener: > + let g:rust_shortener_url = 'https://is.gd/' +< + + +============================================================================== +COMMANDS *rust-commands* + +:RustRun [args] *:RustRun* +:RustRun! [rustc-args] [--] [args] + Compiles and runs the current file. If it has unsaved changes, + it will be saved first using |:update|. If the current file is + an unnamed buffer, it will be written to a temporary file + first. The compiled binary is always placed in a temporary + directory, but is run from the current directory. + + The arguments given to |:RustRun| will be passed to the + compiled binary. + + If ! is specified, the arguments are passed to rustc instead. + A "--" argument will separate the rustc arguments from the + arguments passed to the binary. + + If |g:rustc_path| is defined, it is used as the path to rustc. + Otherwise it is assumed rustc can be found in $PATH. + +:RustExpand [args] *:RustExpand* +:RustExpand! [TYPE] [args] + Expands the current file using --pretty and displays the + results in a new split. If the current file has unsaved + changes, it will be saved first using |:update|. If the + current file is an unnamed buffer, it will be written to a + temporary file first. + + The arguments given to |:RustExpand| will be passed to rustc. + This is largely intended for specifying various --cfg + configurations. + + If ! is specified, the first argument is the expansion type to + pass to rustc --pretty. Otherwise it will default to + "expanded". + + If |g:rustc_path| is defined, it is used as the path to rustc. + Otherwise it is assumed rustc can be found in $PATH. + +:RustEmitIr [args] *:RustEmitIr* + Compiles the current file to LLVM IR and displays the results + in a new split. If the current file has unsaved changes, it + will be saved first using |:update|. If the current file is an + unnamed buffer, it will be written to a temporary file first. + + The arguments given to |:RustEmitIr| will be passed to rustc. + + If |g:rustc_path| is defined, it is used as the path to rustc. + Otherwise it is assumed rustc can be found in $PATH. + +:RustEmitAsm [args] *:RustEmitAsm* + Compiles the current file to assembly and displays the results + in a new split. If the current file has unsaved changes, it + will be saved first using |:update|. If the current file is an + unnamed buffer, it will be written to a temporary file first. + + The arguments given to |:RustEmitAsm| will be passed to rustc. + + If |g:rustc_path| is defined, it is used as the path to rustc. + Otherwise it is assumed rustc can be found in $PATH. + +:RustPlay *:RustPlay* + This command will only work if you have web-api.vim installed + (available at https://github.com/mattn/webapi-vim). It sends the + current selection, or if nothing is selected, the entirety of the + current buffer to the Rust playpen, and emits a message with the + shortened URL to the playpen. + + |g:rust_playpen_url| is the base URL to the playpen, by default + "https://play.rust-lang.org/". + + |g:rust_shortener_url| is the base URL for the shortener, by + default "https://is.gd/" + +:RustFmt *:RustFmt* + Runs |g:rustfmt_command| on the current buffer. If + |g:rustfmt_options| is set then those will be passed to the + executable. + + If |g:rustfmt_fail_silently| is 0 (the default) then it + will populate the |location-list| with the errors from + |g:rustfmt_command|. If |g:rustfmt_fail_silently| is set to 1 + then it will not populate the |location-list|. + +:RustFmtRange *:RustFmtRange* + Runs |g:rustfmt_command| with selected range. See + |:RustFmt| for any other information. + +============================================================================== +MAPPINGS *rust-mappings* + +This plugin defines mappings for |[[| and |]]| to support hanging indents. + +It also has a few other mappings: + + *rust_<D-r>* +<D-r> Executes |:RustRun| with no arguments. + Note: This binding is only available in MacVim. + + *rust_<D-R>* +<D-R> Populates the command line with |:RustRun|! using the + arguments given to the last invocation, but does not + execute it. + Note: This binding is only available in MacVim. + +============================================================================== + vim:tw=78:sw=4:noet:ts=8:ft=help:norl: diff --git a/runtime/doc/gui.txt b/runtime/doc/gui.txt index fb05f178ad..904c4be19c 100644 --- a/runtime/doc/gui.txt +++ b/runtime/doc/gui.txt @@ -46,7 +46,8 @@ When the GUI starts up initializations are carried out, in this order: already set. NOTE: All but the first one are not carried out if Vim was started with -"-u NONE" and no "-U" argument was given, or when started with "-U NONE". +"-u NONE" or "-u DEFAULTS" and no "-U" argument was given, or when started +with "-U NONE". All this happens AFTER the normal Vim initializations, like reading your vimrc file. See |initialization|. @@ -382,6 +383,7 @@ menus and menu items. They are most useful for things that you can't remember what the key sequence was. For creating menus in a different language, see |:menutrans|. +If you don't want to use menus at all, see |'go-M'|. *menu.vim* The default menus are read from the file "$VIMRUNTIME/menu.vim". See @@ -398,7 +400,11 @@ in the menu (which can take a bit of time to load). If you want to have all filetypes already present at startup, add: > :let do_syntax_sel_menu = 1 -< +Note that the menu.vim is sourced when `:syntax on` or `:filetype on` is +executed or after your .vimrc file is sourced. This means that the 'encoding' +option and the language of messages (`:language messages`) must be set before +that (if you want to change them). + *console-menus* Although this documentation is in the GUI section, you can actually use menus in console mode too. You will have to load |menu.vim| explicitly then, it is @@ -648,6 +654,8 @@ nr Name Normal action ~ In the Win32 GUI, starting a menu name with ']' excludes that menu from the main menu bar. You must then use the |:popup| command to display it. +When splitting the window the window toolbar is not copied to the new window. + *popup-menu* You can define the special menu "PopUp". This is the menu that is displayed when the right mouse button is pressed, if 'mousemodel' is set to popup or diff --git a/runtime/doc/help.txt b/runtime/doc/help.txt index 1eda111297..8a83cbc79c 100644 --- a/runtime/doc/help.txt +++ b/runtime/doc/help.txt @@ -30,7 +30,7 @@ Get specific help: It is possible to go directly to whatever you want help help entries for "word". Or use ":helpgrep word". |:helpgrep| -VIM stands for Vi IMproved. Most of VIM was made by Bram Moolenaar, but only +Vim stands for Vi IMproved. Most of Vim was made by Bram Moolenaar, but only through the help of many others. See |credits|. ------------------------------------------------------------------------------ *doc-file-list* *Q_ct* @@ -93,7 +93,6 @@ General subjects ~ |helphelp.txt| about using the help files |index.txt| alphabetical index of all commands |help-tags| all the tags you can jump to (index of tags) -|howto.txt| how to do the most common editing tasks |tips.txt| various tips on using Vim |message.txt| (error) messages and explanations |develop.txt| development of Nvim @@ -142,6 +141,7 @@ Special issues ~ |hebrew.txt| Hebrew language support and editing |russian.txt| Russian language support and editing |ft_ada.txt| Ada (the programming language) support +|ft_rust.txt| Filetype plugin for Rust |ft_sql.txt| about the SQL filetype plugin |rileft.txt| right-to-left editing mode @@ -162,6 +162,7 @@ Standard plugins ~ |pi_gzip.txt| Reading and writing compressed files |pi_netrw.txt| Reading and writing files over a network |pi_paren.txt| Highlight matching parens +|pi_spec.txt| Filetype plugin to work with rpm spec files |pi_tar.txt| Tar file explorer |pi_zip.txt| Zip archive explorer diff --git a/runtime/doc/helphelp.txt b/runtime/doc/helphelp.txt index f8164a6982..adc72d1835 100644 --- a/runtime/doc/helphelp.txt +++ b/runtime/doc/helphelp.txt @@ -140,7 +140,8 @@ Help on help files *helphelp* already opened, then the location list for that window is used. Otherwise, a new help window is opened and the location list for that window is set. The - location list for the current window is not changed. + location list for the current window is not changed + then. *:exu* *:exusage* :exu[sage] Show help on Ex commands. Added to simulate the Nvi diff --git a/runtime/doc/howto.txt b/runtime/doc/howto.txt deleted file mode 100644 index 33c8552463..0000000000 --- a/runtime/doc/howto.txt +++ /dev/null @@ -1,96 +0,0 @@ -*howto.txt* Nvim - - - VIM REFERENCE MANUAL by Bram Moolenaar - - -How to ... *howdoi* *how-do-i* *howto* *how-to* - -|tutor| get started -|:quit| exit? I'm trapped, help me! -|initialization| initialize Vim -|vimrc-intro| write a Vim script file (vimrc) -|suspend| suspend Vim -|usr_11.txt| recover after a crash -|07.4| keep a backup of my file when writing over it - -|usr_07.txt| edit files -|23.4| edit binary files -|usr_24.txt| insert text -|deleting| delete text -|usr_04.txt| change text -|04.5| copy and move text -|usr_25.txt| format text -|30.6| format comments -|30.2| indent C programs -|25.3| automatically set indent - -|usr_26.txt| repeat commands -|02.5| undo and redo - -|usr_03.txt| move around -|word-motions| word motions -|left-right-motions| left-right motions -|up-down-motions| up-down motions -|object-motions| text-object motions -|various-motions| various motions -|object-select| text-object selection -|'whichwrap'| move over line breaks -|'virtualedit'| move to where there is no text -|usr_27.txt| specify pattern for searches -|tags-and-searches| do tags and special searches -|29.4| search in include'd files used to find - variables, functions, or macros -|K| look up manual for the keyword under cursor - -|03.7| scroll -|'sidescroll'| scroll horizontally/sideways -|'scrolloff'| set visible context lines - -|mode-switching| change modes -|04.4| use Visual mode -|'insertmode'| start Vim in Insert mode - -|40.1| map keys -|24.7| create abbreviations - -|ins-expandtab| expand a tab to spaces in Insert mode -|i_CTRL-R| insert contents of a register in Insert mode -|24.3| complete words in Insert mode -|25.1| break a line before it gets too long - -|20.1| do command-line editing -|20.3| do command-line completion -|'cmdheight'| increase the height of command-line -|10.3| specify command-line ranges -|40.3| specify commands to be executed automatically - before/after reading/writing entering/leaving a - buffer/window - -|'autowrite'| write automatically -|30.1| speedup edit-compile-edit cycle or compile and fix - errors within Vim - -|options| set options -|auto-setting| set options automatically -|term-dependent-settings| set options depending on terminal name -|save-settings| save settings -|:quote| comment my .vim files -|'helpheight'| change the default help height -|'highlight'| set various highlighting modes -|'title'| set the window title -|'icon'| set window icon title -|'report'| avoid seeing the change messages on every line -|'shortmess'| avoid |hit-enter| prompts - -|mouse-using| use mouse with Vim -|usr_08.txt| manage multiple windows and buffers -|gui.txt| use the gui - -|You can't! (yet)| do dishes using Vim - -|usr_06.txt| switch on syntax highlighting -|2html.vim| convert a colored file to HTML -|less| use Vim like less or more with syntax highlighting - - vim:tw=78:ts=8:ft=help:norl: diff --git a/runtime/doc/if_cscop.txt b/runtime/doc/if_cscop.txt index e359f2144c..ac3d7a9ed8 100644 --- a/runtime/doc/if_cscop.txt +++ b/runtime/doc/if_cscop.txt @@ -82,9 +82,10 @@ suggested use.) 2. Cscope related commands *cscope-commands* *:cscope* *:cs* *:scs* *:scscope* *E259* *E262* *E561* *E560* -All cscope commands are accessed through suboptions to the main cscope -command ":cscope". The shortest abbreviation is ":cs". The ":scscope" -command does the same and also splits the window (short: "scs"). +All cscope commands are accessed through suboptions to the cscope commands. + `:cscope` or `:cs` is the main command + `:scscope` or `:scs` does the same and splits the window + `:lcscope` or `:lcs` uses the location list, see |:lcscope| The available subcommands are: diff --git a/runtime/doc/index.txt b/runtime/doc/index.txt index bde4bcb630..f4f43aeac2 100644 --- a/runtime/doc/index.txt +++ b/runtime/doc/index.txt @@ -298,10 +298,10 @@ tag char note action in Normal mode ~ |B| B 1 cursor N WORDS backward |C| ["x]C 2 change from the cursor position to the end of the line, and N-1 more lines [into - buffer x]; synonym for "c$" + register x]; synonym for "c$" |D| ["x]D 2 delete the characters under the cursor until the end of the line and N-1 more - lines [into buffer x]; synonym for "d$" + lines [into register x]; synonym for "d$" |E| E 1 cursor forward to the end of WORD N |F| F{char} 1 cursor to the Nth occurrence of {char} to the left @@ -318,13 +318,13 @@ tag char note action in Normal mode ~ opposite direction |O| O 2 begin a new line above the cursor and insert text, repeat N times -|P| ["x]P 2 put the text [from buffer x] before the +|P| ["x]P 2 put the text [from register x] before the cursor N times |Q| Q switch to "Ex" mode |R| R 2 enter replace mode: overtype existing characters, repeat the entered text N-1 times -|S| ["x]S 2 delete N lines [into buffer x] and start +|S| ["x]S 2 delete N lines [into register x] and start insert; synonym for "cc". |T| T{char} 1 cursor till after Nth occurrence of {char} to the left @@ -332,8 +332,8 @@ tag char note action in Normal mode ~ |V| V start linewise Visual mode |W| W 1 cursor N WORDS forward |X| ["x]X 2 delete N characters before the cursor [into - buffer x] -|Y| ["x]Y yank N lines [into buffer x]; synonym for + register x] +|Y| ["x]Y yank N lines [into register x]; synonym for "yy" |ZZ| ZZ store current file if modified, and exit |ZQ| ZQ exit current file always @@ -356,12 +356,12 @@ tag char note action in Normal mode ~ |`}| `} 1 cursor to the end of the current paragraph |a| a 2 append text after the cursor N times |b| b 1 cursor N words backward -|c| ["x]c{motion} 2 delete Nmove text [into buffer x] and start +|c| ["x]c{motion} 2 delete Nmove text [into register x] and + start insert +|cc| ["x]cc 2 delete N lines [into register x] and start insert -|cc| ["x]cc 2 delete N lines [into buffer x] and start - insert -|d| ["x]d{motion} 2 delete Nmove text [into buffer x] -|dd| ["x]dd 2 delete N lines [into buffer x] +|d| ["x]d{motion} 2 delete Nmove text [into register x] +|dd| ["x]dd 2 delete N lines [into register x] |do| do 2 same as ":diffget" |dp| dp 2 same as ":diffput" |e| e 1 cursor forward to the end of word N @@ -387,16 +387,16 @@ tag char note action in Normal mode ~ |q?| q? edit ? command-line in command-line window |r| r{char} 2 replace N chars with {char} |s| ["x]s 2 (substitute) delete N characters [into - buffer x] and start insert + register x] and start insert |t| t{char} 1 cursor till before Nth occurrence of {char} to the right |u| u 2 undo changes |v| v start characterwise Visual mode |w| w 1 cursor N words forward |x| ["x]x 2 delete N characters under and after the - cursor [into buffer x] -|y| ["x]y{motion} yank Nmove text [into buffer x] -|yy| ["x]yy yank N lines [into buffer x] + cursor [into register x] +|y| ["x]y{motion} yank Nmove text [into register x] +|yy| ["x]yy yank N lines [into register x] |z| z{char} commands starting with 'z', see |z| below |{| { 1 cursor N paragraphs backward |bar| | 1 cursor to column N @@ -1542,13 +1542,17 @@ tag command action ~ |:tjump| :tj[ump] like ":tselect", but jump directly when there is only one match |:tlast| :tl[ast] jump to last matching tag +|:tmapclear| :tmapc[lear] remove all mappings for Terminal-Job mode +|:tmap| :tma[p] like ":map" but for Terminal-Job mode |:tmenu| :tm[enu] define menu tooltip |:tnext| :tn[ext] jump to next matching tag +|:tnoremap| :tno[remap] like ":noremap" but for Terminal-Job mode |:topleft| :to[pleft] make split window appear at top or far left |:tprevious| :tp[revious] jump to previous matching tag |:trewind| :tr[ewind] jump to first matching tag |:try| :try execute commands, abort on error or exception |:tselect| :ts[elect] list matching tags and select one +|:tunmap| :tunma[p] like ":unmap" but for Terminal-Job mode |:tunmenu| :tu[nmenu] remove menu tooltip |:undo| :u[ndo] undo last change(s) |:undojoin| :undoj[oin] join next change with previous undo block diff --git a/runtime/doc/insert.txt b/runtime/doc/insert.txt index f3bde9d8d2..b6cc18ab1b 100644 --- a/runtime/doc/insert.txt +++ b/runtime/doc/insert.txt @@ -146,7 +146,8 @@ CTRL-R CTRL-R {0-9a-z"%#*+/:.-=} *i_CTRL-R_CTRL-R* CTRL-R CTRL-O {0-9a-z"%#*+/:.-=} *i_CTRL-R_CTRL-O* Insert the contents of a register literally and don't auto-indent. Does the same as pasting with the mouse - |<MiddleMouse>|. + |<MiddleMouse>|. When the register is linewise this will + insert the text above the current line, like with `P`. Does not replace characters! The '.' register (last inserted text) is still inserted as typed. @@ -607,13 +608,13 @@ Completion can be done for: 10. User defined completion |i_CTRL-X_CTRL-U| 11. omni completion |i_CTRL-X_CTRL-O| 12. Spelling suggestions |i_CTRL-X_s| -13. keywords in 'complete' |i_CTRL-N| +13. keywords in 'complete' |i_CTRL-N| |i_CTRL-P| -All these (except 2) are done in CTRL-X mode. This is a sub-mode of Insert -and Replace modes. You enter CTRL-X mode by typing CTRL-X and one of the -CTRL-X commands. You exit CTRL-X mode by typing a key that is not a valid -CTRL-X mode command. Valid keys are the CTRL-X command itself, CTRL-N (next), -and CTRL-P (previous). +All these, except CTRL-N and CTRL-P, are done in CTRL-X mode. This is a +sub-mode of Insert and Replace modes. You enter CTRL-X mode by typing CTRL-X +and one of the CTRL-X commands. You exit CTRL-X mode by typing a key that is +not a valid CTRL-X mode command. Valid keys are the CTRL-X command itself, +CTRL-N (next), and CTRL-P (previous). Also see the 'infercase' option if you want to adjust the case of the match. diff --git a/runtime/doc/intro.txt b/runtime/doc/intro.txt index 30524fb6aa..6c40264d86 100644 --- a/runtime/doc/intro.txt +++ b/runtime/doc/intro.txt @@ -68,8 +68,8 @@ The Vim pages contain the most recent information about Vim. They also contain links to the most recent version of Vim. The FAQ is a list of Frequently Asked Questions. Read this if you have problems. - VIM home page: http://www.vim.org/ - VIM FAQ: http://vimdoc.sf.net/ + Vim home page: http://www.vim.org/ + Vim FAQ: http://vimdoc.sf.net/ Downloading: ftp://ftp.vim.org/pub/vim/MIRRORS @@ -120,9 +120,14 @@ Report bugs on GitHub: https://github.com/neovim/neovim/issues Please be brief; all the time that is spent on answering mail is subtracted from the time that is spent on improving Vim! Always give a reproducible -example and try to find out which settings or other things influence the -appearance of the bug. Try different machines, if possible. Send me patches -if you can! +example and try to find out which settings or other things trigger the bug. + +Preferably start Vim with: > + vim --clean -u reproduce.vim +Where reproduce.vim is a script that reproduces the problem. Try different +machines, if relevant (is this an MS-Windows specific bug perhaps?). + +Send me patches if you can! It will help to include information about the version of Vim you are using and your setup. You can get the information with this command: > @@ -236,6 +241,10 @@ Vim would never have become what it is now, without the help of these people! Juergen Weigert Lattice version, AUX improvements, Unix and MS-DOS ports, autoconf Stefan 'Sec' Zehl Maintainer of vim.org + Yasuhiro Matsumoto many MS-Windows improvements + Ken Takata fixes and features + Kazunobu Kuriyama GTK 3 + Christian Brabandt many fixes, features, user support, etc. I wish to thank all the people that sent me bug reports and suggestions. The list is too long to mention them all here. Vim would not be the same without @@ -713,9 +722,9 @@ special situation. Vim will show only part of the line, around where the cursor is. There are no special characters shown, so that you can edit all parts of this line. -The '@' occasion in the 'highlight' option can be used to set special -highlighting for the '@' and '~' characters. This makes it possible to -distinguish them from real characters in the buffer. +The |hl-NonText| highlight group can be used to set special highlighting +for the '@' and '~' characters. This makes it possible to distinguish them +from real characters in the buffer. The 'showbreak' option contains the string to put in front of wrapped lines. @@ -782,10 +791,12 @@ by Vim. ============================================================================== 8. Definitions *definitions* + buffer Contains lines of text, usually read from a file. screen The whole area that Vim uses to work in. This can be a terminal emulator window. Also called "the Vim window". - window A view on a buffer. + window A view on a buffer. There can be multiple windows for + one buffer. A screen contains one or more windows, separated by status lines and with the command line at the bottom. diff --git a/runtime/doc/map.txt b/runtime/doc/map.txt index fa7d01aa5f..9b61fa6527 100644 --- a/runtime/doc/map.txt +++ b/runtime/doc/map.txt @@ -15,7 +15,7 @@ manual. 1. Key mapping *key-mapping* *mapping* *macro* Key mapping is used to change the meaning of typed keys. The most common use -is to define a sequence commands for a function key. Example: > +is to define a sequence of commands for a function key. Example: > :map <F2> a<C-R>=strftime("%c")<CR><Esc> @@ -41,7 +41,7 @@ modes. :im[ap] {lhs} {rhs} |mapmode-i| *:im* *:imap* :lm[ap] {lhs} {rhs} |mapmode-l| *:lm* *:lmap* :cm[ap] {lhs} {rhs} |mapmode-c| *:cm* *:cmap* -:tm[ap] {lhs} {rhs} |mapmode-t| *:tm* *:tmap* +:tma[p] {lhs} {rhs} |mapmode-t| *:tma* *:tmap* Map the key sequence {lhs} to {rhs} for the modes where the map command applies. The result, including {rhs}, is then further scanned for mappings. This @@ -75,7 +75,7 @@ modes. :iu[nmap] {lhs} |mapmode-i| *:iu* *:iunmap* :lu[nmap] {lhs} |mapmode-l| *:lu* *:lunmap* :cu[nmap] {lhs} |mapmode-c| *:cu* *:cunmap* -:tu[nmap] {lhs} |mapmode-t| *:tu* *:tunmap* +:tunma[p] {lhs} |mapmode-t| *:tunma* *:tunmap* Remove the mapping of {lhs} for the modes where the map command applies. The mapping may remain defined for other modes where it applies. @@ -111,7 +111,7 @@ modes. :im[ap] |mapmode-i| :lm[ap] |mapmode-l| :cm[ap] |mapmode-c| -:tm[ap] |mapmode-t| +:tma[p] |mapmode-t| List all key mappings for the modes where the map command applies. Note that ":map" and ":map!" are used most often, because they include the other modes. @@ -126,7 +126,7 @@ modes. :im[ap] {lhs} |mapmode-i| *:imap_l* :lm[ap] {lhs} |mapmode-l| *:lmap_l* :cm[ap] {lhs} |mapmode-c| *:cmap_l* -:tm[ap] {lhs} |mapmode-t| *:tmap_l* +:tma[p] {lhs} |mapmode-t| *:tmap_l* List the key mappings for the key sequences starting with {lhs} in the modes where the map command applies. @@ -175,7 +175,7 @@ that starts with ",". Then you need to type another character for Vim to know whether to use the "," mapping or the longer one. To avoid this add the <nowait> argument. Then the mapping will be used when it matches, Vim does not wait for more characters to be typed. However, if the characters were -already type they are used. +already typed they are used. *:map-<silent>* *:map-silent* To define a mapping which will not be echoed on the command line, add @@ -653,7 +653,7 @@ option). After that it assumes that the 'q' is to be interpreted as such. If you type slowly, or your system is slow, reset the 'timeout' option. Then you might want to set the 'ttimeout' option. - *map-precedence* + *map-precedence* Buffer-local mappings (defined using |:map-<buffer>|) take precedence over global mappings. When a buffer-local mapping is the same as a global mapping, Vim will use the buffer-local mapping. In addition, Vim will use a complete diff --git a/runtime/doc/message.txt b/runtime/doc/message.txt index 904b9dfce4..96c28009c4 100644 --- a/runtime/doc/message.txt +++ b/runtime/doc/message.txt @@ -625,6 +625,9 @@ starts. It can be fixed in one of these ways: - Just write the file again the next day. Or set your clock to the next day, write the file twice and set the clock back. +If you get W11 all the time, you may need to disable "Acronis Active +Protection" or register Vim as a trusted service/application. + *W12* > Warning: File "{filename}" has changed and the buffer was changed in Vim as well @@ -744,6 +747,13 @@ a user-defined command. You tried to set an option after startup that only allows changes during startup. + *E943* > + Command table needs to be updated, run 'make cmdidxs' + +This can only happen when changing the source code, when adding a command in +src/ex_cmds.h. The lookup table then needs to be updated, by running: > + make cmdidxs + ============================================================================== 3. Messages *messages* diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt index 433b083942..8a8ad58efd 100644 --- a/runtime/doc/options.txt +++ b/runtime/doc/options.txt @@ -311,7 +311,7 @@ Note: In the future more global options can be made global-local. Using Setting the filetype -:setf[iletype] {filetype} *:setf* *:setfiletype* +:setf[iletype] [FALLBACK] {filetype} *:setf* *:setfiletype* Set the 'filetype' option to {filetype}, but only if not done yet in a sequence of (nested) autocommands. This is short for: > @@ -322,6 +322,12 @@ Setting the filetype setting the 'filetype' option twice, causing different settings and syntax files to be loaded. + When the optional FALLBACK argument is present, a + later :setfiletype command will override the + 'filetype'. This is to used for filetype detections + that are just a guess. |did_filetype()| will return + false after this command. + *option-window* *optwin* :bro[wse] se[t] *:set-browse* *:browse-set* *:opt* *:options* :opt[ions] Open a window for viewing and setting all options. @@ -348,11 +354,22 @@ On Unix systems the form "${HOME}" can be used too. The name between {} can contain non-id characters then. Note that if you want to use this for the "gf" command, you need to add the '{' and '}' characters to 'isfname'. +NOTE: expanding environment variables and "~/" is only done with the ":set" +command, not when assigning a value to an option with ":let". + + *$HOME-windows* On MS-Windows, if $HOME is not defined as an environment variable, then at runtime Vim will set it to the expansion of $HOMEDRIVE$HOMEPATH. +If $HOMEDRIVE is not set then $USERPROFILE is used. -NOTE: expanding environment variables and "~/" is only done with the ":set" -command, not when assigning a value to an option with ":let". +This expanded value is not exported to the environment, this matters when +running an external command: > + :echo system('set | findstr ^HOME=') +and > + :echo luaeval('os.getenv("HOME")') +should echo nothing (an empty string) despite exists('$HOME') being true. +When setting $HOME to a non-empty string it will be exported to the +subprocesses. Note the maximum length of an expanded option is limited. How much depends on @@ -711,6 +728,13 @@ A jump table for the options with a short description can be found at |Q_op|. < Vim will guess the value. In the GUI this should work correctly, in other cases Vim might not be able to guess the right value. + When the |t_RB| option is set, Vim will use it to request the background + color from the terminal. If the returned RGB value is dark/light and + 'background' is not dark/light, 'background' will be set and the + screen is redrawn. This may have side effects, make t_BG empty in + your .vimrc if you suspect this problem. The response to |t_RB| can + be found in |v:termrbgresp|. + When starting the GUI, the default value for 'background' will be "light". When the value is not set in the gvimrc, and Vim detects that the background is actually quite dark, 'background' is set to @@ -1295,27 +1319,6 @@ A jump table for the options with a short description can be found at |Q_op|. will additionally copy the text into register '*'. See |clipboard|. - *clipboard-autoselect* - autoselect Works like the 'a' flag in 'guioptions': If present, - then whenever Visual mode is started, or the Visual - area extended, Vim tries to become the owner of the - windowing system's global selection or put the - selected text on the clipboard used by the selection - register "*. See |guioptions_a| and |quotestar| for - details. When the GUI is active, the 'a' flag in - 'guioptions' is used, when the GUI is not active, this - "autoselect" flag is used. - Also applies to the modeless selection. - - *clipboard-autoselectplus* - autoselectplus Like "autoselect" but using the + register instead of - the * register. Compare to the 'P' flag in - 'guioptions'. - - *clipboard-autoselectml* - autoselectml Like "autoselect", but for the modeless selection - only. Compare to the 'A' flag in 'guioptions'. - *'cmdheight'* *'ch'* 'cmdheight' 'ch' number (default 1) global @@ -2967,7 +2970,7 @@ A jump table for the options with a short description can be found at |Q_op|. that this flag must be added in the vimrc file, before switching on syntax or filetype recognition (when the |gvimrc| file is sourced the system menu has already been loaded; the - ":syntax on" and ":filetype on" commands load the menu too). + `:syntax on` and `:filetype on` commands load the menu too). *'go-g'* 'g' Grey menu items: Make menu items that are not active grey. If 'g' is not included inactive menu items are not shown at all. @@ -3094,11 +3097,6 @@ A jump table for the options with a short description can be found at |Q_op|. WARNING: It's easy to forget that you have changes in hidden buffers. Think twice when using ":q!" or ":qa!". - *'highlight'* *'hl'* -'highlight' 'hl' Removed. |vim-differences| - global - The builtin |highlight-groups| cannot be changed. - *'history'* *'hi'* 'history' 'hi' number (Vim default: 10000, Vi default: 0) global @@ -3127,10 +3125,8 @@ A jump table for the options with a short description can be found at |Q_op|. {not available when compiled without the |+extra_search| feature} When there is a previous search pattern, highlight all its matches. - The type of highlighting used can be set with the 'l' occasion in the - 'highlight' option. This uses the "Search" highlight group by - default. Note that only the matching text is highlighted, any offsets - are not applied. + The |hl-Search| highlight group determines the highlighting. Note that + only the matching text is highlighted, any offsets are not applied. See also: 'incsearch' and |:match|. When you get bored looking at the highlighted matches, you can turn it off with |:nohlsearch|. This does not change the option value, as @@ -3298,7 +3294,7 @@ A jump table for the options with a short description can be found at |Q_op|. Vim only searches for about half a second. With a complicated pattern and/or a lot of text the match may not be found. This is to avoid that Vim hangs while you are typing the pattern. - The highlighting can be set with the 'i' flag in 'highlight'. + The |hl-IncSearch| highlight group determines the highlighting. See also: 'hlsearch'. CTRL-L can be used to add one character from after the current match to the command line. If 'ignorecase' and 'smartcase' are set and the @@ -3843,7 +3839,7 @@ A jump table for the options with a short description can be found at |Q_op|. :au FileType c,cpp,java set mps+==:; < For a more advanced way of using "%", see the matchit.vim plugin in - the $VIMRUNTIME/macros directory. |add-local-help| + the $VIMRUNTIME/plugin directory. |add-local-help| *'matchtime'* *'mat'* 'matchtime' 'mat' number (default 5) @@ -4793,7 +4789,7 @@ A jump table for the options with a short description can be found at |Q_op|. height with ":set scroll=0". *'scrollback'* *'scbk'* -'scrollback' 'scbk' number (default: 1000 +'scrollback' 'scbk' number (default: 10000 in normal buffers: -1) local to buffer Maximum number of lines kept beyond the visible screen. Lines at the @@ -5346,8 +5342,7 @@ A jump table for the options with a short description can be found at |Q_op|. < Only printable single-cell characters are allowed, excluding <Tab> and comma (in a future version the comma might be used to separate the part that is shown at the end and at the start of a line). - The characters are highlighted according to the '@' flag in - 'highlight'. + The |hl-NonText| highlight group determines the highlighting. Note that tabs after the showbreak will be displayed differently. If you want the 'showbreak' to appear in between line numbers, add the "n" flag to 'cpoptions'. @@ -5402,10 +5397,7 @@ A jump table for the options with a short description can be found at |Q_op|. 'showmode' 'smd' boolean (Vim default: on, Vi default: off) global If in Insert, Replace or Visual mode put a message on the last line. - Use the 'M' flag in 'highlight' to set the type of highlighting for - this message. - When |XIM| may be used the message will include "XIM". But this - doesn't mean XIM is really active. + The |hl-ModeMsg| highlight group determines the highlighting. *'showtabline'* *'stal'* 'showtabline' 'stal' number (default 1) @@ -6388,7 +6380,7 @@ A jump table for the options with a short description can be found at |Q_op|. Save the whole buffer for undo when reloading it. This applies to the ":e!" command and reloading for when the buffer changed outside of Vim. |FileChangedShell| - The save only happens when this options is negative or when the number + The save only happens when this option is negative or when the number of lines is smaller than the value of this option. Set this option to zero to disable undo for a reload. @@ -6461,7 +6453,7 @@ A jump table for the options with a short description can be found at |Q_op|. security reasons. *'viewoptions'* *'vop'* -'viewoptions' 'vop' string (default: "folds,options,cursor") +'viewoptions' 'vop' string (default: "folds,options,cursor,curdir") global {not available when compiled without the |+mksession| feature} @@ -6469,6 +6461,7 @@ A jump table for the options with a short description can be found at |Q_op|. list of words. Each word enables saving and restoring something: word save and restore ~ cursor cursor position in file and in window + curdir local current directory, if set with |:lcd| folds manually created folds, opened/closed folds and local fold options options options and mappings local to a window or buffer (not diff --git a/runtime/doc/pattern.txt b/runtime/doc/pattern.txt index b7025c8e7e..ab78b8b71c 100644 --- a/runtime/doc/pattern.txt +++ b/runtime/doc/pattern.txt @@ -1058,12 +1058,16 @@ x A single character, with no special meaning, matches itself ":s/[/x/" searches for "[/x" and replaces it with nothing. It does not search for "[" and replaces it with "x"! + *E944* *E945* If the sequence begins with "^", it matches any single character NOT in the collection: "[^xyz]" matches anything but 'x', 'y' and 'z'. - If two characters in the sequence are separated by '-', this is shorthand for the full list of ASCII characters between them. E.g., - "[0-9]" matches any decimal digit. Non-ASCII characters can be - used, but the character values must not be more than 256 apart. + "[0-9]" matches any decimal digit. If the starting character exceeds + the ending character, e.g. [c-a], E944 occurs. Non-ASCII characters + can be used, but the character values must not be more than 256 apart + in the old regexp engine. For example, searching by [\u3000-\u4000] + after setting re=1 emits a E945 error. Prepending \%#=2 will fix it. - A character class expression is evaluated to the set of characters belonging to that character class. The following character classes are supported: diff --git a/runtime/doc/pi_health.txt b/runtime/doc/pi_health.txt index 99ff519bb9..bb688770fc 100644 --- a/runtime/doc/pi_health.txt +++ b/runtime/doc/pi_health.txt @@ -23,11 +23,11 @@ Commands *health-commands* *:checkhealth* *:CheckHealth* :checkhealth Run all healthchecks. *E5009* - Nvim depends on the |$VIMRUNTIME| environment variable - to find the standard "runtime files" for syntax - highlighting, filetype-specific behavior, and standard - plugins such as :checkhealth. If $VIMRUNTIME is invalid - then those features will not work. + Nvim depends on |$VIMRUNTIME| and 'runtimepath' to find + the standard "runtime files" for syntax highlighting, + filetype-specific behavior, and standard plugins + (including :checkhealth). If the runtime files cannot + be found then those features will not work. :checkhealth {plugins} Run healthcheck(s) for one or more plugins. E.g. to run diff --git a/runtime/doc/pi_matchit.txt b/runtime/doc/pi_matchit.txt index c711cd588f..652734f7bb 100644 --- a/runtime/doc/pi_matchit.txt +++ b/runtime/doc/pi_matchit.txt @@ -1,6 +1,6 @@ *pi_matchit.txt* Extended "%" matching -For Vim version 6.3. Last change: 2015 May 21 +For Vim version 6.3. Last change: 2017 May 14 *matchit* *matchit.vim* @@ -211,7 +211,7 @@ Examples: In LaTeX, since "%" is used as the comment character, you can > :let b:match_skip = 'r:%' < Unfortunately, this will skip anything after "\%", an escaped "%". To - allow for this, and also "\\%" (an excaped backslash followed by the + allow for this, and also "\\%" (an escaped backslash followed by the comment character) you can > :let b:match_skip = 'r:\(^\|[^\\]\)\(\\\\\)*%' < @@ -356,7 +356,8 @@ The back reference '\'.d refers to the same thing as '\'.b:match_table[d] in The various |:vmap|s defined in the script (%, |g%|, |[%|, |]%|, |a%|) may have undesired effects in Select mode |Select-mode-mapping|. At least, if you want to replace the selection with any character in "ag%[]" there will be a -pause of |'updatetime'| first. +pause of |'updatetime'| first. E.g., "yV%" would normally work linewise, but +the plugin mapping makes it characterwise. It would be nice if "\0" were recognized as the entire pattern. That is, it would be nice if "foo:\end\0" had the same effect as "\(foo\):\end\1". diff --git a/runtime/doc/print.txt b/runtime/doc/print.txt index 72625a450a..3ffb52b5ae 100644 --- a/runtime/doc/print.txt +++ b/runtime/doc/print.txt @@ -87,25 +87,25 @@ If the option is empty, then vim will use the system default printer for Macintosh: mac-roman, HPUX: hp-roman8) global -Sets the character encoding used when printing. This option tells VIM which +Sets the character encoding used when printing. This option tells Vim which print character encoding file from the "print" directory in 'runtimepath' to use. This option will accept any value from |encoding-names|. Any recognized names -are converted to VIM standard names - see 'encoding' for more details. Names -not recognized by VIM will just be converted to lower case and underscores +are converted to Vim standard names - see 'encoding' for more details. Names +not recognized by Vim will just be converted to lower case and underscores replaced with '-' signs. -If 'printencoding' is empty or VIM cannot find the file then it will use -'encoding' (if VIM is compiled with |+multi_byte| and it is set an 8-bit -encoding) to find the print character encoding file. If VIM is unable to find +If 'printencoding' is empty or Vim cannot find the file then it will use +'encoding' (if Vim is compiled with |+multi_byte| and it is set an 8-bit +encoding) to find the print character encoding file. If Vim is unable to find a character encoding file then it will use the "latin1" print character encoding file. -When 'encoding' is set to a multi-byte encoding, VIM will try to convert +When 'encoding' is set to a multi-byte encoding, Vim will try to convert characters to the printing encoding for printing (if 'printencoding' is empty then the conversion will be to latin1). Conversion to a printing encoding -other than latin1 will require VIM to be compiled with the |+iconv| feature. +other than latin1 will require Vim to be compiled with the |+iconv| feature. If no conversion is possible then printing will fail. Any characters that cannot be converted will be replaced with upside down question marks. @@ -186,7 +186,7 @@ header is used when this option is empty. 'printmbcharset' 'pmbcs' string (default "") global Sets the CJK character set to be used when generating CJK output from -|:hardcopy|. The following predefined values are currently recognised by VIM: +|:hardcopy|. The following predefined values are currently recognised by Vim: Value Description ~ Chinese GB_2312-80 @@ -253,7 +253,7 @@ Japanese text you would do the following; > If 'printmbcharset' is not one of the above values then it is assumed to specify a custom multi-byte character set and no check will be made that it is -compatible with the value for 'printencoding'. VIM will look for a file +compatible with the value for 'printencoding'. Vim will look for a file defining the character set in the "print" directory in 'runtimepath'. *pmbfn-option* @@ -403,10 +403,10 @@ There are currently a number of limitations with PostScript printing: possible to get all the characters in an encoding to print by installing a new version of the Courier font family. -- Multi-byte support - Currently VIM will try to convert multi-byte characters +- Multi-byte support - Currently Vim will try to convert multi-byte characters to the 8-bit encoding specified by 'printencoding' (or latin1 if it is empty). Any characters that are not successfully converted are shown as - unknown characters. Printing will fail if VIM cannot convert the multi-byte + unknown characters. Printing will fail if Vim cannot convert the multi-byte to the 8-bit encoding. ============================================================================== @@ -417,11 +417,11 @@ you need to define your own PostScript font encoding vector. Details on how to define a font encoding vector is beyond the scope of this help file, but you can find details in the PostScript Language Reference Manual, 3rd Edition, published by Addison-Wesley and available in PDF form at -http://www.adobe.com/. The following describes what you need to do for VIM to +http://www.adobe.com/. The following describes what you need to do for Vim to locate and use your print character encoding. i. Decide on a unique name for your encoding vector, one that does not clash - with any of the recognized or standard encoding names that VIM uses (see + with any of the recognized or standard encoding names that Vim uses (see |encoding-names| for a list), and that no one else is likely to use. ii. Copy $VIMRUNTIME/print/latin1.ps to the print subdirectory in your 'runtimepath' and rename it with your unique name. @@ -429,23 +429,23 @@ iii. Edit your renamed copy of latin1.ps, replacing all occurrences of latin1 with your unique name (don't forget the line starting %%Title:), and modify the array of glyph names to define your new encoding vector. The array must have exactly 256 entries or you will not be able to print! -iv. Within VIM, set 'printencoding' to your unique encoding name and then - print your file. VIM will now use your custom print character encoding. +iv. Within Vim, set 'printencoding' to your unique encoding name and then + print your file. Vim will now use your custom print character encoding. -VIM will report an error with the resource file if you change the order or +Vim will report an error with the resource file if you change the order or content of the first 3 lines, other than the name of the encoding on the line starting %%Title: or the version number on the line starting %%Version:. -[Technical explanation for those that know PostScript - VIM looks for a file +[Technical explanation for those that know PostScript - Vim looks for a file with the same name as the encoding it will use when printing. The file defines a new PostScript Encoding resource called /VIM-name, where name is the -print character encoding VIM will use.] +print character encoding Vim will use.] ============================================================================== 5. PostScript CJK Printing *postscript-cjk-printing* *E673* *E674* *E675* -VIM supports printing of Chinese, Japanese, and Korean files. Setting up VIM +Vim supports printing of Chinese, Japanese, and Korean files. Setting up Vim to correctly print CJK files requires setting up a few more options. Each of these countries has many standard character sets and encodings which @@ -466,7 +466,7 @@ option allows you to specify different fonts to use when printing characters which are syntax highlighted with the font styles normal, italic, bold and bold-italic. -No CJK fonts are supplied with VIM. There are some free Korean, Japanese, and +No CJK fonts are supplied with Vim. There are some free Korean, Japanese, and Traditional Chinese fonts available at: http://examples.oreilly.com/cjkvinfo/adobe/samples/ @@ -481,7 +481,7 @@ CJK fonts can be large containing several thousand glyphs, and it is not uncommon to find that they only contain a subset of a national standard. It is not unusual to find the fonts to not include characters for codes in the ASCII code range. If you find half-width Roman characters are not appearing -in your printout then you should configure VIM to use the Courier font the +in your printout then you should configure Vim to use the Courier font the half-width ASCII characters with 'printmbfont'. If your font does not include other characters then you will need to find another font that does. @@ -489,7 +489,7 @@ Another issue with ASCII characters, is that the various national character sets specify a couple of different glyphs in the ASCII code range. If you print ASCII text using the national character set you may see some unexpected characters. If you want true ASCII code printing then you need to configure -VIM to output ASCII characters for the ASCII code range with 'printmbfont'. +Vim to output ASCII characters for the ASCII code range with 'printmbfont'. It is possible to define your own multi-byte character set although this should not be attempted lightly. A discussion on the process if beyond the @@ -508,13 +508,13 @@ print job completing. There are a number of possible causes as to why the printing may have failed: - Wrong version of the prolog resource file. The prolog resource file - contains some PostScript that VIM needs to be able to print. Each version - of VIM needs one particular version. Make sure you have correctly installed + contains some PostScript that Vim needs to be able to print. Each version + of Vim needs one particular version. Make sure you have correctly installed the runtime files, and don't have any old versions of a file called prolog in the print directory in your 'runtimepath' directory. - Paper size. Some PostScript printers will abort printing a file if they do - not support the requested paper size. By default VIM uses A4 paper. Find + not support the requested paper size. By default Vim uses A4 paper. Find out what size paper your printer normally uses and set the appropriate paper size with 'printoptions'. If you cannot find the name of the paper used, measure a sheet and compare it with the table of supported paper sizes listed @@ -645,7 +645,7 @@ complex print document creation. N-UP PRINTING -The psnup utility takes an existing PostScript file generated from VIM and +The psnup utility takes an existing PostScript file generated from Vim and convert it to an n-up version. The simplest way to create a 2-up printout is to first create a PostScript file with: > @@ -701,16 +701,16 @@ There are a couple of points to bear in mind: ============================================================================== 8. Formfeed Characters *printing-formfeed* -By default VIM does not do any special processing of |formfeed| control -characters. Setting the 'printoptions' formfeed item will make VIM recognize +By default Vim does not do any special processing of |formfeed| control +characters. Setting the 'printoptions' formfeed item will make Vim recognize formfeed characters and continue printing the current line at the beginning of the first line on a new page. The use of formfeed characters provides rudimentary print control but there are certain things to be aware of. -VIM will always start printing a line (including a line number if enabled) +Vim will always start printing a line (including a line number if enabled) containing a formfeed character, even if it is the first character on the line. This means if a line starting with a formfeed character is the first -line of a page then VIM will print a blank page. +line of a page then Vim will print a blank page. Since the line number is printed at the start of printing the line containing the formfeed character, the remainder of the line printed on the new page @@ -719,7 +719,7 @@ lines of a long line when wrap in 'printoptions' is enabled). If the formfeed character is the last character on a line, then printing will continue on the second line of the new page, not the first. This is due to -VIM processing the end of the line after the formfeed character and moving +Vim processing the end of the line after the formfeed character and moving down a line to continue printing. Due to the points made above it is recommended that when formfeed character diff --git a/runtime/doc/quickfix.txt b/runtime/doc/quickfix.txt index 4c9a68fa63..da167c0f5b 100644 --- a/runtime/doc/quickfix.txt +++ b/runtime/doc/quickfix.txt @@ -31,6 +31,13 @@ From inside Vim an easy way to run a command and handle the output is with the The 'errorformat' option should be set to match the error messages from your compiler (see |errorformat| below). + *quickfix-ID* +Each quickfix list has a unique identifier called the quickfix ID and this +number will not change within a Vim session. The getqflist() function can be +used to get the identifier assigned to a list. There is also a quickfix list +number which may change whenever more than ten lists are added to a quickfix +stack. + *location-list* *E776* A location list is a window-local quickfix list. You get one after commands like `:lvimgrep`, `:lgrep`, `:lhelpgrep`, `:lmake`, etc., which create a diff --git a/runtime/doc/quickref.txt b/runtime/doc/quickref.txt index c4c3dcad88..b22d2afa7e 100644 --- a/runtime/doc/quickref.txt +++ b/runtime/doc/quickref.txt @@ -721,7 +721,6 @@ Short explanation of each option: *option-list* 'helpheight' 'hh' minimum height of a new help window 'helplang' 'hlg' preferred help languages 'hidden' 'hid' don't unload buffer when it is |abandon|ed -'highlight' 'hl' sets highlighting mode for various occasions 'hlsearch' 'hls' highlight matches with last search pattern 'history' 'hi' number of command-lines that are remembered 'hkmap' 'hk' Hebrew keyboard mapping @@ -1254,6 +1253,7 @@ Context-sensitive completion on the command-line: |:sfind| :sf[ind] {file} split window, find {file} in 'path' and edit it +|:terminal| :terminal {cmd} open a terminal window |CTRL-W_]| CTRL-W ] split window and jump to tag under cursor |CTRL-W_f| CTRL-W f split window and edit file name under diff --git a/runtime/doc/remote.txt b/runtime/doc/remote.txt index 67bfb0b48e..039d8b582e 100644 --- a/runtime/doc/remote.txt +++ b/runtime/doc/remote.txt @@ -87,7 +87,7 @@ Tell the remote server "BLA" to write all files and exit: > vim --servername BLA --remote-send '<C-\><C-N>:wqa<CR>' -SERVER NAME +SERVER NAME *client-server-name* By default Vim will try to register the name under which it was invoked (gvim, egvim ...). This can be overridden with the --servername argument. If the @@ -137,6 +137,7 @@ the description in |eval.txt| or use CTRL-] on the function name to jump to the full explanation. synopsis explanation ~ + remote_startserver( name) run a server remote_expr( server, string, idvar) send expression remote_send( server, string, idvar) send key sequence serverlist() get a list of available servers diff --git a/runtime/doc/spell.txt b/runtime/doc/spell.txt index f2be25097c..718b5d4c1f 100644 --- a/runtime/doc/spell.txt +++ b/runtime/doc/spell.txt @@ -459,7 +459,7 @@ Vim uses a binary file format for spelling. This greatly speeds up loading the word list and keeps it small. *.aff* *.dic* *Myspell* You can create a Vim spell file from the .aff and .dic files that Myspell -uses. Myspell is used by OpenOffice.org and Mozilla. The OpenOffice .oxt +uses. Myspell is used by OpenOffice.org and Mozilla. The OpenOffice .oxt files are zip files which contain the .aff and .dic files. You should be able to find them here: http://extensions.services.openoffice.org/dictionary @@ -704,7 +704,7 @@ Additionally the following items are recognized: = Case must match exactly. ? Rare word. ! Bad (wrong) word. - digit A region in which the word is valid. If no regions are + 1 to 9 A region in which the word is valid. If no regions are specified the word is valid in all regions. Example: @@ -1594,7 +1594,7 @@ COMPOUNDSYLLABLE (Hunspell) *spell-COMPOUNDSYLLABLE* KEY (Hunspell) *spell-KEY* Define characters that are close together on the keyboard. Used to give better suggestions. Not supported. - + LANG (Hunspell) *spell-LANG* This specifies language-specific behavior. This actually moves part of the language knowledge into the program, diff --git a/runtime/doc/starting.txt b/runtime/doc/starting.txt index 7aba84b454..05e3f72b8d 100644 --- a/runtime/doc/starting.txt +++ b/runtime/doc/starting.txt @@ -885,7 +885,7 @@ The output of ":mkview" contains these items: 5. The scroll position and the cursor position in the file. Doesn't work very well when there are closed folds. 6. The local current directory, if it is different from the global current - directory. + directory and 'viewoptions' contains "curdir". Note that Views and Sessions are not perfect: - They don't restore everything. For example, defined functions, autocommands diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt index d87825e489..85330f3dec 100644 --- a/runtime/doc/syntax.txt +++ b/runtime/doc/syntax.txt @@ -39,10 +39,12 @@ fine. If it doesn't, try setting the VIM environment variable to the directory where the Vim stuff is located. For example, if your syntax files are in the "/usr/vim/vim50/syntax" directory, set $VIMRUNTIME to "/usr/vim/vim50". You must do this in the shell, before starting Vim. +This command also sources the |menu.vim| script when the GUI is running or +will start soon. See |'go-M'| about avoiding that. *:syn-on* *:syntax-on* -The ":syntax enable" command will keep your current color settings. This -allows using ":highlight" commands to set your preferred colors before or +The `:syntax enable` command will keep your current color settings. This +allows using `:highlight` commands to set your preferred colors before or after using this command. If you want Vim to overrule your settings with the defaults, use: > :syntax on @@ -788,12 +790,9 @@ See |mysyntaxfile-add| for installing script languages permanently. APACHE *apache.vim* *ft-apache-syntax* -The apache syntax file provides syntax highlighting depending on Apache HTTP -server version, by default for 1.3.x. Set "apache_version" to Apache version -(as a string) to get highlighting for another version. Example: > +The apache syntax file provides syntax highlighting for Apache HTTP server +version 2.2.3. - :let apache_version = "2.0" -< *asm.vim* *asmh8300.vim* *nasm.vim* *masm.vim* *asm68k* ASSEMBLY *ft-asm-syntax* *ft-asmh8300-syntax* *ft-nasm-syntax* @@ -2108,6 +2107,16 @@ set "msql_minlines" to the value you desire. Example: > :let msql_minlines = 200 +N1QL *n1ql.vim* *ft-n1ql-syntax* + +N1QL is a SQL-like declarative language for manipulating JSON documents in +Couchbase Server databases. + +Vim syntax highlights N1QL statements, keywords, operators, types, comments, +and special values. Vim ignores syntactical elements specific to SQL or its +many dialects, like COLUMN or CHAR, that don't exist in N1QL. + + NCF *ncf.vim* *ft-ncf-syntax* There is one option for NCF syntax highlighting. @@ -4543,12 +4552,11 @@ is mostly used, because it looks better. ============================================================================== 12. Highlight command *:highlight* *:hi* *E28* *E411* *E415* -There are three types of highlight groups: +There are two types of highlight groups: +- The built-in |highlight-groups|. - The ones used for specific languages. For these the name starts with the name of the language. Many of these don't have any attributes, but are linked to a group of the second type. -- The ones used for all syntax languages. -- The ones used for the 'highlight' option. *hitest.vim* You can see all the groups currently active with this command: > :so $VIMRUNTIME/syntax/hitest.vim @@ -4758,10 +4766,11 @@ ctermbg={color-nr} *highlight-ctermbg* Example: > :highlight Normal ctermfg=grey ctermbg=darkblue < When setting the "ctermbg" color for the Normal group, the - 'background' option will be adjusted automatically. This causes the - highlight groups that depend on 'background' to change! This means - you should set the colors for Normal first, before setting other - colors. + 'background' option will be adjusted automatically, under the + condition that the color is recognized and 'background' was not set + explicitly. This causes the highlight groups that depend on + 'background' to change! This means you should set the colors for + Normal first, before setting other colors. When a colorscheme is being used, changing 'background' causes it to be reloaded, which may reset all colors (including Normal). First delete the "g:colors_name" variable when you don't want this. @@ -4920,7 +4929,7 @@ NonText '@' at the end of the window, characters from 'showbreak' *hl-Normal* Normal normal text *hl-NormalNC* -NormalNC normal text in non-current window +NormalNC normal text in non-current windows *hl-Pmenu* Pmenu Popup menu: normal item. *hl-PmenuSel* @@ -5080,8 +5089,6 @@ defaults back: > It is a bit of a wrong name, since it does not reset any syntax items, it only affects the highlighting. -This doesn't change the colors for the 'highlight' option. - Note that the syntax colors that you set in your vimrc file will also be reset back to their Vim default. Note that if you are using a color scheme, the colors defined by the color diff --git a/runtime/doc/tagsrch.txt b/runtime/doc/tagsrch.txt index 1ceb602512..f0ad2cfd43 100644 --- a/runtime/doc/tagsrch.txt +++ b/runtime/doc/tagsrch.txt @@ -189,6 +189,7 @@ the same entry. information in the tags file(s). When [ident] is not given, the last tag name from the tag stack is used. + See |tag-!| for [!]. With a '>' in the first column is indicated which is the current position in the list (if there is one). [ident] can be a regexp pattern, see |tag-regexp|. diff --git a/runtime/doc/usr_03.txt b/runtime/doc/usr_03.txt index 5a7f0cb0e5..989914687f 100644 --- a/runtime/doc/usr_03.txt +++ b/runtime/doc/usr_03.txt @@ -353,7 +353,7 @@ The "?" command works like "/" but searches backwards: > ?word The "N" command repeats the last search the opposite direction. Thus using -"N" after a "/" command search backwards, using "N" after "?" searches +"N" after a "/" command searches backwards, using "N" after "?" searches forward. @@ -508,7 +508,7 @@ only if it is at the beginning of a line. The $ character matches the end of a line. Therefore, "was$" matches the word was only if it is at the end of a line. -Let's mark the places where "the" matches in this example line with "x"s: +Let's mark the places where "/the" matches in this example line with "x"s: the solder holding one of the chips melted and the ~ xxx xxx xxx diff --git a/runtime/doc/usr_07.txt b/runtime/doc/usr_07.txt index 3fc600d977..683c9879a7 100644 --- a/runtime/doc/usr_07.txt +++ b/runtime/doc/usr_07.txt @@ -221,7 +221,7 @@ and write the file with ":w". You edit several other files, and then use ":edit one.txt" to come back to "one.txt". If you now use `" Vim jumps to the last line of the file. Using `. takes you to the position where you deleted the character. Even when you move around in the file `" and `. will take you -to the remembered position, at least until you make another change or leave +to the remembered position. At least until you make another change or leave the file. @@ -233,8 +233,8 @@ another file and place marks there, these are specific for that file. Thus each file has its own set of marks, they are local to the file. So far we were using marks with a lowercase letter. There are also marks with an uppercase letter. These are global, they can be used from any file. -For example suppose that we are editing the file "foo.txt". Go to halfway of -the file ("50%") and place the F mark there (F for foo): > +For example suppose that we are editing the file "foo.txt". Go to halfway +down the file ("50%") and place the F mark there (F for foo): > 50%mF @@ -355,7 +355,7 @@ a sentence to the f register (f for First): > "fyas The "yas" command yanks a sentence like before. It's the "f that tells Vim -the text should be place in the f register. This must come just before the +the text should be placed in the f register. This must come just before the yank command. Now yank three whole lines to the l register (l for line): > diff --git a/runtime/doc/usr_08.txt b/runtime/doc/usr_08.txt index 575921fc4f..ef91bf9c0a 100644 --- a/runtime/doc/usr_08.txt +++ b/runtime/doc/usr_08.txt @@ -45,7 +45,7 @@ top one: +----------------------------------+ What you see here is two windows on the same file. The line with "====" is -that status line. It displays information about the window above it. (In +the status line. It displays information about the window above it. (In practice the status line will be in reverse video.) The two windows allow you to view two parts of the same file. For example, you could make the top window show the variable declarations of a program, and diff --git a/runtime/doc/usr_09.txt b/runtime/doc/usr_09.txt index 1ff3d93329..f53076a2ec 100644 --- a/runtime/doc/usr_09.txt +++ b/runtime/doc/usr_09.txt @@ -21,7 +21,7 @@ Table of contents: |usr_toc.txt| ============================================================================== *09.1* Parts of the GUI -You might have an icon on your desktop that starts gVim. Otherwise, one of +You might have an icon on your desktop that starts gvim. Otherwise, one of these commands should do it: > gvim file.txt @@ -60,7 +60,7 @@ THE WINDOW TITLE At the very top is the window title. This is drawn by your window system. Vim will set the title to show the name of the current file. First comes the name of the file. Then some special characters and the directory of the file -in parens. These special character can be present: +in parens. These special characters can be present: - The file cannot be modified (e.g., a help file) + The file contains changes @@ -180,14 +180,14 @@ currently highlighted. In Vim this is the Visual area (this assumes you are using the default option settings). You can paste this selection in another application without any further action. For example, in this text select a few words with the mouse. Vim will -switch to Visual mode and highlight the text. Now start another gVim, without +switch to Visual mode and highlight the text. Now start another gvim, without a file name argument, so that it displays an empty window. Click the middle mouse button. The selected text will be inserted. The "current selection" will only remain valid until some other text is -selected. After doing the paste in the other gVim, now select some characters +selected. After doing the paste in the other gvim, now select some characters in that window. You will notice that the words that were previously selected -in the other gVim window are displayed differently. This means that it no +in the other gvim window are displayed differently. This means that it no longer is the current selection. You don't need to select text with the mouse, using the keyboard commands for @@ -200,10 +200,10 @@ Now for the other place with which text can be exchanged. We call this the "real clipboard", to avoid confusion. Often both the "current selection" and the "real clipboard" are called clipboard, you'll have to get used to that. To put text on the real clipboard, select a few different words in one of -the gVims you have running. Then use the Edit/Copy menu entry. Now the text +the gvims you have running. Then use the Edit/Copy menu entry. Now the text has been copied to the real clipboard. You can't see this, unless you have -some application that shows the clipboard contents (e.g., KDE's klipper). - Now select the other gVim, position the cursor somewhere and use the +some application that shows the clipboard contents (e.g., KDE's Klipper). + Now select the other gvim, position the cursor somewhere and use the Edit/Paste menu. You will see the text from the real clipboard is inserted. @@ -211,7 +211,7 @@ USING BOTH This use of both the "current selection" and the "real clipboard" might sound a bit confusing. But it is very useful. Let's show this with an example. -Use one gVim with a text file and perform these actions: +Use one gvim with a text file and perform these actions: - Select two words in Visual mode. - Use the Edit/Copy menu to get these words onto the clipboard. diff --git a/runtime/doc/usr_12.txt b/runtime/doc/usr_12.txt index 9078f4748a..e87ed81c97 100644 --- a/runtime/doc/usr_12.txt +++ b/runtime/doc/usr_12.txt @@ -278,7 +278,7 @@ command: > The line range "%" is used, thus this works on the whole file. The pattern that the ":substitute" command matches with is "\s\+$". This finds white space characters (\s), 1 or more of them (\+), before the end-of-line ($). -Later will be explained how you write patterns like this |usr_27.txt|. +Later will be explained how you write patterns like this, see |usr_27.txt|. The "to" part of the substitute command is empty: "//". Thus it replaces with nothing, effectively deleting the matched white space. diff --git a/runtime/doc/usr_41.txt b/runtime/doc/usr_41.txt index 4f6a5aa5ab..51d8143440 100644 --- a/runtime/doc/usr_41.txt +++ b/runtime/doc/usr_41.txt @@ -888,6 +888,7 @@ GUI: *gui-functions* Vim server: *server-functions* serverlist() return the list of server names + remote_startserver() run a server remote_send() send command characters to a Vim server remote_expr() evaluate an expression in a Vim server server2client() send a reply to a client of a Vim server @@ -2226,8 +2227,8 @@ plugin for the mail filetype: > endif Two global variables are used: -no_plugin_maps disables mappings for all filetype plugins -no_mail_maps disables mappings for a specific filetype +|no_plugin_maps| disables mappings for all filetype plugins +|no_mail_maps| disables mappings for the "mail" filetype USER COMMANDS diff --git a/runtime/doc/usr_44.txt b/runtime/doc/usr_44.txt index fcd6b71219..b06557b950 100644 --- a/runtime/doc/usr_44.txt +++ b/runtime/doc/usr_44.txt @@ -686,7 +686,7 @@ that included files do this too, you might have to reset "b:current_syntax" if you include two files. If you want your syntax file to work with Vim 5.x, add a check for v:version. -See yacc.vim for an example. +Find an syntax file in the Vim 7.2 distribution for an example. Do not include anything that is a user preference. Don't set 'tabstop', 'expandtab', etc. These belong in a filetype plugin. diff --git a/runtime/doc/various.txt b/runtime/doc/various.txt index 9150f3a809..baac72c106 100644 --- a/runtime/doc/various.txt +++ b/runtime/doc/various.txt @@ -102,8 +102,7 @@ g8 Print the hex values of the bytes used in the *:nu* *:number* :[range]nu[mber] [count] [flags] Same as :print, but precede each line with its line - number. (See also 'highlight' and 'numberwidth' - option). + number. (See also |hl-LineNr| and 'numberwidth'). See |ex-flags| for [flags]. *:#* @@ -325,7 +324,7 @@ N *+cindent* |'cindent'|, C indenting N *+clientserver* Unix and Win32: Remote invocation |clientserver| *+clipboard* |clipboard| support N *+cmdline_compl* command line completion |cmdline-completion| -N *+cmdline_hist* command line history |cmdline-history| +S *+cmdline_hist* command line history |cmdline-history| N *+cmdline_info* |'showcmd'| and |'ruler'| N *+comments* |'comments'| support B *+conceal* "conceal" support, see |conceal| |:syn-conceal| etc. @@ -348,7 +347,7 @@ N *+gettext* message translations |multi-lang| *+iconv* Compiled with the |iconv()| function *+iconv/dyn* Likewise |iconv-dynamic| |/dyn| N *+insert_expand* |insert_expand| Insert mode completion -N *+jumplist* |jumplist| +S *+jumplist* |jumplist| B *+keymap* |'keymap'| N *+lambda* |lambda| and |closure| B *+langmap* |'langmap'| @@ -397,14 +396,14 @@ N *+timers* the |timer_start()| function N *+title* Setting the window 'title' and 'icon' N *+toolbar* |gui-toolbar| N *+user_commands* User-defined commands. |user-commands| -N *+vertsplit* Vertically split windows |:vsplit| + *+vertsplit* Vertically split windows |:vsplit| N *+virtualedit* |'virtualedit'| S *+visual* Visual mode |Visual-mode| Always enabled since 7.4.200. N *+visualextra* extra Visual mode commands |blockwise-operators| N *+vreplace* |gR| and |gr| N *+wildignore* |'wildignore'| N *+wildmenu* |'wildmenu'| -S *+windows* more than one window + *+windows* more than one window m *+writebackup* |'writebackup'| is default on m *+xim* X input method |xim| *+xfontset* X fontset support |xfontset| diff --git a/runtime/doc/vim_diff.txt b/runtime/doc/vim_diff.txt index 6959d64989..026ff6a0fb 100644 --- a/runtime/doc/vim_diff.txt +++ b/runtime/doc/vim_diff.txt @@ -159,6 +159,7 @@ Events: |TextYankPost| Highlight groups: + |hl-NormalNC| highlights non-current windows |hl-QuickFixLine| |hl-Substitute| |hl-TermCursor| @@ -298,6 +299,8 @@ Highlight groups: |hl-ColorColumn|, |hl-CursorColumn| are lower priority than most other groups +The variable name "count" is no fallback for |v:count| anymore. + ============================================================================== 5. Missing legacy features *nvim-features-missing* @@ -377,7 +380,7 @@ Other options: 'esckeys' 'guioptions' "t" flag was removed *'guipty'* (Nvim uses pipes and PTYs consistently on all platforms.) - 'highlight' (the builtin |highlight-groups| cannot be changed) + 'highlight' (Names of builtin |highlight-groups| cannot be changed.) *'imactivatefunc'* *'imaf'* *'imactivatekey'* *'imak'* *'imstatusfunc'* *'imsf'* diff --git a/runtime/doc/visual.txt b/runtime/doc/visual.txt index 6c4d44edb6..176ce562d8 100644 --- a/runtime/doc/visual.txt +++ b/runtime/doc/visual.txt @@ -25,8 +25,7 @@ Using Visual mode consists of three parts: 3. Type an operator command. The highlighted characters will be operated upon. -The 'highlight' option can be used to set the display mode to use for -highlighting in Visual mode. +The |hl-Visual| group determines the highlighting of the visual selection. The 'virtualedit' option can be used to allow positioning the cursor to positions where there is no actual character. diff --git a/runtime/doc/windows.txt b/runtime/doc/windows.txt index c37362a497..e83377471c 100644 --- a/runtime/doc/windows.txt +++ b/runtime/doc/windows.txt @@ -106,18 +106,10 @@ This option can be local to the window, so that you can have a different status line in each window. Normally, inversion is used to display the status line. This can be changed -with the 's' character in the 'highlight' option. For example, "sb" sets it to -bold characters. If no highlighting is used for the status line ("sn"), the -'^' character is used for the current window, and '=' for other windows. If -the mouse is supported and enabled with the 'mouse' option, a status line can -be dragged to resize windows. - -Note: If you expect your status line to be in reverse video and it isn't, -check if the 'highlight' option contains "si". In version 3.0, this meant to -invert the status line. Now it should be "sr", reverse the status line, as -"si" now stands for italic! If italic is not available on your terminal, the -status line is inverted anyway; you will only see this problem on terminals -that have |terminfo| capabilities for italics. +with the |hl-StatusLine| highlight group. If no highlighting is used for the +status line, the '^' character is used for the current window, and '=' for +other windows. If 'mouse' is enabled, a status line can be dragged to resize +windows. ============================================================================== 3. Opening and closing a window *opening-window* *E36* @@ -319,8 +311,9 @@ CTRL-W CTRL-C *CTRL-W_CTRL-C* *:hide* :hid[e] :{count}hid[e] - Quit the current window, unless it is the last window on the - screen. For {count} see |:quit|. + Without {count}: Quit the current window, unless it is the + last window on the screen. + If {count} is given quit the {count} window. The buffer becomes hidden (unless there is another window editing it or 'bufhidden' is `unload`, `delete` or `wipe`). @@ -594,7 +587,8 @@ The minimal height and width of a window is set with 'winminheight' and 41. :buffers list of buffers The meaning of [N] depends on the command: - [N] is number of buffers to go forward/backward on ?2, ?3, and ?4 + [N] is the number of buffers to go forward/backward on 2/12/22/32, + 3/13/23/33, and 4/14/24/34 [N] is an argument number, defaulting to current argument, for 1 and 21 [N] is a buffer number, defaulting to current buffer, for 11 and 31 [N] is a count for 19 and 39 @@ -1002,6 +996,9 @@ list of buffers. |unlisted-buffer| displayed in a window |hidden-buffer| - a buffer with 'modifiable' off = a readonly buffer + R a terminal buffer with a running job + F a terminal buffer with a finished job + ? a terminal buffer without a job: `:terminal NONE` + a modified buffer x a buffer with read errors @@ -1246,6 +1243,9 @@ help Contains a help file. Will only be created with the |:help| and can't be changed. The 'buflisted' option will be reset for a help buffer. +terminal A terminal window buffer, see |terminal|. The contents cannot + be read or changed until the job ends. + directory Displays directory contents. Can be used by a file explorer plugin. The buffer is created with these settings: > :setlocal buftype=nowrite diff --git a/runtime/filetype.vim b/runtime/filetype.vim index 79fbcbca00..76f76af345 100644 --- a/runtime/filetype.vim +++ b/runtime/filetype.vim @@ -1,7 +1,7 @@ " Vim support file to detect file types " " Maintainer: Bram Moolenaar <Bram@vim.org> -" Last Change: 2017 Mar 13 +" Last Change: 2017 Nov 02 " Listen very carefully, I will say this only once if exists("did_load_filetypes") @@ -284,14 +284,15 @@ au BufNewFile,BufRead *.bib setf bib au BufNewFile,BufRead *.bst setf bst " BIND configuration -au BufNewFile,BufRead named.conf,rndc.conf setf named +" sudoedit uses namedXXXX.conf +au BufNewFile,BufRead named*.conf,rndc*.conf,rndc*.key setf named " BIND zone au BufNewFile,BufRead named.root setf bindzone au BufNewFile,BufRead *.db call s:BindzoneCheck('') func! s:BindzoneCheck(default) - if getline(1).getline(2).getline(3).getline(4) =~ '^; <<>> DiG [0-9.]\+ <<>>\|BIND.*named\|$ORIGIN\|$TTL\|IN\s\+SOA' + if getline(1).getline(2).getline(3).getline(4) =~ '^; <<>> DiG [0-9.]\+.* <<>>\|$ORIGIN\|$TTL\|IN\s\+SOA' setf bindzone elseif a:default != '' exe 'setf ' . a:default @@ -626,7 +627,13 @@ au BufNewFile,BufRead dict.conf,.dictrc setf dictconf au BufNewFile,BufRead dictd.conf setf dictdconf " Diff files -au BufNewFile,BufRead *.diff,*.rej,*.patch setf diff +au BufNewFile,BufRead *.diff,*.rej setf diff +au BufNewFile,BufRead *.patch + \ if getline(1) =~ '^From [0-9a-f]\{40\} Mon Sep 17 00:00:00 2001$' | + \ setf gitsendemail | + \ else | + \ setf diff | + \ endif " Dircolors au BufNewFile,BufRead .dir_colors,.dircolors,*/etc/DIR_COLORS setf dircolors @@ -795,6 +802,7 @@ if !empty($XDG_CONFIG_HOME) au BufNewFile,BufRead $XDG_CONFIG_HOME/git/config setf gitconfig endif au BufNewFile,BufRead git-rebase-todo setf gitrebase +au BufRead,BufNewFile .gitsendemail.msg.?????? setf gitsendemail au BufNewFile,BufRead .msg.[0-9]* \ if getline(1) =~ '^From.*# This line is ignored.$' | \ setf gitsendemail | @@ -975,7 +983,7 @@ au BufNewFile,BufRead */etc/initng/*/*.i,*.ii setf initng " Innovation Data Processing au BufRead,BufNewFile upstream.dat\c,upstream.*.dat\c,*.upstream.dat\c setf upstreamdat -au BufRead,BufNewFile upstream.log\c,upstream.*.log\c,*.upstream.log\c setf upstreamlog +au BufRead,BufNewFile fdrupstream.log,upstream.log\c,upstream.*.log\c,*.upstream.log\c,UPSTREAM-*.log\c setf upstreamlog au BufRead,BufNewFile upstreaminstall.log\c,upstreaminstall.*.log\c,*.upstreaminstall.log\c setf upstreaminstalllog au BufRead,BufNewFile usserver.log\c,usserver.*.log\c,*.usserver.log\c setf usserverlog au BufRead,BufNewFile usw2kagt.log\c,usw2kagt.*.log\c,*.usw2kagt.log\c setf usw2kagtlog @@ -1139,8 +1147,8 @@ au BufNewFile,BufRead *.m4 " MaGic Point au BufNewFile,BufRead *.mgp setf mgp -" Mail (for Elm, trn, mutt, muttng, rn, slrn) -au BufNewFile,BufRead snd.\d\+,.letter,.letter.\d\+,.followup,.article,.article.\d\+,pico.\d\+,mutt{ng,}-*-\w\+,mutt[[:alnum:]_-]\\\{6\},ae\d\+.txt,/tmp/SLRN[0-9A-Z.]\+,*.eml setf mail +" Mail (for Elm, trn, mutt, muttng, rn, slrn, neomutt) +au BufNewFile,BufRead snd.\d\+,.letter,.letter.\d\+,.followup,.article,.article.\d\+,pico.\d\+,mutt{ng,}-*-\w\+,mutt[[:alnum:]_-]\\\{6\},neomutt-*-\w\+,neomutt[[:alnum:]_-]\\\{6\},ae\d\+.txt,/tmp/SLRN[0-9A-Z.]\+,*.eml setf mail " Mail aliases au BufNewFile,BufRead */etc/mail/aliases,*/etc/aliases setf mailaliases @@ -1316,6 +1324,9 @@ au BufNewFile,BufRead */etc/nanorc,*.nanorc setf nanorc " Natural au BufNewFile,BufRead *.NS[ACGLMNPS] setf natural +" Noemutt setup file +au BufNewFile,BufRead Neomuttrc setf neomuttrc + " Netrc au BufNewFile,BufRead .netrc setf netrc @@ -1407,14 +1418,17 @@ au BufNewFile,BufRead *.dpr setf pascal " PDF au BufNewFile,BufRead *.pdf setf pdf +" PCMK - HAE - crm configure edit +au BufNewFile,BufRead *.pcmk setf pcmk + " Perl if has("fname_case") au BufNewFile,BufRead *.pl,*.PL call s:FTpl() else au BufNewFile,BufRead *.pl call s:FTpl() endif -au BufNewFile,BufRead *.plx,*.al setf perl -au BufNewFile,BufRead *.p6,*.pm6,*.pl6 setf perl6 +au BufNewFile,BufRead *.plx,*.al,*.psgi setf perl +au BufNewFile,BufRead *.p6,*.pm6,*.pl6 setf perl6 func! s:FTpl() if exists("g:filetype_pl") @@ -1801,6 +1815,9 @@ au BufNewFile,BufRead *.sa setf sather " Scala au BufNewFile,BufRead *.scala setf scala +" SBT - Scala Build Tool +au BufNewFile,BufRead *.sbt setf sbt + " Scilab au BufNewFile,BufRead *.sci,*.sce setf scilab @@ -2127,7 +2144,10 @@ au BufNewFile,BufRead ssh_config,*/.ssh/config setf sshconfig au BufNewFile,BufRead sshd_config setf sshdconfig " Stata -au BufNewFile,BufRead *.ado,*.class,*.do,*.imata,*.mata setf stata +au BufNewFile,BufRead *.ado,*.do,*.imata,*.mata setf stata +" Also *.class, but not when it's a Java bytecode file +au BufNewFile,BufRead *.class + \ if getline(1) !~ "^\xca\xfe\xba\xbe" | setf stata | endif " SMCL au BufNewFile,BufRead *.hlp,*.ihlp,*.smcl setf smcl @@ -2222,6 +2242,8 @@ func! s:FTtex() let format = tolower(matchstr(firstline, '\a\+')) let format = substitute(format, 'pdf', '', '') if format == 'tex' + let format = 'latex' + elseif format == 'plaintex' let format = 'plain' endif else @@ -2392,6 +2414,9 @@ au BufNewFile,BufRead *.wbt setf winbatch " WSML au BufNewFile,BufRead *.wsml setf wsml +" WPL +au BufNewFile,BufRead *.wpl setf xml + " WvDial au BufNewFile,BufRead wvdial.conf,.wvdialrc setf wvdial @@ -2667,7 +2692,7 @@ au BufNewFile,BufRead [mM]akefile* call s:StarSetf('make') au BufNewFile,BufRead [rR]akefile* call s:StarSetf('ruby') " Mail (also matches muttrc.vim, so this is below the other checks) -au BufNewFile,BufRead mutt[[:alnum:]._-]\\\{6\} setf mail +au BufNewFile,BufRead {neo,}mutt[[:alnum:]._-]\\\{6\} setf mail au BufNewFile,BufRead reportbug-* call s:StarSetf('mail') @@ -2682,6 +2707,10 @@ au BufNewFile,BufRead */etc/modprobe.* call s:StarSetf('modconf') 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') +" Neomutt setup file +au BufNewFile,BufRead .neomuttrc*,*/.neomutt/neomuttrc* call s:StarSetf('neomuttrc') +au BufNewFile,BufRead neomuttrc*,Neomuttrc* call s:StarSetf('neomuttrc') + " Nroff macros au BufNewFile,BufRead tmac.* call s:StarSetf('nroff') diff --git a/runtime/ftplugin/c.vim b/runtime/ftplugin/c.vim index 3717ea92a9..6047f9f863 100644 --- a/runtime/ftplugin/c.vim +++ b/runtime/ftplugin/c.vim @@ -1,7 +1,7 @@ " Vim filetype plugin file " Language: C " Maintainer: Bram Moolenaar <Bram@vim.org> -" Last Change: 2016 Jun 12 +" Last Change: 2017 Sep 28 " Only do this when not done yet for this buffer if exists("b:did_ftplugin") @@ -30,8 +30,8 @@ endif setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,:// " When the matchit plugin is loaded, this makes the % command skip parens and -" braces in comments. -let b:match_words = &matchpairs . ',^\s*#\s*if\(\|def\|ndef\)\>:^\s*#\s*elif\>:^\s*#\s*else\>:^\s*#\s*endif\>' +" braces in comments properly. +let b:match_words = '^\s*#\s*if\(\|def\|ndef\)\>:^\s*#\s*elif\>:^\s*#\s*else\>:^\s*#\s*endif\>' let b:match_skip = 's:comment\|string\|character\|special' " Win32 can filter files in the browse dialog diff --git a/runtime/ftplugin/gdb.vim b/runtime/ftplugin/gdb.vim new file mode 100644 index 0000000000..2473b13af0 --- /dev/null +++ b/runtime/ftplugin/gdb.vim @@ -0,0 +1,12 @@ +" Vim filetype plugin file +" Language: gdb +" Maintainer: Michaël Peeters <NOSPAMm.vim@noekeon.org> +" Last Changed: 26 Oct 2017 + +if exists("b:did_ftplugin") | finish | endif +let b:did_ftplugin = 1 + +setlocal commentstring=#%s + +" Undo the stuff we changed. +let b:undo_ftplugin = "setlocal cms<" diff --git a/runtime/ftplugin/hamster.vim b/runtime/ftplugin/hamster.vim index 29711fb093..6c0630fe04 100644 --- a/runtime/ftplugin/hamster.vim +++ b/runtime/ftplugin/hamster.vim @@ -2,7 +2,7 @@ " Language: Hamster Script " Version: 2.0.6.0 " Maintainer: David Fishburn <dfishburn dot vim at gmail dot com> -" Last Change: 2017 Mar 07 +" Last Change: 2017 Mar 18 " Only do this when not done yet for this buffer if exists("b:did_ftplugin") @@ -14,7 +14,6 @@ let b:did_ftplugin = 1 let s:cpo_save = &cpo set cpo&vim -set cpo-=C let b:undo_ftplugin = "setl fo< com< tw< commentstring<" \ . "| unlet! b:match_ignorecase b:match_words b:match_skip" diff --git a/runtime/ftplugin/neomuttrc.vim b/runtime/ftplugin/neomuttrc.vim new file mode 100644 index 0000000000..86f1cded63 --- /dev/null +++ b/runtime/ftplugin/neomuttrc.vim @@ -0,0 +1,23 @@ +" Vim filetype plugin file +" Language: NeoMutt RC File +" Previous Maintainer: Guillaume Brogi <gui-gui@netcourrier.com> +" Latest Revision: 2017-09-17 +" Original version copied from ftplugin/muttrc.vim + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< inc< fo<" + +setlocal comments=:# commentstring=#\ %s +setlocal formatoptions-=t formatoptions+=croql + +let &l:include = '^\s*source\>' + +let &cpo = s:cpo_save +unlet s:cpo_save diff --git a/runtime/ftplugin/perl.vim b/runtime/ftplugin/perl.vim index 741cfae047..e7acf654f3 100644 --- a/runtime/ftplugin/perl.vim +++ b/runtime/ftplugin/perl.vim @@ -3,7 +3,7 @@ " Maintainer: vim-perl <vim-perl@googlegroups.com> " Homepage: http://github.com/vim-perl/vim-perl " Bugs/requests: http://github.com/vim-perl/vim-perl/issues -" Last Change: 2013-07-21 +" Last Change: 2015-02-09 if exists("b:did_ftplugin") | finish | endif let b:did_ftplugin = 1 @@ -33,14 +33,14 @@ endif setlocal include=\\<\\(use\\\|require\\)\\> setlocal includeexpr=substitute(substitute(substitute(v:fname,'::','/','g'),'->\*','',''),'$','.pm','') setlocal define=[^A-Za-z_] +setlocal iskeyword+=: " The following line changes a global variable but is necessary to make -" gf and similar commands work. The change to iskeyword was incorrect. -" Thanks to Andrew Pimlott for pointing out the problem. If this causes a -" problem for you, add an after/ftplugin/perl.vim file that contains +" gf and similar commands work. Thanks to Andrew Pimlott for pointing +" out the problem. If this causes a problem for you, add an +" after/ftplugin/perl.vim file that contains " set isfname-=: set isfname+=: -set iskeyword+=: " Set this once, globally. if !exists("perlpath") @@ -77,11 +77,12 @@ endif "--------------------------------------------- " Undo the stuff we changed. -let b:undo_ftplugin = "setlocal fo< com< cms< inc< inex< def< isf< kp< path<" . +let b:undo_ftplugin = "setlocal fo< com< cms< inc< inex< def< isk< isf< kp< path<" . \ " | unlet! b:browsefilter" " proper matching for matchit plugin let b:match_skip = 's:comment\|string\|perlQQ\|perlShellCommand\|perlHereDoc\|perlSubstitution\|perlTranslation\|perlMatch\|perlFormatField' +let b:match_words = '\<if\>:\<elsif\>:\<else\>' " Restore the saved compatibility options. let &cpo = s:save_cpo diff --git a/runtime/ftplugin/python.vim b/runtime/ftplugin/python.vim index 546e3bd560..d52a338b5b 100644 --- a/runtime/ftplugin/python.vim +++ b/runtime/ftplugin/python.vim @@ -1,9 +1,10 @@ " Vim filetype plugin file " Language: python -" Maintainer: James Sully <sullyj3@gmail.com> +" Maintainer: Tom Picton <tom@tompicton.co.uk> +" Previous Maintainer: James Sully <sullyj3@gmail.com> " Previous Maintainer: Johannes Zellner <johannes@zellner.org> -" Last Change: Tue, 09 October 2016 -" https://github.com/sullyj3/vim-ftplugin-python +" Last Change: Fri, 20 October 2017 +" https://github.com/tpict/vim-ftplugin-python if exists("b:did_ftplugin") | finish | endif let b:did_ftplugin = 1 @@ -24,31 +25,51 @@ set wildignore+=*.pyc let b:next_toplevel='\v%$\|^(class\|def\|async def)>' let b:prev_toplevel='\v^(class\|def\|async def)>' +let b:next_endtoplevel='\v%$\|\S.*\n+(def\|class)' +let b:prev_endtoplevel='\v\S.*\n+(def\|class)' let b:next='\v%$\|^\s*(class\|def\|async def)>' let b:prev='\v^\s*(class\|def\|async def)>' +let b:next_end='\v\S\n*(%$\|^\s*(class\|def\|async def)\|^\S)' +let b:prev_end='\v\S\n*(^\s*(class\|def\|async def)\|^\S)' execute "nnoremap <silent> <buffer> ]] :call <SID>Python_jump('n', '". b:next_toplevel."', 'W')<cr>" execute "nnoremap <silent> <buffer> [[ :call <SID>Python_jump('n', '". b:prev_toplevel."', 'Wb')<cr>" +execute "nnoremap <silent> <buffer> ][ :call <SID>Python_jump('n', '". b:next_endtoplevel."', 'W', 0)<cr>" +execute "nnoremap <silent> <buffer> [] :call <SID>Python_jump('n', '". b:prev_endtoplevel."', 'Wb', 0)<cr>" execute "nnoremap <silent> <buffer> ]m :call <SID>Python_jump('n', '". b:next."', 'W')<cr>" execute "nnoremap <silent> <buffer> [m :call <SID>Python_jump('n', '". b:prev."', 'Wb')<cr>" +execute "nnoremap <silent> <buffer> ]M :call <SID>Python_jump('n', '". b:next_end."', 'W', 0)<cr>" +execute "nnoremap <silent> <buffer> [M :call <SID>Python_jump('n', '". b:prev_end."', 'Wb', 0)<cr>" execute "onoremap <silent> <buffer> ]] :call <SID>Python_jump('o', '". b:next_toplevel."', 'W')<cr>" execute "onoremap <silent> <buffer> [[ :call <SID>Python_jump('o', '". b:prev_toplevel."', 'Wb')<cr>" +execute "onoremap <silent> <buffer> ][ :call <SID>Python_jump('n', '". b:next_endtoplevel."', 'W', 0)<cr>" +execute "onoremap <silent> <buffer> [] :call <SID>Python_jump('n', '". b:prev_endtoplevel."', 'Wb', 0)<cr>" execute "onoremap <silent> <buffer> ]m :call <SID>Python_jump('o', '". b:next."', 'W')<cr>" execute "onoremap <silent> <buffer> [m :call <SID>Python_jump('o', '". b:prev."', 'Wb')<cr>" +execute "onoremap <silent> <buffer> ]M :call <SID>Python_jump('o', '". b:next_end."', 'W', 0)<cr>" +execute "onoremap <silent> <buffer> [M :call <SID>Python_jump('o', '". b:prev_end."', 'Wb', 0)<cr>" execute "xnoremap <silent> <buffer> ]] :call <SID>Python_jump('x', '". b:next_toplevel."', 'W')<cr>" execute "xnoremap <silent> <buffer> [[ :call <SID>Python_jump('x', '". b:prev_toplevel."', 'Wb')<cr>" +execute "xnoremap <silent> <buffer> ][ :call <SID>Python_jump('n', '". b:next_endtoplevel."', 'W', 0)<cr>" +execute "xnoremap <silent> <buffer> [] :call <SID>Python_jump('n', '". b:prev_endtoplevel."', 'Wb', 0)<cr>" execute "xnoremap <silent> <buffer> ]m :call <SID>Python_jump('x', '". b:next."', 'W')<cr>" execute "xnoremap <silent> <buffer> [m :call <SID>Python_jump('x', '". b:prev."', 'Wb')<cr>" +execute "xnoremap <silent> <buffer> ]M :call <SID>Python_jump('x', '". b:next_end."', 'W', 0)<cr>" +execute "xnoremap <silent> <buffer> [M :call <SID>Python_jump('x', '". b:prev_end."', 'Wb', 0)<cr>" if !exists('*<SID>Python_jump') - fun! <SID>Python_jump(mode, motion, flags) range + fun! <SID>Python_jump(mode, motion, flags, ...) range + let l:startofline = (a:0 >= 1) ? a:1 : 1 + if a:mode == 'x' normal! gv endif - normal! 0 + if l:startofline == 1 + normal! 0 + endif let cnt = v:count1 mark ' @@ -57,7 +78,9 @@ if !exists('*<SID>Python_jump') let cnt = cnt - 1 endwhile - normal! ^ + if l:startofline == 1 + normal! ^ + endif endfun endif diff --git a/runtime/ftplugin/rust.vim b/runtime/ftplugin/rust.vim new file mode 100644 index 0000000000..7efca5985b --- /dev/null +++ b/runtime/ftplugin/rust.vim @@ -0,0 +1,197 @@ +" Language: Rust +" Description: Vim ftplugin for Rust +" Maintainer: Chris Morgan <me@chrismorgan.info> +" Maintainer: Kevin Ballard <kevin@sb.org> +" Last Change: June 08, 2016 +" For bugs, patches and license go to https://github.com/rust-lang/rust.vim + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:save_cpo = &cpo +set cpo&vim + +augroup rust.vim +autocmd! + +" Variables {{{1 + +" The rust source code at present seems to typically omit a leader on /*! +" comments, so we'll use that as our default, but make it easy to switch. +" This does not affect indentation at all (I tested it with and without +" leader), merely whether a leader is inserted by default or not. +if exists("g:rust_bang_comment_leader") && g:rust_bang_comment_leader != 0 + " Why is the `,s0:/*,mb:\ ,ex:*/` there, you ask? I don't understand why, + " but without it, */ gets indented one space even if there were no + " leaders. I'm fairly sure that's a Vim bug. + setlocal comments=s1:/*,mb:*,ex:*/,s0:/*,mb:\ ,ex:*/,:///,://!,:// +else + setlocal comments=s0:/*!,m:\ ,ex:*/,s1:/*,mb:*,ex:*/,:///,://!,:// +endif +setlocal commentstring=//%s +setlocal formatoptions-=t formatoptions+=croqnl +" j was only added in 7.3.541, so stop complaints about its nonexistence +silent! setlocal formatoptions+=j + +" smartindent will be overridden by indentexpr if filetype indent is on, but +" otherwise it's better than nothing. +setlocal smartindent nocindent + +if !exists("g:rust_recommended_style") || g:rust_recommended_style != 0 + setlocal tabstop=4 shiftwidth=4 softtabstop=4 expandtab + setlocal textwidth=99 +endif + +" This includeexpr isn't perfect, but it's a good start +setlocal includeexpr=substitute(v:fname,'::','/','g') + +setlocal suffixesadd=.rs + +if exists("g:ftplugin_rust_source_path") + let &l:path=g:ftplugin_rust_source_path . ',' . &l:path +endif + +if exists("g:loaded_delimitMate") + if exists("b:delimitMate_excluded_regions") + let b:rust_original_delimitMate_excluded_regions = b:delimitMate_excluded_regions + endif + + let s:delimitMate_extra_excluded_regions = ',rustLifetimeCandidate,rustGenericLifetimeCandidate' + + " For this buffer, when delimitMate issues the `User delimitMate_map` + " event in the autocommand system, add the above-defined extra excluded + " regions to delimitMate's state, if they have not already been added. + autocmd User <buffer> + \ if expand('<afile>') ==# 'delimitMate_map' && match( + \ delimitMate#Get("excluded_regions"), + \ s:delimitMate_extra_excluded_regions) == -1 + \| let b:delimitMate_excluded_regions = + \ delimitMate#Get("excluded_regions") + \ . s:delimitMate_extra_excluded_regions + \|endif + + " For this buffer, when delimitMate issues the `User delimitMate_unmap` + " event in the autocommand system, delete the above-defined extra excluded + " regions from delimitMate's state (the deletion being idempotent and + " having no effect if the extra excluded regions are not present in the + " targeted part of delimitMate's state). + autocmd User <buffer> + \ if expand('<afile>') ==# 'delimitMate_unmap' + \| let b:delimitMate_excluded_regions = substitute( + \ delimitMate#Get("excluded_regions"), + \ '\C\V' . s:delimitMate_extra_excluded_regions, + \ '', 'g') + \|endif +endif + +if has("folding") && exists('g:rust_fold') && g:rust_fold != 0 + let b:rust_set_foldmethod=1 + setlocal foldmethod=syntax + if g:rust_fold == 2 + setlocal foldlevel< + else + setlocal foldlevel=99 + endif +endif + +if has('conceal') && exists('g:rust_conceal') && g:rust_conceal != 0 + let b:rust_set_conceallevel=1 + setlocal conceallevel=2 +endif + +" Motion Commands {{{1 + +" Bind motion commands to support hanging indents +nnoremap <silent> <buffer> [[ :call rust#Jump('n', 'Back')<CR> +nnoremap <silent> <buffer> ]] :call rust#Jump('n', 'Forward')<CR> +xnoremap <silent> <buffer> [[ :call rust#Jump('v', 'Back')<CR> +xnoremap <silent> <buffer> ]] :call rust#Jump('v', 'Forward')<CR> +onoremap <silent> <buffer> [[ :call rust#Jump('o', 'Back')<CR> +onoremap <silent> <buffer> ]] :call rust#Jump('o', 'Forward')<CR> + +" Commands {{{1 + +" See |:RustRun| for docs +command! -nargs=* -complete=file -bang -buffer RustRun call rust#Run(<bang>0, <q-args>) + +" See |:RustExpand| for docs +command! -nargs=* -complete=customlist,rust#CompleteExpand -bang -buffer RustExpand call rust#Expand(<bang>0, <q-args>) + +" See |:RustEmitIr| for docs +command! -nargs=* -buffer RustEmitIr call rust#Emit("llvm-ir", <q-args>) + +" See |:RustEmitAsm| for docs +command! -nargs=* -buffer RustEmitAsm call rust#Emit("asm", <q-args>) + +" See |:RustPlay| for docs +command! -range=% RustPlay :call rust#Play(<count>, <line1>, <line2>, <f-args>) + +" See |:RustFmt| for docs +command! -buffer RustFmt call rustfmt#Format() + +" See |:RustFmtRange| for docs +command! -range -buffer RustFmtRange call rustfmt#FormatRange(<line1>, <line2>) + +" Mappings {{{1 + +" Bind ⌘R in MacVim to :RustRun +nnoremap <silent> <buffer> <D-r> :RustRun<CR> +" Bind ⌘⇧R in MacVim to :RustRun! pre-filled with the last args +nnoremap <buffer> <D-R> :RustRun! <C-r>=join(b:rust_last_rustc_args)<CR><C-\>erust#AppendCmdLine(' -- ' . join(b:rust_last_args))<CR> + +if !exists("b:rust_last_rustc_args") || !exists("b:rust_last_args") + let b:rust_last_rustc_args = [] + let b:rust_last_args = [] +endif + +" Cleanup {{{1 + +let b:undo_ftplugin = " + \ setlocal formatoptions< comments< commentstring< includeexpr< suffixesadd< + \|setlocal tabstop< shiftwidth< softtabstop< expandtab< textwidth< + \|if exists('b:rust_original_delimitMate_excluded_regions') + \|let b:delimitMate_excluded_regions = b:rust_original_delimitMate_excluded_regions + \|unlet b:rust_original_delimitMate_excluded_regions + \|else + \|unlet! b:delimitMate_excluded_regions + \|endif + \|if exists('b:rust_set_foldmethod') + \|setlocal foldmethod< foldlevel< + \|unlet b:rust_set_foldmethod + \|endif + \|if exists('b:rust_set_conceallevel') + \|setlocal conceallevel< + \|unlet b:rust_set_conceallevel + \|endif + \|unlet! b:rust_last_rustc_args b:rust_last_args + \|delcommand RustRun + \|delcommand RustExpand + \|delcommand RustEmitIr + \|delcommand RustEmitAsm + \|delcommand RustPlay + \|nunmap <buffer> <D-r> + \|nunmap <buffer> <D-R> + \|nunmap <buffer> [[ + \|nunmap <buffer> ]] + \|xunmap <buffer> [[ + \|xunmap <buffer> ]] + \|ounmap <buffer> [[ + \|ounmap <buffer> ]] + \|set matchpairs-=<:> + \" + +" }}}1 + +" Code formatting on save +if get(g:, "rustfmt_autosave", 0) + autocmd BufWritePre *.rs silent! call rustfmt#Format() +endif + +augroup END + +let &cpo = s:save_cpo +unlet s:save_cpo + +" vim: set noet sw=8 ts=8: diff --git a/runtime/ftplugin/sbt.vim b/runtime/ftplugin/sbt.vim new file mode 100644 index 0000000000..309d30e503 --- /dev/null +++ b/runtime/ftplugin/sbt.vim @@ -0,0 +1,15 @@ +" Vim filetype plugin file +" Language: sbt +" Maintainer: Steven Dobay <stevendobay at protonmail.com> +" License: Same as Vim +" Last Change: 2017.04.30 +" ---------------------------------------------------------------------------- + +if exists('b:did_ftplugin') || &cp + finish +endif + +let b:did_ftplugin = 1 + +runtime! ftplugin/scala.vim + diff --git a/runtime/ftplugin/verilog.vim b/runtime/ftplugin/verilog.vim index 6594f2ea90..cbf30a3185 100644 --- a/runtime/ftplugin/verilog.vim +++ b/runtime/ftplugin/verilog.vim @@ -1,8 +1,12 @@ " Vim filetype plugin file " Language: Verilog HDL -" Maintainer: Chih-Tsun Huang <cthuang@larc.ee.nthu.edu.tw> -" Last Change: Wed Sep 3 15:24:49 CST 2008 -" URL: http://larc.ee.nthu.edu.tw/~cthuang/vim/ftplugin/verilog.vim +" Maintainer: Chih-Tsun Huang <cthuang@cs.nthu.edu.tw> +" Last Change: 2017 Aug 25 by Chih-Tsun Huang +" URL: http://www.cs.nthu.edu.tw/~cthuang/vim/ftplugin/verilog.vim +" +" Credits: +" Suggestions for improvement, bug reports by +" Shao <shaominghai2005@163.com> " Only do this when not done yet for this buffer if exists("b:did_ftplugin") @@ -45,11 +49,16 @@ if exists("loaded_matchit") \ '\<begin\>:\<end\>,' . \ '\<case\>\|\<casex\>\|\<casez\>:\<endcase\>,' . \ '\<module\>:\<endmodule\>,' . - \ '\<if\>:\<else\>,' . + \ '\<if\>:`\@<!\<else\>,' . \ '\<function\>:\<endfunction\>,' . - \ '`ifdef\>:`else\>:`endif\>,' . + \ '`ifn\?def\>:`elsif\>:`else\>:`endif\>,' . \ '\<task\>:\<endtask\>,' . - \ '\<specify\>:\<endspecify\>' + \ '\<specify\>:\<endspecify\>,' . + \ '\<config\>:\<endconfig\>,' . + \ '\<generate\>:\<endgenerate\>,' . + \ '\<fork\>:\<join\>,' . + \ '\<primitive\>:\<endprimitive\>,' . + \ '\<table\>:\<endtable\>' endif " Reset 'cpoptions' back to the user's setting diff --git a/runtime/ftplugin/zsh.vim b/runtime/ftplugin/zsh.vim index 6cbc380dc3..c03a9466a1 100644 --- a/runtime/ftplugin/zsh.vim +++ b/runtime/ftplugin/zsh.vim @@ -1,10 +1,10 @@ " Vim filetype plugin file -" Language: Zsh shell script -" Maintainer: Christian Brabandt <cb@256bit.org> -" Previous Maintainer: Nikolai Weibull <now@bitwi.se> -" Latest Revision: 2015-05-29 -" License: Vim (see :h license) -" Repository: https://github.com/chrisbra/vim-zsh +" Language: Zsh shell script +" Maintainer: Christian Brabandt <cb@256bit.org> +" Previous Maintainer: Nikolai Weibull <now@bitwi.se> +" Latest Revision: 2015-05-29 +" License: Vim (see :h license) +" Repository: https://github.com/chrisbra/vim-zsh if exists("b:did_ftplugin") finish diff --git a/runtime/indent/ada.vim b/runtime/indent/ada.vim index 575f326454..1ca7fbacbe 100644 --- a/runtime/indent/ada.vim +++ b/runtime/indent/ada.vim @@ -87,7 +87,7 @@ function s:MainBlockIndent (prev_indent, prev_lnum, blockstart, stop_at) endwhile endwhile " Fallback - just move back one - return a:prev_indent - &sw + return a:prev_indent - shiftwidth() endfunction MainBlockIndent " Section: s:EndBlockIndent {{{1 @@ -131,7 +131,7 @@ function s:EndBlockIndent( prev_indent, prev_lnum, blockstart, blockend ) endwhile endwhile " Fallback - just move back one - return a:prev_indent - &sw + return a:prev_indent - shiftwidth() endfunction EndBlockIndent " Section: s:StatementIndent {{{1 @@ -213,15 +213,15 @@ function GetAdaIndent() endif " Move indent in if ! false_match - let ind = ind + &sw + let ind = ind + shiftwidth() endif elseif line =~ '^\s*\(case\|exception\)\>' " Move indent in twice (next 'when' will move back) - let ind = ind + 2 * &sw + let ind = ind + 2 * shiftwidth() elseif line =~ '^\s*end\s*record\>' - " Move indent back to tallying 'type' preceding the 'record'. + " Move indent back to tallying 'type' preceeding the 'record'. " Allow indent to be equal to 'end record's. - let ind = s:MainBlockIndent( ind+&sw, lnum, 'type\>', '' ) + let ind = s:MainBlockIndent( ind+shiftwidth(), lnum, 'type\>', '' ) elseif line =~ '\(^\s*new\>.*\)\@<!)\s*[;,]\s*$' " Revert to indent of line that started this parenthesis pair exe lnum @@ -235,10 +235,10 @@ function GetAdaIndent() exe v:lnum elseif line =~ '[.=(]\s*$' " A statement continuation - move in one - let ind = ind + &sw + let ind = ind + shiftwidth() elseif line =~ '^\s*new\>' " Multiple line generic instantiation ('package blah is\nnew thingy') - let ind = s:StatementIndent( ind - &sw, lnum ) + let ind = s:StatementIndent( ind - shiftwidth(), lnum ) elseif line =~ ';\s*$' " Statement end (but not 'end' ) - try to find current statement-start indent let ind = s:StatementIndent( ind, lnum ) @@ -256,17 +256,17 @@ function GetAdaIndent() elseif continuation && line =~ '^\s*(' " Don't do this if we've already indented due to the previous line if ind == initind - let ind = ind + &sw + let ind = ind + shiftwidth() endif elseif line =~ '^\s*\(begin\|is\)\>' let ind = s:MainBlockIndent( ind, lnum, '\(procedure\|function\|declare\|package\|task\)\>', 'begin\>' ) elseif line =~ '^\s*record\>' - let ind = s:MainBlockIndent( ind, lnum, 'type\>\|for\>.*\<use\>', '' ) + &sw + let ind = s:MainBlockIndent( ind, lnum, 'type\>\|for\>.*\<use\>', '' ) + shiftwidth() elseif line =~ '^\s*\(else\|elsif\)\>' let ind = s:MainBlockIndent( ind, lnum, 'if\>', '' ) elseif line =~ '^\s*when\>' " Align 'when' one /in/ from matching block start - let ind = s:MainBlockIndent( ind, lnum, '\(case\|exception\)\>', '' ) + &sw + let ind = s:MainBlockIndent( ind, lnum, '\(case\|exception\)\>', '' ) + shiftwidth() elseif line =~ '^\s*end\>\s*\<if\>' " End of if statements let ind = s:EndBlockIndent( ind, lnum, 'if\>', 'end\>\s*\<if\>' ) diff --git a/runtime/indent/awk.vim b/runtime/indent/awk.vim index 6f6b70cc4e..aad73ee71f 100644 --- a/runtime/indent/awk.vim +++ b/runtime/indent/awk.vim @@ -60,7 +60,7 @@ function! GetAwkIndent() " 'pattern { action }' (simple check match on /{/ increases the indent then) if s:Get_brace_balance( prev_data, '{', '}' ) > 0 - return ind + &sw + return ind + shiftwidth() endif let brace_balance = s:Get_brace_balance( prev_data, '(', ')' ) @@ -99,7 +99,7 @@ function! GetAwkIndent() return s:Safe_indent( ind, s:First_word_len(prev_data), getline(v:lnum)) else " if/for/while without '{' - return ind + &sw + return ind + shiftwidth() endif endif endif @@ -140,7 +140,7 @@ function! GetAwkIndent() " Decrease indent if this line contains a '}'. if getline(v:lnum) =~ '^\s*}' - let ind = ind - &sw + let ind = ind - shiftwidth() endif return ind diff --git a/runtime/indent/bst.vim b/runtime/indent/bst.vim index be1f63e8e9..47e3058810 100644 --- a/runtime/indent/bst.vim +++ b/runtime/indent/bst.vim @@ -69,7 +69,7 @@ function! GetBstIndent(lnum) abort endif let fakeline = substitute(line,'^}','','').matchstr(cline,'^}') let ind = indent(lnum) - let ind = ind + &sw * s:count(line,'{') - let ind = ind - &sw * s:count(fakeline,'}') + let ind = ind + shiftwidth() * s:count(line,'{') + let ind = ind - shiftwidth() * s:count(fakeline,'}') return ind endfunction diff --git a/runtime/indent/bzl.vim b/runtime/indent/bzl.vim index 24e5b870cd..6904bfdedb 100644 --- a/runtime/indent/bzl.vim +++ b/runtime/indent/bzl.vim @@ -1,7 +1,7 @@ " Vim indent file " Language: Bazel (http://bazel.io) " Maintainer: David Barnett (https://github.com/google/vim-ft-bzl) -" Last Change: 2015 Aug 11 +" Last Change: 2017 Jun 13 if exists('b:did_indent') finish @@ -41,11 +41,8 @@ function GetBzlIndent(lnum) abort if exists('g:pyindent_open_paren') let l:pyindent_open_paren = g:pyindent_open_paren endif - " Vim 7.3.693 and later defines a shiftwidth() function to get the effective - " shiftwidth value. Fall back to &shiftwidth if the function doesn't exist. - let l:sw_expr = exists('*shiftwidth') ? 'shiftwidth()' : '&shiftwidth' - let g:pyindent_nested_paren = l:sw_expr . ' * 2' - let g:pyindent_open_paren = l:sw_expr . ' * 2' + let g:pyindent_nested_paren = 'shiftwidth() * 2' + let g:pyindent_open_paren = 'shiftwidth() * 2' endif let l:indent = -1 diff --git a/runtime/indent/cdl.vim b/runtime/indent/cdl.vim index 5ec2a7b21a..5fae7b9046 100644 --- a/runtime/indent/cdl.vim +++ b/runtime/indent/cdl.vim @@ -47,7 +47,7 @@ fun! CdlGetIndent(lnum) let thisline = getline(a:lnum) if match(thisline, '^\s*\(\k\+\|\[[^]]*]\)\s*\(,\|;\s*$\)') >= 0 " it's an attributes line - return &sw + return shiftwidth() elseif match(thisline, '^\c\s*\([{}]\|\/[*/]\|dimension\|schedule\|group\|hierarchy\|class\)') >= 0 " it's a header or '{' or '}' or a comment return 0 @@ -71,13 +71,13 @@ fun! CdlGetIndent(lnum) let c = line[inicio-1] " ')' and '=' don't change indent and are useless to set 'f' if c == '{' - return &sw + return shiftwidth() elseif c != ')' && c != '=' let f = 1 " all but 'elseif' are followed by a formula if c ==? 'n' || c ==? 'e' " 'then', 'else' - let ind = ind + &sw + let ind = ind + shiftwidth() elseif strpart(line, inicio-6, 6) ==? 'elseif' " elseif, set f to conditional - let ind = ind + &sw + let ind = ind + shiftwidth() let f = 0 end end @@ -98,16 +98,16 @@ fun! CdlGetIndent(lnum) let ind = 0 let f = 1 elseif c == ')' || c== ';' || strpart(line, inicio-5, 5) ==? 'endif' - let ind = ind - &sw + let ind = ind - shiftwidth() elseif c == '(' || c ==? 'f' " '(' or 'if' - let ind = ind + &sw + let ind = ind + shiftwidth() else " c == '=' " if it is an asignment increase indent if f == -1 " we don't know yet, find out let f = CdlAsignment(lnum, strpart(line, 0, inicio)) end if f == 1 " formula increase it - let ind = ind + &sw + let ind = ind + shiftwidth() end end endw @@ -115,13 +115,13 @@ fun! CdlGetIndent(lnum) " CURRENT LINE, if it starts with a closing element, decrease indent " or if it starts with '=' (asignment), increase indent if match(thisline, '^\c\s*\(else\|then\|endif\|[);]\)') >= 0 - let ind = ind - &sw + let ind = ind - shiftwidth() elseif match(thisline, '^\s*=') >= 0 if f == -1 " we don't know yet if is an asignment, find out let f = CdlAsignment(lnum, "") end if f == 1 " formula increase it - let ind = ind + &sw + let ind = ind + shiftwidth() end end diff --git a/runtime/indent/chaiscript.vim b/runtime/indent/chaiscript.vim index 247e1a6e4c..445281cc46 100644 --- a/runtime/indent/chaiscript.vim +++ b/runtime/indent/chaiscript.vim @@ -31,19 +31,19 @@ function! GetChaiScriptIndent() let flag = 0 let prevline = getline(lnum) if prevline =~ '^.*{.*' - let ind = ind + &shiftwidth + let ind = ind + shiftwidth() let flag = 1 endif " Subtract a 'shiftwidth' after lines containing a { followed by a } " to keep it balanced if flag == 1 && prevline =~ '.*{.*}.*' - let ind = ind - &shiftwidth + let ind = ind - shiftwidth() endif " Subtract a 'shiftwidth' on lines ending with } if getline(v:lnum) =~ '^\s*\%(}\)' - let ind = ind - &shiftwidth + let ind = ind - shiftwidth() endif return ind diff --git a/runtime/indent/clojure.vim b/runtime/indent/clojure.vim index 7592b10d7d..7c4186e29b 100644 --- a/runtime/indent/clojure.vim +++ b/runtime/indent/clojure.vim @@ -261,7 +261,7 @@ if exists("*searchpairpos") call cursor(paren) if s:is_method_special_case(paren) - return [paren[0], paren[1] + &shiftwidth - 1] + return [paren[0], paren[1] + shiftwidth() - 1] endif if s:is_reader_conditional_special_case(paren) @@ -299,19 +299,19 @@ if exists("*searchpairpos") let ww = s:strip_namespace_and_macro_chars(w) if &lispwords =~# '\V\<' . ww . '\>' - return [paren[0], paren[1] + &shiftwidth - 1] + return [paren[0], paren[1] + shiftwidth() - 1] endif if g:clojure_fuzzy_indent \ && !s:match_one(g:clojure_fuzzy_indent_blacklist, ww) \ && s:match_one(g:clojure_fuzzy_indent_patterns, ww) - return [paren[0], paren[1] + &shiftwidth - 1] + return [paren[0], paren[1] + shiftwidth() - 1] endif call search('\v\_s', 'cW') call search('\v\S', 'W') if paren[0] < line(".") - return [paren[0], paren[1] + (g:clojure_align_subforms ? 0 : &shiftwidth - 1)] + return [paren[0], paren[1] + (g:clojure_align_subforms ? 0 : shiftwidth() - 1)] endif call search('\v\S', 'bW') diff --git a/runtime/indent/cmake.vim b/runtime/indent/cmake.vim index 421afcb6d7..845bdd7655 100644 --- a/runtime/indent/cmake.vim +++ b/runtime/indent/cmake.vim @@ -1,14 +1,12 @@ " Vim indent file -" Program: CMake - Cross-Platform Makefile Generator -" Module: $RCSfile: cmake-indent.vim,v $ " Language: CMake (ft=cmake) " Author: Andy Cedilnik <andy.cedilnik@kitware.com> -" Maintainer: Karthik Krishnan <karthik.krishnan@kitware.com> -" Last Change: $Date: 2008-01-16 16:53:53 $ -" Version: $Revision: 1.9 $ +" Maintainer: Dimitri Merejkowsky <d.merej@gmail.com> +" Former Maintainer: Karthik Krishnan <karthik.krishnan@kitware.com> +" Last Change: 2017 Sep 24 " " Licence: The CMake license applies to this file. See -" http://www.cmake.org/HTML/Copyright.html +" https://cmake.org/licensing " This implies that distribution with Vim is allowed if exists("b:did_indent") @@ -68,19 +66,19 @@ fun! CMakeGetIndent(lnum) let ind = ind else if previous_line =~? cmake_indent_begin_regex - let ind = ind + &sw + let ind = ind + shiftwidth() endif if previous_line =~? cmake_indent_open_regex - let ind = ind + &sw + let ind = ind + shiftwidth() endif endif " Subtract if this_line =~? cmake_indent_end_regex - let ind = ind - &sw + let ind = ind - shiftwidth() endif if previous_line =~? cmake_indent_close_regex - let ind = ind - &sw + let ind = ind - shiftwidth() endif return ind diff --git a/runtime/indent/cobol.vim b/runtime/indent/cobol.vim index 8dce3cd014..c08444ac40 100644 --- a/runtime/indent/cobol.vim +++ b/runtime/indent/cobol.vim @@ -52,11 +52,11 @@ function! s:optionalblock(lnum,ind,blocks,clauses) if getline(lastclause) =~? clauses && s:stripped(lastclause) !~? '^'.begin let ind = indent(lastclause) elseif lastclause > 0 - let ind = indent(lastclause) + &sw - "let ind = ind + &sw + let ind = indent(lastclause) + shiftwidth() + "let ind = ind + shiftwidth() endif elseif line =~? clauses && cline !~? end - let ind = ind + &sw + let ind = ind + shiftwidth() endif return ind endfunction @@ -98,8 +98,8 @@ function! GetCobolIndent(lnum) abort let num = matchstr(line,'^\s*\zs\d\+\>') if 0+cnum == num return lindent - elseif 0+cnum > num && default < lindent + &sw - let default = lindent + &sw + elseif 0+cnum > num && default < lindent + shiftwidth() + let default = lindent + shiftwidth() endif elseif lindent < bshft && lindent >= ashft break @@ -135,13 +135,13 @@ function! GetCobolIndent(lnum) abort if line =~? '^PERFORM\>' let perfline = substitute(line, '\c^PERFORM\s*', "", "") if perfline =~? '^\%(\k\+\s\+TIMES\)\=\s*$' - let ind = ind + &sw + let ind = ind + shiftwidth() elseif perfline =~? '^\%(WITH\s\+TEST\|VARYING\|UNTIL\)\>.*[^.]$' - let ind = ind + &sw + let ind = ind + shiftwidth() endif endif if line =~? '^\%(IF\|THEN\|ELSE\|READ\|EVALUATE\|SEARCH\|SELECT\)\>' - let ind = ind + &sw + let ind = ind + shiftwidth() endif let ind = s:optionalblock(a:lnum,ind,'ADD\|COMPUTE\|DIVIDE\|MULTIPLY\|SUBTRACT','ON\s\+SIZE\s\+ERROR') let ind = s:optionalblock(a:lnum,ind,'STRING\|UNSTRING\|ACCEPT\|DISPLAY\|CALL','ON\s\+OVERFLOW\|ON\s\+EXCEPTION') @@ -157,10 +157,10 @@ function! GetCobolIndent(lnum) abort "&& s:stripped(lastclause) !~? '^\%(SEARCH\|EVALUATE\|READ\)\>' let ind = indent(lastclause) elseif lastclause > 0 - let ind = indent(lastclause) + &sw + let ind = indent(lastclause) + shiftwidth() endif elseif line =~? '^WHEN\>' - let ind = ind + &sw + let ind = ind + shiftwidth() endif "I'm not sure why I had this "if line =~? '^ELSE\>-\@!' && line !~? '\.$' @@ -168,7 +168,7 @@ function! GetCobolIndent(lnum) abort "endif if cline =~? '^\(END\)\>-\@!' " On lines with just END, 'guess' a simple shift left - let ind = ind - &sw + let ind = ind - shiftwidth() elseif cline =~? '^\(END-IF\|THEN\|ELSE\)\>-\@!' call cursor(a:lnum,indent(a:lnum)) let match = searchpair('\c-\@<!\<IF\>','\c-\@<!\%(THEN\|ELSE\)\>','\c-\@<!\<END-IF\>\zs','bnW',s:skip) @@ -209,7 +209,7 @@ function! GetCobolIndent(lnum) abort if match > 0 let ind = indent(match) elseif cline =~? '^\(END-\(READ\|EVALUATE\|SEARCH\|PERFORM\)\)\>' - let ind = ind - &sw + let ind = ind - shiftwidth() endif endif return ind < bshft ? bshft : ind diff --git a/runtime/indent/cucumber.vim b/runtime/indent/cucumber.vim index 999b8d6a76..ad28a67a0d 100644 --- a/runtime/indent/cucumber.vim +++ b/runtime/indent/cucumber.vim @@ -1,7 +1,7 @@ " Vim indent file " Language: Cucumber " Maintainer: Tim Pope <vimNOSPAM@tpope.org> -" Last Change: 2016 Aug 29 +" Last Change: 2017 Jun 13 if exists("b:did_indent") finish @@ -27,7 +27,7 @@ function! GetCucumberIndent() let line = getline(prevnonblank(v:lnum-1)) let cline = getline(v:lnum) let nline = getline(nextnonblank(v:lnum+1)) - let sw = exists('*shiftwidth') ? shiftwidth() : &sw + let sw = exists('*shiftwidth') ? shiftwidth() : shiftwidth() let syn = s:syn(prevnonblank(v:lnum-1)) let csyn = s:syn(v:lnum) let nsyn = s:syn(nextnonblank(v:lnum+1)) diff --git a/runtime/indent/dylan.vim b/runtime/indent/dylan.vim index 0afcbeada7..6811ec4af5 100644 --- a/runtime/indent/dylan.vim +++ b/runtime/indent/dylan.vim @@ -1,7 +1,7 @@ " Vim indent file " Language: Dylan " Version: 0.01 -" Last Change: 2003 Feb 04 +" Last Change: 2017 Jun 13 " Maintainer: Brent A. Fulgham <bfulgham@debian.org> " Only load this indent file when no other was loaded. @@ -45,13 +45,13 @@ function DylanGetIndent() " If previous line was a 'define', indent if prevline =~? '\(^\s*\(begin\|block\|case\|define\|else\|elseif\|for\|finally\|if\|select\|unless\|while\)\|\s*\S*\s*=>$\)' - let chg = &sw + let chg = shiftwidth() " local methods indent the shift-width, plus 6 for the 'local' elseif prevline =~? '^\s*local' - let chg = &sw + 6 + let chg = shiftwidth() + 6 " If previous line was a let with no closing semicolon, indent elseif prevline =~? '^\s*let.*[^;]\s*$' - let chg = &sw + let chg = shiftwidth() " If previous line opened a parenthesis, and did not close it, indent elseif prevline =~ '^.*(\s*[^)]*\((.*)\)*[^)]*$' return = match( prevline, '(.*\((.*)\|[^)]\)*.*$') + 1 @@ -75,13 +75,13 @@ function DylanGetIndent() " line doesn't start with an indentable command: let curr_str = getline(curr_line) if curr_str =~? '^\s*\(begin\|block\|case\|define\|else\|elseif\|for\|finally\|if\|select\|unless\|while\)' - let chg = &sw + let chg = shiftwidth() endif endif " If a line starts with end, un-indent (even if we just indented!) if cline =~? '^\s*\(cleanup\|end\|else\|elseif\|exception\|finally\|otherwise\)' - let chg = chg - &sw + let chg = chg - shiftwidth() endif return ind + chg diff --git a/runtime/indent/erlang.vim b/runtime/indent/erlang.vim index 7569fe9106..9228f18683 100644 --- a/runtime/indent/erlang.vim +++ b/runtime/indent/erlang.vim @@ -669,7 +669,7 @@ function! s:BeginningOfClauseFound(stack, token, stored_vcol) call s:Pop(a:stack) if empty(a:stack) call s:Log(' Stack is ["when"], so LTI is in a guard -> return') - return [1, a:stored_vcol + &sw + 2] + return [1, a:stored_vcol + shiftwidth() + 2] else return [1, s:UnexpectedToken(a:token, a:stack)] endif @@ -678,7 +678,7 @@ function! s:BeginningOfClauseFound(stack, token, stored_vcol) call s:Pop(a:stack) if empty(a:stack) call s:Log(' Stack is ["->"], so LTI is in function body -> return') - return [1, a:stored_vcol + &sw] + return [1, a:stored_vcol + shiftwidth()] elseif a:stack[0] ==# ';' call s:Pop(a:stack) if empty(a:stack) @@ -797,7 +797,7 @@ function! s:ErlangCalcIndent2(lnum, stack) elseif token ==# 'begin' let [ret, res] = s:BeginElementFound(stack, token, curr_vcol, - \stored_vcol, 'end', &sw) + \stored_vcol, 'end', shiftwidth()) if ret | return res | endif " case EXPR of BRANCHES end @@ -848,11 +848,11 @@ function! s:ErlangCalcIndent2(lnum, stack) elseif stack == ['->'] call s:Log(' LTI is in a branch after ' . \'"of/receive/after/if/catch" -> return') - return stored_vcol + &sw + return stored_vcol + shiftwidth() elseif stack == ['when'] call s:Log(' LTI is in a guard after ' . \'"of/receive/after/if/catch" -> return') - return stored_vcol + &sw + return stored_vcol + shiftwidth() else return s:UnexpectedToken(token, stack) endif @@ -888,7 +888,7 @@ function! s:ErlangCalcIndent2(lnum, stack) if empty(stack) call s:Log(' LTI is in a condition; matching ' . \'"case/if/try/receive" found') - let stored_vcol = curr_vcol + &sw + let stored_vcol = curr_vcol + shiftwidth() elseif stack[0] ==# 'align_to_begin_element' call s:Pop(stack) let stored_vcol = curr_vcol @@ -897,23 +897,23 @@ function! s:ErlangCalcIndent2(lnum, stack) \'"case/if/try/receive" found') call s:Pop(stack) call s:Pop(stack) - let stored_vcol = curr_vcol + &sw + let stored_vcol = curr_vcol + shiftwidth() elseif stack[0] ==# '->' call s:Log(' LTI is in a branch; matching ' . \'"case/if/try/receive" found') call s:Pop(stack) - let stored_vcol = curr_vcol + 2 * &sw + let stored_vcol = curr_vcol + 2 * shiftwidth() elseif stack[0] ==# 'when' call s:Log(' LTI is in a guard; matching ' . \'"case/if/try/receive" found') call s:Pop(stack) - let stored_vcol = curr_vcol + 2 * &sw + 2 + let stored_vcol = curr_vcol + 2 * shiftwidth() + 2 endif endif let [ret, res] = s:BeginElementFound(stack, token, curr_vcol, - \stored_vcol, 'end', &sw) + \stored_vcol, 'end', shiftwidth()) if ret | return res | endif elseif token ==# 'fun' @@ -930,7 +930,7 @@ function! s:ErlangCalcIndent2(lnum, stack) " stack = ['when'] => LTI is in a guard if empty(stack) call s:Log(' LTI is in a condition; matching "fun" found') - let stored_vcol = curr_vcol + &sw + let stored_vcol = curr_vcol + shiftwidth() elseif len(stack) > 1 && stack[0] ==# '->' && stack[1] ==# ';' call s:Log(' LTI is in a condition; matching "fun" found') call s:Pop(stack) @@ -938,15 +938,15 @@ function! s:ErlangCalcIndent2(lnum, stack) elseif stack[0] ==# '->' call s:Log(' LTI is in a branch; matching "fun" found') call s:Pop(stack) - let stored_vcol = curr_vcol + 2 * &sw + let stored_vcol = curr_vcol + 2 * shiftwidth() elseif stack[0] ==# 'when' call s:Log(' LTI is in a guard; matching "fun" found') call s:Pop(stack) - let stored_vcol = curr_vcol + 2 * &sw + 2 + let stored_vcol = curr_vcol + 2 * shiftwidth() + 2 endif let [ret, res] = s:BeginElementFound(stack, token, curr_vcol, - \stored_vcol, 'end', &sw) + \stored_vcol, 'end', shiftwidth()) if ret | return res | endif else " Pass: we have a function reference (e.g. "fun f/0") @@ -1220,7 +1220,7 @@ function! s:ErlangCalcIndent2(lnum, stack) " when A, " LTI let [ret, res] = s:BeginElementFoundIfEmpty(stack, token, curr_vcol, - \stored_vcol, &sw) + \stored_vcol, shiftwidth()) if ret | return res | endif else " Example: @@ -1252,7 +1252,7 @@ function! s:ErlangCalcIndent2(lnum, stack) " If LTI is between an 'after' and the corresponding " 'end', then let's return let [ret, res] = s:BeginElementFoundIfEmpty(stack, token, curr_vcol, - \stored_vcol, &sw) + \stored_vcol, shiftwidth()) if ret | return res | endif endif diff --git a/runtime/indent/eruby.vim b/runtime/indent/eruby.vim index afabd4fe5b..5058325495 100644 --- a/runtime/indent/eruby.vim +++ b/runtime/indent/eruby.vim @@ -47,11 +47,7 @@ set cpo&vim function! GetErubyIndent(...) " The value of a single shift-width - if exists('*shiftwidth') - let sw = shiftwidth() - else - let sw = &sw - endif + let sw = shiftwidth() if a:0 && a:1 == '.' let v:lnum = line('.') diff --git a/runtime/indent/falcon.vim b/runtime/indent/falcon.vim index 84b16d55f0..b34e7cfd47 100644 --- a/runtime/indent/falcon.vim +++ b/runtime/indent/falcon.vim @@ -339,7 +339,7 @@ function FalconGetIndent(...) " If the previous line ended with a block opening, add a level of indent. if s:Match(lnum, s:block_regex) - return indent(s:GetMSL(lnum)) + &sw + return indent(s:GetMSL(lnum)) + shiftwidth() endif " If it contained hanging closing brackets, find the rightmost one, find its @@ -350,20 +350,20 @@ function FalconGetIndent(...) if opening.pos != -1 if opening.type == '(' && searchpair('(', '', ')', 'bW', s:skip_expr) > 0 if col('.') + 1 == col('$') - return ind + &sw + return ind + shiftwidth() else return virtcol('.') endif else let nonspace = matchend(line, '\S', opening.pos + 1) - 1 - return nonspace > 0 ? nonspace : ind + &sw + return nonspace > 0 ? nonspace : ind + shiftwidth() endif elseif closing.pos != -1 call cursor(lnum, closing.pos + 1) normal! % if s:Match(line('.'), s:falcon_indent_keywords) - return indent('.') + &sw + return indent('.') + shiftwidth() else return indent('.') endif @@ -392,7 +392,7 @@ function FalconGetIndent(...) let col = s:Match(lnum, s:falcon_indent_keywords) if col > 0 call cursor(lnum, col) - let ind = virtcol('.') - 1 + &sw + let ind = virtcol('.') - 1 + shiftwidth() " TODO: make this better (we need to count them) (or, if a searchpair " fails, we know that something is lacking an end and thus we indent a " level @@ -422,9 +422,9 @@ function FalconGetIndent(...) " TODO: this does not take into account contrived things such as " module Foo; class Bar; end if s:Match(lnum, s:falcon_indent_keywords) - let ind = msl_ind + &sw + let ind = msl_ind + shiftwidth() if s:Match(lnum, s:end_end_regex) - let ind = ind - &sw + let ind = ind - shiftwidth() endif return ind endif @@ -433,7 +433,7 @@ function FalconGetIndent(...) " closing bracket, indent one extra level. if s:Match(lnum, s:non_bracket_continuation_regex) && !s:Match(lnum, '^\s*\([\])}]\|end\)') if lnum == p_lnum - let ind = msl_ind + &sw + let ind = msl_ind + shiftwidth() else let ind = msl_ind endif diff --git a/runtime/indent/gitconfig.vim b/runtime/indent/gitconfig.vim index 480c96d1b9..6a670ee271 100644 --- a/runtime/indent/gitconfig.vim +++ b/runtime/indent/gitconfig.vim @@ -1,7 +1,7 @@ " Vim indent file " Language: git config file " Maintainer: Tim Pope <vimNOSPAM@tpope.org> -" Last Change: 2016 Aug 29 +" Last Change: 2017 Jun 13 if exists("b:did_indent") finish @@ -20,7 +20,7 @@ if exists("*GetGitconfigIndent") endif function! GetGitconfigIndent() - let sw = exists('*shiftwidth') ? shiftwidth() : &sw + let sw = shiftwidth() let line = getline(prevnonblank(v:lnum-1)) let cline = getline(v:lnum) if line =~ '\\\@<!\%(\\\\\)*\\$' diff --git a/runtime/indent/gitolite.vim b/runtime/indent/gitolite.vim index 33b7c9f312..b36f30a494 100644 --- a/runtime/indent/gitolite.vim +++ b/runtime/indent/gitolite.vim @@ -1,8 +1,10 @@ " Vim indent file " Language: gitolite configuration -" URL: https://github.com/tmatilai/gitolite.vim -" Maintainer: Teemu Matilainen <teemu.matilainen@iki.fi> -" Last Change: 2011-12-24 +" URL: https://github.com/sitaramc/gitolite/blob/master/contrib/vim/indent/gitolite.vim +" (https://raw.githubusercontent.com/sitaramc/gitolite/master/contrib/vim/indent/gitolite.vim) +" Maintainer: Sitaram Chamarty <sitaramc@gmail.com> +" (former Maintainer: Teemu Matilainen <teemu.matilainen@iki.fi>) +" Last Change: 2017 Oct 05 if exists("b:did_indent") finish @@ -27,11 +29,13 @@ function! GetGitoliteIndent() let cline = getline(v:lnum) if cline =~ '^\s*\(C\|R\|RW\|RW+\|RWC\|RW+C\|RWD\|RW+D\|RWCD\|RW+CD\|-\)[ \t=]' - return &sw + return shiftwidth() elseif cline =~ '^\s*config\s' - return &sw + return shiftwidth() + elseif cline =~ '^\s*option\s' + return shiftwidth() elseif pline =~ '^\s*repo\s' && cline =~ '^\s*\(#.*\)\?$' - return &sw + return shiftwidth() elseif cline =~ '^\s*#' return indent(prevln) elseif cline =~ '^\s*$' diff --git a/runtime/indent/go.vim b/runtime/indent/go.vim index 412ac871c4..bf9ff75e6c 100644 --- a/runtime/indent/go.vim +++ b/runtime/indent/go.vim @@ -1,7 +1,7 @@ " Vim indent file " Language: Go " Maintainer: David Barnett (https://github.com/google/vim-ft-go) -" Last Change: 2014 Aug 16 +" Last Change: 2017 Jun 13 " " TODO: " - function invocations split across lines @@ -23,18 +23,6 @@ if exists('*GoIndent') finish endif -" The shiftwidth() function is relatively new. -" Don't require it to exist. -if exists('*shiftwidth') - function s:sw() abort - return shiftwidth() - endfunction -else - function s:sw() abort - return &shiftwidth - endfunction -endif - function! GoIndent(lnum) let l:prevlnum = prevnonblank(a:lnum-1) if l:prevlnum == 0 @@ -51,17 +39,17 @@ function! GoIndent(lnum) if l:prevl =~ '[({]\s*$' " previous line opened a block - let l:ind += s:sw() + let l:ind += shiftwidth() endif if l:prevl =~# '^\s*\(case .*\|default\):$' " previous line is part of a switch statement - let l:ind += s:sw() + let l:ind += shiftwidth() endif " TODO: handle if the previous line is a label. if l:thisl =~ '^\s*[)}]' " this line closed a block - let l:ind -= s:sw() + let l:ind -= shiftwidth() endif " Colons are tricky. @@ -69,7 +57,7 @@ function! GoIndent(lnum) " We ignore trying to deal with jump labels because (a) they're rare, and " (b) they're hard to disambiguate from a composite literal key. if l:thisl =~# '^\s*\(case .*\|default\):$' - let l:ind -= s:sw() + let l:ind -= shiftwidth() endif return l:ind diff --git a/runtime/indent/haml.vim b/runtime/indent/haml.vim index c3935af9e9..e6416e6f53 100644 --- a/runtime/indent/haml.vim +++ b/runtime/indent/haml.vim @@ -1,7 +1,7 @@ " Vim indent file " Language: Haml " Maintainer: Tim Pope <vimNOSPAM@tpope.org> -" Last Change: 2016 Aug 29 +" Last Change: 2017 Jun 13 if exists("b:did_indent") finish @@ -37,7 +37,7 @@ function! GetHamlIndent() let line = substitute(line,'^\s\+','','') let indent = indent(lnum) let cindent = indent(v:lnum) - let sw = exists('*shiftwidth') ? shiftwidth() : &sw + let sw = shiftwidth() if cline =~# '\v^-\s*%(elsif|else|when)>' let indent = cindent < indent ? cindent : indent - sw endif diff --git a/runtime/indent/hamster.vim b/runtime/indent/hamster.vim index 93e7db486e..b27a173924 100644 --- a/runtime/indent/hamster.vim +++ b/runtime/indent/hamster.vim @@ -27,13 +27,13 @@ function HamGetIndent(lnum) " Add a shiftwidth to statements following if, else, elseif, " case, select, default, do, until, while, for, start if prevline =~? '^\s*\<\(if\|else\%(if\)\?\|for\|repeat\|do\|while\|sub\)\>' - let ind = ind + &sw + let ind = ind + shiftwidth() endif " Subtract a shiftwidth from else, elseif, end(if|while|for), until let line = getline(v:lnum) if line =~? '^\s*\(else\|elseif\|loop\|until\|end\%(if\|while\|for\|sub\)\)\>' - let ind = ind - &sw + let ind = ind - shiftwidth() endif return ind diff --git a/runtime/indent/hog.vim b/runtime/indent/hog.vim index 02ac7d4d1b..ece587d46f 100644 --- a/runtime/indent/hog.vim +++ b/runtime/indent/hog.vim @@ -47,7 +47,7 @@ function GetHogIndent() " Continuation of a line that wasn't indented let prevline = getline(prevlnum) if prevline =~ '^\k\+.*\\\s*$' - return &sw + return shiftwidth() endif " Continuation of a line that was indented @@ -58,13 +58,13 @@ function GetHogIndent() " Indent the next line if previous line contained a start of a block " definition ('{' or '('). if prevline =~ '^\k\+[^#]*{}\@!\s*$' " TODO || prevline =~ '^\k\+[^#]*()\@!\s*$' - return &sw + return shiftwidth() endif " Match inside of a block if s:IsInBlock(v:lnum) if prevline =~ "^\k\+.*$" - return &sw + return shiftwidth() else return indent(prevlnum) endif diff --git a/runtime/indent/html.vim b/runtime/indent/html.vim index 57ba53ecd4..37697841fd 100644 --- a/runtime/indent/html.vim +++ b/runtime/indent/html.vim @@ -2,7 +2,7 @@ " Header: "{{{ " Maintainer: Bram Moolenaar " Original Author: Andy Wokula <anwoku@yahoo.de> -" Last Change: 2017 Jan 17 +" Last Change: 2017 Jun 13 " Version: 1.0 " Description: HTML indent script with cached state for faster indenting on a " range of lines. @@ -51,15 +51,6 @@ if exists("*HtmlIndent") && !exists('g:force_reload_html') finish endif -" shiftwidth() exists since patch 7.3.694 -if exists('*shiftwidth') - let s:ShiftWidth = function('shiftwidth') -else - func! s:ShiftWidth() - return &shiftwidth - endfunc -endif - " Allow for line continuation below. let s:cpo_save = &cpo set cpo-=C @@ -123,7 +114,7 @@ func! HtmlIndent_CheckUserSettings() let indone = {"zero": 0 \,"auto": "indent(prevnonblank(v:lnum-1))" - \,"inc": "b:hi_indent.blocktagind + s:ShiftWidth()"} + \,"inc": "b:hi_indent.blocktagind + shiftwidth()"} let script1 = '' if exists("b:html_indent_script1") @@ -358,7 +349,7 @@ func! s:CheckBlockTag(blocktag, ind) endif let b:hi_newstate.blocklnr = v:lnum " save allover indent for the endtag - let b:hi_newstate.blocktagind = b:hi_indent.baseindent + (s:nextrel + s:curind) * s:ShiftWidth() + let b:hi_newstate.blocktagind = b:hi_indent.baseindent + (s:nextrel + s:curind) * shiftwidth() if a:ind == 3 return "SCRIPT" " all except this must be lowercase " line is to be checked again for the type attribute @@ -480,7 +471,7 @@ func! s:FreshState(lnum) let state.blocklnr = stopline " check preceding tags in the line: call s:CountITags(tagline[: stopcol-2]) - let state.blocktagind = indent(stopline) + (s:curind + s:nextrel) * s:ShiftWidth() + let state.blocktagind = indent(stopline) + (s:curind + s:nextrel) * shiftwidth() return state elseif stopline == state.lnum " handle special case: previous line (= state.lnum) contains a @@ -490,7 +481,7 @@ func! s:FreshState(lnum) if !swendtag let [bline, bcol] = searchpos('<'.blocktag[1:].'\>', "bnW") call s:CountITags(tolower(getline(bline)[: bcol-2])) - let state.baseindent = indent(bline) + (s:curind + s:nextrel) * s:ShiftWidth() + let state.baseindent = indent(bline) + (s:curind + s:nextrel) * shiftwidth() return state endif endif @@ -511,7 +502,7 @@ func! s:FreshState(lnum) if found == 2 let state.baseindent = b:hi_indent.baseindent endif - let state.blocktagind = indent(comlnum) + (s:curind + s:nextrel) * s:ShiftWidth() + let state.blocktagind = indent(comlnum) + (s:curind + s:nextrel) * shiftwidth() return state endif @@ -530,7 +521,7 @@ func! s:FreshState(lnum) let text = tolower(getline(comlnum)[: comcol-2]) endif call s:CountITags(text) - let state.baseindent = indent(comlnum) + (s:curind + s:nextrel) * s:ShiftWidth() + let state.baseindent = indent(comlnum) + (s:curind + s:nextrel) * shiftwidth() " TODO check tags that follow "-->" return state endif @@ -550,9 +541,9 @@ func! s:FreshState(lnum) let text = getline(start_lnum) let swendtag = match(text, '^\s*</') >= 0 call s:CountITags(text[: col('.') - 2]) - let state.baseindent += s:nextrel * s:ShiftWidth() + let state.baseindent += s:nextrel * shiftwidth() if !swendtag - let state.baseindent += s:curind * s:ShiftWidth() + let state.baseindent += s:curind * shiftwidth() endif endif return state @@ -565,9 +556,9 @@ func! s:FreshState(lnum) let text = getline(state.lnum) let swendtag = match(text, '^\s*</') >= 0 call s:CountITags(tolower(text)) - let state.baseindent = indent(state.lnum) + s:nextrel * s:ShiftWidth() + let state.baseindent = indent(state.lnum) + s:nextrel * shiftwidth() if !swendtag - let state.baseindent += s:curind * s:ShiftWidth() + let state.baseindent += s:curind * shiftwidth() endif return state endfunc "}}} @@ -646,7 +637,7 @@ func! s:CSSIndent() " add indent after { let brace_counts = HtmlIndent_CountBraces(prev_lnum) - let extra = brace_counts.c_open * s:ShiftWidth() + let extra = brace_counts.c_open * shiftwidth() let prev_text = getline(prev_lnum) let below_end_brace = prev_text =~ '}\s*$' @@ -663,7 +654,7 @@ func! s:CSSIndent() " if the current line is not a comment or starts with @ (used by template " systems) reduce indent if previous line is a continuation line if !prev_hasfield && !prev_special - let extra = -s:ShiftWidth() + let extra = -shiftwidth() endif else let cur_hasfield = curtext =~ '^\s*[a-zA-Z0-9-]\+:' @@ -671,14 +662,14 @@ func! s:CSSIndent() if !cur_hasfield && (prev_hasfield || prev_unfinished) " Continuation line has extra indent if the previous line was not a " continuation line. - let extra = s:ShiftWidth() + let extra = shiftwidth() " Align with @if if prev_text =~ '^\s*@if ' let extra = 4 endif elseif cur_hasfield && !prev_hasfield && !prev_special " less indent below a continuation line - let extra = -s:ShiftWidth() + let extra = -shiftwidth() endif endif endif @@ -699,10 +690,10 @@ func! s:CSSIndent() if special " do not reduce indent below @{ ... } if extra < 0 - let extra += s:ShiftWidth() + let extra += shiftwidth() endif else - let extra -= (brace_counts.c_close - (prev_text =~ '^\s*}')) * s:ShiftWidth() + let extra -= (brace_counts.c_close - (prev_text =~ '^\s*}')) * shiftwidth() endif endif @@ -710,10 +701,10 @@ func! s:CSSIndent() if extra == 0 if brace_counts.p_open > brace_counts.p_close " previous line has more ( than ): add a shiftwidth - let extra = s:ShiftWidth() + let extra = shiftwidth() elseif brace_counts.p_open < brace_counts.p_close " previous line has more ) than (: subtract a shiftwidth - let extra = -s:ShiftWidth() + let extra = -shiftwidth() endif endif @@ -816,7 +807,7 @@ func! s:Alien5() let idx = match(prevtext, '^\s*\zs<!--') if idx >= 0 " just below comment start, add a shiftwidth - return idx + s:ShiftWidth() + return idx + shiftwidth() endif " Some files add 4 spaces just below a TODO line. It's difficult to detect @@ -837,7 +828,7 @@ func! s:Alien6() return indent(lnum) endif endif - return b:hi_indent.baseindent + s:ShiftWidth() + return b:hi_indent.baseindent + shiftwidth() endfunc "}}} " When the "lnum" line ends in ">" find the line containing the matching "<". @@ -947,7 +938,7 @@ func! HtmlIndent() endif let curtext = tolower(getline(v:lnum)) - let indentunit = s:ShiftWidth() + let indentunit = shiftwidth() let b:hi_newstate = {} let b:hi_newstate.lnum = v:lnum @@ -1030,9 +1021,9 @@ func! HtmlIndent() if col('.') > 2 let swendtag = match(text, '^\s*</') >= 0 call s:CountITags(text[: col('.') - 2]) - let indent += s:nextrel * s:ShiftWidth() + let indent += s:nextrel * shiftwidth() if !swendtag - let indent += s:curind * s:ShiftWidth() + let indent += s:curind * shiftwidth() endif endif else diff --git a/runtime/indent/idlang.vim b/runtime/indent/idlang.vim index b4c6ae6fea..7402e8688e 100644 --- a/runtime/indent/idlang.vim +++ b/runtime/indent/idlang.vim @@ -1,6 +1,6 @@ " IDL (Interactive Data Language) indent file. " Language: IDL (ft=idlang) -" Last change: 2012 May 18 +" Last change: 2017 Jun 13 " Maintainer: Aleksandar Jelenak <ajelenak AT yahoo.com> " Only load this indent file when no other was loaded. @@ -34,25 +34,25 @@ function GetIdlangIndent(lnum) " Indenting of continued lines. if getline(pnum) =~ '\$\s*\(;.*\)\=$' if getline(pnum2) !~ '\$\s*\(;.*\)\=$' - let curind = curind+&sw + let curind = curind+shiftwidth() endif else if getline(pnum2) =~ '\$\s*\(;.*\)\=$' - let curind = curind-&sw + let curind = curind-shiftwidth() endif endif " Indenting blocks of statements. if getline(v:lnum) =~? '^\s*\(endif\|endelse\|endwhile\|endfor\|endrep\)\>' if getline(pnum) =~? 'begin\>' - elseif indent(v:lnum) > curind-&sw - let curind = curind-&sw + elseif indent(v:lnum) > curind-shiftwidth() + let curind = curind-shiftwidth() else return -1 endif elseif getline(pnum) =~? 'begin\>' - if indent(v:lnum) < curind+&sw - let curind = curind+&sw + if indent(v:lnum) < curind+shiftwidth() + let curind = curind+shiftwidth() else return -1 endif diff --git a/runtime/indent/ishd.vim b/runtime/indent/ishd.vim index f55f7dc79c..531244b819 100644 --- a/runtime/indent/ishd.vim +++ b/runtime/indent/ishd.vim @@ -50,17 +50,17 @@ fun! GetIshdIndent(lnum) " Add if previous_line =~ '^\s*\<\(function\|begin\|switch\|case\|default\|if.\{-}then\|else\|elseif\|while\|repeat\)\>' - let ind = ind + &sw + let ind = ind + shiftwidth() endif " Subtract if this_line =~ '^\s*\<endswitch\>' - let ind = ind - 2 * &sw + let ind = ind - 2 * shiftwidth() elseif this_line =~ '^\s*\<\(begin\|end\|endif\|endwhile\|else\|elseif\|until\)\>' - let ind = ind - &sw + let ind = ind - shiftwidth() elseif this_line =~ '^\s*\<\(case\|default\)\>' if previous_line !~ '^\s*\<switch\>' - let ind = ind - &sw + let ind = ind - shiftwidth() endif endif diff --git a/runtime/indent/javascript.vim b/runtime/indent/javascript.vim index a6f1e1a8f8..2861716287 100644 --- a/runtime/indent/javascript.vim +++ b/runtime/indent/javascript.vim @@ -2,7 +2,7 @@ " Language: Javascript " Maintainer: Chris Paul ( https://github.com/bounceme ) " URL: https://github.com/pangloss/vim-javascript -" Last Change: December 31, 2016 +" Last Change: September 18, 2017 " Only load this indent file when no other was loaded. if exists('b:did_indent') @@ -10,13 +10,28 @@ if exists('b:did_indent') endif let b:did_indent = 1 +" indent correctly if inside <script> +" vim/vim@690afe1 for the switch from cindent +let b:html_indent_script1 = 'inc' + " Now, set up our indentation expression and keys that trigger it. setlocal indentexpr=GetJavascriptIndent() setlocal autoindent nolisp nosmartindent setlocal indentkeys+=0],0) +" Testable with something like: +" vim -eNs "+filetype plugin indent on" "+syntax on" "+set ft=javascript" \ +" "+norm! gg=G" '+%print' '+:q!' testfile.js \ +" | diff -uBZ testfile.js - let b:undo_indent = 'setlocal indentexpr< smartindent< autoindent< indentkeys<' +" Regex of syntax group names that are or delimit string or are comments. +let b:syng_strcom = get(b:,'syng_strcom','string\|comment\|regex\|special\|doc\|template\%(braces\)\@!') +let b:syng_str = get(b:,'syng_str','string\|template\|special') +" template strings may want to be excluded when editing graphql: +" au! Filetype javascript let b:syng_str = '^\%(.*template\)\@!.*string\|special' +" au! Filetype javascript let b:syng_strcom = '^\%(.*template\)\@!.*string\|comment\|regex\|special\|doc' + " Only define the function once. if exists('*GetJavascriptIndent') finish @@ -32,261 +47,309 @@ if exists('*shiftwidth') endfunction else function s:sw() - return &sw + return &l:shiftwidth ? &l:shiftwidth : &l:tabstop endfunction endif +" Performance for forwards search(): start search at pos rather than masking +" matches before pos. +let s:z = has('patch-7.4.984') ? 'z' : '' + +" Expression used to check whether we should skip a match with searchpair(). +let s:skip_expr = "s:SynAt(line('.'),col('.')) =~? b:syng_strcom" +let s:in_comm = s:skip_expr[:-14] . "'comment\\|doc'" + +let s:rel = has('reltime') " searchpair() wrapper -if has('reltime') - function s:GetPair(start,end,flags,skip,time,...) - return searchpair('\m'.a:start,'','\m'.a:end,a:flags,a:skip,max([prevnonblank(v:lnum) - 2000,0] + a:000),a:time) +if s:rel + function s:GetPair(start,end,flags,skip) + return searchpair('\m'.a:start,'','\m'.a:end,a:flags,a:skip,s:l1,a:skip ==# 's:SkipFunc()' ? 2000 : 200) endfunction else - function s:GetPair(start,end,flags,skip,...) - return searchpair('\m'.a:start,'','\m'.a:end,a:flags,a:skip,max([prevnonblank(v:lnum) - 1000,get(a:000,1)])) + function s:GetPair(start,end,flags,skip) + return searchpair('\m'.a:start,'','\m'.a:end,a:flags,a:skip,s:l1) endfunction endif -" Regex of syntax group names that are or delimit string or are comments. -let s:syng_strcom = 'string\|comment\|regex\|special\|doc\|template' -let s:syng_str = 'string\|template' -let s:syng_com = 'comment\|doc' -" Expression used to check whether we should skip a match with searchpair(). -let s:skip_expr = "synIDattr(synID(line('.'),col('.'),0),'name') =~? '".s:syng_strcom."'" +function s:SynAt(l,c) + let byte = line2byte(a:l) + a:c - 1 + let pos = index(s:synid_cache[0], byte) + if pos == -1 + let s:synid_cache[:] += [[byte], [synIDattr(synID(a:l, a:c, 0), 'name')]] + endif + return s:synid_cache[1][pos] +endfunction -function s:skip_func() - if !s:free || search('\m`\|\*\/','nW',s:looksyn) - let s:free = !eval(s:skip_expr) - let s:looksyn = s:free ? line('.') : s:looksyn - return !s:free +function s:ParseCino(f) + let [divider, n, cstr] = [0] + matchlist(&cino, + \ '\%(.*,\)\=\%(\%d'.char2nr(a:f).'\(-\)\=\([.s0-9]*\)\)\=')[1:2] + for c in split(cstr,'\zs') + if c == '.' && !divider + let divider = 1 + elseif c ==# 's' + if n !~ '\d' + return n . s:sw() + 0 + endif + let n = str2nr(n) * s:sw() + break + else + let [n, divider] .= [c, 0] + endif + endfor + return str2nr(n) / max([str2nr(divider),1]) +endfunction + +" Optimized {skip} expr, only callable from the search loop which +" GetJavascriptIndent does to find the containing [[{(] (side-effects) +function s:SkipFunc() + if s:top_col == 1 + throw 'out of bounds' + endif + let s:top_col = 0 + if s:check_in + if eval(s:skip_expr) + return 1 + endif + let s:check_in = 0 + elseif getline('.') =~ '\%<'.col('.').'c\/.\{-}\/\|\%>'.col('.').'c[''"]\|\\$' + if eval(s:skip_expr) + let s:looksyn = a:firstline + return 1 + endif + elseif search('\m`\|\${\|\*\/','nW'.s:z,s:looksyn) && eval(s:skip_expr) + let s:check_in = 1 + return 1 endif - let s:looksyn = line('.') - return (search('\m\/','nbW',s:looksyn) || search('\m[''"]\|\\$','nW',s:looksyn)) && eval(s:skip_expr) + let [s:looksyn, s:top_col] = getpos('.')[1:2] endfunction -function s:alternatePair(stop) - let pos = getpos('.')[1:2] - while search('\m[][(){}]','bW',a:stop) - if !s:skip_func() - let idx = stridx('])}',s:looking_at()) - if idx + 1 - if !s:GetPair(['\[','(','{'][idx], '])}'[idx],'bW','s:skip_func()',2000,a:stop) - break +function s:AlternatePair() + let [pat, l:for] = ['[][(){};]', 2] + while s:SearchLoop(pat,'bW','s:SkipFunc()') + if s:LookingAt() == ';' + if !l:for + if s:GetPair('{','}','bW','s:SkipFunc()') + return endif + break else + let [pat, l:for] = ['[{}();]', l:for - 1] + endif + else + let idx = stridx('])}',s:LookingAt()) + if idx == -1 return + elseif !s:GetPair(['\[','(','{'][idx],'])}'[idx],'bW','s:SkipFunc()') + break endif endif endwhile - call call('cursor',pos) + throw 'out of bounds' endfunction -function s:save_pos(f,...) - let l:pos = getpos('.')[1:2] - let ret = call(a:f,a:000) - call call('cursor',l:pos) - return ret +function s:Nat(int) + return a:int * (a:int > 0) endfunction -function s:syn_at(l,c) - return synIDattr(synID(a:l,a:c,0),'name') -endfunction - -function s:looking_at() +function s:LookingAt() return getline('.')[col('.')-1] endfunction -function s:token() - return s:looking_at() =~ '\k' ? expand('<cword>') : s:looking_at() -endfunction - -function s:b_token() - if s:looking_at() =~ '\k' - call search('\m\<','cbW') - endif - return search('\m\S','bW') +function s:Token() + return s:LookingAt() =~ '\k' ? expand('<cword>') : s:LookingAt() endfunction -function s:previous_token() - let l:n = line('.') - while s:b_token() - if (s:looking_at() == '/' || line('.') != l:n && search('\m\/\/','nbW', - \ line('.'))) && s:syn_at(line('.'),col('.')) =~? s:syng_com - call search('\m\_[^/]\zs\/[/*]','bW') +function s:PreviousToken() + let l:col = col('.') + if search('\m\k\{1,}\|\S','ebW') + if search('\m\*\%#\/\|\/\/\%<'.a:firstline.'l','nbW',line('.')) && eval(s:in_comm) + if s:SearchLoop('\S\ze\_s*\/[/*]','bW',s:in_comm) + return s:Token() + endif + call cursor(a:firstline, l:col) else - return s:token() + return s:Token() endif - endwhile + endif return '' endfunction -function s:others(p) - return "((line2byte(line('.')) + col('.')) <= ".(line2byte(a:p[0]) + a:p[1]).") || ".s:skip_expr +function s:Pure(f,...) + return eval("[call(a:f,a:000),cursor(a:firstline,".col('.').")][0]") endfunction -function s:tern_skip(p) - return s:GetPair('{','}','nbW',s:others(a:p),200,a:p[0]) > 0 +function s:SearchLoop(pat,flags,expr) + return s:GetPair(a:pat,'\_$.',a:flags,a:expr) endfunction -function s:tern_col(p) - return s:GetPair('?',':\@<!::\@!','nbW',s:others(a:p) - \ .' || s:tern_skip('.string(a:p).')',200,a:p[0]) > 0 -endfunction - -function s:label_col() - let pos = getpos('.')[1:2] - let [s:looksyn,s:free] = pos - call s:alternatePair(0) - if s:save_pos('s:IsBlock') - let poss = getpos('.')[1:2] - return call('cursor',pos) || !s:tern_col(poss) - elseif s:looking_at() == ':' - return !s:tern_col([0,0]) - endif +function s:ExprCol() + let bal = 0 + while s:SearchLoop('[{}?]\|\_[^:]\zs::\@!','bW',s:skip_expr) + if s:LookingAt() == ':' + let bal -= 1 + elseif s:LookingAt() == '?' + let bal += 1 + if bal == 1 + break + endif + elseif s:LookingAt() == '{' + let bal = !s:IsBlock() + break + elseif !s:GetPair('{','}','bW',s:skip_expr) + break + endif + endwhile + return s:Nat(bal) endfunction " configurable regexes that define continuation lines, not including (, {, or [. let s:opfirst = '^' . get(g:,'javascript_opfirst', - \ '\%([<>=,?^%|*/&]\|\([-.:+]\)\1\@!\|!=\|in\%(stanceof\)\=\>\)') + \ '\C\%([<>=,.?^%|/&]\|\([-:+]\)\1\@!\|\*\+\|!=\|in\%(stanceof\)\=\>\)') let s:continuation = get(g:,'javascript_continuation', - \ '\%([<=,.~!?/*^%|&:]\|+\@<!+\|-\@<!-\|=\@<!>\|\<\%(typeof\|delete\|void\|in\|instanceof\)\)') . '$' - -function s:continues(ln,con) - return !cursor(a:ln, match(' '.a:con,s:continuation)) && - \ eval((['s:syn_at(line("."),col(".")) !~? "regex"'] + - \ repeat(['s:previous_token() != "."'],5) + [1])[ - \ index(split('/ typeof in instanceof void delete'),s:token())]) -endfunction - -" get the line of code stripped of comments and move cursor to the last -" non-comment char. -function s:Trim(ln) - let pline = substitute(getline(a:ln),'\s*$','','') - let l:max = max([match(pline,'.*[^/]\zs\/[/*]'),0]) - while l:max && s:syn_at(a:ln, strlen(pline)) =~? s:syng_com - let pline = substitute(strpart(pline, 0, l:max),'\s*$','','') - let l:max = max([match(pline,'.*[^/]\zs\/[/*]'),0]) - endwhile - return cursor(a:ln,strlen(pline)) ? pline : pline -endfunction - -" Find line above 'lnum' that isn't empty or in a comment -function s:PrevCodeLine(lnum) - let l:n = prevnonblank(a:lnum) - while l:n - if getline(l:n) =~ '^\s*\/[/*]' - if (stridx(getline(l:n),'`') > 0 || getline(l:n-1)[-1:] == '\') && - \ s:syn_at(l:n,1) =~? s:syng_str - return l:n - endif - let l:n = prevnonblank(l:n-1) - elseif s:syn_at(l:n,1) =~? s:syng_com - let l:n = s:save_pos('eval', - \ 'cursor('.l:n.',1) + search(''\m\/\*'',"bW")') - else - return l:n - endif - endwhile + \ '\C\%([<=,.~!?/*^%|&:]\|+\@<!+\|-\@<!-\|=\@<!>\|\<\%(typeof\|new\|delete\|void\|in\|instanceof\|await\)\)') . '$' + +function s:Continues(ln,con) + let tok = matchstr(a:con[-15:],s:continuation) + if tok =~ '[a-z:]' + call cursor(a:ln, len(a:con)) + return tok == ':' ? s:ExprCol() : s:PreviousToken() != '.' + elseif tok !~ '[/>]' + return tok isnot '' + endif + return s:SynAt(a:ln, len(a:con)) !~? (tok == '>' ? 'jsflow\|^html' : 'regex') endfunction " Check if line 'lnum' has a balanced amount of parentheses. function s:Balanced(lnum) - let l:open = 0 - let l:line = getline(a:lnum) - let pos = match(l:line, '[][(){}]', 0) + let [l:open, l:line] = [0, getline(a:lnum)] + let pos = match(l:line, '[][(){}]') while pos != -1 - if s:syn_at(a:lnum,pos + 1) !~? s:syng_strcom + if s:SynAt(a:lnum,pos + 1) !~? b:syng_strcom let l:open += match(' ' . l:line[pos],'[[({]') if l:open < 0 return endif endif - let pos = match(l:line, '[][(){}]', pos + 1) + let pos = match(l:line, !l:open ? '[][(){}]' : '()' =~ l:line[pos] ? + \ '[()]' : '{}' =~ l:line[pos] ? '[{}]' : '[][]', pos + 1) endwhile return !l:open endfunction -function s:OneScope(lnum) - let pline = s:Trim(a:lnum) - let kw = 'else do' - if pline[-1:] == ')' && s:GetPair('(', ')', 'bW', s:skip_expr, 100) > 0 - call s:previous_token() - let kw = 'for if let while with' - if index(split('await each'),s:token()) + 1 - call s:previous_token() - let kw = 'for' +function s:OneScope() + if s:LookingAt() == ')' && s:GetPair('(', ')', 'bW', s:skip_expr) + let tok = s:PreviousToken() + return (count(split('for if let while with'),tok) || + \ tok =~# '^await$\|^each$' && s:PreviousToken() ==# 'for') && + \ s:Pure('s:PreviousToken') != '.' && !(tok == 'while' && s:DoWhile()) + elseif s:Token() =~# '^else$\|^do$' + return s:Pure('s:PreviousToken') != '.' + endif + return strpart(getline('.'),col('.')-2,2) == '=>' +endfunction + +function s:DoWhile() + let cpos = searchpos('\m\<','cbW') + if s:SearchLoop('\C[{}]\|\<\%(do\|while\)\>','bW',s:skip_expr) + if s:{s:LookingAt() == '}' && s:GetPair('{','}','bW',s:skip_expr) ? + \ 'Previous' : ''}Token() ==# 'do' && s:IsBlock() + return 1 endif + call call('cursor',cpos) endif - return pline[-2:] == '=>' || index(split(kw),s:token()) + 1 && - \ s:save_pos('s:previous_token') != '.' endfunction -" returns braceless levels started by 'i' and above lines * &sw. 'num' is the -" lineNr which encloses the entire context, 'cont' if whether line 'i' + 1 is -" a continued expression, which could have started in a braceless context -function s:iscontOne(i,num,cont) - let [l:i, l:num, bL] = [a:i, a:num + !a:num, 0] - let pind = a:num ? indent(l:num) + s:W : 0 - let ind = indent(l:i) + (a:cont ? 0 : s:W) - while l:i >= l:num && (ind > pind || l:i == l:num) - if indent(l:i) < ind && s:OneScope(l:i) - let bL += s:W - let l:i = line('.') - elseif !a:cont || bL || ind < indent(a:i) +" returns total offset from braceless contexts. 'num' is the lineNr which +" encloses the entire context, 'cont' if whether a:firstline is a continued +" expression, which could have started in a braceless context +function s:IsContOne(num,cont) + let [l:num, b_l] = [a:num + !a:num, 0] + let pind = a:num ? indent(a:num) + s:sw() : 0 + let ind = indent('.') + !a:cont + while line('.') > l:num && ind > pind || line('.') == l:num + if indent('.') < ind && s:OneScope() + let b_l += 1 + elseif !a:cont || b_l || ind < indent(a:firstline) + break + else + call cursor(0,1) + endif + let ind = min([ind, indent('.')]) + if s:PreviousToken() is '' break endif - let ind = min([ind, indent(l:i)]) - let l:i = s:PrevCodeLine(l:i - 1) endwhile - return bL + return b_l +endfunction + +function s:Class() + return (s:Token() ==# 'class' || s:PreviousToken() =~# '^class$\|^extends$') && + \ s:PreviousToken() != '.' +endfunction + +function s:IsSwitch() + return s:PreviousToken() !~ '[.*]' && + \ (!s:GetPair('{','}','cbW',s:skip_expr) || s:IsBlock() && !s:Class()) endfunction " https://github.com/sweet-js/sweet.js/wiki/design#give-lookbehind-to-the-reader function s:IsBlock() - if s:looking_at() == '{' - let l:n = line('.') - let char = s:previous_token() - let syn = char =~ '[{>/]' ? s:syn_at(line('.'),col('.')-(char == '{')) : '' - if syn =~? 'xml\|jsx' - return char != '{' - elseif char =~ '\k' - return index(split('return const let import export yield default delete var await void typeof throw case new in instanceof') - \ ,char) < (line('.') != l:n) || s:previous_token() == '.' - elseif char == '>' - return getline('.')[col('.')-2] == '=' || syn =~? '^jsflow' - elseif char == ':' - return getline('.')[col('.')-2] != ':' && s:label_col() + let tok = s:PreviousToken() + if join(s:stack) =~? 'xml\|jsx' && s:SynAt(line('.'),col('.')-1) =~? 'xml\|jsx' + return tok != '{' + elseif tok =~ '\k' + if tok ==# 'type' + return s:Pure('eval',"s:PreviousToken() !~# '^\\%(im\\|ex\\)port$' || s:PreviousToken() == '.'") + elseif tok ==# 'of' + return s:Pure('eval',"!s:GetPair('[[({]','[])}]','bW',s:skip_expr) || s:LookingAt() != '(' ||" + \ ."s:{s:PreviousToken() ==# 'await' ? 'Previous' : ''}Token() !=# 'for' || s:PreviousToken() == '.'") endif - return syn =~? 'regex' || char !~ '[-=~!<*+,/?^%|&([]' + return index(split('return const let import export extends yield default delete var await void typeof throw case new in instanceof') + \ ,tok) < (line('.') != a:firstline) || s:Pure('s:PreviousToken') == '.' + elseif tok == '>' + return getline('.')[col('.')-2] == '=' || s:SynAt(line('.'),col('.')) =~? 'jsflow\|^html' + elseif tok == '*' + return s:Pure('s:PreviousToken') == ':' + elseif tok == ':' + return s:Pure('eval',"s:PreviousToken() =~ '^\\K\\k*$' && !s:ExprCol()") + elseif tok == '/' + return s:SynAt(line('.'),col('.')) =~? 'regex' + elseif tok !~ '[=~!<,.?^%|&([]' + return tok !~ '[-+]' || line('.') != a:firstline && getline('.')[col('.')-2] == tok endif endfunction function GetJavascriptIndent() let b:js_cache = get(b:,'js_cache',[0,0,0]) - " Get the current line. - call cursor(v:lnum,1) - let l:line = getline('.') - let syns = s:syn_at(v:lnum, 1) + let s:synid_cache = [[],[]] + let l:line = getline(v:lnum) + " use synstack as it validates syn state and works in an empty line + let s:stack = [''] + map(synstack(v:lnum,1),"synIDattr(v:val,'name')") " start with strings,comments,etc. - if syns =~? s:syng_com + if s:stack[-1] =~? 'comment\|doc' if l:line =~ '^\s*\*' return cindent(v:lnum) elseif l:line !~ '^\s*\/[/*]' return -1 endif - elseif syns =~? s:syng_str && l:line !~ '^[''"]' + elseif s:stack[-1] =~? b:syng_str if b:js_cache[0] == v:lnum - 1 && s:Balanced(v:lnum-1) let b:js_cache[0] = v:lnum endif return -1 endif - let l:lnum = s:PrevCodeLine(v:lnum - 1) - if !l:lnum + + let s:l1 = max([0,prevnonblank(v:lnum) - (s:rel ? 2000 : 1000), + \ get(get(b:,'hi_indent',{}),'blocklnr')]) + call cursor(v:lnum,1) + if s:PreviousToken() is '' return endif + let [l:lnum, pline] = [line('.'), getline('.')[:col('.')-1]] let l:line = substitute(l:line,'^\s*','','') + let l:line_raw = l:line if l:line[:1] == '/*' let l:line = substitute(l:line,'^\%(\/\*.\{-}\*\/\s*\)*','','') endif @@ -295,69 +358,91 @@ function GetJavascriptIndent() endif " the containing paren, bracket, or curly. Many hacks for performance - let idx = strlen(l:line) ? stridx('])}',l:line[0]) : -1 - if b:js_cache[0] >= l:lnum && b:js_cache[0] < v:lnum && - \ (b:js_cache[0] > l:lnum || s:Balanced(l:lnum)) + call cursor(v:lnum,1) + let idx = index([']',')','}'],l:line[0]) + if b:js_cache[0] > l:lnum && b:js_cache[0] < v:lnum || + \ b:js_cache[0] == l:lnum && s:Balanced(l:lnum) call call('cursor',b:js_cache[1:]) else - let [s:looksyn, s:free, top] = [v:lnum - 1, 1, (!indent(l:lnum) && - \ s:syn_at(l:lnum,1) !~? s:syng_str) * l:lnum] - if idx + 1 - call s:GetPair(['\[','(','{'][idx], '])}'[idx],'bW','s:skip_func()',2000,top) - elseif indent(v:lnum) && syns =~? 'block' - call s:GetPair('{','}','bW','s:skip_func()',2000,top) - else - call s:alternatePair(top) - endif + let [s:looksyn, s:top_col, s:check_in, s:l1] = [v:lnum - 1,0,0, + \ max([s:l1, &smc ? search('\m^.\{'.&smc.',}','nbW',s:l1 + 1) + 1 : 0])] + try + if idx != -1 + call s:GetPair(['\[','(','{'][idx],'])}'[idx],'bW','s:SkipFunc()') + elseif getline(v:lnum) !~ '^\S' && s:stack[-1] =~? 'block\|^jsobject$' + call s:GetPair('{','}','bW','s:SkipFunc()') + else + call s:AlternatePair() + endif + catch /^\Cout of bounds$/ + call cursor(v:lnum,1) + endtry + let b:js_cache[1:] = line('.') == v:lnum ? [0,0] : getpos('.')[1:2] endif - if idx + 1 || l:line[:1] == '|}' - if idx == 2 && search('\m\S','bW',line('.')) && s:looking_at() == ')' - call s:GetPair('(',')','bW',s:skip_expr,200) - endif - return indent('.') - endif + let [b:js_cache[0], num] = [v:lnum, b:js_cache[1]] - let b:js_cache = [v:lnum] + (line('.') == v:lnum ? [0,0] : getpos('.')[1:2]) - let num = b:js_cache[1] - - let [s:W, isOp, bL, switch_offset] = [s:sw(),0,0,0] - if !num || s:IsBlock() - let pline = s:save_pos('s:Trim',l:lnum) - if num && s:looking_at() == ')' && s:GetPair('(', ')', 'bW', s:skip_expr, 100) > 0 - let num = line('.') - if s:previous_token() ==# 'switch' && s:previous_token() != '.' - if &cino !~ ':' || !has('float') - let switch_offset = s:W - else - let cinc = matchlist(&cino,'.*:\(-\)\=\([0-9.]*\)\(s\)\=\C') - let switch_offset = float2nr(str2float(cinc[1].(strlen(cinc[2]) ? cinc[2] : strlen(cinc[3]))) - \ * (strlen(cinc[3]) ? s:W : 1)) - endif + let [num_ind, is_op, b_l, l:switch_offset] = [s:Nat(indent(num)),0,0,0] + if !num || s:LookingAt() == '{' && s:IsBlock() + let ilnum = line('.') + if num && s:LookingAt() == ')' && s:GetPair('(',')','bW',s:skip_expr) + if ilnum == num + let [num, num_ind] = [line('.'), indent('.')] + endif + if idx == -1 && s:PreviousToken() ==# 'switch' && s:IsSwitch() + let l:switch_offset = &cino !~ ':' ? s:sw() : s:ParseCino(':') if pline[-1:] != '.' && l:line =~# '^\%(default\|case\)\>' - return indent(num) + switch_offset + return s:Nat(num_ind + l:switch_offset) + elseif &cino =~ '=' + let l:case_offset = s:ParseCino('=') endif endif endif - if pline[-1:] !~ '[{;]' - if pline =~# ':\@<!:$' - call cursor(l:lnum,strlen(pline)) - let isOp = s:tern_col(b:js_cache[1:2]) + if idx == -1 && pline[-1:] !~ '[{;]' + let sol = matchstr(l:line,s:opfirst) + if sol is '' || sol == '/' && s:SynAt(v:lnum, + \ 1 + len(getline(v:lnum)) - len(l:line)) =~? 'regex' + if s:Continues(l:lnum,pline) + let is_op = s:sw() + endif + elseif num && sol =~# '^\%(in\%(stanceof\)\=\|\*\)$' + call call('cursor',b:js_cache[1:]) + if s:PreviousToken() =~ '\k' && s:Class() + return num_ind + s:sw() + endif + let is_op = s:sw() else - let isOp = l:line =~# s:opfirst || s:continues(l:lnum,pline) + let is_op = s:sw() endif - let bL = s:iscontOne(l:lnum,num,isOp) - let bL -= (bL && l:line[0] == '{') * s:W + call cursor(l:lnum, len(pline)) + let b_l = s:Nat(s:IsContOne(b:js_cache[1],is_op) - (!is_op && l:line =~ '^{')) * s:sw() endif + elseif idx.s:LookingAt().&cino =~ '^-1(.*(' && (search('\m\S','nbW',num) || s:ParseCino('U')) + let pval = s:ParseCino('(') + if !pval + let [Wval, vcol] = [s:ParseCino('W'), virtcol('.')] + if search('\m\S','W',num) + return s:ParseCino('w') ? vcol : virtcol('.')-1 + endif + return Wval ? s:Nat(num_ind + Wval) : vcol + endif + return s:Nat(num_ind + pval + searchpair('\m(','','\m)','nbrmW',s:skip_expr,num) * s:sw()) endif " main return - if isOp - return (num ? indent(num) : -s:W) + (s:W * 2) + switch_offset + bL + if l:line =~ '^[])}]\|^|}' + if l:line_raw[0] == ')' && getline(num)[b:js_cache[2]-1] == '(' + if s:ParseCino('M') + return indent(l:lnum) + elseif &cino =~# 'm' && !s:ParseCino('m') + return virtcol('.') - 1 + endif + endif + return num_ind elseif num - return indent(num) + s:W + switch_offset + bL + return s:Nat(num_ind + get(l:,'case_offset',s:sw()) + l:switch_offset + b_l + is_op) endif - return bL + return b_l + is_op endfunction let &cpo = s:cpo_save diff --git a/runtime/indent/json.vim b/runtime/indent/json.vim index 649f2b8aa5..b66a03d81b 100644 --- a/runtime/indent/json.vim +++ b/runtime/indent/json.vim @@ -1,7 +1,7 @@ " Vim indent file " Language: JSON " Mantainer: Eli Parra <eli@elzr.com> https://github.com/elzr/vim-json -" Last Change: 2014 Aug 29 +" Last Change: 2017 Jun 13 " https://github.com/jakar/vim-json/commit/20b650e22aa750c4ab6a66aa646bdd95d7cd548a#diff-e81fc111b2052e306d126bd9989f7b7c " Original Author: Rogerz Zhang <rogerz.zhang at gmail.com> http://github.com/rogerz/vim-json " Acknowledgement: Based off of vim-javascript maintained by Darrick Wiebe @@ -141,7 +141,7 @@ function GetJSONIndent() " If the previous line ended with a block opening, add a level of indent. " if s:Match(lnum, s:block_regex) - " return indent(lnum) + &sw + " return indent(lnum) + shiftwidth() " endif " If the previous line contained an opening bracket, and we are still in it, @@ -149,7 +149,7 @@ function GetJSONIndent() if line =~ '[[({]' let counts = s:LineHasOpeningBrackets(lnum) if counts[0] == '1' || counts[1] == '1' || counts[2] == '1' - return ind + &sw + return ind + shiftwidth() else call cursor(v:lnum, vcol) end diff --git a/runtime/indent/liquid.vim b/runtime/indent/liquid.vim index f8e1c83079..7beb0388d1 100644 --- a/runtime/indent/liquid.vim +++ b/runtime/indent/liquid.vim @@ -1,7 +1,7 @@ " Vim indent file " Language: Liquid " Maintainer: Tim Pope <vimNOSPAM@tpope.org> -" Last Change: 2016 Aug 29 +" Last Change: 2017 Jun 13 if exists('b:did_indent') finish @@ -54,7 +54,7 @@ function! GetLiquidIndent(...) let line = substitute(line,'\C^\%(\s*{%\s*end\w*\s*%}\)\+','','') let line .= matchstr(cline,'\C^\%(\s*{%\s*end\w*\s*%}\)\+') let cline = substitute(cline,'\C^\%(\s*{%\s*end\w*\s*%}\)\+','','') - let sw = exists('*shiftwidth') ? shiftwidth() : &sw + let sw = shiftwidth() let ind += sw * s:count(line,'{%\s*\%(if\|elsif\|else\|unless\|ifchanged\|case\|when\|for\|empty\|tablerow\|capture\)\>') let ind -= sw * s:count(line,'{%\s*end\%(if\|unless\|ifchanged\|case\|for\|tablerow\|capture\)\>') let ind -= sw * s:count(cline,'{%\s*\%(elsif\|else\|when\|empty\)\>') diff --git a/runtime/indent/logtalk.vim b/runtime/indent/logtalk.vim index 99e6ec896b..5b69663e1d 100644 --- a/runtime/indent/logtalk.vim +++ b/runtime/indent/logtalk.vim @@ -38,24 +38,24 @@ function! GetLogtalkIndent() endif " Check for entity opening directive on previous line if pline =~ '^\s*:-\s\(object\|protocol\|category\)\ze(.*,$' - let ind = ind + &sw + let ind = ind + shiftwidth() " Check for clause head on previous line elseif pline =~ ':-\s*\(%.*\)\?$' - let ind = ind + &sw + let ind = ind + shiftwidth() " Check for entity closing directive on previous line elseif pline =~ '^\s*:-\send_\(object\|protocol\|category\)\.\(%.*\)\?$' - let ind = ind - &sw + let ind = ind - shiftwidth() " Check for end of clause on previous line elseif pline =~ '\.\s*\(%.*\)\?$' - let ind = ind - &sw + let ind = ind - shiftwidth() endif " Check for opening conditional on previous line if pline =~ '^\s*\([(;]\|->\)' && pline !~ '\.\s*\(%.*\)\?$' && pline !~ '^.*\([)][,]\s*\(%.*\)\?$\)' - let ind = ind + &sw + let ind = ind + shiftwidth() endif " Check for closing an unclosed paren, or middle ; or -> if line =~ '^\s*\([);]\|->\)' - let ind = ind - &sw + let ind = ind - shiftwidth() endif return ind endfunction diff --git a/runtime/indent/lua.vim b/runtime/indent/lua.vim index d1d2c0d600..604cd333c9 100644 --- a/runtime/indent/lua.vim +++ b/runtime/indent/lua.vim @@ -2,7 +2,7 @@ " Language: Lua script " Maintainer: Marcus Aurelius Farias <marcus.cf 'at' bol.com.br> " First Author: Max Ischenko <mfi 'at' ukr.net> -" Last Change: 2016 Jan 10 +" Last Change: 2017 Jun 13 " Only load this indent file when no other was loaded. if exists("b:did_indent") @@ -48,7 +48,7 @@ function! GetLuaIndent() " Add 'shiftwidth' if what we found previously is not in a comment and " an "end" or "until" is not present on the same line. if synIDattr(synID(prevlnum, midx + 1, 1), "name") != "luaComment" && prevline !~ '\<end\>\|\<until\>' - let ind = ind + &shiftwidth + let ind = ind + shiftwidth() endif endif @@ -56,7 +56,7 @@ function! GetLuaIndent() " This is the part that requires 'indentkeys'. let midx = match(getline(v:lnum), '^\s*\%(end\>\|else\>\|elseif\>\|until\>\|}\)') if midx != -1 && synIDattr(synID(v:lnum, midx + 1, 1), "name") != "luaComment" - let ind = ind - &shiftwidth + let ind = ind - shiftwidth() endif return ind diff --git a/runtime/indent/matlab.vim b/runtime/indent/matlab.vim index 7bccc7c0a7..6a31624389 100644 --- a/runtime/indent/matlab.vim +++ b/runtime/indent/matlab.vim @@ -44,9 +44,9 @@ function GetMatlabIndent(lnum) " See if this line does not follow the line right after an openblock if getline(plnum) =~ '^\s*\(for\|if\|else\|elseif\|case\|while\|switch\|try\|otherwise\|catch\)\>' " See if the user has already dedented - elseif indent(v:lnum) > curind - &sw + elseif indent(v:lnum) > curind - shiftwidth() " If not, recommend one dedent - let curind = curind - &sw + let curind = curind - shiftwidth() else " Otherwise, trust the user return -1 @@ -56,9 +56,9 @@ function GetMatlabIndent(lnum) " If the previous line opened a block elseif getline(plnum) =~ '^\s*\(for\|if\|else\|elseif\|case\|while\|switch\|try\|otherwise\|catch\)\>' " See if the user has already indented - if indent(v:lnum) < curind + &sw + if indent(v:lnum) < curind + shiftwidth() "If not, recommend indent - let curind = curind + &sw + let curind = curind + shiftwidth() else " Otherwise, trust the user return -1 diff --git a/runtime/indent/mma.vim b/runtime/indent/mma.vim index 356b87618d..8298ad98cd 100644 --- a/runtime/indent/mma.vim +++ b/runtime/indent/mma.vim @@ -49,7 +49,7 @@ function GetMmaIndent() " also, indent only if this line if this line isn't starting a new " block... TODO - fix this with indentkeys? if getline(v:lnum-1) =~ '\\\@<!\%(\[[^\]]*\|([^)]*\|{[^}]*\)$' && getline(v:lnum) !~ '\s\+[\[({]' - let ind = ind+&sw + let ind = ind+shiftwidth() endif " if this line had unmatched closing block, diff --git a/runtime/indent/ocaml.vim b/runtime/indent/ocaml.vim index 3bd65c63f0..8fe9de3d61 100644 --- a/runtime/indent/ocaml.vim +++ b/runtime/indent/ocaml.vim @@ -4,7 +4,7 @@ " Mike Leary <leary@nwlink.com> " Markus Mottl <markus.mottl@gmail.com> " URL: http://www.ocaml.info/vim/indent/ocaml.vim -" Last Change: 2013 Jun 29 +" Last Change: 2017 Jun 13 " 2005 Jun 25 - Fixed multiple bugs due to 'else\nreturn ind' working " 2005 May 09 - Added an option to not indent OCaml-indents specially (MM) " 2013 June - commented textwidth (Marc Weber) @@ -101,7 +101,7 @@ function! GetOCamlIndent() " Return double 'shiftwidth' after lines matching: if lline =~ '^\s*|.*->\s*$' - return ind + &sw + &sw + return ind + 2 * shiftwidth() endif let line = getline(v:lnum) @@ -172,7 +172,7 @@ function! GetOCamlIndent() " Indent if current line begins with 'and': elseif line =~ '^\s*and\>' if lline !~ '^\s*\(and\|let\|type\)\>\|\<end\s*$' - return ind - &sw + return ind - shiftwidth() endif " Indent if current line begins with 'with': @@ -199,14 +199,14 @@ function! GetOCamlIndent() " or 'method': elseif line =~ '^\s*\(constraint\|inherit\|initializer\|method\)\>' if lline !~ s:obj - return indent(search('\<\(object\|object\s*(.*)\)\s*$', 'bW')) + &sw + return indent(search('\<\(object\|object\s*(.*)\)\s*$', 'bW')) + shiftwidth() endif endif " Add a 'shiftwidth' after lines ending with: if lline =~ '\(:\|=\|->\|<-\|(\|\[\|{\|{<\|\[|\|\[<\|\<\(begin\|do\|else\|fun\|function\|functor\|if\|initializer\|object\|parser\|private\|sig\|struct\|then\|try\)\|\<object\s*(.*)\)\s*$' - let ind = ind + &sw + let ind = ind + shiftwidth() " Back to normal indent after lines ending with ';;': elseif lline =~ ';;\s*$' && lline !~ '^\s*;;' @@ -263,7 +263,7 @@ function! GetOCamlIndent() " Subtract a 'shiftwidth' after lines matching 'match ... with parser': if lline =~ '\<match\>.*\<with\>\s*\<parser\s*$' - let ind = ind - &sw + let ind = ind - shiftwidth() endif return ind diff --git a/runtime/indent/occam.vim b/runtime/indent/occam.vim index bebb0528bb..4acd42e3c8 100644 --- a/runtime/indent/occam.vim +++ b/runtime/indent/occam.vim @@ -131,7 +131,7 @@ function GetOccamIndent() if line =~ s:FirstLevelIndent || (line =~ s:FirstLevelNonColonEndIndent && line !~ s:ColonEnd) \ || (line !~ s:ColonStart && (prevline =~ s:SecondLevelIndent \ || (prevline =~ s:SecondLevelNonColonEndIndent && prevline !~ s:ColonEnd))) - let curindent = curindent + &shiftwidth + let curindent = curindent + shiftwidth() " Restore magic if !save_magic|setlocal nomagic|endif @@ -153,7 +153,7 @@ function GetOccamIndent() while !found - if indent(prevlinenum) == curindent - &shiftwidth + if indent(prevlinenum) == curindent - shiftwidth() let found = 1 endif @@ -171,7 +171,7 @@ function GetOccamIndent() if prevlinenum > 0 if getline(prevlinenum) =~ s:SecondLevelIndent - let curindent = curindent + &shiftwidth + let curindent = curindent + shiftwidth() endif endif diff --git a/runtime/indent/pascal.vim b/runtime/indent/pascal.vim index 6dd3030e9c..c7955d669b 100644 --- a/runtime/indent/pascal.vim +++ b/runtime/indent/pascal.vim @@ -2,7 +2,7 @@ " Language: Pascal " Maintainer: Neil Carter <n.carter@swansea.ac.uk> " Created: 2004 Jul 13 -" Last Change: 2011 Apr 01 +" Last Change: 2017 Jun 13 " " This is version 2.0, a complete rewrite. " @@ -102,12 +102,12 @@ function! GetPascalIndent( line_num ) " If the PREVIOUS LINE ended in these items, always indent if prev_codeline =~ '\<\(type\|const\|var\)$' - return indnt + &shiftwidth + return indnt + shiftwidth() endif if prev_codeline =~ '\<repeat$' if this_codeline !~ '^\s*until\>' - return indnt + &shiftwidth + return indnt + shiftwidth() else return indnt endif @@ -115,7 +115,7 @@ function! GetPascalIndent( line_num ) if prev_codeline =~ '\<\(begin\|record\)$' if this_codeline !~ '^\s*end\>' - return indnt + &shiftwidth + return indnt + shiftwidth() else return indnt endif @@ -125,10 +125,10 @@ function! GetPascalIndent( line_num ) " followed by "begin" if prev_codeline =~ '\<\(\|else\|then\|do\)$' || prev_codeline =~ ':$' if this_codeline !~ '^\s*begin\>' - return indnt + &shiftwidth + return indnt + shiftwidth() else " If it does start with "begin" then keep the same indent - "return indnt + &shiftwidth + "return indnt + shiftwidth() return indnt endif endif @@ -137,7 +137,7 @@ function! GetPascalIndent( line_num ) " only the line before the current one. TODO: Get it working for " parameter lists longer than two lines. if prev_codeline =~ '([^)]\+$' - return indnt + &shiftwidth + return indnt + shiftwidth() endif @@ -146,7 +146,7 @@ function! GetPascalIndent( line_num ) " Lines starting with "else", but not following line ending with " "end". if this_codeline =~ '^\s*else\>' && prev_codeline !~ '\<end$' - return indnt - &shiftwidth + return indnt - shiftwidth() endif " Lines after a single-statement branch/loop. @@ -160,16 +160,16 @@ function! GetPascalIndent( line_num ) " additional unindentation. if this_codeline =~ '^\s*\(end;\|except\|finally\|\)$' " Note that we don't return from here. - return indnt - &shiftwidth - &shiftwidth + return indnt - 2 * shiftwidth() endif - return indnt - &shiftwidth + return indnt - shiftwidth() endif " Lines starting with "until" or "end". This rule must be overridden " by the one for "end" after a single-statement branch/loop. In " other words that rule should come before this one. if this_codeline =~ '^\s*\(end\|until\)\>' - return indnt - &shiftwidth + return indnt - shiftwidth() endif @@ -201,7 +201,7 @@ function! GetPascalIndent( line_num ) " If the PREVIOUS LINE ended in these items, always indent. if prev_codeline =~ '^\s*\(unit\|uses\|try\|except\|finally\|private\|protected\|public\|published\)$' - return indnt + &shiftwidth + return indnt + shiftwidth() endif " ???? Indent "procedure" and "functions" if they appear within an @@ -212,11 +212,11 @@ function! GetPascalIndent( line_num ) " UNINDENT ONCE if this_codeline =~ '^\s*\(except\|finally\)$' - return indnt - &shiftwidth + return indnt - shiftwidth() endif if this_codeline =~ '^\s*\(private\|protected\|public\|published\)$' - return indnt - &shiftwidth + return indnt - shiftwidth() endif diff --git a/runtime/indent/perl.vim b/runtime/indent/perl.vim index fc4b6a30d3..094d1d37ea 100644 --- a/runtime/indent/perl.vim +++ b/runtime/indent/perl.vim @@ -3,7 +3,7 @@ " Maintainer: vim-perl <vim-perl@googlegroups.com> " Homepage: http://github.com/vim-perl/vim-perl " Bugs/requests: http://github.com/vim-perl/vim-perl/issues -" Last Change: 2013-07-24 +" Last Change: 2017-01-04 " Suggestions and improvements by : " Aaron J. Sherman (use syntax for hints) @@ -48,11 +48,6 @@ function! GetPerlIndent() return 0 endif - " Don't reindent comments on first column - if cline =~ '^#.' - return 0 - endif - " Get current syntax item at the line's first char let csynid = '' if b:indent_use_syntax @@ -134,13 +129,14 @@ function! GetPerlIndent() \ || synid == "perlMatchStartEnd" \ || synid == "perlHereDoc" \ || synid == "perlBraces" + \ || synid == "perlStatementIndirObj" \ || synid =~ "^perlFiledescStatement" \ || synid =~ '^perl\(Sub\|Block\|Package\)Fold' let brace = strpart(line, bracepos, 1) if brace == '(' || brace == '{' || brace == '[' - let ind = ind + &sw + let ind = ind + shiftwidth() else - let ind = ind - &sw + let ind = ind - shiftwidth() endif endif let bracepos = match(line, braceclass, bracepos + 1) @@ -151,26 +147,27 @@ function! GetPerlIndent() if synid == "" \ || synid == "perlMatchStartEnd" \ || synid == "perlBraces" + \ || synid == "perlStatementIndirObj" \ || synid =~ '^perl\(Sub\|Block\|Package\)Fold' - let ind = ind - &sw + let ind = ind - shiftwidth() endif endif else if line =~ '[{[(]\s*\(#[^])}]*\)\=$' - let ind = ind + &sw + let ind = ind + shiftwidth() endif if cline =~ '^\s*[])}]' - let ind = ind - &sw + let ind = ind - shiftwidth() endif endif " Indent lines that begin with 'or' or 'and' if cline =~ '^\s*\(or\|and\)\>' if line !~ '^\s*\(or\|and\)\>' - let ind = ind + &sw + let ind = ind + shiftwidth() endif elseif line =~ '^\s*\(or\|and\)\>' - let ind = ind - &sw + let ind = ind - shiftwidth() endif return ind diff --git a/runtime/indent/perl6.vim b/runtime/indent/perl6.vim index ff2a579f0a..8561c8c58c 100644 --- a/runtime/indent/perl6.vim +++ b/runtime/indent/perl6.vim @@ -3,7 +3,7 @@ " Maintainer: vim-perl <vim-perl@googlegroups.com> " Homepage: http://github.com/vim-perl/vim-perl " Bugs/requests: http://github.com/vim-perl/vim-perl/issues -" Last Change: 2013-07-21 +" Last Change: 2017 Jun 13 " Contributors: Andy Lester <andy@petdance.com> " Hinrik Örn Sigurðsson <hinrik.sig@gmail.com> " @@ -107,19 +107,19 @@ function! GetPerl6Indent() endif if line =~ '[<«\[{(]\s*\(#[^)}\]»>]*\)\=$' - let ind = ind + &sw + let ind = ind + shiftwidth() endif if cline =~ '^\s*[)}\]»>]' - let ind = ind - &sw + let ind = ind - shiftwidth() endif " Indent lines that begin with 'or' or 'and' if cline =~ '^\s*\(or\|and\)\>' if line !~ '^\s*\(or\|and\)\>' - let ind = ind + &sw + let ind = ind + shiftwidth() endif elseif line =~ '^\s*\(or\|and\)\>' - let ind = ind - &sw + let ind = ind - shiftwidth() endif return ind diff --git a/runtime/indent/php.vim b/runtime/indent/php.vim index 07ecd8f141..35dddaa270 100644 --- a/runtime/indent/php.vim +++ b/runtime/indent/php.vim @@ -3,8 +3,8 @@ " Author: John Wellesz <John.wellesz (AT) teaser (DOT) fr> " URL: http://www.2072productions.com/vim/indent/php.vim " Home: https://github.com/2072/PHP-Indenting-for-VIm -" Last Change: 2015 September 8th -" Version: 1.60 +" Last Change: 2017 Jun 13 +" Version: 1.62 " " " Type :help php-indent for available options @@ -50,25 +50,15 @@ let b:did_indent = 1 let g:php_sync_method = 0 -if exists('*shiftwidth') - function! s:sw() - return shiftwidth() - endfunction -else - function! s:sw() - return &shiftwidth - endfunction -endif - if exists("PHP_default_indenting") - let b:PHP_default_indenting = PHP_default_indenting * s:sw() + let b:PHP_default_indenting = PHP_default_indenting * shiftwidth() else let b:PHP_default_indenting = 0 endif if exists("PHP_outdentSLComments") - let b:PHP_outdentSLComments = PHP_outdentSLComments * s:sw() + let b:PHP_outdentSLComments = PHP_outdentSLComments * shiftwidth() else let b:PHP_outdentSLComments = 0 endif @@ -141,11 +131,13 @@ let s:PHP_validVariable = '[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*' let s:notPhpHereDoc = '\%(break\|return\|continue\|exit\|die\|else\)' let s:blockstart = '\%(\%(\%(}\s*\)\=else\%(\s\+\)\=\)\=if\>\|\%(}\s*\)\?else\>\|do\>\|while\>\|switch\>\|case\>\|default\>\|for\%(each\)\=\>\|declare\>\|class\>\|trait\>\|use\>\|interface\>\|abstract\>\|final\>\|try\>\|\%(}\s*\)\=catch\>\|\%(}\s*\)\=finally\>\)' let s:functionDecl = '\<function\>\%(\s\+'.s:PHP_validVariable.'\)\=\s*(.*' -let s:endline= '\s*\%(//.*\|#.*\|/\*.*\*/\s*\)\=$' +let s:endline = '\s*\%(//.*\|#.*\|/\*.*\*/\s*\)\=$' +let s:unstated = '\%(^\s*'.s:blockstart.'.*)\|\%(//.*\)\@<!\<e'.'lse\>\)'.s:endline -let s:terminated = '\%(\%(;\%(\s*\%(?>\|}\)\)\=\|<<<\s*[''"]\=\a\w*[''"]\=$\|^\s*}\|^\s*'.s:PHP_validVariable.':\)'.s:endline.'\)\|^[^''"`]*[''"`]$' +let s:terminated = '\%(\%(;\%(\s*\%(?>\|}\)\)\=\|<<<\s*[''"]\=\a\w*[''"]\=$\|^\s*}\|^\s*'.s:PHP_validVariable.':\)'.s:endline.'\)' let s:PHP_startindenttag = '<?\%(.*?>\)\@!\|<script[^>]*>\%(.*<\/script>\)\@!' +let s:structureHead = '^\s*\%(' . s:blockstart . '\)\|'. s:functionDecl . s:endline . '\|\<new\s\+class\>' @@ -214,10 +206,28 @@ function! GetLastRealCodeLNum(startline) " {{{ let lnum = lnum - 1 endwhile elseif lastline =~ '^[^''"`]*[''"`][;,]'.s:endline - let tofind=substitute( lastline, '^.*\([''"`]\)[;,].*$', '^[^\1]\\+[\1]$', '') - while getline(lnum) !~? tofind && lnum > 1 - let lnum = lnum - 1 + + let tofind=substitute( lastline, '^.*\([''"`]\)[;,].*$', '^[^\1]\\+[\1]$\\|^[^\1]\\+[=([]\\s*[\1]', '') + let trylnum = lnum + while getline(trylnum) !~? tofind && trylnum > 1 + let trylnum = trylnum - 1 endwhile + + if trylnum == 1 + break + else + if lastline =~ ';'.s:endline + while getline(trylnum) !~? s:terminated && getline(trylnum) !~? '{'.s:endline && trylnum > 1 + let trylnum = prevnonblank(trylnum - 1) + endwhile + + + if trylnum == 1 + break + end + end + let lnum = trylnum + end else break endif @@ -262,7 +272,7 @@ function! FindOpenBracket(lnum, blockStarter) " {{{ while line > 1 let linec = getline(line) - if linec =~ s:terminated || linec =~ '^\s*\%(' . s:blockstart . '\)\|'. s:functionDecl . s:endline + if linec =~ s:terminated || linec =~ s:structureHead break endif @@ -273,6 +283,20 @@ function! FindOpenBracket(lnum, blockStarter) " {{{ return line endfun " }}} +let s:blockChars = {'{':1, '[': 1, '(': 1, ')':-1, ']':-1, '}':-1} +function! BalanceDirection (str) + + let balance = 0 + + for c in split(a:str, '\zs') + if has_key(s:blockChars, c) + let balance += s:blockChars[c] + endif + endfor + + return balance +endfun + function! FindTheIfOfAnElse (lnum, StopAfterFirstPrevElse) " {{{ if getline(a:lnum) =~# '^\s*}\s*else\%(if\)\=\>' @@ -323,7 +347,7 @@ function! FindTheSwitchIndent (lnum) " {{{ let test = GetLastRealCodeLNum(a:lnum - 1) if test <= 1 - return indent(1) - s:sw() * b:PHP_vintage_case_default_indent + return indent(1) - shiftwidth() * b:PHP_vintage_case_default_indent end while getline(test) =~ '^\s*}' && test > 1 @@ -337,7 +361,7 @@ function! FindTheSwitchIndent (lnum) " {{{ if getline(test) =~# '^\s*switch\>' return indent(test) elseif getline(test) =~# s:defaultORcase - return indent(test) - s:sw() * b:PHP_vintage_case_default_indent + return indent(test) - shiftwidth() * b:PHP_vintage_case_default_indent else return FindTheSwitchIndent(test) endif @@ -410,7 +434,7 @@ function! GetPhpIndent() endif if b:PHP_default_indenting - let b:PHP_default_indenting = g:PHP_default_indenting * s:sw() + let b:PHP_default_indenting = g:PHP_default_indenting * shiftwidth() endif let cline = getline(v:lnum) @@ -457,7 +481,7 @@ function! GetPhpIndent() if synname!="" if synname == "SpecStringEntrails" - let b:InPHPcode = -1 + let b:InPHPcode = -1 " thumb down let b:InPHPcode_tofind = "" elseif synname != "phpHereDoc" && synname != "phpHereDocDelimiter" let b:InPHPcode = 1 @@ -540,7 +564,7 @@ function! GetPhpIndent() let b:InPHPcode_and_script = 1 endif - elseif last_line =~ '^[^''"`]\+[''"`]$' + elseif last_line =~ '^[^''"`]\+[''"`]$' " a string identifier with nothing after it and no other string identifier before let b:InPHPcode = -1 let b:InPHPcode_tofind = substitute( last_line, '^.*\([''"`]\).*$', '^[^\1]*\1[;,]$', '') elseif last_line =~? '<<<\s*[''"]\=\a\w*[''"]\=$' @@ -660,25 +684,26 @@ function! GetPhpIndent() let terminated = s:terminated - let unstated = '\%(^\s*'.s:blockstart.'.*)\|\%(//.*\)\@<!\<e'.'lse\>\)'.endline + let unstated = s:unstated + if ind != b:PHP_default_indenting && cline =~# '^\s*else\%(if\)\=\>' let b:PHP_CurrentIndentLevel = b:PHP_default_indenting return indent(FindTheIfOfAnElse(v:lnum, 1)) elseif cline =~# s:defaultORcase - return FindTheSwitchIndent(v:lnum) + s:sw() * b:PHP_vintage_case_default_indent + return FindTheSwitchIndent(v:lnum) + shiftwidth() * b:PHP_vintage_case_default_indent elseif cline =~ '^\s*)\=\s*{' let previous_line = last_line let last_line_num = lnum while last_line_num > 1 - if previous_line =~ terminated || previous_line =~ '^\s*\%(' . s:blockstart . '\)\|'. s:functionDecl . endline + if previous_line =~ terminated || previous_line =~ s:structureHead let ind = indent(last_line_num) if b:PHP_BracesAtCodeLevel - let ind = ind + s:sw() + let ind = ind + shiftwidth() endif return ind @@ -689,7 +714,7 @@ function! GetPhpIndent() endwhile elseif last_line =~# unstated && cline !~ '^\s*);\='.endline - let ind = ind + s:sw() + let ind = ind + shiftwidth() " we indent one level further when the preceding line is not stated return ind + addSpecial elseif (ind != b:PHP_default_indenting || last_line =~ '^[)\]]' ) && last_line =~ terminated @@ -699,7 +724,7 @@ function! GetPhpIndent() let isSingleLineBlock = 0 while 1 - if ! isSingleLineBlock && previous_line =~ '^\s*}\|;\s*}'.endline + if ! isSingleLineBlock && previous_line =~ '^\s*}\|;\s*}'.endline " XXX call cursor(last_line_num, 1) if previous_line !~ '^}' @@ -780,15 +805,15 @@ function! GetPhpIndent() if !LastLineClosed - if last_line =~# '[{(\[]'.endline || last_line =~? '\h\w*\s*(.*,$' && AntepenultimateLine !~ '[,(\[]'.endline + if last_line =~# '[{(\[]'.endline || last_line =~? '\h\w*\s*(.*,$' && AntepenultimateLine !~ '[,(\[]'.endline && BalanceDirection(last_line) > 0 let dontIndent = 0 - if last_line =~ '\S\+\s*{'.endline && last_line !~ '^\s*)\s*{'.endline && last_line !~ '^\s*\%(' . s:blockstart . '\)\|'. s:functionDecl . s:endline + if last_line =~ '\S\+\s*{'.endline && last_line !~ '^\s*[)\]]\+\s*{'.endline && last_line !~ s:structureHead let dontIndent = 1 endif if !dontIndent && (!b:PHP_BracesAtCodeLevel || last_line !~# '^\s*{') - let ind = ind + s:sw() + let ind = ind + shiftwidth() endif if b:PHP_BracesAtCodeLevel || b:PHP_vintage_case_default_indent == 1 @@ -797,26 +822,26 @@ function! GetPhpIndent() return ind + addSpecial endif - elseif last_line =~ '\S\+\s*),'.endline + elseif last_line =~ '\S\+\s*),'.endline && BalanceDirection(last_line) < 0 call cursor(lnum, 1) - call search('),'.endline, 'W') + call search('),'.endline, 'W') " line never begins with ) so no need for 'c' flag let openedparent = searchpair('(', '', ')', 'bW', 'Skippmatch()') if openedparent != lnum let ind = indent(openedparent) endif elseif last_line =~ '^\s*'.s:blockstart - let ind = ind + s:sw() + let ind = ind + shiftwidth() - elseif AntepenultimateLine =~ '{'.endline || AntepenultimateLine =~ terminated || AntepenultimateLine =~# s:defaultORcase - let ind = ind + s:sw() + elseif AntepenultimateLine =~ '{'.endline && AntepenultimateLine !~? '^\s*use\>' || AntepenultimateLine =~ terminated || AntepenultimateLine =~# s:defaultORcase + let ind = ind + shiftwidth() endif endif if cline =~ '^\s*[)\]];\=' - let ind = ind - s:sw() + let ind = ind - shiftwidth() endif let b:PHP_CurrentIndentLevel = ind diff --git a/runtime/indent/postscr.vim b/runtime/indent/postscr.vim index b0ff48e682..2592bcf62f 100644 --- a/runtime/indent/postscr.vim +++ b/runtime/indent/postscr.vim @@ -41,16 +41,16 @@ function! PostscrIndentGet(lnum) " Indent for dicts, arrays, and saves with possible trailing comment if pline =~ '\(begin\|<<\|g\=save\|{\|[\)\s*\(%.*\)\=$' - let ind = ind + &sw + let ind = ind + shiftwidth() endif " Remove indent for popped dicts, and restores. if pline =~ '\(end\|g\=restore\)\s*$' - let ind = ind - &sw + let ind = ind - shiftwidth() " Else handle immediate dedents of dicts, restores, and arrays. elseif getline(a:lnum) =~ '\(end\|>>\|g\=restore\|}\|]\)' - let ind = ind - &sw + let ind = ind - shiftwidth() " Else handle DSC comments - always start of line. elseif getline(a:lnum) =~ '^\s*%%' diff --git a/runtime/indent/pov.vim b/runtime/indent/pov.vim index 2b197635a1..e806756c8e 100644 --- a/runtime/indent/pov.vim +++ b/runtime/indent/pov.vim @@ -1,7 +1,7 @@ " Vim indent file " Language: PoV-Ray Scene Description Language " Maintainer: David Necas (Yeti) <yeti@physics.muni.cz> -" Last Change: 2002-10-20 +" Last Change: 2017 Jun 13 " URI: http://trific.ath.cx/Ftp/vim/indent/pov.vim " Only load this indent file when no other was loaded. @@ -75,9 +75,9 @@ function GetPoVRayIndent() " opening line. let cur = s:MatchCount(v:lnum, '^\s*\%(#\s*\%(end\|else\)\>\|[]})]\)') if cur > 0 - let final = plind + (chg - cur) * &sw + let final = plind + (chg - cur) * shiftwidth() else - let final = plind + chg * &sw + let final = plind + chg * shiftwidth() endif return final < 0 ? 0 : final diff --git a/runtime/indent/prolog.vim b/runtime/indent/prolog.vim index afe448e8f3..26a3bc3cd9 100644 --- a/runtime/indent/prolog.vim +++ b/runtime/indent/prolog.vim @@ -41,18 +41,18 @@ function! GetPrologIndent() endif " Check for clause head on previous line if pline =~ ':-\s*\(%.*\)\?$' - let ind = ind + &sw + let ind = ind + shiftwidth() " Check for end of clause on previous line elseif pline =~ '\.\s*\(%.*\)\?$' - let ind = ind - &sw + let ind = ind - shiftwidth() endif " Check for opening conditional on previous line if pline =~ '^\s*\([(;]\|->\)' - let ind = ind + &sw + let ind = ind + shiftwidth() endif " Check for closing an unclosed paren, or middle ; or -> if line =~ '^\s*\([);]\|->\)' - let ind = ind - &sw + let ind = ind - shiftwidth() endif return ind endfunction diff --git a/runtime/indent/r.vim b/runtime/indent/r.vim index 01f3812ed2..373b0e65df 100644 --- a/runtime/indent/r.vim +++ b/runtime/indent/r.vim @@ -274,7 +274,7 @@ function GetRIndent() let nlnum = s:Get_prev_line(nlnum) let nline = SanitizeRLine(getline(nlnum)) . nline endwhile - if nline =~ '^\s*function\s*(' && indent(nlnum) == &sw + if nline =~ '^\s*function\s*(' && indent(nlnum) == shiftwidth() return 0 endif endif @@ -285,7 +285,7 @@ function GetRIndent() " line is an incomplete command: if line =~ '\<\(if\|while\|for\|function\)\s*()$' || line =~ '\<else$' || line =~ '<-$' || line =~ '->$' - return indent(lnum) + &sw + return indent(lnum) + shiftwidth() endif " Deal with () and [] @@ -293,14 +293,14 @@ function GetRIndent() let pb = s:Get_paren_balance(line, '(', ')') if line =~ '^\s*{$' || line =~ '(\s*{' || (pb == 0 && (line =~ '{$' || line =~ '(\s*{$')) - return indent(lnum) + &sw + return indent(lnum) + shiftwidth() endif let s:curtabstop = repeat(' ', &tabstop) if g:r_indent_align_args == 1 if pb > 0 && line =~ '{$' - return s:Get_last_paren_idx(line, '(', ')', pb) + &sw + return s:Get_last_paren_idx(line, '(', ')', pb) + shiftwidth() endif let bb = s:Get_paren_balance(line, '[', ']') @@ -364,11 +364,11 @@ function GetRIndent() if oline =~ g:r_indent_op_pattern && s:Get_paren_balance(line, "(", ")") == 0 return indent(lnum) else - return indent(lnum) + &sw + return indent(lnum) + shiftwidth() endif else if oline =~ g:r_indent_op_pattern && s:Get_paren_balance(line, "(", ")") == 0 - return indent(lnum) - &sw + return indent(lnum) - shiftwidth() endif endif endif @@ -383,7 +383,7 @@ function GetRIndent() let line = linepiece . line endwhile if line =~ '{$' && post_block == 0 - return indent(lnum) + &sw + return indent(lnum) + shiftwidth() endif " Now we can do some tests again @@ -393,19 +393,19 @@ function GetRIndent() if post_block == 0 let newl = SanitizeRLine(line) if newl =~ '\<\(if\|while\|for\|function\)\s*()$' || newl =~ '\<else$' || newl =~ '<-$' - return indent(lnum) + &sw + return indent(lnum) + shiftwidth() endif endif endif if cline =~ '^\s*else' if line =~ '<-\s*if\s*()' - return indent(lnum) + &sw + return indent(lnum) + shiftwidth() else if line =~ '\<if\s*()' return indent(lnum) else - return indent(lnum) - &sw + return indent(lnum) - shiftwidth() endif endif endif @@ -474,12 +474,12 @@ function GetRIndent() let ind = indent(lnum) if g:r_indent_align_args == 0 && pb != 0 - let ind += pb * &sw + let ind += pb * shiftwidth() return ind endif if g:r_indent_align_args == 0 && bb != 0 - let ind += bb * &sw + let ind += bb * shiftwidth() return ind endif @@ -489,7 +489,7 @@ function GetRIndent() let pind = 0 endif - if ind == pind || (ind == (pind + &sw) && pline =~ '{$' && ppost_else == 0) + if ind == pind || (ind == (pind + shiftwidth()) && pline =~ '{$' && ppost_else == 0) return ind endif @@ -509,7 +509,7 @@ function GetRIndent() let pbb = s:Get_paren_balance(pline, '[', ']') endwhile let pind = indent(plnum) - if ind == (pind + &sw) && pline =~ '{$' + if ind == (pind + shiftwidth()) && pline =~ '{$' return ind endif endwhile diff --git a/runtime/indent/rhelp.vim b/runtime/indent/rhelp.vim index 9dc2031cb6..cf69ae3392 100644 --- a/runtime/indent/rhelp.vim +++ b/runtime/indent/rhelp.vim @@ -82,7 +82,7 @@ function GetRHelpIndent() let closeb = strlen(line2) - strlen(line3) let bb = openb - closeb - let ind = indent(lnum) + (bb * &sw) + let ind = indent(lnum) + (bb * shiftwidth()) if line =~ '^\s*}\s*$' let ind = indent(lnum) diff --git a/runtime/indent/rpl.vim b/runtime/indent/rpl.vim index 07bfd06590..fab258ed2b 100644 --- a/runtime/indent/rpl.vim +++ b/runtime/indent/rpl.vim @@ -1,7 +1,7 @@ " Vim indent file " Language: RPL/2 " Version: 0.2 -" Last Change: 2005 Mar 28 +" Last Change: 2017 Jun 13 " Maintainer: BERTRAND Joël <rpl2@free.fr> " Only load this indent file when no other was loaded. @@ -32,16 +32,16 @@ function RplGetIndent(lnum) if prevstat =~? '\<\(if\|iferr\|do\|while\)\>' && prevstat =~? '\<end\>' elseif prevstat =~? '\(^\|\s\+\)<<\($\|\s\+\)' && prevstat =~? '\s\+>>\($\|\s\+\)' elseif prevstat =~? '\<\(if\|iferr\|then\|else\|elseif\|select\|case\|do\|until\|while\|repeat\|for\|start\|default\)\>' || prevstat =~? '\(^\|\s\+\)<<\($\|\s\+\)' - let ind = ind + &sw + let ind = ind + shiftwidth() endif " Subtract a shiftwidth from then, else, elseif, end, until, repeat, next, " step let line = getline(v:lnum) if line =~? '^\s*\(then\|else\|elseif\|until\|repeat\|next\|step\|default\|end\)\>' - let ind = ind - &sw + let ind = ind - shiftwidth() elseif line =~? '^\s*>>\($\|\s\+\)' - let ind = ind - &sw + let ind = ind - shiftwidth() endif return ind diff --git a/runtime/indent/ruby.vim b/runtime/indent/ruby.vim index a97f4828d6..d8733db305 100644 --- a/runtime/indent/ruby.vim +++ b/runtime/indent/ruby.vim @@ -404,11 +404,7 @@ function GetRubyIndent(...) " ---------- " The value of a single shift-width - if exists('*shiftwidth') - let sw = shiftwidth() - else - let sw = &sw - endif + let sw = shiftwidth() " For the current line, use the first argument if given, else v:lnum let clnum = a:0 ? a:1 : v:lnum diff --git a/runtime/indent/rust.vim b/runtime/indent/rust.vim new file mode 100644 index 0000000000..d30629b64e --- /dev/null +++ b/runtime/indent/rust.vim @@ -0,0 +1,213 @@ +" Vim indent file +" Language: Rust +" Author: Chris Morgan <me@chrismorgan.info> +" Last Change: 2017 Jun 13 +" For bugs, patches and license go to https://github.com/rust-lang/rust.vim + +" Only load this indent file when no other was loaded. +if exists("b:did_indent") + finish +endif +let b:did_indent = 1 + +setlocal cindent +setlocal cinoptions=L0,(0,Ws,J1,j1 +setlocal cinkeys=0{,0},!^F,o,O,0[,0] +" Don't think cinwords will actually do anything at all... never mind +setlocal cinwords=for,if,else,while,loop,impl,mod,unsafe,trait,struct,enum,fn,extern + +" Some preliminary settings +setlocal nolisp " Make sure lisp indenting doesn't supersede us +setlocal autoindent " indentexpr isn't much help otherwise +" Also do indentkeys, otherwise # gets shoved to column 0 :-/ +setlocal indentkeys=0{,0},!^F,o,O,0[,0] + +setlocal indentexpr=GetRustIndent(v:lnum) + +" Only define the function once. +if exists("*GetRustIndent") + finish +endif + +let s:save_cpo = &cpo +set cpo&vim + +" Come here when loading the script the first time. + +function! s:get_line_trimmed(lnum) + " Get the line and remove a trailing comment. + " Use syntax highlighting attributes when possible. + " NOTE: this is not accurate; /* */ or a line continuation could trick it + let line = getline(a:lnum) + let line_len = strlen(line) + if has('syntax_items') + " If the last character in the line is a comment, do a binary search for + " the start of the comment. synID() is slow, a linear search would take + " too long on a long line. + if synIDattr(synID(a:lnum, line_len, 1), "name") =~ 'Comment\|Todo' + let min = 1 + let max = line_len + while min < max + let col = (min + max) / 2 + if synIDattr(synID(a:lnum, col, 1), "name") =~ 'Comment\|Todo' + let max = col + else + let min = col + 1 + endif + endwhile + let line = strpart(line, 0, min - 1) + endif + return substitute(line, "\s*$", "", "") + else + " Sorry, this is not complete, nor fully correct (e.g. string "//"). + " Such is life. + return substitute(line, "\s*//.*$", "", "") + endif +endfunction + +function! s:is_string_comment(lnum, col) + if has('syntax_items') + for id in synstack(a:lnum, a:col) + let synname = synIDattr(id, "name") + if synname == "rustString" || synname =~ "^rustComment" + return 1 + endif + endfor + else + " without syntax, let's not even try + return 0 + endif +endfunction + +function GetRustIndent(lnum) + + " Starting assumption: cindent (called at the end) will do it right + " normally. We just want to fix up a few cases. + + let line = getline(a:lnum) + + if has('syntax_items') + let synname = synIDattr(synID(a:lnum, 1, 1), "name") + if synname == "rustString" + " If the start of the line is in a string, don't change the indent + return -1 + elseif synname =~ '\(Comment\|Todo\)' + \ && line !~ '^\s*/\*' " not /* opening line + if synname =~ "CommentML" " multi-line + if line !~ '^\s*\*' && getline(a:lnum - 1) =~ '^\s*/\*' + " This is (hopefully) the line after a /*, and it has no + " leader, so the correct indentation is that of the + " previous line. + return GetRustIndent(a:lnum - 1) + endif + endif + " If it's in a comment, let cindent take care of it now. This is + " for cases like "/*" where the next line should start " * ", not + " "* " as the code below would otherwise cause for module scope + " Fun fact: " /*\n*\n*/" takes two calls to get right! + return cindent(a:lnum) + endif + endif + + " cindent gets second and subsequent match patterns/struct members wrong, + " as it treats the comma as indicating an unfinished statement:: + " + " match a { + " b => c, + " d => e, + " f => g, + " }; + + " Search backwards for the previous non-empty line. + let prevlinenum = prevnonblank(a:lnum - 1) + let prevline = s:get_line_trimmed(prevlinenum) + while prevlinenum > 1 && prevline !~ '[^[:blank:]]' + let prevlinenum = prevnonblank(prevlinenum - 1) + let prevline = s:get_line_trimmed(prevlinenum) + endwhile + + " Handle where clauses nicely: subsequent values should line up nicely. + if prevline[len(prevline) - 1] == "," + \ && prevline =~# '^\s*where\s' + return indent(prevlinenum) + 6 + endif + + if prevline[len(prevline) - 1] == "," + \ && s:get_line_trimmed(a:lnum) !~ '^\s*[\[\]{}]' + \ && prevline !~ '^\s*fn\s' + \ && prevline !~ '([^()]\+,$' + \ && s:get_line_trimmed(a:lnum) !~ '^\s*\S\+\s*=>' + " Oh ho! The previous line ended in a comma! I bet cindent will try to + " take this too far... For now, let's normally use the previous line's + " indent. + + " One case where this doesn't work out is where *this* line contains + " square or curly brackets; then we normally *do* want to be indenting + " further. + " + " Another case where we don't want to is one like a function + " definition with arguments spread over multiple lines: + " + " fn foo(baz: Baz, + " baz: Baz) // <-- cindent gets this right by itself + " + " Another case is similar to the previous, except calling a function + " instead of defining it, or any conditional expression that leaves + " an open paren: + " + " foo(baz, + " baz); + " + " if baz && (foo || + " bar) { + " + " Another case is when the current line is a new match arm. + " + " There are probably other cases where we don't want to do this as + " well. Add them as needed. + return indent(prevlinenum) + endif + + if !has("patch-7.4.355") + " cindent before 7.4.355 doesn't do the module scope well at all; e.g.:: + " + " static FOO : &'static [bool] = [ + " true, + " false, + " false, + " true, + " ]; + " + " uh oh, next statement is indented further! + + " Note that this does *not* apply the line continuation pattern properly; + " that's too hard to do correctly for my liking at present, so I'll just + " start with these two main cases (square brackets and not returning to + " column zero) + + call cursor(a:lnum, 1) + if searchpair('{\|(', '', '}\|)', 'nbW', + \ 's:is_string_comment(line("."), col("."))') == 0 + if searchpair('\[', '', '\]', 'nbW', + \ 's:is_string_comment(line("."), col("."))') == 0 + " Global scope, should be zero + return 0 + else + " At the module scope, inside square brackets only + "if getline(a:lnum)[0] == ']' || search('\[', '', '\]', 'nW') == a:lnum + if line =~ "^\\s*]" + " It's the closing line, dedent it + return 0 + else + return shiftwidth() + endif + endif + endif + endif + + " Fall back on cindent, which does it mostly right + return cindent(a:lnum) +endfunction + +let &cpo = s:save_cpo +unlet s:save_cpo diff --git a/runtime/indent/sass.vim b/runtime/indent/sass.vim index d87b371fdd..d6dbf3a8bb 100644 --- a/runtime/indent/sass.vim +++ b/runtime/indent/sass.vim @@ -1,7 +1,7 @@ " Vim indent file " Language: Sass " Maintainer: Tim Pope <vimNOSPAM@tpope.org> -" Last Change: 2016 Aug 29 +" Last Change: 2017 Jun 13 if exists("b:did_indent") finish @@ -29,7 +29,7 @@ function! GetSassIndent() let indent = indent(lnum) let cindent = indent(v:lnum) if line !~ s:property && line !~ s:extend && cline =~ s:property - return indent + (exists('*shiftwidth') ? shiftwidth() : &sw) + return indent + shiftwidth() else return -1 endif diff --git a/runtime/indent/sdl.vim b/runtime/indent/sdl.vim index ba03f2d3f4..6ce30b6797 100644 --- a/runtime/indent/sdl.vim +++ b/runtime/indent/sdl.vim @@ -46,17 +46,17 @@ function! GetSDLIndent() if (getline(lnum) =~? '^\s*\(start\|state\|system\|package\|connection\|channel\|alternative\|macro\|operator\|newtype\|select\|substructure\|decision\|generator\|refinement\|service\|method\|exceptionhandler\|asntype\|syntype\|value\|(.*):\|\(priority\s\+\)\=input\|provided\)' \ || getline(lnum) =~? virtuality . '\(process\|procedure\|block\|object\)') \ && getline(lnum) !~? 'end[[:alpha:]]\+;$' - let ind = ind + &sw + let ind = ind + shiftwidth() endif " Subtract a 'shiftwidth' after states if getline(lnum) =~? '^\s*\(stop\|return\>\|nextstate\)' - let ind = ind - &sw + let ind = ind - shiftwidth() endif " Subtract a 'shiftwidth' on on end (uncompleted line) if getline(v:lnum) =~? '^\s*end\>' - let ind = ind - &sw + let ind = ind - shiftwidth() endif " Put each alternatives where the corresponding decision was diff --git a/runtime/indent/sh.vim b/runtime/indent/sh.vim index aca110f504..fd9a6a9c92 100644 --- a/runtime/indent/sh.vim +++ b/runtime/indent/sh.vim @@ -3,10 +3,13 @@ " Maintainer: Christian Brabandt <cb@256bit.org> " Previous Maintainer: Peter Aronoff <telemachus@arpinum.org> " Original Author: Nikolai Weibull <now@bitwi.se> -" Latest Revision: 2016-06-27 +" Latest Revision: 2017-08-08 " License: Vim (see :h license) " Repository: https://github.com/chrisbra/vim-sh-indent " Changelog: +" 20170808: - better indent of line continuation +" 20170502: - get rid of buffer-shiftwidth function +" 20160912: - preserve indentation of here-doc blocks " 20160627: - detect heredocs correctly " 20160213: - detect function definition correctly " 20160202: - use shiftwidth() function @@ -33,15 +36,11 @@ endif let s:cpo_save = &cpo set cpo&vim -function s:buffer_shiftwidth() - return shiftwidth() -endfunction - let s:sh_indent_defaults = { - \ 'default': function('s:buffer_shiftwidth'), - \ 'continuation-line': function('s:buffer_shiftwidth'), - \ 'case-labels': function('s:buffer_shiftwidth'), - \ 'case-statements': function('s:buffer_shiftwidth'), + \ 'default': function('shiftwidth'), + \ 'continuation-line': function('shiftwidth'), + \ 'case-labels': function('shiftwidth'), + \ 'case-statements': function('shiftwidth'), \ 'case-breaks': 0 } function! s:indent_value(option) @@ -110,13 +109,17 @@ function! GetShIndent() let ind -= s:indent_value('case-breaks') elseif s:is_here_doc(line) let ind = 0 + " statements, executed within a here document. Keep the current indent + elseif match(map(synstack(v:lnum, 1), 'synIDattr(v:val, "name")'), '\c\mheredoc') > -1 + return indent(v:lnum) endif return ind endfunction function! s:is_continuation_line(line) - return a:line =~ '\%(\%(^\|[^\\]\)\\\|&&\|||\)$' + return a:line =~ '\%(\%(^\|[^\\]\)\\\|&&\|||\||\)' . + \ '\s*\({\s*\)\=\(#.*\)\=$' endfunction function! s:find_continued_lnum(lnum) diff --git a/runtime/indent/sml.vim b/runtime/indent/sml.vim index fbbb15ed85..e760a8e350 100644 --- a/runtime/indent/sml.vim +++ b/runtime/indent/sml.vim @@ -115,9 +115,9 @@ function! GetSMLIndent() " Return double 'shiftwidth' after lines matching: if lline =~ '^\s*|.*=>\s*$' - return ind + &sw + &sw + return ind + 2 *shiftwidth() elseif lline =~ '^\s*val\>.*=\s*$' - return ind + &sw + return ind + shiftwidth() endif let line = getline(v:lnum) @@ -157,7 +157,7 @@ function! GetSMLIndent() if lastModule == -1 return 0 else - return lastModule + &sw + return lastModule + shiftwidth() endif " Indent lines starting with '|' from matching 'case', 'handle' @@ -172,7 +172,7 @@ function! GetSMLIndent() if switchLine =~ '\<case\>' return col(".") + 2 elseif switchLine =~ '\<handle\>' - return switchLineIndent + &sw + return switchLineIndent + shiftwidth() elseif switchLine =~ '\<datatype\>' call search('=') return col(".") - 1 @@ -184,7 +184,7 @@ function! GetSMLIndent() " Indent if last line ends with 'sig', 'struct', 'let', 'then', 'else', " 'in' elseif lline =~ '\<\(sig\|struct\|let\|in\|then\|else\)\s*$' - let ind = ind + &sw + let ind = ind + shiftwidth() " Indent if last line ends with 'of', align from 'case' elseif lline =~ '\<\(of\)\s*$' @@ -199,14 +199,14 @@ function! GetSMLIndent() " Indent if last line starts with 'fun', 'case', 'fn' elseif lline =~ '^\s*\(fun\|fn\|case\)\>' - let ind = ind + &sw + let ind = ind + shiftwidth() endif " Don't indent 'let' if last line started with 'fun', 'fn' if line =~ '^\s*let\>' if lline =~ '^\s*\(fun\|fn\)' - let ind = ind - &sw + let ind = ind - shiftwidth() endif endif diff --git a/runtime/indent/sqlanywhere.vim b/runtime/indent/sqlanywhere.vim index d11c54b5af..ba35d76715 100644 --- a/runtime/indent/sqlanywhere.vim +++ b/runtime/indent/sqlanywhere.vim @@ -1,7 +1,7 @@ " Vim indent file " Language: SQL " Maintainer: David Fishburn <dfishburn dot vim at gmail dot com> -" Last Change: 2012 Dec 06 +" Last Change: 2017 Jun 13 " Version: 3.0 " Download: http://vim.sourceforge.net/script.php?script_id=495 @@ -147,7 +147,7 @@ function! s:CheckToIgnoreRightParan( prev_lnum, num_levels ) endwhile " Fallback - just move back one - " return a:prev_indent - &sw + " return a:prev_indent - shiftwidth() return ignore_paran endfunction @@ -166,7 +166,7 @@ function! s:GetStmtStarterIndent( keyword, curr_lnum ) let lnum = a:curr_lnum " Default - reduce indent by 1 - let ind = indent(a:curr_lnum) - &sw + let ind = indent(a:curr_lnum) - shiftwidth() if a:keyword =~? 'end' exec 'normal! ^' @@ -230,7 +230,7 @@ function! s:ModuloIndent(ind) let ind = a:ind if ind > 0 - let modulo = ind % &shiftwidth + let modulo = ind % shiftwidth() if modulo > 0 let ind = ind - modulo @@ -291,7 +291,7 @@ function! GetSQLIndent() " where END IF, END, should decrease the indent. if prevline =~? s:SQLBlockStart " Move indent in - let ind = ind + &sw + let ind = ind + shiftwidth() " echom 'prevl - SQLBlockStart - indent ' . ind . ' line: ' . prevline elseif prevline =~ '[()]' if prevline =~ '(' @@ -308,7 +308,7 @@ function! GetSQLIndent() if num_unmatched_left > 0 " There is a open left paranethesis " increase indent - let ind = ind + ( &sw * num_unmatched_left ) + let ind = ind + ( shiftwidth() * num_unmatched_left ) elseif num_unmatched_right > 0 " if it is an unbalanced paranethesis only unindent if " it was part of a command (ie create table(..) ) @@ -323,7 +323,7 @@ function! GetSQLIndent() endif if (num_unmatched_right - ignore) > 0 - let ind = ind - ( &sw * (num_unmatched_right - ignore) ) + let ind = ind - ( shiftwidth() * (num_unmatched_right - ignore) ) endif endif @@ -339,12 +339,12 @@ function! GetSQLIndent() if line =~? '^\s*els' " Any line when you type else will automatically back up one " ident level (ie else, elseif, elsif) - let ind = ind - &sw + let ind = ind - shiftwidth() " echom 'curr - else - indent ' . ind elseif line =~? '^\s*end\>' let ind = s:GetStmtStarterIndent('end', v:lnum) " General case for end - " let ind = ind - &sw + " let ind = ind - shiftwidth() " echom 'curr - end - indent ' . ind elseif line =~? '^\s*when\>' let ind = s:GetStmtStarterIndent('when', v:lnum) @@ -352,7 +352,7 @@ function! GetSQLIndent() " clause, do not change the indent level, since these " statements do not have a corresponding END statement. " if stmt_starter =~? 'case' - " let ind = ind - &sw + " let ind = ind - shiftwidth() " endif " elseif line =~ '^\s*)\s*;\?\s*$' " elseif line =~ '^\s*)' @@ -371,14 +371,14 @@ function! GetSQLIndent() " let num_unmatched_right = s:CountUnbalancedParan( line, ')' ) " if num_unmatched_right > 0 " elseif strpart( line, strlen(line)-1, 1 ) =~ ')' - " let ind = ind - &sw + " let ind = ind - shiftwidth() if line =~ '^\s*)' " let ignore = ignore + 1 " echom 'curr - begins ) unbalanced ignore: ' . ignore endif if (num_unmatched_right - ignore) > 0 - let ind = ind - ( &sw * (num_unmatched_right - ignore) ) + let ind = ind - ( shiftwidth() * (num_unmatched_right - ignore) ) endif " endif endif diff --git a/runtime/indent/systemverilog.vim b/runtime/indent/systemverilog.vim index b017535535..91fba4c3b6 100644 --- a/runtime/indent/systemverilog.vim +++ b/runtime/indent/systemverilog.vim @@ -29,7 +29,7 @@ function SystemVerilogIndent() if exists('b:systemverilog_indent_width') let offset = b:systemverilog_indent_width else - let offset = &sw + let offset = shiftwidth() endif if exists('b:systemverilog_indent_modules') let indent_modules = offset diff --git a/runtime/indent/teraterm.vim b/runtime/indent/teraterm.vim index 8467cefcc0..370283c77f 100644 --- a/runtime/indent/teraterm.vim +++ b/runtime/indent/teraterm.vim @@ -3,7 +3,7 @@ " Based on Tera Term Version 4.92 " Maintainer: Ken Takata " URL: https://github.com/k-takata/vim-teraterm -" Last Change: 2016 Aug 17 +" Last Change: 2017 Jun 13 " Filenames: *.ttl " License: VIM License @@ -22,16 +22,6 @@ if exists("*GetTeraTermIndent") finish endif -" The shiftwidth() function is relatively new. -" Don't require it to exist. -if exists('*shiftwidth') - let s:sw = function('shiftwidth') -else - function s:sw() abort - return &shiftwidth - endfunction -endif - function! GetTeraTermIndent(lnum) let l:prevlnum = prevnonblank(a:lnum-1) if l:prevlnum == 0 @@ -48,15 +38,15 @@ function! GetTeraTermIndent(lnum) if l:prevl =~ '^\s*if\>.*\<then\>' " previous line opened a block - let l:ind += s:sw() + let l:ind += shiftwidth() endif if l:prevl =~ '^\s*\%(elseif\|else\|do\|until\|while\|for\)\>' " previous line opened a block - let l:ind += s:sw() + let l:ind += shiftwidth() endif if l:thisl =~ '^\s*\%(elseif\|else\|endif\|enduntil\|endwhile\|loop\|next\)\>' " this line closed a block - let l:ind -= s:sw() + let l:ind -= shiftwidth() endif return l:ind diff --git a/runtime/indent/tex.vim b/runtime/indent/tex.vim index 0150bb9623..1a4d8b1cb6 100644 --- a/runtime/indent/tex.vim +++ b/runtime/indent/tex.vim @@ -1,8 +1,8 @@ " Vim indent file " Language: LaTeX -" Maintainer: YiChao Zhou <broken.zhou AT gmail.com> +" Maintainer: Yichao Zhou <broken.zhou AT gmail.com> " Created: Sat, 16 Feb 2002 16:50:19 +0100 -" Version: 0.9.2 +" Version: 0.9.4 " Please email me if you found something I can do. Comments, bug report and " feature request are welcome. @@ -15,49 +15,53 @@ " 2005/06/15, Moshe Kaminsky <kaminsky AT math.huji.ac.il> " (*) New variables: " g:tex_items, g:tex_itemize_env, g:tex_noindent_env -" 2011/3/6, by Zhou YiChao <broken.zhou AT gmail.com> +" 2011/3/6, by Yichao Zhou <broken.zhou AT gmail.com> " (*) Don't change indentation of lines starting with '%' " I don't see any code with '%' and it doesn't work properly " so I add some code. " (*) New features: Add smartindent-like indent for "{}" and "[]". " (*) New variables: g:tex_indent_brace -" 2011/9/25, by Zhou Yichao <broken.zhou AT gmail.com> +" 2011/9/25, by Yichao Zhou <broken.zhou AT gmail.com> " (*) Bug fix: smartindent-like indent for "[]" " (*) New features: Align with "&". " (*) New variable: g:tex_indent_and. -" 2011/10/23 by Zhou Yichao <broken.zhou AT gmail.com> +" 2011/10/23 by Yichao Zhou <broken.zhou AT gmail.com> " (*) Bug fix: improve the smartindent-like indent for "{}" and " "[]". -" 2012/02/27 by Zhou Yichao <broken.zhou AT gmail.com> +" 2012/02/27 by Yichao Zhou <broken.zhou AT gmail.com> " (*) Bug fix: support default folding marker. " (*) Indent with "&" is not very handy. Make it not enable by " default. -" 2012/03/06 by Zhou Yichao <broken.zhou AT gmail.com> +" 2012/03/06 by Yichao Zhou <broken.zhou AT gmail.com> " (*) Modify "&" behavior and make it default again. Now "&" " won't align when there are more then one "&" in the previous " line. " (*) Add indent "\left(" and "\right)" " (*) Trust user when in "verbatim" and "lstlisting" -" 2012/03/11 by Zhou Yichao <broken.zhou AT gmail.com> +" 2012/03/11 by Yichao Zhou <broken.zhou AT gmail.com> " (*) Modify "&" so that only indent when current line start with " "&". -" 2012/03/12 by Zhou Yichao <broken.zhou AT gmail.com> +" 2012/03/12 by Yichao Zhou <broken.zhou AT gmail.com> " (*) Modify indentkeys. -" 2012/03/18 by Zhou Yichao <broken.zhou AT gmail.com> +" 2012/03/18 by Yichao Zhou <broken.zhou AT gmail.com> " (*) Add &cpo -" 2013/05/02 by Zhou Yichao <broken.zhou AT gmail.com> +" 2013/05/02 by Yichao Zhou <broken.zhou AT gmail.com> " (*) Fix problem about GetTeXIndent checker. Thank Albert Netymk " for reporting this. -" 2014/06/23 by Zhou Yichao <broken.zhou AT gmail.com> +" 2014/06/23 by Yichao Zhou <broken.zhou AT gmail.com> " (*) Remove the feature g:tex_indent_and because it is buggy. " (*) If there is not any obvious indentation hints, we do not " alert our user's current indentation. " (*) g:tex_indent_brace now only works if the open brace is the " last character of that line. -" 2014/08/03 by Zhou Yichao <broken.zhou AT gmail.com> +" 2014/08/03 by Yichao Zhou <broken.zhou AT gmail.com> " (*) Indent current line if last line has larger indentation -" 2014/08/09 by Zhou Yichao <broken.zhou AT gmail.com> -" (*) Add missing return value for s:GetEndIndentation(...) +" 2016/11/08 by Yichao Zhou <broken.zhou AT gmail.com> +" (*) Fix problems for \[ and \]. Thanks Bruno for reporting. +" 2017/04/30 by Yichao Zhou <broken.zhou AT gmail.com> +" (*) Fix a bug between g:tex_noindent_env and g:tex_indent_items +" Now g:tex_noindent_env='document\|verbatim\|itemize' (Emacs +" style) is supported. Thanks Miles Wheeler for reporting. " " }}} @@ -81,44 +85,44 @@ " % Example 2 " \tikzexternalize[ " prefix=tikz] -" +" " * g:tex_indent_items " " If this variable is set, item-environments are indented like Emacs does " it, i.e., continuation lines are indented with a shiftwidth. -" +" " NOTE: I've already set the variable below; delete the corresponding line " if you don't like this behaviour. " " Per default, it is unset. -" +" " set unset " ---------------------------------------------------------------- -" \begin{itemize} \begin{itemize} +" \begin{itemize} \begin{itemize} " \item blablabla \item blablabla -" bla bla bla bla bla bla +" bla bla bla bla bla bla " \item blablabla \item blablabla -" bla bla bla bla bla bla -" \end{itemize} \end{itemize} +" bla bla bla bla bla bla +" \end{itemize} \end{itemize} " " " * g:tex_items " -" A list of tokens to be considered as commands for the beginning of an item -" command. The tokens should be separated with '\|'. The initial '\' should +" A list of tokens to be considered as commands for the beginning of an item +" command. The tokens should be separated with '\|'. The initial '\' should " be escaped. The default is '\\bibitem\|\\item'. " " * g:tex_itemize_env -" -" A list of environment names, separated with '\|', where the items (item -" commands matching g:tex_items) may appear. The default is +" +" A list of environment names, separated with '\|', where the items (item +" commands matching g:tex_items) may appear. The default is " 'itemize\|description\|enumerate\|thebibliography'. " " * g:tex_noindent_env " -" A list of environment names. separated with '\|', where no indentation is +" A list of environment names. separated with '\|', where no indentation is " required. The default is 'document\|verbatim'. -" }}} +" }}} " Only define the function once if exists("b:did_indent") @@ -146,7 +150,7 @@ if g:tex_indent_items let g:tex_itemize_env = 'itemize\|description\|enumerate\|thebibliography' endif if !exists('g:tex_items') - let g:tex_items = '\\bibitem\|\\item' + let g:tex_items = '\\bibitem\|\\item' endif else let g:tex_items = '' @@ -177,7 +181,7 @@ function! GetTeXIndent() " {{{ " At the start of the file use zero indent. if lnum == 0 - return 0 + return 0 endif let line = substitute(getline(lnum), '\s*%.*', '','g') " last line @@ -191,9 +195,9 @@ function! GetTeXIndent() " {{{ return indent(v:lnum) end endif - + if lnum == 0 - return 0 + return 0 endif let ind = indent(lnum) @@ -206,17 +210,19 @@ function! GetTeXIndent() " {{{ " Add a 'shiftwidth' after beginning of environments. " Don't add it for \begin{document} and \begin{verbatim} - ""if line =~ '^\s*\\begin{\(.*\)}' && line !~ 'verbatim' + " if line =~ '^\s*\\begin{\(.*\)}' && line !~ 'verbatim' " LH modification : \begin does not always start a line " ZYC modification : \end after \begin won't cause wrong indent anymore - if line =~ '\\begin{.*}' && line !~ g:tex_noindent_env - let ind = ind + &sw - let stay = 0 + if line =~ '\\begin{.*}' + if line !~ g:tex_noindent_env + let ind = ind + shiftwidth() + let stay = 0 + endif if g:tex_indent_items " Add another sw for item-environments if line =~ g:tex_itemize_env - let ind = ind + &sw + let ind = ind + shiftwidth() let stay = 0 endif endif @@ -235,39 +241,37 @@ function! GetTeXIndent() " {{{ if g:tex_indent_items " Remove another sw for item-environments if cline =~ g:tex_itemize_env - let ind = ind - &sw + let ind = ind - shiftwidth() let stay = 0 endif endif - let ind = ind - &sw + let ind = ind - shiftwidth() let stay = 0 endif if g:tex_indent_brace - let char = line[strlen(line)-1] - if char == '[' || char == '{' - let ind += &sw + if line =~ '[[{]$' + let ind += shiftwidth() let stay = 0 endif - let cind = indent(v:lnum) - let char = cline[cind] - if (char == ']' || char == '}') && - \ s:CheckPairedIsLastCharacter(v:lnum, cind) - let ind -= &sw + if cline =~ '^\s*\\\?[\]}]' && s:CheckPairedIsLastCharacter(v:lnum, indent(v:lnum)) + let ind -= shiftwidth() let stay = 0 endif - for i in range(indent(lnum)+1, strlen(line)-1) - let char = line[i] - if char == ']' || char == '}' - if s:CheckPairedIsLastCharacter(lnum, i) - let ind -= &sw - let stay = 0 + if line !~ '^\s*\\\?[\]}]' + for i in range(indent(lnum)+1, strlen(line)-1) + let char = line[i] + if char == ']' || char == '}' + if s:CheckPairedIsLastCharacter(lnum, i) + let ind -= shiftwidth() + let stay = 0 + endif endif - endif - endfor + endfor + endif endif " Special treatment for 'item' @@ -276,12 +280,12 @@ function! GetTeXIndent() " {{{ if g:tex_indent_items " '\item' or '\bibitem' itself: if cline =~ g:tex_items - let ind = ind - &sw + let ind = ind - shiftwidth() let stay = 0 endif " lines following to '\item' are intented once again: if line =~ g:tex_items - let ind = ind + &sw + let ind = ind + shiftwidth() let stay = 0 endif endif @@ -309,13 +313,13 @@ function! s:GetLastBeginIndentation(lnum) " {{{ let matchend -= 1 endif if matchend == 0 - if line =~ g:tex_itemize_env - return indent(lnum) + 2 * &sw - endif if line =~ g:tex_noindent_env return indent(lnum) endif - return indent(lnum) + &sw + if line =~ g:tex_itemize_env + return indent(lnum) + 2 * shiftwidth() + endif + return indent(lnum) + shiftwidth() endif endfor return -1 @@ -343,17 +347,20 @@ function! s:GetEndIndentation(lnum) " {{{ let min_indent = min([min_indent, indent(lnum)]) endif endfor - return min_indent - &sw + return min_indent - shiftwidth() endfunction " Most of the code is from matchparen.vim function! s:CheckPairedIsLastCharacter(lnum, col) "{{{ - " Get the character under the cursor and check if it's in 'matchpairs'. let c_lnum = a:lnum let c_col = a:col+1 + let line = getline(c_lnum) + if line[c_col-1] == '\' + let c_col = c_col + 1 + endif + let c = line[c_col-1] - let c = getline(c_lnum)[c_col-1] let plist = split(&matchpairs, '.\zs[:,]') let i = index(plist, c) if i < 0 diff --git a/runtime/indent/tilde.vim b/runtime/indent/tilde.vim index 5fdcfe0711..13082c8692 100644 --- a/runtime/indent/tilde.vim +++ b/runtime/indent/tilde.vim @@ -25,11 +25,11 @@ function GetTildeIndent(lnum) endif if getline(v:lnum) =~ '^\s*\~\(endif\|else\|elseif\|end\)\>' - return indent(v:lnum) - &sw + return indent(v:lnum) - shiftwidth() endif if getline(plnum) =~ '^\s*\~\(if\|foreach\|foreach_row\|xml_loop\|file_loop\|file_write\|file_append\|imap_loopsections\|imap_index\|imap_list\|ldap_search\|post_loopall\|post_loop\|file_loop\|sql_loop_num\|sql_dbmsselect\|search\|sql_loop\|post\|for\|function_define\|silent\|while\|setvalbig\|mail_create\|systempipe\|mail_send\|dual\|elseif\|else\)\>' - return indent(plnum) + &sw + return indent(plnum) + shiftwidth() else return -1 endif diff --git a/runtime/indent/vb.vim b/runtime/indent/vb.vim index 55a8ea302a..4d05345565 100644 --- a/runtime/indent/vb.vim +++ b/runtime/indent/vb.vim @@ -49,26 +49,26 @@ fun! VbGetIndent(lnum) " Add if previous_line =~? '^\s*\<\(begin\|\%(\%(private\|public\|friend\)\s\+\)\=\%(function\|sub\|property\)\|select\|case\|default\|if\|else\|elseif\|do\|for\|while\|enum\|with\)\>' - let ind = ind + &sw + let ind = ind + shiftwidth() endif " Subtract if this_line =~? '^\s*\<end\>\s\+\<select\>' if previous_line !~? '^\s*\<select\>' - let ind = ind - 2 * &sw + let ind = ind - 2 * shiftwidth() else " this case is for an empty 'select' -- 'end select' " (w/o any case statements) like: " " select case readwrite " end select - let ind = ind - &sw + let ind = ind - shiftwidth() endif elseif this_line =~? '^\s*\<\(end\|else\|elseif\|until\|loop\|next\|wend\)\>' - let ind = ind - &sw + let ind = ind - shiftwidth() elseif this_line =~? '^\s*\<\(case\|default\)\>' if previous_line !~? '^\s*\<select\>' - let ind = ind - &sw + let ind = ind - shiftwidth() endif endif diff --git a/runtime/indent/verilog.vim b/runtime/indent/verilog.vim index 6222dc341f..ab3d0ba3e0 100644 --- a/runtime/indent/verilog.vim +++ b/runtime/indent/verilog.vim @@ -1,6 +1,6 @@ " Language: Verilog HDL " Maintainer: Chih-Tsun Huang <cthuang@cs.nthu.edu.tw> -" Last Change: 2017 Feb 24 by Chih-Tsun Huang +" Last Change: 2017 Aug 25 by Chih-Tsun Huang " URL: http://www.cs.nthu.edu.tw/~cthuang/vim/indent/verilog.vim " " Credits: @@ -25,7 +25,8 @@ let b:did_indent = 1 setlocal indentexpr=GetVerilogIndent() setlocal indentkeys=!^F,o,O,0),=begin,=end,=join,=endcase setlocal indentkeys+==endmodule,=endfunction,=endtask,=endspecify -setlocal indentkeys+==`else,=`endif +setlocal indentkeys+==endconfig,=endgenerate,=endprimitive,=endtable +setlocal indentkeys+==`else,=`elsif,=`endif " Only define the function once. if exists("*GetVerilogIndent") @@ -84,7 +85,9 @@ function GetVerilogIndent() endif " Indent after if/else/for/case/always/initial/specify/fork blocks - elseif last_line =~ '`\@<!\<\(if\|else\)\>' || + " Note: We exclude '`if' or '`else' and consider 'end else' + " 'end if' is redundant here + elseif last_line =~ '^\s*\(end\)\=\s*`\@<!\<\(if\|else\)\>' || \ last_line =~ '^\s*\<\(for\|case\%[[zx]]\)\>' || \ last_line =~ '^\s*\<\(always\|initial\)\>' || \ last_line =~ '^\s*\<\(specify\|fork\)\>' @@ -93,8 +96,8 @@ function GetVerilogIndent() let ind = ind + offset if vverb | echo vverb_str "Indent after a block statement." | endif endif - " Indent after function/task blocks - elseif last_line =~ '^\s*\<\(function\|task\)\>' + " Indent after function/task/config/generate/primitive/table blocks + elseif last_line =~ '^\s*\<\(function\|task\|config\|generate\|primitive\|table\)\>' if last_line !~ '\<end\>\s*' . vlog_comment . '*$' || \ last_line =~ '\(//\|/\*\).*\(;\|\<end\>\)\s*' . vlog_comment . '*$' let ind = ind + offset @@ -161,11 +164,11 @@ function GetVerilogIndent() let ind = ind - offset if vverb | echo vverb_str "De-indent after a close statement." | endif - " `ifdef and `else - elseif last_line =~ '^\s*`\<\(ifdef\|else\)\>' + " `ifdef or `ifndef or `elsif or `else + elseif last_line =~ '^\s*`\<\(ifn\?def\|elsif\|else\)\>' let ind = ind + offset if vverb - echo vverb_str "Indent after a `ifdef or `else statement." + echo vverb_str "Indent after a `ifdef or `ifndef or `elsif or `else statement." endif endif @@ -175,7 +178,8 @@ function GetVerilogIndent() " De-indent on the end of the block " join/end/endcase/endfunction/endtask/endspecify if curr_line =~ '^\s*\<\(join\|end\|endcase\)\>' || - \ curr_line =~ '^\s*\<\(endfunction\|endtask\|endspecify\)\>' + \ curr_line =~ '^\s*\<\(endfunction\|endtask\|endspecify\)\>' || + \ curr_line =~ '^\s*\<\(endconfig\|endgenerate\|endprimitive\|endtable\)\>' let ind = ind - offset if vverb | echo vverb_str "De-indent the end of a block." | endif elseif curr_line =~ '^\s*\<endmodule\>' @@ -186,7 +190,7 @@ function GetVerilogIndent() " De-indent on a stand-alone 'begin' elseif curr_line =~ '^\s*\<begin\>' - if last_line !~ '^\s*\<\(function\|task\|specify\|module\)\>' && + if last_line !~ '^\s*\<\(function\|task\|specify\|module\|config\|generate\|primitive\|table\)\>' && \ last_line !~ '^\s*\()*\s*;\|)\+\)\s*' . vlog_comment . '*$' && \ ( last_line =~ \ '\<\(`\@<!if\|`\@<!else\|for\|case\%[[zx]]\|always\|initial\)\>' || @@ -208,10 +212,10 @@ function GetVerilogIndent() echo vverb_str "De-indent the end of a multiple statement." endif - " De-indent `else and `endif - elseif curr_line =~ '^\s*`\<\(else\|endif\)\>' + " De-indent `elsif or `else or `endif + elseif curr_line =~ '^\s*`\<\(elsif\|else\|endif\)\>' let ind = ind - offset - if vverb | echo vverb_str "De-indent `else and `endif statement." | endif + if vverb | echo vverb_str "De-indent `elsif or `else or `endif statement." | endif endif diff --git a/runtime/indent/vhdl.vim b/runtime/indent/vhdl.vim index 6982859670..ad318066f4 100644 --- a/runtime/indent/vhdl.vim +++ b/runtime/indent/vhdl.vim @@ -1,8 +1,8 @@ " VHDL indent ('93 syntax) " Language: VHDL " Maintainer: Gerald Lai <laigera+vim?gmail.com> -" Version: 1.60 -" Last Change: 2016 Feb 26 +" Version: 1.62 +" Last Change: 2017 Oct 17 " URL: http://www.vim.org/scripts/script.php?script_id=1450 " only load this indent file when no other was loaded @@ -114,9 +114,9 @@ function GetVHDLindent() return ind2 + m else if g:vhdl_indent_genportmap - return ind2 + stridx(prevs_noi, '(') + &sw + return ind2 + stridx(prevs_noi, '(') + shiftwidth() else - return ind2 + &sw + return ind2 + shiftwidth() endif endif endif @@ -128,7 +128,7 @@ function GetVHDLindent() if g:vhdl_indent_rhsassign return ind2 + matchend(prevs_noi, '<=\s*\ze.') else - return ind2 + &sw + return ind2 + shiftwidth() endif endif @@ -218,12 +218,12 @@ function GetVHDLindent() let ps = getline(pn) if (ps =~? s:NC.'\<begin\>') - return indent(pn) - &sw + return indent(pn) - shiftwidth() endif endwhile if (pn == 0) - return ind - &sw + return ind - shiftwidth() else return indent(pn) endif @@ -237,7 +237,7 @@ function GetVHDLindent() " keyword: "type" let s3 = s:NC.s:NE.'\<type\>' if curs !~? s3.'.*'.s:NC.'\<\%(record\|units\)\>.*'.s:ES && prevs =~? s3 - let ind = ind + &sw + let ind = ind + shiftwidth() endif return ind endif @@ -282,7 +282,7 @@ function GetVHDLindent() " removed: "begin", "case", "elsif", "if", "loop", "record", "units", "while" " where: anywhere in previous line if prevs =~? s:NC.s:NE.'\<\%(block\|process\)\>' - return ind + &sw + return ind + shiftwidth() endif " indent: +sw @@ -290,7 +290,7 @@ function GetVHDLindent() " removed: "component", "for", "when", "with" " where: start of previous line if prevs =~? '^\s*\%(architecture\|configuration\|entity\|package\)\>' - return ind + &sw + return ind + shiftwidth() endif " indent: +sw @@ -298,7 +298,7 @@ function GetVHDLindent() " removed: "generate", "is", "=>" " where: end of previous line if prevs =~? s:NC.'\<select'.s:ES - return ind + &sw + return ind + shiftwidth() endif " indent: +sw @@ -310,7 +310,7 @@ function GetVHDLindent() " where: end of previous line " _note_: indent allowed to leave this filter if prevs =~? s:NC.'\%(\<begin\>\|'.s:NE.'\<\%(loop\|record\|units\)\>\)' || prevs =~? '^\s*\%(component\|else\|for\)\>' || prevs =~? s:NC.'\%('.s:NE.'\<generate\|\<\%(is\|then\)\|=>\)'.s:ES - let ind = ind + &sw + let ind = ind + shiftwidth() endif " **************************************************************************************** @@ -322,7 +322,7 @@ function GetVHDLindent() if prevs =~? s:NC.'\<is'.s:ES return ind elseif prevs !~? s4 - return ind - &sw + return ind - shiftwidth() else return ind2 endif @@ -336,7 +336,7 @@ function GetVHDLindent() if prevs =~? '^\s*\%(elsif\|'.s5.'\)' return ind else - return ind - &sw + return ind - shiftwidth() endif endif @@ -367,9 +367,9 @@ function GetVHDLindent() "where: start of previous non-comment line if m == 1 if ps =~? '^\s*end\s\+case\>' - return indent(pn) - 2 * &sw + return indent(pn) - 2 * shiftwidth() elseif ps =~? '^\s*when\>' - return indent(pn) - &sw + return indent(pn) - shiftwidth() elseif ps =~? '^\s*case\>' return indent(pn) endif @@ -385,14 +385,14 @@ function GetVHDLindent() let pn = prevnonblank(pn - 1) let ps = getline(pn) endwhile - return ind - &sw + return ind - shiftwidth() endif " indent: -sw " keyword: ")" " where: start of current line if curs =~ '^\s*)' - return ind - &sw + return ind - shiftwidth() endif " indent: 0 @@ -407,16 +407,17 @@ function GetVHDLindent() " where: start of current line "if curs =~? '^\s*end\s\+\w\+\>' if curs =~? '^\s*end\%(\s\|;'.s:ES.'\)' - return ind - &sw + return ind - shiftwidth() endif " **************************************************************************************** " indent: maintain indent of previous opening statement - " keywords: without "procedure", "generic", "map", "port" + ":" but not ":=" + eventually ;$ + " keywords: without "procedure", "generic", "map", "port" + ":" but not ":=" + "in", "out", "inout", "buffer", "linkage", variable & ":=" " where: start of current line - if curs =~? '^\s*\%(\<\%(procedure\|generic\|map\|port\)\>.*\)\@<!\w\+\s*\w*\s*:[^=].*;.*$' + if curs =~? '^\s*\%(\<\%(procedure\|generic\|map\|port\)\>.*\)\@<!\w\+\s*\w*\s*:[^=]\@=\s*\%(\%(in\|out\|inout\|buffer\|linkage\)\>\|\w\+\s\+:=\)' return ind2 endif + " **************************************************************************************** " indent: maintain indent of previous opening statement, corner case which " does not end in ;, but is part of a mapping @@ -424,10 +425,10 @@ function GetVHDLindent() " prevline without "procedure", "generic", "map", "port" + ":" but not ":=" + eventually ;$ " where: start of current line if curs =~? '^\s*\%(\<\%(procedure\|generic\|map\|port\)\>.*\)\@<!\w\+\s*\w*\s*:[^=].*[^;].*$' - if prevs =~? '^\s*\%(\<\%(procedure\|generic\|map\|port\)\>.*\)\@<!\w\+\s*\w*\s*:[^=].*;.*$' - return ind2 - endif - endif + if prevs =~? '^\s*\%(\<\%(procedure\|generic\|map\|port\)\>.*\)\@<!\w\+\s*\w*\s*:[^=].*;.*$' + return ind2 + endif + endif " return leftover filtered indent return ind diff --git a/runtime/indent/xml.vim b/runtime/indent/xml.vim index dbe5be5f25..87ffb329b5 100644 --- a/runtime/indent/xml.vim +++ b/runtime/indent/xml.vim @@ -1,6 +1,6 @@ " Language: xml " Maintainer: Johannes Zellner <johannes@zellner.org> -" Last Change: 2012 Jul 25 +" Last Change: 2017 Jun 13 " Notes: 1) does not indent pure non-xml code (e.g. embedded scripts) " 2) will be confused by unbalanced tags in comments " or CDATA sections. @@ -67,7 +67,7 @@ endfun fun! <SID>XmlIndentSum(lnum, style, add) let line = getline(a:lnum) if a:style == match(line, '^\s*</') - return (&sw * + return (shiftwidth() * \ (<SID>XmlIndentWithPattern(line, b:xml_indent_open) \ - <SID>XmlIndentWithPattern(line, b:xml_indent_close) \ - <SID>XmlIndentWithPattern(line, '.\{-}/>'))) + a:add diff --git a/runtime/indent/yaml.vim b/runtime/indent/yaml.vim index 3201462fbc..3eb16f845d 100644 --- a/runtime/indent/yaml.vim +++ b/runtime/indent/yaml.vim @@ -1,7 +1,7 @@ " Vim indent file " Language: YAML " Maintainer: Nikolai Pavlov <zyx.vim@gmail.com> -" Last Change: 2015 Nov 01 +" Last Change: 2017 Jun 13 " Only load this indent file when no other was loaded. if exists('b:did_indent') @@ -24,14 +24,6 @@ if exists('*GetYAMLIndent') finish endif -if exists('*shiftwidth') - let s:shiftwidth = function('shiftwidth') -else - function s:shiftwidth() - return &shiftwidth - endfunction -endif - function s:FindPrevLessIndentedLine(lnum, ...) let prevlnum = prevnonblank(a:lnum-1) let curindent = a:0 ? a:1 : indent(a:lnum) @@ -119,7 +111,7 @@ function GetYAMLIndent(lnum) " " - |- " Block scalar without indentation indicator - return previndent+s:shiftwidth() + return previndent+shiftwidth() elseif prevline =~# '\v[:-]\ [|>]%(\d+[+\-]?|[+\-]?\d+)%(\#.*|\s*)$' " - |+2 " block scalar with indentation indicator @@ -155,7 +147,7 @@ function GetYAMLIndent(lnum) \ '\v)%(\s+|\s*%(\#.*)?$))*' " Mapping with: value " that is multiline scalar - return previndent+s:shiftwidth() + return previndent+shiftwidth() endif return previndent endfunction diff --git a/runtime/macros/less.vim b/runtime/macros/less.vim index 7ccbeb32ea..aad122d70a 100644 --- a/runtime/macros/less.vim +++ b/runtime/macros/less.vim @@ -1,6 +1,6 @@ " Vim script to work like "less" " Maintainer: Bram Moolenaar <Bram@vim.org> -" Last Change: 2015 Nov 15 +" Last Change: 2017 Mar 31 " Avoid loading this file twice, allow the user to define his own script. if exists("loaded_less") @@ -81,6 +81,10 @@ fun! s:Help() echo "\n" echo "/pattern Search for pattern ?pattern Search backward for pattern" echo "n next pattern match N Previous pattern match" + if &foldmethod != "manual" + echo "\n" + echo "zR open all folds zm increase fold level" + endif echo "\n" echo ":n<Enter> Next file :p<Enter> Previous file" echo "\n" @@ -96,7 +100,11 @@ map <C-F> <Space> map <PageDown> <Space> map <kPageDown> <Space> map <S-Down> <Space> -map z <Space> +" If 'foldmethod' was changed keep the "z" commands, e.g. "zR" to open all +" folds. +if &foldmethod == "manual" + map z <Space> +endif map <Esc><Space> <Space> fun! s:NextPage() if line(".") == line("$") diff --git a/runtime/optwin.vim b/runtime/optwin.vim index 5c883babc1..8f04e495e5 100644 --- a/runtime/optwin.vim +++ b/runtime/optwin.vim @@ -1,7 +1,7 @@ " These commands create the option window. " " Maintainer: Bram Moolenaar <Bram@vim.org> -" Last Change: 2017 Jan 28 +" Last Change: 2017 Oct 19 " If there already is an option window, jump to that one. if bufwinnr("option-window") > 0 @@ -506,6 +506,14 @@ if has("cursorbind") call append("$", "\t(local to window)") call <SID>BinOptionL("crb") endif +if has("terminal") + call append("$", "termsize\tsize of a terminal window") + call append("$", "\t(local to window)") + call <SID>OptionL("tms") + call append("$", "termkey\tkey that precedes Vim commands in a terminal window") + call append("$", "\t(local to window)") + call <SID>OptionL("tk") +endif call <SID>Header("multiple tab pages") @@ -1272,6 +1280,12 @@ if has("syntax") hi link optwinComment Comment endif endif +if exists("&mzschemedll") + call append("$", "mzschemedll\tname of the Tcl dynamic library") + call <SID>OptionG("mzschemedll", &mzschemedll) + call append("$", "mzschemegcdll\tname of the Tcl GC dynamic library") + call <SID>OptionG("mzschemegcdll", &mzschemegcdll) +endif " Install autocommands to enable mappings in option-window noremap <silent> <buffer> <CR> <C-\><C-N>:call <SID>CR()<CR> diff --git a/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim b/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim new file mode 100644 index 0000000000..b002cad4c6 --- /dev/null +++ b/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim @@ -0,0 +1,40 @@ +" Debugger commands. +" +" WORK IN PROGRESS - much doesn't work yet +" +" Open two terminal windows: +" 1. run a pty, as with ":term NONE" +" 2. run gdb, passing the pty +" The current window is used to edit source code and follows gdb. +" +" Author: Bram Moolenaar +" Copyright: Vim license applies + +" In case this gets loaded twice. +if exists(':Termdebug') + finish +endif + +command -nargs=* -complete=file Termdebug call s:StartDebug(<q-args>) + +if !exists('debugger') + let debugger = 'gdb' +endif + +func s:StartDebug(cmd) + " Open a terminal window without a job, to run the debugged program + let s:ptybuf = term_start('NONE', {}) + let pty = job_info(term_getjob(s:ptybuf))['tty'] + + " Open a terminal window to run the debugger. + let cmd = [g:debugger, '-tty', pty, a:cmd] + echomsg 'executing "' . join(cmd) . '"' + let gdbbuf = term_start(cmd, { + \ 'exit_cb': function('s:EndDebug'), + \ 'term_finish': 'close' + \ }) +endfunc + +func s:EndDebug(job, status) + exe 'bwipe! ' . s:ptybuf +endfunc diff --git a/runtime/plugin/matchit.vim b/runtime/plugin/matchit.vim index f275f7b36d..e3171e5cbb 100644 --- a/runtime/plugin/matchit.vim +++ b/runtime/plugin/matchit.vim @@ -1,7 +1,7 @@ " matchit.vim: (global plugin) Extended "%" matching -" Last Change: 2016 Aug 21 +" Last Change: 2017 Sep 15 " Maintainer: Benji Fisher PhD <benji@member.AMS.org> -" Version: 1.13.2, for Vim 6.3+ +" Version: 1.13.3, for Vim 6.3+ " Fix from Tommy Allen included. " Fix from Fernando Torres included. " Improvement from Ken Takata included. @@ -90,12 +90,15 @@ let s:notslash = '\\\@<!\%(\\\\\)*' function! s:Match_wrapper(word, forward, mode) range " In s:CleanUp(), :execute "set" restore_options . - let restore_options = (&ic ? " " : " no") . "ignorecase" - if exists("b:match_ignorecase") + let restore_options = "" + if exists("b:match_ignorecase") && b:match_ignorecase != &ic + let restore_options .= (&ic ? " " : " no") . "ignorecase" let &ignorecase = b:match_ignorecase endif - let restore_options = " ve=" . &ve . restore_options - set ve= + if &ve != '' + let restore_options = " ve=" . &ve . restore_options + set ve= + endif " If this function was called from Visual mode, make sure that the cursor " is at the correct end of the Visual range: if a:mode == "v" @@ -283,7 +286,9 @@ endfun " Restore options and do some special handling for Operator-pending mode. " The optional argument is the tail of the matching group. fun! s:CleanUp(options, mode, startline, startcol, ...) - execute "set" a:options + if strlen(a:options) + execute "set" a:options + endif " Open folds, if appropriate. if a:mode != "o" if &foldopen =~ "percent" @@ -635,8 +640,9 @@ fun! s:MultiMatch(spflag, mode) if !exists("b:match_words") || b:match_words == "" return {} end - let restore_options = (&ic ? "" : "no") . "ignorecase" - if exists("b:match_ignorecase") + let restore_options = "" + if exists("b:match_ignorecase") && b:match_ignorecase != &ic + let restore_options .= (&ic ? " " : " no") . "ignorecase" let &ignorecase = b:match_ignorecase endif let startline = line(".") diff --git a/runtime/plugin/matchparen.vim b/runtime/plugin/matchparen.vim index 5db1f64c78..4f68fd87bc 100644 --- a/runtime/plugin/matchparen.vim +++ b/runtime/plugin/matchparen.vim @@ -1,6 +1,6 @@ " Vim plugin for showing matching parens " Maintainer: Bram Moolenaar <Bram@vim.org> -" Last Change: 2016 Feb 16 +" Last Change: 2017 Sep 30 " Exit quickly when: " - this plugin was already loaded (or disabled) @@ -186,9 +186,23 @@ function! s:Highlight_Matching_Pair() endfunction " Define commands that will disable and enable the plugin. -command! NoMatchParen windo silent! call matchdelete(3) | unlet! g:loaded_matchparen | - \ au! matchparen -command! DoMatchParen runtime plugin/matchparen.vim | windo doau CursorMoved +command! DoMatchParen call s:DoMatchParen() +command! NoMatchParen call s:NoMatchParen() + +func! s:NoMatchParen() + let w = winnr() + noau windo silent! call matchdelete(3) + unlet! g:loaded_matchparen + exe "noau ". w . "wincmd w" + au! matchparen +endfunc + +func! s:DoMatchParen() + runtime plugin/matchparen.vim + let w = winnr() + silent windo doau CursorMoved + exe "noau ". w . "wincmd w" +endfunc let &cpo = s:cpo_save unlet s:cpo_save diff --git a/runtime/scripts.vim b/runtime/scripts.vim index 3b6163f9c2..63bf9efcf9 100644 --- a/runtime/scripts.vim +++ b/runtime/scripts.vim @@ -1,7 +1,7 @@ " Vim support file to detect file types in scripts " " Maintainer: Bram Moolenaar <Bram@vim.org> -" Last change: 2017 Mar 04 +" Last change: 2017 Aug 27 " This file is called by an autocommand for every file that has just been " loaded into a buffer. It checks if the type of file can be recognized by @@ -297,7 +297,7 @@ else set ft=virata " Strace - elseif s:line1 =~ '^\(\[pid \d\+\] \)\=[0-9:.]* *execve(' || s:line1 =~ '^__libc_start_main' + elseif s:line1 =~# '[0-9:.]* *execve(' || s:line1 =~# '^__libc_start_main' set ft=strace " VSE JCL @@ -315,7 +315,7 @@ else set ft=sindacmp " DNS zone files - elseif s:line1.s:line2.s:line3.s:line4 =~ '^; <<>> DiG [0-9.]\+ <<>>\|BIND.*named\|$ORIGIN\|$TTL\|IN\s\+SOA' + elseif s:line1.s:line2.s:line3.s:line4 =~# '^; <<>> DiG [0-9.]\+.* <<>>\|$ORIGIN\|$TTL\|IN\s\+SOA' set ft=bindzone " BAAN diff --git a/runtime/synmenu.vim b/runtime/synmenu.vim index b156cd2fc7..6814c60e88 100644 --- a/runtime/synmenu.vim +++ b/runtime/synmenu.vim @@ -2,7 +2,7 @@ " This file is normally sourced from menu.vim. " " Maintainer: Bram Moolenaar <Bram@vim.org> -" Last Change: 2014 Aug 13 +" Last Change: 2017 Oct 28 " Define the SetSyn function, used for the Syntax menu entries. " Set 'filetype' and also 'syntax' if it is manually selected. @@ -351,12 +351,13 @@ an 50.70.510 &Syntax.M.Muttrc :cal SetSyn("muttrc")<CR> an 50.80.100 &Syntax.NO.Nanorc :cal SetSyn("nanorc")<CR> an 50.80.110 &Syntax.NO.Nastran\ input/DMAP :cal SetSyn("nastran")<CR> an 50.80.120 &Syntax.NO.Natural :cal SetSyn("natural")<CR> -an 50.80.130 &Syntax.NO.Netrc :cal SetSyn("netrc")<CR> -an 50.80.140 &Syntax.NO.Ninja :cal SetSyn("ninja")<CR> -an 50.80.150 &Syntax.NO.Novell\ NCF\ batch :cal SetSyn("ncf")<CR> -an 50.80.160 &Syntax.NO.Not\ Quite\ C\ (LEGO) :cal SetSyn("nqc")<CR> -an 50.80.170 &Syntax.NO.Nroff :cal SetSyn("nroff")<CR> -an 50.80.180 &Syntax.NO.NSIS\ script :cal SetSyn("nsis")<CR> +an 50.80.130 &Syntax.NO.Neomuttrc :cal SetSyn("neomuttrc")<CR> +an 50.80.140 &Syntax.NO.Netrc :cal SetSyn("netrc")<CR> +an 50.80.150 &Syntax.NO.Ninja :cal SetSyn("ninja")<CR> +an 50.80.160 &Syntax.NO.Novell\ NCF\ batch :cal SetSyn("ncf")<CR> +an 50.80.170 &Syntax.NO.Not\ Quite\ C\ (LEGO) :cal SetSyn("nqc")<CR> +an 50.80.180 &Syntax.NO.Nroff :cal SetSyn("nroff")<CR> +an 50.80.190 &Syntax.NO.NSIS\ script :cal SetSyn("nsis")<CR> an 50.80.200 &Syntax.NO.Obj\ 3D\ wavefront :cal SetSyn("obj")<CR> an 50.80.210 &Syntax.NO.Objective\ C :cal SetSyn("objc")<CR> an 50.80.220 &Syntax.NO.Objective\ C++ :cal SetSyn("objcpp")<CR> diff --git a/runtime/syntax/autohotkey.vim b/runtime/syntax/autohotkey.vim index 3b826af6f5..c6a68f7a21 100644 --- a/runtime/syntax/autohotkey.vim +++ b/runtime/syntax/autohotkey.vim @@ -2,7 +2,7 @@ " Language: AutoHotkey script file " Maintainer: Michael Wong " https://github.com/mmikeww/autohotkey.vim -" Latest Revision: 2017-01-23 +" Latest Revision: 2017-04-03 " Previous Maintainers: SungHyun Nam <goweol@gmail.com> " Nikolai Weibull <now@bitwi.se> @@ -106,6 +106,7 @@ syn keyword autohotkeyCommand \ FormatTime IfInString IfNotInString Sort StringCaseSense StringGetPos \ StringLeft StringRight StringLower StringUpper StringMid StringReplace \ StringSplit StringTrimLeft StringTrimRight StringLen + \ StrSplit StrReplace Throw \ Control ControlClick ControlFocus ControlGet ControlGetFocus \ ControlGetPos ControlGetText ControlMove ControlSend ControlSendRaw \ ControlSetText Menu PostMessage SendMessage SetControlDelay @@ -119,17 +120,18 @@ syn keyword autohotkeyCommand \ SetCapsLockState SetNumLockState SetScrollLockState syn keyword autohotkeyFunction - \ InStr RegExMatch RegExReplace StrLen SubStr Asc Chr + \ InStr RegExMatch RegExReplace StrLen SubStr Asc Chr Func \ DllCall VarSetCapacity WinActive WinExist IsLabel OnMessage \ Abs Ceil Exp Floor Log Ln Mod Round Sqrt Sin Cos Tan ASin ACos ATan \ FileExist GetKeyState NumGet NumPut StrGet StrPut RegisterCallback \ IsFunc Trim LTrim RTrim IsObject Object Array FileOpen \ ComObjActive ComObjArray ComObjConnect ComObjCreate ComObjGet \ ComObjError ComObjFlags ComObjQuery ComObjType ComObjValue ComObject + \ Format Exception syn keyword autohotkeyStatement \ Break Continue Exit ExitApp Gosub Goto OnExit Pause Return - \ Suspend Reload + \ Suspend Reload new class extends syn keyword autohotkeyRepeat \ Loop @@ -138,7 +140,7 @@ syn keyword autohotkeyConditional \ IfExist IfNotExist If IfEqual IfLess IfGreater Else \ IfWinExist IfWinNotExist IfWinActive IfWinNotActive \ IfNotEqual IfLessOrEqual IfGreaterOrEqual - \ while until for in + \ while until for in try catch finally syn match autohotkeyPreProcStart \ nextgroup= @@ -178,7 +180,7 @@ syn keyword autohotkeyPreProc \ Warn syn keyword autohotkeyMatchClass - \ ahk_group ahk_class ahk_id ahk_pid + \ ahk_group ahk_class ahk_id ahk_pid ahk_exe syn match autohotkeyNumbers \ display @@ -217,7 +219,7 @@ syn match autohotkeyHotkey \ contains=autohotkeyKey, \ autohotkeyHotkeyDelimiter \ display - \ '^.\{-}::' + \ '^\s*\S*\%( Up\)\?::' syn match autohotkeyKey \ contained diff --git a/runtime/syntax/bib.vim b/runtime/syntax/bib.vim index f2b99e961b..ac8dcda678 100644 --- a/runtime/syntax/bib.vim +++ b/runtime/syntax/bib.vim @@ -2,7 +2,7 @@ " Language: BibTeX (bibliographic database format for (La)TeX) " Maintainer: Bernd Feige <Bernd.Feige@gmx.net> " Filenames: *.bib -" Last Change: 2016 Sep 12 +" Last Change: 2017 Sep 29 " Thanks to those who pointed out problems with this file or supplied fixes! @@ -81,16 +81,18 @@ syn match bibUnescapedSpecial contained /[^\\][%&]/hs=s+1 syn match bibKey contained /\s*[^ \t}="]\+,/hs=s,he=e-1 nextgroup=bibField syn match bibVariable contained /[^{}," \t=]/ syn region bibComment start=/./ end=/^\s*@/me=e-1 contains=@bibCommentContents nextgroup=bibEntry -syn region bibMath contained start=/\$/ end=/\$/ skip=/\(\\\$\)/ +syn region bibMath contained start=/\(\\\)\@<!\$/ end=/\$/ skip=/\(\\\$\)/ syn region bibQuote contained start=/"/ end=/"/ skip=/\(\\"\)/ contains=@bibVarContents syn region bibBrace contained start=/{/ end=/}/ skip=/\(\\[{}]\)/ contains=@bibVarContents syn region bibParen contained start=/(/ end=/)/ skip=/\(\\[()]\)/ contains=@bibVarContents syn region bibField contained start="\S\+\s*=\s*" end=/[}),]/me=e-1 contains=bibEntryKw,bibNSEntryKw,bibBrace,bibParen,bibQuote,bibVariable -syn region bibEntryData contained start=/[{(]/ms=e+1 end=/[})]/me=e-1 contains=bibKey,bibField +syn region bibEntryData contained start=/[{(]/ms=e+1 end=/[})]/me=e-1 contains=bibKey,bibField,bibComment3 " Actually, 5.8 <= Vim < 6.0 would ignore the `fold' keyword anyway, but Vim<5.8 would produce " an error, so we explicitly distinguish versions with and without folding functionality: syn region bibEntry start=/@\S\+\s*[{(]/ end=/^\s*[})]/ transparent fold contains=bibType,bibEntryData nextgroup=bibComment syn region bibComment2 start=/@Comment\s*[{(]/ end=/^\s*[})]/me=e-1 contains=@bibCommentContents nextgroup=bibEntry +" biblatex style comments inside a bibEntry +syn match bibComment3 "%.*" " Synchronization " =============== @@ -111,6 +113,7 @@ hi def link bibVariable Constant hi def link bibUnescapedSpecial Error hi def link bibComment Comment hi def link bibComment2 Comment +hi def link bibComment3 Comment let b:current_syntax = "bib" diff --git a/runtime/syntax/c.vim b/runtime/syntax/c.vim index 16c7ce4d92..f659a87b71 100644 --- a/runtime/syntax/c.vim +++ b/runtime/syntax/c.vim @@ -1,7 +1,7 @@ " Vim syntax file " Language: C " Maintainer: Bram Moolenaar <Bram@vim.org> -" Last Change: 2016 Nov 18 +" Last Change: 2017 Apr 30 " Quit when a (custom) syntax file was already loaded if exists("b:current_syntax") @@ -311,44 +311,32 @@ if !exists("c_no_ansi") || exists("c_ansi_constants") || exists("c_gnu") syn keyword cConstant PTRDIFF_MIN PTRDIFF_MAX SIG_ATOMIC_MIN SIG_ATOMIC_MAX syn keyword cConstant SIZE_MAX WCHAR_MIN WCHAR_MAX WINT_MIN WINT_MAX endif - syn keyword cConstant FLT_RADIX FLT_ROUNDS - syn keyword cConstant FLT_DIG FLT_MANT_DIG FLT_EPSILON - syn keyword cConstant DBL_DIG DBL_MANT_DIG DBL_EPSILON - syn keyword cConstant LDBL_DIG LDBL_MANT_DIG LDBL_EPSILON - syn keyword cConstant FLT_MIN FLT_MAX FLT_MIN_EXP FLT_MAX_EXP - syn keyword cConstant FLT_MIN_10_EXP FLT_MAX_10_EXP - syn keyword cConstant DBL_MIN DBL_MAX DBL_MIN_EXP DBL_MAX_EXP - syn keyword cConstant DBL_MIN_10_EXP DBL_MAX_10_EXP - syn keyword cConstant LDBL_MIN LDBL_MAX LDBL_MIN_EXP LDBL_MAX_EXP - syn keyword cConstant LDBL_MIN_10_EXP LDBL_MAX_10_EXP - syn keyword cConstant HUGE_VAL CLOCKS_PER_SEC NULL - syn keyword cConstant LC_ALL LC_COLLATE LC_CTYPE LC_MONETARY - syn keyword cConstant LC_NUMERIC LC_TIME - syn keyword cConstant SIG_DFL SIG_ERR SIG_IGN - syn keyword cConstant SIGABRT SIGFPE SIGILL SIGHUP SIGINT SIGSEGV SIGTERM + syn keyword cConstant FLT_RADIX FLT_ROUNDS FLT_DIG FLT_MANT_DIG FLT_EPSILON DBL_DIG DBL_MANT_DIG DBL_EPSILON + syn keyword cConstant LDBL_DIG LDBL_MANT_DIG LDBL_EPSILON FLT_MIN FLT_MAX FLT_MIN_EXP FLT_MAX_EXP FLT_MIN_10_EXP FLT_MAX_10_EXP + syn keyword cConstant DBL_MIN DBL_MAX DBL_MIN_EXP DBL_MAX_EXP DBL_MIN_10_EXP DBL_MAX_10_EXP LDBL_MIN LDBL_MAX LDBL_MIN_EXP LDBL_MAX_EXP + syn keyword cConstant LDBL_MIN_10_EXP LDBL_MAX_10_EXP HUGE_VAL CLOCKS_PER_SEC NULL LC_ALL LC_COLLATE LC_CTYPE LC_MONETARY + syn keyword cConstant LC_NUMERIC LC_TIME SIG_DFL SIG_ERR SIG_IGN SIGABRT SIGFPE SIGILL SIGHUP SIGINT SIGSEGV SIGTERM " Add POSIX signals as well... - syn keyword cConstant SIGABRT SIGALRM SIGCHLD SIGCONT SIGFPE SIGHUP - syn keyword cConstant SIGILL SIGINT SIGKILL SIGPIPE SIGQUIT SIGSEGV - syn keyword cConstant SIGSTOP SIGTERM SIGTRAP SIGTSTP SIGTTIN SIGTTOU - syn keyword cConstant SIGUSR1 SIGUSR2 - syn keyword cConstant _IOFBF _IOLBF _IONBF BUFSIZ EOF WEOF - syn keyword cConstant FOPEN_MAX FILENAME_MAX L_tmpnam - syn keyword cConstant SEEK_CUR SEEK_END SEEK_SET - syn keyword cConstant TMP_MAX stderr stdin stdout - syn keyword cConstant EXIT_FAILURE EXIT_SUCCESS RAND_MAX + syn keyword cConstant SIGABRT SIGALRM SIGCHLD SIGCONT SIGFPE SIGHUP SIGILL SIGINT SIGKILL SIGPIPE SIGQUIT SIGSEGV + syn keyword cConstant SIGSTOP SIGTERM SIGTRAP SIGTSTP SIGTTIN SIGTTOU SIGUSR1 SIGUSR2 + syn keyword cConstant _IOFBF _IOLBF _IONBF BUFSIZ EOF WEOF FOPEN_MAX FILENAME_MAX L_tmpnam + syn keyword cConstant SEEK_CUR SEEK_END SEEK_SET TMP_MAX stderr stdin stdout EXIT_FAILURE EXIT_SUCCESS RAND_MAX " POSIX 2001 - syn keyword cConstant SIGBUS SIGPOLL SIGPROF SIGSYS SIGURG - syn keyword cConstant SIGVTALRM SIGXCPU SIGXFSZ + syn keyword cConstant SIGBUS SIGPOLL SIGPROF SIGSYS SIGURG SIGVTALRM SIGXCPU SIGXFSZ " non-POSIX signals syn keyword cConstant SIGWINCH SIGINFO - " Add POSIX errors as well - syn keyword cConstant E2BIG EACCES EAGAIN EBADF EBADMSG EBUSY - syn keyword cConstant ECANCELED ECHILD EDEADLK EDOM EEXIST EFAULT - syn keyword cConstant EFBIG EILSEQ EINPROGRESS EINTR EINVAL EIO EISDIR - syn keyword cConstant EMFILE EMLINK EMSGSIZE ENAMETOOLONG ENFILE ENODEV - syn keyword cConstant ENOENT ENOEXEC ENOLCK ENOMEM ENOSPC ENOSYS - syn keyword cConstant ENOTDIR ENOTEMPTY ENOTSUP ENOTTY ENXIO EPERM - syn keyword cConstant EPIPE ERANGE EROFS ESPIPE ESRCH ETIMEDOUT EXDEV + " Add POSIX errors as well. List comes from: + " http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/errno.h.html + syn keyword cConstant E2BIG EACCES EADDRINUSE EADDRNOTAVAIL EAFNOSUPPORT EAGAIN EALREADY EBADF + syn keyword cConstant EBADMSG EBUSY ECANCELED ECHILD ECONNABORTED ECONNREFUSED ECONNRESET EDEADLK + syn keyword cConstant EDESTADDRREQ EDOM EDQUOT EEXIST EFAULT EFBIG EHOSTUNREACH EIDRM EILSEQ + syn keyword cConstant EINPROGRESS EINTR EINVAL EIO EISCONN EISDIR ELOOP EMFILE EMLINK EMSGSIZE + syn keyword cConstant EMULTIHOP ENAMETOOLONG ENETDOWN ENETRESET ENETUNREACH ENFILE ENOBUFS ENODATA + syn keyword cConstant ENODEV ENOENT ENOEXEC ENOLCK ENOLINK ENOMEM ENOMSG ENOPROTOOPT ENOSPC ENOSR + syn keyword cConstant ENOSTR ENOSYS ENOTCONN ENOTDIR ENOTEMPTY ENOTRECOVERABLE ENOTSOCK ENOTSUP + syn keyword cConstant ENOTTY ENXIO EOPNOTSUPP EOVERFLOW EOWNERDEAD EPERM EPIPE EPROTO + syn keyword cConstant EPROTONOSUPPORT EPROTOTYPE ERANGE EROFS ESPIPE ESRCH ESTALE ETIME ETIMEDOUT + syn keyword cConstant ETXTBSY EWOULDBLOCK EXDEV " math.h syn keyword cConstant M_E M_LOG2E M_LOG10E M_LN2 M_LN10 M_PI M_PI_2 M_PI_4 syn keyword cConstant M_1_PI M_2_PI M_2_SQRTPI M_SQRT2 M_SQRT1_2 diff --git a/runtime/syntax/clojure.vim b/runtime/syntax/clojure.vim index 2b48146b5a..ffdd5c2ab0 100644 --- a/runtime/syntax/clojure.vim +++ b/runtime/syntax/clojure.vim @@ -136,7 +136,7 @@ syntax match clojureRegexpBoundary "[$^]" contained display syntax match clojureRegexpQuantifier "[?*+][?+]\=" contained display syntax match clojureRegexpQuantifier "\v\{\d+%(,|,\d+)?}\??" contained display syntax match clojureRegexpOr "|" contained display -syntax match clojureRegexpBackRef "\v\\%([1-9]\d*|k\<[a-zA-z]+\>)" contained display +syntax match clojureRegexpBackRef "\v\\%([1-9]\d*|k\<[a-zA-Z]+\>)" contained display " Mode modifiers, mode-modified spans, lookaround, regular and atomic " grouping, and named-capturing. diff --git a/runtime/syntax/cmake.vim b/runtime/syntax/cmake.vim index 4cc21da8fe..f7616e4c6d 100644 --- a/runtime/syntax/cmake.vim +++ b/runtime/syntax/cmake.vim @@ -1,74 +1,477 @@ " Vim syntax file " Program: CMake - Cross-Platform Makefile Generator -" Module: $RCSfile: cmake-syntax.vim,v $ +" Version: cmake version 3.9.20170830-ge0713 " Language: CMake -" Maintainer: Dimitri Merejkowsky <d.merej@gmail.com> -" Former Maintainer: Karthik Krishnan <karthik.krishnan@kitware.com> -" Author: Andy Cedilnik <andy.cedilnik@kitware.com> -" Last Change: 2015 Dec 17 -" Version: $Revision: 1.10 $ +" Author: Andy Cedilnik <andy.cedilnik@kitware.com>, +" Nicholas Hutchinson <nshutchinson@gmail.com>, +" Patrick Boettcher <patrick.boettcher@posteo.de> +" Maintainer: Dimitri Merejkowsky <d.merej@gmail.com> +" Former Maintainer: Karthik Krishnan <karthik.krishnan@kitware.com> +" Last Change: 2017 Aug 30 " " Licence: The CMake license applies to this file. See -" http://www.cmake.org/HTML/Copyright.html +" https://cmake.org/licensing " This implies that distribution with Vim is allowed -" quit when a syntax file was already loaded if exists("b:current_syntax") finish endif let s:keepcpo= &cpo set cpo&vim -syn case ignore +syn region cmakeComment start="#" end="$" contains=cmakeTodo,cmakeLuaComment,@Spell +syn region cmakeLuaComment start="\[\z(=*\)\[" end="\]\z1\]" contains=cmakeTodo,@Spell + syn match cmakeEscaped /\(\\\\\|\\"\|\\n\|\\t\)/ contained -syn region cmakeComment start="#" end="$" contains=@Spell,cmakeTodo -syn region cmakeRegistry start=/\[/ end=/]/ - \ contained oneline contains=CONTAINED,cmakeTodo,cmakeEscaped -syn region cmakeVariableValue start=/\${/ end=/}/ - \ contained oneline contains=CONTAINED,cmakeTodo -syn region cmakeEnvironment start=/\$ENV{/ end=/}/ - \ contained oneline contains=CONTAINED,cmakeTodo -syn region cmakeString start=/"/ end=/"/ - \ contains=CONTAINED,cmakeTodo,cmakeOperators -syn region cmakeArguments start=/(/ end=/)/ - \ contains=ALLBUT,cmakeArguments,cmakeTodo -syn keyword cmakeSystemVariables - \ WIN32 UNIX APPLE CYGWIN BORLAND MINGW MSVC MSVC_IDE MSVC60 MSVC70 MSVC71 MSVC80 MSVC90 -syn keyword cmakeOperators - \ ABSOLUTE AND BOOL CACHE COMMAND DEFINED DOC EQUAL EXISTS EXT FALSE GREATER INTERNAL LESS MATCHES NAME NAMES NAME_WE NOT OFF ON OR PATH PATHS PROGRAM STREQUAL STRGREATER STRING STRLESS TRUE - \ contained -syn keyword cmakeDeprecated ABSTRACT_FILES BUILD_NAME SOURCE_FILES SOURCE_FILES_REMOVE VTK_MAKE_INSTANTIATOR VTK_WRAP_JAVA VTK_WRAP_PYTHON VTK_WRAP_TCL WRAP_EXCLUDE_FILES - \ nextgroup=cmakeArguments +syn region cmakeRegistry start="\[" end="]" contained oneline contains=cmakeTodo,cmakeEscaped + +syn region cmakeGeneratorExpression start="$<" end=">" contained oneline contains=cmakeVariableValue,cmakeProperty,cmakeGeneratorExpressions,cmakeTodo + +syn region cmakeString start='"' end='"' contained contains=cmakeTodo,cmakeVariableValue,cmakeEscaped + +syn region cmakeVariableValue start="${" end="}" contained oneline contains=cmakeVariable,cmakeTodo + +syn region cmakeEnvironment start="$ENV{" end="}" contained oneline contains=cmakeTodo + +syn region cmakeArguments start="(" end=")" contains=ALLBUT,cmakeCommand,cmakeCommandConditional,cmakeCommandRepeat,cmakeCommandDeprecated,cmakeArguments,cmakeTodo + +syn case match + +syn keyword cmakeProperty contained + \ ABSTRACT ADDITIONAL_MAKE_CLEAN_FILES ADVANCED ALIASED_TARGET ALLOW_DUPLICATE_CUSTOM_TARGETS ANDROID_ANT_ADDITIONAL_OPTIONS ANDROID_API ANDROID_API_MIN ANDROID_ARCH ANDROID_ASSETS_DIRECTORIES ANDROID_GUI ANDROID_JAR_DEPENDENCIES ANDROID_JAR_DIRECTORIES ANDROID_JAVA_SOURCE_DIR ANDROID_NATIVE_LIB_DEPENDENCIES ANDROID_NATIVE_LIB_DIRECTORIES ANDROID_PROCESS_MAX ANDROID_PROGUARD ANDROID_PROGUARD_CONFIG_PATH ANDROID_SECURE_PROPS_PATH ANDROID_SKIP_ANT_STEP ANDROID_STL_TYPE ARCHIVE_OUTPUT_DIRECTORY ARCHIVE_OUTPUT_NAME ATTACHED_FILES ATTACHED_FILES_ON_FAIL AUTOGEN_BUILD_DIR AUTOGEN_SOURCE_GROUP AUTOGEN_TARGETS_FOLDER AUTOGEN_TARGET_DEPENDS AUTOMOC AUTOMOC_DEPEND_FILTERS AUTOMOC_MACRO_NAMES AUTOMOC_MOC_OPTIONS AUTOMOC_SOURCE_GROUP AUTOMOC_TARGETS_FOLDER AUTORCC AUTORCC_OPTIONS AUTORCC_SOURCE_GROUP AUTOUIC AUTOUIC_OPTIONS AUTOUIC_SEARCH_PATHS BINARY_DIR BUILDSYSTEM_TARGETS BUILD_RPATH BUILD_WITH_INSTALL_NAME_DIR BUILD_WITH_INSTALL_RPATH BUNDLE BUNDLE_EXTENSION CACHE_VARIABLES CLEAN_NO_CUSTOM CMAKE_CONFIGURE_DEPENDS CMAKE_CXX_KNOWN_FEATURES CMAKE_C_KNOWN_FEATURES COMPATIBLE_INTERFACE_BOOL COMPATIBLE_INTERFACE_NUMBER_MAX COMPATIBLE_INTERFACE_NUMBER_MIN COMPATIBLE_INTERFACE_STRING COMPILE_DEFINITIONS COMPILE_FEATURES COMPILE_FLAGS COMPILE_OPTIONS COMPILE_PDB_NAME COMPILE_PDB_OUTPUT_DIRECTORY COST CPACK_DESKTOP_SHORTCUTS CPACK_NEVER_OVERWRITE CPACK_PERMANENT CPACK_STARTUP_SHORTCUTS CPACK_START_MENU_SHORTCUTS CPACK_WIX_ACL CROSSCOMPILING_EMULATOR CUDA_EXTENSIONS CUDA_PTX_COMPILATION CUDA_RESOLVE_DEVICE_SYMBOLS CUDA_SEPARABLE_COMPILATION CUDA_STANDARD CUDA_STANDARD_REQUIRED CXX_EXTENSIONS CXX_STANDARD CXX_STANDARD_REQUIRED C_EXTENSIONS C_STANDARD C_STANDARD_REQUIRED DEBUG_CONFIGURATIONS DEBUG_POSTFIX DEFINE_SYMBOL DEFINITIONS DEPENDS DEPLOYMENT_REMOTE_DIRECTORY DISABLED DISABLED_FEATURES ECLIPSE_EXTRA_NATURES ENABLED_FEATURES ENABLED_LANGUAGES ENABLE_EXPORTS ENVIRONMENT EXCLUDE_FROM_ALL EXCLUDE_FROM_DEFAULT_BUILD EXPORT_NAME EXTERNAL_OBJECT EchoString FAIL_REGULAR_EXPRESSION FIND_LIBRARY_USE_LIB32_PATHS FIND_LIBRARY_USE_LIB64_PATHS FIND_LIBRARY_USE_LIBX32_PATHS FIND_LIBRARY_USE_OPENBSD_VERSIONING FIXTURES_CLEANUP FIXTURES_REQUIRED FIXTURES_SETUP FOLDER FRAMEWORK FRAMEWORK_VERSION Fortran_FORMAT Fortran_MODULE_DIRECTORY GENERATED GENERATOR_FILE_NAME GENERATOR_IS_MULTI_CONFIG GLOBAL_DEPENDS_DEBUG_MODE GLOBAL_DEPENDS_NO_CYCLES GNUtoMS HAS_CXX HEADER_FILE_ONLY HELPSTRING IMPLICIT_DEPENDS_INCLUDE_TRANSFORM IMPORTED IMPORTED_CONFIGURATIONS IMPORTED_IMPLIB IMPORTED_LIBNAME IMPORTED_LINK_DEPENDENT_LIBRARIES IMPORTED_LINK_INTERFACE_LANGUAGES IMPORTED_LINK_INTERFACE_LIBRARIES IMPORTED_LINK_INTERFACE_MULTIPLICITY IMPORTED_LOCATION IMPORTED_NO_SONAME IMPORTED_OBJECTS IMPORTED_SONAME IMPORT_PREFIX IMPORT_SUFFIX INCLUDE_DIRECTORIES INCLUDE_REGULAR_EXPRESSION INSTALL_NAME_DIR INSTALL_RPATH INSTALL_RPATH_USE_LINK_PATH INTERFACE_AUTOUIC_OPTIONS INTERFACE_COMPILE_DEFINITIONS INTERFACE_COMPILE_FEATURES INTERFACE_COMPILE_OPTIONS INTERFACE_INCLUDE_DIRECTORIES INTERFACE_LINK_LIBRARIES INTERFACE_POSITION_INDEPENDENT_CODE INTERFACE_SOURCES INTERFACE_SYSTEM_INCLUDE_DIRECTORIES INTERPROCEDURAL_OPTIMIZATION IN_TRY_COMPILE IOS_INSTALL_COMBINED JOB_POOLS JOB_POOL_COMPILE JOB_POOL_LINK KEEP_EXTENSION LABELS LANGUAGE LIBRARY_OUTPUT_DIRECTORY LIBRARY_OUTPUT_NAME LINKER_LANGUAGE LINK_DEPENDS LINK_DEPENDS_NO_SHARED LINK_DIRECTORIES LINK_FLAGS LINK_INTERFACE_LIBRARIES LINK_INTERFACE_MULTIPLICITY LINK_LIBRARIES LINK_SEARCH_END_STATIC LINK_SEARCH_START_STATIC LINK_WHAT_YOU_USE LISTFILE_STACK LOCATION MACOSX_BUNDLE MACOSX_BUNDLE_INFO_PLIST MACOSX_FRAMEWORK_INFO_PLIST MACOSX_PACKAGE_LOCATION MACOSX_RPATH MACROS MANUALLY_ADDED_DEPENDENCIES MEASUREMENT MODIFIED NAME NO_SONAME NO_SYSTEM_FROM_IMPORTED OBJECT_DEPENDS OBJECT_OUTPUTS OSX_ARCHITECTURES OUTPUT_NAME PACKAGES_FOUND PACKAGES_NOT_FOUND PARENT_DIRECTORY PASS_REGULAR_EXPRESSION PDB_NAME PDB_OUTPUT_DIRECTORY POSITION_INDEPENDENT_CODE POST_INSTALL_SCRIPT PREDEFINED_TARGETS_FOLDER PREFIX PRE_INSTALL_SCRIPT PRIVATE_HEADER PROCESSORS PROJECT_LABEL PUBLIC_HEADER REPORT_UNDEFINED_PROPERTIES REQUIRED_FILES RESOURCE RESOURCE_LOCK RULE_LAUNCH_COMPILE RULE_LAUNCH_CUSTOM RULE_LAUNCH_LINK RULE_MESSAGES RUNTIME_OUTPUT_DIRECTORY RUNTIME_OUTPUT_NAME RUN_SERIAL SKIP_AUTOGEN SKIP_AUTOMOC SKIP_AUTORCC SKIP_AUTOUIC SKIP_BUILD_RPATH SKIP_RETURN_CODE SOURCES SOURCE_DIR SOVERSION STATIC_LIBRARY_FLAGS STRINGS SUBDIRECTORIES SUFFIX SYMBOLIC TARGET_ARCHIVES_MAY_BE_SHARED_LIBS TARGET_MESSAGES TARGET_SUPPORTS_SHARED_LIBS TEST_INCLUDE_FILE TEST_INCLUDE_FILES TIMEOUT TIMEOUT_AFTER_MATCH TYPE USE_FOLDERS VALUE VARIABLES VERSION VISIBILITY_INLINES_HIDDEN VS_CONFIGURATION_TYPE VS_COPY_TO_OUT_DIR VS_DEBUGGER_WORKING_DIRECTORY VS_DEPLOYMENT_CONTENT VS_DEPLOYMENT_LOCATION VS_DESKTOP_EXTENSIONS_VERSION VS_DOTNET_REFERENCES VS_DOTNET_REFERENCES_COPY_LOCAL VS_DOTNET_TARGET_FRAMEWORK_VERSION VS_GLOBAL_KEYWORD VS_GLOBAL_PROJECT_TYPES VS_GLOBAL_ROOTNAMESPACE VS_INCLUDE_IN_VSIX VS_IOT_EXTENSIONS_VERSION VS_IOT_STARTUP_TASK VS_KEYWORD VS_MOBILE_EXTENSIONS_VERSION VS_RESOURCE_GENERATOR VS_SCC_AUXPATH VS_SCC_LOCALPATH VS_SCC_PROJECTNAME VS_SCC_PROVIDER VS_SDK_REFERENCES VS_SHADER_ENTRYPOINT VS_SHADER_FLAGS VS_SHADER_MODEL VS_SHADER_TYPE VS_STARTUP_PROJECT VS_TOOL_OVERRIDE VS_USER_PROPS VS_WINDOWS_TARGET_PLATFORM_MIN_VERSION VS_WINRT_COMPONENT VS_WINRT_EXTENSIONS VS_WINRT_REFERENCES VS_XAML_TYPE WILL_FAIL WIN32_EXECUTABLE WINDOWS_EXPORT_ALL_SYMBOLS WORKING_DIRECTORY WRAP_EXCLUDE XCODE_EMIT_EFFECTIVE_PLATFORM_NAME XCODE_EXPLICIT_FILE_TYPE XCODE_FILE_ATTRIBUTES XCODE_LAST_KNOWN_FILE_TYPE XCODE_PRODUCT_TYPE XCTEST + +syn keyword cmakeVariable contained + \ ANDROID APPLE BORLAND BUILD_SHARED_LIBS CMAKE_ABSOLUTE_DESTINATION_FILES CMAKE_ANDROID_ANT_ADDITIONAL_OPTIONS CMAKE_ANDROID_API CMAKE_ANDROID_API_MIN CMAKE_ANDROID_ARCH CMAKE_ANDROID_ARCH_ABI CMAKE_ANDROID_ARM_MODE CMAKE_ANDROID_ARM_NEON CMAKE_ANDROID_ASSETS_DIRECTORIES CMAKE_ANDROID_GUI CMAKE_ANDROID_JAR_DEPENDENCIES CMAKE_ANDROID_JAR_DIRECTORIES CMAKE_ANDROID_JAVA_SOURCE_DIR CMAKE_ANDROID_NATIVE_LIB_DEPENDENCIES CMAKE_ANDROID_NATIVE_LIB_DIRECTORIES CMAKE_ANDROID_NDK CMAKE_ANDROID_NDK_DEPRECATED_HEADERS CMAKE_ANDROID_NDK_TOOLCHAIN_HOST_TAG CMAKE_ANDROID_NDK_TOOLCHAIN_VERSION CMAKE_ANDROID_PROCESS_MAX CMAKE_ANDROID_PROGUARD CMAKE_ANDROID_PROGUARD_CONFIG_PATH CMAKE_ANDROID_SECURE_PROPS_PATH CMAKE_ANDROID_SKIP_ANT_STEP CMAKE_ANDROID_STANDALONE_TOOLCHAIN CMAKE_ANDROID_STL_TYPE CMAKE_APPBUNDLE_PATH CMAKE_AR CMAKE_ARCHIVE_OUTPUT_DIRECTORY CMAKE_ARGC CMAKE_ARGV0 CMAKE_AUTOMOC CMAKE_AUTOMOC_DEPEND_FILTERS CMAKE_AUTOMOC_MACRO_NAMES CMAKE_AUTOMOC_MOC_OPTIONS CMAKE_AUTOMOC_RELAXED_MODE CMAKE_AUTORCC CMAKE_AUTORCC_OPTIONS CMAKE_AUTOUIC CMAKE_AUTOUIC_OPTIONS CMAKE_AUTOUIC_SEARCH_PATHS CMAKE_BACKWARDS_COMPATIBILITY CMAKE_BINARY_DIR CMAKE_BUILD_RPATH CMAKE_BUILD_TOOL CMAKE_BUILD_TYPE CMAKE_BUILD_WITH_INSTALL_NAME_DIR CMAKE_BUILD_WITH_INSTALL_RPATH CMAKE_CACHEFILE_DIR CMAKE_CACHE_MAJOR_VERSION CMAKE_CACHE_MINOR_VERSION CMAKE_CACHE_PATCH_VERSION CMAKE_CFG_INTDIR CMAKE_CL_64 CMAKE_CODELITE_USE_TARGETS CMAKE_COLOR_MAKEFILE CMAKE_COMMAND CMAKE_COMPILER_2005 CMAKE_COMPILER_IS_GNUCC CMAKE_COMPILER_IS_GNUCXX CMAKE_COMPILER_IS_GNUG77 CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY CMAKE_CONFIGURATION_TYPES CMAKE_CROSSCOMPILING CMAKE_CROSSCOMPILING_EMULATOR CMAKE_CTEST_COMMAND CMAKE_CUDA_EXTENSIONS CMAKE_CUDA_STANDARD CMAKE_CUDA_STANDARD_REQUIRED CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES CMAKE_CURRENT_BINARY_DIR CMAKE_CURRENT_LIST_DIR CMAKE_CURRENT_LIST_FILE CMAKE_CURRENT_LIST_LINE CMAKE_CURRENT_SOURCE_DIR CMAKE_CXX_COMPILE_FEATURES CMAKE_CXX_EXTENSIONS CMAKE_CXX_STANDARD CMAKE_CXX_STANDARD_REQUIRED CMAKE_C_COMPILE_FEATURES CMAKE_C_EXTENSIONS CMAKE_C_STANDARD CMAKE_C_STANDARD_REQUIRED CMAKE_DEBUG_POSTFIX CMAKE_DEBUG_TARGET_PROPERTIES CMAKE_DEPENDS_IN_PROJECT_ONLY CMAKE_DIRECTORY_LABELS CMAKE_DL_LIBS CMAKE_ECLIPSE_GENERATE_LINKED_RESOURCES CMAKE_ECLIPSE_GENERATE_SOURCE_PROJECT CMAKE_ECLIPSE_MAKE_ARGUMENTS CMAKE_ECLIPSE_VERSION CMAKE_EDIT_COMMAND CMAKE_ENABLE_EXPORTS CMAKE_ERROR_DEPRECATED CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION CMAKE_EXECUTABLE_SUFFIX CMAKE_EXE_LINKER_FLAGS CMAKE_EXE_LINKER_FLAGS_INIT CMAKE_EXPORT_COMPILE_COMMANDS CMAKE_EXPORT_NO_PACKAGE_REGISTRY CMAKE_EXTRA_GENERATOR CMAKE_EXTRA_SHARED_LIBRARY_SUFFIXES CMAKE_FIND_APPBUNDLE CMAKE_FIND_FRAMEWORK CMAKE_FIND_LIBRARY_CUSTOM_LIB_SUFFIX CMAKE_FIND_LIBRARY_PREFIXES CMAKE_FIND_LIBRARY_SUFFIXES CMAKE_FIND_NO_INSTALL_PREFIX CMAKE_FIND_PACKAGE_NAME CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY CMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY CMAKE_FIND_PACKAGE_SORT_DIRECTION CMAKE_FIND_PACKAGE_SORT_ORDER CMAKE_FIND_PACKAGE_WARN_NO_MODULE CMAKE_FIND_ROOT_PATH CMAKE_FIND_ROOT_PATH_MODE_INCLUDE CMAKE_FIND_ROOT_PATH_MODE_LIBRARY CMAKE_FIND_ROOT_PATH_MODE_PACKAGE CMAKE_FIND_ROOT_PATH_MODE_PROGRAM CMAKE_FRAMEWORK_PATH CMAKE_Fortran_FORMAT CMAKE_Fortran_MODDIR_DEFAULT CMAKE_Fortran_MODDIR_FLAG CMAKE_Fortran_MODOUT_FLAG CMAKE_Fortran_MODULE_DIRECTORY CMAKE_GENERATOR CMAKE_GENERATOR_PLATFORM CMAKE_GENERATOR_TOOLSET CMAKE_GNUtoMS CMAKE_HOME_DIRECTORY CMAKE_HOST_APPLE CMAKE_HOST_SOLARIS CMAKE_HOST_SYSTEM CMAKE_HOST_SYSTEM_NAME CMAKE_HOST_SYSTEM_PROCESSOR CMAKE_HOST_SYSTEM_VERSION CMAKE_HOST_UNIX CMAKE_HOST_WIN32 CMAKE_IGNORE_PATH CMAKE_IMPORT_LIBRARY_PREFIX CMAKE_IMPORT_LIBRARY_SUFFIX CMAKE_INCLUDE_CURRENT_DIR CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE CMAKE_INCLUDE_DIRECTORIES_BEFORE CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE CMAKE_INCLUDE_PATH CMAKE_INSTALL_DEFAULT_COMPONENT_NAME CMAKE_INSTALL_MESSAGE CMAKE_INSTALL_NAME_DIR CMAKE_INSTALL_PREFIX CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT CMAKE_INSTALL_RPATH CMAKE_INSTALL_RPATH_USE_LINK_PATH CMAKE_INTERNAL_PLATFORM_ABI CMAKE_INTERPROCEDURAL_OPTIMIZATION CMAKE_IOS_INSTALL_COMBINED CMAKE_JOB_POOL_COMPILE CMAKE_JOB_POOL_LINK CMAKE_LIBRARY_ARCHITECTURE CMAKE_LIBRARY_ARCHITECTURE_REGEX CMAKE_LIBRARY_OUTPUT_DIRECTORY CMAKE_LIBRARY_PATH CMAKE_LIBRARY_PATH_FLAG CMAKE_LINK_DEF_FILE_FLAG CMAKE_LINK_DEPENDS_NO_SHARED CMAKE_LINK_INTERFACE_LIBRARIES CMAKE_LINK_LIBRARY_FILE_FLAG CMAKE_LINK_LIBRARY_FLAG CMAKE_LINK_LIBRARY_SUFFIX CMAKE_LINK_SEARCH_END_STATIC CMAKE_LINK_SEARCH_START_STATIC CMAKE_LINK_WHAT_YOU_USE CMAKE_MACOSX_BUNDLE CMAKE_MACOSX_RPATH CMAKE_MAJOR_VERSION CMAKE_MAKE_PROGRAM CMAKE_MATCH_COUNT CMAKE_MFC_FLAG CMAKE_MINIMUM_REQUIRED_VERSION CMAKE_MINOR_VERSION CMAKE_MODULE_LINKER_FLAGS CMAKE_MODULE_LINKER_FLAGS_INIT CMAKE_MODULE_PATH CMAKE_MSVCIDE_RUN_PATH CMAKE_NINJA_OUTPUT_PATH_PREFIX CMAKE_NOT_USING_CONFIG_FLAGS CMAKE_NO_BUILTIN_CHRPATH CMAKE_NO_SYSTEM_FROM_IMPORTED CMAKE_OBJECT_PATH_MAX CMAKE_OSX_ARCHITECTURES CMAKE_OSX_DEPLOYMENT_TARGET CMAKE_OSX_SYSROOT CMAKE_PARENT_LIST_FILE CMAKE_PATCH_VERSION CMAKE_PDB_OUTPUT_DIRECTORY CMAKE_POSITION_INDEPENDENT_CODE CMAKE_PREFIX_PATH CMAKE_PROGRAM_PATH CMAKE_PROJECT_DESCRIPTION CMAKE_PROJECT_NAME CMAKE_RANLIB CMAKE_ROOT CMAKE_RUNTIME_OUTPUT_DIRECTORY CMAKE_SCRIPT_MODE_FILE CMAKE_SHARED_LIBRARY_PREFIX CMAKE_SHARED_LIBRARY_SUFFIX CMAKE_SHARED_LINKER_FLAGS CMAKE_SHARED_LINKER_FLAGS_INIT CMAKE_SHARED_MODULE_PREFIX CMAKE_SHARED_MODULE_SUFFIX CMAKE_SIZEOF_VOID_P CMAKE_SKIP_BUILD_RPATH CMAKE_SKIP_INSTALL_ALL_DEPENDENCY CMAKE_SKIP_INSTALL_RPATH CMAKE_SKIP_INSTALL_RULES CMAKE_SKIP_RPATH CMAKE_SOURCE_DIR CMAKE_STAGING_PREFIX CMAKE_STATIC_LIBRARY_PREFIX CMAKE_STATIC_LIBRARY_SUFFIX CMAKE_STATIC_LINKER_FLAGS CMAKE_STATIC_LINKER_FLAGS_INIT CMAKE_SUBLIME_TEXT_2_ENV_SETTINGS CMAKE_SUBLIME_TEXT_2_EXCLUDE_BUILD_TREE CMAKE_SYSROOT CMAKE_SYSROOT_COMPILE CMAKE_SYSROOT_LINK CMAKE_SYSTEM CMAKE_SYSTEM_APPBUNDLE_PATH CMAKE_SYSTEM_FRAMEWORK_PATH CMAKE_SYSTEM_IGNORE_PATH CMAKE_SYSTEM_INCLUDE_PATH CMAKE_SYSTEM_LIBRARY_PATH CMAKE_SYSTEM_NAME CMAKE_SYSTEM_PREFIX_PATH CMAKE_SYSTEM_PROCESSOR CMAKE_SYSTEM_PROGRAM_PATH CMAKE_SYSTEM_VERSION CMAKE_Swift_LANGUAGE_VERSION CMAKE_TOOLCHAIN_FILE CMAKE_TRY_COMPILE_CONFIGURATION CMAKE_TRY_COMPILE_PLATFORM_VARIABLES CMAKE_TRY_COMPILE_TARGET_TYPE CMAKE_TWEAK_VERSION CMAKE_USER_MAKE_RULES_OVERRIDE CMAKE_USE_RELATIVE_PATHS CMAKE_VERBOSE_MAKEFILE CMAKE_VERSION CMAKE_VISIBILITY_INLINES_HIDDEN CMAKE_VS_DEVENV_COMMAND CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD CMAKE_VS_INCLUDE_PACKAGE_TO_DEFAULT_BUILD CMAKE_VS_INTEL_Fortran_PROJECT_VERSION CMAKE_VS_MSBUILD_COMMAND CMAKE_VS_NsightTegra_VERSION CMAKE_VS_PLATFORM_NAME CMAKE_VS_PLATFORM_TOOLSET CMAKE_VS_PLATFORM_TOOLSET_CUDA CMAKE_VS_PLATFORM_TOOLSET_HOST_ARCHITECTURE CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION CMAKE_WARN_DEPRECATED CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION CMAKE_WIN32_EXECUTABLE CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS CMAKE_XCODE_GENERATE_SCHEME CMAKE_XCODE_PLATFORM_TOOLSET CPACK_ABSOLUTE_DESTINATION_FILES CPACK_COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY CPACK_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION CPACK_INCLUDE_TOPLEVEL_DIRECTORY CPACK_INSTALL_SCRIPT CPACK_PACKAGING_INSTALL_PREFIX CPACK_SET_DESTDIR CPACK_WARN_ON_ABSOLUTE_INSTALL_DESTINATION CTEST_BINARY_DIRECTORY CTEST_BUILD_COMMAND CTEST_BUILD_NAME CTEST_BZR_COMMAND CTEST_BZR_UPDATE_OPTIONS CTEST_CHANGE_ID CTEST_CHECKOUT_COMMAND CTEST_CONFIGURATION_TYPE CTEST_CONFIGURE_COMMAND CTEST_COVERAGE_COMMAND CTEST_COVERAGE_EXTRA_FLAGS CTEST_CURL_OPTIONS CTEST_CUSTOM_COVERAGE_EXCLUDE CTEST_CUSTOM_ERROR_EXCEPTION CTEST_CUSTOM_ERROR_MATCH CTEST_CUSTOM_ERROR_POST_CONTEXT CTEST_CUSTOM_ERROR_PRE_CONTEXT CTEST_CUSTOM_MAXIMUM_FAILED_TEST_OUTPUT_SIZE CTEST_CUSTOM_MAXIMUM_NUMBER_OF_ERRORS CTEST_CUSTOM_MAXIMUM_NUMBER_OF_WARNINGS CTEST_CUSTOM_MAXIMUM_PASSED_TEST_OUTPUT_SIZE CTEST_CUSTOM_MEMCHECK_IGNORE CTEST_CUSTOM_POST_MEMCHECK CTEST_CUSTOM_POST_TEST CTEST_CUSTOM_PRE_MEMCHECK CTEST_CUSTOM_PRE_TEST CTEST_CUSTOM_TEST_IGNORE CTEST_CUSTOM_WARNING_EXCEPTION CTEST_CUSTOM_WARNING_MATCH CTEST_CVS_CHECKOUT CTEST_CVS_COMMAND CTEST_CVS_UPDATE_OPTIONS CTEST_DROP_LOCATION CTEST_DROP_METHOD CTEST_DROP_SITE CTEST_DROP_SITE_CDASH CTEST_DROP_SITE_PASSWORD CTEST_DROP_SITE_USER CTEST_EXTRA_COVERAGE_GLOB CTEST_GIT_COMMAND CTEST_GIT_INIT_SUBMODULES CTEST_GIT_UPDATE_CUSTOM CTEST_GIT_UPDATE_OPTIONS CTEST_HG_COMMAND CTEST_HG_UPDATE_OPTIONS CTEST_LABELS_FOR_SUBPROJECTS CTEST_MEMORYCHECK_COMMAND CTEST_MEMORYCHECK_COMMAND_OPTIONS CTEST_MEMORYCHECK_SANITIZER_OPTIONS CTEST_MEMORYCHECK_SUPPRESSIONS_FILE CTEST_MEMORYCHECK_TYPE CTEST_NIGHTLY_START_TIME CTEST_P4_CLIENT CTEST_P4_COMMAND CTEST_P4_OPTIONS CTEST_P4_UPDATE_OPTIONS CTEST_SCP_COMMAND CTEST_SITE CTEST_SOURCE_DIRECTORY CTEST_SVN_COMMAND CTEST_SVN_OPTIONS CTEST_SVN_UPDATE_OPTIONS CTEST_TEST_LOAD CTEST_TEST_TIMEOUT CTEST_TRIGGER_SITE CTEST_UPDATE_COMMAND CTEST_UPDATE_OPTIONS CTEST_UPDATE_VERSION_ONLY CTEST_USE_LAUNCHERS CYGWIN ENV EXECUTABLE_OUTPUT_PATH GHS-MULTI LIBRARY_OUTPUT_PATH MINGW MSVC MSVC10 MSVC11 MSVC12 MSVC14 MSVC60 MSVC70 MSVC71 MSVC80 MSVC90 MSVC_IDE MSVC_VERSION PROJECT_BINARY_DIR PROJECT_DESCRIPTION PROJECT_NAME PROJECT_SOURCE_DIR PROJECT_VERSION PROJECT_VERSION_MAJOR PROJECT_VERSION_MINOR PROJECT_VERSION_PATCH PROJECT_VERSION_TWEAK UNIX WIN32 WINCE WINDOWS_PHONE WINDOWS_STORE XCODE XCODE_VERSION + +syn keyword cmakeModule contained + \ ExternalProject + +syn keyword cmakeKWExternalProject contained + \ ALGO AWS BINARY_DIR BUILD_ALWAYS BUILD_BYPRODUCTS BUILD_COMMAND BUILD_IN_SOURCE CMAKE_ARGS CMAKE_CACHE_ARGS CMAKE_CACHE_DEFAULT_ARGS CMAKE_TLS_CAINFO CMAKE_TLS_VERIFY COMMENT CONFIGURE_COMMAND CVS CVSROOT CVS_MODULE CVS_REPOSITORY CVS_TAG DEPENDEES DEPENDERS DEPENDS DOWNLOADED_FILE DOWNLOAD_COMMAND DOWNLOAD_DIR DOWNLOAD_NAME DOWNLOAD_NO_EXTRACT DOWNLOAD_NO_PROGRESS EP_BASE EP_INDEPENDENT_STEP_TARGETS EP_PREFIX EP_STEP_TARGETS EP_UPDATE_DISCONNECTED EXCLUDE_FROM_ALL FORCE GIT_CONFIG GIT_PROGRESS GIT_REMOTE_NAME GIT_REPOSITORY GIT_SHALLOW GIT_SUBMODULES GIT_TAG HG_REPOSITORY HG_TAG HTTP_HEADER HTTP_PASSWORD HTTP_USERNAME INDEPENDENT_STEP_TARGETS INSTALL_COMMAND INSTALL_DIR JOB_POOLS LIST_SEPARATOR LOG_ LOG_BUILD LOG_CONFIGURE LOG_DOWNLOAD LOG_INSTALL LOG_TEST LOG_UPDATE MAKE_EXE NAMES NOTE NO_DEPENDS PATCH_COMMAND PREFIX PROPERTY SOURCE_DIR SOURCE_SUBDIR STAMP_DIR STEP_TARGETS STRING SVN_PASSWORD SVN_REPOSITORY SVN_REVISION SVN_TRUST_CERT SVN_USERNAME TEST_AFTER_INSTALL TEST_BEFORE_INSTALL TEST_COMMAND TEST_EXCLUDE_FROM_MAIN TIMEOUT TLS_CAINFO TLS_VERIFY TMP_DIR TRUE UPDATE_COMMAND UPDATE_DISCONNECTED URL URL_HASH USES_TERMINAL_BUILD USES_TERMINAL_CONFIGURE USES_TERMINAL_DOWNLOAD USES_TERMINAL_INSTALL USES_TERMINAL_TEST USES_TERMINAL_UPDATE WORKING_DIRECTORY + +syn keyword cmakeKWadd_compile_options contained + \ COMPILE_OPTIONS + +syn keyword cmakeKWadd_custom_command contained + \ APPEND ARGS BYPRODUCTS CC COMMAND COMMAND_EXPAND_LISTS COMMENT CROSSCOMPILING_EMULATOR DEPENDS DEPFILE GENERATED IMPLICIT_DEPENDS INCLUDE_DIRECTORIES JOIN MAIN_DEPENDENCY NOT OUTPUT POST_BUILD PRE_BUILD PRE_LINK SYMBOLIC TARGET_FILE TARGET_PROPERTY USES_TERMINAL VERBATIM WORKING_DIRECTORY + +syn keyword cmakeKWadd_custom_target contained + \ ALL BYPRODUCTS CC COMMAND COMMAND_EXPAND_LISTS COMMENT CROSSCOMPILING_EMULATOR DEPENDS GENERATED INCLUDE_DIRECTORIES JOIN SOURCES TARGET_PROPERTY USES_TERMINAL VERBATIM WORKING_DIRECTORY + +syn keyword cmakeKWadd_definitions contained + \ COMPILE_DEFINITIONS + +syn keyword cmakeKWadd_dependencies contained + \ DEPENDS OBJECT_DEPENDS + +syn keyword cmakeKWadd_executable contained + \ ALIAS CONFIG EXCLUDE_FROM_ALL GLOBAL HEADER_FILE_ONLY IMPORTED IMPORTED_ IMPORTED_LOCATION IMPORTED_LOCATION_ MACOSX_BUNDLE OUTPUT_NAME RUNTIME_OUTPUT_DIRECTORY TARGET + +syn keyword cmakeKWadd_library contained + \ ALIAS ARCHIVE_OUTPUT_DIRECTORY CLI CONFIG DLL EXCLUDE_FROM_ALL FRAMEWORK GLOBAL HEADER_FILE_ONLY IMPORTED IMPORTED_ IMPORTED_LOCATION IMPORTED_LOCATION_ INTERFACE_ LIBRARY_OUTPUT_DIRECTORY MODULE OBJECT ON OUTPUT_NAME POSITION_INDEPENDENT_CODE POST_BUILD PRE_BUILD PRE_LINK RUNTIME_OUTPUT_DIRECTORY SHARED STATIC TARGET_OBJECTS UNKNOWN + +syn keyword cmakeKWadd_subdirectory contained + \ EXCLUDE_FROM_ALL + +syn keyword cmakeKWadd_test contained + \ BUILD_TESTING COMMAND CONFIGURATIONS FAIL_REGULAR_EXPRESSION NAME PASS_REGULAR_EXPRESSION TARGET_FILE WILL_FAIL WORKING_DIRECTORY + +syn keyword cmakeKWbuild_command contained + \ CONFIGURATION TARGET + +syn keyword cmakeKWbuild_name contained + \ CMAKE_CXX_COMPILER + +syn keyword cmakeKWcmake_host_system_information contained + \ AVAILABLE_PHYSICAL_MEMORY AVAILABLE_VIRTUAL_MEMORY FQDN HAS_FPU HAS_MMX HAS_MMX_PLUS HAS_SERIAL_NUMBER HAS_SSE HAS_SSE_FP HAS_SSE_MMX HOSTNAME ID NUMBER_OF_LOGICAL_CORES NUMBER_OF_PHYSICAL_CORES OS_NAME OS_PLATFORM OS_RELEASE OS_VERSION PROCESSOR_DESCRIPTION PROCESSOR_NAME PROCESSOR_SERIAL_NUMBER QUERY RESULT TOTAL_PHYSICAL_MEMORY TOTAL_VIRTUAL_MEMORY + +syn keyword cmakeKWcmake_minimum_required contained + \ FATAL_ERROR VERSION + +syn keyword cmakeKWcmake_parse_arguments contained + \ ARGN CONFIGURATIONS DESTINATION FALSE FAST FILES MY_INSTALL MY_INSTALL_CONFIGURATIONS MY_INSTALL_DESTINATION MY_INSTALL_FAST MY_INSTALL_OPTIONAL MY_INSTALL_RENAME MY_INSTALL_TARGETS MY_INSTALL_UNPARSED_ARGUMENTS OPTIONAL PARSE_ARGV RENAME TARGETS TRUE _UNPARSED_ARGUMENTS + +syn keyword cmakeKWcmake_policy contained + \ CMAKE_POLICY_DEFAULT_CMP CMP GET NNNN NO_POLICY_SCOPE OLD POP PUSH SET VERSION + +syn keyword cmakeKWconfigure_file contained + \ COPYONLY CRLF DOS ESCAPE_QUOTES FOO_ENABLE FOO_STRING LF NEWLINE_STYLE VAR + +syn keyword cmakeKWcreate_test_sourcelist contained + \ CMAKE_TESTDRIVER_AFTER_TESTMAIN CMAKE_TESTDRIVER_BEFORE_TESTMAIN EXTRA_INCLUDE FUNCTION + +syn keyword cmakeKWctest_build contained + \ ALL_BUILD APPEND BUILD CAPTURE_CMAKE_ERROR CONFIGURATION CTEST_BUILD_CONFIGURATION CTEST_BUILD_FLAGS CTEST_BUILD_TARGET CTEST_PROJECT_NAME FLAGS NUMBER_ERRORS NUMBER_WARNINGS QUIET RETURN_VALUE TARGET + +syn keyword cmakeKWctest_configure contained + \ APPEND BUILD CAPTURE_CMAKE_ERROR OPTIONS QUIET RETURN_VALUE SOURCE + +syn keyword cmakeKWctest_coverage contained + \ APPEND BUILD CAPTURE_CMAKE_ERROR LABELS QUIET RETURN_VALUE + +syn keyword cmakeKWctest_memcheck contained + \ APPEND BUILD DEFECT_COUNT EXCLUDE EXCLUDE_FIXTURE EXCLUDE_FIXTURE_CLEANUP EXCLUDE_FIXTURE_SETUP EXCLUDE_LABEL INCLUDE INCLUDE_LABEL OFF ON PARALLEL_LEVEL QUIET RETURN_VALUE SCHEDULE_RANDOM START STOP_TIME STRIDE TEST_LOAD + +syn keyword cmakeKWctest_run_script contained + \ NEW_PROCESS RETURN_VALUE + +syn keyword cmakeKWctest_start contained + \ APPEND QUIET TAG TRACK + +syn keyword cmakeKWctest_submit contained + \ API CDASH_UPLOAD CDASH_UPLOAD_TYPE CTEST_EXTRA_SUBMIT_FILES CTEST_NOTES_FILES FILES HTTPHEADER PARTS QUIET RETRY_COUNT RETRY_DELAY RETURN_VALUE + +syn keyword cmakeKWctest_test contained + \ APPEND BUILD CAPTURE_CMAKE_ERROR CPU EXCLUDE EXCLUDE_FIXTURE EXCLUDE_FIXTURE_CLEANUP EXCLUDE_FIXTURE_SETUP EXCLUDE_LABEL INCLUDE INCLUDE_LABEL OFF ON PARALLEL_LEVEL QUIET RETURN_VALUE SCHEDULE_RANDOM START STOP_TIME STRIDE TEST_LOAD + +syn keyword cmakeKWctest_update contained + \ QUIET RETURN_VALUE SOURCE + +syn keyword cmakeKWctest_upload contained + \ CAPTURE_CMAKE_ERROR FILES QUIET + +syn keyword cmakeKWdefine_property contained + \ BRIEF_DOCS CACHED_VARIABLE DIRECTORY FULL_DOCS GLOBAL INHERITED PROPERTY SOURCE TARGET TEST VARIABLE + +syn keyword cmakeKWenable_language contained + \ OPTIONAL + +syn keyword cmakeKWexec_program contained + \ ARGS OUTPUT_VARIABLE RETURN_VALUE + +syn keyword cmakeKWexecute_process contained + \ ANSI AUTO COMMAND ENCODING ERROR_FILE ERROR_QUIET ERROR_STRIP_TRAILING_WHITESPACE ERROR_VARIABLE INPUT_FILE NONE OEM OUTPUT_FILE OUTPUT_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE OUTPUT_VARIABLE RESULTS_VARIABLE RESULT_VARIABLE TIMEOUT UTF VERBATIM WORKING_DIRECTORY + +syn keyword cmakeKWexport contained + \ ANDROID_MK APPEND CONFIG EXPORT EXPORT_LINK_INTERFACE_LIBRARIES FILE IMPORTED IMPORTED_ NAMESPACE NDK OLD PACKAGE TARGETS + +syn keyword cmakeKWexport_library_dependencies contained + \ APPEND EXPORT INCLUDE LINK_INTERFACE_LIBRARIES SET + +syn keyword cmakeKWfile contained + \ ALGO APPEND ASCII CMAKE_TLS_CAINFO CMAKE_TLS_VERIFY CONDITION CONFIG CONTENT COPY CR DESTINATION DIRECTORY_PERMISSIONS DOWNLOAD ENCODING EXCLUDE EXPECTED_HASH FILES_MATCHING FILE_PERMISSIONS FOLLOW_SYMLINKS FUNCTION GENERATE GLOB GLOB_RECURSE GUARD HASH HEX HTTPHEADER INACTIVITY_TIMEOUT INSTALL LENGTH_MAXIMUM LENGTH_MINIMUM LF LIMIT LIMIT_COUNT LIMIT_INPUT LIMIT_OUTPUT LIST_DIRECTORIES LOCK LOG MAKE_DIRECTORY NEWLINE_CONSUME NO_HEX_CONVERSION NO_SOURCE_PERMISSIONS OFFSET OLD PATTERN PROCESS READ REGEX RELATIVE RELATIVE_PATH RELEASE REMOVE REMOVE_RECURSE RENAME RESULT_VARIABLE SHOW_PROGRESS SSL STATUS STRINGS TIMESTAMP TLS_CAINFO TLS_VERIFY TO_CMAKE_PATH TO_NATIVE_PATH UPLOAD USERPWD USE_SOURCE_PERMISSIONS UTC UTF WRITE + +syn keyword cmakeKWfind_file contained + \ CMAKE_FIND_ROOT_PATH_BOTH DOC DVAR HINTS INCLUDE NAMES NO_CMAKE_ENVIRONMENT_PATH NO_CMAKE_FIND_ROOT_PATH NO_CMAKE_PATH NO_CMAKE_SYSTEM_PATH NO_DEFAULT_PATH NO_SYSTEM_ENVIRONMENT_PATH ONLY_CMAKE_FIND_ROOT_PATH OS PATHS PATH_SUFFIXES VAR + +syn keyword cmakeKWfind_library contained + \ CMAKE_FIND_ROOT_PATH_BOTH DOC DVAR HINTS LIB NAMES NAMES_PER_DIR NO_CMAKE_ENVIRONMENT_PATH NO_CMAKE_FIND_ROOT_PATH NO_CMAKE_PATH NO_CMAKE_SYSTEM_PATH NO_DEFAULT_PATH NO_SYSTEM_ENVIRONMENT_PATH ONLY_CMAKE_FIND_ROOT_PATH OS PATHS PATH_SUFFIXES VAR + +syn keyword cmakeKWfind_package contained + \ CMAKE_DISABLE_FIND_PACKAGE_ CMAKE_FIND_ROOT_PATH_BOTH COMPONENTS CONFIG CONFIGS DEC DVAR EXACT HINTS MODULE NAMES NATURAL NO_CMAKE_BUILDS_PATH NO_CMAKE_ENVIRONMENT_PATH NO_CMAKE_FIND_ROOT_PATH NO_CMAKE_PACKAGE_REGISTRY NO_CMAKE_PATH NO_CMAKE_SYSTEM_PACKAGE_REGISTRY NO_CMAKE_SYSTEM_PATH NO_DEFAULT_PATH NO_MODULE NO_POLICY_SCOPE NO_SYSTEM_ENVIRONMENT_PATH ONLY_CMAKE_FIND_ROOT_PATH OPTIONAL_COMPONENTS OS PACKAGE_FIND_NAME PACKAGE_FIND_VERSION PACKAGE_FIND_VERSION_COUNT PACKAGE_FIND_VERSION_MAJOR PACKAGE_FIND_VERSION_MINOR PACKAGE_FIND_VERSION_PATCH PACKAGE_FIND_VERSION_TWEAK PACKAGE_VERSION PACKAGE_VERSION_COMPATIBLE PACKAGE_VERSION_EXACT PACKAGE_VERSION_UNSUITABLE PATHS PATH_SUFFIXES QUIET REQUIRED SET TRUE _CONFIG _CONSIDERED_CONFIGS _CONSIDERED_VERSIONS _DIR _FIND_COMPONENTS _FIND_QUIETLY _FIND_REQUIRED _FIND_REQUIRED_ _FIND_VERSION_EXACT _FOUND + +syn keyword cmakeKWfind_path contained + \ CMAKE_FIND_ROOT_PATH_BOTH DOC DVAR HINTS INCLUDE NAMES NO_CMAKE_ENVIRONMENT_PATH NO_CMAKE_FIND_ROOT_PATH NO_CMAKE_PATH NO_CMAKE_SYSTEM_PATH NO_DEFAULT_PATH NO_SYSTEM_ENVIRONMENT_PATH ONLY_CMAKE_FIND_ROOT_PATH OS PATHS PATH_SUFFIXES VAR + +syn keyword cmakeKWfind_program contained + \ CMAKE_FIND_ROOT_PATH_BOTH DOC DVAR HINTS NAMES NAMES_PER_DIR NO_CMAKE_ENVIRONMENT_PATH NO_CMAKE_FIND_ROOT_PATH NO_CMAKE_PATH NO_CMAKE_SYSTEM_PATH NO_DEFAULT_PATH NO_SYSTEM_ENVIRONMENT_PATH ONLY_CMAKE_FIND_ROOT_PATH OS PATHS PATH_SUFFIXES VAR + +syn keyword cmakeKWfltk_wrap_ui contained + \ FLTK + +syn keyword cmakeKWforeach contained + \ ARGS IN ITEMS LISTS RANGE + +syn keyword cmakeKWfunction contained + \ ARGC ARGN ARGS ARGV PARENT_SCOPE + +syn keyword cmakeKWget_cmake_property contained + \ COMPONENTS GLOBAL MACROS VAR VARIABLES + +syn keyword cmakeKWget_directory_property contained + \ DEFINITION DIRECTORY + +syn keyword cmakeKWget_filename_component contained + \ ABSOLUTE ARG_VAR BASE_DIR CACHE COMP DIRECTORY EXT NAME NAME_WE PATH PROGRAM PROGRAM_ARGS REALPATH VAR + +syn keyword cmakeKWget_property contained + \ BRIEF_DOCS CACHE DEFINED DIRECTORY FULL_DOCS GLOBAL INSTALL PROPERTY SET SOURCE TARGET TEST VARIABLE + +syn keyword cmakeKWget_source_file_property contained + \ LOCATION VAR + +syn keyword cmakeKWget_target_property contained + \ VAR + +syn keyword cmakeKWget_test_property contained + \ VAR + +syn keyword cmakeKWif contained + \ ARGS CMAKE_MATCH_ CMP COMMAND DEFINED EQUAL EXISTS FALSE GREATER GREATER_EQUAL IGNORE IN_LIST IS_ABSOLUTE IS_DIRECTORY IS_NEWER_THAN IS_SYMLINK LESS LESS_EQUAL MATCHES NNNN NOT OFF OR POLICY STREQUAL STRGREATER STRGREATER_EQUAL STRLESS STRLESS_EQUAL TARGET TEST THEN TRUE VERSION_EQUAL VERSION_GREATER VERSION_GREATER_EQUAL VERSION_LESS VERSION_LESS_EQUAL YES + +syn keyword cmakeKWinclude contained + \ NO_POLICY_SCOPE OPTIONAL RESULT_VARIABLE -" The keywords are generated as: cmake --help-command-list | tr "\n" " " -syn keyword cmakeStatement - \ ADD_CUSTOM_COMMAND ADD_CUSTOM_TARGET ADD_DEFINITIONS ADD_DEPENDENCIES ADD_EXECUTABLE ADD_LIBRARY ADD_SUBDIRECTORY ADD_TEST AUX_SOURCE_DIRECTORY BUILD_COMMAND BUILD_NAME CMAKE_MINIMUM_REQUIRED CONFIGURE_FILE CREATE_TEST_SOURCELIST ELSE ELSEIF ENABLE_LANGUAGE ENABLE_TESTING ENDFOREACH ENDFUNCTION ENDIF ENDMACRO ENDWHILE EXEC_PROGRAM EXECUTE_PROCESS EXPORT_LIBRARY_DEPENDENCIES FILE FIND_FILE FIND_LIBRARY FIND_PACKAGE FIND_PATH FIND_PROGRAM FLTK_WRAP_UI FOREACH FUNCTION GET_CMAKE_PROPERTY GET_DIRECTORY_PROPERTY GET_FILENAME_COMPONENT GET_SOURCE_FILE_PROPERTY GET_TARGET_PROPERTY GET_TEST_PROPERTY IF INCLUDE INCLUDE_DIRECTORIES INCLUDE_EXTERNAL_MSPROJECT INCLUDE_REGULAR_EXPRESSION INSTALL INSTALL_FILES INSTALL_PROGRAMS INSTALL_TARGETS LINK_DIRECTORIES LINK_LIBRARIES LIST LOAD_CACHE LOAD_COMMAND MACRO MAKE_DIRECTORY MARK_AS_ADVANCED MATH MESSAGE OPTION OUTPUT_REQUIRED_FILES PROJECT QT_WRAP_CPP QT_WRAP_UI REMOVE REMOVE_DEFINITIONS SEPARATE_ARGUMENTS SET SET_DIRECTORY_PROPERTIES SET_SOURCE_FILES_PROPERTIES SET_TARGET_PROPERTIES SET_TESTS_PROPERTIES SITE_NAME SOURCE_GROUP STRING SUBDIR_DEPENDS SUBDIRS TARGET_LINK_LIBRARIES TRY_COMPILE TRY_RUN UNSET USE_MANGLED_MESA UTILITY_SOURCE VARIABLE_REQUIRES VTK_MAKE_INSTANTIATOR VTK_WRAP_JAVA VTK_WRAP_PYTHON VTK_WRAP_TCL WHILE WRITE_FILE +syn keyword cmakeKWinclude_directories contained + \ AFTER BEFORE INCLUDE_DIRECTORIES ON SYSTEM + +syn keyword cmakeKWinclude_external_msproject contained + \ GUID MAP_IMPORTED_CONFIG_ PLATFORM TYPE WIX + +syn keyword cmakeKWinclude_guard contained + \ DIRECTORY GLOBAL TRUE __CURRENT_FILE_VAR__ + +syn keyword cmakeKWinstall contained + \ ARCHIVE BUNDLE CODE COMPONENT CONFIGURATIONS CVS DESTDIR DESTINATION DIRECTORY DIRECTORY_PERMISSIONS DLL EXCLUDE_FROM_ALL EXPORT EXPORT_ANDROID_MK EXPORT_LINK_INTERFACE_LIBRARIES FILES FILES_MATCHING FILE_PERMISSIONS FRAMEWORK GROUP_EXECUTE GROUP_READ GROUP_WRITE IMPORTED_ INCLUDES INSTALL_PREFIX INTERFACE_INCLUDE_DIRECTORIES LIBRARY MACOSX_BUNDLE MESSAGE_NEVER NAMELINK_ONLY NAMELINK_SKIP NAMESPACE NDK OBJECTS OPTIONAL OWNER_EXECUTE OWNER_READ OWNER_WRITE PATTERN PERMISSIONS POST_INSTALL_SCRIPT PRE_INSTALL_SCRIPT PRIVATE_HEADER PROGRAMS PUBLIC_HEADER REGEX RENAME RESOURCE RUNTIME SCRIPT SETGID SETUID SOVERSION TARGETS TRUE USE_SOURCE_PERMISSIONS VERSION WORLD_EXECUTE WORLD_READ WORLD_WRITE + +syn keyword cmakeKWinstall_files contained + \ FILES GLOB + +syn keyword cmakeKWinstall_programs contained + \ FILES GLOB PROGRAMS TARGETS + +syn keyword cmakeKWinstall_targets contained + \ DLL RUNTIME_DIRECTORY TARGETS + +syn keyword cmakeKWlist contained + \ APPEND CACHE EXCLUDE FILTER FIND GET INCLUDE INSERT INTERNAL LENGTH LIST NOTES PARENT_SCOPE REGEX REMOVE_AT REMOVE_DUPLICATES REMOVE_ITEM REVERSE SORT + +syn keyword cmakeKWload_cache contained + \ EXCLUDE INCLUDE_INTERNALS READ_WITH_PREFIX + +syn keyword cmakeKWload_command contained + \ CMAKE_LOADED_COMMAND_ COMMAND_NAME + +syn keyword cmakeKWmacro contained + \ ARGC ARGN ARGS ARGV DEFINED GREATER LISTS NOT _BAR _FOO + +syn keyword cmakeKWmake_directory contained + \ MAKE_DIRECTORY + +syn keyword cmakeKWmark_as_advanced contained + \ CLEAR FORCE VAR + +syn keyword cmakeKWmath contained + \ EXPR + +syn keyword cmakeKWmessage contained + \ AUTHOR_WARNING DEPRECATION FATAL_ERROR GUI SEND_ERROR STATUS WARNING + +syn keyword cmakeKWoption contained + \ OFF ON + +syn keyword cmakeKWproject contained + \ CMAKE_PROJECT_ DESCRIPTION LANGUAGES NAME NONE PROJECT VERSION _BINARY_DIR _INCLUDE _SOURCE_DIR _VERSION _VERSION_MAJOR _VERSION_MINOR _VERSION_PATCH _VERSION_TWEAK + +syn keyword cmakeKWremove contained + \ REMOVE_ITEM VALUE VAR + +syn keyword cmakeKWseparate_arguments contained + \ MSDN NATIVE NATIVE_COMMAND UNIX_COMMAND WINDOWS WINDOWS_COMMAND _COMMAND + +syn keyword cmakeKWset contained + \ BOOL CACHE FILEPATH FORCE INTERNAL OFF ON PARENT_SCOPE STRING STRINGS + +syn keyword cmakeKWset_directory_properties contained + \ PROPERTIES + +syn keyword cmakeKWset_property contained + \ APPEND APPEND_STRING CACHE DIRECTORY GLOBAL INSTALL PROPERTY SOURCE TARGET TEST WIX + +syn keyword cmakeKWset_source_files_properties contained + \ PROPERTIES + +syn keyword cmakeKWset_target_properties contained + \ PROPERTIES + +syn keyword cmakeKWset_tests_properties contained + \ PROPERTIES + +syn keyword cmakeKWsource_group contained + \ FILES PREFIX REGULAR_EXPRESSION TREE + +syn keyword cmakeKWstring contained + \ ALPHABET APPEND ASCII CMAKE_MATCH_ COMPARE CONCAT CONFIGURE EQUAL ESCAPE_QUOTES FIND GENEX_STRIP GREATER GREATER_EQUAL GUID HASH LENGTH LESS LESS_EQUAL MAKE_C_IDENTIFIER MATCH MATCHALL MATCHES NAMESPACE NOTEQUAL ONLY PREPEND RANDOM RANDOM_SEED REGEX REPLACE REVERSE RFC SHA SOURCE_DATE_EPOCH STRIP SUBSTRING SZ TIMESTAMP TOLOWER TOUPPER TYPE US UTC UUID + +syn keyword cmakeKWsubdirs contained + \ EXCLUDE_FROM_ALL PREORDER + +syn keyword cmakeKWtarget_compile_definitions contained + \ COMPILE_DEFINITIONS INTERFACE INTERFACE_COMPILE_DEFINITIONS PRIVATE PUBLIC + +syn keyword cmakeKWtarget_compile_features contained + \ COMPILE_FEATURES IMPORTED INTERFACE INTERFACE_COMPILE_FEATURES PRIVATE PUBLIC + +syn keyword cmakeKWtarget_compile_options contained + \ BEFORE COMPILE_OPTIONS IMPORTED INTERFACE INTERFACE_COMPILE_OPTIONS PRIVATE PUBLIC + +syn keyword cmakeKWtarget_include_directories contained + \ BEFORE BUILD_INTERFACE IMPORTED INCLUDE_DIRECTORIES INSTALL_INTERFACE INTERFACE INTERFACE_INCLUDE_DIRECTORIES INTERFACE_LINK_LIBRARIES INTERFACE_SYSTEM_INCLUDE_DIRECTORIES PRIVATE PUBLIC SYSTEM + +syn keyword cmakeKWtarget_link_libraries contained + \ ALIAS DAG DEBUG_CONFIGURATIONS IMPORTED IMPORTED_NO_SONAME INTERFACE INTERFACE_LINK_LIBRARIES LINK_FLAGS LINK_INTERFACE_LIBRARIES LINK_INTERFACE_LIBRARIES_DEBUG LINK_INTERFACE_MULTIPLICITY LINK_PRIVATE LINK_PUBLIC OLD OSX PRIVATE PUBLIC STATIC + +syn keyword cmakeKWtarget_sources contained + \ IMPORTED INTERFACE INTERFACE_SOURCES PRIVATE PUBLIC SOURCES + +syn keyword cmakeKWtry_compile contained + \ ALL_BUILD CMAKE_FLAGS COMPILE_DEFINITIONS COPY_FILE COPY_FILE_ERROR CUDA_EXTENSIONS CUDA_STANDARD CUDA_STANDARD_REQUIRED CXX_EXTENSIONS CXX_STANDARD CXX_STANDARD_REQUIRED C_EXTENSIONS C_STANDARD C_STANDARD_REQUIRED DEFINED DLINK_LIBRARIES DVAR FALSE INCLUDE_DIRECTORIES LANG LINK_DIRECTORIES LINK_LIBRARIES NOT OUTPUT_VARIABLE RESULT_VAR SOURCES TRUE TYPE VALUE _EXTENSIONS _STANDARD _STANDARD_REQUIRED + +syn keyword cmakeKWtry_run contained + \ ARGS CMAKE_FLAGS COMPILE_DEFINITIONS COMPILE_OUTPUT_VARIABLE COMPILE_RESULT_VAR DLINK_LIBRARIES DVAR FAILED_TO_RUN FALSE INCLUDE_DIRECTORIES LINK_DIRECTORIES LINK_LIBRARIES RUN_OUTPUT_VARIABLE RUN_RESULT_VAR TRUE TYPE VALUE __TRYRUN_OUTPUT + +syn keyword cmakeKWunset contained + \ CACHE LD_LIBRARY_PATH PARENT_SCOPE + +syn keyword cmakeKWuse_mangled_mesa contained + \ GL OUTPUT_DIRECTORY PATH_TO_MESA + +syn keyword cmakeKWvariable_requires contained + \ RESULT_VARIABLE TEST_VARIABLE + +syn keyword cmakeKWvariable_watch contained + \ COMMAND + +syn keyword cmakeKWwhile contained + \ ARGS + +syn keyword cmakeKWwrite_file contained + \ APPEND CONFIGURE_FILE NOTE WRITE + + +syn keyword cmakeGeneratorExpressions contained + \ LINK_LIBRARIES INCLUDE_DIRECTORIES COMPILE_DEFINITIONS CONFIG DEBUG_MODE BOOL AND NOT IF STREQUAL MAP_IMPORTED_CONFIG_ PLATFORM_ID C_COMPILER_ID CXX_COMPILER_ID VERSION_LESS VERSION_GREATER VERSION_EQUAL VERSION_LESS_EQUAL VERSION_GREATER_EQUAL C_COMPILER_VERSION CXX_COMPILER_VERSION TARGET_POLICY COMPILE_FEATURES C_STANDARD CXX_STANDARD COMPILE_LANGUAGE PRIVATE PUBLIC COMPILING_CXX GNU OLD_COMPILER CMAKE_CXX_COMPILER_VERSION CONFIGURATION TARGET_FILE TARGET_FILE_NAME TARGET_FILE_DIR TARGET_LINKER_FILE TARGET_LINKER_FILE_NAME TARGET_LINKER_FILE_DIR TARGET_SONAME_FILE TARGET_SONAME_FILE_NAME TARGET_SONAME_FILE_DIR TARGET_PDB_FILE PDB_NAME PDB_OUTPUT_DIRECTORY PDB_NAME_ PDB_OUTPUT_DIRECTORY_ TARGET_PDB_FILE_NAME TARGET_PDB_FILE_DIR TARGET_BUNDLE_DIR TARGET_BUNDLE_CONTENT_DIR SDK TARGET_PROPERTY INSTALL_PREFIX EXPORT JOIN ANGLE COMMA SEMICOLON TARGET_NAME LINK_ONLY INTERFACE_LINK_LIBRARIES INSTALL_INTERFACE BUILD_INTERFACE LOWER_CASE UPPER_CASE MAKE_C_IDENTIFIER TARGET_OBJECTS OBJECT_LIBRARY SHELL_PATH MSYS + +syn case ignore + +syn keyword cmakeCommand + \ add_compile_options add_custom_command add_custom_target add_definitions add_dependencies add_executable add_library add_subdirectory add_test aux_source_directory break build_command cmake_host_system_information cmake_minimum_required cmake_parse_arguments cmake_policy configure_file continue create_test_sourcelist ctest_build ctest_configure ctest_coverage ctest_empty_binary_directory ctest_memcheck ctest_read_custom_files ctest_run_script ctest_sleep ctest_start ctest_submit ctest_test ctest_update ctest_upload define_property enable_language enable_testing endfunction endmacro execute_process export file find_file find_library find_package find_path find_program fltk_wrap_ui function get_cmake_property get_directory_property get_filename_component get_property get_source_file_property get_target_property get_test_property include include_directories include_external_msproject include_guard include_regular_expression install link_directories list load_cache load_command macro mark_as_advanced math message option project qt_wrap_cpp qt_wrap_ui remove_definitions return separate_arguments set set_directory_properties set_property set_source_files_properties set_target_properties set_tests_properties site_name source_group string target_compile_definitions target_compile_features target_compile_options target_include_directories target_link_libraries target_sources try_compile try_run unset variable_watch + \ nextgroup=cmakeArguments + +syn keyword cmakeCommandConditional + \ else elseif endif if \ nextgroup=cmakeArguments + +syn keyword cmakeCommandRepeat + \ endforeach endwhile foreach while + \ nextgroup=cmakeArguments + +syn keyword cmakeCommandDeprecated + \ build_name exec_program export_library_dependencies install_files install_programs install_targets link_libraries make_directory output_required_files remove subdir_depends subdirs use_mangled_mesa utility_source variable_requires write_file + \ nextgroup=cmakeArguments + +syn case match + syn keyword cmakeTodo \ TODO FIXME XXX \ contained -" Define the default highlighting. -" Only when an item doesn't have highlighting yet - -hi def link cmakeStatement Statement +hi def link cmakeCommand Function +hi def link cmakeCommandConditional Conditional +hi def link cmakeCommandDeprecated WarningMsg +hi def link cmakeCommandRepeat Repeat hi def link cmakeComment Comment -hi def link cmakeString String -hi def link cmakeVariableValue Type -hi def link cmakeRegistry Underlined -hi def link cmakeArguments Identifier -hi def link cmakeArgument Constant hi def link cmakeEnvironment Special -hi def link cmakeOperators Operator -hi def link cmakeMacro PreProc -hi def link cmakeError Error -hi def link cmakeTodo TODO hi def link cmakeEscaped Special +hi def link cmakeGeneratorExpression WarningMsg +hi def link cmakeGeneratorExpressions Constant +hi def link cmakeLuaComment Comment +hi def link cmakeModule Include +hi def link cmakeProperty Constant +hi def link cmakeRegistry Underlined +hi def link cmakeString String +hi def link cmakeTodo TODO +hi def link cmakeVariableValue Type +hi def link cmakeVariable Identifier +hi def link cmakeKWExternalProject ModeMsg +hi def link cmakeKWadd_compile_options ModeMsg +hi def link cmakeKWadd_custom_command ModeMsg +hi def link cmakeKWadd_custom_target ModeMsg +hi def link cmakeKWadd_definitions ModeMsg +hi def link cmakeKWadd_dependencies ModeMsg +hi def link cmakeKWadd_executable ModeMsg +hi def link cmakeKWadd_library ModeMsg +hi def link cmakeKWadd_subdirectory ModeMsg +hi def link cmakeKWadd_test ModeMsg +hi def link cmakeKWbuild_command ModeMsg +hi def link cmakeKWbuild_name ModeMsg +hi def link cmakeKWcmake_host_system_information ModeMsg +hi def link cmakeKWcmake_minimum_required ModeMsg +hi def link cmakeKWcmake_parse_arguments ModeMsg +hi def link cmakeKWcmake_policy ModeMsg +hi def link cmakeKWconfigure_file ModeMsg +hi def link cmakeKWcreate_test_sourcelist ModeMsg +hi def link cmakeKWctest_build ModeMsg +hi def link cmakeKWctest_configure ModeMsg +hi def link cmakeKWctest_coverage ModeMsg +hi def link cmakeKWctest_memcheck ModeMsg +hi def link cmakeKWctest_run_script ModeMsg +hi def link cmakeKWctest_start ModeMsg +hi def link cmakeKWctest_submit ModeMsg +hi def link cmakeKWctest_test ModeMsg +hi def link cmakeKWctest_update ModeMsg +hi def link cmakeKWctest_upload ModeMsg +hi def link cmakeKWdefine_property ModeMsg +hi def link cmakeKWenable_language ModeMsg +hi def link cmakeKWexec_program ModeMsg +hi def link cmakeKWexecute_process ModeMsg +hi def link cmakeKWexport ModeMsg +hi def link cmakeKWexport_library_dependencies ModeMsg +hi def link cmakeKWfile ModeMsg +hi def link cmakeKWfind_file ModeMsg +hi def link cmakeKWfind_library ModeMsg +hi def link cmakeKWfind_package ModeMsg +hi def link cmakeKWfind_path ModeMsg +hi def link cmakeKWfind_program ModeMsg +hi def link cmakeKWfltk_wrap_ui ModeMsg +hi def link cmakeKWforeach ModeMsg +hi def link cmakeKWfunction ModeMsg +hi def link cmakeKWget_cmake_property ModeMsg +hi def link cmakeKWget_directory_property ModeMsg +hi def link cmakeKWget_filename_component ModeMsg +hi def link cmakeKWget_property ModeMsg +hi def link cmakeKWget_source_file_property ModeMsg +hi def link cmakeKWget_target_property ModeMsg +hi def link cmakeKWget_test_property ModeMsg +hi def link cmakeKWif ModeMsg +hi def link cmakeKWinclude ModeMsg +hi def link cmakeKWinclude_directories ModeMsg +hi def link cmakeKWinclude_external_msproject ModeMsg +hi def link cmakeKWinclude_guard ModeMsg +hi def link cmakeKWinstall ModeMsg +hi def link cmakeKWinstall_files ModeMsg +hi def link cmakeKWinstall_programs ModeMsg +hi def link cmakeKWinstall_targets ModeMsg +hi def link cmakeKWlist ModeMsg +hi def link cmakeKWload_cache ModeMsg +hi def link cmakeKWload_command ModeMsg +hi def link cmakeKWmacro ModeMsg +hi def link cmakeKWmake_directory ModeMsg +hi def link cmakeKWmark_as_advanced ModeMsg +hi def link cmakeKWmath ModeMsg +hi def link cmakeKWmessage ModeMsg +hi def link cmakeKWoption ModeMsg +hi def link cmakeKWproject ModeMsg +hi def link cmakeKWremove ModeMsg +hi def link cmakeKWseparate_arguments ModeMsg +hi def link cmakeKWset ModeMsg +hi def link cmakeKWset_directory_properties ModeMsg +hi def link cmakeKWset_property ModeMsg +hi def link cmakeKWset_source_files_properties ModeMsg +hi def link cmakeKWset_target_properties ModeMsg +hi def link cmakeKWset_tests_properties ModeMsg +hi def link cmakeKWsource_group ModeMsg +hi def link cmakeKWstring ModeMsg +hi def link cmakeKWsubdirs ModeMsg +hi def link cmakeKWtarget_compile_definitions ModeMsg +hi def link cmakeKWtarget_compile_features ModeMsg +hi def link cmakeKWtarget_compile_options ModeMsg +hi def link cmakeKWtarget_include_directories ModeMsg +hi def link cmakeKWtarget_link_libraries ModeMsg +hi def link cmakeKWtarget_sources ModeMsg +hi def link cmakeKWtry_compile ModeMsg +hi def link cmakeKWtry_run ModeMsg +hi def link cmakeKWunset ModeMsg +hi def link cmakeKWuse_mangled_mesa ModeMsg +hi def link cmakeKWvariable_requires ModeMsg +hi def link cmakeKWvariable_watch ModeMsg +hi def link cmakeKWwhile ModeMsg +hi def link cmakeKWwrite_file ModeMsg let b:current_syntax = "cmake" let &cpo = s:keepcpo unlet s:keepcpo -"EOF" +" vim: set nowrap: diff --git a/runtime/syntax/cpp.vim b/runtime/syntax/cpp.vim index 5a478fb77d..9cb0860e84 100644 --- a/runtime/syntax/cpp.vim +++ b/runtime/syntax/cpp.vim @@ -2,7 +2,7 @@ " Language: C++ " Current Maintainer: vim-jp (https://github.com/vim-jp/vim-cpp) " Previous Maintainer: Ken Shan <ccshan@post.harvard.edu> -" Last Change: 2016 Oct 28 +" Last Change: 2017 Jun 05 " quit when a syntax file was already loaded if exists("b:current_syntax") @@ -48,7 +48,7 @@ endif if !exists("cpp_no_cpp14") syn case ignore syn match cppNumber display "\<0b[01]\('\=[01]\+\)*\(u\=l\{0,2}\|ll\=u\)\>" - syn match cppNumber display "\<[1-9]\('\=\d\+\)*\(u\=l\{0,2}\|ll\=u\)\>" + syn match cppNumber display "\<[1-9]\('\=\d\+\)*\(u\=l\{0,2}\|ll\=u\)\>" contains=cFloat syn match cppNumber display "\<0x\x\('\=\x\+\)*\(u\=l\{0,2}\|ll\=u\)\>" syn case match endif diff --git a/runtime/syntax/debchangelog.vim b/runtime/syntax/debchangelog.vim index eb02aaf4af..6e6ed1951a 100644 --- a/runtime/syntax/debchangelog.vim +++ b/runtime/syntax/debchangelog.vim @@ -3,7 +3,7 @@ " Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org> " Former Maintainers: Gerfried Fuchs <alfie@ist.org> " Wichert Akkerman <wakkerma@debian.org> -" Last Change: 2016 Nov 12 +" Last Change: 2017 Apr 23 " URL: https://anonscm.debian.org/cgit/pkg-vim/vim.git/plain/runtime/syntax/debchangelog.vim " Standard syntax initialization @@ -14,14 +14,14 @@ endif " Case doesn't matter for us syn case ignore -let urgency='urgency=\(low\|medium\|high\|critical\)\( [^[:space:],][^,]*\)\=' -let binNMU='binary-only=yes' +let s:urgency='urgency=\(low\|medium\|high\|critical\)\( [^[:space:],][^,]*\)\=' +let s:binNMU='binary-only=yes' " Define some common expressions we can use later on syn match debchangelogName contained "^[[:alnum:]][[:alnum:].+-]\+ " -exe 'syn match debchangelogFirstKV contained "; \('.urgency.'\|'.binNMU.'\)"' -exe 'syn match debchangelogOtherKV contained ", \('.urgency.'\|'.binNMU.'\)"' -syn match debchangelogTarget contained "\v %(frozen|unstable|sid|%(testing|%(old)=stable)%(-proposed-updates|-security)=|experimental|squeeze-%(backports%(-sloppy)=|volatile|lts|security)|wheezy-%(backports%(-sloppy)=|security)|jessie%(-backports|-security)=|stretch|%(devel|precise|trusty|vivid|wily|xenial|yakkety|zesty)%(-%(security|proposed|updates|backports|commercial|partner))=)+" +exe 'syn match debchangelogFirstKV contained "; \('.s:urgency.'\|'.s:binNMU.'\)"' +exe 'syn match debchangelogOtherKV contained ", \('.s:urgency.'\|'.s:binNMU.'\)"' +syn match debchangelogTarget contained "\v %(frozen|unstable|sid|%(testing|%(old)=stable)%(-proposed-updates|-security)=|experimental|squeeze-%(backports%(-sloppy)=|volatile|lts|security)|%(wheezy|jessie)%(-backports%(-sloppy)=|-security)=|stretch%(-backports|-security)=|%(devel|precise|trusty|vivid|wily|xenial|yakkety|zesty|artful)%(-%(security|proposed|updates|backports|commercial|partner))=)+" syn match debchangelogVersion contained "(.\{-})" syn match debchangelogCloses contained "closes:\_s*\(bug\)\=#\=\_s\=\d\+\(,\_s*\(bug\)\=#\=\_s\=\d\+\)*" syn match debchangelogLP contained "\clp:\s\+#\d\+\(,\s*#\d\+\)*" diff --git a/runtime/syntax/debcontrol.vim b/runtime/syntax/debcontrol.vim index b1bc9f8bfe..1131c9e12f 100644 --- a/runtime/syntax/debcontrol.vim +++ b/runtime/syntax/debcontrol.vim @@ -3,7 +3,7 @@ " Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org> " Former Maintainers: Gerfried Fuchs <alfie@ist.org> " Wichert Akkerman <wakkerma@debian.org> -" Last Change: 2016 Aug 30 +" Last Change: 2017 Aug 18 " URL: https://anonscm.debian.org/cgit/pkg-vim/vim.git/plain/runtime/syntax/debcontrol.vim " Standard syntax initialization @@ -21,8 +21,8 @@ syn case match syn match debcontrolElse "^.*$" " Common seperators -syn match debControlComma ", *" -syn match debControlSpace " " +syn match debControlComma ",[ \t]*" +syn match debControlSpace "[ \t]" let s:kernels = '\%(linux\|hurd\|kfreebsd\|knetbsd\|kopensolaris\|netbsd\)' let s:archs = '\%(alpha\|amd64\|armeb\|armel\|armhf\|arm64\|avr32\|hppa\|i386' @@ -38,7 +38,7 @@ unlet s:kernels s:archs s:pairs syn match debcontrolMultiArch contained "\%(no\|foreign\|allowed\|same\)" syn match debcontrolName contained "[a-z0-9][a-z0-9+.-]\+" syn match debcontrolPriority contained "\(extra\|important\|optional\|required\|standard\)" -syn match debcontrolSection contained "\v((contrib|non-free|non-US/main|non-US/contrib|non-US/non-free|restricted|universe|multiverse)/)?(admin|cli-mono|comm|database|debian-installer|debug|devel|doc|editors|education|electronics|embedded|fonts|games|gnome|gnustep|gnu-r|graphics|hamradio|haskell|httpd|interpreters|introspection|java|javascript|kde|kernel|libs|libdevel|lisp|localization|mail|math|metapackages|misc|net|news|ocaml|oldlibs|otherosfs|perl|php|python|ruby|rust|science|shells|sound|text|tex|utils|vcs|video|web|x11|xfce|zope)" +syn match debcontrolSection contained "\v((contrib|non-free|non-US/main|non-US/contrib|non-US/non-free|restricted|universe|multiverse)/)?(admin|cli-mono|comm|database|debian-installer|debug|devel|doc|editors|education|electronics|embedded|fonts|games|gnome|gnustep|gnu-r|graphics|hamradio|haskell|httpd|interpreters|introspection|java%(script)=|kde|kernel|libs|libdevel|lisp|localization|mail|math|metapackages|misc|net|news|ocaml|oldlibs|otherosfs|perl|php|python|ruby|rust|science|shells|sound|text|tex|utils|vcs|video|web|x11|xfce|zope)" syn match debcontrolPackageType contained "u\?deb" syn match debcontrolVariable contained "\${.\{-}}" syn match debcontrolDmUpload contained "\cyes" @@ -60,7 +60,7 @@ syn match debcontrolComment "^#.*$" contains=@Spell syn case ignore " List of all legal keys -syn match debcontrolKey contained "^\%(Source\|Package\|Section\|Priority\|\%(XSBC-Original-\)\=Maintainer\|Uploaders\|Build-\%(Conflicts\|Depends\)\%(-Indep\)\=\|Standards-Version\|\%(Pre-\)\=Depends\|Recommends\|Suggests\|Provides\|Replaces\|Conflicts\|Enhances\|Breaks\|Essential\|Architecture\|Multi-Arch\|Description\|Bugs\|Origin\|X[SB]-Python-Version\|Homepage\|\(XS-\)\=Vcs-\(Browser\|Arch\|Bzr\|Cvs\|Darcs\|Git\|Hg\|Mtn\|Svn\)\|\%(XC-\)\=Package-Type\): *" +syn match debcontrolKey contained "^\%(Source\|Package\|Section\|Priority\|\%(XSBC-Original-\)\=Maintainer\|Uploaders\|Build-\%(Conflicts\|Depends\)\%(-Arch\|-Indep\)\=\|Standards-Version\|\%(Pre-\)\=Depends\|Recommends\|Suggests\|Provides\|Replaces\|Conflicts\|Enhances\|Breaks\|Essential\|Architecture\|Multi-Arch\|Description\|Bugs\|Origin\|X[SB]-Python-Version\|Homepage\|\(XS-\)\=Vcs-\(Browser\|Arch\|Bzr\|Cvs\|Darcs\|Git\|Hg\|Mtn\|Svn\)\|\%(XC-\)\=Package-Type\|\%(XS-\)\=Testsuite\): *" syn match debcontrolDeprecatedKey contained "^\%(\%(XS-\)\=DM-Upload-Allowed\): *" @@ -79,9 +79,9 @@ syn region debcontrolStrictField start="^\%(XS-\)\=Vcs-Git" end="$" contains=deb syn region debcontrolStrictField start="^\%(XS-\)\=DM-Upload-Allowed" end="$" contains=debcontrolDeprecatedKey,debcontrolDmUpload oneline " Catch-all for the other legal fields -syn region debcontrolField start="^\%(\%(XSBC-Original-\)\=Maintainer\|Standards-Version\|Essential\|Bugs\|Origin\|X[SB]-Python-Version\|\%(XS-\)\=Vcs-Mtn\):" end="$" contains=debcontrolKey,debcontrolVariable,debcontrolEmail oneline -syn region debcontrolMultiField start="^\%(Build-\%(Conflicts\|Depends\)\%(-Indep\)\=\|\%(Pre-\)\=Depends\|Recommends\|Suggests\|Provides\|Replaces\|Conflicts\|Enhances\|Breaks\|Uploaders\|Description\):" skip="^ " end="^$"me=s-1 end="^[^ #]"me=s-1 contains=debcontrolKey,debcontrolEmail,debcontrolVariable,debcontrolComment -syn region debcontrolMultiFieldSpell start="^\%(Description\):" skip="^ " end="^$"me=s-1 end="^[^ #]"me=s-1 contains=debcontrolKey,debcontrolEmail,debcontrolVariable,debcontrolComment,@Spell +syn region debcontrolField start="^\%(\%(XSBC-Original-\)\=Maintainer\|Standards-Version\|Essential\|Bugs\|Origin\|X[SB]-Python-Version\|\%(XS-\)\=Vcs-Mtn\|\%(XS-\)\=Testsuite\):" end="$" contains=debcontrolKey,debcontrolVariable,debcontrolEmail oneline +syn region debcontrolMultiField start="^\%(Build-\%(Conflicts\|Depends\)\%(-Arch\|-Indep\)\=\|\%(Pre-\)\=Depends\|Recommends\|Suggests\|Provides\|Replaces\|Conflicts\|Enhances\|Breaks\|Uploaders\|Description\):" skip="^[ \t]" end="^$"me=s-1 end="^[^ \t#]"me=s-1 contains=debcontrolKey,debcontrolEmail,debcontrolVariable,debcontrolComment +syn region debcontrolMultiFieldSpell start="^\%(Description\):" skip="^[ \t]" end="^$"me=s-1 end="^[^ \t#]"me=s-1 contains=debcontrolKey,debcontrolEmail,debcontrolVariable,debcontrolComment,@Spell " Associate our matches and regions with pretty colours hi def link debcontrolKey Keyword diff --git a/runtime/syntax/debsources.vim b/runtime/syntax/debsources.vim index 390c43035e..4fa80debec 100644 --- a/runtime/syntax/debsources.vim +++ b/runtime/syntax/debsources.vim @@ -2,7 +2,7 @@ " Language: Debian sources.list " Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org> " Former Maintainer: Matthijs Mohlmann <matthijs@cacholong.nl> -" Last Change: 2016 Nov 12 +" Last Change: 2017 Apr 22 " URL: https://anonscm.debian.org/cgit/pkg-vim/vim.git/plain/runtime/syntax/debsources.vim " Standard syntax initialization @@ -25,7 +25,7 @@ let s:supported = [ \ 'oldstable', 'stable', 'testing', 'unstable', 'experimental', \ 'squeeze', 'wheezy', 'jessie', 'stretch', 'sid', 'rc-buggy', \ - \ 'precise', 'trusty', 'xenial', 'yakkety', 'zesty', 'devel' + \ 'trusty', 'xenial', 'yakkety', 'zesty', 'artful', 'devel' \ ] let s:unsupported = [ \ 'buzz', 'rex', 'bo', 'hamm', 'slink', 'potato', @@ -33,15 +33,15 @@ let s:unsupported = [ \ \ 'warty', 'hoary', 'breezy', 'dapper', 'edgy', 'feisty', \ 'gutsy', 'hardy', 'intrepid', 'jaunty', 'karmic', 'lucid', - \ 'maverick', 'natty', 'oneiric', 'quantal', 'raring', 'saucy', + \ 'maverick', 'natty', 'oneiric', 'precise', 'quantal', 'raring', 'saucy', \ 'utopic', 'vivid', 'wily' \ ] let &cpo=s:cpo " Match uri's syn match debsourcesUri +\(https\?://\|ftp://\|[rs]sh://\|debtorrent://\|\(cdrom\|copy\|file\):\)[^' <>"]\++ -exe 'syn match debsourcesDistrKeyword +\([[:alnum:]_./]*\)\('. join(s:supported, '\|'). '\)\([-[:alnum:]_./]*\)+' -exe 'syn match debsourcesUnsupportedDistrKeyword +\([[:alnum:]_./]*\)\('. join(s:unsupported, '\|') .'\)\([-[:alnum:]_./]*\)+' +exe 'syn match debsourcesDistrKeyword +\([[:alnum:]_./]*\)\<\('. join(s:supported, '\|'). '\)\>\([-[:alnum:]_./]*\)+' +exe 'syn match debsourcesUnsupportedDistrKeyword +\([[:alnum:]_./]*\)\<\('. join(s:unsupported, '\|') .'\)\>\([-[:alnum:]_./]*\)+' " Associate our matches and regions with pretty colours hi def link debsourcesLine Error diff --git a/runtime/syntax/doxygen.vim b/runtime/syntax/doxygen.vim index cadbf54dc5..6bd3726279 100644 --- a/runtime/syntax/doxygen.vim +++ b/runtime/syntax/doxygen.vim @@ -2,7 +2,8 @@ " Language: doxygen on top of c, cpp, idl, java, php " Maintainer: Michael Geddes <vimmer@frog.wheelycreek.net> " Author: Michael Geddes -" Last Change: Jan 2009 (\tparam by Domnique Pelle, Aug 2013) +" Last Changes: Jan 2009 (\tparam by Domnique Pelle, Aug 2013) +" Nov 2017 (@throws by Domnique Pelle) " Version: 1.23 " " Copyright 2004-2008 Michael Geddes @@ -181,13 +182,13 @@ endif syn match doxygenParamDirection contained "\v\[(\s*in>((]\s*\[|\s*,\s*)out>)=|out>((]\s*\[|\s*,\s*)in>)=)\]" nextgroup=doxygenParamName skipwhite syn keyword doxygenParam contained param tparam nextgroup=doxygenParamName,doxygenParamDirection skipwhite syn match doxygenParamName contained +[A-Za-z0-9_:]\++ nextgroup=doxygenSpecialMultilineDesc skipwhite - syn keyword doxygenRetval contained retval throw exception nextgroup=doxygenParamName skipwhite + syn keyword doxygenRetval contained retval throw throws exception nextgroup=doxygenParamName skipwhite " Match one line identifiers. syn keyword doxygenOther contained addindex anchor \ dontinclude endhtmlonly endlatexonly showinitializer hideinitializer \ example htmlonly image include ingroup internal latexonly line - \ overload relates relatesalso sa skip skipline + \ overload related relates relatedalso relatesalso sa skip skipline \ until verbinclude version addtogroup htmlinclude copydoc dotfile \ xmlonly endxmlonly \ nextgroup=doxygenSpecialOnelineDesc @@ -223,7 +224,7 @@ endif syn keyword doxygenOther contained par nextgroup=doxygenHeaderLine syn region doxygenHeaderLine start=+.+ end=+^+ contained skipwhite nextgroup=doxygenSpecialMultilineDesc - syn keyword doxygenOther contained arg author date deprecated li return returns see invariant note post pre remarks since test nextgroup=doxygenSpecialMultilineDesc + syn keyword doxygenOther contained arg author authors date deprecated li result return returns see invariant note post pre remark remarks since test nextgroup=doxygenSpecialMultilineDesc syn keyword doxygenOtherTODO contained todo attention nextgroup=doxygenSpecialMultilineDesc syn keyword doxygenOtherWARN contained warning nextgroup=doxygenSpecialMultilineDesc syn keyword doxygenOtherBUG contained bug nextgroup=doxygenSpecialMultilineDesc diff --git a/runtime/syntax/form.vim b/runtime/syntax/form.vim index b8cb87c905..9718480da3 100644 --- a/runtime/syntax/form.vim +++ b/runtime/syntax/form.vim @@ -85,7 +85,7 @@ syn match formComment "\;\ *\*.*$" contains=formTodo syn region formString start=+"+ end=+"+ contains=formSpecial syn region formString start=+'+ end=+'+ syn region formNestedString start=+`+ end=+'+ contains=formNestedString -syn match formPreProc "^\=\#[a-zA-z][a-zA-Z0-9]*\>" +syn match formPreProc "^\=\#[a-zA-Z][a-zA-Z0-9]*\>" syn match formNumber "\<\d\+\>" syn match formNumber "\<\d\+\.\d*\>" syn match formNumber "\.\d\+\>" @@ -94,13 +94,13 @@ syn match formNumber "-\.\d" contains=Number syn match formNumber "i_\+\>" syn match formNumber "fac_\+\>" " pattern matching wildcards -syn match formNumber "?[A-z0-9]*" +syn match formNumber "?[a-zA-Z0-9]*" " dollar-variables (new in 3.x) -syn match formNumber "\\$[A-z0-9]*" +syn match formNumber "\\$[a-zA-Z0-9]*" " scalar products -syn match formNumber "^\=[a-zA-z][a-zA-Z0-9]*\.[a-zA-z][a-zA-Z0-9]*\>" +syn match formNumber "^\=[a-zA-Z][a-zA-Z0-9]*\.[a-zA-Z][a-zA-Z0-9]*\>" -syn match formDirective "^\=\.[a-zA-z][a-zA-Z0-9]*\>" +syn match formDirective "^\=\.[a-zA-Z][a-zA-Z0-9]*\>" " hi User Labels syn sync ccomment formComment minlines=10 diff --git a/runtime/syntax/gitolite.vim b/runtime/syntax/gitolite.vim index 718aad0de9..3a6da26cc6 100644 --- a/runtime/syntax/gitolite.vim +++ b/runtime/syntax/gitolite.vim @@ -1,8 +1,10 @@ " Vim syntax file " Language: gitolite configuration -" URL: https://github.com/tmatilai/gitolite.vim -" Maintainer: Teemu Matilainen <teemu.matilainen@iki.fi> -" Last Change: 2011-12-25 +" URL: https://github.com/sitaramc/gitolite/blob/master/contrib/vim/syntax/gitolite.vim +" (https://raw.githubusercontent.com/sitaramc/gitolite/master/contrib/vim/syntax/gitolite.vim) +" Maintainer: Sitaram Chamarty <sitaramc@gmail.com> +" (former Maintainer: Teemu Matilainen <teemu.matilainen@iki.fi>) +" Last Change: 2017 Oct 05 if exists("b:current_syntax") finish @@ -11,74 +13,80 @@ endif let s:cpo_save = &cpo set cpo&vim -" Comment -syn match gitoliteComment "\(^\|\s\)#.*" contains=gitoliteTodo -syn keyword gitoliteTodo TODO FIXME XXX NOT contained - -" Groups, users and repos -syn match gitoliteGroupDef "\(^\s*\)\@<=@[^=]\{-1,}\(\s*=\)\@=" contains=gitoliteSpaceError,gitoliteUserError nextgroup=gitoliteGroupDefSep -syn match gitoliteGroupDefSep "\s*=" contained nextgroup=gitoliteRepoLine -syn match gitoliteRepoDef "^\s*repo\s" nextgroup=gitoliteRepoLine - -syn match gitoliteRepoLine ".*" contained transparent contains=gitoliteGroup,gitoliteWildRepo,gitoliteCreator,gitoliteExtCmdHelper,gitoliteRepoError,gitoliteComment -syn match gitoliteUserLine ".*" contained transparent contains=gitoliteGroup,gitolitePreProc,gitoliteUserError,gitoliteComment - -syn match gitoliteWildRepo "[ \t=]\@<=[^ \t]*[\\^$|()[\]*?{},][^ \t]*" contained contains=gitoliteCreator,gitoliteRepoError -syn match gitoliteGroup "[ \t=]\@<=@[^ \t]\+" contained contains=gitoliteUserError - -syn keyword gitoliteCreator CREATER CREATOR contained -syn keyword gitolitePreProc CREATER CREATOR READERS WRITERS contained - -syn match gitoliteExtCmdHelper "[ \t=]\@<=EXTCMD/" contained nextgroup=gitoliteExtCmd -syn match gitoliteExtCmd "rsync\(\s\|$\)" contained - -" Illegal characters -syn match gitoliteRepoError "[^ \t0-9a-zA-Z._@+/\\^$|()[\]*?{},-]\+" contained -syn match gitoliteUserError "[^ \t0-9a-zA-Z._@+-]\+" contained -syn match gitoliteSpaceError "\s\+" contained - -" Permission -syn match gitoliteKeyword "^\s*\(C\|R\|RW\|RW+\|RWC\|RW+C\|RWD\|RW+D\|RWCD\|RW+CD\)[ \t=]\@=" nextgroup=gitoliteRefex -syn match gitoliteKeyword "^\s*-[ \t=]\@=" nextgroup=gitoliteDenyRefex -syn match gitoliteRefex "[^=]*="he=e-1 contained contains=gitoliteSpecialRefex,gitoliteGroup nextgroup=gitoliteUserLine -syn match gitoliteDenyRefex "[^=]*="he=e-1 contained contains=gitoliteSpecialRefex,gitoliteGroup nextgroup=gitoliteDenyUsers -syn match gitoliteSpecialRefex "\sNAME/"he=e-1 contained -syn match gitoliteSpecialRefex "/USER/"hs=s+1,he=e-1 contained -syn match gitoliteDenyUsers ".*" contained contains=gitoliteUserError,gitoliteComment - -" Configuration -syn match gitoliteKeyword "^\s*config\s\+" nextgroup=gitoliteConfVariable -syn match gitoliteConfVariable "[^=]*" contained - -" Include -syn match gitoliteInclude "^\s*\(include\|subconf\)\s" - -" String -syn region gitoliteString start=+"+ end=+"+ oneline - -" Define the default highlighting -hi def link gitoliteComment Comment -hi def link gitoliteTodo Todo -hi def link gitoliteGroupDef gitoliteGroup -hi def link gitoliteGroup Identifier -hi def link gitoliteWildRepo Special -hi def link gitoliteRepoError gitoliteError -hi def link gitoliteUserError gitoliteError -hi def link gitoliteSpaceError gitoliteError -hi def link gitoliteError Error -hi def link gitoliteCreator gitolitePreProc -hi def link gitolitePreProc PreProc -hi def link gitoliteExtCmdHelper PreProc -hi def link gitoliteExtCmd Special -hi def link gitoliteRepoDef Type -hi def link gitoliteKeyword Keyword -hi def link gitoliteRefex String -hi def link gitoliteDenyRefex gitoliteRefex -hi def link gitoliteSpecialRefex PreProc -hi def link gitoliteDenyUsers WarningMsg -hi def link gitoliteConfVariable Identifier -hi def link gitoliteInclude Include -hi def link gitoliteString String +" this seems to be the best way, for now. +syntax sync fromstart + +" ---- common stuff + +syn match gitoliteGroup '@\S\+' + +syn match gitoliteComment '#.*' contains=gitoliteTodo +syn keyword gitoliteTodo TODO FIXME XXX NOT contained + +" ---- main section + +" catch template-data syntax appearing outside template-data section +syn match gitoliteRepoError '^\s*repo.*=' +syn match gitoliteRepoError '^\s*\S\+\s*=' " this gets overridden later when first word is a perm, don't worry + +" normal gitolite group and repo lines +syn match gitoliteGroupLine '^\s*@\S\+\s*=\s*\S.*$' contains=gitoliteGroup,gitoliteComment +syn match gitoliteRepoLine '^\s*repo\s\+[^=]*$' contains=gitoliteRepo,gitoliteGroup,gitoliteComment +syn keyword gitoliteRepo repo contained + +syn keyword gitoliteSpecialRepo CREATOR + +" normal gitolite rule lines +syn match gitoliteRuleLine '^\s*\(-\|C\|R\|RW+\?C\?D\?\)\s[^#]*' contains=gitoliteRule,gitoliteCreateRule,gitoliteDenyRule,gitoliteRefex,gitoliteUsers,gitoliteGroup +syn match gitoliteRule '\(^\s*\)\@<=\(-\|C\|R\|RW+\?C\?D\?\)\s\@=' contained +syn match gitoliteRefex '\(^\s*\(-\|R\|RW+\?C\?D\?\)\s\+\)\@<=\S.\{-}\(\s*=\)\@=' contains=gitoliteSpecialRefex +syn match gitoliteSpecialRefex 'NAME/' +syn match gitoliteSpecialRefex '/USER/' +syn match gitoliteCreateRule '\(^\s*C\s.*=\s*\)\@<=\S[^#]*[^# ]' contained contains=gitoliteGroup +syn match gitoliteDenyRule '\(^\s*-\s.*=\s*\)\@<=\S[^#]*[^# ]' contained + +" normal gitolite config (and similar) lines +syn match gitoliteConfigLine '^\s*\(config\|option\|include\|subconf\)\s[^#]*' contains=gitoliteConfigKW,gitoliteConfigKey,gitoliteConfigVal,gitoliteComment +syn keyword gitoliteConfigKW config option include subconf contained +syn match gitoliteConfigKey '\(\(config\|option\)\s\+\)\@<=[^ =]*' contained +syn match gitoliteConfigVal '\(=\s*\)\@<=\S.*' contained + +" ---- template-data section + +syn region gitoliteTemplateLine matchgroup=PreProc start='^=begin template-data$' end='^=end$' contains=gitoliteTplRepoLine,gitoliteTplRoleLine,gitoliteGroup,gitoliteComment,gitoliteTplError + +syn match gitoliteTplRepoLine '^\s*repo\s\+\S.*=.*' contained contains=gitoliteTplRepo,gitoliteTplTemplates,gitoliteGroup +syn keyword gitoliteTplRepo repo contained +syn match gitoliteTplTemplates '\(=\s*\)\@<=\S.*' contained contains=gitoliteGroup,gitoliteComment + +syn match gitoliteTplRoleLine '^\s*\S\+\s*=\s*.*' contained contains=gitoliteTplRole,gitoliteGroup,gitoliteComment +syn match gitoliteTplRole '\S\+\s*='he=e-1 contained + +" catch normal gitolite rules appearing in template-data section +syn match gitoliteTplError '^\s*repo[^=]*$' contained +syn match gitoliteTplError '^\s*\(-\|R\|RW+\?C\?D\?\)\s'he=e-1 contained +syn match gitoliteTplError '^\s*\(config\|option\|include\|subconf\)\s'he=e-1 contained +syn match gitoliteTplError '^\s*@\S\+\s*=' contained contains=NONE + +hi def link gitoliteGroup Identifier +hi def link gitoliteComment Comment +hi def link gitoliteTodo ToDo +hi def link gitoliteRepoError Error +hi def link gitoliteGroupLine PreProc +hi def link gitoliteRepo Keyword +hi def link gitoliteSpecialRepo PreProc +hi def link gitoliteRule Keyword +hi def link gitoliteCreateRule PreProc +hi def link gitoliteDenyRule WarningMsg +hi def link gitoliteRefex Constant +hi def link gitoliteSpecialRefex PreProc +hi def link gitoliteConfigKW Keyword +hi def link gitoliteConfigKey Identifier +hi def link gitoliteConfigVal String +hi def link gitoliteTplRepo Keyword +hi def link gitoliteTplTemplates Constant +hi def link gitoliteTplRole Constant +hi def link gitoliteTplError Error let b:current_syntax = "gitolite" diff --git a/runtime/syntax/haskell.vim b/runtime/syntax/haskell.vim index 11f4c35a58..e398085ba8 100644 --- a/runtime/syntax/haskell.vim +++ b/runtime/syntax/haskell.vim @@ -1,7 +1,7 @@ " Vim syntax file " Language: Haskell " Maintainer: Haskell Cafe mailinglist <haskell-cafe@haskell.org> -" Last Change: 2008 Dec 15 +" Last Change: 2017 Jun 04 " Original Author: John Williams <jrw@pobox.com> " " Thanks to Ryan Crumley for suggestions and John Meacham for @@ -62,7 +62,7 @@ syn match hsCharacter "^'\([^\\]\|\\[^']\+\|\\'\)'" contains=hsSpecialChar,hs syn match hsNumber "\<[0-9]\+\>\|\<0[xX][0-9a-fA-F]\+\>\|\<0[oO][0-7]\+\>" syn match hsFloat "\<[0-9]\+\.[0-9]\+\([eE][-+]\=[0-9]\+\)\=\>" -" Keyword definitions. These must be patters instead of keywords +" Keyword definitions. These must be patterns instead of keywords " because otherwise they would match as keywords at the start of a " "literate" comment (see lhs.vim). syn match hsModule "\<module\>" diff --git a/runtime/syntax/help.vim b/runtime/syntax/help.vim index 98ab7f4b23..972970f619 100644 --- a/runtime/syntax/help.vim +++ b/runtime/syntax/help.vim @@ -1,7 +1,7 @@ " Vim syntax file " Language: Vim help file " Maintainer: Bram Moolenaar (Bram@vim.org) -" Last Change: 2016 Sep 02 +" Last Change: 2017 Oct 19 " Quit when a (custom) syntax file was already loaded if exists("b:current_syntax") @@ -50,11 +50,13 @@ else syn match helpIgnore "." contained endif syn keyword helpNote note Note NOTE note: Note: NOTE: Notes Notes: -syn keyword helpWarning WARNING: Warning: +syn keyword helpWarning WARNING WARNING: Warning: +syn keyword helpDeprecated DEPRECATED DEPRECATED: Deprecated: syn match helpSpecial "\<N\>" syn match helpSpecial "\<N\.$"me=e-1 syn match helpSpecial "\<N\.\s"me=e-2 syn match helpSpecial "(N\>"ms=s+1 + syn match helpSpecial "\[N]" " avoid highlighting N N in help.txt syn match helpSpecial "N N"he=s+1 @@ -80,6 +82,9 @@ syn match helpSpecial "\[arguments]" syn match helpSpecial "\[ident]" syn match helpSpecial "\[addr]" syn match helpSpecial "\[group]" +" Don't highlight [converted] and others that do not have a tag +syn match helpNormal "\[\(readonly\|fifo\|socket\|converted\|crypted\)]" + syn match helpSpecial "CTRL-." syn match helpSpecial "CTRL-Break" syn match helpSpecial "CTRL-PageUp" @@ -165,6 +170,7 @@ hi def link helpOption Type hi def link helpSpecial Special hi def link helpNote Todo hi def link helpWarning Todo +hi def link helpDeprecated Todo hi def link helpComment Comment hi def link helpConstant Constant diff --git a/runtime/syntax/hitest.vim b/runtime/syntax/hitest.vim index 7489101060..1e39451dcd 100644 --- a/runtime/syntax/hitest.vim +++ b/runtime/syntax/hitest.vim @@ -1,7 +1,7 @@ " Vim syntax file " Language: none; used to see highlighting " Maintainer: Ronald Schild <rs@scutum.de> -" Last Change: 2001 Sep 02 +" Last Change: 2017 Jul 28 " Version: 5.4n.1 " To see your current highlight settings, do @@ -111,17 +111,6 @@ endif nohlsearch normal 0 -" add autocommands to remove temporary file from buffer list -aug highlighttest - au! - au BufUnload Highlight\ test if expand("<afile>") == "Highlight test" - au BufUnload Highlight\ test bdelete! Highlight\ test - au BufUnload Highlight\ test endif - au VimLeavePre * if bufexists("Highlight test") - au VimLeavePre * bdelete! Highlight\ test - au VimLeavePre * endif -aug END - " we don't want to save this temporary file set nomodified diff --git a/runtime/syntax/html.vim b/runtime/syntax/html.vim index 49d3ab4adb..5f943a9496 100644 --- a/runtime/syntax/html.vim +++ b/runtime/syntax/html.vim @@ -3,8 +3,9 @@ " Maintainer: Jorge Maldonado Ventura <jorgesumle@freakspot.net> " Previous Maintainer: Claudio Fleiner <claudio@fleiner.com> " Repository: https://notabug.org/jorgesumle/vim-html-syntax -" Last Change: 2017 Jan 21 -" included patch from Jorge Maldonado Ventura +" Last Change: 2017 Sep 30 +" included patch from Christian Brabandt to make use of the strikethrough attributes +" " Please check :help html.vim for some comments and a description of the options @@ -45,13 +46,13 @@ syn keyword htmlTagName contained cite code dd dfn dir div dl dt font syn keyword htmlTagName contained form hr html img syn keyword htmlTagName contained input isindex kbd li link map menu syn keyword htmlTagName contained meta ol option param pre p samp span -syn keyword htmlTagName contained select small strike sub sup +syn keyword htmlTagName contained select small sub sup syn keyword htmlTagName contained table td textarea th tr tt ul var xmp syn match htmlTagName contained "\<\(b\|i\|u\|h[1-6]\|em\|strong\|head\|body\|title\)\>" " new html 4.0 tags syn keyword htmlTagName contained abbr acronym bdo button col label -syn keyword htmlTagName contained colgroup del fieldset iframe ins legend +syn keyword htmlTagName contained colgroup fieldset iframe ins legend syn keyword htmlTagName contained object optgroup q s tbody tfoot thead " new html 5 tags @@ -135,6 +136,9 @@ if !exists("html_no_rendering") " rendering syn cluster htmlTop contains=@Spell,htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,htmlLink,javaScript,@htmlPreproc + syn region htmlStrike start="<del\>" end="</del>"me=e-6 contains=@htmlTop + syn region htmlStrike start="<strike\>" end="</strike>"me=e-9 contains=@htmlTop + syn region htmlBold start="<b\>" end="</b>"me=e-4 contains=@htmlTop,htmlBoldUnderline,htmlBoldItalic syn region htmlBold start="<strong\>" end="</strong>"me=e-9 contains=@htmlTop,htmlBoldUnderline,htmlBoldItalic syn region htmlBoldUnderline contained start="<u\>" end="</u>"me=e-4 contains=@htmlTop,htmlBoldUnderlineItalic @@ -268,6 +272,11 @@ if !exists("html_no_rendering") hi def htmlUnderline term=underline cterm=underline gui=underline hi def htmlUnderlineItalic term=italic,underline cterm=italic,underline gui=italic,underline hi def htmlItalic term=italic cterm=italic gui=italic + if v:version > 800 || v:version == 800 && has("patch1038") + hi def htmlStrike term=strikethrough cterm=strikethrough gui=strikethrough + else + hi def htmlStrike term=underline cterm=underline gui=underline + endif endif endif diff --git a/runtime/syntax/mason.vim b/runtime/syntax/mason.vim index 6789e11aef..f087def794 100644 --- a/runtime/syntax/mason.vim +++ b/runtime/syntax/mason.vim @@ -1,15 +1,13 @@ " Vim syntax file -" Language: Mason (Perl embedded in HTML) -" Maintainer: Andrew Smith <andrewdsmith@yahoo.com> -" Last change: 2003 May 11 -" URL: http://www.masonhq.com/editors/mason.vim +" Language: Mason (Perl embedded in HTML) +" Maintainer: vim-perl <vim-perl@googlegroups.com> +" Homepage: http://github.com/vim-perl/vim-perl/tree/master +" Bugs/requests: http://github.com/vim-perl/vim-perl/issues +" Last Change: 2017-09-12 +" Contributors: Hinrik Örn Sigurðsson <hinrik.sig@gmail.com> +" Andrew Smith <andrewdsmith@yahoo.com> " -" This seems to work satisfactorily with html.vim and perl.vim for version 5.5. -" Please mail any fixes or improvements to the above address. Things that need -" doing include: -" -" - Add match for component names in <& &> blocks. -" - Add match for component names in <%def> and <%method> block delimiters. +" TODO: " - Fix <%text> blocks to show HTML tags but ignore Mason tags. " @@ -34,30 +32,38 @@ syn cluster htmlPreproc add=@masonTop " Now pull in the Perl syntax. " syn include @perlTop syntax/perl.vim +unlet b:current_syntax +syn include @podTop syntax/pod.vim " It's hard to reduce down to the correct sub-set of Perl to highlight in some " of these cases so I've taken the safe option of just using perlTop in all of " them. If you have any suggestions, please let me know. " -syn region masonLine matchgroup=Delimiter start="^%" end="$" contains=@perlTop -syn region masonExpr matchgroup=Delimiter start="<%" end="%>" contains=@perlTop -syn region masonPerl matchgroup=Delimiter start="<%perl>" end="</%perl>" contains=@perlTop -syn region masonComp keepend matchgroup=Delimiter start="<&" end="&>" contains=@perlTop +syn region masonPod start="^=[a-z]" end="^=cut" keepend contained contains=@podTop +syn cluster perlTop remove=perlBraces +syn region masonLine matchgroup=Delimiter start="^%" end="$" keepend contains=@perlTop +syn region masonPerlComment start="#" end="\%(%>\)\@=\|$" contained contains=perlTodo,@Spell +syn region masonExpr matchgroup=Delimiter start="<%" end="%>" contains=@perlTop,masonPerlComment +syn region masonPerl matchgroup=Delimiter start="<%perl>" end="</%perl>" contains=masonPod,@perlTop +syn region masonComp keepend matchgroup=Delimiter start="<&\s*\%([-._/[:alnum:]]\+:\)\?[-._/[:alnum:]]*" end="&>" contains=@perlTop +syn region masonComp keepend matchgroup=Delimiter skipnl start="<&|\s*\%([-._/[:alnum:]]\+:\)\?[-._/[:alnum:]]*" end="&>" contains=@perlTop nextgroup=masonCompContent +syn region masonCompContent matchgroup=Delimiter start="" end="</&>" contained contains=@masonTop -syn region masonArgs matchgroup=Delimiter start="<%args>" end="</%args>" contains=@perlTop +syn region masonArgs matchgroup=Delimiter start="<%args>" end="</%args>" contains=masonPod,@perlTop -syn region masonInit matchgroup=Delimiter start="<%init>" end="</%init>" contains=@perlTop -syn region masonCleanup matchgroup=Delimiter start="<%cleanup>" end="</%cleanup>" contains=@perlTop -syn region masonOnce matchgroup=Delimiter start="<%once>" end="</%once>" contains=@perlTop -syn region masonShared matchgroup=Delimiter start="<%shared>" end="</%shared>" contains=@perlTop +syn region masonInit matchgroup=Delimiter start="<%init>" end="</%init>" contains=masonPod,@perlTop +syn region masonCleanup matchgroup=Delimiter start="<%cleanup>" end="</%cleanup>" contains=masonPod,@perlTop +syn region masonOnce matchgroup=Delimiter start="<%once>" end="</%once>" contains=masonPod,@perlTop +syn region masonClass matchgroup=Delimiter start="<%class>" end="</%class>" contains=masonPod,@perlTop +syn region masonShared matchgroup=Delimiter start="<%shared>" end="</%shared>" contains=masonPod,@perlTop -syn region masonDef matchgroup=Delimiter start="<%def[^>]*>" end="</%def>" contains=@htmlTop -syn region masonMethod matchgroup=Delimiter start="<%method[^>]*>" end="</%method>" contains=@htmlTop +syn region masonDef matchgroup=Delimiter start="<%def\s*[-._/[:alnum:]]\+\s*>" end="</%def>" contains=@htmlTop +syn region masonMethod matchgroup=Delimiter start="<%method\s*[-._/[:alnum:]]\+\s*>" end="</%method>" contains=@htmlTop -syn region masonFlags matchgroup=Delimiter start="<%flags>" end="</%flags>" contains=@perlTop -syn region masonAttr matchgroup=Delimiter start="<%attr>" end="</%attr>" contains=@perlTop +syn region masonFlags matchgroup=Delimiter start="<%flags>" end="</%flags>" contains=masonPod,@perlTop +syn region masonAttr matchgroup=Delimiter start="<%attr>" end="</%attr>" contains=masonPod,@perlTop -syn region masonFilter matchgroup=Delimiter start="<%filter>" end="</%filter>" contains=@perlTop +syn region masonFilter matchgroup=Delimiter start="<%filter>" end="</%filter>" contains=masonPod,@perlTop syn region masonDoc matchgroup=Delimiter start="<%doc>" end="</%doc>" syn region masonText matchgroup=Delimiter start="<%text>" end="</%text>" @@ -67,6 +73,8 @@ syn cluster masonTop contains=masonLine,masonExpr,masonPerl,masonComp,masonArgs, " Set up default highlighting. Almost all of this is done in the included " syntax files. hi def link masonDoc Comment +hi def link masonPod Comment +hi def link masonPerlComment perlComment let b:current_syntax = "mason" diff --git a/runtime/syntax/murphi.vim b/runtime/syntax/murphi.vim new file mode 100644 index 0000000000..b2faa8c119 --- /dev/null +++ b/runtime/syntax/murphi.vim @@ -0,0 +1,127 @@ +" Vim syntax file +" Language: Murphi model checking language +" Maintainer: Matthew Fernandez <matthew.fernandez@gmail.com> +" Last Change: 2017 Aug 27 +" Version: 2 +" Remark: Originally authored by Diego Ongaro <ongaro@cs.stanford.edu> + +if version < 600 + syntax clear +elseif exists("b:current_syntax") + finish +endif + +" Keywords are case insensitive. +" Keep these in alphabetical order. +syntax case ignore +syn keyword murphiKeyword alias +syn keyword murphiStructure array +syn keyword murphiKeyword assert +syn keyword murphiKeyword begin +syn keyword murphiType boolean +syn keyword murphiKeyword by +syn keyword murphiLabel case +syn keyword murphiKeyword clear +syn keyword murphiLabel const +syn keyword murphiRepeat do +syn keyword murphiConditional else +syn keyword murphiConditional elsif +syn keyword murphiKeyword end +syn keyword murphiKeyword endalias +syn keyword murphiRepeat endexists +syn keyword murphiRepeat endfor +syn keyword murphiRepeat endforall +syn keyword murphiKeyword endfunction +syn keyword murphiConditional endif +syn keyword murphiKeyword endprocedure +syn keyword murphiStructure endrecord +syn keyword murphiKeyword endrule +syn keyword murphiKeyword endruleset +syn keyword murphiKeyword endstartstate +syn keyword murphiConditional endswitch +syn keyword murphiRepeat endwhile +syn keyword murphiStructure enum +syn keyword murphiKeyword error +syn keyword murphiRepeat exists +syn keyword murphiBoolean false +syn keyword murphiRepeat for +syn keyword murphiRepeat forall +syn keyword murphiKeyword function +syn keyword murphiConditional if +syn keyword murphiKeyword in +syn keyword murphiKeyword interleaved +syn keyword murphiLabel invariant +syn keyword murphiFunction ismember +syn keyword murphiFunction isundefined +syn keyword murphiKeyword log +syn keyword murphiStructure of +syn keyword murphiType multiset +syn keyword murphiFunction multisetadd +syn keyword murphiFunction multisetcount +syn keyword murphiFunction multisetremove +syn keyword murphiFunction multisetremovepred +syn keyword murphiKeyword procedure +syn keyword murphiKeyword process +syn keyword murphiKeyword program +syn keyword murphiKeyword put +syn keyword murphiStructure record +syn keyword murphiKeyword return +syn keyword murphiLabel rule +syn keyword murphiLabel ruleset +syn keyword murphiType scalarset +syn keyword murphiLabel startstate +syn keyword murphiConditional switch +syn keyword murphiConditional then +syn keyword murphiRepeat to +syn keyword murphiKeyword traceuntil +syn keyword murphiBoolean true +syn keyword murphiLabel type +syn keyword murphiKeyword undefine +syn keyword murphiStructure union +syn keyword murphiLabel var +syn keyword murphiRepeat while + +syn keyword murphiTodo contained todo xxx fixme +syntax case match + +" Integers. +syn match murphiNumber "\<\d\+\>" + +" Operators and special characters. +syn match murphiOperator "[\+\-\*\/%&|=!<>:\?]\|\." +syn match murphiDelimiter "\(:[^=]\|[;,]\)" +syn match murphiSpecial "[()\[\]]" + +" Double equal sign is a common error: use one equal sign for equality testing. +syn match murphiError "==[^>]"he=e-1 +" Double && and || are errors. +syn match murphiError "&&\|||" + +" Strings. This is defined so late so that it overrides previous matches. +syn region murphiString start=+"+ end=+"+ + +" Comments. This is defined so late so that it overrides previous matches. +syn region murphiComment start="--" end="$" contains=murphiTodo +syn region murphiComment start="/\*" end="\*/" contains=murphiTodo + +" Link the rules to some groups. +hi def link murphiComment Comment +hi def link murphiString String +hi def link murphiNumber Number +hi def link murphiBoolean Boolean +hi def link murphiIdentifier Identifier +hi def link murphiFunction Function +hi def link murphiStatement Statement +hi def link murphiConditional Conditional +hi def link murphiRepeat Repeat +hi def link murphiLabel Label +hi def link murphiOperator Operator +hi def link murphiKeyword Keyword +hi def link murphiType Type +hi def link murphiStructure Structure +hi def link murphiSpecial Special +hi def link murphiDelimiter Delimiter +hi def link murphiError Error +hi def link murphiTodo Todo + +let b:current_syntax = "murphi" diff --git a/runtime/syntax/n1ql.vim b/runtime/syntax/n1ql.vim new file mode 100644 index 0000000000..bef65d8f64 --- /dev/null +++ b/runtime/syntax/n1ql.vim @@ -0,0 +1,434 @@ +" Vim syntax file +" Language: N1QL / Couchbase Server +" Maintainer: Eugene Ciurana <n1ql AT cime.net> +" Version: 1.0 +" Source: https://github.com/pr3d4t0r/n1ql-vim-syntax +" +" License: Vim is Charityware. n1ql.vim syntax is Charityware. +" (c) Copyright 2017 by Eugene Ciurana / pr3d4t0r. Licensed +" under the standard VIM LICENSE - Vim command :help uganda.txt +" for details. +" +" Questions, comments: <n1ql AT cime.net> +" https://ciurana.eu/pgp, https://keybase.io/pr3d4t0r +" +" vim: set fileencoding=utf-8: + + +if exists("b:current_syntax") + finish +endif + + +syn case ignore + +syn keyword n1qlSpecial DATASTORES +syn keyword n1qlSpecial DUAL +syn keyword n1qlSpecial FALSE +syn keyword n1qlSpecial INDEXES +syn keyword n1qlSpecial KEYSPACES +syn keyword n1qlSpecial MISSING +syn keyword n1qlSpecial NAMESPACES +syn keyword n1qlSpecial NULL +syn keyword n1qlSpecial TRUE + + +" +" *** keywords *** +" +syn keyword n1qlKeyword ALL +syn keyword n1qlKeyword ANY +syn keyword n1qlKeyword ASC +syn keyword n1qlKeyword BEGIN +syn keyword n1qlKeyword BETWEEN +syn keyword n1qlKeyword BREAK +syn keyword n1qlKeyword BUCKET +syn keyword n1qlKeyword CALL +syn keyword n1qlKeyword CASE +syn keyword n1qlKeyword CAST +syn keyword n1qlKeyword CLUSTER +syn keyword n1qlKeyword COLLATE +syn keyword n1qlKeyword COLLECTION +syn keyword n1qlKeyword CONNECT +syn keyword n1qlKeyword CONTINUE +syn keyword n1qlKeyword CORRELATE +syn keyword n1qlKeyword COVER +syn keyword n1qlKeyword DATABASE +syn keyword n1qlKeyword DATASET +syn keyword n1qlKeyword DATASTORE +syn keyword n1qlKeyword DECLARE +syn keyword n1qlKeyword DECREMENT +syn keyword n1qlKeyword DERIVED +syn keyword n1qlKeyword DESC +syn keyword n1qlKeyword DESCRIBE +syn keyword n1qlKeyword DO +syn keyword n1qlKeyword EACH +syn keyword n1qlKeyword ELEMENT +syn keyword n1qlKeyword ELSE +syn keyword n1qlKeyword END +syn keyword n1qlKeyword EVERY +syn keyword n1qlKeyword EXCLUDE +syn keyword n1qlKeyword EXISTS +syn keyword n1qlKeyword FETCH +syn keyword n1qlKeyword FIRST +syn keyword n1qlKeyword FLATTEN +syn keyword n1qlKeyword FOR +syn keyword n1qlKeyword FORCE +syn keyword n1qlKeyword FROM +syn keyword n1qlKeyword FUNCTION +syn keyword n1qlKeyword GROUP +syn keyword n1qlKeyword GSI +syn keyword n1qlKeyword HAVING +syn keyword n1qlKeyword IF +syn keyword n1qlKeyword IGNORE +syn keyword n1qlKeyword INCLUDE +syn keyword n1qlKeyword INCREMENT +syn keyword n1qlKeyword INDEX +syn keyword n1qlKeyword INITIAL +syn keyword n1qlKeyword INLINE +syn keyword n1qlKeyword INNER +syn keyword n1qlKeyword INTO +syn keyword n1qlKeyword KEY +syn keyword n1qlKeyword KEYS +syn keyword n1qlKeyword KEYSPACE +syn keyword n1qlKeyword KNOWN +syn keyword n1qlKeyword LAST +syn keyword n1qlKeyword LET +syn keyword n1qlKeyword LETTING +syn keyword n1qlKeyword LIMIT +syn keyword n1qlKeyword LOOP +syn keyword n1qlKeyword LSM +syn keyword n1qlKeyword MAP +syn keyword n1qlKeyword MAPPING +syn keyword n1qlKeyword MATCHED +syn keyword n1qlKeyword MATERIALIZED +syn keyword n1qlKeyword MERGE +syn keyword n1qlKeyword NAMESPACE +syn keyword n1qlKeyword NEST +syn keyword n1qlKeyword OPTION +syn keyword n1qlKeyword ORDER +syn keyword n1qlKeyword OUTER +syn keyword n1qlKeyword OVER +syn keyword n1qlKeyword PARSE +syn keyword n1qlKeyword PARTITION +syn keyword n1qlKeyword PASSWORD +syn keyword n1qlKeyword PATH +syn keyword n1qlKeyword POOL +syn keyword n1qlKeyword PRIMARY +syn keyword n1qlKeyword PRIVATE +syn keyword n1qlKeyword PRIVILEGE +syn keyword n1qlKeyword PROCEDURE +syn keyword n1qlKeyword PUBLIC +syn keyword n1qlKeyword REALM +syn keyword n1qlKeyword REDUCE +syn keyword n1qlKeyword RETURN +syn keyword n1qlKeyword RETURNING +syn keyword n1qlKeyword ROLE +syn keyword n1qlKeyword SATISFIES +syn keyword n1qlKeyword SCHEMA +syn keyword n1qlKeyword SELF +syn keyword n1qlKeyword SEMI +syn keyword n1qlKeyword SHOW +syn keyword n1qlKeyword START +syn keyword n1qlKeyword STATISTICS +syn keyword n1qlKeyword SYSTEM +syn keyword n1qlKeyword THEN +syn keyword n1qlKeyword TRANSACTION +syn keyword n1qlKeyword TRIGGER +syn keyword n1qlKeyword UNDER +syn keyword n1qlKeyword UNKNOWN +syn keyword n1qlKeyword UNSET +syn keyword n1qlKeyword USE +syn keyword n1qlKeyword USER +syn keyword n1qlKeyword USING +syn keyword n1qlKeyword VALIDATE +syn keyword n1qlKeyword VALUE +syn keyword n1qlKeyword VALUED +syn keyword n1qlKeyword VALUES +syn keyword n1qlKeyword VIEW +syn keyword n1qlKeyword WHEN +syn keyword n1qlKeyword WHERE +syn keyword n1qlKeyword WHILE +syn keyword n1qlKeyword WITHIN +syn keyword n1qlKeyword WORK + + +" +" *** functions *** +" +syn keyword n1qlOperator ABS +syn keyword n1qlOperator ACOS +syn keyword n1qlOperator ARRAY_AGG +syn keyword n1qlOperator ARRAY_APPEND +syn keyword n1qlOperator ARRAY_AVG +syn keyword n1qlOperator ARRAY_CONCAT +syn keyword n1qlOperator ARRAY_CONTAINS +syn keyword n1qlOperator ARRAY_COUNT +syn keyword n1qlOperator ARRAY_DISTINCT +syn keyword n1qlOperator ARRAY_FLATTEN +syn keyword n1qlOperator ARRAY_IFNULL +syn keyword n1qlOperator ARRAY_INSERT +syn keyword n1qlOperator ARRAY_INTERSECT +syn keyword n1qlOperator ARRAY_LENGTH +syn keyword n1qlOperator ARRAY_MAX +syn keyword n1qlOperator ARRAY_MIN +syn keyword n1qlOperator ARRAY_POSITION +syn keyword n1qlOperator ARRAY_PREPEND +syn keyword n1qlOperator ARRAY_PUT +syn keyword n1qlOperator ARRAY_RANGE +syn keyword n1qlOperator ARRAY_REMOVE +syn keyword n1qlOperator ARRAY_REPEAT +syn keyword n1qlOperator ARRAY_REPLACE +syn keyword n1qlOperator ARRAY_REVERSE +syn keyword n1qlOperator ARRAY_SORT +syn keyword n1qlOperator ARRAY_START +syn keyword n1qlOperator ARRAY_SUM +syn keyword n1qlOperator ARRAY_SYMDIFF +syn keyword n1qlOperator ARRAY_UNION +syn keyword n1qlOperator ASIN +syn keyword n1qlOperator ATAN +syn keyword n1qlOperator ATAN2 +syn keyword n1qlOperator AVG +syn keyword n1qlOperator BASE64 +syn keyword n1qlOperator BASE64_DECODE +syn keyword n1qlOperator BASE64_ENCODE +syn keyword n1qlOperator CEIL +syn keyword n1qlOperator CLOCK_LOCAL +syn keyword n1qlOperator CLOCK_STR +syn keyword n1qlOperator CLOCK_TZ +syn keyword n1qlOperator CLOCK_UTC +syn keyword n1qlOperator CLOCL_MILLIS +syn keyword n1qlOperator CONTAINS +syn keyword n1qlOperator COS +syn keyword n1qlOperator COUNT +syn keyword n1qlOperator DATE_ADD_MILLIS +syn keyword n1qlOperator DATE_ADD_STR +syn keyword n1qlOperator DATE_DIFF_MILLIS +syn keyword n1qlOperator DATE_DIFF_STR +syn keyword n1qlOperator DATE_FORMAT_STR +syn keyword n1qlOperator DATE_PART_MILLIS +syn keyword n1qlOperator DATE_PART_STR +syn keyword n1qlOperator DATE_RANGE_MILLIS +syn keyword n1qlOperator DATE_RANGE_STR +syn keyword n1qlOperator DATE_TRUC_STR +syn keyword n1qlOperator DATE_TRUNC_MILLIS +syn keyword n1qlOperator DECODE_JSON +syn keyword n1qlOperator DEGREES +syn keyword n1qlOperator DURATION_TO_STR +syn keyword n1qlOperator E +syn keyword n1qlOperator ENCODED_SIZE +syn keyword n1qlOperator ENCODE_JSON +syn keyword n1qlOperator EXP +syn keyword n1qlOperator FLOOR +syn keyword n1qlOperator GREATEST +syn keyword n1qlOperator IFINF +syn keyword n1qlOperator IFMISSING +syn keyword n1qlOperator IFMISSINGORNULL +syn keyword n1qlOperator IFNAN +syn keyword n1qlOperator IFNANORINF +syn keyword n1qlOperator IFNULL +syn keyword n1qlOperator INITCAP +syn keyword n1qlOperator ISARRAY +syn keyword n1qlOperator ISATOM +syn keyword n1qlOperator ISBOOLEAN +syn keyword n1qlOperator ISNUMBER +syn keyword n1qlOperator ISOBJECT +syn keyword n1qlOperator ISSTRING +syn keyword n1qlOperator LEAST +syn keyword n1qlOperator LENGTH +syn keyword n1qlOperator LN +syn keyword n1qlOperator LOG +syn keyword n1qlOperator LOWER +syn keyword n1qlOperator LTRIM +syn keyword n1qlOperator MAX +syn keyword n1qlOperator META +syn keyword n1qlOperator MILLIS +syn keyword n1qlOperator MILLIS_TO_LOCAL +syn keyword n1qlOperator MILLIS_TO_STR +syn keyword n1qlOperator MILLIS_TO_TZ +syn keyword n1qlOperator MILLIS_TO_UTC +syn keyword n1qlOperator MILLIS_TO_ZONE_NAME +syn keyword n1qlOperator MIN +syn keyword n1qlOperator MISSINGIF +syn keyword n1qlOperator NANIF +syn keyword n1qlOperator NEGINFIF +syn keyword n1qlOperator NOW_LOCAL +syn keyword n1qlOperator NOW_MILLIS +syn keyword n1qlOperator NOW_STR +syn keyword n1qlOperator NOW_TZ +syn keyword n1qlOperator NOW_UTC +syn keyword n1qlOperator NULLIF +syn keyword n1qlOperator OBJECT_ADD +syn keyword n1qlOperator OBJECT_CONCAT +syn keyword n1qlOperator OBJECT_INNER_PAIRS +syn keyword n1qlOperator OBJECT_INNER_VALUES +syn keyword n1qlOperator OBJECT_LENGTH +syn keyword n1qlOperator OBJECT_NAMES +syn keyword n1qlOperator OBJECT_PAIRS +syn keyword n1qlOperator OBJECT_PUT +syn keyword n1qlOperator OBJECT_REMOVE +syn keyword n1qlOperator OBJECT_RENAME +syn keyword n1qlOperator OBJECT_REPLACE +syn keyword n1qlOperator OBJECT_UNWRAP +syn keyword n1qlOperator OBJECT_VALUES +syn keyword n1qlOperator PI +syn keyword n1qlOperator POLY_LENGTH +syn keyword n1qlOperator POSINIF +syn keyword n1qlOperator POSITION +syn keyword n1qlOperator POWER +syn keyword n1qlOperator RADIANS +syn keyword n1qlOperator RANDOM +syn keyword n1qlOperator REGEXP_CONTAINS +syn keyword n1qlOperator REGEXP_LIKE +syn keyword n1qlOperator REGEXP_POSITION +syn keyword n1qlOperator REGEXP_REPLACE +syn keyword n1qlOperator REPEAT +syn keyword n1qlOperator REPLACE +syn keyword n1qlOperator REVERSE +syn keyword n1qlOperator ROUND +syn keyword n1qlOperator RTRIM +syn keyword n1qlOperator SIGN +syn keyword n1qlOperator SIN +syn keyword n1qlOperator SPLIT +syn keyword n1qlOperator SQRT +syn keyword n1qlOperator STR_TO_DURATION +syn keyword n1qlOperator STR_TO_MILLIS +syn keyword n1qlOperator STR_TO_TZ +syn keyword n1qlOperator STR_TO_UTC +syn keyword n1qlOperator STR_TO_ZONE_NAME +syn keyword n1qlOperator SUBSTR +syn keyword n1qlOperator SUFFIXES +syn keyword n1qlOperator SUM +syn keyword n1qlOperator TAN +syn keyword n1qlOperator TITLE +syn keyword n1qlOperator TOARRAY +syn keyword n1qlOperator TOATOM +syn keyword n1qlOperator TOBOOLEAN +syn keyword n1qlOperator TOKENS +syn keyword n1qlOperator TONUMBER +syn keyword n1qlOperator TOOBJECT +syn keyword n1qlOperator TOSTRING +syn keyword n1qlOperator TRIM +syn keyword n1qlOperator TRUNC +syn keyword n1qlOperator TYPE +syn keyword n1qlOperator UPPER +syn keyword n1qlOperator UUID +syn keyword n1qlOperator WEEKDAY_MILLIS +syn keyword n1qlOperator WEEKDAY_STR + + +" +" *** operators *** +" +syn keyword n1qlOperator AND +syn keyword n1qlOperator AS +syn keyword n1qlOperator BY +syn keyword n1qlOperator DISTINCT +syn keyword n1qlOperator EXCEPT +syn keyword n1qlOperator ILIKE +syn keyword n1qlOperator IN +syn keyword n1qlOperator INTERSECT +syn keyword n1qlOperator IS +syn keyword n1qlOperator JOIN +syn keyword n1qlOperator LEFT +syn keyword n1qlOperator LIKE +syn keyword n1qlOperator MINUS +syn keyword n1qlOperator NEST +syn keyword n1qlOperator NESTING +syn keyword n1qlOperator NOT +syn keyword n1qlOperator OFFSET +syn keyword n1qlOperator ON +syn keyword n1qlOperator OR +syn keyword n1qlOperator OUT +syn keyword n1qlOperator RIGHT +syn keyword n1qlOperator SOME +syn keyword n1qlOperator TO +syn keyword n1qlOperator UNION +syn keyword n1qlOperator UNIQUE +syn keyword n1qlOperator UNNEST +syn keyword n1qlOperator VIA +syn keyword n1qlOperator WITH +syn keyword n1qlOperator XOR + + +" +" *** statements *** +" +syn keyword n1qlStatement ALTER +syn keyword n1qlStatement ANALYZE +syn keyword n1qlStatement BUILD +syn keyword n1qlStatement COMMIT +syn keyword n1qlStatement CREATE +syn keyword n1qlStatement DELETE +syn keyword n1qlStatement DROP +syn keyword n1qlStatement EXECUTE +syn keyword n1qlStatement EXPLAIN +syn keyword n1qlStatement GRANT +syn keyword n1qlStatement INFER +syn keyword n1qlStatement INSERT +syn keyword n1qlStatement MERGE +syn keyword n1qlStatement PREPARE +syn keyword n1qlStatement RENAME +syn keyword n1qlStatement REVOKE +syn keyword n1qlStatement ROLLBACK +syn keyword n1qlStatement SELECT +syn keyword n1qlStatement SET +syn keyword n1qlStatement TRUNCATE +syn keyword n1qlStatement UPDATE +syn keyword n1qlStatement UPSERT + + +" +" *** types *** +" +syn keyword n1qlType ARRAY +syn keyword n1qlType BINARY +syn keyword n1qlType BOOLEAN +syn keyword n1qlType NUMBER +syn keyword n1qlType OBJECT +syn keyword n1qlType RAW +syn keyword n1qlType STRING + + +" +" *** strings and characters *** +" +syn region n1qlString start=+"+ skip=+\\\\\|\\"+ end=+"+ +syn region n1qlString start=+'+ skip=+\\\\\|\\'+ end=+'+ +syn region n1qlBucketSpec start=+`+ skip=+\\\\\|\\'+ end=+`+ + + +" +" *** numbers *** +" +syn match n1qlNumber "-\=\<\d*\.\=[0-9_]\>" + + +" +" *** comments *** +" +syn region n1qlComment start="/\*" end="\*/" contains=n1qlTODO +syn match n1qlComment "--.*$" contains=n1qlTODO +syn sync ccomment n1qlComment + + +" +" *** TODO *** +" +syn keyword n1qlTODO contained TODO FIXME XXX DEBUG NOTE + + +" +" *** enable *** +" +hi def link n1qlBucketSpec Underlined +hi def link n1qlComment Comment +hi def link n1qlKeyword Macro +hi def link n1qlOperator Function +hi def link n1qlSpecial Special +hi def link n1qlStatement Statement +hi def link n1qlString String +hi def link n1qlTODO Todo +hi def link n1qlType Type + +let b:current_syntax = "n1ql" diff --git a/runtime/syntax/neomuttrc.vim b/runtime/syntax/neomuttrc.vim new file mode 100644 index 0000000000..ea9d1f0885 --- /dev/null +++ b/runtime/syntax/neomuttrc.vim @@ -0,0 +1,1032 @@ +" Vim syntax file +" Language: NeoMutt setup files +" Maintainer: Guillaume Brogi <gui-gui@netcourrier.com> +" Last Change: 2017 Oct 28 +" Original version based on syntax/muttrc.vim + +" This file covers NeoMutt 20170912 + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&vim + +" Set the keyword characters +setlocal isk=@,48-57,_,- + +" handling optional variables +syntax match muttrcComment "^# .*$" contains=@Spell +syntax match muttrcComment "^#[^ ].*$" +syntax match muttrcComment "^#$" +syntax match muttrcComment "[^\\]#.*$"lc=1 + +" Escape sequences (back-tick and pipe goes here too) +syntax match muttrcEscape +\\[#tnr"'Cc ]+ +syntax match muttrcEscape +[`|]+ +syntax match muttrcEscape +\\$+ + +" The variables takes the following arguments +"syn match muttrcString contained "=\s*[^ #"'`]\+"lc=1 contains=muttrcEscape +syntax region muttrcString contained keepend start=+"+ms=e skip=+\\"+ end=+"+ contains=muttrcEscape,muttrcCommand,muttrcAction,muttrcShellString +syntax region muttrcString contained keepend start=+'+ms=e skip=+\\'+ end=+'+ contains=muttrcEscape,muttrcCommand,muttrcAction +syntax match muttrcStringNL contained skipwhite skipnl "\s*\\$" nextgroup=muttrcString,muttrcStringNL + +syntax region muttrcShellString matchgroup=muttrcEscape keepend start=+`+ skip=+\\`+ end=+`+ contains=muttrcVarStr,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcCommand,muttrcVarDeprecatedStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad + +syntax match muttrcRXChars contained /[^\\][][.*?+]\+/hs=s+1 +syntax match muttrcRXChars contained /[][|()][.*?+]*/ +syntax match muttrcRXChars contained /['"]^/ms=s+1 +syntax match muttrcRXChars contained /$['"]/me=e-1 +syntax match muttrcRXChars contained /\\/ +" Why does muttrcRXString2 work with one \ when muttrcRXString requires two? +syntax region muttrcRXString contained skipwhite start=+'+ skip=+\\'+ end=+'+ contains=muttrcRXChars +syntax region muttrcRXString contained skipwhite start=+"+ skip=+\\"+ end=+"+ contains=muttrcRXChars +syntax region muttrcRXString contained skipwhite start=+[^ "'^]+ skip=+\\\s+ end=+\s+re=e-1 contains=muttrcRXChars +" For some reason, skip refuses to match backslashes here... +syntax region muttrcRXString contained matchgroup=muttrcRXChars skipwhite start=+\^+ end=+[^\\]\s+re=e-1 contains=muttrcRXChars +syntax region muttrcRXString contained matchgroup=muttrcRXChars skipwhite start=+\^+ end=+$\s+ contains=muttrcRXChars +syntax region muttrcRXString2 contained skipwhite start=+'+ skip=+\'+ end=+'+ contains=muttrcRXChars +syntax region muttrcRXString2 contained skipwhite start=+"+ skip=+\"+ end=+"+ contains=muttrcRXChars + +" these must be kept synchronized with muttrcRXString, but are intended for +" muttrcRXHooks +syntax region muttrcRXHookString contained keepend skipwhite start=+'+ skip=+\\'+ end=+'+ contains=muttrcRXString nextgroup=muttrcString,muttrcStringNL +syntax region muttrcRXHookString contained keepend skipwhite start=+"+ skip=+\\"+ end=+"+ contains=muttrcRXString nextgroup=muttrcString,muttrcStringNL +syntax region muttrcRXHookString contained keepend skipwhite start=+[^ "'^]+ skip=+\\\s+ end=+\s+re=e-1 contains=muttrcRXString nextgroup=muttrcString,muttrcStringNL +syntax region muttrcRXHookString contained keepend skipwhite start=+\^+ end=+[^\\]\s+re=e-1 contains=muttrcRXString nextgroup=muttrcString,muttrcStringNL +syntax region muttrcRXHookString contained keepend matchgroup=muttrcRXChars skipwhite start=+\^+ end=+$\s+ contains=muttrcRXString nextgroup=muttrcString,muttrcStringNL +syntax match muttrcRXHookStringNL contained skipwhite skipnl "\s*\\$" nextgroup=muttrcRXHookString,muttrcRXHookStringNL + +" these are exclusively for args lists (e.g. -rx pat pat pat ...) +syntax region muttrcRXPat contained keepend skipwhite start=+'+ skip=+\\'+ end=+'\s*+ contains=muttrcRXString nextgroup=muttrcRXPat +syntax region muttrcRXPat contained keepend skipwhite start=+"+ skip=+\\"+ end=+"\s*+ contains=muttrcRXString nextgroup=muttrcRXPat +syntax match muttrcRXPat contained /[^-'"#!]\S\+/ skipwhite contains=muttrcRXChars nextgroup=muttrcRXPat +syntax match muttrcRXDef contained "-rx\s\+" skipwhite nextgroup=muttrcRXPat + +syntax match muttrcSpecial +\(['"]\)!\1+ + +syntax match muttrcSetStrAssignment contained skipwhite /=\s*\%(\\\?\$\)\?[0-9A-Za-z_-]\+/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr contains=muttrcVariable,muttrcEscapedVariable +syntax region muttrcSetStrAssignment contained skipwhite keepend start=+=\s*"+hs=s+1 end=+"+ skip=+\\"+ nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr contains=muttrcString +syntax region muttrcSetStrAssignment contained skipwhite keepend start=+=\s*'+hs=s+1 end=+'+ skip=+\\'+ nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr contains=muttrcString +syntax match muttrcSetBoolAssignment contained skipwhite /=\s*\\\?\$\w\+/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr contains=muttrcVariable,muttrcEscapedVariable +syntax match muttrcSetBoolAssignment contained skipwhite /=\s*\%(yes\|no\)/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr +syntax match muttrcSetBoolAssignment contained skipwhite /=\s*"\%(yes\|no\)"/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr +syntax match muttrcSetBoolAssignment contained skipwhite /=\s*'\%(yes\|no\)'/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr +syntax match muttrcSetQuadAssignment contained skipwhite /=\s*\\\?\$\w\+/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr contains=muttrcVariable,muttrcEscapedVariable +syntax match muttrcSetQuadAssignment contained skipwhite /=\s*\%(ask-\)\?\%(yes\|no\)/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr +syntax match muttrcSetQuadAssignment contained skipwhite /=\s*"\%(ask-\)\?\%(yes\|no\)"/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr +syntax match muttrcSetQuadAssignment contained skipwhite /=\s*'\%(ask-\)\?\%(yes\|no\)'/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr +syntax match muttrcSetNumAssignment contained skipwhite /=\s*\\\?\$\w\+/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr contains=muttrcVariable,muttrcEscapedVariable +syntax match muttrcSetNumAssignment contained skipwhite /=\s*\d\+/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr +syntax match muttrcSetNumAssignment contained skipwhite /=\s*"\d\+"/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr +syntax match muttrcSetNumAssignment contained skipwhite /=\s*'\d\+'/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr + +" Now catch some email addresses and headers (purified version from mail.vim) +syntax match muttrcEmail "[a-zA-Z0-9._-]\+@[a-zA-Z0-9./-]\+" +syntax match muttrcHeader "\<\c\%(From\|To\|C[Cc]\|B[Cc][Cc]\|Reply-To\|Subject\|Return-Path\|Received\|Date\|Replied\|Attach\)\>:\=" + +syntax match muttrcKeySpecial contained +\%(\\[Cc'"]\|\^\|\\[01]\d\{2}\)+ +syntax match muttrcKey contained "\S\+" contains=muttrcKeySpecial,muttrcKeyName +syntax region muttrcKey contained start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=muttrcKeySpecial,muttrcKeyName +syntax region muttrcKey contained start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=muttrcKeySpecial,muttrcKeyName +syntax match muttrcKeyName contained "\\[trne]" +syntax match muttrcKeyName contained "\c<\%(BackSpace\|BackTab\|Delete\|Down\|End\|Enter\|Esc\|Home\|Insert\|Left\|Next\|PageDown\|PageUp\|Return\|Right\|Space\|Tab\|Up\)>" +syntax match muttrcKeyName contained "\c<F\d\+>" + +syntax match muttrcFormatErrors contained /%./ + +syntax match muttrcStrftimeEscapes contained /%[AaBbCcDdeFGgHhIjklMmnpRrSsTtUuVvWwXxYyZz+%]/ +syntax match muttrcStrftimeEscapes contained /%E[cCxXyY]/ +syntax match muttrcStrftimeEscapes contained /%O[BdeHImMSuUVwWy]/ + +syntax region muttrcIndexFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcIndexFormatEscapes,muttrcIndexFormatConditionals,muttrcFormatErrors,muttrcTimeEscapes nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr +syntax region muttrcIndexFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcIndexFormatEscapes,muttrcIndexFormatConditionals,muttrcFormatErrors,muttrcTimeEscapes nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr +syntax region muttrcGroupIndexFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcGroupIndexFormatEscapes,muttrcGroupIndexFormatConditionals,muttrcFormatErrors,muttrcTimeEscapes nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr +syntax region muttrcGroupIndexFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcGroupIndexFormatEscapes,muttrcGroupIndexFormatConditionals,muttrcFormatErrors,muttrcTimeEscapes nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr +syntax region muttrcSidebarFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcSidebarFormatEscapes,muttrcSidebarFormatConditionals,muttrcFormatErrors,muttrcTimeEscapes nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr +syntax region muttrcSidebarFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcSidebarFormatEscapes,muttrcSidebarFormatConditionals,muttrcFormatErrors,muttrcTimeEscapes nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr +syntax region muttrcQueryFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcQueryFormatEscapes,muttrcQueryFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr +syntax region muttrcAliasFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcAliasFormatEscapes,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr +syntax region muttrcAliasFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcAliasFormatEscapes,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr +syntax region muttrcAttachFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcAttachFormatEscapes,muttrcAttachFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr +syntax region muttrcAttachFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcAttachFormatEscapes,muttrcAttachFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr +syntax region muttrcComposeFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcComposeFormatEscapes,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr +syntax region muttrcComposeFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcComposeFormatEscapes,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr +syntax region muttrcFolderFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcFolderFormatEscapes,muttrcFolderFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr +syntax region muttrcFolderFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcFolderFormatEscapes,muttrcFolderFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr +syntax region muttrcMixFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcMixFormatEscapes,muttrcMixFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr +syntax region muttrcMixFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcMixFormatEscapes,muttrcMixFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr +syntax region muttrcPGPFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcPGPFormatEscapes,muttrcPGPFormatConditionals,muttrcFormatErrors,muttrcPGPTimeEscapes nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr +syntax region muttrcPGPFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcPGPFormatEscapes,muttrcPGPFormatConditionals,muttrcFormatErrors,muttrcPGPTimeEscapes nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr +syntax region muttrcPGPCmdFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcPGPCmdFormatEscapes,muttrcPGPCmdFormatConditionals,muttrcVariable,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr +syntax region muttrcPGPCmdFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcPGPCmdFormatEscapes,muttrcPGPCmdFormatConditionals,muttrcVariable,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr +syntax region muttrcStatusFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcStatusFormatEscapes,muttrcStatusFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr +syntax region muttrcStatusFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcStatusFormatEscapes,muttrcStatusFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr +syntax region muttrcPGPGetKeysFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcPGPGetKeysFormatEscapes,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr +syntax region muttrcPGPGetKeysFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcPGPGetKeysFormatEscapes,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr +syntax region muttrcSmimeFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcSmimeFormatEscapes,muttrcSmimeFormatConditionals,muttrcVariable,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr +syntax region muttrcSmimeFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcSmimeFormatEscapes,muttrcSmimeFormatConditionals,muttrcVariable,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr +syntax region muttrcStrftimeFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcStrftimeEscapes,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr +syntax region muttrcStrftimeFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcStrftimeEscapes,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr + +" Format escapes and conditionals +syntax match muttrcFormatConditionals2 contained /[^?]*?/ +function s:escapesConditionals(baseName, sequence, alignment, secondary) + exec 'syntax match muttrc' . a:baseName . 'Escapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?\%(' . a:sequence . '\|%\)/' + if a:alignment + exec 'syntax match muttrc' . a:baseName . 'Escapes contained /%[>|*]./' + endif + if a:secondary + exec 'syntax match muttrc' . a:baseName . 'Conditionals contained /%?\%(' . a:sequence . '\)?/ nextgroup=muttrcFormatConditionals2' + else + exec 'syntax match muttrc' . a:baseName . 'Conditionals contained /%?\%(' . a:sequence . '\)?/' + endif +endfunction + +" flatcap compiled a list of formats here: https://pastebin.com/raw/5QXhiP6L +" UPDATE +" The following info was pulled from hdr_format_str in hdrline.c +call s:escapesConditionals('IndexFormat', '[AaBbCcDdEeFfgHIiJKLlMmNnOPqrSsTtuvWXxYyZz(<[{]\|G[a-zA-Z]\+', 1, 1) +" The following info was pulled from alias_format_str in addrbook.c +syntax match muttrcAliasFormatEscapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?[afnrt%]/ +" The following info was pulled from newsgroup_format_str in browser.c +call s:escapesConditionals('GroupIndexFormat', '[CdfMNns]', 1, 1) +" The following info was pulled from cb_format_str in sidebar.c +call s:escapesConditionals('SidebarFormat', '[BdFLNnSt!]', 1, 1) +" The following info was pulled from query_format_str in query.c +call s:escapesConditionals('QueryFormat', '[acent]', 0, 1) +" The following info was pulled from mutt_attach_fmt in recvattach.c +call s:escapesConditionals('AttachFormat', '[CcDdeFfIMmnQsTtuX]', 1, 1) +" The following info was pulled from compose_format_str in compose.c +syntax match muttrcComposeFormatEscapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?[ahlv%]/ +syntax match muttrcComposeFormatEscapes contained /%[>|*]./ +" The following info was pulled from folder_format_str in browser.c +call s:escapesConditionals('FolderFormat', '[CDdfFglNstu]', 1, 0) +" The following info was pulled from mix_entry_fmt in remailer.c +call s:escapesConditionals('MixFormat', '[acns]', 0, 0) +" The following info was pulled from crypt_entry_fmt in crypt-gpgme.c +" and pgp_entry_fmt in pgpkey.c (note that crypt_entry_fmt supports +" 'p', but pgp_entry_fmt does not). +call s:escapesConditionals('PGPFormat', '[acfklnptu[]', 0, 0) +" The following info was pulled from _mutt_fmt_pgp_command in +" pgpinvoke.c +call s:escapesConditionals('PGPCmdFormat', '[afprs]', 0, 1) +" The following info was pulled from status_format_str in status.c +call s:escapesConditionals('StatusFormat', '[bdFfhLlMmnoPprSstuVu]', 1, 1) +" This matches the documentation, but directly contradicts the code +" (according to the code, this should be identical to the +" muttrcPGPCmdFormatEscapes +syntax match muttrcPGPGetKeysFormatEscapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?[acfklntu[%]/ +" The following info was pulled from _mutt_fmt_smime_command in +" smime.c +call s:escapesConditionals('SmimeFormat', '[aCcdfiks]', 0, 1) + +syntax region muttrcTimeEscapes contained start=+%{+ end=+}+ contains=muttrcStrftimeEscapes +syntax region muttrcTimeEscapes contained start=+%\[+ end=+\]+ contains=muttrcStrftimeEscapes +syntax region muttrcTimeEscapes contained start=+%(+ end=+)+ contains=muttrcStrftimeEscapes +syntax region muttrcTimeEscapes contained start=+%<+ end=+>+ contains=muttrcStrftimeEscapes +syntax region muttrcPGPTimeEscapes contained start=+%\[+ end=+\]+ contains=muttrcStrftimeEscapes + +syntax match muttrcVarEqualsAliasFmt contained skipwhite "=" nextgroup=muttrcAliasFormatStr +syntax match muttrcVarEqualsAttachFmt contained skipwhite "=" nextgroup=muttrcAttachFormatStr +syntax match muttrcVarEqualsComposeFmt contained skipwhite "=" nextgroup=muttrcComposeFormatStr +syntax match muttrcVarEqualsFolderFmt contained skipwhite "=" nextgroup=muttrcFolderFormatStr +syntax match muttrcVarEqualsIdxFmt contained skipwhite "=" nextgroup=muttrcIndexFormatStr +syntax match muttrcVarEqualsGrpIdxFmt contained skipwhite "=" nextgroup=muttrcGroupIndexFormatStr +syntax match muttrcVarEqualsMixFmt contained skipwhite "=" nextgroup=muttrcMixFormatStr +syntax match muttrcVarEqualsPGPFmt contained skipwhite "=" nextgroup=muttrcPGPFormatStr +syntax match muttrcVarEqualsQueryFmt contained skipwhite "=" nextgroup=muttrcQueryFormatStr +syntax match muttrcVarEqualsPGPCmdFmt contained skipwhite "=" nextgroup=muttrcPGPCmdFormatStr +syntax match muttrcVarEqualsSdbFmt contained skipwhite "=" nextgroup=muttrcSidebarFormatStr +syntax match muttrcVarEqualsStatusFmt contained skipwhite "=" nextgroup=muttrcStatusFormatStr +syntax match muttrcVarEqualsPGPGetKeysFmt contained skipwhite "=" nextgroup=muttrcPGPGetKeysFormatStr +syntax match muttrcVarEqualsSmimeFmt contained skipwhite "=" nextgroup=muttrcSmimeFormatStr +syntax match muttrcVarEqualsStrftimeFmt contained skipwhite "=" nextgroup=muttrcStrftimeFormatStr + +syntax match muttrcVPrefix contained /[?&]/ nextgroup=muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr + +" List of the different screens in mutt +" UPDATE +syntax keyword muttrcMenu contained alias attach browser compose editor index pager postpone pgp mix query generic +syntax match muttrcMenuList "\S\+" contained contains=muttrcMenu +syntax match muttrcMenuCommas /,/ contained + +" List of hooks in Commands in init.h +" UPDATE +syntax keyword muttrcHooks contained skipwhite + \ account-hook append-hook charset-hook + \ close-hook crypt-hook fcc-hook fcc-save-hook folder-hook iconv-hook mbox-hook + \ message-hook open-hook pgp-hook reply-hook save-hook send-hook send2-hook +syntax keyword muttrcHooks skipwhite shutdown-hook startup-hook timeout-hook nextgroup=muttrcCommand + +syntax region muttrcSpamPattern contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcPattern nextgroup=muttrcString,muttrcStringNL +syntax region muttrcSpamPattern contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcPattern nextgroup=muttrcString,muttrcStringNL + +syntax region muttrcNoSpamPattern contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcPattern +syntax region muttrcNoSpamPattern contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcPattern + +syntax match muttrcAttachmentsMimeType contained "[*a-z0-9_-]\+/[*a-z0-9._-]\+\s*" skipwhite nextgroup=muttrcAttachmentsMimeType +syntax match muttrcAttachmentsFlag contained "[+-]\%([AI]\|inline\|attachment\)\s\+" skipwhite nextgroup=muttrcAttachmentsMimeType +syntax match muttrcAttachmentsLine "^\s*\%(un\)\?attachments\s\+" skipwhite nextgroup=muttrcAttachmentsFlag + +syntax match muttrcUnHighlightSpace contained "\%(\s\+\|\\$\)" + +syntax keyword muttrcAsterisk contained * +syntax keyword muttrcListsKeyword lists skipwhite nextgroup=muttrcGroupDef,muttrcComment +syntax keyword muttrcListsKeyword unlists skipwhite nextgroup=muttrcAsterisk,muttrcComment + +syntax keyword muttrcSubscribeKeyword subscribe nextgroup=muttrcGroupDef,muttrcComment +syntax keyword muttrcSubscribeKeyword unsubscribe nextgroup=muttrcAsterisk,muttrcComment + +syntax keyword muttrcAlternateKeyword contained alternates unalternates +syntax region muttrcAlternatesLine keepend start=+^\s*\%(un\)\?alternates\s+ skip=+\\$+ end=+$+ contains=muttrcAlternateKeyword,muttrcGroupDef,muttrcRXPat,muttrcUnHighlightSpace,muttrcComment + +" muttrcVariable includes a prefix because partial strings are considered +" valid. +syntax match muttrcVariable contained "\\\@<![a-zA-Z_-]*\$[a-zA-Z_-]\+" contains=muttrcVariableInner +syntax match muttrcVariableInner contained "\$[a-zA-Z_-]\+" +syntax match muttrcEscapedVariable contained "\\\$[a-zA-Z_-]\+" + +syntax match muttrcBadAction contained "[^<>]\+" contains=muttrcEmail +syntax match muttrcAction contained "<[^>]\{-}>" contains=muttrcBadAction,muttrcFunction,muttrcKeyName + +" First, functions that take regular expressions: +syntax match muttrcRXHookNot contained /!\s*/ skipwhite nextgroup=muttrcRXHookString,muttrcRXHookStringNL +syntax match muttrcRXHooks /\<\%(account\|append\|close\|crypt\|folder\|mbox\|open\|pgp\)-hook\>/ skipwhite nextgroup=muttrcRXHookNot,muttrcRXHookString,muttrcRXHookStringNL + +" Now, functions that take patterns +syntax match muttrcPatHookNot contained /!\s*/ skipwhite nextgroup=muttrcPattern +syntax match muttrcPatHooks /\<\%(charset\|iconv\)-hook\>/ skipwhite nextgroup=muttrcPatHookNot,muttrcPattern +syntax match muttrcPatHooks /\<\%(message\|reply\|send\|send2\|save\|fcc\|fcc-save\)-hook\>/ skipwhite nextgroup=muttrcPatHookNot,muttrcOptPattern + +syntax match muttrcBindFunction contained /\S\+\>/ skipwhite contains=muttrcFunction +syntax match muttrcBindFunctionNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcBindFunction,muttrcBindFunctionNL +syntax match muttrcBindKey contained /\S\+/ skipwhite contains=muttrcKey nextgroup=muttrcBindFunction,muttrcBindFunctionNL +syntax match muttrcBindKeyNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcBindKey,muttrcBindKeyNL +syntax match muttrcBindMenuList contained /\S\+/ skipwhite contains=muttrcMenu,muttrcMenuCommas nextgroup=muttrcBindKey,muttrcBindKeyNL +syntax match muttrcBindMenuListNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcBindMenuList,muttrcBindMenuListNL + +syntax region muttrcMacroDescr contained keepend skipwhite start=+\s*\S+ms=e skip=+\\ + end=+ \|$+me=s +syntax region muttrcMacroDescr contained keepend skipwhite start=+'+ms=e skip=+\\'+ end=+'+me=s +syntax region muttrcMacroDescr contained keepend skipwhite start=+"+ms=e skip=+\\"+ end=+"+me=s +syntax match muttrcMacroDescrNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcMacroDescr,muttrcMacroDescrNL +syntax region muttrcMacroBody contained skipwhite start="\S" skip='\\ \|\\$' end=' \|$' contains=muttrcEscape,muttrcSet,muttrcUnset,muttrcReset,muttrcToggle,muttrcCommand,muttrcAction nextgroup=muttrcMacroDescr,muttrcMacroDescrNL +syntax region muttrcMacroBody matchgroup=Type contained skipwhite start=+'+ms=e skip=+\\'+ end=+'\|\%(\%(\\\\\)\@<!$\)+me=s contains=muttrcEscape,muttrcSet,muttrcUnset,muttrcReset,muttrcToggle,muttrcSpam,muttrcNoSpam,muttrcCommand,muttrcAction,muttrcVariable nextgroup=muttrcMacroDescr,muttrcMacroDescrNL +syntax region muttrcMacroBody matchgroup=Type contained skipwhite start=+"+ms=e skip=+\\"+ end=+"\|\%(\%(\\\\\)\@<!$\)+me=s contains=muttrcEscape,muttrcSet,muttrcUnset,muttrcReset,muttrcToggle,muttrcSpam,muttrcNoSpam,muttrcCommand,muttrcAction,muttrcVariable nextgroup=muttrcMacroDescr,muttrcMacroDescrNL +syntax match muttrcMacroBodyNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcMacroBody,muttrcMacroBodyNL +syntax match muttrcMacroKey contained /\S\+/ skipwhite contains=muttrcKey nextgroup=muttrcMacroBody,muttrcMacroBodyNL +syntax match muttrcMacroKeyNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcMacroKey,muttrcMacroKeyNL +syntax match muttrcMacroMenuList contained /\S\+/ skipwhite contains=muttrcMenu,muttrcMenuCommas nextgroup=muttrcMacroKey,muttrcMacroKeyNL +syntax match muttrcMacroMenuListNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcMacroMenuList,muttrcMacroMenuListNL + +syntax match muttrcAddrContent contained "[a-zA-Z0-9._-]\+@[a-zA-Z0-9./-]\+\s*" skipwhite contains=muttrcEmail nextgroup=muttrcAddrContent +syntax region muttrcAddrContent contained start=+'+ end=+'\s*+ skip=+\\'+ skipwhite contains=muttrcEmail nextgroup=muttrcAddrContent +syntax region muttrcAddrContent contained start=+"+ end=+"\s*+ skip=+\\"+ skipwhite contains=muttrcEmail nextgroup=muttrcAddrContent +syntax match muttrcAddrDef contained "-addr\s\+" skipwhite nextgroup=muttrcAddrContent + +syntax match muttrcGroupFlag contained "-group" +syntax region muttrcGroupDef contained start="-group\s\+" skip="\\$" end="\s" skipwhite keepend contains=muttrcGroupFlag,muttrcUnHighlightSpace + +syntax keyword muttrcGroupKeyword contained group ungroup +syntax region muttrcGroupLine keepend start=+^\s*\%(un\)\?group\s+ skip=+\\$+ end=+$+ contains=muttrcGroupKeyword,muttrcGroupDef,muttrcAddrDef,muttrcRXDef,muttrcUnHighlightSpace,muttrcComment + +syntax match muttrcAliasGroupName contained /\w\+/ skipwhite nextgroup=muttrcAliasGroupDef,muttrcAliasKey,muttrcAliasNL +syntax match muttrcAliasGroupDefNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcAliasGroupName,muttrcAliasGroupDefNL +syntax match muttrcAliasGroupDef contained /\s*-group/ skipwhite nextgroup=muttrcAliasGroupName,muttrcAliasGroupDefNL contains=muttrcGroupFlag +syntax match muttrcAliasComma contained /,/ skipwhite nextgroup=muttrcAliasEmail,muttrcAliasEncEmail,muttrcAliasNameNoParens,muttrcAliasENNL +syntax match muttrcAliasEmail contained /\S\+@\S\+/ contains=muttrcEmail nextgroup=muttrcAliasName,muttrcAliasNameNL skipwhite +syntax match muttrcAliasEncEmail contained /<[^>]\+>/ contains=muttrcEmail nextgroup=muttrcAliasComma +syntax match muttrcAliasEncEmailNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcAliasEncEmail,muttrcAliasEncEmailNL +syntax match muttrcAliasNameNoParens contained /[^<(@]\+\s\+/ nextgroup=muttrcAliasEncEmail,muttrcAliasEncEmailNL +syntax region muttrcAliasName contained matchgroup=Type start=/(/ end=/)/ skipwhite +syntax match muttrcAliasNameNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcAliasName,muttrcAliasNameNL +syntax match muttrcAliasENNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcAliasEmail,muttrcAliasEncEmail,muttrcAliasNameNoParens,muttrcAliasENNL +syntax match muttrcAliasKey contained /\s*[^- \t]\S\+/ skipwhite nextgroup=muttrcAliasEmail,muttrcAliasEncEmail,muttrcAliasNameNoParens,muttrcAliasENNL +syntax match muttrcAliasNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcAliasGroupDef,muttrcAliasKey,muttrcAliasNL + +syntax match muttrcUnAliasKey contained "\s*\w\+\s*" skipwhite nextgroup=muttrcUnAliasKey,muttrcUnAliasNL +syntax match muttrcUnAliasNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcUnAliasKey,muttrcUnAliasNL + +syntax match muttrcSimplePat contained "!\?\^\?[~][ADEFgGklNOpPQRSTuUvV=$]" +syntax match muttrcSimplePat contained "!\?\^\?[~][mnXz]\s*\%([<>-][0-9]\+[kM]\?\|[0-9]\+[kM]\?[-]\%([0-9]\+[kM]\?\)\?\)" +syntax match muttrcSimplePat contained "!\?\^\?[~][dr]\s*\%(\%(-\?[0-9]\{1,2}\%(/[0-9]\{1,2}\%(/[0-9]\{2}\%([0-9]\{2}\)\?\)\?\)\?\%([+*-][0-9]\+[ymwd]\)*\)\|\%(\%([0-9]\{1,2}\%(/[0-9]\{1,2}\%(/[0-9]\{2}\%([0-9]\{2}\)\?\)\?\)\?\%([+*-][0-9]\+[ymwd]\)*\)-\%([0-9]\{1,2}\%(/[0-9]\{1,2}\%(/[0-9]\{2}\%([0-9]\{2}\)\?\)\?\)\?\%([+*-][0-9]\+[ymwd]\)\?\)\?\)\|\%([<>=][0-9]\+[ymwd]\)\|\%(`[^`]\+`\)\|\%(\$[a-zA-Z0-9_-]\+\)\)" contains=muttrcShellString,muttrcVariable +syntax match muttrcSimplePat contained "!\?\^\?[~][bBcCefhHiLstxy]\s*" nextgroup=muttrcSimplePatRXContainer +syntax match muttrcSimplePat contained "!\?\^\?[%][bBcCefhHiLstxy]\s*" nextgroup=muttrcSimplePatString +syntax match muttrcSimplePat contained "!\?\^\?[=][bcCefhHiLstxy]\s*" nextgroup=muttrcSimplePatString +syntax region muttrcSimplePat contained keepend start=+!\?\^\?[~](+ end=+)+ contains=muttrcSimplePat +"syn match muttrcSimplePat contained /'[^~=%][^']*/ contains=muttrcRXString +syntax region muttrcSimplePatString contained keepend start=+"+ end=+"+ skip=+\\"+ +syntax region muttrcSimplePatString contained keepend start=+'+ end=+'+ skip=+\\'+ +syntax region muttrcSimplePatString contained keepend start=+[^ "']+ skip=+\\ + end=+\s+re=e-1 +syntax region muttrcSimplePatRXContainer contained keepend start=+"+ end=+"+ skip=+\\"+ contains=muttrcRXString +syntax region muttrcSimplePatRXContainer contained keepend start=+'+ end=+'+ skip=+\\'+ contains=muttrcRXString +syntax region muttrcSimplePatRXContainer contained keepend start=+[^ "']+ skip=+\\ + end=+\s+re=e-1 contains=muttrcRXString +syntax match muttrcSimplePatMetas contained /[(|)]/ + +syntax match muttrcOptSimplePat contained skipwhite /[~=%!(^].*/ contains=muttrcSimplePat,muttrcSimplePatMetas +syntax match muttrcOptSimplePat contained skipwhite /[^~=%!(^].*/ contains=muttrcRXString +syntax region muttrcOptPattern contained matchgroup=Type keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcOptSimplePat,muttrcUnHighlightSpace nextgroup=muttrcString,muttrcStringNL +syntax region muttrcOptPattern contained matchgroup=Type keepend skipwhite start=+'+ skip=+\\'+ end=+'+ contains=muttrcOptSimplePat,muttrcUnHighlightSpace nextgroup=muttrcString,muttrcStringNL +syntax region muttrcOptPattern contained keepend skipwhite start=+[~](+ end=+)+ skip=+\\)+ contains=muttrcSimplePat nextgroup=muttrcString,muttrcStringNL +syntax match muttrcOptPattern contained skipwhite /[~][A-Za-z]/ contains=muttrcSimplePat nextgroup=muttrcString,muttrcStringNL +syntax match muttrcOptPattern contained skipwhite /[.]/ nextgroup=muttrcString,muttrcStringNL +" Keep muttrcPattern and muttrcOptPattern synchronized +syntax region muttrcPattern contained matchgroup=Type keepend skipwhite start=+"+ skip=+\\"+ end=+"+ contains=muttrcSimplePat,muttrcUnHighlightSpace,muttrcSimplePatMetas +syntax region muttrcPattern contained matchgroup=Type keepend skipwhite start=+'+ skip=+\\'+ end=+'+ contains=muttrcSimplePat,muttrcUnHighlightSpace,muttrcSimplePatMetas +syntax region muttrcPattern contained keepend skipwhite start=+[~](+ end=+)+ skip=+\\)+ contains=muttrcSimplePat +syntax match muttrcPattern contained skipwhite /[~][A-Za-z]/ contains=muttrcSimplePat +syntax match muttrcPattern contained skipwhite /[.]/ +syntax region muttrcPatternInner contained keepend start=+"[~=%!(^]+ms=s+1 skip=+\\"+ end=+"+me=e-1 contains=muttrcSimplePat,muttrcUnHighlightSpace,muttrcSimplePatMetas +syntax region muttrcPatternInner contained keepend start=+'[~=%!(^]+ms=s+1 skip=+\\'+ end=+'+me=e-1 contains=muttrcSimplePat,muttrcUnHighlightSpace,muttrcSimplePatMetas + +" Colour definitions takes object, foreground and background arguments (regexps excluded). +syntax match muttrcColorMatchCount contained "[0-9]\+" +syntax match muttrcColorMatchCountNL contained skipwhite skipnl "\s*\\$" nextgroup=muttrcColorMatchCount,muttrcColorMatchCountNL +syntax region muttrcColorRXPat contained start=+\s*'+ skip=+\\'+ end=+'\s*+ keepend skipwhite contains=muttrcRXString2 nextgroup=muttrcColorMatchCount,muttrcColorMatchCountNL +syntax region muttrcColorRXPat contained start=+\s*"+ skip=+\\"+ end=+"\s*+ keepend skipwhite contains=muttrcRXString2 nextgroup=muttrcColorMatchCount,muttrcColorMatchCountNL +syntax keyword muttrcColor contained black blue cyan default green magenta red white yellow +syntax keyword muttrcColor contained brightblack brightblue brightcyan brightdefault brightgreen brightmagenta brightred brightwhite brightyellow +syntax match muttrcColor contained "\<\%(bright\)\=color\d\{1,3}\>" +" Now for the structure of the color line +syntax match muttrcColorRXNL contained skipnl "\s*\\$" nextgroup=muttrcColorRXPat,muttrcColorRXNL +syntax match muttrcColorBG contained /\s*[$]\?\w\+/ contains=muttrcColor,muttrcVariable,muttrcUnHighlightSpace nextgroup=muttrcColorRXPat,muttrcColorRXNL +syntax match muttrcColorBGNL contained skipnl "\s*\\$" nextgroup=muttrcColorBG,muttrcColorBGNL +syntax match muttrcColorFG contained /\s*[$]\?\w\+/ contains=muttrcColor,muttrcVariable,muttrcUnHighlightSpace nextgroup=muttrcColorBG,muttrcColorBGNL +syntax match muttrcColorFGNL contained skipnl "\s*\\$" nextgroup=muttrcColorFG,muttrcColorFGNL +syntax match muttrcColorContext contained /\s*[$]\?\w\+/ contains=muttrcColorField,muttrcVariable,muttrcUnHighlightSpace,muttrcColorCompose nextgroup=muttrcColorFG,muttrcColorFGNL +syntax match muttrcColorNL contained skipnl "\s*\\$" nextgroup=muttrcColorContext,muttrcColorNL,muttrcColorCompose +syntax match muttrcColorKeyword contained /^\s*color\s\+/ nextgroup=muttrcColorContext,muttrcColorNL,muttrcColorCompose +" And now color's brother: +syntax region muttrcUnColorPatterns contained skipwhite start=+\s*'+ end=+'+ skip=+\\'+ contains=muttrcPattern nextgroup=muttrcUnColorPatterns,muttrcUnColorPatNL +syntax region muttrcUnColorPatterns contained skipwhite start=+\s*"+ end=+"+ skip=+\\"+ contains=muttrcPattern nextgroup=muttrcUnColorPatterns,muttrcUnColorPatNL +syntax match muttrcUnColorPatterns contained skipwhite /\s*[^'"\s]\S\*/ contains=muttrcPattern nextgroup=muttrcUnColorPatterns,muttrcUnColorPatNL +syntax match muttrcUnColorPatNL contained skipwhite skipnl /\s*\\$/ nextgroup=muttrcUnColorPatterns,muttrcUnColorPatNL +syntax match muttrcUnColorAll contained skipwhite /[*]/ +syntax match muttrcUnColorAPNL contained skipwhite skipnl /\s*\\$/ nextgroup=muttrcUnColorPatterns,muttrcUnColorAll,muttrcUnColorAPNL +syntax match muttrcUnColorIndex contained skipwhite /\s*index\s\+/ nextgroup=muttrcUnColorPatterns,muttrcUnColorAll,muttrcUnColorAPNL +syntax match muttrcUnColorIndexNL contained skipwhite skipnl /\s*\\$/ nextgroup=muttrcUnColorIndex,muttrcUnColorIndexNL +syntax match muttrcUnColorKeyword contained skipwhite /^\s*uncolor\s\+/ nextgroup=muttrcUnColorIndex,muttrcUnColorIndexNL +syntax region muttrcUnColorLine keepend start=+^\s*uncolor\s+ skip=+\\$+ end=+$+ contains=muttrcUnColorKeyword,muttrcComment,muttrcUnHighlightSpace + +syntax keyword muttrcMonoAttrib contained bold none normal reverse standout underline +syntax keyword muttrcMono contained mono skipwhite nextgroup=muttrcColorField,muttrcColorCompose +syntax match muttrcMonoLine "^\s*mono\s\+\S\+" skipwhite nextgroup=muttrcMonoAttrib contains=muttrcMono + +" List of fields in Fields in color.c +" UPDATE +syntax keyword muttrcColorField skipwhite contained + \ attach_headers attachment bold error hdrdefault index_author index_collapsed + \ index_date index_label index_number index_size index_subject index_tags + \ indicator markers message normal progress prompt quoted search sidebar_divider + \ sidebar_flagged sidebar_highlight sidebar_indicator sidebar_new + \ sidebar_ordinary sidebar_spoolfile signature status tilde tree underline + \ body header index index_flags index_tag + \ nextgroup=muttrcColor +syntax match muttrcColorField contained "\<quoted\d\=\>" + +syntax match muttrcColorCompose skipwhite contained /\s*compose\s*/ nextgroup=muttrcColorComposeField +" List of fields in ComposeFields in color.c +" UPDATE +syntax keyword muttrcColorComposeField skipwhite contained + \ header security_encrypt security_sign security_both security_none + \ nextgroup=muttrcColorFG,muttrcColorFGNL +syntax region muttrcColorLine keepend start=/^\s*color\s\+/ skip=+\\$+ end=+$+ contains=muttrcColorKeyword,muttrcComment,muttrcUnHighlightSpace + + +function s:boolQuadGen(type, vars, deprecated) + let l:novars = copy(a:vars) + call map(l:novars, '"no" . v:val') + let l:invvars = copy(a:vars) + call map(l:invvars, '"inv" . v:val') + + let l:orig_type = copy(a:type) + if a:deprecated + let l:type = 'Deprecated' . a:type + else + let l:type = a:type + endif + + exec 'syntax keyword muttrcVar' . l:type . ' skipwhite contained ' . join(a:vars) . ' nextgroup=muttrcSet' . l:orig_type . 'Assignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr' + exec 'syntax keyword muttrcVar' . l:type . ' skipwhite contained ' . join(l:novars) . ' nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr' + exec 'syntax keyword muttrcVar' . l:type . ' skipwhite contained ' . join(l:invvars) . ' nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr' +endfunction + +" List of DT_BOOL in MuttVars in init.h +" UPDATE +call s:boolQuadGen('Bool', [ + \ 'allow_8bit', 'allow_ansi', 'arrow_cursor', 'ascii_chars', 'askbcc', 'askcc', + \ 'ask_follow_up', 'ask_x_comment_to', 'attach_split', 'autoedit', 'auto_tag', + \ 'beep', 'beep_new', 'bounce_delivered', 'braille_friendly', 'check_mbox_size', + \ 'check_new', 'collapse_all', 'collapse_flagged', 'collapse_unread', + \ 'confirmappend', 'confirmcreate', 'crypt_autoencrypt', 'crypt_autopgp', + \ 'crypt_autosign', 'crypt_autosmime', 'crypt_confirmhook', + \ 'crypt_opportunistic_encrypt', 'crypt_replyencrypt', 'crypt_replysign', + \ 'crypt_replysignencrypted', 'crypt_timestamp', 'crypt_use_gpgme', + \ 'crypt_use_pka', 'delete_untag', 'digest_collapse', 'duplicate_threads', + \ 'edit_headers', 'encode_from', 'fast_reply', 'fcc_clear', 'flag_safe', + \ 'followup_to', 'force_name', 'forward_decode', 'forward_decrypt', + \ 'forward_quote', 'forward_references', 'hdrs', 'header', + \ 'header_cache_compress', 'header_color_partial', 'help', 'hidden_host', + \ 'hide_limited', 'hide_missing', 'hide_thread_subject', 'hide_top_limited', + \ 'hide_top_missing', 'history_remove_dups', 'honor_disposition', 'idn_decode', + \ 'idn_encode', 'ignore_linear_white_space', 'ignore_list_reply_to', + \ 'imap_check_subscribed', 'imap_idle', 'imap_list_subscribed', 'imap_passive', + \ 'imap_peek', 'imap_servernoise', 'implicit_autoview', 'include_onlyfirst', + \ 'keep_flagged', 'keywords_legacy', 'keywords_standard', 'mailcap_sanitize', + \ 'mail_check_recent', 'mail_check_stats', 'maildir_check_cur', + \ 'maildir_header_cache_verify', 'maildir_trash', 'markers', 'mark_old', + \ 'menu_move_off', 'menu_scroll', 'message_cache_clean', 'meta_key', 'metoo', + \ 'mh_purge', 'mime_forward_decode', 'mime_subject', 'mime_type_query_first', + \ 'narrow_tree', 'nm_record', 'nntp_listgroup', 'nntp_load_description', + \ 'pager_stop', 'pgp_auto_decode', 'pgp_autoinline', 'pgp_check_exit', + \ 'pgp_ignore_subkeys', 'pgp_long_ids', 'pgp_replyinline', + \ 'pgp_retainable_sigs', 'pgp_self_encrypt', 'pgp_show_unusable', + \ 'pgp_strict_enc', 'pgp_use_gpg_agent', 'pipe_decode', 'pipe_split', + \ 'pop_auth_try_all', 'pop_last', 'postpone_encrypt', 'print_decode', + \ 'print_split', 'prompt_after', 'read_only', 'reflow_space_quotes', + \ 'reflow_text', 'reply_self', 'reply_with_xorig', 'resolve', + \ 'resume_draft_files', 'resume_edited_draft_files', 'reverse_alias', + \ 'reverse_name', 'reverse_realname', 'rfc2047_parameters', 'save_address', + \ 'save_empty', 'save_name', 'save_unsubscribed', 'score', 'show_new_news', + \ 'show_only_unread', 'sidebar_folder_indent', 'sidebar_new_mail_only', + \ 'sidebar_next_new_wrap', 'sidebar_on_right', 'sidebar_short_path', + \ 'sidebar_visible', 'sig_dashes', 'sig_on_top', 'smart_wrap', + \ 'smime_ask_cert_label', 'smime_decrypt_use_default_key', 'smime_is_default', + \ 'smime_self_encrypt', 'sort_re', 'ssl_force_tls', 'ssl_use_sslv2', + \ 'ssl_use_sslv3', 'ssl_usesystemcerts', 'ssl_use_tlsv1', 'ssl_use_tlsv1_1', + \ 'ssl_use_tlsv1_2', 'ssl_verify_dates', 'ssl_verify_host', + \ 'ssl_verify_partial_chains', 'status_on_top', 'strict_threads', 'suspend', + \ 'text_flowed', 'thorough_search', 'thread_received', 'tilde', 'ts_enabled', + \ 'uncollapse_jump', 'uncollapse_new', 'use_8bitmime', 'use_domain', + \ 'use_envelope_from', 'use_from', 'use_ipv6', 'user_agent', + \ 'virtual_spoolfile', 'wait_key', 'weed', 'wrap_search', 'write_bcc', + \ 'x_comment_to' + \ ], 0) + +" Deprecated Bools +" UPDATE +" List of DT_SYNONYM synonyms of Bools in MuttVars in init.h +call s:boolQuadGen('Bool', [ + \ 'edit_hdrs', 'envelope_from', 'forw_decode', 'forw_decrypt', 'forw_quote', + \ 'pgp_autoencrypt', 'pgp_autosign', 'pgp_auto_traditional', + \ 'pgp_create_traditional', 'pgp_replyencrypt', 'pgp_replysign', + \ 'pgp_replysignencrypted', 'xterm_set_titles' + \ ], 1) + +" List of DT_QUAD in MuttVars in init.h +" UPDATE +call s:boolQuadGen('Quad', [ + \ 'abort_noattach', 'abort_nosubject', 'abort_unmodified', 'bounce', + \ 'catchup_newsgroup', 'copy', 'crypt_verify_sig', 'delete', 'fcc_attach', + \ 'followup_to_poster', 'forward_edit', 'honor_followup_to', 'include', + \ 'mime_forward', 'mime_forward_rest', 'move', 'pgp_encrypt_self', + \ 'pgp_mime_auto', 'pop_delete', 'pop_reconnect', 'post_moderated', 'postpone', + \ 'print', 'quit', 'recall', 'reply_to', 'smime_encrypt_self', 'ssl_starttls', + \ ], 0) + +" Deprecated Quads +" UPDATE +" List of DT_SYNONYM synonyms of Quads in MuttVars in init.h +call s:boolQuadGen('Quad', [ + \ 'mime_fwd', 'pgp_verify_sig' + \ ], 1) + +" List of DT_NUMBER in MuttVars in init.h +" UPDATE +syntax keyword muttrcVarNum skipwhite contained + \ connect_timeout debug_level history imap_keepalive imap_pipeline_depth + \ imap_poll_timeout mail_check mail_check_stats_interval menu_context net_inc + \ nm_db_limit nm_open_timeout nm_query_window_current_position + \ nm_query_window_duration nntp_context nntp_poll pager_context + \ pager_index_lines pgp_timeout pop_checkinterval read_inc reflow_wrap + \ save_history score_threshold_delete score_threshold_flag score_threshold_read + \ search_context sendmail_wait sidebar_width skip_quoted_offset sleep_time + \ smime_timeout ssl_min_dh_prime_bits time_inc timeout wrap wrap_headers + \ wrapmargin write_inc + \ nextgroup=muttrcSetNumAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr + +" List of DT_STRING in MuttVars in init.h +" UPDATE +" Special cases first, and all the rest at the end +" A lot of special cases are format, flatcap compiled a list here https://pastebin.com/raw/5QXhiP6L +" Formats themselves must be updated in their respective groups +" See s:escapesConditionals +syntax match muttrcVarStr contained skipwhite 'my_[a-zA-Z0-9_]\+' nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr +syntax keyword muttrcVarStr contained skipwhite alias_format nextgroup=muttrcVarEqualsAliasFmt +syntax keyword muttrcVarStr contained skipwhite attach_format nextgroup=muttrcVarEqualsAttachFmt +syntax keyword muttrcVarStr contained skipwhite compose_format nextgroup=muttrcVarEqualsComposeFmt +syntax keyword muttrcVarStr contained skipwhite folder_format vfolder_format nextgroup=muttrcVarEqualsFolderFmt +syntax keyword muttrcVarStr contained skipwhite attribution index_format message_format pager_format nextgroup=muttrcVarEqualsIdxFmt +" Deprecated format +syntax keyword muttrcVarDeprecatedStr contained skipwhite hdr_format msg_format nextgroup=muttrcVarEqualsIdxFmt +syntax keyword muttrcVarStr contained skipwhite mix_entry_format nextgroup=muttrcVarEqualsMixFmt +syntax keyword muttrcVarStr contained skipwhite + \ pgp_decode_command pgp_verify_command pgp_decrypt_command + \ pgp_clearsign_command pgp_sign_command pgp_encrypt_sign_command + \ pgp_encrypt_only_command pgp_import_command pgp_export_command + \ pgp_verify_key_command pgp_list_secring_command pgp_list_pubring_command + \ nextgroup=muttrcVarEqualsPGPCmdFmt +syntax keyword muttrcVarStr contained skipwhite pgp_entry_format nextgroup=muttrcVarEqualsPGPFmt +syntax keyword muttrcVarStr contained skipwhite pgp_getkeys_command nextgroup=muttrcVarEqualsPGPGetKeysFmt +syntax keyword muttrcVarStr contained skipwhite query_format nextgroup=muttrcVarEqualsQueryFmt +syntax keyword muttrcVarStr contained skipwhite + \ smime_decrypt_command smime_verify_command smime_verify_opaque_command + \ smime_sign_command smime_sign_opaque_command smime_encrypt_command + \ smime_pk7out_command smime_get_cert_command smime_get_signer_cert_command + \ smime_import_cert_command smime_get_cert_email_command + \ nextgroup=muttrcVarEqualsSmimeFmt +syntax keyword muttrcVarStr contained skipwhite ts_icon_format ts_status_format status_format nextgroup=muttrcVarEqualsStatusFmt +" Deprecated format +syntax keyword muttrcVarDeprecatedStr contained skipwhite xterm_icon xterm_title nextgroup=muttrcVarEqualsStatusFmt +syntax keyword muttrcVarStr contained skipwhite date_format nextgroup=muttrcVarEqualsStrftimeFmt +syntax keyword muttrcVarStr contained skipwhite group_index_format nextgroup=muttrcVarEqualsGrpIdxFmt +syntax keyword muttrcVarStr contained skipwhite sidebar_format nextgroup=muttrcVarEqualsSdbFmt +syntax keyword muttrcVarStr contained skipwhite + \ assumed_charset attach_charset attach_sep attribution_locale charset + \ config_charset content_type default_hook dsn_notify dsn_return empty_subject + \ escape forward_attribution_intro forward_attribution_trailer forward_format + \ header_cache_pagesize hostname imap_authenticators imap_delim_chars + \ imap_headers imap_login imap_pass imap_user indent_string mailcap_path + \ mark_macro_prefix mh_seq_flagged mh_seq_replied mh_seq_unseen + \ mime_type_query_command newsgroups_charset news_server nm_default_uri + \ nm_exclude_tags nm_hidden_tags nm_query_type nm_query_window_current_search + \ nm_query_window_timebase nm_record_tags nm_unread_tag nntp_authenticators + \ nntp_pass nntp_user pgp_self_encrypt_as pgp_sign_as pipe_sep + \ pop_authenticators pop_host pop_pass pop_user post_indent_string + \ postpone_encrypt_as preconnect realname send_charset + \ show_multipart_alternative sidebar_delim_chars sidebar_divider_char + \ sidebar_indent_string simple_search smime_default_key smime_encrypt_with + \ smime_self_encrypt_as smime_sign_digest_alg smtp_authenticators smtp_pass + \ smtp_url spam_separator ssl_ciphers tunnel xlabel_delimiter + \ nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr +" Deprecated strings +syntax keyword muttrcVarDeprecatedStr contained skipwhite + \ forw_format indent_str post_indent_str smime_sign_as + \ nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr +" List of DT_ADDRESS +syntax keyword muttrcVarStr contained skipwhite envelope_from_address from nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr +" List of DT_HCACHE +syntax keyword muttrcVarStr contained skipwhite header_cache_backend nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr +" List of DT_MAGIC +syntax keyword muttrcVarStr contained skipwhite mbox_type nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr +" List of DT_MBTABLE +syntax keyword muttrcVarStr contained skipwhite flag_chars from_chars status_chars to_chars nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr +" List of DT_PATH +syntax keyword muttrcVarStr contained skipwhite + \ alias_file certificate_file debug_file display_filter editor entropy_file + \ folder header_cache history_file inews ispell mbox message_cachedir mixmaster + \ new_mail_command news_cache_dir newsrc pager postponed print_command + \ query_command record sendmail shell signature smime_ca_location + \ smime_certificates smime_keys spoolfile ssl_ca_certificates_file + \ ssl_client_cert tmpdir trash visual + \ nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr +" List of deprecated DT_PATH +syntax keyword muttrcVarDeprecatedStr contained skipwhite print_cmd nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr +" List of DT_REGEX +syntax keyword muttrcVarStr contained skipwhite + \ attach_keyword gecos_mask mask pgp_decryption_okay pgp_good_sign quote_regexp + \ reply_regexp smileys + \ nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr +" List of DT_SORT +syntax keyword muttrcVarStr contained skipwhite + \ pgp_sort_keys sidebar_sort_method sort sort_alias sort_aux sort_browser + \ nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr + +" List of commands in Commands in init.h +" UPDATE +" Remember to remove hooks, they have already been dealt with +syntax keyword muttrcCommand skipwhite charset-hook nextgroup=muttrcRXString +syntax keyword muttrcCommand skipwhite unhook nextgroup=muttrcHooks +syntax keyword muttrcCommand skipwhite spam nextgroup=muttrcSpamPattern +syntax keyword muttrcCommand skipwhite nospam nextgroup=muttrcNoSpamPattern +syntax keyword muttrcCommand skipwhite bind nextgroup=muttrcBindMenuList,muttrcBindMenuListNL +syntax keyword muttrcCommand skipwhite macro nextgroup=muttrcMacroMenuList,muttrcMacroMenuListNL +syntax keyword muttrcCommand skipwhite alias nextgroup=muttrcAliasGroupDef,muttrcAliasKey,muttrcAliasNL +syntax keyword muttrcCommand skipwhite unalias nextgroup=muttrcUnAliasKey,muttrcUnAliasNL +syntax keyword muttrcCommand skipwhite set unset reset toggle nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr +syntax keyword muttrcCommand skipwhite exec nextgroup=muttrcFunction +syntax keyword muttrcCommand skipwhite + \ alternative_order attachments auto_view hdr_order ifdef ifndef ignore lua + \ lua-source mailboxes mailto_allow mime_lookup my_hdr push score setenv + \ sidebar_whitelist source subjectrx tag-formats tag-transforms + \ unalternative_order unattachments unauto_view uncolor unhdr_order unignore + \ unmailboxes unmailto_allow unmime_lookup unmono unmy_hdr unscore unsetenv + \ unsidebar_whitelist unsubjectrx unvirtual-mailboxes virtual-mailboxes + +" List of functions in functions.h +" UPDATE +syntax match muttrcFunction contained "\<accept\>" +syntax match muttrcFunction contained "\<append\>" +syntax match muttrcFunction contained "\<attach-file\>" +syntax match muttrcFunction contained "\<attach-key\>" +syntax match muttrcFunction contained "\<accept\>" +syntax match muttrcFunction contained "\<append\>" +syntax match muttrcFunction contained "\<attach-file\>" +syntax match muttrcFunction contained "\<attach-key\>" +syntax match muttrcFunction contained "\<attach-message\>" +syntax match muttrcFunction contained "\<attach-news-message\>" +syntax match muttrcFunction contained "\<backspace\>" +syntax match muttrcFunction contained "\<backward-char\>" +syntax match muttrcFunction contained "\<backward-word\>" +syntax match muttrcFunction contained "\<bol\>" +syntax match muttrcFunction contained "\<bottom\>" +syntax match muttrcFunction contained "\<bottom-page\>" +syntax match muttrcFunction contained "\<bounce-message\>" +syntax match muttrcFunction contained "\<break-thread\>" +syntax match muttrcFunction contained "\<buffy-cycle\>" +syntax match muttrcFunction contained "\<buffy-list\>" +syntax match muttrcFunction contained "\<capitalize-word\>" +syntax match muttrcFunction contained "\<catchup\>" +syntax match muttrcFunction contained "\<chain-next\>" +syntax match muttrcFunction contained "\<chain-prev\>" +syntax match muttrcFunction contained "\<change-dir\>" +syntax match muttrcFunction contained "\<change-folder\>" +syntax match muttrcFunction contained "\<change-folder-readonly\>" +syntax match muttrcFunction contained "\<change-newsgroup\>" +syntax match muttrcFunction contained "\<change-newsgroup-readonly\>" +syntax match muttrcFunction contained "\<change-vfolder\>" +syntax match muttrcFunction contained "\<check-new\>" +syntax match muttrcFunction contained "\<check-traditional-pgp\>" +syntax match muttrcFunction contained "\<clear-flag\>" +syntax match muttrcFunction contained "\<collapse-all\>" +syntax match muttrcFunction contained "\<collapse-parts\>" +syntax match muttrcFunction contained "\<collapse-thread\>" +syntax match muttrcFunction contained "\<complete\>" +syntax match muttrcFunction contained "\<complete-query\>" +syntax match muttrcFunction contained "\<compose-to-sender\>" +syntax match muttrcFunction contained "\<copy-file\>" +syntax match muttrcFunction contained "\<copy-message\>" +syntax match muttrcFunction contained "\<create-alias\>" +syntax match muttrcFunction contained "\<create-mailbox\>" +syntax match muttrcFunction contained "\<current-bottom\>" +syntax match muttrcFunction contained "\<current-middle\>" +syntax match muttrcFunction contained "\<current-top\>" +syntax match muttrcFunction contained "\<decode-copy\>" +syntax match muttrcFunction contained "\<decode-save\>" +syntax match muttrcFunction contained "\<decrypt-copy\>" +syntax match muttrcFunction contained "\<decrypt-save\>" +syntax match muttrcFunction contained "\<delete\>" +syntax match muttrcFunction contained "\<delete-char\>" +syntax match muttrcFunction contained "\<delete-entry\>" +syntax match muttrcFunction contained "\<delete-mailbox\>" +syntax match muttrcFunction contained "\<delete-message\>" +syntax match muttrcFunction contained "\<delete-pattern\>" +syntax match muttrcFunction contained "\<delete-subthread\>" +syntax match muttrcFunction contained "\<delete-thread\>" +syntax match muttrcFunction contained "\<detach-file\>" +syntax match muttrcFunction contained "\<display-address\>" +syntax match muttrcFunction contained "\<display-filename\>" +syntax match muttrcFunction contained "\<display-message\>" +syntax match muttrcFunction contained "\<display-toggle-weed\>" +syntax match muttrcFunction contained "\<downcase-word\>" +syntax match muttrcFunction contained "\<edit\>" +syntax match muttrcFunction contained "\<edit-bcc\>" +syntax match muttrcFunction contained "\<edit-cc\>" +syntax match muttrcFunction contained "\<edit-description\>" +syntax match muttrcFunction contained "\<edit-encoding\>" +syntax match muttrcFunction contained "\<edit-fcc\>" +syntax match muttrcFunction contained "\<edit-file\>" +syntax match muttrcFunction contained "\<edit-followup-to\>" +syntax match muttrcFunction contained "\<edit-from\>" +syntax match muttrcFunction contained "\<edit-headers\>" +syntax match muttrcFunction contained "\<edit-label\>" +syntax match muttrcFunction contained "\<edit-message\>" +syntax match muttrcFunction contained "\<edit-mime\>" +syntax match muttrcFunction contained "\<edit-newsgroups\>" +syntax match muttrcFunction contained "\<edit-reply-to\>" +syntax match muttrcFunction contained "\<edit-subject\>" +syntax match muttrcFunction contained "\<edit-to\>" +syntax match muttrcFunction contained "\<edit-type\>" +syntax match muttrcFunction contained "\<edit-x-comment-to\>" +syntax match muttrcFunction contained "\<end-cond\>" +syntax match muttrcFunction contained "\<enter-command\>" +syntax match muttrcFunction contained "\<enter-mask\>" +syntax match muttrcFunction contained "\<entire-thread\>" +syntax match muttrcFunction contained "\<eol\>" +syntax match muttrcFunction contained "\<exit\>" +syntax match muttrcFunction contained "\<extract-keys\>" +syntax match muttrcFunction contained "\<fetch-mail\>" +syntax match muttrcFunction contained "\<filter-entry\>" +syntax match muttrcFunction contained "\<first-entry\>" +syntax match muttrcFunction contained "\<flag-message\>" +syntax match muttrcFunction contained "\<followup-message\>" +syntax match muttrcFunction contained "\<forget-passphrase\>" +syntax match muttrcFunction contained "\<forward-char\>" +syntax match muttrcFunction contained "\<forward-message\>" +syntax match muttrcFunction contained "\<forward-to-group\>" +syntax match muttrcFunction contained "\<forward-word\>" +syntax match muttrcFunction contained "\<get-attachment\>" +syntax match muttrcFunction contained "\<get-children\>" +syntax match muttrcFunction contained "\<get-message\>" +syntax match muttrcFunction contained "\<get-parent\>" +syntax match muttrcFunction contained "\<goto-folder\>" +syntax match muttrcFunction contained "\<group-reply\>" +syntax match muttrcFunction contained "\<half-down\>" +syntax match muttrcFunction contained "\<half-up\>" +syntax match muttrcFunction contained "\<help\>" +syntax match muttrcFunction contained "\<history-down\>" +syntax match muttrcFunction contained "\<history-up\>" +syntax match muttrcFunction contained "\<imap-fetch-mail\>" +syntax match muttrcFunction contained "\<imap-logout-all\>" +syntax match muttrcFunction contained "\<insert\>" +syntax match muttrcFunction contained "\<ispell\>" +syntax match muttrcFunction contained "\<jump\>" +syntax match muttrcFunction contained "\<kill-eol\>" +syntax match muttrcFunction contained "\<kill-eow\>" +syntax match muttrcFunction contained "\<kill-line\>" +syntax match muttrcFunction contained "\<kill-word\>" +syntax match muttrcFunction contained "\<last-entry\>" +syntax match muttrcFunction contained "\<limit\>" +syntax match muttrcFunction contained "\<limit-current-thread\>" +syntax match muttrcFunction contained "\<link-threads\>" +syntax match muttrcFunction contained "\<list-reply\>" +syntax match muttrcFunction contained "\<mail\>" +syntax match muttrcFunction contained "\<mail-key\>" +syntax match muttrcFunction contained "\<mark-as-new\>" +syntax match muttrcFunction contained "\<mark-message\>" +syntax match muttrcFunction contained "\<middle-page\>" +syntax match muttrcFunction contained "\<mix\>" +syntax match muttrcFunction contained "\<modify-labels\>" +syntax match muttrcFunction contained "\<modify-labels-then-hide\>" +syntax match muttrcFunction contained "\<new-mime\>" +syntax match muttrcFunction contained "\<next-entry\>" +syntax match muttrcFunction contained "\<next-line\>" +syntax match muttrcFunction contained "\<next-new\>" +syntax match muttrcFunction contained "\<next-new-then-unread\>" +syntax match muttrcFunction contained "\<next-page\>" +syntax match muttrcFunction contained "\<next-subthread\>" +syntax match muttrcFunction contained "\<next-thread\>" +syntax match muttrcFunction contained "\<next-undeleted\>" +syntax match muttrcFunction contained "\<next-unread\>" +syntax match muttrcFunction contained "\<next-unread-mailbox\>" +syntax match muttrcFunction contained "\<parent-message\>" +syntax match muttrcFunction contained "\<pgp-menu\>" +syntax match muttrcFunction contained "\<pipe-entry\>" +syntax match muttrcFunction contained "\<pipe-message\>" +syntax match muttrcFunction contained "\<post-message\>" +syntax match muttrcFunction contained "\<postpone-message\>" +syntax match muttrcFunction contained "\<previous-entry\>" +syntax match muttrcFunction contained "\<previous-line\>" +syntax match muttrcFunction contained "\<previous-new\>" +syntax match muttrcFunction contained "\<previous-new-then-unread\>" +syntax match muttrcFunction contained "\<previous-page\>" +syntax match muttrcFunction contained "\<previous-subthread\>" +syntax match muttrcFunction contained "\<previous-thread\>" +syntax match muttrcFunction contained "\<previous-undeleted\>" +syntax match muttrcFunction contained "\<previous-unread\>" +syntax match muttrcFunction contained "\<print-entry\>" +syntax match muttrcFunction contained "\<print-message\>" +syntax match muttrcFunction contained "\<purge-message\>" +syntax match muttrcFunction contained "\<purge-thread\>" +syntax match muttrcFunction contained "\<quasi-delete\>" +syntax match muttrcFunction contained "\<query\>" +syntax match muttrcFunction contained "\<query-append\>" +syntax match muttrcFunction contained "\<quit\>" +syntax match muttrcFunction contained "\<quote-char\>" +syntax match muttrcFunction contained "\<read-subthread\>" +syntax match muttrcFunction contained "\<read-thread\>" +syntax match muttrcFunction contained "\<recall-message\>" +syntax match muttrcFunction contained "\<reconstruct-thread\>" +syntax match muttrcFunction contained "\<redraw-screen\>" +syntax match muttrcFunction contained "\<refresh\>" +syntax match muttrcFunction contained "\<reload-active\>" +syntax match muttrcFunction contained "\<rename-attachment\>" +syntax match muttrcFunction contained "\<rename-file\>" +syntax match muttrcFunction contained "\<rename-mailbox\>" +syntax match muttrcFunction contained "\<reply\>" +syntax match muttrcFunction contained "\<resend-message\>" +syntax match muttrcFunction contained "\<root-message\>" +syntax match muttrcFunction contained "\<save-entry\>" +syntax match muttrcFunction contained "\<save-message\>" +syntax match muttrcFunction contained "\<search\>" +syntax match muttrcFunction contained "\<search-next\>" +syntax match muttrcFunction contained "\<search-opposite\>" +syntax match muttrcFunction contained "\<search-reverse\>" +syntax match muttrcFunction contained "\<search-toggle\>" +syntax match muttrcFunction contained "\<select-entry\>" +syntax match muttrcFunction contained "\<select-new\>" +syntax match muttrcFunction contained "\<send-message\>" +syntax match muttrcFunction contained "\<set-flag\>" +syntax match muttrcFunction contained "\<shell-escape\>" +syntax match muttrcFunction contained "\<show-limit\>" +syntax match muttrcFunction contained "\<show-version\>" +syntax match muttrcFunction contained "\<sidebar-next\>" +syntax match muttrcFunction contained "\<sidebar-next-new\>" +syntax match muttrcFunction contained "\<sidebar-open\>" +syntax match muttrcFunction contained "\<sidebar-page-down\>" +syntax match muttrcFunction contained "\<sidebar-page-up\>" +syntax match muttrcFunction contained "\<sidebar-prev\>" +syntax match muttrcFunction contained "\<sidebar-prev-new\>" +syntax match muttrcFunction contained "\<sidebar-toggle-virtual\>" +syntax match muttrcFunction contained "\<sidebar-toggle-visible\>" +syntax match muttrcFunction contained "\<skip-quoted\>" +syntax match muttrcFunction contained "\<smime-menu\>" +syntax match muttrcFunction contained "\<sort\>" +syntax match muttrcFunction contained "\<sort-mailbox\>" +syntax match muttrcFunction contained "\<sort-reverse\>" +syntax match muttrcFunction contained "\<subscribe\>" +syntax match muttrcFunction contained "\<subscribe-pattern\>" +syntax match muttrcFunction contained "\<sync-mailbox\>" +syntax match muttrcFunction contained "\<tag-entry\>" +syntax match muttrcFunction contained "\<tag-message\>" +syntax match muttrcFunction contained "\<tag-pattern\>" +syntax match muttrcFunction contained "\<tag-prefix\>" +syntax match muttrcFunction contained "\<tag-prefix-cond\>" +syntax match muttrcFunction contained "\<tag-subthread\>" +syntax match muttrcFunction contained "\<tag-thread\>" +syntax match muttrcFunction contained "\<toggle-disposition\>" +syntax match muttrcFunction contained "\<toggle-mailboxes\>" +syntax match muttrcFunction contained "\<toggle-new\>" +syntax match muttrcFunction contained "\<toggle-quoted\>" +syntax match muttrcFunction contained "\<toggle-read\>" +syntax match muttrcFunction contained "\<toggle-recode\>" +syntax match muttrcFunction contained "\<toggle-subscribed\>" +syntax match muttrcFunction contained "\<toggle-unlink\>" +syntax match muttrcFunction contained "\<toggle-write\>" +syntax match muttrcFunction contained "\<top\>" +syntax match muttrcFunction contained "\<top-page\>" +syntax match muttrcFunction contained "\<transpose-chars\>" +syntax match muttrcFunction contained "\<uncatchup\>" +syntax match muttrcFunction contained "\<undelete-entry\>" +syntax match muttrcFunction contained "\<undelete-message\>" +syntax match muttrcFunction contained "\<undelete-pattern\>" +syntax match muttrcFunction contained "\<undelete-subthread\>" +syntax match muttrcFunction contained "\<undelete-thread\>" +syntax match muttrcFunction contained "\<unsubscribe\>" +syntax match muttrcFunction contained "\<unsubscribe-pattern\>" +syntax match muttrcFunction contained "\<untag-pattern\>" +syntax match muttrcFunction contained "\<upcase-word\>" +syntax match muttrcFunction contained "\<update-encoding\>" +syntax match muttrcFunction contained "\<verify-key\>" +syntax match muttrcFunction contained "\<vfolder-from-query\>" +syntax match muttrcFunction contained "\<vfolder-window-backward\>" +syntax match muttrcFunction contained "\<vfolder-window-forward\>" +syntax match muttrcFunction contained "\<view-attach\>" +syntax match muttrcFunction contained "\<view-attachments\>" +syntax match muttrcFunction contained "\<view-file\>" +syntax match muttrcFunction contained "\<view-mailcap\>" +syntax match muttrcFunction contained "\<view-name\>" +syntax match muttrcFunction contained "\<view-text\>" +syntax match muttrcFunction contained "\<what-key\>" +syntax match muttrcFunction contained "\<write-fcc\>" + + + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +highlight def link muttrcComment Comment +highlight def link muttrcEscape SpecialChar +highlight def link muttrcRXChars SpecialChar +highlight def link muttrcString String +highlight def link muttrcRXString String +highlight def link muttrcRXString2 String +highlight def link muttrcSpecial Special +highlight def link muttrcHooks Type +highlight def link muttrcGroupFlag Type +highlight def link muttrcGroupDef Macro +highlight def link muttrcAddrDef muttrcGroupFlag +highlight def link muttrcRXDef muttrcGroupFlag +highlight def link muttrcRXPat String +highlight def link muttrcAliasGroupName Macro +highlight def link muttrcAliasKey Identifier +highlight def link muttrcUnAliasKey Identifier +highlight def link muttrcAliasEncEmail Identifier +highlight def link muttrcAliasParens Type +highlight def link muttrcSetNumAssignment Number +highlight def link muttrcSetBoolAssignment Boolean +highlight def link muttrcSetQuadAssignment Boolean +highlight def link muttrcSetStrAssignment String +highlight def link muttrcEmail Special +highlight def link muttrcVariableInner Special +highlight def link muttrcEscapedVariable String +highlight def link muttrcHeader Type +highlight def link muttrcKeySpecial SpecialChar +highlight def link muttrcKey Type +highlight def link muttrcKeyName SpecialChar +highlight def link muttrcVarBool Identifier +highlight def link muttrcVarQuad Identifier +highlight def link muttrcVarNum Identifier +highlight def link muttrcVarStr Identifier +highlight def link muttrcMenu Identifier +highlight def link muttrcCommand Keyword +highlight def link muttrcMacroDescr String +highlight def link muttrcAction Macro +highlight def link muttrcBadAction Error +highlight def link muttrcBindFunction Error +highlight def link muttrcBindMenuList Error +highlight def link muttrcFunction Macro +highlight def link muttrcGroupKeyword muttrcCommand +highlight def link muttrcGroupLine Error +highlight def link muttrcSubscribeKeyword muttrcCommand +highlight def link muttrcSubscribeLine Error +highlight def link muttrcListsKeyword muttrcCommand +highlight def link muttrcListsLine Error +highlight def link muttrcAlternateKeyword muttrcCommand +highlight def link muttrcAlternatesLine Error +highlight def link muttrcAttachmentsLine muttrcCommand +highlight def link muttrcAttachmentsFlag Type +highlight def link muttrcAttachmentsMimeType String +highlight def link muttrcColorLine Error +highlight def link muttrcColorContext Error +highlight def link muttrcColorContextI Identifier +highlight def link muttrcColorContextH Identifier +highlight def link muttrcColorKeyword muttrcCommand +highlight def link muttrcColorField Identifier +highlight def link muttrcColorCompose Identifier +highlight def link muttrcColorComposeField Identifier +highlight def link muttrcColor Type +highlight def link muttrcColorFG Error +highlight def link muttrcColorFGI Error +highlight def link muttrcColorFGH Error +highlight def link muttrcColorBG Error +highlight def link muttrcColorBGI Error +highlight def link muttrcColorBGH Error +highlight def link muttrcMonoAttrib muttrcColor +highlight def link muttrcMono muttrcCommand +highlight def link muttrcSimplePat Identifier +highlight def link muttrcSimplePatString Macro +highlight def link muttrcSimplePatMetas Special +highlight def link muttrcPattern Error +highlight def link muttrcUnColorLine Error +highlight def link muttrcUnColorKeyword muttrcCommand +highlight def link muttrcUnColorIndex Identifier +highlight def link muttrcShellString muttrcEscape +highlight def link muttrcRXHooks muttrcCommand +highlight def link muttrcRXHookNot Type +highlight def link muttrcPatHooks muttrcCommand +highlight def link muttrcPatHookNot Type +highlight def link muttrcFormatConditionals2 Type +highlight def link muttrcIndexFormatStr muttrcString +highlight def link muttrcIndexFormatEscapes muttrcEscape +highlight def link muttrcIndexFormatConditionals muttrcFormatConditionals2 +highlight def link muttrcAliasFormatStr muttrcString +highlight def link muttrcAliasFormatEscapes muttrcEscape +highlight def link muttrcAttachFormatStr muttrcString +highlight def link muttrcAttachFormatEscapes muttrcEscape +highlight def link muttrcAttachFormatConditionals muttrcFormatConditionals2 +highlight def link muttrcComposeFormatStr muttrcString +highlight def link muttrcComposeFormatEscapes muttrcEscape +highlight def link muttrcFolderFormatStr muttrcString +highlight def link muttrcFolderFormatEscapes muttrcEscape +highlight def link muttrcFolderFormatConditionals muttrcFormatConditionals2 +highlight def link muttrcMixFormatStr muttrcString +highlight def link muttrcMixFormatEscapes muttrcEscape +highlight def link muttrcMixFormatConditionals muttrcFormatConditionals2 +highlight def link muttrcPGPFormatStr muttrcString +highlight def link muttrcPGPFormatEscapes muttrcEscape +highlight def link muttrcPGPFormatConditionals muttrcFormatConditionals2 +highlight def link muttrcPGPCmdFormatStr muttrcString +highlight def link muttrcPGPCmdFormatEscapes muttrcEscape +highlight def link muttrcPGPCmdFormatConditionals muttrcFormatConditionals2 +highlight def link muttrcStatusFormatStr muttrcString +highlight def link muttrcStatusFormatEscapes muttrcEscape +highlight def link muttrcStatusFormatConditionals muttrcFormatConditionals2 +highlight def link muttrcPGPGetKeysFormatStr muttrcString +highlight def link muttrcPGPGetKeysFormatEscapes muttrcEscape +highlight def link muttrcSmimeFormatStr muttrcString +highlight def link muttrcSmimeFormatEscapes muttrcEscape +highlight def link muttrcSmimeFormatConditionals muttrcFormatConditionals2 +highlight def link muttrcTimeEscapes muttrcEscape +highlight def link muttrcPGPTimeEscapes muttrcEscape +highlight def link muttrcStrftimeEscapes Type +highlight def link muttrcStrftimeFormatStr muttrcString +highlight def link muttrcFormatErrors Error + +highlight def link muttrcBindFunctionNL SpecialChar +highlight def link muttrcBindKeyNL SpecialChar +highlight def link muttrcBindMenuListNL SpecialChar +highlight def link muttrcMacroDescrNL SpecialChar +highlight def link muttrcMacroBodyNL SpecialChar +highlight def link muttrcMacroKeyNL SpecialChar +highlight def link muttrcMacroMenuListNL SpecialChar +highlight def link muttrcColorMatchCountNL SpecialChar +highlight def link muttrcColorNL SpecialChar +highlight def link muttrcColorRXNL SpecialChar +highlight def link muttrcColorBGNL SpecialChar +highlight def link muttrcColorFGNL SpecialChar +highlight def link muttrcAliasNameNL SpecialChar +highlight def link muttrcAliasENNL SpecialChar +highlight def link muttrcAliasNL SpecialChar +highlight def link muttrcUnAliasNL SpecialChar +highlight def link muttrcAliasGroupDefNL SpecialChar +highlight def link muttrcAliasEncEmailNL SpecialChar +highlight def link muttrcPatternNL SpecialChar +highlight def link muttrcUnColorPatNL SpecialChar +highlight def link muttrcUnColorAPNL SpecialChar +highlight def link muttrcUnColorIndexNL SpecialChar +highlight def link muttrcStringNL SpecialChar + +highlight def link muttrcVarDeprecatedBool Error +highlight def link muttrcVarDeprecatedQuad Error +highlight def link muttrcVarDeprecatedStr Error + + +let b:current_syntax = "neomuttrc" + +let &cpo = s:cpo_save +unlet s:cpo_save +"EOF vim: ts=8 noet tw=100 sw=8 sts=0 ft=vim diff --git a/runtime/syntax/perl.vim b/runtime/syntax/perl.vim index 6ab6cd83a2..6ac28f6915 100644 --- a/runtime/syntax/perl.vim +++ b/runtime/syntax/perl.vim @@ -3,7 +3,7 @@ " Maintainer: vim-perl <vim-perl@googlegroups.com> " Homepage: http://github.com/vim-perl/vim-perl/tree/master " Bugs/requests: http://github.com/vim-perl/vim-perl/issues -" Last Change: 2013-07-23 +" Last Change: 2017-09-12 " Contributors: Andy Lester <andy@petdance.com> " Hinrik Örn Sigurðsson <hinrik.sig@gmail.com> " Lukas Mai <l.mai.web.de> @@ -28,8 +28,9 @@ " unlet perl_fold " unlet perl_fold_blocks " unlet perl_nofold_packages -" let perl_nofold_subs = 1 +" unlet perl_nofold_subs " unlet perl_fold_anonymous_subs +" unlet perl_no_subprototype_error if exists("b:current_syntax") finish @@ -38,11 +39,6 @@ endif let s:cpo_save = &cpo set cpo&vim -if exists('®expengine') - let s:regexpengine=®expengine - set regexpengine=1 -endif - " POD starts with ^=<word> and ends with ^=cut if !exists("perl_include_pod") || perl_include_pod == 1 @@ -83,7 +79,7 @@ syn match perlControl "\<\%(BEGIN\|CHECK\|INIT\|END\|UNITCHECK\)\>\_s*" nextgr syn match perlStatementStorage "\<\%(my\|our\|local\|state\)\>" syn match perlStatementControl "\<\%(return\|last\|next\|redo\|goto\|break\)\>" -syn match perlStatementScalar "\<\%(chom\=p\|chr\|crypt\|r\=index\|lc\%(first\)\=\|length\|ord\|pack\|sprintf\|substr\|uc\%(first\)\=\)\>" +syn match perlStatementScalar "\<\%(chom\=p\|chr\|crypt\|r\=index\|lc\%(first\)\=\|length\|ord\|pack\|sprintf\|substr\|fc\|uc\%(first\)\=\)\>" syn match perlStatementRegexp "\<\%(pos\|quotemeta\|split\|study\)\>" syn match perlStatementNumeric "\<\%(abs\|atan2\|cos\|exp\|hex\|int\|log\|oct\|rand\|sin\|sqrt\|srand\)\>" syn match perlStatementList "\<\%(splice\|unshift\|shift\|push\|pop\|join\|reverse\|grep\|map\|sort\|unpack\)\>" @@ -94,9 +90,9 @@ syn match perlStatementFiledesc "\<\%(fcntl\|flock\|ioctl\|open\%(dir\)\=\|read syn match perlStatementVector "\<vec\>" syn match perlStatementFiles "\<\%(ch\%(dir\|mod\|own\|root\)\|glob\|link\|mkdir\|readlink\|rename\|rmdir\|symlink\|umask\|unlink\|utime\)\>" syn match perlStatementFiles "-[rwxoRWXOezsfdlpSbctugkTBMAC]\>" -syn match perlStatementFlow "\<\%(caller\|die\|dump\|eval\|exit\|wantarray\)\>" -syn match perlStatementInclude "\<\%(require\|import\)\>" -syn match perlStatementInclude "\<\%(use\|no\)\s\+\%(\%(attributes\|attrs\|autouse\|parent\|base\|big\%(int\|num\|rat\)\|blib\|bytes\|charnames\|constant\|diagnostics\|encoding\%(::warnings\)\=\|feature\|fields\|filetest\|if\|integer\|less\|lib\|locale\|mro\|open\|ops\|overload\|re\|sigtrap\|sort\|strict\|subs\|threads\%(::shared\)\=\|utf8\|vars\|version\|vmsish\|warnings\%(::register\)\=\)\>\)\=" +syn match perlStatementFlow "\<\%(caller\|die\|dump\|eval\|exit\|wantarray\|evalbytes\)\>" +syn match perlStatementInclude "\<\%(require\|import\|unimport\)\>" +syn match perlStatementInclude "\<\%(use\|no\)\s\+\%(\%(attributes\|attrs\|autodie\|autouse\|parent\|base\|big\%(int\|num\|rat\)\|blib\|bytes\|charnames\|constant\|diagnostics\|encoding\%(::warnings\)\=\|feature\|fields\|filetest\|if\|integer\|less\|lib\|locale\|mro\|open\|ops\|overload\|overloading\|re\|sigtrap\|sort\|strict\|subs\|threads\%(::shared\)\=\|utf8\|vars\|version\|vmsish\|warnings\%(::register\)\=\)\>\)\=" syn match perlStatementProc "\<\%(alarm\|exec\|fork\|get\%(pgrp\|ppid\|priority\)\|kill\|pipe\|set\%(pgrp\|priority\)\|sleep\|system\|times\|wait\%(pid\)\=\)\>" syn match perlStatementSocket "\<\%(accept\|bind\|connect\|get\%(peername\|sock\%(name\|opt\)\)\|listen\|recv\|send\|setsockopt\|shutdown\|socket\%(pair\)\=\)\>" syn match perlStatementIPC "\<\%(msg\%(ctl\|get\|rcv\|snd\)\|sem\%(ctl\|get\|op\)\|shm\%(ctl\|get\|read\|write\)\)\>" @@ -108,7 +104,7 @@ syn match perlStatementMisc "\<\%(warn\|format\|formline\|reset\|scalar\|protot syn keyword perlTodo TODO TODO: TBD TBD: FIXME FIXME: XXX XXX: NOTE NOTE: contained -syn region perlStatementIndirObjWrap matchgroup=perlStatementIndirObj start="\<\%(map\|grep\|sort\|printf\=\|say\|system\|exec\)\>\s*{" end="}" contains=@perlTop,perlBraces extend +syn region perlStatementIndirObjWrap matchgroup=perlStatementIndirObj start="\%(\<\%(map\|grep\|sort\|printf\=\|say\|system\|exec\)\>\s*\)\@<={" end="}" transparent extend syn match perlLabel "^\s*\h\w*\s*::\@!\%(\<v\d\+\s*:\)\@<!" @@ -125,7 +121,7 @@ syn match perlLabel "^\s*\h\w*\s*::\@!\%(\<v\d\+\s*:\)\@<!" " Special variables first ($^A, ...) and ($|, $', ...) syn match perlVarPlain "$^[ACDEFHILMNOPRSTVWX]\=" syn match perlVarPlain "$[\\\"\[\]'&`+*.,;=%~!?@#$<>(-]" -syn match perlVarPlain "%+" +syn match perlVarPlain "@[-+]" syn match perlVarPlain "$\%(0\|[1-9]\d*\)" " Same as above, but avoids confusion in $::foo (equivalent to $main::foo) syn match perlVarPlain "$::\@!" @@ -143,41 +139,46 @@ syn match perlPackageRef "[$@#%*&]\%(\%(::\|'\)\=\I\i*\%(\%(::\|'\)\I\i*\)*\)\ " just set the variable "perl_no_extended_vars"... if !exists("perl_no_scope_in_variables") - syn match perlVarPlain "\%([@$]\|\$#\)\$*\%(\I\i*\)\=\%(\%(::\|'\)\I\i*\)*\%(::\|\i\@<=\)" contains=perlPackageRef nextgroup=perlVarMember,perlVarSimpleMember,perlMethod - syn match perlVarPlain2 "%\$*\%(\I\i*\)\=\%(\%(::\|'\)\I\i*\)*\%(::\|\i\@<=\)" contains=perlPackageRef - syn match perlFunctionName "&\$*\%(\I\i*\)\=\%(\%(::\|'\)\I\i*\)*\%(::\|\i\@<=\)" contains=perlPackageRef nextgroup=perlVarMember,perlVarSimpleMember,perlMethod + syn match perlVarPlain "\%([@$]\|\$#\)\$*\%(\I\i*\)\=\%(\%(::\|'\)\I\i*\)*\%(::\|\i\@<=\)" contains=perlPackageRef nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref + syn match perlVarPlain2 "%\$*\%(\I\i*\)\=\%(\%(::\|'\)\I\i*\)*\%(::\|\i\@<=\)" contains=perlPackageRef nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref + syn match perlFunctionName "&\$*\%(\I\i*\)\=\%(\%(::\|'\)\I\i*\)*\%(::\|\i\@<=\)" contains=perlPackageRef nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref else - syn match perlVarPlain "\%([@$]\|\$#\)\$*\%(\I\i*\)\=\%(\%(::\|'\)\I\i*\)*\%(::\|\i\@<=\)" nextgroup=perlVarMember,perlVarSimpleMember,perlMethod - syn match perlVarPlain2 "%\$*\%(\I\i*\)\=\%(\%(::\|'\)\I\i*\)*\%(::\|\i\@<=\)" - syn match perlFunctionName "&\$*\%(\I\i*\)\=\%(\%(::\|'\)\I\i*\)*\%(::\|\i\@<=\)" nextgroup=perlVarMember,perlVarSimpleMember,perlMethod + syn match perlVarPlain "\%([@$]\|\$#\)\$*\%(\I\i*\)\=\%(\%(::\|'\)\I\i*\)*\%(::\|\i\@<=\)" nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref + syn match perlVarPlain2 "%\$*\%(\I\i*\)\=\%(\%(::\|'\)\I\i*\)*\%(::\|\i\@<=\)" nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref + syn match perlFunctionName "&\$*\%(\I\i*\)\=\%(\%(::\|'\)\I\i*\)*\%(::\|\i\@<=\)" nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref endif +syn match perlVarPlain2 "%[-+]" + if !exists("perl_no_extended_vars") syn cluster perlExpr contains=perlStatementIndirObjWrap,perlStatementScalar,perlStatementRegexp,perlStatementNumeric,perlStatementList,perlStatementHash,perlStatementFiles,perlStatementTime,perlStatementMisc,perlVarPlain,perlVarPlain2,perlVarNotInMatches,perlVarSlash,perlVarBlock,perlVarBlock2,perlShellCommand,perlFloat,perlNumber,perlStringUnexpanded,perlString,perlQQ,perlArrow,perlBraces - syn region perlArrow matchgroup=perlArrow start="->\s*(" end=")" contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod contained - syn region perlArrow matchgroup=perlArrow start="->\s*\[" end="\]" contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod contained - syn region perlArrow matchgroup=perlArrow start="->\s*{" end="}" contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod contained - syn match perlArrow "->\s*{\s*\I\i*\s*}" contains=perlVarSimpleMemberName nextgroup=perlVarMember,perlVarSimpleMember,perlMethod contained - syn region perlArrow matchgroup=perlArrow start="->\s*\$*\I\i*\s*(" end=")" contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod contained - syn region perlVarBlock matchgroup=perlVarPlain start="\%($#\|[$@]\)\$*{" skip="\\}" end=+}\|\%(\%(<<\%('\|"\)\?\)\@=\)+ contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod extend - syn region perlVarBlock2 matchgroup=perlVarPlain start="[%&*]\$*{" skip="\\}" end=+}\|\%(\%(<<\%('\|"\)\?\)\@=\)+ contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod extend - syn match perlVarPlain2 "[%&*]\$*{\I\i*}" nextgroup=perlVarMember,perlVarSimpleMember,perlMethod extend - syn match perlVarPlain "\%(\$#\|[@$]\)\$*{\I\i*}" nextgroup=perlVarMember,perlVarSimpleMember,perlMethod extend - syn region perlVarMember matchgroup=perlVarPlain start="\%(->\)\={" skip="\\}" end="}" contained contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod extend - syn match perlVarSimpleMember "\%(->\)\={\s*\I\i*\s*}" nextgroup=perlVarMember,perlVarSimpleMember,perlMethod contains=perlVarSimpleMemberName contained extend + syn region perlArrow matchgroup=perlArrow start="->\s*(" end=")" contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref contained + syn region perlArrow matchgroup=perlArrow start="->\s*\[" end="\]" contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref contained + syn region perlArrow matchgroup=perlArrow start="->\s*{" end="}" contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref contained + syn match perlArrow "->\s*{\s*\I\i*\s*}" contains=perlVarSimpleMemberName nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref contained + syn region perlArrow matchgroup=perlArrow start="->\s*\$*\I\i*\s*(" end=")" contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref contained + syn region perlVarBlock matchgroup=perlVarPlain start="\%($#\|[$@]\)\$*{" skip="\\}" end=+}\|\%(\%(<<\%('\|"\)\?\)\@=\)+ contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref extend + syn region perlVarBlock2 matchgroup=perlVarPlain start="[%&*]\$*{" skip="\\}" end=+}\|\%(\%(<<\%('\|"\)\?\)\@=\)+ contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref extend + syn match perlVarPlain2 "[%&*]\$*{\I\i*}" nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref extend + syn match perlVarPlain "\%(\$#\|[@$]\)\$*{\I\i*}" nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref extend + syn region perlVarMember matchgroup=perlVarPlain start="\%(->\)\={" skip="\\}" end="}" contained contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref extend + syn match perlVarSimpleMember "\%(->\)\={\s*\I\i*\s*}" nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref contains=perlVarSimpleMemberName contained extend syn match perlVarSimpleMemberName "\I\i*" contained - syn region perlVarMember matchgroup=perlVarPlain start="\%(->\)\=\[" skip="\\]" end="]" contained contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod extend - syn match perlPackageConst "__PACKAGE__" nextgroup=perlMethod - syn match perlMethod "->\$*\I\i*" contained nextgroup=perlVarSimpleMember,perlVarMember,perlMethod + syn region perlVarMember matchgroup=perlVarPlain start="\%(->\)\=\[" skip="\\]" end="]" contained contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref extend + syn match perlPackageConst "__PACKAGE__" nextgroup=perlMethod,perlPostDeref + syn match perlMethod "->\$*\I\i*" contained nextgroup=perlVarSimpleMember,perlVarMember,perlMethod,perlPostDeref + syn match perlPostDeref "->\%($#\|[$@%&*]\)\*" contained nextgroup=perlVarSimpleMember,perlVarMember,perlMethod,perlPostDeref + syn region perlPostDeref start="->\%($#\|[$@%&*]\)\[" skip="\\]" end="]" contained contains=@perlExpr nextgroup=perlVarSimpleMember,perlVarMember,perlMethod,perlPostDeref + syn region perlPostDeref matchgroup=perlPostDeref start="->\%($#\|[$@%&*]\){" skip="\\}" end="}" contained contains=@perlExpr nextgroup=perlVarSimpleMember,perlVarMember,perlMethod,perlPostDeref endif " File Descriptors syn match perlFiledescRead "<\h\w*>" -syn match perlFiledescStatementComma "(\=\s*\u\w*\s*,"me=e-1 transparent contained contains=perlFiledescStatement -syn match perlFiledescStatementNocomma "(\=\s*\u\w*\s*[^, \t]"me=e-1 transparent contained contains=perlFiledescStatement +syn match perlFiledescStatementComma "(\=\s*\<\u\w*\>\s*,"me=e-1 transparent contained contains=perlFiledescStatement +syn match perlFiledescStatementNocomma "(\=\s*\<\u\w*\>\s*[^, \t]"me=e-1 transparent contained contains=perlFiledescStatement -syn match perlFiledescStatement "\u\w*" contained +syn match perlFiledescStatement "\<\u\w*\>" contained " Special characters in strings and matches syn match perlSpecialString "\\\%(\o\{1,3}\|x\%({\x\+}\|\x\{1,2}\)\|c.\|[^cx]\)" contained extend @@ -241,20 +242,18 @@ syn region perlAnglesDQ start=+<+ end=+>+ extend contained contains=perlAnglesD " Simple version of searches and matches -syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\>\s*\z([^[:space:]'([{<#]\)+ end=+\z1[msixpodualgc]*+ contains=@perlInterpMatch keepend extend -syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m#+ end=+#[msixpodualgc]*+ contains=@perlInterpMatch keepend extend -syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\s*'+ end=+'[msixpodualgc]*+ contains=@perlInterpSQ keepend extend -syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\s*/+ end=+/[msixpodualgc]*+ contains=@perlInterpSlash keepend extend -syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\s*(+ end=+)[msixpodualgc]*+ contains=@perlInterpMatch,perlParensDQ keepend extend - -" A special case for m{}, m<> and m[] which allows for comments and extra whitespace in the pattern -syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\s*{+ end=+}[msixpodualgc]*+ contains=@perlInterpMatch,perlComment,perlBracesDQ extend -syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\s*<+ end=+>[msixpodualgc]*+ contains=@perlInterpMatch,perlAnglesDQ keepend extend -syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\s*\[+ end=+\][msixpodualgc]*+ contains=@perlInterpMatch,perlComment,perlBracketsDQ keepend extend +syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\>\s*\z([^[:space:]'([{<#]\)+ end=+\z1[msixpodualgcn]*+ contains=@perlInterpMatch keepend extend +syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m#+ end=+#[msixpodualgcn]*+ contains=@perlInterpMatch keepend extend +syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\s*'+ end=+'[msixpodualgcn]*+ contains=@perlInterpSQ keepend extend +syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\s*/+ end=+/[msixpodualgcn]*+ contains=@perlInterpSlash keepend extend +syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\s*(+ end=+)[msixpodualgcn]*+ contains=@perlInterpMatch,perlParensDQ keepend extend +syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\s*{+ end=+}[msixpodualgcn]*+ contains=@perlInterpMatch,perlBracesDQ extend +syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\s*<+ end=+>[msixpodualgcn]*+ contains=@perlInterpMatch,perlAnglesDQ keepend extend +syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\s*\[+ end=+\][msixpodualgcn]*+ contains=@perlInterpMatch,perlBracketsDQ keepend extend " Below some hacks to recognise the // variant. This is virtually impossible to catch in all " cases as the / is used in so many other ways, but these should be the most obvious ones. -syn region perlMatch matchgroup=perlMatchStartEnd start="\%([$@%&*]\@<!\%(\<split\|\<while\|\<if\|\<unless\|\.\.\|[-+*!~(\[{=]\)\s*\)\@<=/\%(/=\)\@!" start=+^/\%(/=\)\@!+ start=+\s\@<=/\%(/=\)\@![^[:space:][:digit:]$@%=]\@=\%(/\_s*\%([([{$@%&*[:digit:]"'`]\|\_s\w\|[[:upper:]_abd-fhjklnqrt-wyz]\)\)\@!+ skip=+\\/+ end=+/[msixpodualgc]*+ contains=@perlInterpSlash extend +syn region perlMatch matchgroup=perlMatchStartEnd start="\%([$@%&*]\@<!\%(\<split\|\<while\|\<if\|\<unless\|\.\.\|[-+*!~(\[{=]\)\s*\)\@<=/\%(/=\)\@!" start=+^/\%(/=\)\@!+ start=+\s\@<=/\%(/=\)\@![^[:space:][:digit:]$@%=]\@=\%(/\_s*\%([([{$@%&*[:digit:]"'`]\|\_s\w\|[[:upper:]_abd-fhjklnqrt-wyz]\)\)\@!+ skip=+\\/+ end=+/[msixpodualgcn]*+ contains=@perlInterpSlash extend " Substitutions @@ -267,12 +266,12 @@ syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!s\s syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!s\s*<+ end=+>+ contains=@perlInterpMatch,perlAnglesDQ nextgroup=perlSubstitutionGQQ skipwhite skipempty skipnl keepend extend syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!s\s*\[+ end=+\]+ contains=@perlInterpMatch,perlBracketsDQ nextgroup=perlSubstitutionGQQ skipwhite skipempty skipnl keepend extend syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!s\s*{+ end=+}+ contains=@perlInterpMatch,perlBracesDQ nextgroup=perlSubstitutionGQQ skipwhite skipempty skipnl keepend extend -syn region perlSubstitutionGQQ matchgroup=perlMatchStartEnd start=+\z([^[:space:]'([{<]\)+ end=+\z1[msixpodualgcer]*+ keepend contained contains=@perlInterpDQ extend -syn region perlSubstitutionGQQ matchgroup=perlMatchStartEnd start=+(+ end=+)[msixpodualgcer]*+ contained contains=@perlInterpDQ,perlParensDQ keepend extend -syn region perlSubstitutionGQQ matchgroup=perlMatchStartEnd start=+\[+ end=+\][msixpodualgcer]*+ contained contains=@perlInterpDQ,perlBracketsDQ keepend extend -syn region perlSubstitutionGQQ matchgroup=perlMatchStartEnd start=+{+ end=+}[msixpodualgcer]*+ contained contains=@perlInterpDQ,perlBracesDQ keepend extend extend -syn region perlSubstitutionGQQ matchgroup=perlMatchStartEnd start=+<+ end=+>[msixpodualgcer]*+ contained contains=@perlInterpDQ,perlAnglesDQ keepend extend -syn region perlSubstitutionSQ matchgroup=perlMatchStartEnd start=+'+ end=+'[msixpodualgcer]*+ contained contains=@perlInterpSQ keepend extend +syn region perlSubstitutionGQQ matchgroup=perlMatchStartEnd start=+\z([^[:space:]'([{<]\)+ end=+\z1[msixpodualgcern]*+ keepend contained contains=@perlInterpDQ extend +syn region perlSubstitutionGQQ matchgroup=perlMatchStartEnd start=+(+ end=+)[msixpodualgcern]*+ contained contains=@perlInterpDQ,perlParensDQ keepend extend +syn region perlSubstitutionGQQ matchgroup=perlMatchStartEnd start=+\[+ end=+\][msixpodualgcern]*+ contained contains=@perlInterpDQ,perlBracketsDQ keepend extend +syn region perlSubstitutionGQQ matchgroup=perlMatchStartEnd start=+{+ end=+}[msixpodualgcern]*+ contained contains=@perlInterpDQ,perlBracesDQ keepend extend extend +syn region perlSubstitutionGQQ matchgroup=perlMatchStartEnd start=+<+ end=+>[msixpodualgcern]*+ contained contains=@perlInterpDQ,perlAnglesDQ keepend extend +syn region perlSubstitutionSQ matchgroup=perlMatchStartEnd start=+'+ end=+'[msixpodualgcern]*+ contained contains=@perlInterpSQ keepend extend " Translations " perlMatch is the first part, perlTranslation* is the second, translator part. @@ -314,35 +313,40 @@ syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qw\s syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qw\s*{+ end=+}+ contains=@perlInterpSQ,perlBracesSQ keepend extend syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qw\s*<+ end=+>+ contains=@perlInterpSQ,perlAnglesSQ keepend extend -syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\>\s*\z([^[:space:]#([{<'/]\)+ end=+\z1[imosx]*+ contains=@perlInterpMatch keepend extend -syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\s*/+ end=+/[imosx]*+ contains=@perlInterpSlash keepend extend -syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr#+ end=+#[imosx]*+ contains=@perlInterpMatch keepend extend -syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\s*'+ end=+'[imosx]*+ contains=@perlInterpSQ keepend extend -syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\s*(+ end=+)[imosx]*+ contains=@perlInterpMatch,perlParensDQ keepend extend +syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\>\s*\z([^[:space:]#([{<'/]\)+ end=+\z1[imosxdual]*+ contains=@perlInterpMatch keepend extend +syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\s*/+ end=+/[imosxdual]*+ contains=@perlInterpSlash keepend extend +syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr#+ end=+#[imosxdual]*+ contains=@perlInterpMatch keepend extend +syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\s*'+ end=+'[imosxdual]*+ contains=@perlInterpSQ keepend extend +syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\s*(+ end=+)[imosxdual]*+ contains=@perlInterpMatch,perlParensDQ keepend extend " A special case for qr{}, qr<> and qr[] which allows for comments and extra whitespace in the pattern -syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\s*{+ end=+}[imosx]*+ contains=@perlInterpMatch,perlBracesDQ,perlComment keepend extend -syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\s*<+ end=+>[imosx]*+ contains=@perlInterpMatch,perlAnglesDQ,perlComment keepend extend -syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\s*\[+ end=+\][imosx]*+ contains=@perlInterpMatch,perlBracketsDQ,perlComment keepend extend +syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\s*{+ end=+}[imosxdual]*+ contains=@perlInterpMatch,perlBracesDQ,perlComment keepend extend +syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\s*<+ end=+>[imosxdual]*+ contains=@perlInterpMatch,perlAnglesDQ,perlComment keepend extend +syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\s*\[+ end=+\][imosxdual]*+ contains=@perlInterpMatch,perlBracketsDQ,perlComment keepend extend " Constructs such as print <<EOF [...] EOF, 'here' documents " " XXX Any statements after the identifier are in perlString colour (i.e. " 'if $a' in 'print <<EOF if $a'). This is almost impossible to get right it " seems due to the 'auto-extending nature' of regions. +syn region perlHereDocStart matchgroup=perlStringStartEnd start=+<<\z(\I\i*\)+ end=+$+ contains=@perlTop oneline +syn region perlHereDocStart matchgroup=perlStringStartEnd start=+<<\s*"\z([^\\"]*\%(\\.[^\\"]*\)*\)"+ end=+$+ contains=@perlTop oneline +syn region perlHereDocStart matchgroup=perlStringStartEnd start=+<<\s*'\z([^\\']*\%(\\.[^\\']*\)*\)'+ end=+$+ contains=@perlTop oneline +syn region perlHereDocStart matchgroup=perlStringStartEnd start=+<<\s*""+ end=+$+ contains=@perlTop oneline +syn region perlHereDocStart matchgroup=perlStringStartEnd start=+<<\s*''+ end=+$+ contains=@perlTop oneline if exists("perl_fold") - syn region perlHereDoc matchgroup=perlStringStartEnd start=+<<\z(\I\i*\).*+ end=+^\z1$+ contains=@perlInterpDQ fold extend - syn region perlHereDoc matchgroup=perlStringStartEnd start=+<<\s*"\z([^\\"]*\%(\\.[^\\"]*\)*\)"+ end=+^\z1$+ contains=@perlInterpDQ fold extend - syn region perlHereDoc matchgroup=perlStringStartEnd start=+<<\s*'\z([^\\']*\%(\\.[^\\']*\)*\)'+ end=+^\z1$+ contains=@perlInterpSQ fold extend - syn region perlHereDoc matchgroup=perlStringStartEnd start=+<<\s*""+ end=+^$+ contains=@perlInterpDQ,perlNotEmptyLine fold extend - syn region perlHereDoc matchgroup=perlStringStartEnd start=+<<\s*''+ end=+^$+ contains=@perlInterpSQ,perlNotEmptyLine fold extend + syn region perlHereDoc start=+<<\z(\I\i*\)+ matchgroup=perlStringStartEnd end=+^\z1$+ contains=perlHereDocStart,@perlInterpDQ fold extend + syn region perlHereDoc start=+<<\s*"\z([^\\"]*\%(\\.[^\\"]*\)*\)"+ matchgroup=perlStringStartEnd end=+^\z1$+ contains=perlHereDocStart,@perlInterpDQ fold extend + syn region perlHereDoc start=+<<\s*'\z([^\\']*\%(\\.[^\\']*\)*\)'+ matchgroup=perlStringStartEnd end=+^\z1$+ contains=perlHereDocStart,@perlInterpSQ fold extend + syn region perlHereDoc start=+<<\s*""+ matchgroup=perlStringStartEnd end=+^$+ contains=perlHereDocStart,@perlInterpDQ,perlNotEmptyLine fold extend + syn region perlHereDoc start=+<<\s*''+ matchgroup=perlStringStartEnd end=+^$+ contains=perlHereDocStart,@perlInterpSQ,perlNotEmptyLine fold extend syn region perlAutoload matchgroup=perlStringStartEnd start=+<<\s*\(['"]\=\)\z(END_\%(SUB\|OF_FUNC\|OF_AUTOLOAD\)\)\1+ end=+^\z1$+ contains=ALL fold extend else - syn region perlHereDoc matchgroup=perlStringStartEnd start=+<<\z(\I\i*\).*+ end=+^\z1$+ contains=@perlInterpDQ - syn region perlHereDoc matchgroup=perlStringStartEnd start=+<<\s*"\z([^\\"]*\%(\\.[^\\"]*\)*\)"+ end=+^\z1$+ contains=@perlInterpDQ - syn region perlHereDoc matchgroup=perlStringStartEnd start=+<<\s*'\z([^\\']*\%(\\.[^\\']*\)*\)'+ end=+^\z1$+ contains=@perlInterpSQ - syn region perlHereDoc matchgroup=perlStringStartEnd start=+<<\s*""+ end=+^$+ contains=@perlInterpDQ,perlNotEmptyLine - syn region perlHereDoc matchgroup=perlStringStartEnd start=+<<\s*''+ end=+^$+ contains=@perlInterpSQ,perlNotEmptyLine + syn region perlHereDoc start=+<<\z(\I\i*\)+ matchgroup=perlStringStartEnd end=+^\z1$+ contains=perlHereDocStart,@perlInterpDQ + syn region perlHereDoc start=+<<\s*"\z([^\\"]*\%(\\.[^\\"]*\)*\)"+ matchgroup=perlStringStartEnd end=+^\z1$+ contains=perlHereDocStart,@perlInterpDQ + syn region perlHereDoc start=+<<\s*'\z([^\\']*\%(\\.[^\\']*\)*\)'+ matchgroup=perlStringStartEnd end=+^\z1$+ contains=perlHereDocStart,@perlInterpSQ + syn region perlHereDoc start=+<<\s*""+ matchgroup=perlStringStartEnd end=+^$+ contains=perlHereDocStart,@perlInterpDQ,perlNotEmptyLine + syn region perlHereDoc start=+<<\s*''+ matchgroup=perlStringStartEnd end=+^$+ contains=perlHereDocStart,@perlInterpSQ,perlNotEmptyLine syn region perlAutoload matchgroup=perlStringStartEnd start=+<<\s*\(['"]\=\)\z(END_\%(SUB\|OF_FUNC\|OF_AUTOLOAD\)\)\1+ end=+^\z1$+ contains=ALL endif @@ -356,27 +360,21 @@ syn keyword perlStatementPackage package contained " sub [name] [(prototype)] { " syn match perlSubError "[^[:space:];{#]" contained -if v:version == 701 && !has('patch221') " XXX I hope that's the right one - syn match perlSubAttributes ":" contained +syn match perlSubAttributesCont "\h\w*\_s*\%(:\_s*\)\=" nextgroup=@perlSubAttrMaybe contained +syn region perlSubAttributesCont matchgroup=perlSubAttributesCont start="\h\w*(" end=")\_s*\%(:\_s*\)\=" nextgroup=@perlSubAttrMaybe contained contains=@perlInterpSQ,perlParensSQ +syn cluster perlSubAttrMaybe contains=perlSubAttributesCont,perlSubError,perlFakeGroup +syn match perlSubAttributes "" contained nextgroup=perlSubError +syn match perlSubAttributes ":\_s*" contained nextgroup=@perlSubAttrMaybe +if get(g:, "perl_sub_signatures", 0) + syn match perlSignature +(\_[^)]*)\_s*+ nextgroup=perlSubAttributes,perlComment contained else - syn match perlSubAttributesCont "\h\w*\_s*\%(:\_s*\)\=" nextgroup=@perlSubAttrMaybe contained - syn region perlSubAttributesCont matchgroup=perlSubAttributesCont start="\h\w*(" end=")\_s*\%(:\_s*\)\=" nextgroup=@perlSubAttrMaybe contained contains=@perlInterpSQ,perlParensSQ - syn cluster perlSubAttrMaybe contains=perlSubAttributesCont,perlSubError,perlFakeGroup - syn match perlSubAttributes "" contained nextgroup=perlSubError - syn match perlSubAttributes ":\_s*" contained nextgroup=@perlSubAttrMaybe + syn match perlSubPrototypeError "(\%(\_s*\%(\%(\\\%([$@%&*]\|\[[$@%&*]\+\]\)\|[$&*]\|[@%]\%(\_s*)\)\@=\|;\%(\_s*[)$@%&*\\]\)\@=\|_\%(\_s*[);]\)\@=\)\_s*\)*\)\@>\zs\_[^)]\+" contained + syn match perlSubPrototype +(\_[^)]*)\_s*+ nextgroup=perlSubAttributes,perlComment contained contains=perlSubPrototypeError endif -syn match perlSubPrototypeError "(\%(\_s*\%(\%(\\\%([$@%&*]\|\[[$@%&*]\+\]\)\|[$&*]\|[@%]\%(\_s*)\)\@=\|;\%(\_s*[)$@%&*\\]\)\@=\|_\%(\_s*[);]\)\@=\)\_s*\)*\)\@>\zs\_[^)]\+" contained -syn match perlSubPrototype +(\_[^)]*)\_s*\|+ nextgroup=perlSubAttributes,perlComment contained contains=perlSubPrototypeError -syn match perlSubName +\%(\h\|::\|'\w\)\%(\w\|::\|'\w\)*\_s*\|+ contained nextgroup=perlSubPrototype,perlComment -syn match perlFunction +\<sub\>\_s*+ nextgroup=perlSubName +syn match perlSubName +\%(\h\|::\|'\w\)\%(\w\|::\|'\w\)*\_s*\|+ contained nextgroup=perlSubPrototype,perlSignature,perlSubAttributes,perlComment -if !exists("perl_no_scope_in_variables") - syn match perlFunctionPRef "\h\w*::" contained - syn match perlFunctionName "\h\w*[^:]" contained -else - syn match perlFunctionName "\h[[:alnum:]_:]*" contained -endif +syn match perlFunction +\<sub\>\_s*+ nextgroup=perlSubName " The => operator forces a bareword to the left of it to be interpreted as " a string @@ -397,10 +395,10 @@ syn match perlFormatField "@$" contained " __END__ and __DATA__ clauses if exists("perl_fold") - syntax region perlDATA start="^__DATA__$" skip="." end="." fold + syntax region perlDATA start="^__DATA__$" skip="." end="." contains=@perlDATA fold syntax region perlDATA start="^__END__$" skip="." end="." contains=perlPOD,@perlDATA fold else - syntax region perlDATA start="^__DATA__$" skip="." end="." + syntax region perlDATA start="^__DATA__$" skip="." end="." contains=@perlDATA syntax region perlDATA start="^__END__$" skip="." end="." contains=perlPOD,@perlDATA endif @@ -414,9 +412,9 @@ if exists("perl_fold") syn region perlPackageFold start="^package \S\+;\s*\%(#.*\)\=$" end="^1;\=\s*\%(#.*\)\=$" end="\n\+package"me=s-1 transparent fold keepend endif if !exists("perl_nofold_subs") - if exists("perl_fold_anonymous_subs") && perl_fold_anonymous_subs - syn region perlSubFold start="\<sub\>[^\n;]*{" end="}" transparent fold keepend extend - syn region perlSubFold start="\<\%(BEGIN\|END\|CHECK\|INIT\)\>\s*{" end="}" transparent fold keepend + if get(g:, "perl_fold_anonymous_subs", 0) + syn region perlSubFold start="\<sub\>[^{]*{" end="}" transparent fold keepend extend + syn region perlSubFold start="\<\%(BEGIN\|END\|CHECK\|INIT\)\>\s*{" end="}" transparent fold keepend else syn region perlSubFold start="^\z(\s*\)\<sub\>.*[^};]$" end="^\z1}\s*\%(#.*\)\=$" transparent fold keepend syn region perlSubFold start="^\z(\s*\)\<\%(BEGIN\|END\|CHECK\|INIT\|UNITCHECK\)\>.*[^};]$" end="^\z1}\s*$" transparent fold keepend @@ -424,7 +422,7 @@ if exists("perl_fold") endif if exists("perl_fold_blocks") - syn region perlBlockFold start="^\z(\s*\)\%(if\|elsif\|unless\|for\|while\|until\|given\)\s*(.*)\%(\s*{\)\=\s*\%(#.*\)\=$" start="^\z(\s*\)foreach\s*\%(\%(my\|our\)\=\s*\S\+\s*\)\=(.*)\%(\s*{\)\=\s*\%(#.*\)\=$" end="^\z1}\s*;\=\%(#.*\)\=$" transparent fold keepend + syn region perlBlockFold start="^\z(\s*\)\%(if\|elsif\|unless\|for\|while\|until\|given\)\s*(.*)\%(\s*{\)\=\s*\%(#.*\)\=$" start="^\z(\s*\)for\%(each\)\=\s*\%(\%(my\|our\)\=\s*\S\+\s*\)\=(.*)\%(\s*{\)\=\s*\%(#.*\)\=$" end="^\z1}\s*;\=\%(#.*\)\=$" transparent fold keepend syn region perlBlockFold start="^\z(\s*\)\%(do\|else\)\%(\s*{\)\=\s*\%(#.*\)\=$" end="^\z1}\s*while" end="^\z1}\s*;\=\%(#.*\)\=$" transparent fold keepend endif @@ -435,7 +433,6 @@ else syn sync minlines=0 endif - " NOTE: If you're linking new highlight groups to perlString, please also put " them into b:match_skip in ftplugin/perl.vim. @@ -458,6 +455,7 @@ hi def link perlOperator Operator hi def link perlFunction Keyword hi def link perlSubName Function hi def link perlSubPrototype Type +hi def link perlSignature Type hi def link perlSubAttributes PreProc hi def link perlSubAttributesCont perlSubAttributes hi def link perlComment Comment @@ -516,8 +514,11 @@ hi def link perlStatementMisc perlStatement hi def link perlStatementIndirObj perlStatement hi def link perlFunctionName perlIdentifier hi def link perlMethod perlIdentifier +hi def link perlPostDeref perlIdentifier hi def link perlFunctionPRef perlType -hi def link perlPOD perlComment +if !get(g:, 'perl_include_pod', 1) + hi def link perlPOD perlComment +endif hi def link perlShellCommand perlString hi def link perlSpecialAscii perlSpecial hi def link perlSpecialDollar perlSpecial @@ -548,7 +549,6 @@ hi def link perlElseIfError Error hi def link perlSubPrototypeError Error hi def link perlSubError Error - " Syncing to speed up processing " if !exists("perl_no_sync_on_sub") @@ -575,11 +575,6 @@ syn sync match perlSyncPOD grouphere NONE "^=cut" let b:current_syntax = "perl" -if exists('®expengine') - let ®expengine=s:regexpengine - unlet s:regexpengine -endif - let &cpo = s:cpo_save unlet s:cpo_save diff --git a/runtime/syntax/php.vim b/runtime/syntax/php.vim index 278fc1358c..6a81b8c631 100644 --- a/runtime/syntax/php.vim +++ b/runtime/syntax/php.vim @@ -1,42 +1,38 @@ " Vim syntax file " Language: php PHP 3/4/5/7 " Maintainer: Jason Woofenden <jason@jasonwoof.com> -" Last Change: Dec 11, 2016 +" Last Change: Jul 14, 2017 " URL: https://jasonwoof.com/gitweb/?p=vim-syntax.git;a=blob;f=php.vim;hb=HEAD " Former Maintainers: Peter Hodge <toomuchphp-vim@yahoo.com> " Debian VIM Maintainers <pkg-vim-maintainers@lists.alioth.debian.org> " -" Note: If you are using a colour terminal with dark background, you will probably find -" the 'elflord' colorscheme is much better for PHP's syntax than the default -" colourscheme, because elflord's colours will better highlight the break-points -" (Statements) in your code. +" Note: If you are using a colour terminal with dark background, you will +" probably find the 'elflord' colorscheme is much better for PHP's syntax +" than the default colourscheme, because elflord's colours will better +" highlight the break-points (Statements) in your code. " -" Options: php_sql_query = 1 for SQL syntax highlighting inside strings -" php_htmlInStrings = 1 for HTML syntax highlighting inside strings -" php_baselib = 1 for highlighting baselib functions -" php_asp_tags = 1 for highlighting ASP-style short tags -" php_parent_error_close = 1 for highlighting parent error ] or ) -" php_parent_error_open = 1 for skipping an php end tag, if there exists an open ( or [ without a closing one -" php_oldStyle = 1 for using old colorstyle -" php_noShortTags = 1 don't sync <? ?> as php -" php_folding = 1 for folding classes and functions -" php_folding = 2 for folding all { } regions -" php_sync_method = x -" x=-1 to sync by search ( default ) -" x>0 to sync at least x lines backwards -" x=0 to sync from start -" -" Added by Peter Hodge On June 9, 2006: -" php_special_functions = 1|0 to highlight functions with abnormal behaviour -" php_alt_comparisons = 1|0 to highlight comparison operators in an alternate colour -" php_alt_assignByReference = 1|0 to highlight '= &' in an alternate colour -" -" Note: these all default to 1 (On), so you would set them to '0' to turn them off. -" E.g., in your .vimrc or _vimrc file: -" let php_special_functions = 0 -" let php_alt_comparisons = 0 -" let php_alt_assignByReference = 0 -" Unletting these variables will revert back to their default (On). +" Options: +" Set to anything to enable: +" php_sql_query SQL syntax highlighting inside strings +" php_htmlInStrings HTML syntax highlighting inside strings +" php_baselib highlighting baselib functions +" php_asp_tags highlighting ASP-style short tags +" php_parent_error_close highlighting parent error ] or ) +" php_parent_error_open skipping an php end tag, if there exists +" an open ( or [ without a closing one +" php_oldStyle use old colorstyle +" php_noShortTags don't sync <? ?> as php +" Set to a specific value: +" php_folding = 1 fold classes and functions +" php_folding = 2 fold all { } regions +" php_sync_method = x where x is an integer: +" -1 sync by search ( default ) +" >0 sync at least x lines backwards +" 0 sync from start +" Set to 0 to _disable_: (Added by Peter Hodge On June 9, 2006) +" php_special_functions = 0 highlight functions with abnormal behaviour +" php_alt_comparisons = 0 comparison operators in an alternate colour +" php_alt_assignByReference = 0 '= &' in an alternate colour " " " Note: @@ -105,7 +101,7 @@ syn case match syn keyword phpEnvVar GATEWAY_INTERFACE SERVER_NAME SERVER_SOFTWARE SERVER_PROTOCOL REQUEST_METHOD QUERY_STRING DOCUMENT_ROOT HTTP_ACCEPT HTTP_ACCEPT_CHARSET HTTP_ENCODING HTTP_ACCEPT_LANGUAGE HTTP_CONNECTION HTTP_HOST HTTP_REFERER HTTP_USER_AGENT REMOTE_ADDR REMOTE_PORT SCRIPT_FILENAME SERVER_ADMIN SERVER_PORT SERVER_SIGNATURE PATH_TRANSLATED SCRIPT_NAME REQUEST_URI contained " Internal Variables -syn keyword phpIntVar GLOBALS PHP_ERRMSG PHP_SELF HTTP_GET_VARS HTTP_POST_VARS HTTP_COOKIE_VARS HTTP_POST_FILES HTTP_ENV_VARS HTTP_SERVER_VARS HTTP_SESSION_VARS HTTP_RAW_POST_DATA HTTP_STATE_VARS _GET _POST _COOKIE _FILES _SERVER _ENV _SERVER _REQUEST _SESSION contained +syn keyword phpIntVar GLOBALS PHP_ERRMSG PHP_SELF HTTP_GET_VARS HTTP_POST_VARS HTTP_COOKIE_VARS HTTP_POST_FILES HTTP_ENV_VARS HTTP_SERVER_VARS HTTP_SESSION_VARS HTTP_RAW_POST_DATA HTTP_STATE_VARS _GET _POST _COOKIE _FILES _SERVER _ENV _SERVER _REQUEST _SESSION contained " Constants syn keyword phpCoreConstant PHP_VERSION PHP_OS DEFAULT_INCLUDE_PATH PEAR_INSTALL_DIR PEAR_EXTENSION_DIR PHP_EXTENSION_DIR PHP_BINDIR PHP_LIBDIR PHP_DATADIR PHP_SYSCONFDIR PHP_LOCALSTATEDIR PHP_CONFIG_FILE_PATH PHP_OUTPUT_HANDLER_START PHP_OUTPUT_HANDLER_CONT PHP_OUTPUT_HANDLER_END contained @@ -116,185 +112,185 @@ syn keyword phpCoreConstant E_ALL E_COMPILE_ERROR E_COMPILE_WARNING E_CORE_ERROR syn case ignore -syn keyword phpConstant __LINE__ __FILE__ __FUNCTION__ __METHOD__ __CLASS__ __DIR__ __NAMESPACE__ contained +syn keyword phpConstant __LINE__ __FILE__ __FUNCTION__ __METHOD__ __CLASS__ __DIR__ __NAMESPACE__ __TRAIT__ contained " Function and Methods ripped from php_manual_de.tar.gz Jan 2003 -syn keyword phpFunctions apache_child_terminate apache_get_modules apache_get_version apache_getenv apache_lookup_uri apache_note apache_request_headers apache_response_headers apache_setenv ascii2ebcdic ebcdic2ascii getallheaders virtual contained -syn keyword phpFunctions array_change_key_case array_chunk array_column array_combine array_count_values array_diff_assoc array_diff_key array_diff_uassoc array_diff_ukey array_diff array_fill_keys array_fill array_filter array_flip array_intersect_assoc array_intersect_key array_intersect_uassoc array_intersect_ukey array_intersect array_key_exists array_keys array_map array_merge_recursive array_merge array_multisort array_pad array_pop array_product array_push array_rand array_reduce array_replace_recursive array_replace array_reverse array_search array_shift array_slice array_splice array_sum array_udiff_assoc array_udiff_uassoc array_udiff array_uintersect_assoc array_uintersect_uassoc array_uintersect array_unique array_unshift array_values array_walk_recursive array_walk arsort asort count current each end in_array key_exists key krsort ksort natcasesort natsort next pos prev range reset rsort shuffle sizeof sort uasort uksort usort contained -syn keyword phpFunctions aspell_check aspell_new aspell_suggest contained -syn keyword phpFunctions bcadd bccomp bcdiv bcmod bcmul bcpow bcpowmod bcscale bcsqrt bcsub contained -syn keyword phpFunctions bzclose bzcompress bzdecompress bzerrno bzerror bzerrstr bzflush bzopen bzread bzwrite contained -syn keyword phpFunctions cal_days_in_month cal_from_jd cal_info cal_to_jd easter_date easter_days frenchtojd gregoriantojd jddayofweek jdmonthname jdtofrench jdtogregorian jdtojewish jdtojulian jdtounix jewishtojd juliantojd unixtojd contained -syn keyword phpFunctions ccvs_add ccvs_auth ccvs_command ccvs_count ccvs_delete ccvs_done ccvs_init ccvs_lookup ccvs_new ccvs_report ccvs_return ccvs_reverse ccvs_sale ccvs_status ccvs_textvalue ccvs_void contained -syn keyword phpFunctions call_user_method_array call_user_method class_exists get_class_methods get_class_vars get_class get_declared_classes get_object_vars get_parent_class is_a is_subclass_of method_exists contained -syn keyword phpFunctions com VARIANT com_addref com_get com_invoke com_isenum com_load_typelib com_load com_propget com_propput com_propset com_release com_set contained -syn keyword phpFunctions cpdf_add_annotation cpdf_add_outline cpdf_arc cpdf_begin_text cpdf_circle cpdf_clip cpdf_close cpdf_closepath_fill_stroke cpdf_closepath_stroke cpdf_closepath cpdf_continue_text cpdf_curveto cpdf_end_text cpdf_fill_stroke cpdf_fill cpdf_finalize_page cpdf_finalize cpdf_global_set_document_limits cpdf_import_jpeg cpdf_lineto cpdf_moveto cpdf_newpath cpdf_open cpdf_output_buffer cpdf_page_init cpdf_place_inline_image cpdf_rect cpdf_restore cpdf_rlineto cpdf_rmoveto cpdf_rotate_text cpdf_rotate cpdf_save_to_file cpdf_save cpdf_scale cpdf_set_action_url cpdf_set_char_spacing cpdf_set_creator cpdf_set_current_page cpdf_set_font_directories cpdf_set_font_map_file cpdf_set_font cpdf_set_horiz_scaling cpdf_set_keywords cpdf_set_leading cpdf_set_page_animation cpdf_set_subject cpdf_set_text_matrix cpdf_set_text_pos cpdf_set_text_rendering cpdf_set_text_rise cpdf_set_title cpdf_set_viewer_preferences cpdf_set_word_spacing cpdf_setdash cpdf_setflat cpdf_setgray_fill cpdf_setgray_stroke cpdf_setgray cpdf_setlinecap cpdf_setlinejoin cpdf_setlinewidth cpdf_setmiterlimit cpdf_setrgbcolor_fill cpdf_setrgbcolor_stroke cpdf_setrgbcolor cpdf_show_xy cpdf_show cpdf_stringwidth cpdf_stroke cpdf_text cpdf_translate contained -syn keyword phpFunctions crack_check crack_closedict crack_getlastmessage crack_opendict contained -syn keyword phpFunctions ctype_alnum ctype_alpha ctype_cntrl ctype_digit ctype_graph ctype_lower ctype_print ctype_punct ctype_space ctype_upper ctype_xdigit contained -syn keyword phpFunctions curl_close curl_errno curl_error curl_exec curl_getinfo curl_init curl_multi_add_handle curl_multi_close curl_multi_exec curl_multi_getcontent curl_multi_info_read curl_multi_init curl_multi_remove_handle curl_multi_select curl_setopt curl_version contained -syn keyword phpFunctions cybercash_base64_decode cybercash_base64_encode cybercash_decr cybercash_encr contained -syn keyword phpFunctions cyrus_authenticate cyrus_bind cyrus_close cyrus_connect cyrus_query cyrus_unbind contained -syn keyword phpFunctions checkdate date getdate gettimeofday gmdate gmmktime gmstrftime localtime microtime mktime strftime strtotime time contained -syn keyword phpFunctions dba_close dba_delete dba_exists dba_fetch dba_firstkey dba_handlers dba_insert dba_key_split dba_list dba_nextkey dba_open dba_optimize dba_popen dba_replace dba_sync contained -syn keyword phpFunctions dbase_add_record dbase_close dbase_create dbase_delete_record dbase_get_header_info dbase_get_record_with_names dbase_get_record dbase_numfields dbase_numrecords dbase_open dbase_pack dbase_replace_record contained -syn keyword phpFunctions dblist dbmclose dbmdelete dbmexists dbmfetch dbmfirstkey dbminsert dbmnextkey dbmopen dbmreplace contained -syn keyword phpFunctions dbplus_add dbplus_aql dbplus_chdir dbplus_close dbplus_curr dbplus_errcode dbplus_errno dbplus_find dbplus_first dbplus_flush dbplus_freealllocks dbplus_freelock dbplus_freerlocks dbplus_getlock dbplus_getunique dbplus_info dbplus_last dbplus_lockrel dbplus_next dbplus_open dbplus_prev dbplus_rchperm dbplus_rcreate dbplus_rcrtexact dbplus_rcrtlike dbplus_resolve dbplus_restorepos dbplus_rkeys dbplus_ropen dbplus_rquery dbplus_rrename dbplus_rsecindex dbplus_runlink dbplus_rzap dbplus_savepos dbplus_setindex dbplus_setindexbynumber dbplus_sql dbplus_tcl dbplus_tremove dbplus_undo dbplus_undoprepare dbplus_unlockrel dbplus_unselect dbplus_update dbplus_xlockrel dbplus_xunlockrel contained -syn keyword phpFunctions dbx_close dbx_compare dbx_connect dbx_error dbx_escape_string dbx_fetch_row dbx_query dbx_sort contained -syn keyword phpFunctions dio_close dio_fcntl dio_open dio_read dio_seek dio_stat dio_tcsetattr dio_truncate dio_write contained -syn keyword phpFunctions chdir chroot dir closedir getcwd opendir readdir rewinddir scandir contained -syn keyword phpFunctions domxml_new_doc domxml_open_file domxml_open_mem domxml_version domxml_xmltree domxml_xslt_stylesheet_doc domxml_xslt_stylesheet_file domxml_xslt_stylesheet xpath_eval_expression xpath_eval xpath_new_context xptr_eval xptr_new_context contained -syn keyword phpMethods name specified value create_attribute create_cdata_section create_comment create_element_ns create_element create_entity_reference create_processing_instruction create_text_node doctype document_element dump_file dump_mem get_element_by_id get_elements_by_tagname html_dump_mem xinclude entities internal_subset name notations public_id system_id get_attribute_node get_attribute get_elements_by_tagname has_attribute remove_attribute set_attribute tagname add_namespace append_child append_sibling attributes child_nodes clone_node dump_node first_child get_content has_attributes has_child_nodes insert_before is_blank_node last_child next_sibling node_name node_type node_value owner_document parent_node prefix previous_sibling remove_child replace_child replace_node set_content set_name set_namespace unlink_node data target process result_dump_file result_dump_mem contained -syn keyword phpFunctions dotnet_load contained -syn keyword phpFunctions debug_backtrace debug_print_backtrace error_log error_reporting restore_error_handler set_error_handler trigger_error user_error contained -syn keyword phpFunctions escapeshellarg escapeshellcmd exec passthru proc_close proc_get_status proc_nice proc_open proc_terminate shell_exec system contained -syn keyword phpFunctions fam_cancel_monitor fam_close fam_monitor_collection fam_monitor_directory fam_monitor_file fam_next_event fam_open fam_pending fam_resume_monitor fam_suspend_monitor contained -syn keyword phpFunctions fbsql_affected_rows fbsql_autocommit fbsql_change_user fbsql_close fbsql_commit fbsql_connect fbsql_create_blob fbsql_create_clob fbsql_create_db fbsql_data_seek fbsql_database_password fbsql_database fbsql_db_query fbsql_db_status fbsql_drop_db fbsql_errno fbsql_error fbsql_fetch_array fbsql_fetch_assoc fbsql_fetch_field fbsql_fetch_lengths fbsql_fetch_object fbsql_fetch_row fbsql_field_flags fbsql_field_len fbsql_field_name fbsql_field_seek fbsql_field_table fbsql_field_type fbsql_free_result fbsql_get_autostart_info fbsql_hostname fbsql_insert_id fbsql_list_dbs fbsql_list_fields fbsql_list_tables fbsql_next_result fbsql_num_fields fbsql_num_rows fbsql_password fbsql_pconnect fbsql_query fbsql_read_blob fbsql_read_clob fbsql_result fbsql_rollback fbsql_select_db fbsql_set_lob_mode fbsql_set_transaction fbsql_start_db fbsql_stop_db fbsql_tablename fbsql_username fbsql_warnings contained -syn keyword phpFunctions fdf_add_doc_javascript fdf_add_template fdf_close fdf_create fdf_enum_values fdf_errno fdf_error fdf_get_ap fdf_get_attachment fdf_get_encoding fdf_get_file fdf_get_flags fdf_get_opt fdf_get_status fdf_get_value fdf_get_version fdf_header fdf_next_field_name fdf_open_string fdf_open fdf_remove_item fdf_save_string fdf_save fdf_set_ap fdf_set_encoding fdf_set_file fdf_set_flags fdf_set_javascript_action fdf_set_opt fdf_set_status fdf_set_submit_form_action fdf_set_target_frame fdf_set_value fdf_set_version contained -syn keyword phpFunctions filepro_fieldcount filepro_fieldname filepro_fieldtype filepro_fieldwidth filepro_retrieve filepro_rowcount filepro contained -syn keyword phpFunctions basename chgrp chmod chown clearstatcache copy delete dirname disk_free_space disk_total_space diskfreespace fclose feof fflush fgetc fgetcsv fgets fgetss file_exists file_get_contents file_put_contents file fileatime filectime filegroup fileinode filemtime fileowner fileperms filesize filetype flock fnmatch fopen fpassthru fputs fread fscanf fseek fstat ftell ftruncate fwrite glob is_dir is_executable is_file is_link is_readable is_uploaded_file is_writable is_writeable link linkinfo lstat mkdir move_uploaded_file parse_ini_file pathinfo pclose popen readfile readlink realpath rename rewind rmdir set_file_buffer stat symlink tempnam tmpfile touch umask unlink contained -syn keyword phpFunctions fribidi_log2vis contained -syn keyword phpFunctions ftp_alloc ftp_cdup ftp_chdir ftp_chmod ftp_close ftp_connect ftp_delete ftp_exec ftp_fget ftp_fput ftp_get_option ftp_get ftp_login ftp_mdtm ftp_mkdir ftp_nb_continue ftp_nb_fget ftp_nb_fput ftp_nb_get ftp_nb_put ftp_nlist ftp_pasv ftp_put ftp_pwd ftp_quit ftp_raw ftp_rawlist ftp_rename ftp_rmdir ftp_set_option ftp_site ftp_size ftp_ssl_connect ftp_systype contained -syn keyword phpFunctions call_user_func_array call_user_func create_function func_get_arg func_get_args func_num_args function_exists get_defined_functions register_shutdown_function register_tick_function unregister_tick_function contained -syn keyword phpFunctions bind_textdomain_codeset bindtextdomain dcgettext dcngettext dgettext dngettext gettext ngettext textdomain contained -syn keyword phpFunctions gmp_abs gmp_add gmp_and gmp_clrbit gmp_cmp gmp_com gmp_div_q gmp_div_qr gmp_div_r gmp_div gmp_divexact gmp_fact gmp_gcd gmp_gcdext gmp_hamdist gmp_init gmp_intval gmp_invert gmp_jacobi gmp_legendre gmp_mod gmp_mul gmp_neg gmp_or gmp_perfect_square gmp_popcount gmp_pow gmp_powm gmp_prob_prime gmp_random gmp_scan0 gmp_scan1 gmp_setbit gmp_sign gmp_sqrt gmp_sqrtrem gmp_sqrtrm gmp_strval gmp_sub gmp_xor contained -syn keyword phpFunctions header headers_list headers_sent setcookie contained -syn keyword phpFunctions hw_api_attribute hwapi_hgcsp hw_api_content hw_api_object contained -syn keyword phpMethods key langdepvalue value values checkin checkout children mimetype read content copy dbstat dcstat dstanchors dstofsrcanchors count reason find ftstat hwstat identify info insert insertanchor insertcollection insertdocument link lock move assign attreditable count insert remove title value object objectbyanchor parents description type remove replace setcommitedversion srcanchors srcsofdst unlock user userlist contained -syn keyword phpFunctions hw_Array2Objrec hw_changeobject hw_Children hw_ChildrenObj hw_Close hw_Connect hw_connection_info hw_cp hw_Deleteobject hw_DocByAnchor hw_DocByAnchorObj hw_Document_Attributes hw_Document_BodyTag hw_Document_Content hw_Document_SetContent hw_Document_Size hw_dummy hw_EditText hw_Error hw_ErrorMsg hw_Free_Document hw_GetAnchors hw_GetAnchorsObj hw_GetAndLock hw_GetChildColl hw_GetChildCollObj hw_GetChildDocColl hw_GetChildDocCollObj hw_GetObject hw_GetObjectByQuery hw_GetObjectByQueryColl hw_GetObjectByQueryCollObj hw_GetObjectByQueryObj hw_GetParents hw_GetParentsObj hw_getrellink hw_GetRemote hw_getremotechildren hw_GetSrcByDestObj hw_GetText hw_getusername hw_Identify hw_InCollections hw_Info hw_InsColl hw_InsDoc hw_insertanchors hw_InsertDocument hw_InsertObject hw_mapid hw_Modifyobject hw_mv hw_New_Document hw_objrec2array hw_Output_Document hw_pConnect hw_PipeDocument hw_Root hw_setlinkroot hw_stat hw_Unlock hw_Who contained -syn keyword phpFunctions ibase_add_user ibase_affected_rows ibase_blob_add ibase_blob_cancel ibase_blob_close ibase_blob_create ibase_blob_echo ibase_blob_get ibase_blob_import ibase_blob_info ibase_blob_open ibase_close ibase_commit_ret ibase_commit ibase_connect ibase_delete_user ibase_drop_db ibase_errcode ibase_errmsg ibase_execute ibase_fetch_assoc ibase_fetch_object ibase_fetch_row ibase_field_info ibase_free_event_handler ibase_free_query ibase_free_result ibase_gen_id ibase_modify_user ibase_name_result ibase_num_fields ibase_num_params ibase_param_info ibase_pconnect ibase_prepare ibase_query ibase_rollback_ret ibase_rollback ibase_set_event_handler ibase_timefmt ibase_trans ibase_wait_event contained -syn keyword phpFunctions iconv_get_encoding iconv_mime_decode_headers iconv_mime_decode iconv_mime_encode iconv_set_encoding iconv_strlen iconv_strpos iconv_strrpos iconv_substr iconv ob_iconv_handler contained -syn keyword phpFunctions ifx_affected_rows ifx_blobinfile_mode ifx_byteasvarchar ifx_close ifx_connect ifx_copy_blob ifx_create_blob ifx_create_char ifx_do ifx_error ifx_errormsg ifx_fetch_row ifx_fieldproperties ifx_fieldtypes ifx_free_blob ifx_free_char ifx_free_result ifx_get_blob ifx_get_char ifx_getsqlca ifx_htmltbl_result ifx_nullformat ifx_num_fields ifx_num_rows ifx_pconnect ifx_prepare ifx_query ifx_textasvarchar ifx_update_blob ifx_update_char ifxus_close_slob ifxus_create_slob ifxus_free_slob ifxus_open_slob ifxus_read_slob ifxus_seek_slob ifxus_tell_slob ifxus_write_slob contained -syn keyword phpFunctions exif_imagetype exif_read_data exif_thumbnail gd_info getimagesize image_type_to_mime_type image2wbmp imagealphablending imageantialias imagearc imagechar imagecharup imagecolorallocate imagecolorallocatealpha imagecolorat imagecolorclosest imagecolorclosestalpha imagecolorclosesthwb imagecolordeallocate imagecolorexact imagecolorexactalpha imagecolormatch imagecolorresolve imagecolorresolvealpha imagecolorset imagecolorsforindex imagecolorstotal imagecolortransparent imagecopy imagecopymerge imagecopymergegray imagecopyresampled imagecopyresized imagecreate imagecreatefromgd2 imagecreatefromgd2part imagecreatefromgd imagecreatefromgif imagecreatefromjpeg imagecreatefrompng imagecreatefromstring imagecreatefromwbmp imagecreatefromxbm imagecreatefromxpm imagecreatetruecolor imagedashedline imagedestroy imageellipse imagefill imagefilledarc imagefilledellipse imagefilledpolygon imagefilledrectangle imagefilltoborder imagefontheight imagefontwidth imageftbbox imagefttext imagegammacorrect imagegd2 imagegd imagegif imageinterlace imageistruecolor imagejpeg imageline imageloadfont imagepalettecopy imagepng imagepolygon imagepsbbox imagepscopyfont imagepsencodefont imagepsextendfont imagepsfreefont imagepsloadfont imagepsslantfont imagepstext imagerectangle imagerotate imagesavealpha imagesetbrush imagesetpixel imagesetstyle imagesetthickness imagesettile imagestring imagestringup imagesx imagesy imagetruecolortopalette imagettfbbox imagettftext imagetypes imagewbmp iptcembed iptcparse jpeg2wbmp png2wbmp read_exif_data contained -syn keyword phpFunctions imap_8bit imap_alerts imap_append imap_base64 imap_binary imap_body imap_bodystruct imap_check imap_clearflag_full imap_close imap_createmailbox imap_delete imap_deletemailbox imap_errors imap_expunge imap_fetch_overview imap_fetchbody imap_fetchheader imap_fetchstructure imap_get_quota imap_get_quotaroot imap_getacl imap_getmailboxes imap_getsubscribed imap_header imap_headerinfo imap_headers imap_last_error imap_list imap_listmailbox imap_listscan imap_listsubscribed imap_lsub imap_mail_compose imap_mail_copy imap_mail_move imap_mail imap_mailboxmsginfo imap_mime_header_decode imap_msgno imap_num_msg imap_num_recent imap_open imap_ping imap_qprint imap_renamemailbox imap_reopen imap_rfc822_parse_adrlist imap_rfc822_parse_headers imap_rfc822_write_address imap_scanmailbox imap_search imap_set_quota imap_setacl imap_setflag_full imap_sort imap_status imap_subscribe imap_thread imap_timeout imap_uid imap_undelete imap_unsubscribe imap_utf7_decode imap_utf7_encode imap_utf8 contained -syn keyword phpFunctions assert_options assert dl extension_loaded get_cfg_var get_current_user get_defined_constants get_extension_funcs get_include_path get_included_files get_loaded_extensions get_magic_quotes_gpc get_magic_quotes_runtime get_required_files getenv getlastmod getmygid getmyinode getmypid getmyuid getopt getrusage ini_alter ini_get_all ini_get ini_restore ini_set main memory_get_usage php_ini_scanned_files php_logo_guid php_sapi_name php_uname phpcredits phpinfo phpversion putenv restore_include_path set_include_path set_magic_quotes_runtime set_time_limit version_compare zend_logo_guid zend_version contained -syn keyword phpFunctions ingres_autocommit ingres_close ingres_commit ingres_connect ingres_fetch_array ingres_fetch_object ingres_fetch_row ingres_field_length ingres_field_name ingres_field_nullable ingres_field_precision ingres_field_scale ingres_field_type ingres_num_fields ingres_num_rows ingres_pconnect ingres_query ingres_rollback contained -syn keyword phpFunctions ircg_channel_mode ircg_disconnect ircg_fetch_error_msg ircg_get_username ircg_html_encode ircg_ignore_add ircg_ignore_del ircg_is_conn_alive ircg_join ircg_kick ircg_lookup_format_messages ircg_msg ircg_nick ircg_nickname_escape ircg_nickname_unescape ircg_notice ircg_part ircg_pconnect ircg_register_format_messages ircg_set_current ircg_set_file ircg_set_on_die ircg_topic ircg_whois contained -syn keyword phpFunctions java_last_exception_clear java_last_exception_get contained -syn keyword phpFunctions json_decode json_encode json_last_error contained -syn keyword phpFunctions ldap_8859_to_t61 ldap_add ldap_bind ldap_close ldap_compare ldap_connect ldap_count_entries ldap_delete ldap_dn2ufn ldap_err2str ldap_errno ldap_error ldap_explode_dn ldap_first_attribute ldap_first_entry ldap_first_reference ldap_free_result ldap_get_attributes ldap_get_dn ldap_get_entries ldap_get_option ldap_get_values_len ldap_get_values ldap_list ldap_mod_add ldap_mod_del ldap_mod_replace ldap_modify ldap_next_attribute ldap_next_entry ldap_next_reference ldap_parse_reference ldap_parse_result ldap_read ldap_rename ldap_search ldap_set_option ldap_set_rebind_proc ldap_sort ldap_start_tls ldap_t61_to_8859 ldap_unbind contained -syn keyword phpFunctions lzf_compress lzf_decompress lzf_optimized_for contained -syn keyword phpFunctions ezmlm_hash mail contained -syn keyword phpFunctions mailparse_determine_best_xfer_encoding mailparse_msg_create mailparse_msg_extract_part_file mailparse_msg_extract_part mailparse_msg_free mailparse_msg_get_part_data mailparse_msg_get_part mailparse_msg_get_structure mailparse_msg_parse_file mailparse_msg_parse mailparse_rfc822_parse_addresses mailparse_stream_encode mailparse_uudecode_all contained -syn keyword phpFunctions abs acos acosh asin asinh atan2 atan atanh base_convert bindec ceil cos cosh decbin dechex decoct deg2rad exp expm1 floor fmod getrandmax hexdec hypot is_finite is_infinite is_nan lcg_value log10 log1p log max min mt_getrandmax mt_rand mt_srand octdec pi pow rad2deg rand round sin sinh sqrt srand tan tanh contained -syn keyword phpFunctions mb_convert_case mb_convert_encoding mb_convert_kana mb_convert_variables mb_decode_mimeheader mb_decode_numericentity mb_detect_encoding mb_detect_order mb_encode_mimeheader mb_encode_numericentity mb_ereg_match mb_ereg_replace mb_ereg_search_getpos mb_ereg_search_getregs mb_ereg_search_init mb_ereg_search_pos mb_ereg_search_regs mb_ereg_search_setpos mb_ereg_search mb_ereg mb_eregi_replace mb_eregi mb_get_info mb_http_input mb_http_output mb_internal_encoding mb_language mb_output_handler mb_parse_str mb_preferred_mime_name mb_regex_encoding mb_regex_set_options mb_send_mail mb_split mb_strcut mb_strimwidth mb_strlen mb_strpos mb_strrpos mb_strtolower mb_strtoupper mb_strwidth mb_substitute_character mb_substr_count mb_substr contained -syn keyword phpFunctions mcal_append_event mcal_close mcal_create_calendar mcal_date_compare mcal_date_valid mcal_day_of_week mcal_day_of_year mcal_days_in_month mcal_delete_calendar mcal_delete_event mcal_event_add_attribute mcal_event_init mcal_event_set_alarm mcal_event_set_category mcal_event_set_class mcal_event_set_description mcal_event_set_end mcal_event_set_recur_daily mcal_event_set_recur_monthly_mday mcal_event_set_recur_monthly_wday mcal_event_set_recur_none mcal_event_set_recur_weekly mcal_event_set_recur_yearly mcal_event_set_start mcal_event_set_title mcal_expunge mcal_fetch_current_stream_event mcal_fetch_event mcal_is_leap_year mcal_list_alarms mcal_list_events mcal_next_recurrence mcal_open mcal_popen mcal_rename_calendar mcal_reopen mcal_snooze mcal_store_event mcal_time_valid mcal_week_of_year contained -syn keyword phpFunctions mcrypt_cbc mcrypt_cfb mcrypt_create_iv mcrypt_decrypt mcrypt_ecb mcrypt_enc_get_algorithms_name mcrypt_enc_get_block_size mcrypt_enc_get_iv_size mcrypt_enc_get_key_size mcrypt_enc_get_modes_name mcrypt_enc_get_supported_key_sizes mcrypt_enc_is_block_algorithm_mode mcrypt_enc_is_block_algorithm mcrypt_enc_is_block_mode mcrypt_enc_self_test mcrypt_encrypt mcrypt_generic_deinit mcrypt_generic_end mcrypt_generic_init mcrypt_generic mcrypt_get_block_size mcrypt_get_cipher_name mcrypt_get_iv_size mcrypt_get_key_size mcrypt_list_algorithms mcrypt_list_modes mcrypt_module_close mcrypt_module_get_algo_block_size mcrypt_module_get_algo_key_size mcrypt_module_get_supported_key_sizes mcrypt_module_is_block_algorithm_mode mcrypt_module_is_block_algorithm mcrypt_module_is_block_mode mcrypt_module_open mcrypt_module_self_test mcrypt_ofb mdecrypt_generic contained -syn keyword phpFunctions mcve_adduser mcve_adduserarg mcve_bt mcve_checkstatus mcve_chkpwd mcve_chngpwd mcve_completeauthorizations mcve_connect mcve_connectionerror mcve_deleteresponse mcve_deletetrans mcve_deleteusersetup mcve_deluser mcve_destroyconn mcve_destroyengine mcve_disableuser mcve_edituser mcve_enableuser mcve_force mcve_getcell mcve_getcellbynum mcve_getcommadelimited mcve_getheader mcve_getuserarg mcve_getuserparam mcve_gft mcve_gl mcve_gut mcve_initconn mcve_initengine mcve_initusersetup mcve_iscommadelimited mcve_liststats mcve_listusers mcve_maxconntimeout mcve_monitor mcve_numcolumns mcve_numrows mcve_override mcve_parsecommadelimited mcve_ping mcve_preauth mcve_preauthcompletion mcve_qc mcve_responseparam mcve_return mcve_returncode mcve_returnstatus mcve_sale mcve_setblocking mcve_setdropfile mcve_setip mcve_setssl_files mcve_setssl mcve_settimeout mcve_settle mcve_text_avs mcve_text_code mcve_text_cv mcve_transactionauth mcve_transactionavs mcve_transactionbatch mcve_transactioncv mcve_transactionid mcve_transactionitem mcve_transactionssent mcve_transactiontext mcve_transinqueue mcve_transnew mcve_transparam mcve_transsend mcve_ub mcve_uwait mcve_verifyconnection mcve_verifysslcert mcve_void contained -syn keyword phpFunctions mhash_count mhash_get_block_size mhash_get_hash_name mhash_keygen_s2k mhash contained -syn keyword phpFunctions mime_content_type contained -syn keyword phpFunctions ming_setcubicthreshold ming_setscale ming_useswfversion SWFAction SWFBitmap swfbutton_keypress SWFbutton SWFDisplayItem SWFFill SWFFont SWFGradient SWFMorph SWFMovie SWFShape SWFSprite SWFText SWFTextField contained -syn keyword phpMethods getHeight getWidth addAction addShape setAction setdown setHit setOver setUp addColor move moveTo multColor remove Rotate rotateTo scale scaleTo setDepth setName setRatio skewX skewXTo skewY skewYTo moveTo rotateTo scaleTo skewXTo skewYTo getwidth addEntry getshape1 getshape2 add nextframe output remove save setbackground setdimension setframes setrate streammp3 addFill drawCurve drawCurveTo drawLine drawLineTo movePen movePenTo setLeftFill setLine setRightFill add nextframe remove setframes addString getWidth moveTo setColor setFont setHeight setSpacing addstring align setbounds setcolor setFont setHeight setindentation setLeftMargin setLineSpacing setMargins setname setrightMargin contained -syn keyword phpFunctions connection_aborted connection_status connection_timeout constant define defined die eval exit get_browser highlight_file highlight_string ignore_user_abort pack show_source sleep uniqid unpack usleep contained -syn keyword phpFunctions udm_add_search_limit udm_alloc_agent udm_api_version udm_cat_list udm_cat_path udm_check_charset udm_check_stored udm_clear_search_limits udm_close_stored udm_crc32 udm_errno udm_error udm_find udm_free_agent udm_free_ispell_data udm_free_res udm_get_doc_count udm_get_res_field udm_get_res_param udm_load_ispell_data udm_open_stored udm_set_agent_param contained -syn keyword phpFunctions msession_connect msession_count msession_create msession_destroy msession_disconnect msession_find msession_get_array msession_get msession_getdata msession_inc msession_list msession_listvar msession_lock msession_plugin msession_randstr msession_set_array msession_set msession_setdata msession_timeout msession_uniq msession_unlock contained -syn keyword phpFunctions msql_affected_rows msql_close msql_connect msql_create_db msql_createdb msql_data_seek msql_dbname msql_drop_db msql_dropdb msql_error msql_fetch_array msql_fetch_field msql_fetch_object msql_fetch_row msql_field_seek msql_fieldflags msql_fieldlen msql_fieldname msql_fieldtable msql_fieldtype msql_free_result msql_freeresult msql_list_dbs msql_list_fields msql_list_tables msql_listdbs msql_listfields msql_listtables msql_num_fields msql_num_rows msql_numfields msql_numrows msql_pconnect msql_query msql_regcase msql_result msql_select_db msql_selectdb msql_tablename msql contained -syn keyword phpFunctions mssql_bind mssql_close mssql_connect mssql_data_seek mssql_execute mssql_fetch_array mssql_fetch_assoc mssql_fetch_batch mssql_fetch_field mssql_fetch_object mssql_fetch_row mssql_field_length mssql_field_name mssql_field_seek mssql_field_type mssql_free_result mssql_free_statement mssql_get_last_message mssql_guid_string mssql_init mssql_min_error_severity mssql_min_message_severity mssql_next_result mssql_num_fields mssql_num_rows mssql_pconnect mssql_query mssql_result mssql_rows_affected mssql_select_db contained -syn keyword phpFunctions muscat_close muscat_get muscat_give muscat_setup_net muscat_setup contained -syn keyword phpFunctions mysql_affected_rows mysql_change_user mysql_client_encoding mysql_close mysql_connect mysql_create_db mysql_data_seek mysql_db_name mysql_db_query mysql_drop_db mysql_errno mysql_error mysql_escape_string mysql_fetch_array mysql_fetch_assoc mysql_fetch_field mysql_fetch_lengths mysql_fetch_object mysql_fetch_row mysql_field_flags mysql_field_len mysql_field_name mysql_field_seek mysql_field_table mysql_field_type mysql_free_result mysql_get_client_info mysql_get_host_info mysql_get_proto_info mysql_get_server_info mysql_info mysql_insert_id mysql_list_dbs mysql_list_fields mysql_list_processes mysql_list_tables mysql_num_fields mysql_num_rows mysql_pconnect mysql_ping mysql_query mysql_real_escape_string mysql_result mysql_select_db mysql_stat mysql_tablename mysql_thread_id mysql_unbuffered_query contained -syn keyword phpFunctions mysqli_affected_rows mysqli_autocommit mysqli_bind_param mysqli_bind_result mysqli_change_user mysqli_character_set_name mysqli_close mysqli_commit mysqli_connect mysqli_data_seek mysqli_debug mysqli_disable_reads_from_master mysqli_disable_rpl_parse mysqli_dump_debug_info mysqli_enable_reads_from_master mysqli_enable_rpl_parse mysqli_errno mysqli_error mysqli_execute mysqli_fetch_array mysqli_fetch_assoc mysqli_fetch_field_direct mysqli_fetch_field mysqli_fetch_fields mysqli_fetch_lengths mysqli_fetch_object mysqli_fetch_row mysqli_fetch mysqli_field_count mysqli_field_seek mysqli_field_tell mysqli_free_result mysqli_get_client_info mysqli_get_host_info mysqli_get_proto_info mysqli_get_server_info mysqli_get_server_version mysqli_info mysqli_init mysqli_insert_id mysqli_kill mysqli_master_query mysqli_num_fields mysqli_num_rows mysqli_options mysqli_param_count mysqli_ping mysqli_prepare_result mysqli_prepare mysqli_profiler mysqli_query mysqli_read_query_result mysqli_real_connect mysqli_real_escape_string mysqli_real_query mysqli_reload mysqli_rollback mysqli_rpl_parse_enabled mysqli_rpl_probe mysqli_rpl_query_type mysqli_select_db mysqli_send_long_data mysqli_send_query mysqli_slave_query mysqli_ssl_set mysqli_stat mysqli_stmt_affected_rows mysqli_stmt_close mysqli_stmt_errno mysqli_stmt_error mysqli_stmt_store_result mysqli_store_result mysqli_thread_id mysqli_thread_safe mysqli_use_result mysqli_warning_count contained -syn keyword phpFunctions ncurses_addch ncurses_addchnstr ncurses_addchstr ncurses_addnstr ncurses_addstr ncurses_assume_default_colors ncurses_attroff ncurses_attron ncurses_attrset ncurses_baudrate ncurses_beep ncurses_bkgd ncurses_bkgdset ncurses_border ncurses_bottom_panel ncurses_can_change_color ncurses_cbreak ncurses_clear ncurses_clrtobot ncurses_clrtoeol ncurses_color_content ncurses_color_set ncurses_curs_set ncurses_def_prog_mode ncurses_def_shell_mode ncurses_define_key ncurses_del_panel ncurses_delay_output ncurses_delch ncurses_deleteln ncurses_delwin ncurses_doupdate ncurses_echo ncurses_echochar ncurses_end ncurses_erase ncurses_erasechar ncurses_filter ncurses_flash ncurses_flushinp ncurses_getch ncurses_getmaxyx ncurses_getmouse ncurses_getyx ncurses_halfdelay ncurses_has_colors ncurses_has_ic ncurses_has_il ncurses_has_key ncurses_hide_panel ncurses_hline ncurses_inch ncurses_init_color ncurses_init_pair ncurses_init ncurses_insch ncurses_insdelln ncurses_insertln ncurses_insstr ncurses_instr ncurses_isendwin ncurses_keyok ncurses_keypad ncurses_killchar ncurses_longname ncurses_meta ncurses_mouse_trafo ncurses_mouseinterval ncurses_mousemask ncurses_move_panel ncurses_move ncurses_mvaddch ncurses_mvaddchnstr ncurses_mvaddchstr ncurses_mvaddnstr ncurses_mvaddstr ncurses_mvcur ncurses_mvdelch ncurses_mvgetch ncurses_mvhline ncurses_mvinch ncurses_mvvline ncurses_mvwaddstr ncurses_napms ncurses_new_panel ncurses_newpad ncurses_newwin ncurses_nl ncurses_nocbreak ncurses_noecho ncurses_nonl ncurses_noqiflush ncurses_noraw ncurses_pair_content ncurses_panel_above ncurses_panel_below ncurses_panel_window ncurses_pnoutrefresh ncurses_prefresh ncurses_putp ncurses_qiflush ncurses_raw ncurses_refresh ncurses_replace_panel ncurses_reset_prog_mode ncurses_reset_shell_mode ncurses_resetty ncurses_savetty ncurses_scr_dump ncurses_scr_init ncurses_scr_restore ncurses_scr_set ncurses_scrl ncurses_show_panel ncurses_slk_attr ncurses_slk_attroff ncurses_slk_attron ncurses_slk_attrset ncurses_slk_clear ncurses_slk_color ncurses_slk_init ncurses_slk_noutrefresh ncurses_slk_refresh ncurses_slk_restore ncurses_slk_set ncurses_slk_touch ncurses_standend ncurses_standout ncurses_start_color ncurses_termattrs ncurses_termname ncurses_timeout ncurses_top_panel ncurses_typeahead ncurses_ungetch ncurses_ungetmouse ncurses_update_panels ncurses_use_default_colors ncurses_use_env ncurses_use_extended_names ncurses_vidattr ncurses_vline ncurses_waddch ncurses_waddstr ncurses_wattroff ncurses_wattron ncurses_wattrset ncurses_wborder ncurses_wclear ncurses_wcolor_set ncurses_werase ncurses_wgetch ncurses_whline ncurses_wmouse_trafo ncurses_wmove ncurses_wnoutrefresh ncurses_wrefresh ncurses_wstandend ncurses_wstandout ncurses_wvline contained -syn keyword phpFunctions checkdnsrr closelog debugger_off debugger_on define_syslog_variables dns_check_record dns_get_mx dns_get_record fsockopen gethostbyaddr gethostbyname gethostbynamel getmxrr getprotobyname getprotobynumber getservbyname getservbyport ip2long long2ip openlog pfsockopen socket_get_status socket_set_blocking socket_set_timeout syslog contained -syn keyword phpFunctions yp_all yp_cat yp_err_string yp_errno yp_first yp_get_default_domain yp_master yp_match yp_next yp_order contained -syn keyword phpFunctions notes_body notes_copy_db notes_create_db notes_create_note notes_drop_db notes_find_note notes_header_info notes_list_msgs notes_mark_read notes_mark_unread notes_nav_create notes_search notes_unread notes_version contained -syn keyword phpFunctions nsapi_request_headers nsapi_response_headers nsapi_virtual contained -syn keyword phpFunctions aggregate_info aggregate_methods_by_list aggregate_methods_by_regexp aggregate_methods aggregate_properties_by_list aggregate_properties_by_regexp aggregate_properties aggregate aggregation_info deaggregate contained -syn keyword phpFunctions ocibindbyname ocicancel ocicloselob ocicollappend ocicollassign ocicollassignelem ocicollgetelem ocicollmax ocicollsize ocicolltrim ocicolumnisnull ocicolumnname ocicolumnprecision ocicolumnscale ocicolumnsize ocicolumntype ocicolumntyperaw ocicommit ocidefinebyname ocierror ociexecute ocifetch ocifetchinto ocifetchstatement ocifreecollection ocifreecursor ocifreedesc ocifreestatement ociinternaldebug ociloadlob ocilogoff ocilogon ocinewcollection ocinewcursor ocinewdescriptor ocinlogon ocinumcols ociparse ociplogon ociresult ocirollback ocirowcount ocisavelob ocisavelobfile ociserverversion ocisetprefetch ocistatementtype ociwritelobtofile ociwritetemporarylob contained -syn keyword phpFunctions odbc_autocommit odbc_binmode odbc_close_all odbc_close odbc_columnprivileges odbc_columns odbc_commit odbc_connect odbc_cursor odbc_data_source odbc_do odbc_error odbc_errormsg odbc_exec odbc_execute odbc_fetch_array odbc_fetch_into odbc_fetch_object odbc_fetch_row odbc_field_len odbc_field_name odbc_field_num odbc_field_precision odbc_field_scale odbc_field_type odbc_foreignkeys odbc_free_result odbc_gettypeinfo odbc_longreadlen odbc_next_result odbc_num_fields odbc_num_rows odbc_pconnect odbc_prepare odbc_primarykeys odbc_procedurecolumns odbc_procedures odbc_result_all odbc_result odbc_rollback odbc_setoption odbc_specialcolumns odbc_statistics odbc_tableprivileges odbc_tables contained -syn keyword phpFunctions openssl_csr_export_to_file openssl_csr_export openssl_csr_new openssl_csr_sign openssl_error_string openssl_free_key openssl_get_privatekey openssl_get_publickey openssl_open openssl_pkcs7_decrypt openssl_pkcs7_encrypt openssl_pkcs7_sign openssl_pkcs7_verify openssl_pkey_export_to_file openssl_pkey_export openssl_pkey_get_private openssl_pkey_get_public openssl_pkey_new openssl_private_decrypt openssl_private_encrypt openssl_public_decrypt openssl_public_encrypt openssl_seal openssl_sign openssl_verify openssl_x509_check_private_key openssl_x509_checkpurpose openssl_x509_export_to_file openssl_x509_export openssl_x509_free openssl_x509_parse openssl_x509_read contained -syn keyword phpFunctions ora_bind ora_close ora_columnname ora_columnsize ora_columntype ora_commit ora_commitoff ora_commiton ora_do ora_error ora_errorcode ora_exec ora_fetch_into ora_fetch ora_getcolumn ora_logoff ora_logon ora_numcols ora_numrows ora_open ora_parse ora_plogon ora_rollback contained -syn keyword phpFunctions flush ob_clean ob_end_clean ob_end_flush ob_flush ob_get_clean ob_get_contents ob_get_flush ob_get_length ob_get_level ob_get_status ob_gzhandler ob_implicit_flush ob_list_handlers ob_start output_add_rewrite_var output_reset_rewrite_vars contained -syn keyword phpFunctions overload contained -syn keyword phpFunctions ovrimos_close ovrimos_commit ovrimos_connect ovrimos_cursor ovrimos_exec ovrimos_execute ovrimos_fetch_into ovrimos_fetch_row ovrimos_field_len ovrimos_field_name ovrimos_field_num ovrimos_field_type ovrimos_free_result ovrimos_longreadlen ovrimos_num_fields ovrimos_num_rows ovrimos_prepare ovrimos_result_all ovrimos_result ovrimos_rollback contained -syn keyword phpFunctions pcntl_exec pcntl_fork pcntl_signal pcntl_waitpid pcntl_wexitstatus pcntl_wifexited pcntl_wifsignaled pcntl_wifstopped pcntl_wstopsig pcntl_wtermsig contained -syn keyword phpFunctions preg_grep preg_match_all preg_match preg_quote preg_replace_callback preg_replace preg_split contained -syn keyword phpFunctions pdf_add_annotation pdf_add_bookmark pdf_add_launchlink pdf_add_locallink pdf_add_note pdf_add_outline pdf_add_pdflink pdf_add_thumbnail pdf_add_weblink pdf_arc pdf_arcn pdf_attach_file pdf_begin_page pdf_begin_pattern pdf_begin_template pdf_circle pdf_clip pdf_close_image pdf_close_pdi_page pdf_close_pdi pdf_close pdf_closepath_fill_stroke pdf_closepath_stroke pdf_closepath pdf_concat pdf_continue_text pdf_curveto pdf_delete pdf_end_page pdf_end_pattern pdf_end_template pdf_endpath pdf_fill_stroke pdf_fill pdf_findfont pdf_get_buffer pdf_get_font pdf_get_fontname pdf_get_fontsize pdf_get_image_height pdf_get_image_width pdf_get_majorversion pdf_get_minorversion pdf_get_parameter pdf_get_pdi_parameter pdf_get_pdi_value pdf_get_value pdf_initgraphics pdf_lineto pdf_makespotcolor pdf_moveto pdf_new pdf_open_CCITT pdf_open_file pdf_open_gif pdf_open_image_file pdf_open_image pdf_open_jpeg pdf_open_memory_image pdf_open_pdi_page pdf_open_pdi pdf_open_png pdf_open_tiff pdf_open pdf_place_image pdf_place_pdi_page pdf_rect pdf_restore pdf_rotate pdf_save pdf_scale pdf_set_border_color pdf_set_border_dash pdf_set_border_style pdf_set_char_spacing pdf_set_duration pdf_set_font pdf_set_horiz_scaling pdf_set_info_author pdf_set_info_creator pdf_set_info_keywords pdf_set_info_subject pdf_set_info_title pdf_set_info pdf_set_leading pdf_set_parameter pdf_set_text_matrix pdf_set_text_pos pdf_set_text_rendering pdf_set_text_rise pdf_set_value pdf_set_word_spacing pdf_setcolor pdf_setdash pdf_setflat pdf_setfont pdf_setgray_fill pdf_setgray_stroke pdf_setgray pdf_setlinecap pdf_setlinejoin pdf_setlinewidth pdf_setmatrix pdf_setmiterlimit pdf_setpolydash pdf_setrgbcolor_fill pdf_setrgbcolor_stroke pdf_setrgbcolor pdf_show_boxed pdf_show_xy pdf_show pdf_skew pdf_stringwidth pdf_stroke pdf_translate contained -syn keyword phpFunctions pfpro_cleanup pfpro_init pfpro_process_raw pfpro_process pfpro_version contained -syn keyword phpFunctions pg_affected_rows pg_cancel_query pg_client_encoding pg_close pg_connect pg_connection_busy pg_connection_reset pg_connection_status pg_convert pg_copy_from pg_copy_to pg_dbname pg_delete pg_end_copy pg_escape_bytea pg_escape_string pg_fetch_all pg_fetch_array pg_fetch_assoc pg_fetch_object pg_fetch_result pg_fetch_row pg_field_is_null pg_field_name pg_field_num pg_field_prtlen pg_field_size pg_field_type pg_free_result pg_get_notify pg_get_pid pg_get_result pg_host pg_insert pg_last_error pg_last_notice pg_last_oid pg_lo_close pg_lo_create pg_lo_export pg_lo_import pg_lo_open pg_lo_read_all pg_lo_read pg_lo_seek pg_lo_tell pg_lo_unlink pg_lo_write pg_meta_data pg_num_fields pg_num_rows pg_options pg_pconnect pg_ping pg_port pg_put_line pg_query pg_result_error pg_result_seek pg_result_status pg_select pg_send_query pg_set_client_encoding pg_trace pg_tty pg_unescape_bytea pg_untrace pg_update contained -syn keyword phpFunctions posix_ctermid posix_get_last_error posix_getcwd posix_getegid posix_geteuid posix_getgid posix_getgrgid posix_getgrnam posix_getgroups posix_getlogin posix_getpgid posix_getpgrp posix_getpid posix_getppid posix_getpwnam posix_getpwuid posix_getrlimit posix_getsid posix_getuid posix_isatty posix_kill posix_mkfifo posix_setegid posix_seteuid posix_setgid posix_setpgid posix_setsid posix_setuid posix_strerror posix_times posix_ttyname posix_uname contained -syn keyword phpFunctions printer_abort printer_close printer_create_brush printer_create_dc printer_create_font printer_create_pen printer_delete_brush printer_delete_dc printer_delete_font printer_delete_pen printer_draw_bmp printer_draw_chord printer_draw_elipse printer_draw_line printer_draw_pie printer_draw_rectangle printer_draw_roundrect printer_draw_text printer_end_doc printer_end_page printer_get_option printer_list printer_logical_fontheight printer_open printer_select_brush printer_select_font printer_select_pen printer_set_option printer_start_doc printer_start_page printer_write contained -syn keyword phpFunctions pspell_add_to_personal pspell_add_to_session pspell_check pspell_clear_session pspell_config_create pspell_config_ignore pspell_config_mode pspell_config_personal pspell_config_repl pspell_config_runtogether pspell_config_save_repl pspell_new_config pspell_new_personal pspell_new pspell_save_wordlist pspell_store_replacement pspell_suggest contained -syn keyword phpFunctions qdom_error qdom_tree contained -syn keyword phpFunctions readline_add_history readline_clear_history readline_completion_function readline_info readline_list_history readline_read_history readline_write_history readline contained -syn keyword phpFunctions recode_file recode_string recode contained -syn keyword phpFunctions ereg_replace ereg eregi_replace eregi split spliti sql_regcase contained -syn keyword phpFunctions ftok msg_get_queue msg_receive msg_remove_queue msg_send msg_set_queue msg_stat_queue sem_acquire sem_get sem_release sem_remove shm_attach shm_detach shm_get_var shm_put_var shm_remove_var shm_remove contained -syn keyword phpFunctions sesam_affected_rows sesam_commit sesam_connect sesam_diagnostic sesam_disconnect sesam_errormsg sesam_execimm sesam_fetch_array sesam_fetch_result sesam_fetch_row sesam_field_array sesam_field_name sesam_free_result sesam_num_fields sesam_query sesam_rollback sesam_seek_row sesam_settransaction contained -syn keyword phpFunctions session_cache_expire session_cache_limiter session_decode session_destroy session_encode session_get_cookie_params session_id session_is_registered session_module_name session_name session_regenerate_id session_register session_save_path session_set_cookie_params session_set_save_handler session_start session_unregister session_unset session_write_close contained -syn keyword phpFunctions shmop_close shmop_delete shmop_open shmop_read shmop_size shmop_write contained -syn keyword phpFunctions snmp_get_quick_print snmp_set_quick_print snmpget snmprealwalk snmpset snmpwalk snmpwalkoid contained -syn keyword phpFunctions socket_accept socket_bind socket_clear_error socket_close socket_connect socket_create_listen socket_create_pair socket_create socket_get_option socket_getpeername socket_getsockname socket_iovec_add socket_iovec_alloc socket_iovec_delete socket_iovec_fetch socket_iovec_free socket_iovec_set socket_last_error socket_listen socket_read socket_readv socket_recv socket_recvfrom socket_recvmsg socket_select socket_send socket_sendmsg socket_sendto socket_set_block socket_set_nonblock socket_set_option socket_shutdown socket_strerror socket_write socket_writev contained -syn keyword phpFunctions sqlite_array_query sqlite_busy_timeout sqlite_changes sqlite_close sqlite_column sqlite_create_aggregate sqlite_create_function sqlite_current sqlite_error_string sqlite_escape_string sqlite_fetch_array sqlite_fetch_single sqlite_fetch_string sqlite_field_name sqlite_has_more sqlite_last_error sqlite_last_insert_rowid sqlite_libencoding sqlite_libversion sqlite_next sqlite_num_fields sqlite_num_rows sqlite_open sqlite_popen sqlite_query sqlite_rewind sqlite_seek sqlite_udf_decode_binary sqlite_udf_encode_binary sqlite_unbuffered_query contained -syn keyword phpFunctions stream_context_create stream_context_get_options stream_context_set_option stream_context_set_params stream_copy_to_stream stream_filter_append stream_filter_prepend stream_filter_register stream_get_contents stream_get_filters stream_get_line stream_get_meta_data stream_get_transports stream_get_wrappers stream_register_wrapper stream_select stream_set_blocking stream_set_timeout stream_set_write_buffer stream_socket_accept stream_socket_client stream_socket_get_name stream_socket_recvfrom stream_socket_sendto stream_socket_server stream_wrapper_register contained -syn keyword phpFunctions addcslashes addslashes bin2hex chop chr chunk_split convert_cyr_string count_chars crc32 crypt explode fprintf get_html_translation_table hebrev hebrevc html_entity_decode htmlentities htmlspecialchars implode join levenshtein localeconv ltrim md5_file md5 metaphone money_format nl_langinfo nl2br number_format ord parse_str print printf quoted_printable_decode quotemeta rtrim setlocale sha1_file sha1 similar_text soundex sprintf sscanf str_ireplace str_pad str_repeat str_replace str_rot13 str_shuffle str_split str_word_count strcasecmp strchr strcmp strcoll strcspn strip_tags stripcslashes stripos stripslashes stristr strlen strnatcasecmp strnatcmp strncasecmp strncmp strpos strrchr strrev strripos strrpos strspn strstr strtok strtolower strtoupper strtr substr_compare substr_count substr_replace substr trim ucfirst ucwords vprintf vsprintf wordwrap contained -syn keyword phpFunctions swf_actiongeturl swf_actiongotoframe swf_actiongotolabel swf_actionnextframe swf_actionplay swf_actionprevframe swf_actionsettarget swf_actionstop swf_actiontogglequality swf_actionwaitforframe swf_addbuttonrecord swf_addcolor swf_closefile swf_definebitmap swf_definefont swf_defineline swf_definepoly swf_definerect swf_definetext swf_endbutton swf_enddoaction swf_endshape swf_endsymbol swf_fontsize swf_fontslant swf_fonttracking swf_getbitmapinfo swf_getfontinfo swf_getframe swf_labelframe swf_lookat swf_modifyobject swf_mulcolor swf_nextid swf_oncondition swf_openfile swf_ortho2 swf_ortho swf_perspective swf_placeobject swf_polarview swf_popmatrix swf_posround swf_pushmatrix swf_removeobject swf_rotate swf_scale swf_setfont swf_setframe swf_shapearc swf_shapecurveto3 swf_shapecurveto swf_shapefillbitmapclip swf_shapefillbitmaptile swf_shapefilloff swf_shapefillsolid swf_shapelinesolid swf_shapelineto swf_shapemoveto swf_showframe swf_startbutton swf_startdoaction swf_startshape swf_startsymbol swf_textwidth swf_translate swf_viewport contained -syn keyword phpFunctions sybase_affected_rows sybase_close sybase_connect sybase_data_seek sybase_deadlock_retry_count sybase_fetch_array sybase_fetch_assoc sybase_fetch_field sybase_fetch_object sybase_fetch_row sybase_field_seek sybase_free_result sybase_get_last_message sybase_min_client_severity sybase_min_error_severity sybase_min_message_severity sybase_min_server_severity sybase_num_fields sybase_num_rows sybase_pconnect sybase_query sybase_result sybase_select_db sybase_set_message_handler sybase_unbuffered_query contained -syn keyword phpFunctions tidy_access_count tidy_clean_repair tidy_config_count tidy_diagnose tidy_error_count tidy_get_body tidy_get_config tidy_get_error_buffer tidy_get_head tidy_get_html_ver tidy_get_html tidy_get_output tidy_get_release tidy_get_root tidy_get_status tidy_getopt tidy_is_xhtml tidy_load_config tidy_parse_file tidy_parse_string tidy_repair_file tidy_repair_string tidy_reset_config tidy_save_config tidy_set_encoding tidy_setopt tidy_warning_count contained -syn keyword phpMethods attributes children get_attr get_nodes has_children has_siblings is_asp is_comment is_html is_jsp is_jste is_text is_xhtml is_xml next prev tidy_node contained -syn keyword phpFunctions token_get_all token_name contained -syn keyword phpFunctions base64_decode base64_encode get_meta_tags http_build_query parse_url rawurldecode rawurlencode urldecode urlencode contained -syn keyword phpFunctions doubleval empty floatval get_defined_vars get_resource_type gettype import_request_variables intval is_array is_bool is_callable is_double is_float is_int is_integer is_long is_null is_numeric is_object is_real is_resource is_scalar is_string isset print_r serialize settype strval unserialize unset var_dump var_export contained -syn keyword phpFunctions vpopmail_add_alias_domain_ex vpopmail_add_alias_domain vpopmail_add_domain_ex vpopmail_add_domain vpopmail_add_user vpopmail_alias_add vpopmail_alias_del_domain vpopmail_alias_del vpopmail_alias_get_all vpopmail_alias_get vpopmail_auth_user vpopmail_del_domain_ex vpopmail_del_domain vpopmail_del_user vpopmail_error vpopmail_passwd vpopmail_set_user_quota contained -syn keyword phpFunctions w32api_deftype w32api_init_dtype w32api_invoke_function w32api_register_function w32api_set_call_method contained -syn keyword phpFunctions wddx_add_vars wddx_deserialize wddx_packet_end wddx_packet_start wddx_serialize_value wddx_serialize_vars contained -syn keyword phpFunctions utf8_decode utf8_encode xml_error_string xml_get_current_byte_index xml_get_current_column_number xml_get_current_line_number xml_get_error_code xml_parse_into_struct xml_parse xml_parser_create_ns xml_parser_create xml_parser_free xml_parser_get_option xml_parser_set_option xml_set_character_data_handler xml_set_default_handler xml_set_element_handler xml_set_end_namespace_decl_handler xml_set_external_entity_ref_handler xml_set_notation_decl_handler xml_set_object xml_set_processing_instruction_handler xml_set_start_namespace_decl_handler xml_set_unparsed_entity_decl_handler contained -syn keyword phpFunctions xmlrpc_decode_request xmlrpc_decode xmlrpc_encode_request xmlrpc_encode xmlrpc_get_type xmlrpc_parse_method_descriptions xmlrpc_server_add_introspection_data xmlrpc_server_call_method xmlrpc_server_create xmlrpc_server_destroy xmlrpc_server_register_introspection_callback xmlrpc_server_register_method xmlrpc_set_type contained -syn keyword phpFunctions xslt_create xslt_errno xslt_error xslt_free xslt_output_process xslt_set_base xslt_set_encoding xslt_set_error_handler xslt_set_log xslt_set_sax_handler xslt_set_sax_handlers xslt_set_scheme_handler xslt_set_scheme_handlers contained -syn keyword phpFunctions yaz_addinfo yaz_ccl_conf yaz_ccl_parse yaz_close yaz_connect yaz_database yaz_element yaz_errno yaz_error yaz_es_result yaz_get_option yaz_hits yaz_itemorder yaz_present yaz_range yaz_record yaz_scan_result yaz_scan yaz_schema yaz_search yaz_set_option yaz_sort yaz_syntax yaz_wait contained -syn keyword phpFunctions zip_close zip_entry_close zip_entry_compressedsize zip_entry_compressionmethod zip_entry_filesize zip_entry_name zip_entry_open zip_entry_read zip_open zip_read contained -syn keyword phpFunctions gzclose gzcompress gzdeflate gzencode gzeof gzfile gzgetc gzgets gzgetss gzinflate gzopen gzpassthru gzputs gzread gzrewind gzseek gztell gzuncompress gzwrite readgzfile zlib_get_coding_type contained +syn keyword phpFunctions apache_child_terminate apache_get_modules apache_get_version apache_getenv apache_lookup_uri apache_note apache_request_headers apache_response_headers apache_setenv ascii2ebcdic ebcdic2ascii getallheaders virtual contained +syn keyword phpFunctions array_change_key_case array_chunk array_column array_combine array_count_values array_diff_assoc array_diff_key array_diff_uassoc array_diff_ukey array_diff array_fill_keys array_fill array_filter array_flip array_intersect_assoc array_intersect_key array_intersect_uassoc array_intersect_ukey array_intersect array_key_exists array_keys array_map array_merge_recursive array_merge array_multisort array_pad array_pop array_product array_push array_rand array_reduce array_replace_recursive array_replace array_reverse array_search array_shift array_slice array_splice array_sum array_udiff_assoc array_udiff_uassoc array_udiff array_uintersect_assoc array_uintersect_uassoc array_uintersect array_unique array_unshift array_values array_walk_recursive array_walk arsort asort count current each end in_array key_exists key krsort ksort natcasesort natsort next pos prev range reset rsort shuffle sizeof sort uasort uksort usort contained +syn keyword phpFunctions aspell_check aspell_new aspell_suggest contained +syn keyword phpFunctions bcadd bccomp bcdiv bcmod bcmul bcpow bcpowmod bcscale bcsqrt bcsub contained +syn keyword phpFunctions bzclose bzcompress bzdecompress bzerrno bzerror bzerrstr bzflush bzopen bzread bzwrite contained +syn keyword phpFunctions cal_days_in_month cal_from_jd cal_info cal_to_jd easter_date easter_days frenchtojd gregoriantojd jddayofweek jdmonthname jdtofrench jdtogregorian jdtojewish jdtojulian jdtounix jewishtojd juliantojd unixtojd contained +syn keyword phpFunctions ccvs_add ccvs_auth ccvs_command ccvs_count ccvs_delete ccvs_done ccvs_init ccvs_lookup ccvs_new ccvs_report ccvs_return ccvs_reverse ccvs_sale ccvs_status ccvs_textvalue ccvs_void contained +syn keyword phpFunctions call_user_method_array call_user_method class_exists get_class_methods get_class_vars get_class get_declared_classes get_object_vars get_parent_class is_a is_subclass_of method_exists contained +syn keyword phpFunctions com VARIANT com_addref com_get com_invoke com_isenum com_load_typelib com_load com_propget com_propput com_propset com_release com_set contained +syn keyword phpFunctions cpdf_add_annotation cpdf_add_outline cpdf_arc cpdf_begin_text cpdf_circle cpdf_clip cpdf_close cpdf_closepath_fill_stroke cpdf_closepath_stroke cpdf_closepath cpdf_continue_text cpdf_curveto cpdf_end_text cpdf_fill_stroke cpdf_fill cpdf_finalize_page cpdf_finalize cpdf_global_set_document_limits cpdf_import_jpeg cpdf_lineto cpdf_moveto cpdf_newpath cpdf_open cpdf_output_buffer cpdf_page_init cpdf_place_inline_image cpdf_rect cpdf_restore cpdf_rlineto cpdf_rmoveto cpdf_rotate_text cpdf_rotate cpdf_save_to_file cpdf_save cpdf_scale cpdf_set_action_url cpdf_set_char_spacing cpdf_set_creator cpdf_set_current_page cpdf_set_font_directories cpdf_set_font_map_file cpdf_set_font cpdf_set_horiz_scaling cpdf_set_keywords cpdf_set_leading cpdf_set_page_animation cpdf_set_subject cpdf_set_text_matrix cpdf_set_text_pos cpdf_set_text_rendering cpdf_set_text_rise cpdf_set_title cpdf_set_viewer_preferences cpdf_set_word_spacing cpdf_setdash cpdf_setflat cpdf_setgray_fill cpdf_setgray_stroke cpdf_setgray cpdf_setlinecap cpdf_setlinejoin cpdf_setlinewidth cpdf_setmiterlimit cpdf_setrgbcolor_fill cpdf_setrgbcolor_stroke cpdf_setrgbcolor cpdf_show_xy cpdf_show cpdf_stringwidth cpdf_stroke cpdf_text cpdf_translate contained +syn keyword phpFunctions crack_check crack_closedict crack_getlastmessage crack_opendict contained +syn keyword phpFunctions ctype_alnum ctype_alpha ctype_cntrl ctype_digit ctype_graph ctype_lower ctype_print ctype_punct ctype_space ctype_upper ctype_xdigit contained +syn keyword phpFunctions curl_close curl_errno curl_error curl_exec curl_getinfo curl_init curl_multi_add_handle curl_multi_close curl_multi_exec curl_multi_getcontent curl_multi_info_read curl_multi_init curl_multi_remove_handle curl_multi_select curl_setopt curl_version contained +syn keyword phpFunctions cybercash_base64_decode cybercash_base64_encode cybercash_decr cybercash_encr contained +syn keyword phpFunctions cyrus_authenticate cyrus_bind cyrus_close cyrus_connect cyrus_query cyrus_unbind contained +syn keyword phpFunctions checkdate date getdate gettimeofday gmdate gmmktime gmstrftime localtime microtime mktime strftime strtotime time contained +syn keyword phpFunctions dba_close dba_delete dba_exists dba_fetch dba_firstkey dba_handlers dba_insert dba_key_split dba_list dba_nextkey dba_open dba_optimize dba_popen dba_replace dba_sync contained +syn keyword phpFunctions dbase_add_record dbase_close dbase_create dbase_delete_record dbase_get_header_info dbase_get_record_with_names dbase_get_record dbase_numfields dbase_numrecords dbase_open dbase_pack dbase_replace_record contained +syn keyword phpFunctions dblist dbmclose dbmdelete dbmexists dbmfetch dbmfirstkey dbminsert dbmnextkey dbmopen dbmreplace contained +syn keyword phpFunctions dbplus_add dbplus_aql dbplus_chdir dbplus_close dbplus_curr dbplus_errcode dbplus_errno dbplus_find dbplus_first dbplus_flush dbplus_freealllocks dbplus_freelock dbplus_freerlocks dbplus_getlock dbplus_getunique dbplus_info dbplus_last dbplus_lockrel dbplus_next dbplus_open dbplus_prev dbplus_rchperm dbplus_rcreate dbplus_rcrtexact dbplus_rcrtlike dbplus_resolve dbplus_restorepos dbplus_rkeys dbplus_ropen dbplus_rquery dbplus_rrename dbplus_rsecindex dbplus_runlink dbplus_rzap dbplus_savepos dbplus_setindex dbplus_setindexbynumber dbplus_sql dbplus_tcl dbplus_tremove dbplus_undo dbplus_undoprepare dbplus_unlockrel dbplus_unselect dbplus_update dbplus_xlockrel dbplus_xunlockrel contained +syn keyword phpFunctions dbx_close dbx_compare dbx_connect dbx_error dbx_escape_string dbx_fetch_row dbx_query dbx_sort contained +syn keyword phpFunctions dio_close dio_fcntl dio_open dio_read dio_seek dio_stat dio_tcsetattr dio_truncate dio_write contained +syn keyword phpFunctions chdir chroot dir closedir getcwd opendir readdir rewinddir scandir contained +syn keyword phpFunctions domxml_new_doc domxml_open_file domxml_open_mem domxml_version domxml_xmltree domxml_xslt_stylesheet_doc domxml_xslt_stylesheet_file domxml_xslt_stylesheet xpath_eval_expression xpath_eval xpath_new_context xptr_eval xptr_new_context contained +syn keyword phpMethods name specified value create_attribute create_cdata_section create_comment create_element_ns create_element create_entity_reference create_processing_instruction create_text_node doctype document_element dump_file dump_mem get_element_by_id get_elements_by_tagname html_dump_mem xinclude entities internal_subset name notations public_id system_id get_attribute_node get_attribute get_elements_by_tagname has_attribute remove_attribute set_attribute tagname add_namespace append_child append_sibling attributes child_nodes clone_node dump_node first_child get_content has_attributes has_child_nodes insert_before is_blank_node last_child next_sibling node_name node_type node_value owner_document parent_node prefix previous_sibling remove_child replace_child replace_node set_content set_name set_namespace unlink_node data target process result_dump_file result_dump_mem contained +syn keyword phpFunctions dotnet_load contained +syn keyword phpFunctions debug_backtrace debug_print_backtrace error_log error_reporting restore_error_handler set_error_handler trigger_error user_error contained +syn keyword phpFunctions escapeshellarg escapeshellcmd exec passthru proc_close proc_get_status proc_nice proc_open proc_terminate shell_exec system contained +syn keyword phpFunctions fam_cancel_monitor fam_close fam_monitor_collection fam_monitor_directory fam_monitor_file fam_next_event fam_open fam_pending fam_resume_monitor fam_suspend_monitor contained +syn keyword phpFunctions fbsql_affected_rows fbsql_autocommit fbsql_change_user fbsql_close fbsql_commit fbsql_connect fbsql_create_blob fbsql_create_clob fbsql_create_db fbsql_data_seek fbsql_database_password fbsql_database fbsql_db_query fbsql_db_status fbsql_drop_db fbsql_errno fbsql_error fbsql_fetch_array fbsql_fetch_assoc fbsql_fetch_field fbsql_fetch_lengths fbsql_fetch_object fbsql_fetch_row fbsql_field_flags fbsql_field_len fbsql_field_name fbsql_field_seek fbsql_field_table fbsql_field_type fbsql_free_result fbsql_get_autostart_info fbsql_hostname fbsql_insert_id fbsql_list_dbs fbsql_list_fields fbsql_list_tables fbsql_next_result fbsql_num_fields fbsql_num_rows fbsql_password fbsql_pconnect fbsql_query fbsql_read_blob fbsql_read_clob fbsql_result fbsql_rollback fbsql_select_db fbsql_set_lob_mode fbsql_set_transaction fbsql_start_db fbsql_stop_db fbsql_tablename fbsql_username fbsql_warnings contained +syn keyword phpFunctions fdf_add_doc_javascript fdf_add_template fdf_close fdf_create fdf_enum_values fdf_errno fdf_error fdf_get_ap fdf_get_attachment fdf_get_encoding fdf_get_file fdf_get_flags fdf_get_opt fdf_get_status fdf_get_value fdf_get_version fdf_header fdf_next_field_name fdf_open_string fdf_open fdf_remove_item fdf_save_string fdf_save fdf_set_ap fdf_set_encoding fdf_set_file fdf_set_flags fdf_set_javascript_action fdf_set_opt fdf_set_status fdf_set_submit_form_action fdf_set_target_frame fdf_set_value fdf_set_version contained +syn keyword phpFunctions filepro_fieldcount filepro_fieldname filepro_fieldtype filepro_fieldwidth filepro_retrieve filepro_rowcount filepro contained +syn keyword phpFunctions basename chgrp chmod chown clearstatcache copy delete dirname disk_free_space disk_total_space diskfreespace fclose feof fflush fgetc fgetcsv fgets fgetss file_exists file_get_contents file_put_contents file fileatime filectime filegroup fileinode filemtime fileowner fileperms filesize filetype flock fnmatch fopen fpassthru fputs fread fscanf fseek fstat ftell ftruncate fwrite glob is_dir is_executable is_file is_link is_readable is_uploaded_file is_writable is_writeable link linkinfo lstat mkdir move_uploaded_file parse_ini_file pathinfo pclose popen readfile readlink realpath rename rewind rmdir set_file_buffer stat symlink tempnam tmpfile touch umask unlink contained +syn keyword phpFunctions fribidi_log2vis contained +syn keyword phpFunctions ftp_alloc ftp_cdup ftp_chdir ftp_chmod ftp_close ftp_connect ftp_delete ftp_exec ftp_fget ftp_fput ftp_get_option ftp_get ftp_login ftp_mdtm ftp_mkdir ftp_nb_continue ftp_nb_fget ftp_nb_fput ftp_nb_get ftp_nb_put ftp_nlist ftp_pasv ftp_put ftp_pwd ftp_quit ftp_raw ftp_rawlist ftp_rename ftp_rmdir ftp_set_option ftp_site ftp_size ftp_ssl_connect ftp_systype contained +syn keyword phpFunctions call_user_func_array call_user_func create_function func_get_arg func_get_args func_num_args function_exists get_defined_functions register_shutdown_function register_tick_function unregister_tick_function contained +syn keyword phpFunctions bind_textdomain_codeset bindtextdomain dcgettext dcngettext dgettext dngettext gettext ngettext textdomain contained +syn keyword phpFunctions gmp_abs gmp_add gmp_and gmp_clrbit gmp_cmp gmp_com gmp_div_q gmp_div_qr gmp_div_r gmp_div gmp_divexact gmp_fact gmp_gcd gmp_gcdext gmp_hamdist gmp_init gmp_intval gmp_invert gmp_jacobi gmp_legendre gmp_mod gmp_mul gmp_neg gmp_or gmp_perfect_square gmp_popcount gmp_pow gmp_powm gmp_prob_prime gmp_random gmp_scan0 gmp_scan1 gmp_setbit gmp_sign gmp_sqrt gmp_sqrtrem gmp_sqrtrm gmp_strval gmp_sub gmp_xor contained +syn keyword phpFunctions header headers_list headers_sent setcookie contained +syn keyword phpFunctions hw_api_attribute hwapi_hgcsp hw_api_content hw_api_object contained +syn keyword phpMethods key langdepvalue value values checkin checkout children mimetype read content copy dbstat dcstat dstanchors dstofsrcanchors count reason find ftstat hwstat identify info insert insertanchor insertcollection insertdocument link lock move assign attreditable count insert remove title value object objectbyanchor parents description type remove replace setcommitedversion srcanchors srcsofdst unlock user userlist contained +syn keyword phpFunctions hw_Array2Objrec hw_changeobject hw_Children hw_ChildrenObj hw_Close hw_Connect hw_connection_info hw_cp hw_Deleteobject hw_DocByAnchor hw_DocByAnchorObj hw_Document_Attributes hw_Document_BodyTag hw_Document_Content hw_Document_SetContent hw_Document_Size hw_dummy hw_EditText hw_Error hw_ErrorMsg hw_Free_Document hw_GetAnchors hw_GetAnchorsObj hw_GetAndLock hw_GetChildColl hw_GetChildCollObj hw_GetChildDocColl hw_GetChildDocCollObj hw_GetObject hw_GetObjectByQuery hw_GetObjectByQueryColl hw_GetObjectByQueryCollObj hw_GetObjectByQueryObj hw_GetParents hw_GetParentsObj hw_getrellink hw_GetRemote hw_getremotechildren hw_GetSrcByDestObj hw_GetText hw_getusername hw_Identify hw_InCollections hw_Info hw_InsColl hw_InsDoc hw_insertanchors hw_InsertDocument hw_InsertObject hw_mapid hw_Modifyobject hw_mv hw_New_Document hw_objrec2array hw_Output_Document hw_pConnect hw_PipeDocument hw_Root hw_setlinkroot hw_stat hw_Unlock hw_Who contained +syn keyword phpFunctions ibase_add_user ibase_affected_rows ibase_blob_add ibase_blob_cancel ibase_blob_close ibase_blob_create ibase_blob_echo ibase_blob_get ibase_blob_import ibase_blob_info ibase_blob_open ibase_close ibase_commit_ret ibase_commit ibase_connect ibase_delete_user ibase_drop_db ibase_errcode ibase_errmsg ibase_execute ibase_fetch_assoc ibase_fetch_object ibase_fetch_row ibase_field_info ibase_free_event_handler ibase_free_query ibase_free_result ibase_gen_id ibase_modify_user ibase_name_result ibase_num_fields ibase_num_params ibase_param_info ibase_pconnect ibase_prepare ibase_query ibase_rollback_ret ibase_rollback ibase_set_event_handler ibase_timefmt ibase_trans ibase_wait_event contained +syn keyword phpFunctions iconv_get_encoding iconv_mime_decode_headers iconv_mime_decode iconv_mime_encode iconv_set_encoding iconv_strlen iconv_strpos iconv_strrpos iconv_substr iconv ob_iconv_handler contained +syn keyword phpFunctions ifx_affected_rows ifx_blobinfile_mode ifx_byteasvarchar ifx_close ifx_connect ifx_copy_blob ifx_create_blob ifx_create_char ifx_do ifx_error ifx_errormsg ifx_fetch_row ifx_fieldproperties ifx_fieldtypes ifx_free_blob ifx_free_char ifx_free_result ifx_get_blob ifx_get_char ifx_getsqlca ifx_htmltbl_result ifx_nullformat ifx_num_fields ifx_num_rows ifx_pconnect ifx_prepare ifx_query ifx_textasvarchar ifx_update_blob ifx_update_char ifxus_close_slob ifxus_create_slob ifxus_free_slob ifxus_open_slob ifxus_read_slob ifxus_seek_slob ifxus_tell_slob ifxus_write_slob contained +syn keyword phpFunctions exif_imagetype exif_read_data exif_thumbnail gd_info getimagesize image_type_to_mime_type image2wbmp imagealphablending imageantialias imagearc imagechar imagecharup imagecolorallocate imagecolorallocatealpha imagecolorat imagecolorclosest imagecolorclosestalpha imagecolorclosesthwb imagecolordeallocate imagecolorexact imagecolorexactalpha imagecolormatch imagecolorresolve imagecolorresolvealpha imagecolorset imagecolorsforindex imagecolorstotal imagecolortransparent imagecopy imagecopymerge imagecopymergegray imagecopyresampled imagecopyresized imagecreate imagecreatefromgd2 imagecreatefromgd2part imagecreatefromgd imagecreatefromgif imagecreatefromjpeg imagecreatefrompng imagecreatefromstring imagecreatefromwbmp imagecreatefromxbm imagecreatefromxpm imagecreatetruecolor imagedashedline imagedestroy imageellipse imagefill imagefilledarc imagefilledellipse imagefilledpolygon imagefilledrectangle imagefilltoborder imagefontheight imagefontwidth imageftbbox imagefttext imagegammacorrect imagegd2 imagegd imagegif imageinterlace imageistruecolor imagejpeg imageline imageloadfont imagepalettecopy imagepng imagepolygon imagepsbbox imagepscopyfont imagepsencodefont imagepsextendfont imagepsfreefont imagepsloadfont imagepsslantfont imagepstext imagerectangle imagerotate imagesavealpha imagesetbrush imagesetpixel imagesetstyle imagesetthickness imagesettile imagestring imagestringup imagesx imagesy imagetruecolortopalette imagettfbbox imagettftext imagetypes imagewbmp iptcembed iptcparse jpeg2wbmp png2wbmp read_exif_data contained +syn keyword phpFunctions imap_8bit imap_alerts imap_append imap_base64 imap_binary imap_body imap_bodystruct imap_check imap_clearflag_full imap_close imap_createmailbox imap_delete imap_deletemailbox imap_errors imap_expunge imap_fetch_overview imap_fetchbody imap_fetchheader imap_fetchstructure imap_get_quota imap_get_quotaroot imap_getacl imap_getmailboxes imap_getsubscribed imap_header imap_headerinfo imap_headers imap_last_error imap_list imap_listmailbox imap_listscan imap_listsubscribed imap_lsub imap_mail_compose imap_mail_copy imap_mail_move imap_mail imap_mailboxmsginfo imap_mime_header_decode imap_msgno imap_num_msg imap_num_recent imap_open imap_ping imap_qprint imap_renamemailbox imap_reopen imap_rfc822_parse_adrlist imap_rfc822_parse_headers imap_rfc822_write_address imap_scanmailbox imap_search imap_set_quota imap_setacl imap_setflag_full imap_sort imap_status imap_subscribe imap_thread imap_timeout imap_uid imap_undelete imap_unsubscribe imap_utf7_decode imap_utf7_encode imap_utf8 contained +syn keyword phpFunctions assert_options assert dl extension_loaded get_cfg_var get_current_user get_defined_constants get_extension_funcs get_include_path get_included_files get_loaded_extensions get_magic_quotes_gpc get_magic_quotes_runtime get_required_files getenv getlastmod getmygid getmyinode getmypid getmyuid getopt getrusage ini_alter ini_get_all ini_get ini_restore ini_set main memory_get_usage php_ini_scanned_files php_logo_guid php_sapi_name php_uname phpcredits phpinfo phpversion putenv restore_include_path set_include_path set_magic_quotes_runtime set_time_limit version_compare zend_logo_guid zend_version contained +syn keyword phpFunctions ingres_autocommit ingres_close ingres_commit ingres_connect ingres_fetch_array ingres_fetch_object ingres_fetch_row ingres_field_length ingres_field_name ingres_field_nullable ingres_field_precision ingres_field_scale ingres_field_type ingres_num_fields ingres_num_rows ingres_pconnect ingres_query ingres_rollback contained +syn keyword phpFunctions ircg_channel_mode ircg_disconnect ircg_fetch_error_msg ircg_get_username ircg_html_encode ircg_ignore_add ircg_ignore_del ircg_is_conn_alive ircg_join ircg_kick ircg_lookup_format_messages ircg_msg ircg_nick ircg_nickname_escape ircg_nickname_unescape ircg_notice ircg_part ircg_pconnect ircg_register_format_messages ircg_set_current ircg_set_file ircg_set_on_die ircg_topic ircg_whois contained +syn keyword phpFunctions java_last_exception_clear java_last_exception_get contained +syn keyword phpFunctions json_decode json_encode json_last_error contained +syn keyword phpFunctions ldap_8859_to_t61 ldap_add ldap_bind ldap_close ldap_compare ldap_connect ldap_count_entries ldap_delete ldap_dn2ufn ldap_err2str ldap_errno ldap_error ldap_explode_dn ldap_first_attribute ldap_first_entry ldap_first_reference ldap_free_result ldap_get_attributes ldap_get_dn ldap_get_entries ldap_get_option ldap_get_values_len ldap_get_values ldap_list ldap_mod_add ldap_mod_del ldap_mod_replace ldap_modify ldap_next_attribute ldap_next_entry ldap_next_reference ldap_parse_reference ldap_parse_result ldap_read ldap_rename ldap_search ldap_set_option ldap_set_rebind_proc ldap_sort ldap_start_tls ldap_t61_to_8859 ldap_unbind contained +syn keyword phpFunctions lzf_compress lzf_decompress lzf_optimized_for contained +syn keyword phpFunctions ezmlm_hash mail contained +syn keyword phpFunctions mailparse_determine_best_xfer_encoding mailparse_msg_create mailparse_msg_extract_part_file mailparse_msg_extract_part mailparse_msg_free mailparse_msg_get_part_data mailparse_msg_get_part mailparse_msg_get_structure mailparse_msg_parse_file mailparse_msg_parse mailparse_rfc822_parse_addresses mailparse_stream_encode mailparse_uudecode_all contained +syn keyword phpFunctions abs acos acosh asin asinh atan2 atan atanh base_convert bindec ceil cos cosh decbin dechex decoct deg2rad exp expm1 floor fmod getrandmax hexdec hypot is_finite is_infinite is_nan lcg_value log10 log1p log max min mt_getrandmax mt_rand mt_srand octdec pi pow rad2deg rand round sin sinh sqrt srand tan tanh contained +syn keyword phpFunctions mb_convert_case mb_convert_encoding mb_convert_kana mb_convert_variables mb_decode_mimeheader mb_decode_numericentity mb_detect_encoding mb_detect_order mb_encode_mimeheader mb_encode_numericentity mb_ereg_match mb_ereg_replace mb_ereg_search_getpos mb_ereg_search_getregs mb_ereg_search_init mb_ereg_search_pos mb_ereg_search_regs mb_ereg_search_setpos mb_ereg_search mb_ereg mb_eregi_replace mb_eregi mb_get_info mb_http_input mb_http_output mb_internal_encoding mb_language mb_output_handler mb_parse_str mb_preferred_mime_name mb_regex_encoding mb_regex_set_options mb_send_mail mb_split mb_strcut mb_strimwidth mb_strlen mb_strpos mb_strrpos mb_strtolower mb_strtoupper mb_strwidth mb_substitute_character mb_substr_count mb_substr contained +syn keyword phpFunctions mcal_append_event mcal_close mcal_create_calendar mcal_date_compare mcal_date_valid mcal_day_of_week mcal_day_of_year mcal_days_in_month mcal_delete_calendar mcal_delete_event mcal_event_add_attribute mcal_event_init mcal_event_set_alarm mcal_event_set_category mcal_event_set_class mcal_event_set_description mcal_event_set_end mcal_event_set_recur_daily mcal_event_set_recur_monthly_mday mcal_event_set_recur_monthly_wday mcal_event_set_recur_none mcal_event_set_recur_weekly mcal_event_set_recur_yearly mcal_event_set_start mcal_event_set_title mcal_expunge mcal_fetch_current_stream_event mcal_fetch_event mcal_is_leap_year mcal_list_alarms mcal_list_events mcal_next_recurrence mcal_open mcal_popen mcal_rename_calendar mcal_reopen mcal_snooze mcal_store_event mcal_time_valid mcal_week_of_year contained +syn keyword phpFunctions mcrypt_cbc mcrypt_cfb mcrypt_create_iv mcrypt_decrypt mcrypt_ecb mcrypt_enc_get_algorithms_name mcrypt_enc_get_block_size mcrypt_enc_get_iv_size mcrypt_enc_get_key_size mcrypt_enc_get_modes_name mcrypt_enc_get_supported_key_sizes mcrypt_enc_is_block_algorithm_mode mcrypt_enc_is_block_algorithm mcrypt_enc_is_block_mode mcrypt_enc_self_test mcrypt_encrypt mcrypt_generic_deinit mcrypt_generic_end mcrypt_generic_init mcrypt_generic mcrypt_get_block_size mcrypt_get_cipher_name mcrypt_get_iv_size mcrypt_get_key_size mcrypt_list_algorithms mcrypt_list_modes mcrypt_module_close mcrypt_module_get_algo_block_size mcrypt_module_get_algo_key_size mcrypt_module_get_supported_key_sizes mcrypt_module_is_block_algorithm_mode mcrypt_module_is_block_algorithm mcrypt_module_is_block_mode mcrypt_module_open mcrypt_module_self_test mcrypt_ofb mdecrypt_generic contained +syn keyword phpFunctions mcve_adduser mcve_adduserarg mcve_bt mcve_checkstatus mcve_chkpwd mcve_chngpwd mcve_completeauthorizations mcve_connect mcve_connectionerror mcve_deleteresponse mcve_deletetrans mcve_deleteusersetup mcve_deluser mcve_destroyconn mcve_destroyengine mcve_disableuser mcve_edituser mcve_enableuser mcve_force mcve_getcell mcve_getcellbynum mcve_getcommadelimited mcve_getheader mcve_getuserarg mcve_getuserparam mcve_gft mcve_gl mcve_gut mcve_initconn mcve_initengine mcve_initusersetup mcve_iscommadelimited mcve_liststats mcve_listusers mcve_maxconntimeout mcve_monitor mcve_numcolumns mcve_numrows mcve_override mcve_parsecommadelimited mcve_ping mcve_preauth mcve_preauthcompletion mcve_qc mcve_responseparam mcve_return mcve_returncode mcve_returnstatus mcve_sale mcve_setblocking mcve_setdropfile mcve_setip mcve_setssl_files mcve_setssl mcve_settimeout mcve_settle mcve_text_avs mcve_text_code mcve_text_cv mcve_transactionauth mcve_transactionavs mcve_transactionbatch mcve_transactioncv mcve_transactionid mcve_transactionitem mcve_transactionssent mcve_transactiontext mcve_transinqueue mcve_transnew mcve_transparam mcve_transsend mcve_ub mcve_uwait mcve_verifyconnection mcve_verifysslcert mcve_void contained +syn keyword phpFunctions mhash_count mhash_get_block_size mhash_get_hash_name mhash_keygen_s2k mhash contained +syn keyword phpFunctions mime_content_type contained +syn keyword phpFunctions ming_setcubicthreshold ming_setscale ming_useswfversion SWFAction SWFBitmap swfbutton_keypress SWFbutton SWFDisplayItem SWFFill SWFFont SWFGradient SWFMorph SWFMovie SWFShape SWFSprite SWFText SWFTextField contained +syn keyword phpMethods getHeight getWidth addAction addShape setAction setdown setHit setOver setUp addColor move moveTo multColor remove Rotate rotateTo scale scaleTo setDepth setName setRatio skewX skewXTo skewY skewYTo moveTo rotateTo scaleTo skewXTo skewYTo getwidth addEntry getshape1 getshape2 add nextframe output remove save setbackground setdimension setframes setrate streammp3 addFill drawCurve drawCurveTo drawLine drawLineTo movePen movePenTo setLeftFill setLine setRightFill add nextframe remove setframes addString getWidth moveTo setColor setFont setHeight setSpacing addstring align setbounds setcolor setFont setHeight setindentation setLeftMargin setLineSpacing setMargins setname setrightMargin contained +syn keyword phpFunctions connection_aborted connection_status connection_timeout constant define defined die eval exit get_browser highlight_file highlight_string ignore_user_abort pack show_source sleep uniqid unpack usleep contained +syn keyword phpFunctions udm_add_search_limit udm_alloc_agent udm_api_version udm_cat_list udm_cat_path udm_check_charset udm_check_stored udm_clear_search_limits udm_close_stored udm_crc32 udm_errno udm_error udm_find udm_free_agent udm_free_ispell_data udm_free_res udm_get_doc_count udm_get_res_field udm_get_res_param udm_load_ispell_data udm_open_stored udm_set_agent_param contained +syn keyword phpFunctions msession_connect msession_count msession_create msession_destroy msession_disconnect msession_find msession_get_array msession_get msession_getdata msession_inc msession_list msession_listvar msession_lock msession_plugin msession_randstr msession_set_array msession_set msession_setdata msession_timeout msession_uniq msession_unlock contained +syn keyword phpFunctions msql_affected_rows msql_close msql_connect msql_create_db msql_createdb msql_data_seek msql_dbname msql_drop_db msql_dropdb msql_error msql_fetch_array msql_fetch_field msql_fetch_object msql_fetch_row msql_field_seek msql_fieldflags msql_fieldlen msql_fieldname msql_fieldtable msql_fieldtype msql_free_result msql_freeresult msql_list_dbs msql_list_fields msql_list_tables msql_listdbs msql_listfields msql_listtables msql_num_fields msql_num_rows msql_numfields msql_numrows msql_pconnect msql_query msql_regcase msql_result msql_select_db msql_selectdb msql_tablename msql contained +syn keyword phpFunctions mssql_bind mssql_close mssql_connect mssql_data_seek mssql_execute mssql_fetch_array mssql_fetch_assoc mssql_fetch_batch mssql_fetch_field mssql_fetch_object mssql_fetch_row mssql_field_length mssql_field_name mssql_field_seek mssql_field_type mssql_free_result mssql_free_statement mssql_get_last_message mssql_guid_string mssql_init mssql_min_error_severity mssql_min_message_severity mssql_next_result mssql_num_fields mssql_num_rows mssql_pconnect mssql_query mssql_result mssql_rows_affected mssql_select_db contained +syn keyword phpFunctions muscat_close muscat_get muscat_give muscat_setup_net muscat_setup contained +syn keyword phpFunctions mysql_affected_rows mysql_change_user mysql_client_encoding mysql_close mysql_connect mysql_create_db mysql_data_seek mysql_db_name mysql_db_query mysql_drop_db mysql_errno mysql_error mysql_escape_string mysql_fetch_array mysql_fetch_assoc mysql_fetch_field mysql_fetch_lengths mysql_fetch_object mysql_fetch_row mysql_field_flags mysql_field_len mysql_field_name mysql_field_seek mysql_field_table mysql_field_type mysql_free_result mysql_get_client_info mysql_get_host_info mysql_get_proto_info mysql_get_server_info mysql_info mysql_insert_id mysql_list_dbs mysql_list_fields mysql_list_processes mysql_list_tables mysql_num_fields mysql_num_rows mysql_pconnect mysql_ping mysql_query mysql_real_escape_string mysql_result mysql_select_db mysql_stat mysql_tablename mysql_thread_id mysql_unbuffered_query contained +syn keyword phpFunctions mysqli_affected_rows mysqli_autocommit mysqli_bind_param mysqli_bind_result mysqli_change_user mysqli_character_set_name mysqli_close mysqli_commit mysqli_connect mysqli_data_seek mysqli_debug mysqli_disable_reads_from_master mysqli_disable_rpl_parse mysqli_dump_debug_info mysqli_enable_reads_from_master mysqli_enable_rpl_parse mysqli_errno mysqli_error mysqli_execute mysqli_fetch_array mysqli_fetch_assoc mysqli_fetch_field_direct mysqli_fetch_field mysqli_fetch_fields mysqli_fetch_lengths mysqli_fetch_object mysqli_fetch_row mysqli_fetch mysqli_field_count mysqli_field_seek mysqli_field_tell mysqli_free_result mysqli_get_client_info mysqli_get_host_info mysqli_get_proto_info mysqli_get_server_info mysqli_get_server_version mysqli_info mysqli_init mysqli_insert_id mysqli_kill mysqli_master_query mysqli_num_fields mysqli_num_rows mysqli_options mysqli_param_count mysqli_ping mysqli_prepare_result mysqli_prepare mysqli_profiler mysqli_query mysqli_read_query_result mysqli_real_connect mysqli_real_escape_string mysqli_real_query mysqli_reload mysqli_rollback mysqli_rpl_parse_enabled mysqli_rpl_probe mysqli_rpl_query_type mysqli_select_db mysqli_send_long_data mysqli_send_query mysqli_slave_query mysqli_ssl_set mysqli_stat mysqli_stmt_affected_rows mysqli_stmt_close mysqli_stmt_errno mysqli_stmt_error mysqli_stmt_store_result mysqli_store_result mysqli_thread_id mysqli_thread_safe mysqli_use_result mysqli_warning_count contained +syn keyword phpFunctions ncurses_addch ncurses_addchnstr ncurses_addchstr ncurses_addnstr ncurses_addstr ncurses_assume_default_colors ncurses_attroff ncurses_attron ncurses_attrset ncurses_baudrate ncurses_beep ncurses_bkgd ncurses_bkgdset ncurses_border ncurses_bottom_panel ncurses_can_change_color ncurses_cbreak ncurses_clear ncurses_clrtobot ncurses_clrtoeol ncurses_color_content ncurses_color_set ncurses_curs_set ncurses_def_prog_mode ncurses_def_shell_mode ncurses_define_key ncurses_del_panel ncurses_delay_output ncurses_delch ncurses_deleteln ncurses_delwin ncurses_doupdate ncurses_echo ncurses_echochar ncurses_end ncurses_erase ncurses_erasechar ncurses_filter ncurses_flash ncurses_flushinp ncurses_getch ncurses_getmaxyx ncurses_getmouse ncurses_getyx ncurses_halfdelay ncurses_has_colors ncurses_has_ic ncurses_has_il ncurses_has_key ncurses_hide_panel ncurses_hline ncurses_inch ncurses_init_color ncurses_init_pair ncurses_init ncurses_insch ncurses_insdelln ncurses_insertln ncurses_insstr ncurses_instr ncurses_isendwin ncurses_keyok ncurses_keypad ncurses_killchar ncurses_longname ncurses_meta ncurses_mouse_trafo ncurses_mouseinterval ncurses_mousemask ncurses_move_panel ncurses_move ncurses_mvaddch ncurses_mvaddchnstr ncurses_mvaddchstr ncurses_mvaddnstr ncurses_mvaddstr ncurses_mvcur ncurses_mvdelch ncurses_mvgetch ncurses_mvhline ncurses_mvinch ncurses_mvvline ncurses_mvwaddstr ncurses_napms ncurses_new_panel ncurses_newpad ncurses_newwin ncurses_nl ncurses_nocbreak ncurses_noecho ncurses_nonl ncurses_noqiflush ncurses_noraw ncurses_pair_content ncurses_panel_above ncurses_panel_below ncurses_panel_window ncurses_pnoutrefresh ncurses_prefresh ncurses_putp ncurses_qiflush ncurses_raw ncurses_refresh ncurses_replace_panel ncurses_reset_prog_mode ncurses_reset_shell_mode ncurses_resetty ncurses_savetty ncurses_scr_dump ncurses_scr_init ncurses_scr_restore ncurses_scr_set ncurses_scrl ncurses_show_panel ncurses_slk_attr ncurses_slk_attroff ncurses_slk_attron ncurses_slk_attrset ncurses_slk_clear ncurses_slk_color ncurses_slk_init ncurses_slk_noutrefresh ncurses_slk_refresh ncurses_slk_restore ncurses_slk_set ncurses_slk_touch ncurses_standend ncurses_standout ncurses_start_color ncurses_termattrs ncurses_termname ncurses_timeout ncurses_top_panel ncurses_typeahead ncurses_ungetch ncurses_ungetmouse ncurses_update_panels ncurses_use_default_colors ncurses_use_env ncurses_use_extended_names ncurses_vidattr ncurses_vline ncurses_waddch ncurses_waddstr ncurses_wattroff ncurses_wattron ncurses_wattrset ncurses_wborder ncurses_wclear ncurses_wcolor_set ncurses_werase ncurses_wgetch ncurses_whline ncurses_wmouse_trafo ncurses_wmove ncurses_wnoutrefresh ncurses_wrefresh ncurses_wstandend ncurses_wstandout ncurses_wvline contained +syn keyword phpFunctions checkdnsrr closelog debugger_off debugger_on define_syslog_variables dns_check_record dns_get_mx dns_get_record fsockopen gethostbyaddr gethostbyname gethostbynamel getmxrr getprotobyname getprotobynumber getservbyname getservbyport ip2long long2ip openlog pfsockopen socket_get_status socket_set_blocking socket_set_timeout syslog contained +syn keyword phpFunctions yp_all yp_cat yp_err_string yp_errno yp_first yp_get_default_domain yp_master yp_match yp_next yp_order contained +syn keyword phpFunctions notes_body notes_copy_db notes_create_db notes_create_note notes_drop_db notes_find_note notes_header_info notes_list_msgs notes_mark_read notes_mark_unread notes_nav_create notes_search notes_unread notes_version contained +syn keyword phpFunctions nsapi_request_headers nsapi_response_headers nsapi_virtual contained +syn keyword phpFunctions aggregate_info aggregate_methods_by_list aggregate_methods_by_regexp aggregate_methods aggregate_properties_by_list aggregate_properties_by_regexp aggregate_properties aggregate aggregation_info deaggregate contained +syn keyword phpFunctions ocibindbyname ocicancel ocicloselob ocicollappend ocicollassign ocicollassignelem ocicollgetelem ocicollmax ocicollsize ocicolltrim ocicolumnisnull ocicolumnname ocicolumnprecision ocicolumnscale ocicolumnsize ocicolumntype ocicolumntyperaw ocicommit ocidefinebyname ocierror ociexecute ocifetch ocifetchinto ocifetchstatement ocifreecollection ocifreecursor ocifreedesc ocifreestatement ociinternaldebug ociloadlob ocilogoff ocilogon ocinewcollection ocinewcursor ocinewdescriptor ocinlogon ocinumcols ociparse ociplogon ociresult ocirollback ocirowcount ocisavelob ocisavelobfile ociserverversion ocisetprefetch ocistatementtype ociwritelobtofile ociwritetemporarylob contained +syn keyword phpFunctions odbc_autocommit odbc_binmode odbc_close_all odbc_close odbc_columnprivileges odbc_columns odbc_commit odbc_connect odbc_cursor odbc_data_source odbc_do odbc_error odbc_errormsg odbc_exec odbc_execute odbc_fetch_array odbc_fetch_into odbc_fetch_object odbc_fetch_row odbc_field_len odbc_field_name odbc_field_num odbc_field_precision odbc_field_scale odbc_field_type odbc_foreignkeys odbc_free_result odbc_gettypeinfo odbc_longreadlen odbc_next_result odbc_num_fields odbc_num_rows odbc_pconnect odbc_prepare odbc_primarykeys odbc_procedurecolumns odbc_procedures odbc_result_all odbc_result odbc_rollback odbc_setoption odbc_specialcolumns odbc_statistics odbc_tableprivileges odbc_tables contained +syn keyword phpFunctions openssl_cipher_iv_length openssl_csr_export_to_file openssl_csr_export openssl_csr_get_public_key openssl_csr_get_subject openssl_csr_new openssl_csr_sign openssl_decrypt openssl_dh_compute_key openssl_digest openssl_encrypt openssl_error_string openssl_free_key openssl_get_cert_locations openssl_get_cipher_methods openssl_get_md_methods openssl_get_privatekey openssl_get_publickey openssl_open openssl_pbkdf2 openssl_pkcs12_export_to_file openssl_pkcs12_export openssl_pkcs12_read openssl_pkcs7_decrypt openssl_pkcs7_encrypt openssl_pkcs7_sign openssl_pkcs7_verify openssl_pkey_export_to_file openssl_pkey_export openssl_pkey_free openssl_pkey_get_details openssl_pkey_get_private openssl_pkey_get_public openssl_pkey_new openssl_private_decrypt openssl_private_encrypt openssl_public_decrypt openssl_public_encrypt openssl_random_pseudo_bytes openssl_seal openssl_sign openssl_spki_export_challenge openssl_spki_export openssl_spki_new openssl_spki_verify openssl_verify openssl_x509_check_private_key openssl_x509_checkpurpose openssl_x509_export_to_file openssl_x509_export openssl_x509_fingerprint openssl_x509_free openssl_x509_parse openssl_x509_read contained +syn keyword phpFunctions ora_bind ora_close ora_columnname ora_columnsize ora_columntype ora_commit ora_commitoff ora_commiton ora_do ora_error ora_errorcode ora_exec ora_fetch_into ora_fetch ora_getcolumn ora_logoff ora_logon ora_numcols ora_numrows ora_open ora_parse ora_plogon ora_rollback contained +syn keyword phpFunctions flush ob_clean ob_end_clean ob_end_flush ob_flush ob_get_clean ob_get_contents ob_get_flush ob_get_length ob_get_level ob_get_status ob_gzhandler ob_implicit_flush ob_list_handlers ob_start output_add_rewrite_var output_reset_rewrite_vars contained +syn keyword phpFunctions overload contained +syn keyword phpFunctions ovrimos_close ovrimos_commit ovrimos_connect ovrimos_cursor ovrimos_exec ovrimos_execute ovrimos_fetch_into ovrimos_fetch_row ovrimos_field_len ovrimos_field_name ovrimos_field_num ovrimos_field_type ovrimos_free_result ovrimos_longreadlen ovrimos_num_fields ovrimos_num_rows ovrimos_prepare ovrimos_result_all ovrimos_result ovrimos_rollback contained +syn keyword phpFunctions pcntl_exec pcntl_fork pcntl_signal pcntl_waitpid pcntl_wexitstatus pcntl_wifexited pcntl_wifsignaled pcntl_wifstopped pcntl_wstopsig pcntl_wtermsig contained +syn keyword phpFunctions preg_grep preg_match_all preg_match preg_quote preg_replace_callback preg_replace preg_split contained +syn keyword phpFunctions pdf_add_annotation pdf_add_bookmark pdf_add_launchlink pdf_add_locallink pdf_add_note pdf_add_outline pdf_add_pdflink pdf_add_thumbnail pdf_add_weblink pdf_arc pdf_arcn pdf_attach_file pdf_begin_page pdf_begin_pattern pdf_begin_template pdf_circle pdf_clip pdf_close_image pdf_close_pdi_page pdf_close_pdi pdf_close pdf_closepath_fill_stroke pdf_closepath_stroke pdf_closepath pdf_concat pdf_continue_text pdf_curveto pdf_delete pdf_end_page pdf_end_pattern pdf_end_template pdf_endpath pdf_fill_stroke pdf_fill pdf_findfont pdf_get_buffer pdf_get_font pdf_get_fontname pdf_get_fontsize pdf_get_image_height pdf_get_image_width pdf_get_majorversion pdf_get_minorversion pdf_get_parameter pdf_get_pdi_parameter pdf_get_pdi_value pdf_get_value pdf_initgraphics pdf_lineto pdf_makespotcolor pdf_moveto pdf_new pdf_open_CCITT pdf_open_file pdf_open_gif pdf_open_image_file pdf_open_image pdf_open_jpeg pdf_open_memory_image pdf_open_pdi_page pdf_open_pdi pdf_open_png pdf_open_tiff pdf_open pdf_place_image pdf_place_pdi_page pdf_rect pdf_restore pdf_rotate pdf_save pdf_scale pdf_set_border_color pdf_set_border_dash pdf_set_border_style pdf_set_char_spacing pdf_set_duration pdf_set_font pdf_set_horiz_scaling pdf_set_info_author pdf_set_info_creator pdf_set_info_keywords pdf_set_info_subject pdf_set_info_title pdf_set_info pdf_set_leading pdf_set_parameter pdf_set_text_matrix pdf_set_text_pos pdf_set_text_rendering pdf_set_text_rise pdf_set_value pdf_set_word_spacing pdf_setcolor pdf_setdash pdf_setflat pdf_setfont pdf_setgray_fill pdf_setgray_stroke pdf_setgray pdf_setlinecap pdf_setlinejoin pdf_setlinewidth pdf_setmatrix pdf_setmiterlimit pdf_setpolydash pdf_setrgbcolor_fill pdf_setrgbcolor_stroke pdf_setrgbcolor pdf_show_boxed pdf_show_xy pdf_show pdf_skew pdf_stringwidth pdf_stroke pdf_translate contained +syn keyword phpFunctions pfpro_cleanup pfpro_init pfpro_process_raw pfpro_process pfpro_version contained +syn keyword phpFunctions pg_affected_rows pg_cancel_query pg_client_encoding pg_close pg_connect pg_connection_busy pg_connection_reset pg_connection_status pg_convert pg_copy_from pg_copy_to pg_dbname pg_delete pg_end_copy pg_escape_bytea pg_escape_string pg_fetch_all pg_fetch_array pg_fetch_assoc pg_fetch_object pg_fetch_result pg_fetch_row pg_field_is_null pg_field_name pg_field_num pg_field_prtlen pg_field_size pg_field_type pg_free_result pg_get_notify pg_get_pid pg_get_result pg_host pg_insert pg_last_error pg_last_notice pg_last_oid pg_lo_close pg_lo_create pg_lo_export pg_lo_import pg_lo_open pg_lo_read_all pg_lo_read pg_lo_seek pg_lo_tell pg_lo_unlink pg_lo_write pg_meta_data pg_num_fields pg_num_rows pg_options pg_pconnect pg_ping pg_port pg_put_line pg_query pg_result_error pg_result_seek pg_result_status pg_select pg_send_query pg_set_client_encoding pg_trace pg_tty pg_unescape_bytea pg_untrace pg_update contained +syn keyword phpFunctions posix_ctermid posix_get_last_error posix_getcwd posix_getegid posix_geteuid posix_getgid posix_getgrgid posix_getgrnam posix_getgroups posix_getlogin posix_getpgid posix_getpgrp posix_getpid posix_getppid posix_getpwnam posix_getpwuid posix_getrlimit posix_getsid posix_getuid posix_isatty posix_kill posix_mkfifo posix_setegid posix_seteuid posix_setgid posix_setpgid posix_setsid posix_setuid posix_strerror posix_times posix_ttyname posix_uname contained +syn keyword phpFunctions printer_abort printer_close printer_create_brush printer_create_dc printer_create_font printer_create_pen printer_delete_brush printer_delete_dc printer_delete_font printer_delete_pen printer_draw_bmp printer_draw_chord printer_draw_elipse printer_draw_line printer_draw_pie printer_draw_rectangle printer_draw_roundrect printer_draw_text printer_end_doc printer_end_page printer_get_option printer_list printer_logical_fontheight printer_open printer_select_brush printer_select_font printer_select_pen printer_set_option printer_start_doc printer_start_page printer_write contained +syn keyword phpFunctions pspell_add_to_personal pspell_add_to_session pspell_check pspell_clear_session pspell_config_create pspell_config_ignore pspell_config_mode pspell_config_personal pspell_config_repl pspell_config_runtogether pspell_config_save_repl pspell_new_config pspell_new_personal pspell_new pspell_save_wordlist pspell_store_replacement pspell_suggest contained +syn keyword phpFunctions qdom_error qdom_tree contained +syn keyword phpFunctions readline_add_history readline_clear_history readline_completion_function readline_info readline_list_history readline_read_history readline_write_history readline contained +syn keyword phpFunctions recode_file recode_string recode contained +syn keyword phpFunctions ereg_replace ereg eregi_replace eregi split spliti sql_regcase contained +syn keyword phpFunctions ftok msg_get_queue msg_receive msg_remove_queue msg_send msg_set_queue msg_stat_queue sem_acquire sem_get sem_release sem_remove shm_attach shm_detach shm_get_var shm_put_var shm_remove_var shm_remove contained +syn keyword phpFunctions sesam_affected_rows sesam_commit sesam_connect sesam_diagnostic sesam_disconnect sesam_errormsg sesam_execimm sesam_fetch_array sesam_fetch_result sesam_fetch_row sesam_field_array sesam_field_name sesam_free_result sesam_num_fields sesam_query sesam_rollback sesam_seek_row sesam_settransaction contained +syn keyword phpFunctions session_cache_expire session_cache_limiter session_decode session_destroy session_encode session_get_cookie_params session_id session_is_registered session_module_name session_name session_regenerate_id session_register session_save_path session_set_cookie_params session_set_save_handler session_start session_unregister session_unset session_write_close contained +syn keyword phpFunctions shmop_close shmop_delete shmop_open shmop_read shmop_size shmop_write contained +syn keyword phpFunctions snmp_get_quick_print snmp_set_quick_print snmpget snmprealwalk snmpset snmpwalk snmpwalkoid contained +syn keyword phpFunctions socket_accept socket_bind socket_clear_error socket_close socket_connect socket_create_listen socket_create_pair socket_create socket_get_option socket_getpeername socket_getsockname socket_iovec_add socket_iovec_alloc socket_iovec_delete socket_iovec_fetch socket_iovec_free socket_iovec_set socket_last_error socket_listen socket_read socket_readv socket_recv socket_recvfrom socket_recvmsg socket_select socket_send socket_sendmsg socket_sendto socket_set_block socket_set_nonblock socket_set_option socket_shutdown socket_strerror socket_write socket_writev contained +syn keyword phpFunctions sqlite_array_query sqlite_busy_timeout sqlite_changes sqlite_close sqlite_column sqlite_create_aggregate sqlite_create_function sqlite_current sqlite_error_string sqlite_escape_string sqlite_fetch_array sqlite_fetch_single sqlite_fetch_string sqlite_field_name sqlite_has_more sqlite_last_error sqlite_last_insert_rowid sqlite_libencoding sqlite_libversion sqlite_next sqlite_num_fields sqlite_num_rows sqlite_open sqlite_popen sqlite_query sqlite_rewind sqlite_seek sqlite_udf_decode_binary sqlite_udf_encode_binary sqlite_unbuffered_query contained +syn keyword phpFunctions stream_context_create stream_context_get_options stream_context_set_option stream_context_set_params stream_copy_to_stream stream_filter_append stream_filter_prepend stream_filter_register stream_get_contents stream_get_filters stream_get_line stream_get_meta_data stream_get_transports stream_get_wrappers stream_register_wrapper stream_select stream_set_blocking stream_set_timeout stream_set_write_buffer stream_socket_accept stream_socket_client stream_socket_get_name stream_socket_recvfrom stream_socket_sendto stream_socket_server stream_wrapper_register contained +syn keyword phpFunctions addcslashes addslashes bin2hex chop chr chunk_split convert_cyr_string count_chars crc32 crypt explode fprintf get_html_translation_table hebrev hebrevc html_entity_decode htmlentities htmlspecialchars implode join levenshtein localeconv ltrim md5_file md5 metaphone money_format nl_langinfo nl2br number_format ord parse_str print printf quoted_printable_decode quotemeta rtrim setlocale sha1_file sha1 similar_text soundex sprintf sscanf str_ireplace str_pad str_repeat str_replace str_rot13 str_shuffle str_split str_word_count strcasecmp strchr strcmp strcoll strcspn strip_tags stripcslashes stripos stripslashes stristr strlen strnatcasecmp strnatcmp strncasecmp strncmp strpos strrchr strrev strripos strrpos strspn strstr strtok strtolower strtoupper strtr substr_compare substr_count substr_replace substr trim ucfirst ucwords vprintf vsprintf wordwrap contained +syn keyword phpFunctions swf_actiongeturl swf_actiongotoframe swf_actiongotolabel swf_actionnextframe swf_actionplay swf_actionprevframe swf_actionsettarget swf_actionstop swf_actiontogglequality swf_actionwaitforframe swf_addbuttonrecord swf_addcolor swf_closefile swf_definebitmap swf_definefont swf_defineline swf_definepoly swf_definerect swf_definetext swf_endbutton swf_enddoaction swf_endshape swf_endsymbol swf_fontsize swf_fontslant swf_fonttracking swf_getbitmapinfo swf_getfontinfo swf_getframe swf_labelframe swf_lookat swf_modifyobject swf_mulcolor swf_nextid swf_oncondition swf_openfile swf_ortho2 swf_ortho swf_perspective swf_placeobject swf_polarview swf_popmatrix swf_posround swf_pushmatrix swf_removeobject swf_rotate swf_scale swf_setfont swf_setframe swf_shapearc swf_shapecurveto3 swf_shapecurveto swf_shapefillbitmapclip swf_shapefillbitmaptile swf_shapefilloff swf_shapefillsolid swf_shapelinesolid swf_shapelineto swf_shapemoveto swf_showframe swf_startbutton swf_startdoaction swf_startshape swf_startsymbol swf_textwidth swf_translate swf_viewport contained +syn keyword phpFunctions sybase_affected_rows sybase_close sybase_connect sybase_data_seek sybase_deadlock_retry_count sybase_fetch_array sybase_fetch_assoc sybase_fetch_field sybase_fetch_object sybase_fetch_row sybase_field_seek sybase_free_result sybase_get_last_message sybase_min_client_severity sybase_min_error_severity sybase_min_message_severity sybase_min_server_severity sybase_num_fields sybase_num_rows sybase_pconnect sybase_query sybase_result sybase_select_db sybase_set_message_handler sybase_unbuffered_query contained +syn keyword phpFunctions tidy_access_count tidy_clean_repair tidy_config_count tidy_diagnose tidy_error_count tidy_get_body tidy_get_config tidy_get_error_buffer tidy_get_head tidy_get_html_ver tidy_get_html tidy_get_output tidy_get_release tidy_get_root tidy_get_status tidy_getopt tidy_is_xhtml tidy_load_config tidy_parse_file tidy_parse_string tidy_repair_file tidy_repair_string tidy_reset_config tidy_save_config tidy_set_encoding tidy_setopt tidy_warning_count contained +syn keyword phpMethods attributes children get_attr get_nodes has_children has_siblings is_asp is_comment is_html is_jsp is_jste is_text is_xhtml is_xml next prev tidy_node contained +syn keyword phpFunctions token_get_all token_name contained +syn keyword phpFunctions base64_decode base64_encode get_meta_tags http_build_query parse_url rawurldecode rawurlencode urldecode urlencode contained +syn keyword phpFunctions doubleval empty floatval get_defined_vars get_resource_type gettype import_request_variables intval is_array is_bool is_callable is_double is_float is_int is_integer is_long is_null is_numeric is_object is_real is_resource is_scalar is_string isset print_r serialize settype strval unserialize unset var_dump var_export contained +syn keyword phpFunctions vpopmail_add_alias_domain_ex vpopmail_add_alias_domain vpopmail_add_domain_ex vpopmail_add_domain vpopmail_add_user vpopmail_alias_add vpopmail_alias_del_domain vpopmail_alias_del vpopmail_alias_get_all vpopmail_alias_get vpopmail_auth_user vpopmail_del_domain_ex vpopmail_del_domain vpopmail_del_user vpopmail_error vpopmail_passwd vpopmail_set_user_quota contained +syn keyword phpFunctions w32api_deftype w32api_init_dtype w32api_invoke_function w32api_register_function w32api_set_call_method contained +syn keyword phpFunctions wddx_add_vars wddx_deserialize wddx_packet_end wddx_packet_start wddx_serialize_value wddx_serialize_vars contained +syn keyword phpFunctions utf8_decode utf8_encode xml_error_string xml_get_current_byte_index xml_get_current_column_number xml_get_current_line_number xml_get_error_code xml_parse_into_struct xml_parse xml_parser_create_ns xml_parser_create xml_parser_free xml_parser_get_option xml_parser_set_option xml_set_character_data_handler xml_set_default_handler xml_set_element_handler xml_set_end_namespace_decl_handler xml_set_external_entity_ref_handler xml_set_notation_decl_handler xml_set_object xml_set_processing_instruction_handler xml_set_start_namespace_decl_handler xml_set_unparsed_entity_decl_handler contained +syn keyword phpFunctions xmlrpc_decode_request xmlrpc_decode xmlrpc_encode_request xmlrpc_encode xmlrpc_get_type xmlrpc_parse_method_descriptions xmlrpc_server_add_introspection_data xmlrpc_server_call_method xmlrpc_server_create xmlrpc_server_destroy xmlrpc_server_register_introspection_callback xmlrpc_server_register_method xmlrpc_set_type contained +syn keyword phpFunctions xslt_create xslt_errno xslt_error xslt_free xslt_output_process xslt_set_base xslt_set_encoding xslt_set_error_handler xslt_set_log xslt_set_sax_handler xslt_set_sax_handlers xslt_set_scheme_handler xslt_set_scheme_handlers contained +syn keyword phpFunctions yaz_addinfo yaz_ccl_conf yaz_ccl_parse yaz_close yaz_connect yaz_database yaz_element yaz_errno yaz_error yaz_es_result yaz_get_option yaz_hits yaz_itemorder yaz_present yaz_range yaz_record yaz_scan_result yaz_scan yaz_schema yaz_search yaz_set_option yaz_sort yaz_syntax yaz_wait contained +syn keyword phpFunctions zip_close zip_entry_close zip_entry_compressedsize zip_entry_compressionmethod zip_entry_filesize zip_entry_name zip_entry_open zip_entry_read zip_open zip_read contained +syn keyword phpFunctions gzclose gzcompress gzdeflate gzencode gzeof gzfile gzgetc gzgets gzgetss gzinflate gzopen gzpassthru gzputs gzread gzrewind gzseek gztell gzuncompress gzwrite readgzfile zlib_get_coding_type contained if exists( "php_baselib" ) - syn keyword phpMethods query next_record num_rows affected_rows nf f p np num_fields haltmsg seek link_id query_id metadata table_names nextid connect halt free register unregister is_registered delete url purl self_url pself_url hidden_session add_query padd_query reimport_get_vars reimport_post_vars reimport_cookie_vars set_container set_tokenname release_token put_headers get_id get_id put_id freeze thaw gc reimport_any_vars start url purl login_if is_authenticated auth_preauth auth_loginform auth_validatelogin auth_refreshlogin auth_registerform auth_doregister start check have_perm permsum perm_invalid contained - syn keyword phpFunctions page_open page_close sess_load sess_save contained + syn keyword phpMethods query next_record num_rows affected_rows nf f p np num_fields haltmsg seek link_id query_id metadata table_names nextid connect halt free register unregister is_registered delete url purl self_url pself_url hidden_session add_query padd_query reimport_get_vars reimport_post_vars reimport_cookie_vars set_container set_tokenname release_token put_headers get_id get_id put_id freeze thaw gc reimport_any_vars start url purl login_if is_authenticated auth_preauth auth_loginform auth_validatelogin auth_refreshlogin auth_registerform auth_doregister start check have_perm permsum perm_invalid contained + syn keyword phpFunctions page_open page_close sess_load sess_save contained endif " Conditional -syn keyword phpConditional declare else enddeclare endswitch elseif endif if switch contained +syn keyword phpConditional declare else enddeclare endswitch elseif endif if switch contained " Repeat -syn keyword phpRepeat as do endfor endforeach endwhile for foreach while contained +syn keyword phpRepeat as do endfor endforeach endwhile for foreach while contained " Repeat -syn keyword phpLabel case default switch contained +syn keyword phpLabel case default switch contained " Statement -syn keyword phpStatement return break continue exit goto contained +syn keyword phpStatement return break continue exit goto yield contained " Keyword -syn keyword phpKeyword var const contained +syn keyword phpKeyword var const contained " Type -syn keyword phpType bool boolean int integer real double float string array object NULL contained +syn keyword phpType bool boolean int integer real double float string array object NULL callable iterable contained " Structure -syn keyword phpStructure namespace extends implements instanceof parent self contained +syn keyword phpStructure namespace extends implements instanceof parent self contained " Operator syn match phpOperator "[-=+%^&|*!.~?:]" contained display -syn match phpOperator "[-+*/%^&|.]=" contained display -syn match phpOperator "/[^*/]"me=e-1 contained display -syn match phpOperator "\$" contained display +syn match phpOperator "[-+*/%^&|.]=" contained display +syn match phpOperator "/[^*/]"me=e-1 contained display +syn match phpOperator "\$" contained display syn match phpOperator "&&\|\<and\>" contained display syn match phpOperator "||\|\<x\=or\>" contained display syn match phpRelation "[!=<>]=" contained display -syn match phpRelation "[<>]" contained display -syn match phpMemberSelector "->" contained display -syn match phpVarSelector "\$" contained display +syn match phpRelation "[<>]" contained display +syn match phpMemberSelector "->" contained display +syn match phpVarSelector "\$" contained display " Identifier -syn match phpIdentifier "$\h\w*" contained contains=phpEnvVar,phpIntVar,phpVarSelector display -syn match phpIdentifierSimply "${\h\w*}" contains=phpOperator,phpParent contained display -syn region phpIdentifierComplex matchgroup=phpParent start="{\$"rs=e-1 end="}" contains=phpIdentifier,phpMemberSelector,phpVarSelector,phpIdentifierComplexP contained extend -syn region phpIdentifierComplexP matchgroup=phpParent start="\[" end="]" contains=@phpClInside contained +syn match phpIdentifier "$\h\w*" contained contains=phpEnvVar,phpIntVar,phpVarSelector display +syn match phpIdentifierSimply "${\h\w*}" contains=phpOperator,phpParent contained display +syn region phpIdentifierComplex matchgroup=phpParent start="{\$"rs=e-1 end="}" contains=phpIdentifier,phpMemberSelector,phpVarSelector,phpIdentifierComplexP contained extend +syn region phpIdentifierComplexP matchgroup=phpParent start="\[" end="]" contains=@phpClInside contained " Interpolated indentifiers (inside strings) syn match phpBrackets "[][}{]" contained display " errors - syn match phpInterpSimpleError "\[[^]]*\]" contained display " fallback (if nothing else matches) + syn match phpInterpSimpleError "\[[^]]*\]" contained display " fallback (if nothing else matches) syn match phpInterpSimpleError "->[^a-zA-Z_]" contained display " make sure these stay above the correct DollarCurlies so they don't take priority - syn match phpInterpBogusDollarCurley "${[^}]*}" contained display " fallback (if nothing else matches) + syn match phpInterpBogusDollarCurley "${[^}]*}" contained display " fallback (if nothing else matches) syn match phpinterpSimpleBracketsInner "\w\+" contained syn match phpInterpSimpleBrackets "\[\h\w*]" contained contains=phpBrackets,phpInterpSimpleBracketsInner syn match phpInterpSimpleBrackets "\[\d\+]" contained contains=phpBrackets,phpInterpSimpleBracketsInner @@ -302,7 +298,7 @@ syn region phpIdentifierComplexP matchgroup=phpParent start="\[" end="]" contai syn match phpInterpSimple "\$\h\w*\(\[[^]]*\]\|->\h\w*\)\?" contained contains=phpInterpSimpleBrackets,phpIdentifier,phpInterpSimpleError,phpMethods,phpMemberSelector display syn match phpInterpVarname "\h\w*" contained syn match phpInterpMethodName "\h\w*" contained " default color - syn match phpInterpSimpleCurly "\${\h\w*}" contains=phpInterpVarname contained extend + syn match phpInterpSimpleCurly "\${\h\w*}" contains=phpInterpVarname contained extend syn region phpInterpDollarCurley1Helper matchgroup=phpParent start="{" end="\[" contains=phpInterpVarname contained syn region phpInterpDollarCurly1 matchgroup=phpParent start="\${\h\w*\["rs=s+1 end="]}" contains=phpInterpDollarCurley1Helper,@phpClConst contained extend @@ -322,28 +318,27 @@ syn region phpIdentifierComplexP matchgroup=phpParent start="\[" end="]" contai syn match phpMethodsVar "->\h\w*" contained contains=phpMethods,phpMemberSelector display " Include -syn keyword phpInclude include require include_once require_once use contained +syn keyword phpInclude include require include_once require_once use contained -" Peter Hodge - added 'clone' keyword " Define syn keyword phpDefine new clone contained " Boolean -syn keyword phpBoolean true false contained +syn keyword phpBoolean true false contained " Number syn match phpNumber "-\=\<\d\+\>" contained display -syn match phpNumber "\<0x\x\{1,8}\>" contained display +syn match phpNumber "\<0x\x\{1,8}\>" contained display " Float -syn match phpFloat "\(-\=\<\d+\|-\=\)\.\d\+\>" contained display +syn match phpFloat "\(-\=\<\d+\|-\=\)\.\d\+\>" contained display " Backslash escapes syn case match " for double quotes and heredoc - syn match phpBackslashSequences "\\[fnrtv\\\"$]" contained display - syn match phpBackslashSequences "\\\d\{1,3}" contained contains=phpOctalError display - syn match phpBackslashSequences "\\x\x\{1,2}" contained display + syn match phpBackslashSequences "\\[fnrtv\\\"$]" contained display + syn match phpBackslashSequences "\\\d\{1,3}" contained contains=phpOctalError display + syn match phpBackslashSequences "\\x\x\{1,2}" contained display " additional sequence for double quotes only syn match phpBackslashDoubleQuote "\\[\"]" contained display " for single quotes only @@ -352,57 +347,57 @@ syn match phpFloat "\(-\=\<\d+\|-\=\)\.\d\+\>" contained display " Error -syn match phpOctalError "[89]" contained display +syn match phpOctalError "[89]" contained display if exists("php_parent_error_close") - syn match phpParentError "[)\]}]" contained display + syn match phpParentError "[)\]}]" contained display endif " Todo -syn keyword phpTodo todo fixme xxx contained +syn keyword phpTodo todo fixme xxx contained " Comment if exists("php_parent_error_open") - syn region phpComment start="/\*" end="\*/" contained contains=phpTodo,@Spell + syn region phpComment start="/\*" end="\*/" contained contains=phpTodo,@Spell else - syn region phpComment start="/\*" end="\*/" contained contains=phpTodo,@Spell extend + syn region phpComment start="/\*" end="\*/" contained contains=phpTodo,@Spell extend endif -syn match phpComment "#.\{-}\(?>\|$\)\@=" contained contains=phpTodo,@Spell -syn match phpComment "//.\{-}\(?>\|$\)\@=" contained contains=phpTodo,@Spell +syn match phpComment "#.\{-}\(?>\|$\)\@=" contained contains=phpTodo,@Spell +syn match phpComment "//.\{-}\(?>\|$\)\@=" contained contains=phpTodo,@Spell " String if exists("php_parent_error_open") - syn region phpStringDouble matchgroup=phpStringDouble start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=@phpAddStrings,phpBackslashSequences,phpBackslashDoubleQuote,@phpInterpDouble,@Spell contained keepend - syn region phpBacktick matchgroup=phpBacktick start=+`+ skip=+\\\\\|\\"+ end=+`+ contains=@phpAddStrings,phpIdentifier,phpBackslashSequences,phpIdentifierSimply,phpIdentifierComplex contained keepend - syn region phpStringSingle matchgroup=phpStringSingle start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=@phpAddStrings,phpBackslashSingleQuote,@Spell contained keepend + syn region phpStringDouble matchgroup=phpStringDouble start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=@phpAddStrings,phpBackslashSequences,phpBackslashDoubleQuote,@phpInterpDouble,@Spell contained keepend + syn region phpBacktick matchgroup=phpBacktick start=+`+ skip=+\\\\\|\\"+ end=+`+ contains=@phpAddStrings,phpIdentifier,phpBackslashSequences,phpIdentifierSimply,phpIdentifierComplex contained keepend + syn region phpStringSingle matchgroup=phpStringSingle start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=@phpAddStrings,phpBackslashSingleQuote,@Spell contained keepend else - syn region phpStringDouble matchgroup=phpStringDouble start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=@phpAddStrings,phpBackslashSequences,phpBackslashDoubleQuote,@phpInterpDouble,@Spell contained extend keepend - syn region phpBacktick matchgroup=phpBacktick start=+`+ skip=+\\\\\|\\"+ end=+`+ contains=@phpAddStrings,phpIdentifier,phpBackslashSequences,phpIdentifierSimply,phpIdentifierComplex contained extend keepend - syn region phpStringSingle matchgroup=phpStringSingle start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=@phpAddStrings,phpBackslashSingleQuote,@Spell contained keepend extend + syn region phpStringDouble matchgroup=phpStringDouble start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=@phpAddStrings,phpBackslashSequences,phpBackslashDoubleQuote,@phpInterpDouble,@Spell contained extend keepend + syn region phpBacktick matchgroup=phpBacktick start=+`+ skip=+\\\\\|\\"+ end=+`+ contains=@phpAddStrings,phpIdentifier,phpBackslashSequences,phpIdentifierSimply,phpIdentifierComplex contained extend keepend + syn region phpStringSingle matchgroup=phpStringSingle start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=@phpAddStrings,phpBackslashSingleQuote,@Spell contained keepend extend endif " HereDoc and NowDoc syn case match " HereDoc -syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@<=\(\"\=\)\z(\I\i*\)\2$" end="^\z1\(;\=$\)\@=" contained contains=phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpBackslashSequences,phpMethodsVar,@Spell keepend extend +syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@<=\(\"\=\)\z(\I\i*\)\2$" end="^\z1\(;\=$\)\@=" contained contains=phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpBackslashSequences,phpMethodsVar,@Spell keepend extend " including HTML,JavaScript,SQL even if not enabled via options -syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@<=\(\"\=\)\z(\(\I\i*\)\=\(html\)\c\(\i*\)\)\2$" end="^\z1\(;\=$\)\@=" contained contains=@htmlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpBackslashSequences,phpMethodsVar,@Spell keepend extend -syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@<=\(\"\=\)\z(\(\I\i*\)\=\(sql\)\c\(\i*\)\)\2$" end="^\z1\(;\=$\)\@=" contained contains=@sqlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpBackslashSequences,phpMethodsVar,@Spell keepend extend -syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@<=\(\"\=\)\z(\(\I\i*\)\=\(javascript\)\c\(\i*\)\)\2$" end="^\z1\(;\=$\)\@=" contained contains=@htmlJavascript,phpIdentifierSimply,phpIdentifier,phpIdentifierComplex,phpBackslashSequences,phpMethodsVar,@Spell keepend extend +syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@<=\(\"\=\)\z(\(\I\i*\)\=\(html\)\c\(\i*\)\)\2$" end="^\z1\(;\=$\)\@=" contained contains=@htmlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpBackslashSequences,phpMethodsVar,@Spell keepend extend +syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@<=\(\"\=\)\z(\(\I\i*\)\=\(sql\)\c\(\i*\)\)\2$" end="^\z1\(;\=$\)\@=" contained contains=@sqlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpBackslashSequences,phpMethodsVar,@Spell keepend extend +syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@<=\(\"\=\)\z(\(\I\i*\)\=\(javascript\)\c\(\i*\)\)\2$" end="^\z1\(;\=$\)\@=" contained contains=@htmlJavascript,phpIdentifierSimply,phpIdentifier,phpIdentifierComplex,phpBackslashSequences,phpMethodsVar,@Spell keepend extend " NowDoc -syn region phpNowDoc matchgroup=Delimiter start="\(<<<\)\@<='\z(\I\i*\)'$" end="^\z1\(;\=$\)\@=" contained contains=@Spell keepend extend +syn region phpNowDoc matchgroup=Delimiter start="\(<<<\)\@<='\z(\I\i*\)'$" end="^\z1\(;\=$\)\@=" contained contains=@Spell keepend extend " including HTML,JavaScript,SQL even if not enabled via options -syn region phpNowDoc matchgroup=Delimiter start="\(<<<\)\@<='\z(\(\I\i*\)\=\(html\)\c\(\i*\)\)'$" end="^\z1\(;\=$\)\@=" contained contains=@htmlTop,@Spell keepend extend -syn region phpNowDoc matchgroup=Delimiter start="\(<<<\)\@<='\z(\(\I\i*\)\=\(sql\)\c\(\i*\)\)'$" end="^\z1\(;\=$\)\@=" contained contains=@sqlTop,@Spell keepend extend -syn region phpNowDoc matchgroup=Delimiter start="\(<<<\)\@<='\z(\(\I\i*\)\=\(javascript\)\c\(\i*\)\)'$" end="^\z1\(;\=$\)\@=" contained contains=@htmlJavascript,@Spell keepend extend +syn region phpNowDoc matchgroup=Delimiter start="\(<<<\)\@<='\z(\(\I\i*\)\=\(html\)\c\(\i*\)\)'$" end="^\z1\(;\=$\)\@=" contained contains=@htmlTop,@Spell keepend extend +syn region phpNowDoc matchgroup=Delimiter start="\(<<<\)\@<='\z(\(\I\i*\)\=\(sql\)\c\(\i*\)\)'$" end="^\z1\(;\=$\)\@=" contained contains=@sqlTop,@Spell keepend extend +syn region phpNowDoc matchgroup=Delimiter start="\(<<<\)\@<='\z(\(\I\i*\)\=\(javascript\)\c\(\i*\)\)'$" end="^\z1\(;\=$\)\@=" contained contains=@htmlJavascript,@Spell keepend extend syn case ignore " Parent if exists("php_parent_error_close") || exists("php_parent_error_open") - syn match phpParent "[{}]" contained - syn region phpParent matchgroup=Delimiter start="(" end=")" contained contains=@phpClInside transparent - syn region phpParent matchgroup=Delimiter start="\[" end="\]" contained contains=@phpClInside transparent + syn match phpParent "[{}]" contained + syn region phpParent matchgroup=Delimiter start="(" end=")" contained contains=@phpClInside transparent + syn region phpParent matchgroup=Delimiter start="\[" end="\]" contained contains=@phpClInside transparent if !exists("php_parent_error_close") syn match phpParent "[\])]" contained endif @@ -410,73 +405,67 @@ else syn match phpParent "[({[\]})]" contained endif -syn cluster phpClConst contains=phpFunctions,phpIdentifier,phpConditional,phpRepeat,phpStatement,phpOperator,phpRelation,phpStringSingle,phpStringDouble,phpBacktick,phpNumber,phpFloat,phpKeyword,phpType,phpBoolean,phpStructure,phpMethodsVar,phpConstant,phpCoreConstant,phpException +syn cluster phpClConst contains=phpFunctions,phpIdentifier,phpConditional,phpRepeat,phpStatement,phpOperator,phpRelation,phpStringSingle,phpStringDouble,phpBacktick,phpNumber,phpFloat,phpKeyword,phpType,phpBoolean,phpStructure,phpMethodsVar,phpConstant,phpCoreConstant,phpException syn cluster phpClInside contains=@phpClConst,phpComment,phpLabel,phpParent,phpParentError,phpInclude,phpHereDoc,phpNowDoc syn cluster phpClFunction contains=@phpClInside,phpDefine,phpParentError,phpStorageClass -syn cluster phpClTop contains=@phpClFunction,phpFoldFunction,phpFoldClass,phpFoldInterface,phpFoldTry,phpFoldCatch +syn cluster phpClTop contains=@phpClFunction,phpFoldFunction,phpFoldClass,phpFoldInterface,phpFoldTry,phpFoldCatch " Php Region if exists("php_parent_error_open") if exists("php_noShortTags") - syn region phpRegion matchgroup=Delimiter start="<?php" end="?>" contains=@phpClTop + syn region phpRegion matchgroup=Delimiter start="<?php" end="?>" contains=@phpClTop else - syn region phpRegion matchgroup=Delimiter start="<?\(php\)\=" end="?>" contains=@phpClTop + syn region phpRegion matchgroup=Delimiter start="<?\(php\)\=" end="?>" contains=@phpClTop endif - syn region phpRegionSc matchgroup=Delimiter start=+<script language="php">+ end=+</script>+ contains=@phpClTop + syn region phpRegionSc matchgroup=Delimiter start=+<script language="php">+ end=+</script>+ contains=@phpClTop if exists("php_asp_tags") - syn region phpRegionAsp matchgroup=Delimiter start="<%\(=\)\=" end="%>" contains=@phpClTop + syn region phpRegionAsp matchgroup=Delimiter start="<%\(=\)\=" end="%>" contains=@phpClTop endif else if exists("php_noShortTags") - syn region phpRegion matchgroup=Delimiter start="<?php" end="?>" contains=@phpClTop keepend + syn region phpRegion matchgroup=Delimiter start="<?php" end="?>" contains=@phpClTop keepend else - syn region phpRegion matchgroup=Delimiter start="<?\(php\)\=" end="?>" contains=@phpClTop keepend + syn region phpRegion matchgroup=Delimiter start="<?\(php\)\=" end="?>" contains=@phpClTop keepend endif - syn region phpRegionSc matchgroup=Delimiter start=+<script language="php">+ end=+</script>+ contains=@phpClTop keepend + syn region phpRegionSc matchgroup=Delimiter start=+<script language="php">+ end=+</script>+ contains=@phpClTop keepend if exists("php_asp_tags") - syn region phpRegionAsp matchgroup=Delimiter start="<%\(=\)\=" end="%>" contains=@phpClTop keepend + syn region phpRegionAsp matchgroup=Delimiter start="<%\(=\)\=" end="%>" contains=@phpClTop keepend endif endif " Fold if exists("php_folding") && php_folding==1 " match one line constructs here and skip them at folding - syn keyword phpSCKeyword abstract final private protected public static contained - syn keyword phpFCKeyword function contained - syn keyword phpStorageClass global contained - syn match phpDefine "\(\s\|^\)\(abstract\s\+\|final\s\+\|private\s\+\|protected\s\+\|public\s\+\|static\s\+\)*function\(\s\+.*[;}]\)\@=" contained contains=phpSCKeyword - syn match phpStructure "\(\s\|^\)\(abstract\s\+\|final\s\+\)*class\(\s\+.*}\)\@=" contained - syn match phpStructure "\(\s\|^\)interface\(\s\+.*}\)\@=" contained - syn match phpException "\(\s\|^\)try\(\s\+.*}\)\@=" contained - syn match phpException "\(\s\|^\)catch\(\s\+.*}\)\@=" contained - - set foldmethod=syntax - syn region phpFoldHtmlInside matchgroup=Delimiter start="?>" end="<?\(php\)\=" contained transparent contains=@htmlTop - syn region phpFoldFunction matchgroup=Storageclass start="^\z(\s*\)\(abstract\s\+\|final\s\+\|private\s\+\|protected\s\+\|public\s\+\|static\s\+\)*function\s\([^};]*$\)\@="rs=e-9 matchgroup=Delimiter end="^\z1}" contains=@phpClFunction,phpFoldHtmlInside,phpFCKeyword contained transparent fold extend - syn region phpFoldFunction matchgroup=Define start="^function\s\([^};]*$\)\@=" matchgroup=Delimiter end="^}" contains=@phpClFunction,phpFoldHtmlInside contained transparent fold extend - syn region phpFoldClass matchgroup=Structure start="^\z(\s*\)\(abstract\s\+\|final\s\+\)*class\s\+\([^}]*$\)\@=" matchgroup=Delimiter end="^\z1}" contains=@phpClFunction,phpFoldFunction,phpSCKeyword contained transparent fold extend - syn region phpFoldInterface matchgroup=Structure start="^\z(\s*\)interface\s\+\([^}]*$\)\@=" matchgroup=Delimiter end="^\z1}" contains=@phpClFunction,phpFoldFunction contained transparent fold extend - syn region phpFoldCatch matchgroup=Exception start="^\z(\s*\)catch\s\+\([^}]*$\)\@=" matchgroup=Delimiter end="^\z1}" contains=@phpClFunction,phpFoldFunction contained transparent fold extend - syn region phpFoldTry matchgroup=Exception start="^\z(\s*\)try\s\+\([^}]*$\)\@=" matchgroup=Delimiter end="^\z1}" contains=@phpClFunction,phpFoldFunction contained transparent fold extend -elseif exists("php_folding") && php_folding==2 - syn keyword phpDefine function contained - syn keyword phpStructure abstract class interface contained - syn keyword phpException catch throw try contained - syn keyword phpStorageClass final global private protected public static contained + syn keyword phpSCKeyword abstract final private protected public static contained + syn keyword phpFCKeyword function contained + syn keyword phpStorageClass global contained + syn match phpDefine "\(\s\|^\)\(abstract\s\+\|final\s\+\|private\s\+\|protected\s\+\|public\s\+\|static\s\+\)*function\(\s\+.*[;}]\)\@=" contained contains=phpSCKeyword + syn match phpStructure "\(\s\|^\)\(abstract\s\+\|final\s\+\)*\(trait\|class\)\(\s\+.*}\)\@=" contained + syn match phpStructure "\(\s\|^\)interface\(\s\+.*}\)\@=" contained + syn match phpException "\(\s\|^\)try\(\s\+.*}\)\@=" contained + syn match phpException "\(\s\|^\)catch\(\s\+.*}\)\@=" contained + syn match phpException "\(\s\|^\)finally\(\s\+.*}\)\@=" contained set foldmethod=syntax - syn region phpFoldHtmlInside matchgroup=Delimiter start="?>" end="<?\(php\)\=" contained transparent contains=@htmlTop - syn region phpParent matchgroup=Delimiter start="{" end="}" contained contains=@phpClFunction,phpFoldHtmlInside transparent fold + syn region phpFoldHtmlInside matchgroup=Delimiter start="?>" end="<?\(php\)\=" contained transparent contains=@htmlTop + syn region phpFoldFunction matchgroup=Storageclass start="^\z(\s*\)\(abstract\s\+\|final\s\+\|private\s\+\|protected\s\+\|public\s\+\|static\s\+\)*function\s\([^};]*$\)\@="rs=e-9 matchgroup=Delimiter end="^\z1}" contains=@phpClFunction,phpFoldHtmlInside,phpFCKeyword contained transparent fold extend + syn region phpFoldFunction matchgroup=Define start="^function\s\([^};]*$\)\@=" matchgroup=Delimiter end="^}" contains=@phpClFunction,phpFoldHtmlInside contained transparent fold extend + syn region phpFoldClass matchgroup=Structure start="^\z(\s*\)\(abstract\s\+\|final\s\+\)*\(trait\|class\)\s\+\([^}]*$\)\@=" matchgroup=Delimiter end="^\z1}" contains=@phpClFunction,phpFoldFunction,phpSCKeyword contained transparent fold extend + syn region phpFoldInterface matchgroup=Structure start="^\z(\s*\)interface\s\+\([^}]*$\)\@=" matchgroup=Delimiter end="^\z1}" contains=@phpClFunction,phpFoldFunction contained transparent fold extend + syn region phpFoldCatch matchgroup=Exception start="^\z(\s*\)catch\s\+\([^}]*$\)\@=" matchgroup=Delimiter end="^\z1}" contains=@phpClFunction,phpFoldFunction contained transparent fold extend + syn region phpFoldTry matchgroup=Exception start="^\z(\s*\)try\s\+\([^}]*$\)\@=" matchgroup=Delimiter end="^\z1}" contains=@phpClFunction,phpFoldFunction contained transparent fold extend else - syn keyword phpDefine function contained - syn keyword phpStructure abstract class interface contained - syn keyword phpException catch throw try contained - syn keyword phpStorageClass final global private protected public static contained + syn keyword phpDefine function contained + syn keyword phpStructure abstract class trait interface contained + syn keyword phpException catch throw try finally contained + syn keyword phpStorageClass final global private protected public static contained + if exists("php_folding") && php_folding==2 + set foldmethod=syntax + syn region phpFoldHtmlInside matchgroup=Delimiter start="?>" end="<?\(php\)\=" contained transparent contains=@htmlTop + syn region phpParent matchgroup=Delimiter start="{" end="}" contained contains=@phpClFunction,phpFoldHtmlInside transparent fold + endif endif -" TODO: fold on "trait". For now just make sure it gets colored: -syn keyword phpStructure trait - " ================================================================ " Peter Hodge - June 9, 2006 " Some of these changes (highlighting isset/unset/echo etc) are not so @@ -491,7 +480,7 @@ syntax keyword phpStatement die contained " Highlighting for PHP5's user-definable magic class methods syntax keyword phpSpecialFunction containedin=ALLBUT,phpComment,phpStringDouble,phpStringSingle,phpIdentifier - \ __construct __destruct __call __callStatic __get __set __isset __unset __sleep __wakeup __toString __invoke __set_state __clone __debugInfo + \ __construct __destruct __call __callStatic __get __set __isset __unset __sleep __wakeup __toString __invoke __set_state __clone __debugInfo " Highlighting for __autoload slightly different from line above syntax keyword phpSpecialFunction containedin=ALLBUT,phpComment,phpStringDouble,phpStringSingle,phpIdentifier,phpMethodsVar \ __autoload @@ -529,30 +518,30 @@ hi def link phpInterfaces phpConstant " option defaults: if ! exists('php_special_functions') - let php_special_functions = 1 + let php_special_functions = 1 endif if ! exists('php_alt_comparisons') - let php_alt_comparisons = 1 + let php_alt_comparisons = 1 endif if ! exists('php_alt_assignByReference') - let php_alt_assignByReference = 1 + let php_alt_assignByReference = 1 endif if php_special_functions - " Highlighting for PHP built-in functions which exhibit special behaviours - " - isset()/unset()/empty() are not real functions. - " - compact()/extract() directly manipulate variables in the local scope where - " regular functions would not be able to. - " - eval() is the token 'make_your_code_twice_as_complex()' function for PHP. - " - user_error()/trigger_error() can be overloaded by set_error_handler and also - " have the capacity to terminate your script when type is E_USER_ERROR. - syntax keyword phpSpecialFunction containedin=ALLBUT,phpComment,phpStringDouble,phpStringSingle + " Highlighting for PHP built-in functions which exhibit special behaviours + " - isset()/unset()/empty() are not real functions. + " - compact()/extract() directly manipulate variables in the local scope where + " regular functions would not be able to. + " - eval() is the token 'make_your_code_twice_as_complex()' function for PHP. + " - user_error()/trigger_error() can be overloaded by set_error_handler and also + " have the capacity to terminate your script when type is E_USER_ERROR. + syntax keyword phpSpecialFunction containedin=ALLBUT,phpComment,phpStringDouble,phpStringSingle \ user_error trigger_error isset unset eval extract compact empty endif if php_alt_assignByReference - " special highlighting for '=&' operator - syntax match phpAssignByRef /=\s*&/ containedin=ALLBUT,phpComment,phpStringDouble,phpStringSingle + " special highlighting for '=&' operator + syntax match phpAssignByRef /=\s*&/ containedin=ALLBUT,phpComment,phpStringDouble,phpStringSingle hi def link phpAssignByRef Type endif @@ -591,49 +580,49 @@ else exec "syn sync fromstart" endif -syntax match phpDocCustomTags "@[a-zA-Z]*\(\s\+\|\n\|\r\)" containedin=phpComment -syntax region phpDocTags start="{@\(example\|id\|internal\|inheritdoc\|link\|source\|toc\|tutorial\)" end="}" containedin=phpComment -syntax match phpDocTags "@\(abstract\|access\|author\|category\|copyright\|deprecated\|example\|final\|global\|ignore\|internal\|license\|link\|method\|name\|package\|param\|property\|return\|see\|since\|static\|staticvar\|subpackage\|tutorial\|uses\|var\|version\|contributor\|modified\|filename\|description\|filesource\|throws\)\(\s\+\)\?" containedin=phpComment -syntax match phpDocTodo "@\(todo\|fixme\|xxx\)\(\s\+\)\?" containedin=phpComment +syntax match phpDocCustomTags "@[a-zA-Z]*\(\s\+\|\n\|\r\)" containedin=phpComment +syntax region phpDocTags start="{@\(example\|id\|internal\|inheritdoc\|link\|source\|toc\|tutorial\)" end="}" containedin=phpComment +syntax match phpDocTags "@\(abstract\|access\|author\|category\|copyright\|deprecated\|example\|final\|global\|ignore\|internal\|license\|link\|method\|name\|package\|param\|property\|return\|see\|since\|static\|staticvar\|subpackage\|tutorial\|uses\|var\|version\|contributor\|modified\|filename\|description\|filesource\|throws\)\(\s\+\)\?" containedin=phpComment +syntax match phpDocTodo "@\(todo\|fixme\|xxx\)\(\s\+\)\?" containedin=phpComment " Define the default highlighting. " Only when an item doesn't have highlighting yet -hi def link phpConstant Constant -hi def link phpCoreConstant Constant +hi def link phpConstant Constant +hi def link phpCoreConstant Constant hi def link phpComment Comment hi def link phpDocTags PreProc hi def link phpDocCustomTags Type hi def link phpException Exception hi def link phpBoolean Boolean -hi def link phpStorageClass StorageClass +hi def link phpStorageClass StorageClass hi def link phpSCKeyword StorageClass hi def link phpFCKeyword Define hi def link phpStructure Structure -hi def link phpStringSingle String -hi def link phpStringDouble String -hi def link phpBacktick String -hi def link phpNumber Number +hi def link phpStringSingle String +hi def link phpStringDouble String +hi def link phpBacktick String +hi def link phpNumber Number hi def link phpFloat Float hi def link phpMethods Function hi def link phpFunctions Function hi def link phpBaselib Function -hi def link phpRepeat Repeat +hi def link phpRepeat Repeat hi def link phpConditional Conditional hi def link phpLabel Label hi def link phpStatement Statement hi def link phpKeyword Statement -hi def link phpType Type +hi def link phpType Type hi def link phpInclude Include -hi def link phpDefine Define +hi def link phpDefine Define hi def link phpBackslashSequences SpecialChar hi def link phpBackslashDoubleQuote SpecialChar hi def link phpBackslashSingleQuote SpecialChar -hi def link phpParent Delimiter -hi def link phpBrackets Delimiter +hi def link phpParent Delimiter +hi def link phpBrackets Delimiter hi def link phpIdentifierConst Delimiter hi def link phpParentError Error -hi def link phpOctalError Error +hi def link phpOctalError Error hi def link phpInterpSimpleError Error hi def link phpInterpBogusDollarCurley Error hi def link phpInterpDollarCurly1 Error @@ -641,9 +630,9 @@ hi def link phpInterpDollarCurly2 Error hi def link phpInterpSimpleBracketsInner String hi def link phpInterpSimpleCurly Delimiter hi def link phpInterpVarname Identifier -hi def link phpTodo Todo +hi def link phpTodo Todo hi def link phpDocTodo Todo -hi def link phpMemberSelector Structure +hi def link phpMemberSelector Structure if exists("php_oldStyle") hi def phpIntVar guifg=Red ctermfg=DarkRed hi def phpEnvVar guifg=Red ctermfg=DarkRed @@ -656,7 +645,7 @@ else hi def link phpIntVar Identifier hi def link phpEnvVar Identifier hi def link phpOperator Operator - hi def link phpVarSelector Operator + hi def link phpVarSelector Operator hi def link phpRelation Operator hi def link phpIdentifier Identifier hi def link phpIdentifierSimply Identifier diff --git a/runtime/syntax/pod.vim b/runtime/syntax/pod.vim index 7c65a8433f..604713260b 100644 --- a/runtime/syntax/pod.vim +++ b/runtime/syntax/pod.vim @@ -4,7 +4,7 @@ " Previously: Scott Bigham <dsb@killerbunnies.org> " Homepage: http://github.com/vim-perl/vim-perl " Bugs/requests: http://github.com/vim-perl/vim-perl/issues -" Last Change: 2013-07-21 +" Last Change: 2017-09-12 " To add embedded POD documentation highlighting to your syntax file, add " the commands: @@ -68,7 +68,7 @@ syn match podEscape2 "\d\+>"me=e-1 contained contains=@NoSpell hi def link podCommand Statement hi def link podCmdText String -hi def link podOverIndent Number +hi def link podOverIndent Number hi def link podForKeywd Identifier hi def link podFormat Identifier hi def link podVerbatimLine PreProc @@ -76,7 +76,6 @@ hi def link podSpecial Identifier hi def link podEscape String hi def link podEscape2 Number - if exists("perl_pod_spellcheck_headings") " Spell-check headings syn clear podCmdText diff --git a/runtime/syntax/r.vim b/runtime/syntax/r.vim index 30a5b23f84..45ff498b3b 100644 --- a/runtime/syntax/r.vim +++ b/runtime/syntax/r.vim @@ -5,10 +5,10 @@ " Tom Payne <tom@tompayne.org> " Contributor: Johannes Ranke <jranke@uni-bremen.de> " Homepage: https://github.com/jalvesaq/R-Vim-runtime -" Last Change: Thu Aug 25, 2016 08:52PM +" Last Change: Sat Apr 08, 2017 07:01PM " Filenames: *.R *.r *.Rhistory *.Rt " -" NOTE: The highlighting of R functions is defined in +" NOTE: The highlighting of R functions might be defined in " runtime files created by a filetype plugin, if installed. " " CONFIGURATION: @@ -18,7 +18,7 @@ " " ROxygen highlighting can be turned off by " -" let r_hl_roxygen = 0 +" let r_syntax_hl_roxygen = 0 " " Some lines of code were borrowed from Zhuojun Chen. @@ -26,13 +26,25 @@ if exists("b:current_syntax") finish endif -syn iskeyword @,48-57,_,. +if has("patch-7.4.1142") + syn iskeyword @,48-57,_,. +else + setlocal iskeyword=@,48-57,_,. +endif + +" The variables g:r_hl_roxygen and g:r_syn_minlines were renamed on April 8, 2017. +if exists("g:r_hl_roxygen") + let g:r_syntax_hl_roxygen = g:r_hl_roxygen +endif +if exists("g:r_syn_minlines") + let g:r_syntax_minlines = g:r_syn_minlines +endif if exists("g:r_syntax_folding") && g:r_syntax_folding setlocal foldmethod=syntax endif -if !exists("g:r_hl_roxygen") - let g:r_hl_roxygen = 1 +if !exists("g:r_syntax_hl_roxygen") + let g:r_syntax_hl_roxygen = 1 endif syn case match @@ -42,19 +54,106 @@ syn match rCommentTodo contained "\(BUG\|FIXME\|NOTE\|TODO\):" syn match rComment contains=@Spell,rCommentTodo,rOBlock "#.*" " Roxygen -if g:r_hl_roxygen - syn region rOBlock start="^\s*\n#\{1,2}' " start="\%^#\{1,2}' " end="^\(#\{1,2}'\)\@!" contains=rOTitle,rOKeyword,rOExamples,@Spell keepend - syn region rOTitle start="^\s*\n#\{1,2}' " start="\%^#\{1,2}' " end="^\(#\{1,2}'\s*$\)\@=" contained contains=rOCommentKey - syn match rOCommentKey "#\{1,2}'" containedin=rOTitle contained - - syn region rOExamples start="^#\{1,2}' @examples.*"rs=e+1,hs=e+1 end="^\(#\{1,2}' @.*\)\@=" end="^\(#\{1,2}'\)\@!" contained contains=rOKeyword - - syn match rOKeyword contained "@\(param\|return\|name\|rdname\|examples\|example\|include\|docType\)" - syn match rOKeyword contained "@\(S3method\|TODO\|aliases\|alias\|assignee\|author\|callGraphDepth\|callGraph\)" - syn match rOKeyword contained "@\(callGraphPrimitives\|concept\|exportClass\|exportMethod\|exportPattern\|export\|formals\)" - syn match rOKeyword contained "@\(format\|importClassesFrom\|importFrom\|importMethodsFrom\|import\|keywords\|useDynLib\)" - syn match rOKeyword contained "@\(method\|noRd\|note\|references\|seealso\|setClass\|slot\|source\|title\|usage\)" - syn match rOKeyword contained "@\(family\|template\|templateVar\|description\|details\|inheritParams\|field\)" +if g:r_syntax_hl_roxygen + " A roxygen block can start at the beginning of a file (first version) and + " after a blank line (second version). It ends when a line that does not + " contain a roxygen comment. In the following comments, any line containing + " a roxygen comment marker (one or two hash signs # followed by a single + " quote ' and preceded only by whitespace) is called a roxygen line. A + " roxygen line containing only a roxygen comment marker, optionally followed + " by whitespace is called an empty roxygen line. + + " First we match all roxygen blocks as containing only a title. In case an + " empty roxygen line ending the title or a tag is found, this will be + " overriden later by the definitions of rOBlock. + syn match rOTitleBlock "\%^\(\s*#\{1,2}' .*\n\)\{1,}" contains=rOCommentKey,rOTitleTag + syn match rOTitleBlock "^\s*\n\(\s*#\{1,2}' .*\n\)\{1,}" contains=rOCommentKey,rOTitleTag + + " When a roxygen block has a title and additional content, the title + " consists of one or more roxygen lines (as little as possible are matched), + " followed either by an empty roxygen line + syn region rOBlock start="\%^\(\s*#\{1,2}' .*\n\)\{-1,}\s*#\{1,2}'\s*$" end="^\s*\(#\{1,2}'\)\@!" contains=rOTitle,rOTag,rOExamples,@Spell keepend fold + syn region rOBlock start="^\s*\n\(\s*#\{1,2}' .*\n\)\{-1,}\s*#\{1,2}'\s*$" end="^\s*\(#\{1,2}'\)\@!" contains=rOTitle,rOTag,rOExamples,@Spell keepend fold + + " or by a roxygen tag (we match everything starting with @ but not @@ which is used as escape sequence for a literal @). + syn region rOBlock start="\%^\(\s*#\{1,2}' .*\n\)\{-}\s*#\{1,2}' @\(@\)\@!" end="^\s*\(#\{1,2}'\)\@!" contains=rOTitle,rOTag,rOExamples,@Spell keepend fold + syn region rOBlock start="^\s*\n\(\s*#\{1,2}' .*\n\)\{-}\s*#\{1,2}' @\(@\)\@!" end="^\s*\(#\{1,2}'\)\@!" contains=rOTitle,rOTag,rOExamples,@Spell keepend fold + + " If a block contains an @rdname, @describeIn tag, it may have paragraph breaks, but does not have a title + syn region rOBlockNoTitle start="\%^\(\s*#\{1,2}' .*\n\)\{-1,}\s*#\{1,2}'\s*\n\(\s*#\{1,2}'.*\n\)\{-}\s*#\{1,2}' @rdname" end="^\s*\(#\{1,2}'\)\@!" contains=rOTag,rOExamples,@Spell keepend fold + syn region rOBlockNoTitle start="^\s*\n\(\s*#\{1,2}' .*\n\)\{-1,}\s*#\{1,2}'\s*\n\(\s*#\{1,2}'.*\n\)\{-}\s*#\{1,2}' @rdname" end="^\s*\(#\{1,2}'\)\@!" contains=rOTag,rOExamples,@Spell keepend fold + syn region rOBlockNoTitle start="\%^\(\s*#\{1,2}' .*\n\)\{-1,}\s*#\{1,2}'\s*\n\(\s*#\{1,2}'.*\n\)\{-}\s*#\{1,2}' @describeIn" end="^\s*\(#\{1,2}'\)\@!" contains=rOTag,rOExamples,@Spell keepend fold + syn region rOBlockNoTitle start="^\s*\n\(\s*#\{1,2}' .*\n\)\{-1,}\s*#\{1,2}'\s*\n\(\s*#\{1,2}'.*\n\)\{-}\s*#\{1,2}' @describeIn" end="^\s*\(#\{1,2}'\)\@!" contains=rOTag,rOExamples,@Spell keepend fold + + " A title as part of a block is always at the beginning of the block, i.e. + " either at the start of a file or after a completely empty line. + syn match rOTitle "\%^\(\s*#\{1,2}' .*\n\)\{-1,}\s*#\{1,2}'\s*$" contained contains=rOCommentKey,rOTitleTag + syn match rOTitle "^\s*\n\(\s*#\{1,2}' .*\n\)\{-1,}\s*#\{1,2}'\s*$" contained contains=rOCommentKey,rOTitleTag + syn match rOTitleTag contained "@title" + + syn match rOCommentKey "#\{1,2}'" contained + syn region rOExamples start="^#\{1,2}' @examples.*"rs=e+1,hs=e+1 end="^\(#\{1,2}' @.*\)\@=" end="^\(#\{1,2}'\)\@!" contained contains=rOTag fold + + " rOTag list generated from the lists in + " https://github.com/klutometis/roxygen/R/rd.R and + " https://github.com/klutometis/roxygen/R/namespace.R + " using s/^ \([A-Za-z0-9]*\) = .*/ syn match rOTag contained "@\1"/ + " Plus we need the @include tag + + " rd.R + syn match rOTag contained "@aliases" + syn match rOTag contained "@author" + syn match rOTag contained "@backref" + syn match rOTag contained "@concept" + syn match rOTag contained "@describeIn" + syn match rOTag contained "@description" + syn match rOTag contained "@details" + syn match rOTag contained "@docType" + syn match rOTag contained "@encoding" + syn match rOTag contained "@evalRd" + syn match rOTag contained "@example" + syn match rOTag contained "@examples" + syn match rOTag contained "@family" + syn match rOTag contained "@field" + syn match rOTag contained "@format" + syn match rOTag contained "@inherit" + syn match rOTag contained "@inheritParams" + syn match rOTag contained "@inheritDotParams" + syn match rOTag contained "@inheritSection" + syn match rOTag contained "@keywords" + syn match rOTag contained "@method" + syn match rOTag contained "@name" + syn match rOTag contained "@md" + syn match rOTag contained "@noMd" + syn match rOTag contained "@noRd" + syn match rOTag contained "@note" + syn match rOTag contained "@param" + syn match rOTag contained "@rdname" + syn match rOTag contained "@rawRd" + syn match rOTag contained "@references" + syn match rOTag contained "@return" + syn match rOTag contained "@section" + syn match rOTag contained "@seealso" + syn match rOTag contained "@slot" + syn match rOTag contained "@source" + syn match rOTag contained "@template" + syn match rOTag contained "@templateVar" + syn match rOTag contained "@title" + syn match rOTag contained "@usage" + " namespace.R + syn match rOTag contained "@export" + syn match rOTag contained "@exportClass" + syn match rOTag contained "@exportMethod" + syn match rOTag contained "@exportPattern" + syn match rOTag contained "@import" + syn match rOTag contained "@importClassesFrom" + syn match rOTag contained "@importFrom" + syn match rOTag contained "@importMethodsFrom" + syn match rOTag contained "@rawNamespace" + syn match rOTag contained "@S3method" + syn match rOTag contained "@useDynLib" + " other + syn match rOTag contained "@include" endif @@ -168,12 +267,28 @@ syn match rBraceError "[)}]" contained syn match rCurlyError "[)\]]" contained syn match rParenError "[\]}]" contained -if !exists("g:R_hi_fun") - let g:R_hi_fun = 1 +" Use Nvim-R to highlight functions dynamically if it is installed +if !exists("g:r_syntax_fun_pattern") + let s:ff = split(substitute(globpath(&rtp, "R/functions.vim"), "functions.vim", "", "g"), "\n") + if len(s:ff) > 0 + let g:r_syntax_fun_pattern = 0 + else + let g:r_syntax_fun_pattern = 1 + endif endif -if g:R_hi_fun - " Nvim-R: - runtime R/functions.vim + +" Only use Nvim-R to highlight functions if they should not be highlighted +" according to a generic pattern +if g:r_syntax_fun_pattern == 1 + syn match rFunction '[0-9a-zA-Z_\.]\+\s*\ze(' +else + if !exists("g:R_hi_fun") + let g:R_hi_fun = 1 + endif + if g:R_hi_fun + " Nvim-R: + runtime R/functions.vim + endif endif syn match rDollar display contained "\$" @@ -205,8 +320,8 @@ if &filetype == "rhelp" syn match rhSection "\\dontrun\>" endif -if exists("r_syn_minlines") - exe "syn sync minlines=" . r_syn_minlines +if exists("r_syntax_minlines") + exe "syn sync minlines=" . r_syntax_minlines else syn sync minlines=40 endif @@ -243,15 +358,17 @@ hi def link rStatement Statement hi def link rString String hi def link rStrError Error hi def link rType Type -if g:r_hl_roxygen - hi def link rOKeyword Title - hi def link rOBlock Comment +if g:r_syntax_hl_roxygen + hi def link rOTitleTag Operator + hi def link rOTag Operator + hi def link rOTitleBlock Title + hi def link rOBlock Comment + hi def link rOBlockNoTitle Comment hi def link rOTitle Title hi def link rOCommentKey Comment hi def link rOExamples SpecialComment endif - let b:current_syntax="r" " vim: ts=8 sw=2 diff --git a/runtime/syntax/readline.vim b/runtime/syntax/readline.vim index 2ec0c8e60a..b50b9c60e5 100644 --- a/runtime/syntax/readline.vim +++ b/runtime/syntax/readline.vim @@ -1,7 +1,7 @@ " Vim syntax file " Language: readline(3) configuration file " Previous Maintainer: Nikolai Weibull <now@bitwi.se> -" Latest Revision: 2012-04-25 +" Latest Revision: 2017-06-25 " readline_has_bash - if defined add support for bash specific " settings/functions @@ -119,6 +119,7 @@ syn keyword readlineVariable contained \ nextgroup=readlineBoolean \ skipwhite \ bind-tty-special-chars + \ colored-stats \ completion-ignore-case \ completion-map-case \ convert-meta @@ -142,6 +143,7 @@ syn keyword readlineVariable contained \ revert-all-at-newline \ show-all-if-ambiguous \ show-all-if-unmodified + \ show-mode-in-prompt \ skip-completed-text \ visible-stats @@ -158,6 +160,7 @@ syn keyword readlineVariable contained \ completion-prefix-display-length \ completion-query-items \ history-size + \ keyseq-timeout syn keyword readlineVariable contained \ nextgroup=readlineEditingMode diff --git a/runtime/syntax/rmd.vim b/runtime/syntax/rmd.vim index 48fb5e079c..05435354ad 100644 --- a/runtime/syntax/rmd.vim +++ b/runtime/syntax/rmd.vim @@ -1,17 +1,26 @@ " markdown Text with R statements " Language: markdown with R code chunks " Homepage: https://github.com/jalvesaq/R-Vim-runtime -" Last Change: Tue Jun 28, 2016 10:09AM +" Last Change: Sat Jan 28, 2017 10:06PM " " CONFIGURATION: -" To highlight chunk headers as R code, put in your vimrc: +" To highlight chunk headers as R code, put in your vimrc (e.g. .config/nvim/init.vim): " let rmd_syn_hl_chunk = 1 +" +" For highlighting pandoc extensions to markdown like citations and TeX and +" many other advanced features like folding of markdown sections, it is +" recommended to install the vim-pandoc filetype plugin as well as the +" vim-pandoc-syntax filetype plugin from https://github.com/vim-pandoc. +" +" TODO: +" - Provide highlighting for rmarkdown parameters in yaml header if exists("b:current_syntax") finish endif -" load all of pandoc info +" load all of pandoc info, e.g. from +" https://github.com/vim-pandoc/vim-pandoc-syntax runtime syntax/pandoc.vim if exists("b:current_syntax") let rmdIsPandoc = 1 @@ -22,28 +31,54 @@ else if exists("b:current_syntax") unlet b:current_syntax endif -endif -" load all of the r syntax highlighting rules into @R -syntax include @R syntax/r.vim -if exists("b:current_syntax") - unlet b:current_syntax + " load all of the yaml syntax highlighting rules into @yaml + syntax include @yaml syntax/yaml.vim + if exists("b:current_syntax") + unlet b:current_syntax + endif + + " highlight yaml block commonly used for front matter + syntax region rmdYamlBlock matchgroup=rmdYamlBlockDelim start="^---" matchgroup=rmdYamlBlockDelim end="^---" contains=@yaml keepend fold endif -if exists("g:rmd_syn_hl_chunk") - " highlight R code inside chunk header - syntax match rmdChunkDelim "^[ \t]*```{r" contained - syntax match rmdChunkDelim "}$" contained +if !exists("g:rmd_syn_langs") + let g:rmd_syn_langs = ["r"] else - syntax match rmdChunkDelim "^[ \t]*```{r.*}$" contained + let s:hasr = 0 + for s:lng in g:rmd_syn_langs + if s:lng == "r" + let s:hasr = 1 + endif + endfor + if s:hasr == 0 + let g:rmd_syn_langs += ["r"] + endif endif -syntax match rmdChunkDelim "^[ \t]*```$" contained -syntax region rmdChunk start="^[ \t]*``` *{r.*}$" end="^[ \t]*```$" contains=@R,rmdChunkDelim keepend fold + +for s:lng in g:rmd_syn_langs + exe 'syntax include @' . toupper(s:lng) . ' syntax/'. s:lng . '.vim' + if exists("b:current_syntax") + unlet b:current_syntax + endif + exe 'syntax region rmd' . toupper(s:lng) . 'Chunk start="^[ \t]*``` *{\(' . s:lng . '\|r.*engine\s*=\s*["' . "']" . s:lng . "['" . '"]\).*}$" end="^[ \t]*```$" contains=@' . toupper(s:lng) . ',rmd' . toupper(s:lng) . 'ChunkDelim keepend fold' + + if exists("g:rmd_syn_hl_chunk") && s:lng == "r" + " highlight R code inside chunk header + syntax match rmdRChunkDelim "^[ \t]*```{r" contained + syntax match rmdRChunkDelim "}$" contained + else + exe 'syntax match rmd' . toupper(s:lng) . 'ChunkDelim "^[ \t]*```{\(' . s:lng . '\|r.*engine\s*=\s*["' . "']" . s:lng . "['" . '"]\).*}$" contained' + endif + exe 'syntax match rmd' . toupper(s:lng) . 'ChunkDelim "^[ \t]*```$" contained' +endfor + " also match and syntax highlight in-line R code -syntax match rmdEndInline "`" contained -syntax match rmdBeginInline "`r " contained -syntax region rmdrInline start="`r " end="`" contains=@R,rmdBeginInline,rmdEndInline keepend +syntax region rmdrInline matchgroup=rmdInlineDelim start="`r " end="`" contains=@R containedin=pandocLaTeXRegion,yamlFlowString keepend +" I was not able to highlight rmdrInline inside a pandocLaTeXCommand, although +" highlighting works within pandocLaTeXRegion and yamlFlowString. +syntax cluster texMathZoneGroup add=rmdrInline " match slidify special marker syntax match rmdSlidifySpecial "\*\*\*" @@ -56,8 +91,6 @@ if rmdIsPandoc == 0 if exists("b:current_syntax") unlet b:current_syntax endif - " Extend cluster - syn cluster texMathZoneGroup add=rmdrInline " Inline syntax match rmdLaTeXInlDelim "\$" syntax match rmdLaTeXInlDelim "\\\$" @@ -65,19 +98,24 @@ if rmdIsPandoc == 0 " Region syntax match rmdLaTeXRegDelim "\$\$" contained syntax match rmdLaTeXRegDelim "\$\$latex$" contained - syntax region rmdLaTeXRegion start="^\$\$" skip="\\\$" end="\$\$$" contains=@LaTeX,rmdLaTeXSt,rmdLaTeXRegDelim keepend - syntax region rmdLaTeXRegion2 start="^\\\[" end="\\\]" contains=@LaTeX,rmdLaTeXSt,rmdLaTeXRegDelim keepend + syntax match rmdLaTeXSt "\\[a-zA-Z]\+" + syntax region rmdLaTeXRegion start="^\$\$" skip="\\\$" end="\$\$$" contains=@LaTeX,rmdLaTeXRegDelim keepend + syntax region rmdLaTeXRegion2 start="^\\\[" end="\\\]" contains=@LaTeX,rmdLaTeXRegDelim keepend + hi def link rmdBlockQuote Comment hi def link rmdLaTeXSt Statement hi def link rmdLaTeXInlDelim Special hi def link rmdLaTeXRegDelim Special endif -syn sync match rmdSyncChunk grouphere rmdChunk "^[ \t]*``` *{r" +for s:lng in g:rmd_syn_langs + exe 'syn sync match rmd' . toupper(s:lng) . 'SyncChunk grouphere rmd' . toupper(s:lng) . 'Chunk /^[ \t]*``` *{\(' . s:lng . '\|r.*engine\s*=\s*["' . "']" . s:lng . "['" . '"]\)/' +endfor -hi def link rmdChunkDelim Special -hi def link rmdBeginInline Special -hi def link rmdEndInline Special -hi def link rmdBlockQuote Comment +hi def link rmdYamlBlockDelim Delim +for s:lng in g:rmd_syn_langs + exe 'hi def link rmd' . toupper(s:lng) . 'ChunkDelim Special' +endfor +hi def link rmdInlineDelim Special hi def link rmdSlidifySpecial Special let b:current_syntax = "rmd" diff --git a/runtime/syntax/rust.vim b/runtime/syntax/rust.vim new file mode 100644 index 0000000000..57343301e0 --- /dev/null +++ b/runtime/syntax/rust.vim @@ -0,0 +1,295 @@ +" Vim syntax file +" Language: Rust +" Maintainer: Patrick Walton <pcwalton@mozilla.com> +" Maintainer: Ben Blum <bblum@cs.cmu.edu> +" Maintainer: Chris Morgan <me@chrismorgan.info> +" Last Change: Feb 24, 2016 +" For bugs, patches and license go to https://github.com/rust-lang/rust.vim + +if version < 600 + syntax clear +elseif exists("b:current_syntax") + finish +endif + +" Syntax definitions {{{1 +" Basic keywords {{{2 +syn keyword rustConditional match if else +syn keyword rustRepeat for loop while +syn keyword rustTypedef type nextgroup=rustIdentifier skipwhite skipempty +syn keyword rustStructure struct enum nextgroup=rustIdentifier skipwhite skipempty +syn keyword rustUnion union nextgroup=rustIdentifier skipwhite skipempty contained +syn match rustUnionContextual /\<union\_s\+\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*/ transparent contains=rustUnion +syn keyword rustOperator as + +syn match rustAssert "\<assert\(\w\)*!" contained +syn match rustPanic "\<panic\(\w\)*!" contained +syn keyword rustKeyword break +syn keyword rustKeyword box nextgroup=rustBoxPlacement skipwhite skipempty +syn keyword rustKeyword continue +syn keyword rustKeyword extern nextgroup=rustExternCrate,rustObsoleteExternMod skipwhite skipempty +syn keyword rustKeyword fn nextgroup=rustFuncName skipwhite skipempty +syn keyword rustKeyword in impl let +syn keyword rustKeyword pub nextgroup=rustPubScope skipwhite skipempty +syn keyword rustKeyword return +syn keyword rustSuper super +syn keyword rustKeyword unsafe where +syn keyword rustKeyword use nextgroup=rustModPath skipwhite skipempty +" FIXME: Scoped impl's name is also fallen in this category +syn keyword rustKeyword mod trait nextgroup=rustIdentifier skipwhite skipempty +syn keyword rustStorage move mut ref static const +syn match rustDefault /\<default\ze\_s\+\(impl\|fn\|type\|const\)\>/ + +syn keyword rustInvalidBareKeyword crate + +syn keyword rustPubScopeCrate crate contained +syn match rustPubScopeDelim /[()]/ contained +syn match rustPubScope /([^()]*)/ contained contains=rustPubScopeDelim,rustPubScopeCrate,rustSuper,rustModPath,rustModPathSep,rustSelf transparent + +syn keyword rustExternCrate crate contained nextgroup=rustIdentifier,rustExternCrateString skipwhite skipempty +" This is to get the `bar` part of `extern crate "foo" as bar;` highlighting. +syn match rustExternCrateString /".*"\_s*as/ contained nextgroup=rustIdentifier skipwhite transparent skipempty contains=rustString,rustOperator +syn keyword rustObsoleteExternMod mod contained nextgroup=rustIdentifier skipwhite skipempty + +syn match rustIdentifier contains=rustIdentifierPrime "\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*" display contained +syn match rustFuncName "\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*" display contained + +syn region rustBoxPlacement matchgroup=rustBoxPlacementParens start="(" end=")" contains=TOP contained +" Ideally we'd have syntax rules set up to match arbitrary expressions. Since +" we don't, we'll just define temporary contained rules to handle balancing +" delimiters. +syn region rustBoxPlacementBalance start="(" end=")" containedin=rustBoxPlacement transparent +syn region rustBoxPlacementBalance start="\[" end="\]" containedin=rustBoxPlacement transparent +" {} are handled by rustFoldBraces + +syn region rustMacroRepeat matchgroup=rustMacroRepeatDelimiters start="$(" end=")" contains=TOP nextgroup=rustMacroRepeatCount +syn match rustMacroRepeatCount ".\?[*+]" contained +syn match rustMacroVariable "$\w\+" + +" Reserved (but not yet used) keywords {{{2 +syn keyword rustReservedKeyword alignof become do offsetof priv pure sizeof typeof unsized yield abstract virtual final override macro + +" Built-in types {{{2 +syn keyword rustType isize usize char bool u8 u16 u32 u64 u128 f32 +syn keyword rustType f64 i8 i16 i32 i64 i128 str Self + +" Things from the libstd v1 prelude (src/libstd/prelude/v1.rs) {{{2 +" This section is just straight transformation of the contents of the prelude, +" to make it easy to update. + +" Reexported core operators {{{3 +syn keyword rustTrait Copy Send Sized Sync +syn keyword rustTrait Drop Fn FnMut FnOnce + +" Reexported functions {{{3 +" There’s no point in highlighting these; when one writes drop( or drop::< it +" gets the same highlighting anyway, and if someone writes `let drop = …;` we +" don’t really want *that* drop to be highlighted. +"syn keyword rustFunction drop + +" Reexported types and traits {{{3 +syn keyword rustTrait Box +syn keyword rustTrait ToOwned +syn keyword rustTrait Clone +syn keyword rustTrait PartialEq PartialOrd Eq Ord +syn keyword rustTrait AsRef AsMut Into From +syn keyword rustTrait Default +syn keyword rustTrait Iterator Extend IntoIterator +syn keyword rustTrait DoubleEndedIterator ExactSizeIterator +syn keyword rustEnum Option +syn keyword rustEnumVariant Some None +syn keyword rustEnum Result +syn keyword rustEnumVariant Ok Err +syn keyword rustTrait SliceConcatExt +syn keyword rustTrait String ToString +syn keyword rustTrait Vec + +" Other syntax {{{2 +syn keyword rustSelf self +syn keyword rustBoolean true false + +" If foo::bar changes to foo.bar, change this ("::" to "\."). +" If foo::bar changes to Foo::bar, change this (first "\w" to "\u"). +syn match rustModPath "\w\(\w\)*::[^<]"he=e-3,me=e-3 +syn match rustModPathSep "::" + +syn match rustFuncCall "\w\(\w\)*("he=e-1,me=e-1 +syn match rustFuncCall "\w\(\w\)*::<"he=e-3,me=e-3 " foo::<T>(); + +" This is merely a convention; note also the use of [A-Z], restricting it to +" latin identifiers rather than the full Unicode uppercase. I have not used +" [:upper:] as it depends upon 'noignorecase' +"syn match rustCapsIdent display "[A-Z]\w\(\w\)*" + +syn match rustOperator display "\%(+\|-\|/\|*\|=\|\^\|&\||\|!\|>\|<\|%\)=\?" +" This one isn't *quite* right, as we could have binary-& with a reference +syn match rustSigil display /&\s\+[&~@*][^)= \t\r\n]/he=e-1,me=e-1 +syn match rustSigil display /[&~@*][^)= \t\r\n]/he=e-1,me=e-1 +" This isn't actually correct; a closure with no arguments can be `|| { }`. +" Last, because the & in && isn't a sigil +syn match rustOperator display "&&\|||" +" This is rustArrowCharacter rather than rustArrow for the sake of matchparen, +" so it skips the ->; see http://stackoverflow.com/a/30309949 for details. +syn match rustArrowCharacter display "->" +syn match rustQuestionMark display "?\([a-zA-Z]\+\)\@!" + +syn match rustMacro '\w\(\w\)*!' contains=rustAssert,rustPanic +syn match rustMacro '#\w\(\w\)*' contains=rustAssert,rustPanic + +syn match rustEscapeError display contained /\\./ +syn match rustEscape display contained /\\\([nrt0\\'"]\|x\x\{2}\)/ +syn match rustEscapeUnicode display contained /\\u{\x\{1,6}}/ +syn match rustStringContinuation display contained /\\\n\s*/ +syn region rustString start=+b"+ skip=+\\\\\|\\"+ end=+"+ contains=rustEscape,rustEscapeError,rustStringContinuation +syn region rustString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=rustEscape,rustEscapeUnicode,rustEscapeError,rustStringContinuation,@Spell +syn region rustString start='b\?r\z(#*\)"' end='"\z1' contains=@Spell + +syn region rustAttribute start="#!\?\[" end="\]" contains=rustString,rustDerive,rustCommentLine,rustCommentBlock,rustCommentLineDocError,rustCommentBlockDocError +syn region rustDerive start="derive(" end=")" contained contains=rustDeriveTrait +" This list comes from src/libsyntax/ext/deriving/mod.rs +" Some are deprecated (Encodable, Decodable) or to be removed after a new snapshot (Show). +syn keyword rustDeriveTrait contained Clone Hash RustcEncodable RustcDecodable Encodable Decodable PartialEq Eq PartialOrd Ord Rand Show Debug Default FromPrimitive Send Sync Copy + +" Number literals +syn match rustDecNumber display "\<[0-9][0-9_]*\%([iu]\%(size\|8\|16\|32\|64\|128\)\)\=" +syn match rustHexNumber display "\<0x[a-fA-F0-9_]\+\%([iu]\%(size\|8\|16\|32\|64\|128\)\)\=" +syn match rustOctNumber display "\<0o[0-7_]\+\%([iu]\%(size\|8\|16\|32\|64\|128\)\)\=" +syn match rustBinNumber display "\<0b[01_]\+\%([iu]\%(size\|8\|16\|32\|64\|128\)\)\=" + +" Special case for numbers of the form "1." which are float literals, unless followed by +" an identifier, which makes them integer literals with a method call or field access, +" or by another ".", which makes them integer literals followed by the ".." token. +" (This must go first so the others take precedence.) +syn match rustFloat display "\<[0-9][0-9_]*\.\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\|\.\)\@!" +" To mark a number as a normal float, it must have at least one of the three things integral values don't have: +" a decimal point and more numbers; an exponent; and a type suffix. +syn match rustFloat display "\<[0-9][0-9_]*\%(\.[0-9][0-9_]*\)\%([eE][+-]\=[0-9_]\+\)\=\(f32\|f64\)\=" +syn match rustFloat display "\<[0-9][0-9_]*\%(\.[0-9][0-9_]*\)\=\%([eE][+-]\=[0-9_]\+\)\(f32\|f64\)\=" +syn match rustFloat display "\<[0-9][0-9_]*\%(\.[0-9][0-9_]*\)\=\%([eE][+-]\=[0-9_]\+\)\=\(f32\|f64\)" + +" For the benefit of delimitMate +syn region rustLifetimeCandidate display start=/&'\%(\([^'\\]\|\\\(['nrt0\\\"]\|x\x\{2}\|u{\x\{1,6}}\)\)'\)\@!/ end=/[[:cntrl:][:space:][:punct:]]\@=\|$/ contains=rustSigil,rustLifetime +syn region rustGenericRegion display start=/<\%('\|[^[cntrl:][:space:][:punct:]]\)\@=')\S\@=/ end=/>/ contains=rustGenericLifetimeCandidate +syn region rustGenericLifetimeCandidate display start=/\%(<\|,\s*\)\@<='/ end=/[[:cntrl:][:space:][:punct:]]\@=\|$/ contains=rustSigil,rustLifetime + +"rustLifetime must appear before rustCharacter, or chars will get the lifetime highlighting +syn match rustLifetime display "\'\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*" +syn match rustLabel display "\'\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*:" +syn match rustCharacterInvalid display contained /b\?'\zs[\n\r\t']\ze'/ +" The groups negated here add up to 0-255 but nothing else (they do not seem to go beyond ASCII). +syn match rustCharacterInvalidUnicode display contained /b'\zs[^[:cntrl:][:graph:][:alnum:][:space:]]\ze'/ +syn match rustCharacter /b'\([^\\]\|\\\(.\|x\x\{2}\)\)'/ contains=rustEscape,rustEscapeError,rustCharacterInvalid,rustCharacterInvalidUnicode +syn match rustCharacter /'\([^\\]\|\\\(.\|x\x\{2}\|u{\x\{1,6}}\)\)'/ contains=rustEscape,rustEscapeUnicode,rustEscapeError,rustCharacterInvalid + +syn match rustShebang /\%^#![^[].*/ +syn region rustCommentLine start="//" end="$" contains=rustTodo,@Spell +syn region rustCommentLineDoc start="//\%(//\@!\|!\)" end="$" contains=rustTodo,@Spell +syn region rustCommentLineDocError start="//\%(//\@!\|!\)" end="$" contains=rustTodo,@Spell contained +syn region rustCommentBlock matchgroup=rustCommentBlock start="/\*\%(!\|\*[*/]\@!\)\@!" end="\*/" contains=rustTodo,rustCommentBlockNest,@Spell +syn region rustCommentBlockDoc matchgroup=rustCommentBlockDoc start="/\*\%(!\|\*[*/]\@!\)" end="\*/" contains=rustTodo,rustCommentBlockDocNest,@Spell +syn region rustCommentBlockDocError matchgroup=rustCommentBlockDocError start="/\*\%(!\|\*[*/]\@!\)" end="\*/" contains=rustTodo,rustCommentBlockDocNestError,@Spell contained +syn region rustCommentBlockNest matchgroup=rustCommentBlock start="/\*" end="\*/" contains=rustTodo,rustCommentBlockNest,@Spell contained transparent +syn region rustCommentBlockDocNest matchgroup=rustCommentBlockDoc start="/\*" end="\*/" contains=rustTodo,rustCommentBlockDocNest,@Spell contained transparent +syn region rustCommentBlockDocNestError matchgroup=rustCommentBlockDocError start="/\*" end="\*/" contains=rustTodo,rustCommentBlockDocNestError,@Spell contained transparent +" FIXME: this is a really ugly and not fully correct implementation. Most +" importantly, a case like ``/* */*`` should have the final ``*`` not being in +" a comment, but in practice at present it leaves comments open two levels +" deep. But as long as you stay away from that particular case, I *believe* +" the highlighting is correct. Due to the way Vim's syntax engine works +" (greedy for start matches, unlike Rust's tokeniser which is searching for +" the earliest-starting match, start or end), I believe this cannot be solved. +" Oh you who would fix it, don't bother with things like duplicating the Block +" rules and putting ``\*\@<!`` at the start of them; it makes it worse, as +" then you must deal with cases like ``/*/**/*/``. And don't try making it +" worse with ``\%(/\@<!\*\)\@<!``, either... + +syn keyword rustTodo contained TODO FIXME XXX NB NOTE + +" Folding rules {{{2 +" Trivial folding rules to begin with. +" FIXME: use the AST to make really good folding +syn region rustFoldBraces start="{" end="}" transparent fold + +" Default highlighting {{{1 +hi def link rustDecNumber rustNumber +hi def link rustHexNumber rustNumber +hi def link rustOctNumber rustNumber +hi def link rustBinNumber rustNumber +hi def link rustIdentifierPrime rustIdentifier +hi def link rustTrait rustType +hi def link rustDeriveTrait rustTrait + +hi def link rustMacroRepeatCount rustMacroRepeatDelimiters +hi def link rustMacroRepeatDelimiters Macro +hi def link rustMacroVariable Define +hi def link rustSigil StorageClass +hi def link rustEscape Special +hi def link rustEscapeUnicode rustEscape +hi def link rustEscapeError Error +hi def link rustStringContinuation Special +hi def link rustString String +hi def link rustCharacterInvalid Error +hi def link rustCharacterInvalidUnicode rustCharacterInvalid +hi def link rustCharacter Character +hi def link rustNumber Number +hi def link rustBoolean Boolean +hi def link rustEnum rustType +hi def link rustEnumVariant rustConstant +hi def link rustConstant Constant +hi def link rustSelf Constant +hi def link rustFloat Float +hi def link rustArrowCharacter rustOperator +hi def link rustOperator Operator +hi def link rustKeyword Keyword +hi def link rustTypedef Keyword " More precise is Typedef, but it doesn't feel right for Rust +hi def link rustStructure Keyword " More precise is Structure +hi def link rustUnion rustStructure +hi def link rustPubScopeDelim Delimiter +hi def link rustPubScopeCrate rustKeyword +hi def link rustSuper rustKeyword +hi def link rustReservedKeyword Error +hi def link rustRepeat Conditional +hi def link rustConditional Conditional +hi def link rustIdentifier Identifier +hi def link rustCapsIdent rustIdentifier +hi def link rustModPath Include +hi def link rustModPathSep Delimiter +hi def link rustFunction Function +hi def link rustFuncName Function +hi def link rustFuncCall Function +hi def link rustShebang Comment +hi def link rustCommentLine Comment +hi def link rustCommentLineDoc SpecialComment +hi def link rustCommentLineDocError Error +hi def link rustCommentBlock rustCommentLine +hi def link rustCommentBlockDoc rustCommentLineDoc +hi def link rustCommentBlockDocError Error +hi def link rustAssert PreCondit +hi def link rustPanic PreCondit +hi def link rustMacro Macro +hi def link rustType Type +hi def link rustTodo Todo +hi def link rustAttribute PreProc +hi def link rustDerive PreProc +hi def link rustDefault StorageClass +hi def link rustStorage StorageClass +hi def link rustObsoleteStorage Error +hi def link rustLifetime Special +hi def link rustLabel Label +hi def link rustInvalidBareKeyword Error +hi def link rustExternCrate rustKeyword +hi def link rustObsoleteExternMod Error +hi def link rustBoxPlacementParens Delimiter +hi def link rustQuestionMark Special + +" Other Suggestions: +" hi rustAttribute ctermfg=cyan +" hi rustDerive ctermfg=cyan +" hi rustAssert ctermfg=yellow +" hi rustPanic ctermfg=red +" hi rustMacro ctermfg=magenta + +syn sync minlines=200 +syn sync maxlines=500 + +let b:current_syntax = "rust" diff --git a/runtime/syntax/sas.vim b/runtime/syntax/sas.vim index 90d411dc8b..fad6066737 100644 --- a/runtime/syntax/sas.vim +++ b/runtime/syntax/sas.vim @@ -1,262 +1,259 @@ " Vim syntax file -" Language: SAS -" Maintainer: James Kidd <james.kidd@covance.com> -" Last Change: 2012 Apr 20 -" Corrected bug causing some keywords to appear as strings instead -" 18 Jul 2008 by Paulo Tanimoto <ptanimoto@gmail.com> -" Fixed comments with * taking multiple lines. -" Fixed highlighting of macro keywords. -" Added words to cases that didn't fit anywhere. -" 02 Jun 2003 -" Added highlighting for additional keywords and such; -" Attempted to match SAS default syntax colors; -" Changed syncing so it doesn't lose colors on large blocks; -" Much thanks to Bob Heckel for knowledgeable tweaking. -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish +" Language: SAS +" Maintainer: Zhen-Huan Hu <wildkeny@gmail.com> +" Original Maintainer: James Kidd <james.kidd@covance.com> +" Version: 3.0.0 +" Last Change: Aug 26, 2017 +" +" 2017 Mar 7 +" +" Upgrade version number to 3.0. Improvements include: +" - Improve sync speed +" - Largely enhance precision +" - Update keywords in the latest SAS (as of Mar 2017) +" - Add syntaxes for date/time constants +" - Add syntax for data lines +" - Add (back) syntax for TODO in comments +" +" 2017 Feb 9 +" +" Add syntax folding +" +" 2016 Oct 10 +" +" Add highlighting for functions +" +" 2016 Sep 14 +" +" Change the implementation of syntaxing +" macro function names so that macro parameters same +" as SAS keywords won't be highlighted +" (Thank Joug Raw for the suggestion) +" Add section highlighting: +" - Use /** and **/ to define a section +" - It functions the same as a comment but +" with different highlighting +" +" 2016 Jun 14 +" +" Major changes so upgrade version number to 2.0 +" Overhaul the entire script (again). Improvements include: +" - Higher precision +" - Faster synchronization +" - Separate color for control statements +" - Highlight hash and java objects +" - Highlight macro variables in double quoted strings +" - Update all syntaxes based on SAS 9.4 +" - Add complete SAS/GRAPH and SAS/STAT procedure syntaxes +" - Add Proc TEMPLATE and GTL syntaxes +" - Add complete DS2 syntaxes +" - Add basic IML syntaxes +" - Many other improvements and bug fixes +" Drop support for VIM version < 600 + +if version < 600 + syntax clear +elseif exists('b:current_syntax') + finish endif -syn case ignore - -syn region sasString start=+"+ skip=+\\\\\|\\"+ end=+"+ -syn region sasString start=+'+ skip=+\\\\\|\\"+ end=+'+ - -" Want region from 'cards;' to ';' to be captured (Bob Heckel) -syn region sasCards start="^\s*CARDS.*" end="^\s*;\s*$" -syn region sasCards start="^\s*DATALINES.*" end="^\s*;\s*$" - -syn match sasNumber "-\=\<\d*\.\=[0-9_]\>" - -" Block comment -syn region sasComment start="/\*" end="\*/" contains=sasTodo - -" Ignore misleading //JCL SYNTAX... (Bob Heckel) -syn region sasComment start="[^/][^/]/\*" end="\*/" contains=sasTodo - -" Previous code for comments was written by Bob Heckel -" Comments with * may take multiple lines (Paulo Tanimoto) -syn region sasComment start=";\s*\*"hs=s+1 end=";" contains=sasTodo - -" Comments with * starting after a semicolon (Paulo Tanimoto) -syn region sasComment start="^\s*\*" end=";" contains=sasTodo - -" This line defines macro variables in code. "hi def link" at end of file -" defines the color scheme. Begin region with ampersand and end with -" any non-word character offset by -1; put ampersand in the skip list -" just in case it is used to concatenate macro variable values. - -" Thanks to ronald höllwarth for this fix to an intra-versioning -" problem with this little feature - -syn region sasMacroVar start="&" skip="[_&]" end="\W"he=e-1 - - -" I dont think specific PROCs need to be listed if use this line (Bob Heckel). -syn match sasProc "^\s*PROC \w\+" -syn keyword sasStep RUN QUIT DATA - - -" Base SAS Procs - version 8.1 - -syn keyword sasConditional DO ELSE END IF THEN UNTIL WHILE - -syn keyword sasStatement ABORT ARRAY ATTRIB BY CALL CARDS CARDS4 CATNAME -syn keyword sasStatement CONTINUE DATALINES DATALINES4 DELETE DISPLAY -syn keyword sasStatement DM DROP ENDSAS ERROR FILE FILENAME FOOTNOTE -syn keyword sasStatement FORMAT GOTO INFILE INFORMAT INPUT KEEP -syn keyword sasStatement LABEL LEAVE LENGTH LIBNAME LINK LIST LOSTCARD -syn keyword sasStatement MERGE MISSING MODIFY OPTIONS OUTPUT PAGE -syn keyword sasStatement PUT REDIRECT REMOVE RENAME REPLACE RETAIN -syn keyword sasStatement RETURN SELECT SET SKIP STARTSAS STOP TITLE -syn keyword sasStatement UPDATE WAITSAS WHERE WINDOW X SYSTASK +let s:cpo_save = &cpo +set cpo&vim -" Keywords that are used in Proc SQL -" I left them as statements because SAS's enhanced editor highlights -" them the same as normal statements used in data steps (Jim Kidd) - -syn keyword sasStatement ADD AND ALTER AS CASCADE CHECK CREATE -syn keyword sasStatement DELETE DESCRIBE DISTINCT DROP FOREIGN -syn keyword sasStatement FROM GROUP HAVING INDEX INSERT INTO IN -syn keyword sasStatement KEY LIKE MESSAGE MODIFY MSGTYPE NOT -syn keyword sasStatement NULL ON OR ORDER PRIMARY REFERENCES -syn keyword sasStatement RESET RESTRICT SELECT SET TABLE -syn keyword sasStatement UNIQUE UPDATE VALIDATE VIEW WHERE - -" Match declarations have to appear one per line (Paulo Tanimoto) -syn match sasStatement "FOOTNOTE\d" -syn match sasStatement "TITLE\d" - -" Match declarations have to appear one per line (Paulo Tanimoto) -syn match sasMacro "%BQUOTE" -syn match sasMacro "%NRBQUOTE" -syn match sasMacro "%CMPRES" -syn match sasMacro "%QCMPRES" -syn match sasMacro "%COMPSTOR" -syn match sasMacro "%DATATYP" -syn match sasMacro "%DISPLAY" -syn match sasMacro "%DO" -syn match sasMacro "%ELSE" -syn match sasMacro "%END" -syn match sasMacro "%EVAL" -syn match sasMacro "%GLOBAL" -syn match sasMacro "%GOTO" -syn match sasMacro "%IF" -syn match sasMacro "%INDEX" -syn match sasMacro "%INPUT" -syn match sasMacro "%KEYDEF" -syn match sasMacro "%LABEL" -syn match sasMacro "%LEFT" -syn match sasMacro "%LENGTH" -syn match sasMacro "%LET" -syn match sasMacro "%LOCAL" -syn match sasMacro "%LOWCASE" -syn match sasMacro "%MACRO" -syn match sasMacro "%MEND" -syn match sasMacro "%NRBQUOTE" -syn match sasMacro "%NRQUOTE" -syn match sasMacro "%NRSTR" -syn match sasMacro "%PUT" -syn match sasMacro "%QCMPRES" -syn match sasMacro "%QLEFT" -syn match sasMacro "%QLOWCASE" -syn match sasMacro "%QSCAN" -syn match sasMacro "%QSUBSTR" -syn match sasMacro "%QSYSFUNC" -syn match sasMacro "%QTRIM" -syn match sasMacro "%QUOTE" -syn match sasMacro "%QUPCASE" -syn match sasMacro "%SCAN" -syn match sasMacro "%STR" -syn match sasMacro "%SUBSTR" -syn match sasMacro "%SUPERQ" -syn match sasMacro "%SYSCALL" -syn match sasMacro "%SYSEVALF" -syn match sasMacro "%SYSEXEC" -syn match sasMacro "%SYSFUNC" -syn match sasMacro "%SYSGET" -syn match sasMacro "%SYSLPUT" -syn match sasMacro "%SYSPROD" -syn match sasMacro "%SYSRC" -syn match sasMacro "%SYSRPUT" -syn match sasMacro "%THEN" -syn match sasMacro "%TO" -syn match sasMacro "%TRIM" -syn match sasMacro "%UNQUOTE" -syn match sasMacro "%UNTIL" -syn match sasMacro "%UPCASE" -syn match sasMacro "%VERIFY" -syn match sasMacro "%WHILE" -syn match sasMacro "%WINDOW" - -" SAS Functions - -syn keyword sasFunction ABS ADDR AIRY ARCOS ARSIN ATAN ATTRC ATTRN -syn keyword sasFunction BAND BETAINV BLSHIFT BNOT BOR BRSHIFT BXOR -syn keyword sasFunction BYTE CDF CEIL CEXIST CINV CLOSE CNONCT COLLATE -syn keyword sasFunction COMPBL COMPOUND COMPRESS COS COSH CSS CUROBS -syn keyword sasFunction CV DACCDB DACCDBSL DACCSL DACCSYD DACCTAB -syn keyword sasFunction DAIRY DATE DATEJUL DATEPART DATETIME DAY -syn keyword sasFunction DCLOSE DEPDB DEPDBSL DEPDBSL DEPSL DEPSL -syn keyword sasFunction DEPSYD DEPSYD DEPTAB DEPTAB DEQUOTE DHMS -syn keyword sasFunction DIF DIGAMMA DIM DINFO DNUM DOPEN DOPTNAME -syn keyword sasFunction DOPTNUM DREAD DROPNOTE DSNAME ERF ERFC EXIST -syn keyword sasFunction EXP FAPPEND FCLOSE FCOL FDELETE FETCH FETCHOBS -syn keyword sasFunction FEXIST FGET FILEEXIST FILENAME FILEREF FINFO -syn keyword sasFunction FINV FIPNAME FIPNAMEL FIPSTATE FLOOR FNONCT -syn keyword sasFunction FNOTE FOPEN FOPTNAME FOPTNUM FPOINT FPOS -syn keyword sasFunction FPUT FREAD FREWIND FRLEN FSEP FUZZ FWRITE -syn keyword sasFunction GAMINV GAMMA GETOPTION GETVARC GETVARN HBOUND -syn keyword sasFunction HMS HOSTHELP HOUR IBESSEL INDEX INDEXC -syn keyword sasFunction INDEXW INPUT INPUTC INPUTN INT INTCK INTNX -syn keyword sasFunction INTRR IRR JBESSEL JULDATE KURTOSIS LAG LBOUND -syn keyword sasFunction LEFT LENGTH LGAMMA LIBNAME LIBREF LOG LOG10 -syn keyword sasFunction LOG2 LOGPDF LOGPMF LOGSDF LOWCASE MAX MDY -syn keyword sasFunction MEAN MIN MINUTE MOD MONTH MOPEN MORT N -syn keyword sasFunction NETPV NMISS NORMAL NOTE NPV OPEN ORDINAL -syn keyword sasFunction PATHNAME PDF PEEK PEEKC PMF POINT POISSON POKE -syn keyword sasFunction PROBBETA PROBBNML PROBCHI PROBF PROBGAM -syn keyword sasFunction PROBHYPR PROBIT PROBNEGB PROBNORM PROBT PUT -syn keyword sasFunction PUTC PUTN QTR QUOTE RANBIN RANCAU RANEXP -syn keyword sasFunction RANGAM RANGE RANK RANNOR RANPOI RANTBL RANTRI -syn keyword sasFunction RANUNI REPEAT RESOLVE REVERSE REWIND RIGHT -syn keyword sasFunction ROUND SAVING SCAN SDF SECOND SIGN SIN SINH -syn keyword sasFunction SKEWNESS SOUNDEX SPEDIS SQRT STD STDERR STFIPS -syn keyword sasFunction STNAME STNAMEL SUBSTR SUM SYMGET SYSGET SYSMSG -syn keyword sasFunction SYSPROD SYSRC SYSTEM TAN TANH TIME TIMEPART -syn keyword sasFunction TINV TNONCT TODAY TRANSLATE TRANWRD TRIGAMMA -syn keyword sasFunction TRIM TRIMN TRUNC UNIFORM UPCASE USS VAR -syn keyword sasFunction VARFMT VARINFMT VARLABEL VARLEN VARNAME -syn keyword sasFunction VARNUM VARRAY VARRAYX VARTYPE VERIFY VFORMAT -syn keyword sasFunction VFORMATD VFORMATDX VFORMATN VFORMATNX VFORMATW -syn keyword sasFunction VFORMATWX VFORMATX VINARRAY VINARRAYX VINFORMAT -syn keyword sasFunction VINFORMATD VINFORMATDX VINFORMATN VINFORMATNX -syn keyword sasFunction VINFORMATW VINFORMATWX VINFORMATX VLABEL -syn keyword sasFunction VLABELX VLENGTH VLENGTHX VNAME VNAMEX VTYPE -syn keyword sasFunction VTYPEX WEEKDAY YEAR YYQ ZIPFIPS ZIPNAME ZIPNAMEL -syn keyword sasFunction ZIPSTATE - -" Handy settings for using vim with log files -syn keyword sasLogMsg NOTE -syn keyword sasWarnMsg WARNING -syn keyword sasErrMsg ERROR - -" Always contained in a comment (Bob Heckel) -syn keyword sasTodo TODO TBD FIXME contained - -" These don't fit anywhere else (Bob Heckel). -" Added others that were missing. -syn keyword sasUnderscore _ALL_ _AUTOMATIC_ _CHARACTER_ _INFILE_ _N_ _NAME_ _NULL_ _NUMERIC_ _USER_ _WEBOUT_ - -" End of SAS Functions - -" Define the default highlighting. -" Only when an item doesn't have highlighting yet - - -" Default sas enhanced editor color syntax -hi sComment term=bold cterm=NONE ctermfg=Green ctermbg=Black gui=NONE guifg=DarkGreen guibg=White -hi sCard term=bold cterm=NONE ctermfg=Black ctermbg=Yellow gui=NONE guifg=Black guibg=LightYellow -hi sDate_Time term=NONE cterm=bold ctermfg=Green ctermbg=Black gui=bold guifg=SeaGreen guibg=White -hi sKeyword term=NONE cterm=NONE ctermfg=Blue ctermbg=Black gui=NONE guifg=Blue guibg=White -hi sFmtInfmt term=NONE cterm=NONE ctermfg=LightGreen ctermbg=Black gui=NONE guifg=SeaGreen guibg=White -hi sString term=NONE cterm=NONE ctermfg=Magenta ctermbg=Black gui=NONE guifg=Purple guibg=White -hi sText term=NONE cterm=NONE ctermfg=White ctermbg=Black gui=bold guifg=Black guibg=White -hi sNumber term=NONE cterm=bold ctermfg=Green ctermbg=Black gui=bold guifg=SeaGreen guibg=White -hi sProc term=NONE cterm=bold ctermfg=Blue ctermbg=Black gui=bold guifg=Navy guibg=White -hi sSection term=NONE cterm=bold ctermfg=Blue ctermbg=Black gui=bold guifg=Navy guibg=White -hi mDefine term=NONE cterm=bold ctermfg=White ctermbg=Black gui=bold guifg=Black guibg=White -hi mKeyword term=NONE cterm=NONE ctermfg=Blue ctermbg=Black gui=NONE guifg=Blue guibg=White -hi mReference term=NONE cterm=bold ctermfg=White ctermbg=Black gui=bold guifg=Blue guibg=White -hi mSection term=NONE cterm=NONE ctermfg=Blue ctermbg=Black gui=bold guifg=Navy guibg=White -hi mText term=NONE cterm=NONE ctermfg=White ctermbg=Black gui=bold guifg=Black guibg=White - -" Colors that closely match SAS log colors for default color scheme -hi lError term=NONE cterm=NONE ctermfg=Red ctermbg=Black gui=none guifg=Red guibg=White -hi lWarning term=NONE cterm=NONE ctermfg=Green ctermbg=Black gui=none guifg=Green guibg=White -hi lNote term=NONE cterm=NONE ctermfg=Cyan ctermbg=Black gui=none guifg=Blue guibg=White - - -" Special hilighting for the SAS proc section +syn case ignore -hi def link sasComment sComment -hi def link sasConditional sKeyword -hi def link sasStep sSection -hi def link sasFunction sKeyword -hi def link sasMacro mKeyword -hi def link sasMacroVar NonText -hi def link sasNumber sNumber -hi def link sasStatement sKeyword -hi def link sasString sString -hi def link sasProc sProc -" (Bob Heckel) -hi def link sasTodo Todo -hi def link sasErrMsg lError -hi def link sasWarnMsg lWarning -hi def link sasLogMsg lNote -hi def link sasCards sCard -" (Bob Heckel) -hi def link sasUnderscore PreProc +" Basic SAS syntaxes +syn keyword sasOperator and eq ge gt in le lt ne not of or +syn keyword sasReserved _all_ _automatic_ _char_ _character_ _data_ _infile_ _last_ _n_ _name_ _null_ _num_ _numeric_ _temporary_ _user_ _webout_ +" Strings +syn region sasString start=+'+ skip=+''+ end=+'+ contains=@Spell +syn region sasString start=+"+ skip=+""+ end=+"+ contains=sasMacroVariable,@Spell +" Constants +syn match sasNumber /\v<\d+%(\.\d+)=%(>|e[\-+]=\d+>)/ display +syn match sasDateTime /\v(['"])\d{2}%(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)\d{2}%(\d{2})=:\d{2}:\d{2}%(:\d{2})=%(am|pm)\1dt>/ display +syn match sasDateTime /\v(['"])\d{2}%(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)\d{2}%(\d{2})=\1d>/ display +syn match sasDateTime /\v(['"])\d{2}:\d{2}%(:\d{2})=%(am|pm)\1t>/ display +" Comments +syn keyword sasTodo todo tbd fixme contained +syn region sasComment start='/\*' end='\*/' contains=sasTodo +syn region sasComment start='\v%(^|;)\s*\zs\%=\*' end=';'me=s-1 contains=sasTodo +syn region sasSectLbl matchgroup=sasSectLblEnds start='/\*\*\s*' end='\s*\*\*/' concealends +" Macros +syn match sasMacroVariable '\v\&+\w+%(\.\w+)=' display +syn match sasMacroReserved '\v\%%(abort|by|copy|display|do|else|end|global|goto|if|include|input|let|list|local|macro|mend|put|return|run|symdel|syscall|sysexec|syslput|sysrput|then|to|until|window|while)>' display +syn region sasMacroFunction matchgroup=sasMacroFunctionName start='\v\%\w+\ze\(' end=')'he=s-1 contains=@sasBasicSyntax,sasMacroFunction +syn region sasMacroFunction matchgroup=sasMacroFunctionName start='\v\%q=sysfunc\ze\(' end=')'he=s-1 contains=@sasBasicSyntax,sasMacroFunction,sasDataStepFunction +" Syntax cluster for basic SAS syntaxes +syn cluster sasBasicSyntax contains=sasOperator,sasReserved,sasNumber,sasDateTime,sasString,sasComment,sasMacroReserved,sasMacroFunction,sasMacroVariable,sasSectLbl + +" Formats +syn match sasFormat '\v\$\w+\.' display contained +syn match sasFormat '\v<\w+\.%(\d+>)=' display contained +syn region sasFormatContext start='.' end=';'me=s-1 contained contains=@sasBasicSyntax,sasFormat + +" Define global statements that can be accessed out of data step or procedures +syn keyword sasGlobalStatementKeyword catname dm endsas filename footnote footnote1 footnote2 footnote3 footnote4 footnote5 footnote6 footnote7 footnote8 footnote9 footnote10 missing libname lock ods options page quit resetline run sasfile skip sysecho title title1 title2 title3 title4 title5 title6 title7 title8 title9 title10 contained +syn keyword sasGlobalStatementODSKeyword chtml csvall docbook document escapechar epub epub2 epub3 exclude excel graphics html html3 html5 htmlcss imode listing markup output package path pcl pdf preferences phtml powerpoint printer proclabel proctitle ps results rtf select show tagsets trace usegopt verify wml contained +syn match sasGlobalStatement '\v%(^|;)\s*\zs\h\w*>' display transparent contains=sasGlobalStatementKeyword +syn match sasGlobalStatement '\v%(^|;)\s*\zsods>' display transparent contains=sasGlobalStatementKeyword nextgroup=sasGlobalStatementODSKeyword skipwhite skipnl skipempty + +" Data step statements, 9.4 +syn keyword sasDataStepFunctionName abs addr addrlong airy allcomb allperm anyalnum anyalpha anycntrl anydigit anyfirst anygraph anylower anyname anyprint anypunct anyspace anyupper anyxdigit arcos arcosh arsin arsinh artanh atan atan2 attrc attrn band beta betainv blackclprc blackptprc blkshclprc blkshptprc blshift bnot bor brshift bxor byte cat catq cats catt catx cdf ceil ceilz cexist char choosec choosen cinv close cmiss cnonct coalesce coalescec collate comb compare compbl compfuzz compged complev compound compress constant convx convxp cos cosh cot count countc countw csc css cumipmt cumprinc curobs cv daccdb daccdbsl daccsl daccsyd dacctab dairy datdif date datejul datepart datetime day dclose dcreate depdb depdbsl depsl depsyd deptab dequote deviance dhms dif digamma dim dinfo divide dnum dopen doptname doptnum dosubl dread dropnote dsname dsncatlgd dur durp effrate envlen erf erfc euclid exist exp fact fappend fclose fcol fcopy fdelete fetch fetchobs fexist fget fileexist filename fileref finance find findc findw finfo finv fipname fipnamel fipstate first floor floorz fmtinfo fnonct fnote fopen foptname foptnum fpoint fpos fput fread frewind frlen fsep fuzz fwrite gaminv gamma garkhclprc garkhptprc gcd geodist geomean geomeanz getoption getvarc getvarn graycode harmean harmeanz hbound hms holiday holidayck holidaycount holidayname holidaynx holidayny holidaytest hour htmldecode htmlencode ibessel ifc ifn index indexc indexw input inputc inputn int intcindex intck intcycle intfit intfmt intget intindex intnx intrr intseas intshift inttest intz iorcmsg ipmt iqr irr jbessel juldate juldate7 kurtosis lag largest lbound lcm lcomb left length lengthc lengthm lengthn lexcomb lexcombi lexperk lexperm lfact lgamma libname libref log log1px log10 log2 logbeta logcdf logistic logpdf logsdf lowcase lperm lpnorm mad margrclprc margrptprc max md5 mdy mean median min minute missing mod modexist module modulec modulen modz month mopen mort msplint mvalid contained +syn keyword sasDataStepFunctionName n netpv nliteral nmiss nomrate normal notalnum notalpha notcntrl notdigit note notfirst notgraph notlower notname notprint notpunct notspace notupper notxdigit npv nvalid nwkdom open ordinal pathname pctl pdf peek peekc peekclong peeklong perm pmt point poisson ppmt probbeta probbnml probbnrm probchi probf probgam probhypr probit probmc probnegb probnorm probt propcase prxchange prxmatch prxparen prxparse prxposn ptrlongadd put putc putn pvp qtr quantile quote ranbin rancau rand ranexp rangam range rank rannor ranpoi rantbl rantri ranuni rename repeat resolve reverse rewind right rms round rounde roundz saving savings scan sdf sec second sha256 sha256hex sha256hmachex sign sin sinh skewness sleep smallest soapweb soapwebmeta soapwipservice soapwipsrs soapws soapwsmeta soundex spedis sqrt squantile std stderr stfips stname stnamel strip subpad substr substrn sum sumabs symexist symget symglobl symlocal sysexist sysget sysmsg sysparm sysprocessid sysprocessname sysprod sysrc system tan tanh time timepart timevalue tinv tnonct today translate transtrn tranwrd trigamma trim trimn trunc tso typeof tzoneid tzonename tzoneoff tzones2u tzoneu2s uniform upcase urldecode urlencode uss uuidgen var varfmt varinfmt varlabel varlen varname varnum varray varrayx vartype verify vformat vformatd vformatdx vformatn vformatnx vformatw vformatwx vformatx vinarray vinarrayx vinformat vinformatd vinformatdx vinformatn vinformatnx vinformatw vinformatwx vinformatx vlabel vlabelx vlength vlengthx vname vnamex vtype vtypex vvalue vvaluex week weekday whichc whichn wto year yieldp yrdif yyq zipcity zipcitydistance zipfips zipname zipnamel zipstate contained +syn keyword sasDataStepCallRoutineName allcomb allcombi allperm cats catt catx compcost execute graycode is8601_convert label lexcomb lexcombi lexperk lexperm logistic missing module poke pokelong prxchange prxdebug prxfree prxnext prxposn prxsubstr ranbin rancau rancomb ranexp rangam rannor ranperk ranperm ranpoi rantbl rantri ranuni scan set sleep softmax sortc sortn stdize streaminit symput symputx system tanh tso vname vnext wto contained +syn region sasDataStepFunctionContext start='(' end=')' contained contains=@sasBasicSyntax,sasDataStepFunction +syn region sasDataStepFunctionFormatContext start='(' end=')' contained contains=@sasBasicSyntax,sasDataStepFunction,sasFormat +syn match sasDataStepFunction '\v<\w+\ze\(' contained contains=sasDataStepFunctionName,sasDataStepCallRoutineName nextgroup=sasDataStepFunctionContext +syn match sasDataStepFunction '\v%(input|put)\ze\(' contained contains=sasDataStepFunctionName nextgroup=sasDataStepFunctionFormatContext +syn keyword sasDataStepHashMethodName add check clear definedata definedone definekey delete do_over equals find find_next find_prev first has_next has_prev last next output prev ref remove removedup replace replacedup reset_dup setcur sum sumdup contained +syn region sasDataStepHashMethodContext start='(' end=')' contained contains=@sasBasicSyntax,sasDataStepFunction +syn match sasDataStepHashMethod '\v\.\w+\ze\(' contained contains=sasDataStepHashMethodName nextgroup=sasDataStepHashMethodContext +syn keyword sasDataStepHashAttributeName item_size num_items contained +syn match sasDataStepHashAttribute '\v\.\w+>\ze\_[^(]' display contained contains=sasDataStepHashAttributeName +syn keyword sasDataStepControl continue do end go goto if leave link otherwise over return select to until when while contained +syn keyword sasDataStepControl else then contained nextgroup=sasDataStepStatementKeyword skipwhite skipnl skipempty +syn keyword sasDataStepHashOperator _new_ contained +syn keyword sasDataStepStatementKeyword abort array attrib by call cards cards4 datalines datalines4 dcl declare delete describe display drop error execute file format infile informat input keep label length lines lines4 list lostcard merge modify output put putlog redirect remove rename replace retain set stop update where window contained +syn keyword sasDataStepStatementHashKeyword hash hiter javaobj contained +syn match sasDataStepStatement '\v%(^|;)\s*\zs\h\w*>' display contained contains=sasDataStepStatementKeyword,sasGlobalStatementKeyword +syn match sasDataStepStatement '\v%(^|;)\s*\zs%(dcl|declare)>' display contained contains=sasDataStepStatementKeyword nextgroup=sasDataStepStatementHashKeyword skipwhite skipnl skipempty +syn match sasDataStepStatement '\v%(^|;)\s*\zsods>' display contained contains=sasGlobalStatementKeyword nextgroup=sasGlobalStatementODSKeyword skipwhite skipnl skipempty +syn match sasDataStepStatement '\v%(^|;)\s*\zs%(format|informat|input|put)>' display contained contains=sasDataStepStatementKeyword nextgroup=sasFormatContext skipwhite skipnl skipempty +syn match sasDataStepStatement '\v%(^|;)\s*\zs%(cards|datalines|lines)4=\s*;' display contained contains=sasDataStepStatementKeyword nextgroup=sasDataLine skipwhite skipnl skipempty +syn region sasDataLine start='^' end='^\s*;'me=s-1 contained +syn region sasDataStep matchgroup=sasSectionKeyword start='\v%(^|;)\s*\zsdata>' end='\v%(^|;)\s*%(run|data|proc|endsas)>'me=s-1 fold contains=@sasBasicSyntax,@sasDataStepSyntax +syn cluster sasDataStepSyntax contains=sasDataStepFunction,sasDataStepHashOperator,sasDataStepHashAttribute,sasDataStepHashMethod,sasDataStepControl,sasDataStepStatement + +" Procedures, base SAS, 9.4 +syn keyword sasProcStatementKeyword abort age append array attrib audit block break by calid cdfplot change checkbox class classlev column compute contents copy create datarow dbencoding define delete deletefunc deletesubr delimiter device dialog dur endcomp exact exchange exclude explore fin fmtlib fontfile fontpath format formats freq function getnames guessingrows hbar hdfs histogram holidur holifin holistart holivar id idlabel informat inset invalue item key keylabel keyword label line link listfunc listsubr mapmiss mapreduce mean menu messages meta modify opentype outargs outdur outfin output outstart pageby partial picture pie pig plot ppplot printer probplot profile prompter qqplot radiobox ranks rbreak rbutton rebuild record remove rename repair report roptions save select selection separator source star start statistics struct submenu subroutine sum sumby table tables test text trantab truetype type1 types value var vbar ways weight where with write contained +syn match sasProcStatement '\v%(^|;)\s*\zs\h\w*>' display contained contains=sasProcStatementKeyword,sasGlobalStatementKeyword +syn match sasProcStatement '\v%(^|;)\s*\zsods>' display contained contains=sasGlobalStatementKeyword nextgroup=sasGlobalStatementODSKeyword skipwhite skipnl skipempty +syn match sasProcStatement '\v%(^|;)\s*\zs%(format|informat)>' display contained contains=sasProcStatementKeyword nextgroup=sasFormatContext skipwhite skipnl skipempty +syn region sasProc matchgroup=sasSectionKeyword start='\v%(^|;)\s*\zsproc%(\s+\h\w*)=>' end='\v%(^|;)\s*%(run|data|proc|endsas)>'me=s-1 fold contains=@sasBasicSyntax,sasDataStepFunction,sasProcStatement +syn region sasProc matchgroup=sasSectionKeyword start='\v%(^|;)\s*\zsproc\s+%(catalog|chart|datasets|document|plot)>' end='\v%(^|;)\s*%(quit|data|proc|endsas)>'me=s-1 fold contains=@sasBasicSyntax,sasDataStepFunction,sasProcStatement + +" Procedures, SAS/GRAPH, 9.4 +syn keyword sasGraphProcStatementKeyword add area axis bar block bubble2 byline cc ccopy cdef cdelete chart cmap choro copy delete device dial donut exclude flow format fs goptions gout grid group hbar hbar3d hbullet hslider htrafficlight id igout label legend list modify move nobyline note pattern pie pie3d plot plot2 preview prism quit rename replay select scatter speedometer star surface symbol tc tcopy tdef tdelete template tile toggle treplay vbar vbar3d vtrafficlight vbullet vslider where contained +syn match sasGraphProcStatement '\v%(^|;)\s*\zs\h\w*>' display contained contains=sasGraphProcStatementKeyword,sasGlobalStatementKeyword +syn match sasGraphProcStatement '\v%(^|;)\s*\zsformat>' display contained contains=sasGraphProcStatementKeyword nextgroup=sasFormatContext skipwhite skipnl skipempty +syn region sasGraphProc matchgroup=sasSectionKeyword start='\v%(^|;)\s*\zsproc\s+%(g3d|g3grid|ganno|gcontour|gdevice|geocode|gfont|ginside|goptions|gproject|greduce|gremove|mapimport)>' end='\v%(^|;)\s*%(run|data|proc|endsas)>'me=s-1 fold contains=@sasBasicSyntax,sasDataStepFunction,sasGraphProcStatement +syn region sasGraphProc matchgroup=sasSectionKeyword start='\v%(^|;)\s*\zsproc\s+%(gareabar|gbarline|gchart|gkpi|gmap|gplot|gradar|greplay|gslide|gtile)>' end='\v%(^|;)\s*%(quit|data|proc|endsas)>'me=s-1 fold contains=@sasBasicSyntax,sasDataStepFunction,sasGraphProcStatement + +" Procedures, SAS/STAT, 14.1 +syn keyword sasAnalyticalProcStatementKeyword absorb add array assess baseline bayes beginnodata bivar bootstrap bounds by cdfplot cells class cluster code compute condition contrast control coordinates copy cosan cov covtest coxreg der design determ deviance direct directions domain effect effectplot effpart em endnodata equality estimate exact exactoptions factor factors fcs filter fitindex format freq fwdlink gender grid group grow hazardratio height hyperprior id impjoint inset insetgroup invar invlink ippplot lincon lineqs lismod lmtests location logistic loglin lpredplot lsmeans lsmestimate manova matings matrix mcmc mean means missmodel mnar model modelaverage modeleffects monotone mstruct mtest multreg name nlincon nloptions oddsratio onecorr onesamplefreq onesamplemeans onewayanova outfiles output paired pairedfreq pairedmeans parameters parent parms partial partition path pathdiagram pcov performance plot population poststrata power preddist predict predpplot priors process probmodel profile prune pvar ram random ratio reference refit refmodel renameparm repeated replicate repweights response restore restrict retain reweight ridge rmsstd roc roccontrast rules samplesize samplingunit seed size scale score selection show simtests simulate slice std stderr store strata structeq supplementary table tables test testclass testfreq testfunc testid time transform treatments trend twosamplefreq twosamplemeans towsamplesurvival twosamplewilcoxon uds units univar var variance varnames weight where with zeromodel contained +syn match sasAnalyticalProcStatement '\v%(^|;)\s*\zs\h\w*>' display contained contains=sasAnalyticalProcStatementKeyword,sasGlobalStatementKeyword +syn match sasAnalyticalProcStatement '\v%(^|;)\s*\zsods>' display contained contains=sasGlobalStatementKeyword nextgroup=sasGlobalStatementODSKeyword skipwhite skipnl skipempty +syn match sasAnalyticalProcStatement '\v%(^|;)\s*\zsformat>' display contained contains=sasAnalyticalProcStatementKeyword nextgroup=sasFormatContext skipwhite skipnl skipempty +syn region sasAnalyticalProc matchgroup=sasSectionKeyword start='\v%(^|;)\s*\zsproc\s+%(aceclus|adaptivereg|bchoice|boxplot|calis|cancorr|candisc|cluster|corresp|discrim|distance|factor|fastclus|fmm|freq|gam|gampl|gee|genmod|glimmix|glmmod|glmpower|glmselect|hpcandisc|hpfmm|hpgenselect|hplmixed|hplogistic|hpmixed|hpnlmod|hppls|hpprincomp|hpquantselect|hpreg|hpsplit|iclifetest|icphreg|inbreed|irt|kde|krige2d|lattice|lifereg|lifetest|loess|logistic|mcmc|mds|mi|mianalyze|mixed|modeclus|multtest|nested|nlin|nlmixed|npar1way|orthoreg|phreg|plm|pls|power|princomp|prinqual|probit|quantlife|quantreg|quantselect|robustreg|rsreg|score|seqdesign|seqtest|sim2d|simnormal|spp|stdize|stdrate|stepdisc|surveyfreq|surveyimpute|surveylogistic|surveymeans|surveyphreg|surveyreg|surveyselect|tpspline|transreg|tree|ttest|varclus|varcomp|variogram)>' end='\v%(^|;)\s*%(run|data|proc|endsas)>'me=s-1 fold contains=@sasBasicSyntax,sasDataStepControl,sasDataStepFunction,sasAnalyticalProcStatement +syn region sasAnalyticalProc matchgroup=sasSectionKeyword start='\v%(^|;)\s*\zsproc\s+%(anova|arima|catmod|factex|glm|model|optex|plan|reg)>' end='\v%(^|;)\s*%(quit|data|proc|endsas)>'me=s-1 fold contains=@sasBasicSyntax,sasDataStepControl,sasDataStepFunction,sasAnalyticalProcStatement + +" Procedures, ODS graphics, 9.4 +syn keyword sasODSGraphicsProcStatementKeyword band block bubble by colaxis compare dattrvar density dot dropline dynamic ellipse ellipseparm format fringe gradlegend hbar hbarbasic hbarparm hbox heatmap heatmapparm highlow histogram hline inset keylegend label lineparm loess matrix needle parent panelby pbspline plot polygon refline reg rowaxis scatter series spline step style styleattrs symbolchar symbolimage text vbar vbarbasic vbarparm vbox vector vline waterfall where xaxis x2axis yaxis y2axis yaxistable contained +syn match sasODSGraphicsProcStatement '\v%(^|;)\s*\zs\h\w*>' display contained contains=sasODSGraphicsProcStatementKeyword,sasGlobalStatementKeyword +syn match sasODSGraphicsProcStatement '\v%(^|;)\s*\zsods>' display contained contains=sasGlobalStatementKeyword nextgroup=sasGlobalStatementODSKeyword skipwhite skipnl skipempty +syn match sasODSGraphicsProcStatement '\v%(^|;)\s*\zsformat>' display contained contains=sasODSGraphicsProcStatementKeyword nextgroup=sasFormatContext skipwhite skipnl skipempty +syn region sasODSGraphicsProc matchgroup=sasSectionKeyword start='\v%(^|;)\s*\zsproc\s+%(sgdesign|sgpanel|sgplot|sgrender|sgscatter)>' end='\v%(^|;)\s*%(run|data|proc|endsas)>'me=s-1 fold contains=@sasBasicSyntax,sasDataStepFunction,sasODSGraphicsProcStatement + +" Proc TEMPLATE, 9.4 +syn keyword sasProcTemplateClause as into +syn keyword sasProcTemplateStatementKeyword block break cellstyle class close column compute continue define delete delstream do done dynamic edit else end eval flush footer header import iterate link list mvar ndent next nmvar notes open path put putl putlog putq putstream putvars replace set source stop style test text text2 text3 translate trigger unblock unset xdent contained +syn keyword sasProcTemplateStatementComplexKeyword cellvalue column crosstabs event footer header statgraph style table tagset contained +syn keyword sasProcTemplateGTLStatementKeyword axislegend axistable bandplot barchart barchartparm begingraph beginpolygon beginpolyline bihistogram3dparm blockplot boxplot boxplotparm bubbleplot continuouslegend contourplotparm dendrogram discretelegend drawarrow drawimage drawline drawoval drawrectangle drawtext dropline ellipse ellipseparm endgraph endinnermargin endlayout endpolygon endpolyline endsidebar entry entryfootnote entrytitle fringeplot heatmap heatmapparm highlowplot histogram histogramparm innermargin layout legenditem legendtextitems linechart lineparm loessplot mergedlegend modelband needleplot pbsplineplot polygonplot referenceline regressionplot scatterplot seriesplot sidebar stepplot surfaceplotparm symbolchar symbolimage textplot vectorplot waterfallchart contained +syn keyword sasProcTemplateGTLComplexKeyword datalattice datapanel globallegend gridded lattice overlay overlayequated overlay3d region contained +syn match sasProcTemplateStatement '\v%(^|;)\s*\zs\h\w*>' display contained contains=sasProcTemplateStatementKeyword,sasProcTemplateGTLStatementKeyword,sasGlobalStatementKeyword +syn match sasProcTemplateStatement '\v%(^|;)\s*\zsdefine>' display contained contains=sasProcTemplateStatementKeyword nextgroup=sasProcTemplateStatementComplexKeyword skipwhite skipnl skipempty +syn match sasProcTemplateStatement '\v%(^|;)\s*\zslayout>' display contained contains=sasProcTemplateGTLStatementKeyword nextgroup=sasProcTemplateGTLComplexKeyword skipwhite skipnl skipempty +syn match sasProcTemplateStatement '\v%(^|;)\s*\zsods>' display contained contains=sasGlobalStatementKeyword nextgroup=sasGlobalStatementODSKeyword skipwhite skipnl skipempty +syn region sasProcTemplate matchgroup=sasSectionKeyword start='\v%(^|;)\s*\zsproc\s+template>' end='\v%(^|;)\s*%(run|data|proc|endsas)>'me=s-1 fold contains=@sasBasicSyntax,sasProcTemplateClause,sasProcTemplateStatement + +" Proc SQL, 9.4 +syn keyword sasProcSQLFunctionName avg count css cv freq max mean median min n nmiss prt range std stderr sum sumwgt t uss var contained +syn region sasProcSQLFunctionContext start='(' end=')' contained contains=@sasBasicSyntax,sasProcSQLFunction +syn match sasProcSQLFunction '\v<\w+\ze\(' contained contains=sasProcSQLFunctionName,sasDataStepFunctionName nextgroup=sasProcSQLFunctionContext +syn keyword sasProcSQLClause add asc between by calculated cascade case check connection constraint cross desc distinct drop else end escape except exists foreign from full group having in inner intersect into is join key left libname like modify natural newline notrim null on order outer primary references restrict right separated set then to trimmed union unique user using values when where contained +syn keyword sasProcSQLClause as contained nextgroup=sasProcSQLStatementKeyword skipwhite skipnl skipempty +syn keyword sasProcSQLStatementKeyword connect delete disconnect execute insert reset select update validate contained +syn keyword sasProcSQLStatementComplexKeyword alter create describe drop contained nextgroup=sasProcSQLStatementNextKeyword skipwhite skipnl skipempty +syn keyword sasProcSQLStatementNextKeyword index table view contained +syn match sasProcSQLStatement '\v%(^|;)\s*\zs\h\w*>' display contained contains=sasProcSQLStatementKeyword,sasGlobalStatementKeyword +syn match sasProcSQLStatement '\v%(^|;)\s*\zs%(alter|create|describe|drop)>' display contained contains=sasProcSQLStatementComplexKeyword nextgroup=sasProcSQLStatementNextKeyword skipwhite skipnl skipempty +syn match sasProcSQLStatement '\v%(^|;)\s*\zsvalidate>' display contained contains=sasProcSQLStatementKeyword nextgroup=sasProcSQLStatementKeyword,sasProcSQLStatementComplexKeyword skipwhite skipnl skipempty +syn match sasProcSQLStatement '\v%(^|;)\s*\zsods>' display contained contains=sasGlobalStatementKeyword nextgroup=sasGlobalStatementODSKeyword skipwhite skipnl skipempty +syn region sasProcSQL matchgroup=sasSectionKeyword start='\v%(^|;)\s*\zsproc\s+sql>' end='\v%(^|;)\s*%(quit|data|proc|endsas)>'me=s-1 fold contains=@sasBasicSyntax,sasProcSQLFunction,sasProcSQLClause,sasProcSQLStatement + +" SAS/DS2, 9.4 +syn keyword sasDS2FunctionName abs anyalnum anyalpha anycntrl anydigit anyfirst anygraph anylower anyname anyprint anypunct anyspace anyupper anyxdigit arcos arcosh arsin arsinh artanh atan atan2 band beta betainv blackclprc blackptprc blkshclprc blkshptprc blshift bnot bor brshift bxor byte cat cats catt catx ceil ceilz choosec choosen cmp cmpt coalesce coalescec comb compare compbl compfuzz compound compress constant convx convxp cos cosh count countc countw css cumipmt cumprinc cv datdif date datejul datepart datetime day dequote deviance dhms dif digamma dim divide dur durp effrate erf erfc exp fact find findc findw floor floorz fmtinfo fuzz gaminv gamma garkhclprc garkhptprc gcd geodist geomean geomeanz harmean harmeanz hbound hms holiday hour index indexc indexw inputc inputn int intcindex intck intcycle intdt intfit intget intindex intnest intnx intrr intseas intshift inttest intts intz ipmt iqr irr juldate juldate7 kcount kstrcat kstrip kupdate kupdates kurtosis lag largest lbound lcm left length lengthc lengthm lengthn lgamma log logbeta log10 log1px log2 lowcase mad margrclprc margrptprc max md5 mdy mean median min minute missing mod modz month mort n ndims netpv nmiss nomrate notalnum notalpha notcntrl notdigit notfirst notgraph notlower notname notprint notpunct notspace notupper notxdigit npv null nwkdom ordinal pctl perm pmt poisson power ppmt probbeta probbnml probbnrm probchi probdf probf probgam probhypr probit probmc probmed probnegb probnorm probt prxchange prxmatch prxparse prxposn put pvp qtr quote ranbin rancau rand ranexp rangam range rank rannor ranpoi rantbl rantri ranuni repeat reverse right rms round rounde roundz savings scan sec second sha256hex sha256hmachex sign sin sinh skewness sleep smallest sqlexec sqrt std stderr streaminit strip substr substrn sum sumabs tan tanh time timepart timevalue tinv to_date to_double to_time to_timestamp today translate transtrn tranwrd trigamma trim trimn trunc uniform upcase uss uuidgen var verify vformat vinarray vinformat vlabel vlength vname vtype week weekday whichc whichn year yieldp yrdif yyq contained +syn region sasDS2FunctionContext start='(' end=')' contained contains=@sasBasicSyntax,sasDS2Function +syn match sasDS2Function '\v<\w+\ze\(' contained contains=sasDS2FunctionName nextgroup=sasDS2FunctionContext +syn keyword sasDS2Control continue data dcl declare do drop else end enddata endpackage endthread from go goto if leave method otherwise package point return select then thread to until when while contained +syn keyword sasDS2StatementKeyword array by forward keep merge output put rename retain set stop vararray varlist contained +syn keyword sasDS2StatementComplexKeyword package thread contained +syn match sasDS2Statement '\v%(^|;)\s*\zs\h\w*>' display contained contains=sasDS2StatementKeyword,sasGlobalStatementKeyword +syn match sasDS2Statement '\v%(^|;)\s*\zs%(dcl|declare|drop)>' display contained contains=sasDS2StatementKeyword nextgroup=sasDS2StatementComplexKeyword skipwhite skipnl skipempty +syn match sasDS2Statement '\v%(^|;)\s*\zsods>' display contained contains=sasGlobalStatementKeyword nextgroup=sasGlobalStatementODSKeyword skipwhite skipnl skipempty +syn region sasDS2 matchgroup=sasSectionKeyword start='\v%(^|;)\s*\zsproc\s+ds2>' end='\v%(^|;)\s*%(quit|data|proc|endsas)>'me=s-1 fold contains=@sasBasicSyntax,sasDS2Function,sasDS2Control,sasDS2Statement + +" SAS/IML, 14.1 +syn keyword sasIMLFunctionName abs all allcomb allperm any apply armasim bin blankstr block branks bspline btran byte char choose col colvec concat contents convexit corr corr2cov countmiss countn countunique cov cov2corr covlag cshape cusum cuprod cv cvexhull datasets design designf det diag dif dimension distance do duration echelon eigval eigvec element exp expmatrix expandgrid fft forward froot full gasetup geomean ginv hadamard half hankel harmean hdir hermite homogen i ifft insert int inv invupdt isempty isskipped j jroot kurtosis lag length loc log logabsdet mad magic mahalanobis max mean median min mod moduleic modulein name ncol ndx2sub nleng norm normal nrow num opscal orpol parentname palette polyroot prod product pv quartile rancomb randdirichlet randfun randmultinomial randmvt randnormal randwishart ranperk ranperm range rank ranktie rates ratio remove repeat root row rowcat rowcatc rowvec rsubstr sample setdif shape shapecol skewness solve sparse splinev spot sqrsym sqrt sqrvech ssq standard std storage sub2ndx substr sum sweep symsqr t toeplitz trace trisolv type uniform union unique uniqueby value var vecdiag vech xmult xsect yield contained +syn keyword sasIMLCallRoutineName appcort armacov armalik bar box change comport delete eigen execute exportdatasettor exportmatrixtor farmacov farmafit farmalik farmasim fdif gaend gagetmem gagetval gainit gareeval garegen gasetcro gasetmut gasetobj gasetsel gblkvp gblkvpd gclose gdelete gdraw gdrawl geneig ggrid ginclude gopen gpie gpiexy gpoint gpoly gport gportpop gportstk gscale gscript gset gshow gsorth gstart gstop gstrlen gtext gvtext gwindow gxaxis gyaxis heatmapcont heatmapdisc histogram importdatasetfromr importmatrixfromr ipf itsolver kalcvf kalcvs kaldff kaldfs lav lcp lms lp lpsolve lts lupdt marg maxqform mcd milpsolve modulei mve nlpcg nlpdd nlpfdd nlpfea nlphqn nlplm nlpnms nlpnra nlpnrr nlpqn nlpqua nlptr ode odsgraph ortvec pgraf push qntl qr quad queue randgen randseed rdodt rupdt rename rupdt rzlind scatter seq seqscale seqshift seqscale seqshift series solvelin sort sortndx sound spline splinec svd tabulate tpspline tpsplnev tsbaysea tsdecomp tsmlocar tsmlomar tsmulmar tspears tspred tsroot tstvcar tsunimar valset varmacov varmalik varmasim vnormal vtsroot wavft wavget wavift wavprint wavthrsh contained +syn region sasIMLFunctionContext start='(' end=')' contained contains=@sasBasicSyntax,sasIMLFunction +syn match sasIMLFunction '\v<\w+\ze\(' contained contains=sasIMLFunctionName,sasDataStepFunction nextgroup=sasIMLFunctionContext +syn keyword sasIMLControl abort by do else end finish goto if link pause quit resume return run start stop then to until while contained +syn keyword sasIMLStatementKeyword append call close closefile create delete display edit file find force free index infile input list load mattrib print purge read remove replace reset save setin setout show sort store summary use window contained +syn match sasIMLStatement '\v%(^|;)\s*\zs\h\w*>' display contained contains=sasIMLStatementKeyword,sasGlobalStatementKeyword +syn match sasIMLStatement '\v%(^|;)\s*\zsods>' display contained contains=sasGlobalStatementKeyword nextgroup=sasGlobalStatementODSKeyword skipwhite skipnl skipempty +syn region sasIML matchgroup=sasSectionKeyword start='\v%(^|;)\s*\zsproc\s+iml>' end='\v%(^|;)\s*%(quit|data|proc|endsas)>'me=s-1 fold contains=@sasBasicSyntax,sasIMLFunction,sasIMLControl,sasIMLStatement + +" Macro definition +syn region sasMacro start='\v\%macro>' end='\v\%mend>' fold keepend contains=@sasBasicSyntax,@sasDataStepSyntax,sasDataStep,sasProc,sasODSGraphicsProc,sasGraphProc,sasAnalyticalProc,sasProcTemplate,sasProcSQL,sasDS2,sasIML + +" Define default highlighting +hi def link sasComment Comment +hi def link sasTodo Delimiter +hi def link sasSectLbl Title +hi def link sasSectLblEnds Comment +hi def link sasNumber Number +hi def link sasDateTime Constant +hi def link sasString String +hi def link sasDataStepControl Keyword +hi def link sasProcTemplateClause Keyword +hi def link sasProcSQLClause Keyword +hi def link sasDS2Control Keyword +hi def link sasIMLControl Keyword +hi def link sasOperator Operator +hi def link sasGlobalStatementKeyword Statement +hi def link sasGlobalStatementODSKeyword Statement +hi def link sasSectionKeyword Statement +hi def link sasDataStepFunctionName Function +hi def link sasDataStepCallRoutineName Function +hi def link sasDataStepStatementKeyword Statement +hi def link sasDataStepStatementHashKeyword Statement +hi def link sasDataStepHashOperator Operator +hi def link sasDataStepHashMethodName Function +hi def link sasDataStepHashAttributeName Identifier +hi def link sasProcStatementKeyword Statement +hi def link sasODSGraphicsProcStatementKeyword Statement +hi def link sasGraphProcStatementKeyword Statement +hi def link sasAnalyticalProcStatementKeyword Statement +hi def link sasProcTemplateStatementKeyword Statement +hi def link sasProcTemplateStatementComplexKeyword Statement +hi def link sasProcTemplateGTLStatementKeyword Statement +hi def link sasProcTemplateGTLComplexKeyword Statement +hi def link sasProcSQLFunctionName Function +hi def link sasProcSQLStatementKeyword Statement +hi def link sasProcSQLStatementComplexKeyword Statement +hi def link sasProcSQLStatementNextKeyword Statement +hi def link sasDS2FunctionName Function +hi def link sasDS2StatementKeyword Statement +hi def link sasIMLFunctionName Function +hi def link sasIMLCallRoutineName Function +hi def link sasIMLStatementKeyword Statement +hi def link sasMacroReserved PreProc +hi def link sasMacroVariable Define +hi def link sasMacroFunctionName Define +hi def link sasDataLine SpecialChar +hi def link sasFormat SpecialChar +hi def link sasReserved Special " Syncronize from beginning to keep large blocks from losing " syntax coloring while moving through code. @@ -264,4 +261,5 @@ syn sync fromstart let b:current_syntax = "sas" -" vim: ts=8 +let &cpo = s:cpo_save +unlet s:cpo_save diff --git a/runtime/syntax/sbt.vim b/runtime/syntax/sbt.vim new file mode 100644 index 0000000000..cbf73beafe --- /dev/null +++ b/runtime/syntax/sbt.vim @@ -0,0 +1,32 @@ +" Vim syntax file +" Language: sbt +" Maintainer: Steven Dobay <stevendobay at protonmail.com> +" Last Change: 2017.04.30 + +if exists("b:current_syntax") + finish +endif + +runtime! syntax/scala.vim + +syn region sbtString start="\"[^"]" skip="\\\"" end="\"" contains=sbtStringEscape +syn match sbtStringEscape "\\u[0-9a-fA-F]\{4}" contained +syn match sbtStringEscape "\\[nrfvb\\\"]" contained + +syn match sbtIdentitifer "^\S\+\ze\s*\(:=\|++=\|+=\|<<=\|<+=\)" +syn match sbtBeginningSeq "^[Ss]eq\>" + +syn match sbtSpecial "\(:=\|++=\|+=\|<<=\|<+=\)" + +syn match sbtLineComment "//.*" +syn region sbtComment start="/\*" end="\*/" +syn region sbtDocComment start="/\*\*" end="\*/" keepend + +hi link sbtString String +hi link sbtIdentitifer Keyword +hi link sbtBeginningSeq Keyword +hi link sbtSpecial Special +hi link sbtComment Comment +hi link sbtLineComment Comment +hi link sbtDocComment Comment + diff --git a/runtime/syntax/sh.vim b/runtime/syntax/sh.vim index f97299cdeb..838c5eb4a7 100644 --- a/runtime/syntax/sh.vim +++ b/runtime/syntax/sh.vim @@ -2,8 +2,8 @@ " Language: shell (sh) Korn shell (ksh) bash (sh) " Maintainer: Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz> " Previous Maintainer: Lennart Schultz <Lennart.Schultz@ecmwf.int> -" Last Change: Jan 30, 2017 -" Version: 168 +" Last Change: Oct 02, 2017 +" Version: 172 " URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_SH " For options and settings, please use: :help ft-sh-syntax " This file includes many ideas from Eric Brunet (eric.brunet@ens.fr) @@ -128,7 +128,7 @@ syn cluster shArithParenList contains=shArithmetic,shCaseEsac,shComment,shDeref, syn cluster shArithList contains=@shArithParenList,shParenError syn cluster shCaseEsacList contains=shCaseStart,shCase,shCaseBar,shCaseIn,shComment,shDeref,shDerefSimple,shCaseCommandSub,shCaseExSingleQuote,shCaseSingleQuote,shCaseDoubleQuote,shCtrlSeq,@shErrorList,shStringSpecial,shCaseRange syn cluster shCaseList contains=@shCommandSubList,shCaseEsac,shColon,shCommandSub,shComment,shDo,shEcho,shExpr,shFor,shHereDoc,shIf,shHereString,shRedir,shSetList,shSource,shStatement,shVariable,shCtrlSeq -syn cluster shCommandSubList contains=shAlias,shArithmetic,shComment,shCmdParenRegion,shCtrlSeq,shDeref,shDerefSimple,shDoubleQuote,shEcho,shEscape,shExDoubleQuote,shExpr,shExSingleQuote,shHereDoc,shNumber,shOperator,shOption,shPosnParm,shHereString,shRedir,shSingleQuote,shSpecial,shStatement,shSubSh,shTest,shVariable +syn cluster shCommandSubList contains=shAlias,shArithmetic,shCmdParenRegion,shCtrlSeq,shDeref,shDerefSimple,shDoubleQuote,shEcho,shEscape,shExDoubleQuote,shExpr,shExSingleQuote,shHereDoc,shNumber,shOperator,shOption,shPosnParm,shHereString,shRedir,shSingleQuote,shSpecial,shStatement,shSubSh,shTest,shVariable syn cluster shCurlyList contains=shNumber,shComma,shDeref,shDerefSimple,shDerefSpecial syn cluster shDblQuoteList contains=shCommandSub,shDeref,shDerefSimple,shEscape,shPosnParm,shCtrlSeq,shSpecial syn cluster shDerefList contains=shDeref,shDerefSimple,shDerefVar,shDerefSpecial,shDerefWordError,shDerefPSR,shDerefPPS @@ -150,6 +150,7 @@ syn cluster shLoopList contains=@shCaseList,@shErrorList,shCaseEsac,shConditiona syn cluster shPPSRightList contains=shComment,shDeref,shDerefSimple,shEscape,shPosnParm syn cluster shSubShList contains=@shCommandSubList,shCaseEsac,shColon,shCommandSub,shComment,shDo,shEcho,shExpr,shFor,shIf,shHereString,shRedir,shSetList,shSource,shStatement,shVariable,shCtrlSeq,shOperator syn cluster shTestList contains=shCharClass,shCommandSub,shCtrlSeq,shDeref,shDerefSimple,shDoubleQuote,shExDoubleQuote,shExpr,shExSingleQuote,shNumber,shOperator,shSingleQuote,shTest,shTestOpr +syn cluster shNoZSList contains=shSpecialNoZS " Echo: {{{1 " ==== @@ -220,13 +221,13 @@ syn region shSubSh transparent matchgroup=shSubShRegion start="[^(]\zs(" end=")" "======= syn region shExpr matchgroup=shRange start="\[" skip=+\\\\\|\\$\|\[+ end="\]" contains=@shTestList,shSpecial syn region shTest transparent matchgroup=shStatement start="\<test\s" skip=+\\\\\|\\$+ matchgroup=NONE end="[;&|]"me=e-1 end="$" contains=@shExprList1 -syn region shNoQuote start='\S' skip='\%(\\\\\)*\\.' end='\ze\s' contained contains=shDerefSimple,shDeref +syn region shNoQuote start='\S' skip='\%(\\\\\)*\\.' end='\ze\s' end="\ze['"]" contained contains=shDerefSimple,shDeref syn match shAstQuote contained '\*\ze"' nextgroup=shString syn match shTestOpr contained '[^-+/%]\zs=' skipwhite nextgroup=shTestDoubleQuote,shTestSingleQuote,shTestPattern syn match shTestOpr contained "<=\|>=\|!=\|==\|=\~\|-.\>\|-\(nt\|ot\|ef\|eq\|ne\|lt\|le\|gt\|ge\)\>\|[!<>]" syn match shTestPattern contained '\w\+' syn region shTestDoubleQuote contained start='\%(\%(\\\\\)*\\\)\@<!"' skip=+\\\\\|\\"+ end='"' contains=shDeref,shDerefSimple,shDerefSpecial -syn match shTestSingleQuote contained '\\.' +syn match shTestSingleQuote contained '\\.' nextgroup=shTestSingleQuote syn match shTestSingleQuote contained "'[^']*'" if exists("b:is_kornshell") || exists("b:is_bash") syn region shDblBrace matchgroup=Delimiter start="\[\[" skip=+\%(\\\\\)*\\$+ end="\]\]" contains=@shTestList,shAstQuote,shNoQuote,shComment @@ -261,7 +262,11 @@ syn match shComma contained "," " ==== syn match shCaseBar contained skipwhite "\(^\|[^\\]\)\(\\\\\)*\zs|" nextgroup=shCase,shCaseStart,shCaseBar,shComment,shCaseExSingleQuote,shCaseSingleQuote,shCaseDoubleQuote syn match shCaseStart contained skipwhite skipnl "(" nextgroup=shCase,shCaseBar -ShFoldIfDoFor syn region shCase contained skipwhite skipnl matchgroup=shSnglCase start="\%(\\.\|[^#$()'" \t]\)\{-}\zs)" end=";;" end="esac"me=s-1 contains=@shCaseList nextgroup=shCaseStart,shCase,shComment +if exists("b:is_bash") + ShFoldIfDoFor syn region shCase contained skipwhite skipnl matchgroup=shSnglCase start="\%(\\.\|[^#$()'" \t]\)\{-}\zs)" end=";;" end=";&" end=";;&" end="esac"me=s-1 contains=@shCaseList nextgroup=shCaseStart,shCase,shComment +else + ShFoldIfDoFor syn region shCase contained skipwhite skipnl matchgroup=shSnglCase start="\%(\\.\|[^#$()'" \t]\)\{-}\zs)" end=";;" end="esac"me=s-1 contains=@shCaseList nextgroup=shCaseStart,shCase,shComment +endif ShFoldIfDoFor syn region shCaseEsac matchgroup=shConditional start="\<case\>" end="\<esac\>" contains=@shCaseEsacList syn keyword shCaseIn contained skipwhite skipnl in nextgroup=shCase,shCaseStart,shCaseBar,shComment,shCaseExSingleQuote,shCaseSingleQuote,shCaseDoubleQuote @@ -291,7 +296,7 @@ syn match shEscape contained '\%(^\)\@!\%(\\\\\)*\\.' " (ie. Posix compliant shell). /bin/ksh should work for those " systems too, however, so the following syntax will flag $(..) as " an Error under /bin/sh. By consensus of vimdev'ers! -if exists("b:is_kornshell") || exists("b:is_bash") +if exists("b:is_kornshell") || exists("b:is_bash") || exists("b:is_posix") syn region shCommandSub matchgroup=shCmdSubRegion start="\$(" skip='\\\\\|\\.' end=")" contains=@shCommandSubList syn region shArithmetic matchgroup=shArithRegion start="\$((" skip='\\\\\|\\.' end="))" contains=@shArithList syn region shArithmetic matchgroup=shArithRegion start="\$\[" skip='\\\\\|\\.' end="\]" contains=@shArithList @@ -346,8 +351,9 @@ syn region shSingleQuote matchgroup=shQuote start=+'+ end=+'+ contains=@Spell syn region shDoubleQuote matchgroup=shQuote start=+\%(\%(\\\\\)*\\\)\@<!"+ skip=+\\"+ end=+"+ contains=@shDblQuoteList,shStringSpecial,@Spell syn match shStringSpecial "[^[:print:] \t]" contained syn match shStringSpecial "[^\\]\zs\%(\\\\\)*\\[\\"'`$()#]" -syn match shSpecial "[^\\]\zs\%(\\\\\)*\\[\\"'`$()#]" +syn match shSpecial "[^\\]\zs\%(\\\\\)*\\[\\"'`$()#]" nextgroup=shBkslshSnglQuote,shBkslshDblQuote,@shNoZSList syn match shSpecial "^\%(\\\\\)*\\[\\"'`$()#]" +syn match shSpecialNoZS contained "\%(\\\\\)*\\[\\"'`$()#]" syn match shSpecialNxt contained "\\[\\"'`$()#]" syn region shBkslshSnglQuote contained matchgroup=shQuote start=+'+ end=+'+ contains=@Spell syn region shBkslshDblQuote contained matchgroup=shQuote start=+"+ skip=+\\"+ end=+"+ contains=@shDblQuoteList,shStringSpecial,@Spell @@ -370,8 +376,8 @@ syn match shQuickComment contained "#.*$" ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc01 start="<<\s*\\\=\z([^ \t|>]\+\)" matchgroup=shHereDoc01 end="^\z1\s*$" contains=@shDblQuoteList ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc02 start="<<\s*\"\z([^ \t|>]\+\)\"" matchgroup=shHereDoc02 end="^\z1\s*$" ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc03 start="<<-\s*\z([^ \t|>]\+\)" matchgroup=shHereDoc03 end="^\s*\z1\s*$" contains=@shDblQuoteList -ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc04 start="<<-\s*'\z([^ \t|>]\+\)'" matchgroup=shHereDoc04 end="^\s*\z1\s*$" -ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc05 start="<<\s*'\z([^ \t|>]\+\)'" matchgroup=shHereDoc05 end="^\z1\s*$" +ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc04 start="<<-\s*'\z([^']\+\)'" matchgroup=shHereDoc04 end="^\s*\z1\s*$" +ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc05 start="<<\s*'\z([^']\+\)'" matchgroup=shHereDoc05 end="^\z1\s*$" ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc06 start="<<-\s*\"\z([^ \t|>]\+\)\"" matchgroup=shHereDoc06 end="^\s*\z1\s*$" ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc07 start="<<\s*\\\_$\_s*\z([^ \t|>]\+\)" matchgroup=shHereDoc07 end="^\z1\s*$" contains=@shDblQuoteList ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc08 start="<<\s*\\\_$\_s*'\z([^ \t|>]\+\)'" matchgroup=shHereDoc08 end="^\z1\s*$" @@ -428,14 +434,14 @@ endif if !exists("g:sh_no_error") syn match shDerefWordError "[^}$[~]" contained endif -syn match shDerefSimple "\$\%(\h\w*\|\d\)" +syn match shDerefSimple "\$\%(\h\w*\|\d\)" nextgroup=@shNoZSList syn region shDeref matchgroup=PreProc start="\${" end="}" contains=@shDerefList,shDerefVarArray -syn match shDerefSimple "\$[-#*@!?]" -syn match shDerefSimple "\$\$" -syn match shDerefSimple "\${\d}" +syn match shDerefSimple "\$[-#*@!?]" nextgroup=@shNoZSList +syn match shDerefSimple "\$\$" nextgroup=@shNoZSList +syn match shDerefSimple "\${\d}" nextgroup=@shNoZSList if exists("b:is_bash") || exists("b:is_kornshell") - syn region shDeref matchgroup=PreProc start="\${##\=" end="}" contains=@shDerefList - syn region shDeref matchgroup=PreProc start="\${\$\$" end="}" contains=@shDerefList + syn region shDeref matchgroup=PreProc start="\${##\=" end="}" contains=@shDerefList nextgroup=@shSpecialNoZS + syn region shDeref matchgroup=PreProc start="\${\$\$" end="}" contains=@shDerefList nextgroup=@shSpecialNoZS endif " ksh: ${!var[*]} array index list syntax: {{{1 @@ -685,6 +691,7 @@ if !exists("skip_sh_syntax_inits") hi def link shSetList Identifier hi def link shShellVariables PreProc hi def link shSpecial Special + hi def link shSpecialNoZS shSpecial hi def link shStatement Statement hi def link shString String hi def link shTodo Todo diff --git a/runtime/syntax/sisu.vim b/runtime/syntax/sisu.vim index 83d2a17245..264aae0600 100644 --- a/runtime/syntax/sisu.vim +++ b/runtime/syntax/sisu.vim @@ -1,7 +1,7 @@ " SiSU Vim syntax file " SiSU Maintainer: Ralph Amissah <ralph.amissah@gmail.com> " SiSU Markup: SiSU (sisu-5.6.7) -" Last Change: 2014-09-14 +" Last Change: 2017 Jun 22 " URL: <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=data/sisu/conf/editor-syntax-etc/vim/syntax/sisu.vim;hb=HEAD> " <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob_plain;f=data/sisu/conf/editor-syntax-etc/vim/syntax/sisu.vim;hb=HEAD> "(originally looked at Ruby Vim by Mirko Nasato) @@ -102,7 +102,7 @@ syn region sisu_content_alt contains=sisu_strikeout,sisu_number,sisu_bold,sisu_c syn region sisu_content_alt contains=sisu_strikeout,sisu_number,sisu_bold,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_contain start="^```\s\+table" end="^```\(\s\|$\)" syn region sisu_content_alt contains=sisu_strikeout,sisu_number,sisu_bold,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_contain start="^{\(t\|table\)\(\~h\)\?\(\sc[0-9]\+;\)\?[0-9; ]*}" end="\n$" " block, group, poem, alt -syn region sisu_content_alt contains=sisu_mark_endnote,sisu_content_endnote,sisu_link,sisu_mark,sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_contain start="^\(block\|group\|poem\|alt\){" end="^}\1" +syn region sisu_content_alt contains=sisu_mark_endnote,sisu_content_endnote,sisu_link,sisu_mark,sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_contain start="^\z(block\|group\|poem\|alt\){" end="^}\z1" syn region sisu_content_alt contains=sisu_mark_endnote,sisu_content_endnote,sisu_link,sisu_mark,sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_contain start="^```\s\+\(block\|group\|poem\|alt\)" end="^```\(\s\|$\)" " box syn region sisu_content_alt contains=sisu_mark_endnote,sisu_content_endnote,sisu_link,sisu_mark,sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_contain start="^box\(\.[a-z]\+\)\?{" end="^}box" diff --git a/runtime/syntax/sshdconfig.vim b/runtime/syntax/sshdconfig.vim index c3abfff632..3924aaf94a 100644 --- a/runtime/syntax/sshdconfig.vim +++ b/runtime/syntax/sshdconfig.vim @@ -6,8 +6,8 @@ " Contributor: Leonard Ehrenfried <leonard.ehrenfried@web.de> " Contributor: Karsten Hopp <karsten@redhat.com> " Originally: 2009-07-09 -" Last Change: 2016 Dec 28 -" SSH Version: 7.4p1 +" Last Change: 2017 Oct 25 +" SSH Version: 7.6p1 " " Setup @@ -224,7 +224,6 @@ syn keyword sshdconfigKeyword TrustedUserCAKeys syn keyword sshdconfigKeyword UseDNS syn keyword sshdconfigKeyword UseLogin syn keyword sshdconfigKeyword UsePAM -syn keyword sshdconfigKeyword UsePrivilegeSeparation syn keyword sshdconfigKeyword VersionAddendum syn keyword sshdconfigKeyword X11DisplayOffset syn keyword sshdconfigKeyword X11Forwarding diff --git a/runtime/syntax/tap.vim b/runtime/syntax/tap.vim new file mode 100644 index 0000000000..db37bb8980 --- /dev/null +++ b/runtime/syntax/tap.vim @@ -0,0 +1,97 @@ +" Vim syntax file +" Language: Verbose TAP Output +" Maintainer: Rufus Cable <rufus@threebytesfull.com> +" Remark: Simple syntax highlighting for TAP output +" License: +" Copyright: (c) 2008-2013 Rufus Cable +" Last Change: 2014-12-13 + +if exists("b:current_syntax") + finish +endif + +syn match tapTestDiag /^ *#.*/ contains=tapTestTodo +syn match tapTestTime /^ *\[\d\d:\d\d:\d\d\].*/ contains=tapTestFile +syn match tapTestFile /\w\+\/[^. ]*/ contained +syn match tapTestFileWithDot /\w\+\/[^ ]*/ contained + +syn match tapTestPlan /^ *\d\+\.\.\d\+$/ + +" tapTest is a line like 'ok 1', 'not ok 2', 'ok 3 - xxxx' +syn match tapTest /^ *\(not \)\?ok \d\+.*/ contains=tapTestStatusOK,tapTestStatusNotOK,tapTestLine + +" tapTestLine is the line without the ok/not ok status - i.e. number and +" optional message +syn match tapTestLine /\d\+\( .*\|$\)/ contains=tapTestNumber,tapTestLoadMessage,tapTestTodo,tapTestSkip contained + +" turn ok/not ok messages green/red respectively +syn match tapTestStatusOK /ok/ contained +syn match tapTestStatusNotOK /not ok/ contained + +" highlight todo tests +syn match tapTestTodo /\(# TODO\|Failed (TODO)\) .*$/ contained contains=tapTestTodoRev +syn match tapTestTodoRev /\<TODO\>/ contained + +" highlight skipped tests +syn match tapTestSkip /# skip .*$/ contained contains=tapTestSkipTag +syn match tapTestSkipTag /\(# \)\@<=skip\>/ contained + +" look behind so "ok 123" and "not ok 124" match test number +syn match tapTestNumber /\(ok \)\@<=\d\d*/ contained +syn match tapTestLoadMessage /\*\*\*.*\*\*\*/ contained contains=tapTestThreeStars,tapTestFileWithDot +syn match tapTestThreeStars /\*\*\*/ contained + +syn region tapTestRegion start=/^ *\(not \)\?ok.*$/me=e+1 end=/^\(\(not \)\?ok\|# Looks like you planned \|All tests successful\|Bailout called\)/me=s-1 fold transparent excludenl +syn region tapTestResultsOKRegion start=/^\(All tests successful\|Result: PASS\)/ end=/$/ +syn region tapTestResultsNotOKRegion start=/^\(# Looks like you planned \|Bailout called\|# Looks like you failed \|Result: FAIL\)/ end=/$/ +syn region tapTestResultsSummaryRegion start=/^Test Summary Report/ end=/^Files=.*$/ contains=tapTestResultsSummaryHeading,tapTestResultsSummaryNotOK + +syn region tapTestResultsSummaryHeading start=/^Test Summary Report/ end=/^-\+$/ contained +syn region tapTestResultsSummaryNotOK start=/TODO passed:/ end=/$/ contained + +syn region tapTestInstructionsRegion start=/\%1l/ end=/^$/ + +set foldtext=TAPTestLine_foldtext() +function! TAPTestLine_foldtext() + let line = getline(v:foldstart) + let sub = substitute(line, '/\*\|\*/\|{{{\d\=', '', 'g') + return sub +endfunction + +set foldminlines=5 +set foldcolumn=2 +set foldenable +set foldmethod=syntax +syn sync fromstart + +if !exists("did_tapverboseoutput_syntax_inits") + let did_tapverboseoutput_syntax_inits = 1 + + hi tapTestStatusOK term=bold ctermfg=green guifg=Green + hi tapTestStatusNotOK term=reverse ctermfg=black ctermbg=red guifg=Black guibg=Red + hi tapTestTodo term=bold ctermfg=yellow ctermbg=black guifg=Yellow guibg=Black + hi tapTestTodoRev term=reverse ctermfg=black ctermbg=yellow guifg=Black guibg=Yellow + hi tapTestSkip term=bold ctermfg=lightblue guifg=LightBlue + hi tapTestSkipTag term=reverse ctermfg=black ctermbg=lightblue guifg=Black guibg=LightBlue + hi tapTestTime term=bold ctermfg=blue guifg=Blue + hi tapTestFile term=reverse ctermfg=black ctermbg=yellow guibg=Black guifg=Yellow + hi tapTestLoadedFile term=bold ctermfg=black ctermbg=cyan guibg=Cyan guifg=Black + hi tapTestThreeStars term=reverse ctermfg=blue guifg=Blue + hi tapTestPlan term=bold ctermfg=yellow guifg=Yellow + + hi link tapTestFileWithDot tapTestLoadedFile + hi link tapTestNumber Number + hi link tapTestDiag Comment + + hi tapTestRegion ctermbg=green + + hi tapTestResultsOKRegion ctermbg=green ctermfg=black + hi tapTestResultsNotOKRegion ctermbg=red ctermfg=black + + hi tapTestResultsSummaryHeading ctermbg=blue ctermfg=white + hi tapTestResultsSummaryNotOK ctermbg=red ctermfg=black + + hi tapTestInstructionsRegion ctermbg=lightmagenta ctermfg=black +endif + +let b:current_syntax="tapVerboseOutput" diff --git a/runtime/syntax/tex.vim b/runtime/syntax/tex.vim index ab19da329b..d5a5de65c8 100644 --- a/runtime/syntax/tex.vim +++ b/runtime/syntax/tex.vim @@ -1,8 +1,8 @@ " Vim syntax file " Language: TeX " Maintainer: Charles E. Campbell <NdrchipO@ScampbellPfamily.AbizM> -" Last Change: Jan 31, 2017 -" Version: 103 +" Last Change: Oct 12, 2017 +" Version: 105 " URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_TEX " " Notes: {{{1 @@ -259,6 +259,7 @@ syn match texAccent +\\[=^.\~"`']+ syn match texAccent +\\['=t'.c^ud"vb~Hr]{\a}+ syn match texLigature "\\\([ijolL]\|ae\|oe\|ss\|AA\|AE\|OE\)$" + " \begin{}/\end{} section markers: {{{1 syn match texBeginEnd "\\begin\>\|\\end\>" nextgroup=texBeginEndName if s:tex_fast =~# 'm' @@ -588,12 +589,21 @@ else endif endif +" %begin-include ... %end-include acts like a texDocZone for \include'd files. Permits spell checking, for example, in such files. +if !s:tex_nospell + TexFold syn region texDocZone matchgroup=texSection start='^\s*%begin-include\>' end='^\s*%end-include\>' contains=@texFoldGroup,@texDocGroup,@Spell +else + TexFold syn region texDocZone matchgroup=texSection start='^\s*%begin-include\>' end='^\s*%end-include\>' contains=@texFoldGroup,@texDocGroup +endif + " Separate lines used for verb` and verb# so that the end conditions {{{1 " will appropriately terminate. " If g:tex_verbspell exists, then verbatim texZones will permit spellchecking there. if s:tex_fast =~# 'v' if exists("g:tex_verbspell") && g:tex_verbspell syn region texZone start="\\begin{[vV]erbatim}" end="\\end{[vV]erbatim}\|%stopzone\>" contains=@Spell + " listings package: + syn region texZone start="\\begin{lstlisting}" end="\\end{lstlisting}\|%stopzone\>" contains=@Spell if b:tex_stylish syn region texZone start="\\verb\*\=\z([^\ta-zA-Z@]\)" end="\z1\|%stopzone\>" contains=@Spell else @@ -1183,11 +1193,13 @@ if has("conceal") && &enc == 'utf-8' delfun s:SuperSub endif - " Accented characters: {{{2 + " Accented characters and Ligatures: {{{2 if s:tex_conceal =~# 'a' if b:tex_stylish syn match texAccent "\\[bcdvuH][^a-zA-Z@]"me=e-1 - syn match texLigature "\\\([ijolL]\|ae\|oe\|ss\|AA\|AE\|OE\)[^a-zA-Z@]"me=e-1 + syn match texLigature "\\\([ijolL]\|ae\|oe\|ss\|AA\|AE\|OE\)[^a-zA-Z@]"me=e-1 + syn match texLigature '--' + syn match texLigature '---' else fun! s:Accents(chr,...) let i= 1 @@ -1248,15 +1260,17 @@ if has("conceal") && &enc == 'utf-8' call s:Accents('\\i','ì','Ã','î','ï','Ä©','į',' ',' ',' ',' ',' ','Ä',' ') " \` \' \^ \" \~ \. \= \c \H \k \r \u \v delfun s:Accents - syn match texAccent '\\aa\>' conceal cchar=Ã¥ - syn match texAccent '\\AA\>' conceal cchar=Ã… - syn match texAccent '\\o\>' conceal cchar=ø - syn match texAccent '\\O\>' conceal cchar=Ø + syn match texAccent '\\aa\>' conceal cchar=Ã¥ + syn match texAccent '\\AA\>' conceal cchar=Ã… + syn match texAccent '\\o\>' conceal cchar=ø + syn match texAccent '\\O\>' conceal cchar=Ø syn match texLigature '\\AE\>' conceal cchar=Æ syn match texLigature '\\ae\>' conceal cchar=æ syn match texLigature '\\oe\>' conceal cchar=Å“ syn match texLigature '\\OE\>' conceal cchar=Å’ syn match texLigature '\\ss\>' conceal cchar=ß + syn match texLigature '--' conceal cchar=– + syn match texLigature '---' conceal cchar=— endif endif endif diff --git a/runtime/syntax/tt2.vim b/runtime/syntax/tt2.vim index 5321e277da..6432b85a05 100644 --- a/runtime/syntax/tt2.vim +++ b/runtime/syntax/tt2.vim @@ -3,10 +3,10 @@ " Author: Moriki, Atsushi <4woods+vim@gmail.com> " Homepage: http://github.com/vim-perl/vim-perl " Bugs/requests: http://github.com/vim-perl/vim-perl/issues -" Last Change: 2013-07-21 +" Last Change: 2015-04-25 " -" Instration: -" put tt2.vim and tt2html.vim in to your syntax diretory. +" Installation: +" put tt2.vim and tt2html.vim in to your syntax directory. " " add below in your filetype.vim. " au BufNewFile,BufRead *.tt2 setf tt2 diff --git a/runtime/syntax/tutor.vim b/runtime/syntax/tutor.vim index fbf159582a..cb101ee9a7 100644 --- a/runtime/syntax/tutor.vim +++ b/runtime/syntax/tutor.vim @@ -15,7 +15,7 @@ syn match tutorURL /\(https\?\|file\):\/\/[[:graph:]]\+\>\/\?/ syn match tutorEmail /\<[[:graph:]]\+@[[:graph:]]\+\>/ syn match tutorInternalAnchor /\*[[:alnum:]-]\+\*/ contained conceal containedin=tutorSection -syn match tutorSection /^#\{1,6}\s.\+$/ fold +syn match tutorSection /^#\{1,6}\s.\+$/ fold contains=tutorInlineNormal syn match tutorSectionBullet /#/ contained containedin=tutorSection syn match tutorTOC /\ctable of contents:/ @@ -44,7 +44,7 @@ syn region tutorInlineCommand matchgroup=Delimiter start=/\\\@<!`\(.*{vim}\)\@=/ syn region tutorNormal matchgroup=Delimiter start=/^\~\{3} norm\(al\?\)\?\s*$/ end=/^\~\{3}/ contains=@VIMNORMAL syn region tutorInlineNormal matchgroup=Delimiter start=/\\\@<!`\(\S*{normal}\)\@=/ end=/\\\@<!`\({normal}\)\@=/ nextgroup=tutorInlineType contains=@VIMNORMAL -syn match tutorInlineType /{\(normal\|vim\)}/ contained +syn match tutorInlineType /{\(normal\|vim\)}/ contained conceal syn match tutorInlineOK /✓/ syn match tutorInlineX /✗/ diff --git a/runtime/syntax/vim.vim b/runtime/syntax/vim.vim index 26eea03a3c..1551a314a3 100644 --- a/runtime/syntax/vim.vim +++ b/runtime/syntax/vim.vim @@ -140,7 +140,6 @@ endif syn match vimNumber "\<\d\+\%(\.\d\+\%([eE][+-]\=\d\+\)\=\)\=" skipwhite nextgroup=vimGlobal,vimSubst,vimCommand syn match vimNumber "-\d\+\%(\.\d\+\%([eE][+-]\=\d\+\)\=\)\=" skipwhite nextgroup=vimGlobal,vimSubst,vimCommand syn match vimNumber "\<0[xX]\x\+" -syn match vimNumber "\<0[bB][01]\+" syn match vimNumber "\%(^\|[^a-zA-Z]\)\zs#\x\{6}" " All vimCommands are contained by vimIsCommands. {{{2 @@ -275,8 +274,8 @@ syn region vimPatSepZone oneline contained matchgroup=vimPatSepZ start="\\%\ syn region vimPatRegion contained transparent matchgroup=vimPatSepR start="\\[z%]\=(" end="\\)" contains=@vimSubstList oneline syn match vimNotPatSep contained "\\\\" syn cluster vimStringGroup contains=vimEscapeBrace,vimPatSep,vimNotPatSep,vimPatSepErr,vimPatSepZone,@Spell -syn region vimString oneline keepend start=+[^:a-zA-Z>!\\@]"+lc=1 skip=+\\\\\|\\"+ end=+"+ contains=@vimStringGroup -syn region vimString oneline keepend start=+[^:a-zA-Z>!\\@]'+lc=1 end=+'+ +syn region vimString oneline keepend start=+[^a-zA-Z>!\\@]"+lc=1 skip=+\\\\\|\\"+ end=+"+ contains=@vimStringGroup +syn region vimString oneline keepend start=+[^a-zA-Z>!\\@]'+lc=1 end=+'+ syn region vimString oneline start=+=!+lc=1 skip=+\\\\\|\\!+ end=+!+ contains=@vimStringGroup syn region vimString oneline start="=+"lc=1 skip="\\\\\|\\+" end="+" contains=@vimStringGroup syn region vimString oneline start="\s/\s*\A"lc=1 skip="\\\\\|\\+" end="/" contains=@vimStringGroup diff --git a/runtime/syntax/xs.vim b/runtime/syntax/xs.vim index d4ac9d1bc7..3e658b4a83 100644 --- a/runtime/syntax/xs.vim +++ b/runtime/syntax/xs.vim @@ -3,20 +3,19 @@ " Author: Autogenerated from perl headers, on an original basis of Michael W. Dodge <sarge@pobox.com> " Maintainer: vim-perl <vim-perl@googlegroups.com> " Previous: Vincent Pit <perl@profvince.com> -" Last Change: 2013-05-12 +" Last Change: 2017-09-12 -" quit when a syntax file was already loaded if exists("b:current_syntax") finish endif -" Read the C syntax to start with runtime! syntax/c.vim -let xs_superseded = 1 " mark C functions superseded by Perl replacements -let xs_not_core = 1 " mark private core functions +" Configuration: +" let xs_superseded = 0 " mark C functions superseded by Perl replacements (ex. memcpy vs Copy) +" let xs_not_core = 0 " mark private core functions -if exists("xs_superseded") && xs_superseded +if get(g:, 'xs_superseded', 0) syn keyword xsSuperseded atof atol calloc clearerr exit fclose feof ferror syn keyword xsSuperseded fflush fgetc fgetpos fgets fopen fprintf fputc fputs syn keyword xsSuperseded fread free freopen fseek fsetpos fwrite getc getenv @@ -28,45 +27,78 @@ syn keyword xsSuperseded strcat strcmp strcpy strdup strlen strncat strncmp syn keyword xsSuperseded strncpy strstr strtod strtol strtoul system tolower syn keyword xsSuperseded toupper ungetc endif -if exists("xs_not_core") && xs_not_core +if get(g:, 'xs_not_core', 0) syn keyword xsPrivate F0convert Perl__add_range_to_invlist -syn keyword xsPrivate Perl__core_swash_init Perl__invlist_contents +syn keyword xsPrivate Perl__core_swash_init Perl__get_encoding +syn keyword xsPrivate Perl__get_swash_invlist Perl__invlist_contents +syn keyword xsPrivate Perl__invlist_dump syn keyword xsPrivate Perl__invlist_intersection_maybe_complement_2nd -syn keyword xsPrivate Perl__invlist_invert Perl__invlist_invert_prop -syn keyword xsPrivate Perl__invlist_populate_swatch +syn keyword xsPrivate Perl__invlist_invert Perl__invlist_populate_swatch +syn keyword xsPrivate Perl__invlist_search syn keyword xsPrivate Perl__invlist_union_maybe_complement_2nd -syn keyword xsPrivate Perl__is_utf8__perl_idstart Perl__new_invlist -syn keyword xsPrivate Perl__swash_inversion_hash Perl__swash_to_invlist -syn keyword xsPrivate Perl__to_fold_latin1 Perl_av_reify Perl_emulate_cop_io -syn keyword xsPrivate Perl_find_rundefsvoffset Perl_get_re_arg -syn keyword xsPrivate Perl_is_utf8_X_L Perl_is_utf8_X_LV Perl_is_utf8_X_LVT -syn keyword xsPrivate Perl_is_utf8_X_LV_LVT_V Perl_is_utf8_X_T -syn keyword xsPrivate Perl_is_utf8_X_V Perl_is_utf8_X_begin -syn keyword xsPrivate Perl_is_utf8_X_extend Perl_is_utf8_X_non_hangul -syn keyword xsPrivate Perl_is_utf8_X_prepend Perl_is_utf8_char -syn keyword xsPrivate Perl_new_warnings_bitfield Perl_op_clear -syn keyword xsPrivate Perl_ptr_table_clear Perl_qerror Perl_reg_named_buff -syn keyword xsPrivate Perl_reg_named_buff_iter Perl_reg_numbered_buff_fetch +syn keyword xsPrivate Perl__load_PL_utf8_foldclosures Perl__new_invlist +syn keyword xsPrivate Perl__setup_canned_invlist Perl__swash_inversion_hash +syn keyword xsPrivate Perl__swash_to_invlist Perl__to_fold_latin1 +syn keyword xsPrivate Perl__warn_problematic_locale Perl_av_reify +syn keyword xsPrivate Perl_current_re_engine Perl_cv_ckproto_len_flags +syn keyword xsPrivate Perl_emulate_cop_io Perl_find_rundefsvoffset +syn keyword xsPrivate Perl_get_re_arg Perl_grok_atoUV Perl_isALNUM_lazy +syn keyword xsPrivate Perl_isIDFIRST_lazy Perl_is_uni_alnum +syn keyword xsPrivate Perl_is_uni_alnum_lc Perl_is_uni_alnumc +syn keyword xsPrivate Perl_is_uni_alnumc_lc Perl_is_uni_alpha +syn keyword xsPrivate Perl_is_uni_alpha_lc Perl_is_uni_ascii +syn keyword xsPrivate Perl_is_uni_ascii_lc Perl_is_uni_blank +syn keyword xsPrivate Perl_is_uni_blank_lc Perl_is_uni_cntrl +syn keyword xsPrivate Perl_is_uni_cntrl_lc Perl_is_uni_digit +syn keyword xsPrivate Perl_is_uni_digit_lc Perl_is_uni_graph +syn keyword xsPrivate Perl_is_uni_graph_lc Perl_is_uni_idfirst +syn keyword xsPrivate Perl_is_uni_idfirst_lc Perl_is_uni_lower +syn keyword xsPrivate Perl_is_uni_lower_lc Perl_is_uni_print +syn keyword xsPrivate Perl_is_uni_print_lc Perl_is_uni_punct +syn keyword xsPrivate Perl_is_uni_punct_lc Perl_is_uni_space +syn keyword xsPrivate Perl_is_uni_space_lc Perl_is_uni_upper +syn keyword xsPrivate Perl_is_uni_upper_lc Perl_is_uni_xdigit +syn keyword xsPrivate Perl_is_uni_xdigit_lc Perl_is_utf8_alnum +syn keyword xsPrivate Perl_is_utf8_alnumc Perl_is_utf8_alpha +syn keyword xsPrivate Perl_is_utf8_ascii Perl_is_utf8_blank Perl_is_utf8_char +syn keyword xsPrivate Perl_is_utf8_cntrl Perl_is_utf8_digit +syn keyword xsPrivate Perl_is_utf8_graph Perl_is_utf8_idcont +syn keyword xsPrivate Perl_is_utf8_idfirst Perl_is_utf8_lower +syn keyword xsPrivate Perl_is_utf8_mark Perl_is_utf8_perl_space +syn keyword xsPrivate Perl_is_utf8_perl_word Perl_is_utf8_posix_digit +syn keyword xsPrivate Perl_is_utf8_print Perl_is_utf8_punct +syn keyword xsPrivate Perl_is_utf8_space Perl_is_utf8_upper +syn keyword xsPrivate Perl_is_utf8_xdigit Perl_is_utf8_xidcont +syn keyword xsPrivate Perl_is_utf8_xidfirst Perl_mg_find_mglob Perl_mg_length +syn keyword xsPrivate Perl_multideref_stringify Perl_new_warnings_bitfield +syn keyword xsPrivate Perl_op_clear Perl_ptr_table_clear Perl_qerror +syn keyword xsPrivate Perl_reg_named_buff Perl_reg_named_buff_iter +syn keyword xsPrivate Perl_reg_numbered_buff_fetch syn keyword xsPrivate Perl_reg_numbered_buff_length syn keyword xsPrivate Perl_reg_numbered_buff_store Perl_reg_qr_package syn keyword xsPrivate Perl_reg_temp_copy Perl_regprop Perl_report_uninit -syn keyword xsPrivate Perl_sv_compile_2op Perl_sv_setsv_cow -syn keyword xsPrivate Perl_try_amagic_bin Perl_try_amagic_un -syn keyword xsPrivate Perl_utf8_to_uvchr Perl_utf8_to_uvuni -syn keyword xsPrivate Perl_vivify_defelem Perl_yylex S_F0convert S_Slab_to_rw -syn keyword xsPrivate S__append_range_to_invlist S__new_invlist_C_array -syn keyword xsPrivate S_add_alternate S_add_data S_add_utf16_textfilter -syn keyword xsPrivate S_adjust_stack_on_leave S_amagic_cmp +syn keyword xsPrivate Perl_sv_magicext_mglob Perl_sv_setsv_cow +syn keyword xsPrivate Perl_to_uni_lower_lc Perl_to_uni_title_lc +syn keyword xsPrivate Perl_to_uni_upper_lc Perl_try_amagic_bin +syn keyword xsPrivate Perl_try_amagic_un Perl_utf8_to_uvchr +syn keyword xsPrivate Perl_utf8_to_uvuni Perl_utf8_to_uvuni_buf +syn keyword xsPrivate Perl_valid_utf8_to_uvuni Perl_validate_proto +syn keyword xsPrivate Perl_vivify_defelem Perl_yylex S_F0convert +syn keyword xsPrivate S__append_range_to_invlist S__make_exactf_invlist +syn keyword xsPrivate S_add_above_Latin1_folds S_add_data S_add_multi_match +syn keyword xsPrivate S_add_utf16_textfilter S_adjust_size_and_find_bucket +syn keyword xsPrivate S_advance_one_SB S_advance_one_WB S_amagic_cmp syn keyword xsPrivate S_amagic_cmp_locale S_amagic_i_ncmp S_amagic_ncmp syn keyword xsPrivate S_anonymise_cv_maybe S_ao S_apply_attrs syn keyword xsPrivate S_apply_attrs_my S_assert_uft8_cache_coherent -syn keyword xsPrivate S_bad_type_pv S_bad_type_sv S_bytes_to_uni +syn keyword xsPrivate S_assignment_type S_backup_one_SB S_backup_one_WB +syn keyword xsPrivate S_bad_type_gv S_bad_type_pv syn keyword xsPrivate S_check_locale_boundary_crossing S_check_type_and_open -syn keyword xsPrivate S_check_uni S_checkcomma S_checkposixcc S_ckwarn_common -syn keyword xsPrivate S_cl_and S_cl_anything S_cl_init S_cl_is_anything -syn keyword xsPrivate S_cl_or S_clear_placeholders S_closest_cop S_cop_free -syn keyword xsPrivate S_core_regclass_swash S_cr_textfilter S_curmad S_curse -syn keyword xsPrivate S_cv_dump S_deb_curcv S_deb_stack_n S_debprof +syn keyword xsPrivate S_check_uni S_checkcomma S_ckwarn_common +syn keyword xsPrivate S_clear_placeholders S_clear_special_blocks +syn keyword xsPrivate S_cntrl_to_mnemonic S_construct_ahocorasick_from_trie +syn keyword xsPrivate S_cop_free S_could_it_be_a_POSIX_class S_cr_textfilter +syn keyword xsPrivate S_curse S_cv_dump S_deb_curcv S_deb_stack_n S_debprof syn keyword xsPrivate S_debug_start_match S_del_sv syn keyword xsPrivate S_deprecate_commaless_var_list S_destroy_matcher syn keyword xsPrivate S_div128 S_do_chomp S_do_delete_local S_do_oddball @@ -82,103 +114,116 @@ syn keyword xsPrivate S_dump_trie_interim_table S_dumpuntil S_dup_attrlist syn keyword xsPrivate S_exec_failed S_expect_number S_filter_gets syn keyword xsPrivate S_finalize_op S_find_and_forget_pmops syn keyword xsPrivate S_find_array_subscript S_find_beginning S_find_byclass -syn keyword xsPrivate S_find_hash_subscript S_find_in_my_stash -syn keyword xsPrivate S_find_uninit_var S_first_symbol S_fold_constants -syn keyword xsPrivate S_forbid_setid S_force_ident S_force_list S_force_next -syn keyword xsPrivate S_force_strict_version S_force_version S_force_word -syn keyword xsPrivate S_forget_pmop S_gen_constant_list S_get_aux_mg -syn keyword xsPrivate S_get_num S_glob_2number S_glob_assign_glob -syn keyword xsPrivate S_glob_assign_ref S_grok_bslash_c S_grok_bslash_o -syn keyword xsPrivate S_group_end S_gv_ename S_gv_get_super_pkg -syn keyword xsPrivate S_gv_init_svtype S_gv_magicalize_isa -syn keyword xsPrivate S_gv_magicalize_overload S_hfreeentries S_hsplit -syn keyword xsPrivate S_hv_auxinit S_hv_delete_common S_hv_free_ent_ret -syn keyword xsPrivate S_hv_magic_check S_hv_notallowed S_incline S_incpush -syn keyword xsPrivate S_incpush_if_exists S_incpush_use_sep S_ingroup -syn keyword xsPrivate S_init_ids S_init_interp S_init_main_stash -syn keyword xsPrivate S_init_perllib S_init_postdump_symbols -syn keyword xsPrivate S_init_predump_symbols S_inplace_aassign -syn keyword xsPrivate S_intuit_method S_intuit_more S_invlist_extend -syn keyword xsPrivate S_invlist_iternext S_invlist_search -syn keyword xsPrivate S_invoke_exception_hook S_is_an_int -syn keyword xsPrivate S_is_handle_constructor S_is_list_assignment -syn keyword xsPrivate S_is_utf8_char_slow S_is_utf8_common S_isa_lookup -syn keyword xsPrivate S_join_exact S_listkids S_looks_like_bool -syn keyword xsPrivate S_magic_methcall1 S_make_matcher S_make_trie -syn keyword xsPrivate S_make_trie_failtable S_matcher_matches_sv +syn keyword xsPrivate S_find_default_stash S_find_hash_subscript +syn keyword xsPrivate S_find_in_my_stash S_find_uninit_var S_first_symbol +syn keyword xsPrivate S_fixup_errno_string S_fold_constants S_forbid_setid +syn keyword xsPrivate S_force_ident S_force_ident_maybe_lex S_force_list +syn keyword xsPrivate S_force_next S_force_strict_version S_force_version +syn keyword xsPrivate S_force_word S_forget_pmop S_form_short_octal_warning +syn keyword xsPrivate S_gen_constant_list S_get_ANYOF_cp_list_for_ssc +syn keyword xsPrivate S_get_aux_mg S_get_num S_glob_2number +syn keyword xsPrivate S_glob_assign_glob S_grok_bslash_N S_grok_bslash_c +syn keyword xsPrivate S_grok_bslash_o S_group_end S_gv_init_svtype +syn keyword xsPrivate S_gv_is_in_main S_gv_magicalize S_gv_magicalize_isa +syn keyword xsPrivate S_handle_regex_sets S_hfreeentries S_hsplit +syn keyword xsPrivate S_hv_auxinit S_hv_auxinit_internal S_hv_delete_common +syn keyword xsPrivate S_hv_free_ent_ret S_hv_magic_check S_hv_notallowed +syn keyword xsPrivate S_incline S_incpush S_incpush_if_exists +syn keyword xsPrivate S_incpush_use_sep S_ingroup S_init_ids S_init_interp +syn keyword xsPrivate S_init_main_stash S_init_perllib +syn keyword xsPrivate S_init_postdump_symbols S_init_predump_symbols +syn keyword xsPrivate S_inplace_aassign S_intuit_method S_intuit_more +syn keyword xsPrivate S_invlist_extend S_invlist_iternext +syn keyword xsPrivate S_invoke_exception_hook S_isFOO_lc S_isFOO_utf8_lc +syn keyword xsPrivate S_isGCB S_isSB S_isWB S_is_an_int +syn keyword xsPrivate S_is_handle_constructor S_is_ssc_worth_it S_isa_lookup +syn keyword xsPrivate S_join_exact S_leave_common S_listkids +syn keyword xsPrivate S_looks_like_bool S_magic_methcall1 S_make_matcher +syn keyword xsPrivate S_make_trie S_matcher_matches_sv S_maybe_multimagic_gv syn keyword xsPrivate S_mayberelocate S_measure_struct S_mem_log_common -syn keyword xsPrivate S_mess_alloc S_method_common S_minus_v S_missingterm -syn keyword xsPrivate S_modkids S_more_sv S_mro_clean_isarev +syn keyword xsPrivate S_mess_alloc S_minus_v S_missingterm S_modkids +syn keyword xsPrivate S_more_sv S_move_proto_attr S_mro_clean_isarev syn keyword xsPrivate S_mro_gather_and_rename S_mro_get_linear_isa_dfs -syn keyword xsPrivate S_mul128 S_mulexp10 S_my_exit_jump S_my_kid S_need_utf8 -syn keyword xsPrivate S_newDEFSVOP S_newGIVWHENOP S_new_constant S_new_he -syn keyword xsPrivate S_new_logop S_next_symbol S_nextchar +syn keyword xsPrivate S_mul128 S_mulexp10 S_my_bytes_to_utf8 S_my_exit_jump +syn keyword xsPrivate S_my_kid S_need_utf8 S_newGIVWHENOP S_new_constant +syn keyword xsPrivate S_new_he S_new_logop S_next_symbol S_nextchar syn keyword xsPrivate S_no_bareword_allowed S_no_fh_allowed S_no_op -syn keyword xsPrivate S_not_a_number S_nuke_stacks S_num_overflow -syn keyword xsPrivate S_open_script S_opt_scalarhv S_pack_rec -syn keyword xsPrivate S_pad_alloc_name S_pad_check_dup S_pad_findlex -syn keyword xsPrivate S_pad_reset S_parse_body S_path_is_absolute S_pidgone -syn keyword xsPrivate S_pm_description S_pmtrans S_printbuf -syn keyword xsPrivate S_process_special_blocks S_ptr_table_find S_put_byte -syn keyword xsPrivate S_qsortsvu S_re_croak2 S_readpipe_override -syn keyword xsPrivate S_ref_array_or_hash S_refcounted_he_value S_refkids -syn keyword xsPrivate S_refto S_reg S_reg_check_named_buff_matched -syn keyword xsPrivate S_reg_namedseq S_reg_node S_reg_recode S_reg_scan_name -syn keyword xsPrivate S_reg_skipcomment S_reganode S_regatom S_regbranch -syn keyword xsPrivate S_regclass S_regcppop S_regcppush S_regdump_extflags -syn keyword xsPrivate S_reghop3 S_reghop4 S_reghopmaybe3 S_reginclass -syn keyword xsPrivate S_reginsert S_regmatch S_regpiece S_regpposixcc -syn keyword xsPrivate S_regrepeat S_regtail S_regtail_study S_regtry S_reguni -syn keyword xsPrivate S_regwhite S_require_tie_mod S_restore_magic S_run_body -syn keyword xsPrivate S_run_user_filter S_rxres_free S_rxres_restore -syn keyword xsPrivate S_save_hek_flags S_save_lines S_save_magic -syn keyword xsPrivate S_save_pushptri32ptr S_save_scalar_at S_scalar_mod_type -syn keyword xsPrivate S_scalarboolean S_scalarkids S_scalarseq S_scan_commit -syn keyword xsPrivate S_scan_const S_scan_formline S_scan_heredoc -syn keyword xsPrivate S_scan_ident S_scan_inputsymbol S_scan_pat S_scan_str -syn keyword xsPrivate S_scan_subst S_scan_trans S_scan_word S_search_const -syn keyword xsPrivate S_sequence_num S_set_regclass_bit_fold -syn keyword xsPrivate S_share_hek_flags S_simplify_sort S_skipspace -syn keyword xsPrivate S_skipspace0 S_skipspace1 S_skipspace2 S_sortcv -syn keyword xsPrivate S_sortcv_stacked S_sortcv_xsub -syn keyword xsPrivate S_space_join_names_mortal S_start_force S_stdize_locale -syn keyword xsPrivate S_strip_return S_study_chunk S_sublex_done -syn keyword xsPrivate S_sublex_push S_sublex_start S_sv_2iuv_common -syn keyword xsPrivate S_sv_2iuv_non_preserve S_sv_add_arena S_sv_dup_common +syn keyword xsPrivate S_not_a_number S_not_incrementable S_nuke_stacks +syn keyword xsPrivate S_num_overflow S_open_script S_openn_cleanup +syn keyword xsPrivate S_openn_setup S_pack_rec S_pad_alloc_name +syn keyword xsPrivate S_pad_check_dup S_pad_findlex S_pad_reset S_parse_body +syn keyword xsPrivate S_parse_gv_stash_name S_parse_ident +syn keyword xsPrivate S_parse_lparen_question_flags S_pending_ident S_pidgone +syn keyword xsPrivate S_pm_description S_pmtrans +syn keyword xsPrivate S_populate_ANYOF_from_invlist S_printbuf +syn keyword xsPrivate S_process_special_blocks S_ptr_table_find +syn keyword xsPrivate S_put_charclass_bitmap_innards S_put_code_point +syn keyword xsPrivate S_put_range S_qsortsvu S_re_croak2 S_ref_array_or_hash +syn keyword xsPrivate S_refcounted_he_value S_refkids S_refto S_reg +syn keyword xsPrivate S_reg2Lanode S_reg_check_named_buff_matched S_reg_node +syn keyword xsPrivate S_reg_recode S_reg_scan_name S_reganode S_regatom +syn keyword xsPrivate S_regbranch S_regclass S_regcppop S_regcppush +syn keyword xsPrivate S_regdump_extflags S_regdump_intflags +syn keyword xsPrivate S_regex_set_precedence S_reghop3 S_reghop4 +syn keyword xsPrivate S_reghopmaybe3 S_reginclass S_reginsert S_regmatch +syn keyword xsPrivate S_regnode_guts S_regpatws S_regpiece S_regrepeat +syn keyword xsPrivate S_regtail S_regtail_study S_regtry S_require_tie_mod +syn keyword xsPrivate S_restore_magic S_run_body S_run_user_filter +syn keyword xsPrivate S_rxres_free S_rxres_restore S_save_hek_flags +syn keyword xsPrivate S_save_lines S_save_magic_flags S_save_pushptri32ptr +syn keyword xsPrivate S_save_scalar_at S_scalar_mod_type S_scalarboolean +syn keyword xsPrivate S_scalarkids S_scalarseq S_scan_commit S_scan_const +syn keyword xsPrivate S_scan_formline S_scan_heredoc S_scan_ident +syn keyword xsPrivate S_scan_inputsymbol S_scan_pat S_scan_str S_scan_subst +syn keyword xsPrivate S_scan_trans S_scan_word S_search_const S_sequence_num +syn keyword xsPrivate S_set_ANYOF_arg S_share_hek_flags S_simplify_sort +syn keyword xsPrivate S_skipspace_flags S_sortcv S_sortcv_stacked +syn keyword xsPrivate S_sortcv_xsub S_space_join_names_mortal S_ssc_and +syn keyword xsPrivate S_ssc_anything S_ssc_finalize S_ssc_init +syn keyword xsPrivate S_ssc_is_anything S_ssc_is_cp_posixl_init S_ssc_or +syn keyword xsPrivate S_stdize_locale S_strip_return S_study_chunk +syn keyword xsPrivate S_sublex_done S_sublex_push S_sublex_start +syn keyword xsPrivate S_sv_2iuv_common S_sv_2iuv_non_preserve S_sv_add_arena +syn keyword xsPrivate S_sv_buf_to_rw S_sv_display S_sv_dup_common syn keyword xsPrivate S_sv_dup_inc_multiple S_sv_exp_grow S_sv_i_ncmp syn keyword xsPrivate S_sv_ncmp S_sv_pos_b2u_midway S_sv_pos_u2b_cached syn keyword xsPrivate S_sv_pos_u2b_forwards S_sv_pos_u2b_midway -syn keyword xsPrivate S_sv_release_COW S_swallow_bom S_swatch_get -syn keyword xsPrivate S_to_byte_substr S_to_lower_latin1 S_to_utf8_substr -syn keyword xsPrivate S_tokenize_use S_tokeq S_tokereport -syn keyword xsPrivate S_too_few_arguments_pv S_too_few_arguments_sv -syn keyword xsPrivate S_too_many_arguments_pv S_too_many_arguments_sv +syn keyword xsPrivate S_sv_release_COW S_swallow_bom S_swash_scan_list_line +syn keyword xsPrivate S_swatch_get S_to_byte_substr S_to_lower_latin1 +syn keyword xsPrivate S_to_utf8_substr S_tokenize_use S_tokeq S_tokereport +syn keyword xsPrivate S_too_few_arguments_pv S_too_many_arguments_pv syn keyword xsPrivate S_uiv_2buf S_unpack_rec S_unreferenced_to_tmp_stack syn keyword xsPrivate S_unshare_hek_or_pvn S_unwind_handler_stack syn keyword xsPrivate S_update_debugger_info S_usage S_utf16_textfilter syn keyword xsPrivate S_utf8_mg_len_cache_update S_utf8_mg_pos_cache_update syn keyword xsPrivate S_validate_suid S_visit S_with_queued_errors -syn keyword xsPrivate S_write_no_mem S_xmldump_attr S_yywarn Slab_to_rw -syn keyword xsPrivate _add_range_to_invlist _append_range_to_invlist -syn keyword xsPrivate _core_swash_init _invlist_array_init _invlist_contents +syn keyword xsPrivate S_xs_version_bootcheck S_yywarn _add_range_to_invlist +syn keyword xsPrivate _append_range_to_invlist _core_swash_init _get_encoding +syn keyword xsPrivate _get_swash_invlist _invlist_array_init +syn keyword xsPrivate _invlist_contains_cp _invlist_contents _invlist_dump syn keyword xsPrivate _invlist_intersection syn keyword xsPrivate _invlist_intersection_maybe_complement_2nd -syn keyword xsPrivate _invlist_invert _invlist_invert_prop -syn keyword xsPrivate _invlist_populate_swatch _invlist_subtract -syn keyword xsPrivate _invlist_union _invlist_union_maybe_complement_2nd -syn keyword xsPrivate _is_utf8__perl_idstart _new_invlist -syn keyword xsPrivate _new_invlist_C_array _swash_inversion_hash -syn keyword xsPrivate _swash_to_invlist _to_fold_latin1 add_alternate -syn keyword xsPrivate add_cp_to_invlist add_data add_utf16_textfilter -syn keyword xsPrivate adjust_stack_on_leave amagic_cmp amagic_cmp_locale +syn keyword xsPrivate _invlist_invert _invlist_len _invlist_populate_swatch +syn keyword xsPrivate _invlist_search _invlist_subtract _invlist_union +syn keyword xsPrivate _invlist_union_maybe_complement_2nd +syn keyword xsPrivate _load_PL_utf8_foldclosures _make_exactf_invlist +syn keyword xsPrivate _new_invlist _setup_canned_invlist +syn keyword xsPrivate _swash_inversion_hash _swash_to_invlist _to_fold_latin1 +syn keyword xsPrivate _warn_problematic_locale add_above_Latin1_folds +syn keyword xsPrivate add_cp_to_invlist add_data add_multi_match +syn keyword xsPrivate add_utf16_textfilter adjust_size_and_find_bucket +syn keyword xsPrivate advance_one_SB advance_one_WB +syn keyword xsPrivate alloc_maybe_populate_EXACT amagic_cmp amagic_cmp_locale syn keyword xsPrivate amagic_i_ncmp amagic_ncmp anonymise_cv_maybe ao syn keyword xsPrivate apply_attrs apply_attrs_my assert_uft8_cache_coherent -syn keyword xsPrivate av_reify bad_type_pv bad_type_sv bytes_to_uni -syn keyword xsPrivate check_locale_boundary_crossing check_type_and_open -syn keyword xsPrivate check_uni checkcomma checkposixcc ckwarn_common cl_and -syn keyword xsPrivate cl_anything cl_init cl_is_anything cl_or -syn keyword xsPrivate clear_placeholders closest_cop cop_free -syn keyword xsPrivate core_regclass_swash cr_textfilter curmad curse cv_dump +syn keyword xsPrivate assignment_type av_reify backup_one_SB backup_one_WB +syn keyword xsPrivate bad_type_gv bad_type_pv check_locale_boundary_crossing +syn keyword xsPrivate check_type_and_open check_uni checkcomma ckwarn_common +syn keyword xsPrivate clear_placeholders clear_special_blocks +syn keyword xsPrivate cntrl_to_mnemonic compute_EXACTish +syn keyword xsPrivate construct_ahocorasick_from_trie cop_free +syn keyword xsPrivate could_it_be_a_POSIX_class cr_textfilter +syn keyword xsPrivate current_re_engine curse cv_ckproto_len_flags cv_dump syn keyword xsPrivate deb_curcv deb_stack_n debprof debug_start_match del_sv syn keyword xsPrivate deprecate_commaless_var_list destroy_matcher div128 syn keyword xsPrivate do_aexec do_chomp do_delete_local do_exec do_oddball @@ -192,274 +237,342 @@ syn keyword xsPrivate dump_trie_interim_list dump_trie_interim_table syn keyword xsPrivate dumpuntil dup_attrlist exec_failed expect_number syn keyword xsPrivate filter_gets finalize_op find_and_forget_pmops syn keyword xsPrivate find_array_subscript find_beginning find_byclass -syn keyword xsPrivate find_hash_subscript find_in_my_stash +syn keyword xsPrivate find_default_stash find_hash_subscript find_in_my_stash syn keyword xsPrivate find_rundefsvoffset find_uninit_var first_symbol -syn keyword xsPrivate fold_constants forbid_setid force_ident force_list -syn keyword xsPrivate force_next force_strict_version force_version -syn keyword xsPrivate force_word gen_constant_list get_aux_mg -syn keyword xsPrivate get_invlist_iter_addr get_invlist_len_addr -syn keyword xsPrivate get_invlist_version_id_addr get_invlist_zero_addr -syn keyword xsPrivate get_num glob_2number glob_assign_glob glob_assign_ref -syn keyword xsPrivate grok_bslash_c grok_bslash_o group_end gv_ename -syn keyword xsPrivate gv_get_super_pkg gv_init_svtype gv_magicalize_isa -syn keyword xsPrivate gv_magicalize_overload hfreeentries hsplit hv_auxinit -syn keyword xsPrivate hv_delete_common hv_free_ent_ret hv_magic_check -syn keyword xsPrivate hv_notallowed incline incpush incpush_if_exists -syn keyword xsPrivate incpush_use_sep ingroup init_ids init_interp -syn keyword xsPrivate init_main_stash init_perllib init_postdump_symbols -syn keyword xsPrivate init_predump_symbols inplace_aassign intuit_method -syn keyword xsPrivate intuit_more invlist_array invlist_clone invlist_extend -syn keyword xsPrivate invlist_iterinit invlist_iternext invlist_len -syn keyword xsPrivate invlist_max invlist_search invlist_set_len invlist_trim -syn keyword xsPrivate invoke_exception_hook is_an_int is_handle_constructor -syn keyword xsPrivate is_list_assignment is_utf8_X_L is_utf8_X_LV -syn keyword xsPrivate is_utf8_X_LVT is_utf8_X_LV_LVT_V is_utf8_X_T -syn keyword xsPrivate is_utf8_X_V is_utf8_X_begin is_utf8_X_extend -syn keyword xsPrivate is_utf8_X_non_hangul is_utf8_X_prepend is_utf8_char -syn keyword xsPrivate is_utf8_char_slow is_utf8_common isa_lookup join_exact -syn keyword xsPrivate listkids looks_like_bool magic_methcall1 make_matcher -syn keyword xsPrivate make_trie make_trie_failtable matcher_matches_sv -syn keyword xsPrivate mayberelocate measure_struct mem_log_common mess_alloc -syn keyword xsPrivate method_common minus_v missingterm modkids more_sv -syn keyword xsPrivate mro_clean_isarev mro_gather_and_rename -syn keyword xsPrivate mro_get_linear_isa_dfs mul128 mulexp10 my_exit_jump -syn keyword xsPrivate my_kid need_utf8 newDEFSVOP newGIVWHENOP new_he -syn keyword xsPrivate new_logop next_symbol nextchar no_bareword_allowed -syn keyword xsPrivate no_fh_allowed no_op not_a_number nuke_stacks -syn keyword xsPrivate num_overflow op_clear open_script opt_scalarhv pack_rec -syn keyword xsPrivate pad_alloc_name pad_check_dup pad_findlex pad_reset -syn keyword xsPrivate parse_body path_is_absolute pidgone pm_description -syn keyword xsPrivate pmtrans printbuf process_special_blocks ptr_table_clear -syn keyword xsPrivate ptr_table_find put_byte qerror qsortsvu re_croak2 -syn keyword xsPrivate readpipe_override ref_array_or_hash refcounted_he_value -syn keyword xsPrivate refkids refto reg reg_check_named_buff_matched -syn keyword xsPrivate reg_named_buff reg_named_buff_iter reg_namedseq -syn keyword xsPrivate reg_node reg_numbered_buff_fetch +syn keyword xsPrivate fixup_errno_string fold_constants forbid_setid +syn keyword xsPrivate force_ident force_ident_maybe_lex force_list force_next +syn keyword xsPrivate force_strict_version force_version force_word +syn keyword xsPrivate forget_pmop form_short_octal_warning free_c_backtrace +syn keyword xsPrivate gen_constant_list get_ANYOF_cp_list_for_ssc get_aux_mg +syn keyword xsPrivate get_invlist_iter_addr get_invlist_offset_addr +syn keyword xsPrivate get_invlist_previous_index_addr get_num glob_2number +syn keyword xsPrivate glob_assign_glob grok_atoUV grok_bslash_N grok_bslash_c +syn keyword xsPrivate grok_bslash_o grok_bslash_x group_end gv_init_svtype +syn keyword xsPrivate gv_is_in_main gv_magicalize gv_magicalize_isa +syn keyword xsPrivate handle_regex_sets hfreeentries hsplit hv_auxinit +syn keyword xsPrivate hv_auxinit_internal hv_delete_common hv_free_ent_ret +syn keyword xsPrivate hv_magic_check hv_notallowed incline incpush +syn keyword xsPrivate incpush_if_exists incpush_use_sep ingroup init_ids +syn keyword xsPrivate init_interp init_main_stash init_perllib +syn keyword xsPrivate init_postdump_symbols init_predump_symbols +syn keyword xsPrivate inplace_aassign intuit_method intuit_more invlist_array +syn keyword xsPrivate invlist_clone invlist_extend invlist_highest +syn keyword xsPrivate invlist_is_iterating invlist_iterfinish +syn keyword xsPrivate invlist_iterinit invlist_iternext invlist_max +syn keyword xsPrivate invlist_previous_index invlist_set_len +syn keyword xsPrivate invlist_set_previous_index invlist_trim +syn keyword xsPrivate invoke_exception_hook isALNUM_lazy isFOO_lc +syn keyword xsPrivate isFOO_utf8_lc isGCB isIDFIRST_lazy isSB isWB is_an_int +syn keyword xsPrivate is_handle_constructor is_ssc_worth_it is_uni_alnum +syn keyword xsPrivate is_uni_alnum_lc is_uni_alnumc is_uni_alnumc_lc +syn keyword xsPrivate is_uni_alpha is_uni_alpha_lc is_uni_ascii +syn keyword xsPrivate is_uni_ascii_lc is_uni_blank is_uni_blank_lc +syn keyword xsPrivate is_uni_cntrl is_uni_cntrl_lc is_uni_digit +syn keyword xsPrivate is_uni_digit_lc is_uni_graph is_uni_graph_lc +syn keyword xsPrivate is_uni_idfirst is_uni_idfirst_lc is_uni_lower +syn keyword xsPrivate is_uni_lower_lc is_uni_print is_uni_print_lc +syn keyword xsPrivate is_uni_punct is_uni_punct_lc is_uni_space +syn keyword xsPrivate is_uni_space_lc is_uni_upper is_uni_upper_lc +syn keyword xsPrivate is_uni_xdigit is_uni_xdigit_lc is_utf8_alnum +syn keyword xsPrivate is_utf8_alnumc is_utf8_alpha is_utf8_ascii +syn keyword xsPrivate is_utf8_blank is_utf8_char is_utf8_cntrl is_utf8_digit +syn keyword xsPrivate is_utf8_graph is_utf8_idcont is_utf8_idfirst +syn keyword xsPrivate is_utf8_lower is_utf8_mark is_utf8_perl_space +syn keyword xsPrivate is_utf8_perl_word is_utf8_posix_digit is_utf8_print +syn keyword xsPrivate is_utf8_punct is_utf8_space is_utf8_upper +syn keyword xsPrivate is_utf8_xdigit is_utf8_xidcont is_utf8_xidfirst +syn keyword xsPrivate isa_lookup join_exact leave_common listkids +syn keyword xsPrivate looks_like_bool magic_methcall1 make_matcher make_trie +syn keyword xsPrivate matcher_matches_sv maybe_multimagic_gv mayberelocate +syn keyword xsPrivate measure_struct mem_log_common mess_alloc mg_find_mglob +syn keyword xsPrivate mg_length minus_v missingterm modkids more_sv +syn keyword xsPrivate move_proto_attr mro_clean_isarev mro_gather_and_rename +syn keyword xsPrivate mro_get_linear_isa_dfs mul128 mulexp10 +syn keyword xsPrivate multideref_stringify my_bytes_to_utf8 my_exit_jump +syn keyword xsPrivate my_kid need_utf8 newGIVWHENOP new_he new_logop +syn keyword xsPrivate next_symbol nextchar no_bareword_allowed no_fh_allowed +syn keyword xsPrivate no_op not_a_number not_incrementable nuke_stacks +syn keyword xsPrivate num_overflow op_clear open_script openn_cleanup +syn keyword xsPrivate openn_setup pack_rec pad_alloc_name pad_check_dup +syn keyword xsPrivate pad_findlex pad_reset parse_body parse_gv_stash_name +syn keyword xsPrivate parse_ident parse_lparen_question_flags pending_ident +syn keyword xsPrivate pidgone pm_description pmtrans +syn keyword xsPrivate populate_ANYOF_from_invlist printbuf +syn keyword xsPrivate process_special_blocks ptr_table_clear ptr_table_find +syn keyword xsPrivate put_charclass_bitmap_innards put_code_point put_range +syn keyword xsPrivate qerror qsortsvu re_croak2 ref_array_or_hash +syn keyword xsPrivate refcounted_he_value refkids refto reg reg2Lanode +syn keyword xsPrivate reg_check_named_buff_matched reg_named_buff +syn keyword xsPrivate reg_named_buff_iter reg_node reg_numbered_buff_fetch syn keyword xsPrivate reg_numbered_buff_length reg_numbered_buff_store syn keyword xsPrivate reg_qr_package reg_recode reg_scan_name reg_skipcomment syn keyword xsPrivate reg_temp_copy reganode regatom regbranch regclass -syn keyword xsPrivate regcppop regcppush regcurly regdump_extflags reghop3 -syn keyword xsPrivate reghop4 reghopmaybe3 reginclass reginsert regmatch -syn keyword xsPrivate regpiece regpposixcc regprop regrepeat regtail -syn keyword xsPrivate regtail_study regtry reguni regwhite report_uninit -syn keyword xsPrivate require_tie_mod restore_magic run_body run_user_filter -syn keyword xsPrivate rxres_free rxres_restore save_hek_flags save_lines -syn keyword xsPrivate save_magic save_pushptri32ptr save_scalar_at +syn keyword xsPrivate regcppop regcppush regcurly regdump_extflags +syn keyword xsPrivate regdump_intflags regex_set_precedence reghop3 reghop4 +syn keyword xsPrivate reghopmaybe3 reginclass reginsert regmatch regnode_guts +syn keyword xsPrivate regpatws regpiece regpposixcc regprop regrepeat regtail +syn keyword xsPrivate regtail_study regtry report_uninit require_tie_mod +syn keyword xsPrivate restore_magic run_body run_user_filter rxres_free +syn keyword xsPrivate rxres_restore save_hek_flags save_lines +syn keyword xsPrivate save_magic_flags save_pushptri32ptr save_scalar_at syn keyword xsPrivate scalar_mod_type scalarboolean scalarkids scalarseq syn keyword xsPrivate scan_commit scan_const scan_formline scan_heredoc syn keyword xsPrivate scan_ident scan_inputsymbol scan_pat scan_str syn keyword xsPrivate scan_subst scan_trans scan_word search_const -syn keyword xsPrivate sequence_num set_regclass_bit set_regclass_bit_fold -syn keyword xsPrivate share_hek_flags simplify_sort skipspace skipspace0 -syn keyword xsPrivate skipspace1 skipspace2 sortcv sortcv_stacked sortcv_xsub -syn keyword xsPrivate space_join_names_mortal start_force stdize_locale +syn keyword xsPrivate sequence_num set_ANYOF_arg share_hek_flags +syn keyword xsPrivate simplify_sort skipspace_flags sortcv sortcv_stacked +syn keyword xsPrivate sortcv_xsub space_join_names_mortal ssc_add_range +syn keyword xsPrivate ssc_and ssc_anything ssc_clear_locale ssc_cp_and +syn keyword xsPrivate ssc_finalize ssc_init ssc_intersection ssc_is_anything +syn keyword xsPrivate ssc_is_cp_posixl_init ssc_or ssc_union stdize_locale syn keyword xsPrivate strip_return study_chunk sublex_done sublex_push syn keyword xsPrivate sublex_start sv_2iuv_common sv_2iuv_non_preserve -syn keyword xsPrivate sv_add_arena sv_compile_2op sv_dup_common -syn keyword xsPrivate sv_dup_inc_multiple sv_exp_grow sv_i_ncmp sv_ncmp -syn keyword xsPrivate sv_pos_b2u_midway sv_pos_u2b_cached sv_pos_u2b_forwards -syn keyword xsPrivate sv_pos_u2b_midway sv_release_COW sv_setsv_cow -syn keyword xsPrivate swallow_bom swatch_get to_byte_substr to_lower_latin1 +syn keyword xsPrivate sv_add_arena sv_buf_to_rw sv_copypv sv_display +syn keyword xsPrivate sv_dup_common sv_dup_inc_multiple sv_exp_grow sv_i_ncmp +syn keyword xsPrivate sv_magicext_mglob sv_ncmp sv_only_taint_gmagic +syn keyword xsPrivate sv_or_pv_pos_u2b sv_pos_b2u_midway sv_pos_u2b_cached +syn keyword xsPrivate sv_pos_u2b_forwards sv_pos_u2b_midway sv_release_COW +syn keyword xsPrivate sv_setsv_cow swallow_bom swash_scan_list_line +syn keyword xsPrivate swatch_get to_byte_substr to_lower_latin1 +syn keyword xsPrivate to_uni_lower_lc to_uni_title_lc to_uni_upper_lc syn keyword xsPrivate to_utf8_substr tokenize_use tokeq tokereport -syn keyword xsPrivate too_few_arguments_pv too_few_arguments_sv -syn keyword xsPrivate too_many_arguments_pv too_many_arguments_sv uiv_2buf +syn keyword xsPrivate too_few_arguments_pv too_many_arguments_pv uiv_2buf syn keyword xsPrivate unpack_rec unreferenced_to_tmp_stack unshare_hek_or_pvn syn keyword xsPrivate unwind_handler_stack update_debugger_info usage syn keyword xsPrivate utf16_textfilter utf8_mg_len_cache_update syn keyword xsPrivate utf8_mg_pos_cache_update utf8_to_uvchr utf8_to_uvuni -syn keyword xsPrivate visit vivify_defelem with_queued_errors write_no_mem -syn keyword xsPrivate xmldump_attr yylex yywarn +syn keyword xsPrivate utf8_to_uvuni_buf valid_utf8_to_uvuni validate_proto +syn keyword xsPrivate visit vivify_defelem with_queued_errors yylex yywarn endif syn keyword xsType AMT AMTS ANY AV BHK BINOP BLOCK CHECKPOINT CLONE_PARAMS syn keyword xsType COP COPHH CV DB_Hash_t DB_Prefix_t DEBUG_t Direntry_t -syn keyword xsType Fpos_t Free_t GP GV Gid_t Groups_t HE HEK HV I16 I32 I64 -syn keyword xsType I8 IO IV Int64 JMPENV LISTOP LOGOP LOOP MADPROP MAGIC MGS -syn keyword xsType MGVTBL Malloc_t Mmap_t Mode_t NEXTTOKE NV Netdb_hlen_t -syn keyword xsType Netdb_host_t Netdb_name_t Netdb_net_t OP OPCODE OP_4tree -syn keyword xsType Off_t Optype PAD PADLIST PADOFFSET PADOP PERL_CONTEXT -syn keyword xsType PERL_SI PMOP PTR_TBL_ENT_t PTR_TBL_t PVOP PerlIO -syn keyword xsType PerlIO_funcs PerlIO_list_s PerlIO_list_t PerlIOl -syn keyword xsType PerlInterpreter Pid_t Quad_t REGEXP Rand_seed_t SSize_t -syn keyword xsType STRLEN STRUCT_SV SUBLEXINFO SV SVOP Select_fd_set_t -syn keyword xsType Shmat_t Signal_t Sigsave_t Size_t Sock_size_t Stat_t TM64 -syn keyword xsType TOKEN Time64_T Time_t U16 U32 U64 U8 UNOP UV Uid_t Uquad_t -syn keyword xsType XOP XPV XPVAV XPVBM XPVCV XPVFM XPVGV XPVHV XPVIO XPVIV -syn keyword xsType XPVLV XPVMG XPVNV XPVUV Year _PerlIO _PerlIO_funcs -syn keyword xsType _pMY_CXT _pTHX _reg_ac_data _reg_trie_data _reg_trie_state -syn keyword xsType _reg_trie_trans _reg_trie_trans_list_elem _sublex_info -syn keyword xsType _xhvnameu _xivu _xmgu _xnvu am_table am_table_short -syn keyword xsType block_eval block_format block_givwhen block_hooks -syn keyword xsType block_loop block_sub bool clone_params custom_op -syn keyword xsType cv_flags_t expectation gccbug_semun line_t madprop magic -syn keyword xsType mem_log_type mgvtbl mro_alg mro_meta my_cxt_t opcode p5rx -syn keyword xsType pMY_CXT pMY_CXT_ pTHX pTHX_ padtidy_type perl_cond -syn keyword xsType perl_debug_pad perl_key perl_memory_debug_header -syn keyword xsType perl_mstats perl_mstats_t perl_mutex perl_os_thread -syn keyword xsType perl_phase perl_vars perl_wait_queue pthread_addr_t -syn keyword xsType ptr_tbl ptr_tbl_ent re_save_state refcounted_he -syn keyword xsType reg_ac_data reg_data reg_substr_data reg_substr_datum -syn keyword xsType reg_trie_data reg_trie_state reg_trie_trans -syn keyword xsType reg_trie_trans_le regex_charset regnode regnode_1 -syn keyword xsType regnode_2 regnode_2L regnode_charclass -syn keyword xsType regnode_charclass_class regnode_string semun shared_he -syn keyword xsType svtype thread_intern ufuncs xpv xpvav xpvcv xpvfm xpvgv -syn keyword xsType xpvhv xpvhv_aux xpvio xpviv xpvlv xpvmg xpvnv xpvuv +syn keyword xsType Fpos_t Free_t GCB_enum GP GV Gid_t Groups_t HE HEK HV I16 +syn keyword xsType I32 I64 I8 IO IV Int64 JMPENV LISTOP LOGOP LOOP MAGIC +syn keyword xsType METHOP MGS MGVTBL Malloc_t Mmap_t Mode_t NV Netdb_hlen_t +syn keyword xsType Netdb_host_t Netdb_name_t Netdb_net_t OP OPCODE OPSLAB +syn keyword xsType OPSLOT Off_t Optype PAD PADLIST PADNAME PADNAMELIST +syn keyword xsType PADOFFSET PADOP PERL_CONTEXT PERL_DRAND48_T PERL_SI PMOP +syn keyword xsType PTR_TBL_ENT_t PTR_TBL_t PVOP PerlHandShakeInterpreter +syn keyword xsType PerlIO PerlIO_funcs PerlIO_list_s PerlIO_list_t PerlIOl +syn keyword xsType PerlInterpreter Pid_t Quad_t REGEXP RExC_state_t +syn keyword xsType Rand_seed_t SB_enum SSize_t STRLEN STRUCT_SV SUBLEXINFO SV +syn keyword xsType SVOP Select_fd_set_t Shmat_t Signal_t Sigsave_t Size_t +syn keyword xsType Sock_size_t Stat_t TM64 Time64_T Time_t U16 U32 U64 U8 +syn keyword xsType UNOP UNOP_AUX UV Uid_t Uquad_t WB_enum XINVLIST XOP XPV +syn keyword xsType XPVAV XPVBM XPVCV XPVFM XPVGV XPVHV XPVIO XPVIV XPVLV +syn keyword xsType XPVMG XPVNV XPVUV Year _PerlIO _PerlIO_funcs +syn keyword xsType _char_class_number _pMY_CXT _pTHX _reg_ac_data +syn keyword xsType _reg_trie_data _reg_trie_state _reg_trie_trans +syn keyword xsType _reg_trie_trans_list_elem _sublex_info _xhvnameu _xivu +syn keyword xsType _xmgu _xnvu am_table am_table_short block_eval +syn keyword xsType block_format block_givwhen block_hooks block_loop +syn keyword xsType block_sub bound_type clone_params custom_op cv_flags_t +syn keyword xsType expectation gccbug_semun line_t magic mem_log_type methop +syn keyword xsType mgvtbl mro_alg mro_meta my_cxt_t opcode opslab opslot p5rx +syn keyword xsType pMY_CXT pMY_CXT_ pTHX pTHX_ padlist padname +syn keyword xsType padname_with_str padnamelist padtidy_type perl_cond +syn keyword xsType perl_debug_pad perl_drand48_t perl_key +syn keyword xsType perl_memory_debug_header perl_mstats perl_mstats_t +syn keyword xsType perl_mutex perl_os_thread perl_phase perl_vars +syn keyword xsType pthread_addr_t ptr_tbl ptr_tbl_ent refcounted_he +syn keyword xsType reg_ac_data reg_code_block reg_data reg_substr_data +syn keyword xsType reg_substr_datum reg_trie_data reg_trie_state +syn keyword xsType reg_trie_trans reg_trie_trans_le regex_charset regnode +syn keyword xsType regnode_1 regnode_2 regnode_2L regnode_charclass +syn keyword xsType regnode_charclass_class regnode_charclass_posixl +syn keyword xsType regnode_ssc regnode_string semun shared_he svtype ufuncs +syn keyword xsType unop_aux xop_flags_enum xpv xpvav xpvcv xpvfm xpvgv xpvhv +syn keyword xsType xpvhv_aux xpvinvlist xpvio xpviv xpvlv xpvmg xpvnv xpvuv syn keyword xsType yytokentype syn keyword xsString IVdf NVef NVff NVgf SVf SVf256 SVf32 SVf_ UVof UVuf UVxf syn keyword xsConstant CXt_BLOCK CXt_EVAL CXt_FORMAT CXt_GIVEN CXt_LOOP_FOR syn keyword xsConstant CXt_LOOP_LAZYIV CXt_LOOP_LAZYSV CXt_LOOP_PLAIN -syn keyword xsConstant CXt_NULL CXt_SUB CXt_SUBST CXt_WHEN FALSE G_ARRAY -syn keyword xsConstant G_DISCARD G_EVAL G_FAKINGEVAL G_KEEPERR G_METHOD -syn keyword xsConstant G_NOARGS G_NODEBUG G_SCALAR G_UNDEF_FILL G_VOID G_WANT -syn keyword xsConstant G_WARN_ALL_MASK G_WARN_ALL_OFF G_WARN_ALL_ON -syn keyword xsConstant G_WARN_OFF G_WARN_ON G_WARN_ONCE G_WRITING_TO_STDERR -syn keyword xsConstant OA_AVREF OA_BASEOP OA_BASEOP_OR_UNOP OA_BINOP -syn keyword xsConstant OA_CLASS_MASK OA_COP OA_CVREF OA_DANGEROUS OA_DEFGV -syn keyword xsConstant OA_FILEREF OA_FILESTATOP OA_FOLDCONST OA_HVREF OA_LIST -syn keyword xsConstant OA_LISTOP OA_LOGOP OA_LOOP OA_LOOPEXOP OA_MARK +syn keyword xsConstant CXt_NULL CXt_SUB CXt_SUBST CXt_WHEN GCB_BOUND GCB_CR +syn keyword xsConstant GCB_Control GCB_EDGE GCB_Extend GCB_L GCB_LF GCB_LV +syn keyword xsConstant GCB_LVT GCB_Other GCB_Prepend GCB_Regional_Indicator +syn keyword xsConstant GCB_SpacingMark GCB_T GCB_V G_ARRAY G_DISCARD G_EVAL +syn keyword xsConstant G_FAKINGEVAL G_KEEPERR G_METHOD G_METHOD_NAMED +syn keyword xsConstant G_NOARGS G_NODEBUG G_RE_REPARSING G_SCALAR +syn keyword xsConstant G_UNDEF_FILL G_VOID G_WANT G_WARN_ALL_MASK +syn keyword xsConstant G_WARN_ALL_OFF G_WARN_ALL_ON G_WARN_OFF G_WARN_ON +syn keyword xsConstant G_WARN_ONCE G_WRITING_TO_STDERR OA_AVREF OA_BASEOP +syn keyword xsConstant OA_BASEOP_OR_UNOP OA_BINOP OA_CLASS_MASK OA_COP +syn keyword xsConstant OA_CVREF OA_DANGEROUS OA_DEFGV OA_FILEREF +syn keyword xsConstant OA_FILESTATOP OA_FOLDCONST OA_HVREF OA_LIST OA_LISTOP +syn keyword xsConstant OA_LOGOP OA_LOOP OA_LOOPEXOP OA_MARK OA_METHOP syn keyword xsConstant OA_OPTIONAL OA_OTHERINT OA_PADOP OA_PMOP syn keyword xsConstant OA_PVOP_OR_SVOP OA_RETSCALAR OA_SCALAR OA_SCALARREF -syn keyword xsConstant OA_SVOP OA_TARGET OA_TARGLEX OA_UNOP OP_AASSIGN OP_ABS -syn keyword xsConstant OP_ACCEPT OP_ADD OP_AEACH OP_AELEM OP_AELEMFAST -syn keyword xsConstant OP_AELEMFAST_LEX OP_AKEYS OP_ALARM OP_AND OP_ANDASSIGN -syn keyword xsConstant OP_ANONCODE OP_ANONHASH OP_ANONLIST OP_ASLICE OP_ATAN2 -syn keyword xsConstant OP_AV2ARYLEN OP_AVALUES OP_BACKTICK OP_BIND OP_BINMODE -syn keyword xsConstant OP_BIT_AND OP_BIT_OR OP_BIT_XOR OP_BLESS OP_BOOLKEYS -syn keyword xsConstant OP_BREAK OP_CALLER OP_CHDIR OP_CHMOD OP_CHOMP OP_CHOP -syn keyword xsConstant OP_CHOWN OP_CHR OP_CHROOT OP_CLOSE OP_CLOSEDIR -syn keyword xsConstant OP_COMPLEMENT OP_CONCAT OP_COND_EXPR OP_CONNECT -syn keyword xsConstant OP_CONST OP_CONTINUE OP_COREARGS OP_COS OP_CRYPT -syn keyword xsConstant OP_CUSTOM OP_DBMCLOSE OP_DBMOPEN OP_DBSTATE OP_DEFINED -syn keyword xsConstant OP_DELETE OP_DIE OP_DIVIDE OP_DOFILE OP_DOR -syn keyword xsConstant OP_DORASSIGN OP_DUMP OP_EACH OP_EGRENT OP_EHOSTENT -syn keyword xsConstant OP_ENETENT OP_ENTER OP_ENTEREVAL OP_ENTERGIVEN -syn keyword xsConstant OP_ENTERITER OP_ENTERLOOP OP_ENTERSUB OP_ENTERTRY -syn keyword xsConstant OP_ENTERWHEN OP_ENTERWRITE OP_EOF OP_EPROTOENT -syn keyword xsConstant OP_EPWENT OP_EQ OP_ESERVENT OP_EXEC OP_EXISTS OP_EXIT -syn keyword xsConstant OP_EXP OP_FC OP_FCNTL OP_FILENO OP_FLIP OP_FLOCK -syn keyword xsConstant OP_FLOP OP_FORK OP_FORMLINE OP_FTATIME OP_FTBINARY -syn keyword xsConstant OP_FTBLK OP_FTCHR OP_FTCTIME OP_FTDIR OP_FTEEXEC -syn keyword xsConstant OP_FTEOWNED OP_FTEREAD OP_FTEWRITE OP_FTFILE OP_FTIS -syn keyword xsConstant OP_FTLINK OP_FTMTIME OP_FTPIPE OP_FTREXEC OP_FTROWNED -syn keyword xsConstant OP_FTRREAD OP_FTRWRITE OP_FTSGID OP_FTSIZE OP_FTSOCK -syn keyword xsConstant OP_FTSUID OP_FTSVTX OP_FTTEXT OP_FTTTY OP_FTZERO OP_GE -syn keyword xsConstant OP_GELEM OP_GETC OP_GETLOGIN OP_GETPEERNAME OP_GETPGRP -syn keyword xsConstant OP_GETPPID OP_GETPRIORITY OP_GETSOCKNAME OP_GGRENT -syn keyword xsConstant OP_GGRGID OP_GGRNAM OP_GHBYADDR OP_GHBYNAME -syn keyword xsConstant OP_GHOSTENT OP_GLOB OP_GMTIME OP_GNBYADDR OP_GNBYNAME -syn keyword xsConstant OP_GNETENT OP_GOTO OP_GPBYNAME OP_GPBYNUMBER -syn keyword xsConstant OP_GPROTOENT OP_GPWENT OP_GPWNAM OP_GPWUID -syn keyword xsConstant OP_GREPSTART OP_GREPWHILE OP_GSBYNAME OP_GSBYPORT -syn keyword xsConstant OP_GSERVENT OP_GSOCKOPT OP_GT OP_GV OP_GVSV OP_HELEM -syn keyword xsConstant OP_HEX OP_HINTSEVAL OP_HSLICE OP_INDEX OP_INT OP_IOCTL -syn keyword xsConstant OP_ITER OP_I_ADD OP_I_DIVIDE OP_I_EQ OP_I_GE OP_I_GT -syn keyword xsConstant OP_I_LE OP_I_LT OP_I_MODULO OP_I_MULTIPLY OP_I_NCMP -syn keyword xsConstant OP_I_NE OP_I_NEGATE OP_I_POSTDEC OP_I_POSTINC -syn keyword xsConstant OP_I_PREDEC OP_I_PREINC OP_I_SUBTRACT OP_JOIN OP_KEYS -syn keyword xsConstant OP_KILL OP_LAST OP_LC OP_LCFIRST OP_LE OP_LEAVE -syn keyword xsConstant OP_LEAVEEVAL OP_LEAVEGIVEN OP_LEAVELOOP OP_LEAVESUB -syn keyword xsConstant OP_LEAVESUBLV OP_LEAVETRY OP_LEAVEWHEN OP_LEAVEWRITE -syn keyword xsConstant OP_LEFT_SHIFT OP_LENGTH OP_LINESEQ OP_LINK OP_LIST -syn keyword xsConstant OP_LISTEN OP_LOCALTIME OP_LOCK OP_LOG OP_LSLICE -syn keyword xsConstant OP_LSTAT OP_LT OP_MAPSTART OP_MAPWHILE OP_MATCH -syn keyword xsConstant OP_METHOD OP_METHOD_NAMED OP_MKDIR OP_MODULO OP_MSGCTL -syn keyword xsConstant OP_MSGGET OP_MSGRCV OP_MSGSND OP_MULTIPLY OP_NCMP -syn keyword xsConstant OP_NE OP_NEGATE OP_NEXT OP_NEXTSTATE OP_NOT OP_NULL -syn keyword xsConstant OP_OCT OP_ONCE OP_OPEN OP_OPEN_DIR OP_OR OP_ORASSIGN -syn keyword xsConstant OP_ORD OP_PACK OP_PADANY OP_PADAV OP_PADHV OP_PADSV -syn keyword xsConstant OP_PIPE_OP OP_POP OP_POS OP_POSTDEC OP_POSTINC OP_POW -syn keyword xsConstant OP_PREDEC OP_PREINC OP_PRINT OP_PROTOTYPE OP_PRTF -syn keyword xsConstant OP_PUSH OP_PUSHMARK OP_PUSHRE OP_QR OP_QUOTEMETA -syn keyword xsConstant OP_RAND OP_RANGE OP_RCATLINE OP_REACH OP_READ -syn keyword xsConstant OP_READDIR OP_READLINE OP_READLINK OP_RECV OP_REDO -syn keyword xsConstant OP_REF OP_REFGEN OP_REGCMAYBE OP_REGCOMP OP_REGCRESET -syn keyword xsConstant OP_RENAME OP_REPEAT OP_REQUIRE OP_RESET OP_RETURN -syn keyword xsConstant OP_REVERSE OP_REWINDDIR OP_RIGHT_SHIFT OP_RINDEX -syn keyword xsConstant OP_RKEYS OP_RMDIR OP_RUNCV OP_RV2AV OP_RV2CV OP_RV2GV -syn keyword xsConstant OP_RV2HV OP_RV2SV OP_RVALUES OP_SASSIGN OP_SAY -syn keyword xsConstant OP_SCALAR OP_SCHOMP OP_SCHOP OP_SCMP OP_SCOPE OP_SEEK -syn keyword xsConstant OP_SEEKDIR OP_SELECT OP_SEMCTL OP_SEMGET OP_SEMOP -syn keyword xsConstant OP_SEND OP_SEQ OP_SETPGRP OP_SETPRIORITY OP_SGE -syn keyword xsConstant OP_SGRENT OP_SGT OP_SHIFT OP_SHMCTL OP_SHMGET -syn keyword xsConstant OP_SHMREAD OP_SHMWRITE OP_SHOSTENT OP_SHUTDOWN OP_SIN -syn keyword xsConstant OP_SLE OP_SLEEP OP_SLT OP_SMARTMATCH OP_SNE OP_SNETENT -syn keyword xsConstant OP_SOCKET OP_SOCKPAIR OP_SORT OP_SPLICE OP_SPLIT -syn keyword xsConstant OP_SPRINTF OP_SPROTOENT OP_SPWENT OP_SQRT OP_SRAND -syn keyword xsConstant OP_SREFGEN OP_SSELECT OP_SSERVENT OP_SSOCKOPT OP_STAT -syn keyword xsConstant OP_STRINGIFY OP_STUB OP_STUDY OP_SUBST OP_SUBSTCONT -syn keyword xsConstant OP_SUBSTR OP_SUBTRACT OP_SYMLINK OP_SYSCALL OP_SYSOPEN -syn keyword xsConstant OP_SYSREAD OP_SYSSEEK OP_SYSTEM OP_SYSWRITE OP_TELL -syn keyword xsConstant OP_TELLDIR OP_TIE OP_TIED OP_TIME OP_TMS OP_TRANS -syn keyword xsConstant OP_TRANSR OP_TRUNCATE OP_UC OP_UCFIRST OP_UMASK -syn keyword xsConstant OP_UNDEF OP_UNLINK OP_UNPACK OP_UNSHIFT OP_UNSTACK -syn keyword xsConstant OP_UNTIE OP_UTIME OP_VALUES OP_VEC OP_WAIT OP_WAITPID -syn keyword xsConstant OP_WANTARRAY OP_WARN OP_XOR OP_max OPf_KIDS OPf_KNOW -syn keyword xsConstant OPf_LIST OPf_MOD OPf_PARENS OPf_REF OPf_SPECIAL -syn keyword xsConstant OPf_STACKED OPf_WANT OPf_WANT_LIST OPf_WANT_SCALAR -syn keyword xsConstant OPf_WANT_VOID OPpALLOW_FAKE OPpASSIGN_BACKWARDS -syn keyword xsConstant OPpASSIGN_COMMON OPpASSIGN_CV_TO_GV OPpCONST_BARE -syn keyword xsConstant OPpCONST_ENTERED OPpCONST_NOVER OPpCONST_SHORTCIRCUIT -syn keyword xsConstant OPpCONST_STRICT OPpCONST_WARNING OPpCOREARGS_DEREF1 -syn keyword xsConstant OPpCOREARGS_DEREF2 OPpCOREARGS_PUSHMARK -syn keyword xsConstant OPpCOREARGS_SCALARMOD OPpDEREF OPpDEREF_AV OPpDEREF_HV -syn keyword xsConstant OPpDEREF_SV OPpDONT_INIT_GV OPpEARLY_CV -syn keyword xsConstant OPpENTERSUB_AMPER OPpENTERSUB_DB OPpENTERSUB_HASTARG -syn keyword xsConstant OPpENTERSUB_INARGS OPpENTERSUB_LVAL_MASK -syn keyword xsConstant OPpENTERSUB_NOPAREN OPpEVAL_BYTES OPpEVAL_COPHH -syn keyword xsConstant OPpEVAL_HAS_HH OPpEVAL_UNICODE OPpEXISTS_SUB -syn keyword xsConstant OPpEXIT_VMSISH OPpFLIP_LINENUM OPpFT_ACCESS -syn keyword xsConstant OPpFT_AFTER_t OPpFT_STACKED OPpFT_STACKING OPpGREP_LEX -syn keyword xsConstant OPpHUSH_VMSISH OPpITER_DEF OPpITER_REVERSED -syn keyword xsConstant OPpLIST_GUESSED OPpLVAL_DEFER OPpLVAL_INTRO -syn keyword xsConstant OPpMAYBE_LVSUB OPpMAY_RETURN_CONSTANT OPpOFFBYONE -syn keyword xsConstant OPpOPEN_IN_CRLF OPpOPEN_IN_RAW OPpOPEN_OUT_CRLF -syn keyword xsConstant OPpOPEN_OUT_RAW OPpOUR_INTRO OPpPAD_STATE -syn keyword xsConstant OPpPV_IS_UTF8 OPpREFCOUNTED OPpREPEAT_DOLIST -syn keyword xsConstant OPpREVERSE_INPLACE OPpRUNTIME OPpSLICE OPpSORT_DESCEND +syn keyword xsConstant OA_SVOP OA_TARGET OA_TARGLEX OA_UNOP OA_UNOP_AUX +syn keyword xsConstant OP_AASSIGN OP_ABS OP_ACCEPT OP_ADD OP_AEACH OP_AELEM +syn keyword xsConstant OP_AELEMFAST OP_AELEMFAST_LEX OP_AKEYS OP_ALARM OP_AND +syn keyword xsConstant OP_ANDASSIGN OP_ANONCODE OP_ANONCONST OP_ANONHASH +syn keyword xsConstant OP_ANONLIST OP_ASLICE OP_ATAN2 OP_AV2ARYLEN OP_AVALUES +syn keyword xsConstant OP_BACKTICK OP_BIND OP_BINMODE OP_BIT_AND OP_BIT_OR +syn keyword xsConstant OP_BIT_XOR OP_BLESS OP_BREAK OP_CALLER OP_CHDIR +syn keyword xsConstant OP_CHMOD OP_CHOMP OP_CHOP OP_CHOWN OP_CHR OP_CHROOT +syn keyword xsConstant OP_CLONECV OP_CLOSE OP_CLOSEDIR OP_COMPLEMENT +syn keyword xsConstant OP_CONCAT OP_COND_EXPR OP_CONNECT OP_CONST OP_CONTINUE +syn keyword xsConstant OP_COREARGS OP_COS OP_CRYPT OP_CUSTOM OP_DBMCLOSE +syn keyword xsConstant OP_DBMOPEN OP_DBSTATE OP_DEFINED OP_DELETE OP_DIE +syn keyword xsConstant OP_DIVIDE OP_DOFILE OP_DOR OP_DORASSIGN OP_DUMP +syn keyword xsConstant OP_EACH OP_EGRENT OP_EHOSTENT OP_ENETENT OP_ENTER +syn keyword xsConstant OP_ENTEREVAL OP_ENTERGIVEN OP_ENTERITER OP_ENTERLOOP +syn keyword xsConstant OP_ENTERSUB OP_ENTERTRY OP_ENTERWHEN OP_ENTERWRITE +syn keyword xsConstant OP_EOF OP_EPROTOENT OP_EPWENT OP_EQ OP_ESERVENT +syn keyword xsConstant OP_EXEC OP_EXISTS OP_EXIT OP_EXP OP_FC OP_FCNTL +syn keyword xsConstant OP_FILENO OP_FLIP OP_FLOCK OP_FLOP OP_FORK OP_FORMLINE +syn keyword xsConstant OP_FTATIME OP_FTBINARY OP_FTBLK OP_FTCHR OP_FTCTIME +syn keyword xsConstant OP_FTDIR OP_FTEEXEC OP_FTEOWNED OP_FTEREAD OP_FTEWRITE +syn keyword xsConstant OP_FTFILE OP_FTIS OP_FTLINK OP_FTMTIME OP_FTPIPE +syn keyword xsConstant OP_FTREXEC OP_FTROWNED OP_FTRREAD OP_FTRWRITE +syn keyword xsConstant OP_FTSGID OP_FTSIZE OP_FTSOCK OP_FTSUID OP_FTSVTX +syn keyword xsConstant OP_FTTEXT OP_FTTTY OP_FTZERO OP_GE OP_GELEM OP_GETC +syn keyword xsConstant OP_GETLOGIN OP_GETPEERNAME OP_GETPGRP OP_GETPPID +syn keyword xsConstant OP_GETPRIORITY OP_GETSOCKNAME OP_GGRENT OP_GGRGID +syn keyword xsConstant OP_GGRNAM OP_GHBYADDR OP_GHBYNAME OP_GHOSTENT OP_GLOB +syn keyword xsConstant OP_GMTIME OP_GNBYADDR OP_GNBYNAME OP_GNETENT OP_GOTO +syn keyword xsConstant OP_GPBYNAME OP_GPBYNUMBER OP_GPROTOENT OP_GPWENT +syn keyword xsConstant OP_GPWNAM OP_GPWUID OP_GREPSTART OP_GREPWHILE +syn keyword xsConstant OP_GSBYNAME OP_GSBYPORT OP_GSERVENT OP_GSOCKOPT OP_GT +syn keyword xsConstant OP_GV OP_GVSV OP_HELEM OP_HEX OP_HINTSEVAL OP_HSLICE +syn keyword xsConstant OP_INDEX OP_INT OP_INTROCV OP_IOCTL OP_ITER OP_I_ADD +syn keyword xsConstant OP_I_DIVIDE OP_I_EQ OP_I_GE OP_I_GT OP_I_LE OP_I_LT +syn keyword xsConstant OP_I_MODULO OP_I_MULTIPLY OP_I_NCMP OP_I_NE +syn keyword xsConstant OP_I_NEGATE OP_I_POSTDEC OP_I_POSTINC OP_I_PREDEC +syn keyword xsConstant OP_I_PREINC OP_I_SUBTRACT OP_JOIN OP_KEYS OP_KILL +syn keyword xsConstant OP_KVASLICE OP_KVHSLICE OP_LAST OP_LC OP_LCFIRST OP_LE +syn keyword xsConstant OP_LEAVE OP_LEAVEEVAL OP_LEAVEGIVEN OP_LEAVELOOP +syn keyword xsConstant OP_LEAVESUB OP_LEAVESUBLV OP_LEAVETRY OP_LEAVEWHEN +syn keyword xsConstant OP_LEAVEWRITE OP_LEFT_SHIFT OP_LENGTH OP_LINESEQ +syn keyword xsConstant OP_LINK OP_LIST OP_LISTEN OP_LOCALTIME OP_LOCK OP_LOG +syn keyword xsConstant OP_LSLICE OP_LSTAT OP_LT OP_LVAVREF OP_LVREF +syn keyword xsConstant OP_LVREFSLICE OP_MAPSTART OP_MAPWHILE OP_MATCH +syn keyword xsConstant OP_METHOD OP_METHOD_NAMED OP_METHOD_REDIR +syn keyword xsConstant OP_METHOD_REDIR_SUPER OP_METHOD_SUPER OP_MKDIR +syn keyword xsConstant OP_MODULO OP_MSGCTL OP_MSGGET OP_MSGRCV OP_MSGSND +syn keyword xsConstant OP_MULTIDEREF OP_MULTIPLY OP_NBIT_AND OP_NBIT_OR +syn keyword xsConstant OP_NBIT_XOR OP_NCMP OP_NCOMPLEMENT OP_NE OP_NEGATE +syn keyword xsConstant OP_NEXT OP_NEXTSTATE OP_NOT OP_NULL OP_OCT OP_ONCE +syn keyword xsConstant OP_OPEN OP_OPEN_DIR OP_OR OP_ORASSIGN OP_ORD OP_PACK +syn keyword xsConstant OP_PADANY OP_PADAV OP_PADCV OP_PADHV OP_PADRANGE +syn keyword xsConstant OP_PADSV OP_PIPE_OP OP_POP OP_POS OP_POSTDEC +syn keyword xsConstant OP_POSTINC OP_POW OP_PREDEC OP_PREINC OP_PRINT +syn keyword xsConstant OP_PROTOTYPE OP_PRTF OP_PUSH OP_PUSHMARK OP_PUSHRE +syn keyword xsConstant OP_QR OP_QUOTEMETA OP_RAND OP_RANGE OP_RCATLINE +syn keyword xsConstant OP_REACH OP_READ OP_READDIR OP_READLINE OP_READLINK +syn keyword xsConstant OP_RECV OP_REDO OP_REF OP_REFASSIGN OP_REFGEN +syn keyword xsConstant OP_REGCMAYBE OP_REGCOMP OP_REGCRESET OP_RENAME +syn keyword xsConstant OP_REPEAT OP_REQUIRE OP_RESET OP_RETURN OP_REVERSE +syn keyword xsConstant OP_REWINDDIR OP_RIGHT_SHIFT OP_RINDEX OP_RKEYS +syn keyword xsConstant OP_RMDIR OP_RUNCV OP_RV2AV OP_RV2CV OP_RV2GV OP_RV2HV +syn keyword xsConstant OP_RV2SV OP_RVALUES OP_SASSIGN OP_SAY OP_SBIT_AND +syn keyword xsConstant OP_SBIT_OR OP_SBIT_XOR OP_SCALAR OP_SCHOMP OP_SCHOP +syn keyword xsConstant OP_SCMP OP_SCOMPLEMENT OP_SCOPE OP_SEEK OP_SEEKDIR +syn keyword xsConstant OP_SELECT OP_SEMCTL OP_SEMGET OP_SEMOP OP_SEND OP_SEQ +syn keyword xsConstant OP_SETPGRP OP_SETPRIORITY OP_SGE OP_SGRENT OP_SGT +syn keyword xsConstant OP_SHIFT OP_SHMCTL OP_SHMGET OP_SHMREAD OP_SHMWRITE +syn keyword xsConstant OP_SHOSTENT OP_SHUTDOWN OP_SIN OP_SLE OP_SLEEP OP_SLT +syn keyword xsConstant OP_SMARTMATCH OP_SNE OP_SNETENT OP_SOCKET OP_SOCKPAIR +syn keyword xsConstant OP_SORT OP_SPLICE OP_SPLIT OP_SPRINTF OP_SPROTOENT +syn keyword xsConstant OP_SPWENT OP_SQRT OP_SRAND OP_SREFGEN OP_SSELECT +syn keyword xsConstant OP_SSERVENT OP_SSOCKOPT OP_STAT OP_STRINGIFY OP_STUB +syn keyword xsConstant OP_STUDY OP_SUBST OP_SUBSTCONT OP_SUBSTR OP_SUBTRACT +syn keyword xsConstant OP_SYMLINK OP_SYSCALL OP_SYSOPEN OP_SYSREAD OP_SYSSEEK +syn keyword xsConstant OP_SYSTEM OP_SYSWRITE OP_TELL OP_TELLDIR OP_TIE +syn keyword xsConstant OP_TIED OP_TIME OP_TMS OP_TRANS OP_TRANSR OP_TRUNCATE +syn keyword xsConstant OP_UC OP_UCFIRST OP_UMASK OP_UNDEF OP_UNLINK OP_UNPACK +syn keyword xsConstant OP_UNSHIFT OP_UNSTACK OP_UNTIE OP_UTIME OP_VALUES +syn keyword xsConstant OP_VEC OP_WAIT OP_WAITPID OP_WANTARRAY OP_WARN OP_XOR +syn keyword xsConstant OP_max OPf_FOLDED OPf_KIDS OPf_KNOW OPf_LIST OPf_MOD +syn keyword xsConstant OPf_PARENS OPf_REF OPf_SPECIAL OPf_STACKED OPf_WANT +syn keyword xsConstant OPf_WANT_LIST OPf_WANT_SCALAR OPf_WANT_VOID +syn keyword xsConstant OPpALLOW_FAKE OPpARG1_MASK OPpARG2_MASK OPpARG3_MASK +syn keyword xsConstant OPpARG4_MASK OPpASSIGN_BACKWARDS OPpASSIGN_COMMON +syn keyword xsConstant OPpASSIGN_CV_TO_GV OPpCONST_BARE OPpCONST_ENTERED +syn keyword xsConstant OPpCONST_NOVER OPpCONST_SHORTCIRCUIT OPpCONST_STRICT +syn keyword xsConstant OPpCOREARGS_DEREF1 OPpCOREARGS_DEREF2 +syn keyword xsConstant OPpCOREARGS_PUSHMARK OPpCOREARGS_SCALARMOD OPpDEREF +syn keyword xsConstant OPpDEREF_AV OPpDEREF_HV OPpDEREF_SV OPpDONT_INIT_GV +syn keyword xsConstant OPpEARLY_CV OPpENTERSUB_AMPER OPpENTERSUB_DB +syn keyword xsConstant OPpENTERSUB_HASTARG OPpENTERSUB_INARGS +syn keyword xsConstant OPpENTERSUB_LVAL_MASK OPpENTERSUB_NOPAREN +syn keyword xsConstant OPpEVAL_BYTES OPpEVAL_COPHH OPpEVAL_HAS_HH +syn keyword xsConstant OPpEVAL_RE_REPARSING OPpEVAL_UNICODE OPpEXISTS_SUB +syn keyword xsConstant OPpFLIP_LINENUM OPpFT_ACCESS OPpFT_AFTER_t +syn keyword xsConstant OPpFT_STACKED OPpFT_STACKING OPpGREP_LEX +syn keyword xsConstant OPpHINT_STRICT_REFS OPpHUSH_VMSISH OPpITER_DEF +syn keyword xsConstant OPpITER_REVERSED OPpLIST_GUESSED OPpLVALUE +syn keyword xsConstant OPpLVAL_DEFER OPpLVAL_INTRO OPpLVREF_AV OPpLVREF_CV +syn keyword xsConstant OPpLVREF_ELEM OPpLVREF_HV OPpLVREF_ITER OPpLVREF_SV +syn keyword xsConstant OPpLVREF_TYPE OPpMAYBE_LVSUB OPpMAYBE_TRUEBOOL +syn keyword xsConstant OPpMAY_RETURN_CONSTANT OPpMULTIDEREF_DELETE +syn keyword xsConstant OPpMULTIDEREF_EXISTS OPpOFFBYONE OPpOPEN_IN_CRLF +syn keyword xsConstant OPpOPEN_IN_RAW OPpOPEN_OUT_CRLF OPpOPEN_OUT_RAW +syn keyword xsConstant OPpOUR_INTRO OPpPADRANGE_COUNTMASK +syn keyword xsConstant OPpPADRANGE_COUNTSHIFT OPpPAD_STATE OPpPV_IS_UTF8 +syn keyword xsConstant OPpREFCOUNTED OPpREPEAT_DOLIST OPpREVERSE_INPLACE +syn keyword xsConstant OPpRUNTIME OPpSLICE OPpSLICEWARNING OPpSORT_DESCEND syn keyword xsConstant OPpSORT_INPLACE OPpSORT_INTEGER OPpSORT_NUMERIC syn keyword xsConstant OPpSORT_QSORT OPpSORT_REVERSE OPpSORT_STABLE -syn keyword xsConstant OPpSUBSTR_REPL_FIRST OPpTARGET_MY OPpTRANS_ALL -syn keyword xsConstant OPpTRANS_COMPLEMENT OPpTRANS_DELETE OPpTRANS_FROM_UTF -syn keyword xsConstant OPpTRANS_GROWS OPpTRANS_IDENTICAL OPpTRANS_SQUASH -syn keyword xsConstant OPpTRANS_TO_UTF PERL_MAGIC_READONLY_ACCEPTABLE +syn keyword xsConstant OPpSPLIT_IMPLIM OPpSUBSTR_REPL_FIRST OPpTARGET_MY +syn keyword xsConstant OPpTRANS_ALL OPpTRANS_COMPLEMENT OPpTRANS_DELETE +syn keyword xsConstant OPpTRANS_FROM_UTF OPpTRANS_GROWS OPpTRANS_IDENTICAL +syn keyword xsConstant OPpTRANS_SQUASH OPpTRANS_TO_UTF OPpTRUEBOOL +syn keyword xsConstant PERL_MAGIC_READONLY_ACCEPTABLE syn keyword xsConstant PERL_MAGIC_TYPE_IS_VALUE_MAGIC syn keyword xsConstant PERL_MAGIC_TYPE_READONLY_ACCEPTABLE syn keyword xsConstant PERL_MAGIC_UTF8_CACHESIZE PERL_MAGIC_VALUE_MAGIC syn keyword xsConstant PERL_MAGIC_VTABLE_MASK PERL_MAGIC_arylen syn keyword xsConstant PERL_MAGIC_arylen_p PERL_MAGIC_backref PERL_MAGIC_bm syn keyword xsConstant PERL_MAGIC_checkcall PERL_MAGIC_collxfrm -syn keyword xsConstant PERL_MAGIC_dbfile PERL_MAGIC_dbline PERL_MAGIC_defelem -syn keyword xsConstant PERL_MAGIC_env PERL_MAGIC_envelem PERL_MAGIC_ext -syn keyword xsConstant PERL_MAGIC_fm PERL_MAGIC_hints PERL_MAGIC_hintselem -syn keyword xsConstant PERL_MAGIC_isa PERL_MAGIC_isaelem PERL_MAGIC_nkeys -syn keyword xsConstant PERL_MAGIC_overload PERL_MAGIC_overload_elem +syn keyword xsConstant PERL_MAGIC_dbfile PERL_MAGIC_dbline +syn keyword xsConstant PERL_MAGIC_debugvar PERL_MAGIC_defelem PERL_MAGIC_env +syn keyword xsConstant PERL_MAGIC_envelem PERL_MAGIC_ext PERL_MAGIC_fm +syn keyword xsConstant PERL_MAGIC_hints PERL_MAGIC_hintselem PERL_MAGIC_isa +syn keyword xsConstant PERL_MAGIC_isaelem PERL_MAGIC_lvref PERL_MAGIC_nkeys syn keyword xsConstant PERL_MAGIC_overload_table PERL_MAGIC_pos PERL_MAGIC_qr syn keyword xsConstant PERL_MAGIC_regdata PERL_MAGIC_regdatum syn keyword xsConstant PERL_MAGIC_regex_global PERL_MAGIC_rhash syn keyword xsConstant PERL_MAGIC_shared PERL_MAGIC_shared_scalar -syn keyword xsConstant PERL_MAGIC_sig PERL_MAGIC_sigelem PERL_MAGIC_study -syn keyword xsConstant PERL_MAGIC_substr PERL_MAGIC_sv PERL_MAGIC_symtab -syn keyword xsConstant PERL_MAGIC_taint PERL_MAGIC_tied PERL_MAGIC_tiedelem +syn keyword xsConstant PERL_MAGIC_sig PERL_MAGIC_sigelem PERL_MAGIC_substr +syn keyword xsConstant PERL_MAGIC_sv PERL_MAGIC_symtab PERL_MAGIC_taint +syn keyword xsConstant PERL_MAGIC_tied PERL_MAGIC_tiedelem syn keyword xsConstant PERL_MAGIC_tiedscalar PERL_MAGIC_utf8 PERL_MAGIC_uvar syn keyword xsConstant PERL_MAGIC_uvar_elem PERL_MAGIC_vec PERL_MAGIC_vstring syn keyword xsConstant REGEX_ASCII_MORE_RESTRICTED_CHARSET syn keyword xsConstant REGEX_ASCII_RESTRICTED_CHARSET REGEX_DEPENDS_CHARSET -syn keyword xsConstant REGEX_LOCALE_CHARSET REGEX_UNICODE_CHARSET SVfARG +syn keyword xsConstant REGEX_LOCALE_CHARSET REGEX_UNICODE_CHARSET SB_ATerm +syn keyword xsConstant SB_BOUND SB_CR SB_Close SB_EDGE SB_Extend SB_Format +syn keyword xsConstant SB_LF SB_Lower SB_Numeric SB_OLetter SB_Other +syn keyword xsConstant SB_SContinue SB_STerm SB_Sep SB_Sp SB_Upper SVfARG syn keyword xsConstant SVf_AMAGIC SVf_BREAK SVf_FAKE SVf_IOK SVf_IVisUV -syn keyword xsConstant SVf_NOK SVf_OK SVf_OOK SVf_POK SVf_READONLY SVf_ROK -syn keyword xsConstant SVf_THINKFIRST SVf_UTF8 SVp_IOK SVp_NOK SVp_POK -syn keyword xsConstant SVp_SCREAM SVpad_NAME SVpad_OUR SVpad_STATE +syn keyword xsConstant SVf_IsCOW SVf_NOK SVf_OK SVf_OOK SVf_POK SVf_PROTECT +syn keyword xsConstant SVf_READONLY SVf_ROK SVf_THINKFIRST SVf_UTF8 SVp_IOK +syn keyword xsConstant SVp_NOK SVp_POK SVp_SCREAM SVpad_OUR SVpad_STATE syn keyword xsConstant SVpad_TYPED SVpav_REAL SVpav_REIFY SVpbm_TAIL syn keyword xsConstant SVpbm_VALID SVpgv_GP SVphv_CLONEABLE SVphv_HASKFLAGS -syn keyword xsConstant SVphv_LAZYDEL SVphv_REHASH SVphv_SHAREKEYS -syn keyword xsConstant SVprv_PCS_IMPORTED SVprv_WEAKREF SVs_GMG SVs_OBJECT -syn keyword xsConstant SVs_PADMY SVs_PADSTALE SVs_PADTMP SVs_RMG SVs_SMG -syn keyword xsConstant SVs_TEMP SVt_BIND SVt_IV SVt_LAST SVt_NULL SVt_NV -syn keyword xsConstant SVt_PV SVt_PVAV SVt_PVBM SVt_PVCV SVt_PVFM SVt_PVGV -syn keyword xsConstant SVt_PVHV SVt_PVIO SVt_PVIV SVt_PVLV SVt_PVMG SVt_PVNV -syn keyword xsConstant SVt_REGEXP SVt_RV TRUE XATTRBLOCK XATTRTERM XBLOCK -syn keyword xsConstant XOPERATOR XREF XSTATE XTERM XTERMBLOCK XTERMORDORDOR -syn keyword xsConstant padtidy_FORMAT padtidy_SUB padtidy_SUBCLONE +syn keyword xsConstant SVphv_LAZYDEL SVphv_SHAREKEYS SVprv_PCS_IMPORTED +syn keyword xsConstant SVprv_WEAKREF SVs_GMG SVs_OBJECT SVs_PADMY +syn keyword xsConstant SVs_PADSTALE SVs_PADTMP SVs_RMG SVs_SMG SVs_TEMP +syn keyword xsConstant SVt_INVLIST SVt_IV SVt_LAST SVt_NULL SVt_NV SVt_PV +syn keyword xsConstant SVt_PVAV SVt_PVBM SVt_PVCV SVt_PVFM SVt_PVGV SVt_PVHV +syn keyword xsConstant SVt_PVIO SVt_PVIV SVt_PVLV SVt_PVMG SVt_PVNV +syn keyword xsConstant SVt_REGEXP SVt_RV TRADITIONAL_BOUND WB_ALetter +syn keyword xsConstant WB_BOUND WB_CR WB_Double_Quote WB_EDGE WB_Extend +syn keyword xsConstant WB_ExtendNumLet WB_Format WB_Hebrew_Letter WB_Katakana +syn keyword xsConstant WB_LF WB_MidLetter WB_MidNum WB_MidNumLet WB_Newline +syn keyword xsConstant WB_Numeric WB_Other WB_Regional_Indicator +syn keyword xsConstant WB_Single_Quote WB_UNKNOWN XATTRBLOCK XATTRTERM XBLOCK +syn keyword xsConstant XBLOCKTERM XOPERATOR XOPe_xop_class XOPe_xop_desc +syn keyword xsConstant XOPe_xop_name XOPe_xop_peep XOPe_xop_ptr XPOSTDEREF +syn keyword xsConstant XREF XSTATE XTERM XTERMBLOCK XTERMORDORDOR +syn keyword xsConstant _CC_ENUM_ALPHA _CC_ENUM_ALPHANUMERIC _CC_ENUM_ASCII +syn keyword xsConstant _CC_ENUM_BLANK _CC_ENUM_CASED _CC_ENUM_CNTRL +syn keyword xsConstant _CC_ENUM_DIGIT _CC_ENUM_GRAPH _CC_ENUM_LOWER +syn keyword xsConstant _CC_ENUM_PRINT _CC_ENUM_PUNCT _CC_ENUM_SPACE +syn keyword xsConstant _CC_ENUM_UPPER _CC_ENUM_VERTSPACE _CC_ENUM_WORDCHAR +syn keyword xsConstant _CC_ENUM_XDIGIT padtidy_FORMAT padtidy_SUB +syn keyword xsConstant padtidy_SUBCLONE syn keyword xsException XCPT_CATCH XCPT_RETHROW XCPT_TRY_END XCPT_TRY_START syn keyword xsException dXCPT syn keyword xsKeyword ALIAS: BOOT: CASE: CLEANUP: CODE: C_ARGS: DISABLE @@ -485,11 +598,19 @@ syn keyword xsFunction Perl_PerlIO_read Perl_PerlIO_seek Perl_PerlIO_set_cnt syn keyword xsFunction Perl_PerlIO_set_ptrcnt Perl_PerlIO_setlinebuf syn keyword xsFunction Perl_PerlIO_stderr Perl_PerlIO_stdin syn keyword xsFunction Perl_PerlIO_stdout Perl_PerlIO_tell Perl_PerlIO_unread -syn keyword xsFunction Perl_PerlIO_write Perl_Slab_Alloc Perl_Slab_Free -syn keyword xsFunction Perl__is_utf8_quotemeta Perl__to_uni_fold_flags +syn keyword xsFunction Perl_PerlIO_write Perl__get_regclass_nonbitmap_data +syn keyword xsFunction Perl__is_cur_LC_category_utf8 +syn keyword xsFunction Perl__is_in_locale_category Perl__is_uni_FOO +syn keyword xsFunction Perl__is_uni_perl_idcont Perl__is_uni_perl_idstart +syn keyword xsFunction Perl__is_utf8_FOO Perl__is_utf8_idcont +syn keyword xsFunction Perl__is_utf8_idstart Perl__is_utf8_mark +syn keyword xsFunction Perl__is_utf8_perl_idcont Perl__is_utf8_perl_idstart +syn keyword xsFunction Perl__is_utf8_xidcont Perl__is_utf8_xidstart +syn keyword xsFunction Perl__new_invlist_C_array Perl__to_uni_fold_flags syn keyword xsFunction Perl__to_utf8_fold_flags Perl__to_utf8_lower_flags syn keyword xsFunction Perl__to_utf8_title_flags Perl__to_utf8_upper_flags -syn keyword xsFunction Perl_amagic_call Perl_amagic_deref_call Perl_any_dup +syn keyword xsFunction Perl_alloccopstash Perl_amagic_call +syn keyword xsFunction Perl_amagic_deref_call Perl_any_dup syn keyword xsFunction Perl_apply_attrs_string Perl_atfork_lock syn keyword xsFunction Perl_atfork_unlock Perl_av_arylen_p Perl_av_clear syn keyword xsFunction Perl_av_create_and_push Perl_av_create_and_unshift_one @@ -497,13 +618,14 @@ syn keyword xsFunction Perl_av_delete Perl_av_exists Perl_av_extend syn keyword xsFunction Perl_av_fetch Perl_av_fill Perl_av_iter_p Perl_av_len syn keyword xsFunction Perl_av_make Perl_av_pop Perl_av_push Perl_av_shift syn keyword xsFunction Perl_av_store Perl_av_undef Perl_av_unshift -syn keyword xsFunction Perl_block_gimme Perl_blockhook_register -syn keyword xsFunction Perl_bytes_cmp_utf8 Perl_bytes_from_utf8 -syn keyword xsFunction Perl_bytes_to_utf8 Perl_call_argv Perl_call_atexit -syn keyword xsFunction Perl_call_list Perl_call_method Perl_call_pv -syn keyword xsFunction Perl_call_sv Perl_caller_cx Perl_calloc Perl_cast_i32 -syn keyword xsFunction Perl_cast_iv Perl_cast_ulong Perl_cast_uv -syn keyword xsFunction Perl_ck_entersub_args_list Perl_ck_entersub_args_proto +syn keyword xsFunction Perl_block_end Perl_block_gimme Perl_block_start +syn keyword xsFunction Perl_blockhook_register Perl_bytes_cmp_utf8 +syn keyword xsFunction Perl_bytes_from_utf8 Perl_bytes_to_utf8 Perl_call_argv +syn keyword xsFunction Perl_call_atexit Perl_call_list Perl_call_method +syn keyword xsFunction Perl_call_pv Perl_call_sv Perl_caller_cx Perl_calloc +syn keyword xsFunction Perl_cast_i32 Perl_cast_iv Perl_cast_ulong +syn keyword xsFunction Perl_cast_uv Perl_ck_entersub_args_list +syn keyword xsFunction Perl_ck_entersub_args_proto syn keyword xsFunction Perl_ck_entersub_args_proto_or_list Perl_ck_warner syn keyword xsFunction Perl_ck_warner_d Perl_ckwarn Perl_ckwarn_d syn keyword xsFunction Perl_clone_params_del Perl_clone_params_new @@ -511,38 +633,39 @@ syn keyword xsFunction Perl_cop_fetch_label Perl_cop_store_label Perl_croak syn keyword xsFunction Perl_croak_no_modify Perl_croak_nocontext syn keyword xsFunction Perl_croak_sv Perl_croak_xs_usage Perl_csighandler syn keyword xsFunction Perl_custom_op_desc Perl_custom_op_name -syn keyword xsFunction Perl_custom_op_register Perl_custom_op_xop -syn keyword xsFunction Perl_cv_clone Perl_cv_const_sv -syn keyword xsFunction Perl_cv_get_call_checker Perl_cv_set_call_checker -syn keyword xsFunction Perl_cv_undef Perl_cx_dump Perl_cx_dup Perl_cxinc -syn keyword xsFunction Perl_deb Perl_deb_nocontext Perl_debop -syn keyword xsFunction Perl_debprofdump Perl_debstack Perl_debstackptrs -syn keyword xsFunction Perl_delimcpy Perl_despatch_signals Perl_die -syn keyword xsFunction Perl_die_nocontext Perl_die_sv Perl_dirp_dup -syn keyword xsFunction Perl_do_aspawn Perl_do_binmode Perl_do_close -syn keyword xsFunction Perl_do_gv_dump Perl_do_gvgv_dump Perl_do_hv_dump -syn keyword xsFunction Perl_do_join Perl_do_magic_dump Perl_do_op_dump -syn keyword xsFunction Perl_do_open9 Perl_do_openn Perl_do_pmop_dump -syn keyword xsFunction Perl_do_spawn Perl_do_spawn_nowait Perl_do_sprintf -syn keyword xsFunction Perl_do_sv_dump Perl_doing_taint Perl_doref -syn keyword xsFunction Perl_dounwind Perl_dowantarray Perl_dump_all -syn keyword xsFunction Perl_dump_eval Perl_dump_fds Perl_dump_form -syn keyword xsFunction Perl_dump_indent Perl_dump_mstats Perl_dump_packsubs -syn keyword xsFunction Perl_dump_sub Perl_dump_vindent Perl_eval_pv -syn keyword xsFunction Perl_eval_sv Perl_fbm_compile Perl_fbm_instr -syn keyword xsFunction Perl_filter_add Perl_filter_del Perl_filter_read -syn keyword xsFunction Perl_find_runcv Perl_find_rundefsv Perl_foldEQ -syn keyword xsFunction Perl_foldEQ_latin1 Perl_foldEQ_locale -syn keyword xsFunction Perl_foldEQ_utf8_flags Perl_form Perl_form_nocontext -syn keyword xsFunction Perl_fp_dup Perl_fprintf_nocontext +syn keyword xsFunction Perl_custom_op_register Perl_cv_clone Perl_cv_const_sv +syn keyword xsFunction Perl_cv_get_call_checker Perl_cv_name +syn keyword xsFunction Perl_cv_set_call_checker +syn keyword xsFunction Perl_cv_set_call_checker_flags Perl_cv_undef +syn keyword xsFunction Perl_cx_dump Perl_cx_dup Perl_cxinc Perl_deb +syn keyword xsFunction Perl_deb_nocontext Perl_debop Perl_debprofdump +syn keyword xsFunction Perl_debstack Perl_debstackptrs Perl_delimcpy +syn keyword xsFunction Perl_despatch_signals Perl_die Perl_die_nocontext +syn keyword xsFunction Perl_die_sv Perl_dirp_dup Perl_do_aspawn +syn keyword xsFunction Perl_do_binmode Perl_do_close Perl_do_gv_dump +syn keyword xsFunction Perl_do_gvgv_dump Perl_do_hv_dump Perl_do_join +syn keyword xsFunction Perl_do_magic_dump Perl_do_op_dump Perl_do_open9 +syn keyword xsFunction Perl_do_openn Perl_do_pmop_dump Perl_do_spawn +syn keyword xsFunction Perl_do_spawn_nowait Perl_do_sprintf Perl_do_sv_dump +syn keyword xsFunction Perl_doing_taint Perl_doref Perl_dounwind +syn keyword xsFunction Perl_dowantarray Perl_dump_all Perl_dump_c_backtrace +syn keyword xsFunction Perl_dump_eval Perl_dump_form Perl_dump_indent +syn keyword xsFunction Perl_dump_mstats Perl_dump_packsubs Perl_dump_sub +syn keyword xsFunction Perl_dump_vindent Perl_eval_pv Perl_eval_sv +syn keyword xsFunction Perl_fbm_compile Perl_fbm_instr Perl_filter_add +syn keyword xsFunction Perl_filter_del Perl_filter_read Perl_find_runcv +syn keyword xsFunction Perl_find_rundefsv Perl_foldEQ Perl_foldEQ_latin1 +syn keyword xsFunction Perl_foldEQ_locale Perl_foldEQ_utf8_flags Perl_form +syn keyword xsFunction Perl_form_nocontext Perl_fp_dup Perl_fprintf_nocontext syn keyword xsFunction Perl_free_global_struct Perl_free_tmps Perl_get_av -syn keyword xsFunction Perl_get_context Perl_get_cv Perl_get_cvn_flags -syn keyword xsFunction Perl_get_hv Perl_get_mstats Perl_get_op_descs -syn keyword xsFunction Perl_get_op_names Perl_get_ppaddr Perl_get_sv -syn keyword xsFunction Perl_get_vtbl Perl_getcwd_sv Perl_gp_dup Perl_gp_free -syn keyword xsFunction Perl_gp_ref Perl_grok_bin Perl_grok_hex -syn keyword xsFunction Perl_grok_number Perl_grok_numeric_radix Perl_grok_oct -syn keyword xsFunction Perl_gv_add_by_type Perl_gv_autoload_pv +syn keyword xsFunction Perl_get_c_backtrace_dump Perl_get_context Perl_get_cv +syn keyword xsFunction Perl_get_cvn_flags Perl_get_hv Perl_get_mstats +syn keyword xsFunction Perl_get_op_descs Perl_get_op_names Perl_get_ppaddr +syn keyword xsFunction Perl_get_sv Perl_get_vtbl Perl_getcwd_sv Perl_gp_dup +syn keyword xsFunction Perl_gp_free Perl_gp_ref Perl_grok_bin Perl_grok_hex +syn keyword xsFunction Perl_grok_infnan Perl_grok_number +syn keyword xsFunction Perl_grok_number_flags Perl_grok_numeric_radix +syn keyword xsFunction Perl_grok_oct Perl_gv_add_by_type Perl_gv_autoload_pv syn keyword xsFunction Perl_gv_autoload_pvn Perl_gv_autoload_sv Perl_gv_check syn keyword xsFunction Perl_gv_const_sv Perl_gv_dump Perl_gv_efullname syn keyword xsFunction Perl_gv_efullname4 Perl_gv_fetchfile @@ -567,72 +690,50 @@ syn keyword xsFunction Perl_hv_eiter_set Perl_hv_fill Perl_hv_free_ent syn keyword xsFunction Perl_hv_iterinit Perl_hv_iterkey Perl_hv_iterkeysv syn keyword xsFunction Perl_hv_iternext_flags Perl_hv_iternextsv syn keyword xsFunction Perl_hv_iterval Perl_hv_ksplit Perl_hv_name_set -syn keyword xsFunction Perl_hv_placeholders_get Perl_hv_placeholders_p -syn keyword xsFunction Perl_hv_placeholders_set Perl_hv_riter_p -syn keyword xsFunction Perl_hv_riter_set Perl_hv_scalar -syn keyword xsFunction Perl_init_global_struct Perl_init_i18nl10n -syn keyword xsFunction Perl_init_i18nl14n Perl_init_stacks Perl_init_tm -syn keyword xsFunction Perl_instr Perl_is_ascii_string Perl_is_lvalue_sub -syn keyword xsFunction Perl_is_uni_alnum Perl_is_uni_alnum_lc -syn keyword xsFunction Perl_is_uni_alpha Perl_is_uni_alpha_lc -syn keyword xsFunction Perl_is_uni_ascii Perl_is_uni_ascii_lc -syn keyword xsFunction Perl_is_uni_cntrl Perl_is_uni_cntrl_lc -syn keyword xsFunction Perl_is_uni_digit Perl_is_uni_digit_lc -syn keyword xsFunction Perl_is_uni_graph Perl_is_uni_graph_lc -syn keyword xsFunction Perl_is_uni_idfirst Perl_is_uni_idfirst_lc -syn keyword xsFunction Perl_is_uni_lower Perl_is_uni_lower_lc -syn keyword xsFunction Perl_is_uni_print Perl_is_uni_print_lc -syn keyword xsFunction Perl_is_uni_punct Perl_is_uni_punct_lc -syn keyword xsFunction Perl_is_uni_space Perl_is_uni_space_lc -syn keyword xsFunction Perl_is_uni_upper Perl_is_uni_upper_lc -syn keyword xsFunction Perl_is_uni_xdigit Perl_is_uni_xdigit_lc -syn keyword xsFunction Perl_is_utf8_alnum Perl_is_utf8_alpha -syn keyword xsFunction Perl_is_utf8_ascii Perl_is_utf8_char_buf -syn keyword xsFunction Perl_is_utf8_cntrl Perl_is_utf8_digit -syn keyword xsFunction Perl_is_utf8_graph Perl_is_utf8_idcont -syn keyword xsFunction Perl_is_utf8_idfirst Perl_is_utf8_lower -syn keyword xsFunction Perl_is_utf8_mark Perl_is_utf8_perl_space -syn keyword xsFunction Perl_is_utf8_perl_word Perl_is_utf8_posix_digit -syn keyword xsFunction Perl_is_utf8_print Perl_is_utf8_punct -syn keyword xsFunction Perl_is_utf8_space Perl_is_utf8_string -syn keyword xsFunction Perl_is_utf8_string_loclen Perl_is_utf8_upper -syn keyword xsFunction Perl_is_utf8_xdigit Perl_is_utf8_xidcont -syn keyword xsFunction Perl_is_utf8_xidfirst Perl_leave_scope -syn keyword xsFunction Perl_lex_bufutf8 Perl_lex_discard_to -syn keyword xsFunction Perl_lex_grow_linestr Perl_lex_next_chunk -syn keyword xsFunction Perl_lex_peek_unichar Perl_lex_read_space -syn keyword xsFunction Perl_lex_read_to Perl_lex_read_unichar Perl_lex_start -syn keyword xsFunction Perl_lex_stuff_pv Perl_lex_stuff_pvn Perl_lex_stuff_sv -syn keyword xsFunction Perl_lex_unstuff Perl_load_module -syn keyword xsFunction Perl_load_module_nocontext Perl_looks_like_number -syn keyword xsFunction Perl_magic_dump Perl_malloc Perl_markstack_grow -syn keyword xsFunction Perl_mess Perl_mess_nocontext Perl_mess_sv Perl_mfree -syn keyword xsFunction Perl_mg_clear Perl_mg_copy Perl_mg_dup Perl_mg_find -syn keyword xsFunction Perl_mg_findext Perl_mg_free Perl_mg_free_type -syn keyword xsFunction Perl_mg_get Perl_mg_length Perl_mg_magical Perl_mg_set -syn keyword xsFunction Perl_mg_size Perl_mini_mktime Perl_moreswitches -syn keyword xsFunction Perl_mro_get_from_name Perl_mro_get_linear_isa -syn keyword xsFunction Perl_mro_get_private_data Perl_mro_method_changed_in -syn keyword xsFunction Perl_mro_register Perl_mro_set_mro -syn keyword xsFunction Perl_mro_set_private_data Perl_my_atof Perl_my_atof2 -syn keyword xsFunction Perl_my_bcopy Perl_my_bzero Perl_my_chsize -syn keyword xsFunction Perl_my_cxt_index Perl_my_cxt_init Perl_my_dirfd -syn keyword xsFunction Perl_my_exit Perl_my_failure_exit Perl_my_fflush_all -syn keyword xsFunction Perl_my_fork Perl_my_htonl Perl_my_memcmp -syn keyword xsFunction Perl_my_memset Perl_my_ntohl Perl_my_pclose -syn keyword xsFunction Perl_my_popen Perl_my_popen_list Perl_my_setenv +syn keyword xsFunction Perl_hv_placeholders_get Perl_hv_placeholders_set +syn keyword xsFunction Perl_hv_rand_set Perl_hv_riter_p Perl_hv_riter_set +syn keyword xsFunction Perl_hv_scalar Perl_init_global_struct +syn keyword xsFunction Perl_init_i18nl10n Perl_init_i18nl14n Perl_init_stacks +syn keyword xsFunction Perl_init_tm Perl_instr Perl_intro_my +syn keyword xsFunction Perl_is_invariant_string Perl_is_lvalue_sub +syn keyword xsFunction Perl_is_utf8_string Perl_is_utf8_string_loclen +syn keyword xsFunction Perl_isinfnan Perl_leave_scope Perl_lex_bufutf8 +syn keyword xsFunction Perl_lex_discard_to Perl_lex_grow_linestr +syn keyword xsFunction Perl_lex_next_chunk Perl_lex_peek_unichar +syn keyword xsFunction Perl_lex_read_space Perl_lex_read_to +syn keyword xsFunction Perl_lex_read_unichar Perl_lex_start Perl_lex_stuff_pv +syn keyword xsFunction Perl_lex_stuff_pvn Perl_lex_stuff_sv Perl_lex_unstuff +syn keyword xsFunction Perl_load_module Perl_load_module_nocontext +syn keyword xsFunction Perl_looks_like_number Perl_magic_dump Perl_malloc +syn keyword xsFunction Perl_markstack_grow Perl_mess Perl_mess_nocontext +syn keyword xsFunction Perl_mess_sv Perl_mfree Perl_mg_clear Perl_mg_copy +syn keyword xsFunction Perl_mg_dup Perl_mg_find Perl_mg_findext Perl_mg_free +syn keyword xsFunction Perl_mg_free_type Perl_mg_get Perl_mg_magical +syn keyword xsFunction Perl_mg_set Perl_mg_size Perl_mini_mktime +syn keyword xsFunction Perl_moreswitches Perl_mro_get_from_name +syn keyword xsFunction Perl_mro_get_linear_isa Perl_mro_get_private_data +syn keyword xsFunction Perl_mro_method_changed_in Perl_mro_register +syn keyword xsFunction Perl_mro_set_mro Perl_mro_set_private_data +syn keyword xsFunction Perl_my_atof Perl_my_atof2 Perl_my_bcopy Perl_my_bzero +syn keyword xsFunction Perl_my_chsize Perl_my_cxt_index Perl_my_cxt_init +syn keyword xsFunction Perl_my_dirfd Perl_my_exit Perl_my_failure_exit +syn keyword xsFunction Perl_my_fflush_all Perl_my_fork Perl_my_memcmp +syn keyword xsFunction Perl_my_memset Perl_my_pclose Perl_my_popen +syn keyword xsFunction Perl_my_popen_list Perl_my_setenv Perl_my_setlocale syn keyword xsFunction Perl_my_snprintf Perl_my_socketpair Perl_my_sprintf -syn keyword xsFunction Perl_my_strftime Perl_my_strlcat Perl_my_strlcpy -syn keyword xsFunction Perl_my_swap Perl_my_vsnprintf Perl_newANONATTRSUB +syn keyword xsFunction Perl_my_strerror Perl_my_strftime Perl_my_strlcat +syn keyword xsFunction Perl_my_strlcpy Perl_my_vsnprintf Perl_newANONATTRSUB syn keyword xsFunction Perl_newANONHASH Perl_newANONLIST Perl_newANONSUB -syn keyword xsFunction Perl_newASSIGNOP Perl_newATTRSUB Perl_newAVREF -syn keyword xsFunction Perl_newBINOP Perl_newCONDOP Perl_newCONSTSUB -syn keyword xsFunction Perl_newCONSTSUB_flags Perl_newCVREF Perl_newFORM +syn keyword xsFunction Perl_newASSIGNOP Perl_newAVREF Perl_newBINOP +syn keyword xsFunction Perl_newCONDOP Perl_newCONSTSUB Perl_newCONSTSUB_flags +syn keyword xsFunction Perl_newCVREF Perl_newDEFSVOP Perl_newFORM syn keyword xsFunction Perl_newFOROP Perl_newGIVENOP Perl_newGVOP syn keyword xsFunction Perl_newGVREF Perl_newGVgen_flags Perl_newHVREF syn keyword xsFunction Perl_newHVhv Perl_newLISTOP Perl_newLOGOP -syn keyword xsFunction Perl_newLOOPEX Perl_newLOOPOP Perl_newMYSUB -syn keyword xsFunction Perl_newNULLLIST Perl_newOP Perl_newPADOP Perl_newPMOP +syn keyword xsFunction Perl_newLOOPEX Perl_newLOOPOP Perl_newMETHOP +syn keyword xsFunction Perl_newMETHOP_named Perl_newMYSUB Perl_newNULLLIST +syn keyword xsFunction Perl_newOP Perl_newPADNAMELIST Perl_newPADNAMEouter +syn keyword xsFunction Perl_newPADNAMEpvn Perl_newPADOP Perl_newPMOP syn keyword xsFunction Perl_newPROG Perl_newPVOP Perl_newRANGE Perl_newRV syn keyword xsFunction Perl_newRV_noinc Perl_newSLICEOP Perl_newSTATEOP syn keyword xsFunction Perl_newSV Perl_newSVOP Perl_newSVREF Perl_newSV_type @@ -640,21 +741,24 @@ syn keyword xsFunction Perl_newSVhek Perl_newSViv Perl_newSVnv Perl_newSVpv syn keyword xsFunction Perl_newSVpv_share Perl_newSVpvf syn keyword xsFunction Perl_newSVpvf_nocontext Perl_newSVpvn syn keyword xsFunction Perl_newSVpvn_flags Perl_newSVpvn_share Perl_newSVrv -syn keyword xsFunction Perl_newSVsv Perl_newSVuv Perl_newUNOP Perl_newWHENOP -syn keyword xsFunction Perl_newWHILEOP Perl_newXS Perl_newXS_flags -syn keyword xsFunction Perl_new_collate Perl_new_ctype Perl_new_numeric -syn keyword xsFunction Perl_new_stackinfo Perl_new_version Perl_ninstr -syn keyword xsFunction Perl_nothreadhook Perl_op_append_elem -syn keyword xsFunction Perl_op_append_list Perl_op_contextualize Perl_op_dump -syn keyword xsFunction Perl_op_free Perl_op_linklist Perl_op_null -syn keyword xsFunction Perl_op_prepend_elem Perl_op_refcnt_lock -syn keyword xsFunction Perl_op_refcnt_unlock Perl_op_scope Perl_pack_cat +syn keyword xsFunction Perl_newSVsv Perl_newSVuv Perl_newUNOP +syn keyword xsFunction Perl_newUNOP_AUX Perl_newWHENOP Perl_newWHILEOP +syn keyword xsFunction Perl_newXS Perl_newXS_flags Perl_new_collate +syn keyword xsFunction Perl_new_ctype Perl_new_numeric Perl_new_stackinfo +syn keyword xsFunction Perl_new_version Perl_ninstr Perl_nothreadhook +syn keyword xsFunction Perl_op_append_elem Perl_op_append_list +syn keyword xsFunction Perl_op_contextualize Perl_op_convert_list +syn keyword xsFunction Perl_op_dump Perl_op_free Perl_op_linklist +syn keyword xsFunction Perl_op_null Perl_op_parent Perl_op_prepend_elem +syn keyword xsFunction Perl_op_refcnt_lock Perl_op_refcnt_unlock +syn keyword xsFunction Perl_op_scope Perl_op_sibling_splice Perl_pack_cat syn keyword xsFunction Perl_packlist Perl_pad_add_anon Perl_pad_add_name_pv syn keyword xsFunction Perl_pad_add_name_pvn Perl_pad_add_name_sv syn keyword xsFunction Perl_pad_alloc Perl_pad_compname_type syn keyword xsFunction Perl_pad_findmy_pv Perl_pad_findmy_pvn syn keyword xsFunction Perl_pad_findmy_sv Perl_pad_new Perl_pad_setsv -syn keyword xsFunction Perl_pad_sv Perl_pad_tidy Perl_parse_arithexpr +syn keyword xsFunction Perl_pad_sv Perl_pad_tidy Perl_padnamelist_fetch +syn keyword xsFunction Perl_padnamelist_store Perl_parse_arithexpr syn keyword xsFunction Perl_parse_barestmt Perl_parse_block syn keyword xsFunction Perl_parse_fullexpr Perl_parse_fullstmt syn keyword xsFunction Perl_parse_label Perl_parse_listexpr @@ -666,7 +770,9 @@ syn keyword xsFunction Perl_ptr_table_fetch Perl_ptr_table_free syn keyword xsFunction Perl_ptr_table_new Perl_ptr_table_split syn keyword xsFunction Perl_ptr_table_store Perl_push_scope Perl_pv_display syn keyword xsFunction Perl_pv_escape Perl_pv_pretty Perl_pv_uni_display -syn keyword xsFunction Perl_re_compile Perl_re_dup_guts Perl_re_intuit_start +syn keyword xsFunction Perl_quadmath_format_needed +syn keyword xsFunction Perl_quadmath_format_single Perl_re_compile +syn keyword xsFunction Perl_re_dup_guts Perl_re_intuit_start syn keyword xsFunction Perl_re_intuit_string Perl_realloc Perl_reentrant_free syn keyword xsFunction Perl_reentrant_init Perl_reentrant_retry syn keyword xsFunction Perl_reentrant_size Perl_reg_named_buff_all @@ -700,37 +806,38 @@ syn keyword xsFunction Perl_savesharedpv Perl_savesharedpvn syn keyword xsFunction Perl_savesharedsvpv Perl_savestack_grow syn keyword xsFunction Perl_savestack_grow_cnt Perl_savesvpv Perl_scan_bin syn keyword xsFunction Perl_scan_hex Perl_scan_num Perl_scan_oct -syn keyword xsFunction Perl_scan_version Perl_scan_vstring Perl_screaminstr -syn keyword xsFunction Perl_seed Perl_set_context Perl_set_numeric_local +syn keyword xsFunction Perl_scan_version Perl_scan_vstring Perl_seed +syn keyword xsFunction Perl_set_context Perl_set_numeric_local syn keyword xsFunction Perl_set_numeric_radix Perl_set_numeric_standard syn keyword xsFunction Perl_setdefout Perl_share_hek Perl_si_dup Perl_sortsv syn keyword xsFunction Perl_sortsv_flags Perl_ss_dup Perl_stack_grow -syn keyword xsFunction Perl_start_subparse Perl_stashpv_hvname_match -syn keyword xsFunction Perl_str_to_version Perl_sv_2bool_flags Perl_sv_2cv -syn keyword xsFunction Perl_sv_2io Perl_sv_2iv_flags Perl_sv_2mortal -syn keyword xsFunction Perl_sv_2nv_flags Perl_sv_2pv_flags Perl_sv_2pvbyte -syn keyword xsFunction Perl_sv_2pvutf8 Perl_sv_2uv_flags Perl_sv_backoff -syn keyword xsFunction Perl_sv_bless Perl_sv_cat_decode Perl_sv_catpv -syn keyword xsFunction Perl_sv_catpv_flags Perl_sv_catpv_mg Perl_sv_catpvf -syn keyword xsFunction Perl_sv_catpvf_mg Perl_sv_catpvf_mg_nocontext -syn keyword xsFunction Perl_sv_catpvf_nocontext Perl_sv_catpvn_flags -syn keyword xsFunction Perl_sv_catsv_flags Perl_sv_chop Perl_sv_clear -syn keyword xsFunction Perl_sv_cmp Perl_sv_cmp_flags Perl_sv_cmp_locale -syn keyword xsFunction Perl_sv_cmp_locale_flags Perl_sv_collxfrm_flags -syn keyword xsFunction Perl_sv_copypv Perl_sv_dec Perl_sv_dec_nomg -syn keyword xsFunction Perl_sv_derived_from Perl_sv_derived_from_pv -syn keyword xsFunction Perl_sv_derived_from_pvn Perl_sv_derived_from_sv -syn keyword xsFunction Perl_sv_destroyable Perl_sv_does Perl_sv_does_pv -syn keyword xsFunction Perl_sv_does_pvn Perl_sv_does_sv Perl_sv_dump -syn keyword xsFunction Perl_sv_dup Perl_sv_dup_inc Perl_sv_eq_flags -syn keyword xsFunction Perl_sv_force_normal_flags Perl_sv_free Perl_sv_gets -syn keyword xsFunction Perl_sv_grow Perl_sv_inc Perl_sv_inc_nomg -syn keyword xsFunction Perl_sv_insert_flags Perl_sv_isa Perl_sv_isobject -syn keyword xsFunction Perl_sv_iv Perl_sv_len Perl_sv_len_utf8 Perl_sv_magic -syn keyword xsFunction Perl_sv_magicext Perl_sv_mortalcopy Perl_sv_newmortal -syn keyword xsFunction Perl_sv_newref Perl_sv_nosharing Perl_sv_nounlocking -syn keyword xsFunction Perl_sv_nv Perl_sv_peek Perl_sv_pos_b2u -syn keyword xsFunction Perl_sv_pos_u2b Perl_sv_pos_u2b_flags Perl_sv_pvbyten +syn keyword xsFunction Perl_start_subparse Perl_str_to_version +syn keyword xsFunction Perl_sv_2bool_flags Perl_sv_2cv Perl_sv_2io +syn keyword xsFunction Perl_sv_2iv_flags Perl_sv_2mortal Perl_sv_2nv_flags +syn keyword xsFunction Perl_sv_2pv_flags Perl_sv_2pvbyte Perl_sv_2pvutf8 +syn keyword xsFunction Perl_sv_2uv_flags Perl_sv_backoff Perl_sv_bless +syn keyword xsFunction Perl_sv_cat_decode Perl_sv_catpv Perl_sv_catpv_flags +syn keyword xsFunction Perl_sv_catpv_mg Perl_sv_catpvf Perl_sv_catpvf_mg +syn keyword xsFunction Perl_sv_catpvf_mg_nocontext Perl_sv_catpvf_nocontext +syn keyword xsFunction Perl_sv_catpvn_flags Perl_sv_catsv_flags Perl_sv_chop +syn keyword xsFunction Perl_sv_clear Perl_sv_cmp Perl_sv_cmp_flags +syn keyword xsFunction Perl_sv_cmp_locale Perl_sv_cmp_locale_flags +syn keyword xsFunction Perl_sv_collxfrm_flags Perl_sv_copypv_flags +syn keyword xsFunction Perl_sv_dec Perl_sv_dec_nomg Perl_sv_derived_from +syn keyword xsFunction Perl_sv_derived_from_pv Perl_sv_derived_from_pvn +syn keyword xsFunction Perl_sv_derived_from_sv Perl_sv_destroyable +syn keyword xsFunction Perl_sv_does Perl_sv_does_pv Perl_sv_does_pvn +syn keyword xsFunction Perl_sv_does_sv Perl_sv_dump Perl_sv_dup +syn keyword xsFunction Perl_sv_dup_inc Perl_sv_eq_flags +syn keyword xsFunction Perl_sv_force_normal_flags Perl_sv_free +syn keyword xsFunction Perl_sv_get_backrefs Perl_sv_gets Perl_sv_grow +syn keyword xsFunction Perl_sv_inc Perl_sv_inc_nomg Perl_sv_insert_flags +syn keyword xsFunction Perl_sv_isa Perl_sv_isobject Perl_sv_iv Perl_sv_len +syn keyword xsFunction Perl_sv_len_utf8 Perl_sv_magic Perl_sv_magicext +syn keyword xsFunction Perl_sv_newmortal Perl_sv_newref Perl_sv_nosharing +syn keyword xsFunction Perl_sv_nounlocking Perl_sv_nv Perl_sv_peek +syn keyword xsFunction Perl_sv_pos_b2u Perl_sv_pos_b2u_flags Perl_sv_pos_u2b +syn keyword xsFunction Perl_sv_pos_u2b_flags Perl_sv_pvbyten syn keyword xsFunction Perl_sv_pvbyten_force Perl_sv_pvn syn keyword xsFunction Perl_sv_pvn_force_flags Perl_sv_pvn_nomg syn keyword xsFunction Perl_sv_pvutf8n Perl_sv_pvutf8n_force @@ -751,67 +858,74 @@ syn keyword xsFunction Perl_sv_usepvn_flags Perl_sv_utf8_decode syn keyword xsFunction Perl_sv_utf8_downgrade Perl_sv_utf8_encode syn keyword xsFunction Perl_sv_utf8_upgrade_flags_grow Perl_sv_uv syn keyword xsFunction Perl_sv_vcatpvf Perl_sv_vcatpvf_mg Perl_sv_vcatpvfn -syn keyword xsFunction Perl_sv_vsetpvf Perl_sv_vsetpvf_mg Perl_sv_vsetpvfn -syn keyword xsFunction Perl_swash_fetch Perl_swash_init Perl_sys_init +syn keyword xsFunction Perl_sv_vcatpvfn_flags Perl_sv_vsetpvf +syn keyword xsFunction Perl_sv_vsetpvf_mg Perl_sv_vsetpvfn Perl_swash_fetch +syn keyword xsFunction Perl_swash_init Perl_sync_locale Perl_sys_init syn keyword xsFunction Perl_sys_init3 Perl_sys_intern_clear syn keyword xsFunction Perl_sys_intern_dup Perl_sys_intern_init Perl_sys_term -syn keyword xsFunction Perl_taint_env Perl_taint_proper Perl_tmps_grow -syn keyword xsFunction Perl_to_uni_lower Perl_to_uni_lower_lc -syn keyword xsFunction Perl_to_uni_title Perl_to_uni_title_lc -syn keyword xsFunction Perl_to_uni_upper Perl_to_uni_upper_lc -syn keyword xsFunction Perl_to_utf8_case Perl_unlnk Perl_unpack_str -syn keyword xsFunction Perl_unpackstring Perl_unsharepvn Perl_upg_version -syn keyword xsFunction Perl_utf16_to_utf8 Perl_utf16_to_utf8_reversed -syn keyword xsFunction Perl_utf8_distance Perl_utf8_hop Perl_utf8_length -syn keyword xsFunction Perl_utf8_to_bytes Perl_utf8_to_uvchr_buf -syn keyword xsFunction Perl_utf8_to_uvuni_buf Perl_utf8n_to_uvchr -syn keyword xsFunction Perl_utf8n_to_uvuni Perl_uvchr_to_utf8 -syn keyword xsFunction Perl_uvchr_to_utf8_flags Perl_uvuni_to_utf8_flags -syn keyword xsFunction Perl_valid_utf8_to_uvchr Perl_valid_utf8_to_uvuni +syn keyword xsFunction Perl_taint_env Perl_taint_proper Perl_to_uni_lower +syn keyword xsFunction Perl_to_uni_title Perl_to_uni_upper Perl_to_utf8_case +syn keyword xsFunction Perl_unlnk Perl_unpack_str Perl_unpackstring +syn keyword xsFunction Perl_unsharepvn Perl_upg_version Perl_utf16_to_utf8 +syn keyword xsFunction Perl_utf16_to_utf8_reversed Perl_utf8_distance +syn keyword xsFunction Perl_utf8_hop Perl_utf8_length Perl_utf8_to_bytes +syn keyword xsFunction Perl_utf8n_to_uvchr Perl_utf8n_to_uvuni +syn keyword xsFunction Perl_uvoffuni_to_utf8_flags Perl_uvuni_to_utf8 +syn keyword xsFunction Perl_uvuni_to_utf8_flags Perl_valid_utf8_to_uvchr syn keyword xsFunction Perl_vcmp Perl_vcroak Perl_vdeb Perl_vform syn keyword xsFunction Perl_vload_module Perl_vmess Perl_vnewSVpvf syn keyword xsFunction Perl_vnormal Perl_vnumify Perl_vstringify Perl_vverify syn keyword xsFunction Perl_vwarn Perl_vwarner Perl_warn Perl_warn_nocontext syn keyword xsFunction Perl_warn_sv Perl_warner Perl_warner_nocontext syn keyword xsFunction Perl_whichsig_pv Perl_whichsig_pvn Perl_whichsig_sv -syn keyword xsFunction Perl_wrap_op_checker Slab_Alloc Slab_Free -syn keyword xsFunction _is_utf8_quotemeta _to_uni_fold_flags -syn keyword xsFunction _to_utf8_fold_flags _to_utf8_lower_flags -syn keyword xsFunction _to_utf8_title_flags _to_utf8_upper_flags amagic_call -syn keyword xsFunction amagic_deref_call any_dup apply_attrs_string -syn keyword xsFunction atfork_lock atfork_unlock av_clear av_delete av_exists -syn keyword xsFunction av_extend av_fetch av_fill av_len av_make av_pop -syn keyword xsFunction av_push av_shift av_store av_undef av_unshift -syn keyword xsFunction block_gimme bytes_cmp_utf8 bytes_from_utf8 -syn keyword xsFunction bytes_to_utf8 call_argv call_atexit call_list -syn keyword xsFunction call_method call_pv call_sv caller_cx cast_i32 cast_iv -syn keyword xsFunction cast_ulong cast_uv ck_entersub_args_list -syn keyword xsFunction ck_entersub_args_proto ck_entersub_args_proto_or_list -syn keyword xsFunction ck_warner ck_warner_d croak croak_no_modify +syn keyword xsFunction Perl_wrap_op_checker _get_regclass_nonbitmap_data +syn keyword xsFunction _is_cur_LC_category_utf8 _is_in_locale_category +syn keyword xsFunction _is_uni_FOO _is_uni_perl_idcont _is_uni_perl_idstart +syn keyword xsFunction _is_utf8_FOO _is_utf8_char_slow _is_utf8_idcont +syn keyword xsFunction _is_utf8_idstart _is_utf8_mark _is_utf8_perl_idcont +syn keyword xsFunction _is_utf8_perl_idstart _is_utf8_xidcont +syn keyword xsFunction _is_utf8_xidstart _new_invlist_C_array +syn keyword xsFunction _to_uni_fold_flags _to_utf8_fold_flags +syn keyword xsFunction _to_utf8_lower_flags _to_utf8_title_flags +syn keyword xsFunction _to_utf8_upper_flags alloccopstash amagic_call +syn keyword xsFunction amagic_deref_call any_dup append_utf8_from_native_byte +syn keyword xsFunction apply_attrs_string atfork_lock atfork_unlock av_clear +syn keyword xsFunction av_delete av_exists av_extend av_fetch av_fill av_len +syn keyword xsFunction av_make av_pop av_push av_shift av_store av_top_index +syn keyword xsFunction av_undef av_unshift block_end block_gimme block_start +syn keyword xsFunction bytes_cmp_utf8 bytes_from_utf8 bytes_to_utf8 call_argv +syn keyword xsFunction call_atexit call_list call_method call_pv call_sv +syn keyword xsFunction caller_cx cast_i32 cast_iv cast_ulong cast_uv +syn keyword xsFunction ck_entersub_args_list ck_entersub_args_proto +syn keyword xsFunction ck_entersub_args_proto_or_list ck_warner ck_warner_d +syn keyword xsFunction croak croak_memory_wrap croak_no_modify syn keyword xsFunction croak_nocontext croak_sv croak_xs_usage csighandler syn keyword xsFunction custom_op_desc custom_op_name cv_clone cv_const_sv -syn keyword xsFunction cv_get_call_checker cv_set_call_checker cv_undef -syn keyword xsFunction cx_dump cx_dup cxinc deb deb_nocontext debop -syn keyword xsFunction debprofdump debstack debstackptrs delimcpy -syn keyword xsFunction despatch_signals die die_nocontext die_sv dirp_dup -syn keyword xsFunction do_aspawn do_binmode do_close do_gv_dump do_gvgv_dump -syn keyword xsFunction do_hv_dump do_join do_magic_dump do_op_dump do_open9 -syn keyword xsFunction do_openn do_pmop_dump do_spawn do_spawn_nowait -syn keyword xsFunction do_sprintf do_sv_dump doing_taint doref dounwind -syn keyword xsFunction dowantarray dump_all dump_eval dump_fds dump_form +syn keyword xsFunction cv_get_call_checker cv_name cv_set_call_checker +syn keyword xsFunction cv_set_call_checker_flags cv_undef cx_dump cx_dup +syn keyword xsFunction cxinc deb deb_nocontext debop debprofdump debstack +syn keyword xsFunction debstackptrs delimcpy despatch_signals die +syn keyword xsFunction die_nocontext die_sv dirp_dup do_aspawn do_binmode +syn keyword xsFunction do_close do_gv_dump do_gvgv_dump do_hv_dump do_join +syn keyword xsFunction do_magic_dump do_op_dump do_open9 do_openn +syn keyword xsFunction do_pmop_dump do_spawn do_spawn_nowait do_sprintf +syn keyword xsFunction do_sv_dump doing_taint doref dounwind dowantarray +syn keyword xsFunction dump_all dump_c_backtrace dump_eval dump_form syn keyword xsFunction dump_indent dump_mstats dump_packsubs dump_sub syn keyword xsFunction dump_vindent eval_pv eval_sv fbm_compile fbm_instr syn keyword xsFunction filter_add filter_del filter_read find_runcv syn keyword xsFunction find_rundefsv foldEQ foldEQ_latin1 foldEQ_locale syn keyword xsFunction foldEQ_utf8_flags form form_nocontext fp_dup syn keyword xsFunction fprintf_nocontext free_global_struct free_tmps get_av -syn keyword xsFunction get_context get_cv get_cvn_flags get_hv get_mstats -syn keyword xsFunction get_op_descs get_op_names get_ppaddr get_sv get_vtbl -syn keyword xsFunction getcwd_sv gp_dup gp_free gp_ref grok_bin grok_hex -syn keyword xsFunction grok_number grok_numeric_radix grok_oct gv_add_by_type -syn keyword xsFunction gv_autoload_pv gv_autoload_pvn gv_autoload_sv gv_check -syn keyword xsFunction gv_const_sv gv_dump gv_efullname gv_efullname4 -syn keyword xsFunction gv_fetchfile gv_fetchfile_flags gv_fetchmeth_pv +syn keyword xsFunction get_c_backtrace_dump get_context get_cv get_cvn_flags +syn keyword xsFunction get_hv get_mstats get_op_descs get_op_names get_ppaddr +syn keyword xsFunction get_sv get_vtbl getcwd_sv gp_dup gp_free gp_ref +syn keyword xsFunction grok_bin grok_hex grok_infnan grok_number +syn keyword xsFunction grok_number_flags grok_numeric_radix grok_oct +syn keyword xsFunction gv_add_by_type gv_autoload_pv gv_autoload_pvn +syn keyword xsFunction gv_autoload_sv gv_check gv_const_sv gv_dump +syn keyword xsFunction gv_efullname gv_efullname4 gv_fetchfile +syn keyword xsFunction gv_fetchfile_flags gv_fetchmeth_pv syn keyword xsFunction gv_fetchmeth_pv_autoload gv_fetchmeth_pvn syn keyword xsFunction gv_fetchmeth_pvn_autoload gv_fetchmeth_sv syn keyword xsFunction gv_fetchmeth_sv_autoload gv_fetchmethod_autoload @@ -824,118 +938,106 @@ syn keyword xsFunction hv_clear hv_clear_placeholders hv_common syn keyword xsFunction hv_common_key_len hv_copy_hints_hv hv_delayfree_ent syn keyword xsFunction hv_free_ent hv_iterinit hv_iterkey hv_iterkeysv syn keyword xsFunction hv_iternext_flags hv_iternextsv hv_iterval hv_ksplit -syn keyword xsFunction hv_name_set hv_scalar init_global_struct init_i18nl10n -syn keyword xsFunction init_i18nl14n init_stacks init_tm instr -syn keyword xsFunction is_ascii_string is_lvalue_sub is_uni_alnum -syn keyword xsFunction is_uni_alnum_lc is_uni_alpha is_uni_alpha_lc -syn keyword xsFunction is_uni_ascii is_uni_ascii_lc is_uni_cntrl -syn keyword xsFunction is_uni_cntrl_lc is_uni_digit is_uni_digit_lc -syn keyword xsFunction is_uni_graph is_uni_graph_lc is_uni_idfirst -syn keyword xsFunction is_uni_idfirst_lc is_uni_lower is_uni_lower_lc -syn keyword xsFunction is_uni_print is_uni_print_lc is_uni_punct -syn keyword xsFunction is_uni_punct_lc is_uni_space is_uni_space_lc -syn keyword xsFunction is_uni_upper is_uni_upper_lc is_uni_xdigit -syn keyword xsFunction is_uni_xdigit_lc is_utf8_alnum is_utf8_alpha -syn keyword xsFunction is_utf8_ascii is_utf8_char_buf is_utf8_cntrl -syn keyword xsFunction is_utf8_digit is_utf8_graph is_utf8_idcont -syn keyword xsFunction is_utf8_idfirst is_utf8_lower is_utf8_mark -syn keyword xsFunction is_utf8_perl_space is_utf8_perl_word -syn keyword xsFunction is_utf8_posix_digit is_utf8_print is_utf8_punct -syn keyword xsFunction is_utf8_space is_utf8_string is_utf8_string_loclen -syn keyword xsFunction is_utf8_upper is_utf8_xdigit is_utf8_xidcont -syn keyword xsFunction is_utf8_xidfirst leave_scope lex_bufutf8 -syn keyword xsFunction lex_discard_to lex_grow_linestr lex_next_chunk -syn keyword xsFunction lex_peek_unichar lex_read_space lex_read_to -syn keyword xsFunction lex_read_unichar lex_start lex_stuff_pv lex_stuff_pvn -syn keyword xsFunction lex_stuff_sv lex_unstuff load_module -syn keyword xsFunction load_module_nocontext looks_like_number magic_dump -syn keyword xsFunction markstack_grow mess mess_nocontext mess_sv mg_clear -syn keyword xsFunction mg_copy mg_dup mg_find mg_findext mg_free mg_free_type -syn keyword xsFunction mg_get mg_length mg_magical mg_set mg_size mini_mktime -syn keyword xsFunction moreswitches mro_get_linear_isa mro_method_changed_in -syn keyword xsFunction my_atof my_atof2 my_bcopy my_bzero my_chsize my_dirfd -syn keyword xsFunction my_exit my_failure_exit my_fflush_all my_fork my_htonl -syn keyword xsFunction my_memcmp my_memset my_ntohl my_pclose my_popen -syn keyword xsFunction my_popen_list my_setenv my_socketpair my_strftime -syn keyword xsFunction my_swap newANONATTRSUB newANONHASH newANONLIST -syn keyword xsFunction newANONSUB newASSIGNOP newATTRSUB newAVREF newBINOP -syn keyword xsFunction newCONDOP newCONSTSUB newCONSTSUB_flags newCVREF -syn keyword xsFunction newFORM newFOROP newGIVENOP newGVOP newGVREF -syn keyword xsFunction newGVgen_flags newHVREF newHVhv newLISTOP newLOGOP -syn keyword xsFunction newLOOPEX newLOOPOP newMYSUB newNULLLIST newOP -syn keyword xsFunction newPADOP newPMOP newPROG newPVOP newRANGE newRV -syn keyword xsFunction newRV_noinc newSLICEOP newSTATEOP newSV newSVOP -syn keyword xsFunction newSVREF newSV_type newSVhek newSViv newSVnv newSVpv +syn keyword xsFunction hv_name_set hv_rand_set hv_scalar init_global_struct +syn keyword xsFunction init_i18nl10n init_i18nl14n init_stacks init_tm instr +syn keyword xsFunction intro_my is_invariant_string is_lvalue_sub +syn keyword xsFunction is_safe_syscall is_utf8_string is_utf8_string_loclen +syn keyword xsFunction isinfnan leave_scope lex_bufutf8 lex_discard_to +syn keyword xsFunction lex_grow_linestr lex_next_chunk lex_peek_unichar +syn keyword xsFunction lex_read_space lex_read_to lex_read_unichar lex_start +syn keyword xsFunction lex_stuff_pv lex_stuff_pvn lex_stuff_sv lex_unstuff +syn keyword xsFunction load_module load_module_nocontext looks_like_number +syn keyword xsFunction magic_dump markstack_grow mess mess_nocontext mess_sv +syn keyword xsFunction mg_clear mg_copy mg_dup mg_find mg_findext mg_free +syn keyword xsFunction mg_free_type mg_get mg_magical mg_set mg_size +syn keyword xsFunction mini_mktime moreswitches mro_get_linear_isa +syn keyword xsFunction mro_method_changed_in my_atof my_atof2 my_bcopy +syn keyword xsFunction my_bzero my_chsize my_dirfd my_exit my_failure_exit +syn keyword xsFunction my_fflush_all my_fork my_memcmp my_memset my_pclose +syn keyword xsFunction my_popen my_popen_list my_setenv my_setlocale +syn keyword xsFunction my_socketpair my_strerror my_strftime newANONATTRSUB +syn keyword xsFunction newANONHASH newANONLIST newANONSUB newASSIGNOP +syn keyword xsFunction newAVREF newBINOP newCONDOP newCONSTSUB +syn keyword xsFunction newCONSTSUB_flags newCVREF newDEFSVOP newFORM newFOROP +syn keyword xsFunction newGIVENOP newGVOP newGVREF newGVgen_flags newHVREF +syn keyword xsFunction newHVhv newLISTOP newLOGOP newLOOPEX newLOOPOP +syn keyword xsFunction newMETHOP newMETHOP_named newMYSUB newNULLLIST newOP +syn keyword xsFunction newPADNAMELIST newPADNAMEouter newPADNAMEpvn newPADOP +syn keyword xsFunction newPMOP newPROG newPVOP newRANGE newRV newRV_noinc +syn keyword xsFunction newSLICEOP newSTATEOP newSV newSVOP newSVREF +syn keyword xsFunction newSV_type newSVhek newSViv newSVnv newSVpv syn keyword xsFunction newSVpv_share newSVpvf newSVpvf_nocontext newSVpvn syn keyword xsFunction newSVpvn_flags newSVpvn_share newSVrv newSVsv newSVuv -syn keyword xsFunction newUNOP newWHENOP newWHILEOP newXS newXS_flags -syn keyword xsFunction new_collate new_ctype new_numeric new_stackinfo -syn keyword xsFunction new_version ninstr nothreadhook op_append_elem -syn keyword xsFunction op_append_list op_contextualize op_dump op_free -syn keyword xsFunction op_linklist op_null op_prepend_elem op_refcnt_lock -syn keyword xsFunction op_refcnt_unlock op_scope pack_cat packlist -syn keyword xsFunction pad_add_anon pad_add_name_pv pad_add_name_pvn +syn keyword xsFunction newUNOP newUNOP_AUX newWHENOP newWHILEOP newXS +syn keyword xsFunction newXS_flags new_collate new_ctype new_numeric +syn keyword xsFunction new_stackinfo new_version ninstr nothreadhook +syn keyword xsFunction op_append_elem op_append_list op_contextualize +syn keyword xsFunction op_convert_list op_dump op_free op_linklist op_null +syn keyword xsFunction op_parent op_prepend_elem op_refcnt_lock +syn keyword xsFunction op_refcnt_unlock op_scope op_sibling_splice pack_cat +syn keyword xsFunction packlist pad_add_anon pad_add_name_pv pad_add_name_pvn syn keyword xsFunction pad_add_name_sv pad_alloc pad_compname_type syn keyword xsFunction pad_findmy_pv pad_findmy_pvn pad_findmy_sv pad_new -syn keyword xsFunction pad_setsv pad_sv pad_tidy parse_arithexpr -syn keyword xsFunction parse_barestmt parse_block parse_fullexpr -syn keyword xsFunction parse_fullstmt parse_label parse_listexpr -syn keyword xsFunction parse_stmtseq parse_termexpr parser_dup pmop_dump -syn keyword xsFunction pop_scope pregcomp pregexec pregfree pregfree2 -syn keyword xsFunction prescan_version printf_nocontext ptr_table_fetch -syn keyword xsFunction ptr_table_free ptr_table_new ptr_table_split -syn keyword xsFunction ptr_table_store push_scope pv_display pv_escape -syn keyword xsFunction pv_pretty pv_uni_display re_compile re_dup_guts -syn keyword xsFunction re_intuit_start re_intuit_string reentrant_free -syn keyword xsFunction reentrant_init reentrant_retry reentrant_size -syn keyword xsFunction reg_named_buff_all reg_named_buff_exists -syn keyword xsFunction reg_named_buff_fetch reg_named_buff_firstkey -syn keyword xsFunction reg_named_buff_nextkey reg_named_buff_scalar -syn keyword xsFunction regclass_swash regdump regdupe_internal regexec_flags -syn keyword xsFunction regfree_internal reginitcolors regnext repeatcpy -syn keyword xsFunction require_pv rninstr rsignal rsignal_state runops_debug -syn keyword xsFunction runops_standard rv2cv_op_cv rvpv_dup safesyscalloc -syn keyword xsFunction safesysfree safesysmalloc safesysrealloc save_I16 -syn keyword xsFunction save_I32 save_I8 save_adelete save_aelem_flags -syn keyword xsFunction save_alloc save_aptr save_ary save_bool save_clearsv -syn keyword xsFunction save_delete save_destructor save_destructor_x -syn keyword xsFunction save_generic_pvref save_generic_svref save_gp -syn keyword xsFunction save_hash save_hdelete save_helem_flags save_hints -syn keyword xsFunction save_hptr save_int save_item save_iv save_list -syn keyword xsFunction save_long save_nogv save_padsv_and_mortalize save_pptr -syn keyword xsFunction save_pushi32ptr save_pushptr save_pushptrptr -syn keyword xsFunction save_re_context save_scalar save_set_svflags -syn keyword xsFunction save_shared_pvref save_sptr save_svref save_vptr -syn keyword xsFunction savepv savepvn savesharedpv savesharedpvn -syn keyword xsFunction savesharedsvpv savestack_grow savestack_grow_cnt -syn keyword xsFunction savesvpv scan_bin scan_hex scan_num scan_oct -syn keyword xsFunction scan_version scan_vstring screaminstr seed set_context -syn keyword xsFunction set_numeric_local set_numeric_radix +syn keyword xsFunction pad_setsv pad_sv pad_tidy padnamelist_fetch +syn keyword xsFunction padnamelist_store parse_arithexpr parse_barestmt +syn keyword xsFunction parse_block parse_fullexpr parse_fullstmt parse_label +syn keyword xsFunction parse_listexpr parse_stmtseq parse_termexpr parser_dup +syn keyword xsFunction pmop_dump pop_scope pregcomp pregexec pregfree +syn keyword xsFunction pregfree2 prescan_version printf_nocontext +syn keyword xsFunction ptr_table_fetch ptr_table_free ptr_table_new +syn keyword xsFunction ptr_table_split ptr_table_store push_scope pv_display +syn keyword xsFunction pv_escape pv_pretty pv_uni_display +syn keyword xsFunction quadmath_format_needed quadmath_format_single +syn keyword xsFunction re_compile re_dup_guts re_intuit_start +syn keyword xsFunction re_intuit_string reentrant_free reentrant_init +syn keyword xsFunction reentrant_retry reentrant_size reg_named_buff_all +syn keyword xsFunction reg_named_buff_exists reg_named_buff_fetch +syn keyword xsFunction reg_named_buff_firstkey reg_named_buff_nextkey +syn keyword xsFunction reg_named_buff_scalar regclass_swash regdump +syn keyword xsFunction regdupe_internal regexec_flags regfree_internal +syn keyword xsFunction reginitcolors regnext repeatcpy require_pv rninstr +syn keyword xsFunction rsignal rsignal_state runops_debug runops_standard +syn keyword xsFunction rv2cv_op_cv rvpv_dup safesyscalloc safesysfree +syn keyword xsFunction safesysmalloc safesysrealloc save_I16 save_I32 save_I8 +syn keyword xsFunction save_adelete save_aelem_flags save_alloc save_aptr +syn keyword xsFunction save_ary save_bool save_clearsv save_delete +syn keyword xsFunction save_destructor save_destructor_x save_generic_pvref +syn keyword xsFunction save_generic_svref save_gp save_hash save_hdelete +syn keyword xsFunction save_helem_flags save_hints save_hptr save_int +syn keyword xsFunction save_item save_iv save_list save_long save_nogv +syn keyword xsFunction save_padsv_and_mortalize save_pptr save_pushi32ptr +syn keyword xsFunction save_pushptr save_pushptrptr save_re_context +syn keyword xsFunction save_scalar save_set_svflags save_shared_pvref +syn keyword xsFunction save_sptr save_svref save_vptr savepv savepvn +syn keyword xsFunction savesharedpv savesharedpvn savesharedsvpv +syn keyword xsFunction savestack_grow savestack_grow_cnt savesvpv scan_bin +syn keyword xsFunction scan_hex scan_num scan_oct scan_version scan_vstring +syn keyword xsFunction seed set_context set_numeric_local set_numeric_radix syn keyword xsFunction set_numeric_standard setdefout share_hek si_dup sortsv syn keyword xsFunction sortsv_flags ss_dup stack_grow start_subparse -syn keyword xsFunction stashpv_hvname_match str_to_version sv_2bool_flags -syn keyword xsFunction sv_2cv sv_2io sv_2iv_flags sv_2mortal sv_2nv_flags -syn keyword xsFunction sv_2pv_flags sv_2pvbyte sv_2pvutf8 sv_2uv_flags -syn keyword xsFunction sv_backoff sv_bless sv_cat_decode sv_catpv -syn keyword xsFunction sv_catpv_flags sv_catpv_mg sv_catpvf sv_catpvf_mg -syn keyword xsFunction sv_catpvf_mg_nocontext sv_catpvf_nocontext -syn keyword xsFunction sv_catpvn_flags sv_catsv_flags sv_chop sv_clear -syn keyword xsFunction sv_cmp_flags sv_cmp_locale_flags sv_collxfrm_flags -syn keyword xsFunction sv_copypv sv_dec sv_dec_nomg sv_derived_from -syn keyword xsFunction sv_derived_from_pv sv_derived_from_pvn +syn keyword xsFunction str_to_version sv_2bool_flags sv_2cv sv_2io +syn keyword xsFunction sv_2iv_flags sv_2mortal sv_2nv_flags sv_2pv_flags +syn keyword xsFunction sv_2pvbyte sv_2pvutf8 sv_2uv_flags sv_backoff sv_bless +syn keyword xsFunction sv_cat_decode sv_catpv sv_catpv_flags sv_catpv_mg +syn keyword xsFunction sv_catpvf sv_catpvf_mg sv_catpvf_mg_nocontext +syn keyword xsFunction sv_catpvf_nocontext sv_catpvn_flags sv_catsv_flags +syn keyword xsFunction sv_chop sv_clear sv_cmp_flags sv_cmp_locale_flags +syn keyword xsFunction sv_collxfrm_flags sv_copypv_flags sv_dec sv_dec_nomg +syn keyword xsFunction sv_derived_from sv_derived_from_pv sv_derived_from_pvn syn keyword xsFunction sv_derived_from_sv sv_destroyable sv_does sv_does_pv syn keyword xsFunction sv_does_pvn sv_does_sv sv_dump sv_dup sv_dup_inc -syn keyword xsFunction sv_eq_flags sv_force_normal_flags sv_free sv_gets -syn keyword xsFunction sv_grow sv_inc sv_inc_nomg sv_insert_flags sv_isa -syn keyword xsFunction sv_isobject sv_iv sv_len sv_len_utf8 sv_magic -syn keyword xsFunction sv_magicext sv_mortalcopy sv_newmortal sv_newref -syn keyword xsFunction sv_nosharing sv_nounlocking sv_nv sv_peek sv_pos_b2u -syn keyword xsFunction sv_pos_u2b sv_pos_u2b_flags sv_pvbyten -syn keyword xsFunction sv_pvbyten_force sv_pvn sv_pvn_force_flags sv_pvn_nomg -syn keyword xsFunction sv_pvutf8n sv_pvutf8n_force sv_recode_to_utf8 -syn keyword xsFunction sv_reftype sv_replace sv_report_used sv_reset -syn keyword xsFunction sv_rvweaken sv_setiv sv_setiv_mg sv_setnv sv_setnv_mg -syn keyword xsFunction sv_setpv sv_setpv_mg sv_setpvf sv_setpvf_mg +syn keyword xsFunction sv_eq_flags sv_force_normal_flags sv_free +syn keyword xsFunction sv_get_backrefs sv_gets sv_grow sv_inc sv_inc_nomg +syn keyword xsFunction sv_insert_flags sv_isa sv_isobject sv_iv sv_len +syn keyword xsFunction sv_len_utf8 sv_magic sv_magicext sv_newmortal +syn keyword xsFunction sv_newref sv_nosharing sv_nounlocking sv_nv sv_peek +syn keyword xsFunction sv_pos_b2u sv_pos_b2u_flags sv_pos_u2b +syn keyword xsFunction sv_pos_u2b_flags sv_pvbyten sv_pvbyten_force sv_pvn +syn keyword xsFunction sv_pvn_force_flags sv_pvn_nomg sv_pvutf8n +syn keyword xsFunction sv_pvutf8n_force sv_recode_to_utf8 sv_reftype +syn keyword xsFunction sv_replace sv_report_used sv_reset sv_rvweaken +syn keyword xsFunction sv_setiv sv_setiv_mg sv_setnv sv_setnv_mg sv_setpv +syn keyword xsFunction sv_setpv_mg sv_setpvf sv_setpvf_mg syn keyword xsFunction sv_setpvf_mg_nocontext sv_setpvf_nocontext sv_setpviv syn keyword xsFunction sv_setpviv_mg sv_setpvn sv_setpvn_mg sv_setref_iv syn keyword xsFunction sv_setref_nv sv_setref_pv sv_setref_pvn sv_setref_uv @@ -944,18 +1046,16 @@ syn keyword xsFunction sv_tainted sv_true sv_uni_display sv_unmagic syn keyword xsFunction sv_unmagicext sv_unref_flags sv_untaint sv_upgrade syn keyword xsFunction sv_usepvn_flags sv_utf8_decode sv_utf8_downgrade syn keyword xsFunction sv_utf8_encode sv_utf8_upgrade_flags_grow sv_uv -syn keyword xsFunction sv_vcatpvf sv_vcatpvf_mg sv_vcatpvfn sv_vsetpvf -syn keyword xsFunction sv_vsetpvf_mg sv_vsetpvfn swash_fetch swash_init -syn keyword xsFunction sys_intern_clear sys_intern_dup sys_intern_init -syn keyword xsFunction taint_env taint_proper tmps_grow to_uni_lower -syn keyword xsFunction to_uni_lower_lc to_uni_title to_uni_title_lc -syn keyword xsFunction to_uni_upper to_uni_upper_lc to_utf8_case unlnk +syn keyword xsFunction sv_vcatpvf sv_vcatpvf_mg sv_vcatpvfn sv_vcatpvfn_flags +syn keyword xsFunction sv_vsetpvf sv_vsetpvf_mg sv_vsetpvfn swash_fetch +syn keyword xsFunction swash_init sync_locale sys_intern_clear sys_intern_dup +syn keyword xsFunction sys_intern_init taint_env taint_proper to_uni_lower +syn keyword xsFunction to_uni_title to_uni_upper to_utf8_case unlnk syn keyword xsFunction unpack_str unpackstring unsharepvn upg_version syn keyword xsFunction utf16_to_utf8 utf16_to_utf8_reversed utf8_distance -syn keyword xsFunction utf8_hop utf8_length utf8_to_bytes utf8_to_uvchr_buf -syn keyword xsFunction utf8_to_uvuni_buf utf8n_to_uvchr utf8n_to_uvuni -syn keyword xsFunction uvchr_to_utf8 uvchr_to_utf8_flags uvuni_to_utf8_flags -syn keyword xsFunction valid_utf8_to_uvchr valid_utf8_to_uvuni vcmp vcroak +syn keyword xsFunction utf8_hop utf8_length utf8_to_bytes utf8n_to_uvchr +syn keyword xsFunction utf8n_to_uvuni uvoffuni_to_utf8_flags uvuni_to_utf8 +syn keyword xsFunction uvuni_to_utf8_flags valid_utf8_to_uvchr vcmp vcroak syn keyword xsFunction vdeb vform vload_module vmess vnewSVpvf vnormal syn keyword xsFunction vnumify vstringify vverify vwarn vwarner warn syn keyword xsFunction warn_nocontext warn_sv warner warner_nocontext @@ -964,149 +1064,165 @@ syn keyword xsVariable MARK MY_CXT ORIGMARK PL_I PL_No PL_Vars PL_VarsPtr syn keyword xsVariable PL_Yes PL_a2e PL_bincompat_options PL_bitcount syn keyword xsVariable PL_block_type PL_bufend PL_bufptr PL_charclass syn keyword xsVariable PL_check PL_copline PL_core_reg_engine PL_cshname -syn keyword xsVariable PL_curforce PL_e2a PL_e2utf PL_endwhite PL_error_count -syn keyword xsVariable PL_expect PL_faketokens PL_fold PL_fold_latin1 -syn keyword xsVariable PL_fold_locale PL_force_link_funcs PL_freq -syn keyword xsVariable PL_global_struct_size PL_hexdigit PL_in_my -syn keyword xsVariable PL_in_my_stash PL_interp_size PL_interp_size_5_16_0 -syn keyword xsVariable PL_last_lop PL_last_lop_op PL_last_uni PL_lasttoke -syn keyword xsVariable PL_latin1_lc PL_lex_allbrackets PL_lex_brackets -syn keyword xsVariable PL_lex_brackstack PL_lex_casemods PL_lex_casestack -syn keyword xsVariable PL_lex_defer PL_lex_dojoin PL_lex_expect -syn keyword xsVariable PL_lex_fakeeof PL_lex_formbrack PL_lex_inpat -syn keyword xsVariable PL_lex_inwhat PL_lex_op PL_lex_repl PL_lex_starts -syn keyword xsVariable PL_lex_state PL_lex_stuff PL_linestart PL_linestr -syn keyword xsVariable PL_magic_data PL_magic_vtable_names PL_memory_wrap -syn keyword xsVariable PL_mod_latin1_uc PL_multi_close PL_multi_end -syn keyword xsVariable PL_multi_open PL_multi_start PL_nexttoke PL_nexttype -syn keyword xsVariable PL_nextval PL_nextwhite PL_no_aelem PL_no_dir_func +syn keyword xsVariable PL_e2a PL_e2utf PL_error_count PL_expect PL_fold +syn keyword xsVariable PL_fold_latin1 PL_fold_locale PL_force_link_funcs +syn keyword xsVariable PL_freq PL_global_struct_size PL_hexdigit PL_in_my +syn keyword xsVariable PL_in_my_stash PL_interp_size PL_interp_size_5_18_0 +syn keyword xsVariable PL_last_lop PL_last_lop_op PL_last_uni PL_latin1_lc +syn keyword xsVariable PL_lex_allbrackets PL_lex_brackets PL_lex_brackstack +syn keyword xsVariable PL_lex_casemods PL_lex_casestack PL_lex_defer +syn keyword xsVariable PL_lex_dojoin PL_lex_fakeeof PL_lex_formbrack +syn keyword xsVariable PL_lex_inpat PL_lex_inwhat PL_lex_op PL_lex_repl +syn keyword xsVariable PL_lex_starts PL_lex_state PL_lex_stuff PL_linestart +syn keyword xsVariable PL_linestr PL_magic_data PL_magic_vtable_names +syn keyword xsVariable PL_memory_wrap PL_mod_latin1_uc PL_multi_close +syn keyword xsVariable PL_multi_end PL_multi_open PL_multi_start PL_nexttoke +syn keyword xsVariable PL_nexttype PL_nextval PL_no_aelem PL_no_dir_func syn keyword xsVariable PL_no_func PL_no_helem_sv PL_no_localize_ref PL_no_mem syn keyword xsVariable PL_no_modify PL_no_myglob PL_no_security syn keyword xsVariable PL_no_sock_func PL_no_symref PL_no_symref_sv syn keyword xsVariable PL_no_usym PL_no_wrongref PL_oldbufptr PL_oldoldbufptr -syn keyword xsVariable PL_op_desc PL_op_name PL_opargs PL_pending_ident +syn keyword xsVariable PL_op_desc PL_op_name PL_op_private_bitdef_ix +syn keyword xsVariable PL_op_private_bitdefs PL_op_private_bitfields +syn keyword xsVariable PL_op_private_labels PL_op_private_valid PL_opargs syn keyword xsVariable PL_phase_names PL_ppaddr PL_preambled -syn keyword xsVariable PL_realtokenstart PL_reg_extflags_name PL_reg_name +syn keyword xsVariable PL_reg_extflags_name PL_reg_intflags_name PL_reg_name syn keyword xsVariable PL_regkind PL_revision PL_rsfp PL_rsfp_filters syn keyword xsVariable PL_runops_dbg PL_runops_std PL_sh_path PL_sig_name -syn keyword xsVariable PL_sig_num PL_simple PL_simple_bitmask PL_skipwhite -syn keyword xsVariable PL_sublex_info PL_subversion PL_thisclose PL_thismad -syn keyword xsVariable PL_thisopen PL_thisstuff PL_thistoken PL_thiswhite -syn keyword xsVariable PL_tokenbuf PL_utf2e PL_utf8skip PL_uudmap PL_uuemap -syn keyword xsVariable PL_valid_types_IVX PL_valid_types_IV_set -syn keyword xsVariable PL_valid_types_NVX PL_valid_types_NV_set -syn keyword xsVariable PL_valid_types_PVX PL_valid_types_RV PL_varies -syn keyword xsVariable PL_varies_bitmask PL_version PL_warn_nl PL_warn_nosemi -syn keyword xsVariable PL_warn_reserved PL_warn_uninit PL_warn_uninit_sv -syn keyword xsVariable RETVAL SP TARG _aMY_CXT _aTHX aMY_CXT aMY_CXT_ aTHX -syn keyword xsVariable aTHX_ items +syn keyword xsVariable PL_sig_num PL_simple PL_simple_bitmask PL_sublex_info +syn keyword xsVariable PL_subversion PL_tokenbuf PL_utf2e PL_utf8skip +syn keyword xsVariable PL_uudmap PL_uuemap PL_valid_types_IVX +syn keyword xsVariable PL_valid_types_IV_set PL_valid_types_NVX +syn keyword xsVariable PL_valid_types_NV_set PL_valid_types_PVX +syn keyword xsVariable PL_valid_types_RV PL_varies PL_varies_bitmask +syn keyword xsVariable PL_version PL_warn_nl PL_warn_nosemi PL_warn_reserved +syn keyword xsVariable PL_warn_uninit PL_warn_uninit_sv RETVAL SP TARG +syn keyword xsVariable _aMY_CXT _aTHX aMY_CXT aMY_CXT_ aTHX aTHX_ items syn keyword xsMacro ABORT ACCEPT ADDOP AHOCORASICK AHOCORASICKC -syn keyword xsMacro ALLOC_THREAD_KEY ALNUM ALNUMA ALNUML ALNUMU AMG_CALLun -syn keyword xsMacro AMG_CALLunary AMGf_assign AMGf_noleft AMGf_noright -syn keyword xsMacro AMGf_numeric AMGf_set AMGf_unary AMGfallNEVER AMGfallNO +syn keyword xsMacro ALLOC_THREAD_KEY AMG_CALLun AMG_CALLunary AMGf_assign +syn keyword xsMacro AMGf_noleft AMGf_noright AMGf_numarg AMGf_numeric +syn keyword xsMacro AMGf_set AMGf_unary AMGf_want_list AMGfallNEVER AMGfallNO syn keyword xsMacro AMGfallYES AMT_AMAGIC AMT_AMAGIC_off AMT_AMAGIC_on -syn keyword xsMacro AMT_OVERLOADED AMT_OVERLOADED_off AMT_OVERLOADED_on -syn keyword xsMacro AMTf_AMAGIC AMTf_OVERLOADED ANDAND ANDOP ANONSUB ANYOF -syn keyword xsMacro ANYOFV ANYOF_ALNUM ANYOF_ALNUMC ANYOF_ALNUML ANYOF_ALPHA -syn keyword xsMacro ANYOF_ASCII ANYOF_BIT ANYOF_BITMAP ANYOF_BITMAP_BYTE -syn keyword xsMacro ANYOF_BITMAP_CLEAR ANYOF_BITMAP_CLEARALL ANYOF_BITMAP_SET +syn keyword xsMacro AMTf_AMAGIC ANDAND ANDOP ANGSTROM_SIGN ANONSUB ANYOF +syn keyword xsMacro ANYOFL ANYOF_ALNUM ANYOF_ALNUML ANYOF_ALPHA +syn keyword xsMacro ANYOF_ALPHANUMERIC ANYOF_ASCII ANYOF_BIT ANYOF_BITMAP +syn keyword xsMacro ANYOF_BITMAP_BYTE ANYOF_BITMAP_CLEAR +syn keyword xsMacro ANYOF_BITMAP_CLEARALL ANYOF_BITMAP_SET syn keyword xsMacro ANYOF_BITMAP_SETALL ANYOF_BITMAP_SIZE ANYOF_BITMAP_TEST -syn keyword xsMacro ANYOF_BITMAP_TESTALLSET ANYOF_BITMAP_ZERO ANYOF_BLANK -syn keyword xsMacro ANYOF_CLASS ANYOF_CLASSBITMAP_SIZE ANYOF_CLASS_BYTE -syn keyword xsMacro ANYOF_CLASS_CLEAR ANYOF_CLASS_SET ANYOF_CLASS_SETALL -syn keyword xsMacro ANYOF_CLASS_SIZE ANYOF_CLASS_SKIP ANYOF_CLASS_TEST +syn keyword xsMacro ANYOF_BITMAP_ZERO ANYOF_BLANK ANYOF_CASED +syn keyword xsMacro ANYOF_CLASS_CLEAR ANYOF_CLASS_OR ANYOF_CLASS_SET +syn keyword xsMacro ANYOF_CLASS_SETALL ANYOF_CLASS_TEST syn keyword xsMacro ANYOF_CLASS_TEST_ANY_SET ANYOF_CLASS_ZERO ANYOF_CNTRL -syn keyword xsMacro ANYOF_DIGIT ANYOF_EOS ANYOF_FLAGS ANYOF_FLAGS_ALL -syn keyword xsMacro ANYOF_FOLD_SHARP_S ANYOF_GRAPH ANYOF_HORIZWS ANYOF_INVERT -syn keyword xsMacro ANYOF_IS_SYNTHETIC ANYOF_LARGE ANYOF_LOCALE -syn keyword xsMacro ANYOF_LOC_NONBITMAP_FOLD ANYOF_LOWER ANYOF_MAX -syn keyword xsMacro ANYOF_NALNUM ANYOF_NALNUMC ANYOF_NALNUML ANYOF_NALPHA -syn keyword xsMacro ANYOF_NASCII ANYOF_NBLANK ANYOF_NCNTRL ANYOF_NDIGIT -syn keyword xsMacro ANYOF_NGRAPH ANYOF_NHORIZWS ANYOF_NLOWER ANYOF_NONBITMAP -syn keyword xsMacro ANYOF_NONBITMAP_EMPTY ANYOF_NONBITMAP_NON_UTF8 -syn keyword xsMacro ANYOF_NON_UTF8_LATIN1_ALL ANYOF_NPRINT ANYOF_NPSXSPC -syn keyword xsMacro ANYOF_NPUNCT ANYOF_NSPACE ANYOF_NSPACEL ANYOF_NUPPER -syn keyword xsMacro ANYOF_NVERTWS ANYOF_NXDIGIT ANYOF_PRINT ANYOF_PSXSPC -syn keyword xsMacro ANYOF_PUNCT ANYOF_SIZE ANYOF_SKIP ANYOF_SPACE -syn keyword xsMacro ANYOF_SPACEL ANYOF_UNICODE_ALL ANYOF_UPPER ANYOF_VERTWS -syn keyword xsMacro ANYOF_XDIGIT ARCHLIB ARCHLIB_EXP ARCHNAME ARG ARG1 -syn keyword xsMacro ARG1_LOC ARG1_SET ARG2 ARG2L ARG2L_LOC ARG2L_SET ARG2_LOC -syn keyword xsMacro ARG2_SET ARGTARG ARG_LOC ARG_SET ARG_VALUE ARG__SET ARROW +syn keyword xsMacro ANYOF_COMMON_FLAGS ANYOF_DIGIT ANYOF_FLAGS +syn keyword xsMacro ANYOF_FLAGS_ALL ANYOF_FOLD_SHARP_S ANYOF_GRAPH +syn keyword xsMacro ANYOF_HAS_NONBITMAP_NON_UTF8_MATCHES +syn keyword xsMacro ANYOF_HAS_UTF8_NONBITMAP_MATCHES ANYOF_HORIZWS +syn keyword xsMacro ANYOF_INVERT ANYOF_LOCALE_FLAGS ANYOF_LOC_FOLD +syn keyword xsMacro ANYOF_LOWER ANYOF_MATCHES_ALL_ABOVE_BITMAP +syn keyword xsMacro ANYOF_MATCHES_ALL_NON_UTF8_NON_ASCII ANYOF_MATCHES_POSIXL +syn keyword xsMacro ANYOF_MAX ANYOF_NALNUM ANYOF_NALNUML ANYOF_NALPHA +syn keyword xsMacro ANYOF_NALPHANUMERIC ANYOF_NASCII ANYOF_NBLANK +syn keyword xsMacro ANYOF_NCASED ANYOF_NCNTRL ANYOF_NDIGIT ANYOF_NGRAPH +syn keyword xsMacro ANYOF_NHORIZWS ANYOF_NLOWER ANYOF_NPRINT ANYOF_NPUNCT +syn keyword xsMacro ANYOF_NSPACE ANYOF_NSPACEL ANYOF_NUPPER ANYOF_NVERTWS +syn keyword xsMacro ANYOF_NWORDCHAR ANYOF_NXDIGIT ANYOF_ONLY_HAS_BITMAP +syn keyword xsMacro ANYOF_POSIXL_AND ANYOF_POSIXL_CLEAR ANYOF_POSIXL_MAX +syn keyword xsMacro ANYOF_POSIXL_OR ANYOF_POSIXL_SET ANYOF_POSIXL_SETALL +syn keyword xsMacro ANYOF_POSIXL_SKIP ANYOF_POSIXL_SSC_TEST_ALL_SET +syn keyword xsMacro ANYOF_POSIXL_SSC_TEST_ANY_SET ANYOF_POSIXL_TEST +syn keyword xsMacro ANYOF_POSIXL_TEST_ALL_SET ANYOF_POSIXL_TEST_ANY_SET +syn keyword xsMacro ANYOF_POSIXL_ZERO ANYOF_PRINT ANYOF_PUNCT ANYOF_SKIP +syn keyword xsMacro ANYOF_SPACE ANYOF_SPACEL ANYOF_UNIPROP ANYOF_UPPER +syn keyword xsMacro ANYOF_VERTWS ANYOF_WARN_SUPER ANYOF_WORDCHAR ANYOF_XDIGIT +syn keyword xsMacro ARCHLIB ARCHLIB_EXP ARCHNAME ARG ARG1 ARG1_LOC ARG1_SET +syn keyword xsMacro ARG2 ARG2L ARG2L_LOC ARG2L_SET ARG2_LOC ARG2_SET ARGTARG +syn keyword xsMacro ARG_LOC ARG_SET ARG_VALUE ARG__SET ARROW syn keyword xsMacro ASCII_MORE_RESTRICT_PAT_MODS ASCII_RESTRICT_PAT_MOD -syn keyword xsMacro ASCII_RESTRICT_PAT_MODS ASCII_TO_NATIVE ASCII_TO_NEED -syn keyword xsMacro ASCTIME_R_PROTO ASSERT_CURPAD_ACTIVE ASSERT_CURPAD_LEGAL -syn keyword xsMacro ASSIGNOP Atof Atol Atoul AvALLOC AvARRAY AvARYLEN AvFILL -syn keyword xsMacro AvFILLp AvMAX AvREAL AvREALISH AvREAL_off AvREAL_on -syn keyword xsMacro AvREAL_only AvREIFY AvREIFY_off AvREIFY_on AvREIFY_only -syn keyword xsMacro BACK BADVERSION BASEOP BHKf_bhk_eval BHKf_bhk_post_end -syn keyword xsMacro BHKf_bhk_pre_end BHKf_bhk_start BIN BIN_EXP BITANDOP -syn keyword xsMacro BITMAP_BYTE BITMAP_TEST BITOROP BIT_BUCKET BIT_DIGITS BOL -syn keyword xsMacro BOUND BOUNDA BOUNDL BOUNDU BRANCH BRANCHJ BRANCH_next -syn keyword xsMacro BRANCH_next_fail BSD_GETPGRP BSD_SETPGRP BSDish BUFSIZ -syn keyword xsMacro BYTEORDER BhkDISABLE BhkENABLE BhkENTRY BhkENTRY_set -syn keyword xsMacro BhkFLAGS Bit BmFLAGS BmPREVIOUS BmRARE BmUSEFUL -syn keyword xsMacro CALLREGCOMP CALLREGCOMP_ENG CALLREGDUPE CALLREGDUPE_PVT -syn keyword xsMacro CALLREGEXEC CALLREGFREE CALLREGFREE_PVT -syn keyword xsMacro CALLREG_INTUIT_START CALLREG_INTUIT_STRING -syn keyword xsMacro CALLREG_NAMED_BUFF_ALL CALLREG_NAMED_BUFF_CLEAR -syn keyword xsMacro CALLREG_NAMED_BUFF_COUNT CALLREG_NAMED_BUFF_DELETE -syn keyword xsMacro CALLREG_NAMED_BUFF_EXISTS CALLREG_NAMED_BUFF_FETCH -syn keyword xsMacro CALLREG_NAMED_BUFF_FIRSTKEY CALLREG_NAMED_BUFF_NEXTKEY -syn keyword xsMacro CALLREG_NAMED_BUFF_SCALAR CALLREG_NAMED_BUFF_STORE -syn keyword xsMacro CALLREG_NUMBUF_FETCH CALLREG_NUMBUF_LENGTH -syn keyword xsMacro CALLREG_NUMBUF_STORE CALLREG_PACKAGE CALLRUNOPS -syn keyword xsMacro CALL_BLOCK_HOOKS CALL_FPTR CANY CAN_COW_FLAGS +syn keyword xsMacro ASCII_RESTRICT_PAT_MODS ASCII_TO_NATIVE ASCTIME_R_PROTO +syn keyword xsMacro ASSERT_CURPAD_ACTIVE ASSERT_CURPAD_LEGAL ASSIGNOP ASSUME +syn keyword xsMacro Atof Atol Atoul AvALLOC AvARRAY AvARYLEN AvFILL AvFILLp +syn keyword xsMacro AvMAX AvREAL AvREALISH AvREAL_off AvREAL_on AvREAL_only +syn keyword xsMacro AvREIFY AvREIFY_off AvREIFY_on AvREIFY_only BADVERSION +syn keyword xsMacro BASEOP BHKf_bhk_eval BHKf_bhk_post_end BHKf_bhk_pre_end +syn keyword xsMacro BHKf_bhk_start BIN BIN_EXP BITANDOP BITMAP_BYTE +syn keyword xsMacro BITMAP_TEST BITOROP BIT_BUCKET BIT_DIGITS BOL +syn keyword xsMacro BOM_UTF8_FIRST_BYTE BOM_UTF8_TAIL BOUND BOUNDA BOUNDL +syn keyword xsMacro BOUNDU BRANCH BRANCHJ BRANCH_next BRANCH_next_fail +syn keyword xsMacro BSD_GETPGRP BSD_SETPGRP BSDish BUFSIZ BYTEORDER +syn keyword xsMacro BhkDISABLE BhkENABLE BhkENTRY BhkENTRY_set BhkFLAGS Bit +syn keyword xsMacro BmFLAGS BmPREVIOUS BmRARE BmUSEFUL CALLREGCOMP +syn keyword xsMacro CALLREGCOMP_ENG CALLREGDUPE CALLREGDUPE_PVT CALLREGEXEC +syn keyword xsMacro CALLREGFREE CALLREGFREE_PVT CALLREG_INTUIT_START +syn keyword xsMacro CALLREG_INTUIT_STRING CALLREG_NAMED_BUFF_ALL +syn keyword xsMacro CALLREG_NAMED_BUFF_CLEAR CALLREG_NAMED_BUFF_COUNT +syn keyword xsMacro CALLREG_NAMED_BUFF_DELETE CALLREG_NAMED_BUFF_EXISTS +syn keyword xsMacro CALLREG_NAMED_BUFF_FETCH CALLREG_NAMED_BUFF_FIRSTKEY +syn keyword xsMacro CALLREG_NAMED_BUFF_NEXTKEY CALLREG_NAMED_BUFF_SCALAR +syn keyword xsMacro CALLREG_NAMED_BUFF_STORE CALLREG_NUMBUF_FETCH +syn keyword xsMacro CALLREG_NUMBUF_LENGTH CALLREG_NUMBUF_STORE +syn keyword xsMacro CALLREG_PACKAGE CALLRUNOPS CALL_BLOCK_HOOKS +syn keyword xsMacro CALL_CHECKER_REQUIRE_GV CALL_FPTR CANY CAN_COW_FLAGS syn keyword xsMacro CAN_COW_MASK CAN_PROTOTYPE CAN_VAPROTO syn keyword xsMacro CASE_STD_PMMOD_FLAGS_PARSE_SET CASTFLAGS CASTNEGFLOAT -syn keyword xsMacro CAT2 CATCH_GET CATCH_SET CHARBITS CHARSET_PAT_MODS -syn keyword xsMacro CHECK_MALLOC_TAINT CHECK_MALLOC_TOO_LATE_FOR -syn keyword xsMacro CHECK_MALLOC_TOO_LATE_FOR_ CLEAR_ARGARRAY CLEAR_ERRSV -syn keyword xsMacro CLONEf_CLONE_HOST CLONEf_COPY_STACKS CLONEf_JOIN_IN -syn keyword xsMacro CLONEf_KEEP_PTR_TABLE CLOSE CLUMP CLUMP_2IV CLUMP_2UV -syn keyword xsMacro COLONATTR COMMIT COMMIT_next COMMIT_next_fail -syn keyword xsMacro COND_BROADCAST COND_DESTROY COND_INIT COND_SIGNAL -syn keyword xsMacro COND_WAIT CONTINUE CONTINUE_PAT_MOD COPHH_KEY_UTF8 -syn keyword xsMacro COP_SEQ_RANGE_HIGH COP_SEQ_RANGE_LOW CPERLarg CPERLarg_ -syn keyword xsMacro CPERLscope CPPLAST CPPMINUS CPPRUN CPPSTDIN CRYPT_R_PROTO -syn keyword xsMacro CSH CTERMID_R_PROTO CTIME_R_PROTO CTYPE256 CURLY CURLYM +syn keyword xsMacro CAT2 CATCH_GET CATCH_SET CHANGE_MULTICALL_FLAGS CHARBITS +syn keyword xsMacro CHARSET_PAT_MODS CHECK_MALLOC_TAINT +syn keyword xsMacro CHECK_MALLOC_TOO_LATE_FOR CHECK_MALLOC_TOO_LATE_FOR_ +syn keyword xsMacro CLEAR_ARGARRAY CLEAR_ERRSV CLONEf_CLONE_HOST +syn keyword xsMacro CLONEf_COPY_STACKS CLONEf_JOIN_IN CLONEf_KEEP_PTR_TABLE +syn keyword xsMacro CLOSE CLUMP CLUMP_2IV CLUMP_2UV COLONATTR +syn keyword xsMacro COMBINING_GRAVE_ACCENT_UTF8 COMMIT COMMIT_next +syn keyword xsMacro COMMIT_next_fail COND_BROADCAST COND_DESTROY COND_INIT +syn keyword xsMacro COND_SIGNAL COND_WAIT CONTINUE CONTINUE_PAT_MOD +syn keyword xsMacro COPHH_KEY_UTF8 COP_SEQMAX_INC COP_SEQ_RANGE_HIGH +syn keyword xsMacro COP_SEQ_RANGE_LOW CPERLarg CPERLarg_ CPERLscope CPPLAST +syn keyword xsMacro CPPMINUS CPPRUN CPPSTDIN CRYPT_R_PROTO CR_NATIVE CSH +syn keyword xsMacro CTERMID_R_PROTO CTIME_R_PROTO CTYPE256 CURLY CURLYM syn keyword xsMacro CURLYM_A CURLYM_A_fail CURLYM_B CURLYM_B_fail CURLYN syn keyword xsMacro CURLYX CURLYX_end CURLYX_end_fail CURLY_B_max syn keyword xsMacro CURLY_B_max_fail CURLY_B_min CURLY_B_min_fail syn keyword xsMacro CURLY_B_min_known CURLY_B_min_known_fail syn keyword xsMacro CURRENT_FEATURE_BUNDLE CURRENT_HINTS CUTGROUP -syn keyword xsMacro CUTGROUP_next CUTGROUP_next_fail CVf_ANON CVf_AUTOLOAD +syn keyword xsMacro CUTGROUP_next CUTGROUP_next_fail CV_NAME_NOTQUAL +syn keyword xsMacro CV_UNDEF_KEEP_NAME CVf_ANON CVf_ANONCONST CVf_AUTOLOAD syn keyword xsMacro CVf_BUILTIN_ATTRS CVf_CLONE CVf_CLONED CVf_CONST -syn keyword xsMacro CVf_CVGV_RC CVf_DYNFILE CVf_ISXSUB CVf_LVALUE CVf_METHOD -syn keyword xsMacro CVf_NODEBUG CVf_UNIQUE CVf_WEAKOUTSIDE CXINC CXTYPEMASK -syn keyword xsMacro CX_CURPAD_SAVE CX_CURPAD_SV CXp_FOR_DEF CXp_HASARGS -syn keyword xsMacro CXp_MULTICALL CXp_ONCE CXp_REAL CXp_TRYBLOCK C_ARRAY_END -syn keyword xsMacro C_ARRAY_LENGTH C_FAC_POSIX CopFILE CopFILEAV CopFILEAVx -syn keyword xsMacro CopFILEGV CopFILEGV_set CopFILESV CopFILE_free -syn keyword xsMacro CopFILE_set CopFILE_setn CopHINTHASH_get CopHINTHASH_set -syn keyword xsMacro CopHINTS_get CopHINTS_set CopLABEL CopLABEL_alloc -syn keyword xsMacro CopLABEL_len CopLABEL_len_flags CopLINE CopLINE_dec -syn keyword xsMacro CopLINE_inc CopLINE_set CopSTASH CopSTASHPV -syn keyword xsMacro CopSTASHPV_set CopSTASH_eq CopSTASH_free CopSTASH_len -syn keyword xsMacro CopSTASH_len_set CopSTASH_ne CopSTASH_set Copy CopyD Ctl -syn keyword xsMacro CvANON CvANON_off CvANON_on CvAUTOLOAD CvAUTOLOAD_off +syn keyword xsMacro CVf_CVGV_RC CVf_DYNFILE CVf_HASEVAL CVf_ISXSUB +syn keyword xsMacro CVf_LEXICAL CVf_LVALUE CVf_METHOD CVf_NAMED CVf_NODEBUG +syn keyword xsMacro CVf_SLABBED CVf_UNIQUE CVf_WEAKOUTSIDE CXINC CXTYPEMASK +syn keyword xsMacro CX_CURPAD_SAVE CX_CURPAD_SV CXp_FOR_DEF CXp_FOR_LVREF +syn keyword xsMacro CXp_HASARGS CXp_MULTICALL CXp_ONCE CXp_REAL CXp_SUB_RE +syn keyword xsMacro CXp_SUB_RE_FAKE CXp_TRYBLOCK C_ARRAY_END C_ARRAY_LENGTH +syn keyword xsMacro C_FAC_POSIX CopFILE CopFILEAV CopFILEAVx CopFILEGV +syn keyword xsMacro CopFILEGV_set CopFILESV CopFILE_free CopFILE_set +syn keyword xsMacro CopFILE_setn CopHINTHASH_get CopHINTHASH_set CopHINTS_get +syn keyword xsMacro CopHINTS_set CopLABEL CopLABEL_alloc CopLABEL_len +syn keyword xsMacro CopLABEL_len_flags CopLINE CopLINE_dec CopLINE_inc +syn keyword xsMacro CopLINE_set CopSTASH CopSTASHPV CopSTASHPV_set +syn keyword xsMacro CopSTASH_eq CopSTASH_ne CopSTASH_set Copy CopyD CowREFCNT +syn keyword xsMacro Ctl CvANON CvANONCONST CvANONCONST_off CvANONCONST_on +syn keyword xsMacro CvANON_off CvANON_on CvAUTOLOAD CvAUTOLOAD_off syn keyword xsMacro CvAUTOLOAD_on CvCLONE CvCLONED CvCLONED_off CvCLONED_on syn keyword xsMacro CvCLONE_off CvCLONE_on CvCONST CvCONST_off CvCONST_on -syn keyword xsMacro CvCVGV_RC CvCVGV_RC_off CvCVGV_RC_on CvDEPTH CvDYNFILE -syn keyword xsMacro CvDYNFILE_off CvDYNFILE_on CvEVAL CvEVAL_off CvEVAL_on -syn keyword xsMacro CvFILE CvFILEGV CvFILE_set_from_cop CvFLAGS CvGV CvGV_set -syn keyword xsMacro CvISXSUB CvISXSUB_off CvISXSUB_on CvLVALUE CvLVALUE_off -syn keyword xsMacro CvLVALUE_on CvMETHOD CvMETHOD_off CvMETHOD_on CvNODEBUG -syn keyword xsMacro CvNODEBUG_off CvNODEBUG_on CvOUTSIDE CvOUTSIDE_SEQ -syn keyword xsMacro CvPADLIST CvPROTO CvPROTOLEN CvROOT CvSPECIAL +syn keyword xsMacro CvCVGV_RC CvCVGV_RC_off CvCVGV_RC_on CvDEPTH +syn keyword xsMacro CvDEPTHunsafe CvDYNFILE CvDYNFILE_off CvDYNFILE_on CvEVAL +syn keyword xsMacro CvEVAL_off CvEVAL_on CvFILE CvFILEGV CvFILE_set_from_cop +syn keyword xsMacro CvFLAGS CvGV CvGV_set CvHASEVAL CvHASEVAL_off +syn keyword xsMacro CvHASEVAL_on CvHASGV CvHSCXT CvISXSUB CvISXSUB_off +syn keyword xsMacro CvISXSUB_on CvLEXICAL CvLEXICAL_off CvLEXICAL_on CvLVALUE +syn keyword xsMacro CvLVALUE_off CvLVALUE_on CvMETHOD CvMETHOD_off +syn keyword xsMacro CvMETHOD_on CvNAMED CvNAMED_off CvNAMED_on CvNAME_HEK_set +syn keyword xsMacro CvNODEBUG CvNODEBUG_off CvNODEBUG_on CvOUTSIDE +syn keyword xsMacro CvOUTSIDE_SEQ CvPADLIST CvPADLIST_set CvPROTO CvPROTOLEN +syn keyword xsMacro CvROOT CvSLABBED CvSLABBED_off CvSLABBED_on CvSPECIAL syn keyword xsMacro CvSPECIAL_off CvSPECIAL_on CvSTART CvSTASH CvSTASH_set syn keyword xsMacro CvUNIQUE CvUNIQUE_off CvUNIQUE_on CvWEAKOUTSIDE syn keyword xsMacro CvWEAKOUTSIDE_off CvWEAKOUTSIDE_on CvXSUB CvXSUBANY syn keyword xsMacro CxFOREACH CxFOREACHDEF CxHASARGS CxITERVAR syn keyword xsMacro CxITERVAR_PADSV CxLABEL CxLABEL_len CxLABEL_len_flags syn keyword xsMacro CxLVAL CxMULTICALL CxOLD_IN_EVAL CxOLD_OP_TYPE CxONCE -syn keyword xsMacro CxPADLOOP CxREALEVAL CxTRYBLOCK CxTYPE CxTYPE_is_LOOP -syn keyword xsMacro DBL_DIG DBL_MAX DBL_MIN DBM_ckFilter DBM_setFilter -syn keyword xsMacro DB_VERSION_MAJOR_CFG DB_VERSION_MINOR_CFG +syn keyword xsMacro CxPADLOOP CxPOPSUB_DONE CxREALEVAL CxTRYBLOCK CxTYPE +syn keyword xsMacro CxTYPE_is_LOOP DBL_DIG DBL_MAX DBL_MIN DBM_ckFilter +syn keyword xsMacro DBM_setFilter DBVARMG_COUNT DBVARMG_SIGNAL DBVARMG_SINGLE +syn keyword xsMacro DBVARMG_TRACE DB_VERSION_MAJOR_CFG DB_VERSION_MINOR_CFG syn keyword xsMacro DB_VERSION_PATCH_CFG DEBUG_A DEBUG_A_FLAG DEBUG_A_TEST syn keyword xsMacro DEBUG_A_TEST_ DEBUG_B DEBUG_BUFFERS_r DEBUG_B_FLAG syn keyword xsMacro DEBUG_B_TEST DEBUG_B_TEST_ DEBUG_C DEBUG_COMPILE_r @@ -1115,13 +1231,15 @@ syn keyword xsMacro DEBUG_DB_RECURSE_FLAG DEBUG_DUMP_r DEBUG_D_FLAG syn keyword xsMacro DEBUG_D_TEST DEBUG_D_TEST_ DEBUG_EXECUTE_r DEBUG_EXTRA_r syn keyword xsMacro DEBUG_FLAGS_r DEBUG_GPOS_r DEBUG_H DEBUG_H_FLAG syn keyword xsMacro DEBUG_H_TEST DEBUG_H_TEST_ DEBUG_INTUIT_r DEBUG_J_FLAG -syn keyword xsMacro DEBUG_J_TEST DEBUG_J_TEST_ DEBUG_M DEBUG_MASK +syn keyword xsMacro DEBUG_J_TEST DEBUG_J_TEST_ DEBUG_L DEBUG_L_FLAG +syn keyword xsMacro DEBUG_L_TEST DEBUG_L_TEST_ DEBUG_M DEBUG_MASK syn keyword xsMacro DEBUG_MATCH_r DEBUG_M_FLAG DEBUG_M_TEST DEBUG_M_TEST_ syn keyword xsMacro DEBUG_OFFSETS_r DEBUG_OPTIMISE_MORE_r DEBUG_OPTIMISE_r syn keyword xsMacro DEBUG_P DEBUG_PARSE_r DEBUG_P_FLAG DEBUG_P_TEST syn keyword xsMacro DEBUG_P_TEST_ DEBUG_Pv DEBUG_Pv_TEST DEBUG_Pv_TEST_ -syn keyword xsMacro DEBUG_R DEBUG_R_FLAG DEBUG_R_TEST DEBUG_R_TEST_ -syn keyword xsMacro DEBUG_SCOPE DEBUG_STACK_r DEBUG_STATE_r DEBUG_T +syn keyword xsMacro DEBUG_R DEBUG_R_FLAG DEBUG_R_TEST DEBUG_R_TEST_ DEBUG_S +syn keyword xsMacro DEBUG_SCOPE DEBUG_STACK_r DEBUG_STATE_r DEBUG_S_FLAG +syn keyword xsMacro DEBUG_S_TEST DEBUG_S_TEST_ DEBUG_T DEBUG_TEST_r syn keyword xsMacro DEBUG_TOP_FLAG DEBUG_TRIE_COMPILE_MORE_r syn keyword xsMacro DEBUG_TRIE_COMPILE_r DEBUG_TRIE_EXECUTE_MORE_r syn keyword xsMacro DEBUG_TRIE_EXECUTE_r DEBUG_TRIE_r DEBUG_T_FLAG @@ -1141,47 +1259,71 @@ syn keyword xsMacro DEBUG_s_FLAG DEBUG_s_TEST DEBUG_s_TEST_ DEBUG_t_FLAG syn keyword xsMacro DEBUG_t_TEST DEBUG_t_TEST_ DEBUG_u DEBUG_u_FLAG syn keyword xsMacro DEBUG_u_TEST DEBUG_u_TEST_ DEBUG_v DEBUG_v_FLAG syn keyword xsMacro DEBUG_v_TEST DEBUG_v_TEST_ DEBUG_x DEBUG_x_FLAG -syn keyword xsMacro DEBUG_x_TEST DEBUG_x_TEST_ DEFAULT DEFAULT_PAT_MOD -syn keyword xsMacro DEFINEP DEFSV DEFSV_set DEPENDS_PAT_MOD DEPENDS_PAT_MODS -syn keyword xsMacro DETACH DIE DIGIT DIGITA DIGITL DIR DM_ARRAY_ISA DM_DELAY -syn keyword xsMacro DM_EGID DM_EUID DM_GID DM_RGID DM_RUID DM_UID DO DOINIT -syn keyword xsMacro DOLSHARP DONT_DECLARE_STD DORDOR DOROP DOSISH DOTDOT -syn keyword xsMacro DOUBLESIZE DO_UTF8 DPTR2FPTR DRAND48_R_PROTO DUP_WARNINGS -syn keyword xsMacro Drand01 ELSE ELSIF EMBEDMYMALLOC END ENDGRENT_R_PROTO -syn keyword xsMacro ENDHOSTENT_R_PROTO ENDLIKE ENDNETENT_R_PROTO -syn keyword xsMacro ENDPROTOENT_R_PROTO ENDPWENT_R_PROTO ENDSERVENT_R_PROTO -syn keyword xsMacro END_EXTERN_C ENTER ENTER_with_name ENTRY_PROBE ENUM_BOOL -syn keyword xsMacro EOF EOL EOS EQOP ERRHV ERRSV EVAL EVAL_AB EVAL_AB_fail -syn keyword xsMacro EVAL_INEVAL EVAL_INREQUIRE EVAL_KEEPERR EVAL_NULL -syn keyword xsMacro EVAL_WARNONLY EXACT EXACTF EXACTFA EXACTFL EXACTFU -syn keyword xsMacro EXACTFU_SS EXACTFU_TRICKYFOLD EXEC_ARGV_CAST EXEC_PAT_MOD +syn keyword xsMacro DEBUG_x_TEST DEBUG_x_TEST_ +syn keyword xsMacro DECLARATION_FOR_LC_NUMERIC_MANIPULATION +syn keyword xsMacro DECLARATION_FOR_STORE_LC_NUMERIC_SET_TO_NEEDED +syn keyword xsMacro DECLARE_STORE_LC_NUMERIC_SET_TO_NEEDED DEFAULT +syn keyword xsMacro DEFAULT_PAT_MOD DEFINEP DEFSV DEFSV_set DEL_NATIVE +syn keyword xsMacro DEPENDS_PAT_MOD DEPENDS_PAT_MODS DETACH DIE DM_ARRAY_ISA +syn keyword xsMacro DM_DELAY DM_EGID DM_EUID DM_GID DM_RGID DM_RUID DM_UID DO +syn keyword xsMacro DOINIT DOLSHARP DONT_DECLARE_STD DORDOR DOROP DOSISH +syn keyword xsMacro DOTDOT DOUBLEKIND DOUBLESIZE DOUBLE_BIG_ENDIAN +syn keyword xsMacro DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN +syn keyword xsMacro DOUBLE_IS_IEEE_754_128_BIT_LITTLE_ENDIAN +syn keyword xsMacro DOUBLE_IS_IEEE_754_32_BIT_BIG_ENDIAN +syn keyword xsMacro DOUBLE_IS_IEEE_754_32_BIT_LITTLE_ENDIAN +syn keyword xsMacro DOUBLE_IS_IEEE_754_64_BIT_BIG_ENDIAN +syn keyword xsMacro DOUBLE_IS_IEEE_754_64_BIT_LITTLE_ENDIAN +syn keyword xsMacro DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_BE_LE +syn keyword xsMacro DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_LE_BE +syn keyword xsMacro DOUBLE_IS_UNKNOWN_FORMAT DOUBLE_LITTLE_ENDIAN +syn keyword xsMacro DOUBLE_MIX_ENDIAN DO_UTF8 DPTR2FPTR DRAND48_R_PROTO +syn keyword xsMacro DUP_WARNINGS Drand01 ELSE ELSIF EMBEDMYMALLOC END +syn keyword xsMacro ENDGRENT_R_PROTO ENDHOSTENT_R_PROTO ENDLIKE +syn keyword xsMacro ENDNETENT_R_PROTO ENDPROTOENT_R_PROTO ENDPWENT_R_PROTO +syn keyword xsMacro ENDSERVENT_R_PROTO END_EXTERN_C ENTER ENTER_with_name +syn keyword xsMacro ENTRY_PROBE EOF EOL EOS EQOP ERRSV ESC_NATIVE EVAL +syn keyword xsMacro EVAL_AB EVAL_AB_fail EVAL_INEVAL EVAL_INREQUIRE +syn keyword xsMacro EVAL_KEEPERR EVAL_NULL EVAL_RE_REPARSING EVAL_WARNONLY +syn keyword xsMacro EXACT EXACTF EXACTFA EXACTFA_NO_TRIE EXACTFL EXACTFLU8 +syn keyword xsMacro EXACTFU EXACTFU_SS EXACTL EXEC_ARGV_CAST EXEC_PAT_MOD syn keyword xsMacro EXEC_PAT_MODS EXPECT EXT EXTCONST EXTEND EXTEND_MORTAL syn keyword xsMacro EXTERN_C EXTPERLIO EXTRA_SIZE EXTRA_STEP_2ARGS EXT_MGVTBL syn keyword xsMacro EXT_PAT_MODS FAKE_BIT_BUCKET FAKE_DEFAULT_SIGNAL_HANDLERS -syn keyword xsMacro FAKE_PERSISTENT_SIGNAL_HANDLERS FBMcf_TAIL +syn keyword xsMacro FAKE_PERSISTENT_SIGNAL_HANDLERS FALSE FBMcf_TAIL syn keyword xsMacro FBMcf_TAIL_DOLLAR FBMcf_TAIL_DOLLARM FBMcf_TAIL_Z syn keyword xsMacro FBMcf_TAIL_z FBMrf_MULTILINE FCNTL_CAN_LOCK FD_CLR syn keyword xsMacro FD_ISSET FD_SET FD_ZERO FEATURE_ARYBASE_IS_ENABLED -syn keyword xsMacro FEATURE_BUNDLE_510 FEATURE_BUNDLE_511 FEATURE_BUNDLE_515 +syn keyword xsMacro FEATURE_BITWISE_IS_ENABLED FEATURE_BUNDLE_510 +syn keyword xsMacro FEATURE_BUNDLE_511 FEATURE_BUNDLE_515 syn keyword xsMacro FEATURE_BUNDLE_CUSTOM FEATURE_BUNDLE_DEFAULT syn keyword xsMacro FEATURE_EVALBYTES_IS_ENABLED FEATURE_FC_IS_ENABLED -syn keyword xsMacro FEATURE_IS_ENABLED FEATURE_SAY_IS_ENABLED -syn keyword xsMacro FEATURE_STATE_IS_ENABLED FEATURE_SWITCH_IS_ENABLED -syn keyword xsMacro FEATURE_UNICODE_IS_ENABLED FEATURE_UNIEVAL_IS_ENABLED -syn keyword xsMacro FEATURE___SUB___IS_ENABLED FFLUSH_NULL FF_0DECIMAL -syn keyword xsMacro FF_BLANK FF_CHECKCHOP FF_CHECKNL FF_CHOP FF_DECIMAL -syn keyword xsMacro FF_END FF_FETCH FF_HALFSPACE FF_ITEM FF_LINEGLOB -syn keyword xsMacro FF_LINEMARK FF_LINESNGL FF_LITERAL FF_MORE FF_NEWLINE -syn keyword xsMacro FF_SKIP FF_SPACE FILE FILE_base FILE_bufsiz FILE_cnt -syn keyword xsMacro FILE_ptr FILL_ADVANCE_NODE FILL_ADVANCE_NODE_ARG -syn keyword xsMacro FILTER_DATA FILTER_ISREADER FILTER_READ FITS_IN_8_BITS -syn keyword xsMacro FLAGS FLEXFILENAMES FOLDEQ_S1_ALREADY_FOLDED -syn keyword xsMacro FOLDEQ_S2_ALREADY_FOLDED FOLDEQ_UTF8_LOCALE -syn keyword xsMacro FOLDEQ_UTF8_NOMIX_ASCII FOLD_FLAGS_FULL FOLD_FLAGS_LOCALE -syn keyword xsMacro FOR FORMAT FPTR2DPTR FREETMPS FREE_THREAD_KEY FSEEKSIZE -syn keyword xsMacro FUNC FUNC0 FUNC0OP FUNC0SUB FUNC1 FUNCMETH FUNCTION__ -syn keyword xsMacro F_atan2_amg F_cos_amg F_exp_amg F_log_amg F_pow_amg -syn keyword xsMacro F_sin_amg F_sqrt_amg Fflush FmLINES FreeOp Fstat +syn keyword xsMacro FEATURE_IS_ENABLED FEATURE_LEXSUBS_IS_ENABLED +syn keyword xsMacro FEATURE_POSTDEREF_IS_ENABLED +syn keyword xsMacro FEATURE_POSTDEREF_QQ_IS_ENABLED +syn keyword xsMacro FEATURE_REFALIASING_IS_ENABLED FEATURE_SAY_IS_ENABLED +syn keyword xsMacro FEATURE_SIGNATURES_IS_ENABLED FEATURE_STATE_IS_ENABLED +syn keyword xsMacro FEATURE_SWITCH_IS_ENABLED FEATURE_UNICODE_IS_ENABLED +syn keyword xsMacro FEATURE_UNIEVAL_IS_ENABLED FEATURE___SUB___IS_ENABLED +syn keyword xsMacro FFLUSH_NULL FF_0DECIMAL FF_BLANK FF_CHECKCHOP FF_CHECKNL +syn keyword xsMacro FF_CHOP FF_DECIMAL FF_END FF_FETCH FF_HALFSPACE FF_ITEM +syn keyword xsMacro FF_LINEGLOB FF_LINEMARK FF_LINESNGL FF_LITERAL FF_MORE +syn keyword xsMacro FF_NEWLINE FF_SKIP FF_SPACE FILE FILE_base FILE_bufsiz +syn keyword xsMacro FILE_cnt FILE_ptr FILL_ADVANCE_NODE +syn keyword xsMacro FILL_ADVANCE_NODE_2L_ARG FILL_ADVANCE_NODE_ARG +syn keyword xsMacro FILTER_DATA FILTER_ISREADER FILTER_READ +syn keyword xsMacro FIND_RUNCV_level_eq FIND_RUNCV_padid_eq +syn keyword xsMacro FIRST_SURROGATE_UTF8_FIRST_BYTE FITS_IN_8_BITS FLAGS +syn keyword xsMacro FLEXFILENAMES FOLDEQ_LOCALE FOLDEQ_S1_ALREADY_FOLDED +syn keyword xsMacro FOLDEQ_S1_FOLDS_SANE FOLDEQ_S2_ALREADY_FOLDED +syn keyword xsMacro FOLDEQ_S2_FOLDS_SANE FOLDEQ_UTF8_NOMIX_ASCII +syn keyword xsMacro FOLD_FLAGS_FULL FOLD_FLAGS_LOCALE FOLD_FLAGS_NOMIX_ASCII +syn keyword xsMacro FOR FORMAT FORMLBRACK FORMRBRACK FPTR2DPTR FP_PINF +syn keyword xsMacro FP_QNAN FREETMPS FREE_THREAD_KEY FSEEKSIZE FUNC FUNC0 +syn keyword xsMacro FUNC0OP FUNC0SUB FUNC1 FUNCMETH FUNCTION__ F_atan2_amg +syn keyword xsMacro F_cos_amg F_exp_amg F_log_amg F_pow_amg F_sin_amg +syn keyword xsMacro F_sqrt_amg Fflush FmLINES FreeOp Fstat GCB_ENUM_COUNT +syn keyword xsMacro GCC_DIAG_IGNORE GCC_DIAG_PRAGMA GCC_DIAG_RESTORE syn keyword xsMacro GDBMNDBM_H_USES_PROTOTYPES GETATARGET GETGRENT_R_PROTO syn keyword xsMacro GETGRGID_R_PROTO GETGRNAM_R_PROTO GETHOSTBYADDR_R_PROTO syn keyword xsMacro GETHOSTBYNAME_R_PROTO GETHOSTENT_R_PROTO GETLOGIN_R_PROTO @@ -1194,164 +1336,185 @@ syn keyword xsMacro GETSERVENT_R_PROTO GETSPNAM_R_PROTO GETTARGET syn keyword xsMacro GETTARGETSTACKED GET_RE_DEBUG_FLAGS syn keyword xsMacro GET_RE_DEBUG_FLAGS_DECL GIMME GIMME_V GIVEN syn keyword xsMacro GLOBAL_PAT_MOD GMTIME_MAX GMTIME_MIN GMTIME_R -syn keyword xsMacro GMTIME_R_PROTO GOSTART GOSUB GPOS GRAMBARESTMT GRAMBLOCK -syn keyword xsMacro GRAMEXPR GRAMFULLSTMT GRAMPROG GRAMSTMTSEQ +syn keyword xsMacro GMTIME_R_PROTO GOSTART GOSUB GPOS GPf_ALIASED_SV +syn keyword xsMacro GRAMBARESTMT GRAMBLOCK GRAMEXPR GRAMFULLSTMT GRAMPROG +syn keyword xsMacro GRAMSTMTSEQ GREEK_CAPITAL_LETTER_IOTA_UTF8 syn keyword xsMacro GREEK_CAPITAL_LETTER_MU GREEK_SMALL_LETTER_MU -syn keyword xsMacro GROK_NUMERIC_RADIX GROUPP GRPASSWD GV_ADD GV_ADDINEVAL -syn keyword xsMacro GV_ADDMG GV_ADDMULTI GV_ADDWARN GV_AUTOLOAD -syn keyword xsMacro GV_AUTOLOAD_ISMETHOD GV_CROAK GV_NOADD_MASK -syn keyword xsMacro GV_NOADD_NOINIT GV_NOEXPAND GV_NOINIT GV_NOTQUAL -syn keyword xsMacro GV_NO_SVGMAGIC GVf_ASSUMECV GVf_IMPORTED GVf_IMPORTED_AV -syn keyword xsMacro GVf_IMPORTED_CV GVf_IMPORTED_HV GVf_IMPORTED_SV GVf_INTRO -syn keyword xsMacro GVf_IN_PAD GVf_MULTI Gconvert Gid_t_f Gid_t_sign -syn keyword xsMacro Gid_t_size GvASSIGN_GENERATION GvASSIGN_GENERATION_set -syn keyword xsMacro GvASSUMECV GvASSUMECV_off GvASSUMECV_on GvAV GvAVn GvCV -syn keyword xsMacro GvCVGEN GvCV_set GvCVu GvEGV GvEGVx GvENAME GvENAMELEN -syn keyword xsMacro GvENAMEUTF8 GvENAME_HEK GvESTASH GvFILE GvFILEGV -syn keyword xsMacro GvFILE_HEK GvFLAGS GvFORM GvGP GvGP_set GvHV GvHVn -syn keyword xsMacro GvIMPORTED GvIMPORTED_AV GvIMPORTED_AV_off -syn keyword xsMacro GvIMPORTED_AV_on GvIMPORTED_CV GvIMPORTED_CV_off -syn keyword xsMacro GvIMPORTED_CV_on GvIMPORTED_HV GvIMPORTED_HV_off -syn keyword xsMacro GvIMPORTED_HV_on GvIMPORTED_SV GvIMPORTED_SV_off -syn keyword xsMacro GvIMPORTED_SV_on GvIMPORTED_off GvIMPORTED_on GvINTRO -syn keyword xsMacro GvINTRO_off GvINTRO_on GvIN_PAD GvIN_PAD_off GvIN_PAD_on -syn keyword xsMacro GvIO GvIOn GvIOp GvLINE GvMULTI GvMULTI_off GvMULTI_on -syn keyword xsMacro GvNAME GvNAMELEN GvNAMELEN_get GvNAMEUTF8 GvNAME_HEK -syn keyword xsMacro GvNAME_get GvREFCNT GvSTASH GvSV GvSVn GvXPVGV Gv_AMG +syn keyword xsMacro GREEK_SMALL_LETTER_MU_UTF8 GROK_NUMERIC_RADIX GROUPP +syn keyword xsMacro GRPASSWD GV_ADD GV_ADDMG GV_ADDMULTI GV_ADDWARN +syn keyword xsMacro GV_AUTOLOAD GV_AUTOLOAD_ISMETHOD GV_CACHE_ONLY GV_CROAK +syn keyword xsMacro GV_NOADD_MASK GV_NOADD_NOINIT GV_NOEXPAND GV_NOINIT +syn keyword xsMacro GV_NOTQUAL GV_NO_SVGMAGIC GV_SUPER GVf_ASSUMECV +syn keyword xsMacro GVf_IMPORTED GVf_IMPORTED_AV GVf_IMPORTED_CV +syn keyword xsMacro GVf_IMPORTED_HV GVf_IMPORTED_SV GVf_INTRO GVf_MULTI +syn keyword xsMacro Gconvert Gid_t_f Gid_t_sign Gid_t_size GvALIASED_SV +syn keyword xsMacro GvALIASED_SV_off GvALIASED_SV_on GvASSIGN_GENERATION +syn keyword xsMacro GvASSIGN_GENERATION_set GvASSUMECV GvASSUMECV_off +syn keyword xsMacro GvASSUMECV_on GvAV GvAVn GvCV GvCVGEN GvCV_set GvCVu +syn keyword xsMacro GvEGV GvEGVx GvENAME GvENAMELEN GvENAMEUTF8 GvENAME_HEK +syn keyword xsMacro GvESTASH GvFILE GvFILEGV GvFILE_HEK GvFILEx GvFLAGS +syn keyword xsMacro GvFORM GvGP GvGPFLAGS GvGP_set GvHV GvHVn GvIMPORTED +syn keyword xsMacro GvIMPORTED_AV GvIMPORTED_AV_off GvIMPORTED_AV_on +syn keyword xsMacro GvIMPORTED_CV GvIMPORTED_CV_off GvIMPORTED_CV_on +syn keyword xsMacro GvIMPORTED_HV GvIMPORTED_HV_off GvIMPORTED_HV_on +syn keyword xsMacro GvIMPORTED_SV GvIMPORTED_SV_off GvIMPORTED_SV_on +syn keyword xsMacro GvIMPORTED_off GvIMPORTED_on GvINTRO GvINTRO_off +syn keyword xsMacro GvINTRO_on GvIN_PAD GvIN_PAD_off GvIN_PAD_on GvIO GvIOn +syn keyword xsMacro GvIOp GvLINE GvMULTI GvMULTI_off GvMULTI_on GvNAME +syn keyword xsMacro GvNAMELEN GvNAMELEN_get GvNAMEUTF8 GvNAME_HEK GvNAME_get +syn keyword xsMacro GvREFCNT GvSTASH GvSV GvSVn GvXPVGV Gv_AMG HANDY_H syn keyword xsMacro HASATTRIBUTE_DEPRECATED HASATTRIBUTE_FORMAT syn keyword xsMacro HASATTRIBUTE_MALLOC HASATTRIBUTE_NONNULL syn keyword xsMacro HASATTRIBUTE_NORETURN HASATTRIBUTE_PURE syn keyword xsMacro HASATTRIBUTE_UNUSED HASATTRIBUTE_WARN_UNUSED_RESULT -syn keyword xsMacro HASCONST HASHBRACK HASVOLATILE HAS_64K_LIMIT HAS_ACCESS -syn keyword xsMacro HAS_ALARM HAS_ATOLL HAS_BCMP HAS_BCOPY HAS_BOOL -syn keyword xsMacro HAS_BUILTIN_CHOOSE_EXPR HAS_BUILTIN_EXPECT HAS_BZERO -syn keyword xsMacro HAS_C99_VARIADIC_MACROS HAS_CHOWN HAS_CHROOT HAS_CLEARENV -syn keyword xsMacro HAS_COPYSIGNL HAS_CRYPT HAS_CTERMID HAS_CUSERID -syn keyword xsMacro HAS_DBL_DIG HAS_DBMINIT_PROTO HAS_DIFFTIME HAS_DIRFD -syn keyword xsMacro HAS_DLERROR HAS_DRAND48_PROTO HAS_DUP2 HAS_EACCESS -syn keyword xsMacro HAS_ENDGRENT HAS_ENDHOSTENT HAS_ENDNETENT HAS_ENDPROTOENT -syn keyword xsMacro HAS_ENDPWENT HAS_ENDSERVENT HAS_FAST_STDIO HAS_FCHDIR -syn keyword xsMacro HAS_FCHMOD HAS_FCHOWN HAS_FCNTL HAS_FD_SET HAS_FGETPOS -syn keyword xsMacro HAS_FINITE HAS_FINITEL HAS_FLOCK HAS_FLOCK_PROTO HAS_FORK -syn keyword xsMacro HAS_FPATHCONF HAS_FREXPL HAS_FSEEKO HAS_FSETPOS -syn keyword xsMacro HAS_FSTATFS HAS_FSTATVFS HAS_FSYNC HAS_FTELLO HAS_FUTIMES -syn keyword xsMacro HAS_GETADDRINFO HAS_GETCWD HAS_GETGRENT HAS_GETGROUPS -syn keyword xsMacro HAS_GETHOSTBYADDR HAS_GETHOSTBYNAME HAS_GETHOSTENT -syn keyword xsMacro HAS_GETHOSTNAME HAS_GETHOST_PROTOS HAS_GETITIMER -syn keyword xsMacro HAS_GETLOGIN HAS_GETMNTENT HAS_GETNAMEINFO -syn keyword xsMacro HAS_GETNETBYADDR HAS_GETNETBYNAME HAS_GETNETENT -syn keyword xsMacro HAS_GETNET_PROTOS HAS_GETPAGESIZE HAS_GETPGID HAS_GETPGRP -syn keyword xsMacro HAS_GETPPID HAS_GETPRIORITY HAS_GETPROTOBYNAME -syn keyword xsMacro HAS_GETPROTOBYNUMBER HAS_GETPROTOENT HAS_GETPROTO_PROTOS -syn keyword xsMacro HAS_GETPWENT HAS_GETSERVBYNAME HAS_GETSERVBYPORT -syn keyword xsMacro HAS_GETSERVENT HAS_GETSERV_PROTOS HAS_GETSPNAM -syn keyword xsMacro HAS_GETTIMEOFDAY HAS_GNULIBC HAS_GROUP HAS_HASMNTOPT -syn keyword xsMacro HAS_HTOVL HAS_HTOVS HAS_ILOGBL HAS_INETNTOP HAS_INETPTON +syn keyword xsMacro HASCONST HASHBRACK HASVOLATILE HAS_ACCESS HAS_ACOSH +syn keyword xsMacro HAS_ALARM HAS_ASINH HAS_ATANH HAS_ATOLL HAS_BACKTRACE +syn keyword xsMacro HAS_BCMP HAS_BCOPY HAS_BOOL HAS_BUILTIN_CHOOSE_EXPR +syn keyword xsMacro HAS_BUILTIN_EXPECT HAS_BZERO HAS_C99 +syn keyword xsMacro HAS_C99_VARIADIC_MACROS HAS_CBRT HAS_CHOWN HAS_CHROOT +syn keyword xsMacro HAS_CLEARENV HAS_COPYSIGN HAS_COPYSIGNL HAS_CRYPT +syn keyword xsMacro HAS_CTERMID HAS_CUSERID HAS_DBL_DIG HAS_DBMINIT_PROTO +syn keyword xsMacro HAS_DIFFTIME HAS_DIRFD HAS_DLADDR HAS_DLERROR +syn keyword xsMacro HAS_DRAND48_PROTO HAS_DUP2 HAS_EACCESS HAS_ENDGRENT +syn keyword xsMacro HAS_ENDHOSTENT HAS_ENDNETENT HAS_ENDPROTOENT HAS_ENDPWENT +syn keyword xsMacro HAS_ENDSERVENT HAS_ERF HAS_ERFC HAS_EXP2 HAS_EXPM1 +syn keyword xsMacro HAS_FCHDIR HAS_FCHMOD HAS_FCHOWN HAS_FCNTL HAS_FDIM +syn keyword xsMacro HAS_FD_SET HAS_FEGETROUND HAS_FGETPOS HAS_FINITE +syn keyword xsMacro HAS_FINITEL HAS_FLOCK HAS_FLOCK_PROTO HAS_FMA HAS_FMAX +syn keyword xsMacro HAS_FMIN HAS_FORK HAS_FPATHCONF HAS_FPCLASSIFY HAS_FREXPL +syn keyword xsMacro HAS_FSEEKO HAS_FSETPOS HAS_FSTATFS HAS_FSTATVFS HAS_FSYNC +syn keyword xsMacro HAS_FTELLO HAS_FUTIMES HAS_GETADDRINFO HAS_GETCWD +syn keyword xsMacro HAS_GETGRENT HAS_GETGROUPS HAS_GETHOSTBYADDR +syn keyword xsMacro HAS_GETHOSTBYNAME HAS_GETHOSTENT HAS_GETHOSTNAME +syn keyword xsMacro HAS_GETHOST_PROTOS HAS_GETITIMER HAS_GETLOGIN +syn keyword xsMacro HAS_GETMNTENT HAS_GETNAMEINFO HAS_GETNETBYADDR +syn keyword xsMacro HAS_GETNETBYNAME HAS_GETNETENT HAS_GETNET_PROTOS +syn keyword xsMacro HAS_GETPAGESIZE HAS_GETPGID HAS_GETPGRP HAS_GETPPID +syn keyword xsMacro HAS_GETPRIORITY HAS_GETPROTOBYNAME HAS_GETPROTOBYNUMBER +syn keyword xsMacro HAS_GETPROTOENT HAS_GETPROTO_PROTOS HAS_GETPWENT +syn keyword xsMacro HAS_GETSERVBYNAME HAS_GETSERVBYPORT HAS_GETSERVENT +syn keyword xsMacro HAS_GETSERV_PROTOS HAS_GETSPNAM HAS_GETTIMEOFDAY +syn keyword xsMacro HAS_GNULIBC HAS_GROUP HAS_HASMNTOPT HAS_HTONL HAS_HTONS +syn keyword xsMacro HAS_HYPOT HAS_ILOGB HAS_ILOGBL HAS_INETNTOP HAS_INETPTON syn keyword xsMacro HAS_INET_ATON HAS_INT64_T HAS_IOCTL HAS_IPV6_MREQ -syn keyword xsMacro HAS_ISASCII HAS_ISBLANK HAS_ISINF HAS_ISNAN HAS_ISNANL -syn keyword xsMacro HAS_KILL HAS_KILLPG HAS_LCHOWN HAS_LDBL_DIG HAS_LINK -syn keyword xsMacro HAS_LOCALECONV HAS_LOCKF HAS_LONG_DOUBLE HAS_LONG_LONG +syn keyword xsMacro HAS_IP_MREQ HAS_IP_MREQ_SOURCE HAS_ISASCII HAS_ISBLANK +syn keyword xsMacro HAS_ISFINITE HAS_ISINF HAS_ISINFL HAS_ISNAN HAS_ISNANL +syn keyword xsMacro HAS_ISNORMAL HAS_J0 HAS_J0L HAS_KILL HAS_KILLPG +syn keyword xsMacro HAS_LCHOWN HAS_LC_MONETARY_2008 HAS_LDBL_DIG HAS_LDEXPL +syn keyword xsMacro HAS_LGAMMA HAS_LGAMMA_R HAS_LINK HAS_LLRINT HAS_LLRINTL +syn keyword xsMacro HAS_LLROUND HAS_LLROUNDL HAS_LOCALECONV HAS_LOCKF +syn keyword xsMacro HAS_LOG1P HAS_LOG2 HAS_LOGB HAS_LONG_DOUBLE HAS_LONG_LONG +syn keyword xsMacro HAS_LRINT HAS_LRINTL HAS_LROUND HAS_LROUNDL syn keyword xsMacro HAS_LSEEK_PROTO HAS_LSTAT HAS_MADVISE HAS_MBLEN syn keyword xsMacro HAS_MBSTOWCS HAS_MBTOWC HAS_MEMCHR HAS_MEMCMP HAS_MEMCPY syn keyword xsMacro HAS_MEMMOVE HAS_MEMSET HAS_MKDIR HAS_MKDTEMP HAS_MKFIFO syn keyword xsMacro HAS_MKSTEMP HAS_MKSTEMPS HAS_MKTIME HAS_MMAP HAS_MODFL syn keyword xsMacro HAS_MODFL_PROTO HAS_MPROTECT HAS_MSG HAS_MSG_CTRUNC syn keyword xsMacro HAS_MSG_DONTROUTE HAS_MSG_OOB HAS_MSG_PEEK HAS_MSG_PROXY -syn keyword xsMacro HAS_MSYNC HAS_MUNMAP HAS_NICE HAS_NL_LANGINFO HAS_OPEN3 -syn keyword xsMacro HAS_PASSWD HAS_PATHCONF HAS_PAUSE HAS_PIPE HAS_POLL -syn keyword xsMacro HAS_PRCTL HAS_PRCTL_SET_NAME HAS_PROCSELFEXE +syn keyword xsMacro HAS_MSYNC HAS_MUNMAP HAS_NAN HAS_NEARBYINT HAS_NEXTAFTER +syn keyword xsMacro HAS_NEXTTOWARD HAS_NICE HAS_NL_LANGINFO HAS_NTOHL +syn keyword xsMacro HAS_NTOHS HAS_OPEN3 HAS_PASSWD HAS_PATHCONF HAS_PAUSE +syn keyword xsMacro HAS_PIPE HAS_POLL HAS_PRCTL HAS_PRCTL_SET_NAME +syn keyword xsMacro HAS_PROCSELFEXE HAS_PTHREAD_ATFORK syn keyword xsMacro HAS_PTHREAD_ATTR_SETSCOPE -syn keyword xsMacro HAS_PTHREAD_UNCHECKED_GETSPECIFIC_NP HAS_READDIR -syn keyword xsMacro HAS_READLINK HAS_READV HAS_RECVMSG HAS_RENAME -syn keyword xsMacro HAS_REWINDDIR HAS_RMDIR HAS_SANE_MEMCMP HAS_SBRK_PROTO -syn keyword xsMacro HAS_SCALBNL HAS_SCHED_YIELD HAS_SCM_RIGHTS HAS_SEEKDIR -syn keyword xsMacro HAS_SELECT HAS_SEM HAS_SENDMSG HAS_SETEGID HAS_SETEUID -syn keyword xsMacro HAS_SETGRENT HAS_SETGROUPS HAS_SETHOSTENT HAS_SETITIMER -syn keyword xsMacro HAS_SETLINEBUF HAS_SETLOCALE HAS_SETNETENT HAS_SETPGID -syn keyword xsMacro HAS_SETPGRP HAS_SETPRIORITY HAS_SETPROTOENT HAS_SETPWENT -syn keyword xsMacro HAS_SETREGID HAS_SETRESGID HAS_SETRESUID HAS_SETREUID -syn keyword xsMacro HAS_SETSERVENT HAS_SETSID HAS_SETVBUF HAS_SHM -syn keyword xsMacro HAS_SHMAT_PROTOTYPE HAS_SIGACTION HAS_SIGNBIT -syn keyword xsMacro HAS_SIGPROCMASK HAS_SIGSETJMP HAS_SIN6_SCOPE_ID -syn keyword xsMacro HAS_SNPRINTF HAS_SOCKADDR_IN6 HAS_SOCKATMARK -syn keyword xsMacro HAS_SOCKATMARK_PROTO HAS_SOCKET HAS_SQRTL -syn keyword xsMacro HAS_STATIC_INLINE HAS_STRCHR HAS_STRCOLL HAS_STRFTIME -syn keyword xsMacro HAS_STRTOD HAS_STRTOL HAS_STRTOLD HAS_STRTOLL HAS_STRTOQ -syn keyword xsMacro HAS_STRTOUL HAS_STRTOULL HAS_STRTOUQ HAS_STRUCT_CMSGHDR +syn keyword xsMacro HAS_PTHREAD_UNCHECKED_GETSPECIFIC_NP HAS_PTHREAD_YIELD +syn keyword xsMacro HAS_PTRDIFF_T HAS_READDIR HAS_READLINK HAS_READV +syn keyword xsMacro HAS_RECVMSG HAS_REGCOMP HAS_REMAINDER HAS_REMQUO +syn keyword xsMacro HAS_RENAME HAS_REWINDDIR HAS_RINT HAS_RMDIR HAS_ROUND +syn keyword xsMacro HAS_SANE_MEMCMP HAS_SBRK_PROTO HAS_SCALBN HAS_SCALBNL +syn keyword xsMacro HAS_SCHED_YIELD HAS_SCM_RIGHTS HAS_SEEKDIR HAS_SELECT +syn keyword xsMacro HAS_SEM HAS_SENDMSG HAS_SETEGID HAS_SETEUID HAS_SETGRENT +syn keyword xsMacro HAS_SETGROUPS HAS_SETHOSTENT HAS_SETITIMER HAS_SETLINEBUF +syn keyword xsMacro HAS_SETLOCALE HAS_SETNETENT HAS_SETPGID HAS_SETPGRP +syn keyword xsMacro HAS_SETPRIORITY HAS_SETPROTOENT HAS_SETPWENT HAS_SETREGID +syn keyword xsMacro HAS_SETRESGID HAS_SETRESUID HAS_SETREUID HAS_SETSERVENT +syn keyword xsMacro HAS_SETSID HAS_SETVBUF HAS_SHM HAS_SHMAT_PROTOTYPE +syn keyword xsMacro HAS_SIGACTION HAS_SIGNBIT HAS_SIGPROCMASK HAS_SIGSETJMP +syn keyword xsMacro HAS_SIN6_SCOPE_ID HAS_SKIP_LOCALE_INIT HAS_SNPRINTF +syn keyword xsMacro HAS_SOCKADDR_IN6 HAS_SOCKATMARK HAS_SOCKATMARK_PROTO +syn keyword xsMacro HAS_SOCKET HAS_SQRTL HAS_STAT HAS_STATIC_INLINE +syn keyword xsMacro HAS_STRCHR HAS_STRCOLL HAS_STRFTIME HAS_STRTOD HAS_STRTOL +syn keyword xsMacro HAS_STRTOLD HAS_STRTOLL HAS_STRTOQ HAS_STRTOUL +syn keyword xsMacro HAS_STRTOULL HAS_STRTOUQ HAS_STRUCT_CMSGHDR syn keyword xsMacro HAS_STRUCT_MSGHDR HAS_STRUCT_STATFS syn keyword xsMacro HAS_STRUCT_STATFS_F_FLAGS HAS_STRXFRM HAS_SYMLINK syn keyword xsMacro HAS_SYSCALL HAS_SYSCALL_PROTO HAS_SYSCONF HAS_SYSTEM syn keyword xsMacro HAS_SYS_ERRLIST HAS_TCGETPGRP HAS_TCSETPGRP HAS_TELLDIR -syn keyword xsMacro HAS_TELLDIR_PROTO HAS_TIME HAS_TIMEGM HAS_TIMES -syn keyword xsMacro HAS_TM_TM_GMTOFF HAS_TM_TM_ZONE HAS_TRUNCATE HAS_TZNAME -syn keyword xsMacro HAS_UALARM HAS_UMASK HAS_UNAME HAS_UNSETENV HAS_USLEEP -syn keyword xsMacro HAS_USLEEP_PROTO HAS_USTAT HAS_UTIME HAS_VPRINTF -syn keyword xsMacro HAS_VSNPRINTF HAS_VTOHL HAS_VTOHS HAS_WAIT HAS_WAIT4 -syn keyword xsMacro HAS_WAITPID HAS_WCSTOMBS HAS_WCTOMB HAS_WRITEV -syn keyword xsMacro HAVE_THREAD_INTERN HEK_BASESIZE HEK_FLAGS HEK_HASH -syn keyword xsMacro HEK_KEY HEK_LEN HEK_REHASH HEK_REHASH_on HEK_UTF8 -syn keyword xsMacro HEK_UTF8_off HEK_UTF8_on HEK_WASUTF8 HEK_WASUTF8_off -syn keyword xsMacro HEK_WASUTF8_on HEKf HEKf256 HEKfARG HE_SVSLOT HEf_SVKEY -syn keyword xsMacro HINTS_REFCNT_INIT HINTS_REFCNT_LOCK HINTS_REFCNT_TERM -syn keyword xsMacro HINTS_REFCNT_UNLOCK HINT_BLOCK_SCOPE HINT_BYTES -syn keyword xsMacro HINT_EXPLICIT_STRICT_REFS HINT_EXPLICIT_STRICT_SUBS -syn keyword xsMacro HINT_EXPLICIT_STRICT_VARS HINT_FEATURE_MASK -syn keyword xsMacro HINT_FEATURE_SHIFT HINT_FILETEST_ACCESS HINT_INTEGER -syn keyword xsMacro HINT_LEXICAL_IO_IN HINT_LEXICAL_IO_OUT HINT_LOCALE -syn keyword xsMacro HINT_LOCALE_NOT_CHARS HINT_LOCALIZE_HH HINT_NEW_BINARY -syn keyword xsMacro HINT_NEW_FLOAT HINT_NEW_INTEGER HINT_NEW_RE -syn keyword xsMacro HINT_NEW_STRING HINT_NO_AMAGIC HINT_RE_EVAL HINT_RE_FLAGS -syn keyword xsMacro HINT_RE_TAINT HINT_SORT_MERGESORT HINT_SORT_QUICKSORT -syn keyword xsMacro HINT_SORT_SORT_BITS HINT_SORT_STABLE HINT_STRICT_REFS -syn keyword xsMacro HINT_STRICT_SUBS HINT_STRICT_VARS HINT_UNI_8_BIT -syn keyword xsMacro HINT_UTF8 HORIZWS HV_DELETE HV_DISABLE_UVAR_XKEY +syn keyword xsMacro HAS_TELLDIR_PROTO HAS_TGAMMA HAS_TIME HAS_TIMEGM +syn keyword xsMacro HAS_TIMES HAS_TM_TM_GMTOFF HAS_TM_TM_ZONE HAS_TRUNC +syn keyword xsMacro HAS_TRUNCATE HAS_TRUNCL HAS_TZNAME HAS_UALARM HAS_UMASK +syn keyword xsMacro HAS_UNAME HAS_UNSETENV HAS_USLEEP HAS_USLEEP_PROTO +syn keyword xsMacro HAS_USTAT HAS_UTIME HAS_VPRINTF HAS_VSNPRINTF HAS_WAIT +syn keyword xsMacro HAS_WAIT4 HAS_WAITPID HAS_WCSCMP HAS_WCSTOMBS HAS_WCSXFRM +syn keyword xsMacro HAS_WCTOMB HAS_WRITEV HEK_BASESIZE HEK_FLAGS HEK_HASH +syn keyword xsMacro HEK_KEY HEK_LEN HEK_UTF8 HEK_UTF8_off HEK_UTF8_on +syn keyword xsMacro HEK_WASUTF8 HEK_WASUTF8_off HEK_WASUTF8_on HEKf HEKf256 +syn keyword xsMacro HEKfARG HE_SVSLOT HEf_SVKEY HINTS_REFCNT_INIT +syn keyword xsMacro HINTS_REFCNT_LOCK HINTS_REFCNT_TERM HINTS_REFCNT_UNLOCK +syn keyword xsMacro HINT_BLOCK_SCOPE HINT_BYTES HINT_EXPLICIT_STRICT_REFS +syn keyword xsMacro HINT_EXPLICIT_STRICT_SUBS HINT_EXPLICIT_STRICT_VARS +syn keyword xsMacro HINT_FEATURE_MASK HINT_FEATURE_SHIFT HINT_FILETEST_ACCESS +syn keyword xsMacro HINT_INTEGER HINT_LEXICAL_IO_IN HINT_LEXICAL_IO_OUT +syn keyword xsMacro HINT_LOCALE HINT_LOCALE_PARTIAL HINT_LOCALIZE_HH +syn keyword xsMacro HINT_NEW_BINARY HINT_NEW_FLOAT HINT_NEW_INTEGER +syn keyword xsMacro HINT_NEW_RE HINT_NEW_STRING HINT_NO_AMAGIC HINT_RE_EVAL +syn keyword xsMacro HINT_RE_FLAGS HINT_RE_TAINT HINT_SORT_MERGESORT +syn keyword xsMacro HINT_SORT_QUICKSORT HINT_SORT_SORT_BITS HINT_SORT_STABLE +syn keyword xsMacro HINT_STRICT_REFS HINT_STRICT_SUBS HINT_STRICT_VARS +syn keyword xsMacro HINT_UNI_8_BIT HINT_UTF8 HS_APIVERLEN_MAX HS_CXT +syn keyword xsMacro HS_GETAPIVERLEN HS_GETINTERPSIZE HS_GETXSVERLEN HS_KEY +syn keyword xsMacro HS_KEYp HS_XSVERLEN_MAX HSf_IMP_CXT HSf_NOCHK HSf_POPMARK +syn keyword xsMacro HSf_SETXSUBFN HSm_APIVERLEN HSm_INTRPSIZE HSm_KEY_MATCH +syn keyword xsMacro HSm_XSVERLEN HV_DELETE HV_DISABLE_UVAR_XKEY syn keyword xsMacro HV_FETCH_EMPTY_HE HV_FETCH_ISEXISTS HV_FETCH_ISSTORE syn keyword xsMacro HV_FETCH_JUST_SV HV_FETCH_LVALUE syn keyword xsMacro HV_ITERNEXT_WANTPLACEHOLDERS HV_NAME_SETALL syn keyword xsMacro HVhek_ENABLEHVKFLAGS HVhek_FREEKEY HVhek_KEYCANONICAL -syn keyword xsMacro HVhek_MASK HVhek_PLACEHOLD HVhek_REHASH HVhek_UNSHARED -syn keyword xsMacro HVhek_UTF8 HVhek_WASUTF8 HVrhek_IV HVrhek_PV -syn keyword xsMacro HVrhek_PV_UTF8 HVrhek_UV HVrhek_delete HVrhek_typemask -syn keyword xsMacro HVrhek_undef H_PERL HeHASH HeKEY HeKEY_hek HeKEY_sv -syn keyword xsMacro HeKFLAGS HeKLEN HeKLEN_UTF8 HeKREHASH HeKUTF8 HeKWASUTF8 +syn keyword xsMacro HVhek_MASK HVhek_PLACEHOLD HVhek_UNSHARED HVhek_UTF8 +syn keyword xsMacro HVhek_WASUTF8 HVrhek_IV HVrhek_PV HVrhek_PV_UTF8 +syn keyword xsMacro HVrhek_UV HVrhek_delete HVrhek_typemask HVrhek_undef +syn keyword xsMacro HYPHEN_UTF8 H_EBCDIC_TABLES H_PERL H_REGCHARCLASS +syn keyword xsMacro H_UNICODE_CONSTANTS H_UTF8 HeHASH HeKEY HeKEY_hek +syn keyword xsMacro HeKEY_sv HeKFLAGS HeKLEN HeKLEN_UTF8 HeKUTF8 HeKWASUTF8 syn keyword xsMacro HeNEXT HePV HeSVKEY HeSVKEY_force HeSVKEY_set HeUTF8 -syn keyword xsMacro HeVAL HvARRAY HvAUX HvEITER HvEITER_get HvEITER_set -syn keyword xsMacro HvENAME HvENAMELEN HvENAMELEN_get HvENAMEUTF8 HvENAME_HEK -syn keyword xsMacro HvENAME_HEK_NN HvENAME_get HvFILL HvHASKFLAGS -syn keyword xsMacro HvHASKFLAGS_off HvHASKFLAGS_on HvKEYS HvLAZYDEL -syn keyword xsMacro HvLAZYDEL_off HvLAZYDEL_on HvMAX HvMROMETA HvNAME -syn keyword xsMacro HvNAMELEN HvNAMELEN_get HvNAMEUTF8 HvNAME_HEK +syn keyword xsMacro HeVAL HvAMAGIC HvAMAGIC_off HvAMAGIC_on HvARRAY HvAUX +syn keyword xsMacro HvAUXf_NO_DEREF HvAUXf_SCAN_STASH HvEITER HvEITER_get +syn keyword xsMacro HvEITER_set HvENAME HvENAMELEN HvENAMELEN_get HvENAMEUTF8 +syn keyword xsMacro HvENAME_HEK HvENAME_HEK_NN HvENAME_get HvFILL HvHASKFLAGS +syn keyword xsMacro HvHASKFLAGS_off HvHASKFLAGS_on HvKEYS HvLASTRAND_get +syn keyword xsMacro HvLAZYDEL HvLAZYDEL_off HvLAZYDEL_on HvMAX HvMROMETA +syn keyword xsMacro HvNAME HvNAMELEN HvNAMELEN_get HvNAMEUTF8 HvNAME_HEK syn keyword xsMacro HvNAME_HEK_NN HvNAME_get HvPLACEHOLDERS -syn keyword xsMacro HvPLACEHOLDERS_get HvPLACEHOLDERS_set HvREHASH -syn keyword xsMacro HvREHASH_off HvREHASH_on HvRITER HvRITER_get HvRITER_set -syn keyword xsMacro HvSHAREKEYS HvSHAREKEYS_off HvSHAREKEYS_on HvTOTALKEYS -syn keyword xsMacro HvUSEDKEYS I16SIZE I16TYPE I16_MAX I16_MIN I286 I32SIZE -syn keyword xsMacro I32TYPE I32_MAX I32_MAX_P1 I32_MIN I64SIZE I64TYPE I8SIZE -syn keyword xsMacro I8TYPE I8_TO_NATIVE IF IFMATCH IFMATCH_A IFMATCH_A_fail -syn keyword xsMacro IFTHEN IGNORE_PAT_MOD INIT INIT_THREADS +syn keyword xsMacro HvPLACEHOLDERS_get HvPLACEHOLDERS_set HvRAND_get HvRITER +syn keyword xsMacro HvRITER_get HvRITER_set HvSHAREKEYS HvSHAREKEYS_off +syn keyword xsMacro HvSHAREKEYS_on HvTOTALKEYS HvUSEDKEYS I16SIZE I16TYPE +syn keyword xsMacro I16_MAX I16_MIN I32SIZE I32TYPE I32_MAX I32_MAX_P1 +syn keyword xsMacro I32_MIN I64SIZE I64TYPE I8SIZE I8TYPE I8_TO_NATIVE +syn keyword xsMacro I8_TO_NATIVE_UTF8 IF IFMATCH IFMATCH_A IFMATCH_A_fail +syn keyword xsMacro IFTHEN IGNORE_PAT_MOD ILLEGAL_UTF8_BYTE INIT INIT_THREADS syn keyword xsMacro INIT_TRACK_MEMPOOL INSUBP INT2PTR INT32_MIN INT64_C -syn keyword xsMacro INT64_MIN INTSIZE INT_64_T INT_PAT_MODS -syn keyword xsMacro INVERSION_UNAFFECTED_FLAGS IN_BYTES IN_LOCALE +syn keyword xsMacro INT64_MIN INTSIZE INT_64_T INT_PAT_MODS IN_BYTES +syn keyword xsMacro IN_ENCODING IN_LC IN_LC_ALL_COMPILETIME IN_LC_ALL_RUNTIME +syn keyword xsMacro IN_LC_COMPILETIME IN_LC_PARTIAL_COMPILETIME +syn keyword xsMacro IN_LC_PARTIAL_RUNTIME IN_LC_RUNTIME IN_LOCALE syn keyword xsMacro IN_LOCALE_COMPILETIME IN_LOCALE_RUNTIME syn keyword xsMacro IN_PERL_COMPILETIME IN_PERL_RUNTIME IN_SOME_LOCALE_FORM syn keyword xsMacro IN_SOME_LOCALE_FORM_COMPILETIME -syn keyword xsMacro IN_SOME_LOCALE_FORM_RUNTIME IN_UNI_8_BIT IOCPARM_LEN -syn keyword xsMacro IOf_ARGV IOf_DIDTOP IOf_FAKE_DIRP IOf_FLUSH IOf_NOLINE -syn keyword xsMacro IOf_START IOf_UNTAINT ISHISH IS_ANYOF_TRIE +syn keyword xsMacro IN_SOME_LOCALE_FORM_RUNTIME IN_UNI_8_BIT +syn keyword xsMacro IN_UTF8_CTYPE_LOCALE IOCPARM_LEN IOf_ARGV IOf_DIDTOP +syn keyword xsMacro IOf_FAKE_DIRP IOf_FLUSH IOf_NOLINE IOf_START IOf_UNTAINT +syn keyword xsMacro ISA_VERSION_OBJ IS_ANYOF_TRIE syn keyword xsMacro IS_NUMBER_GREATER_THAN_UV_MAX IS_NUMBER_INFINITY syn keyword xsMacro IS_NUMBER_IN_UV IS_NUMBER_NAN IS_NUMBER_NEG -syn keyword xsMacro IS_NUMBER_NOT_INT IS_NUMERIC_RADIX IS_PADCONST IS_PADGV -syn keyword xsMacro IS_TRIE_AC IS_UTF8_CHAR IS_UTF8_CHAR_1 IS_UTF8_CHAR_2 -syn keyword xsMacro IS_UTF8_CHAR_3 IS_UTF8_CHAR_3a IS_UTF8_CHAR_3b -syn keyword xsMacro IS_UTF8_CHAR_3c IS_UTF8_CHAR_3d IS_UTF8_CHAR_4 -syn keyword xsMacro IS_UTF8_CHAR_4a IS_UTF8_CHAR_4b IS_UTF8_CHAR_4c -syn keyword xsMacro IS_UTF8_CHAR_5 IS_UTF8_CHAR_5a IS_UTF8_CHAR_5b -syn keyword xsMacro IS_UTF8_CHAR_FAST IVSIZE IVTYPE IV_DIG IV_MAX IV_MAX_P1 -syn keyword xsMacro IV_MIN I_32 I_ARPA_INET I_ASSERT I_CRYPT I_DBM I_DIRENT -syn keyword xsMacro I_DLFCN I_FLOAT I_GDBM I_GDBMNDBM I_GRP I_INTTYPES -syn keyword xsMacro I_LANGINFO I_LIMITS I_LOCALE I_MATH I_MNTENT I_NETDB -syn keyword xsMacro I_NETINET_IN I_NETINET_TCP I_POLL I_PTHREAD I_PWD -syn keyword xsMacro I_SHADOW I_STDARG I_STDBOOL I_STDDEF I_STDLIB I_STRING +syn keyword xsMacro IS_NUMBER_NOT_INT IS_NUMBER_TRAILING IS_NUMERIC_RADIX +syn keyword xsMacro IS_PADCONST IS_PADGV IS_SAFE_PATHNAME IS_SAFE_SYSCALL +syn keyword xsMacro IS_TRIE_AC IS_UTF8_CHAR IS_UTF8_CHAR_FAST IVSIZE IVTYPE +syn keyword xsMacro IV_DIG IV_MAX IV_MAX_P1 IV_MIN I_32 I_ARPA_INET I_ASSERT +syn keyword xsMacro I_BFD I_CRYPT I_DBM I_DIRENT I_DLFCN I_EXECINFO I_FENV +syn keyword xsMacro I_FLOAT I_GDBM I_GDBMNDBM I_GRP I_INTTYPES I_LANGINFO +syn keyword xsMacro I_LIMITS I_LOCALE I_MATH I_MNTENT I_NETDB I_NETINET_IN +syn keyword xsMacro I_NETINET_TCP I_POLL I_PTHREAD I_PWD I_QUADMATH I_SHADOW +syn keyword xsMacro I_STDARG I_STDBOOL I_STDDEF I_STDINT I_STDLIB I_STRING syn keyword xsMacro I_SYSLOG I_SYSUIO I_SYSUTSNAME I_SYS_DIR I_SYS_FILE syn keyword xsMacro I_SYS_IOCTL I_SYS_MOUNT I_SYS_PARAM I_SYS_POLL syn keyword xsMacro I_SYS_RESOURCE I_SYS_SELECT I_SYS_STAT I_SYS_STATFS @@ -1365,12 +1528,12 @@ syn keyword xsMacro IoTYPE_NUMERIC IoTYPE_PIPE IoTYPE_RDONLY IoTYPE_RDWR syn keyword xsMacro IoTYPE_SOCKET IoTYPE_STD IoTYPE_WRONLY IsSet syn keyword xsMacro JMPENV_BOOTSTRAP JMPENV_JUMP JMPENV_POP JMPENV_PUSH JOIN syn keyword xsMacro KEEPCOPY_PAT_MOD KEEPCOPY_PAT_MODS KEEPS KEEPS_next -syn keyword xsMacro KEEPS_next_fail KEYWORD_PLUGIN_DECLINE +syn keyword xsMacro KEEPS_next_fail KELVIN_SIGN KEYWORD_PLUGIN_DECLINE syn keyword xsMacro KEYWORD_PLUGIN_EXPR KEYWORD_PLUGIN_STMT KEY_AUTOLOAD -syn keyword xsMacro KEY_BEGIN KEY_CHECK KEY_CORE KEY_DESTROY KEY_END KEY_INIT -syn keyword xsMacro KEY_NULL KEY_UNITCHECK KEY___DATA__ KEY___END__ -syn keyword xsMacro KEY___FILE__ KEY___LINE__ KEY___PACKAGE__ KEY___SUB__ -syn keyword xsMacro KEY_abs KEY_accept KEY_alarm KEY_and KEY_atan2 KEY_bind +syn keyword xsMacro KEY_BEGIN KEY_CHECK KEY_DESTROY KEY_END KEY_INIT KEY_NULL +syn keyword xsMacro KEY_UNITCHECK KEY___DATA__ KEY___END__ KEY___FILE__ +syn keyword xsMacro KEY___LINE__ KEY___PACKAGE__ KEY___SUB__ KEY_abs +syn keyword xsMacro KEY_accept KEY_alarm KEY_and KEY_atan2 KEY_bind syn keyword xsMacro KEY_binmode KEY_bless KEY_break KEY_caller KEY_chdir syn keyword xsMacro KEY_chmod KEY_chomp KEY_chop KEY_chown KEY_chr KEY_chroot syn keyword xsMacro KEY_close KEY_closedir KEY_cmp KEY_connect KEY_continue @@ -1418,125 +1581,177 @@ syn keyword xsMacro KEY_uc KEY_ucfirst KEY_umask KEY_undef KEY_unless syn keyword xsMacro KEY_unlink KEY_unpack KEY_unshift KEY_untie KEY_until syn keyword xsMacro KEY_use KEY_utime KEY_values KEY_vec KEY_wait KEY_waitpid syn keyword xsMacro KEY_wantarray KEY_warn KEY_when KEY_while KEY_write KEY_x -syn keyword xsMacro KEY_xor KEY_y LABEL +syn keyword xsMacro KEY_xor KEY_y LABEL LATIN1_TO_NATIVE syn keyword xsMacro LATIN_CAPITAL_LETTER_A_WITH_RING_ABOVE +syn keyword xsMacro LATIN_CAPITAL_LETTER_A_WITH_RING_ABOVE_NATIVE syn keyword xsMacro LATIN_CAPITAL_LETTER_SHARP_S +syn keyword xsMacro LATIN_CAPITAL_LETTER_SHARP_S_UTF8 syn keyword xsMacro LATIN_CAPITAL_LETTER_Y_WITH_DIAERESIS syn keyword xsMacro LATIN_SMALL_LETTER_A_WITH_RING_ABOVE +syn keyword xsMacro LATIN_SMALL_LETTER_A_WITH_RING_ABOVE_NATIVE +syn keyword xsMacro LATIN_SMALL_LETTER_LONG_S LATIN_SMALL_LETTER_LONG_S_UTF8 syn keyword xsMacro LATIN_SMALL_LETTER_SHARP_S -syn keyword xsMacro LATIN_SMALL_LETTER_Y_WITH_DIAERESIS LDBL_DIG LEAVE -syn keyword xsMacro LEAVESUB LEAVE_SCOPE LEAVE_with_name LEX_DONT_CLOSE_RSFP -syn keyword xsMacro LEX_EVALBYTES LEX_IGNORE_UTF8_HINTS LEX_KEEP_PREVIOUS -syn keyword xsMacro LEX_NOTPARSING LEX_START_COPIED LEX_START_FLAGS -syn keyword xsMacro LEX_START_SAME_FILTER LEX_STUFF_UTF8 LIBERAL -syn keyword xsMacro LIBM_LIB_VERSION LIB_INVARG LIKELY LINKLIST LNBREAK LOCAL -syn keyword xsMacro LOCALE_PAT_MOD LOCALE_PAT_MODS LOCALTIME_MAX +syn keyword xsMacro LATIN_SMALL_LETTER_SHARP_S_NATIVE +syn keyword xsMacro LATIN_SMALL_LETTER_Y_WITH_DIAERESIS +syn keyword xsMacro LATIN_SMALL_LETTER_Y_WITH_DIAERESIS_NATIVE +syn keyword xsMacro LATIN_SMALL_LIGATURE_LONG_S_T +syn keyword xsMacro LATIN_SMALL_LIGATURE_LONG_S_T_UTF8 +syn keyword xsMacro LATIN_SMALL_LIGATURE_ST LATIN_SMALL_LIGATURE_ST_UTF8 +syn keyword xsMacro LDBL_DIG LEAVE LEAVESUB LEAVE_SCOPE LEAVE_with_name +syn keyword xsMacro LEX_DONT_CLOSE_RSFP LEX_EVALBYTES LEX_IGNORE_UTF8_HINTS +syn keyword xsMacro LEX_KEEP_PREVIOUS LEX_NOTPARSING LEX_START_COPIED +syn keyword xsMacro LEX_START_FLAGS LEX_START_SAME_FILTER LEX_STUFF_UTF8 +syn keyword xsMacro LF_NATIVE LIBERAL LIBM_LIB_VERSION LIB_INVARG LIKELY +syn keyword xsMacro LINKLIST LNBREAK LOADED_FILE_PROBE LOADING_FILE_PROBE +syn keyword xsMacro LOCAL LOCALE_PAT_MOD LOCALE_PAT_MODS LOCALTIME_MAX syn keyword xsMacro LOCALTIME_MIN LOCALTIME_R LOCALTIME_R_PROTO -syn keyword xsMacro LOCAL_PATCH_COUNT LOCK_DOLLARZERO_MUTEX LOC_SED LOGICAL -syn keyword xsMacro LONGJMP LONGLONGSIZE LONGSIZE LONG_DOUBLESIZE -syn keyword xsMacro LONG_DOUBLE_EQUALS_DOUBLE LOOPEX LOOP_PAT_MODS LSEEKSIZE -syn keyword xsMacro LSTOP LSTOPSUB LVRET L_R_TZSET LvFLAGS LvTARG LvTARGLEN -syn keyword xsMacro LvTARGOFF LvTYPE MADPROP_IN_BASEOP MAD_NULL MAD_OP MAD_PV -syn keyword xsMacro MAD_SV MALLOC_CHECK_TAINT MALLOC_CHECK_TAINT2 -syn keyword xsMacro MALLOC_CTL_H MALLOC_INIT MALLOC_OVERHEAD MALLOC_TERM +syn keyword xsMacro LOCAL_PATCH_COUNT LOCK_DOLLARZERO_MUTEX +syn keyword xsMacro LOCK_LC_NUMERIC_STANDARD LOCK_NUMERIC_STANDARD LOC_SED +syn keyword xsMacro LOGICAL LONGDOUBLE_BIG_ENDIAN LONGDOUBLE_DOUBLEDOUBLE +syn keyword xsMacro LONGDOUBLE_LITTLE_ENDIAN LONGDOUBLE_X86_80_BIT LONGJMP +syn keyword xsMacro LONGLONGSIZE LONGSIZE LONG_DOUBLEKIND LONG_DOUBLESIZE +syn keyword xsMacro LONG_DOUBLE_EQUALS_DOUBLE LONG_DOUBLE_IS_DOUBLE +syn keyword xsMacro LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BIG_ENDIAN +syn keyword xsMacro LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LITTLE_ENDIAN +syn keyword xsMacro LONG_DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN +syn keyword xsMacro LONG_DOUBLE_IS_IEEE_754_128_BIT_LITTLE_ENDIAN +syn keyword xsMacro LONG_DOUBLE_IS_UNKNOWN_FORMAT +syn keyword xsMacro LONG_DOUBLE_IS_X86_80_BIT_BIG_ENDIAN +syn keyword xsMacro LONG_DOUBLE_IS_X86_80_BIT_LITTLE_ENDIAN LOOPEX +syn keyword xsMacro LOOP_PAT_MODS LSEEKSIZE LSTOP LSTOPSUB LVRET L_R_TZSET +syn keyword xsMacro LvFLAGS LvSTARGOFF LvTARG LvTARGLEN LvTARGOFF LvTYPE +syn keyword xsMacro MALLOC_CHECK_TAINT MALLOC_CHECK_TAINT2 MALLOC_CTL_H +syn keyword xsMacro MALLOC_INIT MALLOC_OVERHEAD MALLOC_TERM syn keyword xsMacro MALLOC_TOO_LATE_FOR MARKPOINT MARKPOINT_next syn keyword xsMacro MARKPOINT_next_fail MASK MATCHOP MAXARG MAXO MAXPATHLEN syn keyword xsMacro MAXSYSFD MAX_CHARSET_NAME_LENGTH MAX_FEATURE_LEN syn keyword xsMacro MAX_PORTABLE_UTF8_TWO_BYTE -syn keyword xsMacro MAX_RECURSE_EVAL_NOCHANGE_DEPTH MAYBE_DEREF_GV -syn keyword xsMacro MAYBE_DEREF_GV_flags MAYBE_DEREF_GV_nomg MBOL -syn keyword xsMacro MEMBER_TO_FPTR MEM_ALIGNBYTES MEM_LOG_ALLOC MEM_LOG_FREE -syn keyword xsMacro MEM_LOG_REALLOC MEM_SIZE MEM_SIZE_MAX MEM_WRAP_CHECK -syn keyword xsMacro MEM_WRAP_CHECK_ MEM_WRAP_CHECK_1 MEM_WRAP_CHECK_2 MEOL -syn keyword xsMacro METHOD MEXTEND MGf_COPY MGf_DUP MGf_GSKIP MGf_LOCAL -syn keyword xsMacro MGf_MINMATCH MGf_REFCOUNTED MGf_TAINTEDDIR MICRO_SIGN -syn keyword xsMacro MINMOD MJD_OFFSET_DEBUG MRO_GET_PRIVATE_DATA MSPAGAIN -syn keyword xsMacro MULOP MULTICALL MULTILINE_PAT_MOD MULTIPLICITY MUTABLE_AV -syn keyword xsMacro MUTABLE_CV MUTABLE_GV MUTABLE_HV MUTABLE_IO MUTABLE_PTR -syn keyword xsMacro MUTABLE_SV MUTEX_DESTROY MUTEX_INIT -syn keyword xsMacro MUTEX_INIT_CALLS_MALLOC MUTEX_INIT_NEEDS_MUTEX_ZEROED -syn keyword xsMacro MUTEX_LOCK MUTEX_UNLOCK MY MYSUB MYSWAP MY_CXT_CLONE -syn keyword xsMacro MY_CXT_INDEX MY_CXT_INIT MY_CXT_INIT_ARG -syn keyword xsMacro MY_CXT_INIT_INTERP M_PAT_MODS M_VOID MgPV MgPV_const -syn keyword xsMacro MgPV_nolen_const MgTAINTEDDIR MgTAINTEDDIR_off -syn keyword xsMacro MgTAINTEDDIR_on Mkdir Move MoveD NALNUM NALNUMA NALNUML -syn keyword xsMacro NALNUMU NATIVE8_TO_UNI NATIVE_IS_INVARIANT -syn keyword xsMacro NATIVE_TO_ASCII NATIVE_TO_I8 NATIVE_TO_NEED NATIVE_TO_UNI -syn keyword xsMacro NATIVE_TO_UTF NBOUND NBOUNDA NBOUNDL NBOUNDU -syn keyword xsMacro NDBM_H_USES_PROTOTYPES NDIGIT NDIGITA NDIGITL +syn keyword xsMacro MAX_PRINT_A_FOR_USE_ONLY_BY_REGCOMP_DOT_C +syn keyword xsMacro MAX_RECURSE_EVAL_NOCHANGE_DEPTH MAX_UTF8_TWO_BYTE +syn keyword xsMacro MAYBE_DEREF_GV MAYBE_DEREF_GV_flags MAYBE_DEREF_GV_nomg +syn keyword xsMacro MBOL MB_CUR_MAX MDEREF_ACTION_MASK MDEREF_AV_gvav_aelem +syn keyword xsMacro MDEREF_AV_gvsv_vivify_rv2av_aelem MDEREF_AV_padav_aelem +syn keyword xsMacro MDEREF_AV_padsv_vivify_rv2av_aelem +syn keyword xsMacro MDEREF_AV_pop_rv2av_aelem MDEREF_AV_vivify_rv2av_aelem +syn keyword xsMacro MDEREF_FLAG_last MDEREF_HV_gvhv_helem +syn keyword xsMacro MDEREF_HV_gvsv_vivify_rv2hv_helem MDEREF_HV_padhv_helem +syn keyword xsMacro MDEREF_HV_padsv_vivify_rv2hv_helem +syn keyword xsMacro MDEREF_HV_pop_rv2hv_helem MDEREF_HV_vivify_rv2hv_helem +syn keyword xsMacro MDEREF_INDEX_MASK MDEREF_INDEX_const MDEREF_INDEX_gvsv +syn keyword xsMacro MDEREF_INDEX_none MDEREF_INDEX_padsv MDEREF_MASK +syn keyword xsMacro MDEREF_SHIFT MDEREF_reload MEMBER_TO_FPTR MEM_ALIGNBYTES +syn keyword xsMacro MEM_LOG_ALLOC MEM_LOG_FREE MEM_LOG_REALLOC MEM_SIZE +syn keyword xsMacro MEM_SIZE_MAX MEM_WRAP_CHECK MEM_WRAP_CHECK_ +syn keyword xsMacro MEM_WRAP_CHECK_1 MEM_WRAP_CHECK_2 MEOL METHOD MEXTEND +syn keyword xsMacro MGf_BYTES MGf_COPY MGf_DUP MGf_GSKIP MGf_LOCAL +syn keyword xsMacro MGf_MINMATCH MGf_PERSIST MGf_REFCOUNTED MGf_REQUIRE_GV +syn keyword xsMacro MGf_TAINTEDDIR MICRO_SIGN MICRO_SIGN_NATIVE MINMOD +syn keyword xsMacro MJD_OFFSET_DEBUG MRO_GET_PRIVATE_DATA MSPAGAIN MULOP +syn keyword xsMacro MULTICALL MULTILINE_PAT_MOD MULTIPLICITY MURMUR_C1 +syn keyword xsMacro MURMUR_C2 MURMUR_C3 MURMUR_C4 MURMUR_C5 MURMUR_DOBLOCK +syn keyword xsMacro MURMUR_DOBYTES MUTABLE_AV MUTABLE_CV MUTABLE_GV +syn keyword xsMacro MUTABLE_HV MUTABLE_IO MUTABLE_PTR MUTABLE_SV +syn keyword xsMacro MUTEX_DESTROY MUTEX_INIT MUTEX_INIT_NEEDS_MUTEX_ZEROED +syn keyword xsMacro MUTEX_LOCK MUTEX_UNLOCK MY MY_CXT_CLONE MY_CXT_INDEX +syn keyword xsMacro MY_CXT_INIT MY_CXT_INIT_ARG MY_CXT_INIT_INTERP M_PAT_MODS +syn keyword xsMacro MgBYTEPOS MgBYTEPOS_set MgPV MgPV_const MgPV_nolen_const +syn keyword xsMacro MgTAINTEDDIR MgTAINTEDDIR_off MgTAINTEDDIR_on Mkdir Move +syn keyword xsMacro MoveD NAN_COMPARE_BROKEN NATIVE8_TO_UNI +syn keyword xsMacro NATIVE_BYTE_IS_INVARIANT NATIVE_SKIP NATIVE_TO_ASCII +syn keyword xsMacro NATIVE_TO_I8 NATIVE_TO_LATIN1 NATIVE_TO_UNI NATIVE_TO_UTF +syn keyword xsMacro NATIVE_UTF8_TO_I8 NBOUND NBOUNDA NBOUNDL NBOUNDU +syn keyword xsMacro NBSP_NATIVE NBSP_UTF8 NDBM_H_USES_PROTOTYPES NDEBUG syn keyword xsMacro NEED_PTHREAD_INIT NEED_VA_COPY NEGATIVE_INDICES_VAR -syn keyword xsMacro NETDB_R_OBSOLETE NEWSV NEXTOPER NEXT_LINE_CHAR NEXT_OFF -syn keyword xsMacro NGROUPP NHORIZWS NOAMP NODE_ALIGN NODE_ALIGN_FILL -syn keyword xsMacro NODE_STEP_B NODE_STEP_REGNODE NODE_SZ_STR NOLINE -syn keyword xsMacro NONDESTRUCT_PAT_MOD NONDESTRUCT_PAT_MODS NOOP +syn keyword xsMacro NETDB_R_OBSOLETE NEWSV NEW_VERSION NEXTOPER +syn keyword xsMacro NEXT_LINE_CHAR NEXT_OFF NGROUPP NOAMP NOCAPTURE_PAT_MOD +syn keyword xsMacro NOCAPTURE_PAT_MODS NODE_ALIGN NODE_ALIGN_FILL NODE_STEP_B +syn keyword xsMacro NODE_STEP_REGNODE NODE_SZ_STR NOLINE NONDESTRUCT_PAT_MOD +syn keyword xsMacro NONDESTRUCT_PAT_MODS +syn keyword xsMacro NON_OTHER_COUNT_FOR_USE_ONLY_BY_REGCOMP_DOT_C NOOP syn keyword xsMacro NORETURN_FUNCTION_END NORMAL NOTHING NOTOP NOT_IN_PAD -syn keyword xsMacro NO_ENV_ARRAY_IN_MAIN NO_LOCALE -syn keyword xsMacro NO_LOCALECONV_MON_THOUSANDS_SEP NREF NREFF NREFFA NREFFL -syn keyword xsMacro NREFFU NSIG NSPACE NSPACEA NSPACEL NSPACEU NUM2PTR -syn keyword xsMacro NVERTWS NVSIZE NVTYPE NV_DIG NV_EPSILON NV_INF -syn keyword xsMacro NV_MANT_DIG NV_MAX NV_MAX_10_EXP NV_MIN NV_MIN_10_EXP -syn keyword xsMacro NV_NAN NV_OVERFLOWS_INTEGERS_AT NV_PRESERVES_UV_BITS +syn keyword xsMacro NOT_REACHED NO_ENV_ARRAY_IN_MAIN NO_LOCALE +syn keyword xsMacro NO_LOCALECONV_MON_THOUSANDS_SEP NO_TAINT_SUPPORT NPOSIXA +syn keyword xsMacro NPOSIXD NPOSIXL NPOSIXU NREF NREFF NREFFA NREFFL NREFFU +syn keyword xsMacro NSIG NUM2PTR NUM_ANYOF_CODE_POINTS NVSIZE NVTYPE +syn keyword xsMacro NV_BIG_ENDIAN NV_DIG NV_EPSILON NV_INF NV_LITTLE_ENDIAN +syn keyword xsMacro NV_MANT_DIG NV_MAX NV_MAX_10_EXP NV_MAX_EXP NV_MIN +syn keyword xsMacro NV_MIN_10_EXP NV_MIN_EXP NV_MIX_ENDIAN NV_NAN +syn keyword xsMacro NV_OVERFLOWS_INTEGERS_AT NV_PRESERVES_UV_BITS syn keyword xsMacro NV_WITHIN_IV NV_WITHIN_UV New NewOp NewOpSz Newc Newx syn keyword xsMacro Newxc Newxz Newz NofAMmeth Null Nullav Nullch Nullcv syn keyword xsMacro Nullfp Nullgv Nullhe Nullhek Nullhv Nullop Nullsv OASHIFT -syn keyword xsMacro OCSHIFT ONCE_PAT_MOD ONCE_PAT_MODS OPEN OPERAND OPFAIL +syn keyword xsMacro OCSHIFT OCTAL_VALUE OFFUNISKIP ONCE_PAT_MOD ONCE_PAT_MODS +syn keyword xsMacro OPEN OPERAND OPFAIL OPSLOT_HEADER OPSLOT_HEADER_P syn keyword xsMacro OPTIMIZED OP_BINARY OP_CHECK_MUTEX_INIT syn keyword xsMacro OP_CHECK_MUTEX_LOCK OP_CHECK_MUTEX_TERM -syn keyword xsMacro OP_CHECK_MUTEX_UNLOCK OP_CLASS OP_DESC OP_GIMME -syn keyword xsMacro OP_GIMME_REVERSE OP_IS_DIRHOP OP_IS_FILETEST -syn keyword xsMacro OP_IS_FILETEST_ACCESS OP_IS_NUMCOMPARE OP_IS_SOCKET -syn keyword xsMacro OP_LVALUE_NO_CROAK OP_MEM_TO_REG OP_NAME OP_REFCNT_INIT -syn keyword xsMacro OP_REFCNT_LOCK OP_REFCNT_TERM OP_REFCNT_UNLOCK -syn keyword xsMacro OP_REG_TO_MEM OROP OROR OSNAME OSVERS O_CREAT O_RDONLY -syn keyword xsMacro O_RDWR O_TEXT O_WRONLY Off Off_t_size OpREFCNT_dec -syn keyword xsMacro OpREFCNT_inc OpREFCNT_set OutCopFILE PAD_BASE_SV -syn keyword xsMacro PAD_CLONE_VARS PAD_COMPNAME_FLAGS +syn keyword xsMacro OP_CHECK_MUTEX_UNLOCK OP_CLASS OP_DESC OP_ENTRY_PROBE +syn keyword xsMacro OP_FREED OP_GIMME OP_GIMME_REVERSE OP_IS_DIRHOP +syn keyword xsMacro OP_IS_FILETEST OP_IS_FILETEST_ACCESS OP_IS_INFIX_BIT +syn keyword xsMacro OP_IS_NUMCOMPARE OP_IS_SOCKET OP_LVALUE_NO_CROAK OP_NAME +syn keyword xsMacro OP_REFCNT_INIT OP_REFCNT_LOCK OP_REFCNT_TERM +syn keyword xsMacro OP_REFCNT_UNLOCK OP_SIBLING OP_TYPE_IS OP_TYPE_ISNT +syn keyword xsMacro OP_TYPE_ISNT_AND_WASNT OP_TYPE_ISNT_AND_WASNT_NN +syn keyword xsMacro OP_TYPE_ISNT_NN OP_TYPE_IS_NN OP_TYPE_IS_OR_WAS +syn keyword xsMacro OP_TYPE_IS_OR_WAS_NN OROP OROR OSNAME OSVERS O_CREAT +syn keyword xsMacro O_RDONLY O_RDWR O_TEXT O_WRONLY Off Off_t_size +syn keyword xsMacro OpHAS_SIBLING OpLASTSIB_set OpMAYBESIB_set OpMORESIB_set +syn keyword xsMacro OpREFCNT_dec OpREFCNT_inc OpREFCNT_set OpSIBLING OpSLAB +syn keyword xsMacro OpSLOT OpslabREFCNT_dec OpslabREFCNT_dec_padok OutCopFILE +syn keyword xsMacro PADNAME_FROM_PV PADNAMEt_LVALUE PADNAMEt_OUR +syn keyword xsMacro PADNAMEt_OUTER PADNAMEt_STATE PADNAMEt_TYPED PAD_BASE_SV +syn keyword xsMacro PAD_CLONE_VARS PAD_COMPNAME PAD_COMPNAME_FLAGS syn keyword xsMacro PAD_COMPNAME_FLAGS_isOUR PAD_COMPNAME_GEN syn keyword xsMacro PAD_COMPNAME_GEN_set PAD_COMPNAME_OURSTASH syn keyword xsMacro PAD_COMPNAME_PV PAD_COMPNAME_SV PAD_COMPNAME_TYPE syn keyword xsMacro PAD_FAKELEX_ANON PAD_FAKELEX_MULTI PAD_RESTORE_LOCAL syn keyword xsMacro PAD_SAVE_LOCAL PAD_SAVE_SETNULLPAD PAD_SETSV PAD_SET_CUR syn keyword xsMacro PAD_SET_CUR_NOSAVE PAD_SV PAD_SVl PARENT_FAKELEX_FLAGS -syn keyword xsMacro PARENT_PAD_INDEX PARSE_OPTIONAL PATCHLEVEL PEG PERLDB_ALL -syn keyword xsMacro PERLDB_GOTO PERLDB_INTER PERLDB_LINE PERLDB_NAMEANON -syn keyword xsMacro PERLDB_NAMEEVAL PERLDB_NOOPT PERLDB_SAVESRC -syn keyword xsMacro PERLDB_SAVESRC_INVALID PERLDB_SAVESRC_NOSUBS -syn keyword xsMacro PERLDB_SINGLE PERLDB_SUB PERLDB_SUBLINE PERLDB_SUB_NN -syn keyword xsMacro PERLDBf_GOTO PERLDBf_INTER PERLDBf_LINE PERLDBf_NAMEANON -syn keyword xsMacro PERLDBf_NAMEEVAL PERLDBf_NONAME PERLDBf_NOOPT -syn keyword xsMacro PERLDBf_SAVESRC PERLDBf_SAVESRC_INVALID -syn keyword xsMacro PERLDBf_SAVESRC_NOSUBS PERLDBf_SINGLE PERLDBf_SUB -syn keyword xsMacro PERLDBf_SUBLINE PERLIOBUF_DEFAULT_BUFSIZ PERLIO_DUP_CLONE -syn keyword xsMacro PERLIO_DUP_FD PERLIO_FUNCS_CAST PERLIO_FUNCS_CONST -syn keyword xsMacro PERLIO_FUNCS_DECL PERLIO_F_APPEND PERLIO_F_CANREAD -syn keyword xsMacro PERLIO_F_CANWRITE PERLIO_F_CLEARED PERLIO_F_CRLF -syn keyword xsMacro PERLIO_F_EOF PERLIO_F_ERROR PERLIO_F_FASTGETS -syn keyword xsMacro PERLIO_F_LINEBUF PERLIO_F_NOTREG PERLIO_F_OPEN -syn keyword xsMacro PERLIO_F_RDBUF PERLIO_F_TEMP PERLIO_F_TRUNCATE -syn keyword xsMacro PERLIO_F_TTY PERLIO_F_UNBUF PERLIO_F_UTF8 PERLIO_F_WRBUF -syn keyword xsMacro PERLIO_INIT PERLIO_IS_STDIO PERLIO_K_BUFFERED -syn keyword xsMacro PERLIO_K_CANCRLF PERLIO_K_DESTRUCT PERLIO_K_DUMMY -syn keyword xsMacro PERLIO_K_FASTGETS PERLIO_K_MULTIARG PERLIO_K_RAW -syn keyword xsMacro PERLIO_K_UTF8 PERLIO_LAYERS PERLIO_NOT_STDIO -syn keyword xsMacro PERLIO_STDTEXT PERLIO_TERM PERLIO_USING_CRLF -syn keyword xsMacro PERLSI_DESTROY PERLSI_DIEHOOK PERLSI_MAGIC PERLSI_MAIN -syn keyword xsMacro PERLSI_OVERLOAD PERLSI_REQUIRE PERLSI_SIGNAL PERLSI_SORT -syn keyword xsMacro PERLSI_UNDEF PERLSI_UNKNOWN PERLSI_WARNHOOK PERL_ABS -syn keyword xsMacro PERL_ALLOC_CHECK PERL_API_REVISION PERL_API_SUBVERSION -syn keyword xsMacro PERL_API_VERSION PERL_API_VERSION_STRING -syn keyword xsMacro PERL_ARENA_ROOTS_SIZE PERL_ARENA_SIZE -syn keyword xsMacro PERL_ARGS_ASSERT_ADD_ALTERNATE PERL_ARGS_ASSERT_ADD_DATA +syn keyword xsMacro PARENT_PAD_INDEX PARSE_OPTIONAL PASS1 PASS2 PATCHLEVEL +syn keyword xsMacro PERLDB_ALL PERLDB_GOTO PERLDB_INTER PERLDB_LINE +syn keyword xsMacro PERLDB_NAMEANON PERLDB_NAMEEVAL PERLDB_NOOPT +syn keyword xsMacro PERLDB_SAVESRC PERLDB_SAVESRC_INVALID +syn keyword xsMacro PERLDB_SAVESRC_NOSUBS PERLDB_SINGLE PERLDB_SUB +syn keyword xsMacro PERLDB_SUBLINE PERLDB_SUB_NN PERLDBf_GOTO PERLDBf_INTER +syn keyword xsMacro PERLDBf_LINE PERLDBf_NAMEANON PERLDBf_NAMEEVAL +syn keyword xsMacro PERLDBf_NONAME PERLDBf_NOOPT PERLDBf_SAVESRC +syn keyword xsMacro PERLDBf_SAVESRC_INVALID PERLDBf_SAVESRC_NOSUBS +syn keyword xsMacro PERLDBf_SINGLE PERLDBf_SUB PERLDBf_SUBLINE +syn keyword xsMacro PERLIOBUF_DEFAULT_BUFSIZ PERLIO_DUP_CLONE PERLIO_DUP_FD +syn keyword xsMacro PERLIO_FUNCS_CAST PERLIO_FUNCS_CONST PERLIO_FUNCS_DECL +syn keyword xsMacro PERLIO_F_APPEND PERLIO_F_CANREAD PERLIO_F_CANWRITE +syn keyword xsMacro PERLIO_F_CLEARED PERLIO_F_CRLF PERLIO_F_EOF +syn keyword xsMacro PERLIO_F_ERROR PERLIO_F_FASTGETS PERLIO_F_LINEBUF +syn keyword xsMacro PERLIO_F_NOTREG PERLIO_F_OPEN PERLIO_F_RDBUF +syn keyword xsMacro PERLIO_F_TEMP PERLIO_F_TRUNCATE PERLIO_F_TTY +syn keyword xsMacro PERLIO_F_UNBUF PERLIO_F_UTF8 PERLIO_F_WRBUF PERLIO_INIT +syn keyword xsMacro PERLIO_IS_STDIO PERLIO_K_BUFFERED PERLIO_K_CANCRLF +syn keyword xsMacro PERLIO_K_DESTRUCT PERLIO_K_DUMMY PERLIO_K_FASTGETS +syn keyword xsMacro PERLIO_K_MULTIARG PERLIO_K_RAW PERLIO_K_UTF8 +syn keyword xsMacro PERLIO_LAYERS PERLIO_NOT_STDIO PERLIO_STDTEXT PERLIO_TERM +syn keyword xsMacro PERLIO_USING_CRLF PERLSI_DESTROY PERLSI_DIEHOOK +syn keyword xsMacro PERLSI_MAGIC PERLSI_MAIN PERLSI_OVERLOAD PERLSI_REQUIRE +syn keyword xsMacro PERLSI_SIGNAL PERLSI_SORT PERLSI_UNDEF PERLSI_UNKNOWN +syn keyword xsMacro PERLSI_WARNHOOK PERL_ABS PERL_ALLOC_CHECK PERL_ANY_COW +syn keyword xsMacro PERL_API_REVISION PERL_API_SUBVERSION PERL_API_VERSION +syn keyword xsMacro PERL_API_VERSION_STRING PERL_ARENA_ROOTS_SIZE +syn keyword xsMacro PERL_ARENA_SIZE PERL_ARGS_ASSERT_ADD_ABOVE_LATIN1_FOLDS +syn keyword xsMacro PERL_ARGS_ASSERT_ADD_DATA +syn keyword xsMacro PERL_ARGS_ASSERT_ADD_MULTI_MATCH syn keyword xsMacro PERL_ARGS_ASSERT_ADD_UTF16_TEXTFILTER -syn keyword xsMacro PERL_ARGS_ASSERT_ADJUST_STACK_ON_LEAVE -syn keyword xsMacro PERL_ARGS_ASSERT_ALLOCMY PERL_ARGS_ASSERT_AMAGIC_CALL -syn keyword xsMacro PERL_ARGS_ASSERT_AMAGIC_CMP +syn keyword xsMacro PERL_ARGS_ASSERT_ADJUST_SIZE_AND_FIND_BUCKET +syn keyword xsMacro PERL_ARGS_ASSERT_ADVANCE_ONE_SB +syn keyword xsMacro PERL_ARGS_ASSERT_ADVANCE_ONE_WB +syn keyword xsMacro PERL_ARGS_ASSERT_ALLOCCOPSTASH PERL_ARGS_ASSERT_ALLOCMY +syn keyword xsMacro PERL_ARGS_ASSERT_ALLOC_MAYBE_POPULATE_EXACT +syn keyword xsMacro PERL_ARGS_ASSERT_AMAGIC_CALL PERL_ARGS_ASSERT_AMAGIC_CMP syn keyword xsMacro PERL_ARGS_ASSERT_AMAGIC_CMP_LOCALE syn keyword xsMacro PERL_ARGS_ASSERT_AMAGIC_DEREF_CALL syn keyword xsMacro PERL_ARGS_ASSERT_AMAGIC_I_NCMP syn keyword xsMacro PERL_ARGS_ASSERT_AMAGIC_NCMP syn keyword xsMacro PERL_ARGS_ASSERT_ANONYMISE_CV_MAYBE -syn keyword xsMacro PERL_ARGS_ASSERT_ANY_DUP PERL_ARGS_ASSERT_APPLY -syn keyword xsMacro PERL_ARGS_ASSERT_APPLY_ATTRS +syn keyword xsMacro PERL_ARGS_ASSERT_ANY_DUP +syn keyword xsMacro PERL_ARGS_ASSERT_APPEND_UTF8_FROM_NATIVE_BYTE +syn keyword xsMacro PERL_ARGS_ASSERT_APPLY PERL_ARGS_ASSERT_APPLY_ATTRS syn keyword xsMacro PERL_ARGS_ASSERT_APPLY_ATTRS_MY syn keyword xsMacro PERL_ARGS_ASSERT_APPLY_ATTRS_STRING syn keyword xsMacro PERL_ARGS_ASSERT_ASSERT_UFT8_CACHE_COHERENT @@ -1544,82 +1759,92 @@ syn keyword xsMacro PERL_ARGS_ASSERT_AV_ARYLEN_P PERL_ARGS_ASSERT_AV_CLEAR syn keyword xsMacro PERL_ARGS_ASSERT_AV_CREATE_AND_PUSH syn keyword xsMacro PERL_ARGS_ASSERT_AV_CREATE_AND_UNSHIFT_ONE syn keyword xsMacro PERL_ARGS_ASSERT_AV_DELETE PERL_ARGS_ASSERT_AV_EXISTS -syn keyword xsMacro PERL_ARGS_ASSERT_AV_EXTEND PERL_ARGS_ASSERT_AV_FETCH +syn keyword xsMacro PERL_ARGS_ASSERT_AV_EXTEND +syn keyword xsMacro PERL_ARGS_ASSERT_AV_EXTEND_GUTS PERL_ARGS_ASSERT_AV_FETCH syn keyword xsMacro PERL_ARGS_ASSERT_AV_FILL PERL_ARGS_ASSERT_AV_ITER_P syn keyword xsMacro PERL_ARGS_ASSERT_AV_LEN PERL_ARGS_ASSERT_AV_MAKE syn keyword xsMacro PERL_ARGS_ASSERT_AV_POP PERL_ARGS_ASSERT_AV_PUSH syn keyword xsMacro PERL_ARGS_ASSERT_AV_REIFY PERL_ARGS_ASSERT_AV_SHIFT -syn keyword xsMacro PERL_ARGS_ASSERT_AV_STORE PERL_ARGS_ASSERT_AV_UNDEF -syn keyword xsMacro PERL_ARGS_ASSERT_AV_UNSHIFT PERL_ARGS_ASSERT_BAD_TYPE_PV -syn keyword xsMacro PERL_ARGS_ASSERT_BAD_TYPE_SV PERL_ARGS_ASSERT_BIND_MATCH +syn keyword xsMacro PERL_ARGS_ASSERT_AV_STORE PERL_ARGS_ASSERT_AV_TOP_INDEX +syn keyword xsMacro PERL_ARGS_ASSERT_AV_UNDEF PERL_ARGS_ASSERT_AV_UNSHIFT +syn keyword xsMacro PERL_ARGS_ASSERT_BACKUP_ONE_SB +syn keyword xsMacro PERL_ARGS_ASSERT_BACKUP_ONE_WB +syn keyword xsMacro PERL_ARGS_ASSERT_BAD_TYPE_GV PERL_ARGS_ASSERT_BAD_TYPE_PV +syn keyword xsMacro PERL_ARGS_ASSERT_BIND_MATCH syn keyword xsMacro PERL_ARGS_ASSERT_BLOCKHOOK_REGISTER syn keyword xsMacro PERL_ARGS_ASSERT_BYTES_CMP_UTF8 syn keyword xsMacro PERL_ARGS_ASSERT_BYTES_FROM_UTF8 -syn keyword xsMacro PERL_ARGS_ASSERT_BYTES_TO_UNI syn keyword xsMacro PERL_ARGS_ASSERT_BYTES_TO_UTF8 PERL_ARGS_ASSERT_CALL_ARGV syn keyword xsMacro PERL_ARGS_ASSERT_CALL_LIST PERL_ARGS_ASSERT_CALL_METHOD syn keyword xsMacro PERL_ARGS_ASSERT_CALL_PV PERL_ARGS_ASSERT_CALL_SV syn keyword xsMacro PERL_ARGS_ASSERT_CANDO PERL_ARGS_ASSERT_CHECKCOMMA -syn keyword xsMacro PERL_ARGS_ASSERT_CHECKPOSIXCC syn keyword xsMacro PERL_ARGS_ASSERT_CHECK_LOCALE_BOUNDARY_CROSSING syn keyword xsMacro PERL_ARGS_ASSERT_CHECK_TYPE_AND_OPEN syn keyword xsMacro PERL_ARGS_ASSERT_CHECK_UTF8_PRINT -syn keyword xsMacro PERL_ARGS_ASSERT_CK_ANONCODE PERL_ARGS_ASSERT_CK_BITOP -syn keyword xsMacro PERL_ARGS_ASSERT_CK_CHDIR PERL_ARGS_ASSERT_CK_CMP +syn keyword xsMacro PERL_ARGS_ASSERT_CK_ANONCODE PERL_ARGS_ASSERT_CK_BACKTICK +syn keyword xsMacro PERL_ARGS_ASSERT_CK_BITOP PERL_ARGS_ASSERT_CK_CMP syn keyword xsMacro PERL_ARGS_ASSERT_CK_CONCAT PERL_ARGS_ASSERT_CK_DEFINED -syn keyword xsMacro PERL_ARGS_ASSERT_CK_DELETE PERL_ARGS_ASSERT_CK_DIE -syn keyword xsMacro PERL_ARGS_ASSERT_CK_EACH +syn keyword xsMacro PERL_ARGS_ASSERT_CK_DELETE PERL_ARGS_ASSERT_CK_EACH syn keyword xsMacro PERL_ARGS_ASSERT_CK_ENTERSUB_ARGS_CORE syn keyword xsMacro PERL_ARGS_ASSERT_CK_ENTERSUB_ARGS_LIST syn keyword xsMacro PERL_ARGS_ASSERT_CK_ENTERSUB_ARGS_PROTO syn keyword xsMacro PERL_ARGS_ASSERT_CK_ENTERSUB_ARGS_PROTO_OR_LIST syn keyword xsMacro PERL_ARGS_ASSERT_CK_EOF PERL_ARGS_ASSERT_CK_EVAL syn keyword xsMacro PERL_ARGS_ASSERT_CK_EXEC PERL_ARGS_ASSERT_CK_EXISTS -syn keyword xsMacro PERL_ARGS_ASSERT_CK_EXIT PERL_ARGS_ASSERT_CK_FTST -syn keyword xsMacro PERL_ARGS_ASSERT_CK_FUN PERL_ARGS_ASSERT_CK_GLOB -syn keyword xsMacro PERL_ARGS_ASSERT_CK_GREP PERL_ARGS_ASSERT_CK_INDEX -syn keyword xsMacro PERL_ARGS_ASSERT_CK_JOIN PERL_ARGS_ASSERT_CK_LENGTH -syn keyword xsMacro PERL_ARGS_ASSERT_CK_LFUN PERL_ARGS_ASSERT_CK_LISTIOB -syn keyword xsMacro PERL_ARGS_ASSERT_CK_MATCH PERL_ARGS_ASSERT_CK_METHOD -syn keyword xsMacro PERL_ARGS_ASSERT_CK_NULL PERL_ARGS_ASSERT_CK_OPEN -syn keyword xsMacro PERL_ARGS_ASSERT_CK_READLINE PERL_ARGS_ASSERT_CK_REPEAT +syn keyword xsMacro PERL_ARGS_ASSERT_CK_FTST PERL_ARGS_ASSERT_CK_FUN +syn keyword xsMacro PERL_ARGS_ASSERT_CK_GLOB PERL_ARGS_ASSERT_CK_GREP +syn keyword xsMacro PERL_ARGS_ASSERT_CK_INDEX PERL_ARGS_ASSERT_CK_JOIN +syn keyword xsMacro PERL_ARGS_ASSERT_CK_LENGTH PERL_ARGS_ASSERT_CK_LFUN +syn keyword xsMacro PERL_ARGS_ASSERT_CK_LISTIOB PERL_ARGS_ASSERT_CK_MATCH +syn keyword xsMacro PERL_ARGS_ASSERT_CK_METHOD PERL_ARGS_ASSERT_CK_NULL +syn keyword xsMacro PERL_ARGS_ASSERT_CK_OPEN PERL_ARGS_ASSERT_CK_PROTOTYPE +syn keyword xsMacro PERL_ARGS_ASSERT_CK_READLINE +syn keyword xsMacro PERL_ARGS_ASSERT_CK_REFASSIGN PERL_ARGS_ASSERT_CK_REPEAT syn keyword xsMacro PERL_ARGS_ASSERT_CK_REQUIRE PERL_ARGS_ASSERT_CK_RETURN syn keyword xsMacro PERL_ARGS_ASSERT_CK_RFUN PERL_ARGS_ASSERT_CK_RVCONST syn keyword xsMacro PERL_ARGS_ASSERT_CK_SASSIGN PERL_ARGS_ASSERT_CK_SELECT syn keyword xsMacro PERL_ARGS_ASSERT_CK_SHIFT PERL_ARGS_ASSERT_CK_SMARTMATCH syn keyword xsMacro PERL_ARGS_ASSERT_CK_SORT PERL_ARGS_ASSERT_CK_SPAIR -syn keyword xsMacro PERL_ARGS_ASSERT_CK_SPLIT PERL_ARGS_ASSERT_CK_SUBR -syn keyword xsMacro PERL_ARGS_ASSERT_CK_SUBSTR PERL_ARGS_ASSERT_CK_SVCONST -syn keyword xsMacro PERL_ARGS_ASSERT_CK_TELL PERL_ARGS_ASSERT_CK_TRUNC -syn keyword xsMacro PERL_ARGS_ASSERT_CK_WARNER PERL_ARGS_ASSERT_CK_WARNER_D +syn keyword xsMacro PERL_ARGS_ASSERT_CK_SPLIT PERL_ARGS_ASSERT_CK_STRINGIFY +syn keyword xsMacro PERL_ARGS_ASSERT_CK_SUBR PERL_ARGS_ASSERT_CK_SUBSTR +syn keyword xsMacro PERL_ARGS_ASSERT_CK_SVCONST PERL_ARGS_ASSERT_CK_TELL +syn keyword xsMacro PERL_ARGS_ASSERT_CK_TRUNC PERL_ARGS_ASSERT_CK_WARNER +syn keyword xsMacro PERL_ARGS_ASSERT_CK_WARNER_D syn keyword xsMacro PERL_ARGS_ASSERT_CLEAR_PLACEHOLDERS +syn keyword xsMacro PERL_ARGS_ASSERT_CLEAR_SPECIAL_BLOCKS syn keyword xsMacro PERL_ARGS_ASSERT_CLONE_PARAMS_DEL syn keyword xsMacro PERL_ARGS_ASSERT_CLONE_PARAMS_NEW -syn keyword xsMacro PERL_ARGS_ASSERT_CLOSEST_COP PERL_ARGS_ASSERT_CL_AND -syn keyword xsMacro PERL_ARGS_ASSERT_CL_ANYTHING PERL_ARGS_ASSERT_CL_INIT -syn keyword xsMacro PERL_ARGS_ASSERT_CL_IS_ANYTHING PERL_ARGS_ASSERT_CL_OR +syn keyword xsMacro PERL_ARGS_ASSERT_CLOSEST_COP +syn keyword xsMacro PERL_ARGS_ASSERT_COMPUTE_EXACTISH +syn keyword xsMacro PERL_ARGS_ASSERT_CONSTRUCT_AHOCORASICK_FROM_TRIE syn keyword xsMacro PERL_ARGS_ASSERT_COP_FETCH_LABEL syn keyword xsMacro PERL_ARGS_ASSERT_COP_FREE syn keyword xsMacro PERL_ARGS_ASSERT_COP_STORE_LABEL syn keyword xsMacro PERL_ARGS_ASSERT_CORESUB_OP syn keyword xsMacro PERL_ARGS_ASSERT_CORE_PROTOTYPE -syn keyword xsMacro PERL_ARGS_ASSERT_CORE_REGCLASS_SWASH +syn keyword xsMacro PERL_ARGS_ASSERT_COULD_IT_BE_A_POSIX_CLASS syn keyword xsMacro PERL_ARGS_ASSERT_CROAK_SV PERL_ARGS_ASSERT_CROAK_XS_USAGE syn keyword xsMacro PERL_ARGS_ASSERT_CURSE PERL_ARGS_ASSERT_CUSTOM_OP_DESC +syn keyword xsMacro PERL_ARGS_ASSERT_CUSTOM_OP_GET_FIELD syn keyword xsMacro PERL_ARGS_ASSERT_CUSTOM_OP_NAME syn keyword xsMacro PERL_ARGS_ASSERT_CUSTOM_OP_REGISTER -syn keyword xsMacro PERL_ARGS_ASSERT_CUSTOM_OP_XOP PERL_ARGS_ASSERT_CVGV_SET +syn keyword xsMacro PERL_ARGS_ASSERT_CVGV_FROM_HEK PERL_ARGS_ASSERT_CVGV_SET syn keyword xsMacro PERL_ARGS_ASSERT_CVSTASH_SET syn keyword xsMacro PERL_ARGS_ASSERT_CV_CKPROTO_LEN_FLAGS -syn keyword xsMacro PERL_ARGS_ASSERT_CV_CLONE PERL_ARGS_ASSERT_CV_DUMP +syn keyword xsMacro PERL_ARGS_ASSERT_CV_CLONE PERL_ARGS_ASSERT_CV_CLONE_INTO +syn keyword xsMacro PERL_ARGS_ASSERT_CV_DUMP syn keyword xsMacro PERL_ARGS_ASSERT_CV_GET_CALL_CHECKER +syn keyword xsMacro PERL_ARGS_ASSERT_CV_NAME syn keyword xsMacro PERL_ARGS_ASSERT_CV_SET_CALL_CHECKER -syn keyword xsMacro PERL_ARGS_ASSERT_CV_UNDEF PERL_ARGS_ASSERT_CX_DUMP -syn keyword xsMacro PERL_ARGS_ASSERT_CX_DUP PERL_ARGS_ASSERT_DEB -syn keyword xsMacro PERL_ARGS_ASSERT_DEBOP PERL_ARGS_ASSERT_DEBPROF +syn keyword xsMacro PERL_ARGS_ASSERT_CV_SET_CALL_CHECKER_FLAGS +syn keyword xsMacro PERL_ARGS_ASSERT_CV_UNDEF PERL_ARGS_ASSERT_CV_UNDEF_FLAGS +syn keyword xsMacro PERL_ARGS_ASSERT_CX_DUMP PERL_ARGS_ASSERT_CX_DUP +syn keyword xsMacro PERL_ARGS_ASSERT_DEB PERL_ARGS_ASSERT_DEBOP +syn keyword xsMacro PERL_ARGS_ASSERT_DEBPROF syn keyword xsMacro PERL_ARGS_ASSERT_DEBUG_START_MATCH syn keyword xsMacro PERL_ARGS_ASSERT_DEB_NOCONTEXT -syn keyword xsMacro PERL_ARGS_ASSERT_DEB_STACK_N PERL_ARGS_ASSERT_DELIMCPY +syn keyword xsMacro PERL_ARGS_ASSERT_DEB_STACK_N +syn keyword xsMacro PERL_ARGS_ASSERT_DEFELEM_TARGET PERL_ARGS_ASSERT_DELIMCPY syn keyword xsMacro PERL_ARGS_ASSERT_DEL_SV PERL_ARGS_ASSERT_DESTROY_MATCHER syn keyword xsMacro PERL_ARGS_ASSERT_DIE_SV PERL_ARGS_ASSERT_DIE_UNWIND syn keyword xsMacro PERL_ARGS_ASSERT_DIRP_DUP PERL_ARGS_ASSERT_DIV128 @@ -1638,13 +1863,12 @@ syn keyword xsMacro PERL_ARGS_ASSERT_DO_IPCCTL PERL_ARGS_ASSERT_DO_IPCGET syn keyword xsMacro PERL_ARGS_ASSERT_DO_JOIN PERL_ARGS_ASSERT_DO_MAGIC_DUMP syn keyword xsMacro PERL_ARGS_ASSERT_DO_MSGRCV PERL_ARGS_ASSERT_DO_MSGSND syn keyword xsMacro PERL_ARGS_ASSERT_DO_NCMP PERL_ARGS_ASSERT_DO_ODDBALL -syn keyword xsMacro PERL_ARGS_ASSERT_DO_OPEN PERL_ARGS_ASSERT_DO_OPEN9 -syn keyword xsMacro PERL_ARGS_ASSERT_DO_OPENN PERL_ARGS_ASSERT_DO_OP_DUMP -syn keyword xsMacro PERL_ARGS_ASSERT_DO_OP_XMLDUMP -syn keyword xsMacro PERL_ARGS_ASSERT_DO_PMOP_DUMP -syn keyword xsMacro PERL_ARGS_ASSERT_DO_PMOP_XMLDUMP -syn keyword xsMacro PERL_ARGS_ASSERT_DO_PRINT PERL_ARGS_ASSERT_DO_SEMOP -syn keyword xsMacro PERL_ARGS_ASSERT_DO_SHMIO PERL_ARGS_ASSERT_DO_SPAWN +syn keyword xsMacro PERL_ARGS_ASSERT_DO_OPEN PERL_ARGS_ASSERT_DO_OPEN6 +syn keyword xsMacro PERL_ARGS_ASSERT_DO_OPEN9 PERL_ARGS_ASSERT_DO_OPENN +syn keyword xsMacro PERL_ARGS_ASSERT_DO_OPEN_RAW PERL_ARGS_ASSERT_DO_OP_DUMP +syn keyword xsMacro PERL_ARGS_ASSERT_DO_PMOP_DUMP PERL_ARGS_ASSERT_DO_PRINT +syn keyword xsMacro PERL_ARGS_ASSERT_DO_SEMOP PERL_ARGS_ASSERT_DO_SHMIO +syn keyword xsMacro PERL_ARGS_ASSERT_DO_SPAWN syn keyword xsMacro PERL_ARGS_ASSERT_DO_SPAWN_NOWAIT syn keyword xsMacro PERL_ARGS_ASSERT_DO_SPRINTF PERL_ARGS_ASSERT_DO_SV_DUMP syn keyword xsMacro PERL_ARGS_ASSERT_DO_SYSSEEK PERL_ARGS_ASSERT_DO_TELL @@ -1656,10 +1880,11 @@ syn keyword xsMacro PERL_ARGS_ASSERT_DO_TRANS_COUNT_UTF8 syn keyword xsMacro PERL_ARGS_ASSERT_DO_TRANS_SIMPLE syn keyword xsMacro PERL_ARGS_ASSERT_DO_TRANS_SIMPLE_UTF8 syn keyword xsMacro PERL_ARGS_ASSERT_DO_VECGET PERL_ARGS_ASSERT_DO_VECSET -syn keyword xsMacro PERL_ARGS_ASSERT_DO_VOP PERL_ARGS_ASSERT_DUMPUNTIL -syn keyword xsMacro PERL_ARGS_ASSERT_DUMP_EXEC_POS PERL_ARGS_ASSERT_DUMP_FDS -syn keyword xsMacro PERL_ARGS_ASSERT_DUMP_FORM PERL_ARGS_ASSERT_DUMP_INDENT -syn keyword xsMacro PERL_ARGS_ASSERT_DUMP_MSTATS +syn keyword xsMacro PERL_ARGS_ASSERT_DO_VOP PERL_ARGS_ASSERT_DRAND48_INIT_R +syn keyword xsMacro PERL_ARGS_ASSERT_DRAND48_R PERL_ARGS_ASSERT_DUMPUNTIL +syn keyword xsMacro PERL_ARGS_ASSERT_DUMP_C_BACKTRACE +syn keyword xsMacro PERL_ARGS_ASSERT_DUMP_EXEC_POS PERL_ARGS_ASSERT_DUMP_FORM +syn keyword xsMacro PERL_ARGS_ASSERT_DUMP_INDENT PERL_ARGS_ASSERT_DUMP_MSTATS syn keyword xsMacro PERL_ARGS_ASSERT_DUMP_PACKSUBS syn keyword xsMacro PERL_ARGS_ASSERT_DUMP_PACKSUBS_PERL syn keyword xsMacro PERL_ARGS_ASSERT_DUMP_SUB PERL_ARGS_ASSERT_DUMP_SUB_PERL @@ -1680,12 +1905,15 @@ syn keyword xsMacro PERL_ARGS_ASSERT_FIND_AND_FORGET_PMOPS syn keyword xsMacro PERL_ARGS_ASSERT_FIND_ARRAY_SUBSCRIPT syn keyword xsMacro PERL_ARGS_ASSERT_FIND_BEGINNING syn keyword xsMacro PERL_ARGS_ASSERT_FIND_BYCLASS +syn keyword xsMacro PERL_ARGS_ASSERT_FIND_DEFAULT_STASH syn keyword xsMacro PERL_ARGS_ASSERT_FIND_HASH_SUBSCRIPT syn keyword xsMacro PERL_ARGS_ASSERT_FIND_IN_MY_STASH syn keyword xsMacro PERL_ARGS_ASSERT_FIND_RUNDEFSV2 syn keyword xsMacro PERL_ARGS_ASSERT_FIND_SCRIPT -syn keyword xsMacro PERL_ARGS_ASSERT_FIRST_SYMBOL PERL_ARGS_ASSERT_FOLDEQ -syn keyword xsMacro PERL_ARGS_ASSERT_FOLDEQ_LATIN1 +syn keyword xsMacro PERL_ARGS_ASSERT_FIND_UNINIT_VAR +syn keyword xsMacro PERL_ARGS_ASSERT_FIRST_SYMBOL +syn keyword xsMacro PERL_ARGS_ASSERT_FIXUP_ERRNO_STRING +syn keyword xsMacro PERL_ARGS_ASSERT_FOLDEQ PERL_ARGS_ASSERT_FOLDEQ_LATIN1 syn keyword xsMacro PERL_ARGS_ASSERT_FOLDEQ_LOCALE syn keyword xsMacro PERL_ARGS_ASSERT_FOLDEQ_UTF8_FLAGS syn keyword xsMacro PERL_ARGS_ASSERT_FOLD_CONSTANTS @@ -1694,34 +1922,40 @@ syn keyword xsMacro PERL_ARGS_ASSERT_FORCE_STRICT_VERSION syn keyword xsMacro PERL_ARGS_ASSERT_FORCE_VERSION syn keyword xsMacro PERL_ARGS_ASSERT_FORCE_WORD PERL_ARGS_ASSERT_FORGET_PMOP syn keyword xsMacro PERL_ARGS_ASSERT_FORM PERL_ARGS_ASSERT_FORM_NOCONTEXT +syn keyword xsMacro PERL_ARGS_ASSERT_FORM_SHORT_OCTAL_WARNING syn keyword xsMacro PERL_ARGS_ASSERT_FPRINTF_NOCONTEXT syn keyword xsMacro PERL_ARGS_ASSERT_FP_DUP syn keyword xsMacro PERL_ARGS_ASSERT_FREE_GLOBAL_STRUCT syn keyword xsMacro PERL_ARGS_ASSERT_GETCWD_SV PERL_ARGS_ASSERT_GETENV_LEN +syn keyword xsMacro PERL_ARGS_ASSERT_GET_AND_CHECK_BACKSLASH_N_NAME +syn keyword xsMacro PERL_ARGS_ASSERT_GET_ANYOF_CP_LIST_FOR_SSC syn keyword xsMacro PERL_ARGS_ASSERT_GET_AUX_MG PERL_ARGS_ASSERT_GET_AV syn keyword xsMacro PERL_ARGS_ASSERT_GET_CV PERL_ARGS_ASSERT_GET_CVN_FLAGS syn keyword xsMacro PERL_ARGS_ASSERT_GET_DB_SUB -syn keyword xsMacro PERL_ARGS_ASSERT_GET_DEBUG_OPTS PERL_ARGS_ASSERT_GET_HV +syn keyword xsMacro PERL_ARGS_ASSERT_GET_DEBUG_OPTS +syn keyword xsMacro PERL_ARGS_ASSERT_GET_HASH_SEED PERL_ARGS_ASSERT_GET_HV syn keyword xsMacro PERL_ARGS_ASSERT_GET_INVLIST_ITER_ADDR -syn keyword xsMacro PERL_ARGS_ASSERT_GET_INVLIST_LEN_ADDR -syn keyword xsMacro PERL_ARGS_ASSERT_GET_INVLIST_VERSION_ID_ADDR -syn keyword xsMacro PERL_ARGS_ASSERT_GET_INVLIST_ZERO_ADDR +syn keyword xsMacro PERL_ARGS_ASSERT_GET_INVLIST_OFFSET_ADDR +syn keyword xsMacro PERL_ARGS_ASSERT_GET_INVLIST_PREVIOUS_INDEX_ADDR syn keyword xsMacro PERL_ARGS_ASSERT_GET_MSTATS PERL_ARGS_ASSERT_GET_NUM syn keyword xsMacro PERL_ARGS_ASSERT_GET_SV PERL_ARGS_ASSERT_GLOB_2NUMBER -syn keyword xsMacro PERL_ARGS_ASSERT_GLOB_ASSIGN_GLOB -syn keyword xsMacro PERL_ARGS_ASSERT_GLOB_ASSIGN_REF PERL_ARGS_ASSERT_GP_DUP -syn keyword xsMacro PERL_ARGS_ASSERT_GROK_BIN PERL_ARGS_ASSERT_GROK_BSLASH_O -syn keyword xsMacro PERL_ARGS_ASSERT_GROK_HEX PERL_ARGS_ASSERT_GROK_NUMBER +syn keyword xsMacro PERL_ARGS_ASSERT_GLOB_ASSIGN_GLOB PERL_ARGS_ASSERT_GP_DUP +syn keyword xsMacro PERL_ARGS_ASSERT_GROK_ATOUV PERL_ARGS_ASSERT_GROK_BIN +syn keyword xsMacro PERL_ARGS_ASSERT_GROK_BSLASH_N +syn keyword xsMacro PERL_ARGS_ASSERT_GROK_BSLASH_O +syn keyword xsMacro PERL_ARGS_ASSERT_GROK_BSLASH_X PERL_ARGS_ASSERT_GROK_HEX +syn keyword xsMacro PERL_ARGS_ASSERT_GROK_INFNAN PERL_ARGS_ASSERT_GROK_NUMBER +syn keyword xsMacro PERL_ARGS_ASSERT_GROK_NUMBER_FLAGS syn keyword xsMacro PERL_ARGS_ASSERT_GROK_NUMERIC_RADIX syn keyword xsMacro PERL_ARGS_ASSERT_GROK_OCT PERL_ARGS_ASSERT_GROUP_END syn keyword xsMacro PERL_ARGS_ASSERT_GV_AMUPDATE syn keyword xsMacro PERL_ARGS_ASSERT_GV_AUTOLOAD_PV syn keyword xsMacro PERL_ARGS_ASSERT_GV_AUTOLOAD_PVN syn keyword xsMacro PERL_ARGS_ASSERT_GV_AUTOLOAD_SV PERL_ARGS_ASSERT_GV_CHECK -syn keyword xsMacro PERL_ARGS_ASSERT_GV_CONST_SV PERL_ARGS_ASSERT_GV_DUMP +syn keyword xsMacro PERL_ARGS_ASSERT_GV_CONST_SV syn keyword xsMacro PERL_ARGS_ASSERT_GV_EFULLNAME syn keyword xsMacro PERL_ARGS_ASSERT_GV_EFULLNAME3 -syn keyword xsMacro PERL_ARGS_ASSERT_GV_EFULLNAME4 PERL_ARGS_ASSERT_GV_ENAME +syn keyword xsMacro PERL_ARGS_ASSERT_GV_EFULLNAME4 syn keyword xsMacro PERL_ARGS_ASSERT_GV_FETCHFILE syn keyword xsMacro PERL_ARGS_ASSERT_GV_FETCHFILE_FLAGS syn keyword xsMacro PERL_ARGS_ASSERT_GV_FETCHMETHOD @@ -1739,20 +1973,24 @@ syn keyword xsMacro PERL_ARGS_ASSERT_GV_FETCHPV syn keyword xsMacro PERL_ARGS_ASSERT_GV_FETCHPVN_FLAGS syn keyword xsMacro PERL_ARGS_ASSERT_GV_FETCHSV PERL_ARGS_ASSERT_GV_FULLNAME syn keyword xsMacro PERL_ARGS_ASSERT_GV_FULLNAME3 -syn keyword xsMacro PERL_ARGS_ASSERT_GV_FULLNAME4 -syn keyword xsMacro PERL_ARGS_ASSERT_GV_GET_SUPER_PKG -syn keyword xsMacro PERL_ARGS_ASSERT_GV_INIT_PV PERL_ARGS_ASSERT_GV_INIT_PVN -syn keyword xsMacro PERL_ARGS_ASSERT_GV_INIT_SV +syn keyword xsMacro PERL_ARGS_ASSERT_GV_FULLNAME4 PERL_ARGS_ASSERT_GV_INIT_PV +syn keyword xsMacro PERL_ARGS_ASSERT_GV_INIT_PVN PERL_ARGS_ASSERT_GV_INIT_SV syn keyword xsMacro PERL_ARGS_ASSERT_GV_INIT_SVTYPE +syn keyword xsMacro PERL_ARGS_ASSERT_GV_IS_IN_MAIN +syn keyword xsMacro PERL_ARGS_ASSERT_GV_MAGICALIZE syn keyword xsMacro PERL_ARGS_ASSERT_GV_MAGICALIZE_ISA -syn keyword xsMacro PERL_ARGS_ASSERT_GV_MAGICALIZE_OVERLOAD -syn keyword xsMacro PERL_ARGS_ASSERT_GV_NAME_SET PERL_ARGS_ASSERT_GV_STASHPV -syn keyword xsMacro PERL_ARGS_ASSERT_GV_STASHPVN PERL_ARGS_ASSERT_GV_STASHSV +syn keyword xsMacro PERL_ARGS_ASSERT_GV_NAME_SET PERL_ARGS_ASSERT_GV_OVERRIDE +syn keyword xsMacro PERL_ARGS_ASSERT_GV_SETREF PERL_ARGS_ASSERT_GV_STASHPV +syn keyword xsMacro PERL_ARGS_ASSERT_GV_STASHPVN +syn keyword xsMacro PERL_ARGS_ASSERT_GV_STASHPVN_INTERNAL +syn keyword xsMacro PERL_ARGS_ASSERT_GV_STASHSV syn keyword xsMacro PERL_ARGS_ASSERT_GV_TRY_DOWNGRADE +syn keyword xsMacro PERL_ARGS_ASSERT_HANDLE_REGEX_SETS syn keyword xsMacro PERL_ARGS_ASSERT_HEK_DUP PERL_ARGS_ASSERT_HE_DUP syn keyword xsMacro PERL_ARGS_ASSERT_HFREEENTRIES syn keyword xsMacro PERL_ARGS_ASSERT_HFREE_NEXT_ENTRY PERL_ARGS_ASSERT_HSPLIT syn keyword xsMacro PERL_ARGS_ASSERT_HV_ASSERT PERL_ARGS_ASSERT_HV_AUXINIT +syn keyword xsMacro PERL_ARGS_ASSERT_HV_AUXINIT_INTERNAL syn keyword xsMacro PERL_ARGS_ASSERT_HV_BACKREFERENCES_P syn keyword xsMacro PERL_ARGS_ASSERT_HV_CLEAR_PLACEHOLDERS syn keyword xsMacro PERL_ARGS_ASSERT_HV_COMMON_KEY_LEN @@ -1779,9 +2017,9 @@ syn keyword xsMacro PERL_ARGS_ASSERT_HV_NOTALLOWED syn keyword xsMacro PERL_ARGS_ASSERT_HV_PLACEHOLDERS_GET syn keyword xsMacro PERL_ARGS_ASSERT_HV_PLACEHOLDERS_P syn keyword xsMacro PERL_ARGS_ASSERT_HV_PLACEHOLDERS_SET -syn keyword xsMacro PERL_ARGS_ASSERT_HV_RITER_P PERL_ARGS_ASSERT_HV_RITER_SET -syn keyword xsMacro PERL_ARGS_ASSERT_HV_SCALAR PERL_ARGS_ASSERT_INCLINE -syn keyword xsMacro PERL_ARGS_ASSERT_INCPUSH +syn keyword xsMacro PERL_ARGS_ASSERT_HV_RAND_SET PERL_ARGS_ASSERT_HV_RITER_P +syn keyword xsMacro PERL_ARGS_ASSERT_HV_RITER_SET PERL_ARGS_ASSERT_HV_SCALAR +syn keyword xsMacro PERL_ARGS_ASSERT_INCLINE PERL_ARGS_ASSERT_INCPUSH syn keyword xsMacro PERL_ARGS_ASSERT_INCPUSH_IF_EXISTS syn keyword xsMacro PERL_ARGS_ASSERT_INCPUSH_USE_SEP syn keyword xsMacro PERL_ARGS_ASSERT_INIT_ARGV_SYMBOLS @@ -1792,21 +2030,32 @@ syn keyword xsMacro PERL_ARGS_ASSERT_INTUIT_MORE syn keyword xsMacro PERL_ARGS_ASSERT_INVLIST_ARRAY syn keyword xsMacro PERL_ARGS_ASSERT_INVLIST_CLONE syn keyword xsMacro PERL_ARGS_ASSERT_INVLIST_EXTEND +syn keyword xsMacro PERL_ARGS_ASSERT_INVLIST_HIGHEST +syn keyword xsMacro PERL_ARGS_ASSERT_INVLIST_IS_ITERATING +syn keyword xsMacro PERL_ARGS_ASSERT_INVLIST_ITERFINISH syn keyword xsMacro PERL_ARGS_ASSERT_INVLIST_ITERINIT syn keyword xsMacro PERL_ARGS_ASSERT_INVLIST_ITERNEXT -syn keyword xsMacro PERL_ARGS_ASSERT_INVLIST_LEN PERL_ARGS_ASSERT_INVLIST_MAX -syn keyword xsMacro PERL_ARGS_ASSERT_INVLIST_SEARCH +syn keyword xsMacro PERL_ARGS_ASSERT_INVLIST_MAX +syn keyword xsMacro PERL_ARGS_ASSERT_INVLIST_PREVIOUS_INDEX syn keyword xsMacro PERL_ARGS_ASSERT_INVLIST_SET_LEN +syn keyword xsMacro PERL_ARGS_ASSERT_INVLIST_SET_PREVIOUS_INDEX syn keyword xsMacro PERL_ARGS_ASSERT_INVLIST_TRIM PERL_ARGS_ASSERT_IO_CLOSE -syn keyword xsMacro PERL_ARGS_ASSERT_ISA_LOOKUP PERL_ARGS_ASSERT_IS_AN_INT -syn keyword xsMacro PERL_ARGS_ASSERT_IS_ASCII_STRING +syn keyword xsMacro PERL_ARGS_ASSERT_ISALNUM_LAZY PERL_ARGS_ASSERT_ISA_LOOKUP +syn keyword xsMacro PERL_ARGS_ASSERT_ISFOO_UTF8_LC +syn keyword xsMacro PERL_ARGS_ASSERT_ISIDFIRST_LAZY +syn keyword xsMacro PERL_ARGS_ASSERT_ISINFNANSV PERL_ARGS_ASSERT_ISSB +syn keyword xsMacro PERL_ARGS_ASSERT_ISWB PERL_ARGS_ASSERT_IS_AN_INT syn keyword xsMacro PERL_ARGS_ASSERT_IS_HANDLE_CONSTRUCTOR +syn keyword xsMacro PERL_ARGS_ASSERT_IS_INVARIANT_STRING +syn keyword xsMacro PERL_ARGS_ASSERT_IS_SAFE_SYSCALL +syn keyword xsMacro PERL_ARGS_ASSERT_IS_SSC_WORTH_IT syn keyword xsMacro PERL_ARGS_ASSERT_IS_UTF8_ALNUM +syn keyword xsMacro PERL_ARGS_ASSERT_IS_UTF8_ALNUMC syn keyword xsMacro PERL_ARGS_ASSERT_IS_UTF8_ALPHA syn keyword xsMacro PERL_ARGS_ASSERT_IS_UTF8_ASCII +syn keyword xsMacro PERL_ARGS_ASSERT_IS_UTF8_BLANK syn keyword xsMacro PERL_ARGS_ASSERT_IS_UTF8_CHAR syn keyword xsMacro PERL_ARGS_ASSERT_IS_UTF8_CHAR_BUF -syn keyword xsMacro PERL_ARGS_ASSERT_IS_UTF8_CHAR_SLOW syn keyword xsMacro PERL_ARGS_ASSERT_IS_UTF8_CNTRL syn keyword xsMacro PERL_ARGS_ASSERT_IS_UTF8_COMMON syn keyword xsMacro PERL_ARGS_ASSERT_IS_UTF8_DIGIT @@ -1827,19 +2076,10 @@ syn keyword xsMacro PERL_ARGS_ASSERT_IS_UTF8_STRING_LOCLEN syn keyword xsMacro PERL_ARGS_ASSERT_IS_UTF8_UPPER syn keyword xsMacro PERL_ARGS_ASSERT_IS_UTF8_XDIGIT syn keyword xsMacro PERL_ARGS_ASSERT_IS_UTF8_XIDCONT -syn keyword xsMacro PERL_ARGS_ASSERT_IS_UTF8_XIDFIRST -syn keyword xsMacro PERL_ARGS_ASSERT_IS_UTF8_X_BEGIN -syn keyword xsMacro PERL_ARGS_ASSERT_IS_UTF8_X_EXTEND -syn keyword xsMacro PERL_ARGS_ASSERT_IS_UTF8_X_L -syn keyword xsMacro PERL_ARGS_ASSERT_IS_UTF8_X_LV -syn keyword xsMacro PERL_ARGS_ASSERT_IS_UTF8_X_LVT -syn keyword xsMacro PERL_ARGS_ASSERT_IS_UTF8_X_LV_LVT_V -syn keyword xsMacro PERL_ARGS_ASSERT_IS_UTF8_X_NON_HANGUL -syn keyword xsMacro PERL_ARGS_ASSERT_IS_UTF8_X_PREPEND -syn keyword xsMacro PERL_ARGS_ASSERT_IS_UTF8_X_T PERL_ARGS_ASSERT_IS_UTF8_X_V -syn keyword xsMacro PERL_ARGS_ASSERT_JMAYBE PERL_ARGS_ASSERT_JOIN_EXACT -syn keyword xsMacro PERL_ARGS_ASSERT_KEYWORD +syn keyword xsMacro PERL_ARGS_ASSERT_IS_UTF8_XIDFIRST PERL_ARGS_ASSERT_JMAYBE +syn keyword xsMacro PERL_ARGS_ASSERT_JOIN_EXACT PERL_ARGS_ASSERT_KEYWORD syn keyword xsMacro PERL_ARGS_ASSERT_KEYWORD_PLUGIN_STANDARD +syn keyword xsMacro PERL_ARGS_ASSERT_LEAVE_COMMON syn keyword xsMacro PERL_ARGS_ASSERT_LEX_DISCARD_TO syn keyword xsMacro PERL_ARGS_ASSERT_LEX_READ_TO syn keyword xsMacro PERL_ARGS_ASSERT_LEX_STUFF_PV @@ -1850,6 +2090,7 @@ syn keyword xsMacro PERL_ARGS_ASSERT_LOAD_MODULE_NOCONTEXT syn keyword xsMacro PERL_ARGS_ASSERT_LOCALIZE syn keyword xsMacro PERL_ARGS_ASSERT_LOOKS_LIKE_BOOL syn keyword xsMacro PERL_ARGS_ASSERT_LOOKS_LIKE_NUMBER PERL_ARGS_ASSERT_LOP +syn keyword xsMacro PERL_ARGS_ASSERT_MAGIC_CLEARARYLEN_P syn keyword xsMacro PERL_ARGS_ASSERT_MAGIC_CLEARENV syn keyword xsMacro PERL_ARGS_ASSERT_MAGIC_CLEARHINT syn keyword xsMacro PERL_ARGS_ASSERT_MAGIC_CLEARHINTS @@ -1857,11 +2098,13 @@ syn keyword xsMacro PERL_ARGS_ASSERT_MAGIC_CLEARISA syn keyword xsMacro PERL_ARGS_ASSERT_MAGIC_CLEARPACK syn keyword xsMacro PERL_ARGS_ASSERT_MAGIC_CLEARSIG syn keyword xsMacro PERL_ARGS_ASSERT_MAGIC_CLEAR_ALL_ENV +syn keyword xsMacro PERL_ARGS_ASSERT_MAGIC_COPYCALLCHECKER syn keyword xsMacro PERL_ARGS_ASSERT_MAGIC_EXISTSPACK syn keyword xsMacro PERL_ARGS_ASSERT_MAGIC_FREEARYLEN_P syn keyword xsMacro PERL_ARGS_ASSERT_MAGIC_FREEOVRLD syn keyword xsMacro PERL_ARGS_ASSERT_MAGIC_GET syn keyword xsMacro PERL_ARGS_ASSERT_MAGIC_GETARYLEN +syn keyword xsMacro PERL_ARGS_ASSERT_MAGIC_GETDEBUGVAR syn keyword xsMacro PERL_ARGS_ASSERT_MAGIC_GETDEFELEM syn keyword xsMacro PERL_ARGS_ASSERT_MAGIC_GETNKEYS syn keyword xsMacro PERL_ARGS_ASSERT_MAGIC_GETPACK @@ -1872,7 +2115,6 @@ syn keyword xsMacro PERL_ARGS_ASSERT_MAGIC_GETTAINT syn keyword xsMacro PERL_ARGS_ASSERT_MAGIC_GETUVAR syn keyword xsMacro PERL_ARGS_ASSERT_MAGIC_GETVEC syn keyword xsMacro PERL_ARGS_ASSERT_MAGIC_KILLBACKREFS -syn keyword xsMacro PERL_ARGS_ASSERT_MAGIC_LEN syn keyword xsMacro PERL_ARGS_ASSERT_MAGIC_METHCALL syn keyword xsMacro PERL_ARGS_ASSERT_MAGIC_METHCALL1 syn keyword xsMacro PERL_ARGS_ASSERT_MAGIC_METHPACK @@ -1882,14 +2124,15 @@ syn keyword xsMacro PERL_ARGS_ASSERT_MAGIC_REGDATUM_GET syn keyword xsMacro PERL_ARGS_ASSERT_MAGIC_REGDATUM_SET syn keyword xsMacro PERL_ARGS_ASSERT_MAGIC_SCALARPACK syn keyword xsMacro PERL_ARGS_ASSERT_MAGIC_SET -syn keyword xsMacro PERL_ARGS_ASSERT_MAGIC_SETAMAGIC syn keyword xsMacro PERL_ARGS_ASSERT_MAGIC_SETARYLEN syn keyword xsMacro PERL_ARGS_ASSERT_MAGIC_SETCOLLXFRM syn keyword xsMacro PERL_ARGS_ASSERT_MAGIC_SETDBLINE +syn keyword xsMacro PERL_ARGS_ASSERT_MAGIC_SETDEBUGVAR syn keyword xsMacro PERL_ARGS_ASSERT_MAGIC_SETDEFELEM syn keyword xsMacro PERL_ARGS_ASSERT_MAGIC_SETENV syn keyword xsMacro PERL_ARGS_ASSERT_MAGIC_SETHINT syn keyword xsMacro PERL_ARGS_ASSERT_MAGIC_SETISA +syn keyword xsMacro PERL_ARGS_ASSERT_MAGIC_SETLVREF syn keyword xsMacro PERL_ARGS_ASSERT_MAGIC_SETMGLOB syn keyword xsMacro PERL_ARGS_ASSERT_MAGIC_SETNKEYS syn keyword xsMacro PERL_ARGS_ASSERT_MAGIC_SETPACK @@ -1901,27 +2144,27 @@ syn keyword xsMacro PERL_ARGS_ASSERT_MAGIC_SETTAINT syn keyword xsMacro PERL_ARGS_ASSERT_MAGIC_SETUTF8 syn keyword xsMacro PERL_ARGS_ASSERT_MAGIC_SETUVAR syn keyword xsMacro PERL_ARGS_ASSERT_MAGIC_SETVEC -syn keyword xsMacro PERL_ARGS_ASSERT_MAGIC_SETVSTRING syn keyword xsMacro PERL_ARGS_ASSERT_MAGIC_SET_ALL_ENV syn keyword xsMacro PERL_ARGS_ASSERT_MAGIC_SIZEPACK syn keyword xsMacro PERL_ARGS_ASSERT_MAGIC_WIPEPACK syn keyword xsMacro PERL_ARGS_ASSERT_MAKE_MATCHER PERL_ARGS_ASSERT_MAKE_TRIE -syn keyword xsMacro PERL_ARGS_ASSERT_MAKE_TRIE_FAILTABLE syn keyword xsMacro PERL_ARGS_ASSERT_MALLOCED_SIZE syn keyword xsMacro PERL_ARGS_ASSERT_MATCHER_MATCHES_SV syn keyword xsMacro PERL_ARGS_ASSERT_MAYBERELOCATE +syn keyword xsMacro PERL_ARGS_ASSERT_MAYBE_MULTIMAGIC_GV syn keyword xsMacro PERL_ARGS_ASSERT_MEASURE_STRUCT syn keyword xsMacro PERL_ARGS_ASSERT_MEM_COLLXFRM syn keyword xsMacro PERL_ARGS_ASSERT_MEM_LOG_COMMON PERL_ARGS_ASSERT_MESS syn keyword xsMacro PERL_ARGS_ASSERT_MESS_NOCONTEXT PERL_ARGS_ASSERT_MESS_SV -syn keyword xsMacro PERL_ARGS_ASSERT_METHOD_COMMON PERL_ARGS_ASSERT_MG_CLEAR -syn keyword xsMacro PERL_ARGS_ASSERT_MG_COPY PERL_ARGS_ASSERT_MG_DUP +syn keyword xsMacro PERL_ARGS_ASSERT_MG_CLEAR PERL_ARGS_ASSERT_MG_COPY +syn keyword xsMacro PERL_ARGS_ASSERT_MG_DUP PERL_ARGS_ASSERT_MG_FIND_MGLOB syn keyword xsMacro PERL_ARGS_ASSERT_MG_FREE PERL_ARGS_ASSERT_MG_FREE_TYPE syn keyword xsMacro PERL_ARGS_ASSERT_MG_GET PERL_ARGS_ASSERT_MG_LENGTH syn keyword xsMacro PERL_ARGS_ASSERT_MG_LOCALIZE PERL_ARGS_ASSERT_MG_MAGICAL syn keyword xsMacro PERL_ARGS_ASSERT_MG_SET PERL_ARGS_ASSERT_MG_SIZE syn keyword xsMacro PERL_ARGS_ASSERT_MINI_MKTIME syn keyword xsMacro PERL_ARGS_ASSERT_MORESWITCHES +syn keyword xsMacro PERL_ARGS_ASSERT_MOVE_PROTO_ATTR syn keyword xsMacro PERL_ARGS_ASSERT_MRO_CLEAN_ISAREV syn keyword xsMacro PERL_ARGS_ASSERT_MRO_GATHER_AND_RENAME syn keyword xsMacro PERL_ARGS_ASSERT_MRO_GET_FROM_NAME @@ -1937,29 +2180,35 @@ syn keyword xsMacro PERL_ARGS_ASSERT_MRO_REGISTER syn keyword xsMacro PERL_ARGS_ASSERT_MRO_SET_MRO syn keyword xsMacro PERL_ARGS_ASSERT_MRO_SET_PRIVATE_DATA syn keyword xsMacro PERL_ARGS_ASSERT_MUL128 -syn keyword xsMacro PERL_ARGS_ASSERT_MUNGE_QWLIST_TO_PAREN_LIST +syn keyword xsMacro PERL_ARGS_ASSERT_MULTIDEREF_STRINGIFY syn keyword xsMacro PERL_ARGS_ASSERT_MY_ATOF PERL_ARGS_ASSERT_MY_ATOF2 syn keyword xsMacro PERL_ARGS_ASSERT_MY_ATTRS PERL_ARGS_ASSERT_MY_BCOPY +syn keyword xsMacro PERL_ARGS_ASSERT_MY_BYTES_TO_UTF8 syn keyword xsMacro PERL_ARGS_ASSERT_MY_BZERO PERL_ARGS_ASSERT_MY_CXT_INDEX syn keyword xsMacro PERL_ARGS_ASSERT_MY_CXT_INIT PERL_ARGS_ASSERT_MY_KID syn keyword xsMacro PERL_ARGS_ASSERT_MY_MEMCMP PERL_ARGS_ASSERT_MY_MEMSET syn keyword xsMacro PERL_ARGS_ASSERT_MY_POPEN PERL_ARGS_ASSERT_MY_POPEN_LIST syn keyword xsMacro PERL_ARGS_ASSERT_MY_SNPRINTF PERL_ARGS_ASSERT_MY_SPRINTF -syn keyword xsMacro PERL_ARGS_ASSERT_MY_STRFTIME PERL_ARGS_ASSERT_MY_SWABN +syn keyword xsMacro PERL_ARGS_ASSERT_MY_STRFTIME syn keyword xsMacro PERL_ARGS_ASSERT_MY_VSNPRINTF PERL_ARGS_ASSERT_NEED_UTF8 syn keyword xsMacro PERL_ARGS_ASSERT_NEWAVREF PERL_ARGS_ASSERT_NEWCONDOP syn keyword xsMacro PERL_ARGS_ASSERT_NEWFOROP PERL_ARGS_ASSERT_NEWGIVENOP syn keyword xsMacro PERL_ARGS_ASSERT_NEWGIVWHENOP PERL_ARGS_ASSERT_NEWGP syn keyword xsMacro PERL_ARGS_ASSERT_NEWGVGEN_FLAGS PERL_ARGS_ASSERT_NEWGVOP syn keyword xsMacro PERL_ARGS_ASSERT_NEWHVREF PERL_ARGS_ASSERT_NEWLOGOP -syn keyword xsMacro PERL_ARGS_ASSERT_NEWLOOPEX PERL_ARGS_ASSERT_NEWMADSV -syn keyword xsMacro PERL_ARGS_ASSERT_NEWPADOP PERL_ARGS_ASSERT_NEWPROG -syn keyword xsMacro PERL_ARGS_ASSERT_NEWRANGE PERL_ARGS_ASSERT_NEWRV -syn keyword xsMacro PERL_ARGS_ASSERT_NEWRV_NOINC PERL_ARGS_ASSERT_NEWSVOP -syn keyword xsMacro PERL_ARGS_ASSERT_NEWSVPVF +syn keyword xsMacro PERL_ARGS_ASSERT_NEWLOOPEX PERL_ARGS_ASSERT_NEWMETHOP +syn keyword xsMacro PERL_ARGS_ASSERT_NEWMETHOP_NAMED +syn keyword xsMacro PERL_ARGS_ASSERT_NEWMYSUB +syn keyword xsMacro PERL_ARGS_ASSERT_NEWPADNAMEOUTER +syn keyword xsMacro PERL_ARGS_ASSERT_NEWPADNAMEPVN PERL_ARGS_ASSERT_NEWPADOP +syn keyword xsMacro PERL_ARGS_ASSERT_NEWPROG PERL_ARGS_ASSERT_NEWRANGE +syn keyword xsMacro PERL_ARGS_ASSERT_NEWRV PERL_ARGS_ASSERT_NEWRV_NOINC +syn keyword xsMacro PERL_ARGS_ASSERT_NEWSTUB PERL_ARGS_ASSERT_NEWSVAVDEFELEM +syn keyword xsMacro PERL_ARGS_ASSERT_NEWSVOP PERL_ARGS_ASSERT_NEWSVPVF syn keyword xsMacro PERL_ARGS_ASSERT_NEWSVPVF_NOCONTEXT syn keyword xsMacro PERL_ARGS_ASSERT_NEWSVREF PERL_ARGS_ASSERT_NEWSVRV syn keyword xsMacro PERL_ARGS_ASSERT_NEWWHENOP PERL_ARGS_ASSERT_NEWXS +syn keyword xsMacro PERL_ARGS_ASSERT_NEWXS_DEFFILE syn keyword xsMacro PERL_ARGS_ASSERT_NEWXS_FLAGS syn keyword xsMacro PERL_ARGS_ASSERT_NEWXS_LEN_FLAGS syn keyword xsMacro PERL_ARGS_ASSERT_NEW_CONSTANT PERL_ARGS_ASSERT_NEW_CTYPE @@ -1967,24 +2216,39 @@ syn keyword xsMacro PERL_ARGS_ASSERT_NEW_LOGOP PERL_ARGS_ASSERT_NEW_VERSION syn keyword xsMacro PERL_ARGS_ASSERT_NEW_WARNINGS_BITFIELD syn keyword xsMacro PERL_ARGS_ASSERT_NEXTARGV PERL_ARGS_ASSERT_NEXTCHAR syn keyword xsMacro PERL_ARGS_ASSERT_NEXT_SYMBOL PERL_ARGS_ASSERT_NINSTR -syn keyword xsMacro PERL_ARGS_ASSERT_NOT_A_NUMBER +syn keyword xsMacro PERL_ARGS_ASSERT_NOPERL_DIE PERL_ARGS_ASSERT_NOT_A_NUMBER +syn keyword xsMacro PERL_ARGS_ASSERT_NOT_INCREMENTABLE syn keyword xsMacro PERL_ARGS_ASSERT_NO_BAREWORD_ALLOWED syn keyword xsMacro PERL_ARGS_ASSERT_NO_FH_ALLOWED PERL_ARGS_ASSERT_NO_OP syn keyword xsMacro PERL_ARGS_ASSERT_OOPSAV PERL_ARGS_ASSERT_OOPSHV -syn keyword xsMacro PERL_ARGS_ASSERT_OPEN_SCRIPT -syn keyword xsMacro PERL_ARGS_ASSERT_OPT_SCALARHV PERL_ARGS_ASSERT_OP_CLEAR +syn keyword xsMacro PERL_ARGS_ASSERT_OPENN_CLEANUP +syn keyword xsMacro PERL_ARGS_ASSERT_OPENN_SETUP PERL_ARGS_ASSERT_OPEN_SCRIPT +syn keyword xsMacro PERL_ARGS_ASSERT_OPMETHOD_STASH +syn keyword xsMacro PERL_ARGS_ASSERT_OPSLAB_FORCE_FREE +syn keyword xsMacro PERL_ARGS_ASSERT_OPSLAB_FREE +syn keyword xsMacro PERL_ARGS_ASSERT_OPSLAB_FREE_NOPAD +syn keyword xsMacro PERL_ARGS_ASSERT_OP_CLEAR syn keyword xsMacro PERL_ARGS_ASSERT_OP_CONTEXTUALIZE syn keyword xsMacro PERL_ARGS_ASSERT_OP_DUMP PERL_ARGS_ASSERT_OP_INTEGERIZE syn keyword xsMacro PERL_ARGS_ASSERT_OP_LINKLIST PERL_ARGS_ASSERT_OP_NULL -syn keyword xsMacro PERL_ARGS_ASSERT_OP_REFCNT_DEC -syn keyword xsMacro PERL_ARGS_ASSERT_OP_STD_INIT PERL_ARGS_ASSERT_OP_XMLDUMP -syn keyword xsMacro PERL_ARGS_ASSERT_PACKAGE PERL_ARGS_ASSERT_PACKAGE_VERSION +syn keyword xsMacro PERL_ARGS_ASSERT_OP_PARENT PERL_ARGS_ASSERT_OP_REFCNT_DEC +syn keyword xsMacro PERL_ARGS_ASSERT_OP_RELOCATE_SV +syn keyword xsMacro PERL_ARGS_ASSERT_OP_STD_INIT PERL_ARGS_ASSERT_PACKAGE +syn keyword xsMacro PERL_ARGS_ASSERT_PACKAGE_VERSION syn keyword xsMacro PERL_ARGS_ASSERT_PACKLIST PERL_ARGS_ASSERT_PACK_CAT syn keyword xsMacro PERL_ARGS_ASSERT_PACK_REC PERL_ARGS_ASSERT_PADLIST_DUP +syn keyword xsMacro PERL_ARGS_ASSERT_PADLIST_STORE +syn keyword xsMacro PERL_ARGS_ASSERT_PADNAMELIST_DUP +syn keyword xsMacro PERL_ARGS_ASSERT_PADNAMELIST_FETCH +syn keyword xsMacro PERL_ARGS_ASSERT_PADNAMELIST_FREE +syn keyword xsMacro PERL_ARGS_ASSERT_PADNAMELIST_STORE +syn keyword xsMacro PERL_ARGS_ASSERT_PADNAME_DUP +syn keyword xsMacro PERL_ARGS_ASSERT_PADNAME_FREE syn keyword xsMacro PERL_ARGS_ASSERT_PAD_ADD_ANON syn keyword xsMacro PERL_ARGS_ASSERT_PAD_ADD_NAME_PV syn keyword xsMacro PERL_ARGS_ASSERT_PAD_ADD_NAME_PVN syn keyword xsMacro PERL_ARGS_ASSERT_PAD_ADD_NAME_SV +syn keyword xsMacro PERL_ARGS_ASSERT_PAD_ADD_WEAKREF syn keyword xsMacro PERL_ARGS_ASSERT_PAD_ALLOC_NAME syn keyword xsMacro PERL_ARGS_ASSERT_PAD_CHECK_DUP syn keyword xsMacro PERL_ARGS_ASSERT_PAD_FINDLEX @@ -1992,11 +2256,14 @@ syn keyword xsMacro PERL_ARGS_ASSERT_PAD_FINDMY_PV syn keyword xsMacro PERL_ARGS_ASSERT_PAD_FINDMY_PVN syn keyword xsMacro PERL_ARGS_ASSERT_PAD_FINDMY_SV syn keyword xsMacro PERL_ARGS_ASSERT_PAD_FIXUP_INNER_ANONS -syn keyword xsMacro PERL_ARGS_ASSERT_PAD_PEG PERL_ARGS_ASSERT_PAD_PUSH -syn keyword xsMacro PERL_ARGS_ASSERT_PAD_SETSV PERL_ARGS_ASSERT_PARSER_DUP -syn keyword xsMacro PERL_ARGS_ASSERT_PARSER_FREE +syn keyword xsMacro PERL_ARGS_ASSERT_PAD_PUSH PERL_ARGS_ASSERT_PAD_SETSV +syn keyword xsMacro PERL_ARGS_ASSERT_PARSER_DUP PERL_ARGS_ASSERT_PARSER_FREE +syn keyword xsMacro PERL_ARGS_ASSERT_PARSER_FREE_NEXTTOKE_OPS +syn keyword xsMacro PERL_ARGS_ASSERT_PARSE_GV_STASH_NAME +syn keyword xsMacro PERL_ARGS_ASSERT_PARSE_IDENT +syn keyword xsMacro PERL_ARGS_ASSERT_PARSE_LPAREN_QUESTION_FLAGS syn keyword xsMacro PERL_ARGS_ASSERT_PARSE_UNICODE_OPTS -syn keyword xsMacro PERL_ARGS_ASSERT_PATH_IS_ABSOLUTE +syn keyword xsMacro PERL_ARGS_ASSERT_PATH_IS_SEARCHABLE syn keyword xsMacro PERL_ARGS_ASSERT_PERLIO_READ syn keyword xsMacro PERL_ARGS_ASSERT_PERLIO_UNREAD syn keyword xsMacro PERL_ARGS_ASSERT_PERLIO_WRITE @@ -2008,6 +2275,7 @@ syn keyword xsMacro PERL_ARGS_ASSERT_PERL_DESTRUCT PERL_ARGS_ASSERT_PERL_FREE syn keyword xsMacro PERL_ARGS_ASSERT_PERL_PARSE PERL_ARGS_ASSERT_PERL_RUN syn keyword xsMacro PERL_ARGS_ASSERT_PMRUNTIME PERL_ARGS_ASSERT_PMTRANS syn keyword xsMacro PERL_ARGS_ASSERT_PM_DESCRIPTION +syn keyword xsMacro PERL_ARGS_ASSERT_POPULATE_ANYOF_FROM_INVLIST syn keyword xsMacro PERL_ARGS_ASSERT_POPULATE_ISA PERL_ARGS_ASSERT_PREGCOMP syn keyword xsMacro PERL_ARGS_ASSERT_PREGEXEC PERL_ARGS_ASSERT_PREGFREE2 syn keyword xsMacro PERL_ARGS_ASSERT_PRESCAN_VERSION @@ -2018,10 +2286,14 @@ syn keyword xsMacro PERL_ARGS_ASSERT_PTR_TABLE_FETCH syn keyword xsMacro PERL_ARGS_ASSERT_PTR_TABLE_FIND syn keyword xsMacro PERL_ARGS_ASSERT_PTR_TABLE_SPLIT syn keyword xsMacro PERL_ARGS_ASSERT_PTR_TABLE_STORE -syn keyword xsMacro PERL_ARGS_ASSERT_PUT_BYTE PERL_ARGS_ASSERT_PV_DISPLAY +syn keyword xsMacro PERL_ARGS_ASSERT_PUT_CHARCLASS_BITMAP_INNARDS +syn keyword xsMacro PERL_ARGS_ASSERT_PUT_CODE_POINT +syn keyword xsMacro PERL_ARGS_ASSERT_PUT_RANGE PERL_ARGS_ASSERT_PV_DISPLAY syn keyword xsMacro PERL_ARGS_ASSERT_PV_ESCAPE PERL_ARGS_ASSERT_PV_PRETTY syn keyword xsMacro PERL_ARGS_ASSERT_PV_UNI_DISPLAY PERL_ARGS_ASSERT_QERROR syn keyword xsMacro PERL_ARGS_ASSERT_QSORTSVU +syn keyword xsMacro PERL_ARGS_ASSERT_QUADMATH_FORMAT_NEEDED +syn keyword xsMacro PERL_ARGS_ASSERT_QUADMATH_FORMAT_SINGLE syn keyword xsMacro PERL_ARGS_ASSERT_REENTRANT_RETRY syn keyword xsMacro PERL_ARGS_ASSERT_REFCOUNTED_HE_FETCH_PV syn keyword xsMacro PERL_ARGS_ASSERT_REFCOUNTED_HE_FETCH_PVN @@ -2031,9 +2303,10 @@ syn keyword xsMacro PERL_ARGS_ASSERT_REFCOUNTED_HE_NEW_PVN syn keyword xsMacro PERL_ARGS_ASSERT_REFCOUNTED_HE_NEW_SV syn keyword xsMacro PERL_ARGS_ASSERT_REFCOUNTED_HE_VALUE syn keyword xsMacro PERL_ARGS_ASSERT_REFTO PERL_ARGS_ASSERT_REG -syn keyword xsMacro PERL_ARGS_ASSERT_REGANODE PERL_ARGS_ASSERT_REGATOM -syn keyword xsMacro PERL_ARGS_ASSERT_REGBRANCH PERL_ARGS_ASSERT_REGCLASS -syn keyword xsMacro PERL_ARGS_ASSERT_REGCLASS_SWASH PERL_ARGS_ASSERT_REGCPPOP +syn keyword xsMacro PERL_ARGS_ASSERT_REG2LANODE PERL_ARGS_ASSERT_REGANODE +syn keyword xsMacro PERL_ARGS_ASSERT_REGATOM PERL_ARGS_ASSERT_REGBRANCH +syn keyword xsMacro PERL_ARGS_ASSERT_REGCLASS PERL_ARGS_ASSERT_REGCLASS_SWASH +syn keyword xsMacro PERL_ARGS_ASSERT_REGCPPOP PERL_ARGS_ASSERT_REGCPPUSH syn keyword xsMacro PERL_ARGS_ASSERT_REGCURLY PERL_ARGS_ASSERT_REGDUMP syn keyword xsMacro PERL_ARGS_ASSERT_REGDUPE_INTERNAL syn keyword xsMacro PERL_ARGS_ASSERT_REGEXEC_FLAGS @@ -2041,13 +2314,12 @@ syn keyword xsMacro PERL_ARGS_ASSERT_REGFREE_INTERNAL syn keyword xsMacro PERL_ARGS_ASSERT_REGHOP3 PERL_ARGS_ASSERT_REGHOP4 syn keyword xsMacro PERL_ARGS_ASSERT_REGHOPMAYBE3 PERL_ARGS_ASSERT_REGINCLASS syn keyword xsMacro PERL_ARGS_ASSERT_REGINSERT PERL_ARGS_ASSERT_REGMATCH +syn keyword xsMacro PERL_ARGS_ASSERT_REGNODE_GUTS PERL_ARGS_ASSERT_REGPATWS syn keyword xsMacro PERL_ARGS_ASSERT_REGPIECE PERL_ARGS_ASSERT_REGPPOSIXCC syn keyword xsMacro PERL_ARGS_ASSERT_REGPROP PERL_ARGS_ASSERT_REGREPEAT syn keyword xsMacro PERL_ARGS_ASSERT_REGTAIL PERL_ARGS_ASSERT_REGTAIL_STUDY -syn keyword xsMacro PERL_ARGS_ASSERT_REGTRY PERL_ARGS_ASSERT_REGUNI -syn keyword xsMacro PERL_ARGS_ASSERT_REGWHITE +syn keyword xsMacro PERL_ARGS_ASSERT_REGTRY syn keyword xsMacro PERL_ARGS_ASSERT_REG_CHECK_NAMED_BUFF_MATCHED -syn keyword xsMacro PERL_ARGS_ASSERT_REG_NAMEDSEQ syn keyword xsMacro PERL_ARGS_ASSERT_REG_NAMED_BUFF syn keyword xsMacro PERL_ARGS_ASSERT_REG_NAMED_BUFF_ALL syn keyword xsMacro PERL_ARGS_ASSERT_REG_NAMED_BUFF_EXISTS @@ -2072,7 +2344,8 @@ syn keyword xsMacro PERL_ARGS_ASSERT_RE_COMPILE PERL_ARGS_ASSERT_RE_CROAK2 syn keyword xsMacro PERL_ARGS_ASSERT_RE_DUP_GUTS syn keyword xsMacro PERL_ARGS_ASSERT_RE_INTUIT_START syn keyword xsMacro PERL_ARGS_ASSERT_RE_INTUIT_STRING -syn keyword xsMacro PERL_ARGS_ASSERT_RNINSTR PERL_ARGS_ASSERT_RSIGNAL_SAVE +syn keyword xsMacro PERL_ARGS_ASSERT_RE_OP_COMPILE PERL_ARGS_ASSERT_RNINSTR +syn keyword xsMacro PERL_ARGS_ASSERT_RSIGNAL_SAVE syn keyword xsMacro PERL_ARGS_ASSERT_RUN_USER_FILTER syn keyword xsMacro PERL_ARGS_ASSERT_RV2CV_OP_CV PERL_ARGS_ASSERT_RVPV_DUP syn keyword xsMacro PERL_ARGS_ASSERT_RXRES_FREE @@ -2081,6 +2354,7 @@ syn keyword xsMacro PERL_ARGS_ASSERT_RXRES_SAVE PERL_ARGS_ASSERT_SAME_DIRENT syn keyword xsMacro PERL_ARGS_ASSERT_SAVESHAREDSVPV PERL_ARGS_ASSERT_SAVESVPV syn keyword xsMacro PERL_ARGS_ASSERT_SAVE_ADELETE syn keyword xsMacro PERL_ARGS_ASSERT_SAVE_AELEM_FLAGS +syn keyword xsMacro PERL_ARGS_ASSERT_SAVE_ALIASED_SV syn keyword xsMacro PERL_ARGS_ASSERT_SAVE_APTR PERL_ARGS_ASSERT_SAVE_ARY syn keyword xsMacro PERL_ARGS_ASSERT_SAVE_BOOL PERL_ARGS_ASSERT_SAVE_CLEARSV syn keyword xsMacro PERL_ARGS_ASSERT_SAVE_DELETE @@ -2096,15 +2370,16 @@ syn keyword xsMacro PERL_ARGS_ASSERT_SAVE_I32 PERL_ARGS_ASSERT_SAVE_I8 syn keyword xsMacro PERL_ARGS_ASSERT_SAVE_INT PERL_ARGS_ASSERT_SAVE_ITEM syn keyword xsMacro PERL_ARGS_ASSERT_SAVE_IV PERL_ARGS_ASSERT_SAVE_LINES syn keyword xsMacro PERL_ARGS_ASSERT_SAVE_LIST PERL_ARGS_ASSERT_SAVE_LONG -syn keyword xsMacro PERL_ARGS_ASSERT_SAVE_MAGIC +syn keyword xsMacro PERL_ARGS_ASSERT_SAVE_MAGIC_FLAGS syn keyword xsMacro PERL_ARGS_ASSERT_SAVE_MORTALIZESV syn keyword xsMacro PERL_ARGS_ASSERT_SAVE_NOGV PERL_ARGS_ASSERT_SAVE_PPTR syn keyword xsMacro PERL_ARGS_ASSERT_SAVE_SCALAR syn keyword xsMacro PERL_ARGS_ASSERT_SAVE_SCALAR_AT syn keyword xsMacro PERL_ARGS_ASSERT_SAVE_SET_SVFLAGS syn keyword xsMacro PERL_ARGS_ASSERT_SAVE_SHARED_PVREF -syn keyword xsMacro PERL_ARGS_ASSERT_SAVE_SPTR PERL_ARGS_ASSERT_SAVE_SVREF -syn keyword xsMacro PERL_ARGS_ASSERT_SAVE_VPTR PERL_ARGS_ASSERT_SCALARBOOLEAN +syn keyword xsMacro PERL_ARGS_ASSERT_SAVE_SPTR PERL_ARGS_ASSERT_SAVE_STRLEN +syn keyword xsMacro PERL_ARGS_ASSERT_SAVE_SVREF PERL_ARGS_ASSERT_SAVE_VPTR +syn keyword xsMacro PERL_ARGS_ASSERT_SCALARBOOLEAN syn keyword xsMacro PERL_ARGS_ASSERT_SCALARVOID PERL_ARGS_ASSERT_SCAN_BIN syn keyword xsMacro PERL_ARGS_ASSERT_SCAN_COMMIT PERL_ARGS_ASSERT_SCAN_CONST syn keyword xsMacro PERL_ARGS_ASSERT_SCAN_FORMLINE @@ -2116,25 +2391,31 @@ syn keyword xsMacro PERL_ARGS_ASSERT_SCAN_PAT PERL_ARGS_ASSERT_SCAN_STR syn keyword xsMacro PERL_ARGS_ASSERT_SCAN_SUBST PERL_ARGS_ASSERT_SCAN_TRANS syn keyword xsMacro PERL_ARGS_ASSERT_SCAN_VERSION syn keyword xsMacro PERL_ARGS_ASSERT_SCAN_VSTRING PERL_ARGS_ASSERT_SCAN_WORD -syn keyword xsMacro PERL_ARGS_ASSERT_SCREAMINSTR -syn keyword xsMacro PERL_ARGS_ASSERT_SEARCH_CONST -syn keyword xsMacro PERL_ARGS_ASSERT_SET_CONTEXT -syn keyword xsMacro PERL_ARGS_ASSERT_SET_REGCLASS_BIT -syn keyword xsMacro PERL_ARGS_ASSERT_SET_REGCLASS_BIT_FOLD +syn keyword xsMacro PERL_ARGS_ASSERT_SEARCH_CONST PERL_ARGS_ASSERT_SETDEFOUT +syn keyword xsMacro PERL_ARGS_ASSERT_SET_ANYOF_ARG +syn keyword xsMacro PERL_ARGS_ASSERT_SET_CONTEXT PERL_ARGS_ASSERT_SET_PADLIST syn keyword xsMacro PERL_ARGS_ASSERT_SHARE_HEK syn keyword xsMacro PERL_ARGS_ASSERT_SHARE_HEK_FLAGS +syn keyword xsMacro PERL_ARGS_ASSERT_SHOULD_WARN_NL syn keyword xsMacro PERL_ARGS_ASSERT_SIMPLIFY_SORT PERL_ARGS_ASSERT_SI_DUP -syn keyword xsMacro PERL_ARGS_ASSERT_SKIPSPACE PERL_ARGS_ASSERT_SKIPSPACE0 -syn keyword xsMacro PERL_ARGS_ASSERT_SKIPSPACE1 PERL_ARGS_ASSERT_SKIPSPACE2 -syn keyword xsMacro PERL_ARGS_ASSERT_SLAB_FREE PERL_ARGS_ASSERT_SLAB_TO_RW -syn keyword xsMacro PERL_ARGS_ASSERT_SOFTREF2XV PERL_ARGS_ASSERT_SORTCV -syn keyword xsMacro PERL_ARGS_ASSERT_SORTCV_STACKED +syn keyword xsMacro PERL_ARGS_ASSERT_SKIPSPACE_FLAGS +syn keyword xsMacro PERL_ARGS_ASSERT_SLAB_FREE PERL_ARGS_ASSERT_SLAB_TO_RO +syn keyword xsMacro PERL_ARGS_ASSERT_SLAB_TO_RW PERL_ARGS_ASSERT_SOFTREF2XV +syn keyword xsMacro PERL_ARGS_ASSERT_SORTCV PERL_ARGS_ASSERT_SORTCV_STACKED syn keyword xsMacro PERL_ARGS_ASSERT_SORTCV_XSUB PERL_ARGS_ASSERT_SORTSV syn keyword xsMacro PERL_ARGS_ASSERT_SORTSV_FLAGS syn keyword xsMacro PERL_ARGS_ASSERT_SPACE_JOIN_NAMES_MORTAL +syn keyword xsMacro PERL_ARGS_ASSERT_SSC_ADD_RANGE PERL_ARGS_ASSERT_SSC_AND +syn keyword xsMacro PERL_ARGS_ASSERT_SSC_ANYTHING +syn keyword xsMacro PERL_ARGS_ASSERT_SSC_CLEAR_LOCALE +syn keyword xsMacro PERL_ARGS_ASSERT_SSC_CP_AND PERL_ARGS_ASSERT_SSC_FINALIZE +syn keyword xsMacro PERL_ARGS_ASSERT_SSC_INIT +syn keyword xsMacro PERL_ARGS_ASSERT_SSC_INTERSECTION +syn keyword xsMacro PERL_ARGS_ASSERT_SSC_IS_ANYTHING +syn keyword xsMacro PERL_ARGS_ASSERT_SSC_IS_CP_POSIXL_INIT +syn keyword xsMacro PERL_ARGS_ASSERT_SSC_OR PERL_ARGS_ASSERT_SSC_UNION syn keyword xsMacro PERL_ARGS_ASSERT_SS_DUP PERL_ARGS_ASSERT_STACK_GROW syn keyword xsMacro PERL_ARGS_ASSERT_START_GLOB -syn keyword xsMacro PERL_ARGS_ASSERT_STASHPV_HVNAME_MATCH syn keyword xsMacro PERL_ARGS_ASSERT_STDIZE_LOCALE syn keyword xsMacro PERL_ARGS_ASSERT_STRIP_RETURN syn keyword xsMacro PERL_ARGS_ASSERT_STR_TO_VERSION @@ -2143,16 +2424,21 @@ syn keyword xsMacro PERL_ARGS_ASSERT_SUB_CRUSH_DEPTH syn keyword xsMacro PERL_ARGS_ASSERT_SV_2BOOL_FLAGS PERL_ARGS_ASSERT_SV_2CV syn keyword xsMacro PERL_ARGS_ASSERT_SV_2IO PERL_ARGS_ASSERT_SV_2IUV_COMMON syn keyword xsMacro PERL_ARGS_ASSERT_SV_2IUV_NON_PRESERVE -syn keyword xsMacro PERL_ARGS_ASSERT_SV_2NUM PERL_ARGS_ASSERT_SV_2PVBYTE +syn keyword xsMacro PERL_ARGS_ASSERT_SV_2IV PERL_ARGS_ASSERT_SV_2IV_FLAGS +syn keyword xsMacro PERL_ARGS_ASSERT_SV_2NUM PERL_ARGS_ASSERT_SV_2NV_FLAGS +syn keyword xsMacro PERL_ARGS_ASSERT_SV_2PV PERL_ARGS_ASSERT_SV_2PVBYTE syn keyword xsMacro PERL_ARGS_ASSERT_SV_2PVBYTE_NOLEN syn keyword xsMacro PERL_ARGS_ASSERT_SV_2PVUTF8 syn keyword xsMacro PERL_ARGS_ASSERT_SV_2PVUTF8_NOLEN -syn keyword xsMacro PERL_ARGS_ASSERT_SV_2PV_NOLEN +syn keyword xsMacro PERL_ARGS_ASSERT_SV_2PV_FLAGS +syn keyword xsMacro PERL_ARGS_ASSERT_SV_2PV_NOLEN PERL_ARGS_ASSERT_SV_2UV +syn keyword xsMacro PERL_ARGS_ASSERT_SV_2UV_FLAGS syn keyword xsMacro PERL_ARGS_ASSERT_SV_ADD_ARENA syn keyword xsMacro PERL_ARGS_ASSERT_SV_ADD_BACKREF syn keyword xsMacro PERL_ARGS_ASSERT_SV_BACKOFF PERL_ARGS_ASSERT_SV_BLESS -syn keyword xsMacro PERL_ARGS_ASSERT_SV_CATPV PERL_ARGS_ASSERT_SV_CATPVF -syn keyword xsMacro PERL_ARGS_ASSERT_SV_CATPVF_MG +syn keyword xsMacro PERL_ARGS_ASSERT_SV_BUF_TO_RO +syn keyword xsMacro PERL_ARGS_ASSERT_SV_BUF_TO_RW PERL_ARGS_ASSERT_SV_CATPV +syn keyword xsMacro PERL_ARGS_ASSERT_SV_CATPVF PERL_ARGS_ASSERT_SV_CATPVF_MG syn keyword xsMacro PERL_ARGS_ASSERT_SV_CATPVF_MG_NOCONTEXT syn keyword xsMacro PERL_ARGS_ASSERT_SV_CATPVF_NOCONTEXT syn keyword xsMacro PERL_ARGS_ASSERT_SV_CATPVN @@ -2161,37 +2447,40 @@ syn keyword xsMacro PERL_ARGS_ASSERT_SV_CATPVN_MG syn keyword xsMacro PERL_ARGS_ASSERT_SV_CATPV_FLAGS syn keyword xsMacro PERL_ARGS_ASSERT_SV_CATPV_MG PERL_ARGS_ASSERT_SV_CATSV syn keyword xsMacro PERL_ARGS_ASSERT_SV_CATSV_FLAGS -syn keyword xsMacro PERL_ARGS_ASSERT_SV_CATSV_MG PERL_ARGS_ASSERT_SV_CATXMLPV -syn keyword xsMacro PERL_ARGS_ASSERT_SV_CATXMLPVN -syn keyword xsMacro PERL_ARGS_ASSERT_SV_CATXMLSV +syn keyword xsMacro PERL_ARGS_ASSERT_SV_CATSV_MG syn keyword xsMacro PERL_ARGS_ASSERT_SV_CAT_DECODE PERL_ARGS_ASSERT_SV_CHOP syn keyword xsMacro PERL_ARGS_ASSERT_SV_CLEAR syn keyword xsMacro PERL_ARGS_ASSERT_SV_COLLXFRM_FLAGS -syn keyword xsMacro PERL_ARGS_ASSERT_SV_COMPILE_2OP -syn keyword xsMacro PERL_ARGS_ASSERT_SV_COMPILE_2OP_IS_BROKEN syn keyword xsMacro PERL_ARGS_ASSERT_SV_COPYPV +syn keyword xsMacro PERL_ARGS_ASSERT_SV_COPYPV_FLAGS syn keyword xsMacro PERL_ARGS_ASSERT_SV_DEL_BACKREF syn keyword xsMacro PERL_ARGS_ASSERT_SV_DERIVED_FROM syn keyword xsMacro PERL_ARGS_ASSERT_SV_DERIVED_FROM_PV syn keyword xsMacro PERL_ARGS_ASSERT_SV_DERIVED_FROM_PVN syn keyword xsMacro PERL_ARGS_ASSERT_SV_DERIVED_FROM_SV -syn keyword xsMacro PERL_ARGS_ASSERT_SV_DOES PERL_ARGS_ASSERT_SV_DOES_PV -syn keyword xsMacro PERL_ARGS_ASSERT_SV_DOES_PVN PERL_ARGS_ASSERT_SV_DOES_SV -syn keyword xsMacro PERL_ARGS_ASSERT_SV_DUMP PERL_ARGS_ASSERT_SV_DUP -syn keyword xsMacro PERL_ARGS_ASSERT_SV_DUP_COMMON +syn keyword xsMacro PERL_ARGS_ASSERT_SV_DISPLAY PERL_ARGS_ASSERT_SV_DOES +syn keyword xsMacro PERL_ARGS_ASSERT_SV_DOES_PV PERL_ARGS_ASSERT_SV_DOES_PVN +syn keyword xsMacro PERL_ARGS_ASSERT_SV_DOES_SV PERL_ARGS_ASSERT_SV_DUMP +syn keyword xsMacro PERL_ARGS_ASSERT_SV_DUP PERL_ARGS_ASSERT_SV_DUP_COMMON syn keyword xsMacro PERL_ARGS_ASSERT_SV_DUP_INC syn keyword xsMacro PERL_ARGS_ASSERT_SV_DUP_INC_MULTIPLE syn keyword xsMacro PERL_ARGS_ASSERT_SV_EXP_GROW syn keyword xsMacro PERL_ARGS_ASSERT_SV_FORCE_NORMAL syn keyword xsMacro PERL_ARGS_ASSERT_SV_FORCE_NORMAL_FLAGS syn keyword xsMacro PERL_ARGS_ASSERT_SV_FREE2 PERL_ARGS_ASSERT_SV_GETS -syn keyword xsMacro PERL_ARGS_ASSERT_SV_GROW PERL_ARGS_ASSERT_SV_INSERT +syn keyword xsMacro PERL_ARGS_ASSERT_SV_GET_BACKREFS PERL_ARGS_ASSERT_SV_GROW +syn keyword xsMacro PERL_ARGS_ASSERT_SV_INSERT syn keyword xsMacro PERL_ARGS_ASSERT_SV_INSERT_FLAGS PERL_ARGS_ASSERT_SV_ISA syn keyword xsMacro PERL_ARGS_ASSERT_SV_IV PERL_ARGS_ASSERT_SV_I_NCMP syn keyword xsMacro PERL_ARGS_ASSERT_SV_KILL_BACKREFS +syn keyword xsMacro PERL_ARGS_ASSERT_SV_LEN_UTF8_NOMG syn keyword xsMacro PERL_ARGS_ASSERT_SV_MAGIC PERL_ARGS_ASSERT_SV_MAGICEXT +syn keyword xsMacro PERL_ARGS_ASSERT_SV_MAGICEXT_MGLOB syn keyword xsMacro PERL_ARGS_ASSERT_SV_NCMP PERL_ARGS_ASSERT_SV_NV +syn keyword xsMacro PERL_ARGS_ASSERT_SV_ONLY_TAINT_GMAGIC +syn keyword xsMacro PERL_ARGS_ASSERT_SV_OR_PV_POS_U2B syn keyword xsMacro PERL_ARGS_ASSERT_SV_POS_B2U +syn keyword xsMacro PERL_ARGS_ASSERT_SV_POS_B2U_FLAGS syn keyword xsMacro PERL_ARGS_ASSERT_SV_POS_B2U_MIDWAY syn keyword xsMacro PERL_ARGS_ASSERT_SV_POS_U2B syn keyword xsMacro PERL_ARGS_ASSERT_SV_POS_U2B_CACHED @@ -2245,23 +2534,22 @@ syn keyword xsMacro PERL_ARGS_ASSERT_SV_UTF8_UPGRADE syn keyword xsMacro PERL_ARGS_ASSERT_SV_UTF8_UPGRADE_FLAGS_GROW syn keyword xsMacro PERL_ARGS_ASSERT_SV_UV PERL_ARGS_ASSERT_SV_VCATPVF syn keyword xsMacro PERL_ARGS_ASSERT_SV_VCATPVFN +syn keyword xsMacro PERL_ARGS_ASSERT_SV_VCATPVFN_FLAGS syn keyword xsMacro PERL_ARGS_ASSERT_SV_VCATPVF_MG syn keyword xsMacro PERL_ARGS_ASSERT_SV_VSETPVF PERL_ARGS_ASSERT_SV_VSETPVFN syn keyword xsMacro PERL_ARGS_ASSERT_SV_VSETPVF_MG -syn keyword xsMacro PERL_ARGS_ASSERT_SV_XMLPEEK PERL_ARGS_ASSERT_SWALLOW_BOM -syn keyword xsMacro PERL_ARGS_ASSERT_SWASH_FETCH PERL_ARGS_ASSERT_SWASH_INIT +syn keyword xsMacro PERL_ARGS_ASSERT_SWALLOW_BOM PERL_ARGS_ASSERT_SWASH_FETCH +syn keyword xsMacro PERL_ARGS_ASSERT_SWASH_INIT +syn keyword xsMacro PERL_ARGS_ASSERT_SWASH_SCAN_LIST_LINE syn keyword xsMacro PERL_ARGS_ASSERT_SWATCH_GET PERL_ARGS_ASSERT_SYS_INIT syn keyword xsMacro PERL_ARGS_ASSERT_SYS_INIT3 syn keyword xsMacro PERL_ARGS_ASSERT_SYS_INTERN_DUP syn keyword xsMacro PERL_ARGS_ASSERT_TAINT_PROPER syn keyword xsMacro PERL_ARGS_ASSERT_TIED_METHOD -syn keyword xsMacro PERL_ARGS_ASSERT_TOKENIZE_USE PERL_ARGS_ASSERT_TOKEN_FREE -syn keyword xsMacro PERL_ARGS_ASSERT_TOKEN_GETMAD PERL_ARGS_ASSERT_TOKEQ +syn keyword xsMacro PERL_ARGS_ASSERT_TOKENIZE_USE PERL_ARGS_ASSERT_TOKEQ syn keyword xsMacro PERL_ARGS_ASSERT_TOKEREPORT syn keyword xsMacro PERL_ARGS_ASSERT_TOO_FEW_ARGUMENTS_PV -syn keyword xsMacro PERL_ARGS_ASSERT_TOO_FEW_ARGUMENTS_SV syn keyword xsMacro PERL_ARGS_ASSERT_TOO_MANY_ARGUMENTS_PV -syn keyword xsMacro PERL_ARGS_ASSERT_TOO_MANY_ARGUMENTS_SV syn keyword xsMacro PERL_ARGS_ASSERT_TO_BYTE_SUBSTR syn keyword xsMacro PERL_ARGS_ASSERT_TO_UNI_LOWER syn keyword xsMacro PERL_ARGS_ASSERT_TO_UNI_TITLE @@ -2289,13 +2577,13 @@ syn keyword xsMacro PERL_ARGS_ASSERT_UTF8_MG_LEN_CACHE_UPDATE syn keyword xsMacro PERL_ARGS_ASSERT_UTF8_MG_POS_CACHE_UPDATE syn keyword xsMacro PERL_ARGS_ASSERT_UTF8_TO_BYTES syn keyword xsMacro PERL_ARGS_ASSERT_UTF8_TO_UVCHR -syn keyword xsMacro PERL_ARGS_ASSERT_UTF8_TO_UVCHR_BUF syn keyword xsMacro PERL_ARGS_ASSERT_UTF8_TO_UVUNI syn keyword xsMacro PERL_ARGS_ASSERT_UTF8_TO_UVUNI_BUF -syn keyword xsMacro PERL_ARGS_ASSERT_UTILIZE PERL_ARGS_ASSERT_UVCHR_TO_UTF8 -syn keyword xsMacro PERL_ARGS_ASSERT_UVCHR_TO_UTF8_FLAGS +syn keyword xsMacro PERL_ARGS_ASSERT_UTILIZE +syn keyword xsMacro PERL_ARGS_ASSERT_UVOFFUNI_TO_UTF8_FLAGS syn keyword xsMacro PERL_ARGS_ASSERT_UVUNI_TO_UTF8 syn keyword xsMacro PERL_ARGS_ASSERT_UVUNI_TO_UTF8_FLAGS +syn keyword xsMacro PERL_ARGS_ASSERT_VALIDATE_PROTO syn keyword xsMacro PERL_ARGS_ASSERT_VALIDATE_SUID syn keyword xsMacro PERL_ARGS_ASSERT_VALID_UTF8_TO_UVCHR syn keyword xsMacro PERL_ARGS_ASSERT_VALID_UTF8_TO_UVUNI @@ -2313,33 +2601,40 @@ syn keyword xsMacro PERL_ARGS_ASSERT_WARN_NOCONTEXT PERL_ARGS_ASSERT_WARN_SV syn keyword xsMacro PERL_ARGS_ASSERT_WATCH PERL_ARGS_ASSERT_WHICHSIG_PV syn keyword xsMacro PERL_ARGS_ASSERT_WHICHSIG_PVN syn keyword xsMacro PERL_ARGS_ASSERT_WHICHSIG_SV +syn keyword xsMacro PERL_ARGS_ASSERT_WIN32_CROAK_NOT_IMPLEMENTED syn keyword xsMacro PERL_ARGS_ASSERT_WITH_QUEUED_ERRORS syn keyword xsMacro PERL_ARGS_ASSERT_WRAP_OP_CHECKER syn keyword xsMacro PERL_ARGS_ASSERT_WRITE_TO_STDERR -syn keyword xsMacro PERL_ARGS_ASSERT_XMLDUMP_ATTR -syn keyword xsMacro PERL_ARGS_ASSERT_XMLDUMP_FORM -syn keyword xsMacro PERL_ARGS_ASSERT_XMLDUMP_INDENT -syn keyword xsMacro PERL_ARGS_ASSERT_XMLDUMP_PACKSUBS -syn keyword xsMacro PERL_ARGS_ASSERT_XMLDUMP_PACKSUBS_PERL -syn keyword xsMacro PERL_ARGS_ASSERT_XMLDUMP_SUB -syn keyword xsMacro PERL_ARGS_ASSERT_XMLDUMP_SUB_PERL -syn keyword xsMacro PERL_ARGS_ASSERT_XMLDUMP_VINDENT -syn keyword xsMacro PERL_ARGS_ASSERT_XS_APIVERSION_BOOTCHECK +syn keyword xsMacro PERL_ARGS_ASSERT_XS_HANDSHAKE syn keyword xsMacro PERL_ARGS_ASSERT_XS_VERSION_BOOTCHECK syn keyword xsMacro PERL_ARGS_ASSERT_YYERROR PERL_ARGS_ASSERT_YYERROR_PV syn keyword xsMacro PERL_ARGS_ASSERT_YYERROR_PVN PERL_ARGS_ASSERT_YYWARN syn keyword xsMacro PERL_ARGS_ASSERT__APPEND_RANGE_TO_INVLIST syn keyword xsMacro PERL_ARGS_ASSERT__CORE_SWASH_INIT +syn keyword xsMacro PERL_ARGS_ASSERT__GET_REGCLASS_NONBITMAP_DATA +syn keyword xsMacro PERL_ARGS_ASSERT__GET_SWASH_INVLIST syn keyword xsMacro PERL_ARGS_ASSERT__INVLIST_ARRAY_INIT +syn keyword xsMacro PERL_ARGS_ASSERT__INVLIST_CONTAINS_CP syn keyword xsMacro PERL_ARGS_ASSERT__INVLIST_CONTENTS +syn keyword xsMacro PERL_ARGS_ASSERT__INVLIST_DUMP syn keyword xsMacro PERL_ARGS_ASSERT__INVLIST_INTERSECTION_MAYBE_COMPLEMENT_2ND syn keyword xsMacro PERL_ARGS_ASSERT__INVLIST_INVERT -syn keyword xsMacro PERL_ARGS_ASSERT__INVLIST_INVERT_PROP +syn keyword xsMacro PERL_ARGS_ASSERT__INVLIST_LEN syn keyword xsMacro PERL_ARGS_ASSERT__INVLIST_POPULATE_SWATCH +syn keyword xsMacro PERL_ARGS_ASSERT__INVLIST_SEARCH syn keyword xsMacro PERL_ARGS_ASSERT__INVLIST_UNION_MAYBE_COMPLEMENT_2ND -syn keyword xsMacro PERL_ARGS_ASSERT__IS_UTF8_QUOTEMETA -syn keyword xsMacro PERL_ARGS_ASSERT__IS_UTF8__PERL_IDSTART +syn keyword xsMacro PERL_ARGS_ASSERT__IS_UTF8_CHAR_SLOW +syn keyword xsMacro PERL_ARGS_ASSERT__IS_UTF8_FOO +syn keyword xsMacro PERL_ARGS_ASSERT__IS_UTF8_IDCONT +syn keyword xsMacro PERL_ARGS_ASSERT__IS_UTF8_IDSTART +syn keyword xsMacro PERL_ARGS_ASSERT__IS_UTF8_MARK +syn keyword xsMacro PERL_ARGS_ASSERT__IS_UTF8_PERL_IDCONT +syn keyword xsMacro PERL_ARGS_ASSERT__IS_UTF8_PERL_IDSTART +syn keyword xsMacro PERL_ARGS_ASSERT__IS_UTF8_XIDCONT +syn keyword xsMacro PERL_ARGS_ASSERT__IS_UTF8_XIDSTART +syn keyword xsMacro PERL_ARGS_ASSERT__MAKE_EXACTF_INVLIST syn keyword xsMacro PERL_ARGS_ASSERT__NEW_INVLIST_C_ARRAY +syn keyword xsMacro PERL_ARGS_ASSERT__SETUP_CANNED_INVLIST syn keyword xsMacro PERL_ARGS_ASSERT__SWASH_INVERSION_HASH syn keyword xsMacro PERL_ARGS_ASSERT__SWASH_TO_INVLIST syn keyword xsMacro PERL_ARGS_ASSERT__TO_FOLD_LATIN1 @@ -2350,59 +2645,62 @@ syn keyword xsMacro PERL_ARGS_ASSERT__TO_UTF8_LOWER_FLAGS syn keyword xsMacro PERL_ARGS_ASSERT__TO_UTF8_TITLE_FLAGS syn keyword xsMacro PERL_ARGS_ASSERT__TO_UTF8_UPPER_FLAGS PERL_ASYNC_CHECK syn keyword xsMacro PERL_BITFIELD16 PERL_BITFIELD32 PERL_BITFIELD8 -syn keyword xsMacro PERL_CALLCONV PERL_CHECK_INITED PERL_CKDEF PERL_DEB -syn keyword xsMacro PERL_DEBUG PERL_DEBUG_PAD PERL_DEBUG_PAD_ZERO +syn keyword xsMacro PERL_CALLCONV PERL_CALLCONV_NO_RET PERL_CHECK_INITED +syn keyword xsMacro PERL_CKDEF PERL_DEB PERL_DEB2 PERL_DEBUG PERL_DEBUG_PAD +syn keyword xsMacro PERL_DEBUG_PAD_ZERO PERL_DECIMAL_VERSION syn keyword xsMacro PERL_DEFAULT_DO_EXEC3_IMPLEMENTATION -syn keyword xsMacro PERL_DONT_CREATE_GVSV +syn keyword xsMacro PERL_DONT_CREATE_GVSV PERL_DRAND48_QUAD syn keyword xsMacro PERL_ENABLE_EXPERIMENTAL_REGEX_OPTIMISATIONS syn keyword xsMacro PERL_ENABLE_EXTENDED_TRIE_OPTIMISATION syn keyword xsMacro PERL_ENABLE_POSITIVE_ASSERTION_STUDY -syn keyword xsMacro PERL_ENABLE_TRIE_OPTIMISATION PERL_EXIT_DESTRUCT_END -syn keyword xsMacro PERL_EXIT_EXPECTED PERL_EXPORT_C PERL_FILE_IS_ABSOLUTE -syn keyword xsMacro PERL_FILTER_EXISTS PERL_FLUSHALL_FOR_CHILD PERL_FPU_INIT -syn keyword xsMacro PERL_FPU_POST_EXEC PERL_FPU_PRE_EXEC PERL_FS_VERSION -syn keyword xsMacro PERL_FS_VER_FMT PERL_GCC_BRACE_GROUPS_FORBIDDEN -syn keyword xsMacro PERL_GET_CONTEXT PERL_GET_INTERP PERL_GET_THX -syn keyword xsMacro PERL_GET_VARS PERL_GIT_UNPUSHED_COMMITS -syn keyword xsMacro PERL_GLOBAL_STRUCT PERL_GPROF_MONCONTROL PERL_HASH -syn keyword xsMacro PERL_HASH_INTERNAL PERL_HASH_INTERNAL_ PERL_HASH_SEED -syn keyword xsMacro PERL_HV_ARRAY_ALLOC_BYTES PERL_IMPLICIT_CONTEXT -syn keyword xsMacro PERL_INTERPRETER_SIZE_UPTO_MEMBER PERL_INT_MAX -syn keyword xsMacro PERL_INT_MIN PERL_LOADMOD_DENY PERL_LOADMOD_IMPORT_OPS -syn keyword xsMacro PERL_LOADMOD_NOIMPORT PERL_LONG_MAX PERL_LONG_MIN -syn keyword xsMacro PERL_MALLOC_WRAP PERL_MG_UFUNC PERL_MY_SNPRINTF_GUARDED -syn keyword xsMacro PERL_MY_VSNPRINTF_GUARDED PERL_NEED_MY_BETOH16 -syn keyword xsMacro PERL_NEED_MY_BETOH32 PERL_NEED_MY_BETOHI -syn keyword xsMacro PERL_NEED_MY_BETOHL PERL_NEED_MY_BETOHS -syn keyword xsMacro PERL_NEED_MY_HTOBE16 PERL_NEED_MY_HTOBE32 -syn keyword xsMacro PERL_NEED_MY_HTOBEI PERL_NEED_MY_HTOBEL -syn keyword xsMacro PERL_NEED_MY_HTOBES PERL_NEED_MY_HTOLE16 -syn keyword xsMacro PERL_NEED_MY_HTOLE32 PERL_NEED_MY_HTOLEI -syn keyword xsMacro PERL_NEED_MY_HTOLEL PERL_NEED_MY_HTOLES -syn keyword xsMacro PERL_NEED_MY_LETOH16 PERL_NEED_MY_LETOH32 -syn keyword xsMacro PERL_NEED_MY_LETOHI PERL_NEED_MY_LETOHL -syn keyword xsMacro PERL_NEED_MY_LETOHS PERL_NO_DEV_RANDOM PERL_OBJECT_THIS -syn keyword xsMacro PERL_OBJECT_THIS_ PERL_PADSEQ_INTRO PERL_PATCHNUM +syn keyword xsMacro PERL_ENABLE_TRIE_OPTIMISATION PERL_EXIT_ABORT +syn keyword xsMacro PERL_EXIT_DESTRUCT_END PERL_EXIT_EXPECTED PERL_EXIT_WARN +syn keyword xsMacro PERL_EXPORT_C PERL_FILE_IS_ABSOLUTE PERL_FILTER_EXISTS +syn keyword xsMacro PERL_FLUSHALL_FOR_CHILD PERL_FPU_INIT PERL_FPU_POST_EXEC +syn keyword xsMacro PERL_FPU_PRE_EXEC PERL_FS_VERSION PERL_FS_VER_FMT +syn keyword xsMacro PERL_GCC_BRACE_GROUPS_FORBIDDEN PERL_GET_CONTEXT +syn keyword xsMacro PERL_GET_INTERP PERL_GET_THX PERL_GET_VARS +syn keyword xsMacro PERL_GIT_UNPUSHED_COMMITS PERL_GLOBAL_STRUCT +syn keyword xsMacro PERL_GPROF_MONCONTROL PERL_HASH PERL_HASH_DEFAULT_HvMAX +syn keyword xsMacro PERL_HASH_FUNC PERL_HASH_FUNC_ONE_AT_A_TIME_HARD +syn keyword xsMacro PERL_HASH_INTERNAL PERL_HASH_ITER_BUCKET +syn keyword xsMacro PERL_HASH_RANDOMIZE_KEYS PERL_HASH_SEED +syn keyword xsMacro PERL_HASH_SEED_BYTES PERL_HASH_WITH_SEED +syn keyword xsMacro PERL_HV_ALLOC_AUX_SIZE PERL_HV_ARRAY_ALLOC_BYTES +syn keyword xsMacro PERL_IMPLICIT_CONTEXT PERL_INTERPRETER_SIZE_UPTO_MEMBER +syn keyword xsMacro PERL_INT_MAX PERL_INT_MIN PERL_LOADMOD_DENY +syn keyword xsMacro PERL_LOADMOD_IMPORT_OPS PERL_LOADMOD_NOIMPORT +syn keyword xsMacro PERL_LONG_MAX PERL_LONG_MIN PERL_MALLOC_WRAP +syn keyword xsMacro PERL_MEMORY_DEBUG_HEADER_SIZE PERL_MG_UFUNC +syn keyword xsMacro PERL_MY_SNPRINTF_GUARDED PERL_MY_SNPRINTF_POST_GUARD +syn keyword xsMacro PERL_MY_VSNPRINTF_GUARDED PERL_MY_VSNPRINTF_POST_GUARD +syn keyword xsMacro PERL_NEW_COPY_ON_WRITE PERL_NO_DEV_RANDOM +syn keyword xsMacro PERL_OBJECT_THIS PERL_OBJECT_THIS_ PERL_PADNAME_MINIMAL +syn keyword xsMacro PERL_PADSEQ_INTRO PERL_PATCHNUM PERL_POISON_EXPR syn keyword xsMacro PERL_PPADDR_INITED PERL_PPDEF PERL_PRESERVE_IVUV syn keyword xsMacro PERL_PRIeldbl PERL_PRIfldbl PERL_PRIgldbl -syn keyword xsMacro PERL_PV_ESCAPE_ALL PERL_PV_ESCAPE_FIRSTCHAR -syn keyword xsMacro PERL_PV_ESCAPE_NOBACKSLASH PERL_PV_ESCAPE_NOCLEAR -syn keyword xsMacro PERL_PV_ESCAPE_NONASCII PERL_PV_ESCAPE_QUOTE -syn keyword xsMacro PERL_PV_ESCAPE_RE PERL_PV_ESCAPE_UNI +syn keyword xsMacro PERL_PV_ESCAPE_ALL PERL_PV_ESCAPE_DWIM +syn keyword xsMacro PERL_PV_ESCAPE_FIRSTCHAR PERL_PV_ESCAPE_NOBACKSLASH +syn keyword xsMacro PERL_PV_ESCAPE_NOCLEAR PERL_PV_ESCAPE_NONASCII +syn keyword xsMacro PERL_PV_ESCAPE_QUOTE PERL_PV_ESCAPE_RE PERL_PV_ESCAPE_UNI syn keyword xsMacro PERL_PV_ESCAPE_UNI_DETECT PERL_PV_PRETTY_DUMP -syn keyword xsMacro PERL_PV_PRETTY_ELLIPSES PERL_PV_PRETTY_LTGT -syn keyword xsMacro PERL_PV_PRETTY_NOCLEAR PERL_PV_PRETTY_QUOTE -syn keyword xsMacro PERL_PV_PRETTY_REGPROP PERL_QUAD_MAX PERL_QUAD_MIN -syn keyword xsMacro PERL_REENTR_API PERL_REGMATCH_SLAB_SLOTS PERL_REVISION +syn keyword xsMacro PERL_PV_PRETTY_ELLIPSES PERL_PV_PRETTY_EXACTSIZE +syn keyword xsMacro PERL_PV_PRETTY_LTGT PERL_PV_PRETTY_NOCLEAR +syn keyword xsMacro PERL_PV_PRETTY_QUOTE PERL_PV_PRETTY_REGPROP PERL_QUAD_MAX +syn keyword xsMacro PERL_QUAD_MIN PERL_REENTR_API PERL_REGMATCH_SLAB_SLOTS +syn keyword xsMacro PERL_RELOCATABLE_INC PERL_REVISION PERL_SAWAMPERSAND syn keyword xsMacro PERL_SCAN_ALLOW_UNDERSCORES PERL_SCAN_DISALLOW_PREFIX syn keyword xsMacro PERL_SCAN_GREATER_THAN_UV_MAX PERL_SCAN_SILENT_ILLDIGIT -syn keyword xsMacro PERL_SCAN_SILENT_NON_PORTABLE PERL_SCNfldbl -syn keyword xsMacro PERL_SCRIPT_MODE PERL_SET_CONTEXT PERL_SET_INTERP -syn keyword xsMacro PERL_SET_PHASE PERL_SET_THX PERL_SHORT_MAX PERL_SHORT_MIN -syn keyword xsMacro PERL_SIGNALS_UNSAFE_FLAG PERL_STACK_OVERFLOW_CHECK -syn keyword xsMacro PERL_STATIC_INLINE PERL_STRLEN_EXPAND_SHIFT -syn keyword xsMacro PERL_STRLEN_ROUNDUP PERL_STRLEN_ROUNDUP_QUANTUM -syn keyword xsMacro PERL_SUBVERSION PERL_SUB_DEPTH_WARN PERL_SYS_INIT +syn keyword xsMacro PERL_SCAN_SILENT_NON_PORTABLE PERL_SCAN_TRAILING +syn keyword xsMacro PERL_SCNfldbl PERL_SCRIPT_MODE PERL_SEEN_HV_FUNC_H +syn keyword xsMacro PERL_SET_CONTEXT PERL_SET_INTERP PERL_SET_PHASE +syn keyword xsMacro PERL_SET_THX PERL_SHORT_MAX PERL_SHORT_MIN +syn keyword xsMacro PERL_SIGNALS_UNSAFE_FLAG PERL_SNPRINTF_CHECK +syn keyword xsMacro PERL_STACK_OVERFLOW_CHECK PERL_STATIC_INLINE +syn keyword xsMacro PERL_STATIC_INLINE_NO_RET PERL_STATIC_NO_RET +syn keyword xsMacro PERL_STRLEN_EXPAND_SHIFT PERL_STRLEN_ROUNDUP +syn keyword xsMacro PERL_STRLEN_ROUNDUP_QUANTUM PERL_SUBVERSION +syn keyword xsMacro PERL_SUB_DEPTH_WARN PERL_SYS_FPU_INIT PERL_SYS_INIT syn keyword xsMacro PERL_SYS_INIT3 PERL_SYS_INIT3_BODY PERL_SYS_INIT_BODY syn keyword xsMacro PERL_SYS_TERM PERL_SYS_TERM_BODY PERL_TARGETARCH syn keyword xsMacro PERL_UCHAR_MAX PERL_UCHAR_MIN PERL_UINT_MAX PERL_UINT_MIN @@ -2420,49 +2718,47 @@ syn keyword xsMacro PERL_UNICODE_STD_FLAG PERL_UNICODE_UTF8CACHEASSERT syn keyword xsMacro PERL_UNICODE_UTF8CACHEASSERT_FLAG syn keyword xsMacro PERL_UNICODE_WIDESYSCALLS PERL_UNICODE_WIDESYSCALLS_FLAG syn keyword xsMacro PERL_UNUSED_ARG PERL_UNUSED_CONTEXT PERL_UNUSED_DECL -syn keyword xsMacro PERL_UNUSED_VAR PERL_UQUAD_MAX PERL_UQUAD_MIN -syn keyword xsMacro PERL_USES_PL_PIDSTATUS PERL_USE_GCC_BRACE_GROUPS -syn keyword xsMacro PERL_USHORT_MAX PERL_USHORT_MIN PERL_VERSION -syn keyword xsMacro PERL_VERSION_STRING PERL_WAIT_FOR_CHILDREN -syn keyword xsMacro PERL_WARNHOOK_FATAL PERL_WRITE_MSG_TO_CONSOLE -syn keyword xsMacro PERL_XS_EXPORT_C PHASE_CHANGE_PROBE PHOSTNAME -syn keyword xsMacro PIPESOCK_MODE PIPE_OPEN_MODE PLUGEXPR PLUGSTMT PLUS -syn keyword xsMacro PL_ASCII PL_AboveLatin1 PL_Argv PL_Cmd PL_DBcv PL_DBgv -syn keyword xsMacro PL_DBline PL_DBsignal PL_DBsingle PL_DBsub PL_DBtrace -syn keyword xsMacro PL_Dir PL_Env PL_Gappctx PL_Gcheck PL_Gcheck_mutex -syn keyword xsMacro PL_Gcsighandlerp PL_Gcurinterp PL_Gdo_undump -syn keyword xsMacro PL_Gdollarzero_mutex PL_Gfold_locale PL_Ghints_mutex -syn keyword xsMacro PL_Gkeyword_plugin PL_Gmalloc_mutex PL_Gmmap_page_size -syn keyword xsMacro PL_Gmy_ctx_mutex PL_Gmy_cxt_index PL_Gop_mutex PL_Gop_seq -syn keyword xsMacro PL_Gop_sequence PL_Gperlio_debug_fd PL_Gperlio_fd_refcnt +syn keyword xsMacro PERL_UNUSED_RESULT PERL_UNUSED_VAR PERL_UQUAD_MAX +syn keyword xsMacro PERL_UQUAD_MIN PERL_USES_PL_PIDSTATUS +syn keyword xsMacro PERL_USE_GCC_BRACE_GROUPS PERL_USHORT_MAX PERL_USHORT_MIN +syn keyword xsMacro PERL_VERSION PERL_VERSION_DECIMAL PERL_VERSION_GE +syn keyword xsMacro PERL_VERSION_LT PERL_VERSION_STRING +syn keyword xsMacro PERL_WAIT_FOR_CHILDREN PERL_WARNHOOK_FATAL +syn keyword xsMacro PERL_WRITE_MSG_TO_CONSOLE PERL_XS_EXPORT_C +syn keyword xsMacro PHASE_CHANGE_PROBE PHOSTNAME PIPESOCK_MODE PIPE_OPEN_MODE +syn keyword xsMacro PLUGEXPR PLUGSTMT PLUS PL_AboveLatin1 PL_Argv PL_Cmd +syn keyword xsMacro PL_DBcontrol PL_DBcv PL_DBgv PL_DBline PL_DBsignal +syn keyword xsMacro PL_DBsignal_iv PL_DBsingle PL_DBsingle_iv PL_DBsub +syn keyword xsMacro PL_DBtrace PL_DBtrace_iv PL_Dir PL_Env PL_GCB_invlist +syn keyword xsMacro PL_Gappctx PL_Gcheck PL_Gcheck_mutex PL_Gcsighandlerp +syn keyword xsMacro PL_Gcurinterp PL_Gdo_undump PL_Gdollarzero_mutex +syn keyword xsMacro PL_Gfold_locale PL_Ghash_seed PL_Ghash_seed_set +syn keyword xsMacro PL_Ghints_mutex PL_Gkeyword_plugin PL_Gmalloc_mutex +syn keyword xsMacro PL_Gmmap_page_size PL_Gmy_ctx_mutex PL_Gmy_cxt_index +syn keyword xsMacro PL_Gop_mutex PL_Gop_seq PL_Gop_sequence +syn keyword xsMacro PL_Gperlio_debug_fd PL_Gperlio_fd_refcnt syn keyword xsMacro PL_Gperlio_fd_refcnt_size PL_Gperlio_mutex PL_Gppaddr syn keyword xsMacro PL_Gsh_path PL_Gsig_defaulting PL_Gsig_handlers_initted syn keyword xsMacro PL_Gsig_ignoring PL_Gsig_trapped PL_Gsigfpe_saved syn keyword xsMacro PL_Gsv_placeholder PL_Gthr_key PL_Gtimesbase syn keyword xsMacro PL_Guse_safe_putenv PL_Gveto_cleanup PL_Gwatch_pvx -syn keyword xsMacro PL_L1Cased PL_L1PosixAlnum PL_L1PosixAlpha -syn keyword xsMacro PL_L1PosixGraph PL_L1PosixLower PL_L1PosixPrint -syn keyword xsMacro PL_L1PosixPunct PL_L1PosixUpper PL_L1PosixWord PL_LIO -syn keyword xsMacro PL_Latin1 PL_Mem PL_MemParse PL_MemShared -syn keyword xsMacro PL_OP_SLAB_ALLOC PL_OpPtr PL_OpSlab PL_OpSpace -syn keyword xsMacro PL_PerlSpace PL_PosixAlnum PL_PosixAlpha PL_PosixBlank -syn keyword xsMacro PL_PosixCntrl PL_PosixDigit PL_PosixGraph PL_PosixLower -syn keyword xsMacro PL_PosixPrint PL_PosixPunct PL_PosixSpace PL_PosixUpper -syn keyword xsMacro PL_PosixWord PL_PosixXDigit PL_Proc PL_Sock PL_StdIO -syn keyword xsMacro PL_Sv PL_VertSpace PL_XPerlSpace PL_XPosixBlank -syn keyword xsMacro PL_XPosixCntrl PL_XPosixSpace PL_XPosixXDigit PL_Xpv -syn keyword xsMacro PL_amagic_generation PL_an PL_apiversion PL_appctx -syn keyword xsMacro PL_argvgv PL_argvout_stack PL_argvoutgv PL_basetime -syn keyword xsMacro PL_beginav PL_beginav_save PL_blockhooks PL_body_arenas -syn keyword xsMacro PL_body_roots PL_bodytarget PL_bostr PL_breakable_sub_gen +syn keyword xsMacro PL_HASH_RAND_BITS_ENABLED PL_HasMultiCharFold PL_InBitmap +syn keyword xsMacro PL_LIO PL_Latin1 PL_Mem PL_MemParse PL_MemShared +syn keyword xsMacro PL_NonL1NonFinalFold PL_Posix_ptrs PL_Proc +syn keyword xsMacro PL_RANDOM_STATE_TYPE PL_SB_invlist PL_Sock PL_StdIO PL_Sv +syn keyword xsMacro PL_UpperLatin1 PL_WB_invlist PL_XPosix_ptrs PL_Xpv +syn keyword xsMacro PL_amagic_generation PL_an PL_appctx PL_argvgv +syn keyword xsMacro PL_argvout_stack PL_argvoutgv PL_basetime PL_beginav +syn keyword xsMacro PL_beginav_save PL_blockhooks PL_body_arenas +syn keyword xsMacro PL_body_roots PL_bodytarget PL_breakable_sub_gen syn keyword xsMacro PL_check_mutex PL_checkav PL_checkav_save PL_chopset syn keyword xsMacro PL_clocktick PL_collation_ix PL_collation_name syn keyword xsMacro PL_collation_standard PL_collxfrm_base PL_collxfrm_mult syn keyword xsMacro PL_colors PL_colorset PL_compcv PL_compiling PL_comppad syn keyword xsMacro PL_comppad_name PL_comppad_name_fill -syn keyword xsMacro PL_comppad_name_floor PL_cop_seqmax PL_cryptseen -syn keyword xsMacro PL_cshlen PL_csighandlerp PL_curcop PL_curcopdb -syn keyword xsMacro PL_curinterp PL_curpad PL_curpm PL_curstack +syn keyword xsMacro PL_comppad_name_floor PL_constpadix PL_cop_seqmax +syn keyword xsMacro PL_cryptseen PL_cshlen PL_csighandlerp PL_curcop +syn keyword xsMacro PL_curcopdb PL_curinterp PL_curpad PL_curpm PL_curstack syn keyword xsMacro PL_curstackinfo PL_curstash PL_curstname syn keyword xsMacro PL_custom_op_descs PL_custom_op_names PL_custom_ops syn keyword xsMacro PL_cv_has_eval PL_dbargs PL_debstash PL_debug @@ -2475,133 +2771,139 @@ syn keyword xsMacro PL_dumpindent PL_e_script PL_efloatbuf PL_efloatsize syn keyword xsMacro PL_encoding PL_endav PL_envgv PL_errgv PL_errors syn keyword xsMacro PL_eval_root PL_eval_start PL_evalseq PL_exit_flags syn keyword xsMacro PL_exitlist PL_exitlistlen PL_fdpid PL_filemode -syn keyword xsMacro PL_firstgv PL_forkprocess PL_formfeed PL_formtarget -syn keyword xsMacro PL_generation PL_gensym PL_glob_index PL_globalstash -syn keyword xsMacro PL_globhook PL_hash_seed PL_hintgv PL_hints -syn keyword xsMacro PL_hints_mutex PL_hv_fetch_ent_mh PL_in_clean_all -syn keyword xsMacro PL_in_clean_objs PL_in_eval PL_in_load_module PL_incgv +syn keyword xsMacro PL_firstgv PL_forkprocess PL_formtarget PL_generation +syn keyword xsMacro PL_gensym PL_globalstash PL_globhook PL_hash_rand_bits +syn keyword xsMacro PL_hash_rand_bits_enabled PL_hash_seed PL_hash_seed_set +syn keyword xsMacro PL_hintgv PL_hints PL_hints_mutex PL_hv_fetch_ent_mh +syn keyword xsMacro PL_in_clean_all PL_in_clean_objs PL_in_eval +syn keyword xsMacro PL_in_load_module PL_in_utf8_CTYPE_locale PL_incgv syn keyword xsMacro PL_initav PL_inplace PL_isarev PL_keyword_plugin syn keyword xsMacro PL_known_layers PL_last_in_gv PL_last_swash_hv syn keyword xsMacro PL_last_swash_key PL_last_swash_klen PL_last_swash_slen syn keyword xsMacro PL_last_swash_tmps PL_lastfd PL_lastgotoprobe -syn keyword xsMacro PL_laststatval PL_laststype PL_localizing PL_localpatches -syn keyword xsMacro PL_lockhook PL_madskills PL_main_cv PL_main_root +syn keyword xsMacro PL_laststatval PL_laststype PL_lex_encoding PL_localizing +syn keyword xsMacro PL_localpatches PL_lockhook PL_main_cv PL_main_root syn keyword xsMacro PL_main_start PL_mainstack PL_malloc_mutex PL_markstack syn keyword xsMacro PL_markstack_max PL_markstack_ptr PL_max_intro_pending syn keyword xsMacro PL_maxo PL_maxsysfd PL_memory_debug_header PL_mess_sv syn keyword xsMacro PL_min_intro_pending PL_minus_E PL_minus_F PL_minus_a syn keyword xsMacro PL_minus_c PL_minus_l PL_minus_n PL_minus_p syn keyword xsMacro PL_mmap_page_size PL_modcount PL_modglobal -syn keyword xsMacro PL_my_ctx_mutex PL_my_cxt_index PL_my_cxt_keys -syn keyword xsMacro PL_my_cxt_list PL_my_cxt_size PL_nomemok PL_nrs +syn keyword xsMacro PL_multideref_pc PL_my_ctx_mutex PL_my_cxt_index +syn keyword xsMacro PL_my_cxt_keys PL_my_cxt_list PL_my_cxt_size PL_nomemok syn keyword xsMacro PL_numeric_local PL_numeric_name PL_numeric_radix_sv -syn keyword xsMacro PL_numeric_standard PL_ofsgv PL_oldname PL_op PL_op_mask -syn keyword xsMacro PL_op_mutex PL_op_seq PL_op_sequence PL_opfreehook -syn keyword xsMacro PL_opsave PL_origalen PL_origargc PL_origargv -syn keyword xsMacro PL_origenviron PL_origfilename PL_ors_sv PL_osname -syn keyword xsMacro PL_pad_reset_pending PL_padix PL_padix_floor PL_parser -syn keyword xsMacro PL_patchlevel PL_peepp PL_perl_destruct_level PL_perldb -syn keyword xsMacro PL_perlio PL_perlio_debug_fd PL_perlio_fd_refcnt -syn keyword xsMacro PL_perlio_fd_refcnt_size PL_perlio_mutex PL_phase -syn keyword xsMacro PL_pidstatus PL_preambleav PL_profiledata PL_psig_name -syn keyword xsMacro PL_psig_pend PL_psig_ptr PL_ptr_table PL_reentrant_buffer -syn keyword xsMacro PL_reentrant_retint PL_reg_curpm PL_reg_eval_set -syn keyword xsMacro PL_reg_flags PL_reg_leftiter PL_reg_magic -syn keyword xsMacro PL_reg_match_utf8 PL_reg_maxiter PL_reg_oldcurpm -syn keyword xsMacro PL_reg_oldpos PL_reg_oldsaved PL_reg_oldsavedlen -syn keyword xsMacro PL_reg_poscache PL_reg_poscache_size PL_reg_start_tmp -syn keyword xsMacro PL_reg_start_tmpl PL_reg_starttry PL_reg_state -syn keyword xsMacro PL_regdummy PL_regeol PL_regex_pad PL_regex_padav -syn keyword xsMacro PL_reginput PL_reginterp_cnt PL_registered_mros -syn keyword xsMacro PL_reglastcloseparen PL_reglastparen PL_regmatch_slab -syn keyword xsMacro PL_regmatch_state PL_regoffs PL_regsize PL_rehash_seed -syn keyword xsMacro PL_rehash_seed_set PL_replgv PL_restartjmpenv -syn keyword xsMacro PL_restartop PL_rpeepp PL_rs PL_runops PL_savebegin -syn keyword xsMacro PL_savestack PL_savestack_ix PL_savestack_max +syn keyword xsMacro PL_numeric_standard PL_ofsgv PL_oldname PL_op +syn keyword xsMacro PL_op_exec_cnt PL_op_mask PL_op_mutex PL_op_seq +syn keyword xsMacro PL_op_sequence PL_opfreehook PL_origalen PL_origargc +syn keyword xsMacro PL_origargv PL_origenviron PL_origfilename PL_ors_sv +syn keyword xsMacro PL_osname PL_pad_reset_pending PL_padix PL_padix_floor +syn keyword xsMacro PL_padlist_generation PL_padname_const PL_padname_undef +syn keyword xsMacro PL_parser PL_patchlevel PL_peepp PL_perl_destruct_level +syn keyword xsMacro PL_perldb PL_perlio PL_perlio_debug_fd +syn keyword xsMacro PL_perlio_fd_refcnt PL_perlio_fd_refcnt_size +syn keyword xsMacro PL_perlio_mutex PL_phase PL_pidstatus PL_preambleav +syn keyword xsMacro PL_profiledata PL_psig_name PL_psig_pend PL_psig_ptr +syn keyword xsMacro PL_ptr_table PL_random_state PL_reentrant_buffer +syn keyword xsMacro PL_reentrant_retint PL_reg_curpm PL_regex_pad +syn keyword xsMacro PL_regex_padav PL_registered_mros PL_regmatch_slab +syn keyword xsMacro PL_regmatch_state PL_replgv PL_restartjmpenv PL_restartop +syn keyword xsMacro PL_rpeepp PL_rs PL_runops PL_savebegin PL_savestack +syn keyword xsMacro PL_savestack_ix PL_savestack_max PL_sawalias syn keyword xsMacro PL_sawampersand PL_scopestack PL_scopestack_ix syn keyword xsMacro PL_scopestack_max PL_scopestack_name PL_secondgv syn keyword xsMacro PL_sharehook PL_sig_defaulting PL_sig_handlers_initted syn keyword xsMacro PL_sig_ignoring PL_sig_pending PL_sig_trapped syn keyword xsMacro PL_sigfpe_saved PL_sighandlerp PL_signalhook PL_signals -syn keyword xsMacro PL_slab_count PL_slabs PL_sort_RealCmp PL_sortcop -syn keyword xsMacro PL_sortstash PL_splitstr PL_srand_called PL_stack_base -syn keyword xsMacro PL_stack_max PL_stack_sp PL_start_env PL_stashcache -syn keyword xsMacro PL_statbuf PL_statcache PL_statgv PL_statname -syn keyword xsMacro PL_statusvalue PL_statusvalue_posix PL_statusvalue_vms -syn keyword xsMacro PL_stderrgv PL_stdingv PL_strtab PL_sub_generation -syn keyword xsMacro PL_subline PL_subname PL_sv_arenaroot PL_sv_count -syn keyword xsMacro PL_sv_no PL_sv_objcount PL_sv_placeholder PL_sv_root -syn keyword xsMacro PL_sv_serial PL_sv_undef PL_sv_yes PL_sys_intern -syn keyword xsMacro PL_taint_warn PL_tainted PL_tainting PL_thr_key -syn keyword xsMacro PL_threadhook PL_timesbase PL_timesbuf PL_tmps_floor -syn keyword xsMacro PL_tmps_ix PL_tmps_max PL_tmps_stack PL_top_env -syn keyword xsMacro PL_toptarget PL_unicode PL_unitcheckav +syn keyword xsMacro PL_sort_RealCmp PL_sortcop PL_sortstash PL_splitstr +syn keyword xsMacro PL_srand_called PL_stack_base PL_stack_max PL_stack_sp +syn keyword xsMacro PL_start_env PL_stashcache PL_stashpad PL_stashpadix +syn keyword xsMacro PL_stashpadmax PL_statbuf PL_statcache PL_statgv +syn keyword xsMacro PL_statname PL_statusvalue PL_statusvalue_posix +syn keyword xsMacro PL_statusvalue_vms PL_stderrgv PL_stdingv PL_strtab +syn keyword xsMacro PL_sub_generation PL_subline PL_subname PL_sv_arenaroot +syn keyword xsMacro PL_sv_consts PL_sv_count PL_sv_no PL_sv_placeholder +syn keyword xsMacro PL_sv_root PL_sv_serial PL_sv_undef PL_sv_yes +syn keyword xsMacro PL_sys_intern PL_taint_warn PL_tainted PL_tainting +syn keyword xsMacro PL_thr_key PL_threadhook PL_timesbase PL_timesbuf +syn keyword xsMacro PL_tmps_floor PL_tmps_ix PL_tmps_max PL_tmps_stack +syn keyword xsMacro PL_top_env PL_toptarget PL_unicode PL_unitcheckav syn keyword xsMacro PL_unitcheckav_save PL_unlockhook PL_unsafe -syn keyword xsMacro PL_use_safe_putenv PL_utf8_X_L PL_utf8_X_LV PL_utf8_X_LVT -syn keyword xsMacro PL_utf8_X_LV_LVT_V PL_utf8_X_T PL_utf8_X_V -syn keyword xsMacro PL_utf8_X_begin PL_utf8_X_extend PL_utf8_X_non_hangul -syn keyword xsMacro PL_utf8_X_prepend PL_utf8_alnum PL_utf8_alpha -syn keyword xsMacro PL_utf8_digit PL_utf8_foldable PL_utf8_foldclosures -syn keyword xsMacro PL_utf8_graph PL_utf8_idcont PL_utf8_idstart -syn keyword xsMacro PL_utf8_lower PL_utf8_mark PL_utf8_perl_idstart -syn keyword xsMacro PL_utf8_print PL_utf8_punct PL_utf8_quotemeta -syn keyword xsMacro PL_utf8_space PL_utf8_tofold PL_utf8_tolower -syn keyword xsMacro PL_utf8_totitle PL_utf8_toupper PL_utf8_upper -syn keyword xsMacro PL_utf8_xdigit PL_utf8_xidcont PL_utf8_xidstart -syn keyword xsMacro PL_utf8cache PL_utf8locale PL_veto_cleanup PL_vtbl_amagic -syn keyword xsMacro PL_vtbl_amagicelem PL_vtbl_arylen PL_vtbl_arylen_p -syn keyword xsMacro PL_vtbl_backref PL_vtbl_bm PL_vtbl_collxfrm -syn keyword xsMacro PL_vtbl_dbline PL_vtbl_defelem PL_vtbl_env -syn keyword xsMacro PL_vtbl_envelem PL_vtbl_fm PL_vtbl_hints -syn keyword xsMacro PL_vtbl_hintselem PL_vtbl_isa PL_vtbl_isaelem -syn keyword xsMacro PL_vtbl_mglob PL_vtbl_nkeys PL_vtbl_ovrld PL_vtbl_pack -syn keyword xsMacro PL_vtbl_packelem PL_vtbl_pos PL_vtbl_regdata -syn keyword xsMacro PL_vtbl_regdatum PL_vtbl_regexp PL_vtbl_sigelem -syn keyword xsMacro PL_vtbl_substr PL_vtbl_sv PL_vtbl_taint PL_vtbl_utf8 -syn keyword xsMacro PL_vtbl_uvar PL_vtbl_vec PL_vtbl_vstring PL_warnhook -syn keyword xsMacro PL_watch_pvx PL_watchaddr PL_watchok PL_xmlfp PMFUNC -syn keyword xsMacro PM_GETRE PM_SETRE PMf_BASE_SHIFT PMf_COMPILETIME -syn keyword xsMacro PMf_CONST PMf_CONTINUE PMf_EVAL PMf_EXTENDED PMf_FOLD -syn keyword xsMacro PMf_GLOBAL PMf_KEEP PMf_KEEPCOPY PMf_MAYBE_CONST -syn keyword xsMacro PMf_MULTILINE PMf_NONDESTRUCT PMf_ONCE PMf_RETAINT -syn keyword xsMacro PMf_SINGLELINE PMf_USED POPBLOCK POPEVAL POPFORMAT +syn keyword xsMacro PL_use_safe_putenv PL_utf8_charname_begin +syn keyword xsMacro PL_utf8_charname_continue PL_utf8_foldable +syn keyword xsMacro PL_utf8_foldclosures PL_utf8_idcont PL_utf8_idstart +syn keyword xsMacro PL_utf8_mark PL_utf8_perl_idcont PL_utf8_perl_idstart +syn keyword xsMacro PL_utf8_swash_ptrs PL_utf8_tofold PL_utf8_tolower +syn keyword xsMacro PL_utf8_totitle PL_utf8_toupper PL_utf8_xidcont +syn keyword xsMacro PL_utf8_xidstart PL_utf8cache PL_utf8locale +syn keyword xsMacro PL_veto_cleanup PL_vtbl_arylen PL_vtbl_arylen_p +syn keyword xsMacro PL_vtbl_backref PL_vtbl_bm PL_vtbl_checkcall +syn keyword xsMacro PL_vtbl_collxfrm PL_vtbl_dbline PL_vtbl_debugvar +syn keyword xsMacro PL_vtbl_defelem PL_vtbl_env PL_vtbl_envelem PL_vtbl_fm +syn keyword xsMacro PL_vtbl_hints PL_vtbl_hintselem PL_vtbl_isa +syn keyword xsMacro PL_vtbl_isaelem PL_vtbl_lvref PL_vtbl_mglob PL_vtbl_nkeys +syn keyword xsMacro PL_vtbl_ovrld PL_vtbl_pack PL_vtbl_packelem PL_vtbl_pos +syn keyword xsMacro PL_vtbl_regdata PL_vtbl_regdatum PL_vtbl_regexp +syn keyword xsMacro PL_vtbl_sigelem PL_vtbl_substr PL_vtbl_sv PL_vtbl_taint +syn keyword xsMacro PL_vtbl_utf8 PL_vtbl_uvar PL_vtbl_vec PL_warn_locale +syn keyword xsMacro PL_warnhook PL_watch_pvx PL_watchaddr PL_watchok +syn keyword xsMacro PL_xsubfilename PMFUNC PM_GETRE PM_SETRE PMf_BASE_SHIFT +syn keyword xsMacro PMf_CHARSET PMf_CODELIST_PRIVATE PMf_CONST PMf_CONTINUE +syn keyword xsMacro PMf_EVAL PMf_EXTENDED PMf_EXTENDED_MORE PMf_FOLD +syn keyword xsMacro PMf_GLOBAL PMf_HAS_CV PMf_IS_QR PMf_KEEP PMf_KEEPCOPY +syn keyword xsMacro PMf_MULTILINE PMf_NOCAPTURE PMf_NONDESTRUCT PMf_ONCE +syn keyword xsMacro PMf_RETAINT PMf_SINGLELINE PMf_SPLIT PMf_STRICT PMf_USED +syn keyword xsMacro PMf_USE_RE_EVAL PNf PNfARG POPBLOCK POPEVAL POPFORMAT syn keyword xsMacro POPLOOP POPMARK POPSTACK POPSTACK_TO POPSUB POPSUBST syn keyword xsMacro POP_MULTICALL POP_SAVEARRAY POPi POPl POPn POPp POPpbytex -syn keyword xsMacro POPpconstx POPpx POPq POPs POPu POPul POPuq POSTDEC -syn keyword xsMacro POSTINC POWOP PP PREC_LOW PREDEC PREGf_CUTGROUP_SEEN -syn keyword xsMacro PREGf_IMPLICIT PREGf_NAUGHTY PREGf_SKIP -syn keyword xsMacro PREGf_VERBARG_SEEN PREINC PREVOPER PRINTF_FORMAT_NULL_OK -syn keyword xsMacro PRIVATEREF PRIVLIB PRIVLIB_EXP PRIVSHIFT PROCSELFEXE_PATH -syn keyword xsMacro PRUNE PSEUDO PTHREAD_ATFORK PTHREAD_ATTR_SETDETACHSTATE +syn keyword xsMacro POPpconstx POPpx POPs POPu POPul POSIXA POSIXD POSIXL +syn keyword xsMacro POSIXU POSIX_CC_COUNT POSIX_SWASH_COUNT POSTDEC POSTINC +syn keyword xsMacro POSTJOIN POWOP PP PREC_LOW PREDEC PREGf_ANCH +syn keyword xsMacro PREGf_ANCH_GPOS PREGf_ANCH_MBOL PREGf_ANCH_SBOL +syn keyword xsMacro PREGf_CANY_SEEN PREGf_CUTGROUP_SEEN PREGf_GPOS_FLOAT +syn keyword xsMacro PREGf_GPOS_SEEN PREGf_IMPLICIT PREGf_NAUGHTY PREGf_NOSCAN +syn keyword xsMacro PREGf_SKIP PREGf_USE_RE_EVAL PREGf_VERBARG_SEEN PREINC +syn keyword xsMacro PRESCAN_VERSION PREVOPER PRINTF_FORMAT_NULL_OK PRIVATEREF +syn keyword xsMacro PRIVLIB PRIVLIB_EXP PRIVSHIFT PROCSELFEXE_PATH PRUNE +syn keyword xsMacro PSEUDO PTHREAD_ATFORK PTHREAD_ATTR_SETDETACHSTATE syn keyword xsMacro PTHREAD_CREATE PTHREAD_CREATE_JOINABLE syn keyword xsMacro PTHREAD_GETSPECIFIC PTHREAD_GETSPECIFIC_INT PTR2IV PTR2NV syn keyword xsMacro PTR2UV PTR2nat PTR2ul PTRSIZE PTRV PUSHBLOCK PUSHEVAL syn keyword xsMacro PUSHFORMAT PUSHGIVEN PUSHLOOP_FOR PUSHLOOP_PLAIN PUSHMARK syn keyword xsMacro PUSHSTACK PUSHSTACKi PUSHSUB PUSHSUBST PUSHSUB_BASE -syn keyword xsMacro PUSHSUB_DB PUSHTARG PUSHWHEN PUSH_MULTICALL PUSHi -syn keyword xsMacro PUSHmortal PUSHn PUSHp PUSHs PUSHu PUTBACK PWGECOS -syn keyword xsMacro PWPASSWD Pause PeRl_CaTiFy PeRl_StGiFy PerlDir_chdir -syn keyword xsMacro PerlDir_close PerlDir_mapA PerlDir_mapW PerlDir_mkdir -syn keyword xsMacro PerlDir_open PerlDir_read PerlDir_rewind PerlDir_rmdir -syn keyword xsMacro PerlDir_seek PerlDir_tell PerlEnv_ENVgetenv -syn keyword xsMacro PerlEnv_ENVgetenv_len PerlEnv_clearenv -syn keyword xsMacro PerlEnv_free_childdir PerlEnv_free_childenv -syn keyword xsMacro PerlEnv_get_child_IO PerlEnv_get_childdir -syn keyword xsMacro PerlEnv_get_childenv PerlEnv_getenv PerlEnv_getenv_len -syn keyword xsMacro PerlEnv_lib_path PerlEnv_os_id PerlEnv_putenv -syn keyword xsMacro PerlEnv_sitelib_path PerlEnv_uname PerlEnv_vendorlib_path -syn keyword xsMacro PerlIOArg PerlIOBase PerlIONext PerlIOSelf PerlIOValid -syn keyword xsMacro PerlIO_canset_cnt PerlIO_exportFILE PerlIO_fast_gets -syn keyword xsMacro PerlIO_fdopen PerlIO_findFILE PerlIO_getc PerlIO_getname +syn keyword xsMacro PUSHSUB_DB PUSHSUB_GET_LVALUE_MASK PUSHTARG PUSHWHEN +syn keyword xsMacro PUSH_MULTICALL PUSH_MULTICALL_FLAGS PUSHi PUSHmortal +syn keyword xsMacro PUSHn PUSHp PUSHs PUSHu PUTBACK PWGECOS PWPASSWD PadARRAY +syn keyword xsMacro PadMAX PadlistARRAY PadlistMAX PadlistNAMES +syn keyword xsMacro PadlistNAMESARRAY PadlistNAMESMAX PadlistREFCNT +syn keyword xsMacro PadnameFLAGS PadnameIsOUR PadnameIsSTATE +syn keyword xsMacro PadnameIsSTATE_on PadnameLEN PadnameLVALUE +syn keyword xsMacro PadnameLVALUE_on PadnameOURSTASH PadnameOURSTASH_set +syn keyword xsMacro PadnameOUTER PadnamePROTOCV PadnamePV PadnameREFCNT +syn keyword xsMacro PadnameREFCNT_dec PadnameSV PadnameTYPE PadnameTYPE_set +syn keyword xsMacro PadnameUTF8 PadnamelistARRAY PadnamelistMAX +syn keyword xsMacro PadnamelistMAXNAMED PadnamelistREFCNT +syn keyword xsMacro PadnamelistREFCNT_dec Pause PeRl_CaTiFy PeRl_INT64_C +syn keyword xsMacro PeRl_StGiFy PeRl_UINT64_C PerlDir_chdir PerlDir_close +syn keyword xsMacro PerlDir_mapA PerlDir_mapW PerlDir_mkdir PerlDir_open +syn keyword xsMacro PerlDir_read PerlDir_rewind PerlDir_rmdir PerlDir_seek +syn keyword xsMacro PerlDir_tell PerlEnv_ENVgetenv PerlEnv_ENVgetenv_len +syn keyword xsMacro PerlEnv_clearenv PerlEnv_free_childdir +syn keyword xsMacro PerlEnv_free_childenv PerlEnv_get_child_IO +syn keyword xsMacro PerlEnv_get_childdir PerlEnv_get_childenv PerlEnv_getenv +syn keyword xsMacro PerlEnv_getenv_len PerlEnv_lib_path PerlEnv_os_id +syn keyword xsMacro PerlEnv_putenv PerlEnv_sitelib_path PerlEnv_uname +syn keyword xsMacro PerlEnv_vendorlib_path PerlIOArg PerlIOBase PerlIONext +syn keyword xsMacro PerlIOSelf PerlIOValid PerlIO_canset_cnt +syn keyword xsMacro PerlIO_exportFILE PerlIO_fast_gets PerlIO_fdopen +syn keyword xsMacro PerlIO_findFILE PerlIO_getc PerlIO_getname syn keyword xsMacro PerlIO_has_base PerlIO_has_cntptr PerlIO_importFILE syn keyword xsMacro PerlIO_isutf8 PerlIO_open PerlIO_printf PerlIO_putc syn keyword xsMacro PerlIO_puts PerlIO_releaseFILE PerlIO_reopen -syn keyword xsMacro PerlIO_rewind PerlIO_sprintf PerlIO_stdoutf -syn keyword xsMacro PerlIO_tmpfile PerlIO_ungetc PerlIO_vprintf -syn keyword xsMacro PerlLIO_access PerlLIO_chmod PerlLIO_chown PerlLIO_chsize -syn keyword xsMacro PerlLIO_close PerlLIO_dup PerlLIO_dup2 PerlLIO_flock -syn keyword xsMacro PerlLIO_fstat PerlLIO_ioctl PerlLIO_isatty PerlLIO_link -syn keyword xsMacro PerlLIO_lseek PerlLIO_lstat PerlLIO_mkstemp +syn keyword xsMacro PerlIO_rewind PerlIO_stdoutf PerlIO_tmpfile PerlIO_ungetc +syn keyword xsMacro PerlIO_vprintf PerlLIO_access PerlLIO_chmod PerlLIO_chown +syn keyword xsMacro PerlLIO_chsize PerlLIO_close PerlLIO_dup PerlLIO_dup2 +syn keyword xsMacro PerlLIO_flock PerlLIO_fstat PerlLIO_ioctl PerlLIO_isatty +syn keyword xsMacro PerlLIO_link PerlLIO_lseek PerlLIO_lstat PerlLIO_mkstemp syn keyword xsMacro PerlLIO_mktemp PerlLIO_open PerlLIO_open3 PerlLIO_read syn keyword xsMacro PerlLIO_rename PerlLIO_setmode PerlLIO_stat syn keyword xsMacro PerlLIO_tmpnam PerlLIO_umask PerlLIO_unlink PerlLIO_utime @@ -2657,18 +2959,21 @@ syn keyword xsMacro PerlSock_recv PerlSock_recvfrom PerlSock_select syn keyword xsMacro PerlSock_send PerlSock_sendto PerlSock_sethostent syn keyword xsMacro PerlSock_setnetent PerlSock_setprotoent syn keyword xsMacro PerlSock_setservent PerlSock_setsockopt PerlSock_shutdown -syn keyword xsMacro PerlSock_socket PerlSock_socketpair Perl_assert -syn keyword xsMacro Perl_atan2 Perl_atof Perl_atof2 Perl_ceil Perl_cos -syn keyword xsMacro Perl_debug_log Perl_error_log Perl_exp Perl_floor -syn keyword xsMacro Perl_fmod Perl_fp_class Perl_fp_class_denorm -syn keyword xsMacro Perl_fp_class_inf Perl_fp_class_nan Perl_fp_class_ndenorm -syn keyword xsMacro Perl_fp_class_ninf Perl_fp_class_nnorm Perl_fp_class_norm +syn keyword xsMacro PerlSock_socket PerlSock_socketpair Perl_acos Perl_asin +syn keyword xsMacro Perl_assert Perl_atan Perl_atan2 Perl_atof Perl_atof2 +syn keyword xsMacro Perl_ceil Perl_cos Perl_cosh Perl_custom_op_xop +syn keyword xsMacro Perl_debug_log Perl_drand48 Perl_drand48_init +syn keyword xsMacro Perl_error_log Perl_exp Perl_floor Perl_fmod +syn keyword xsMacro Perl_fp_class_denorm Perl_fp_class_inf Perl_fp_class_nan +syn keyword xsMacro Perl_fp_class_ndenorm Perl_fp_class_ninf +syn keyword xsMacro Perl_fp_class_nnorm Perl_fp_class_norm syn keyword xsMacro Perl_fp_class_nzero Perl_fp_class_pdenorm syn keyword xsMacro Perl_fp_class_pinf Perl_fp_class_pnorm syn keyword xsMacro Perl_fp_class_pzero Perl_fp_class_qnan Perl_fp_class_snan -syn keyword xsMacro Perl_fp_class_zero Perl_frexp Perl_isfinite Perl_isinf -syn keyword xsMacro Perl_isnan Perl_log Perl_malloc_good_size Perl_modf -syn keyword xsMacro Perl_pow Perl_pp_accept Perl_pp_aelemfast_lex +syn keyword xsMacro Perl_fp_class_zero Perl_free_c_backtrace Perl_frexp +syn keyword xsMacro Perl_isfinite Perl_isfinitel Perl_isinf Perl_isnan +syn keyword xsMacro Perl_ldexp Perl_log Perl_log10 Perl_malloc_good_size +syn keyword xsMacro Perl_modf Perl_pow Perl_pp_accept Perl_pp_aelemfast_lex syn keyword xsMacro Perl_pp_andassign Perl_pp_avalues Perl_pp_bind syn keyword xsMacro Perl_pp_bit_xor Perl_pp_chmod Perl_pp_chomp syn keyword xsMacro Perl_pp_connect Perl_pp_cos Perl_pp_custom @@ -2694,53 +2999,52 @@ syn keyword xsMacro Perl_pp_kill Perl_pp_lcfirst Perl_pp_lineseq syn keyword xsMacro Perl_pp_listen Perl_pp_localtime Perl_pp_log syn keyword xsMacro Perl_pp_lstat Perl_pp_mapstart Perl_pp_msgctl syn keyword xsMacro Perl_pp_msgget Perl_pp_msgrcv Perl_pp_msgsnd -syn keyword xsMacro Perl_pp_orassign Perl_pp_padany Perl_pp_pop -syn keyword xsMacro Perl_pp_postdec Perl_pp_predec Perl_pp_reach Perl_pp_read -syn keyword xsMacro Perl_pp_recv Perl_pp_regcmaybe Perl_pp_rindex -syn keyword xsMacro Perl_pp_rv2hv Perl_pp_rvalues Perl_pp_say Perl_pp_scalar -syn keyword xsMacro Perl_pp_schomp Perl_pp_scope Perl_pp_seek Perl_pp_semop -syn keyword xsMacro Perl_pp_send Perl_pp_sge Perl_pp_sgrent Perl_pp_sgt -syn keyword xsMacro Perl_pp_shmctl Perl_pp_shmget Perl_pp_shmread -syn keyword xsMacro Perl_pp_shutdown Perl_pp_slt Perl_pp_snetent -syn keyword xsMacro Perl_pp_socket Perl_pp_sprotoent Perl_pp_spwent -syn keyword xsMacro Perl_pp_sqrt Perl_pp_sservent Perl_pp_ssockopt -syn keyword xsMacro Perl_pp_symlink Perl_pp_transr Perl_pp_unlink -syn keyword xsMacro Perl_pp_utime Perl_pp_values Perl_safesysmalloc_size -syn keyword xsMacro Perl_sharepvn Perl_signbit Perl_sin Perl_sqrt -syn keyword xsMacro Perl_va_copy PmopSTASH PmopSTASHPV PmopSTASHPV_set -syn keyword xsMacro PmopSTASH_flags PmopSTASH_flags_set PmopSTASH_free -syn keyword xsMacro PmopSTASH_set Poison PoisonFree PoisonNew PoisonWith -syn keyword xsMacro QR_PAT_MODS QUADKIND QUAD_IS_INT QUAD_IS_INT64_T -syn keyword xsMacro QUAD_IS_LONG QUAD_IS_LONG_LONG QUAD_IS___INT64 QWLIST -syn keyword xsMacro RANDBITS RANDOM_R_PROTO RD_NODATA READDIR64_R_PROTO -syn keyword xsMacro READDIR_R_PROTO REENTRANT_PROTO_B_B REENTRANT_PROTO_B_BI -syn keyword xsMacro REENTRANT_PROTO_B_BW REENTRANT_PROTO_B_CCD -syn keyword xsMacro REENTRANT_PROTO_B_CCS REENTRANT_PROTO_B_IBI -syn keyword xsMacro REENTRANT_PROTO_B_IBW REENTRANT_PROTO_B_SB -syn keyword xsMacro REENTRANT_PROTO_B_SBI REENTRANT_PROTO_I_BI -syn keyword xsMacro REENTRANT_PROTO_I_BW REENTRANT_PROTO_I_CCSBWR -syn keyword xsMacro REENTRANT_PROTO_I_CCSD REENTRANT_PROTO_I_CII -syn keyword xsMacro REENTRANT_PROTO_I_CIISD REENTRANT_PROTO_I_CSBI -syn keyword xsMacro REENTRANT_PROTO_I_CSBIR REENTRANT_PROTO_I_CSBWR -syn keyword xsMacro REENTRANT_PROTO_I_CSBWRE REENTRANT_PROTO_I_CSD -syn keyword xsMacro REENTRANT_PROTO_I_CWISBWRE REENTRANT_PROTO_I_CWISD -syn keyword xsMacro REENTRANT_PROTO_I_D REENTRANT_PROTO_I_H -syn keyword xsMacro REENTRANT_PROTO_I_IBI REENTRANT_PROTO_I_IBW -syn keyword xsMacro REENTRANT_PROTO_I_ICBI REENTRANT_PROTO_I_ICSBWR -syn keyword xsMacro REENTRANT_PROTO_I_ICSD REENTRANT_PROTO_I_ID -syn keyword xsMacro REENTRANT_PROTO_I_IISD REENTRANT_PROTO_I_ISBWR -syn keyword xsMacro REENTRANT_PROTO_I_ISD REENTRANT_PROTO_I_LISBI -syn keyword xsMacro REENTRANT_PROTO_I_LISD REENTRANT_PROTO_I_LS +syn keyword xsMacro Perl_pp_nbit_xor Perl_pp_orassign Perl_pp_padany +syn keyword xsMacro Perl_pp_pop Perl_pp_postdec Perl_pp_predec Perl_pp_reach +syn keyword xsMacro Perl_pp_read Perl_pp_recv Perl_pp_regcmaybe +syn keyword xsMacro Perl_pp_rindex Perl_pp_rv2hv Perl_pp_rvalues Perl_pp_say +syn keyword xsMacro Perl_pp_sbit_xor Perl_pp_scalar Perl_pp_schomp +syn keyword xsMacro Perl_pp_scope Perl_pp_seek Perl_pp_semop Perl_pp_send +syn keyword xsMacro Perl_pp_sge Perl_pp_sgrent Perl_pp_sgt Perl_pp_shmctl +syn keyword xsMacro Perl_pp_shmget Perl_pp_shmread Perl_pp_shutdown +syn keyword xsMacro Perl_pp_slt Perl_pp_snetent Perl_pp_socket +syn keyword xsMacro Perl_pp_sprotoent Perl_pp_spwent Perl_pp_sqrt +syn keyword xsMacro Perl_pp_sservent Perl_pp_ssockopt Perl_pp_symlink +syn keyword xsMacro Perl_pp_transr Perl_pp_unlink Perl_pp_utime +syn keyword xsMacro Perl_pp_values Perl_safesysmalloc_size Perl_sharepvn +syn keyword xsMacro Perl_signbit Perl_sin Perl_sinh Perl_sqrt Perl_strtod +syn keyword xsMacro Perl_tan Perl_tanh Perl_va_copy PmopSTASH PmopSTASHPV +syn keyword xsMacro PmopSTASHPV_set PmopSTASH_set Poison PoisonFree PoisonNew +syn keyword xsMacro PoisonPADLIST PoisonWith QR_PAT_MODS QUADKIND QUAD_IS_INT +syn keyword xsMacro QUAD_IS_INT64_T QUAD_IS_LONG QUAD_IS_LONG_LONG +syn keyword xsMacro QUAD_IS___INT64 QUESTION_MARK_CTRL QWLIST RANDBITS +syn keyword xsMacro RANDOM_R_PROTO RD_NODATA READDIR64_R_PROTO +syn keyword xsMacro READDIR_R_PROTO READ_XDIGIT REENTRANT_PROTO_B_B +syn keyword xsMacro REENTRANT_PROTO_B_BI REENTRANT_PROTO_B_BW +syn keyword xsMacro REENTRANT_PROTO_B_CCD REENTRANT_PROTO_B_CCS +syn keyword xsMacro REENTRANT_PROTO_B_IBI REENTRANT_PROTO_B_IBW +syn keyword xsMacro REENTRANT_PROTO_B_SB REENTRANT_PROTO_B_SBI +syn keyword xsMacro REENTRANT_PROTO_I_BI REENTRANT_PROTO_I_BW +syn keyword xsMacro REENTRANT_PROTO_I_CCSBWR REENTRANT_PROTO_I_CCSD +syn keyword xsMacro REENTRANT_PROTO_I_CII REENTRANT_PROTO_I_CIISD +syn keyword xsMacro REENTRANT_PROTO_I_CSBI REENTRANT_PROTO_I_CSBIR +syn keyword xsMacro REENTRANT_PROTO_I_CSBWR REENTRANT_PROTO_I_CSBWRE +syn keyword xsMacro REENTRANT_PROTO_I_CSD REENTRANT_PROTO_I_CWISBWRE +syn keyword xsMacro REENTRANT_PROTO_I_CWISD REENTRANT_PROTO_I_D +syn keyword xsMacro REENTRANT_PROTO_I_H REENTRANT_PROTO_I_IBI +syn keyword xsMacro REENTRANT_PROTO_I_IBW REENTRANT_PROTO_I_ICBI +syn keyword xsMacro REENTRANT_PROTO_I_ICSBWR REENTRANT_PROTO_I_ICSD +syn keyword xsMacro REENTRANT_PROTO_I_ID REENTRANT_PROTO_I_IISD +syn keyword xsMacro REENTRANT_PROTO_I_ISBWR REENTRANT_PROTO_I_ISD +syn keyword xsMacro REENTRANT_PROTO_I_LISBI REENTRANT_PROTO_I_LISD syn keyword xsMacro REENTRANT_PROTO_I_SB REENTRANT_PROTO_I_SBI syn keyword xsMacro REENTRANT_PROTO_I_SBIE REENTRANT_PROTO_I_SBIH syn keyword xsMacro REENTRANT_PROTO_I_SBIR REENTRANT_PROTO_I_SBWR syn keyword xsMacro REENTRANT_PROTO_I_SBWRE REENTRANT_PROTO_I_SD -syn keyword xsMacro REENTRANT_PROTO_I_ST REENTRANT_PROTO_I_St syn keyword xsMacro REENTRANT_PROTO_I_TISD REENTRANT_PROTO_I_TS syn keyword xsMacro REENTRANT_PROTO_I_TSBI REENTRANT_PROTO_I_TSBIR syn keyword xsMacro REENTRANT_PROTO_I_TSBWR REENTRANT_PROTO_I_TSR syn keyword xsMacro REENTRANT_PROTO_I_TsISBWRE REENTRANT_PROTO_I_UISBWRE -syn keyword xsMacro REENTRANT_PROTO_I_iS REENTRANT_PROTO_I_lS syn keyword xsMacro REENTRANT_PROTO_I_uISBWRE REENTRANT_PROTO_S_CBI syn keyword xsMacro REENTRANT_PROTO_S_CCSBI REENTRANT_PROTO_S_CIISBIE syn keyword xsMacro REENTRANT_PROTO_S_CSBI REENTRANT_PROTO_S_CSBIE @@ -2755,160 +3059,201 @@ syn keyword xsMacro REENTRANT_PROTO_V_ID REENTR_H REENTR_MEMZERO REF syn keyword xsMacro REFCOUNTED_HE_EXISTS REFCOUNTED_HE_KEY_UTF8 REFF REFFA syn keyword xsMacro REFFL REFFU REFGEN REF_HE_KEY REGMATCH_STATE_MAX syn keyword xsMacro REGNODE_MAX REGNODE_SIMPLE REGNODE_VARIES REG_ANY -syn keyword xsMacro REG_INFTY REG_MAGIC REG_SEEN_CANY REG_SEEN_CUTGROUP -syn keyword xsMacro REG_SEEN_EVAL REG_SEEN_EXACTF_SHARP_S REG_SEEN_GPOS -syn keyword xsMacro REG_SEEN_LOOKBEHIND REG_SEEN_RECURSE -syn keyword xsMacro REG_SEEN_RUN_ON_COMMENT REG_SEEN_SANY REG_SEEN_VERBARG -syn keyword xsMacro REG_SEEN_ZERO_LEN REG_TOP_LEVEL_BRANCHES RELOP RENUM -syn keyword xsMacro REQUIRE RESTORE_ERRNO RESTORE_NUMERIC_LOCAL +syn keyword xsMacro REG_CANY_SEEN REG_CUTGROUP_SEEN REG_EXTFLAGS_NAME_SIZE +syn keyword xsMacro REG_GOSTART_SEEN REG_GPOS_SEEN REG_INFTY +syn keyword xsMacro REG_INTFLAGS_NAME_SIZE REG_LOOKBEHIND_SEEN REG_MAGIC +syn keyword xsMacro REG_RECURSE_SEEN REG_RUN_ON_COMMENT_SEEN +syn keyword xsMacro REG_TOP_LEVEL_BRANCHES_SEEN REG_UNBOUNDED_QUANTIFIER_SEEN +syn keyword xsMacro REG_UNFOLDED_MULTI_SEEN REG_VERBARG_SEEN +syn keyword xsMacro REG_ZERO_LEN_SEEN RELOP RENUM REQUIRE RESTORE_ERRNO +syn keyword xsMacro RESTORE_LC_NUMERIC RESTORE_LC_NUMERIC_STANDARD +syn keyword xsMacro RESTORE_LC_NUMERIC_UNDERLYING RESTORE_NUMERIC_LOCAL syn keyword xsMacro RESTORE_NUMERIC_STANDARD RETPUSHNO RETPUSHUNDEF -syn keyword xsMacro RETPUSHYES RETSETNO RETSETUNDEF RETSETYES RETURN RETURNOP -syn keyword xsMacro RETURNX RETURN_PROBE REXEC_CHECKED REXEC_COPY_STR -syn keyword xsMacro REXEC_IGNOREPOS REXEC_NOT_FIRST REXEC_SCREAM -syn keyword xsMacro RE_DEBUG_COMPILE_DUMP RE_DEBUG_COMPILE_FLAGS +syn keyword xsMacro RETPUSHYES RETSETNO RETSETTARG RETSETUNDEF RETSETYES +syn keyword xsMacro RETURN RETURNOP RETURNX RETURN_PROBE REXEC_CHECKED +syn keyword xsMacro REXEC_COPY_SKIP_POST REXEC_COPY_SKIP_PRE REXEC_COPY_STR +syn keyword xsMacro REXEC_FAIL_ON_UNDERFLOW REXEC_IGNOREPOS REXEC_NOT_FIRST +syn keyword xsMacro REXEC_SCREAM RE_DEBUG_COMPILE_DUMP RE_DEBUG_COMPILE_FLAGS syn keyword xsMacro RE_DEBUG_COMPILE_MASK RE_DEBUG_COMPILE_OPTIMISE -syn keyword xsMacro RE_DEBUG_COMPILE_PARSE RE_DEBUG_COMPILE_TRIE -syn keyword xsMacro RE_DEBUG_EXECUTE_INTUIT RE_DEBUG_EXECUTE_MASK -syn keyword xsMacro RE_DEBUG_EXECUTE_MATCH RE_DEBUG_EXECUTE_TRIE -syn keyword xsMacro RE_DEBUG_EXTRA_BUFFERS RE_DEBUG_EXTRA_GPOS -syn keyword xsMacro RE_DEBUG_EXTRA_MASK RE_DEBUG_EXTRA_OFFDEBUG -syn keyword xsMacro RE_DEBUG_EXTRA_OFFSETS RE_DEBUG_EXTRA_OPTIMISE -syn keyword xsMacro RE_DEBUG_EXTRA_STACK RE_DEBUG_EXTRA_STATE -syn keyword xsMacro RE_DEBUG_EXTRA_TRIE RE_DEBUG_FLAG RE_DEBUG_FLAGS -syn keyword xsMacro RE_PV_COLOR_DECL RE_PV_QUOTED_DECL RE_SV_DUMPLEN -syn keyword xsMacro RE_SV_ESCAPE RE_SV_TAIL RE_TRACK_PATTERN_OFFSETS -syn keyword xsMacro RE_TRIE_MAXBUF_INIT RE_TRIE_MAXBUF_NAME RMS_DIR RMS_FAC -syn keyword xsMacro RMS_FEX RMS_FNF RMS_IFI RMS_ISI RMS_PRV RUNOPS_DEFAULT -syn keyword xsMacro RV2CVOPCV_MARK_EARLY RV2CVOPCV_RETURN_NAME_GV -syn keyword xsMacro RX_ANCHORED_SUBSTR RX_ANCHORED_UTF8 RX_BUFF_IDX_FULLMATCH +syn keyword xsMacro RE_DEBUG_COMPILE_PARSE RE_DEBUG_COMPILE_TEST +syn keyword xsMacro RE_DEBUG_COMPILE_TRIE RE_DEBUG_EXECUTE_INTUIT +syn keyword xsMacro RE_DEBUG_EXECUTE_MASK RE_DEBUG_EXECUTE_MATCH +syn keyword xsMacro RE_DEBUG_EXECUTE_TRIE RE_DEBUG_EXTRA_BUFFERS +syn keyword xsMacro RE_DEBUG_EXTRA_GPOS RE_DEBUG_EXTRA_MASK +syn keyword xsMacro RE_DEBUG_EXTRA_OFFDEBUG RE_DEBUG_EXTRA_OFFSETS +syn keyword xsMacro RE_DEBUG_EXTRA_OPTIMISE RE_DEBUG_EXTRA_STACK +syn keyword xsMacro RE_DEBUG_EXTRA_STATE RE_DEBUG_EXTRA_TRIE RE_DEBUG_FLAG +syn keyword xsMacro RE_DEBUG_FLAGS RE_PV_COLOR_DECL RE_PV_QUOTED_DECL +syn keyword xsMacro RE_SV_DUMPLEN RE_SV_ESCAPE RE_SV_TAIL +syn keyword xsMacro RE_TRACK_PATTERN_OFFSETS RE_TRIE_MAXBUF_INIT +syn keyword xsMacro RE_TRIE_MAXBUF_NAME RMS_DIR RMS_FAC RMS_FEX RMS_FNF +syn keyword xsMacro RMS_IFI RMS_ISI RMS_PRV ROTL32 ROTL64 ROTL_UV +syn keyword xsMacro RUNOPS_DEFAULT RV2CVOPCV_FLAG_MASK RV2CVOPCV_MARK_EARLY +syn keyword xsMacro RV2CVOPCV_MAYBE_NAME_GV RV2CVOPCV_RETURN_NAME_GV +syn keyword xsMacro RV2CVOPCV_RETURN_STUB RX_ANCHORED_SUBSTR RX_ANCHORED_UTF8 +syn keyword xsMacro RX_BUFF_IDX_CARET_FULLMATCH RX_BUFF_IDX_CARET_POSTMATCH +syn keyword xsMacro RX_BUFF_IDX_CARET_PREMATCH RX_BUFF_IDX_FULLMATCH syn keyword xsMacro RX_BUFF_IDX_POSTMATCH RX_BUFF_IDX_PREMATCH -syn keyword xsMacro RX_CHECK_SUBSTR RX_ENGINE RX_EXTFLAGS RX_FLOAT_SUBSTR -syn keyword xsMacro RX_FLOAT_UTF8 RX_GOFS RX_HAS_CUTGROUP RX_LASTCLOSEPAREN -syn keyword xsMacro RX_LASTPAREN RX_MATCH_COPIED RX_MATCH_COPIED_off -syn keyword xsMacro RX_MATCH_COPIED_on RX_MATCH_COPIED_set RX_MATCH_COPY_FREE -syn keyword xsMacro RX_MATCH_TAINTED RX_MATCH_TAINTED_off RX_MATCH_TAINTED_on +syn keyword xsMacro RX_CHECK_SUBSTR RX_COMPFLAGS RX_ENGINE RX_EXTFLAGS +syn keyword xsMacro RX_FLOAT_SUBSTR RX_FLOAT_UTF8 RX_GOFS RX_HAS_CUTGROUP +syn keyword xsMacro RX_INTFLAGS RX_ISTAINTED RX_LASTCLOSEPAREN RX_LASTPAREN +syn keyword xsMacro RX_MATCH_COPIED RX_MATCH_COPIED_off RX_MATCH_COPIED_on +syn keyword xsMacro RX_MATCH_COPIED_set RX_MATCH_COPY_FREE RX_MATCH_TAINTED +syn keyword xsMacro RX_MATCH_TAINTED_off RX_MATCH_TAINTED_on syn keyword xsMacro RX_MATCH_TAINTED_set RX_MATCH_UTF8 RX_MATCH_UTF8_off syn keyword xsMacro RX_MATCH_UTF8_on RX_MATCH_UTF8_set RX_MINLEN RX_MINLENRET syn keyword xsMacro RX_NPARENS RX_OFFS RX_PRECOMP RX_PRECOMP_const RX_PRELEN -syn keyword xsMacro RX_REFCNT RX_SAVED_COPY RX_SEEN_EVALS RX_SUBBEG RX_SUBLEN -syn keyword xsMacro RX_UTF8 RX_WRAPLEN RX_WRAPPED RX_WRAPPED_const RXapif_ALL -syn keyword xsMacro RXapif_CLEAR RXapif_DELETE RXapif_EXISTS RXapif_FETCH -syn keyword xsMacro RXapif_FIRSTKEY RXapif_NEXTKEY RXapif_ONE RXapif_REGNAME -syn keyword xsMacro RXapif_REGNAMES RXapif_REGNAMES_COUNT RXapif_SCALAR -syn keyword xsMacro RXapif_STORE RXf_ANCH RXf_ANCH_BOL RXf_ANCH_GPOS -syn keyword xsMacro RXf_ANCH_MBOL RXf_ANCH_SBOL RXf_ANCH_SINGLE -syn keyword xsMacro RXf_BASE_SHIFT RXf_CANY_SEEN RXf_CHECK_ALL RXf_COPY_DONE -syn keyword xsMacro RXf_EVAL_SEEN RXf_GPOS_CHECK RXf_GPOS_FLOAT RXf_GPOS_SEEN -syn keyword xsMacro RXf_INTUIT_TAIL RXf_LOOKBEHIND_SEEN RXf_MATCH_UTF8 -syn keyword xsMacro RXf_NOSCAN RXf_NULL RXf_PMf_CHARSET RXf_PMf_COMPILETIME -syn keyword xsMacro RXf_PMf_EXTENDED RXf_PMf_FOLD RXf_PMf_KEEPCOPY -syn keyword xsMacro RXf_PMf_MULTILINE RXf_PMf_SINGLELINE RXf_PMf_STD_PMMOD -syn keyword xsMacro RXf_PMf_STD_PMMOD_SHIFT RXf_SKIPWHITE RXf_SPLIT -syn keyword xsMacro RXf_START_ONLY RXf_TAINTED RXf_TAINTED_SEEN -syn keyword xsMacro RXf_USE_INTUIT RXf_USE_INTUIT_ML RXf_USE_INTUIT_NOML -syn keyword xsMacro RXf_WHITE RXi_GET RXi_GET_DECL RXi_SET RXp_EXTFLAGS -syn keyword xsMacro RXp_MATCH_COPIED RXp_MATCH_COPIED_off RXp_MATCH_COPIED_on -syn keyword xsMacro RXp_MATCH_TAINTED RXp_MATCH_UTF8 RXp_PAREN_NAMES +syn keyword xsMacro RX_REFCNT RX_SAVED_COPY RX_SUBBEG RX_SUBCOFFSET RX_SUBLEN +syn keyword xsMacro RX_SUBOFFSET RX_TAINT_on RX_UTF8 RX_WRAPLEN RX_WRAPPED +syn keyword xsMacro RX_WRAPPED_const RX_ZERO_LEN RXapif_ALL RXapif_CLEAR +syn keyword xsMacro RXapif_DELETE RXapif_EXISTS RXapif_FETCH RXapif_FIRSTKEY +syn keyword xsMacro RXapif_NEXTKEY RXapif_ONE RXapif_REGNAME RXapif_REGNAMES +syn keyword xsMacro RXapif_REGNAMES_COUNT RXapif_SCALAR RXapif_STORE +syn keyword xsMacro RXf_BASE_SHIFT RXf_CHECK_ALL RXf_COPY_DONE RXf_EVAL_SEEN +syn keyword xsMacro RXf_INTUIT_TAIL RXf_IS_ANCHORED RXf_MATCH_UTF8 +syn keyword xsMacro RXf_NO_INPLACE_SUBST RXf_NULL RXf_PMf_CHARSET +syn keyword xsMacro RXf_PMf_COMPILETIME RXf_PMf_EXTENDED +syn keyword xsMacro RXf_PMf_EXTENDED_MORE RXf_PMf_FLAGCOPYMASK RXf_PMf_FOLD +syn keyword xsMacro RXf_PMf_KEEPCOPY RXf_PMf_MULTILINE RXf_PMf_NOCAPTURE +syn keyword xsMacro RXf_PMf_SINGLELINE RXf_PMf_SPLIT RXf_PMf_STD_PMMOD +syn keyword xsMacro RXf_PMf_STD_PMMOD_SHIFT RXf_PMf_STRICT RXf_SKIPWHITE +syn keyword xsMacro RXf_SPLIT RXf_START_ONLY RXf_TAINTED RXf_TAINTED_SEEN +syn keyword xsMacro RXf_UNBOUNDED_QUANTIFIER_SEEN RXf_USE_INTUIT +syn keyword xsMacro RXf_USE_INTUIT_ML RXf_USE_INTUIT_NOML RXf_WHITE RXi_GET +syn keyword xsMacro RXi_GET_DECL RXi_SET RXp_COMPFLAGS RXp_EXTFLAGS +syn keyword xsMacro RXp_INTFLAGS RXp_MATCH_COPIED RXp_MATCH_COPIED_off +syn keyword xsMacro RXp_MATCH_COPIED_on RXp_MATCH_TAINTED +syn keyword xsMacro RXp_MATCH_TAINTED_on RXp_MATCH_UTF8 RXp_PAREN_NAMES ReANY syn keyword xsMacro ReREFCNT_dec ReREFCNT_inc Renew Renewc RsPARA RsRECORD syn keyword xsMacro RsSIMPLE RsSNARF SAFE_TRIE_NODENUM SANY SAVEADELETE syn keyword xsMacro SAVEBOOL SAVECLEARSV SAVECOMPILEWARNINGS SAVECOMPPAD -syn keyword xsMacro SAVECOPFILE SAVECOPFILE_FREE SAVECOPLINE SAVECOPSTASH +syn keyword xsMacro SAVECOPFILE SAVECOPFILE_FREE SAVECOPLINE syn keyword xsMacro SAVECOPSTASH_FREE SAVEDELETE SAVEDESTRUCTOR -syn keyword xsMacro SAVEDESTRUCTOR_X SAVEFREECOPHH SAVEFREEOP SAVEFREEPV -syn keyword xsMacro SAVEFREESV SAVEGENERICPV SAVEGENERICSV SAVEHDELETE -syn keyword xsMacro SAVEHINTS SAVEI16 SAVEI32 SAVEI8 SAVEINT SAVEIV SAVELONG -syn keyword xsMacro SAVEMORTALIZESV SAVEOP SAVEPADSVANDMORTALIZE SAVEPARSER -syn keyword xsMacro SAVEPPTR SAVESETSVFLAGS SAVESHAREDPV SAVESPTR -syn keyword xsMacro SAVESTACK_ALLOC_FOR_RE_SAVE_STATE SAVESTACK_CXPOS -syn keyword xsMacro SAVESTACK_POS SAVESWITCHSTACK SAVETMPS SAVEVPTR -syn keyword xsMacro SAVE_DEFSV SAVE_ERRNO SAVE_MASK SAVE_TIGHT_SHIFT -syn keyword xsMacro SAVEf_KEEPOLDELEM SAVEf_SETMAGIC SAVEt_ADELETE -syn keyword xsMacro SAVEt_AELEM SAVEt_ALLOC SAVEt_APTR SAVEt_AV SAVEt_BOOL -syn keyword xsMacro SAVEt_CLEARSV SAVEt_COMPILE_WARNINGS SAVEt_COMPPAD -syn keyword xsMacro SAVEt_DELETE SAVEt_DESTRUCTOR SAVEt_DESTRUCTOR_X -syn keyword xsMacro SAVEt_FREECOPHH SAVEt_FREEOP SAVEt_FREEPV SAVEt_FREESV +syn keyword xsMacro SAVEDESTRUCTOR_X SAVEFREECOPHH SAVEFREEOP SAVEFREEPADNAME +syn keyword xsMacro SAVEFREEPV SAVEFREESV SAVEGENERICPV SAVEGENERICSV +syn keyword xsMacro SAVEHDELETE SAVEHINTS SAVEI16 SAVEI32 SAVEI8 SAVEINT +syn keyword xsMacro SAVEIV SAVELONG SAVEMORTALIZESV SAVEOP +syn keyword xsMacro SAVEPADSVANDMORTALIZE SAVEPARSER SAVEPPTR SAVESETSVFLAGS +syn keyword xsMacro SAVESHAREDPV SAVESPTR SAVESTACK_POS SAVESWITCHSTACK +syn keyword xsMacro SAVETMPS SAVEVPTR SAVE_DEFSV SAVE_ERRNO SAVE_MASK +syn keyword xsMacro SAVE_TIGHT_SHIFT SAVEf_KEEPOLDELEM SAVEf_SETMAGIC +syn keyword xsMacro SAVEt_ADELETE SAVEt_AELEM SAVEt_ALLOC SAVEt_APTR +syn keyword xsMacro SAVEt_ARG0_MAX SAVEt_ARG1_MAX SAVEt_ARG2_MAX SAVEt_AV +syn keyword xsMacro SAVEt_BOOL SAVEt_CLEARPADRANGE SAVEt_CLEARSV +syn keyword xsMacro SAVEt_COMPILE_WARNINGS SAVEt_COMPPAD SAVEt_DELETE +syn keyword xsMacro SAVEt_DESTRUCTOR SAVEt_DESTRUCTOR_X SAVEt_FREECOPHH +syn keyword xsMacro SAVEt_FREEOP SAVEt_FREEPADNAME SAVEt_FREEPV SAVEt_FREESV syn keyword xsMacro SAVEt_GENERIC_PVREF SAVEt_GENERIC_SVREF SAVEt_GP -syn keyword xsMacro SAVEt_GVSV SAVEt_HELEM SAVEt_HINTS SAVEt_HPTR SAVEt_HV -syn keyword xsMacro SAVEt_I16 SAVEt_I32 SAVEt_I32_SMALL SAVEt_I8 SAVEt_INT -syn keyword xsMacro SAVEt_INT_SMALL SAVEt_ITEM SAVEt_IV SAVEt_LONG -syn keyword xsMacro SAVEt_MORTALIZESV SAVEt_NSTAB SAVEt_OP -syn keyword xsMacro SAVEt_PADSV_AND_MORTALIZE SAVEt_PARSER SAVEt_PPTR -syn keyword xsMacro SAVEt_REGCONTEXT SAVEt_RE_STATE SAVEt_SAVESWITCHSTACK -syn keyword xsMacro SAVEt_SET_SVFLAGS SAVEt_SHARED_PVREF SAVEt_SPTR -syn keyword xsMacro SAVEt_STACK_CXPOS SAVEt_STACK_POS SAVEt_SV SAVEt_SVREF -syn keyword xsMacro SAVEt_VPTR SBOL SCAN_DEF SCAN_REPL SCAN_TR SCHEDULE -syn keyword xsMacro SCHED_YIELD SCOPE_SAVES_SIGNAL_MASK SEEK_CUR SEEK_END -syn keyword xsMacro SEEK_SET SELECT_MIN_BITS SEOL SETERRNO SETGRENT_R_PROTO -syn keyword xsMacro SETHOSTENT_R_PROTO SETLOCALE_R_PROTO SETNETENT_R_PROTO -syn keyword xsMacro SETPROTOENT_R_PROTO SETPWENT_R_PROTO SETSERVENT_R_PROTO -syn keyword xsMacro SETTARG SET_MARK_OFFSET SET_NUMERIC_LOCAL -syn keyword xsMacro SET_NUMERIC_STANDARD SET_THR SET_THREAD_SELF SETi SETn -syn keyword xsMacro SETp SETs SETsv SETsvUN SETu SHARP_S_SKIP SHIFTOP -syn keyword xsMacro SHORTSIZE SH_PATH SIGABRT SIGILL SIG_NAME SIG_NUM -syn keyword xsMacro SIG_SIZE SINGLE_PAT_MOD SITEARCH SITEARCH_EXP SITELIB -syn keyword xsMacro SITELIB_EXP SITELIB_STEM SIZE_ALIGN SIZE_ONLY SKIP -syn keyword xsMacro SKIP_next SKIP_next_fail SLOPPYDIVIDE SOCKET_OPEN_MODE -syn keyword xsMacro SPACE SPACEA SPACEL SPACEU SPAGAIN SPRINTF_RETURNS_STRLEN -syn keyword xsMacro SRAND48_R_PROTO SRANDOM_R_PROTO SSCHECK SSGROW SSNEW -syn keyword xsMacro SSNEWa SSNEWat SSNEWt SSPOPBOOL SSPOPDPTR SSPOPDXPTR -syn keyword xsMacro SSPOPINT SSPOPIV SSPOPLONG SSPOPPTR SSPOPUV SSPTR SSPTRt +syn keyword xsMacro SAVEt_GP_ALIASED_SV SAVEt_GVSLOT SAVEt_GVSV SAVEt_HELEM +syn keyword xsMacro SAVEt_HINTS SAVEt_HPTR SAVEt_HV SAVEt_I16 SAVEt_I32 +syn keyword xsMacro SAVEt_I32_SMALL SAVEt_I8 SAVEt_INT SAVEt_INT_SMALL +syn keyword xsMacro SAVEt_ITEM SAVEt_IV SAVEt_LONG SAVEt_MORTALIZESV +syn keyword xsMacro SAVEt_NSTAB SAVEt_OP SAVEt_PADSV_AND_MORTALIZE +syn keyword xsMacro SAVEt_PARSER SAVEt_PPTR SAVEt_READONLY_OFF +syn keyword xsMacro SAVEt_REGCONTEXT SAVEt_SAVESWITCHSTACK SAVEt_SET_SVFLAGS +syn keyword xsMacro SAVEt_SHARED_PVREF SAVEt_SPTR SAVEt_STACK_POS +syn keyword xsMacro SAVEt_STRLEN SAVEt_SV SAVEt_SVREF SAVEt_VPTR +syn keyword xsMacro SAWAMPERSAND_LEFT SAWAMPERSAND_MIDDLE SAWAMPERSAND_RIGHT +syn keyword xsMacro SBOL SB_ENUM_COUNT SCAN_DEF SCAN_REPL SCAN_TR +syn keyword xsMacro SCAN_VERSION SCHED_YIELD SCOPE_SAVES_SIGNAL_MASK SEEK_CUR +syn keyword xsMacro SEEK_END SEEK_SET SELECT_MIN_BITS SEOL SETERRNO +syn keyword xsMacro SETGRENT_R_PROTO SETHOSTENT_R_PROTO SETLOCALE_R_PROTO +syn keyword xsMacro SETNETENT_R_PROTO SETPROTOENT_R_PROTO SETPWENT_R_PROTO +syn keyword xsMacro SETSERVENT_R_PROTO SETTARG SET_MARK_OFFSET +syn keyword xsMacro SET_NUMERIC_LOCAL SET_NUMERIC_STANDARD +syn keyword xsMacro SET_NUMERIC_UNDERLYING SET_THR SET_THREAD_SELF SETi SETn +syn keyword xsMacro SETp SETs SETu SHARP_S_SKIP SHIFTOP SHORTSIZE SH_PATH +syn keyword xsMacro SIGABRT SIGILL SIG_NAME SIG_NUM SIG_SIZE SINGLE_PAT_MOD +syn keyword xsMacro SIPROUND SITEARCH SITEARCH_EXP SITELIB SITELIB_EXP +syn keyword xsMacro SITELIB_STEM SIZE_ALIGN SIZE_ONLY SKIP SKIP_next +syn keyword xsMacro SKIP_next_fail SLOPPYDIVIDE SOCKET_OPEN_MODE SPAGAIN +syn keyword xsMacro SPRINTF_RETURNS_STRLEN SRAND48_R_PROTO SRANDOM_R_PROTO +syn keyword xsMacro SSCHECK SSC_MATCHES_EMPTY_STRING SSGROW SSNEW SSNEWa +syn keyword xsMacro SSNEWat SSNEWt SSPOPBOOL SSPOPDPTR SSPOPDXPTR SSPOPINT +syn keyword xsMacro SSPOPIV SSPOPLONG SSPOPPTR SSPOPUV SSPTR SSPTRt syn keyword xsMacro SSPUSHBOOL SSPUSHDPTR SSPUSHDXPTR SSPUSHINT SSPUSHIV -syn keyword xsMacro SSPUSHLONG SSPUSHPTR SSPUSHUV SS_ACCVIO SS_DEVOFFLINE -syn keyword xsMacro SS_IVCHAN SS_NORMAL ST STANDARD_C STAR STARTPERL -syn keyword xsMacro START_EXTERN_C START_MY_CXT STATIC STATUS_ALL_FAILURE -syn keyword xsMacro STATUS_ALL_SUCCESS STATUS_CURRENT STATUS_EXIT -syn keyword xsMacro STATUS_EXIT_SET STATUS_NATIVE STATUS_NATIVE_CHILD_SET -syn keyword xsMacro STATUS_UNIX STATUS_UNIX_EXIT_SET STATUS_UNIX_SET STDCHAR -syn keyword xsMacro STDIO_PTR_LVALUE STDIO_PTR_LVAL_SETS_CNT -syn keyword xsMacro STDIO_STREAM_ARRAY STD_PAT_MODS STD_PMMOD_FLAGS_CLEAR -syn keyword xsMacro STMT_END STMT_START STORE_NUMERIC_LOCAL_SET_STANDARD +syn keyword xsMacro SSPUSHLONG SSPUSHPTR SSPUSHUV SS_ACCVIO SS_ADD_BOOL +syn keyword xsMacro SS_ADD_DPTR SS_ADD_DXPTR SS_ADD_END SS_ADD_INT SS_ADD_IV +syn keyword xsMacro SS_ADD_LONG SS_ADD_PTR SS_ADD_UV SS_BUFFEROVF +syn keyword xsMacro SS_DEVOFFLINE SS_IVCHAN SS_MAXPUSH SS_NOPRIV SS_NORMAL +syn keyword xsMacro SSize_t_MAX ST STANDARD_C STAR STARTPERL START_EXTERN_C +syn keyword xsMacro START_MY_CXT STATIC STATIC_ASSERT_1 STATIC_ASSERT_2 +syn keyword xsMacro STATIC_ASSERT_GLOBAL STATIC_ASSERT_STMT +syn keyword xsMacro STATUS_ALL_FAILURE STATUS_ALL_SUCCESS STATUS_CURRENT +syn keyword xsMacro STATUS_EXIT STATUS_EXIT_SET STATUS_NATIVE +syn keyword xsMacro STATUS_NATIVE_CHILD_SET STATUS_UNIX STATUS_UNIX_EXIT_SET +syn keyword xsMacro STATUS_UNIX_SET STDCHAR STDIO_STREAM_ARRAY STD_PAT_MODS +syn keyword xsMacro STD_PMMOD_FLAGS_CLEAR STD_PMMOD_FLAGS_PARSE_X_WARN +syn keyword xsMacro STMT_END STMT_START STORE_LC_NUMERIC_FORCE_TO_UNDERLYING +syn keyword xsMacro STORE_LC_NUMERIC_SET_TO_NEEDED +syn keyword xsMacro STORE_LC_NUMERIC_STANDARD_SET_UNDERLYING +syn keyword xsMacro STORE_LC_NUMERIC_UNDERLYING_SET_STANDARD +syn keyword xsMacro STORE_NUMERIC_LOCAL_SET_STANDARD +syn keyword xsMacro STORE_NUMERIC_STANDARD_FORCE_LOCAL syn keyword xsMacro STORE_NUMERIC_STANDARD_SET_LOCAL STRERROR_R_PROTO STRING syn keyword xsMacro STRINGIFY STRUCT_OFFSET STRUCT_SV STR_LEN STR_SZ syn keyword xsMacro STR_WITH_LEN ST_INO_SIGN ST_INO_SIZE SUB syn keyword xsMacro SUBST_TAINT_BOOLRET SUBST_TAINT_PAT SUBST_TAINT_REPL syn keyword xsMacro SUBST_TAINT_RETAINT SUBST_TAINT_STR SUBVERSION SUCCEED syn keyword xsMacro SUSPEND SVTYPEMASK SV_CATBYTES SV_CATUTF8 -syn keyword xsMacro SV_CHECK_THINKFIRST SV_CHECK_THINKFIRST_COW_DROP -syn keyword xsMacro SV_CONST_RETURN SV_COW_DROP_PV SV_COW_OTHER_PVS +syn keyword xsMacro SV_CHECK_THINKFIRST SV_CHECK_THINKFIRST_COW_DROP SV_CONST +syn keyword xsMacro SV_CONSTS_COUNT SV_CONST_BINMODE SV_CONST_CLEAR +syn keyword xsMacro SV_CONST_CLOSE SV_CONST_DELETE SV_CONST_DESTROY +syn keyword xsMacro SV_CONST_EOF SV_CONST_EXISTS SV_CONST_EXTEND +syn keyword xsMacro SV_CONST_FETCH SV_CONST_FETCHSIZE SV_CONST_FILENO +syn keyword xsMacro SV_CONST_FIRSTKEY SV_CONST_GETC SV_CONST_NEXTKEY +syn keyword xsMacro SV_CONST_OPEN SV_CONST_POP SV_CONST_PRINT SV_CONST_PRINTF +syn keyword xsMacro SV_CONST_PUSH SV_CONST_READ SV_CONST_READLINE +syn keyword xsMacro SV_CONST_RETURN SV_CONST_SCALAR SV_CONST_SEEK +syn keyword xsMacro SV_CONST_SHIFT SV_CONST_SPLICE SV_CONST_STORE +syn keyword xsMacro SV_CONST_STORESIZE SV_CONST_TELL SV_CONST_TIEARRAY +syn keyword xsMacro SV_CONST_TIEHANDLE SV_CONST_TIEHASH SV_CONST_TIESCALAR +syn keyword xsMacro SV_CONST_UNSHIFT SV_CONST_UNTIE SV_CONST_WRITE +syn keyword xsMacro SV_COW_DROP_PV SV_COW_OTHER_PVS SV_COW_REFCNT_MAX syn keyword xsMacro SV_COW_SHARED_HASH_KEYS SV_DO_COW_SVSETSV syn keyword xsMacro SV_FORCE_UTF8_UPGRADE SV_GMAGIC SV_HAS_TRAILING_NUL syn keyword xsMacro SV_IMMEDIATE_UNREF SV_MUTABLE_RETURN SV_NOSTEAL syn keyword xsMacro SV_SAVED_COPY SV_SKIP_OVERLOAD SV_SMAGIC syn keyword xsMacro SV_UNDEF_RETURNS_NULL SV_UTF8_NO_ENCODING SVrepl_EVAL -syn keyword xsMacro SVt_MASK SWITCHSTACK SYMBIAN SYSTEM_GMTIME_MAX +syn keyword xsMacro SVt_FIRST SVt_MASK SWITCHSTACK SYMBIAN SYSTEM_GMTIME_MAX syn keyword xsMacro SYSTEM_GMTIME_MIN SYSTEM_LOCALTIME_MAX syn keyword xsMacro SYSTEM_LOCALTIME_MIN S_IEXEC S_IFIFO S_IFMT S_IREAD syn keyword xsMacro S_IRGRP S_IROTH S_IRUSR S_IRWXG S_IRWXO S_IRWXU S_ISBLK syn keyword xsMacro S_ISCHR S_ISDIR S_ISFIFO S_ISGID S_ISLNK S_ISREG S_ISSOCK syn keyword xsMacro S_ISUID S_IWGRP S_IWOTH S_IWRITE S_IWUSR S_IXGRP S_IXOTH syn keyword xsMacro S_IXUSR S_PAT_MODS Safefree Semctl Sigjmp_buf Siglongjmp -syn keyword xsMacro Sigsetjmp Size_t_size StGiFy StashHANDLER Stat Strerror -syn keyword xsMacro Strtol Strtoul StructCopy SvAMAGIC SvAMAGIC_off -syn keyword xsMacro SvAMAGIC_on SvANY SvCANEXISTDELETE SvCOMPILED -syn keyword xsMacro SvCOMPILED_off SvCOMPILED_on SvCUR SvCUR_set -syn keyword xsMacro SvDESTROYABLE SvEND SvEND_set SvENDx SvEVALED -syn keyword xsMacro SvEVALED_off SvEVALED_on SvFAKE SvFAKE_off SvFAKE_on -syn keyword xsMacro SvFLAGS SvGAMAGIC SvGETMAGIC SvGMAGICAL SvGMAGICAL_off -syn keyword xsMacro SvGMAGICAL_on SvGROW SvGROW_mutable SvIMMORTAL SvIOK -syn keyword xsMacro SvIOK_UV SvIOK_notUV SvIOK_off SvIOK_on SvIOK_only +syn keyword xsMacro Sigsetjmp Size_t_MAX Size_t_size StGiFy StashHANDLER Stat +syn keyword xsMacro Strerror Strtol Strtoul StructCopy SvAMAGIC SvANY +syn keyword xsMacro SvCANCOW SvCANEXISTDELETE SvCOMPILED SvCOMPILED_off +syn keyword xsMacro SvCOMPILED_on SvCUR SvCUR_set SvDESTROYABLE SvEND +syn keyword xsMacro SvEND_set SvENDx SvEVALED SvEVALED_off SvEVALED_on SvFAKE +syn keyword xsMacro SvFAKE_off SvFAKE_on SvFLAGS SvGAMAGIC SvGETMAGIC SvGID +syn keyword xsMacro SvGMAGICAL SvGMAGICAL_off SvGMAGICAL_on SvGROW +syn keyword xsMacro SvGROW_mutable SvIMMORTAL SvIOK SvIOK_UV SvIOK_nog +syn keyword xsMacro SvIOK_nogthink SvIOK_notUV SvIOK_off SvIOK_on SvIOK_only syn keyword xsMacro SvIOK_only_UV SvIOKp SvIOKp_on SvIS_FREED SvIV SvIVX syn keyword xsMacro SvIVXx SvIV_nomg SvIV_please SvIV_please_nomg SvIV_set -syn keyword xsMacro SvIVx SvIsCOW SvIsCOW_normal SvIsCOW_shared_hash SvIsUV -syn keyword xsMacro SvIsUV_off SvIsUV_on SvLEN SvLEN_set SvLENx SvLOCK -syn keyword xsMacro SvMAGIC SvMAGICAL SvMAGICAL_off SvMAGICAL_on SvMAGIC_set -syn keyword xsMacro SvNIOK SvNIOK_off SvNIOKp SvNOK SvNOK_off SvNOK_on -syn keyword xsMacro SvNOK_only SvNOKp SvNOKp_on SvNV SvNVX SvNVXx SvNV_nomg -syn keyword xsMacro SvNV_set SvNVx SvOBJECT SvOBJECT_off SvOBJECT_on SvOK -syn keyword xsMacro SvOK_off SvOK_off_exc_UV SvOKp SvOOK SvOOK_off -syn keyword xsMacro SvOOK_offset SvOOK_on SvOURSTASH SvOURSTASH_set SvPADMY -syn keyword xsMacro SvPADMY_on SvPADSTALE SvPADSTALE_off SvPADSTALE_on -syn keyword xsMacro SvPADTMP SvPADTMP_off SvPADTMP_on SvPAD_OUR SvPAD_OUR_on +syn keyword xsMacro SvIVx SvIsCOW SvIsCOW_normal SvIsCOW_off SvIsCOW_on +syn keyword xsMacro SvIsCOW_shared_hash SvIsUV SvIsUV_off SvIsUV_on SvLEN +syn keyword xsMacro SvLEN_set SvLENx SvLOCK SvMAGIC SvMAGICAL SvMAGICAL_off +syn keyword xsMacro SvMAGICAL_on SvMAGIC_set SvNIOK SvNIOK_nog +syn keyword xsMacro SvNIOK_nogthink SvNIOK_off SvNIOKp SvNOK SvNOK_nog +syn keyword xsMacro SvNOK_nogthink SvNOK_off SvNOK_on SvNOK_only SvNOKp +syn keyword xsMacro SvNOKp_on SvNV SvNVX SvNVXx SvNV_nomg SvNV_set SvNVx +syn keyword xsMacro SvOBJECT SvOBJECT_off SvOBJECT_on SvOK SvOK_off +syn keyword xsMacro SvOK_off_exc_UV SvOKp SvOOK SvOOK_off SvOOK_offset +syn keyword xsMacro SvOOK_on SvOURSTASH SvOURSTASH_set SvPADMY SvPADMY_on +syn keyword xsMacro SvPADSTALE SvPADSTALE_off SvPADSTALE_on SvPADTMP +syn keyword xsMacro SvPADTMP_off SvPADTMP_on SvPAD_OUR SvPAD_OUR_on syn keyword xsMacro SvPAD_STATE SvPAD_STATE_on SvPAD_TYPED SvPAD_TYPED_on syn keyword xsMacro SvPCS_IMPORTED SvPCS_IMPORTED_off SvPCS_IMPORTED_on -syn keyword xsMacro SvPEEK SvPOK SvPOK_off SvPOK_on SvPOK_only -syn keyword xsMacro SvPOK_only_UTF8 SvPOKp SvPOKp_on SvPV SvPVX SvPVX_const -syn keyword xsMacro SvPVX_mutable SvPVXx SvPV_const SvPV_flags -syn keyword xsMacro SvPV_flags_const SvPV_flags_const_nolen +syn keyword xsMacro SvPEEK SvPOK SvPOK_byte_nog SvPOK_byte_nogthink +syn keyword xsMacro SvPOK_byte_pure_nogthink SvPOK_nog SvPOK_nogthink +syn keyword xsMacro SvPOK_off SvPOK_on SvPOK_only SvPOK_only_UTF8 +syn keyword xsMacro SvPOK_pure_nogthink SvPOK_utf8_nog SvPOK_utf8_nogthink +syn keyword xsMacro SvPOK_utf8_pure_nogthink SvPOKp SvPOKp_on SvPV SvPVX +syn keyword xsMacro SvPVX_const SvPVX_mutable SvPVXtrue SvPVXx SvPV_const +syn keyword xsMacro SvPV_flags SvPV_flags_const SvPV_flags_const_nolen syn keyword xsMacro SvPV_flags_mutable SvPV_force SvPV_force_flags syn keyword xsMacro SvPV_force_flags_mutable SvPV_force_flags_nolen syn keyword xsMacro SvPV_force_mutable SvPV_force_nolen SvPV_force_nomg @@ -2920,44 +3265,49 @@ syn keyword xsMacro SvPVbytex SvPVbytex_force SvPVbytex_nolen SvPVutf8 syn keyword xsMacro SvPVutf8_force SvPVutf8_nolen SvPVutf8x SvPVutf8x_force syn keyword xsMacro SvPVx SvPVx_const SvPVx_force SvPVx_nolen syn keyword xsMacro SvPVx_nolen_const SvREADONLY SvREADONLY_off SvREADONLY_on -syn keyword xsMacro SvREFCNT SvREFCNT_dec SvREFCNT_inc SvREFCNT_inc_NN -syn keyword xsMacro SvREFCNT_inc_simple SvREFCNT_inc_simple_NN -syn keyword xsMacro SvREFCNT_inc_simple_void SvREFCNT_inc_simple_void_NN -syn keyword xsMacro SvREFCNT_inc_void SvREFCNT_inc_void_NN SvRELEASE_IVX -syn keyword xsMacro SvRELEASE_IVX_ SvRMAGICAL SvRMAGICAL_off SvRMAGICAL_on -syn keyword xsMacro SvROK SvROK_off SvROK_on SvRV SvRV_const SvRV_set SvRVx -syn keyword xsMacro SvRX SvRXOK SvSCREAM SvSCREAM_off SvSCREAM_on SvSETMAGIC -syn keyword xsMacro SvSHARE SvSHARED_HASH SvSHARED_HEK_FROM_PV SvSMAGICAL +syn keyword xsMacro SvREFCNT SvREFCNT_IMMORTAL SvREFCNT_dec SvREFCNT_dec_NN +syn keyword xsMacro SvREFCNT_inc SvREFCNT_inc_NN SvREFCNT_inc_simple +syn keyword xsMacro SvREFCNT_inc_simple_NN SvREFCNT_inc_simple_void +syn keyword xsMacro SvREFCNT_inc_simple_void_NN SvREFCNT_inc_void +syn keyword xsMacro SvREFCNT_inc_void_NN SvRELEASE_IVX SvRELEASE_IVX_ +syn keyword xsMacro SvRMAGICAL SvRMAGICAL_off SvRMAGICAL_on SvROK SvROK_off +syn keyword xsMacro SvROK_on SvRV SvRV_const SvRV_set SvRVx SvRX SvRXOK +syn keyword xsMacro SvSCREAM SvSCREAM_off SvSCREAM_on SvSETMAGIC SvSHARE +syn keyword xsMacro SvSHARED_HASH SvSHARED_HEK_FROM_PV SvSMAGICAL syn keyword xsMacro SvSMAGICAL_off SvSMAGICAL_on SvSTASH SvSTASH_set syn keyword xsMacro SvSetMagicSV SvSetMagicSV_nosteal SvSetSV SvSetSV_and syn keyword xsMacro SvSetSV_nosteal SvSetSV_nosteal_and SvTAIL SvTAIL_off syn keyword xsMacro SvTAIL_on SvTAINT SvTAINTED SvTAINTED_off SvTAINTED_on syn keyword xsMacro SvTEMP SvTEMP_off SvTEMP_on SvTHINKFIRST SvTIED_mg -syn keyword xsMacro SvTIED_obj SvTRUE SvTRUE_nomg SvTRUEx SvTYPE SvUNLOCK -syn keyword xsMacro SvUOK SvUPGRADE SvUTF8 SvUTF8_off SvUTF8_on SvUV SvUVX -syn keyword xsMacro SvUVXx SvUV_nomg SvUV_set SvUVx SvVALID SvVALID_off -syn keyword xsMacro SvVALID_on SvVOK SvVSTRING_mg SvWEAKREF SvWEAKREF_off -syn keyword xsMacro SvWEAKREF_on Sv_Grow TAIL TAINT TAINT_ENV TAINT_IF -syn keyword xsMacro TAINT_NOT TAINT_PROPER THING THR THREAD_CREATE +syn keyword xsMacro SvTIED_obj SvTRUE SvTRUE_NN SvTRUE_common SvTRUE_nomg +syn keyword xsMacro SvTRUE_nomg_NN SvTRUEx SvTRUEx_nomg SvTYPE SvUID SvUNLOCK +syn keyword xsMacro SvUOK SvUOK_nog SvUOK_nogthink SvUPGRADE SvUTF8 +syn keyword xsMacro SvUTF8_off SvUTF8_on SvUV SvUVX SvUVXx SvUV_nomg SvUV_set +syn keyword xsMacro SvUVx SvVALID SvVALID_off SvVALID_on SvVOK SvVSTRING_mg +syn keyword xsMacro SvWEAKREF SvWEAKREF_off SvWEAKREF_on Sv_Grow TAIL TAINT +syn keyword xsMacro TAINTING_get TAINTING_set TAINT_ENV TAINT_IF TAINT_NOT +syn keyword xsMacro TAINT_PROPER TAINT_WARN_get TAINT_WARN_set TAINT_get +syn keyword xsMacro TAINT_set THING THR THREAD_CREATE syn keyword xsMacro THREAD_CREATE_NEEDS_STACK THREAD_POST_CREATE syn keyword xsMacro THREAD_RET_CAST THREAD_RET_TYPE syn keyword xsMacro TIED_METHOD_ARGUMENTS_ON_STACK syn keyword xsMacro TIED_METHOD_MORTALIZE_NOT_NEEDED TIED_METHOD_SAY syn keyword xsMacro TIME64_CONFIG_H TIME64_H TM TMPNAM_R_PROTO TOO_LATE_FOR syn keyword xsMacro TOO_LATE_FOR_ TOPBLOCK TOPMARK TOPi TOPl TOPm1s TOPn TOPp -syn keyword xsMacro TOPp1s TOPpx TOPq TOPs TOPu TOPul TOPuq TRIE TRIEC -syn keyword xsMacro TRIE_BITMAP TRIE_BITMAP_BYTE TRIE_BITMAP_CLEAR -syn keyword xsMacro TRIE_BITMAP_SET TRIE_BITMAP_TEST TRIE_CHARCOUNT -syn keyword xsMacro TRIE_NODEIDX TRIE_NODENUM TRIE_WORDS_OFFSET TRIE_next -syn keyword xsMacro TRIE_next_fail TTYNAME_R_PROTO TWO_BYTE_UTF8_TO_UNI -syn keyword xsMacro TYPE_CHARS TYPE_DIGITS Timeval U16SIZE U16TYPE U16_CONST -syn keyword xsMacro U16_MAX U16_MIN U32SIZE U32TYPE U32_ALIGNMENT_REQUIRED -syn keyword xsMacro U32_CONST U32_MAX U32_MAX_P1 U32_MAX_P1_HALF U32_MIN -syn keyword xsMacro U64SIZE U64TYPE U64_CONST U8SIZE U8TYPE U8_MAX U8_MIN -syn keyword xsMacro UCHARAT UINT32_MIN UINT64_C UINT64_MIN UMINUS UNDERBAR -syn keyword xsMacro UNICODE_ALLOW_ANY UNICODE_ALLOW_SUPER -syn keyword xsMacro UNICODE_ALLOW_SURROGATE UNICODE_BYTE_ORDER_MARK -syn keyword xsMacro UNICODE_DISALLOW_FE_FF +syn keyword xsMacro TOPp1s TOPpx TOPs TOPu TOPul TRIE TRIEC TRIE_BITMAP +syn keyword xsMacro TRIE_BITMAP_BYTE TRIE_BITMAP_CLEAR TRIE_BITMAP_SET +syn keyword xsMacro TRIE_BITMAP_TEST TRIE_CHARCOUNT TRIE_NODEIDX TRIE_NODENUM +syn keyword xsMacro TRIE_WORDS_OFFSET TRIE_next TRIE_next_fail TRUE +syn keyword xsMacro TTYNAME_R_PROTO TWO_BYTE_UTF8_TO_NATIVE +syn keyword xsMacro TWO_BYTE_UTF8_TO_UNI TYPE_CHARS TYPE_DIGITS Timeval +syn keyword xsMacro U16SIZE U16TYPE U16_CONST U16_MAX U16_MIN U32SIZE U32TYPE +syn keyword xsMacro U32_ALIGNMENT_REQUIRED U32_CONST U32_MAX U32_MAX_P1 +syn keyword xsMacro U32_MAX_P1_HALF U32_MIN U64SIZE U64TYPE U64_CONST U8SIZE +syn keyword xsMacro U8TO16_LE U8TO32_LE U8TO64_LE U8TYPE U8_MAX U8_MIN +syn keyword xsMacro UCHARAT UINT32_MIN UINT64_C UINT64_MIN UMINUS +syn keyword xsMacro UNALIGNED_SAFE UNDERBAR UNICODE_ALLOW_ANY +syn keyword xsMacro UNICODE_ALLOW_SUPER UNICODE_ALLOW_SURROGATE +syn keyword xsMacro UNICODE_BYTE_ORDER_MARK UNICODE_DISALLOW_FE_FF syn keyword xsMacro UNICODE_DISALLOW_ILLEGAL_INTERCHANGE syn keyword xsMacro UNICODE_DISALLOW_NONCHAR UNICODE_DISALLOW_SUPER syn keyword xsMacro UNICODE_DISALLOW_SURROGATE @@ -2976,274 +3326,341 @@ syn keyword xsMacro UNICODE_WARN_ILLEGAL_INTERCHANGE UNICODE_WARN_NONCHAR syn keyword xsMacro UNICODE_WARN_SUPER UNICODE_WARN_SURROGATE UNIOP UNIOPSUB syn keyword xsMacro UNISKIP UNI_DISPLAY_BACKSLASH UNI_DISPLAY_ISPRINT syn keyword xsMacro UNI_DISPLAY_QQ UNI_DISPLAY_REGEX UNI_IS_INVARIANT -syn keyword xsMacro UNI_TO_NATIVE UNLESS UNLESSM UNLIKELY UNLINK -syn keyword xsMacro UNLOCK_DOLLARZERO_MUTEX UNTIL USE USE_64_BIT_ALL -syn keyword xsMacro USE_64_BIT_INT USE_64_BIT_RAWIO USE_64_BIT_STDIO -syn keyword xsMacro USE_BSDPGRP USE_DYNAMIC_LOADING USE_ENVIRON_ARRAY -syn keyword xsMacro USE_HASH_SEED USE_HEAP_INSTEAD_OF_STACK USE_LARGE_FILES -syn keyword xsMacro USE_LEFT USE_LOCALE USE_LOCALE_COLLATE USE_LOCALE_CTYPE -syn keyword xsMacro USE_LOCALE_NUMERIC USE_PERLIO USE_REENTRANT_API +syn keyword xsMacro UNI_TO_NATIVE UNKNOWN_ERRNO_MSG UNLESS UNLESSM UNLIKELY +syn keyword xsMacro UNLINK UNLOCK_DOLLARZERO_MUTEX UNLOCK_LC_NUMERIC_STANDARD +syn keyword xsMacro UNLOCK_NUMERIC_STANDARD UNOP_AUX_item_sv UNTIL +syn keyword xsMacro UPG_VERSION USE USE_64_BIT_ALL USE_64_BIT_INT +syn keyword xsMacro USE_64_BIT_RAWIO USE_64_BIT_STDIO USE_BSDPGRP +syn keyword xsMacro USE_DYNAMIC_LOADING USE_ENVIRON_ARRAY USE_HASH_SEED +syn keyword xsMacro USE_HEAP_INSTEAD_OF_STACK USE_LARGE_FILES USE_LEFT +syn keyword xsMacro USE_LOCALE USE_LOCALE_COLLATE USE_LOCALE_CTYPE +syn keyword xsMacro USE_LOCALE_MESSAGES USE_LOCALE_MONETARY +syn keyword xsMacro USE_LOCALE_NUMERIC USE_LOCALE_TIME USE_PERLIO +syn keyword xsMacro USE_PERL_PERTURB_KEYS USE_REENTRANT_API syn keyword xsMacro USE_SEMCTL_SEMID_DS USE_SEMCTL_SEMUN USE_STAT_BLOCKS -syn keyword xsMacro USE_STAT_RDEV USE_STDIO USE_STDIO_BASE USE_STDIO_PTR -syn keyword xsMacro USE_STRUCT_COPY USE_SYSTEM_GMTIME USE_SYSTEM_LOCALTIME -syn keyword xsMacro USE_THREADS USE_TM64 USE_UTF8_IN_NAMES UTF8SKIP -syn keyword xsMacro UTF8_ACCUMULATE UTF8_ALLOW_ANY UTF8_ALLOW_ANYUV -syn keyword xsMacro UTF8_ALLOW_CONTINUATION UTF8_ALLOW_DEFAULT -syn keyword xsMacro UTF8_ALLOW_EMPTY UTF8_ALLOW_FFFF UTF8_ALLOW_LONG -syn keyword xsMacro UTF8_ALLOW_NON_CONTINUATION UTF8_ALLOW_SHORT -syn keyword xsMacro UTF8_ALLOW_SURROGATE UTF8_CHECK_ONLY UTF8_DISALLOW_FE_FF -syn keyword xsMacro UTF8_DISALLOW_ILLEGAL_INTERCHANGE UTF8_DISALLOW_NONCHAR -syn keyword xsMacro UTF8_DISALLOW_SUPER UTF8_DISALLOW_SURROGATE -syn keyword xsMacro UTF8_EIGHT_BIT_HI UTF8_EIGHT_BIT_LO +syn keyword xsMacro USE_STAT_RDEV USE_STDIO USE_STRUCT_COPY USE_SYSTEM_GMTIME +syn keyword xsMacro USE_SYSTEM_LOCALTIME USE_THREADS USE_TM64 +syn keyword xsMacro USE_UTF8_IN_NAMES USING_MSVC6 UTF8SKIP UTF8_ACCUMULATE +syn keyword xsMacro UTF8_ALLOW_ANY UTF8_ALLOW_ANYUV UTF8_ALLOW_CONTINUATION +syn keyword xsMacro UTF8_ALLOW_DEFAULT UTF8_ALLOW_EMPTY UTF8_ALLOW_FFFF +syn keyword xsMacro UTF8_ALLOW_LONG UTF8_ALLOW_NON_CONTINUATION +syn keyword xsMacro UTF8_ALLOW_SHORT UTF8_ALLOW_SURROGATE UTF8_CHECK_ONLY +syn keyword xsMacro UTF8_DISALLOW_FE_FF UTF8_DISALLOW_ILLEGAL_INTERCHANGE +syn keyword xsMacro UTF8_DISALLOW_NONCHAR UTF8_DISALLOW_SUPER +syn keyword xsMacro UTF8_DISALLOW_SURROGATE UTF8_EIGHT_BIT_HI +syn keyword xsMacro UTF8_EIGHT_BIT_LO syn keyword xsMacro UTF8_FIRST_PROBLEMATIC_CODE_POINT_FIRST_BYTE -syn keyword xsMacro UTF8_IS_CONTINUATION UTF8_IS_CONTINUED -syn keyword xsMacro UTF8_IS_DOWNGRADEABLE_START UTF8_IS_INVARIANT +syn keyword xsMacro UTF8_IS_ABOVE_LATIN1 UTF8_IS_CONTINUATION +syn keyword xsMacro UTF8_IS_CONTINUED UTF8_IS_DOWNGRADEABLE_START +syn keyword xsMacro UTF8_IS_INVARIANT UTF8_IS_NEXT_CHAR_DOWNGRADEABLE syn keyword xsMacro UTF8_IS_NONCHAR_ syn keyword xsMacro UTF8_IS_NONCHAR_GIVEN_THAT_NON_SUPER_AND_GE_PROBLEMATIC -syn keyword xsMacro UTF8_IS_START UTF8_IS_SUPER UTF8_IS_SURROGATE -syn keyword xsMacro UTF8_MAXBYTES UTF8_MAXBYTES_CASE UTF8_MAXLEN -syn keyword xsMacro UTF8_MAX_FOLD_CHAR_EXPAND UTF8_QUAD_MAX UTF8_TWO_BYTE_HI -syn keyword xsMacro UTF8_TWO_BYTE_HI_nocast UTF8_TWO_BYTE_LO +syn keyword xsMacro UTF8_IS_REPLACEMENT UTF8_IS_START UTF8_IS_SUPER +syn keyword xsMacro UTF8_IS_SURROGATE UTF8_MAXBYTES UTF8_MAXBYTES_CASE +syn keyword xsMacro UTF8_MAXLEN UTF8_MAX_FOLD_CHAR_EXPAND UTF8_QUAD_MAX +syn keyword xsMacro UTF8_TWO_BYTE_HI UTF8_TWO_BYTE_HI_nocast UTF8_TWO_BYTE_LO syn keyword xsMacro UTF8_TWO_BYTE_LO_nocast UTF8_WARN_FE_FF syn keyword xsMacro UTF8_WARN_ILLEGAL_INTERCHANGE UTF8_WARN_NONCHAR -syn keyword xsMacro UTF8_WARN_SUPER UTF8_WARN_SURROGATE +syn keyword xsMacro UTF8_WARN_SUPER UTF8_WARN_SURROGATE UTF8f UTF8fARG syn keyword xsMacro UTF_ACCUMULATION_OVERFLOW_MASK UTF_ACCUMULATION_SHIFT syn keyword xsMacro UTF_CONTINUATION_MARK UTF_CONTINUATION_MASK -syn keyword xsMacro UTF_START_MARK UTF_START_MASK UTF_TO_NATIVE UVSIZE UVTYPE -syn keyword xsMacro UVXf UV_DIG UV_MAX UV_MAX_P1 UV_MAX_P1_HALF UV_MIN UVf -syn keyword xsMacro U_32 U_I U_L U_S U_V Uid_t_f Uid_t_sign Uid_t_size -syn keyword xsMacro VAL_EAGAIN VAL_O_NONBLOCK VDf VERB VERTWS VOIDFLAGS -syn keyword xsMacro VOIDUSED VOL VTBL_amagic VTBL_amagicelem VTBL_arylen -syn keyword xsMacro VTBL_bm VTBL_collxfrm VTBL_dbline VTBL_defelem VTBL_env +syn keyword xsMacro UTF_START_MARK UTF_START_MASK UTF_TO_NATIVE +syn keyword xsMacro UVCHR_IS_INVARIANT UVCHR_SKIP UVSIZE UVTYPE UVXf UV_DIG +syn keyword xsMacro UV_MAX UV_MAX_P1 UV_MAX_P1_HALF UV_MIN UVf U_32 U_I U_L +syn keyword xsMacro U_S U_V Uid_t_f Uid_t_sign Uid_t_size VAL_EAGAIN +syn keyword xsMacro VAL_O_NONBLOCK VCMP VERB VNORMAL VNUMIFY VOL VSTRINGIFY +syn keyword xsMacro VTBL_amagic VTBL_amagicelem VTBL_arylen VTBL_bm +syn keyword xsMacro VTBL_collxfrm VTBL_dbline VTBL_defelem VTBL_env syn keyword xsMacro VTBL_envelem VTBL_fm VTBL_glob VTBL_isa VTBL_isaelem syn keyword xsMacro VTBL_mglob VTBL_nkeys VTBL_pack VTBL_packelem VTBL_pos syn keyword xsMacro VTBL_regdata VTBL_regdatum VTBL_regexp VTBL_sigelem syn keyword xsMacro VTBL_substr VTBL_sv VTBL_taint VTBL_uvar VTBL_vec -syn keyword xsMacro WARN_ALL WARN_ALLstring WARN_AMBIGUOUS WARN_BAREWORD -syn keyword xsMacro WARN_CLOSED WARN_CLOSURE WARN_DEBUGGING WARN_DEPRECATED -syn keyword xsMacro WARN_DIGIT WARN_EXEC WARN_EXITING WARN_GLOB +syn keyword xsMacro VT_NATIVE VUTIL_REPLACE_CORE VVERIFY WARN_ALL +syn keyword xsMacro WARN_ALLstring WARN_AMBIGUOUS WARN_BAREWORD WARN_CLOSED +syn keyword xsMacro WARN_CLOSURE WARN_DEBUGGING WARN_DEPRECATED WARN_DIGIT +syn keyword xsMacro WARN_EXEC WARN_EXITING WARN_EXPERIMENTAL +syn keyword xsMacro WARN_EXPERIMENTAL__AUTODEREF WARN_EXPERIMENTAL__BITWISE +syn keyword xsMacro WARN_EXPERIMENTAL__CONST_ATTR +syn keyword xsMacro WARN_EXPERIMENTAL__LEXICAL_SUBS +syn keyword xsMacro WARN_EXPERIMENTAL__LEXICAL_TOPIC +syn keyword xsMacro WARN_EXPERIMENTAL__POSTDEREF +syn keyword xsMacro WARN_EXPERIMENTAL__REFALIASING +syn keyword xsMacro WARN_EXPERIMENTAL__REGEX_SETS +syn keyword xsMacro WARN_EXPERIMENTAL__RE_STRICT +syn keyword xsMacro WARN_EXPERIMENTAL__SIGNATURES +syn keyword xsMacro WARN_EXPERIMENTAL__SMARTMATCH +syn keyword xsMacro WARN_EXPERIMENTAL__WIN32_PERLIO WARN_GLOB syn keyword xsMacro WARN_ILLEGALPROTO WARN_IMPRECISION WARN_INPLACE -syn keyword xsMacro WARN_INTERNAL WARN_IO WARN_LAYER WARN_MALLOC WARN_MISC -syn keyword xsMacro WARN_NEWLINE WARN_NONCHAR WARN_NONEstring -syn keyword xsMacro WARN_NON_UNICODE WARN_NUMERIC WARN_ONCE WARN_OVERFLOW -syn keyword xsMacro WARN_PACK WARN_PARENTHESIS WARN_PIPE WARN_PORTABLE -syn keyword xsMacro WARN_PRECEDENCE WARN_PRINTF WARN_PROTOTYPE WARN_QW -syn keyword xsMacro WARN_RECURSION WARN_REDEFINE WARN_REGEXP WARN_RESERVED -syn keyword xsMacro WARN_SEMICOLON WARN_SEVERE WARN_SIGNAL WARN_SUBSTR -syn keyword xsMacro WARN_SURROGATE WARN_SYNTAX WARN_TAINT WARN_THREADS -syn keyword xsMacro WARN_UNINITIALIZED WARN_UNOPENED WARN_UNPACK WARN_UNTIE -syn keyword xsMacro WARN_UTF8 WARN_VOID WARNshift WARNsize WEXITSTATUS WHEN -syn keyword xsMacro WHILE WHILEM WHILEM_A_max WHILEM_A_max_fail WHILEM_A_min +syn keyword xsMacro WARN_INTERNAL WARN_IO WARN_LAYER WARN_LOCALE WARN_MALLOC +syn keyword xsMacro WARN_MISC WARN_MISSING WARN_NEWLINE WARN_NONCHAR +syn keyword xsMacro WARN_NONEstring WARN_NON_UNICODE WARN_NUMERIC WARN_ONCE +syn keyword xsMacro WARN_OVERFLOW WARN_PACK WARN_PARENTHESIS WARN_PIPE +syn keyword xsMacro WARN_PORTABLE WARN_PRECEDENCE WARN_PRINTF WARN_PROTOTYPE +syn keyword xsMacro WARN_QW WARN_RECURSION WARN_REDEFINE WARN_REDUNDANT +syn keyword xsMacro WARN_REGEXP WARN_RESERVED WARN_SEMICOLON WARN_SEVERE +syn keyword xsMacro WARN_SIGNAL WARN_SUBSTR WARN_SURROGATE WARN_SYNTAX +syn keyword xsMacro WARN_SYSCALLS WARN_TAINT WARN_THREADS WARN_UNINITIALIZED +syn keyword xsMacro WARN_UNOPENED WARN_UNPACK WARN_UNTIE WARN_UTF8 WARN_VOID +syn keyword xsMacro WARNshift WARNsize WB_ENUM_COUNT WEXITSTATUS WHEN WHILE +syn keyword xsMacro WHILEM WHILEM_A_max WHILEM_A_max_fail WHILEM_A_min syn keyword xsMacro WHILEM_A_min_fail WHILEM_A_pre WHILEM_A_pre_fail syn keyword xsMacro WHILEM_B_max WHILEM_B_max_fail WHILEM_B_min syn keyword xsMacro WHILEM_B_min_fail WIDEST_UTYPE WIFEXITED WIFSIGNALED syn keyword xsMacro WIFSTOPPED WIN32SCK_IS_STDSCK WNOHANG WORD WSTOPSIG -syn keyword xsMacro WTERMSIG WUNTRACED XHvTOTALKEYS XOPd_xop_class -syn keyword xsMacro XOPd_xop_desc XOPd_xop_name XOPd_xop_peep XOPf_xop_class -syn keyword xsMacro XOPf_xop_desc XOPf_xop_name XOPf_xop_peep XPUSHTARG -syn keyword xsMacro XPUSHi XPUSHmortal XPUSHn XPUSHp XPUSHs XPUSHu XPUSHundef -syn keyword xsMacro XS XSANY XSINTERFACE_CVT XSINTERFACE_CVT_ANON +syn keyword xsMacro WTERMSIG WUNTRACED XDIGIT_VALUE XHvTOTALKEYS +syn keyword xsMacro XOPd_xop_class XOPd_xop_desc XOPd_xop_name XOPd_xop_peep +syn keyword xsMacro XOPf_xop_class XOPf_xop_desc XOPf_xop_name XOPf_xop_peep +syn keyword xsMacro XPUSHTARG XPUSHi XPUSHmortal XPUSHn XPUSHp XPUSHs XPUSHu +syn keyword xsMacro XPUSHundef XS XSANY XSINTERFACE_CVT XSINTERFACE_CVT_ANON syn keyword xsMacro XSINTERFACE_FUNC XSINTERFACE_FUNC_SET XSPROTO XSRETURN syn keyword xsMacro XSRETURN_EMPTY XSRETURN_IV XSRETURN_NO XSRETURN_NV syn keyword xsMacro XSRETURN_PV XSRETURN_PVN XSRETURN_UNDEF XSRETURN_UV syn keyword xsMacro XSRETURN_YES XST_mIV XST_mNO XST_mNV XST_mPV XST_mPVN syn keyword xsMacro XST_mUNDEF XST_mUV XST_mYES XS_APIVERSION_BOOTCHECK +syn keyword xsMacro XS_APIVERSION_POPMARK_BOOTCHECK +syn keyword xsMacro XS_APIVERSION_SETXSUBFN_POPMARK_BOOTCHECK +syn keyword xsMacro XS_BOTHVERSION_BOOTCHECK XS_BOTHVERSION_POPMARK_BOOTCHECK +syn keyword xsMacro XS_BOTHVERSION_SETXSUBFN_POPMARK_BOOTCHECK syn keyword xsMacro XS_DYNAMIC_FILENAME XS_EXTERNAL XS_INTERNAL -syn keyword xsMacro XS_VERSION_BOOTCHECK XSprePUSH XTENDED_PAT_MOD XopDISABLE -syn keyword xsMacro XopENABLE XopENTRY XopENTRY_set XopFLAGS YADAYADA YIELD +syn keyword xsMacro XS_SETXSUBFN_POPMARK XS_VERSION_BOOTCHECK XSprePUSH +syn keyword xsMacro XTENDED_PAT_MOD XopDISABLE XopENABLE XopENTRY +syn keyword xsMacro XopENTRYCUSTOM XopENTRY_set XopFLAGS YADAYADA YIELD syn keyword xsMacro YYEMPTY YYSTYPE_IS_DECLARED YYSTYPE_IS_TRIVIAL -syn keyword xsMacro YYTOKENTYPE Zero ZeroD _ _CANNOT _CC_ALNUMC_A -syn keyword xsMacro _CC_ALNUMC_L1 _CC_ALPHA_A _CC_ALPHA_L1 _CC_BLANK_A -syn keyword xsMacro _CC_BLANK_L1 _CC_CHARNAME_CONT _CC_CNTRL_A _CC_CNTRL_L1 -syn keyword xsMacro _CC_DIGIT_A _CC_GRAPH_A _CC_GRAPH_L1 _CC_IDFIRST_A -syn keyword xsMacro _CC_IDFIRST_L1 _CC_LOWER_A _CC_LOWER_L1 -syn keyword xsMacro _CC_NONLATIN1_FOLD _CC_OCTAL_A _CC_PRINT_A _CC_PRINT_L1 -syn keyword xsMacro _CC_PSXSPC_A _CC_PSXSPC_L1 _CC_PUNCT_A _CC_PUNCT_L1 -syn keyword xsMacro _CC_QUOTEMETA _CC_SPACE_A _CC_SPACE_L1 _CC_UPPER_A -syn keyword xsMacro _CC_UPPER_L1 _CC_WORDCHAR_A _CC_WORDCHAR_L1 _CC_XDIGIT_A -syn keyword xsMacro _CPERLarg _GNU_SOURCE +syn keyword xsMacro YYTOKENTYPE Zero ZeroD _ _CANNOT _CC_ALPHA +syn keyword xsMacro _CC_ALPHANUMERIC _CC_ASCII _CC_BLANK _CC_CASED +syn keyword xsMacro _CC_CHARNAME_CONT _CC_CNTRL _CC_DIGIT _CC_GRAPH +syn keyword xsMacro _CC_IDFIRST _CC_IS_IN_SOME_FOLD _CC_LOWER +syn keyword xsMacro _CC_MNEMONIC_CNTRL _CC_NONLATIN1_FOLD +syn keyword xsMacro _CC_NONLATIN1_SIMPLE_FOLD _CC_NON_FINAL_FOLD _CC_PRINT +syn keyword xsMacro _CC_PUNCT _CC_QUOTEMETA _CC_SPACE _CC_UPPER _CC_VERTSPACE +syn keyword xsMacro _CC_WORDCHAR _CC_XDIGIT _CC_mask _CC_mask_A +syn keyword xsMacro _CHECK_AND_OUTPUT_WIDE_LOCALE_CP_MSG +syn keyword xsMacro _CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG +syn keyword xsMacro _CHECK_AND_WARN_PROBLEMATIC_LOCALE +syn keyword xsMacro _CORE_SWASH_INIT_ACCEPT_INVLIST +syn keyword xsMacro _CORE_SWASH_INIT_RETURN_IF_UNDEF +syn keyword xsMacro _CORE_SWASH_INIT_USER_DEFINED_PROPERTY _CPERLarg +syn keyword xsMacro _FIRST_NON_SWASH_CC _GNU_SOURCE syn keyword xsMacro _HAS_NONLATIN1_FOLD_CLOSURE_ONLY_FOR_USE_BY_REGCOMP_DOT_C_AND_REGEXEC_DOT_C -syn keyword xsMacro _INC_PERL_XSUB_H _PERLIOL_H _PERLIO_H _PERL_OBJECT_THIS -syn keyword xsMacro _REGEXP_COMMON _RXf_PMf_CHARSET_SHIFT _RXf_PMf_SHIFT_NEXT -syn keyword xsMacro _SOCKADDR_LEN _STDIO_H _STDIO_INCLUDED _V _XPVCV_COMMON -syn keyword xsMacro _XPV_HEAD __Inc__IPerl___ __PATCHLEVEL_H_INCLUDED__ -syn keyword xsMacro __STDIO_LOADED __attribute__deprecated__ -syn keyword xsMacro __attribute__format__ __attribute__format__null_ok__ -syn keyword xsMacro __attribute__malloc__ __attribute__nonnull__ -syn keyword xsMacro __attribute__noreturn__ __attribute__pure__ -syn keyword xsMacro __attribute__unused__ __attribute__warn_unused_result__ -syn keyword xsMacro __filbuf __flsbuf __perlapi_h__ _config_h_ _exit _filbuf -syn keyword xsMacro _flsbuf _isQUOTEMETA _stdopen _swab_16_ _swab_32_ -syn keyword xsMacro _swab_64_ aTHXo aTHXo_ aTHXx aTHXx_ abort accept access +syn keyword xsMacro _HAS_NONLATIN1_SIMPLE_FOLD_CLOSURE_ONLY_FOR_USE_BY_REGCOMP_DOT_C_AND_REGEXEC_DOT_C +syn keyword xsMacro _HIGHEST_REGCOMP_DOT_H_SYNC _INC_PERL_XSUB_H +syn keyword xsMacro _IS_IN_SOME_FOLD_ONLY_FOR_USE_BY_REGCOMP_DOT_C +syn keyword xsMacro _IS_MNEMONIC_CNTRL_ONLY_FOR_USE_BY_REGCOMP_DOT_C +syn keyword xsMacro _IS_NON_FINAL_FOLD_ONLY_FOR_USE_BY_REGCOMP_DOT_C _LC_CAST +syn keyword xsMacro _MEM_WRAP_NEEDS_RUNTIME_CHECK _MEM_WRAP_WILL_WRAP +syn keyword xsMacro _NOT_IN_NUMERIC_STANDARD _NOT_IN_NUMERIC_UNDERLYING +syn keyword xsMacro _NV_BODYLESS_UNION _OP_SIBPARENT_FIELDNAME _PERLIOL_H +syn keyword xsMacro _PERLIO_H _PERL_OBJECT_THIS _REGEXP_COMMON +syn keyword xsMacro _RXf_PMf_CHARSET_SHIFT _RXf_PMf_SHIFT_COMPILETIME +syn keyword xsMacro _RXf_PMf_SHIFT_NEXT _STDIO_H _STDIO_INCLUDED _V +syn keyword xsMacro _XPVCV_COMMON _XPV_HEAD __ASSERT_ __BASE_TWO_BYTE_HI +syn keyword xsMacro __BASE_TWO_BYTE_LO __Inc__IPerl___ +syn keyword xsMacro __PATCHLEVEL_H_INCLUDED__ __PL_inf_float_int32 +syn keyword xsMacro __PL_nan_float_int32 __STDIO_LOADED +syn keyword xsMacro __attribute__deprecated__ __attribute__format__ +syn keyword xsMacro __attribute__format__null_ok__ __attribute__malloc__ +syn keyword xsMacro __attribute__nonnull__ __attribute__noreturn__ +syn keyword xsMacro __attribute__pure__ __attribute__unused__ +syn keyword xsMacro __attribute__warn_unused_result__ __filbuf __flsbuf +syn keyword xsMacro __has_builtin __perlapi_h__ _config_h_ _exit _filbuf +syn keyword xsMacro _flsbuf _generic_LC _generic_LC_base +syn keyword xsMacro _generic_LC_func_utf8 _generic_LC_swash_utf8 +syn keyword xsMacro _generic_LC_swash_uvchr _generic_LC_underscore +syn keyword xsMacro _generic_LC_utf8 _generic_LC_uvchr _generic_func_utf8 +syn keyword xsMacro _generic_isCC _generic_isCC_A _generic_swash_uni +syn keyword xsMacro _generic_swash_utf8 _generic_toFOLD_LC +syn keyword xsMacro _generic_toLOWER_LC _generic_toUPPER_LC _generic_uni +syn keyword xsMacro _generic_utf8 _generic_utf8_no_upper_latin1 _isQMC +syn keyword xsMacro _isQUOTEMETA _swab_16_ _swab_32_ _swab_64_ aTHXa aTHXo +syn keyword xsMacro aTHXo_ aTHXx aTHXx_ abort accept access syn keyword xsMacro anchored_end_shift anchored_offset anchored_substr -syn keyword xsMacro anchored_utf8 asctime assert assert_not_ROK -syn keyword xsMacro assert_not_glob atoll bcmp bind blk_eval blk_format -syn keyword xsMacro blk_gimme blk_givwhen blk_loop blk_oldcop blk_oldmarksp -syn keyword xsMacro blk_oldpm blk_oldscopesp blk_oldsp blk_sub blk_u16 boolSV -syn keyword xsMacro cBINOP cBINOPo cBINOPx cBOOL cCOP cCOPo cCOPx cGVOP_gv -syn keyword xsMacro cGVOPo_gv cGVOPx_gv cLISTOP cLISTOPo cLISTOPx cLOGOP -syn keyword xsMacro cLOGOPo cLOGOPx cLOOP cLOOPo cLOOPx cPADOP cPADOPo +syn keyword xsMacro anchored_utf8 asctime assert assert_ assert_not_ROK +syn keyword xsMacro assert_not_glob atoll av_tindex bcmp bind blk_eval +syn keyword xsMacro blk_format blk_gimme blk_givwhen blk_loop blk_oldcop +syn keyword xsMacro blk_oldmarksp blk_oldpm blk_oldscopesp blk_oldsp blk_sub +syn keyword xsMacro blk_u16 bool boolSV cBINOP cBINOPo cBINOPx cBOOL cCOP +syn keyword xsMacro cCOPo cCOPx cGVOP_gv cGVOPo_gv cGVOPx_gv cLISTOP cLISTOPo +syn keyword xsMacro cLISTOPx cLOGOP cLOGOPo cLOGOPx cLOOP cLOOPo cLOOPx +syn keyword xsMacro cMETHOPx cMETHOPx_meth cMETHOPx_rclass cPADOP cPADOPo syn keyword xsMacro cPADOPx cPMOP cPMOPo cPMOPx cPVOP cPVOPo cPVOPx cSVOP syn keyword xsMacro cSVOP_sv cSVOPo cSVOPo_sv cSVOPx cSVOPx_sv cSVOPx_svp -syn keyword xsMacro cUNOP cUNOPo cUNOPx chdir check_end_shift -syn keyword xsMacro check_offset_max check_offset_min check_substr check_utf8 -syn keyword xsMacro child_offset_bits chmod chsize ckDEAD ckWARN ckWARN2 -syn keyword xsMacro ckWARN2_d ckWARN3 ckWARN3_d ckWARN4 ckWARN4_d ckWARN_d -syn keyword xsMacro close closedir connect cop_hints_2hv cop_hints_fetch_pv -syn keyword xsMacro cop_hints_fetch_pvn cop_hints_fetch_pvs -syn keyword xsMacro cop_hints_fetch_sv cophh_2hv cophh_copy cophh_delete_pv -syn keyword xsMacro cophh_delete_pvn cophh_delete_pvs cophh_delete_sv -syn keyword xsMacro cophh_fetch_pv cophh_fetch_pvn cophh_fetch_pvs -syn keyword xsMacro cophh_fetch_sv cophh_free cophh_new_empty cophh_store_pv -syn keyword xsMacro cophh_store_pvn cophh_store_pvs cophh_store_sv crypt -syn keyword xsMacro ctermid ctime cv_ckproto cx_type cxstack cxstack_ix -syn keyword xsMacro cxstack_max dATARGET dAX dAXMARK dEXT dEXTCONST dITEMS -syn keyword xsMacro dJMPENV dMARK dMULTICALL dMY_CXT dMY_CXT_INTERP -syn keyword xsMacro dMY_CXT_SV dNOOP dORIGMARK dPOPPOPiirl dPOPPOPnnrl -syn keyword xsMacro dPOPPOPssrl dPOPTOPiirl dPOPTOPiirl_nomg -syn keyword xsMacro dPOPTOPiirl_ul_nomg dPOPTOPnnrl dPOPTOPnnrl_nomg -syn keyword xsMacro dPOPTOPssrl dPOPXiirl dPOPXiirl_ul_nomg dPOPXnnrl -syn keyword xsMacro dPOPXssrl dPOPiv dPOPnv dPOPnv_nomg dPOPqv dPOPss dPOPuqv -syn keyword xsMacro dPOPuv dSAVEDERRNO dSAVE_ERRNO dSP dTARG dTARGET +syn keyword xsMacro cUNOP cUNOP_AUX cUNOP_AUXo cUNOP_AUXx cUNOPo cUNOPx chdir +syn keyword xsMacro check_end_shift check_offset_max check_offset_min +syn keyword xsMacro check_substr check_utf8 child_offset_bits chmod chsize +syn keyword xsMacro ckDEAD ckWARN ckWARN2 ckWARN2_d ckWARN3 ckWARN3_d ckWARN4 +syn keyword xsMacro ckWARN4_d ckWARN_d close closedir connect cop_hints_2hv +syn keyword xsMacro cop_hints_fetch_pv cop_hints_fetch_pvn +syn keyword xsMacro cop_hints_fetch_pvs cop_hints_fetch_sv cophh_2hv +syn keyword xsMacro cophh_copy cophh_delete_pv cophh_delete_pvn +syn keyword xsMacro cophh_delete_pvs cophh_delete_sv cophh_fetch_pv +syn keyword xsMacro cophh_fetch_pvn cophh_fetch_pvs cophh_fetch_sv cophh_free +syn keyword xsMacro cophh_new_empty cophh_store_pv cophh_store_pvn +syn keyword xsMacro cophh_store_pvs cophh_store_sv crypt ctermid ctime +syn keyword xsMacro cv_ckproto cx_type cxstack cxstack_ix cxstack_max +syn keyword xsMacro dATARGET dAX dAXMARK dEXT dEXTCONST dITEMS dJMPENV dMARK +syn keyword xsMacro dMULTICALL dMY_CXT dMY_CXT_INTERP dMY_CXT_SV dNOOP +syn keyword xsMacro dORIGMARK dPOPPOPiirl dPOPPOPnnrl dPOPPOPssrl dPOPTOPiirl +syn keyword xsMacro dPOPTOPiirl_nomg dPOPTOPiirl_ul_nomg dPOPTOPnnrl +syn keyword xsMacro dPOPTOPnnrl_nomg dPOPTOPssrl dPOPXiirl dPOPXiirl_ul_nomg +syn keyword xsMacro dPOPXnnrl dPOPXssrl dPOPiv dPOPnv dPOPnv_nomg dPOPss +syn keyword xsMacro dPOPuv dSAVEDERRNO dSAVE_ERRNO dSP dSS_ADD dTARG dTARGET syn keyword xsMacro dTARGETSTACKED dTHR dTHX dTHXa dTHXo dTHXoa dTHXs dTHXx -syn keyword xsMacro dTOPiv dTOPnv dTOPqv dTOPss dTOPuqv dTOPuv dUNDERBAR dVAR -syn keyword xsMacro dXSARGS dXSFUNCTION dXSI32 dXSTARG dXSUB_SYS deprecate -syn keyword xsMacro djSP do_open drand48 dup dup2 endgrent endhostent -syn keyword xsMacro endnetent endprotoent endpwent endservent environ execl -syn keyword xsMacro execv execvp fcntl fd_set fdopen fileno float_end_shift -syn keyword xsMacro float_max_offset float_min_offset float_substr float_utf8 -syn keyword xsMacro flock flockfile foldEQ_utf8 frewind fscanf fstat ftell -syn keyword xsMacro ftruncate ftrylockfile funlockfile fwrite1 generic_uni -syn keyword xsMacro generic_utf8 get_cvs getc_unlocked getegid geteuid getgid -syn keyword xsMacro getgrent getgrgid getgrnam gethostbyaddr gethostbyname -syn keyword xsMacro gethostent gethostname getlogin getnetbyaddr getnetbyname -syn keyword xsMacro getnetent getpeername getpid getprotobyname -syn keyword xsMacro getprotobynumber getprotoent getpwent getpwnam getpwuid -syn keyword xsMacro getservbyname getservbyport getservent getsockname -syn keyword xsMacro getsockopt getspnam gettimeofday getuid getw gv_AVadd -syn keyword xsMacro gv_HVadd gv_IOadd gv_SVadd gv_autoload4 gv_efullname3 -syn keyword xsMacro gv_fetchmeth gv_fetchmeth_autoload gv_fetchmethod -syn keyword xsMacro gv_fetchmethod_flags gv_fetchpvn gv_fetchpvs -syn keyword xsMacro gv_fetchsv_nomg gv_fullname3 gv_init gv_stashpvs htoni -syn keyword xsMacro htonl htons htovl htovs hv_delete hv_delete_ent hv_exists -syn keyword xsMacro hv_exists_ent hv_fetch hv_fetch_ent hv_fetchs hv_iternext -syn keyword xsMacro hv_magic hv_store hv_store_ent hv_store_flags hv_stores -syn keyword xsMacro hv_undef ibcmp ibcmp_locale ibcmp_utf8 inet_addr -syn keyword xsMacro inet_ntoa init_os_extras init_thread_intern ioctl isALNUM -syn keyword xsMacro isALNUMC isALNUMC_A isALNUMC_L1 isALNUMC_LC -syn keyword xsMacro isALNUMC_LC_utf8 isALNUMU isALNUM_LC isALNUM_LC_utf8 -syn keyword xsMacro isALNUM_LC_uvchr isALNUM_lazy isALNUM_lazy_if isALNUM_uni -syn keyword xsMacro isALNUM_utf8 isALPHA isALPHAU isALPHA_A isALPHA_L1 -syn keyword xsMacro isALPHA_LC isALPHA_LC_utf8 isALPHA_LC_uvchr isALPHA_uni -syn keyword xsMacro isALPHA_utf8 isASCII isASCII_A isASCII_L1 isASCII_LC -syn keyword xsMacro isASCII_uni isASCII_utf8 isBLANK isBLANK_A isBLANK_L1 -syn keyword xsMacro isBLANK_LC isBLANK_LC_uni isBLANK_LC_utf8 isBLANK_uni -syn keyword xsMacro isBLANK_utf8 isCHARNAME_CONT isCNTRL isCNTRL_A isCNTRL_L1 -syn keyword xsMacro isCNTRL_LC isCNTRL_LC_utf8 isCNTRL_LC_uvchr isCNTRL_uni -syn keyword xsMacro isCNTRL_utf8 isDIGIT isDIGIT_A isDIGIT_L1 isDIGIT_LC -syn keyword xsMacro isDIGIT_LC_utf8 isDIGIT_LC_uvchr isDIGIT_uni isDIGIT_utf8 -syn keyword xsMacro isGRAPH isGRAPH_A isGRAPH_L1 isGRAPH_LC isGRAPH_LC_utf8 +syn keyword xsMacro dTOPiv dTOPnv dTOPss dTOPuv dUNDERBAR dVAR dXSARGS +syn keyword xsMacro dXSBOOTARGSAPIVERCHK dXSBOOTARGSNOVERCHK +syn keyword xsMacro dXSBOOTARGSXSAPIVERCHK dXSFUNCTION dXSI32 dXSTARG +syn keyword xsMacro dXSUB_SYS deprecate djSP do_open dup dup2 endgrent +syn keyword xsMacro endhostent endnetent endprotoent endpwent endservent +syn keyword xsMacro environ execl execv execvp fcntl fd_set fdopen fileno +syn keyword xsMacro float_end_shift float_max_offset float_min_offset +syn keyword xsMacro float_substr float_utf8 flock flockfile foldEQ_utf8 +syn keyword xsMacro frewind fscanf fstat ftell ftruncate ftrylockfile +syn keyword xsMacro funlockfile fwrite1 get_cvs getc_unlocked getegid geteuid +syn keyword xsMacro getgid getgrent getgrgid getgrnam gethostbyaddr +syn keyword xsMacro gethostbyname gethostent gethostname getlogin +syn keyword xsMacro getnetbyaddr getnetbyname getnetent getpeername getpid +syn keyword xsMacro getprotobyname getprotobynumber getprotoent getpwent +syn keyword xsMacro getpwnam getpwuid getservbyname getservbyport getservent +syn keyword xsMacro getsockname getsockopt getspnam gettimeofday getuid getw +syn keyword xsMacro gv_AVadd gv_HVadd gv_IOadd gv_SVadd gv_autoload4 +syn keyword xsMacro gv_efullname3 gv_fetchmeth gv_fetchmeth_autoload +syn keyword xsMacro gv_fetchmethod gv_fetchmethod_flags gv_fetchpvn +syn keyword xsMacro gv_fetchpvs gv_fetchsv_nomg gv_fullname3 gv_init +syn keyword xsMacro gv_method_changed gv_stashpvs htoni htonl htons htovl +syn keyword xsMacro htovs hv_delete hv_delete_ent hv_deletehek hv_exists +syn keyword xsMacro hv_exists_ent hv_fetch hv_fetch_ent hv_fetchhek hv_fetchs +syn keyword xsMacro hv_iternext hv_magic hv_store hv_store_ent hv_store_flags +syn keyword xsMacro hv_storehek hv_stores hv_undef ibcmp ibcmp_locale +syn keyword xsMacro ibcmp_utf8 inet_addr inet_ntoa init_os_extras ioctl +syn keyword xsMacro isALNUM isALNUMC isALNUMC_A isALNUMC_L1 isALNUMC_LC +syn keyword xsMacro isALNUMC_LC_utf8 isALNUMC_LC_uvchr isALNUMC_uni +syn keyword xsMacro isALNUMC_utf8 isALNUMU isALNUM_LC isALNUM_LC_utf8 +syn keyword xsMacro isALNUM_LC_uvchr isALNUM_lazy_if isALNUM_uni isALNUM_utf8 +syn keyword xsMacro isALPHA isALPHANUMERIC isALPHANUMERIC_A isALPHANUMERIC_L1 +syn keyword xsMacro isALPHANUMERIC_LC isALPHANUMERIC_LC_utf8 +syn keyword xsMacro isALPHANUMERIC_LC_uvchr isALPHANUMERIC_uni +syn keyword xsMacro isALPHANUMERIC_utf8 isALPHAU isALPHA_A isALPHA_FOLD_EQ +syn keyword xsMacro isALPHA_FOLD_NE isALPHA_L1 isALPHA_LC isALPHA_LC_utf8 +syn keyword xsMacro isALPHA_LC_uvchr isALPHA_uni isALPHA_utf8 isASCII +syn keyword xsMacro isASCII_A isASCII_L1 isASCII_LC isASCII_LC_utf8 +syn keyword xsMacro isASCII_LC_uvchr isASCII_uni isASCII_utf8 isBLANK +syn keyword xsMacro isBLANK_A isBLANK_L1 isBLANK_LC isBLANK_LC_uni +syn keyword xsMacro isBLANK_LC_utf8 isBLANK_LC_uvchr isBLANK_uni isBLANK_utf8 +syn keyword xsMacro isCHARNAME_CONT isCNTRL isCNTRL_A isCNTRL_L1 isCNTRL_LC +syn keyword xsMacro isCNTRL_LC_utf8 isCNTRL_LC_uvchr isCNTRL_uni isCNTRL_utf8 +syn keyword xsMacro isDIGIT isDIGIT_A isDIGIT_L1 isDIGIT_LC isDIGIT_LC_utf8 +syn keyword xsMacro isDIGIT_LC_uvchr isDIGIT_uni isDIGIT_utf8 isGRAPH +syn keyword xsMacro isGRAPH_A isGRAPH_L1 isGRAPH_LC isGRAPH_LC_utf8 syn keyword xsMacro isGRAPH_LC_uvchr isGRAPH_uni isGRAPH_utf8 isGV -syn keyword xsMacro isGV_with_GP isGV_with_GP_off isGV_with_GP_on -syn keyword xsMacro isIDCONT_utf8 isIDFIRST isIDFIRST_A isIDFIRST_L1 -syn keyword xsMacro isIDFIRST_LC isIDFIRST_LC_utf8 isIDFIRST_LC_uvchr -syn keyword xsMacro isIDFIRST_lazy isIDFIRST_lazy_if isIDFIRST_uni +syn keyword xsMacro isGV_with_GP isGV_with_GP_off isGV_with_GP_on isIDCONT +syn keyword xsMacro isIDCONT_A isIDCONT_L1 isIDCONT_LC isIDCONT_LC_utf8 +syn keyword xsMacro isIDCONT_LC_uvchr isIDCONT_uni isIDCONT_utf8 isIDFIRST +syn keyword xsMacro isIDFIRST_A isIDFIRST_L1 isIDFIRST_LC isIDFIRST_LC_utf8 +syn keyword xsMacro isIDFIRST_LC_uvchr isIDFIRST_lazy_if isIDFIRST_uni syn keyword xsMacro isIDFIRST_utf8 isLEXWARN_off isLEXWARN_on isLOWER syn keyword xsMacro isLOWER_A isLOWER_L1 isLOWER_LC isLOWER_LC_utf8 syn keyword xsMacro isLOWER_LC_uvchr isLOWER_uni isLOWER_utf8 isOCTAL syn keyword xsMacro isOCTAL_A isOCTAL_L1 isPRINT isPRINT_A isPRINT_L1 syn keyword xsMacro isPRINT_LC isPRINT_LC_utf8 isPRINT_LC_uvchr isPRINT_uni syn keyword xsMacro isPRINT_utf8 isPSXSPC isPSXSPC_A isPSXSPC_L1 isPSXSPC_LC -syn keyword xsMacro isPSXSPC_LC_uni isPSXSPC_LC_utf8 isPSXSPC_uni +syn keyword xsMacro isPSXSPC_LC_utf8 isPSXSPC_LC_uvchr isPSXSPC_uni syn keyword xsMacro isPSXSPC_utf8 isPUNCT isPUNCT_A isPUNCT_L1 isPUNCT_LC syn keyword xsMacro isPUNCT_LC_utf8 isPUNCT_LC_uvchr isPUNCT_uni isPUNCT_utf8 -syn keyword xsMacro isSPACE isSPACE_A isSPACE_L1 isSPACE_LC isSPACE_LC_utf8 -syn keyword xsMacro isSPACE_LC_uvchr isSPACE_uni isSPACE_utf8 isUPPER -syn keyword xsMacro isUPPER_A isUPPER_L1 isUPPER_LC isUPPER_LC_utf8 -syn keyword xsMacro isUPPER_LC_uvchr isUPPER_uni isUPPER_utf8 isWARN_ONCE -syn keyword xsMacro isWARN_on isWARNf_on isWORDCHAR isWORDCHAR_A -syn keyword xsMacro isWORDCHAR_L1 isXDIGIT isXDIGIT_A isXDIGIT_L1 -syn keyword xsMacro isXDIGIT_uni isXDIGIT_utf8 is_HORIZWS is_HORIZWS_cp -syn keyword xsMacro is_HORIZWS_latin1 is_HORIZWS_latin1_safe is_HORIZWS_safe -syn keyword xsMacro is_HORIZWS_utf8 is_HORIZWS_utf8_safe is_LAX_VERSION -syn keyword xsMacro is_LNBREAK is_LNBREAK_latin1 is_LNBREAK_latin1_safe -syn keyword xsMacro is_LNBREAK_safe is_LNBREAK_utf8 is_LNBREAK_utf8_safe -syn keyword xsMacro is_STRICT_VERSION is_TRICKYFOLD is_TRICKYFOLD_cp -syn keyword xsMacro is_TRICKYFOLD_safe is_VERTWS is_VERTWS_cp -syn keyword xsMacro is_VERTWS_latin1 is_VERTWS_latin1_safe is_VERTWS_safe -syn keyword xsMacro is_VERTWS_utf8 is_VERTWS_utf8_safe is_utf8_string_loc -syn keyword xsMacro isatty kBINOP kCOP kGVOP_gv kLISTOP kLOGOP kLOOP kPADOP -syn keyword xsMacro kPMOP kPVOP kSVOP kSVOP_sv kUNOP kill killpg -syn keyword xsMacro lex_stuff_pvs link listen lockf longjmp lseek lstat -syn keyword xsMacro mPUSHi mPUSHn mPUSHp mPUSHs mPUSHu mXPUSHi mXPUSHn +syn keyword xsMacro isREGEXP isSPACE isSPACE_A isSPACE_L1 isSPACE_LC +syn keyword xsMacro isSPACE_LC_utf8 isSPACE_LC_uvchr isSPACE_uni isSPACE_utf8 +syn keyword xsMacro isUPPER isUPPER_A isUPPER_L1 isUPPER_LC isUPPER_LC_utf8 +syn keyword xsMacro isUPPER_LC_uvchr isUPPER_uni isUPPER_utf8 isUTF8_CHAR +syn keyword xsMacro isVERTWS_uni isVERTWS_utf8 isWARN_ONCE isWARN_on +syn keyword xsMacro isWARNf_on isWORDCHAR isWORDCHAR_A isWORDCHAR_L1 +syn keyword xsMacro isWORDCHAR_LC isWORDCHAR_LC_utf8 isWORDCHAR_LC_uvchr +syn keyword xsMacro isWORDCHAR_lazy_if isWORDCHAR_uni isWORDCHAR_utf8 +syn keyword xsMacro isXDIGIT isXDIGIT_A isXDIGIT_L1 isXDIGIT_LC +syn keyword xsMacro isXDIGIT_LC_utf8 isXDIGIT_LC_uvchr isXDIGIT_uni +syn keyword xsMacro isXDIGIT_utf8 is_ANYOF_SYNTHETIC is_FOLDS_TO_MULTI_utf8 +syn keyword xsMacro is_HORIZWS_cp_high is_HORIZWS_high is_LAX_VERSION +syn keyword xsMacro is_LNBREAK_latin1_safe is_LNBREAK_safe +syn keyword xsMacro is_LNBREAK_utf8_safe is_MULTI_CHAR_FOLD_latin1_safe +syn keyword xsMacro is_MULTI_CHAR_FOLD_utf8_safe +syn keyword xsMacro is_MULTI_CHAR_FOLD_utf8_safe_part0 +syn keyword xsMacro is_MULTI_CHAR_FOLD_utf8_safe_part1 is_NONCHAR_utf8 +syn keyword xsMacro is_PATWS_cp is_PATWS_safe +syn keyword xsMacro is_PROBLEMATIC_LOCALE_FOLDEDS_START_cp +syn keyword xsMacro is_PROBLEMATIC_LOCALE_FOLDEDS_START_utf8 +syn keyword xsMacro is_PROBLEMATIC_LOCALE_FOLD_cp +syn keyword xsMacro is_PROBLEMATIC_LOCALE_FOLD_utf8 is_QUOTEMETA_high +syn keyword xsMacro is_QUOTEMETA_high_part0 is_QUOTEMETA_high_part1 +syn keyword xsMacro is_REPLACEMENT_utf8_safe is_STRICT_VERSION +syn keyword xsMacro is_SURROGATE_utf8 is_UTF8_CHAR_utf8_no_length_checks +syn keyword xsMacro is_VERTWS_cp_high is_VERTWS_high is_XDIGIT_cp_high +syn keyword xsMacro is_XDIGIT_high is_XPERLSPACE_cp_high is_XPERLSPACE_high +syn keyword xsMacro is_ascii_string is_utf8_char_buf is_utf8_string_loc +syn keyword xsMacro isatty isnormal kBINOP kCOP kGVOP_gv kLISTOP kLOGOP kLOOP +syn keyword xsMacro kPADOP kPMOP kPVOP kSVOP kSVOP_sv kUNOP kUNOP_AUX kill +syn keyword xsMacro killpg lex_stuff_pvs link listen lockf longjmp lseek +syn keyword xsMacro lstat mPUSHi mPUSHn mPUSHp mPUSHs mPUSHu mXPUSHi mXPUSHn syn keyword xsMacro mXPUSHp mXPUSHs mXPUSHu memEQ memEQs memNE memNEs memchr -syn keyword xsMacro memcmp memzero mkdir mktemp my my_betoh16 my_betoh32 -syn keyword xsMacro my_betoh64 my_betohi my_betohl my_betohn my_betohs -syn keyword xsMacro my_binmode my_htobe16 my_htobe32 my_htobe64 my_htobei -syn keyword xsMacro my_htobel my_htoben my_htobes my_htole16 my_htole32 -syn keyword xsMacro my_htole64 my_htolei my_htolel my_htolen my_htoles -syn keyword xsMacro my_letoh16 my_letoh32 my_letoh64 my_letohi my_letohl -syn keyword xsMacro my_letohn my_letohs my_lstat my_snprintf my_sprintf -syn keyword xsMacro my_stat my_strlcat my_strlcpy my_vsnprintf newAV newGVgen -syn keyword xsMacro newHV newIO newRV_inc newSUB newSVpvn_utf8 newSVpvs -syn keyword xsMacro newSVpvs_flags newSVpvs_share newXSproto ntohi ntohl -syn keyword xsMacro ntohs opASSIGN op_getmad op_lvalue open opendir pTHX_1 -syn keyword xsMacro pTHX_2 pTHX_3 pTHX_4 pTHX_5 pTHX_6 pTHX_7 pTHX_8 pTHX_9 -syn keyword xsMacro pTHX_FORMAT pTHX_VALUE pTHX_VALUE_ pTHX__FORMAT +syn keyword xsMacro memcmp memzero mkdir mktemp my my_binmode my_lstat +syn keyword xsMacro my_setlocale my_snprintf my_sprintf my_stat my_strlcat +syn keyword xsMacro my_strlcpy my_vsnprintf newATTRSUB newAV newGVgen newHV +syn keyword xsMacro newIO newRV_inc newSUB newSVpadname newSVpvn_utf8 +syn keyword xsMacro newSVpvs newSVpvs_flags newSVpvs_share newXSproto ntohi +syn keyword xsMacro ntohl ntohs opASSIGN op_lvalue open opendir pTHX_1 +syn keyword xsMacro pTHX_12 pTHX_2 pTHX_3 pTHX_4 pTHX_5 pTHX_6 pTHX_7 pTHX_8 +syn keyword xsMacro pTHX_9 pTHX_FORMAT pTHX_VALUE pTHX_VALUE_ pTHX__FORMAT syn keyword xsMacro pTHX__VALUE pTHX__VALUE_ pTHXo pTHXo_ pTHXx pTHXx_ pVAR syn keyword xsMacro pWARN_ALL pWARN_NONE pWARN_STD packWARN packWARN2 syn keyword xsMacro packWARN3 packWARN4 pad_add_name_pvs pad_findmy_pvs -syn keyword xsMacro pad_peg padadd_NO_DUP_CHECK padadd_OUR padadd_STATE -syn keyword xsMacro padadd_UTF8_NAME padnew_CLONE padnew_SAVE padnew_SAVESUB +syn keyword xsMacro pad_peg padadd_NO_DUP_CHECK padadd_OUR padadd_STALEOK +syn keyword xsMacro padadd_STATE padnew_CLONE padnew_SAVE padnew_SAVESUB syn keyword xsMacro panic_write2 pause pclose pipe popen prepare_SV_for_RV syn keyword xsMacro pthread_attr_init pthread_condattr_default pthread_create syn keyword xsMacro pthread_key_create pthread_keycreate syn keyword xsMacro pthread_mutexattr_default pthread_mutexattr_init -syn keyword xsMacro pthread_mutexattr_settype putc_unlocked putenv putw -syn keyword xsMacro random read readdir readdir64 recv recvfrom ref +syn keyword xsMacro pthread_mutexattr_settype putc_unlocked putenv putw read +syn keyword xsMacro readdir readdir64 recv recvfrom ref syn keyword xsMacro refcounted_he_fetch_pvs refcounted_he_new_pvs rename -syn keyword xsMacro rewinddir rmdir sTHX safecalloc safefree safemalloc +syn keyword xsMacro rewinddir rmdir safecalloc safefree safemalloc syn keyword xsMacro saferealloc save_aelem save_freeop save_freepv syn keyword xsMacro save_freesv save_helem save_mortalizesv save_op savepvs syn keyword xsMacro savesharedpvs sb_dstr sb_iters sb_m sb_maxiters syn keyword xsMacro sb_oldsave sb_orig sb_rflags sb_rx sb_rxres sb_rxtainted syn keyword xsMacro sb_s sb_strend sb_targ seedDrand01 seekdir select send -syn keyword xsMacro sendto setbuf setgid setgrent sethostent setjmp -syn keyword xsMacro setlinebuf setlocale setmode setnetent setprotoent -syn keyword xsMacro setpwent setregid setreuid setservent setsockopt setuid -syn keyword xsMacro setvbuf share_hek_hek sharepvn shutdown signal sleep -syn keyword xsMacro socket socketpair specialWARN srand48 srandom stat -syn keyword xsMacro stdoutf strEQ strGE strGT strLE strLT strNE strchr -syn keyword xsMacro strerror stringify stringify_immed strnEQ strnNE strrchr -syn keyword xsMacro strtoll strtoull sv_2bool sv_2iv sv_2nv sv_2pv -syn keyword xsMacro sv_2pv_nolen sv_2pv_nomg sv_2pvbyte_nolen -syn keyword xsMacro sv_2pvutf8_nolen sv_2uv sv_catpv_nomg sv_catpvn -syn keyword xsMacro sv_catpvn_mg sv_catpvn_nomg sv_catpvn_utf8_upgrade -syn keyword xsMacro sv_catpvs sv_catpvs_flags sv_catpvs_mg sv_catpvs_nomg -syn keyword xsMacro sv_catsv sv_catsv_mg sv_catsv_nomg sv_catxmlpvs sv_cmp -syn keyword xsMacro sv_cmp_locale sv_collxfrm sv_eq sv_force_normal sv_insert -syn keyword xsMacro sv_nolocking sv_nounlocking sv_pv sv_pvbyte sv_pvn_force -syn keyword xsMacro sv_pvn_force_nomg sv_pvutf8 sv_setpvs sv_setpvs_mg -syn keyword xsMacro sv_setref_pvs sv_setsv sv_setsv_nomg sv_taint sv_unref -syn keyword xsMacro sv_usepvn sv_usepvn_mg sv_utf8_upgrade -syn keyword xsMacro sv_utf8_upgrade_flags sv_utf8_upgrade_nomg tTHX telldir -syn keyword xsMacro times tmpfile tmpnam toCTRL toFOLD_uni toLOWER -syn keyword xsMacro toLOWER_LATIN1 toLOWER_LC toLOWER_uni toLOWER_utf8 -syn keyword xsMacro toTITLE_uni toTITLE_utf8 toUPPER toUPPER_LATIN1_MOD +syn keyword xsMacro sendto set_ANYOF_SYNTHETIC setbuf setgid setgrent +syn keyword xsMacro sethostent setjmp setlinebuf setlocale setmode setnetent +syn keyword xsMacro setprotoent setpwent setregid setreuid setservent +syn keyword xsMacro setsockopt setuid setvbuf share_hek_hek sharepvn shutdown +syn keyword xsMacro signal sleep socket socketpair specialWARN stat stdoutf +syn keyword xsMacro strEQ strGE strGT strLE strLT strNE strchr strerror +syn keyword xsMacro strnEQ strnNE strrchr strtoll strtoull sv_2bool +syn keyword xsMacro sv_2bool_nomg sv_2iv sv_2nv sv_2pv sv_2pv_nolen +syn keyword xsMacro sv_2pv_nomg sv_2pvbyte_nolen sv_2pvutf8_nolen sv_2uv +syn keyword xsMacro sv_cathek sv_catpv_nomg sv_catpvn sv_catpvn_mg +syn keyword xsMacro sv_catpvn_nomg sv_catpvn_nomg_maybeutf8 +syn keyword xsMacro sv_catpvn_nomg_utf8_upgrade sv_catpvs sv_catpvs_flags +syn keyword xsMacro sv_catpvs_mg sv_catpvs_nomg sv_catsv sv_catsv_mg +syn keyword xsMacro sv_catsv_nomg sv_catxmlpvs sv_cmp sv_cmp_locale +syn keyword xsMacro sv_collxfrm sv_copypv_nomg sv_eq sv_force_normal +syn keyword xsMacro sv_insert sv_mortalcopy sv_nolocking sv_nounlocking +syn keyword xsMacro sv_or_pv_len_utf8 sv_pv sv_pvbyte sv_pvn_force +syn keyword xsMacro sv_pvn_force_nomg sv_pvutf8 sv_setgid sv_setpvs +syn keyword xsMacro sv_setpvs_mg sv_setref_pvs sv_setsv sv_setsv_nomg +syn keyword xsMacro sv_setuid sv_taint sv_unref sv_usepvn sv_usepvn_mg +syn keyword xsMacro sv_utf8_upgrade sv_utf8_upgrade_flags +syn keyword xsMacro sv_utf8_upgrade_nomg tTHX telldir times tmpfile tmpnam +syn keyword xsMacro toCTRL toFOLD toFOLD_A toFOLD_LC toFOLD_uni toFOLD_utf8 +syn keyword xsMacro toLOWER toLOWER_A toLOWER_L1 toLOWER_LATIN1 toLOWER_LC +syn keyword xsMacro toLOWER_uni toLOWER_utf8 toTITLE toTITLE_A toTITLE_uni +syn keyword xsMacro toTITLE_utf8 toUPPER toUPPER_A toUPPER_LATIN1_MOD syn keyword xsMacro toUPPER_LC toUPPER_uni toUPPER_utf8 to_uni_fold syn keyword xsMacro to_utf8_fold to_utf8_lower to_utf8_title to_utf8_upper syn keyword xsMacro truncate tryAMAGICbin_MG tryAMAGICunDEREF -syn keyword xsMacro tryAMAGICunTARGET tryAMAGICun_MG ttyname umask uname +syn keyword xsMacro tryAMAGICunTARGETlist tryAMAGICun_MG ttyname umask uname syn keyword xsMacro unlink unpackWARN1 unpackWARN2 unpackWARN3 unpackWARN4 -syn keyword xsMacro utf8n_to_uvchr utime uvchr_to_utf8 uvuni_to_utf8 vTHX -syn keyword xsMacro vfprintf vtohl vtohs wait want_vtbl_bm want_vtbl_fm -syn keyword xsMacro what_TRICKYFOLD what_TRICKYFOLD_safe what_len_TRICKYFOLD -syn keyword xsMacro what_len_TRICKYFOLD_safe whichsig write xio_any xio_dirp -syn keyword xsMacro xiv_iv xuv_uv yystype +syn keyword xsMacro utf8_to_uvchr_buf utime uvchr_to_utf8 uvchr_to_utf8_flags +syn keyword xsMacro vTHX vfprintf vtohl vtohs wait want_vtbl_bm want_vtbl_fm +syn keyword xsMacro whichsig write xio_any xio_dirp xiv_iv xlv_targoff +syn keyword xsMacro xpv_len xuv_uv yystype " Define the default highlighting. -" Only when an item doesn't have highlighting yet - hi def link xsPrivate Error hi def link xsSuperseded Error hi def link xsType Type @@ -3255,7 +3672,6 @@ hi def link xsFunction Function hi def link xsVariable Identifier hi def link xsMacro Macro - let b:current_syntax = "xs" " vim: ts=8 diff --git a/runtime/syntax/zsh.vim b/runtime/syntax/zsh.vim index 0d385a35d0..e16e74e0c2 100644 --- a/runtime/syntax/zsh.vim +++ b/runtime/syntax/zsh.vim @@ -2,9 +2,9 @@ " Language: Zsh shell script " Maintainer: Christian Brabandt <cb@256bit.org> " Previous Maintainer: Nikolai Weibull <now@bitwi.se> -" Latest Revision: 2016-02-15 +" Latest Revision: 2017-07-11 " License: Vim (see :h license) -" Repository: https://github.com/chrisbra/vim-zsh +" Repository: https://github.com/chrisbra/vim-zsh if exists("b:current_syntax") finish @@ -24,7 +24,7 @@ endif syn keyword zshTodo contained TODO FIXME XXX NOTE -syn region zshComment oneline start='\%(^\|\s*\)#' end='$' +syn region zshComment oneline start='\%(^\|\s\+\)#' end='$' \ contains=zshTodo,@Spell fold syn region zshComment start='^\s*#' end='^\%(\s*#\)\@!' @@ -88,33 +88,20 @@ syn match zshVariable '\<\h\w*' contained syn match zshVariableDef '\<\h\w*\ze+\==' " XXX: how safe is this? syn region zshVariableDef oneline - \ start='\$\@<!\<\h\w*\[' end='\]\ze+\==' + \ start='\$\@<!\<\h\w*\[' end='\]\ze+\?=\?' \ contains=@zshSubst -syn cluster zshDerefs contains=zshShortDeref,zshLongDeref,zshDeref +syn cluster zshDerefs contains=zshShortDeref,zshLongDeref,zshDeref,zshDollarVar -if !exists("g:zsh_syntax_variables") - let s:zsh_syntax_variables = 'all' -else - let s:zsh_syntax_variables = g:zsh_syntax_variables -endif +syn match zshShortDeref '\$[!#$*@?_-]\w\@!' +syn match zshShortDeref '\$[=^~]*[#+]*\d\+\>' -if s:zsh_syntax_variables =~ 'short\|all' - syn match zshShortDeref '\$[!#$*@?_-]\w\@!' - syn match zshShortDeref '\$[=^~]*[#+]*\d\+\>' -endif +syn match zshLongDeref '\$\%(ARGC\|argv\|status\|pipestatus\|CPUTYPE\|EGID\|EUID\|ERRNO\|GID\|HOST\|LINENO\|LOGNAME\)' +syn match zshLongDeref '\$\%(MACHTYPE\|OLDPWD OPTARG\|OPTIND\|OSTYPE\|PPID\|PWD\|RANDOM\|SECONDS\|SHLVL\|signals\)' +syn match zshLongDeref '\$\%(TRY_BLOCK_ERROR\|TTY\|TTYIDLE\|UID\|USERNAME\|VENDOR\|ZSH_NAME\|ZSH_VERSION\|REPLY\|reply\|TERM\)' -if s:zsh_syntax_variables =~ 'long\|all' - syn match zshLongDeref '\$\%(ARGC\|argv\|status\|pipestatus\|CPUTYPE\|EGID\|EUID\|ERRNO\|GID\|HOST\|LINENO\|LOGNAME\)' - syn match zshLongDeref '\$\%(MACHTYPE\|OLDPWD OPTARG\|OPTIND\|OSTYPE\|PPID\|PWD\|RANDOM\|SECONDS\|SHLVL\|signals\)' - syn match zshLongDeref '\$\%(TRY_BLOCK_ERROR\|TTY\|TTYIDLE\|UID\|USERNAME\|VENDOR\|ZSH_NAME\|ZSH_VERSION\|REPLY\|reply\|TERM\)' -endif - -if s:zsh_syntax_variables =~ 'all' - syn match zshDeref '\$[=^~]*[#+]*\h\w*\>' -else - syn match zshDeref transparent contains=NONE '\$[=^~]*[#+]*\h\w*\>' -endif +syn match zshDollarVar '\$\h\w*' +syn match zshDeref '\$[=^~]*[#+]*\h\w*\>' syn match zshCommands '\%(^\|\s\)[.:]\ze\s' syn keyword zshCommands alias autoload bg bindkey break bye cap cd @@ -126,10 +113,10 @@ syn keyword zshCommands alias autoload bg bindkey break bye cap cd \ functions getcap getln getopts hash history \ jobs kill let limit log logout popd print \ printf pushd pushln pwd r read readonly - \ rehash return sched set setcap setopt shift + \ rehash return sched set setcap shift \ source stat suspend test times trap true \ ttyctl type ulimit umask unalias unfunction - \ unhash unlimit unset unsetopt vared wait + \ unhash unlimit unset vared wait \ whence where which zcompile zformat zftp zle \ zmodload zparseopts zprof zpty zregexparse \ zsocket zstyle ztcp @@ -145,163 +132,199 @@ syn keyword zshCommands alias autoload bg bindkey break bye cap cd " done syn case ignore -syn keyword zshOptions aliases allexport all_export alwayslastprompt - \ always_last_prompt always_lastprompt alwaystoend always_to_end appendcreate - \ append_create appendhistory append_history autocd auto_cd autocontinue - \ auto_continue autolist auto_list - \ automenu auto_menu autonamedirs auto_name_dirs - \ autoparamkeys auto_param_keys autoparamslash - \ auto_param_slash autopushd auto_pushd autoremoveslash - \ auto_remove_slash autoresume auto_resume badpattern bad_pattern - \ banghist bang_hist bareglobqual bare_glob_qual - \ bashautolist bash_auto_list bashrematch bash_rematch - \ beep bgnice bg_nice braceccl brace_ccl braceexpand brace_expand - \ bsdecho bsd_echo caseglob case_glob casematch case_match - \ cbases c_bases cdablevars cdable_vars cd_able_vars chasedots chase_dots - \ chaselinks chase_links checkjobs check_jobs - \ clobber combiningchars combining_chars completealiases - \ complete_aliases completeinword complete_in_word - \ continueonerror continue_on_error correct - \ correctall correct_all cprecedences c_precedences - \ cshjunkiehistory csh_junkie_history cshjunkieloops - \ csh_junkie_loops cshjunkiequotes csh_junkie_quotes - \ csh_nullcmd csh_null_cmd cshnullcmd csh_null_cmd cshnullglob csh_null_glob - \ debugbeforecmd debug_before_cmd dotglob dot_glob dvorak - \ emacs equals errexit err_exit errreturn err_return evallineno - \ eval_lineno exec extendedglob extended_glob extendedhistory - \ extended_history flowcontrol flow_control forcefloat - \ force_float functionargzero function_argzero function_arg_zero glob globalexport - \ global_export globalrcs global_rcs globassign glob_assign - \ globcomplete glob_complete globdots glob_dots glob_subst - \ globsubst globstarshort glob_star_short hashall hash_all hashcmds - \ hash_cmds hashdirs hash_dirs hashexecutablesonly hash_executables_only - \ hashlistall hash_list_all histallowclobber hist_allow_clobber histappend - \ hist_append histbeep hist_beep hist_expand hist_expire_dups_first - \ histexpand histexpiredupsfirst histfcntllock hist_fcntl_lock - \ histfindnodups hist_find_no_dups histignorealldups - \ hist_ignore_all_dups histignoredups hist_ignore_dups - \ histignorespace hist_ignore_space histlexwords hist_lex_words - \ histnofunctions hist_no_functions histnostore hist_no_store - \ histreduceblanks hist_reduce_blanks histsavebycopy - \ hist_save_by_copy histsavenodups hist_save_no_dups - \ histsubstpattern hist_subst_pattern histverify hist_verify - \ hup ignorebraces ignore_braces ignoreclosebraces ignore_close_braces - \ ignoreeof ignore_eof incappendhistory inc_append_history - \ incappendhistorytime inc_append_history_time interactive - \ interactivecomments interactive_comments ksharrays ksh_arrays - \ kshautoload ksh_autoload kshglob ksh_glob kshoptionprint - \ ksh_option_print kshtypeset ksh_typeset kshzerosubscript - \ ksh_zero_subscript listambiguous list_ambiguous listbeep - \ list_beep listpacked list_packed listrowsfirst list_rows_first - \ listtypes list_types localloops local_loops localoptions - \ local_options localpatterns local_patterns localtraps - \ local_traps log login longlistjobs long_list_jobs magicequalsubst - \ magic_equal_subst mailwarn mail_warn mail_warning mark_dirs - \ mailwarning markdirs menucomplete menu_complete monitor - \ multibyte multi_byte multifuncdef multi_func_def multios - \ multi_os nomatch no_match notify nullglob null_glob numericglobsort - \ numeric_glob_sort octalzeroes octal_zeroes onecmd one_cmd - \ overstrike over_strike pathdirs path_dirs pathscript - \ path_script physical pipefail pipe_fail posixaliases - \ posix_aliases posixargzero posix_arg_zero posix_argzero posixbuiltins - \ posix_builtins posixcd posix_cd posixidentifiers posix_identifiers - \ posixjobs posix_jobs posixstrings posix_strings posixtraps - \ posix_traps printeightbit print_eight_bit printexitvalue - \ print_exit_value privileged promptbang prompt_bang promptcr - \ prompt_cr promptpercent prompt_percent promptsp prompt_sp - \ promptsubst prompt_subst promptvars prompt_vars pushdignoredups - \ pushd_ignore_dups pushdminus pushd_minus pushdsilent pushd_silent - \ pushdtohome pushd_to_home rcexpandparam rc_expandparam rc_expand_param rcquotes - \ rc_quotes rcs recexact rec_exact rematchpcre re_match_pcre rematch_pcre - \ restricted rmstarsilent rm_star_silent rmstarwait rm_star_wait - \ sharehistory share_history shfileexpansion sh_file_expansion - \ shglob sh_glob shinstdin shin_stdin shnullcmd sh_nullcmd - \ shoptionletters sh_option_letters shortloops short_loops shwordsplit - \ sh_word_split singlecommand single_command singlelinezle single_line_zle - \ sourcetrace source_trace stdin sunkeyboardhack sun_keyboard_hack - \ trackall track_all transientrprompt transient_rprompt - \ trapsasync traps_async typesetsilent type_set_silent typeset_silent unset verbose vi - \ warncreateglobal warn_create_global xtrace zle - -syn keyword zshOptions noaliases no_aliases noallexport no_allexport noall_export no_all_export noalwayslastprompt no_alwayslastprompt - \ noalways_lastprompt no_always_lastprompt no_always_last_prompt noalwaystoend no_alwaystoend noalways_to_end no_always_to_end - \ noappendcreate no_appendcreate no_append_create noappendhistory no_appendhistory noappend_history no_append_history noautocd - \ no_autocd no_auto_cd noautocontinue no_autocontinue noauto_continue no_auto_continue noautolist no_autolist noauto_list - \ no_auto_list noautomenu no_automenu noauto_menu no_auto_menu noautonamedirs no_autonamedirs noauto_name_dirs - \ no_auto_name_dirs noautoparamkeys no_autoparamkeys noauto_param_keys no_auto_param_keys noautoparamslash no_autoparamslash - \ noauto_param_slash no_auto_param_slash noautopushd no_autopushd noauto_pushd no_auto_pushd noautoremoveslash no_autoremoveslash - \ noauto_remove_slash no_auto_remove_slash noautoresume no_autoresume noauto_resume no_auto_resume nobadpattern no_badpattern no_bad_pattern - \ nobanghist no_banghist nobang_hist no_bang_hist nobareglobqual no_bareglobqual nobare_glob_qual no_bare_glob_qual - \ nobashautolist no_bashautolist nobash_auto_list no_bash_auto_list nobashrematch no_bashrematch nobash_rematch no_bash_rematch - \ nobeep no_beep nobgnice no_bgnice no_bg_nice nobraceccl no_braceccl nobrace_ccl no_brace_ccl nobraceexpand no_braceexpand nobrace_expand no_brace_expand - \ nobsdecho no_bsdecho nobsd_echo no_bsd_echo nocaseglob no_caseglob nocase_glob no_case_glob nocasematch no_casematch nocase_match no_case_match - \ nocbases no_cbases no_c_bases nocdablevars no_cdablevars no_cdable_vars nocd_able_vars no_cd_able_vars nochasedots no_chasedots nochase_dots no_chase_dots - \ nochaselinks no_chaselinks nochase_links no_chase_links nocheckjobs no_checkjobs nocheck_jobs no_check_jobs - \ noclobber no_clobber nocombiningchars no_combiningchars nocombining_chars no_combining_chars nocompletealiases no_completealiases - \ nocomplete_aliases no_complete_aliases nocompleteinword no_completeinword nocomplete_in_word no_complete_in_word - \ nocontinueonerror no_continueonerror nocontinue_on_error no_continue_on_error nocorrect no_correct - \ nocorrectall no_correctall nocorrect_all no_correct_all nocprecedences no_cprecedences noc_precedences no_c_precedences - \ nocshjunkiehistory no_cshjunkiehistory nocsh_junkie_history no_csh_junkie_history nocshjunkieloops no_cshjunkieloops - \ nocsh_junkie_loops no_csh_junkie_loops nocshjunkiequotes no_cshjunkiequotes nocsh_junkie_quotes no_csh_junkie_quotes - \ nocshnullcmd no_cshnullcmd no_csh_nullcmd nocsh_null_cmd no_csh_null_cmd nocshnullglob no_cshnullglob nocsh_null_glob no_csh_null_glob - \ nodebugbeforecmd no_debugbeforecmd nodebug_before_cmd no_debug_before_cmd nodotglob no_dotglob nodot_glob no_dot_glob nodvorak no_dvorak - \ noemacs no_emacs noequals no_equals noerrexit no_errexit noerr_exit no_err_exit noerrreturn no_errreturn noerr_return no_err_return noevallineno no_evallineno - \ noeval_lineno no_eval_lineno noexec no_exec noextendedglob no_extendedglob noextended_glob no_extended_glob noextendedhistory no_extendedhistory - \ noextended_history no_extended_history noflowcontrol no_flowcontrol noflow_control no_flow_control noforcefloat no_forcefloat - \ noforce_float no_force_float nofunctionargzero no_functionargzero nofunction_arg_zero no_function_argzero no_function_arg_zero noglob no_glob noglobalexport no_globalexport - \ noglobal_export no_global_export noglobalrcs no_globalrcs noglobal_rcs no_global_rcs noglobassign no_globassign noglob_assign no_glob_assign - \ noglobcomplete no_globcomplete noglob_complete no_glob_complete noglobdots no_globdots noglob_dots no_glob_dots - \ noglobstarshort no_glob_star_short noglob_subst no_glob_subst - \ noglobsubst no_globsubst nohashall no_hashall nohash_all no_hash_all nohashcmds no_hashcmds nohash_cmds no_hash_cmds nohashdirs no_hashdirs - \ nohash_dirs no_hash_dirs nohashexecutablesonly no_hashexecutablesonly nohash_executables_only no_hash_executables_only nohashlistall no_hashlistall - \ nohash_list_all no_hash_list_all nohistallowclobber no_histallowclobber nohist_allow_clobber no_hist_allow_clobber nohistappend no_histappend - \ nohist_append no_hist_append nohistbeep no_histbeep nohist_beep no_hist_beep nohist_expand no_hist_expand nohist_expire_dups_first no_hist_expire_dups_first - \ nohistexpand no_histexpand nohistexpiredupsfirst no_histexpiredupsfirst nohistfcntllock no_histfcntllock nohist_fcntl_lock no_hist_fcntl_lock - \ nohistfindnodups no_histfindnodups nohist_find_no_dups no_hist_find_no_dups nohistignorealldups no_histignorealldups - \ nohist_ignore_all_dups no_hist_ignore_all_dups nohistignoredups no_histignoredups nohist_ignore_dups no_hist_ignore_dups - \ nohistignorespace no_histignorespace nohist_ignore_space no_hist_ignore_space nohistlexwords no_histlexwords nohist_lex_words no_hist_lex_words - \ nohistnofunctions no_histnofunctions nohist_no_functions no_hist_no_functions nohistnostore no_histnostore nohist_no_store no_hist_no_store - \ nohistreduceblanks no_histreduceblanks nohist_reduce_blanks no_hist_reduce_blanks nohistsavebycopy no_histsavebycopy - \ nohist_save_by_copy no_hist_save_by_copy nohistsavenodups no_histsavenodups nohist_save_no_dups no_hist_save_no_dups - \ nohistsubstpattern no_histsubstpattern nohist_subst_pattern no_hist_subst_pattern nohistverify no_histverify nohist_verify no_hist_verify - \ nohup no_hup noignorebraces no_ignorebraces noignore_braces no_ignore_braces noignoreclosebraces no_ignoreclosebraces noignore_close_braces no_ignore_close_braces - \ noignoreeof no_ignoreeof noignore_eof no_ignore_eof noincappendhistory no_incappendhistory noinc_append_history no_inc_append_history - \ noincappendhistorytime no_incappendhistorytime noinc_append_history_time no_inc_append_history_time nointeractive no_interactive - \ nointeractivecomments no_interactivecomments nointeractive_comments no_interactive_comments noksharrays no_ksharrays noksh_arrays no_ksh_arrays - \ nokshautoload no_kshautoload noksh_autoload no_ksh_autoload nokshglob no_kshglob noksh_glob no_ksh_glob nokshoptionprint no_kshoptionprint - \ noksh_option_print no_ksh_option_print nokshtypeset no_kshtypeset noksh_typeset no_ksh_typeset nokshzerosubscript no_kshzerosubscript - \ noksh_zero_subscript no_ksh_zero_subscript nolistambiguous no_listambiguous nolist_ambiguous no_list_ambiguous nolistbeep no_listbeep - \ nolist_beep no_list_beep nolistpacked no_listpacked nolist_packed no_list_packed nolistrowsfirst no_listrowsfirst nolist_rows_first no_list_rows_first - \ nolisttypes no_listtypes nolist_types no_list_types nolocalloops no_localloops nolocal_loops no_local_loops nolocaloptions no_localoptions - \ nolocal_options no_local_options nolocalpatterns no_localpatterns nolocal_patterns no_local_patterns nolocaltraps no_localtraps - \ nolocal_traps no_local_traps nolog no_log nologin no_login nolonglistjobs no_longlistjobs nolong_list_jobs no_long_list_jobs nomagicequalsubst no_magicequalsubst - \ nomagic_equal_subst no_magic_equal_subst nomailwarn no_mailwarn nomail_warn no_mail_warn nomail_warning no_mail_warning nomark_dirs no_mark_dirs - \ nomailwarning no_mailwarning nomarkdirs no_markdirs nomenucomplete no_menucomplete nomenu_complete no_menu_complete nomonitor no_monitor - \ nomultibyte no_multibyte nomulti_byte no_multi_byte nomultifuncdef no_multifuncdef nomulti_func_def no_multi_func_def nomultios no_multios - \ nomulti_os no_multi_os nonomatch no_nomatch nono_match no_no_match nonotify no_notify nonullglob no_nullglob nonull_glob no_null_glob nonumericglobsort no_numericglobsort - \ nonumeric_glob_sort no_numeric_glob_sort nooctalzeroes no_octalzeroes nooctal_zeroes no_octal_zeroes noonecmd no_onecmd noone_cmd no_one_cmd - \ nooverstrike no_overstrike noover_strike no_over_strike nopathdirs no_pathdirs nopath_dirs no_path_dirs nopathscript no_pathscript - \ nopath_script no_path_script nophysical no_physical nopipefail no_pipefail nopipe_fail no_pipe_fail noposixaliases no_posixaliases - \ noposix_aliases no_posix_aliases noposixargzero no_posixargzero no_posix_argzero noposix_arg_zero no_posix_arg_zero noposixbuiltins no_posixbuiltins - \ noposix_builtins no_posix_builtins noposixcd no_posixcd noposix_cd no_posix_cd noposixidentifiers no_posixidentifiers noposix_identifiers no_posix_identifiers - \ noposixjobs no_posixjobs noposix_jobs no_posix_jobs noposixstrings no_posixstrings noposix_strings no_posix_strings noposixtraps no_posixtraps - \ noposix_traps no_posix_traps noprinteightbit no_printeightbit noprint_eight_bit no_print_eight_bit noprintexitvalue no_printexitvalue - \ noprint_exit_value no_print_exit_value noprivileged no_privileged nopromptbang no_promptbang noprompt_bang no_prompt_bang nopromptcr no_promptcr - \ noprompt_cr no_prompt_cr nopromptpercent no_promptpercent noprompt_percent no_prompt_percent nopromptsp no_promptsp noprompt_sp no_prompt_sp - \ nopromptsubst no_promptsubst noprompt_subst no_prompt_subst nopromptvars no_promptvars noprompt_vars no_prompt_vars nopushdignoredups no_pushdignoredups - \ nopushd_ignore_dups no_pushd_ignore_dups nopushdminus no_pushdminus nopushd_minus no_pushd_minus nopushdsilent no_pushdsilent nopushd_silent no_pushd_silent - \ nopushdtohome no_pushdtohome nopushd_to_home no_pushd_to_home norcexpandparam no_rcexpandparam norc_expandparam no_rc_expandparam no_rc_expand_param norcquotes no_rcquotes - \ norc_quotes no_rc_quotes norcs no_rcs norecexact no_recexact norec_exact no_rec_exact norematchpcre no_rematchpcre nore_match_pcre no_re_match_pcre no_rematch_pcre - \ norestricted no_restricted normstarsilent no_rmstarsilent norm_star_silent no_rm_star_silent normstarwait no_rmstarwait norm_star_wait no_rm_star_wait - \ nosharehistory no_sharehistory noshare_history no_share_history noshfileexpansion no_shfileexpansion nosh_file_expansion no_sh_file_expansion - \ noshglob no_shglob nosh_glob no_sh_glob noshinstdin no_shinstdin noshin_stdin no_shin_stdin noshnullcmd no_shnullcmd nosh_nullcmd no_sh_nullcmd - \ noshoptionletters no_shoptionletters nosh_option_letters no_sh_option_letters noshortloops no_shortloops noshort_loops no_short_loops noshwordsplit no_shwordsplit - \ nosh_word_split no_sh_word_split nosinglecommand no_singlecommand nosingle_command no_single_command nosinglelinezle no_singlelinezle nosingle_line_zle no_single_line_zle - \ nosourcetrace no_sourcetrace nosource_trace no_source_trace nostdin no_stdin nosunkeyboardhack no_sunkeyboardhack nosun_keyboard_hack no_sun_keyboard_hack - \ notrackall no_trackall notrack_all no_track_all notransientrprompt no_transientrprompt notransient_rprompt no_transient_rprompt - \ notrapsasync no_trapsasync notrapasync no_trapasync no_traps_async notypesetsilent no_typesetsilent notype_set_silent no_type_set_silent no_typeset_silent \nounset no_unset - \ noverbose no_verbose novi no_vi nowarncreateglobal no_warncreateglobal nowarn_create_global no_warn_create_global noxtrace no_xtrace nozle no_zle -syn case match + +syn match zshOptStart /^\s*\%(\%(\%(un\)\?setopt\)\|set\s+[-+]o\)/ nextgroup=zshOption skipwhite +syn match zshOption / + \ \%(\%(\<no_\?\)\?aliases\>\)\| + \ \%(\%(\<no_\?\)\?allexport\>\)\|\%(\%(no_\?\)\?all_export\>\)\| + \ \%(\%(\<no_\?\)\?alwayslastprompt\>\)\|\%(\%(no_\?\)\?always_last_prompt\>\)\|\%(\%(no_\?\)\?always_lastprompt\>\)\| + \ \%(\%(\<no_\?\)\?alwaystoend\>\)\|\%(\%(no_\?\)\?always_to_end\>\)\| + \ \%(\%(\<no_\?\)\?appendcreate\>\)\|\%(\%(no_\?\)\?append_create\>\)\| + \ \%(\%(\<no_\?\)\?appendhistory\>\)\|\%(\%(no_\?\)\?append_history\>\)\| + \ \%(\%(\<no_\?\)\?autocd\>\)\|\%(\%(no_\?\)\?auto_cd\>\)\| + \ \%(\%(\<no_\?\)\?autocontinue\>\)\|\%(\%(no_\?\)\?auto_continue\>\)\| + \ \%(\%(\<no_\?\)\?autolist\>\)\|\%(\%(no_\?\)\?auto_list\>\)\| + \ \%(\%(\<no_\?\)\?automenu\>\)\|\%(\%(no_\?\)\?auto_menu\>\)\| + \ \%(\%(\<no_\?\)\?autonamedirs\>\)\|\%(\%(no_\?\)\?auto_name_dirs\>\)\| + \ \%(\%(\<no_\?\)\?autoparamkeys\>\)\|\%(\%(no_\?\)\?auto_param_keys\>\)\| + \ \%(\%(\<no_\?\)\?autoparamslash\>\)\|\%(\%(no_\?\)\?auto_param_slash\>\)\| + \ \%(\%(\<no_\?\)\?autopushd\>\)\|\%(\%(no_\?\)\?auto_pushd\>\)\| + \ \%(\%(\<no_\?\)\?autoremoveslash\>\)\|\%(\%(no_\?\)\?auto_remove_slash\>\)\| + \ \%(\%(\<no_\?\)\?autoresume\>\)\|\%(\%(no_\?\)\?auto_resume\>\)\| + \ \%(\%(\<no_\?\)\?badpattern\>\)\|\%(\%(no_\?\)\?bad_pattern\>\)\| + \ \%(\%(\<no_\?\)\?banghist\>\)\|\%(\%(no_\?\)\?bang_hist\>\)\| + \ \%(\%(\<no_\?\)\?bareglobqual\>\)\|\%(\%(no_\?\)\?bare_glob_qual\>\)\| + \ \%(\%(\<no_\?\)\?bashautolist\>\)\|\%(\%(no_\?\)\?bash_auto_list\>\)\| + \ \%(\%(\<no_\?\)\?bashrematch\>\)\|\%(\%(no_\?\)\?bash_rematch\>\)\| + \ \%(\%(\<no_\?\)\?beep\>\)\| + \ \%(\%(\<no_\?\)\?bgnice\>\)\|\%(\%(no_\?\)\?bg_nice\>\)\| + \ \%(\%(\<no_\?\)\?braceccl\>\)\|\%(\%(no_\?\)\?brace_ccl\>\)\| + \ \%(\%(\<no_\?\)\?braceexpand\>\)\|\%(\%(no_\?\)\?brace_expand\>\)\| + \ \%(\%(\<no_\?\)\?bsdecho\>\)\|\%(\%(no_\?\)\?bsd_echo\>\)\| + \ \%(\%(\<no_\?\)\?caseglob\>\)\|\%(\%(no_\?\)\?case_glob\>\)\| + \ \%(\%(\<no_\?\)\?casematch\>\)\|\%(\%(no_\?\)\?case_match\>\)\| + \ \%(\%(\<no_\?\)\?cbases\>\)\|\%(\%(no_\?\)\?c_bases\>\)\| + \ \%(\%(\<no_\?\)\?cdablevars\>\)\|\%(\%(no_\?\)\?cdable_vars\>\)\|\%(\%(no_\?\)\?cd_able_vars\>\)\| + \ \%(\%(\<no_\?\)\?chasedots\>\)\|\%(\%(no_\?\)\?chase_dots\>\)\| + \ \%(\%(\<no_\?\)\?chaselinks\>\)\|\%(\%(no_\?\)\?chase_links\>\)\| + \ \%(\%(\<no_\?\)\?checkjobs\>\)\|\%(\%(no_\?\)\?check_jobs\>\)\| + \ \%(\%(\<no_\?\)\?clobber\>\)\| + \ \%(\%(\<no_\?\)\?combiningchars\>\)\|\%(\%(no_\?\)\?combining_chars\>\)\| + \ \%(\%(\<no_\?\)\?completealiases\>\)\|\%(\%(no_\?\)\?complete_aliases\>\)\| + \ \%(\%(\<no_\?\)\?completeinword\>\)\|\%(\%(no_\?\)\?complete_in_word\>\)\| + \ \%(\%(\<no_\?\)\?continueonerror\>\)\|\%(\%(no_\?\)\?continue_on_error\>\)\| + \ \%(\%(\<no_\?\)\?correct\>\)\| + \ \%(\%(\<no_\?\)\?correctall\>\)\|\%(\%(no_\?\)\?correct_all\>\)\| + \ \%(\%(\<no_\?\)\?cprecedences\>\)\|\%(\%(no_\?\)\?c_precedences\>\)\| + \ \%(\%(\<no_\?\)\?cshjunkiehistory\>\)\|\%(\%(no_\?\)\?csh_junkie_history\>\)\| + \ \%(\%(\<no_\?\)\?cshjunkieloops\>\)\|\%(\%(no_\?\)\?csh_junkie_loops\>\)\| + \ \%(\%(\<no_\?\)\?cshjunkiequotes\>\)\|\%(\%(no_\?\)\?csh_junkie_quotes\>\)\| + \ \%(\%(\<no_\?\)\?csh_nullcmd\>\)\|\%(\%(no_\?\)\?csh_null_cmd\>\)\|\%(\%(no_\?\)\?cshnullcmd\>\)\|\%(\%(no_\?\)\?csh_null_cmd\>\)\| + \ \%(\%(\<no_\?\)\?cshnullglob\>\)\|\%(\%(no_\?\)\?csh_null_glob\>\)\| + \ \%(\%(\<no_\?\)\?debugbeforecmd\>\)\|\%(\%(no_\?\)\?debug_before_cmd\>\)\| + \ \%(\%(\<no_\?\)\?dotglob\>\)\|\%(\%(no_\?\)\?dot_glob\>\)\| + \ \%(\%(\<no_\?\)\?dvorak\>\)\| + \ \%(\%(\<no_\?\)\?emacs\>\)\| + \ \%(\%(\<no_\?\)\?equals\>\)\| + \ \%(\%(\<no_\?\)\?errexit\>\)\|\%(\%(no_\?\)\?err_exit\>\)\| + \ \%(\%(\<no_\?\)\?errreturn\>\)\|\%(\%(no_\?\)\?err_return\>\)\| + \ \%(\%(\<no_\?\)\?evallineno_\?\)\|\%(\%(no_\?\)\?eval_lineno_\?\)\| + \ \%(\%(\<no_\?\)\?exec\>\)\| + \ \%(\%(\<no_\?\)\?extendedglob\>\)\|\%(\%(no_\?\)\?extended_glob\>\)\| + \ \%(\%(\<no_\?\)\?extendedhistory\>\)\|\%(\%(no_\?\)\?extended_history\>\)\| + \ \%(\%(\<no_\?\)\?flowcontrol\>\)\|\%(\%(no_\?\)\?flow_control\>\)\| + \ \%(\%(\<no_\?\)\?forcefloat\>\)\|\%(\%(no_\?\)\?force_float\>\)\| + \ \%(\%(\<no_\?\)\?functionargzero\>\)\|\%(\%(no_\?\)\?function_argzero\>\)\|\%(\%(no_\?\)\?function_arg_zero\>\)\| + \ \%(\%(\<no_\?\)\?glob\>\)\| + \ \%(\%(\<no_\?\)\?globalexport\>\)\|\%(\%(no_\?\)\?global_export\>\)\| + \ \%(\%(\<no_\?\)\?globalrcs\>\)\|\%(\%(no_\?\)\?global_rcs\>\)\| + \ \%(\%(\<no_\?\)\?globassign\>\)\|\%(\%(no_\?\)\?glob_assign\>\)\| + \ \%(\%(\<no_\?\)\?globcomplete\>\)\|\%(\%(no_\?\)\?glob_complete\>\)\| + \ \%(\%(\<no_\?\)\?globdots\>\)\|\%(\%(no_\?\)\?glob_dots\>\)\| + \ \%(\%(\<no_\?\)\?glob_subst\>\)\|\%(\%(no_\?\)\?globsubst\>\)\| + \ \%(\%(\<no_\?\)\?globstarshort\>\)\|\%(\%(no_\?\)\?glob_star_short\>\)\| + \ \%(\%(\<no_\?\)\?hashall\>\)\|\%(\%(no_\?\)\?hash_all\>\)\| + \ \%(\%(\<no_\?\)\?hashcmds\>\)\|\%(\%(no_\?\)\?hash_cmds\>\)\| + \ \%(\%(\<no_\?\)\?hashdirs\>\)\|\%(\%(no_\?\)\?hash_dirs\>\)\| + \ \%(\%(\<no_\?\)\?hashexecutablesonly\>\)\|\%(\%(no_\?\)\?hash_executables_only\>\)\| + \ \%(\%(\<no_\?\)\?hashlistall\>\)\|\%(\%(no_\?\)\?hash_list_all\>\)\| + \ \%(\%(\<no_\?\)\?histallowclobber\>\)\|\%(\%(no_\?\)\?hist_allow_clobber\>\)\| + \ \%(\%(\<no_\?\)\?histappend\>\)\|\%(\%(no_\?\)\?hist_append\>\)\| + \ \%(\%(\<no_\?\)\?histbeep\>\)\|\%(\%(no_\?\)\?hist_beep\>\)\| + \ \%(\%(\<no_\?\)\?hist_expand\>\)\|\%(\%(no_\?\)\?histexpand\>\)\| + \ \%(\%(\<no_\?\)\?hist_expire_dups_first\>\)\|\%(\%(no_\?\)\?histexpiredupsfirst\>\)\| + \ \%(\%(\<no_\?\)\?histfcntllock\>\)\|\%(\%(no_\?\)\?hist_fcntl_lock\>\)\| + \ \%(\%(\<no_\?\)\?histfindnodups\>\)\|\%(\%(no_\?\)\?hist_find_no_dups\>\)\| + \ \%(\%(\<no_\?\)\?histignorealldups\>\)\|\%(\%(no_\?\)\?hist_ignore_all_dups\>\)\| + \ \%(\%(\<no_\?\)\?histignoredups\>\)\|\%(\%(no_\?\)\?hist_ignore_dups\>\)\| + \ \%(\%(\<no_\?\)\?histignorespace\>\)\|\%(\%(no_\?\)\?hist_ignore_space\>\)\| + \ \%(\%(\<no_\?\)\?histlexwords\>\)\|\%(\%(no_\?\)\?hist_lex_words\>\)\| + \ \%(\%(\<no_\?\)\?histnofunctions\>\)\|\%(\%(no_\?\)\?hist_no_functions\>\)\| + \ \%(\%(\<no_\?\)\?histnostore\>\)\|\%(\%(no_\?\)\?hist_no_store\>\)\| + \ \%(\%(\<no_\?\)\?histreduceblanks\>\)\|\%(\%(no_\?\)\?hist_reduce_blanks\>\)\| + \ \%(\%(\<no_\?\)\?histsavebycopy\>\)\|\%(\%(no_\?\)\?hist_save_by_copy\>\)\| + \ \%(\%(\<no_\?\)\?histsavenodups\>\)\|\%(\%(no_\?\)\?hist_save_no_dups\>\)\| + \ \%(\%(\<no_\?\)\?histsubstpattern\>\)\|\%(\%(no_\?\)\?hist_subst_pattern\>\)\| + \ \%(\%(\<no_\?\)\?histverify\>\)\|\%(\%(no_\?\)\?hist_verify\>\)\| + \ \%(\%(\<no_\?\)\?hup\>\)\| + \ \%(\%(\<no_\?\)\?ignorebraces\>\)\|\%(\%(no_\?\)\?ignore_braces\>\)\| + \ \%(\%(\<no_\?\)\?ignoreclosebraces\>\)\|\%(\%(no_\?\)\?ignore_close_braces\>\)\| + \ \%(\%(\<no_\?\)\?ignoreeof\>\)\|\%(\%(no_\?\)\?ignore_eof\>\)\| + \ \%(\%(\<no_\?\)\?incappendhistory\>\)\|\%(\%(no_\?\)\?inc_append_history\>\)\| + \ \%(\%(\<no_\?\)\?incappendhistorytime\>\)\|\%(\%(no_\?\)\?inc_append_history_time\>\)\| + \ \%(\%(\<no_\?\)\?interactive\>\)\| + \ \%(\%(\<no_\?\)\?interactivecomments\>\)\|\%(\%(no_\?\)\?interactive_comments\>\)\| + \ \%(\%(\<no_\?\)\?ksharrays\>\)\|\%(\%(no_\?\)\?ksh_arrays\>\)\| + \ \%(\%(\<no_\?\)\?kshautoload\>\)\|\%(\%(no_\?\)\?ksh_autoload\>\)\| + \ \%(\%(\<no_\?\)\?kshglob\>\)\|\%(\%(no_\?\)\?ksh_glob\>\)\| + \ \%(\%(\<no_\?\)\?kshoptionprint\>\)\|\%(\%(no_\?\)\?ksh_option_print\>\)\| + \ \%(\%(\<no_\?\)\?kshtypeset\>\)\|\%(\%(no_\?\)\?ksh_typeset\>\)\| + \ \%(\%(\<no_\?\)\?kshzerosubscript\>\)\|\%(\%(no_\?\)\?ksh_zero_subscript\>\)\| + \ \%(\%(\<no_\?\)\?listambiguous\>\)\|\%(\%(no_\?\)\?list_ambiguous\>\)\| + \ \%(\%(\<no_\?\)\?listbeep\>\)\|\%(\%(no_\?\)\?list_beep\>\)\| + \ \%(\%(\<no_\?\)\?listpacked\>\)\|\%(\%(no_\?\)\?list_packed\>\)\| + \ \%(\%(\<no_\?\)\?listrowsfirst\>\)\|\%(\%(no_\?\)\?list_rows_first\>\)\| + \ \%(\%(\<no_\?\)\?listtypes\>\)\|\%(\%(no_\?\)\?list_types\>\)\| + \ \%(\%(\<no_\?\)\?localloops\>\)\|\%(\%(no_\?\)\?local_loops\>\)\| + \ \%(\%(\<no_\?\)\?localoptions\>\)\|\%(\%(no_\?\)\?local_options\>\)\| + \ \%(\%(\<no_\?\)\?localpatterns\>\)\|\%(\%(no_\?\)\?local_patterns\>\)\| + \ \%(\%(\<no_\?\)\?localtraps\>\)\|\%(\%(no_\?\)\?local_traps\>\)\| + \ \%(\%(\<no_\?\)\?log\>\)\| + \ \%(\%(\<no_\?\)\?login\>\)\| + \ \%(\%(\<no_\?\)\?longlistjobs\>\)\|\%(\%(no_\?\)\?long_list_jobs\>\)\| + \ \%(\%(\<no_\?\)\?magicequalsubst\>\)\|\%(\%(no_\?\)\?magic_equal_subst\>\)\| + \ \%(\%(\<no_\?\)\?mark_dirs\>\)\| + \ \%(\%(\<no_\?\)\?mailwarn\>\)\|\%(\%(no_\?\)\?mail_warn\>\)\| + \ \%(\%(\<no_\?\)\?mailwarning\>\)\|\%(\%(no_\?\)\?mail_warning\>\)\| + \ \%(\%(\<no_\?\)\?markdirs\>\)\| + \ \%(\%(\<no_\?\)\?menucomplete\>\)\|\%(\%(no_\?\)\?menu_complete\>\)\| + \ \%(\%(\<no_\?\)\?monitor\>\)\| + \ \%(\%(\<no_\?\)\?multibyte\>\)\|\%(\%(no_\?\)\?multi_byte\>\)\| + \ \%(\%(\<no_\?\)\?multifuncdef\>\)\|\%(\%(no_\?\)\?multi_func_def\>\)\| + \ \%(\%(\<no_\?\)\?multios\>\)\|\%(\%(no_\?\)\?multi_os\>\)\| + \ \%(\%(\<no_\?\)\?nomatch\>\)\|\%(\%(no_\?\)\?no_match\>\)\| + \ \%(\%(\<no_\?\)\?notify\>\)\| + \ \%(\%(\<no_\?\)\?nullglob\>\)\|\%(\%(no_\?\)\?null_glob\>\)\| + \ \%(\%(\<no_\?\)\?numericglobsort\>\)\|\%(\%(no_\?\)\?numeric_glob_sort\>\)\| + \ \%(\%(\<no_\?\)\?octalzeroes\>\)\|\%(\%(no_\?\)\?octal_zeroes\>\)\| + \ \%(\%(\<no_\?\)\?onecmd\>\)\|\%(\%(no_\?\)\?one_cmd\>\)\| + \ \%(\%(\<no_\?\)\?overstrike\>\)\|\%(\%(no_\?\)\?over_strike\>\)\| + \ \%(\%(\<no_\?\)\?pathdirs\>\)\|\%(\%(no_\?\)\?path_dirs\>\)\| + \ \%(\%(\<no_\?\)\?pathscript\>\)\|\%(\%(no_\?\)\?path_script\>\)\| + \ \%(\%(\<no_\?\)\?physical\>\)\| + \ \%(\%(\<no_\?\)\?pipefail\>\)\|\%(\%(no_\?\)\?pipe_fail\>\)\| + \ \%(\%(\<no_\?\)\?posixaliases\>\)\|\%(\%(no_\?\)\?posix_aliases\>\)\| + \ \%(\%(\<no_\?\)\?posixargzero\>\)\|\%(\%(no_\?\)\?posix_arg_zero\>\)\|\%(\%(no_\?\)\?posix_argzero\>\)\| + \ \%(\%(\<no_\?\)\?posixbuiltins\>\)\|\%(\%(no_\?\)\?posix_builtins\>\)\| + \ \%(\%(\<no_\?\)\?posixcd\>\)\|\%(\%(no_\?\)\?posix_cd\>\)\| + \ \%(\%(\<no_\?\)\?posixidentifiers\>\)\|\%(\%(no_\?\)\?posix_identifiers\>\)\| + \ \%(\%(\<no_\?\)\?posixjobs\>\)\|\%(\%(no_\?\)\?posix_jobs\>\)\| + \ \%(\%(\<no_\?\)\?posixstrings\>\)\|\%(\%(no_\?\)\?posix_strings\>\)\| + \ \%(\%(\<no_\?\)\?posixtraps\>\)\|\%(\%(no_\?\)\?posix_traps\>\)\| + \ \%(\%(\<no_\?\)\?printeightbit\>\)\|\%(\%(no_\?\)\?print_eight_bit\>\)\| + \ \%(\%(\<no_\?\)\?printexitvalue\>\)\|\%(\%(no_\?\)\?print_exit_value\>\)\| + \ \%(\%(\<no_\?\)\?privileged\>\)\| + \ \%(\%(\<no_\?\)\?promptbang\>\)\|\%(\%(no_\?\)\?prompt_bang\>\)\| + \ \%(\%(\<no_\?\)\?promptcr\>\)\|\%(\%(no_\?\)\?prompt_cr\>\)\| + \ \%(\%(\<no_\?\)\?promptpercent\>\)\|\%(\%(no_\?\)\?prompt_percent\>\)\| + \ \%(\%(\<no_\?\)\?promptsp\>\)\|\%(\%(no_\?\)\?prompt_sp\>\)\| + \ \%(\%(\<no_\?\)\?promptsubst\>\)\|\%(\%(no_\?\)\?prompt_subst\>\)\| + \ \%(\%(\<no_\?\)\?promptvars\>\)\|\%(\%(no_\?\)\?prompt_vars\>\)\| + \ \%(\%(\<no_\?\)\?pushdignoredups\>\)\|\%(\%(no_\?\)\?pushd_ignore_dups\>\)\| + \ \%(\%(\<no_\?\)\?pushdminus\>\)\|\%(\%(no_\?\)\?pushd_minus\>\)\| + \ \%(\%(\<no_\?\)\?pushdsilent\>\)\|\%(\%(no_\?\)\?pushd_silent\>\)\| + \ \%(\%(\<no_\?\)\?pushdtohome\>\)\|\%(\%(no_\?\)\?pushd_to_home\>\)\| + \ \%(\%(\<no_\?\)\?rcexpandparam\>\)\|\%(\%(no_\?\)\?rc_expandparam\>\)\|\%(\%(no_\?\)\?rc_expand_param\>\)\| + \ \%(\%(\<no_\?\)\?rcquotes\>\)\|\%(\%(no_\?\)\?rc_quotes\>\)\| + \ \%(\%(\<no_\?\)\?rcs\>\)\| + \ \%(\%(\<no_\?\)\?recexact\>\)\|\%(\%(no_\?\)\?rec_exact\>\)\| + \ \%(\%(\<no_\?\)\?rematchpcre\>\)\|\%(\%(no_\?\)\?re_match_pcre\>\)\|\%(\%(no_\?\)\?rematch_pcre\>\)\| + \ \%(\%(\<no_\?\)\?restricted\>\)\| + \ \%(\%(\<no_\?\)\?rmstarsilent\>\)\|\%(\%(no_\?\)\?rm_star_silent\>\)\| + \ \%(\%(\<no_\?\)\?rmstarwait\>\)\|\%(\%(no_\?\)\?rm_star_wait\>\)\| + \ \%(\%(\<no_\?\)\?sharehistory\>\)\|\%(\%(no_\?\)\?share_history\>\)\| + \ \%(\%(\<no_\?\)\?shfileexpansion\>\)\|\%(\%(no_\?\)\?sh_file_expansion\>\)\| + \ \%(\%(\<no_\?\)\?shglob\>\)\|\%(\%(no_\?\)\?sh_glob\>\)\| + \ \%(\%(\<no_\?\)\?shinstdin\>\)\|\%(\%(no_\?\)\?shin_stdin\>\)\| + \ \%(\%(\<no_\?\)\?shnullcmd\>\)\|\%(\%(no_\?\)\?sh_nullcmd\>\)\| + \ \%(\%(\<no_\?\)\?shoptionletters\>\)\|\%(\%(no_\?\)\?sh_option_letters\>\)\| + \ \%(\%(\<no_\?\)\?shortloops\>\)\|\%(\%(no_\?\)\?short_loops\>\)\| + \ \%(\%(\<no_\?\)\?shwordsplit\>\)\|\%(\%(no_\?\)\?sh_word_split\>\)\| + \ \%(\%(\<no_\?\)\?singlecommand\>\)\|\%(\%(no_\?\)\?single_command\>\)\| + \ \%(\%(\<no_\?\)\?singlelinezle\>\)\|\%(\%(no_\?\)\?single_line_zle\>\)\| + \ \%(\%(\<no_\?\)\?sourcetrace\>\)\|\%(\%(no_\?\)\?source_trace\>\)\| + \ \%(\%(\<no_\?\)\?stdin\>\)\| + \ \%(\%(\<no_\?\)\?sunkeyboardhack\>\)\|\%(\%(no_\?\)\?sun_keyboard_hack\>\)\| + \ \%(\%(\<no_\?\)\?trackall\>\)\|\%(\%(no_\?\)\?track_all\>\)\| + \ \%(\%(\<no_\?\)\?transientrprompt\>\)\|\%(\%(no_\?\)\?transient_rprompt\>\)\| + \ \%(\%(\<no_\?\)\?trapsasync\>\)\|\%(\%(no_\?\)\?traps_async\>\)\| + \ \%(\%(\<no_\?\)\?typesetsilent\>\)\|\%(\%(no_\?\)\?type_set_silent\>\)\|\%(\%(no_\?\)\?typeset_silent\>\)\| + \ \%(\%(\<no_\?\)\?unset\>\)\| + \ \%(\%(\<no_\?\)\?verbose\>\)\| + \ \%(\%(\<no_\?\)\?vi\>\)\| + \ \%(\%(\<no_\?\)\?warncreateglobal\>\)\|\%(\%(no_\?\)\?warn_create_global\>\)\| + \ \%(\%(\<no_\?\)\?xtrace\>\)\| + \ \%(\%(\<no_\?\)\?zle\>\)/ nextgroup=zshOption skipwhite contained syn keyword zshTypes float integer local typeset declare private @@ -319,9 +342,9 @@ syn cluster zshSubst contains=zshSubst,zshOldSubst,zshMathSubst syn region zshSubst matchgroup=zshSubstDelim transparent \ start='\$(' skip='\\)' end=')' contains=TOP fold syn region zshParentheses transparent start='(' skip='\\)' end=')' fold +syn region zshGlob start='(#' end=')' syn region zshMathSubst matchgroup=zshSubstDelim transparent - \ start='\$((' skip='\\)' - \ matchgroup=zshSubstDelim end='))' + \ start='\$((' skip='\\)' end='))' \ contains=zshParentheses,@zshSubst,zshNumber, \ @zshDerefs,zshString keepend fold syn region zshBrackets contained transparent start='{' skip='\\}' @@ -359,23 +382,13 @@ hi def link zshRedir Operator hi def link zshVariable None hi def link zshVariableDef zshVariable hi def link zshDereferencing PreProc -if s:zsh_syntax_variables =~ 'short\|all' - hi def link zshShortDeref zshDereferencing -else - hi def link zshShortDeref None -endif -if s:zsh_syntax_variables =~ 'long\|all' - hi def link zshLongDeref zshDereferencing -else - hi def link zshLongDeref None -endif -if s:zsh_syntax_variables =~ 'all' - hi def link zshDeref zshDereferencing -else - hi def link zshDeref None -endif +hi def link zshShortDeref zshDereferencing +hi def link zshLongDeref zshDereferencing +hi def link zshDeref zshDereferencing +hi def link zshDollarVar zshDereferencing hi def link zshCommands Keyword -hi def link zshOptions Constant +hi def link zshOptStart Keyword +hi def link zshOption Constant hi def link zshTypes Type hi def link zshSwitches Special hi def link zshNumber Number @@ -383,6 +396,7 @@ hi def link zshSubst PreProc hi def link zshMathSubst zshSubst hi def link zshOldSubst zshSubst hi def link zshSubstDelim zshSubst +hi def link zshGlob zshSubst let b:current_syntax = "zsh" diff --git a/runtime/tutor/en/vim-01-beginner.tutor b/runtime/tutor/en/vim-01-beginner.tutor index 6364b201d5..3f243a18fa 100644 --- a/runtime/tutor/en/vim-01-beginner.tutor +++ b/runtime/tutor/en/vim-01-beginner.tutor @@ -65,7 +65,7 @@ NOTE: The cursor keys should also work. But using hjkl you will be able to !! NOTE: Before executing any of the steps below, read this entire lesson !! - 1. Press the <Esc> key (to make sure you are in [Normal mode](). + 1. Press the <Esc> key (to make sure you are in [Normal mode](Normal-mode). 2. Type: diff --git a/runtime/vimrc_example.vim b/runtime/vimrc_example.vim deleted file mode 100644 index 17cba123a8..0000000000 --- a/runtime/vimrc_example.vim +++ /dev/null @@ -1,56 +0,0 @@ -" An example for a vimrc file. -" -" To use it, copy it to -" for Unix: $HOME/.config/nvim/init.vim -" for Windows: %LOCALAPPDATA%\nvim\init.vim - -set backup " keep a backup file (restore to previous version) -set undofile " keep an undo file (undo changes after closing) -set ruler " show the cursor position all the time -set showcmd " display incomplete commands - -" Don't use Ex mode, use Q for formatting -noremap Q gq - -" CTRL-U in insert mode deletes a lot. Use CTRL-G u to first break undo, -" so that you can undo CTRL-U after inserting a line break. -inoremap <C-U> <C-G>u<C-U> - -" Switch syntax highlighting on -syntax on - -" Also switch on highlighting the last used search pattern. -set hlsearch - -" I like highlighting strings inside C comments. -let c_comment_strings=1 - -" Enable file type detection. -" Use the default filetype settings, so that mail gets 'textwidth' set to 72, -" 'cindent' is on in C files, etc. -" Also load indent files, to automatically do language-dependent indenting. -filetype plugin indent on - -" Put these in an autocmd group, so that we can delete them easily. -augroup vimrcEx - autocmd! - - " For all text files set 'textwidth' to 78 characters. - autocmd FileType text setlocal textwidth=78 - - " When editing a file, always jump to the last known cursor position. - " Don't do it when the position is invalid or when inside an event handler - autocmd BufReadPost * - \ if line("'\"") >= 1 && line("'\"") <= line("$") | - \ execute "normal! g`\"" | - \ endif - -augroup END - -" Convenient command to see the difference between the current buffer and the -" file it was loaded from, thus the changes you made. -" Only define it when not defined already. -if !exists(":DiffOrig") - command DiffOrig vert new | set buftype=nofile | read ++edit # | 0d_ | diffthis - \ | wincmd p | diffthis -endif diff --git a/scripts/release.sh b/scripts/release.sh index 692b46e921..f1dbf99473 100755 --- a/scripts/release.sh +++ b/scripts/release.sh @@ -75,6 +75,8 @@ nvim +'/NVIM_VERSION' +10new +'exe "norm! iUpdate version numbers!!!\<CR>"' \ git add CMakeLists.txt git commit -m "$__BUMP_MSG" +rm CMakeLists.txt.bk || true + echo " Next steps: - Double-check NVIM_VERSION_* in CMakeLists.txt diff --git a/scripts/vim-patch.sh b/scripts/vim-patch.sh index 4f6bb40488..2875e7d95a 100755 --- a/scripts/vim-patch.sh +++ b/scripts/vim-patch.sh @@ -22,9 +22,10 @@ usage() { echo "Options:" echo " -h Show this message and exit." echo " -l Show list of Vim patches missing from Neovim." - echo " -p {vim-revision} Download and apply the Vim patch vim-revision." - echo " vim-revision can be a version number of the " - echo " format '7.4.xxx' or a Git commit hash." + echo " -p {vim-revision} Download and generate the specified Vim patch." + echo " vim-revision can be a version number '8.0.xxx'" + echo " or a valid Git ref (hash, tag, etc.)." + echo " -P {vim-revision} Download, generate and apply the Vim patch." echo " -g {vim-revision} Download the Vim patch vim-revision." echo " vim-revision can be a version number of the " echo " format '7.4.xxx' or a Git commit hash." @@ -32,7 +33,7 @@ usage() { echo " -r {pr-number} Review a vim-patch pull request to Neovim." echo echo "Set VIM_SOURCE_DIR to change where Vim's sources are stored." - echo "The default is '${VIM_SOURCE_DIR_DEFAULT}'." + echo "Default is '${VIM_SOURCE_DIR_DEFAULT}'." } # Checks if a program is in the user's PATH, and is executable. @@ -150,6 +151,10 @@ preprocess_patch() { local na_po='sjiscorr.c\|ja.sjis.po\|ko.po\|pl.cp1250.po\|pl.po\|ru.cp1251.po\|uk.cp1251.po\|zh_CN.cp936.po\|zh_CN.po\|zh_TW.po' 2>/dev/null $nvim --cmd 'set dir=/tmp' +'g@^diff --git a/src/po/\<\%('${na_po}'\)\>@norm! d/\v(^diff)|%$
' +w +q "$file" + # Remove vimrc_example.vim + local na_vimrcexample='vimrc_example\.vim' + 2>/dev/null $nvim --cmd 'set dir=/tmp' +'g@^diff --git a/runtime/\<\%('${na_vimrcexample}'\)\>@norm! d/\v(^diff)|%$
' +w +q "$file" + # Rename src/ paths to src/nvim/ LC_ALL=C sed -e 's/\( [ab]\/src\)/\1\/nvim/g' \ "$file" > "$file".tmp && mv "$file".tmp "$file" @@ -186,6 +191,7 @@ get_vim_patch() { stage_patch() { get_vim_patch "$1" + local try_apply="${2:-}" local git_remote git_remote="$(find_git_remote)" @@ -215,14 +221,23 @@ stage_patch() { echo "✔ ${output}" || (echo "✘ ${output}"; false) - printf "\nInstructions: - Proceed to port the patch. This may help: - patch -p1 < ${patch_file} + if test -n "$try_apply" ; then + if ! check_executable patch; then + printf "\n✘ 'patch' command not found\n" + else + printf "\nApplying patch...\n" + patch -p1 --posix < "${patch_file}" + fi + printf "\nInstructions:\n Proceed to port the patch.\n" + else + printf "\nInstructions:\n Proceed to port the patch.\n Try the 'patch' command (or use '${BASENAME} -P ...' next time):\n patch -p1 < ${patch_file}\n" + fi - Stage your changes ('git add ...') and use 'git commit --amend' to commit. + printf " + Stage your changes ('git add ...'), then use 'git commit --amend' to commit. - To port additional patches related to ${vim_version} and add them to the - current branch, call '${BASENAME} -p' again. + To port more patches (if any) related to ${vim_version}, + run '${BASENAME}' again. * Do this only for _related_ patches (otherwise it increases the size of the pull request, making it harder to review) @@ -446,7 +461,7 @@ review_pr() { clean_files } -while getopts "hlp:g:r:s" opt; do +while getopts "hlp:P:g:r:s" opt; do case ${opt} in h) usage @@ -460,6 +475,10 @@ while getopts "hlp:g:r:s" opt; do stage_patch "${OPTARG}" exit 0 ;; + P) + stage_patch "${OPTARG}" TRY_APPLY + exit 0 + ;; g) get_vim_patch "${OPTARG}" exit 0 diff --git a/src/nvim/api/vim.c b/src/nvim/api/vim.c index ce554d351c..c6771fbc03 100644 --- a/src/nvim/api/vim.c +++ b/src/nvim/api/vim.c @@ -91,7 +91,8 @@ Dictionary nvim_get_hl_by_id(Integer hl_id, Boolean rgb, Error *err) { Dictionary dic = ARRAY_DICT_INIT; if (syn_get_final_id((int)hl_id) == 0) { - api_set_error(err, kErrorTypeException, "Invalid highlight id: %d", hl_id); + api_set_error(err, kErrorTypeException, + "Invalid highlight id: %" PRId64, hl_id); return dic; } int attrcode = syn_id2attr((int)hl_id); diff --git a/src/nvim/buffer.c b/src/nvim/buffer.c index f874268910..766003a021 100644 --- a/src/nvim/buffer.c +++ b/src/nvim/buffer.c @@ -64,7 +64,6 @@ #include "nvim/spell.h" #include "nvim/strings.h" #include "nvim/syntax.h" -#include "nvim/terminal.h" #include "nvim/ui.h" #include "nvim/undo.h" #include "nvim/version.h" @@ -1464,12 +1463,6 @@ void enter_buffer(buf_T *buf) /* mark cursor position as being invalid */ curwin->w_valid = 0; - if (buf->terminal) { - terminal_resize(buf->terminal, - (uint16_t)(MAX(0, curwin->w_width - win_col_off(curwin))), - (uint16_t)curwin->w_height); - } - /* Make sure the buffer is loaded. */ if (curbuf->b_ml.ml_mfp == NULL) { /* need to load the file */ /* If there is no filetype, allow for detecting one. Esp. useful for diff --git a/src/nvim/eval.c b/src/nvim/eval.c index c7cb51ac29..33bea8ef87 100644 --- a/src/nvim/eval.c +++ b/src/nvim/eval.c @@ -334,7 +334,7 @@ static struct vimvar { // VV_SEND_SERVER "servername" // VV_REG "register" // VV_OP "operator" - VV(VV_COUNT, "count", VAR_NUMBER, VV_COMPAT+VV_RO), + VV(VV_COUNT, "count", VAR_NUMBER, VV_RO), VV(VV_COUNT1, "count1", VAR_NUMBER, VV_RO), VV(VV_PREVCOUNT, "prevcount", VAR_NUMBER, VV_RO), VV(VV_ERRMSG, "errmsg", VAR_STRING, VV_COMPAT), @@ -10672,6 +10672,10 @@ static void f_has(typval_T *argvars, typval_T *rettv, FunPtr fptr) n = has_nvim_version(name + 5); } else if (STRICMP(name, "vim_starting") == 0) { n = (starting != 0); + } else if (STRICMP(name, "ttyin") == 0) { + n = stdin_isatty; + } else if (STRICMP(name, "ttyout") == 0) { + n = stdout_isatty; } else if (STRICMP(name, "multi_byte_encoding") == 0) { n = has_mbyte != 0; #if defined(USE_ICONV) && defined(DYNAMIC_ICONV) @@ -22879,11 +22883,15 @@ void ex_checkhealth(exarg_T *eap) const char *vimruntime_env = os_getenv("VIMRUNTIME"); if (vimruntime_env == NULL) { EMSG(_("E5009: $VIMRUNTIME is empty or unset")); - return; } else { - EMSG2(_("E5009: Invalid $VIMRUNTIME: %s"), os_getenv("VIMRUNTIME")); - return; + bool rtp_ok = NULL != strstr((char *)p_rtp, vimruntime_env); + if (rtp_ok) { + EMSG2(_("E5009: Invalid $VIMRUNTIME: %s"), vimruntime_env); + } else { + EMSG(_("E5009: Invalid 'runtimepath'")); + } } + return; } size_t bufsize = STRLEN(eap->arg) + sizeof("call health#check('')"); diff --git a/src/nvim/event/libuv_process.c b/src/nvim/event/libuv_process.c index f6a567a520..758b35796e 100644 --- a/src/nvim/event/libuv_process.c +++ b/src/nvim/event/libuv_process.c @@ -38,7 +38,7 @@ int libuv_process_spawn(LibuvProcess *uvproc) #endif uvproc->uvopts.exit_cb = exit_cb; uvproc->uvopts.cwd = proc->cwd; - uvproc->uvopts.env = NULL; + uvproc->uvopts.env = NULL; // Inherits the parent (nvim) env. uvproc->uvopts.stdio = uvproc->uvstdio; uvproc->uvopts.stdio_count = 3; uvproc->uvstdio[0].flags = UV_IGNORE; diff --git a/src/nvim/event/process.c b/src/nvim/event/process.c index 8371d3cd48..41e793500a 100644 --- a/src/nvim/event/process.c +++ b/src/nvim/event/process.c @@ -324,6 +324,13 @@ static void process_close(Process *proc) } assert(!proc->closed); proc->closed = true; + + if (proc->detach) { + if (proc->type == kProcessTypeUv) { + uv_unref((uv_handle_t *)&(((LibuvProcess *)proc)->uv)); + } + } + switch (proc->type) { case kProcessTypeUv: libuv_process_close((LibuvProcess *)proc); diff --git a/src/nvim/ex_docmd.c b/src/nvim/ex_docmd.c index 3bcea4b666..3202f8a848 100644 --- a/src/nvim/ex_docmd.c +++ b/src/nvim/ex_docmd.c @@ -3272,6 +3272,12 @@ const char * set_one_cmd_context( case CMD_echoerr: case CMD_call: case CMD_return: + case CMD_cexpr: + case CMD_caddexpr: + case CMD_cgetexpr: + case CMD_lexpr: + case CMD_laddexpr: + case CMD_lgetexpr: set_context_for_expression(xp, (char_u *)arg, ea.cmdidx); break; @@ -9351,15 +9357,18 @@ put_view ( } } - /* - * Local directory. - */ - if (wp->w_localdir != NULL) { + // + // Local directory, if the current flag is not view options or the "curdir" + // option is included. + // + if (wp->w_localdir != NULL + && (flagp != &vop_flags || (*flagp & SSOP_CURDIR))) { if (fputs("lcd ", fd) < 0 || ses_put_fname(fd, wp->w_localdir, flagp) == FAIL - || put_eol(fd) == FAIL) + || put_eol(fd) == FAIL) { return FAIL; - did_lcd = TRUE; + } + did_lcd = true; } return OK; diff --git a/src/nvim/ex_getln.c b/src/nvim/ex_getln.c index cabdda28cf..53f6ca0d2b 100644 --- a/src/nvim/ex_getln.c +++ b/src/nvim/ex_getln.c @@ -93,6 +93,13 @@ typedef struct { CmdlineColors colors; ///< Last colors. } ColoredCmdline; +/// Keeps track how much state must be sent to external ui. +typedef enum { + kCmdRedrawNone, + kCmdRedrawPos, + kCmdRedrawAll, +} CmdRedraw; + /* * Variables shared between getcmdline(), redrawcmdline() and others. * These need to be saved when using CTRL-R |, that's why they are in a @@ -122,6 +129,7 @@ struct cmdline_info { struct cmdline_info *prev_ccline; ///< pointer to saved cmdline state char special_char; ///< last putcmdline char (used for redraws) bool special_shift; ///< shift of last putcmdline char + CmdRedraw redraw_state; ///< needed redraw for external cmdline }; /// Last value of prompt_id, incremented when doing new prompt static unsigned last_prompt_id = 0; @@ -425,6 +433,7 @@ static uint8_t *command_line_enter(int firstc, long count, int indent) ccline.cmdbuff = NULL; if (ui_is_external(kUICmdline)) { + ccline.redraw_state = kCmdRedrawNone; ui_call_cmdline_hide(ccline.level); } ccline.level--; @@ -1818,7 +1827,8 @@ static int command_line_changed(CommandLineState *s) // right-left typing. Not efficient, but it works. // Do it only when there are no characters left to read // to avoid useless intermediate redraws. - if (vpeekc() == NUL) { + // if cmdline is external the ui handles shaping, no redraw needed. + if (!ui_is_external(kUICmdline) && vpeekc() == NUL) { redrawcmd(); } } @@ -2667,7 +2677,7 @@ static void draw_cmdline(int start, int len) if (ui_is_external(kUICmdline)) { ccline.special_char = NUL; - ui_ext_cmdline_show(&ccline); + ccline.redraw_state = kCmdRedrawAll; return; } @@ -2879,7 +2889,7 @@ void cmdline_screen_cleared(void) if (prev_ccline->level == prev_level) { // don't redraw a cmdline already shown in the cmdline window if (prev_level != cmdwin_level) { - ui_ext_cmdline_show(prev_ccline); + prev_ccline->redraw_state = kCmdRedrawAll; } prev_level--; } @@ -2887,6 +2897,28 @@ void cmdline_screen_cleared(void) } } +/// called by ui_flush, do what redraws neccessary to keep cmdline updated. +void cmdline_ui_flush(void) +{ + if (!ui_is_external(kUICmdline)) { + return; + } + int level = ccline.level; + CmdlineInfo *line = &ccline; + while (level > 0 && line) { + if (line->level == level) { + if (line->redraw_state == kCmdRedrawAll) { + ui_ext_cmdline_show(line); + } else if (line->redraw_state == kCmdRedrawPos) { + ui_call_cmdline_pos(line->cmdpos, line->level); + } + line->redraw_state = kCmdRedrawNone; + level--; + } + line = line->prev_ccline; + } +} + /* * Put a character on the command line. Shifts the following text to the * right when "shift" is TRUE. Used for CTRL-V, CTRL-K, etc. @@ -2907,8 +2939,10 @@ void putcmdline(int c, int shift) } else { ccline.special_char = c; ccline.special_shift = shift; - ui_call_cmdline_special_char(cchar_to_string((char)(c)), shift, - ccline.level); + if (ccline.redraw_state != kCmdRedrawAll) { + ui_call_cmdline_special_char(cchar_to_string((char)(c)), shift, + ccline.level); + } } cursorcmd(); ui_cursor_shape(); @@ -3249,7 +3283,7 @@ static void redrawcmdprompt(void) if (cmd_silent) return; if (ui_is_external(kUICmdline)) { - ui_ext_cmdline_show(&ccline); + ccline.redraw_state = kCmdRedrawAll; return; } if (ccline.cmdfirstc != NUL) { @@ -3326,7 +3360,9 @@ static void cursorcmd(void) return; if (ui_is_external(kUICmdline)) { - ui_call_cmdline_pos(ccline.cmdpos, ccline.level); + if (ccline.redraw_state < kCmdRedrawPos) { + ccline.redraw_state = kCmdRedrawPos; + } return; } @@ -4164,7 +4200,9 @@ addstar ( || context == EXPAND_OWNSYNTAX || context == EXPAND_FILETYPE || context == EXPAND_PACKADD - || (context == EXPAND_TAGS && fname[0] == '/')) + || ((context == EXPAND_TAGS_LISTFILES + || context == EXPAND_TAGS) + && fname[0] == '/')) retval = vim_strnsave(fname, len); else { new_len = len + 2; /* +2 for '^' at start, NUL at end */ @@ -5920,6 +5958,7 @@ static int ex_window(void) changed_line_abv_curs(); invalidate_botline(); if (ui_is_external(kUICmdline)) { + ccline.redraw_state = kCmdRedrawNone; ui_call_cmdline_hide(ccline.level); } redraw_later(SOME_VALID); diff --git a/src/nvim/fileio.c b/src/nvim/fileio.c index feb16f44d4..ae6c3f96e3 100644 --- a/src/nvim/fileio.c +++ b/src/nvim/fileio.c @@ -302,12 +302,9 @@ readfile ( linenr_T skip_count = 0; linenr_T read_count = 0; int msg_save = msg_scroll; - linenr_T read_no_eol_lnum = 0; /* non-zero lnum when last line of - * last read was missing the eol */ - int try_mac = (vim_strchr(p_ffs, 'm') != NULL); - int try_dos = (vim_strchr(p_ffs, 'd') != NULL); - int try_unix = (vim_strchr(p_ffs, 'x') != NULL); - int file_rewind = FALSE; + linenr_T read_no_eol_lnum = 0; // non-zero lnum when last line of + // last read was missing the eol + int file_rewind = false; int can_retry; linenr_T conv_error = 0; /* line nr with conversion error */ linenr_T illegal_byte = 0; /* line nr with illegal byte */ @@ -639,37 +636,46 @@ readfile ( curbuf->b_op_start.lnum = ((from == 0) ? 1 : from); curbuf->b_op_start.col = 0; + int try_mac = (vim_strchr(p_ffs, 'm') != NULL); + int try_dos = (vim_strchr(p_ffs, 'd') != NULL); + int try_unix = (vim_strchr(p_ffs, 'x') != NULL); + if (!read_buffer) { int m = msg_scroll; int n = msg_scrolled; - /* - * The file must be closed again, the autocommands may want to change - * the file before reading it. - */ - if (!read_stdin) - close(fd); /* ignore errors */ + // The file must be closed again, the autocommands may want to change + // the file before reading it. + if (!read_stdin) { + close(fd); // ignore errors + } - /* - * The output from the autocommands should not overwrite anything and - * should not be overwritten: Set msg_scroll, restore its value if no - * output was done. - */ - msg_scroll = TRUE; - if (filtering) + // The output from the autocommands should not overwrite anything and + // should not be overwritten: Set msg_scroll, restore its value if no + // output was done. + msg_scroll = true; + if (filtering) { apply_autocmds_exarg(EVENT_FILTERREADPRE, NULL, sfname, - FALSE, curbuf, eap); - else if (read_stdin) + false, curbuf, eap); + } else if (read_stdin) { apply_autocmds_exarg(EVENT_STDINREADPRE, NULL, sfname, - FALSE, curbuf, eap); - else if (newfile) + false, curbuf, eap); + } else if (newfile) { apply_autocmds_exarg(EVENT_BUFREADPRE, NULL, sfname, - FALSE, curbuf, eap); - else + false, curbuf, eap); + } else { apply_autocmds_exarg(EVENT_FILEREADPRE, sfname, sfname, - FALSE, NULL, eap); - if (msg_scrolled == n) + false, NULL, eap); + } + + // autocommands may have changed it + try_mac = (vim_strchr(p_ffs, 'm') != NULL); + try_dos = (vim_strchr(p_ffs, 'd') != NULL); + try_unix = (vim_strchr(p_ffs, 'x') != NULL); + + if (msg_scrolled == n) { msg_scroll = m; + } if (aborting()) { /* autocmds may abort script processing */ --no_wait_return; @@ -1616,7 +1622,8 @@ rewind_retry: *ptr = NUL; /* end of line */ len = (colnr_T)(ptr - line_start + 1); if (fileformat == EOL_DOS) { - if (ptr[-1] == CAR) { /* remove CR */ + if (ptr > line_start && ptr[-1] == CAR) { + // remove CR before NL ptr[-1] = NUL; len--; } else if (ff_error != EOL_DOS) { diff --git a/src/nvim/globals.h b/src/nvim/globals.h index 2a041177d4..8874f0bb75 100644 --- a/src/nvim/globals.h +++ b/src/nvim/globals.h @@ -564,21 +564,22 @@ EXTERN int ru_col; /* column for ruler */ EXTERN int ru_wid; /* 'rulerfmt' width of ruler when non-zero */ EXTERN int sc_col; /* column for shown command */ -/* - * When starting or exiting some things are done differently (e.g. screen - * updating). - */ +// +// When starting or exiting some things are done differently (e.g. screen +// updating). +// + +// First NO_SCREEN, then NO_BUFFERS, then 0 when startup finished. EXTERN int starting INIT(= NO_SCREEN); -/* first NO_SCREEN, then NO_BUFFERS and then - * set to 0 when starting up finished */ -EXTERN int exiting INIT(= FALSE); -/* TRUE when planning to exit Vim. Might - * still keep on running if there is a changed - * buffer. */ -// volatile because it is used in signal handler deathtrap(). +// true when planning to exit. Might keep running if there is a changed buffer. +EXTERN int exiting INIT(= false); +// is stdin a terminal? +EXTERN int stdin_isatty INIT(= true); +// is stdout a terminal? +EXTERN int stdout_isatty INIT(= true); +// true when doing full-screen output, otherwise only writing some messages. +// volatile because it is used in a signal handler. EXTERN volatile int full_screen INIT(= false); -// TRUE when doing full-screen output -// otherwise only writing some messages EXTERN int restricted INIT(= FALSE); // TRUE when started in restricted mode (-Z) diff --git a/src/nvim/main.c b/src/nvim/main.c index ea7a58bda3..93afe11f3a 100644 --- a/src/nvim/main.c +++ b/src/nvim/main.c @@ -1240,8 +1240,10 @@ static void init_startuptime(mparm_T *paramp) static void check_and_set_isatty(mparm_T *paramp) { - paramp->input_isatty = os_isatty(fileno(stdin)); - paramp->output_isatty = os_isatty(fileno(stdout)); + stdin_isatty + = paramp->input_isatty = os_isatty(fileno(stdin)); + stdout_isatty + = paramp->output_isatty = os_isatty(fileno(stdout)); paramp->err_isatty = os_isatty(fileno(stderr)); TIME_MSG("window checked"); } diff --git a/src/nvim/option_defs.h b/src/nvim/option_defs.h index a2fe90b3c2..1f62490ab9 100644 --- a/src/nvim/option_defs.h +++ b/src/nvim/option_defs.h @@ -539,7 +539,7 @@ static char *(p_ssop_values[]) = {"buffers", "winpos", "resize", "winsize", "localoptions", "options", "help", "blank", "globals", "slash", "unix", "sesdir", "curdir", "folds", "cursor", - "tabpages", NULL}; + "tabpages", NULL }; # endif # define SSOP_BUFFERS 0x001 # define SSOP_WINPOS 0x002 @@ -557,16 +557,17 @@ static char *(p_ssop_values[]) = {"buffers", "winpos", "resize", "winsize", # define SSOP_FOLDS 0x2000 # define SSOP_CURSOR 0x4000 # define SSOP_TABPAGES 0x8000 -EXTERN char_u *p_sh; /* 'shell' */ -EXTERN char_u *p_shcf; /* 'shellcmdflag' */ -EXTERN char_u *p_sp; /* 'shellpipe' */ -EXTERN char_u *p_shq; /* 'shellquote' */ -EXTERN char_u *p_sxq; /* 'shellxquote' */ -EXTERN char_u *p_sxe; /* 'shellxescape' */ -EXTERN char_u *p_srr; /* 'shellredir' */ -EXTERN int p_stmp; /* 'shelltemp' */ + +EXTERN char_u *p_sh; // 'shell' +EXTERN char_u *p_shcf; // 'shellcmdflag' +EXTERN char_u *p_sp; // 'shellpipe' +EXTERN char_u *p_shq; // 'shellquote' +EXTERN char_u *p_sxq; // 'shellxquote' +EXTERN char_u *p_sxe; // 'shellxescape' +EXTERN char_u *p_srr; // 'shellredir' +EXTERN int p_stmp; // 'shelltemp' #ifdef BACKSLASH_IN_FILENAME -EXTERN int p_ssl; /* 'shellslash' */ +EXTERN int p_ssl; // 'shellslash' #endif EXTERN char_u *p_stl; // 'statusline' EXTERN int p_sr; // 'shiftround' diff --git a/src/nvim/options.lua b/src/nvim/options.lua index 7cecb16686..52e478e78a 100644 --- a/src/nvim/options.lua +++ b/src/nvim/options.lua @@ -1924,7 +1924,7 @@ return { vi_def=true, varname='p_scbk', redraw={'current_buffer'}, - defaults={if_true={vi=1000}} + defaults={if_true={vi=10000}} }, { full_name='scrollbind', abbreviation='scb', @@ -2610,7 +2610,7 @@ return { deny_duplicates=true, vi_def=true, varname='p_vop', - defaults={if_true={vi="folds,options,cursor"}} + defaults={if_true={vi="folds,options,cursor,curdir"}} }, { full_name='viminfo', abbreviation='vi', diff --git a/src/nvim/os/fs.c b/src/nvim/os/fs.c index 78627f8703..aa28b95c30 100644 --- a/src/nvim/os/fs.c +++ b/src/nvim/os/fs.c @@ -133,22 +133,12 @@ bool os_isdir(const char_u *name) int os_nodetype(const char *name) FUNC_ATTR_NONNULL_ALL { -#ifdef WIN32 - // Edge case from Vim os_win32.c: - // We can't open a file with a name "\\.\con" or "\\.\prn", trying to read - // from it later will cause Vim to hang. Thus return NODE_WRITABLE here. - if (STRNCMP(name, "\\\\.\\", 4) == 0) { - return NODE_WRITABLE; - } -#endif - +#ifndef WIN32 // Unix uv_stat_t statbuf; if (0 != os_stat(name, &statbuf)) { return NODE_NORMAL; // File doesn't exist. } - -#ifndef WIN32 - // libuv does not handle BLK and DIR in uv_handle_type. + // uv_handle_type does not distinguish BLK and DIR. // Related: https://github.com/joyent/libuv/pull/1421 if (S_ISREG(statbuf.st_mode) || S_ISDIR(statbuf.st_mode)) { return NODE_NORMAL; @@ -156,48 +146,51 @@ int os_nodetype(const char *name) if (S_ISBLK(statbuf.st_mode)) { // block device isn't writable return NODE_OTHER; } -#endif + // Everything else is writable? + // buf_write() expects NODE_WRITABLE for char device /dev/stderr. + return NODE_WRITABLE; +#else // Windows + // Edge case from Vim os_win32.c: + // We can't open a file with a name "\\.\con" or "\\.\prn", trying to read + // from it later will cause Vim to hang. Thus return NODE_WRITABLE here. + if (STRNCMP(name, "\\\\.\\", 4) == 0) { + return NODE_WRITABLE; + } - // Vim os_win32.c:mch_nodetype does this (since patch 7.4.015): - // if (enc_codepage >= 0 && (int)GetACP() != enc_codepage) { - // wn = enc_to_utf16(name, NULL); - // hFile = CreatFile(wn, ...) - // to get a HANDLE. But libuv just calls win32's _get_osfhandle() on the fd we - // give it. uv_fs_open calls fs__capture_path which does a similar dance and - // saves us the hassle. + // Vim os_win32.c:mch_nodetype does (since 7.4.015): + // wn = enc_to_utf16(name, NULL); + // hFile = CreatFile(wn, ...) + // to get a HANDLE. Whereas libuv just calls _get_osfhandle() on the fd we + // give it. But uv_fs_open later calls fs__capture_path which does a similar + // utf8-to-utf16 dance and saves us the hassle. - int nodetype = NODE_WRITABLE; + // macOS: os_open(/dev/stderr) would return UV_EACCES. int fd = os_open(name, O_RDONLY -#ifdef O_NONBLOCK +# ifdef O_NONBLOCK | O_NONBLOCK -#endif +# endif , 0); - if (fd == -1) { - return NODE_OTHER; // open() failed. + if (fd < 0) { // open() failed. + return NODE_NORMAL; + } + int guess = uv_guess_handle(fd); + if (close(fd) == -1) { + ELOG("close(%d) failed. name='%s'", fd, name); } - switch (uv_guess_handle(fd)) { - case UV_TTY: // FILE_TYPE_CHAR - nodetype = NODE_WRITABLE; - break; - case UV_FILE: // FILE_TYPE_DISK - nodetype = NODE_NORMAL; - break; - case UV_NAMED_PIPE: // not handled explicitly in Vim os_win32.c - case UV_UDP: // unix only - case UV_TCP: // unix only + switch (guess) { + case UV_TTY: // FILE_TYPE_CHAR + return NODE_WRITABLE; + case UV_FILE: // FILE_TYPE_DISK + return NODE_NORMAL; + case UV_NAMED_PIPE: // not handled explicitly in Vim os_win32.c + case UV_UDP: // unix only + case UV_TCP: // unix only case UV_UNKNOWN_HANDLE: default: -#ifdef WIN32 - nodetype = NODE_NORMAL; -#else - nodetype = NODE_WRITABLE; // Everything else is writable? -#endif - break; + return NODE_OTHER; // Vim os_win32.c default } - - close(fd); - return nodetype; +#endif } /// Gets the absolute path of the currently running executable. @@ -394,9 +387,11 @@ end: /// @param mode Permissions for the newly-created file (IGNORED if 'flags' is /// not `O_CREAT` or `O_TMPFILE`), subject to the current umask /// @return file descriptor, or libuv error code on failure -int os_open(const char* path, int flags, int mode) - FUNC_ATTR_NONNULL_ALL +int os_open(const char *path, int flags, int mode) { + if (path == NULL) { // uv_fs_open asserts on NULL. #7561 + return UV_EINVAL; + } int r; RUN_UV_FS_FUNC(r, uv_fs_open, path, flags, mode, NULL); return r; @@ -603,12 +598,12 @@ int os_fsync(int fd) /// Get stat information for a file. /// -/// @return libuv return code. +/// @return libuv return code, or -errno static int os_stat(const char *name, uv_stat_t *statbuf) FUNC_ATTR_NONNULL_ARG(2) { if (!name) { - return UV_ENOENT; + return UV_EINVAL; } uv_fs_t request; int result = uv_fs_stat(&fs_loop, &request, name, NULL); @@ -1078,7 +1073,8 @@ shortcut_end: #endif -int os_translate_sys_error(int sys_errno) { +int os_translate_sys_error(int sys_errno) +{ #ifdef HAVE_UV_TRANSLATE_SYS_ERROR return uv_translate_sys_error(sys_errno); #elif defined(WIN32) diff --git a/src/nvim/po/af.po b/src/nvim/po/af.po index eb6be42688..27bb2d3a80 100644 --- a/src/nvim/po/af.po +++ b/src/nvim/po/af.po @@ -26,7 +26,7 @@ msgid "" msgstr "" "Project-Id-Version: Vim 6.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2014-05-26 14:21+0200\n" +"POT-Creation-Date: 2017-11-07 20:04+0100\n" "PO-Revision-Date: Wed Oct 31 13:41 SAST 2001\n" "Last-Translator: Danie Roux <droux@tuks.co.za>\n" "Language-Team: Danie Roux <droux@tuks.co.za>\n" @@ -35,101 +35,74 @@ msgstr "" "Content-Type: text/plain; charset=ISO_8859-1\n" "Content-Transfer-Encoding: 8-bit\n" -#: ../api/private/helpers.c:201 -#, fuzzy -msgid "Unable to get option value" -msgstr "E258: Kan nie na kliënt stuur nie" - -#: ../api/private/helpers.c:204 -msgid "internal error: unknown option type" -msgstr "" - -#: ../buffer.c:92 -msgid "[Location List]" -msgstr "" +#~ msgid "[Location List]" +#~ msgstr "" -#: ../buffer.c:93 -msgid "[Quickfix List]" -msgstr "" +#~ msgid "[Quickfix List]" +#~ msgstr "" -#: ../buffer.c:94 -msgid "E855: Autocommands caused command to abort" -msgstr "" +#~ msgid "E855: Autocommands caused command to abort" +#~ msgstr "" -#: ../buffer.c:135 msgid "E82: Cannot allocate any buffer, exiting..." msgstr "E82: Kan nie buffer toeken nie, program sluit..." -#: ../buffer.c:138 msgid "E83: Cannot allocate buffer, using other one..." msgstr "E83: Kan nie buffer toeken nie, gaan ander een gebruik..." -#: ../buffer.c:763 +#~ msgid "E937: Attempt to delete a buffer that is in use" +#~ msgstr "" + msgid "E515: No buffers were unloaded" msgstr "E515: Geen buffers is uitgelaai nie" -#: ../buffer.c:765 msgid "E516: No buffers were deleted" msgstr "E516: Geen buffers is geskrap nie" -#: ../buffer.c:767 msgid "E517: No buffers were wiped out" msgstr "E517: Geen buffers is geskrap nie" -#: ../buffer.c:772 msgid "1 buffer unloaded" msgstr "1 buffer uitgelaai" -#: ../buffer.c:774 #, c-format msgid "%d buffers unloaded" msgstr "%d buffers uitgelaai" -#: ../buffer.c:777 msgid "1 buffer deleted" msgstr "1 buffer geskrap" -#: ../buffer.c:779 #, c-format msgid "%d buffers deleted" msgstr "%d buffers geskrap" -#: ../buffer.c:782 msgid "1 buffer wiped out" msgstr "1 buffer geskrap" -#: ../buffer.c:784 #, c-format msgid "%d buffers wiped out" msgstr "%d buffers geskrap" -#: ../buffer.c:806 msgid "E90: Cannot unload last buffer" msgstr "E90: Kan nie laaste buffer uitlaai nie" -#: ../buffer.c:874 msgid "E84: No modified buffer found" msgstr "E84: Geen veranderde buffer gevind nie" #. back where we started, didn't find anything. -#: ../buffer.c:903 msgid "E85: There is no listed buffer" msgstr "E85: Daar is geen gelyste buffer nie" -#: ../buffer.c:913 -#, c-format -msgid "E86: Buffer %<PRId64> does not exist" -msgstr "E86: Buffer %<PRId64> bestaan nie" - -#: ../buffer.c:915 msgid "E87: Cannot go beyond last buffer" msgstr "E87: Kan nie verby laaste buffer gaan nie" -#: ../buffer.c:917 msgid "E88: Cannot go before first buffer" msgstr "E88: Kan nie vóór eerste buffer gaan nie" -#: ../buffer.c:945 +#, fuzzy, c-format +#~ msgid "E89: %s will be killed(add ! to override)" +#~ msgstr "E189: \"%s\" bestaan (gebruik ! om te dwing)" + #, c-format msgid "" "E89: No write since last change for buffer %<PRId64> (add ! to override)" @@ -138,117 +111,85 @@ msgstr "" "dwing)" #. wrap around (may cause duplicates) -#: ../buffer.c:1423 msgid "W14: Warning: List of file names overflow" msgstr "W14: Waarskuwing: Lêerlys loop oor" -#: ../buffer.c:1555 ../quickfix.c:3361 #, c-format msgid "E92: Buffer %<PRId64> not found" msgstr "E92: buffer %<PRId64> kon nie gevind word nie" -#: ../buffer.c:1798 #, c-format msgid "E93: More than one match for %s" msgstr "E93: Meer as een treffer vir %s" -#: ../buffer.c:1800 #, c-format msgid "E94: No matching buffer for %s" msgstr "E94: Geen buffer wat by %s pas nie" -#: ../buffer.c:2161 #, c-format msgid "line %<PRId64>" msgstr "reël %<PRId64>" -#: ../buffer.c:2233 msgid "E95: Buffer with this name already exists" msgstr "E95: Buffer met hierdie naam bestaan alreeds" -#: ../buffer.c:2498 msgid " [Modified]" msgstr " [Gewysig]" -#: ../buffer.c:2501 msgid "[Not edited]" msgstr "[Ongewysig]" -#: ../buffer.c:2504 msgid "[New file]" msgstr "[Nuwe lêer]" -#: ../buffer.c:2505 msgid "[Read errors]" msgstr "[Leesfoute]" -#: ../buffer.c:2506 ../buffer.c:3217 ../fileio.c:1807 ../screen.c:4895 msgid "[RO]" msgstr "[RO]" -#: ../buffer.c:2507 ../fileio.c:1807 msgid "[readonly]" msgstr "[lees alleen]" -#: ../buffer.c:2524 #, c-format msgid "1 line --%d%%--" msgstr "1 reël --%d%%--" -#: ../buffer.c:2526 #, c-format msgid "%<PRId64> lines --%d%%--" msgstr "%<PRId64> reëls --%d%%--" -#: ../buffer.c:2530 #, c-format msgid "line %<PRId64> of %<PRId64> --%d%%-- col " msgstr "reël %<PRId64> van %<PRId64> --%d%%-- kolom " -#: ../buffer.c:2632 ../buffer.c:4292 ../memline.c:1554 #, fuzzy -msgid "[No Name]" -msgstr "[Geen lêer]" +#~ msgid "[No Name]" +#~ msgstr "[Geen lêer]" #. must be a help buffer -#: ../buffer.c:2667 msgid "help" msgstr "help" -#: ../buffer.c:3225 ../screen.c:4883 #, fuzzy -msgid "[Help]" -msgstr "[help]" +#~ msgid "[Help]" +#~ msgstr "[help]" -#: ../buffer.c:3254 ../screen.c:4887 msgid "[Preview]" msgstr "[Voorskou]" -#: ../buffer.c:3528 msgid "All" msgstr "Alles" -#: ../buffer.c:3528 msgid "Bot" msgstr "Ond" -#: ../buffer.c:3531 msgid "Top" msgstr "Bo" -#: ../buffer.c:4244 -msgid "" -"\n" -"# Buffer list:\n" -msgstr "" -"\n" -"# Buffer lys:\n" - -#: ../buffer.c:4289 -msgid "[Scratch]" -msgstr "" +#~ msgid "[Scratch]" +#~ msgstr "" -#: ../buffer.c:4529 msgid "" "\n" "--- Signs ---" @@ -256,208 +197,161 @@ msgstr "" "\n" "--- Tekens ---" -#: ../buffer.c:4538 #, c-format msgid "Signs for %s:" msgstr "Tekens vir %s:" -#: ../buffer.c:4543 #, c-format msgid " line=%<PRId64> id=%d name=%s" msgstr " reël=%<PRId64> id=%d naam=%s" -#: ../cursor_shape.c:68 msgid "E545: Missing colon" msgstr "E545: Ontbrekende dubbelpunt" -#: ../cursor_shape.c:70 ../cursor_shape.c:94 msgid "E546: Illegal mode" msgstr "E546: Ongeldige modus" -#: ../cursor_shape.c:134 msgid "E548: digit expected" msgstr "E548: syfer verwag" -#: ../cursor_shape.c:138 msgid "E549: Illegal percentage" msgstr "E549: Ongeldige persentasie" -#: ../diff.c:146 -#, c-format -msgid "E96: Can not diff more than %<PRId64> buffers" -msgstr "E96: Kan nie meer as %<PRId64> buffers 'diff' nie" +#, fuzzy, c-format +#~ msgid "E96: Cannot diff more than %<PRId64> buffers" +#~ msgstr "E96: Kan nie meer as %<PRId64> buffers 'diff' nie" -#: ../diff.c:753 #, fuzzy -msgid "E810: Cannot read or write temp files" -msgstr "E557: Kan nie 'termcap'-lêer oopmaak nie" +#~ msgid "E810: Cannot read or write temp files" +#~ msgstr "E557: Kan nie 'termcap'-lêer oopmaak nie" -#: ../diff.c:755 msgid "E97: Cannot create diffs" msgstr "E97: Kan nie 'diffs' skep nie " -#: ../diff.c:966 #, fuzzy -msgid "E816: Cannot read patch output" -msgstr "E98: Kan nie 'diff' afvoer lees nie" +#~ msgid "E816: Cannot read patch output" +#~ msgstr "E98: Kan nie 'diff' afvoer lees nie" -#: ../diff.c:1220 msgid "E98: Cannot read diff output" msgstr "E98: Kan nie 'diff' afvoer lees nie" -#: ../diff.c:2081 msgid "E99: Current buffer is not in diff mode" msgstr "E99: Huidige buffer is nie in 'diff' modus nie" -#: ../diff.c:2100 #, fuzzy -msgid "E793: No other buffer in diff mode is modifiable" -msgstr "E100: Geen ander buffer in 'diff' modus nie" +#~ msgid "E793: No other buffer in diff mode is modifiable" +#~ msgstr "E100: Geen ander buffer in 'diff' modus nie" -#: ../diff.c:2102 msgid "E100: No other buffer in diff mode" msgstr "E100: Geen ander buffer in 'diff' modus nie" -#: ../diff.c:2112 msgid "E101: More than two buffers in diff mode, don't know which one to use" msgstr "" "E101: Meer as twee buffers in 'diff' modus, weet nie watter een om te " "gebruik nie" -#: ../diff.c:2141 #, c-format msgid "E102: Can't find buffer \"%s\"" msgstr "E102: Kan buffer %s nie vind nie" -#: ../diff.c:2152 #, c-format msgid "E103: Buffer \"%s\" is not in diff mode" msgstr "E103: Buffer \"%s\" is nie in 'diff' modus nie" -#: ../diff.c:2193 -msgid "E787: Buffer changed unexpectedly" -msgstr "" +#~ msgid "E787: Buffer changed unexpectedly" +#~ msgstr "" -#: ../digraph.c:1598 msgid "E104: Escape not allowed in digraph" msgstr "E104: 'Escape' nie toegelaat in digraaf nie" -#: ../digraph.c:1760 msgid "E544: Keymap file not found" msgstr "E544: Sleutelbindinglêer nie gevind nie" -#: ../digraph.c:1785 msgid "E105: Using :loadkeymap not in a sourced file" msgstr "E105: :loadkeymap word buite 'n uitvoerlêer gebruik" -#: ../digraph.c:1821 -msgid "E791: Empty keymap entry" -msgstr "" +#~ msgid "E791: Empty keymap entry" +#~ msgstr "" -#: ../edit.c:82 msgid " Keyword completion (^N^P)" msgstr " Sleutelwoord voltooiing (^N^P)" #. ctrl_x_mode == 0, ^P/^N compl. -#: ../edit.c:83 #, fuzzy -msgid " ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)" -msgstr " ^X modus (^E^Y^L^]^F^I^K^D^V^N^P)" +#~ msgid " ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)" +#~ msgstr " ^X modus (^E^Y^L^]^F^I^K^D^V^N^P)" -#: ../edit.c:85 msgid " Whole line completion (^L^N^P)" msgstr " Hele-reël voltooiing (^L^N^P)" -#: ../edit.c:86 msgid " File name completion (^F^N^P)" msgstr " Lêernaam voltooiing (^F^N^P)" -#: ../edit.c:87 msgid " Tag completion (^]^N^P)" msgstr " Etiketvoltooiing (^]^N^P)" -#: ../edit.c:88 msgid " Path pattern completion (^N^P)" msgstr " Gidspatroon voltooiing (^N^P)" -#: ../edit.c:89 msgid " Definition completion (^D^N^P)" msgstr " Definisievoltooiing (^D^N^P)" -#: ../edit.c:91 msgid " Dictionary completion (^K^N^P)" msgstr " Woordeboekvoltooiing (^K^N^P)" -#: ../edit.c:92 msgid " Thesaurus completion (^T^N^P)" msgstr " Tesourusvoltooiing (^T^N^P)" -#: ../edit.c:93 msgid " Command-line completion (^V^N^P)" msgstr " Bevelreëlvoltooiing (^V^N^P)" -#: ../edit.c:94 #, fuzzy -msgid " User defined completion (^U^N^P)" -msgstr " Hele-reël voltooiing (^L^N^P)" +#~ msgid " User defined completion (^U^N^P)" +#~ msgstr " Hele-reël voltooiing (^L^N^P)" -#: ../edit.c:95 #, fuzzy -msgid " Omni completion (^O^N^P)" -msgstr " Etiketvoltooiing (^]^N^P)" +#~ msgid " Omni completion (^O^N^P)" +#~ msgstr " Etiketvoltooiing (^]^N^P)" -#: ../edit.c:96 #, fuzzy -msgid " Spelling suggestion (s^N^P)" -msgstr " Hele-reël voltooiing (^L^N^P)" +#~ msgid " Spelling suggestion (s^N^P)" +#~ msgstr " Hele-reël voltooiing (^L^N^P)" -#: ../edit.c:97 msgid " Keyword Local completion (^N^P)" msgstr " Sleutelwoord Lokale voltooiing (^N^P)" -#: ../edit.c:100 msgid "Hit end of paragraph" msgstr "Het einde van paragraaf getref" -#: ../edit.c:101 -msgid "E839: Completion function changed window" -msgstr "" +#~ msgid "E839: Completion function changed window" +#~ msgstr "" -#: ../edit.c:102 -msgid "E840: Completion function deleted text" -msgstr "" +#~ msgid "E840: Completion function deleted text" +#~ msgstr "" -#: ../edit.c:1847 msgid "'dictionary' option is empty" msgstr "'dictionary' opsie is leeg" -#: ../edit.c:1848 msgid "'thesaurus' option is empty" msgstr "'thesaurus' opsie is leeg" -#: ../edit.c:2655 #, c-format msgid "Scanning dictionary: %s" msgstr "Deursoek woordeboek: %s" -#: ../edit.c:3079 msgid " (insert) Scroll (^E/^Y)" msgstr " (invoeg) Rol (^E/^Y)" -#: ../edit.c:3081 msgid " (replace) Scroll (^E/^Y)" msgstr " (vervang) Rol (^E/^Y)" -#: ../edit.c:3587 #, c-format msgid "Scanning: %s" msgstr "Soek vir: %s" -#: ../edit.c:3614 msgid "Scanning tags." msgstr "Deursoek etikette." -#: ../edit.c:4519 msgid " Adding" msgstr " Word bygevoeg" @@ -465,605 +359,550 @@ msgstr " Word bygevoeg" #. * be called before line = ml_get(), or when this address is no #. * longer needed. -- Acevedo. #. -#: ../edit.c:4562 msgid "-- Searching..." msgstr "-- Soekend..." -#: ../edit.c:4618 msgid "Back at original" msgstr "Terug by oorspronklike" -#: ../edit.c:4621 msgid "Word from other line" msgstr "Woord van ander reël" -#: ../edit.c:4624 msgid "The only match" msgstr "Die enigste treffer" -#: ../edit.c:4680 #, c-format msgid "match %d of %d" msgstr "treffer %d van %d" -#: ../edit.c:4684 #, c-format msgid "match %d" msgstr "treffer %d" -#: ../eval.c:137 #, fuzzy -msgid "E18: Unexpected characters in :let" -msgstr "E18: Onverwagte karakters voor '='" +#~ msgid "E18: Unexpected characters in :let" +#~ msgstr "E18: Onverwagte karakters voor '='" -#: ../eval.c:138 -#, fuzzy, c-format -msgid "E684: list index out of range: %<PRId64>" -msgstr "E322: reëlnommer buite perke: %<PRId64> verby die einde" - -#: ../eval.c:139 -#, c-format -msgid "E121: Undefined variable: %s" -msgstr "E121: Ongedefinieerde veranderlike: %s" - -#: ../eval.c:140 msgid "E111: Missing ']'" msgstr "E111: Ontbrekende ']'" -#: ../eval.c:141 #, fuzzy, c-format -msgid "E686: Argument of %s must be a List" -msgstr "E487: Parameter moet positief wees" +#~ msgid "E686: Argument of %s must be a List" +#~ msgstr "E487: Parameter moet positief wees" -#: ../eval.c:143 #, fuzzy, c-format -msgid "E712: Argument of %s must be a List or Dictionary" -msgstr "E487: Parameter moet positief wees" +#~ msgid "E712: Argument of %s must be a List or Dictionary" +#~ msgstr "E487: Parameter moet positief wees" -#: ../eval.c:144 #, fuzzy -msgid "E713: Cannot use empty key for Dictionary" -msgstr "E214: Kan nie tydelike lêer vind vir skryf nie" +#~ msgid "E714: List required" +#~ msgstr "E471: Parameter benodig" -#: ../eval.c:145 #, fuzzy -msgid "E714: List required" -msgstr "E471: Parameter benodig" +#~ msgid "E715: Dictionary required" +#~ msgstr "E129: Funksienaam vereis" -#: ../eval.c:146 #, fuzzy -msgid "E715: Dictionary required" -msgstr "E129: Funksienaam vereis" +#~ msgid "E928: String required" +#~ msgstr "E397: Lêernaam benodig" -#: ../eval.c:147 #, c-format msgid "E118: Too many arguments for function: %s" msgstr "E118: Te veel parameters vir funksie: %s" -#: ../eval.c:148 #, c-format -msgid "E716: Key not present in Dictionary: %s" -msgstr "" +#~ msgid "E716: Key not present in Dictionary: %s" +#~ msgstr "" -#: ../eval.c:150 #, c-format msgid "E122: Function %s already exists, add ! to replace it" msgstr "E122: Funksie %s bestaan alreeds, gebruik ! om te vervang" -#: ../eval.c:151 #, fuzzy -msgid "E717: Dictionary entry already exists" -msgstr "E95: Buffer met hierdie naam bestaan alreeds" +#~ msgid "E717: Dictionary entry already exists" +#~ msgstr "E95: Buffer met hierdie naam bestaan alreeds" -#: ../eval.c:152 #, fuzzy -msgid "E718: Funcref required" -msgstr "E129: Funksienaam vereis" +#~ msgid "E718: Funcref required" +#~ msgstr "E129: Funksienaam vereis" -#: ../eval.c:153 #, fuzzy -msgid "E719: Cannot use [:] with a Dictionary" -msgstr "E360: Kan nie dop met -f opsie uitvoer nie" +#~ msgid "E719: Cannot use [:] with a Dictionary" +#~ msgstr "E360: Kan nie dop met -f opsie uitvoer nie" -#: ../eval.c:154 -#, c-format -msgid "E734: Wrong variable type for %s=" -msgstr "" - -#: ../eval.c:155 #, fuzzy, c-format -msgid "E130: Unknown function: %s" -msgstr "E117: Onbekende funksie: %s" +#~ msgid "E130: Unknown function: %s" +#~ msgstr "E117: Onbekende funksie: %s" -#: ../eval.c:156 #, c-format msgid "E461: Illegal variable name: %s" msgstr "E461: Ongeldige veranderlikenaam: %s" -#: ../eval.c:157 -msgid "E806: using Float as a String" -msgstr "" +#, fuzzy, c-format +#~ msgid "E46: Cannot change read-only variable \"%.*s\"" +#~ msgstr "E46: Kan nie lees-alleen veranderlike stel nie \"%s\"" -#: ../eval.c:1830 -msgid "E687: Less targets than List items" -msgstr "" +#. TODO(ZyX-I): move to eval/executor +#, c-format +#~ msgid "E734: Wrong variable type for %s=" +#~ msgstr "" -#: ../eval.c:1834 -msgid "E688: More targets than List items" -msgstr "" +#~ msgid "E687: Less targets than List items" +#~ msgstr "" -#: ../eval.c:1906 -msgid "Double ; in list of variables" -msgstr "" +#~ msgid "E688: More targets than List items" +#~ msgstr "" + +#~ msgid "Double ; in list of variables" +#~ msgstr "" -#: ../eval.c:2078 #, fuzzy, c-format -msgid "E738: Can't list variables for %s" -msgstr "E138: Kan nie viminfo lêer %s stoor nie!" +#~ msgid "E738: Can't list variables for %s" +#~ msgstr "E138: Kan nie viminfo lêer %s stoor nie!" -#: ../eval.c:2391 -msgid "E689: Can only index a List or Dictionary" -msgstr "" +#, fuzzy, c-format +#~ msgid "E121: Undefined variable: %.*s" +#~ msgstr "E121: Ongedefinieerde veranderlike: %s" -#: ../eval.c:2396 -msgid "E708: [:] must come last" -msgstr "" +#~ msgid "E689: Can only index a List or Dictionary" +#~ msgstr "" -#: ../eval.c:2439 -msgid "E709: [:] requires a List value" -msgstr "" +#~ msgid "E708: [:] must come last" +#~ msgstr "" -#: ../eval.c:2674 -msgid "E710: List value has more items than target" -msgstr "" +#, fuzzy +#~ msgid "E713: Cannot use empty key after ." +#~ msgstr "E214: Kan nie tydelike lêer vind vir skryf nie" -#: ../eval.c:2678 -msgid "E711: List value has not enough items" -msgstr "" +#~ msgid "E709: [:] requires a List value" +#~ msgstr "" + +#~ msgid "E710: List value has more items than target" +#~ msgstr "" + +#~ msgid "E711: List value has not enough items" +#~ msgstr "" -#: ../eval.c:2867 #, fuzzy -msgid "E690: Missing \"in\" after :for" -msgstr "E69: Ontbrekende ] na %s%%[" +#~ msgid "E690: Missing \"in\" after :for" +#~ msgstr "E69: Ontbrekende ] na %s%%[" -#: ../eval.c:3063 #, c-format msgid "E107: Missing parentheses: %s" msgstr "E107: Ontbrekende hakies: %s" -#: ../eval.c:3263 #, c-format msgid "E108: No such variable: \"%s\"" msgstr "E108: Geen veranderlike: \"%s\"" -#: ../eval.c:3333 -msgid "E743: variable nested too deep for (un)lock" -msgstr "" +#. For historical reasons this error is not given for Lists and +#. Dictionaries. E.g. b: dictionary may be locked/unlocked. +#, fuzzy, c-format +#~ msgid "E940: Cannot lock or unlock variable %s" +#~ msgstr "E46: Kan nie lees-alleen veranderlike stel nie \"%s\"" -#: ../eval.c:3630 msgid "E109: Missing ':' after '?'" msgstr "E109: Ontbrekende ':' na '?'" -#: ../eval.c:3893 -msgid "E691: Can only compare List with List" -msgstr "" +#~ msgid "E691: Can only compare List with List" +#~ msgstr "" -#: ../eval.c:3895 #, fuzzy -msgid "E692: Invalid operation for Lists" -msgstr "E449: Ongeldige uitdrukking ontvang" +#~ msgid "E692: Invalid operation for List" +#~ msgstr "E449: Ongeldige uitdrukking ontvang" -#: ../eval.c:3915 -msgid "E735: Can only compare Dictionary with Dictionary" -msgstr "" +#~ msgid "E735: Can only compare Dictionary with Dictionary" +#~ msgstr "" -#: ../eval.c:3917 #, fuzzy -msgid "E736: Invalid operation for Dictionary" -msgstr "E116: Ongeldige parameters vir funksie %s" - -#: ../eval.c:3932 -msgid "E693: Can only compare Funcref with Funcref" -msgstr "" +#~ msgid "E736: Invalid operation for Dictionary" +#~ msgstr "E116: Ongeldige parameters vir funksie %s" -#: ../eval.c:3934 #, fuzzy -msgid "E694: Invalid operation for Funcrefs" -msgstr "E116: Ongeldige parameters vir funksie %s" +#~ msgid "E694: Invalid operation for Funcrefs" +#~ msgstr "E116: Ongeldige parameters vir funksie %s" -#: ../eval.c:4277 #, fuzzy -msgid "E804: Cannot use '%' with Float" -msgstr "E360: Kan nie dop met -f opsie uitvoer nie" +#~ msgid "E804: Cannot use '%' with Float" +#~ msgstr "E360: Kan nie dop met -f opsie uitvoer nie" -#: ../eval.c:4478 msgid "E110: Missing ')'" msgstr "E110: Ontbrekende ')'" -#: ../eval.c:4609 #, fuzzy -msgid "E695: Cannot index a Funcref" -msgstr "E90: Kan nie laaste buffer uitlaai nie" +#~ msgid "E695: Cannot index a Funcref" +#~ msgstr "E90: Kan nie laaste buffer uitlaai nie" + +#, fuzzy +#~ msgid "E909: Cannot index a special variable" +#~ msgstr "E90: Kan nie laaste buffer uitlaai nie" -#: ../eval.c:4839 #, c-format msgid "E112: Option name missing: %s" msgstr "E112: Opsienaam ontbreek: %s" -#: ../eval.c:4855 #, c-format msgid "E113: Unknown option: %s" msgstr "E113: Onbekende opsie: %s" -#: ../eval.c:4904 #, c-format msgid "E114: Missing quote: %s" msgstr "E114: Ontbrekende aanhalingsteken: %s" -#: ../eval.c:5020 #, c-format msgid "E115: Missing quote: %s" msgstr "E115: Ontbrekende aanhalingsteken: %s" -#: ../eval.c:5084 #, fuzzy, c-format -msgid "E696: Missing comma in List: %s" -msgstr "E405: Ontbrekende gelykaanteken: %s" +#~ msgid "E696: Missing comma in List: %s" +#~ msgstr "E405: Ontbrekende gelykaanteken: %s" -#: ../eval.c:5091 #, fuzzy, c-format -msgid "E697: Missing end of List ']': %s" -msgstr "E398: Ontbrekende '=': %s" +#~ msgid "E697: Missing end of List ']': %s" +#~ msgstr "E398: Ontbrekende '=': %s" + +#~ msgid "Not enough memory to set references, garbage collection aborted!" +#~ msgstr "" -#: ../eval.c:6475 #, fuzzy, c-format -msgid "E720: Missing colon in Dictionary: %s" -msgstr "E242: Ontbrekende kleur: %s" +#~ msgid "E720: Missing colon in Dictionary: %s" +#~ msgstr "E242: Ontbrekende kleur: %s" -#: ../eval.c:6499 #, c-format -msgid "E721: Duplicate key in Dictionary: \"%s\"" -msgstr "" +#~ msgid "E721: Duplicate key in Dictionary: \"%s\"" +#~ msgstr "" -#: ../eval.c:6517 #, fuzzy, c-format -msgid "E722: Missing comma in Dictionary: %s" -msgstr "E242: Ontbrekende kleur: %s" +#~ msgid "E722: Missing comma in Dictionary: %s" +#~ msgstr "E242: Ontbrekende kleur: %s" -#: ../eval.c:6524 #, fuzzy, c-format -msgid "E723: Missing end of Dictionary '}': %s" -msgstr "E126: Ontbrekende ':endfunction'" +#~ msgid "E723: Missing end of Dictionary '}': %s" +#~ msgstr "E126: Ontbrekende ':endfunction'" -#: ../eval.c:6555 -#, fuzzy -msgid "E724: variable nested too deep for displaying" -msgstr "E22: Skripte te diep ge-nes" +#, c-format +msgid "E125: Illegal argument: %s" +msgstr "E125: Ongeldige parameter: %s" -#: ../eval.c:7188 #, fuzzy, c-format -msgid "E740: Too many arguments for function %s" -msgstr "E118: Te veel parameters vir funksie: %s" +#~ msgid "E853: Duplicate argument name: %s" +#~ msgstr "E125: Ongeldige parameter: %s" + +#, fuzzy, c-format +#~ msgid "E740: Too many arguments for function %s" +#~ msgstr "E118: Te veel parameters vir funksie: %s" -#: ../eval.c:7190 #, c-format msgid "E116: Invalid arguments for function %s" msgstr "E116: Ongeldige parameters vir funksie %s" -#: ../eval.c:7377 #, c-format msgid "E117: Unknown function: %s" msgstr "E117: Onbekende funksie: %s" -#: ../eval.c:7383 +#, fuzzy, c-format +#~ msgid "E933: Function was deleted: %s" +#~ msgstr "E129: Funksienaam vereis" + #, c-format msgid "E119: Not enough arguments for function: %s" msgstr "E119: Te min parameters vir funksie: %s" -#: ../eval.c:7387 #, c-format msgid "E120: Using <SID> not in a script context: %s" msgstr "E120: <SID> word buite skripkonteks gebruik: %s" -#: ../eval.c:7391 #, c-format -msgid "E725: Calling dict function without Dictionary: %s" -msgstr "" +#~ msgid "E725: Calling dict function without Dictionary: %s" +#~ msgstr "" + +#, c-format +#~ msgid "Error converting the call result: %s" +#~ msgstr "" -#: ../eval.c:7453 #, fuzzy -msgid "E808: Number or Float required" -msgstr "E521: Nommer vereis na =" +#~ msgid "E699: Too many arguments" +#~ msgstr "Te veel redigeer-parameters" -#: ../eval.c:7503 #, fuzzy -msgid "add() argument" -msgstr "Ongeldige parameter vir" +#~ msgid "E785: complete() can only be used in Insert mode" +#~ msgstr "E328: Kieslys bestaan slegs in 'n ander modus" + +msgid "&Ok" +msgstr "&Ok" -#: ../eval.c:7907 #, fuzzy -msgid "E699: Too many arguments" -msgstr "Te veel redigeer-parameters" +#~ msgid "dictwatcheradd() argument" +#~ msgstr "Ongeldige parameter vir" + +#~ msgid "extend() argument" +#~ msgstr "" -#: ../eval.c:8073 #, fuzzy -msgid "E785: complete() can only be used in Insert mode" -msgstr "E328: Kieslys bestaan slegs in 'n ander modus" +#~ msgid "map() argument" +#~ msgstr " vim [parameters] " -#: ../eval.c:8156 -msgid "&Ok" -msgstr "&Ok" +#~ msgid "filter() argument" +#~ msgstr "" -#: ../eval.c:8676 #, fuzzy, c-format -msgid "E737: Key already exists: %s" -msgstr "E227: binding bestaan alreeds vir %s" +#~ msgid "+-%s%3ld line: " +#~ msgid_plural "+-%s%3ld lines: " +#~ msgstr[0] "+-%s%3ld reëls: " +#~ msgstr[1] "+-%s%3ld reëls: " -#: ../eval.c:8692 -msgid "extend() argument" -msgstr "" +#, fuzzy, c-format +#~ msgid "E700: Unknown function: %s" +#~ msgstr "E117: Onbekende funksie: %s" + +#~ msgid "E922: expected a dict" +#~ msgstr "" -#: ../eval.c:8915 #, fuzzy -msgid "map() argument" -msgstr " vim [parameters] " +#~ msgid "E923: Second argument of function() must be a list or a dict" +#~ msgstr "E487: Parameter moet positief wees" -#: ../eval.c:8916 -msgid "filter() argument" -msgstr "" +#, fuzzy +#~ msgid "E5000: Cannot find tab number." +#~ msgstr "E90: Kan nie laaste buffer uitlaai nie" -#: ../eval.c:9229 -#, c-format -msgid "+-%s%3ld lines: " -msgstr "+-%s%3ld reëls: " +#~ msgid "E5001: Higher scope cannot be -1 if lower scope is >= 0." +#~ msgstr "" -#: ../eval.c:9291 -#, fuzzy, c-format -msgid "E700: Unknown function: %s" -msgstr "E117: Onbekende funksie: %s" +#, fuzzy +#~ msgid "E5002: Cannot find window number." +#~ msgstr "E671: Kan nie venster titel vind nie \"%s\"" + +#~ msgid "E5050: {opts} must be the only argument" +#~ msgstr "" -#: ../eval.c:10729 msgid "called inputrestore() more often than inputsave()" msgstr "inputrestore() is meer gereeld as inputsave() geroep" -#: ../eval.c:10771 #, fuzzy -msgid "insert() argument" -msgstr "Te veel redigeer-parameters" +#~ msgid "insert() argument" +#~ msgstr "Te veel redigeer-parameters" -#: ../eval.c:10841 #, fuzzy -msgid "E786: Range not allowed" -msgstr "E481: Geen omvang toegelaat nie" +#~ msgid "E786: Range not allowed" +#~ msgstr "E481: Geen omvang toegelaat nie" + +#~ msgid "Invalid stream on rpc job, use jobclose(id, 'rpc')" +#~ msgstr "" + +#~ msgid "Invalid job stream: Not an rpc job" +#~ msgstr "" + +#, c-format +#~ msgid "Invalid job stream \"%s\"" +#~ msgstr "" + +#~ msgid "Can't send data to the job: stdin is closed" +#~ msgstr "" + +#~ msgid "Can't send raw data to rpc channel" +#~ msgstr "" + +#~ msgid "E474: Failed to convert list to string" +#~ msgstr "" + +#, fuzzy, c-format +#~ msgid "E474: Failed to parse %.*s" +#~ msgstr "E241: Kan nie na %s stuur nie" -#: ../eval.c:11140 #, fuzzy -msgid "E701: Invalid type for len()" -msgstr "E596: Ongeldige font(e)" +#~ msgid "E701: Invalid type for len()" +#~ msgstr "E596: Ongeldige font(e)" -#: ../eval.c:11980 -msgid "E726: Stride is zero" -msgstr "" +#, c-format +#~ msgid "E798: ID is reserved for \":match\": %<PRId64>" +#~ msgstr "" -#: ../eval.c:11982 -msgid "E727: Start past end" -msgstr "" +#, c-format +#~ msgid "E798: ID is reserved for \"match\": %<PRId64>" +#~ msgstr "" -#: ../eval.c:12024 ../eval.c:15297 -msgid "<empty>" -msgstr "" +#, fuzzy, c-format +#~ msgid "msgpackdump() argument, index %i" +#~ msgstr " vim [parameters] " -#: ../eval.c:12282 -msgid "remove() argument" -msgstr "" +#~ msgid "E5070: Character number must not be less than zero" +#~ msgstr "" + +#, c-format +#~ msgid "E5071: Character number must not be greater than INT_MAX (%i)" +#~ msgstr "" + +#~ msgid "E726: Stride is zero" +#~ msgstr "" + +#~ msgid "E727: Start past end" +#~ msgstr "" + +#~ msgid "<empty>" +#~ msgstr "" + +#~ msgid "remove() argument" +#~ msgstr "" -#: ../eval.c:12466 msgid "E655: Too many symbolic links (cycle?)" msgstr "E655: Te veel simboliese skakels (siklus?)" -#: ../eval.c:12593 -msgid "reverse() argument" -msgstr "" +#~ msgid "reverse() argument" +#~ msgstr "" -#: ../eval.c:13721 -msgid "sort() argument" -msgstr "" +#, fuzzy, c-format +#~ msgid "E927: Invalid action: '%s'" +#~ msgstr "E383: Ongeldige soekstring: %s" + +#, fuzzy, c-format +#~ msgid "connection failed: %s" +#~ msgstr "XSMP 'SmcOpenConnection' het gefaal: %s" + +#~ msgid "sort() argument" +#~ msgstr "" -#: ../eval.c:13721 #, fuzzy -msgid "uniq() argument" -msgstr "Ongeldige parameter vir" +#~ msgid "uniq() argument" +#~ msgstr "Ongeldige parameter vir" -#: ../eval.c:13776 #, fuzzy -msgid "E702: Sort compare function failed" -msgstr "E237: Drukker-seleksie het gefaal" +#~ msgid "E702: Sort compare function failed" +#~ msgstr "E237: Drukker-seleksie het gefaal" -#: ../eval.c:13806 -msgid "E882: Uniq compare function failed" -msgstr "" +#~ msgid "E882: Uniq compare function failed" +#~ msgstr "" -#: ../eval.c:14085 msgid "(Invalid)" msgstr "(Ongeldig)" -#: ../eval.c:14590 -#, fuzzy -msgid "E677: Error writing temp file" -msgstr "E208: Kan nie skryf na \"%s\"" - -#: ../eval.c:16159 -msgid "E805: Using a Float as a Number" -msgstr "" +#, fuzzy, c-format +#~ msgid "E935: invalid submatch number: %d" +#~ msgstr "E354: Ongeldige registernaam: '%s'" -#: ../eval.c:16162 -msgid "E703: Using a Funcref as a Number" -msgstr "" +#~ msgid "Can only call this function in an unmodified buffer" +#~ msgstr "" -#: ../eval.c:16170 -msgid "E745: Using a List as a Number" -msgstr "" +#, fuzzy +#~ msgid "E921: Invalid callback argument" +#~ msgstr "E474: Ongeldige parameter" -#: ../eval.c:16173 -msgid "E728: Using a Dictionary as a Number" -msgstr "" +#, fuzzy, c-format +#~ msgid "E80: Error while writing: %s" +#~ msgstr "E80: Fout tydens skryfoperasie" -#: ../eval.c:16259 -msgid "E729: using Funcref as a String" -msgstr "" +#. Using %s, p and not %c, *p to preserve multibyte characters +#, fuzzy, c-format +#~ msgid "E5060: Unknown flag: %s" +#~ msgstr "E235: Onbekende font: %s" -#: ../eval.c:16262 #, fuzzy -msgid "E730: using List as a String" -msgstr "E374: Ontbrekende ] in formaatstring" +#~ msgid "E482: Can't open file with an empty name" +#~ msgstr "E212: Kan lêer nie oopmaak vir skryf nie" -#: ../eval.c:16265 -msgid "E731: using Dictionary as a String" -msgstr "" +#, fuzzy, c-format +#~ msgid "E482: Can't open file %s for writing: %s" +#~ msgstr "E212: Kan lêer nie oopmaak vir skryf nie" -#: ../eval.c:16619 #, fuzzy, c-format -msgid "E706: Variable type mismatch for: %s" -msgstr "E93: Meer as een treffer vir %s" +#~ msgid "E80: Error when closing file %s: %s" +#~ msgstr "E209: Kan \"%s\" nie sluit nie" -#: ../eval.c:16705 #, fuzzy, c-format -msgid "E795: Cannot delete variable %s" -msgstr "E46: Kan nie lees-alleen veranderlike stel nie \"%s\"" +#~ msgid "E794: Cannot set variable in the sandbox: \"%.*s\"" +#~ msgstr "E46: Kan nie lees-alleen veranderlike stel nie \"%s\"" -#: ../eval.c:16724 #, fuzzy, c-format -msgid "E704: Funcref variable name must start with a capital: %s" -msgstr "E128: Funksienaam moet met 'n hoofletter begin: %s" +#~ msgid "E795: Cannot delete variable %.*s" +#~ msgstr "E46: Kan nie lees-alleen veranderlike stel nie \"%s\"" -#: ../eval.c:16732 -#, c-format -msgid "E705: Variable name conflicts with existing function: %s" -msgstr "" +#, fuzzy, c-format +#~ msgid "E704: Funcref variable name must start with a capital: %s" +#~ msgstr "E128: Funksienaam moet met 'n hoofletter begin: %s" -#: ../eval.c:16763 #, c-format -msgid "E741: Value is locked: %s" -msgstr "" - -#: ../eval.c:16764 ../eval.c:16769 ../message.c:1839 -msgid "Unknown" -msgstr "Onbekend" - -#: ../eval.c:16768 -#, fuzzy, c-format -msgid "E742: Cannot change value of %s" -msgstr "E284: Kan nie IC waardes stel nie" +#~ msgid "E705: Variable name conflicts with existing function: %s" +#~ msgstr "" -#: ../eval.c:16838 -msgid "E698: variable nested too deep for making a copy" -msgstr "" +#~ msgid "E698: variable nested too deep for making a copy" +#~ msgstr "" -#: ../eval.c:17249 #, c-format msgid "E123: Undefined function: %s" msgstr "E123: Ongedefinieerde funksie: %s" -#: ../eval.c:17260 #, c-format msgid "E124: Missing '(': %s" msgstr "E124: Ontbrekende '(': %s" -#: ../eval.c:17293 #, fuzzy -msgid "E862: Cannot use g: here" -msgstr "E284: Kan nie IC waardes stel nie" +#~ msgid "E862: Cannot use g: here" +#~ msgstr "E284: Kan nie IC waardes stel nie" -#: ../eval.c:17312 #, c-format -msgid "E125: Illegal argument: %s" -msgstr "E125: Ongeldige parameter: %s" - -#: ../eval.c:17323 -#, fuzzy, c-format -msgid "E853: Duplicate argument name: %s" -msgstr "E125: Ongeldige parameter: %s" +#~ msgid "E932: Closure function should not be at top level: %s" +#~ msgstr "" -#: ../eval.c:17416 msgid "E126: Missing :endfunction" msgstr "E126: Ontbrekende ':endfunction'" -#: ../eval.c:17537 #, fuzzy, c-format -msgid "E707: Function name conflicts with variable: %s" -msgstr "E128: Funksienaam moet met 'n hoofletter begin: %s" +#~ msgid "E707: Function name conflicts with variable: %s" +#~ msgstr "E128: Funksienaam moet met 'n hoofletter begin: %s" -#: ../eval.c:17549 #, c-format msgid "E127: Cannot redefine function %s: It is in use" msgstr "E127: Kan funksie %s nie herdefinieer nie: Dit is in gebruik" -#: ../eval.c:17604 #, fuzzy, c-format -msgid "E746: Function name does not match script file name: %s" -msgstr "E128: Funksienaam moet met 'n hoofletter begin: %s" +#~ msgid "E746: Function name does not match script file name: %s" +#~ msgstr "E128: Funksienaam moet met 'n hoofletter begin: %s" -#: ../eval.c:17716 msgid "E129: Function name required" msgstr "E129: Funksienaam vereis" -#: ../eval.c:17824 #, fuzzy, c-format -msgid "E128: Function name must start with a capital or \"s:\": %s" -msgstr "E128: Funksienaam moet met 'n hoofletter begin: %s" +#~ msgid "E128: Function name must start with a capital or \"s:\": %s" +#~ msgstr "E128: Funksienaam moet met 'n hoofletter begin: %s" -#: ../eval.c:17833 #, fuzzy, c-format -msgid "E884: Function name cannot contain a colon: %s" -msgstr "E128: Funksienaam moet met 'n hoofletter begin: %s" +#~ msgid "E884: Function name cannot contain a colon: %s" +#~ msgstr "E128: Funksienaam moet met 'n hoofletter begin: %s" -#: ../eval.c:18336 #, c-format msgid "E131: Cannot delete function %s: It is in use" msgstr "E131: Kan funksie %s nie verwyder nie: Dit is in gebruik" -#: ../eval.c:18441 +#, fuzzy, c-format +#~ msgid "Cannot delete function %s: It is being used internally" +#~ msgstr "E131: Kan funksie %s nie verwyder nie: Dit is in gebruik" + msgid "E132: Function call depth is higher than 'maxfuncdepth'" msgstr "E132: Funksieroepdiepte is groter as 'maxfuncdepth'" -#: ../eval.c:18568 #, c-format msgid "calling %s" msgstr "roep %s" -#: ../eval.c:18651 #, c-format msgid "%s aborted" msgstr "%s gekanselleer" -#: ../eval.c:18653 #, c-format msgid "%s returning #%<PRId64>" msgstr "%s lewer #%<PRId64> op" -#: ../eval.c:18670 #, fuzzy, c-format -msgid "%s returning %s" -msgstr "%s lewer \"%s\" op" +#~ msgid "%s returning %s" +#~ msgstr "%s lewer \"%s\" op" -#: ../eval.c:18691 ../ex_cmds2.c:2695 #, c-format msgid "continuing in %s" msgstr "vervolg in %s" -#: ../eval.c:18795 msgid "E133: :return not inside a function" msgstr "E133: ':return' buite funksie" -#: ../eval.c:19159 -msgid "" -"\n" -"# global variables:\n" -msgstr "" -"\n" -"# globale veranderlikes:\n" - -#: ../eval.c:19254 msgid "" "\n" "\tLast set from " @@ -1071,154 +910,418 @@ msgstr "" "\n" "\tLaas gestel vanaf " -#: ../eval.c:19272 -#, fuzzy -msgid "No old files" -msgstr "Geen ingeslote lêers nie" +#~ msgid "E5009: $VIMRUNTIME is empty or unset" +#~ msgstr "" -#: ../ex_cmds.c:122 #, c-format -msgid "<%s>%s%s %d, Hex %02x, Octal %03o" -msgstr "<%s>%s%s %d, Hex %02x, Oktaal %03o" +#~ msgid "E5009: Invalid $VIMRUNTIME: %s" +#~ msgstr "" -#: ../ex_cmds.c:145 #, c-format -msgid "> %d, Hex %04x, Octal %o" -msgstr "> %d, Hex %04x, Oktaal %o" +#~ msgid "E474: Expected comma before list item: %s" +#~ msgstr "" -#: ../ex_cmds.c:146 #, c-format -msgid "> %d, Hex %08x, Octal %o" -msgstr "> %d, Hex %08x, Oktaal %o" +#~ msgid "E474: Expected colon before dictionary value: %s" +#~ msgstr "" -#: ../ex_cmds.c:684 -msgid "E134: Move lines into themselves" -msgstr "E134: Skuif reëls in hulself in" +#, fuzzy, c-format +#~ msgid "E474: Expected string key: %s" +#~ msgstr "E415: onverwagte gelykaanteken: %s" -#: ../ex_cmds.c:747 -msgid "1 line moved" -msgstr "1 reël geskuif" +#, fuzzy, c-format +#~ msgid "E474: Expected comma before dictionary key: %s" +#~ msgstr "E242: Ontbrekende kleur: %s" + +#, fuzzy, c-format +#~ msgid "E474: Unfinished escape sequence: %.*s" +#~ msgstr "E540: Onvoltooide uitdrukkingreeks" -#: ../ex_cmds.c:749 #, c-format -msgid "%<PRId64> lines moved" -msgstr "%<PRId64> reëls geskuif" +#~ msgid "E474: Unfinished unicode escape sequence: %.*s" +#~ msgstr "" -#: ../ex_cmds.c:1175 #, c-format -msgid "%<PRId64> lines filtered" -msgstr "%<PRId64> reëls filtreer" +#~ msgid "E474: Expected four hex digits after \\u: %.*s" +#~ msgstr "" -#: ../ex_cmds.c:1194 -msgid "E135: *Filter* Autocommands must not change current buffer" -msgstr "E135: *Filter* Outobevele mag nie die huidige buffer verander nie" +#, fuzzy, c-format +#~ msgid "E474: Unknown escape sequence: %.*s" +#~ msgstr "E409: Onbekende groepnaam: %s" -#: ../ex_cmds.c:1244 -msgid "[No write since last change]\n" -msgstr "[Ongestoor sedert vorige verandering]\n" +#, c-format +#~ msgid "E474: ASCII control characters cannot be present inside string: %.*s" +#~ msgstr "" -#: ../ex_cmds.c:1424 #, c-format -msgid "%sviminfo: %s in line: " -msgstr "%sviminfo: %s in reël: " +#~ msgid "E474: Only UTF-8 strings allowed: %.*s" +#~ msgstr "" -#: ../ex_cmds.c:1431 -msgid "E136: viminfo: Too many errors, skipping rest of file" -msgstr "E136: viminfo: Te veel foute, slaan die res van die lêer oor" +#, c-format +#~ msgid "" +#~ "E474: Only UTF-8 code points up to U+10FFFF are allowed to appear unescaped: " +#~ "%.*s" +#~ msgstr "" + +#, fuzzy, c-format +#~ msgid "E474: Expected string end: %.*s" +#~ msgstr "E415: onverwagte gelykaanteken: %s" + +#, fuzzy, c-format +#~ msgid "E474: Leading zeroes are not allowed: %.*s" +#~ msgstr "E481: Geen omvang toegelaat nie" + +#, fuzzy, c-format +#~ msgid "E474: Missing number after minus sign: %.*s" +#~ msgstr "E526: Ontbrekende nommer na <%s>" + +#, fuzzy, c-format +#~ msgid "E474: Missing number after decimal dot: %.*s" +#~ msgstr "E526: Ontbrekende nommer na <%s>" + +#, fuzzy, c-format +#~ msgid "E474: Missing exponent: %.*s" +#~ msgstr "E114: Ontbrekende aanhalingsteken: %s" -#: ../ex_cmds.c:1458 #, c-format -msgid "Reading viminfo file \"%s\"%s%s%s" -msgstr "Besig om viminfo lêer \"%s\"%s%s%s te lees" +#~ msgid "" +#~ "E685: internal error: while converting number \"%.*s\" to float string2float " +#~ "consumed %zu bytes in place of %zu" +#~ msgstr "" -#: ../ex_cmds.c:1460 -msgid " info" -msgstr " inligting" +#, c-format +#~ msgid "" +#~ "E685: internal error: while converting number \"%.*s\" to integer vim_str2nr " +#~ "consumed %i bytes in place of %zu" +#~ msgstr "" -#: ../ex_cmds.c:1461 -msgid " marks" -msgstr " merkers" +#~ msgid "E474: Attempt to decode a blank string" +#~ msgstr "" + +#, c-format +#~ msgid "E474: No container to close: %.*s" +#~ msgstr "" + +#, c-format +#~ msgid "E474: Closing list with curly bracket: %.*s" +#~ msgstr "" + +#, c-format +#~ msgid "E474: Closing dictionary with square bracket: %.*s" +#~ msgstr "" + +#, fuzzy, c-format +#~ msgid "E474: Trailing comma: %.*s" +#~ msgstr "E488: Oorbodige karakters" + +#, c-format +#~ msgid "E474: Expected value after colon: %.*s" +#~ msgstr "" + +#, fuzzy, c-format +#~ msgid "E474: Expected value: %.*s" +#~ msgstr "E415: onverwagte gelykaanteken: %s" + +#, fuzzy, c-format +#~ msgid "E474: Comma not inside container: %.*s" +#~ msgstr "E242: Kleurnaam is onbekend: %s" + +#, fuzzy, c-format +#~ msgid "E474: Duplicate comma: %.*s" +#~ msgstr "E125: Ongeldige parameter: %s" + +#, fuzzy, c-format +#~ msgid "E474: Comma after colon: %.*s" +#~ msgstr "E254: Kan nie kleur %s toeken nie" + +#, fuzzy, c-format +#~ msgid "E474: Using comma in place of colon: %.*s" +#~ msgstr "E242: Ontbrekende kleur: %s" + +#, c-format +#~ msgid "E474: Leading comma: %.*s" +#~ msgstr "" + +#, fuzzy, c-format +#~ msgid "E474: Colon not inside container: %.*s" +#~ msgstr "E242: Kleurnaam is onbekend: %s" + +#, fuzzy, c-format +#~ msgid "E474: Using colon not in dictionary: %.*s" +#~ msgstr "E242: Ontbrekende kleur: %s" + +#, fuzzy, c-format +#~ msgid "E474: Unexpected colon: %.*s" +#~ msgstr "E415: onverwagte gelykaanteken: %s" + +#, c-format +#~ msgid "E474: Colon after comma: %.*s" +#~ msgstr "" + +#, fuzzy, c-format +#~ msgid "E474: Duplicate colon: %.*s" +#~ msgstr "gelaaide fontnaam: %s" + +#, fuzzy, c-format +#~ msgid "E474: Expected null: %.*s" +#~ msgstr "E415: onverwagte gelykaanteken: %s" + +#, fuzzy, c-format +#~ msgid "E474: Expected true: %.*s" +#~ msgstr "E415: onverwagte gelykaanteken: %s" + +#, fuzzy, c-format +#~ msgid "E474: Expected false: %.*s" +#~ msgstr "E415: onverwagte gelykaanteken: %s" + +#, fuzzy, c-format +#~ msgid "E474: Unidentified byte: %.*s" +#~ msgstr "E121: Ongedefinieerde veranderlike: %s" + +#, fuzzy, c-format +#~ msgid "E474: Trailing characters: %.*s" +#~ msgstr "E488: Oorbodige karakters" + +#, fuzzy, c-format +#~ msgid "E474: Unexpected end of input: %.*s" +#~ msgstr "E415: onverwagte gelykaanteken: %s" + +#, c-format +#~ msgid "key %s" +#~ msgstr "" + +#, c-format +#~ msgid "key %s at index %i from special map" +#~ msgstr "" + +#, c-format +#~ msgid "index %i" +#~ msgstr "" + +#~ msgid "partial" +#~ msgstr "" + +#, fuzzy, c-format +#~ msgid "argument %i" +#~ msgstr " vim [parameters] " + +#~ msgid "partial self dictionary" +#~ msgstr "" + +#~ msgid "itself" +#~ msgstr "" + +#. Only give this message once for a recursive call to avoid +#. flooding the user with errors. +#~ msgid "E724: unable to correctly dump variable with self-referencing container" +#~ msgstr "" + +#~ msgid "E474: Unable to represent NaN value in JSON" +#~ msgstr "" + +#~ msgid "E474: Unable to represent infinity in JSON" +#~ msgstr "" + +#, c-format +#~ msgid "" +#~ "E474: String \"%.*s\" contains byte that does not start any UTF-8 character" +#~ msgstr "" + +#, c-format +#~ msgid "" +#~ "E474: UTF-8 string contains code point which belongs to a surrogate pair: " +#~ "%.*s" +#~ msgstr "" -#: ../ex_cmds.c:1462 #, fuzzy -msgid " oldfiles" -msgstr "Geen ingeslote lêers nie" +#~ msgid "E474: Unable to convert EXT string to JSON" +#~ msgstr "E620: Kon nie van wye-greep na \"%s\" enkodering verander nie" -#: ../ex_cmds.c:1463 -msgid " FAILED" -msgstr " GEFAAL" +#, c-format +#~ msgid "E474: Error while dumping %s, %s: attempt to dump function reference" +#~ msgstr "" + +#, fuzzy +#~ msgid "E474: Invalid key in special dictionary" +#~ msgstr "E116: Ongeldige parameters vir funksie %s" + +#, fuzzy +#~ msgid "encode_tv2string() argument" +#~ msgstr "Te veel redigeer-parameters" + +#, fuzzy +#~ msgid ":echo argument" +#~ msgstr " vim [parameters] " + +#, fuzzy +#~ msgid "encode_tv2json() argument" +#~ msgstr "Te veel redigeer-parameters" -#. avoid a wait_return for this message, it's annoying -#: ../ex_cmds.c:1541 #, c-format -msgid "E137: Viminfo file is not writable: %s" -msgstr "E137: Viminfo lêer is nie skryfbaar nie: %s" +#~ msgid "E5004: Error while dumping %s, %s: attempt to dump function reference" +#~ msgstr "" -#: ../ex_cmds.c:1626 #, c-format -msgid "E138: Can't write viminfo file %s!" -msgstr "E138: Kan nie viminfo lêer %s stoor nie!" +#~ msgid "E5005: Unable to dump %s: container references itself in %s" +#~ msgstr "" + +#, fuzzy, c-format +#~ msgid "E684: list index out of range: %<PRId64>" +#~ msgstr "E322: reëlnommer buite perke: %<PRId64> verby die einde" + +#~ msgid "E6000: Argument is not a function or function name" +#~ msgstr "" + +#, fuzzy, c-format +#~ msgid "E737: Key already exists: %s" +#~ msgstr "E227: binding bestaan alreeds vir %s" + +#~ msgid "E743: variable nested too deep for (un)lock" +#~ msgstr "" -#: ../ex_cmds.c:1635 #, c-format -msgid "Writing viminfo file \"%s\"" -msgstr "Besig om viminfo lêer \"%s\" te stoor" +#~ msgid "E741: Value is locked: %.*s" +#~ msgstr "" + +#, fuzzy, c-format +#~ msgid "E742: Cannot change value of %.*s" +#~ msgstr "E284: Kan nie IC waardes stel nie" + +msgid "Unknown" +msgstr "Onbekend" + +#~ msgid "E805: Expected a Number or a String, Float found" +#~ msgstr "" + +#~ msgid "E703: Expected a Number or a String, Funcref found" +#~ msgstr "" + +#~ msgid "E745: Expected a Number or a String, List found" +#~ msgstr "" + +#~ msgid "E728: Expected a Number or a String, Dictionary found" +#~ msgstr "" + +#, fuzzy +#~ msgid "E5300: Expected a Number or a String" +#~ msgstr "E373: Onverwagte %%%c in formaatstring" + +#~ msgid "E745: Using a List as a Number" +#~ msgstr "" + +#~ msgid "E728: Using a Dictionary as a Number" +#~ msgstr "" + +#~ msgid "E805: Using a Float as a Number" +#~ msgstr "" + +#, fuzzy +#~ msgid "E685: using an invalid value as a Number" +#~ msgstr "E19: Merker het ongeldige reëlnommer" + +#, fuzzy +#~ msgid "E730: using List as a String" +#~ msgstr "E374: Ontbrekende ] in formaatstring" + +#~ msgid "E731: using Dictionary as a String" +#~ msgstr "" + +#, fuzzy +#~ msgid "E908: using an invalid value as a String" +#~ msgstr "E374: Ontbrekende ] in formaatstring" + +#~ msgid "E891: Using a Funcref as a Float" +#~ msgstr "" + +#~ msgid "E892: Using a String as a Float" +#~ msgstr "" + +#, fuzzy +#~ msgid "E893: Using a List as a Float" +#~ msgstr "E374: Ontbrekende ] in formaatstring" + +#, fuzzy +#~ msgid "E894: Using a Dictionary as a Float" +#~ msgstr "E242: Ontbrekende kleur: %s" + +#~ msgid "E907: Using a special value as a Float" +#~ msgstr "" + +#, fuzzy +#~ msgid "E808: Number or Float required" +#~ msgstr "E521: Nommer vereis na =" + +#~ msgid "tcp address must be host:port" +#~ msgstr "" + +#~ msgid "failed to lookup host or port" +#~ msgstr "" + +#, fuzzy +#~ msgid "connection refused" +#~ msgstr "'cscope' verbinding gesluit" -#. Write the info: -#: ../ex_cmds.c:1720 #, c-format -msgid "# This viminfo file was generated by Vim %s.\n" -msgstr "# Hierdie viminfo lêer is gegenereer deur Vim %s.\n" +msgid "<%s>%s%s %d, Hex %02x, Octal %03o" +msgstr "<%s>%s%s %d, Hex %02x, Oktaal %03o" -#: ../ex_cmds.c:1722 -msgid "" -"# You may edit it if you're careful!\n" -"\n" -msgstr "" -"# Jy mag dit wysig as jy versigtig is!\n" -"\n" +#, c-format +msgid "> %d, Hex %04x, Octal %o" +msgstr "> %d, Hex %04x, Oktaal %o" + +#, c-format +msgid "> %d, Hex %08x, Octal %o" +msgstr "> %d, Hex %08x, Oktaal %o" -#: ../ex_cmds.c:1723 -msgid "# Value of 'encoding' when this file was written\n" -msgstr "# Waarde van 'encoding' toe hierdie lêer gestoor is\n" +msgid "E134: Move lines into themselves" +msgstr "E134: Skuif reëls in hulself in" -#: ../ex_cmds.c:1800 -msgid "Illegal starting char" -msgstr "Ongeldige beginkarakter" +msgid "1 line moved" +msgstr "1 reël geskuif" + +#, c-format +msgid "%<PRId64> lines moved" +msgstr "%<PRId64> reëls geskuif" + +#, c-format +msgid "E482: Can't create file %s" +msgstr "E482: Kan nie lêer %s skep nie" + +#, c-format +msgid "%<PRId64> lines filtered" +msgstr "%<PRId64> reëls filtreer" + +msgid "E135: *Filter* Autocommands must not change current buffer" +msgstr "E135: *Filter* Outobevele mag nie die huidige buffer verander nie" + +msgid "[No write since last change]\n" +msgstr "[Ongestoor sedert vorige verandering]\n" -#: ../ex_cmds.c:2162 msgid "Write partial file?" msgstr "Skryf gedeeltelike lêer?" -#: ../ex_cmds.c:2166 msgid "E140: Use ! to write partial buffer" msgstr "E140: Gebruik ! om gedeeltelike buffer te skryf" -#: ../ex_cmds.c:2281 #, fuzzy, c-format -msgid "Overwrite existing file \"%s\"?" -msgstr "Oorskryf bestaande lêer \"%.*s\"?" +#~ msgid "Overwrite existing file \"%s\"?" +#~ msgstr "Oorskryf bestaande lêer \"%.*s\"?" -#: ../ex_cmds.c:2317 #, c-format -msgid "Swap file \"%s\" exists, overwrite anyway?" -msgstr "" +#~ msgid "Swap file \"%s\" exists, overwrite anyway?" +#~ msgstr "" -#: ../ex_cmds.c:2326 #, fuzzy, c-format -msgid "E768: Swap file exists: %s (:silent! overrides)" -msgstr "E13: Lêer bestaan (gebruik ! om te dwing)" +#~ msgid "E768: Swap file exists: %s (:silent! overrides)" +#~ msgstr "E13: Lêer bestaan (gebruik ! om te dwing)" -#: ../ex_cmds.c:2381 #, c-format msgid "E141: No file name for buffer %<PRId64>" msgstr "E141: Geen lêernaam vir buffer %<PRId64> nie" -#: ../ex_cmds.c:2412 msgid "E142: File not written: Writing is disabled by 'write' option" msgstr "E142: Lêer nie gestoor nie: Stoor is afgeskakel deur die 'write' opsie" -#: ../ex_cmds.c:2434 #, fuzzy, c-format msgid "" "'readonly' option is set for \"%s\".\n" @@ -1227,823 +1330,667 @@ msgstr "" "'readonly' opsie is aan vir \"%.*s\".\n" "Wil jy dit forseer?" -#: ../ex_cmds.c:2439 #, c-format -msgid "" -"File permissions of \"%s\" are read-only.\n" -"It may still be possible to write it.\n" -"Do you wish to try?" -msgstr "" +#~ msgid "" +#~ "File permissions of \"%s\" are read-only.\n" +#~ "It may still be possible to write it.\n" +#~ "Do you wish to try?" +#~ msgstr "" -#: ../ex_cmds.c:2451 #, fuzzy, c-format -msgid "E505: \"%s\" is read-only (add ! to override)" -msgstr "is lees-alleen (gebruik ! om te dwing)" +#~ msgid "E505: \"%s\" is read-only (add ! to override)" +#~ msgstr "is lees-alleen (gebruik ! om te dwing)" -#: ../ex_cmds.c:3120 #, c-format msgid "E143: Autocommands unexpectedly deleted new buffer %s" msgstr "E143: Outobevele het nuwe buffer %s onverwags geskrap" -#: ../ex_cmds.c:3313 msgid "E144: non-numeric argument to :z" msgstr "E144: nie-numeriese parameter vir :z" -#: ../ex_cmds.c:3404 -msgid "E145: Shell commands not allowed in rvim" -msgstr "E145: Dop bevele nie toegelaat in rvim" +#, fuzzy +#~ msgid "E145: Shell commands not allowed in restricted mode" +#~ msgstr "E145: Dop bevele nie toegelaat in rvim" -#: ../ex_cmds.c:3498 msgid "E146: Regular expressions can't be delimited by letters" msgstr "E146: Patrone kan nie deur letters afgebaken word nie" -#: ../ex_cmds.c:3964 #, c-format msgid "replace with %s (y/n/a/q/l/^E/^Y)?" msgstr "vervang met %s (y/n/a/q/l/^E/^Y)?" -#: ../ex_cmds.c:4379 msgid "(Interrupted) " msgstr "(Onderbreek) " -#: ../ex_cmds.c:4384 #, fuzzy -msgid "1 match" -msgstr "; treffer " +#~ msgid "1 match" +#~ msgstr "; treffer " -#: ../ex_cmds.c:4384 msgid "1 substitution" msgstr "1 vervanging" -#: ../ex_cmds.c:4387 #, fuzzy, c-format -msgid "%<PRId64> matches" -msgstr "%<PRId64> veranderinge" +#~ msgid "%<PRId64> matches" +#~ msgstr "%<PRId64> veranderinge" -#: ../ex_cmds.c:4388 #, c-format msgid "%<PRId64> substitutions" msgstr "%<PRId64> vervangings" -#: ../ex_cmds.c:4392 msgid " on 1 line" msgstr " op 1 reël" -#: ../ex_cmds.c:4395 #, c-format msgid " on %<PRId64> lines" msgstr " op %<PRId64> reëls" -#: ../ex_cmds.c:4438 msgid "E147: Cannot do :global recursive" msgstr "E147: Kan nie :global rekursief doen nie " -#: ../ex_cmds.c:4467 msgid "E148: Regular expression missing from global" msgstr "E148: Patroon ontbreek uit globaal" -#: ../ex_cmds.c:4508 #, c-format msgid "Pattern found in every line: %s" msgstr "Patroon gevind in elke reël: %s" -#: ../ex_cmds.c:4510 #, fuzzy, c-format -msgid "Pattern not found: %s" -msgstr "Patroon nie gevind nie" +#~ msgid "Pattern not found: %s" +#~ msgstr "Patroon nie gevind nie" -#: ../ex_cmds.c:4587 -msgid "" -"\n" -"# Last Substitute String:\n" -"$" -msgstr "" -"\n" -"# Vorige Vervangstring:\n" -"$" - -#: ../ex_cmds.c:4679 msgid "E478: Don't panic!" msgstr "E478: Bly kalm!" -#: ../ex_cmds.c:4717 #, c-format msgid "E661: Sorry, no '%s' help for %s" msgstr "E661: Jammer, geen '%s' hulp vir %s nie" -#: ../ex_cmds.c:4719 #, c-format msgid "E149: Sorry, no help for %s" msgstr "E149: Jammer, geen hulp vir %s nie" -#: ../ex_cmds.c:4751 #, c-format msgid "Sorry, help file \"%s\" not found" msgstr "Jammer, hulplêer \"%s\" kan nie gevind word nie" -#: ../ex_cmds.c:5323 -#, c-format -msgid "E150: Not a directory: %s" -msgstr "E150: Nie 'n gids nie: %s" +#, fuzzy, c-format +#~ msgid "E151: No match: %s" +#~ msgstr "E480: Geen treffer: %s" -#: ../ex_cmds.c:5446 #, c-format msgid "E152: Cannot open %s for writing" msgstr "E152: Kan nie %s oopmaak om te skryf nie" -#: ../ex_cmds.c:5471 #, c-format msgid "E153: Unable to open %s for reading" msgstr "E153: Kan nie %s oop maak om te lees nie" -#: ../ex_cmds.c:5500 #, c-format msgid "E670: Mix of help file encodings within a language: %s" msgstr "E670: 'n Mengsel van hulplêer enkoderings in 'n taal: %s" -#: ../ex_cmds.c:5565 #, c-format msgid "E154: Duplicate tag \"%s\" in file %s/%s" msgstr "E154: Duplikaat etiket \"%s\" in lêer %s/%s" -#: ../ex_cmds.c:5687 +#, c-format +msgid "E150: Not a directory: %s" +msgstr "E150: Nie 'n gids nie: %s" + #, c-format msgid "E160: Unknown sign command: %s" msgstr "E160: Onbekende funksie: %s" -#: ../ex_cmds.c:5704 msgid "E156: Missing sign name" msgstr "E156: Ontbrekende tekennaam" -#: ../ex_cmds.c:5746 msgid "E612: Too many signs defined" msgstr "E612: Te veel tekens gedefinieer" -#: ../ex_cmds.c:5813 #, c-format msgid "E239: Invalid sign text: %s" msgstr "E239: Ongeldige tekenteks: %s" -#: ../ex_cmds.c:5844 ../ex_cmds.c:6035 #, c-format msgid "E155: Unknown sign: %s" msgstr "E155: Onbekende opsie: %s" -#: ../ex_cmds.c:5877 msgid "E159: Missing sign number" msgstr "E159: Ontbrekende tekennommer" -#: ../ex_cmds.c:5971 #, c-format msgid "E158: Invalid buffer name: %s" msgstr "E158: Ongeldige buffernaam: %s" -#: ../ex_cmds.c:6008 +#~ msgid "E934: Cannot jump to a buffer that does not have a name" +#~ msgstr "" + #, c-format msgid "E157: Invalid sign ID: %<PRId64>" msgstr "E157: Ongeldige teken ID: %<PRId64>" -#: ../ex_cmds.c:6066 +#, c-format +#~ msgid "E885: Not possible to change sign %s" +#~ msgstr "" + msgid " (not supported)" msgstr " (word nie ondersteun nie)" -#: ../ex_cmds.c:6169 msgid "[Deleted]" msgstr "[Geskrap]" -#: ../ex_cmds2.c:139 +#, fuzzy +#~ msgid "No old files" +#~ msgstr "Geen ingeslote lêers nie" + msgid "Entering Debug mode. Type \"cont\" to continue." msgstr "Ontfoutmodus begin nou. Tik \"cont\" om te verlaat." -#: ../ex_cmds2.c:143 ../ex_docmd.c:759 #, c-format msgid "line %<PRId64>: %s" msgstr "reël %<PRId64>: %s" -#: ../ex_cmds2.c:145 #, c-format msgid "cmd: %s" msgstr "cmd: %s" -#: ../ex_cmds2.c:322 +#~ msgid "frame is zero" +#~ msgstr "" + +#, c-format +#~ msgid "frame at highest level: %d" +#~ msgstr "" + #, c-format msgid "Breakpoint in \"%s%s\" line %<PRId64>" msgstr "Inspeksiepunt in \"%s%s\" reël %<PRId64>" -#: ../ex_cmds2.c:581 #, c-format msgid "E161: Breakpoint not found: %s" msgstr "E161: Inspeksiepunt kon nie gevind word nie: %s" -#: ../ex_cmds2.c:611 msgid "No breakpoints defined" msgstr "Geen inspeksiepunte gedefinieer nie" -#: ../ex_cmds2.c:617 #, c-format msgid "%3d %s %s line %<PRId64>" msgstr "%3d %s %s reël %<PRId64>" -#: ../ex_cmds2.c:942 -msgid "E750: First use \":profile start {fname}\"" -msgstr "" +#~ msgid "E750: First use \":profile start {fname}\"" +#~ msgstr "" -#: ../ex_cmds2.c:1269 #, fuzzy, c-format -msgid "Save changes to \"%s\"?" -msgstr "Stoor veranderinge na \"%.*s\"?" +#~ msgid "Save changes to \"%s\"?" +#~ msgstr "Stoor veranderinge na \"%.*s\"?" -#: ../ex_cmds2.c:1271 ../ex_docmd.c:8851 msgid "Untitled" msgstr "Ongetiteld" -#: ../ex_cmds2.c:1421 #, c-format msgid "E162: No write since last change for buffer \"%s\"" msgstr "E162: Buffer \"%s\" is nie geskryf sedert vorige wysiging nie" -#: ../ex_cmds2.c:1480 msgid "Warning: Entered other buffer unexpectedly (check autocommands)" msgstr "Waarskuwing: Ander buffer onverwags betree (kyk na outobevele)" -#: ../ex_cmds2.c:1826 msgid "E163: There is only one file to edit" msgstr "E163: Daar is net een lêer om te bewerk" -#: ../ex_cmds2.c:1828 msgid "E164: Cannot go before first file" msgstr "E164: Kan nie vóór die eerste lêer gaan nie" -#: ../ex_cmds2.c:1830 msgid "E165: Cannot go beyond last file" msgstr "E165: Kan nie verby die laaste lêer gaan nie" -#: ../ex_cmds2.c:2175 #, c-format msgid "E666: compiler not supported: %s" msgstr "E666: vertaler word nie ondersteun nie: %s" -#: ../ex_cmds2.c:2257 #, c-format msgid "Searching for \"%s\" in \"%s\"" msgstr "Besig om te soek vir \"%s\" in \"%s\"" -#: ../ex_cmds2.c:2284 #, c-format msgid "Searching for \"%s\"" msgstr "Besig om te soek vir \"%s\"" -#: ../ex_cmds2.c:2307 -#, c-format -msgid "not found in 'runtimepath': \"%s\"" -msgstr "kon nie in 'runtimepath' gevind word nie: \"%s\"" +#, fuzzy, c-format +#~ msgid "not found in '%s': \"%s\"" +#~ msgstr "kon nie in 'runtimepath' gevind word nie: \"%s\"" -#: ../ex_cmds2.c:2472 #, c-format msgid "Cannot source a directory: \"%s\"" msgstr "Kan nie gids uitvoer nie: \"%s\"" -#: ../ex_cmds2.c:2518 #, c-format msgid "could not source \"%s\"" msgstr "kon nie \"%s\" uitvoer nie" -#: ../ex_cmds2.c:2520 #, c-format msgid "line %<PRId64>: could not source \"%s\"" msgstr "reël %<PRId64>: kon nie \"%s\" uitvoer nie" -#: ../ex_cmds2.c:2535 #, c-format msgid "sourcing \"%s\"" msgstr "besig om \"%s\" uit te voer" -#: ../ex_cmds2.c:2537 #, c-format msgid "line %<PRId64>: sourcing \"%s\"" msgstr "reël %<PRId64>: voer nou \"%s\" uit" -#: ../ex_cmds2.c:2693 #, c-format msgid "finished sourcing %s" msgstr "%s klaar uitgevoer" -#: ../ex_cmds2.c:2765 #, fuzzy -msgid "modeline" -msgstr "1 reël meer" +#~ msgid "modeline" +#~ msgstr "1 reël meer" -#: ../ex_cmds2.c:2767 #, fuzzy -msgid "--cmd argument" -msgstr " vim [parameters] " +#~ msgid "--cmd argument" +#~ msgstr " vim [parameters] " -#: ../ex_cmds2.c:2769 #, fuzzy -msgid "-c argument" -msgstr " vim [parameters] " +#~ msgid "-c argument" +#~ msgstr " vim [parameters] " -#: ../ex_cmds2.c:2771 #, fuzzy -msgid "environment variable" -msgstr "Stel die 'LANG' omgewingsveranderlike na jou lokaal toe" +#~ msgid "environment variable" +#~ msgstr "Stel die 'LANG' omgewingsveranderlike na jou lokaal toe" -#: ../ex_cmds2.c:2773 #, fuzzy -msgid "error handler" -msgstr "Fout en onderbreking" +#~ msgid "error handler" +#~ msgstr "Fout en onderbreking" -#: ../ex_cmds2.c:3020 msgid "W15: Warning: Wrong line separator, ^M may be missing" msgstr "W15: Waarskuwing: Verkeerde reëlskeiding, ^M ontbreek dalk" -#: ../ex_cmds2.c:3139 msgid "E167: :scriptencoding used outside of a sourced file" msgstr "E167: ':scriptencoding' buite 'n uitvoerlêer gebruik" -#: ../ex_cmds2.c:3166 msgid "E168: :finish used outside of a sourced file" msgstr "E168: ':finish' buite 'n uitvoerlêer gebruik" -#: ../ex_cmds2.c:3389 #, c-format msgid "Current %slanguage: \"%s\"" msgstr "Huidige %staal: \"%s\"" -#: ../ex_cmds2.c:3404 #, c-format msgid "E197: Cannot set language to \"%s\"" msgstr "E197: Kan nie taal na \"%s\" verander nie" #. don't redisplay the window #. don't wait for return -#: ../ex_docmd.c:387 msgid "Entering Ex mode. Type \"visual\" to go to Normal mode." msgstr "Betree Ex modus. Tik \"visual\" om na Normale modus terug te keer." -#: ../ex_docmd.c:428 msgid "E501: At end-of-file" msgstr "E501: By lêereinde" -#: ../ex_docmd.c:513 msgid "E169: Command too recursive" msgstr "E169: Bevel te rekursief" -#: ../ex_docmd.c:1006 +#, fuzzy +#~ msgid "line %" +#~ msgstr "reël %4ld:" + #, c-format msgid "E605: Exception not caught: %s" msgstr "E605: Uitsondering nie gevang nie: %s" -#: ../ex_docmd.c:1085 msgid "End of sourced file" msgstr "Einde van uitvoerlêer" -#: ../ex_docmd.c:1086 msgid "End of function" msgstr "Einde van funksie " -#: ../ex_docmd.c:1628 msgid "E464: Ambiguous use of user-defined command" msgstr "E464: Dubbelsinnige gebruik van gebruiker-gedefinieerde bevel" -#: ../ex_docmd.c:1638 msgid "E492: Not an editor command" msgstr "E492: Nie 'n verwerkerbevel nie" -#: ../ex_docmd.c:1729 msgid "E493: Backwards range given" msgstr "E493: Terugwaardse omvang gegee" -#: ../ex_docmd.c:1733 msgid "Backwards range given, OK to swap" msgstr "Terugwaardse omvang gegee, OK om te ruil" #. append #. typed wrong -#: ../ex_docmd.c:1787 msgid "E494: Use w or w>>" msgstr "E494: Gebruik w of w>>" -#: ../ex_docmd.c:3454 msgid "E319: The command is not available in this version" msgstr "E319: Jammer, die bevel is nie geïmplementeer nie" -#: ../ex_docmd.c:3752 -msgid "E172: Only one file name allowed" -msgstr "E172: Slegs een lêernaam toegelaat" - -#: ../ex_docmd.c:4238 msgid "1 more file to edit. Quit anyway?" msgstr "Nog 1 lêer om te bewerk. Stop in elk geval?" -#: ../ex_docmd.c:4242 #, c-format msgid "%d more files to edit. Quit anyway?" msgstr "Nog %d lêers om te bewerk. Stop in elk geval?" -#: ../ex_docmd.c:4248 msgid "E173: 1 more file to edit" msgstr "E173: Nog 1 lêer om te bewerk" -#: ../ex_docmd.c:4250 #, c-format msgid "E173: %<PRId64> more files to edit" msgstr "E173: Nog %<PRId64> lêers om te bewerk" -#: ../ex_docmd.c:4320 msgid "E174: Command already exists: add ! to replace it" msgstr "E174: Bevel bestaan alreeds: gebruik ! om te herdefinieer" -#: ../ex_docmd.c:4432 +#, fuzzy msgid "" "\n" -" Name Args Range Complete Definition" +" Name Args Address Complete Definition" msgstr "" "\n" " Naam Args Reeks Klaar Definisie" -#: ../ex_docmd.c:4516 msgid "No user-defined commands found" msgstr "Geen gebruiker-gedefinieerde bevele gevind nie" -#: ../ex_docmd.c:4538 msgid "E175: No attribute specified" msgstr "E175: Geen eienskappe gespesifiseer nie" -#: ../ex_docmd.c:4583 msgid "E176: Invalid number of arguments" msgstr "E176: Ongeldige aantal parameters" -#: ../ex_docmd.c:4594 msgid "E177: Count cannot be specified twice" msgstr "E177: Telling kan nie twee keer gespesifiseer word nie" -#: ../ex_docmd.c:4603 msgid "E178: Invalid default value for count" msgstr "E178: Ongeldige verstekwaarde vir telling" -#: ../ex_docmd.c:4625 #, fuzzy -msgid "E179: argument required for -complete" -msgstr "E179: parameter nodig vir voltooiing" +#~ msgid "E179: argument required for -complete" +#~ msgstr "E179: parameter nodig vir voltooiing" + +#, fuzzy +#~ msgid "E179: argument required for -addr" +#~ msgstr "E179: parameter nodig vir voltooiing" -#: ../ex_docmd.c:4635 #, c-format msgid "E181: Invalid attribute: %s" msgstr "E181: Ongeldige eienskap: %s" -#: ../ex_docmd.c:4678 msgid "E182: Invalid command name" msgstr "E182: Ongeldige bevelnaam" -#: ../ex_docmd.c:4691 msgid "E183: User defined commands must start with an uppercase letter" msgstr "E183: Gebruiker-gedefinieerde bevele moet met 'n hoofletter begin" -#: ../ex_docmd.c:4696 #, fuzzy -msgid "E841: Reserved name, cannot be used for user defined command" -msgstr "E464: Dubbelsinnige gebruik van gebruiker-gedefinieerde bevel" +#~ msgid "E841: Reserved name, cannot be used for user defined command" +#~ msgstr "E464: Dubbelsinnige gebruik van gebruiker-gedefinieerde bevel" -#: ../ex_docmd.c:4751 #, c-format msgid "E184: No such user-defined command: %s" msgstr "E184: Geen gebruiker-gedefinieerde bevel nie: %s" -#: ../ex_docmd.c:5219 +#, fuzzy, c-format +#~ msgid "E180: Invalid address type value: %s" +#~ msgstr "E180: Ongeldige voltooiingswaarde: %s" + #, c-format msgid "E180: Invalid complete value: %s" msgstr "E180: Ongeldige voltooiingswaarde: %s" -#: ../ex_docmd.c:5225 msgid "E468: Completion argument only allowed for custom completion" msgstr "E468: Voltooiingsargument words slegs toegelaat vir eie voltooiing" -#: ../ex_docmd.c:5231 msgid "E467: Custom completion requires a function argument" msgstr "E467: Eie voltooiing benodig 'n funksie parameter" -#: ../ex_docmd.c:5257 #, fuzzy, c-format -msgid "E185: Cannot find color scheme '%s'" -msgstr "E185: Kan nie kleurskema %s vind nie" +#~ msgid "E185: Cannot find color scheme '%s'" +#~ msgstr "E185: Kan nie kleurskema %s vind nie" -#: ../ex_docmd.c:5263 msgid "Greetings, Vim user!" msgstr "Goeiedag, Vim gebruiker!" -#: ../ex_docmd.c:5431 #, fuzzy -msgid "E784: Cannot close last tab page" -msgstr "E444: Kan nie laaste venster toemaak nie" +#~ msgid "E784: Cannot close last tab page" +#~ msgstr "E444: Kan nie laaste venster toemaak nie" -#: ../ex_docmd.c:5462 #, fuzzy -msgid "Already only one tab page" -msgstr "Daar is alreeds slegs een venster" +#~ msgid "Already only one tab page" +#~ msgstr "Daar is alreeds slegs een venster" -#: ../ex_docmd.c:6004 #, fuzzy, c-format -msgid "Tab page %d" -msgstr "Bladsy %d" +#~ msgid "Tab page %d" +#~ msgstr "Bladsy %d" -#: ../ex_docmd.c:6295 msgid "No swap file" msgstr "Geen ruillêer" -#: ../ex_docmd.c:6478 -#, fuzzy -msgid "E747: Cannot change directory, buffer is modified (add ! to override)" -msgstr "E509: Kan rugsteunlêer nie skep nie (gebruik ! om te dwing)" - -#: ../ex_docmd.c:6485 msgid "E186: No previous directory" msgstr "E186: Geen vorige gids nie" -#: ../ex_docmd.c:6530 msgid "E187: Unknown" msgstr "E187: Onbekend" -#: ../ex_docmd.c:6610 msgid "E465: :winsize requires two number arguments" msgstr "E465: ':winsize' benodig twee nommer parameters" -#: ../ex_docmd.c:6655 -msgid "E188: Obtaining window position not implemented for this platform" -msgstr "" -"E188: Verkryging van vensterposisie is nie vir hierdie platform " -"geïmplementeer nie" - -#: ../ex_docmd.c:6662 -msgid "E466: :winpos requires two number arguments" -msgstr "E466: :winpos benodig twee parameters" - -#: ../ex_docmd.c:7241 -#, fuzzy, c-format -msgid "E739: Cannot create directory: %s" -msgstr "Kan nie gids uitvoer nie: \"%s\"" - -#: ../ex_docmd.c:7268 #, c-format msgid "E189: \"%s\" exists (add ! to override)" msgstr "E189: \"%s\" bestaan (gebruik ! om te dwing)" -#: ../ex_docmd.c:7273 #, c-format msgid "E190: Cannot open \"%s\" for writing" msgstr "E190: Kan \"%s\" nie oopmaak vir skryf nie" #. set mark -#: ../ex_docmd.c:7294 msgid "E191: Argument must be a letter or forward/backward quote" msgstr "" "E191: Parameter moet 'n letter of 'n terug/vorentoe aanhalingsteken wees" -#: ../ex_docmd.c:7333 msgid "E192: Recursive use of :normal too deep" msgstr "E192: Rekursiewe gebruik van ':normal' te diep" -#: ../ex_docmd.c:7807 msgid "E194: No alternate file name to substitute for '#'" msgstr "E194: Geen alternatiewe lêernaam vir '#' nie" -#: ../ex_docmd.c:7841 msgid "E495: no autocommand file name to substitute for \"<afile>\"" msgstr "E495: geen outobevel-lêernaam om \"<afile>\" mee te vervang nie" -#: ../ex_docmd.c:7850 msgid "E496: no autocommand buffer number to substitute for \"<abuf>\"" msgstr "E496: geen outobevel buffernommer om \"<abuf>\" mee te vervang nie" -#: ../ex_docmd.c:7861 msgid "E497: no autocommand match name to substitute for \"<amatch>\"" msgstr "E497: geen outobevel treffernaam om \"<amatch>\" mee te vervang nie" -#: ../ex_docmd.c:7870 msgid "E498: no :source file name to substitute for \"<sfile>\"" msgstr "E498: geen ':source' lêernaam om \"<sfile>\" mee te vervang nie" -#: ../ex_docmd.c:7876 #, fuzzy -msgid "E842: no line number to use for \"<slnum>\"" -msgstr "E498: geen ':source' lêernaam om \"<sfile>\" mee te vervang nie" +#~ msgid "E842: no line number to use for \"<slnum>\"" +#~ msgstr "E498: geen ':source' lêernaam om \"<sfile>\" mee te vervang nie" -#: ../ex_docmd.c:7903 #, c-format msgid "E499: Empty file name for '%' or '#', only works with \":p:h\"" msgstr "E499: Leë lêernaam vir '%' of '#', werk slegs met \":p:h\"" -#: ../ex_docmd.c:7905 msgid "E500: Evaluates to an empty string" msgstr "E500: Evalueer na 'n leë string" -#: ../ex_docmd.c:8838 -msgid "E195: Cannot open viminfo file for reading" -msgstr "E195: Kan 'viminfo' lêer nie oopmaak om te lees nie" - -#: ../ex_eval.c:464 msgid "E608: Cannot :throw exceptions with 'Vim' prefix" msgstr "E608: Kan nie uitsonderings ':throw' met 'Vim' voorvoegsel nie" #. always scroll up, don't overwrite -#: ../ex_eval.c:496 #, c-format msgid "Exception thrown: %s" msgstr "Uitsondering gegooi: %s" -#: ../ex_eval.c:545 +#. always scroll up, don't overwrite #, c-format msgid "Exception finished: %s" msgstr "Uitsondering het klaar gemaak: %s" -#: ../ex_eval.c:546 #, c-format msgid "Exception discarded: %s" msgstr "Uitsondering weg gegooi: %s" -#: ../ex_eval.c:588 ../ex_eval.c:634 #, c-format msgid "%s, line %<PRId64>" msgstr "%s, reël %<PRId64>" #. always scroll up, don't overwrite -#: ../ex_eval.c:608 #, c-format msgid "Exception caught: %s" msgstr "Uitsondering gevang: %s" -#: ../ex_eval.c:676 #, c-format msgid "%s made pending" msgstr "%s is afwagtend gemaak" -#: ../ex_eval.c:679 #, c-format msgid "%s resumed" msgstr "%s teruggekeer" -#: ../ex_eval.c:683 #, c-format msgid "%s discarded" msgstr "%s weg gegooi" -#: ../ex_eval.c:708 msgid "Exception" msgstr "Uitsondering" -#: ../ex_eval.c:713 msgid "Error and interrupt" msgstr "Fout en onderbreking" -#: ../ex_eval.c:715 msgid "Error" msgstr "Fout" #. if (pending & CSTP_INTERRUPT) -#: ../ex_eval.c:717 msgid "Interrupt" msgstr "Onderbreek" -#: ../ex_eval.c:795 msgid "E579: :if nesting too deep" msgstr "E579: geneste ':if' te diep" -#: ../ex_eval.c:830 msgid "E580: :endif without :if" msgstr "E580: ':endif' sonder ':if'" -#: ../ex_eval.c:873 msgid "E581: :else without :if" msgstr "E581: ':else' sonder ':if'" -#: ../ex_eval.c:876 msgid "E582: :elseif without :if" msgstr "E582: ':elseif' sonder ':if'" -#: ../ex_eval.c:880 msgid "E583: multiple :else" msgstr "E583: meer as een ':else'" -#: ../ex_eval.c:883 msgid "E584: :elseif after :else" msgstr "E584: ':elseif' na ':else'" -#: ../ex_eval.c:941 #, fuzzy -msgid "E585: :while/:for nesting too deep" -msgstr "E585: ':while' te diep genes" +#~ msgid "E585: :while/:for nesting too deep" +#~ msgstr "E585: ':while' te diep genes" -#: ../ex_eval.c:1028 #, fuzzy -msgid "E586: :continue without :while or :for" -msgstr "E586: ':continue' sonder ':while'" +#~ msgid "E586: :continue without :while or :for" +#~ msgstr "E586: ':continue' sonder ':while'" -#: ../ex_eval.c:1061 #, fuzzy -msgid "E587: :break without :while or :for" -msgstr "E587: ':break' sonder ':while'" +#~ msgid "E587: :break without :while or :for" +#~ msgstr "E587: ':break' sonder ':while'" -#: ../ex_eval.c:1102 #, fuzzy -msgid "E732: Using :endfor with :while" -msgstr "E170: Ontbrekende ':endwhile'" +#~ msgid "E732: Using :endfor with :while" +#~ msgstr "E170: Ontbrekende ':endwhile'" -#: ../ex_eval.c:1104 #, fuzzy -msgid "E733: Using :endwhile with :for" -msgstr "E170: Ontbrekende ':endwhile'" +#~ msgid "E733: Using :endwhile with :for" +#~ msgstr "E170: Ontbrekende ':endwhile'" -#: ../ex_eval.c:1247 msgid "E601: :try nesting too deep" msgstr "E601: geneste ':try' te diep" -#: ../ex_eval.c:1317 msgid "E603: :catch without :try" msgstr "E603: ':catch' sonder ':try'" #. Give up for a ":catch" after ":finally" and ignore it. #. * Just parse. -#: ../ex_eval.c:1332 msgid "E604: :catch after :finally" msgstr "E604: ':catch' na ':finally'" -#: ../ex_eval.c:1451 msgid "E606: :finally without :try" msgstr "E606: ':finally' sonder ':try'" #. Give up for a multiple ":finally" and ignore it. -#: ../ex_eval.c:1467 msgid "E607: multiple :finally" msgstr "E607: meer as een ':finally'" -#: ../ex_eval.c:1571 msgid "E602: :endtry without :try" msgstr "E602: ':endtry' sonder ':try'" -#: ../ex_eval.c:2026 msgid "E193: :endfunction not inside a function" msgstr "E193: ':endfunction' nie in 'n funksie nie" -#: ../ex_getln.c:1643 #, fuzzy -msgid "E788: Not allowed to edit another buffer now" -msgstr "E48: Nie toegelaat in sandput nie" +#~ msgid "E788: Not allowed to edit another buffer now" +#~ msgstr "E48: Nie toegelaat in sandput nie" -#: ../ex_getln.c:1656 #, fuzzy -msgid "E811: Not allowed to change buffer information now" -msgstr "E94: Geen buffer wat by %s pas nie" +#~ msgid "E811: Not allowed to change buffer information now" +#~ msgstr "E94: Geen buffer wat by %s pas nie" -#: ../ex_getln.c:3178 -msgid "tagname" -msgstr "etiketnaam" +#, c-format +#~ msgid "E5408: Unable to get g:Nvim_color_cmdline callback: %s" +#~ msgstr "" -#: ../ex_getln.c:3181 -msgid " kind file\n" -msgstr " tipe lêer\n" +#, c-format +#~ msgid "E5409: Unable to get g:Nvim_color_expr callback: %s" +#~ msgstr "" -#: ../ex_getln.c:4799 -msgid "'history' option is zero" -msgstr "'history' opsie is nul" +#, c-format +#~ msgid "E5407: Callback has thrown an exception: %s" +#~ msgstr "" + +#~ msgid "E5400: Callback should return list" +#~ msgstr "" -#: ../ex_getln.c:5046 #, c-format -msgid "" -"\n" -"# %s History (newest to oldest):\n" -msgstr "" -"\n" -"# %s Geskiedenis (van nuutste na oudste):\n" +#~ msgid "E5401: List item %i is not a List" +#~ msgstr "" + +#, c-format +#~ msgid "E5402: List item %i has incorrect length: %li /= 3" +#~ msgstr "" + +#~ msgid "E5403: Chunk %i start %" +#~ msgstr "" -#: ../ex_getln.c:5047 -msgid "Command Line" -msgstr "Bevelreël" +#~ msgid "E5405: Chunk %i start %" +#~ msgstr "" -#: ../ex_getln.c:5048 -msgid "Search String" -msgstr "Soekstring" +#~ msgid "E5404: Chunk %i end %" +#~ msgstr "" -#: ../ex_getln.c:5049 -msgid "Expression" -msgstr "Uitdrukking" +#~ msgid "E5406: Chunk %i end %" +#~ msgstr "" -#: ../ex_getln.c:5050 -msgid "Input Line" -msgstr "Invoer Lyn" +msgid "tagname" +msgstr "etiketnaam" + +msgid " kind file\n" +msgstr " tipe lêer\n" + +msgid "'history' option is zero" +msgstr "'history' opsie is nul" -#: ../ex_getln.c:5117 msgid "E198: cmd_pchar beyond the command length" msgstr "E198: 'cmd_pchar' verby die einde van opdraglengte" -#: ../ex_getln.c:5279 msgid "E199: Active window or buffer deleted" msgstr "E199: Aktiewe venster of buffer geskrap" -#: ../file_search.c:203 -msgid "E854: path too long for completion" -msgstr "" +#~ msgid "E854: path too long for completion" +#~ msgstr "" -#: ../file_search.c:446 #, c-format msgid "" "E343: Invalid path: '**[number]' must be at the end of the path or be " @@ -2052,267 +1999,208 @@ msgstr "" "E343: Ongeldige pad: '**[nommer]' moet aan die einde van 'n pad wees of " "gevolg wees deur %s'." -#: ../file_search.c:1505 #, c-format msgid "E344: Can't find directory \"%s\" in cdpath" msgstr "E344: Kan nie gids \"%s\" in 'cdpath' vind nie" -#: ../file_search.c:1508 #, c-format msgid "E345: Can't find file \"%s\" in path" msgstr "E345: Kan lêer \"%s\" nie vind in pad nie" -#: ../file_search.c:1512 #, c-format msgid "E346: No more directory \"%s\" found in cdpath" msgstr "E346: Geen gids \"%s\" meer gevind in 'cdpath' nie" -#: ../file_search.c:1515 #, c-format msgid "E347: No more file \"%s\" found in path" msgstr "E347: Geen lêer \"%s\" meer gevind in pad nie" -#: ../fileio.c:137 #, fuzzy -msgid "E812: Autocommands changed buffer or buffer name" -msgstr "E135: *Filter* Outobevele mag nie die huidige buffer verander nie" +#~ msgid "E812: Autocommands changed buffer or buffer name" +#~ msgstr "E135: *Filter* Outobevele mag nie die huidige buffer verander nie" -#: ../fileio.c:368 msgid "Illegal file name" msgstr "Ongeldige lêernaam" -#: ../fileio.c:395 ../fileio.c:476 ../fileio.c:2543 ../fileio.c:2578 msgid "is a directory" msgstr "is 'n gids" -#: ../fileio.c:397 msgid "is not a file" msgstr "is nie 'n lêer nie" -#: ../fileio.c:508 ../fileio.c:3522 msgid "[New File]" msgstr "[Nuwe lêer]" -#: ../fileio.c:511 -msgid "[New DIRECTORY]" -msgstr "" +#~ msgid "[New DIRECTORY]" +#~ msgstr "" -#: ../fileio.c:529 ../fileio.c:532 -msgid "[File too big]" -msgstr "" +#. libuv only returns -errno in Unix and in Windows open() does not +#. set EOVERFLOW +#~ msgid "[File too big]" +#~ msgstr "" -#: ../fileio.c:534 msgid "[Permission Denied]" msgstr "[Toestemming Geweier]" -#: ../fileio.c:653 msgid "E200: *ReadPre autocommands made the file unreadable" msgstr "E200: '*ReadPre' outobevele het die lêer onleesbaar gemaak" -#: ../fileio.c:655 msgid "E201: *ReadPre autocommands must not change current buffer" msgstr "E201: '*ReadPre' outobevele mag nie die huidige buffer verander nie" -#: ../fileio.c:672 -msgid "Nvim: Reading from stdin...\n" -msgstr "Vim: Lees nou vanaf 'stdin'...\n" - #. Re-opening the original file failed! -#: ../fileio.c:909 msgid "E202: Conversion made file unreadable!" msgstr "E202: Omsetting het lêer onleesbaar gemaak!" #. fifo or socket -#: ../fileio.c:1782 msgid "[fifo/socket]" msgstr "[fifo/socket]" #. fifo -#: ../fileio.c:1788 msgid "[fifo]" msgstr "[fifo]" #. or socket -#: ../fileio.c:1794 msgid "[socket]" msgstr "[socket]" #. or character special -#: ../fileio.c:1801 #, fuzzy -msgid "[character special]" -msgstr "1 karakter" +#~ msgid "[character special]" +#~ msgstr "1 karakter" -#: ../fileio.c:1815 msgid "[CR missing]" msgstr "[CR ontbreek]" -#: ../fileio.c:1819 msgid "[long lines split]" msgstr "[lang reëls verdeel]" -#: ../fileio.c:1823 ../fileio.c:3512 msgid "[NOT converted]" msgstr "[NIE omgesit nie]" -#: ../fileio.c:1826 ../fileio.c:3515 msgid "[converted]" msgstr "[omgesit]" -#: ../fileio.c:1831 #, fuzzy, c-format -msgid "[CONVERSION ERROR in line %<PRId64>]" -msgstr "[ONWETTIGE GREEP in reël %<PRId64>]" +#~ msgid "[CONVERSION ERROR in line %<PRId64>]" +#~ msgstr "[ONWETTIGE GREEP in reël %<PRId64>]" -#: ../fileio.c:1835 #, c-format msgid "[ILLEGAL BYTE in line %<PRId64>]" msgstr "[ONWETTIGE GREEP in reël %<PRId64>]" -#: ../fileio.c:1838 msgid "[READ ERRORS]" msgstr "[LEESFOUTE]" -#: ../fileio.c:2104 msgid "Can't find temp file for conversion" msgstr "Kan nie tydelike lêer vir omsetting vind nie" -#: ../fileio.c:2110 msgid "Conversion with 'charconvert' failed" msgstr "Omsetting met 'charconvert' het gefaal" -#: ../fileio.c:2113 msgid "can't read output of 'charconvert'" msgstr "kan afvoer van 'charconvert' nie lees nie" -#: ../fileio.c:2437 #, fuzzy -msgid "E676: No matching autocommands for acwrite buffer" -msgstr "Geen passende outobevele nie" +#~ msgid "E676: No matching autocommands for acwrite buffer" +#~ msgstr "Geen passende outobevele nie" -#: ../fileio.c:2466 msgid "E203: Autocommands deleted or unloaded buffer to be written" msgstr "E203: Outobevele het die skryfbuffer geskrap of uitgelaai" -#: ../fileio.c:2486 msgid "E204: Autocommand changed number of lines in unexpected way" msgstr "E204: Outobevel het etlike reëls op onverwagse wyse verander " -#: ../fileio.c:2548 ../fileio.c:2565 msgid "is not a file or writable device" msgstr "is nie 'n lêer of 'n skryfbare toestel nie" -#: ../fileio.c:2601 msgid "is read-only (add ! to override)" msgstr "is lees-alleen (gebruik ! om te dwing)" -#: ../fileio.c:2886 msgid "E506: Can't write to backup file (add ! to override)" msgstr "E506: Kan nie na rugsteunlêer skryf nie (gebruik ! om te dwing)" -#: ../fileio.c:2898 -msgid "E507: Close error for backup file (add ! to override)" -msgstr "E507: Sluitfout vir rugsteunlêer (gebruik ! om te dwing)" +#, fuzzy, c-format +#~ msgid "E507: Close error for backup file (add ! to override): %s" +#~ msgstr "E507: Sluitfout vir rugsteunlêer (gebruik ! om te dwing)" -#: ../fileio.c:2901 msgid "E508: Can't read file for backup (add ! to override)" msgstr "E508: Kan rugsteunlêer nie lees nie (gebruik ! om te dwing)" -#: ../fileio.c:2923 msgid "E509: Cannot create backup file (add ! to override)" msgstr "E509: Kan rugsteunlêer nie skep nie (gebruik ! om te dwing)" -#: ../fileio.c:3008 msgid "E510: Can't make backup file (add ! to override)" msgstr "E510: Kan rugsteunlêer nie skep nie (gebruik ! om te dwing)" #. Can't write without a tempfile! -#: ../fileio.c:3121 msgid "E214: Can't find temp file for writing" msgstr "E214: Kan nie tydelike lêer vind vir skryf nie" -#: ../fileio.c:3134 msgid "E213: Cannot convert (add ! to write without conversion)" msgstr "E213: Kan nie omsit nie (gebruik ! om te skryf sonder omsetting)" -#: ../fileio.c:3169 msgid "E166: Can't open linked file for writing" msgstr "E166: Kan lêer nie oopmaak vir skryf nie" -#: ../fileio.c:3173 -msgid "E212: Can't open file for writing" -msgstr "E212: Kan lêer nie oopmaak vir skryf nie" +#, fuzzy, c-format +#~ msgid "E212: Can't open file for writing: %s" +#~ msgstr "E212: Kan lêer nie oopmaak vir skryf nie" -#: ../fileio.c:3363 -msgid "E667: Fsync failed" -msgstr "E667: 'Fsync' het gefaal" +#, fuzzy, c-format +#~ msgid "E667: Fsync failed: %s" +#~ msgstr "E667: 'Fsync' het gefaal" -#: ../fileio.c:3398 -msgid "E512: Close failed" -msgstr "E512: Sluiting gefaal" +#, fuzzy, c-format +#~ msgid "E512: Close failed: %s" +#~ msgstr "E512: Sluiting gefaal" -#: ../fileio.c:3436 #, fuzzy -msgid "E513: write error, conversion failed (make 'fenc' empty to override)" -msgstr "E513: skryffout, omsetting gefaal" +#~ msgid "E513: write error, conversion failed (make 'fenc' empty to override)" +#~ msgstr "E513: skryffout, omsetting gefaal" -#: ../fileio.c:3441 -#, c-format -msgid "" -"E513: write error, conversion failed in line %<PRId64> (make 'fenc' empty to " -"override)" -msgstr "" +#, fuzzy +#~ msgid "E513: write error, conversion failed in line %" +#~ msgstr "E513: skryffout, omsetting gefaal" -#: ../fileio.c:3448 msgid "E514: write error (file system full?)" msgstr "E514: skryffout (lêerstelsel vol?)" -#: ../fileio.c:3506 msgid " CONVERSION ERROR" msgstr " OMSETTINGSFOUT" -#: ../fileio.c:3509 #, fuzzy, c-format -msgid " in line %<PRId64>;" -msgstr "reël %<PRId64>" +#~ msgid " in line %<PRId64>;" +#~ msgstr "reël %<PRId64>" -#: ../fileio.c:3519 msgid "[Device]" msgstr "[Toestel]" -#: ../fileio.c:3522 msgid "[New]" msgstr "[Nuut]" -#: ../fileio.c:3535 msgid " [a]" msgstr " [a]" -#: ../fileio.c:3535 msgid " appended" msgstr " bygevoeg" -#: ../fileio.c:3537 msgid " [w]" msgstr " [w]" -#: ../fileio.c:3537 msgid " written" msgstr " geskryf" -#: ../fileio.c:3579 msgid "E205: Patchmode: can't save original file" msgstr "E205: patchmode: kan oorspronklike lêer nie stoor nie" -#: ../fileio.c:3602 msgid "E206: patchmode: can't touch empty original file" msgstr "E206: patchmode: kan leë oorspronglêer nie 'touch' nie" -#: ../fileio.c:3616 msgid "E207: Can't delete backup file" msgstr "E207: Kan rugsteunlêer nie verwyder nie" -#: ../fileio.c:3672 +#. Set highlight for error messages. msgid "" "\n" "WARNING: Original file may be lost or damaged\n" @@ -2320,96 +2208,75 @@ msgstr "" "\n" "WAARSKUWING: Oorspronklike lêer mag verlore of beskadig wees\n" -#: ../fileio.c:3675 msgid "don't quit the editor until the file is successfully written!" msgstr "moenie die verwerker verlaat voor die lêer suksesvol geskryf is nie!" -#: ../fileio.c:3795 -msgid "[dos]" -msgstr "[dos]" - -#: ../fileio.c:3795 msgid "[dos format]" msgstr "[dos formaat]" -#: ../fileio.c:3801 -msgid "[mac]" -msgstr "[mac]" +msgid "[dos]" +msgstr "[dos]" -#: ../fileio.c:3801 msgid "[mac format]" msgstr "[mac formaat]" -#: ../fileio.c:3807 -msgid "[unix]" -msgstr "[unix]" +msgid "[mac]" +msgstr "[mac]" -#: ../fileio.c:3807 msgid "[unix format]" msgstr "[unix formaat]" -#: ../fileio.c:3831 +msgid "[unix]" +msgstr "[unix]" + msgid "1 line, " msgstr "1 reël, " -#: ../fileio.c:3833 #, c-format msgid "%<PRId64> lines, " msgstr "%<PRId64> reëls, " -#: ../fileio.c:3836 msgid "1 character" msgstr "1 karakter" -#: ../fileio.c:3838 #, c-format msgid "%<PRId64> characters" msgstr "%<PRId64> karakters" -#: ../fileio.c:3849 -msgid "[noeol]" -msgstr "[noeol]" - -#: ../fileio.c:3849 msgid "[Incomplete last line]" msgstr "[Onvoltooide laaste reël]" -#. don't overwrite messages here -#. must give this prompt -#. don't use emsg() here, don't want to flush the buffers -#: ../fileio.c:3865 +msgid "[noeol]" +msgstr "[noeol]" + +#. Don't overwrite messages here. +#. Must give this prompt. +#. Don't use emsg() here, don't want to flush the buffers. msgid "WARNING: The file has been changed since reading it!!!" msgstr "WAARSKUWING: Die lêer het verander sedert dit gelees is!!!" -#: ../fileio.c:3867 msgid "Do you really want to write to it" msgstr "Wil jy regtig soontoe skryf?" -#: ../fileio.c:4648 #, c-format msgid "E208: Error writing to \"%s\"" msgstr "E208: Kan nie skryf na \"%s\"" -#: ../fileio.c:4655 #, c-format msgid "E209: Error closing \"%s\"" msgstr "E209: Kan \"%s\" nie sluit nie" -#: ../fileio.c:4657 #, c-format msgid "E210: Error reading \"%s\"" msgstr "E210: Kan \"%s\" nie lees nie" -#: ../fileio.c:4883 msgid "E246: FileChangedShell autocommand deleted buffer" msgstr "E246: 'FileChangedShell' outobevel het buffer verwyder" -#: ../fileio.c:4894 #, fuzzy, c-format -msgid "E211: File \"%s\" no longer available" -msgstr "E211: Waarskuwing: Lêer \"%s\" is nie meer beskikbaar nie" +#~ msgid "E211: File \"%s\" no longer available" +#~ msgstr "E211: Waarskuwing: Lêer \"%s\" is nie meer beskikbaar nie" -#: ../fileio.c:4906 #, c-format msgid "" "W12: Warning: File \"%s\" has changed and the buffer was changed in Vim as " @@ -2418,42 +2285,34 @@ msgstr "" "W12: Waarskuwing: Lêer \"%s\" het verander sedert bewerking begin het en die " "buffer in Vim het ook verander" -#: ../fileio.c:4907 #, fuzzy -msgid "See \":help W12\" for more info." -msgstr "Sien \":help W11\" vir meer inligting." +#~ msgid "See \":help W12\" for more info." +#~ msgstr "Sien \":help W11\" vir meer inligting." -#: ../fileio.c:4910 #, c-format msgid "W11: Warning: File \"%s\" has changed since editing started" msgstr "W11: Waarskuwing: Lêer \"%s\" het verander sedert bewerking begin het" -#: ../fileio.c:4911 msgid "See \":help W11\" for more info." msgstr "Sien \":help W11\" vir meer inligting." -#: ../fileio.c:4914 #, c-format msgid "W16: Warning: Mode of file \"%s\" has changed since editing started" msgstr "" "W16: Waarskuwing: Modus van lêer \"%s\" het verander sedert bewerking begin " "het" -#: ../fileio.c:4915 #, fuzzy -msgid "See \":help W16\" for more info." -msgstr "Sien \":help W11\" vir meer inligting." +#~ msgid "See \":help W16\" for more info." +#~ msgstr "Sien \":help W11\" vir meer inligting." -#: ../fileio.c:4927 #, c-format msgid "W13: Warning: File \"%s\" has been created after editing started" msgstr "W13: Waarskuwing: Lêer \"%s\" is geskep sedert bewerking begin het" -#: ../fileio.c:4947 msgid "Warning" msgstr "Waarskuwing" -#: ../fileio.c:4948 msgid "" "&OK\n" "&Load File" @@ -2461,48 +2320,46 @@ msgstr "" "&OK\n" "&Laai Lêer" -#: ../fileio.c:5065 #, c-format msgid "E462: Could not prepare for reloading \"%s\"" msgstr "E462: Kon nie voorberei vir herlaai nie \"%s\"" -#: ../fileio.c:5078 #, c-format msgid "E321: Could not reload \"%s\"" msgstr "E321: Kon nie \"%s\" herlaai nie" -#: ../fileio.c:5601 msgid "--Deleted--" msgstr "--Geskrap--" -#: ../fileio.c:5732 #, c-format -msgid "auto-removing autocommand: %s <buffer=%d>" -msgstr "" +#~ msgid "auto-removing autocommand: %s <buffer=%d>" +#~ msgstr "" #. the group doesn't exist -#: ../fileio.c:5772 #, c-format msgid "E367: No such group: \"%s\"" msgstr "E367: Geen sodanige groep nie: \"%s\"" -#: ../fileio.c:5897 +#, fuzzy +#~ msgid "E936: Cannot delete the current group" +#~ msgstr "E351: Kan nie vou skrap met huidige 'foldmethod' nie" + +#~ msgid "W19: Deleting augroup that is still in use" +#~ msgstr "" + #, c-format msgid "E215: Illegal character after *: %s" msgstr "E215: Ongeldige karakter na *: %s" -#: ../fileio.c:5905 #, c-format msgid "E216: No such event: %s" msgstr "E216: Geen sodanige gebeurtenis nie: %s" -#: ../fileio.c:5907 #, c-format msgid "E216: No such group or event: %s" msgstr "E216: Geen sodanige groep of gebeurtenis nie: %s" #. Highlight title -#: ../fileio.c:6090 msgid "" "\n" "--- Auto-Commands ---" @@ -2510,108 +2367,88 @@ msgstr "" "\n" "--- Outobevele ---" -#: ../fileio.c:6293 #, fuzzy, c-format -msgid "E680: <buffer=%d>: invalid buffer number " -msgstr "ongeldige buffernommer" +#~ msgid "E680: <buffer=%d>: invalid buffer number " +#~ msgstr "ongeldige buffernommer" -#: ../fileio.c:6370 msgid "E217: Can't execute autocommands for ALL events" msgstr "E217: Kan nie outobevele uitvoer vir 'ALL' gebeurtenisse nie" -#: ../fileio.c:6393 msgid "No matching autocommands" msgstr "Geen passende outobevele nie" -#: ../fileio.c:6831 msgid "E218: autocommand nesting too deep" msgstr "E218: outobevele te diep genes" -#: ../fileio.c:7143 #, c-format msgid "%s Auto commands for \"%s\"" msgstr "%s outobevele vir \"%s\"" -#: ../fileio.c:7149 #, c-format msgid "Executing %s" msgstr "Voer %s uit" -#: ../fileio.c:7211 #, c-format msgid "autocommand %s" msgstr "outobevel %s" -#: ../fileio.c:7795 msgid "E219: Missing {." msgstr "E219: Ontbrekende {." -#: ../fileio.c:7797 msgid "E220: Missing }." msgstr "E220: Ontbrekende }." -#: ../fold.c:93 msgid "E490: No fold found" msgstr "E490: Geen vou gevind nie" -#: ../fold.c:544 msgid "E350: Cannot create fold with current 'foldmethod'" msgstr "E350: Kan nie vou skep met huidige 'foldmethod' nie" -#: ../fold.c:546 msgid "E351: Cannot delete fold with current 'foldmethod'" msgstr "E351: Kan nie vou skrap met huidige 'foldmethod' nie" -#: ../fold.c:1784 -#, c-format -msgid "+--%3ld lines folded " -msgstr "+--%3ld reëls gevou " +#, fuzzy, c-format +#~ msgid "+--%3ld line folded" +#~ msgid_plural "+--%3ld lines folded " +#~ msgstr[0] "+--%3ld reëls gevou " +#~ msgstr[1] "+--%3ld reëls gevou " #. buffer has already been read -#: ../getchar.c:273 msgid "E222: Add to read buffer" msgstr "E222: Voeg by leesbuffer" -#: ../getchar.c:2040 msgid "E223: recursive mapping" msgstr "E223: rekursiewe binding" -#: ../getchar.c:2849 #, c-format msgid "E224: global abbreviation already exists for %s" msgstr "E224: globale afkorting bestaan alreeds vir %s" -#: ../getchar.c:2852 #, c-format msgid "E225: global mapping already exists for %s" msgstr "E225: globale binding bestaan alreeds vir %s" -#: ../getchar.c:2952 #, c-format msgid "E226: abbreviation already exists for %s" msgstr "E226: afkorting bestaan already vir %s" -#: ../getchar.c:2955 #, c-format msgid "E227: mapping already exists for %s" msgstr "E227: binding bestaan alreeds vir %s" -#: ../getchar.c:3008 msgid "No abbreviation found" msgstr "Geen afkorting gevind nie" -#: ../getchar.c:3010 msgid "No mapping found" msgstr "Geen binding gevind nie" -#: ../getchar.c:3974 msgid "E228: makemap: Illegal mode" msgstr "E228: makemap: Ongeldige modus" -#. key value of 'cedit' option -#. type of cmdline window or 0 -#. result of cmdline window or 0 -#: ../globals.h:924 +#. /< key value of 'cedit' option +#. /< type of cmdline window or 0 +#. /< result of cmdline window or 0 +#. /< cmdline recursion level msgid "--No lines in buffer--" msgstr "--Geen reëls in buffer--" @@ -2619,691 +2456,566 @@ msgstr "--Geen reëls in buffer--" #. * The error messages that can be shared are included here. #. * Excluded are errors that are only used once and debugging messages. #. -#: ../globals.h:996 msgid "E470: Command aborted" msgstr "E470: Bevel gekanselleer" -#: ../globals.h:997 +#, fuzzy +#~ msgid "E905: Cannot set this option after startup" +#~ msgstr "E529: Kan nie 'term' stel na leë string nie" + +#, fuzzy +#~ msgid "E903: Could not spawn API job" +#~ msgstr "E623: Kon nie 'cscope' proses skep nie" + msgid "E471: Argument required" msgstr "E471: Parameter benodig" -#: ../globals.h:998 msgid "E10: \\ should be followed by /, ? or &" msgstr "E10: \\ moet gevolg word deur /, ? of &" -#: ../globals.h:1000 msgid "E11: Invalid in command-line window; <CR> executes, CTRL-C quits" msgstr "E11: Ongeldig in bevelreël venster: <CR> voer uit, CTRL-C stop" -#: ../globals.h:1002 msgid "E12: Command not allowed from exrc/vimrc in current dir or tag search" msgstr "" "E12: Bevel uit exrc/vimrc nie toegelaat in huidige gids- of etiketsoektog nie" -#: ../globals.h:1003 msgid "E171: Missing :endif" msgstr "E171: Ontbrekende ':endif'" -#: ../globals.h:1004 msgid "E600: Missing :endtry" msgstr "E600: Ontbrekende ':endtry'" -#: ../globals.h:1005 msgid "E170: Missing :endwhile" msgstr "E170: Ontbrekende ':endwhile'" -#: ../globals.h:1006 #, fuzzy -msgid "E170: Missing :endfor" -msgstr "E171: Ontbrekende ':endif'" +#~ msgid "E170: Missing :endfor" +#~ msgstr "E171: Ontbrekende ':endif'" -#: ../globals.h:1007 msgid "E588: :endwhile without :while" msgstr "E588: ':endwhile' sonder ':while'" -#: ../globals.h:1008 #, fuzzy -msgid "E588: :endfor without :for" -msgstr "E580: ':endif' sonder ':if'" +#~ msgid "E588: :endfor without :for" +#~ msgstr "E580: ':endif' sonder ':if'" -#: ../globals.h:1009 msgid "E13: File exists (add ! to override)" msgstr "E13: Lêer bestaan (gebruik ! om te dwing)" -#: ../globals.h:1010 msgid "E472: Command failed" msgstr "E472: Bevel het gefaal" -#: ../globals.h:1011 msgid "E473: Internal error" msgstr "E473: Interne fout" -#: ../globals.h:1012 msgid "Interrupted" msgstr "Onderbreek" -#: ../globals.h:1013 msgid "E14: Invalid address" msgstr "E14: Ongeldige adres" -#: ../globals.h:1014 msgid "E474: Invalid argument" msgstr "E474: Ongeldige parameter" -#: ../globals.h:1015 #, c-format msgid "E475: Invalid argument: %s" msgstr "E475: Ongeldige parameter: %s" -#: ../globals.h:1016 #, c-format msgid "E15: Invalid expression: %s" msgstr "E15: Ongeldige uitdrukking: %s" -#: ../globals.h:1017 msgid "E16: Invalid range" msgstr "E16: Ongeldige omvang" -#: ../globals.h:1018 msgid "E476: Invalid command" msgstr "E476: Ongeldige bevel" -#: ../globals.h:1019 #, c-format msgid "E17: \"%s\" is a directory" msgstr "E17: \"%s\" is 'n gids" -#: ../globals.h:1020 #, fuzzy -msgid "E900: Invalid job id" -msgstr "E49: Ongeldige rolgrootte" +#~ msgid "E900: Invalid job id" +#~ msgstr "E49: Ongeldige rolgrootte" -#: ../globals.h:1021 -msgid "E901: Job table is full" -msgstr "" +#~ msgid "E901: Job table is full" +#~ msgstr "" + +#, c-format +#~ msgid "E903: Process failed to start: %s: \"%s\"" +#~ msgstr "" + +#~ msgid "E904: Job is not connected to a pty" +#~ msgstr "" -#: ../globals.h:1024 #, c-format msgid "E364: Library call failed for \"%s()\"" msgstr "E364: Biblioteekroep het gefaal vir \"%s\"()" -#: ../globals.h:1026 +#, fuzzy, c-format +#~ msgid "E739: Cannot create directory %s: %s" +#~ msgstr "Kan nie gids uitvoer nie: \"%s\"" + msgid "E19: Mark has invalid line number" msgstr "E19: Merker het ongeldige reëlnommer" -#: ../globals.h:1027 msgid "E20: Mark not set" msgstr "E20: Merker nie gestel nie" -#: ../globals.h:1029 msgid "E21: Cannot make changes, 'modifiable' is off" msgstr "E21: Kan nie wysig nie, 'modifiable' is af" -#: ../globals.h:1030 msgid "E22: Scripts nested too deep" msgstr "E22: Skripte te diep ge-nes" -#: ../globals.h:1031 msgid "E23: No alternate file" msgstr "E23: Geen alternatiewe lêer nie" -#: ../globals.h:1032 msgid "E24: No such abbreviation" msgstr "E24: Afkorting bestaan nie" -#: ../globals.h:1033 msgid "E477: No ! allowed" msgstr "E477: Geen ! toegelaat nie" -#: ../globals.h:1035 msgid "E25: Nvim does not have a built-in GUI" msgstr "E25: GUI kan nie gebruik word nie: Nie tydens kompilering gekies nie" -#: ../globals.h:1036 #, c-format msgid "E28: No such highlight group name: %s" msgstr "E28: Geen sodanige uitliggroepnaam nie: %s" -#: ../globals.h:1037 msgid "E29: No inserted text yet" msgstr "E29: Nog geen ingevoegde teks nie" -#: ../globals.h:1038 msgid "E30: No previous command line" msgstr "E30: Geen vorige bevelreël nie" -#: ../globals.h:1039 msgid "E31: No such mapping" msgstr "E31: Geen so 'n binding nie" -#: ../globals.h:1040 msgid "E479: No match" msgstr "E479: Geen treffer nie" -#: ../globals.h:1041 #, c-format msgid "E480: No match: %s" msgstr "E480: Geen treffer: %s" -#: ../globals.h:1042 msgid "E32: No file name" msgstr "E32: Geen lêernaam" -#: ../globals.h:1044 msgid "E33: No previous substitute regular expression" msgstr "E33: Geen vorige vervangingspatroon nie" -#: ../globals.h:1045 msgid "E34: No previous command" msgstr "E34: Geen vorige bevel nie" -#: ../globals.h:1046 msgid "E35: No previous regular expression" msgstr "E35: Geen vorige patroon nie" -#: ../globals.h:1047 msgid "E481: No range allowed" msgstr "E481: Geen omvang toegelaat nie" -#: ../globals.h:1048 msgid "E36: Not enough room" msgstr "E36: Te min plek" -#: ../globals.h:1049 -#, c-format -msgid "E482: Can't create file %s" -msgstr "E482: Kan nie lêer %s skep nie" - -#: ../globals.h:1050 msgid "E483: Can't get temp file name" msgstr "E483: Kan nie tydelike lêernaam kry nie" -#: ../globals.h:1051 #, c-format msgid "E484: Can't open file %s" msgstr "E484: Kan nie lêer %s oopmaak nie" -#: ../globals.h:1052 #, c-format msgid "E485: Can't read file %s" msgstr "E485: Kan nie lêer %s lees nie" -#: ../globals.h:1054 msgid "E37: No write since last change (add ! to override)" msgstr "E37: Ongeskryf sedert vorige verandering (gebruik ! om te dwing)" -#: ../globals.h:1055 #, fuzzy -msgid "E37: No write since last change" -msgstr "[Ongestoor sedert vorige verandering]\n" +#~ msgid "E37: No write since last change" +#~ msgstr "[Ongestoor sedert vorige verandering]\n" -#: ../globals.h:1056 msgid "E38: Null argument" msgstr "E38: Nul parameter" -#: ../globals.h:1057 msgid "E39: Number expected" msgstr "E39: Nommer verwag" -#: ../globals.h:1058 #, c-format msgid "E40: Can't open errorfile %s" msgstr "E40: Kan nie foutlêer %s oopmaak nie" -#: ../globals.h:1059 msgid "E41: Out of memory!" msgstr "E41: Geheue op!" -#: ../globals.h:1060 msgid "Pattern not found" msgstr "Patroon nie gevind nie" -#: ../globals.h:1061 #, c-format msgid "E486: Pattern not found: %s" msgstr "E486: Patroon nie gevind nie: %s" -#: ../globals.h:1062 msgid "E487: Argument must be positive" msgstr "E487: Parameter moet positief wees" -#: ../globals.h:1064 msgid "E459: Cannot go back to previous directory" msgstr "E459: Kan nie terug gaan na die vorige gids nie" -#: ../globals.h:1066 msgid "E42: No Errors" msgstr "E42: Geen Foute" -#: ../globals.h:1067 -msgid "E776: No location list" -msgstr "" +#~ msgid "E776: No location list" +#~ msgstr "" -#: ../globals.h:1068 msgid "E43: Damaged match string" msgstr "E43: Beskadige trefferstring" -#: ../globals.h:1069 msgid "E44: Corrupted regexp program" msgstr "E44: Korrupte patroonprogram" -#: ../globals.h:1071 msgid "E45: 'readonly' option is set (add ! to override)" msgstr "E45: 'readonly' opsie is aan (gebruik ! om te dwing)" -#: ../globals.h:1073 -#, fuzzy, c-format -msgid "E46: Cannot change read-only variable \"%s\"" -msgstr "E46: Kan nie lees-alleen veranderlike stel nie \"%s\"" - -#: ../globals.h:1075 -#, fuzzy, c-format -msgid "E794: Cannot set variable in the sandbox: \"%s\"" -msgstr "E46: Kan nie lees-alleen veranderlike stel nie \"%s\"" - -#: ../globals.h:1076 msgid "E47: Error while reading errorfile" msgstr "E47: Fout tydens lees van 'errorfile'" -#: ../globals.h:1078 msgid "E48: Not allowed in sandbox" msgstr "E48: Nie toegelaat in sandput nie" -#: ../globals.h:1080 msgid "E523: Not allowed here" msgstr "E523: Nie hier toegelaat nie" -#: ../globals.h:1082 msgid "E359: Screen mode setting not supported" msgstr "E359: Skermmodus instelling nie ondersteun nie" -#: ../globals.h:1083 msgid "E49: Invalid scroll size" msgstr "E49: Ongeldige rolgrootte" -#: ../globals.h:1084 msgid "E91: 'shell' option is empty" msgstr "E91: 'shell' (dop) opsie is leeg" -#: ../globals.h:1085 msgid "E255: Couldn't read in sign data!" msgstr "E255: Fout -- kon nie tekendata lees nie!" -#: ../globals.h:1086 msgid "E72: Close error on swap file" msgstr "E72: Sluitfout met ruillêer" -#: ../globals.h:1087 msgid "E73: tag stack empty" msgstr "E73: etiketstapel leeg" -#: ../globals.h:1088 msgid "E74: Command too complex" msgstr "E74: Bevel te kompleks" -#: ../globals.h:1089 msgid "E75: Name too long" msgstr "E75: Naam te lank" -#: ../globals.h:1090 msgid "E76: Too many [" msgstr "E76: Te veel [" -#: ../globals.h:1091 msgid "E77: Too many file names" msgstr "E77: Te veel lêername" -#: ../globals.h:1092 msgid "E488: Trailing characters" msgstr "E488: Oorbodige karakters" -#: ../globals.h:1093 +#, fuzzy, c-format +#~ msgid "E488: Trailing characters: %s" +#~ msgstr "E488: Oorbodige karakters" + msgid "E78: Unknown mark" msgstr "E78: Onbekende merker" -#: ../globals.h:1094 msgid "E79: Cannot expand wildcards" msgstr "E79: Kan nie plekhouers uitbrei nie" -#: ../globals.h:1096 msgid "E591: 'winheight' cannot be smaller than 'winminheight'" msgstr "E591: 'winheight' kan nie kleiner as 'winminheight' wees nie" -#: ../globals.h:1098 msgid "E592: 'winwidth' cannot be smaller than 'winminwidth'" msgstr "E592: 'winwidth' kan nie kleiner as 'winminwidth' wees nie" -#: ../globals.h:1099 msgid "E80: Error while writing" msgstr "E80: Fout tydens skryfoperasie" -#: ../globals.h:1100 -msgid "Zero count" -msgstr "Nul telling" +#, fuzzy +#~ msgid "E939: Positive count required" +#~ msgstr "E397: Lêernaam benodig" -#: ../globals.h:1101 msgid "E81: Using <SID> not in a script context" msgstr "E81: Gebruik van '<SID>' buite skripkonteks" -#: ../globals.h:1102 #, fuzzy, c-format -msgid "E685: Internal error: %s" -msgstr "E473: Interne fout" +#~ msgid "E685: Internal error: %s" +#~ msgstr "E473: Interne fout" -#: ../globals.h:1104 -msgid "E363: pattern uses more memory than 'maxmempattern'" -msgstr "" +#~ msgid "E363: pattern uses more memory than 'maxmempattern'" +#~ msgstr "" -#: ../globals.h:1105 #, fuzzy -msgid "E749: empty buffer" -msgstr "E279: Nie 'n SNiFF+ buffer nie" +#~ msgid "E749: empty buffer" +#~ msgstr "E279: Nie 'n SNiFF+ buffer nie" + +#, c-format +msgid "E86: Buffer %<PRId64> does not exist" +msgstr "E86: Buffer %<PRId64> bestaan nie" -#: ../globals.h:1108 #, fuzzy -msgid "E682: Invalid search pattern or delimiter" -msgstr "E383: Ongeldige soekstring: %s" +#~ msgid "E682: Invalid search pattern or delimiter" +#~ msgstr "E383: Ongeldige soekstring: %s" -#: ../globals.h:1109 msgid "E139: File is loaded in another buffer" msgstr "E139: Lêer is gelaai in ander buffer" -#: ../globals.h:1110 #, fuzzy, c-format -msgid "E764: Option '%s' is not set" -msgstr "E236: Font \"%s\" is nie 'n vaste-wydte font nie" +#~ msgid "E764: Option '%s' is not set" +#~ msgstr "E236: Font \"%s\" is nie 'n vaste-wydte font nie" -#: ../globals.h:1111 #, fuzzy -msgid "E850: Invalid register name" -msgstr "E354: Ongeldige registernaam: '%s'" +#~ msgid "E850: Invalid register name" +#~ msgstr "E354: Ongeldige registernaam: '%s'" + +#, fuzzy, c-format +#~ msgid "E919: Directory not found in '%s': \"%s\"" +#~ msgstr "E161: Inspeksiepunt kon nie gevind word nie: %s" + +msgid "E519: Option not supported" +msgstr "E519: Opsie is nie ondersteun nie" + +#, fuzzy +#~ msgid "E856: Filename too long" +#~ msgstr "E75: Naam te lank" + +#~ msgid "E806: using Float as a String" +#~ msgstr "" -#: ../globals.h:1114 msgid "search hit TOP, continuing at BOTTOM" msgstr "soektog het BO getref, gaan voort van ONDER af" -#: ../globals.h:1115 msgid "search hit BOTTOM, continuing at TOP" msgstr "soektog het ONDER getref, gaan voort van BO af" -#: ../hardcopy.c:240 msgid "E550: Missing colon" msgstr "E550: Ontbrekende dubbelpunt" -#: ../hardcopy.c:252 msgid "E551: Illegal component" msgstr "E551: Ongeldige komponent" -#: ../hardcopy.c:259 msgid "E552: digit expected" msgstr "E552: syfer verwag" -#: ../hardcopy.c:473 #, c-format msgid "Page %d" msgstr "Bladsy %d" -#: ../hardcopy.c:597 msgid "No text to be printed" msgstr "Geen teks om te druk nie" -#: ../hardcopy.c:668 -#, c-format -msgid "Printing page %d (%d%%)" -msgstr "Druk nou bladsy %d (%d%%)" +#, fuzzy, c-format +#~ msgid "Printing page %d (%zu%%)" +#~ msgstr "Druk nou bladsy %d (%d%%)" -#: ../hardcopy.c:680 #, c-format msgid " Copy %d of %d" msgstr " Kopie %d van %d" -#: ../hardcopy.c:733 #, c-format msgid "Printed: %s" msgstr "Gedruk: %s" -#: ../hardcopy.c:740 msgid "Printing aborted" msgstr "Drukkery gestaak" -#: ../hardcopy.c:1365 msgid "E455: Error writing to PostScript output file" msgstr "E455: Kan nie na 'PostScript' afvoerlêer skryf nie" -#: ../hardcopy.c:1747 #, c-format msgid "E624: Can't open file \"%s\"" msgstr "E624: Kan nie lêer \"%s\" oopmaak nie" -#: ../hardcopy.c:1756 ../hardcopy.c:2470 #, c-format msgid "E457: Can't read PostScript resource file \"%s\"" msgstr "E457: Kan nie 'PostScript' hulpbron-lêer \"%s\" lees nie" -#: ../hardcopy.c:1772 #, c-format msgid "E618: file \"%s\" is not a PostScript resource file" msgstr "E618: Lêer \"%s\" is nie 'n 'PostScript' hulpbron-lêer nie" -#: ../hardcopy.c:1788 ../hardcopy.c:1805 ../hardcopy.c:1844 #, c-format msgid "E619: file \"%s\" is not a supported PostScript resource file" msgstr "" "E619: Lêer \"%s\" is nie 'n ondersteunde 'PostScript' hulpbron-lêer nie" -#: ../hardcopy.c:1856 #, c-format msgid "E621: \"%s\" resource file has wrong version" msgstr "E621: \"%s\" die hulpbron lêer het die verkeerde weergawe" -#: ../hardcopy.c:2225 -msgid "E673: Incompatible multi-byte encoding and character set." -msgstr "" +#~ msgid "E673: Incompatible multi-byte encoding and character set." +#~ msgstr "" -#: ../hardcopy.c:2238 -msgid "E674: printmbcharset cannot be empty with multi-byte encoding." -msgstr "" +#~ msgid "E674: printmbcharset cannot be empty with multi-byte encoding." +#~ msgstr "" -#: ../hardcopy.c:2254 -msgid "E675: No default font specified for multi-byte printing." -msgstr "" +#~ msgid "E675: No default font specified for multi-byte printing." +#~ msgstr "" -#: ../hardcopy.c:2426 msgid "E324: Can't open PostScript output file" msgstr "E324: Kan nie 'PostScript' afvoerlêer oopmaak nie" -#: ../hardcopy.c:2458 #, c-format msgid "E456: Can't open file \"%s\"" msgstr "E456: Kan nie lêer %s oopmaak nie" -#: ../hardcopy.c:2583 msgid "E456: Can't find PostScript resource file \"prolog.ps\"" msgstr "E456: Kan nie 'PostScript' hulpbron-lêer \"prolog.ps\" lees nie" -#: ../hardcopy.c:2593 #, fuzzy -msgid "E456: Can't find PostScript resource file \"cidfont.ps\"" -msgstr "E456: Kan nie 'PostScript' hulpbron-lêer \"%s\" vind nie" +#~ msgid "E456: Can't find PostScript resource file \"cidfont.ps\"" +#~ msgstr "E456: Kan nie 'PostScript' hulpbron-lêer \"%s\" vind nie" -#: ../hardcopy.c:2622 ../hardcopy.c:2639 ../hardcopy.c:2665 #, c-format msgid "E456: Can't find PostScript resource file \"%s.ps\"" msgstr "E456: Kan nie 'PostScript' hulpbron-lêer \"%s\" vind nie" -#: ../hardcopy.c:2654 #, fuzzy, c-format -msgid "E620: Unable to convert to print encoding \"%s\"" -msgstr "E620: Kon nie van wye-greep na \"%s\" enkodering verander nie" +#~ msgid "E620: Unable to convert to print encoding \"%s\"" +#~ msgstr "E620: Kon nie van wye-greep na \"%s\" enkodering verander nie" -#: ../hardcopy.c:2877 msgid "Sending to printer..." msgstr "Besig om te stuur na drukker..." -#: ../hardcopy.c:2881 msgid "E365: Failed to print PostScript file" msgstr "E365: Kon nie 'PostScript' lêer druk nie" -#: ../hardcopy.c:2883 msgid "Print job sent." msgstr "Druktaak gestuur." -#: ../if_cscope.c:85 msgid "Add a new database" msgstr "Voeg 'n nuwe databasis by" -#: ../if_cscope.c:87 msgid "Query for a pattern" msgstr "Soek vir 'n patroon" -#: ../if_cscope.c:89 msgid "Show this message" msgstr "Wys hierdie boodskap" -#: ../if_cscope.c:91 msgid "Kill a connection" msgstr "Sluit 'n verbinding" -#: ../if_cscope.c:93 msgid "Reinit all connections" msgstr "Herstel alle verbindings" -#: ../if_cscope.c:95 msgid "Show connections" msgstr "Wys verbindings" -#: ../if_cscope.c:101 #, c-format msgid "E560: Usage: cs[cope] %s" msgstr "E560: Gebruik: cs[cope] %s" -#: ../if_cscope.c:225 msgid "This cscope command does not support splitting the window.\n" msgstr "" "Hierdie 'cscope' bevel ondersteun nie die splitsing van die venster nie.\n" -#: ../if_cscope.c:266 msgid "E562: Usage: cstag <ident>" msgstr "E562: Gebruik: 'cstag <ident>'" -#: ../if_cscope.c:313 msgid "E257: cstag: tag not found" msgstr "E257: 'cstag': etiket nie gevind nie" -#: ../if_cscope.c:461 #, c-format msgid "E563: stat(%s) error: %d" msgstr "E563: 'stat(%s)' fout: %d" -#: ../if_cscope.c:551 #, c-format msgid "E564: %s is not a directory or a valid cscope database" msgstr "E564: %s is nie 'n gids of 'n geldige 'cscope' databasis nie" -#: ../if_cscope.c:566 #, c-format msgid "Added cscope database %s" msgstr "'cscope' databasis %s bygevoeg" -#: ../if_cscope.c:616 -#, c-format -msgid "E262: error reading cscope connection %<PRId64>" -msgstr "E262: 'cscope' verbinding %<PRId64> kon nie gelees word nie" +#, fuzzy, c-format +#~ msgid "E262: error reading cscope connection %<PRIu64>" +#~ msgstr "E262: 'cscope' verbinding %<PRId64> kon nie gelees word nie" -#: ../if_cscope.c:711 msgid "E561: unknown cscope search type" msgstr "E561: onbekende 'cscope' soektipe" -#: ../if_cscope.c:752 ../if_cscope.c:789 msgid "E566: Could not create cscope pipes" msgstr "E566: Kon nie 'cscope' pype skep nie" -#: ../if_cscope.c:767 msgid "E622: Could not fork for cscope" msgstr "E622: Kon nie vurk vir 'cscope' nie" -#: ../if_cscope.c:849 #, fuzzy -msgid "cs_create_connection setpgid failed" -msgstr "'cs_create_connection' uitvoering het misluk" +#~ msgid "cs_create_connection setpgid failed" +#~ msgstr "'cs_create_connection' uitvoering het misluk" -#: ../if_cscope.c:853 ../if_cscope.c:889 msgid "cs_create_connection exec failed" msgstr "'cs_create_connection' uitvoering het misluk" -#: ../if_cscope.c:863 ../if_cscope.c:902 msgid "cs_create_connection: fdopen for to_fp failed" msgstr "'cs_create_connection': 'fdopen' vir 'to_fp' het misluk" -#: ../if_cscope.c:865 ../if_cscope.c:906 msgid "cs_create_connection: fdopen for fr_fp failed" msgstr "'cs_create_connection': 'fdopen' vir 'fr_fp' het misluk" -#: ../if_cscope.c:890 msgid "E623: Could not spawn cscope process" msgstr "E623: Kon nie 'cscope' proses skep nie" -#: ../if_cscope.c:932 msgid "E567: no cscope connections" msgstr "E567: geen 'cscope' verbindings nie" -#: ../if_cscope.c:1009 #, c-format msgid "E469: invalid cscopequickfix flag %c for %c" msgstr "E469: ongeldige 'cscopequickfix' vlag %c vir %c" -#: ../if_cscope.c:1058 #, c-format msgid "E259: no matches found for cscope query %s of %s" msgstr "E259: geen treffers gevind vir 'cscope' versoek %s van %s nie" -#: ../if_cscope.c:1142 msgid "cscope commands:\n" msgstr "'cscope' bevele:\n" -#: ../if_cscope.c:1150 #, fuzzy, c-format -msgid "%-5s: %s%*s (Usage: %s)" -msgstr "%-5s: %-30s: (Gebruik: %s)" +#~ msgid "%-5s: %s%*s (Usage: %s)" +#~ msgstr "%-5s: %-30s: (Gebruik: %s)" -#: ../if_cscope.c:1155 -msgid "" -"\n" -" c: Find functions calling this function\n" -" d: Find functions called by this function\n" -" e: Find this egrep pattern\n" -" f: Find this file\n" -" g: Find this definition\n" -" i: Find files #including this file\n" -" s: Find this C symbol\n" -" t: Find this text string\n" -msgstr "" +#~ msgid "" +#~ "\n" +#~ " a: Find assignments to this symbol\n" +#~ " c: Find functions calling this function\n" +#~ " d: Find functions called by this function\n" +#~ " e: Find this egrep pattern\n" +#~ " f: Find this file\n" +#~ " g: Find this definition\n" +#~ " i: Find files #including this file\n" +#~ " s: Find this C symbol\n" +#~ " t: Find this text string\n" +#~ msgstr "" -#: ../if_cscope.c:1226 msgid "E568: duplicate cscope database not added" msgstr "E568: duplikaat 'cscope' databasis nie bygevoeg nie" -#: ../if_cscope.c:1335 #, c-format msgid "E261: cscope connection %s not found" msgstr "E261: 'cscope' verbinding %s nie gevind nie" -#: ../if_cscope.c:1364 #, c-format msgid "cscope connection %s closed" msgstr "'cscope' verbinding %s gesluit" #. should not reach here -#: ../if_cscope.c:1486 msgid "E570: fatal error in cs_manage_matches" msgstr "E570: fatale fout in 'cs_manage_matches'" -#: ../if_cscope.c:1693 #, c-format msgid "Cscope tag: %s" msgstr "Cscope etiket: %s" -#: ../if_cscope.c:1711 +#. Column headers for match number, line number and filename. msgid "" "\n" " # line" @@ -3311,329 +3023,314 @@ msgstr "" "\n" " # reël" -#: ../if_cscope.c:1713 msgid "filename / context / line\n" msgstr "lêernaam / konteks / reël\n" -#: ../if_cscope.c:1809 #, c-format msgid "E609: Cscope error: %s" msgstr "E609: Cscope fout: %s" -#: ../if_cscope.c:2053 msgid "All cscope databases reset" msgstr "Alle 'cscope' databasisse herstel" -#: ../if_cscope.c:2123 msgid "no cscope connections\n" msgstr "geen 'cscope' verbindings nie\n" -#: ../if_cscope.c:2126 msgid " # pid database name prepend path\n" msgstr " # pid databasis naam gidsvoorvoegsel\n" -#: ../main.c:144 -#, fuzzy -msgid "Unknown option argument" -msgstr "Onbekende opsie" +#, c-format +#~ msgid "E1502: Lua failed to grow stack to %i" +#~ msgstr "" -#: ../main.c:146 -msgid "Too many edit arguments" -msgstr "Te veel redigeer-parameters" +#~ msgid "" +#~ "E5100: Cannot convert given lua table: table should either have a sequence " +#~ "of positive integer keys or contain only string keys" +#~ msgstr "" + +#~ msgid "E5101: Cannot convert given lua type" +#~ msgstr "" + +#, c-format +#~ msgid "E5102: Lua failed to grow stack to %i" +#~ msgstr "" -#: ../main.c:148 +#, fuzzy, c-format +#~ msgid "E5104: Error while creating lua chunk: %.*s" +#~ msgstr "E47: Fout tydens lees van 'errorfile'" + +#, fuzzy, c-format +#~ msgid "E5105: Error while calling lua chunk: %.*s" +#~ msgstr "E47: Fout tydens lees van 'errorfile'" + +#, fuzzy, c-format +#~ msgid "E5109: Error while creating lua chunk: %.*s" +#~ msgstr "E47: Fout tydens lees van 'errorfile'" + +#, fuzzy, c-format +#~ msgid "E5110: Error while creating lua function: %.*s" +#~ msgstr "E47: Fout tydens lees van 'errorfile'" + +#, fuzzy, c-format +#~ msgid "E5111: Error while calling lua function: %.*s" +#~ msgstr "E47: Fout tydens lees van 'errorfile'" + +#, fuzzy, c-format +#~ msgid "E5112: Error while creating lua chunk: %.*s" +#~ msgstr "E47: Fout tydens lees van 'errorfile'" + +#, fuzzy, c-format +#~ msgid "E5113: Error while calling lua chunk: %.*s" +#~ msgstr "E47: Fout tydens lees van 'errorfile'" + +#, fuzzy, c-format +#~ msgid "E5106: Error while creating vim module: %.*s" +#~ msgstr "E47: Fout tydens lees van 'errorfile'" + +#~ msgid "E970: Failed to initialize lua interpreter" +#~ msgstr "" + +#. stack: vim, error +#, fuzzy, c-format +#~ msgid "E5117: Error while updating package paths: %.*s" +#~ msgstr "E47: Fout tydens lees van 'errorfile'" + +#, fuzzy, c-format +#~ msgid "E5107: Error while creating lua chunk for luaeval(): %.*s" +#~ msgstr "E47: Fout tydens lees van 'errorfile'" + +#, fuzzy, c-format +#~ msgid "E5108: Error while calling lua chunk for luaeval(): %.*s" +#~ msgstr "E47: Fout tydens lees van 'errorfile'" + +#, c-format +#~ msgid "E5114: Error while converting print argument #%i: %.*s" +#~ msgstr "" + +#, fuzzy, c-format +#~ msgid "E5115: Error while loading debug string: %.*s" +#~ msgstr "E47: Fout tydens lees van 'errorfile'" + +#, fuzzy, c-format +#~ msgid "E5116: Error while calling debug string: %.*s" +#~ msgstr "E47: Fout tydens lees van 'errorfile'" + +msgid "cannot save undo information" +msgstr "kan nie herwin-inligting stoor nie" + +#. Error messages msgid "Argument missing after" msgstr "Parameter ontbreek na" -#: ../main.c:150 #, fuzzy -msgid "Garbage after option argument" -msgstr "Gemors na opsie" +#~ msgid "Garbage after option argument" +#~ msgstr "Gemors na opsie" + +#, fuzzy +#~ msgid "Unknown option argument" +#~ msgstr "Onbekende opsie" + +msgid "Too many edit arguments" +msgstr "Te veel redigeer-parameters" -#: ../main.c:152 msgid "Too many \"+command\", \"-c command\" or \"--cmd command\" arguments" msgstr "Te veel \"+command\", \"-c command\" of \"--cmd command\" parameters" -#: ../main.c:154 -msgid "Invalid argument for" -msgstr "Ongeldige parameter vir" - -#: ../main.c:294 -#, c-format -msgid "%d files to edit\n" -msgstr "%d lêers om te bewerk\n" +#, fuzzy, c-format +#~ msgid "E5421: Failed to open stdin: %s" +#~ msgstr "E286: Gefaal om invoermetode oop te maak" -#: ../main.c:1342 msgid "Attempt to open script file again: \"" msgstr "Probeer weer om skriplêer oop te maak: \"" -#: ../main.c:1350 msgid "Cannot open for reading: \"" msgstr "Kan nie oopmaak om te lees nie: \"" -#: ../main.c:1393 msgid "Cannot open for script output: \"" msgstr "Kan nie oopmaak vir skrip-afvoer nie: \"" -#: ../main.c:1622 msgid "Vim: Warning: Output is not to a terminal\n" msgstr "Vim: Waarskuwing: Afvoer gaan nie na 'n terminaal nie\n" -#: ../main.c:1624 msgid "Vim: Warning: Input is not from a terminal\n" msgstr "Vim: Waarskuwing: Invoer kom nie vanaf 'n terminaal nie\n" #. just in case.. -#: ../main.c:1891 msgid "pre-vimrc command line" msgstr "vóór-'vimrc' bevelreël" -#: ../main.c:1964 #, c-format msgid "E282: Cannot read from \"%s\"" msgstr "E282: Kan nie lees uit \"%s\" nie" -#: ../main.c:2149 +#, fuzzy msgid "" "\n" -"More info with: \"vim -h\"\n" +"More info with \"" msgstr "" "\n" "Meer inligting met: \"vim -h\"\n" -#: ../main.c:2178 -msgid "[file ..] edit specified file(s)" -msgstr "[lêer ..] bewerk lêer(s)" - -#: ../main.c:2179 -msgid "- read text from stdin" -msgstr "- lees teks uit 'stdin'" - -#: ../main.c:2180 -msgid "-t tag edit file where tag is defined" -msgstr "-t tag bewerk lêer waar etiket gedefinieer is" +#. kill us with CTRL-C here, if you like +#, fuzzy +#~ msgid "Usage:\n" +#~ msgstr "" +#~ "\n" +#~ "\n" +#~ "gebruik:" -#: ../main.c:2181 -msgid "-q [errorfile] edit file with first error" -msgstr "-q [foutlêer] bewerk lêer met eerste fout" +#, fuzzy +#~ msgid " nvim [options] [file ...] Edit file(s)\n" +#~ msgstr "[lêer ..] bewerk lêer(s)" -#: ../main.c:2187 -msgid "" -"\n" -"\n" -"usage:" -msgstr "" -"\n" -"\n" -"gebruik:" +#, fuzzy +#~ msgid " nvim [options] - Read text from stdin\n" +#~ msgstr "- lees teks uit 'stdin'" -#: ../main.c:2189 -msgid " vim [arguments] " -msgstr " vim [parameters] " +#, fuzzy +#~ msgid " nvim [options] -t <tag> Edit file where tag is defined\n" +#~ msgstr "-t tag bewerk lêer waar etiket gedefinieer is" -#: ../main.c:2193 -msgid "" -"\n" -" or:" -msgstr "" -"\n" -" of:" +#, fuzzy +#~ msgid " nvim [options] -q [errorfile] Edit file with first error\n" +#~ msgstr "-q [foutlêer] bewerk lêer met eerste fout" -#: ../main.c:2196 +#, fuzzy msgid "" "\n" -"\n" -"Arguments:\n" +"Options:\n" msgstr "" "\n" -"\n" -"Parameters:\n" - -#: ../main.c:2197 -msgid "--\t\t\tOnly file names after this" -msgstr "--\t\t\tSlegs lêername hierna" - -#: ../main.c:2199 -msgid "--literal\t\tDon't expand wildcards" -msgstr "--literal\t\tMoet nie plekhouers uitbrei nie" - -#: ../main.c:2201 -msgid "-v\t\t\tVi mode (like \"vi\")" -msgstr "-v\t\t\tVi modus (soos \"vi\")" - -#: ../main.c:2202 -msgid "-e\t\t\tEx mode (like \"ex\")" -msgstr "-e\t\t\tEx modus (soos \"ex\")" - -#: ../main.c:2203 -msgid "-E\t\t\tImproved Ex mode" -msgstr "" - -#: ../main.c:2204 -msgid "-s\t\t\tSilent (batch) mode (only for \"ex\")" -msgstr "-s\t\t\tStil (bondel) modus (slegs vir \"ex\")" - -#: ../main.c:2205 -msgid "-d\t\t\tDiff mode (like \"vimdiff\")" -msgstr "-d\t\t\tDiff modus (soos \"vimdiff\")" - -#: ../main.c:2206 -msgid "-y\t\t\tEasy mode (like \"evim\", modeless)" -msgstr "-y\t\t\tEasy modus (soos \"evim\", modusloos)" - -#: ../main.c:2207 -msgid "-R\t\t\tReadonly mode (like \"view\")" -msgstr "-R\t\t\tLeesalleen modus (soos \"view\")" - -#: ../main.c:2208 -msgid "-Z\t\t\tRestricted mode (like \"rvim\")" -msgstr "-Z\t\t\tBeperkte modus (soos \"rvim\")" +"--- Opsies ---" -#: ../main.c:2209 -msgid "-m\t\t\tModifications (writing files) not allowed" -msgstr "-m\t\t\tVeranderings (skryf van lêers) nie toegelaat nie" +#, fuzzy +#~ msgid " -- Only file names after this\n" +#~ msgstr "--\t\t\tSlegs lêername hierna" -#: ../main.c:2210 -msgid "-M\t\t\tModifications in text not allowed" -msgstr "-M\t\t\tVeranderings aan teks nie toegelaat nie" +#, fuzzy +#~ msgid " + Start at end of file\n" +#~ msgstr " vir twee modusse " -#: ../main.c:2211 -msgid "-b\t\t\tBinary mode" -msgstr "-b\t\t\tBinêre modus" +#, fuzzy +#~ msgid " --cmd <cmd> Execute <cmd> before any config\n" +#~ msgstr "--cmd <bevel>\tVoer <bevel> uit voor enige .vimrc-lêer gelaai word" -#: ../main.c:2212 -msgid "-l\t\t\tLisp mode" -msgstr "-l\t\t\tLisp modus" +#, fuzzy +#~ msgid " +<cmd>, -c <cmd> Execute <cmd> after config and first file\n" +#~ msgstr "-c <bevel>\t\tVoer <bevel> uit na eerste lêer gelaai is" -#: ../main.c:2213 -msgid "-C\t\t\tCompatible with Vi: 'compatible'" -msgstr "-C\t\t\tVersoenbaar met Vi: 'compatible'" +#, fuzzy +#~ msgid " -b Binary mode\n" +#~ msgstr " vir twee modusse " -#: ../main.c:2214 -msgid "-N\t\t\tNot fully Vi compatible: 'nocompatible'" -msgstr "-N\t\t\tNie ten volle Vi-versoenbaar nie: 'nocompatible'" +#, fuzzy +#~ msgid " -d Diff mode\n" +#~ msgstr " vir twee modusse " -#: ../main.c:2215 -msgid "-V[N][fname]\t\tBe verbose [level N] [log messages to fname]" -msgstr "" +#~ msgid " -e, -E Ex mode, Improved Ex mode\n" +#~ msgstr "" -#: ../main.c:2216 -msgid "-D\t\t\tDebugging mode" -msgstr "-D\t\t\tOntfoutmodus" +#, fuzzy +#~ msgid " -es Silent (batch) mode\n" +#~ msgstr " vir twee modusse " -#: ../main.c:2217 -msgid "-n\t\t\tNo swap file, use memory only" -msgstr "-n\t\t\tGeen ruillêer, gebruik slegs geheue" +#~ msgid " -h, --help Print this help message\n" +#~ msgstr "" -#: ../main.c:2218 -msgid "-r\t\t\tList swap files and exit" -msgstr "-r\t\t\tLys ruillêers en verlaat vim" +#~ msgid " -i <shada> Use this shada file\n" +#~ msgstr "" -#: ../main.c:2219 -msgid "-r (with file name)\tRecover crashed session" -msgstr "-r (met lêer naam)\tHerwin ineengestorte sessie" +#, fuzzy +#~ msgid " -m Modifications (writing files) not allowed\n" +#~ msgstr "-m\t\t\tVeranderings (skryf van lêers) nie toegelaat nie" -#: ../main.c:2220 -msgid "-L\t\t\tSame as -r" -msgstr "-L\t\t\tSelfde as -r" +#, fuzzy +#~ msgid " -M Modifications in text not allowed\n" +#~ msgstr "-M\t\t\tVeranderings aan teks nie toegelaat nie" -#: ../main.c:2221 -msgid "-A\t\t\tstart in Arabic mode" -msgstr "-A\t\t\tbegin in Arabiese modus" +#, fuzzy +#~ msgid " -n No swap file, use memory only\n" +#~ msgstr "-n\t\t\tGeen ruillêer, gebruik slegs geheue" -#: ../main.c:2222 -msgid "-H\t\t\tStart in Hebrew mode" -msgstr "-H\t\t\tBegin in Hebreeuse modus" +#, fuzzy +#~ msgid " -o[N] Open N windows (default: one per file)\n" +#~ msgstr "-o[N]\t\tMaak N vensters oop (verstek: een vir elke lêer)" -#: ../main.c:2223 -msgid "-F\t\t\tStart in Farsi mode" -msgstr "-F\t\t\tBegin in Farsi modus" +#, fuzzy +msgid "" +" -O[N] Open N vertical windows (default: one per file)\n" +msgstr "-o[N]\t\tMaak N vensters oop (verstek: een vir elke lêer)" -#: ../main.c:2224 -msgid "-T <terminal>\tSet terminal type to <terminal>" -msgstr "-T <terminaal>\tStel terminaaltipe na <terminaal>" +#, fuzzy +#~ msgid " -p[N] Open N tab pages (default: one per file)\n" +#~ msgstr "-o[N]\t\tMaak N vensters oop (verstek: een vir elke lêer)" -#: ../main.c:2225 -msgid "-u <vimrc>\t\tUse <vimrc> instead of any .vimrc" -msgstr "-u <vimrc>\t\tGebruik <vimrc> in plaas van enige ander .vimrc" +#~ msgid " -r, -L List swap files\n" +#~ msgstr "" -#: ../main.c:2226 -msgid "--noplugin\t\tDon't load plugin scripts" -msgstr "--noplugin\t\tMoet nie inpropskripte laai nie" +#~ msgid " -r <file> Recover edit state for this file\n" +#~ msgstr "" -#: ../main.c:2227 #, fuzzy -msgid "-p[N]\t\tOpen N tab pages (default: one for each file)" -msgstr "-o[N]\t\tMaak N vensters oop (verstek: een vir elke lêer)" - -#: ../main.c:2228 -msgid "-o[N]\t\tOpen N windows (default: one for each file)" -msgstr "-o[N]\t\tMaak N vensters oop (verstek: een vir elke lêer)" +#~ msgid " -R Read-only mode\n" +#~ msgstr " vir twee modusse " -#: ../main.c:2229 -msgid "-O[N]\t\tLike -o but split vertically" -msgstr "-O[N]\t\tSoos -o maar verdeel vertikaal" +#, fuzzy +#~ msgid " -S <session> Source <session> after loading the first file\n" +#~ msgstr "" +#~ "-S <sessie>\t\tVoer bevele in lêer <sessie> uit na eerste lêer gelaai is" -#: ../main.c:2230 -msgid "+\t\t\tStart at end of file" -msgstr "+\t\t\tBegin by einde van lêer" +#, fuzzy +#~ msgid " -s <scriptin> Read Normal mode commands from <scriptin>\n" +#~ msgstr "-s <skripin>\t\tLees Normale-modus bevele van lêer <skripin>" -#: ../main.c:2231 -msgid "+<lnum>\t\tStart at line <lnum>" -msgstr "+<lnum>\t\tBegin by reël <lnum>" +#~ msgid " -u <config> Use this config file\n" +#~ msgstr "" -#: ../main.c:2232 -msgid "--cmd <command>\tExecute <command> before loading any vimrc file" -msgstr "--cmd <bevel>\tVoer <bevel> uit voor enige .vimrc-lêer gelaai word" +#, fuzzy +#~ msgid " -v, --version Print version information\n" +#~ msgstr "--version\t\tSkryf weergawe-inligting en sluit" -#: ../main.c:2233 -msgid "-c <command>\t\tExecute <command> after loading the first file" -msgstr "-c <bevel>\t\tVoer <bevel> uit na eerste lêer gelaai is" +#~ msgid " -V[N][file] Verbose [level][file]\n" +#~ msgstr "" -#: ../main.c:2235 -msgid "-S <session>\t\tSource file <session> after loading the first file" -msgstr "" -"-S <sessie>\t\tVoer bevele in lêer <sessie> uit na eerste lêer gelaai is" +#, fuzzy +#~ msgid " -Z Restricted mode\n" +#~ msgstr " vir twee modusse " -#: ../main.c:2236 -msgid "-s <scriptin>\tRead Normal mode commands from file <scriptin>" -msgstr "-s <skripin>\t\tLees Normale-modus bevele van lêer <skripin>" +#~ msgid " --api-info Write msgpack-encoded API metadata to stdout\n" +#~ msgstr "" -#: ../main.c:2237 -msgid "-w <scriptout>\tAppend all typed commands to file <scriptout>" -msgstr "-w <skripuit>\tLas alle getikte bevele aan by lêer <skripuit>" +#~ msgid " --embed Use stdin/stdout as a msgpack-rpc channel\n" +#~ msgstr "" -#: ../main.c:2238 -msgid "-W <scriptout>\tWrite all typed commands to file <scriptout>" -msgstr "-W <skripuit>\tSkryf alle getikte bevele na lêer <skripuit>" +#~ msgid " --headless Don't start a user interface\n" +#~ msgstr "" -#: ../main.c:2240 -msgid "--startuptime <file>\tWrite startup timing messages to <file>" -msgstr "" +#, fuzzy +#~ msgid " --literal Don't expand wildcards\n" +#~ msgstr "--literal\t\tMoet nie plekhouers uitbrei nie" -#: ../main.c:2242 -msgid "-i <viminfo>\t\tUse <viminfo> instead of .viminfo" -msgstr "-i <viminfo>\t\tGebruik <viminfo> in plaas van .viminfo" +#, fuzzy +#~ msgid " --noplugin Don't load plugins\n" +#~ msgstr "--noplugin\t\tMoet nie inpropskripte laai nie" -#: ../main.c:2243 -msgid "-h or --help\tPrint Help (this message) and exit" -msgstr "-h of --help\tSkryf Hulp (hierdie boodskap) en sluit" +#~ msgid " --startuptime <file> Write startup timing messages to <file>\n" +#~ msgstr "" -#: ../main.c:2244 -msgid "--version\t\tPrint version information and exit" -msgstr "--version\t\tSkryf weergawe-inligting en sluit" +#~ msgid "" +#~ "\n" +#~ "See \":help startup-options\" for all options.\n" +#~ msgstr "" -#: ../mark.c:676 msgid "No marks set" msgstr "Geen merkers gestel nie" -#: ../mark.c:678 #, c-format msgid "E283: No marks matching \"%s\"" msgstr "E283: Geen merkers pas op \"%s\" nie" #. Highlight title -#: ../mark.c:687 msgid "" "\n" "mark line col file/text" @@ -3642,7 +3339,6 @@ msgstr "" "merk reël kol lêer/teks" #. Highlight title -#: ../mark.c:789 msgid "" "\n" " jump line col file/text" @@ -3651,7 +3347,6 @@ msgstr "" " spring reël kol lêer/teks" #. Highlight title -#: ../mark.c:831 msgid "" "\n" "change line col text" @@ -3659,110 +3354,63 @@ msgstr "" "\n" "verander reël kol teks" -#: ../mark.c:1238 -msgid "" -"\n" -"# File marks:\n" -msgstr "" -"\n" -"# Lêermerkers:\n" - -#. Write the jumplist with -' -#: ../mark.c:1271 -msgid "" -"\n" -"# Jumplist (newest first):\n" -msgstr "" -"\n" -"# Springlys (nuutste eerste):\n" - -#: ../mark.c:1352 -msgid "" -"\n" -"# History of marks within files (newest to oldest):\n" -msgstr "" -"\n" -"# Geskiedenis van merkers in lêers (nuutste tot oudste):\n" - -#: ../mark.c:1431 -msgid "Missing '>'" -msgstr "Ontbrekende '>'" - -#: ../memfile.c:426 msgid "E293: block was not locked" msgstr "E293: blok was nie gesluit nie" -#: ../memfile.c:799 msgid "E294: Seek error in swap file read" msgstr "E294: Soekfout in lees van ruillêer" -#: ../memfile.c:803 msgid "E295: Read error in swap file" msgstr "E295: Leesfout in ruillêer" -#: ../memfile.c:849 msgid "E296: Seek error in swap file write" msgstr "E296: Soekfout in skryf van ruillêer" -#: ../memfile.c:865 msgid "E297: Write error in swap file" msgstr "E297: Skryffout in ruillêer" -#: ../memfile.c:1036 msgid "E300: Swap file already exists (symlink attack?)" msgstr "E300: Ruillêer bestaan alreeds! ('symlink' probleem?)" -#: ../memline.c:318 msgid "E298: Didn't get block nr 0?" msgstr "E298: Het nie blok no 0 gekry nie?" -#: ../memline.c:361 msgid "E298: Didn't get block nr 1?" msgstr "E298: Het nie blok no 1 gekry nie?" -#: ../memline.c:377 msgid "E298: Didn't get block nr 2?" msgstr "E298: Het nie blok no 2 gekry nie?" #. could not (re)open the swap file, what can we do???? -#: ../memline.c:465 msgid "E301: Oops, lost the swap file!!!" msgstr "E301: Hiert, die ruillêer is weg!!!" -#: ../memline.c:477 msgid "E302: Could not rename swap file" msgstr "E302: Kon nie ruillêer vernoem nie" -#: ../memline.c:554 #, c-format msgid "E303: Unable to open swap file for \"%s\", recovery impossible" msgstr "E303: Kon nie ruillêer oopmaak vir \"%s\" nie, herwinning onmoontlik" -#: ../memline.c:666 #, fuzzy -msgid "E304: ml_upd_block0(): Didn't get block 0??" -msgstr "E304: 'ml_timestamp': Het nie blok 0 gekry nie??" +#~ msgid "E304: ml_upd_block0(): Didn't get block 0??" +#~ msgstr "E304: 'ml_timestamp': Het nie blok 0 gekry nie??" #. no swap files found -#: ../memline.c:830 #, c-format msgid "E305: No swap file found for %s" msgstr "E305: Geen ruillêer gevind vir %s nie" -#: ../memline.c:839 msgid "Enter number of swap file to use (0 to quit): " msgstr "Tik die nommer van die ruillêer om te gebruik (0 om te stop)" -#: ../memline.c:879 #, c-format msgid "E306: Cannot open %s" msgstr "E306: Kan %s nie oopmaak nie" -#: ../memline.c:897 msgid "Unable to read block 0 from " msgstr "Kan nie blok 0 lees vanaf " -#: ../memline.c:900 msgid "" "\n" "Maybe no changes were made or Vim did not update the swap file." @@ -3770,28 +3418,22 @@ msgstr "" "\n" "Vim het die ruillêer nie opgedateer nie. Dalk was niks verander nie." -#: ../memline.c:909 msgid " cannot be used with this version of Vim.\n" msgstr " kan nie gebruik word met hierdie weergawe van Vim nie.\n" -#: ../memline.c:911 msgid "Use Vim version 3.0.\n" msgstr "Gebruik Vim weergawe 3.0.\n" -#: ../memline.c:916 #, c-format msgid "E307: %s does not look like a Vim swap file" msgstr "E307: %s lyk nie soos 'n Vim ruillêer nie" -#: ../memline.c:922 msgid " cannot be used on this computer.\n" msgstr " kan nie gebruik word op hierdie rekenaar nie.\n" -#: ../memline.c:924 msgid "The file was created on " msgstr "Die lêer is geskep op " -#: ../memline.c:928 msgid "" ",\n" "or the file has been damaged." @@ -3799,85 +3441,66 @@ msgstr "" ",\n" "of die lêer is beskadig." -#: ../memline.c:945 -msgid " has been damaged (page size is smaller than minimum value).\n" -msgstr "" +#~ msgid " has been damaged (page size is smaller than minimum value).\n" +#~ msgstr "" -#: ../memline.c:974 #, c-format msgid "Using swap file \"%s\"" msgstr "Gebruik ruillêer \"%s\"" -#: ../memline.c:980 #, c-format msgid "Original file \"%s\"" msgstr "Oorspronklike lêer \"%s\"" -#: ../memline.c:995 msgid "E308: Warning: Original file may have been changed" msgstr "E308: Waarskuwing: Oorspronklike lêer is dalk gewysig" -#: ../memline.c:1061 #, c-format msgid "E309: Unable to read block 1 from %s" msgstr "E309: Kan nie block 1 lees van %s" -#: ../memline.c:1065 msgid "???MANY LINES MISSING" msgstr "???BAIE REËLS WEG" -#: ../memline.c:1076 msgid "???LINE COUNT WRONG" msgstr "???REËLTELLING FOUTIEF" -#: ../memline.c:1082 msgid "???EMPTY BLOCK" msgstr "???LEË BLOK" -#: ../memline.c:1103 msgid "???LINES MISSING" msgstr "???REËLS WEG" -#: ../memline.c:1128 #, c-format msgid "E310: Block 1 ID wrong (%s not a .swp file?)" msgstr "E310: Blok 1 se ID is foutief (%s nie 'n .swp lêer nie?)" -#: ../memline.c:1133 msgid "???BLOCK MISSING" msgstr "???BLOK WEG" -#: ../memline.c:1147 msgid "??? from here until ???END lines may be messed up" msgstr "??? van hier tot ???END mag reëls deurmekaar wees" -#: ../memline.c:1164 msgid "??? from here until ???END lines may have been inserted/deleted" msgstr "??? van hier tot ???END mag daar reëls ingevoeg/geskrap wees" -#: ../memline.c:1181 msgid "???END" msgstr "???END" -#: ../memline.c:1238 msgid "E311: Recovery Interrupted" msgstr "E311: Herwinning onderbreek" -#: ../memline.c:1243 msgid "" "E312: Errors detected while recovering; look for lines starting with ???" msgstr "" "E312: Foute raakgesien gedurende herwinning; soek vir reëls wat begin met ???" -#: ../memline.c:1245 msgid "See \":help E312\" for more information." msgstr "Sien \":help E312\" vir meer inligting." -#: ../memline.c:1249 msgid "Recovery completed. You should check if everything is OK." msgstr "Herwinning is klaar. Kyk of alles reg is." -#: ../memline.c:1251 msgid "" "\n" "(You might want to write out this file under another name\n" @@ -3885,16 +3508,13 @@ msgstr "" "\n" "(Jy wil dalk die lêer stoor onder 'n ander naam\n" -#: ../memline.c:1252 #, fuzzy -msgid "and run diff with the original file to check for changes)" -msgstr "en dit \"diff\" teen die oorspronklike lêer om wysigings te soek)\n" +#~ msgid "and run diff with the original file to check for changes)" +#~ msgstr "en dit \"diff\" teen die oorspronklike lêer om wysigings te soek)\n" -#: ../memline.c:1254 -msgid "Recovery completed. Buffer contents equals file contents." -msgstr "" +#~ msgid "Recovery completed. Buffer contents equals file contents." +#~ msgstr "" -#: ../memline.c:1255 #, fuzzy msgid "" "\n" @@ -3905,51 +3525,42 @@ msgstr "" "\n" #. use msg() to start the scrolling properly -#: ../memline.c:1327 msgid "Swap files found:" msgstr "Ruillêers gevind:" -#: ../memline.c:1446 msgid " In current directory:\n" msgstr " In huidige gids:\n" -#: ../memline.c:1448 msgid " Using specified name:\n" msgstr " Wat gespesifiseerde naam gebruik:\n" -#: ../memline.c:1450 msgid " In directory " msgstr " In gids " -#: ../memline.c:1465 msgid " -- none --\n" msgstr " -- geen --\n" -#: ../memline.c:1527 msgid " owned by: " msgstr " eienaar: " -#: ../memline.c:1529 msgid " dated: " msgstr " gedateer: " -#: ../memline.c:1532 ../memline.c:3231 msgid " dated: " msgstr " gedateer: " -#: ../memline.c:1548 msgid " [from Vim version 3.0]" msgstr " [van Vim weergawe 3.0]" -#: ../memline.c:1550 msgid " [does not look like a Vim swap file]" msgstr " [lyk nie soos 'n Vim ruillêer nie]" -#: ../memline.c:1552 +#~ msgid " [garbled strings (not nul terminated)]" +#~ msgstr "" + msgid " file name: " msgstr " lêernaam: " -#: ../memline.c:1558 msgid "" "\n" " modified: " @@ -3957,15 +3568,12 @@ msgstr "" "\n" " gewysig: " -#: ../memline.c:1559 msgid "YES" msgstr "JA" -#: ../memline.c:1559 msgid "no" msgstr "nee" -#: ../memline.c:1562 msgid "" "\n" " user name: " @@ -3973,11 +3581,9 @@ msgstr "" "\n" " gebruikersnaam: " -#: ../memline.c:1568 msgid " host name: " msgstr " gasheernaam: " -#: ../memline.c:1570 msgid "" "\n" " host name: " @@ -3985,7 +3591,6 @@ msgstr "" "\n" " gasheernaam: " -#: ../memline.c:1575 msgid "" "\n" " process ID: " @@ -3993,11 +3598,9 @@ msgstr "" "\n" " proses ID: " -#: ../memline.c:1579 msgid " (still running)" msgstr " (nog steeds aan die uitvoer)" -#: ../memline.c:1586 msgid "" "\n" " [not usable on this computer]" @@ -4005,97 +3608,75 @@ msgstr "" "\n" " [nie bruikbaar op hierdie rekenaar nie]" -#: ../memline.c:1590 msgid " [cannot be read]" msgstr " [kan nie gelees word nie]" -#: ../memline.c:1593 msgid " [cannot be opened]" msgstr " [kan nie oopgemaak word nie]" -#: ../memline.c:1698 msgid "E313: Cannot preserve, there is no swap file" msgstr "E313: Kan nie bewaar nie, daar is geen ruillêer nie" -#: ../memline.c:1747 msgid "File preserved" msgstr "Lêer bewaar" -#: ../memline.c:1749 msgid "E314: Preserve failed" msgstr "E314: Kon nie bewaar nie" -#: ../memline.c:1819 #, c-format msgid "E315: ml_get: invalid lnum: %<PRId64>" msgstr "E315: 'ml_get': ongeldige 'lnum': %<PRId64>" -#: ../memline.c:1851 #, c-format msgid "E316: ml_get: cannot find line %<PRId64>" msgstr "E316: 'ml_get': kan reël %<PRId64> nie vind nie" -#: ../memline.c:2236 msgid "E317: pointer block id wrong 3" msgstr "E317: wyser blok id verkeerd 3" -#: ../memline.c:2311 msgid "stack_idx should be 0" msgstr "'stack_idx' moet 0 wees" -#: ../memline.c:2369 msgid "E318: Updated too many blocks?" msgstr "E318: Te veel blokke opgedateer?" -#: ../memline.c:2511 msgid "E317: pointer block id wrong 4" msgstr "E317: wyser blok id verkeerd 4" -#: ../memline.c:2536 msgid "deleted block 1?" msgstr "verwyder blok 1?" -#: ../memline.c:2707 #, c-format msgid "E320: Cannot find line %<PRId64>" msgstr "E320: Kan nie reël %<PRId64> vind nie" -#: ../memline.c:2916 msgid "E317: pointer block id wrong" msgstr "E317: wyser blok id verkeerd" -#: ../memline.c:2930 msgid "pe_line_count is zero" msgstr "'pe_line_count' is nul" -#: ../memline.c:2955 #, c-format msgid "E322: line number out of range: %<PRId64> past the end" msgstr "E322: reëlnommer buite perke: %<PRId64> verby die einde" -#: ../memline.c:2959 #, c-format msgid "E323: line count wrong in block %<PRId64>" msgstr "E323: reëltelling mag verkeerd wees in blok %<PRId64>" -#: ../memline.c:2999 msgid "Stack size increases" msgstr "Stapel grootte verhoog" -#: ../memline.c:3038 msgid "E317: pointer block id wrong 2" msgstr "E317: wyser blok id verkeerd 2" -#: ../memline.c:3070 #, c-format -msgid "E773: Symlink loop for \"%s\"" -msgstr "" +#~ msgid "E773: Symlink loop for \"%s\"" +#~ msgstr "" -#: ../memline.c:3221 msgid "E325: ATTENTION" msgstr "E325: LET OP" -#: ../memline.c:3222 msgid "" "\n" "Found a swap file by the name \"" @@ -4103,44 +3684,35 @@ msgstr "" "\n" "Het 'n ruillêer gevind met die naam \"" -#: ../memline.c:3226 msgid "While opening file \"" msgstr "Tydens oopmaak van lêer \"" -#: ../memline.c:3239 msgid " NEWER than swap file!\n" msgstr " NUWER as die ruillêer!\n" -#: ../memline.c:3244 +#. Some of these messages are long to allow translation to +#. * other languages. #, fuzzy msgid "" "\n" "(1) Another program may be editing the same file. If this is the case,\n" " be careful not to end up with two different instances of the same\n" -" file when making changes." +" file when making changes. Quit, or continue with caution.\n" msgstr "" "\n" "(1) 'n Ander program mag besig wees met hierdie lêer.\n" " Indien wel, pas op om nie met twee verskillende weergawes\n" " van dieselfde lêer te sit wanneer veranderinge gemaak word nie.\n" -#: ../memline.c:3245 -#, fuzzy -msgid " Quit, or continue with caution.\n" -msgstr " Stop, of gaan versigtig voort.\n" - -#: ../memline.c:3246 #, fuzzy -msgid "(2) An edit session for this file crashed.\n" -msgstr "" -"\n" -"(2) 'n Bewerkingsessie van hierdie lêer het ineengestort.\n" +#~ msgid "(2) An edit session for this file crashed.\n" +#~ msgstr "" +#~ "\n" +#~ "(2) 'n Bewerkingsessie van hierdie lêer het ineengestort.\n" -#: ../memline.c:3247 msgid " If this is the case, use \":recover\" or \"vim -r " msgstr " Indien wel, gebruik \":recover\" of \"vim -r" -#: ../memline.c:3249 msgid "" "\"\n" " to recover the changes (see \":help recovery\").\n" @@ -4148,11 +3720,9 @@ msgstr "" "\"\n" " om die veranderinge te herwin (sien \":help recovery\").\n" -#: ../memline.c:3250 msgid " If you did this already, delete the swap file \"" msgstr " Indien jy dit alreeds gedoen het, verwyder die ruillêer \"" -#: ../memline.c:3252 msgid "" "\"\n" " to avoid this message.\n" @@ -4160,23 +3730,15 @@ msgstr "" "\"\n" " om hierdie boodskap te vermy.\n" -#: ../memline.c:3450 ../memline.c:3452 msgid "Swap file \"" msgstr "Ruillêer \"" -#: ../memline.c:3451 ../memline.c:3455 msgid "\" already exists!" msgstr "\" bestaan alreeds!" -#: ../memline.c:3457 msgid "VIM - ATTENTION" msgstr "VIM - LET OP" -#: ../memline.c:3459 -msgid "Swap file already exists!" -msgstr "Ruillêer bestaan alreeds!" - -#: ../memline.c:3464 msgid "" "&Open Read-Only\n" "&Edit anyway\n" @@ -4190,7 +3752,6 @@ msgstr "" "&Verlaat\n" "&Stop" -#: ../memline.c:3467 #, fuzzy msgid "" "&Open Read-Only\n" @@ -4214,48 +3775,47 @@ msgstr "" #. #. ".s?a" #. ".saa": tried enough, give up -#: ../memline.c:3528 msgid "E326: Too many swap files found" msgstr "E326: Te veel ruillêers gevind" -#: ../memory.c:227 +#, fuzzy, c-format +msgid "" +"E303: Unable to create directory \"%s\" for swap file, recovery impossible: " +"%s" +msgstr "E303: Kon nie ruillêer oopmaak vir \"%s\" nie, herwinning onmoontlik" + +#~ msgid "Vim: Data too large to fit into virtual memory space\n" +#~ msgstr "" + #, c-format msgid "E342: Out of memory! (allocating %<PRIu64> bytes)" msgstr "E342: Geheue is op! (ken %<PRIu64> grepe toe)" -#: ../menu.c:62 msgid "E327: Part of menu-item path is not sub-menu" msgstr "E327: Deel van kieslys-item pad is nie 'n sub-kieslys nie" -#: ../menu.c:63 msgid "E328: Menu only exists in another mode" msgstr "E328: Kieslys bestaan slegs in 'n ander modus" -#: ../menu.c:64 #, fuzzy, c-format -msgid "E329: No menu \"%s\"" -msgstr "E329: Geen kieslys met daardie naam nie" +#~ msgid "E329: No menu \"%s\"" +#~ msgstr "E329: Geen kieslys met daardie naam nie" #. Only a mnemonic or accelerator is not valid. -#: ../menu.c:329 -msgid "E792: Empty menu name" -msgstr "" +#~ msgid "E792: Empty menu name" +#~ msgstr "" -#: ../menu.c:340 msgid "E330: Menu path must not lead to a sub-menu" msgstr "E330: Kieslyspad moenie lei na 'n sub-kieslys nie" -#: ../menu.c:365 msgid "E331: Must not add menu items directly to menu bar" msgstr "E331: Moenie kieslysitems direk by kieslysstaaf voeg nie" -#: ../menu.c:370 msgid "E332: Separator cannot be part of a menu path" msgstr "E332: Verdeler kan nie deel wees van kieslyspad nie" #. Now we have found the matching menu, and we list the mappings #. Highlight title -#: ../menu.c:762 msgid "" "\n" "--- Menus ---" @@ -4263,70 +3823,49 @@ msgstr "" "\n" "--- Kieslyste ---" -#: ../menu.c:1313 msgid "E333: Menu path must lead to a menu item" msgstr "E333: Kieslyspad moet lei na 'n kieslysitem" -#: ../menu.c:1330 #, c-format msgid "E334: Menu not found: %s" msgstr "E334: Kieslys nie gevind nie: %s" -#: ../menu.c:1396 #, c-format msgid "E335: Menu not defined for %s mode" msgstr "E335: Kieslys nie gedefinieer vir %s modus nie" -#: ../menu.c:1426 -msgid "E336: Menu path must lead to a sub-menu" -msgstr "E336: Kieslyspad moet lei na 'n sub-kieslys" - -#: ../menu.c:1447 -msgid "E337: Menu not found - check menu names" -msgstr "E337: Kieslys nie gevind nie - maak seker oor die kieslys name" - -#: ../message.c:423 #, c-format msgid "Error detected while processing %s:" msgstr "Fout ontdek tydens verwerking van %s: " -#: ../message.c:445 #, c-format msgid "line %4ld:" msgstr "reël %4ld:" -#: ../message.c:617 #, c-format msgid "E354: Invalid register name: '%s'" msgstr "E354: Ongeldige registernaam: '%s'" -#: ../message.c:986 msgid "Interrupt: " msgstr "Onderbreek: " -#: ../message.c:988 #, fuzzy -msgid "Press ENTER or type command to continue" -msgstr "Druk ENTER of tik 'n bevel om voort te gaan" +#~ msgid "Press ENTER or type command to continue" +#~ msgstr "Druk ENTER of tik 'n bevel om voort te gaan" -#: ../message.c:1843 #, fuzzy, c-format -msgid "%s line %<PRId64>" -msgstr "%s, reël %<PRId64>" +#~ msgid "%s line %<PRId64>" +#~ msgstr "%s, reël %<PRId64>" -#: ../message.c:2392 msgid "-- More --" msgstr "-- Meer --" -#: ../message.c:2398 -msgid " SPACE/d/j: screen/page/line down, b/u/k: up, q: quit " -msgstr "" +#~ msgid " SPACE/d/j: screen/page/line down, b/u/k: up, q: quit " +#~ msgstr "" -#: ../message.c:3021 ../message.c:3031 msgid "Question" msgstr "Vraag" -#: ../message.c:3023 msgid "" "&Yes\n" "&No" @@ -4334,7 +3873,6 @@ msgstr "" "&Ja\n" "&Nee" -#: ../message.c:3033 msgid "" "&Yes\n" "&No\n" @@ -4344,7 +3882,6 @@ msgstr "" "&Nee\n" "&Kanselleer" -#: ../message.c:3045 msgid "" "&Yes\n" "&No\n" @@ -4358,180 +3895,131 @@ msgstr "" "&Gooi alles weg\n" "&Kanselleer" -#: ../message.c:3058 -#, fuzzy -msgid "E766: Insufficient arguments for printf()" -msgstr "E116: Ongeldige parameters vir funksie %s" - -#: ../message.c:3119 -msgid "E807: Expected Float argument for printf()" -msgstr "" - -#: ../message.c:3873 -#, fuzzy -msgid "E767: Too many arguments to printf()" -msgstr "E118: Te veel parameters vir funksie: %s" - -#: ../misc1.c:2256 msgid "W10: Warning: Changing a readonly file" msgstr "W10: Waarskuwing: Jy wysig aan 'n leesalleen lêer" -#: ../misc1.c:2537 -msgid "Type number and <Enter> or click with mouse (empty cancels): " -msgstr "" +#~ msgid "Type number and <Enter> or click with mouse (empty cancels): " +#~ msgstr "" -#: ../misc1.c:2539 -msgid "Type number and <Enter> (empty cancels): " -msgstr "" +#~ msgid "Type number and <Enter> (empty cancels): " +#~ msgstr "" -#: ../misc1.c:2585 msgid "1 more line" msgstr "1 reël meer" -#: ../misc1.c:2588 msgid "1 line less" msgstr "1 reël minder" -#: ../misc1.c:2593 #, c-format msgid "%<PRId64> more lines" msgstr "%<PRId64> meer reëls" -#: ../misc1.c:2596 #, c-format msgid "%<PRId64> fewer lines" msgstr "%<PRId64> minder reëls" -#: ../misc1.c:2599 msgid " (Interrupted)" msgstr " (Onderbreek)" -#: ../misc1.c:2635 -msgid "Beep!" -msgstr "" +#~ msgid "Beep!" +#~ msgstr "" -#: ../misc2.c:738 #, c-format msgid "Calling shell to execute: \"%s\"" msgstr "Roep dop om uit te voer: \"%s\"" -#: ../normal.c:183 +#. +#. * nv_*(): functions called to handle Normal and Visual mode commands. +#. * n_*(): functions called to handle Normal mode commands. +#. * v_*(): functions called to handle Visual mode commands. +#. msgid "E349: No identifier under cursor" msgstr "E349: Geen identifiseerder onder loper nie" -#: ../normal.c:1866 #, fuzzy -msgid "E774: 'operatorfunc' is empty" -msgstr "E221: 'commentstring' opsie is leeg" +#~ msgid "E774: 'operatorfunc' is empty" +#~ msgstr "E221: 'commentstring' opsie is leeg" -#: ../normal.c:2637 msgid "Warning: terminal cannot highlight" msgstr "Waarskuwing: terminaal kan nie teks uitlig nie" -#: ../normal.c:2807 msgid "E348: No string under cursor" msgstr "E348: Geen string onder loper nie" -#: ../normal.c:3937 msgid "E352: Cannot erase folds with current 'foldmethod'" msgstr "E352: Kan nie voue verwyder met huidige 'foldmethod' nie" -#: ../normal.c:5897 msgid "E664: changelist is empty" msgstr "E664: 'changelist' is leeg" -#: ../normal.c:5899 msgid "E662: At start of changelist" msgstr "E662: By die begin van die veranderingslys" -#: ../normal.c:5901 msgid "E663: At end of changelist" msgstr "E663: By die einde van die veranderingslys" -#: ../normal.c:7053 msgid "Type :quit<Enter> to exit Nvim" msgstr "Tik :quit<Enter> om Vim te verlaat" # Het te doen met < en > -#: ../ops.c:248 #, c-format msgid "1 line %sed 1 time" msgstr "1 reël 1 keer ge-%s" -#: ../ops.c:250 #, c-format msgid "1 line %sed %d times" msgstr "1 reël ge-%s %d keer" -#: ../ops.c:253 #, c-format msgid "%<PRId64> lines %sed 1 time" msgstr "%<PRId64> reëls 1 keer ge-%s" -#: ../ops.c:256 #, c-format msgid "%<PRId64> lines %sed %d times" msgstr "%<PRId64> reëls ge-%s %d keer" -#: ../ops.c:592 #, c-format msgid "%<PRId64> lines to indent... " msgstr "%<PRId64> reëls om in te keep..." -#: ../ops.c:634 msgid "1 line indented " msgstr "1 reël ingekeep " -#: ../ops.c:636 #, c-format msgid "%<PRId64> lines indented " msgstr "%<PRId64> reëls ingekeep " -#: ../ops.c:938 #, fuzzy -msgid "E748: No previously used register" -msgstr "E186: Geen vorige gids nie" - -#. must display the prompt -#: ../ops.c:1433 -msgid "cannot yank; delete anyway" -msgstr "kan nie pluk nie: verwyder in elk geval" +#~ msgid "E748: No previously used register" +#~ msgstr "E186: Geen vorige gids nie" -#: ../ops.c:1929 msgid "1 line changed" msgstr "1 reël verander" -#: ../ops.c:1931 #, c-format msgid "%<PRId64> lines changed" msgstr "%<PRId64> reëls verander" -#: ../ops.c:2521 #, fuzzy -msgid "block of 1 line yanked" -msgstr "1 reël gepluk" +#~ msgid "block of 1 line yanked" +#~ msgstr "1 reël gepluk" -#: ../ops.c:2523 msgid "1 line yanked" msgstr "1 reël gepluk" -#: ../ops.c:2525 #, fuzzy, c-format -msgid "block of %<PRId64> lines yanked" -msgstr "%<PRId64> reëls gepluk" +#~ msgid "block of %<PRId64> lines yanked" +#~ msgstr "%<PRId64> reëls gepluk" -#: ../ops.c:2528 #, c-format msgid "%<PRId64> lines yanked" msgstr "%<PRId64> reëls gepluk" -#: ../ops.c:2710 #, c-format msgid "E353: Nothing in register %s" msgstr "E353: Niks in register %s nie" #. Highlight title -#: ../ops.c:3185 msgid "" "\n" "--- Registers ---" @@ -4539,29 +4027,15 @@ msgstr "" "\n" "--- Registers ---" -#: ../ops.c:4455 -msgid "Illegal register name" -msgstr "Ongeldige registernaam" - -#: ../ops.c:4533 -msgid "" -"\n" -"# Registers:\n" -msgstr "" -"\n" -"# Registers:\n" - -#: ../ops.c:4575 -#, c-format -msgid "E574: Unknown register type %d" -msgstr "E574: Onbekende registertipe %d" +#~ msgid "" +#~ "E883: search pattern and expression register may not contain two or more " +#~ "lines" +#~ msgstr "" -#: ../ops.c:5089 #, c-format msgid "%<PRId64> Cols; " msgstr "%<PRId64> Kolomme; " -#: ../ops.c:5097 #, c-format msgid "" "Selected %s%<PRId64> of %<PRId64> Lines; %<PRId64> of %<PRId64> Words; " @@ -4570,7 +4044,6 @@ msgstr "" "%s%<PRId64> van %<PRId64> reëls gekies; %<PRId64> van %<PRId64> Woorde; " "%<PRId64> van %<PRId64> Grepe" -#: ../ops.c:5105 #, fuzzy, c-format msgid "" "Selected %s%<PRId64> of %<PRId64> Lines; %<PRId64> of %<PRId64> Words; " @@ -4580,7 +4053,6 @@ msgstr "" "%<PRId64> van %<PRId64> Grepe" # njj: Karakters kan meerdere grepe wees, sien ':h multibyte' -#: ../ops.c:5123 #, c-format msgid "" "Col %s of %s; Line %<PRId64> of %<PRId64>; Word %<PRId64> of %<PRId64>; Byte " @@ -4590,7 +4062,6 @@ msgstr "" "Greep %<PRId64> van %<PRId64>" # njj: Karakters kan meerdere grepe wees, sien ':h multibyte' -#: ../ops.c:5133 #, fuzzy, c-format msgid "" "Col %s of %s; Line %<PRId64> of %<PRId64>; Word %<PRId64> of %<PRId64>; Char " @@ -4599,148 +4070,104 @@ msgstr "" "Kol %s van %s; Reël %<PRId64> van %<PRId64>; Woord %<PRId64> van %<PRId64>; " "Greep %<PRId64> van %<PRId64>" -#: ../ops.c:5146 #, c-format msgid "(+%<PRId64> for BOM)" msgstr "(+%<PRId64> vir 'BOM')" -#: ../option.c:1238 -msgid "%<%f%h%m%=Page %N" -msgstr "%<%f%h%m%=Bladsy %N" - -#: ../option.c:1574 -msgid "Thanks for flying Vim" -msgstr "Dankie dat jy vlieg met Vim" - #. found a mismatch: skip -#: ../option.c:2698 msgid "E518: Unknown option" msgstr "E518: Onbekende opsie" -#: ../option.c:2709 -msgid "E519: Option not supported" -msgstr "E519: Opsie is nie ondersteun nie" - -#: ../option.c:2740 msgid "E520: Not allowed in a modeline" msgstr "E520: Nie toegelaat in 'n moduslyn nie" -#: ../option.c:2815 -msgid "E846: Key code not set" -msgstr "" +#~ msgid "E846: Key code not set" +#~ msgstr "" -#: ../option.c:2924 msgid "E521: Number required after =" msgstr "E521: Nommer vereis na =" -#: ../option.c:3226 ../option.c:3864 -msgid "E522: Not found in termcap" -msgstr "E522: Nie gevind in 'termcap' nie" - -#: ../option.c:3335 #, c-format msgid "E539: Illegal character <%s>" msgstr "E539: Ongeldige karakter <%s>" -#: ../option.c:3862 -msgid "E529: Cannot set 'term' to empty string" -msgstr "E529: Kan nie 'term' stel na leë string nie" +#, c-format +#~ msgid "For option %s" +#~ msgstr "" -#: ../option.c:3885 msgid "E589: 'backupext' and 'patchmode' are equal" msgstr "E589: 'backupext' en 'patchmode' is dieselfde" -#: ../option.c:3964 -msgid "E834: Conflicts with value of 'listchars'" -msgstr "" +#~ msgid "E834: Conflicts with value of 'listchars'" +#~ msgstr "" -#: ../option.c:3966 -msgid "E835: Conflicts with value of 'fillchars'" -msgstr "" +#~ msgid "E835: Conflicts with value of 'fillchars'" +#~ msgstr "" -#: ../option.c:4163 msgid "E524: Missing colon" msgstr "E524: Ontbrekende dubbelpunt" -#: ../option.c:4165 msgid "E525: Zero length string" msgstr "E525: Nul-lengte string" -#: ../option.c:4220 #, c-format msgid "E526: Missing number after <%s>" msgstr "E526: Ontbrekende nommer na <%s>" -#: ../option.c:4232 msgid "E527: Missing comma" msgstr "E527: Ontbrekende komma" -#: ../option.c:4239 msgid "E528: Must specify a ' value" msgstr "E528: Moet 'n ' waarde spesifiseer" -#: ../option.c:4271 msgid "E595: contains unprintable or wide character" msgstr "E595: bevat 'n ondrukbare of wye karakter" -#: ../option.c:4469 #, c-format msgid "E535: Illegal character after <%c>" msgstr "E535: Ongeldige karakter na <%c>" -#: ../option.c:4534 msgid "E536: comma required" msgstr "E536: komma benodig" -#: ../option.c:4543 #, c-format msgid "E537: 'commentstring' must be empty or contain %s" msgstr "E537: 'commentstring' moet leeg wees of %s bevat" -#: ../option.c:4928 msgid "E540: Unclosed expression sequence" msgstr "E540: Onvoltooide uitdrukkingreeks" -#: ../option.c:4932 msgid "E541: too many items" msgstr "E541: te veel items" -#: ../option.c:4934 msgid "E542: unbalanced groups" msgstr "E542: ongebalanseerde groepe" -#: ../option.c:5148 msgid "E590: A preview window already exists" msgstr "E590: Daar bestaan reeds 'n voorskouvenster" -#: ../option.c:5311 msgid "W17: Arabic requires UTF-8, do ':set encoding=utf-8'" msgstr "W17: Arabies benodig UTF-8, doen ':set encoding=utf-8'" -#: ../option.c:5623 #, c-format msgid "E593: Need at least %d lines" msgstr "E593: Benodig ten minste %d reëls" -#: ../option.c:5631 #, c-format msgid "E594: Need at least %d columns" msgstr "E594: Benodig ten minste %d kolomme" -#: ../option.c:6011 #, c-format msgid "E355: Unknown option: %s" msgstr "E355: Onbekende opsie: %s" #. There's another character after zeros or the string -#. * is empty. In both cases, we are trying to set a -#. * num option using a string. -#: ../option.c:6037 +#. is empty. In both cases, we are trying to set a +#. num option using a string. #, fuzzy, c-format -msgid "E521: Number required: &%s = '%s'" -msgstr "E521: Nommer vereis na =" +#~ msgid "E521: Number required: &%s = '%s'" +#~ msgstr "E521: Nommer vereis na =" -#: ../option.c:6149 msgid "" "\n" "--- Terminal codes ---" @@ -4748,7 +4175,6 @@ msgstr "" "\n" "--- Terminaal kodes ---" -#: ../option.c:6151 msgid "" "\n" "--- Global option values ---" @@ -4756,7 +4182,6 @@ msgstr "" "\n" "--- Globale opsie waardes ---" -#: ../option.c:6153 msgid "" "\n" "--- Local option values ---" @@ -4764,7 +4189,6 @@ msgstr "" "\n" "--- Lokale opsie waardes ---" -#: ../option.c:6155 msgid "" "\n" "--- Options ---" @@ -4772,29 +4196,28 @@ msgstr "" "\n" "--- Opsies ---" -#: ../option.c:6816 msgid "E356: get_varp ERROR" msgstr "E356: 'get_varp' FOUT" -#: ../option.c:7696 #, c-format msgid "E357: 'langmap': Matching character missing for %s" msgstr "E357: 'langmap': Passende karakter ontbreek vir %s" -#: ../option.c:7715 #, c-format msgid "E358: 'langmap': Extra characters after semicolon: %s" msgstr "E358: 'langmap: Ekstra karakters na kommapunt: %s" -#: ../os/shell.c:194 -msgid "" -"\n" -"Cannot execute shell " -msgstr "" -"\n" -"Kan nie dop uitvoer nie " +#, c-format +#~ msgid "dlerror = \"%s\"" +#~ msgstr "" + +#, fuzzy, c-format +#~ msgid "E5420: Failed to write to file: %s" +#~ msgstr "E365: Kon nie 'PostScript' lêer druk nie" + +msgid "Vim: Error reading input, exiting...\n" +msgstr "Vim: Fout met lees van invoer, verlaat...\n" -#: ../os/shell.c:439 msgid "" "\n" "shell returned " @@ -4802,959 +4225,930 @@ msgstr "" "\n" "dop lewer " -#: ../os_unix.c:465 ../os_unix.c:471 -msgid "" -"\n" -"Could not get security context for " -msgstr "" +#~ msgid "" +#~ "\n" +#~ "shell failed to start: " +#~ msgstr "" -#: ../os_unix.c:479 -msgid "" -"\n" -"Could not set security context for " -msgstr "" +#. Can happen if system() tries to send input to a shell command that was +#. backgrounded (:call system("cat - &", "foo")). #3529 #5241 +#, fuzzy, c-format +#~ msgid "E5677: Error writing input to shell-command: %s" +#~ msgstr "E208: Kan nie skryf na \"%s\"" -#: ../os_unix.c:1558 ../os_unix.c:1647 -#, c-format -msgid "dlerror = \"%s\"" -msgstr "" +#~ msgid "" +#~ "\n" +#~ "Could not get security context for " +#~ msgstr "" + +#~ msgid "" +#~ "\n" +#~ "Could not set security context for " +#~ msgstr "" -#: ../path.c:1449 #, c-format msgid "E447: Can't find file \"%s\" in path" msgstr "E447: Kan lêer \"%s\" nie vind in pad nie" -#: ../quickfix.c:359 #, c-format msgid "E372: Too many %%%c in format string" msgstr "E372: Te veel %%%c in formaatstring" -#: ../quickfix.c:371 #, c-format msgid "E373: Unexpected %%%c in format string" msgstr "E373: Onverwagte %%%c in formaatstring" -#: ../quickfix.c:420 msgid "E374: Missing ] in format string" msgstr "E374: Ontbrekende ] in formaatstring" -#: ../quickfix.c:431 #, c-format msgid "E375: Unsupported %%%c in format string" msgstr "E375: Ongesteunde %%%c in formaatstring" -#: ../quickfix.c:448 #, c-format msgid "E376: Invalid %%%c in format string prefix" msgstr "E376: Ongeldige %%%c in formaatstringvoorvoegsel" -#: ../quickfix.c:454 #, c-format msgid "E377: Invalid %%%c in format string" msgstr "E377: Ongeldige %%%c in formaatstring" #. nothing found -#: ../quickfix.c:477 msgid "E378: 'errorformat' contains no pattern" msgstr "E378: 'errorformat' bevat geen patroon nie" -#: ../quickfix.c:695 msgid "E379: Missing or empty directory name" msgstr "E379: Ontbrekende of leë gidsnaam" -#: ../quickfix.c:1305 msgid "E553: No more items" msgstr "E553: Geen items meer nie" -#: ../quickfix.c:1674 +#~ msgid "E924: Current window was closed" +#~ msgstr "" + +#~ msgid "E925: Current quickfix was changed" +#~ msgstr "" + +#~ msgid "E926: Current location list was changed" +#~ msgstr "" + #, c-format msgid "(%d of %d)%s%s: " msgstr "(%d van %d)%s%s: " -#: ../quickfix.c:1676 msgid " (line deleted)" msgstr " (reël verwyder)" -#: ../quickfix.c:1863 +#, fuzzy, c-format +#~ msgid "%serror list %d of %d; %d errors " +#~ msgstr "foutelys %d van %d; %d foute" + msgid "E380: At bottom of quickfix stack" msgstr "E380: Onder aan 'quickfix' stapel" -#: ../quickfix.c:1869 msgid "E381: At top of quickfix stack" msgstr "E381: Bo aan 'quickfix' stapel" -#: ../quickfix.c:1880 -#, c-format -msgid "error list %d of %d; %d errors" -msgstr "foutelys %d van %d; %d foute" +#~ msgid "No entries" +#~ msgstr "" -#: ../quickfix.c:2427 msgid "E382: Cannot write, 'buftype' option is set" msgstr "E382: Kan nie skryf nie, 'buftype' opsie is aan" -#: ../quickfix.c:2812 -msgid "E683: File name missing or invalid pattern" -msgstr "" +#~ msgid "E683: File name missing or invalid pattern" +#~ msgstr "" -#: ../quickfix.c:2911 #, fuzzy, c-format -msgid "Cannot open file \"%s\"" -msgstr "Kan nie lêer %s oopmaak nie" +#~ msgid "Cannot open file \"%s\"" +#~ msgstr "Kan nie lêer %s oopmaak nie" -#: ../quickfix.c:3429 #, fuzzy -msgid "E681: Buffer is not loaded" -msgstr "1 buffer uitgelaai" +#~ msgid "E681: Buffer is not loaded" +#~ msgstr "1 buffer uitgelaai" -#: ../quickfix.c:3487 #, fuzzy -msgid "E777: String or List expected" -msgstr "E548: syfer verwag" +#~ msgid "E777: String or List expected" +#~ msgstr "E548: syfer verwag" -#: ../regexp.c:359 #, c-format msgid "E369: invalid item in %s%%[]" msgstr "E369: ongeldige item in %s%%[]" -#: ../regexp.c:374 #, fuzzy, c-format -msgid "E769: Missing ] after %s[" -msgstr "E69: Ontbrekende ] na %s%%[" +#~ msgid "E769: Missing ] after %s[" +#~ msgstr "E69: Ontbrekende ] na %s%%[" -#: ../regexp.c:375 #, c-format msgid "E53: Unmatched %s%%(" msgstr "E53: Onpaar %s%%(" -#: ../regexp.c:376 #, c-format msgid "E54: Unmatched %s(" msgstr "E54: Onpaar %s(" -#: ../regexp.c:377 #, c-format msgid "E55: Unmatched %s)" msgstr "E55: Onpaar %s)" -#: ../regexp.c:378 msgid "E66: \\z( not allowed here" msgstr "E66: \\z( nie hier toegelaat nie" -#: ../regexp.c:379 msgid "E67: \\z1 et al. not allowed here" msgstr "E67: \\z1 e.a. nie hier toegelaat nie" -#: ../regexp.c:380 #, c-format msgid "E69: Missing ] after %s%%[" msgstr "E69: Ontbrekende ] na %s%%[" -#: ../regexp.c:381 #, c-format msgid "E70: Empty %s%%[]" msgstr "E70: Leë %s%%[]" -#: ../regexp.c:1209 ../regexp.c:1224 msgid "E339: Pattern too long" msgstr "E339: Patroon te lank" -#: ../regexp.c:1371 msgid "E50: Too many \\z(" msgstr "E50: Te veel \\z(" -#: ../regexp.c:1378 #, c-format msgid "E51: Too many %s(" msgstr "E51: Te veel %s(" -#: ../regexp.c:1427 msgid "E52: Unmatched \\z(" msgstr "E52: Onpaar \\z(" -#: ../regexp.c:1637 #, c-format msgid "E59: invalid character after %s@" msgstr "E59: ongeldige karakter na %s@" -#: ../regexp.c:1672 #, c-format msgid "E60: Too many complex %s{...}s" msgstr "E60: Te veel komplekse %s{...}ies" -#: ../regexp.c:1687 #, c-format msgid "E61: Nested %s*" msgstr "E61: Geneste %s*" -#: ../regexp.c:1690 #, c-format msgid "E62: Nested %s%c" msgstr "E62: Geneste %s%c" -#: ../regexp.c:1800 msgid "E63: invalid use of \\_" msgstr "E63: ongeldige gebruik van \\_" -#: ../regexp.c:1850 #, c-format msgid "E64: %s%c follows nothing" msgstr "E64: %s%c volg niks" -#: ../regexp.c:1902 msgid "E65: Illegal back reference" msgstr "E65: Ongeldige tru-verwysing" -#: ../regexp.c:1943 msgid "E68: Invalid character after \\z" msgstr "E68: ongeldige karakter na \\z" -#: ../regexp.c:2049 ../regexp_nfa.c:1296 #, fuzzy, c-format -msgid "E678: Invalid character after %s%%[dxouU]" -msgstr "E71: Ongeldige karakter na %s%%" +#~ msgid "E678: Invalid character after %s%%[dxouU]" +#~ msgstr "E71: Ongeldige karakter na %s%%" -#: ../regexp.c:2107 #, c-format msgid "E71: Invalid character after %s%%" msgstr "E71: Ongeldige karakter na %s%%" -#: ../regexp.c:3017 +#, fuzzy, c-format +#~ msgid "E888: (NFA regexp) cannot repeat %s" +#~ msgstr "E50: Te veel \\z(" + #, c-format msgid "E554: Syntax error in %s{...}" msgstr "E554: Sintaksfout in %s{...}" -#: ../regexp.c:3805 msgid "External submatches:\n" msgstr "Eksterne subtreffers:\n" -#: ../regexp.c:7022 -msgid "" -"E864: \\%#= can only be followed by 0, 1, or 2. The automatic engine will be " -"used " -msgstr "" - -#: ../regexp_nfa.c:239 -msgid "E865: (NFA) Regexp end encountered prematurely" -msgstr "" - -#: ../regexp_nfa.c:240 -#, c-format -msgid "E866: (NFA regexp) Misplaced %c" -msgstr "" - -#: ../regexp_nfa.c:242 -#, c-format -msgid "E877: (NFA regexp) Invalid character class: %<PRId64>" -msgstr "" - -#: ../regexp_nfa.c:1261 -#, c-format -msgid "E867: (NFA) Unknown operator '\\z%c'" -msgstr "" - -#: ../regexp_nfa.c:1387 -#, c-format -msgid "E867: (NFA) Unknown operator '\\%%%c'" -msgstr "" - -#: ../regexp_nfa.c:1802 -#, c-format -msgid "E869: (NFA) Unknown operator '\\@%c'" -msgstr "" - -#: ../regexp_nfa.c:1831 -msgid "E870: (NFA regexp) Error reading repetition limits" -msgstr "" - -#. Can't have a multi follow a multi. -#: ../regexp_nfa.c:1895 -msgid "E871: (NFA regexp) Can't have a multi follow a multi !" -msgstr "" - -#. Too many `(' -#: ../regexp_nfa.c:2037 -msgid "E872: (NFA regexp) Too many '('" -msgstr "" - -#: ../regexp_nfa.c:2042 -#, fuzzy -msgid "E879: (NFA regexp) Too many \\z(" -msgstr "E50: Te veel \\z(" - -#: ../regexp_nfa.c:2066 -msgid "E873: (NFA regexp) proper termination error" -msgstr "" - -#: ../regexp_nfa.c:2599 -msgid "E874: (NFA) Could not pop the stack !" -msgstr "" - -#: ../regexp_nfa.c:3298 -msgid "" -"E875: (NFA regexp) (While converting from postfix to NFA), too many states " -"left on stack" -msgstr "" - -#: ../regexp_nfa.c:3302 -msgid "E876: (NFA regexp) Not enough space to store the whole NFA " -msgstr "" - -#: ../regexp_nfa.c:4571 ../regexp_nfa.c:4869 -msgid "" -"Could not open temporary log file for writing, displaying on stderr ... " -msgstr "" +#~ msgid "" +#~ "E864: \\%#= can only be followed by 0, 1, or 2. The automatic engine will be " +#~ "used " +#~ msgstr "" -#: ../regexp_nfa.c:4840 -#, c-format -msgid "(NFA) COULD NOT OPEN %s !" -msgstr "" +#~ msgid "Switching to backtracking RE engine for pattern: " +#~ msgstr "" -#: ../regexp_nfa.c:6049 -#, fuzzy -msgid "Could not open temporary log file for writing " -msgstr "E214: Kan nie tydelike lêer vind vir skryf nie" +#~ msgid " TERMINAL" +#~ msgstr "" -#: ../screen.c:7435 msgid " VREPLACE" msgstr " VVERVANG" -#: ../screen.c:7437 msgid " REPLACE" msgstr " VERVANG" -#: ../screen.c:7440 msgid " REVERSE" msgstr " OMKEER" -#: ../screen.c:7441 msgid " INSERT" msgstr " INVOEG" -#: ../screen.c:7443 msgid " (insert)" msgstr " (invoeg)" -#: ../screen.c:7445 msgid " (replace)" msgstr " (vervang)" -#: ../screen.c:7447 msgid " (vreplace)" msgstr " (vvervang)" -#: ../screen.c:7449 msgid " Hebrew" msgstr " Hebreeus" -#: ../screen.c:7454 msgid " Arabic" msgstr " Arabies" -#: ../screen.c:7456 -msgid " (lang)" -msgstr " (taal)" - -#: ../screen.c:7459 msgid " (paste)" msgstr " (plak)" -#: ../screen.c:7469 msgid " VISUAL" msgstr " VISUELE" -#: ../screen.c:7470 msgid " VISUAL LINE" msgstr " VISUELE REËL" -#: ../screen.c:7471 msgid " VISUAL BLOCK" msgstr " VISUELE BLOK" -#: ../screen.c:7472 msgid " SELECT" msgstr " KIES" -#: ../screen.c:7473 msgid " SELECT LINE" msgstr " KIES REËL" -#: ../screen.c:7474 msgid " SELECT BLOCK" msgstr " KIES BLOK" -#: ../screen.c:7486 ../screen.c:7541 msgid "recording" msgstr "besig om op te neem" -#: ../search.c:487 #, c-format msgid "E383: Invalid search string: %s" msgstr "E383: Ongeldige soekstring: %s" -#: ../search.c:832 #, c-format msgid "E384: search hit TOP without match for: %s" msgstr "E384: soektog het BO getref sonder treffer vir: %s" -#: ../search.c:835 #, c-format msgid "E385: search hit BOTTOM without match for: %s" msgstr "E385: soektog het ONDER getref sonder treffer vir: %s" -#: ../search.c:1200 msgid "E386: Expected '?' or '/' after ';'" msgstr "E386: Verwag '?' of '/' na ';'" -#: ../search.c:4085 msgid " (includes previously listed match)" msgstr " (sluit in vorige gelyste treffer)" #. cursor at status line -#: ../search.c:4104 msgid "--- Included files " msgstr "--- Ingeslote lêers" -#: ../search.c:4106 msgid "not found " msgstr "nie gevind nie " -#: ../search.c:4107 msgid "in path ---\n" msgstr "in pad ---\n" -#: ../search.c:4168 msgid " (Already listed)" msgstr " (Alreeds gelys)" -#: ../search.c:4170 msgid " NOT FOUND" msgstr " NIE GEVIND NIE" -#: ../search.c:4211 #, c-format msgid "Scanning included file: %s" msgstr "Deursoek ingeslote lêer: %s" -#: ../search.c:4216 #, fuzzy, c-format -msgid "Searching included file %s" -msgstr "Deursoek ingeslote lêer: %s" +#~ msgid "Searching included file %s" +#~ msgstr "Deursoek ingeslote lêer: %s" -#: ../search.c:4405 msgid "E387: Match is on current line" msgstr "E387: Treffer is op huidige reël" -#: ../search.c:4517 msgid "All included files were found" msgstr "Alle ingeslote lêers is gevind" -#: ../search.c:4519 msgid "No included files" msgstr "Geen ingeslote lêers nie" -#: ../search.c:4527 msgid "E388: Couldn't find definition" msgstr "E388: Kon definisie nie vind nie" -#: ../search.c:4529 msgid "E389: Couldn't find pattern" msgstr "E389: Kon patroon nie vind nie" -#: ../search.c:4668 -#, fuzzy -msgid "Substitute " -msgstr "1 vervanging" +#~ msgid "too few bytes read" +#~ msgstr "" + +#, fuzzy, c-format +#~ msgid "System error while skipping in ShaDa file: %s" +#~ msgstr "E47: Fout tydens lees van 'errorfile'" -#: ../search.c:4681 #, c-format -msgid "" -"\n" -"# Last %sSearch Pattern:\n" -"~" -msgstr "" +#~ msgid "" +#~ "Error while reading ShaDa file: last entry specified that it occupies " +#~ "%<PRIu64> bytes, but file ended earlier" +#~ msgstr "" + +#, fuzzy, c-format +#~ msgid "System error while closing ShaDa file: %s" +#~ msgstr "E47: Fout tydens lees van 'errorfile'" + +#, fuzzy, c-format +#~ msgid "System error while writing ShaDa file: %s" +#~ msgstr "E47: Fout tydens lees van 'errorfile'" + +#, fuzzy, c-format +#~ msgid "Reading ShaDa file \"%s\"%s%s%s" +#~ msgstr "Besig om viminfo lêer \"%s\"%s%s%s te lees" + +msgid " info" +msgstr " inligting" + +msgid " marks" +msgstr " merkers" -#: ../spell.c:951 #, fuzzy -msgid "E759: Format error in spell file" -msgstr "E297: Skryffout in ruillêer" +#~ msgid " oldfiles" +#~ msgstr "Geen ingeslote lêers nie" -#: ../spell.c:952 -msgid "E758: Truncated spell file" -msgstr "" +msgid " FAILED" +msgstr " GEFAAL" -#: ../spell.c:953 #, c-format -msgid "Trailing text in %s line %d: %s" -msgstr "" +#~ msgid "System error while opening ShaDa file %s for reading: %s" +#~ msgstr "" + +#~ msgid "additional elements of ShaDa " +#~ msgstr "" + +#~ msgid "additional data of ShaDa " +#~ msgstr "" -#: ../spell.c:954 #, c-format -msgid "Affix name too long in %s line %d: %s" -msgstr "" +#~ msgid "Failed to write variable %s" +#~ msgstr "" -#: ../spell.c:955 -#, fuzzy -msgid "E761: Format error in affix file FOL, LOW or UPP" -msgstr "E431: Formaatfout in etiketlêer \"%s\"" +#, c-format +#~ msgid "" +#~ "Failed to parse ShaDa file due to a msgpack parser error at position " +#~ "%<PRIu64>" +#~ msgstr "" -#: ../spell.c:957 -msgid "E762: Character in FOL, LOW or UPP is out of range" -msgstr "" +#, c-format +#~ msgid "" +#~ "Failed to parse ShaDa file: incomplete msgpack string at position %<PRIu64>" +#~ msgstr "" -#: ../spell.c:958 -msgid "Compressing word tree..." -msgstr "" +#, c-format +#~ msgid "" +#~ "Failed to parse ShaDa file: extra bytes in msgpack string at position " +#~ "%<PRIu64>" +#~ msgstr "" -#: ../spell.c:1951 -msgid "E756: Spell checking is not enabled" -msgstr "" +#, c-format +#~ msgid "" +#~ "System error while opening ShaDa file %s for reading to merge before writing " +#~ "it: %s" +#~ msgstr "" -#: ../spell.c:2249 +#. Tried names from .tmp.a to .tmp.z, all failed. Something must be +#. wrong then. #, c-format -msgid "Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\"" -msgstr "" +#~ msgid "E138: All %s.tmp.X files exist, cannot write ShaDa file!" +#~ msgstr "" -#: ../spell.c:2473 #, fuzzy, c-format -msgid "Reading spell file \"%s\"" -msgstr "Gebruik ruillêer \"%s\"" +#~ msgid "System error while opening temporary ShaDa file %s for writing: %s" +#~ msgstr "E214: Kan nie tydelike lêer vind vir skryf nie" -#: ../spell.c:2496 -#, fuzzy -msgid "E757: This does not look like a spell file" -msgstr "E307: %s lyk nie soos 'n Vim ruillêer nie" +#, c-format +#~ msgid "Failed to create directory %s for writing ShaDa file: %s" +#~ msgstr "" -#: ../spell.c:2501 -msgid "E771: Old spell file, needs to be updated" -msgstr "" +#, c-format +#~ msgid "System error while opening ShaDa file %s for writing: %s" +#~ msgstr "" -#: ../spell.c:2504 -msgid "E772: Spell file is for newer version of Vim" -msgstr "" +#, fuzzy, c-format +#~ msgid "Writing ShaDa file \"%s\"" +#~ msgstr "Besig om viminfo lêer \"%s\" te stoor" -#: ../spell.c:2602 -#, fuzzy -msgid "E770: Unsupported section in spell file" -msgstr "E297: Skryffout in ruillêer" +#, fuzzy, c-format +#~ msgid "Failed setting uid and gid for file %s: %s" +#~ msgstr "%s klaar uitgevoer" -#: ../spell.c:3762 #, fuzzy, c-format -msgid "Warning: region %s not supported" -msgstr "E519: Opsie is nie ondersteun nie" +#~ msgid "E137: ShaDa file is not writable: %s" +#~ msgstr "E137: Viminfo lêer is nie skryfbaar nie: %s" + +#, c-format +#~ msgid "Can't rename ShaDa file from %s to %s!" +#~ msgstr "" -#: ../spell.c:4550 #, fuzzy, c-format -msgid "Reading affix file %s ..." -msgstr "Deursoek etiketlêer %s" +#~ msgid "Did not rename %s because %s does not looks like a ShaDa file" +#~ msgstr " [lyk nie soos 'n Vim ruillêer nie]" -#: ../spell.c:4589 ../spell.c:5635 ../spell.c:6140 #, c-format -msgid "Conversion failure for word in %s line %d: %s" -msgstr "" +#~ msgid "Did not rename %s to %s because there were errors during writing it" +#~ msgstr "" -#: ../spell.c:4630 ../spell.c:6170 #, c-format -msgid "Conversion in %s not supported: from %s to %s" -msgstr "" +#~ msgid "Do not forget to remove %s or rename it manually to %s." +#~ msgstr "" + +#, fuzzy, c-format +#~ msgid "System error while reading ShaDa file: %s" +#~ msgstr "E47: Fout tydens lees van 'errorfile'" + +#, fuzzy, c-format +#~ msgid "System error while reading integer from ShaDa file: %s" +#~ msgstr "E47: Fout tydens lees van 'errorfile'" -#: ../spell.c:4642 #, c-format -msgid "Invalid value for FLAG in %s line %d: %s" -msgstr "" +#~ msgid "" +#~ "Error while reading ShaDa file: expected positive integer at position " +#~ "%<PRIu64>, but got nothing" +#~ msgstr "" -#: ../spell.c:4655 #, c-format -msgid "FLAG after using flags in %s line %d: %s" -msgstr "" +#~ msgid "" +#~ "Error while reading ShaDa file: expected positive integer at position " +#~ "%<PRIu64>" +#~ msgstr "" -#: ../spell.c:4723 #, c-format -msgid "" -"Defining COMPOUNDFORBIDFLAG after PFX item may give wrong results in %s line " -"%d" -msgstr "" +#~ msgid "" +#~ "Error while reading ShaDa file: there is an item at position %<PRIu64> that " +#~ "is stated to be too long" +#~ msgstr "" -#: ../spell.c:4731 +#. kSDItemUnknown cannot possibly pass that far because it is -1 and that +#. will fail in msgpack_read_uint64. But kSDItemMissing may and it will +#. otherwise be skipped because (1 << 0) will never appear in flags. #, c-format -msgid "" -"Defining COMPOUNDPERMITFLAG after PFX item may give wrong results in %s line " -"%d" -msgstr "" +#~ msgid "" +#~ "Error while reading ShaDa file: there is an item at position %<PRIu64> that " +#~ "must not be there: Missing items are for internal uses only" +#~ msgstr "" -#: ../spell.c:4747 #, c-format -msgid "Wrong COMPOUNDRULES value in %s line %d: %s" -msgstr "" +#~ msgid "" +#~ "Error while reading ShaDa file: buffer list at position %<PRIu64> contains " +#~ "entry that is not a dictionary" +#~ msgstr "" -#: ../spell.c:4771 #, c-format -msgid "Wrong COMPOUNDWORDMAX value in %s line %d: %s" -msgstr "" +#~ msgid "" +#~ "Error while reading ShaDa file: buffer list at position %<PRIu64> contains " +#~ "entry with invalid line number" +#~ msgstr "" -#: ../spell.c:4777 #, c-format -msgid "Wrong COMPOUNDMIN value in %s line %d: %s" -msgstr "" +#~ msgid "" +#~ "Error while reading ShaDa file: buffer list at position %<PRIu64> contains " +#~ "entry with invalid column number" +#~ msgstr "" -#: ../spell.c:4783 #, c-format -msgid "Wrong COMPOUNDSYLMAX value in %s line %d: %s" -msgstr "" +#~ msgid "" +#~ "Error while reading ShaDa file: buffer list at position %<PRIu64> contains " +#~ "entry that does not have a file name" +#~ msgstr "" + +#. values for ts_isdiff +#. no different byte (yet) +#. different byte found +#. inserting character +#. values for ts_flags +#. already checked that prefix is OK +#. tried split at this point +#. did a delete, "ts_delidx" has index +#. special values ts_prefixdepth +#. not using prefixes +#. walking through the prefix tree +#. highest value that's not special +#. mode values for find_word +#. find word case-folded +#. find keep-case word +#. find word after prefix +#. find case-folded compound word +#. find keep-case compound word +#, fuzzy +#~ msgid "E759: Format error in spell file" +#~ msgstr "E297: Skryffout in ruillêer" + +#~ msgid "E756: Spell checking is not enabled" +#~ msgstr "" -#: ../spell.c:4795 #, c-format -msgid "Wrong CHECKCOMPOUNDPATTERN value in %s line %d: %s" -msgstr "" +#~ msgid "Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\"" +#~ msgstr "" + +#, fuzzy +#~ msgid "E797: SpellFileMissing autocommand deleted buffer" +#~ msgstr "E246: 'FileChangedShell' outobevel het buffer verwyder" + +#. This is probably an error. Give a warning and +#. accept the words anyway. +#, fuzzy, c-format +#~ msgid "Warning: region %s not supported" +#~ msgstr "E519: Opsie is nie ondersteun nie" + +#~ msgid "Sorry, no suggestions" +#~ msgstr "" + +#, fuzzy, c-format +#~ msgid "Sorry, only %<PRId64> suggestions" +#~ msgstr " op %<PRId64> reëls" + +#. for when 'cmdheight' > 1 +#. avoid more prompt +#, fuzzy, c-format +#~ msgid "Change \"%.*s\" to:" +#~ msgstr "Stoor veranderinge na \"%.*s\"?" -#: ../spell.c:4847 #, c-format -msgid "Different combining flag in continued affix block in %s line %d: %s" -msgstr "" +#~ msgid " < \"%.*s\"" +#~ msgstr "" + +#, fuzzy +#~ msgid "E752: No previous spell replacement" +#~ msgstr "E35: Geen vorige patroon nie" -#: ../spell.c:4850 #, fuzzy, c-format -msgid "Duplicate affix in %s line %d: %s" -msgstr "E154: Duplikaat etiket \"%s\" in lêer %s/%s" +#~ msgid "E753: Not found: %s" +#~ msgstr "E334: Kieslys nie gevind nie: %s" + +#~ msgid "E758: Truncated spell file" +#~ msgstr "" -#: ../spell.c:4871 #, c-format -msgid "" -"Affix also used for BAD/RARE/KEEPCASE/NEEDAFFIX/NEEDCOMPOUND/NOSUGGEST in %s " -"line %d: %s" -msgstr "" +#~ msgid "Trailing text in %s line %d: %s" +#~ msgstr "" -#: ../spell.c:4893 #, c-format -msgid "Expected Y or N in %s line %d: %s" -msgstr "" +#~ msgid "Affix name too long in %s line %d: %s" +#~ msgstr "" + +#, fuzzy +#~ msgid "E761: Format error in affix file FOL, LOW or UPP" +#~ msgstr "E431: Formaatfout in etiketlêer \"%s\"" + +#~ msgid "E762: Character in FOL, LOW or UPP is out of range" +#~ msgstr "" + +#~ msgid "Compressing word tree..." +#~ msgstr "" + +#, fuzzy, c-format +#~ msgid "Reading spell file \"%s\"" +#~ msgstr "Gebruik ruillêer \"%s\"" + +#, fuzzy +#~ msgid "E757: This does not look like a spell file" +#~ msgstr "E307: %s lyk nie soos 'n Vim ruillêer nie" + +#, fuzzy, c-format +#~ msgid "E5042: Failed to read spell file %s: %s" +#~ msgstr "E482: Kan nie lêer %s skep nie" + +#~ msgid "E771: Old spell file, needs to be updated" +#~ msgstr "" + +#~ msgid "E772: Spell file is for newer version of Vim" +#~ msgstr "" + +#, fuzzy +#~ msgid "E770: Unsupported section in spell file" +#~ msgstr "E297: Skryffout in ruillêer" + +#, fuzzy, c-format +#~ msgid "E778: This does not look like a .sug file: %s" +#~ msgstr "E307: %s lyk nie soos 'n Vim ruillêer nie" -#: ../spell.c:4968 #, c-format -msgid "Broken condition in %s line %d: %s" -msgstr "" +#~ msgid "E779: Old .sug file, needs to be updated: %s" +#~ msgstr "" -#: ../spell.c:5091 #, c-format -msgid "Expected REP(SAL) count in %s line %d" -msgstr "" +#~ msgid "E780: .sug file is for newer version of Vim: %s" +#~ msgstr "" -#: ../spell.c:5120 #, c-format -msgid "Expected MAP count in %s line %d" -msgstr "" +#~ msgid "E781: .sug file doesn't match .spl file: %s" +#~ msgstr "" + +#, fuzzy, c-format +#~ msgid "E782: error while reading .sug file: %s" +#~ msgstr "E47: Fout tydens lees van 'errorfile'" + +#, fuzzy, c-format +#~ msgid "Reading affix file %s ..." +#~ msgstr "Deursoek etiketlêer %s" -#: ../spell.c:5132 #, c-format -msgid "Duplicate character in MAP in %s line %d" -msgstr "" +#~ msgid "Conversion failure for word in %s line %d: %s" +#~ msgstr "" -#: ../spell.c:5176 #, c-format -msgid "Unrecognized or duplicate item in %s line %d: %s" -msgstr "" +#~ msgid "Conversion in %s not supported: from %s to %s" +#~ msgstr "" -#: ../spell.c:5197 #, c-format -msgid "Missing FOL/LOW/UPP line in %s" -msgstr "" +#~ msgid "Invalid value for FLAG in %s line %d: %s" +#~ msgstr "" -#: ../spell.c:5220 -msgid "COMPOUNDSYLMAX used without SYLLABLE" -msgstr "" +#, c-format +#~ msgid "FLAG after using flags in %s line %d: %s" +#~ msgstr "" -#: ../spell.c:5236 -#, fuzzy -msgid "Too many postponed prefixes" -msgstr "Te veel redigeer-parameters" +#, c-format +#~ msgid "" +#~ "Defining COMPOUNDFORBIDFLAG after PFX item may give wrong results in %s line " +#~ "%d" +#~ msgstr "" -#: ../spell.c:5238 -#, fuzzy -msgid "Too many compound flags" -msgstr "Te veel redigeer-parameters" +#, c-format +#~ msgid "" +#~ "Defining COMPOUNDPERMITFLAG after PFX item may give wrong results in %s line " +#~ "%d" +#~ msgstr "" -#: ../spell.c:5240 -msgid "Too many postponed prefixes and/or compound flags" -msgstr "" +#, c-format +#~ msgid "Wrong COMPOUNDRULES value in %s line %d: %s" +#~ msgstr "" -#: ../spell.c:5250 #, c-format -msgid "Missing SOFO%s line in %s" -msgstr "" +#~ msgid "Wrong COMPOUNDWORDMAX value in %s line %d: %s" +#~ msgstr "" -#: ../spell.c:5253 #, c-format -msgid "Both SAL and SOFO lines in %s" -msgstr "" +#~ msgid "Wrong COMPOUNDMIN value in %s line %d: %s" +#~ msgstr "" -#: ../spell.c:5331 #, c-format -msgid "Flag is not a number in %s line %d: %s" -msgstr "" +#~ msgid "Wrong COMPOUNDSYLMAX value in %s line %d: %s" +#~ msgstr "" -#: ../spell.c:5334 #, c-format -msgid "Illegal flag in %s line %d: %s" -msgstr "" +#~ msgid "Wrong CHECKCOMPOUNDPATTERN value in %s line %d: %s" +#~ msgstr "" -#: ../spell.c:5493 ../spell.c:5501 #, c-format -msgid "%s value differs from what is used in another .aff file" -msgstr "" +#~ msgid "Different combining flag in continued affix block in %s line %d: %s" +#~ msgstr "" -#: ../spell.c:5602 #, fuzzy, c-format -msgid "Reading dictionary file %s ..." -msgstr "Deursoek woordeboek: %s" +#~ msgid "Duplicate affix in %s line %d: %s" +#~ msgstr "E154: Duplikaat etiket \"%s\" in lêer %s/%s" -#: ../spell.c:5611 #, c-format -msgid "E760: No word count in %s" -msgstr "" +#~ msgid "" +#~ "Affix also used for BAD/RARE/KEEPCASE/NEEDAFFIX/NEEDCOMPOUND/NOSUGGESTin %s " +#~ "line %d: %s" +#~ msgstr "" -#: ../spell.c:5669 #, c-format -msgid "line %6d, word %6d - %s" -msgstr "" - -#: ../spell.c:5691 -#, fuzzy, c-format -msgid "Duplicate word in %s line %d: %s" -msgstr "Patroon gevind in elke reël: %s" +#~ msgid "Expected Y or N in %s line %d: %s" +#~ msgstr "" -#: ../spell.c:5694 #, c-format -msgid "First duplicate word in %s line %d: %s" -msgstr "" +#~ msgid "Broken condition in %s line %d: %s" +#~ msgstr "" -#: ../spell.c:5746 #, c-format -msgid "%d duplicate word(s) in %s" -msgstr "" +#~ msgid "Expected REP(SAL) count in %s line %d" +#~ msgstr "" -#: ../spell.c:5748 #, c-format -msgid "Ignored %d word(s) with non-ASCII characters in %s" -msgstr "" +#~ msgid "Expected MAP count in %s line %d" +#~ msgstr "" -#: ../spell.c:6115 -#, fuzzy, c-format -msgid "Reading word file %s ..." -msgstr "Lees nou vanaf stdin... " +#, c-format +#~ msgid "Duplicate character in MAP in %s line %d" +#~ msgstr "" -#: ../spell.c:6155 #, c-format -msgid "Duplicate /encoding= line ignored in %s line %d: %s" -msgstr "" +#~ msgid "Unrecognized or duplicate item in %s line %d: %s" +#~ msgstr "" -#: ../spell.c:6159 #, c-format -msgid "/encoding= line after word ignored in %s line %d: %s" -msgstr "" +#~ msgid "Missing FOL/LOW/UPP line in %s" +#~ msgstr "" + +#~ msgid "COMPOUNDSYLMAX used without SYLLABLE" +#~ msgstr "" + +#, fuzzy +#~ msgid "Too many postponed prefixes" +#~ msgstr "Te veel redigeer-parameters" + +#, fuzzy +#~ msgid "Too many compound flags" +#~ msgstr "Te veel redigeer-parameters" + +#~ msgid "Too many postponed prefixes and/or compound flags" +#~ msgstr "" -#: ../spell.c:6180 #, c-format -msgid "Duplicate /regions= line ignored in %s line %d: %s" -msgstr "" +#~ msgid "Missing SOFO%s line in %s" +#~ msgstr "" -#: ../spell.c:6185 #, c-format -msgid "Too many regions in %s line %d: %s" -msgstr "" +#~ msgid "Both SAL and SOFO lines in %s" +#~ msgstr "" -#: ../spell.c:6198 #, c-format -msgid "/ line ignored in %s line %d: %s" -msgstr "" +#~ msgid "Flag is not a number in %s line %d: %s" +#~ msgstr "" -#: ../spell.c:6224 -#, fuzzy, c-format -msgid "Invalid region nr in %s line %d: %s" -msgstr "E573: Ongeldige bediener-id gebruik: %s" +#, c-format +#~ msgid "Illegal flag in %s line %d: %s" +#~ msgstr "" -#: ../spell.c:6230 #, c-format -msgid "Unrecognized flags in %s line %d: %s" -msgstr "" +#~ msgid "%s value differs from what is used in another .aff file" +#~ msgstr "" + +#, fuzzy, c-format +#~ msgid "Reading dictionary file %s ..." +#~ msgstr "Deursoek woordeboek: %s" -#: ../spell.c:6257 #, c-format -msgid "Ignored %d words with non-ASCII characters" -msgstr "" +#~ msgid "E760: No word count in %s" +#~ msgstr "" -#: ../spell.c:6656 #, c-format -msgid "Compressed %d of %d nodes; %d (%d%%) remaining" -msgstr "" +#~ msgid "line %6d, word %6d - %s" +#~ msgstr "" -#: ../spell.c:7340 -msgid "Reading back spell file..." -msgstr "" +#, fuzzy, c-format +#~ msgid "Duplicate word in %s line %d: %s" +#~ msgstr "Patroon gevind in elke reël: %s" -#. Go through the trie of good words, soundfold each word and add it to -#. the soundfold trie. -#: ../spell.c:7357 -msgid "Performing soundfolding..." -msgstr "" +#, c-format +#~ msgid "First duplicate word in %s line %d: %s" +#~ msgstr "" -#: ../spell.c:7368 #, c-format -msgid "Number of words after soundfolding: %<PRId64>" -msgstr "" +#~ msgid "%d duplicate word(s) in %s" +#~ msgstr "" -#: ../spell.c:7476 #, c-format -msgid "Total number of words: %d" -msgstr "" +#~ msgid "Ignored %d word(s) with non-ASCII characters in %s" +#~ msgstr "" -#: ../spell.c:7655 #, fuzzy, c-format -msgid "Writing suggestion file %s ..." -msgstr "Besig om viminfo lêer \"%s\" te stoor" +#~ msgid "Reading word file %s ..." +#~ msgstr "Lees nou vanaf stdin... " -#: ../spell.c:7707 ../spell.c:7927 #, c-format -msgid "Estimated runtime memory use: %d bytes" -msgstr "" +#~ msgid "Duplicate /encoding= line ignored in %s line %d: %s" +#~ msgstr "" -#: ../spell.c:7820 -msgid "E751: Output file name must not have region name" -msgstr "" +#, c-format +#~ msgid "/encoding= line after word ignored in %s line %d: %s" +#~ msgstr "" -#: ../spell.c:7822 -#, fuzzy -msgid "E754: Only up to 8 regions supported" -msgstr "E519: Opsie is nie ondersteun nie" +#, c-format +#~ msgid "Duplicate /regions= line ignored in %s line %d: %s" +#~ msgstr "" -#: ../spell.c:7846 -#, fuzzy, c-format -msgid "E755: Invalid region in %s" -msgstr "E15: Ongeldige uitdrukking: %s" +#, c-format +#~ msgid "Too many regions in %s line %d: %s" +#~ msgstr "" -#: ../spell.c:7907 -msgid "Warning: both compounding and NOBREAK specified" -msgstr "" +#, c-format +#~ msgid "/ line ignored in %s line %d: %s" +#~ msgstr "" -#: ../spell.c:7920 #, fuzzy, c-format -msgid "Writing spell file %s ..." -msgstr "Besig om viminfo lêer \"%s\" te stoor" +#~ msgid "Invalid region nr in %s line %d: %s" +#~ msgstr "E573: Ongeldige bediener-id gebruik: %s" -#: ../spell.c:7925 -msgid "Done!" -msgstr "" - -#: ../spell.c:8034 #, c-format -msgid "E765: 'spellfile' does not have %<PRId64> entries" -msgstr "" +#~ msgid "Unrecognized flags in %s line %d: %s" +#~ msgstr "" -#: ../spell.c:8074 #, c-format -msgid "Word '%.*s' removed from %s" -msgstr "" +#~ msgid "Ignored %d words with non-ASCII characters" +#~ msgstr "" -#: ../spell.c:8117 #, c-format -msgid "Word '%.*s' added to %s" -msgstr "" +#~ msgid "Compressed %d of %d nodes; %d (%d%%) remaining" +#~ msgstr "" -#: ../spell.c:8381 -msgid "E763: Word characters differ between spell files" -msgstr "" +#~ msgid "Reading back spell file..." +#~ msgstr "" -#: ../spell.c:8684 -msgid "Sorry, no suggestions" -msgstr "" +#. Go through the trie of good words, soundfold each word and add it to +#. the soundfold trie. +#~ msgid "Performing soundfolding..." +#~ msgstr "" -#: ../spell.c:8687 -#, fuzzy, c-format -msgid "Sorry, only %<PRId64> suggestions" -msgstr " op %<PRId64> reëls" +#, c-format +#~ msgid "Number of words after soundfolding: %<PRId64>" +#~ msgstr "" + +#, c-format +#~ msgid "Total number of words: %d" +#~ msgstr "" -#. for when 'cmdheight' > 1 -#. avoid more prompt -#: ../spell.c:8704 #, fuzzy, c-format -msgid "Change \"%.*s\" to:" -msgstr "Stoor veranderinge na \"%.*s\"?" +#~ msgid "Writing suggestion file %s ..." +#~ msgstr "Besig om viminfo lêer \"%s\" te stoor" -#: ../spell.c:8737 #, c-format -msgid " < \"%.*s\"" -msgstr "" +#~ msgid "Estimated runtime memory use: %d bytes" +#~ msgstr "" + +#~ msgid "E751: Output file name must not have region name" +#~ msgstr "" -#: ../spell.c:8882 #, fuzzy -msgid "E752: No previous spell replacement" -msgstr "E35: Geen vorige patroon nie" +#~ msgid "E754: Only up to 8 regions supported" +#~ msgstr "E519: Opsie is nie ondersteun nie" -#: ../spell.c:8925 #, fuzzy, c-format -msgid "E753: Not found: %s" -msgstr "E334: Kieslys nie gevind nie: %s" +#~ msgid "E755: Invalid region in %s" +#~ msgstr "E15: Ongeldige uitdrukking: %s" + +#~ msgid "Warning: both compounding and NOBREAK specified" +#~ msgstr "" -#: ../spell.c:9276 #, fuzzy, c-format -msgid "E778: This does not look like a .sug file: %s" -msgstr "E307: %s lyk nie soos 'n Vim ruillêer nie" +#~ msgid "Writing spell file %s ..." +#~ msgstr "Besig om viminfo lêer \"%s\" te stoor" + +#~ msgid "Done!" +#~ msgstr "" -#: ../spell.c:9282 #, c-format -msgid "E779: Old .sug file, needs to be updated: %s" -msgstr "" +#~ msgid "E765: 'spellfile' does not have %<PRId64> entries" +#~ msgstr "" -#: ../spell.c:9286 #, c-format -msgid "E780: .sug file is for newer version of Vim: %s" -msgstr "" +#~ msgid "Word '%.*s' removed from %s" +#~ msgstr "" -#: ../spell.c:9295 #, c-format -msgid "E781: .sug file doesn't match .spl file: %s" -msgstr "" +#~ msgid "Word '%.*s' added to %s" +#~ msgstr "" -#: ../spell.c:9305 -#, fuzzy, c-format -msgid "E782: error while reading .sug file: %s" -msgstr "E47: Fout tydens lees van 'errorfile'" +#~ msgid "E763: Word characters differ between spell files" +#~ msgstr "" #. This should have been checked when generating the .spl #. file. -#: ../spell.c:11575 -msgid "E783: duplicate char in MAP entry" -msgstr "" +#~ msgid "E783: duplicate char in MAP entry" +#~ msgstr "" + +#, fuzzy +#~ msgid "E766: Insufficient arguments for printf()" +#~ msgstr "E116: Ongeldige parameters vir funksie %s" + +#~ msgid "E807: Expected Float argument for printf()" +#~ msgstr "" + +#, fuzzy +#~ msgid "E767: Too many arguments to printf()" +#~ msgstr "E118: Te veel parameters vir funksie: %s" -#: ../syntax.c:266 msgid "No Syntax items defined for this buffer" msgstr "Geen Sintaks-items gedefinieer vir hierdie buffer nie" -#: ../syntax.c:3083 ../syntax.c:3104 ../syntax.c:3127 #, c-format msgid "E390: Illegal argument: %s" msgstr "E390: Ongeldige parameter: %s" -#: ../syntax.c:3299 +#~ msgid "syntax iskeyword " +#~ msgstr "" + #, c-format msgid "E391: No such syntax cluster: %s" msgstr "E391: Geen sodanige sintakskluster nie: %s" -#: ../syntax.c:3433 msgid "syncing on C-style comments" msgstr "sinchroniseer met C-styl kommentaar" -#: ../syntax.c:3439 msgid "no syncing" msgstr "geen sinchronisering" -#: ../syntax.c:3441 msgid "syncing starts " msgstr "sinchronisasie begin " -#: ../syntax.c:3443 ../syntax.c:3506 msgid " lines before top line" msgstr " reëls voor boonste lyn" -#: ../syntax.c:3448 msgid "" "\n" "--- Syntax sync items ---" @@ -5762,7 +5156,6 @@ msgstr "" "\n" "--- Sintaks sync items ---" -#: ../syntax.c:3452 msgid "" "\n" "syncing on items" @@ -5770,7 +5163,6 @@ msgstr "" "\n" "sinchronisering met items" -#: ../syntax.c:3457 msgid "" "\n" "--- Syntax items ---" @@ -5778,275 +5170,216 @@ msgstr "" "\n" "--- Sintaks items ---" -#: ../syntax.c:3475 #, c-format msgid "E392: No such syntax cluster: %s" msgstr "E392: Geen sodanige sintakskluster nie: %s" -#: ../syntax.c:3497 msgid "minimal " msgstr "minimaal " -#: ../syntax.c:3503 msgid "maximal " msgstr "maksimaal " -#: ../syntax.c:3513 msgid "; match " msgstr "; treffer " -#: ../syntax.c:3515 msgid " line breaks" msgstr " reël breuke" -#: ../syntax.c:4076 msgid "E395: contains argument not accepted here" msgstr "E395: bevat parameters nie hier aanvaar nie" -#: ../syntax.c:4096 #, fuzzy -msgid "E844: invalid cchar value" -msgstr "E474: Ongeldige parameter" +#~ msgid "E844: invalid cchar value" +#~ msgstr "E474: Ongeldige parameter" -#: ../syntax.c:4107 msgid "E393: group[t]here not accepted here" msgstr "E393: 'group[t]here' nie hier aanvaar nie" -#: ../syntax.c:4126 #, c-format msgid "E394: Didn't find region item for %s" msgstr "E394: Kon nie omgewingsitem vind vir %s nie" -#: ../syntax.c:4188 msgid "E397: Filename required" msgstr "E397: Lêernaam benodig" -#: ../syntax.c:4221 #, fuzzy -msgid "E847: Too many syntax includes" -msgstr "E77: Te veel lêername" +#~ msgid "E847: Too many syntax includes" +#~ msgstr "E77: Te veel lêername" -#: ../syntax.c:4303 #, fuzzy, c-format -msgid "E789: Missing ']': %s" -msgstr "E398: Ontbrekende '=': %s" +#~ msgid "E789: Missing ']': %s" +#~ msgstr "E398: Ontbrekende '=': %s" + +#, fuzzy, c-format +#~ msgid "E890: trailing char after ']': %s]%s" +#~ msgstr "E488: Oorbodige karakters" -#: ../syntax.c:4531 #, c-format msgid "E398: Missing '=': %s" msgstr "E398: Ontbrekende '=': %s" -#: ../syntax.c:4666 #, c-format msgid "E399: Not enough arguments: syntax region %s" msgstr "E399: Nie genoeg parameters nie: sintaksomgewing %s" -#: ../syntax.c:4870 #, fuzzy -msgid "E848: Too many syntax clusters" -msgstr "E391: Geen sodanige sintakskluster nie: %s" +#~ msgid "E848: Too many syntax clusters" +#~ msgstr "E391: Geen sodanige sintakskluster nie: %s" -#: ../syntax.c:4954 msgid "E400: No cluster specified" msgstr "E400: Geen kluster gespesifiseer nie" #. end delimiter not found -#: ../syntax.c:4986 #, c-format msgid "E401: Pattern delimiter not found: %s" msgstr "E401: Patroonbegrenser nie gevind nie: %s" -#: ../syntax.c:5049 #, c-format msgid "E402: Garbage after pattern: %s" msgstr "E402: Gemors na patroon: %s" -#: ../syntax.c:5120 msgid "E403: syntax sync: line continuations pattern specified twice" msgstr "E403: sintaks sync: reëlvoortgaanpatroon twee keer gespesifiseer" -#: ../syntax.c:5169 #, c-format msgid "E404: Illegal arguments: %s" msgstr "E404: Ongeldige parameters: %s" -#: ../syntax.c:5217 #, c-format msgid "E405: Missing equal sign: %s" msgstr "E405: Ontbrekende gelykaanteken: %s" -#: ../syntax.c:5222 #, c-format msgid "E406: Empty argument: %s" msgstr "E406: Leë parameter: %s" -#: ../syntax.c:5240 #, c-format msgid "E407: %s not allowed here" msgstr "E407: %s nie toegelaat hier nie" -#: ../syntax.c:5246 #, c-format msgid "E408: %s must be first in contains list" msgstr "E408: %s moet vóór in 'contains' lys wees" -#: ../syntax.c:5304 #, c-format msgid "E409: Unknown group name: %s" msgstr "E409: Onbekende groepnaam: %s" -#: ../syntax.c:5512 #, c-format msgid "E410: Invalid :syntax subcommand: %s" msgstr "E410: Ongeldige :syntax subbevel %s" -#: ../syntax.c:5854 -msgid "" -" TOTAL COUNT MATCH SLOWEST AVERAGE NAME PATTERN" -msgstr "" +#~ msgid "" +#~ " TOTAL COUNT MATCH SLOWEST AVERAGE NAME PATTERN" +#~ msgstr "" -#: ../syntax.c:6146 msgid "E679: recursive loop loading syncolor.vim" msgstr "E679: rekursiewe lus gedurende laai van syncolor.vim" -#: ../syntax.c:6256 #, c-format msgid "E411: highlight group not found: %s" msgstr "E411: uitliggroep nie gevind nie: %s" -#: ../syntax.c:6278 #, c-format msgid "E412: Not enough arguments: \":highlight link %s\"" msgstr "E412: Te min parameters: \":highlight link %s\"" -#: ../syntax.c:6284 #, c-format msgid "E413: Too many arguments: \":highlight link %s\"" msgstr "E413: Te veel parameters: \":highlight link %s\"" -#: ../syntax.c:6302 msgid "E414: group has settings, highlight link ignored" msgstr "" "E414: groep het instellings, uitligskakel ('highlight link') geïgnoreer" -#: ../syntax.c:6367 #, c-format msgid "E415: unexpected equal sign: %s" msgstr "E415: onverwagte gelykaanteken: %s" -#: ../syntax.c:6395 #, c-format msgid "E416: missing equal sign: %s" msgstr "E416: ontbrekende gelykaanteken: %s" -#: ../syntax.c:6418 #, c-format msgid "E417: missing argument: %s" msgstr "E417: ontbrekende parameter: %s" -#: ../syntax.c:6446 #, c-format msgid "E418: Illegal value: %s" msgstr "E418: Ongeldige waarde: %s" -#: ../syntax.c:6496 msgid "E419: FG color unknown" msgstr "E419: FG kleur onbekend" -#: ../syntax.c:6504 msgid "E420: BG color unknown" msgstr "E420: BG kleur onbekend" -#: ../syntax.c:6564 #, c-format msgid "E421: Color name or number not recognized: %s" msgstr "E421: Kleurnaam of -nommer nie herken nie: %s" -#: ../syntax.c:6714 -#, c-format -msgid "E422: terminal code too long: %s" -msgstr "E422: terminaalkode te lank: %s" - -#: ../syntax.c:6753 #, c-format msgid "E423: Illegal argument: %s" msgstr "E423: Ongeldige parameter: %s" -#: ../syntax.c:6925 msgid "E424: Too many different highlighting attributes in use" msgstr "E424: Te veel verskillende uitlig-eienskappe in gebruik" -#: ../syntax.c:7427 msgid "E669: Unprintable character in group name" msgstr "E669: Onvertoonbare karakter in groepnaam" -#: ../syntax.c:7434 msgid "W18: Invalid character in group name" msgstr "W18: Ongeldige karakter groepnaam" -#: ../syntax.c:7448 -msgid "E849: Too many highlight and syntax groups" -msgstr "" +#~ msgid "E849: Too many highlight and syntax groups" +#~ msgstr "" -#: ../tag.c:104 msgid "E555: at bottom of tag stack" msgstr "E555: onderaan etiketstapel" -#: ../tag.c:105 msgid "E556: at top of tag stack" msgstr "E556: bo-aan etiketstapel" -#: ../tag.c:380 msgid "E425: Cannot go before first matching tag" msgstr "E425: Kan nie vóór eerste etiket-treffer gaan nie" -#: ../tag.c:504 #, c-format msgid "E426: tag not found: %s" msgstr "E426: etiket nie gevind nie: %s" -#: ../tag.c:528 msgid " # pri kind tag" msgstr " # pri tipe etiket" -#: ../tag.c:531 msgid "file\n" msgstr "lêer\n" -#: ../tag.c:829 msgid "E427: There is only one matching tag" msgstr "E427: Daar is slegs een etiket-treffer" -#: ../tag.c:831 msgid "E428: Cannot go beyond last matching tag" msgstr "E428: Kan nie verby laaste etiket-treffer gaan nie" -#: ../tag.c:850 #, c-format msgid "File \"%s\" does not exist" msgstr "Lêer \"%s\" bestaan nie" #. Give an indication of the number of matching tags -#: ../tag.c:859 #, c-format msgid "tag %d of %d%s" msgstr "etiket %d van %d%s" -#: ../tag.c:862 msgid " or more" msgstr " of meer" -#: ../tag.c:864 msgid " Using tag with different case!" msgstr " Gaan etiket met ander kas gebruik!" -#: ../tag.c:909 #, c-format msgid "E429: File \"%s\" does not exist" msgstr "E429: Lêer \"%s\" bestaan nie" #. Highlight title -#: ../tag.c:960 msgid "" "\n" " # TO tag FROM line in file/text" @@ -6054,275 +5387,173 @@ msgstr "" "\n" " # NA etiket VAN reël in lêer/teks" -#: ../tag.c:1303 #, c-format msgid "Searching tags file %s" msgstr "Deursoek etiketlêer %s" -#: ../tag.c:1545 -msgid "Ignoring long line in tags file" -msgstr "" +#~ msgid "Ignoring long line in tags file" +#~ msgstr "" -#: ../tag.c:1915 #, c-format msgid "E431: Format error in tags file \"%s\"" msgstr "E431: Formaatfout in etiketlêer \"%s\"" -#: ../tag.c:1917 #, c-format msgid "Before byte %<PRId64>" msgstr "Voor greep %<PRId64>" -#: ../tag.c:1929 #, c-format msgid "E432: Tags file not sorted: %s" msgstr "E432: Etiketlêer ongesorteer: %s" #. never opened any tags file -#: ../tag.c:1960 msgid "E433: No tags file" msgstr "E433: Geen etiketlêer nie" -#: ../tag.c:2536 msgid "E434: Can't find tag pattern" msgstr "E434: Kan nie etiketpatroon vind nie" -#: ../tag.c:2544 msgid "E435: Couldn't find tag, just guessing!" msgstr "E435: Kon nie etiket vind nie, ek raai maar!" -#: ../tag.c:2797 #, fuzzy, c-format -msgid "Duplicate field name: %s" -msgstr "gelaaide fontnaam: %s" - -#: ../term.c:1442 -msgid "' not known. Available builtin terminals are:" -msgstr "' onbekend. Beskikbare ingeboude terminale is:" - -#: ../term.c:1463 -msgid "defaulting to '" -msgstr "gebruik verstek '" - -#: ../term.c:1731 -msgid "E557: Cannot open termcap file" -msgstr "E557: Kan nie 'termcap'-lêer oopmaak nie" - -#: ../term.c:1735 -msgid "E558: Terminal entry not found in terminfo" -msgstr "E558: Terminaalinskrywing nie in 'terminfo' gevind nie" - -#: ../term.c:1737 -msgid "E559: Terminal entry not found in termcap" -msgstr "E559: Terminaalinskrywing nie in 'termcap' gevind nie" - -#: ../term.c:1878 -#, c-format -msgid "E436: No \"%s\" entry in termcap" -msgstr "E436: Geen \"%s\" inskrywing in termcap nie" - -#: ../term.c:2249 -msgid "E437: terminal capability \"cm\" required" -msgstr "E437: terminaalvermoë \"cm\" vereis" - -#. Highlight title -#: ../term.c:4376 -msgid "" -"\n" -"--- Terminal keys ---" -msgstr "" -"\n" -"--- Terminaal sleutels ---" - -#: ../ui.c:481 -msgid "Vim: Error reading input, exiting...\n" -msgstr "Vim: Fout met lees van invoer, verlaat...\n" +#~ msgid "Duplicate field name: %s" +#~ msgstr "gelaaide fontnaam: %s" #. This happens when the FileChangedRO autocommand changes the #. * file in a way it becomes shorter. -#: ../undo.c:379 -msgid "E881: Line count changed unexpectedly" -msgstr "" +#~ msgid "E881: Line count changed unexpectedly" +#~ msgstr "" -#: ../undo.c:627 #, fuzzy, c-format -msgid "E828: Cannot open undo file for writing: %s" -msgstr "E212: Kan lêer nie oopmaak vir skryf nie" +#~ msgid "E828: Cannot open undo file for writing: %s" +#~ msgstr "E212: Kan lêer nie oopmaak vir skryf nie" + +#, fuzzy, c-format +#~ msgid "E5003: Unable to create directory \"%s\" for undo file: %s" +#~ msgstr "E346: Geen gids \"%s\" meer gevind in 'cdpath' nie" -#: ../undo.c:717 #, c-format -msgid "E825: Corrupted undo file (%s): %s" -msgstr "" +#~ msgid "E825: Corrupted undo file (%s): %s" +#~ msgstr "" -#: ../undo.c:1039 -msgid "Cannot write undo file in any directory in 'undodir'" -msgstr "" +#~ msgid "Cannot write undo file in any directory in 'undodir'" +#~ msgstr "" -#: ../undo.c:1074 #, c-format -msgid "Will not overwrite with undo file, cannot read: %s" -msgstr "" +#~ msgid "Will not overwrite with undo file, cannot read: %s" +#~ msgstr "" -#: ../undo.c:1092 #, c-format -msgid "Will not overwrite, this is not an undo file: %s" -msgstr "" +#~ msgid "Will not overwrite, this is not an undo file: %s" +#~ msgstr "" -#: ../undo.c:1108 -msgid "Skipping undo file write, nothing to undo" -msgstr "" +#~ msgid "Skipping undo file write, nothing to undo" +#~ msgstr "" -#: ../undo.c:1121 #, fuzzy, c-format -msgid "Writing undo file: %s" -msgstr "Besig om viminfo lêer \"%s\" te stoor" +#~ msgid "Writing undo file: %s" +#~ msgstr "Besig om viminfo lêer \"%s\" te stoor" -#: ../undo.c:1213 #, fuzzy, c-format -msgid "E829: write error in undo file: %s" -msgstr "E297: Skryffout in ruillêer" +#~ msgid "E829: write error in undo file: %s" +#~ msgstr "E297: Skryffout in ruillêer" -#: ../undo.c:1280 #, c-format -msgid "Not reading undo file, owner differs: %s" -msgstr "" +#~ msgid "Not reading undo file, owner differs: %s" +#~ msgstr "" -#: ../undo.c:1292 #, fuzzy, c-format -msgid "Reading undo file: %s" -msgstr "Besig om viminfo lêer \"%s\"%s%s%s te lees" +#~ msgid "Reading undo file: %s" +#~ msgstr "Besig om viminfo lêer \"%s\"%s%s%s te lees" -#: ../undo.c:1299 #, fuzzy, c-format -msgid "E822: Cannot open undo file for reading: %s" -msgstr "E195: Kan 'viminfo' lêer nie oopmaak om te lees nie" +#~ msgid "E822: Cannot open undo file for reading: %s" +#~ msgstr "E195: Kan 'viminfo' lêer nie oopmaak om te lees nie" -#: ../undo.c:1308 #, fuzzy, c-format -msgid "E823: Not an undo file: %s" -msgstr "E484: Kan nie lêer %s oopmaak nie" +#~ msgid "E823: Not an undo file: %s" +#~ msgstr "E484: Kan nie lêer %s oopmaak nie" -#: ../undo.c:1313 #, fuzzy, c-format -msgid "E824: Incompatible undo file: %s" -msgstr "E484: Kan nie lêer %s oopmaak nie" +#~ msgid "E824: Incompatible undo file: %s" +#~ msgstr "E484: Kan nie lêer %s oopmaak nie" -#: ../undo.c:1328 -msgid "File contents changed, cannot use undo info" -msgstr "" +#~ msgid "File contents changed, cannot use undo info" +#~ msgstr "" -#: ../undo.c:1497 #, fuzzy, c-format -msgid "Finished reading undo file %s" -msgstr "%s klaar uitgevoer" +#~ msgid "Finished reading undo file %s" +#~ msgstr "%s klaar uitgevoer" -#: ../undo.c:1586 ../undo.c:1812 -msgid "Already at oldest change" -msgstr "" +#~ msgid "Already at oldest change" +#~ msgstr "" -#: ../undo.c:1597 ../undo.c:1814 -msgid "Already at newest change" -msgstr "" +#~ msgid "Already at newest change" +#~ msgstr "" -#: ../undo.c:1806 #, fuzzy, c-format -msgid "E830: Undo number %<PRId64> not found" -msgstr "E92: buffer %<PRId64> kon nie gevind word nie" +#~ msgid "E830: Undo number %<PRId64> not found" +#~ msgstr "E92: buffer %<PRId64> kon nie gevind word nie" -#: ../undo.c:1979 msgid "E438: u_undo: line numbers wrong" msgstr "E438: u_undo: reëlnommers foutief" -#: ../undo.c:2183 #, fuzzy -msgid "more line" -msgstr "1 reël meer" +#~ msgid "more line" +#~ msgstr "1 reël meer" -#: ../undo.c:2185 #, fuzzy -msgid "more lines" -msgstr "1 reël meer" +#~ msgid "more lines" +#~ msgstr "1 reël meer" -#: ../undo.c:2187 #, fuzzy -msgid "line less" -msgstr "1 reël minder" +#~ msgid "line less" +#~ msgstr "1 reël minder" -#: ../undo.c:2189 #, fuzzy -msgid "fewer lines" -msgstr "%<PRId64> minder reëls" +#~ msgid "fewer lines" +#~ msgstr "%<PRId64> minder reëls" -#: ../undo.c:2193 #, fuzzy -msgid "change" -msgstr "1 verandering" +#~ msgid "change" +#~ msgstr "1 verandering" -#: ../undo.c:2195 #, fuzzy -msgid "changes" -msgstr "1 verandering" +#~ msgid "changes" +#~ msgstr "1 verandering" -#: ../undo.c:2225 #, fuzzy, c-format -msgid "%<PRId64> %s; %s #%<PRId64> %s" -msgstr "%<PRId64>R, %<PRId64>K" +#~ msgid "%<PRId64> %s; %s #%<PRId64> %s" +#~ msgstr "%<PRId64>R, %<PRId64>K" -#: ../undo.c:2228 -msgid "before" -msgstr "" +#~ msgid "after" +#~ msgstr "" -#: ../undo.c:2228 -msgid "after" -msgstr "" +#~ msgid "before" +#~ msgstr "" -#: ../undo.c:2325 #, fuzzy -msgid "Nothing to undo" -msgstr "Geen binding gevind nie" +#~ msgid "Nothing to undo" +#~ msgstr "Geen binding gevind nie" -#: ../undo.c:2330 -msgid "number changes when saved" -msgstr "" +#~ msgid "number changes when saved" +#~ msgstr "" -#: ../undo.c:2360 #, fuzzy, c-format -msgid "%<PRId64> seconds ago" -msgstr "%<PRId64> Kolomme; " +#~ msgid "%<PRId64> seconds ago" +#~ msgstr "%<PRId64> Kolomme; " -#: ../undo.c:2372 #, fuzzy -msgid "E790: undojoin is not allowed after undo" -msgstr "E407: %s nie toegelaat hier nie" +#~ msgid "E790: undojoin is not allowed after undo" +#~ msgstr "E407: %s nie toegelaat hier nie" -#: ../undo.c:2466 msgid "E439: undo list corrupt" msgstr "E439: herstellys korrup" -#: ../undo.c:2495 msgid "E440: undo line missing" msgstr "E440: herstelreël ontbreek" -#: ../version.c:600 -msgid "" -"\n" -"Included patches: " -msgstr "" -"\n" -"Ingeslote laslappies:" - -#: ../version.c:627 -#, fuzzy -msgid "" -"\n" -"Extra patches: " -msgstr "Eksterne subtreffers:\n" - -#: ../version.c:639 ../version.c:864 -msgid "Modified by " -msgstr "Gewysig deur " - -#: ../version.c:646 msgid "" "\n" "Compiled " @@ -6330,933 +5561,919 @@ msgstr "" "\n" "Gekompileer op " -#: ../version.c:649 msgid "by " msgstr "deur " -#: ../version.c:660 -msgid "" -"\n" -"Huge version " -msgstr "" -"\n" -"Enorme weergawe " - -#: ../version.c:661 -msgid "without GUI." -msgstr "sonder GUI." - -#: ../version.c:662 -msgid " Features included (+) or not (-):\n" -msgstr " Kenmerke in- (+) of uitgesluit (-):\n" +#~ msgid "" +#~ "\n" +#~ "\n" +#~ "Features: " +#~ msgstr "" -#: ../version.c:667 msgid " system vimrc file: \"" msgstr " stelsel vimrc-lêer: \"" -#: ../version.c:672 -msgid " user vimrc file: \"" -msgstr " gebruiker vimrc-lêer: \"" - -#: ../version.c:677 -msgid " 2nd user vimrc file: \"" -msgstr " 2de gebruiker vimrc-lêer \"" - -#: ../version.c:682 -msgid " 3rd user vimrc file: \"" -msgstr " 3de gebruiker vimrc-lêer \"" - -#: ../version.c:687 -msgid " user exrc file: \"" -msgstr " gebruiker exrc-lêer: \"" - -#: ../version.c:692 -msgid " 2nd user exrc file: \"" -msgstr " 2de gebruiker exrc-lêer: \"" - -#: ../version.c:699 msgid " fall-back for $VIM: \"" msgstr " bystand vir $VIM: \"" -#: ../version.c:705 msgid " f-b for $VIMRUNTIME: \"" msgstr " bystand vir $VIMRUNTIME: \"" -#: ../version.c:709 -msgid "Compilation: " -msgstr "Kompilering: " - -#: ../version.c:712 -msgid "Linking: " -msgstr "Koppeling: " +#, fuzzy +#~ msgid "Nvim is open source and freely distributable" +#~ msgstr "Vim is vryekode, en vrylik verspreibaar" -#: ../version.c:717 -msgid " DEBUG BUILD" -msgstr " ONTFOUTINGS-KOMPILERING" +#~ msgid "https://neovim.io/community" +#~ msgstr "" -#: ../version.c:767 -msgid "VIM - Vi IMproved" -msgstr "VIM - Vi Met skop" +#, fuzzy +#~ msgid "type :help nvim<Enter> if you are new! " +#~ msgstr "tik :help uganda<Enter> as jy hou van Vim " -# njj: :)) -#: ../version.c:769 -msgid "version " -msgstr "Weergawe " +#, fuzzy +#~ msgid "type :checkhealth<Enter> to optimize Nvim" +#~ msgstr "Tik :quit<Enter> om Vim te verlaat" -#: ../version.c:770 -msgid "by Bram Moolenaar et al." -msgstr "deur Bram Moolenaar et al." +msgid "type :q<Enter> to exit " +msgstr "tik :q<Enter> om program verlaat " -#: ../version.c:774 -msgid "Vim is open source and freely distributable" -msgstr "Vim is vryekode, en vrylik verspreibaar" +#, fuzzy +#~ msgid "type :help<Enter> for help " +#~ msgstr "tik :q<Enter> om program verlaat " -#: ../version.c:776 msgid "Help poor children in Uganda!" msgstr "Help arm kinders in Uganda!" -#: ../version.c:777 msgid "type :help iccf<Enter> for information " msgstr "tik :help iccf<Enter> vir meer inligting hieroor " -#: ../version.c:779 -msgid "type :q<Enter> to exit " -msgstr "tik :q<Enter> om program verlaat " - -#: ../version.c:780 -msgid "type :help<Enter> or <F1> for on-line help" -msgstr "tik :help<Enter> of <F1> vir aanlyn hulp " - -#: ../version.c:781 -msgid "type :help version7<Enter> for version info" -msgstr "tik :help version7<Enter> vir weergawe-inligting" - -#: ../version.c:784 -msgid "Running in Vi compatible mode" -msgstr "Voer tans uit in Vi-versoenbare modus" - -#: ../version.c:785 -msgid "type :set nocp<Enter> for Vim defaults" -msgstr "tik :set nocp<Enter> vir Vim verstekwaardes " - -#: ../version.c:786 -msgid "type :help cp-default<Enter> for info on this" -msgstr "tik :help cp-default<Enter> vir meer inligting hieroor" - -#: ../version.c:827 msgid "Sponsor Vim development!" msgstr "Borg Vim ontwikkeling!" -#: ../version.c:828 msgid "Become a registered Vim user!" msgstr "Word 'n geregistreerde Vim gebruiker!" -#: ../version.c:831 msgid "type :help sponsor<Enter> for information " msgstr "tik :help sponsor<Enter> vir meer inligting hieroor " -#: ../version.c:832 msgid "type :help register<Enter> for information " msgstr "tik :help register<Enter> vir meer inligting hieroor " -#: ../version.c:834 msgid "menu Help->Sponsor/Register for information " msgstr "menu Hulp->Borg/Registreer vir meer inligting" -#: ../window.c:119 msgid "Already only one window" msgstr "Daar is alreeds slegs een venster" -#: ../window.c:224 msgid "E441: There is no preview window" msgstr "E441: Daar is nie 'n voorskou-venster nie" -#: ../window.c:559 msgid "E442: Can't split topleft and botright at the same time" msgstr "E442: Kan nie bo-links en onder-regs terselfdertyd verdeel nie" -#: ../window.c:1228 msgid "E443: Cannot rotate when another window is split" msgstr "E443: Kan nie roteer terwyl 'n ander venster verdeel is nie" -#: ../window.c:1803 msgid "E444: Cannot close last window" msgstr "E444: Kan nie laaste venster toemaak nie" -#: ../window.c:1810 #, fuzzy -msgid "E813: Cannot close autocmd window" -msgstr "E444: Kan nie laaste venster toemaak nie" +#~ msgid "E813: Cannot close autocmd window" +#~ msgstr "E444: Kan nie laaste venster toemaak nie" -#: ../window.c:1814 #, fuzzy -msgid "E814: Cannot close window, only autocmd window would remain" -msgstr "E444: Kan nie laaste venster toemaak nie" +#~ msgid "E814: Cannot close window, only autocmd window would remain" +#~ msgstr "E444: Kan nie laaste venster toemaak nie" -#: ../window.c:2717 msgid "E445: Other window contains changes" msgstr "E445: Die ander venster bevat veranderinge" -#: ../window.c:4805 msgid "E446: No file name under cursor" msgstr "E446: Geen lêernaam onder loper" -#~ msgid "[Error List]" -#~ msgstr "[Foutlys]" - -#~ msgid "[No File]" -#~ msgstr "[Geen lêer]" +#, c-format +#~ msgid "E799: Invalid ID: %<PRId64> (must be greater than or equal to 1)" +#~ msgstr "" -#~ msgid "Patch file" -#~ msgstr "Laslap lêer" +#, fuzzy, c-format +#~ msgid "E801: ID already taken: %<PRId64>" +#~ msgstr "E157: Ongeldige teken ID: %<PRId64>" -#~ msgid "E106: Unknown variable: \"%s\"" -#~ msgstr "E106: Onbekende veranderlike: \"%s\"" +#, fuzzy +#~ msgid "List or number required" +#~ msgstr "E471: Parameter benodig" -#~ msgid "" -#~ "&OK\n" -#~ "&Cancel" +#, c-format +#~ msgid "E802: Invalid ID: %<PRId64> (must be greater than or equal to 1)" #~ msgstr "" -#~ "&OK\n" -#~ "&Kanselleer" -#~ msgid "E240: No connection to Vim server" -#~ msgstr "E240: Geen verbinding met Vim bediener" - -#~ msgid "E277: Unable to read a server reply" -#~ msgstr "E277: Kon bediener-terugvoer nie lees nie" +#, fuzzy, c-format +#~ msgid "E803: ID not found: %<PRId64>" +#~ msgstr "E320: Kan nie reël %<PRId64> vind nie" -#~ msgid "E241: Unable to send to %s" -#~ msgstr "E241: Kan nie na %s stuur nie" +#~ msgid "WARNING: tag command changed a buffer!!!" +#~ msgstr "WAARSKUWING: etiketbevel het buffer verander!!!" -#~ msgid "E130: Undefined function: %s" -#~ msgstr "E130: Ongedefinieerde funksie: %s" +#~ msgid "Leave: %s" +#~ msgstr "Verlaat: %s" -#~ msgid "Save As" -#~ msgstr "Stoor As" +#~ msgid "File name '%s' is valid" +#~ msgstr "lêernaam '%s is ongeldig" -#~ msgid "Source Vim script" -#~ msgstr "Voer Vim skrip uit" +#~ msgid "Not a proper file name: '%s'" +#~ msgstr "Nie 'n geldige lêernaam nie: '%s'" -#~ msgid "Edit File" -#~ msgstr "Verander lêer" +#~ msgid "Change dir debugging enabled." +#~ msgstr "Verandergids ontfouting in staat gestel" -#~ msgid " (NOT FOUND)" -#~ msgstr " (NIE GEVIND NIE)" +#~ msgid "Warning: %s option changed from modeline" +#~ msgstr "Waarskuwing: %s opsie verander vanaf moduslyn" -#~ msgid "Edit File in new window" -#~ msgstr "Bewerk lêer in nuwe venster" +#~ msgid "Security error: shell command output is a symbolic link" +#~ msgstr "Sekuriteitsfout: Dop-bevel afvoer is 'n simboliese skakel" -#~ msgid "Append File" -#~ msgstr "Las aan by lêer" +#~ msgid "No fold at this line" +#~ msgstr "Geen vou by hierdie reël nie" -#~ msgid "Window position: X %d, Y %d" -#~ msgstr "Vensterposisie: X %d, Y %d" +#~ msgid "Fold must be at least two lines" +#~ msgstr "'n Vou moet ten minste 2 reëls wees" -#~ msgid "Save Redirection" -#~ msgstr "Stoor Herversturing" +#~ msgid "Security error: filter input is a symbolic link: %s" +#~ msgstr "Sekuriteitsfout: filter invoer is 'n simboliese skakel" -#~ msgid "Save View" -#~ msgstr "Stoor Oorsig" +#~ msgid "Security error: 'charconvert' output is a symbolic link" +#~ msgstr "Sekuriteitsfout: 'charconvert' afvoer is 'n simboliese skakel" -#~ msgid "Save Session" -#~ msgstr "Stoor Sessie" +#~ msgid "Security error: filter output is a symbolic link: %s" +#~ msgstr "Sekuriteitsfout: filter afvoer is 'n simboliese skakel" -#~ msgid "Save Setup" -#~ msgstr "Stoor konfigurasie" +#~ msgid "makeef option not set" +#~ msgstr "'makeef' opsie nie aan nie" -#~ msgid "E196: No digraphs in this version" -#~ msgstr "E196: Geen digrawe in hierdie weergawe nie" +#~ msgid "line ~%<PRId64>: %s" +#~ msgstr "reël ~%<PRId64>: %s" -#~ msgid "[NL found]" -#~ msgstr "[NL gevind]" +#~ msgid "Security error: new viminfo file is a symbolic link" +#~ msgstr "Sekuriteitsfout: nuwe viminfo lêer is a simboliese skakel" -#~ msgid "[crypted]" -#~ msgstr "[gekodeer]" +#~ msgid " PPC has a much better architecture. " +#~ msgstr " PPC het 'n veel beter argitektuur. " -#~ msgid "[CONVERSION ERROR]" -#~ msgstr "[OMSETTINGSFOUT]" +#~ msgid " WARNING: Intel CPU detected. " +#~ msgstr " WAARSKUWING: Intel SVE bespeur. " -#~ msgid "NetBeans disallows writes of unmodified buffers" -#~ msgstr "NetBeans laat nie skryf toe van onveranderde buffers nie" +#~ msgid "Unexpected magic character; check META." +#~ msgstr "Onverwagte toorkarakter; kyk na META." -#~ msgid "Partial writes disallowed for NetBeans buffers" -#~ msgstr "Gedeeltelike skryf word nie toegelaat vir NetBeans buffers nie" +#~ msgid "\\* follows nothing" +#~ msgstr "\\* volg niks" -#~ msgid "E460: The resource fork would be lost (add ! to override)" -#~ msgstr "E460: Die hulpbronvurk sal verlore gaan (gebruik ! om te dwing)" +#~ msgid "\\{ follows nothing" +#~ msgstr "\\{ volg niks" -#~ msgid "<cannot open> " -#~ msgstr "<kan nie oopmaak nie> " +#~ msgid "\\@ follows nothing" +#~ msgstr "\\@ volg niks" -#~ msgid "E616: vim_SelFile: can't get font %s" -#~ msgstr "E616: 'vim_SelFile': kan font %s nie kry nie" +#~ msgid "\\+ follows nothing" +#~ msgstr "\\+ volg niks" -#~ msgid "E614: vim_SelFile: can't return to current directory" -#~ msgstr "E614: 'vim_SelFile': Kan nie terugkeer na huidige gids nie" +#~ msgid "\\= follows nothing" +#~ msgstr "\\= volg niks" -#~ msgid "Pathname:" -#~ msgstr "Gidsnaam:" +#~ msgid "Nested *, \\=, \\+, \\! or \\{" +#~ msgstr "Geneste *, \\=, \\+, \\! of \\{" -#~ msgid "E615: vim_SelFile: can't get current directory" -#~ msgstr "E615: vim_SelFile: Kan nie huidige gids verkry nie" +#~ msgid "Unmatched \\(" +#~ msgstr "Onpaar \\(" -#~ msgid "OK" -#~ msgstr "OK" +#~ msgid "Too many \\(" +#~ msgstr "Te veel \\(" -#~ msgid "Cancel" -#~ msgstr "Kanselleer" +#~ msgid "Ambiguous mapping, conflicts with \"%s\"" +#~ msgstr "Dubbelsinnige binding, bots met \"%s\"" -#~ msgid "Vim dialog" -#~ msgstr "Vim dialooghokkie" +#~ msgid "Ambiguous mapping" +#~ msgstr "Dubbelsinnige binding" -#~ msgid "Scrollbar Widget: Could not get geometry of thumb pixmap." -#~ msgstr "" -#~ "Rolstaafelement: Kon nie pikselmatriks-duimnael se geometrie kry nie" +#~ msgid "Command too long" +#~ msgstr "Bevel te lank" -#~ msgid "E232: Cannot create BalloonEval with both message and callback" -#~ msgstr "E232: Kan nie BalloonEval skep met beide boodskap en terugroep nie" +#~ msgid "GUI is not running" +#~ msgstr "GUI voer nie uit nie" -#~ msgid "E229: Cannot start the GUI" -#~ msgstr "E229: Kan nie die GUI begin nie" +#~ msgid "Cannot clear all highlight groups" +#~ msgstr "Kan nie alle uitliggroepe leegmaak nie" -#~ msgid "E230: Cannot read from \"%s\"" -#~ msgstr "E230: Kan nie lees uit \"%s\" nie" +#~ msgid "Library call failed" +#~ msgstr "Biblioteekfunksieroep het gefaal" -#~ msgid "E665: Cannot start GUI, no valid font found" -#~ msgstr "E665: Kan nie GUI begin nie, geen geldige font gevind nie" +#~ msgid "some" +#~ msgstr "sommige" -#~ msgid "E231: 'guifontwide' invalid" -#~ msgstr "E231: 'guifontwide' ongeldig" +#~ msgid "deadly signal" +#~ msgstr "dodelike sein" -#~ msgid "E599: Value of 'imactivatekey' is invalid" -#~ msgstr "E599: Waarde van 'imactivatekey' is ongeldig" +#~ msgid "Unsupported screen mode" +#~ msgstr "Ongesteunde skermmodus" -#~ msgid "E254: Cannot allocate color %s" -#~ msgstr "E254: Kan nie kleur %s toeken nie" +#~ msgid "PC (16 bits Vim)" +#~ msgstr "PC (16 bisse Vim)" -#~ msgid "Vim dialog..." -#~ msgstr "Vim dialooghokkie..." +#~ msgid "PC (32 bits Vim)" +#~ msgstr "PC (32 bisse Vim)" -#~ msgid "Input _Methods" -#~ msgstr "Invoer _Metodes" +#~ msgid "Out of memory" +#~ msgstr "Geheue op" -#~ msgid "VIM - Search and Replace..." -#~ msgstr "VIM - Soek en Vervang..." +#~ msgid "Sorry, deleting a menu is not possible in the Athena version" +#~ msgstr "" +#~ "Jammer, in die Athena weergawe is dit onmoontlik om 'n kieslys te skrap" -#~ msgid "VIM - Search..." -#~ msgstr "VIM - Soek..." +#~ msgid "Can't create input context." +#~ msgstr "Kan nie invoerkonteks skep nie." -#~ msgid "Find what:" -#~ msgstr "Soek na:" +#~ msgid "Unrecognized sniff request [%s]" +#~ msgstr "Onbekende sniff versoek [%s]" -#~ msgid "Replace with:" -#~ msgstr "Vervang met:" +#~ msgid "-- SNiFF+ commands --" +#~ msgstr "-- SNiFF+ bevele --" -#~ msgid "Match whole word only" -#~ msgstr "Tref slegs presiese woord" +#~ msgid "Retrieve next symbol" +#~ msgstr "Kry volgende simbool" -#~ msgid "Match case" -#~ msgstr "Tref kas" +#~ msgid "cs_add_common: alloc fail #4" +#~ msgstr "'cs_add_common': toeken onsuksesvol #4" -#~ msgid "Direction" -#~ msgstr "Rigting" +#~ msgid "cs_add_common: alloc fail #3" +#~ msgstr "'cs_add_common': toeken onsuksesvol #3" -#~ msgid "Up" -#~ msgstr "Op" +#~ msgid "cs_add_common: alloc fail #2" +#~ msgstr "'cs_add_common': toeken onsuksesvol #2" -#~ msgid "Down" -#~ msgstr "Af" +#~ msgid "cs_add_common: alloc fail #1" +#~ msgstr "'cs_add_common': toeken onsuksesvol #1" -#~ msgid "Find Next" -#~ msgstr "Vind volgende" +#~ msgid "automata ERROR: internal" +#~ msgstr "automata FOUT: intern" -#~ msgid "Replace" -#~ msgstr "Vervang" +#~ msgid "Your language Font missing" +#~ msgstr "Jou taal Font ontbreek" -#~ msgid "Replace All" -#~ msgstr "Vervang alles" +#~ msgid "fontset name: %s" +#~ msgstr "fontstel naam: %s" -#~ msgid "Vim: Received \"die\" request from session manager\n" -#~ msgstr "Vim: Het die \"die\" opdrag ontvang van sessiebestuurder\n" +#~ msgid " sh : export LANG=ko" +#~ msgstr " sh: export LANG=af" -#~ msgid "Vim: Main window unexpectedly destroyed\n" -#~ msgstr "Vim: Hoofvenster onverwags verwoes\n" +#~ msgid " csh: setenv LANG ko" +#~ msgstr " csh: setenv LANG af" -#~ msgid "Font Selection" -#~ msgstr "Fontkeuse" +#~ msgid "For korean:" +#~ msgstr "Vir Afrikaans:" -#~ msgid "Used CUT_BUFFER0 instead of empty selection" -#~ msgstr "'CUT_BUFFER0' is gebruik in plaas van leë seleksie" +#~ msgid "locale is not set correctly" +#~ msgstr "lokaal is nie korrek gestel nie" -#~ msgid "Filter" -#~ msgstr "Filter" +#~ msgid "Error: During loading fontset %s" +#~ msgstr "Fout: Gedurende die laai van fontstel %s" -#~ msgid "Directories" -#~ msgstr "Gidse" +#~ msgid "Topic:" +#~ msgstr "Onderwerp:" -#~ msgid "Help" -#~ msgstr "Hulp" +#~ msgid "VIM - Help on..." +#~ msgstr "VIM - Hulp met.." -#~ msgid "Files" -#~ msgstr "Lêers" +#~ msgid "Cannot use :normal from event handler" +#~ msgstr "Kan ':normal' nie vanuit gebeurtenishanteerder gebruik nie" -#~ msgid "Selection" -#~ msgstr "Seleksie" +#~ msgid "Invalid line number: %<PRId64>" +#~ msgstr "Ongeldige reëlnommer: %<PRId64>" -#~ msgid "Undo" -#~ msgstr "Herroep" +#~ msgid "Missing filename" +#~ msgstr "Ontbrekende lêernaam" -#~ msgid "E671: Cannot find window title \"%s\"" -#~ msgstr "E671: Kan nie venster titel vind nie \"%s\"" +#~ msgid "No servers found for this display" +#~ msgstr "Geen bedieners gevind vir die 'display' nie" -#~ msgid "E243: Argument not supported: \"-%s\"; Use the OLE version." -#~ msgstr "E243: Parameter nie bekend: \"-%s\"; Gebruik die OLE weergawe." +#~ msgid "E258: no matches found in cscope connections" +#~ msgstr "E258: geen treffers gevind in 'cscope' verbindings nie" -#~ msgid "E672: Unable to open window inside MDI application" -#~ msgstr "E672: Kon nie venster oopmaak binne 'n MDI toepassing nie" +#~ msgid "Binary tag search" +#~ msgstr "Binêre etiketsoek" -#~ msgid "Find string (use '\\\\' to find a '\\')" -#~ msgstr "Vind string (gebruik '\\\\' om 'n '\\' te vind" +#~ msgid "Linear tag search" +#~ msgstr "Liniêre etiketsoek" -#~ msgid "Find & Replace (use '\\\\' to find a '\\')" -#~ msgstr "Vind & vervang string (gebruik '\\\\' om 'n '\\' te vind" +#~ msgid " LINE" +#~ msgstr " REËL" -#~ msgid "" -#~ "Vim E458: Cannot allocate colormap entry, some colors may be incorrect" -#~ msgstr "" -#~ "Vim E458: Kan nie kleurkaart-inskrywing toeken nie, sommige kleure mag " -#~ "verkeerd wees" +#~ msgid " BLOCK" +#~ msgstr " BLOK" -#~ msgid "E250: Fonts for the following charsets are missing in fontset %s:" -#~ msgstr "" -#~ "E250: Fonte vir die volgende karakterstelle ontbreek in fontversameling " -#~ "%s:" +#~ msgid "%<PRId64> lines ~ed" +#~ msgstr "%<PRId64> reëls ge-~" -#~ msgid "E252: Fontset name: %s" -#~ msgstr "E252: Fontstel naam: %s" +#~ msgid "1 line ~ed" +#~ msgstr "1 reël ge-~" -#~ msgid "Font '%s' is not fixed-width" -#~ msgstr "Font '%s' is nie 'n vaste-wydte font nie" +#~ msgid "--help\t\tShow Gnome arguments" +#~ msgstr "--help\t\tWys Gnome parameters" -#~ msgid "E253: Fontset name: %s\n" -#~ msgstr "E253: Fonstel naam: %s\n" +#~ msgid "\"\n" +#~ msgstr "\"\n" -#~ msgid "Font0: %s\n" -#~ msgstr "Font0: %s\n" +#~ msgid "E249: couldn't read VIM instance registry property" +#~ msgstr "E249: kon nie VIM instansie register-kenmerk lees nie" -#~ msgid "Font1: %s\n" -#~ msgstr "Font1: %s\n" +#~ msgid "%2d %-5ld %-34s <none>\n" +#~ msgstr "%2d %-5ld %-34s <geen>\n" -#~ msgid "Font%<PRId64> width is not twice that of font0\n" -#~ msgstr "Font%<PRId64> wydte is nie twee keer díe van font0 nie\n" +# njj: dalk 'verbinding' ipv 'verbinding' orals? +#~ msgid "couldn't malloc\n" +#~ msgstr "kon nie 'malloc' nie\n" -#~ msgid "Font0 width: %<PRId64>\n" -#~ msgstr "Font0 wydte: %<PRId64>\n" +#~ msgid "E260: cscope connection not found" +#~ msgstr "E260: 'cscope' verbinding nie gevind nie" -#~ msgid "" -#~ "Font1 width: %<PRId64>\n" -#~ "\n" -#~ msgstr "" -#~ "Font1 wydte: %<PRId64>\n" -#~ "\n" +#~ msgid "error reading cscope connection %d" +#~ msgstr "'cscope' verbinding %d kon nie gelees word nie" -#~ msgid "E256: Hangul automata ERROR" -#~ msgstr "E256: Hangul outomatiserings FOUT" +#~ msgid "Run Macro" +#~ msgstr "Voer Makro uit" -#~ msgid "E563: stat error" -#~ msgstr "E563: 'stat' fout" +#~ msgid "function " +#~ msgstr "funksie " -#~ msgid "E625: cannot open cscope database: %s" -#~ msgstr "E625: Kon nie 'cscope' databasis oopmaak nie: %s" +#~ msgid "E463: Region is guarded, cannot modify" +#~ msgstr "E463: Omgewing is onder bewaking, kan nie verander nie" -#~ msgid "E626: cannot get cscope database information" -#~ msgstr "E626: kan nie 'cscope' databasisinligting kry nie" +#~ msgid "E233: cannot open display" +#~ msgstr "E233: kan nie vertoonskerm oopmaak nie" -#~ msgid "E569: maximum number of cscope connections reached" -#~ msgstr "E569: maksimum aantal 'cscope' verbindings bereik" +#~ msgid "E247: no registered server named \"%s\"" +#~ msgstr "E247: geen geregistreerde bediener genaamd \"%s\"" -#~ msgid "" -#~ "E263: Sorry, this command is disabled, the Python library could not be " -#~ "loaded." +#~ msgid "E800: Arabic cannot be used: Not enabled at compile time\n" #~ msgstr "" -#~ "E263: Jammer, hierdie bevel is afgeskakel, die Python biblioteek lêer kon " -#~ "nie gelaai word nie." +#~ "E800: Arabies kan nie gebruik word nie: Nie tydens kompilering gekies " +#~ "nie\n" -#~ msgid "E659: Cannot invoke Python recursively" -#~ msgstr "E659: Kan nie Python rekursief roep nie" +#~ msgid "E27: Farsi cannot be used: Not enabled at compile time\n" +#~ msgstr "" +#~ "E27: Farsi kan nie gebruik word nie: Nie tydens kompilering gekies nie\n" -#~ msgid "can't delete OutputObject attributes" -#~ msgstr "kan nie 'OutputObject' eienskappe skrap nie" +#~ msgid "E26: Hebrew cannot be used: Not enabled at compile time\n" +#~ msgstr "" +#~ "E26: Hebreeus kan nie gebruik word nie: Nie tydens kompilering gekies " +#~ "nie\n" -#~ msgid "softspace must be an integer" -#~ msgstr "'softspace' moet 'n heelgetal wees" +#~ msgid "E448: Could not load library function %s" +#~ msgstr "E448: Kon nie biblioteek funksie laai nie %s" -#~ msgid "invalid attribute" -#~ msgstr "ongeldige eienskap" +#~ msgid "E234: Unknown fontset: %s" +#~ msgstr "E234: Onbekende fontstel: %s" -#~ msgid "writelines() requires list of strings" -#~ msgstr "'writelines()' benodig 'n lys van stringe" +#~ msgid "Path length too long!" +#~ msgstr "Pad-lengte te lank" -#~ msgid "E264: Python: Error initialising I/O objects" -#~ msgstr "E264: Python: Kon nie I/O objekte inwy nie" +#~ msgid "gvimext.dll error" +#~ msgstr "'gvimext.dll' fout" -# njj: net 'n voorstel .. -#~ msgid "invalid expression" -#~ msgstr "ongeldige uitdrukking" +#~ msgid "Error creating process: Check if gvim is in your path!" +#~ msgstr "FOut met die skep van proses: Kyk of gvim in jou pad is!" -#~ msgid "expressions disabled at compile time" -#~ msgstr "uitdrukkings afgeskakel tydens kompilering" +#~ msgid "Edits the selected file(s) with Vim" +#~ msgstr "Wysig die gekose lêer(s) met Vim" -#~ msgid "attempt to refer to deleted buffer" -#~ msgstr "poging om na 'n geskrapte buffer te verwys" +#~ msgid "Edit with existing Vim - &" +#~ msgstr "Wysig met bestaande Vim - &" -#~ msgid "line number out of range" -#~ msgstr "reëlnommer buite omvang" +#~ msgid "Edit with &Vim" +#~ msgstr "Wysig met &Vim" -#~ msgid "<buffer object (deleted) at %8lX>" -#~ msgstr "<buffervoorwerp (geskrap) by %8lX>" +#~ msgid "&Diff with Vim" +#~ msgstr "Wys verskille ('&diff') met Vim" -#~ msgid "invalid mark name" -#~ msgstr "onbekende merknaam" +#~ msgid "Edit with single &Vim" +#~ msgstr "Wysig met 'n enkel &Vim" -#~ msgid "no such buffer" -#~ msgstr "buffer bestaan nie" +#~ msgid "Edit with &multiple Vims" +#~ msgstr "Wysig met &meer as een Vim" -#~ msgid "attempt to refer to deleted window" -#~ msgstr "poging om na geskrapte venster te verwys" +#~ msgid "E299: Perl evaluation forbidden in sandbox without the Safe module" +#~ msgstr "" +#~ "E299: Perl evaluasie verbied in die sandput sonder die 'Safe' module" -#~ msgid "readonly attribute" -#~ msgstr "leesalleen eienskap" +#~ msgid "" +#~ "Sorry, this command is disabled: the Perl library could not be loaded." +#~ msgstr "" +#~ "Jammer, hierdie bevel is afgeskakel: die Perl biblioteek kon nie gelaai " +#~ "word nie." -#~ msgid "cursor position outside buffer" -#~ msgstr "loperposisie buite buffer" +#~ msgid "E370: Could not load library %s" +#~ msgstr "E370: Kon nie biblioteek laai nie %s" -#~ msgid "<window object (deleted) at %.8lX>" -#~ msgstr "<venster voorwerp (geskrap) by %.8lX>" +#~ msgid "type :help windows95<Enter> for info on this" +#~ msgstr "tik :help windows95<Enter> vir meer inligting hieroor" -#~ msgid "<window object (unknown) at %.8lX>" -#~ msgstr "<verwyder voorwerp (onbekend) by %.8lX>" +#~ msgid "WARNING: Windows 95/98/ME detected" +#~ msgstr "WAARSKUWING: Windows 95/98/ME bespeur" -#~ msgid "<window %d>" -#~ msgstr "<venster %d>" +#~ msgid " for Vim defaults " +#~ msgstr " vir Vim verstekwaardes" -#~ msgid "no such window" -#~ msgstr "geen sodanige venster nie" +#~ msgid "menu Edit->Global Settings->Toggle Vi Compatible" +#~ msgstr "menu Redigeer->Global verstellings->Stel en herstel Vi Versoenbaar" -#~ msgid "cannot save undo information" -#~ msgstr "kan nie herwin-inligting stoor nie" +#~ msgid "menu Edit->Global Settings->Toggle Insert Mode " +#~ msgstr "menu Redigeer->Globale verstellings->Stel en herstel Invoeg Modus" -#~ msgid "cannot delete line" -#~ msgstr "kan reël nie verwyder nie" +#~ msgid "Running modeless, typed text is inserted" +#~ msgstr "Voer modus-loos uit, getikte teks word ingevoeg" -#~ msgid "cannot replace line" -#~ msgstr "kan reël nie vervang nie" +#~ msgid "menu Help->Orphans for information " +#~ msgstr "menu Hulp->Weeskinders vir meer inligting hieroor " -#~ msgid "cannot insert line" -#~ msgstr "kan reël nie byvoeg nie" +#~ msgid "Compiler: " +#~ msgstr "Kompileerder: " -#~ msgid "string cannot contain newlines" -#~ msgstr "string kan nie 'newlines' bevat nie" +#~ msgid " system menu file: \"" +#~ msgstr " stelsel kieslys-lêer: \"" -#~ msgid "" -#~ "E266: Sorry, this command is disabled, the Ruby library could not be " -#~ "loaded." -#~ msgstr "" -#~ "E266: Jammer, hierdie bevel is afgeskakel, die Ruby biblioteeklêer kon " -#~ "nie gelaai word nie." +#~ msgid "3rd user gvimrc file: \"" +#~ msgstr "3de gebruiker gvimrc-lêer: \"" -#~ msgid "E273: unknown longjmp status %d" -#~ msgstr "E273: Onbekende 'longjmp' status %d" +#~ msgid "2nd user gvimrc file: \"" +#~ msgstr "2de gebruiker gvimrc-lêer: \"" -#~ msgid "Toggle implementation/definition" -#~ msgstr "Stel en herstel implimentasie/definisie" +#~ msgid " user gvimrc file: \"" +#~ msgstr " gebruiker gvimrc-lêer: \"" -#~ msgid "Show base class of" -#~ msgstr "Wys basisklas van" +#~ msgid " system gvimrc file: \"" +#~ msgstr " stelsel gvimrc-lêer: \"" -#~ msgid "Show overridden member function" -#~ msgstr "Wys vervangde lidfunksie" +#~ msgid "with (classic) GUI." +#~ msgstr "met (klassieke) GUI." -#~ msgid "Retrieve from file" -#~ msgstr "Gaan haal uit lêer" +#~ msgid "with Cocoa GUI." +#~ msgstr "met Cocoa GUI." -#~ msgid "Retrieve from project" -#~ msgstr "Gaan haal uit projek" +#~ msgid "with Carbon GUI." +#~ msgstr "met Carbon GUI." -#~ msgid "Retrieve from all projects" -#~ msgstr "Gaan haal uit alle projekte" +#~ msgid "with GUI." +#~ msgstr "met GUI." -#~ msgid "Retrieve" -#~ msgstr "Gaan haal" +#~ msgid "with Photon GUI." +#~ msgstr "met Photon GUI." -#~ msgid "Show source of" -#~ msgstr "Wys kode van" +#~ msgid "with BeOS GUI." +#~ msgstr "met BeOS GUI" -#~ msgid "Find symbol" -#~ msgstr "Vind simbool" +#~ msgid "with X11-Athena GUI." +#~ msgstr "met X11-Athena GUI" -#~ msgid "Browse class" -#~ msgstr "Kyk klas deur" +#~ msgid "with X11-neXtaw GUI." +#~ msgstr "met X11-neXtaw GUI" -#~ msgid "Show class in hierarchy" -#~ msgstr "Wys klas in hiërargie" +#~ msgid "with X11-Motif GUI." +#~ msgstr "met X11-Motif GUI." -#~ msgid "Show class in restricted hierarchy" -#~ msgstr "Wys klas in beperkte hiërargie" +#~ msgid "with GTK GUI." +#~ msgstr "met GTK GUI" -#~ msgid "Xref refers to" -#~ msgstr "Xref verwys na" +#~ msgid "with GTK2 GUI." +#~ msgstr "met GTK2 GUI" -#~ msgid "Xref referred by" -#~ msgstr "Xref verwys deur" +#~ msgid "with GTK-GNOME GUI." +#~ msgstr "met GTK-GNOME GUI." -#~ msgid "Xref has a" -#~ msgstr "Xref het 'n" +#~ msgid "with GTK2-GNOME GUI." +#~ msgstr "met GTK2-GNOME GUI." -#~ msgid "Xref used by" -#~ msgstr "Xref gebruik deur" +#~ msgid "" +#~ "\n" +#~ "Tiny version " +#~ msgstr "" +#~ "\n" +#~ "Piepklein weergawe " -#~ msgid "Show docu of" -#~ msgstr "Wys 'docu' van" +#~ msgid "" +#~ "\n" +#~ "Small version " +#~ msgstr "" +#~ "\n" +#~ "Klein weergawe " -#~ msgid "Generate docu for" -#~ msgstr "Genereer 'docu' vir" +#~ msgid "" +#~ "\n" +#~ "Normal version " +#~ msgstr "" +#~ "\n" +#~ "Normale weergawe " #~ msgid "" -#~ "Cannot connect to SNiFF+. Check environment (sniffemacs must be found in " -#~ "$PATH).\n" +#~ "\n" +#~ "Big version " #~ msgstr "" -#~ "Kan nie 'n verbinding met 'SNiFF+' maak nie. Kyk of die omgewing reg is " -#~ "('sniffemacs' moet in '$PATH' gevind word).\n" +#~ "\n" +#~ "Groot weergawe " -#~ msgid "E274: Sniff: Error during read. Disconnected" -#~ msgstr "E274: Sniff: Fout gedurende lees. Verbinding gebreek" +#~ msgid "" +#~ "\n" +#~ "RISC OS version" +#~ msgstr "" +#~ "\n" +#~ "RISC OS weergawe" -#~ msgid "SNiFF+ is currently " -#~ msgstr "SNiFF+ is tans" +#~ msgid "" +#~ "\n" +#~ "MacOS version" +#~ msgstr "" +#~ "\n" +#~ "MacOS weergawe" -#~ msgid "not " -#~ msgstr "nie " +#~ msgid "" +#~ "\n" +#~ "MacOS X version" +#~ msgstr "" +#~ "\n" +#~ "MacOS X weergawe" -#~ msgid "connected" -#~ msgstr "gekonnekteer" +#~ msgid "" +#~ "\n" +#~ "MacOS X (unix) version" +#~ msgstr "" +#~ "\n" +#~ "MacOS X (unix) weergawe" -#~ msgid "E275: Unknown SNiFF+ request: %s" -#~ msgstr "E275: Onbekende SNiFF+ versoek: %s" +#~ msgid "" +#~ "\n" +#~ "16-bit MS-DOS version" +#~ msgstr "" +#~ "\n" +#~ "16-bis MS-DOS weergawe" -#~ msgid "E276: Error connecting to SNiFF+" -#~ msgstr "E276: Fout in konnekteer met SNiFF+" +#~ msgid "" +#~ "\n" +#~ "32-bit MS-DOS version" +#~ msgstr "" +#~ "\n" +#~ "32-bis MS-DOS weergawe" -#~ msgid "E278: SNiFF+ not connected" -#~ msgstr "E278: SNiFF+ is nie gekonnekteer nie" +#~ msgid "" +#~ "\n" +#~ "MS-Windows 16-bit version" +#~ msgstr "" +#~ "\n" +#~ "MS-Windows 16-bis weergawe" -#~ msgid "Sniff: Error during write. Disconnected" -#~ msgstr "Sniff: Fout gedurende stoor. Verbinding gebreek" +#~ msgid "" +#~ "\n" +#~ "MS-Windows 32-bit console version" +#~ msgstr "" +#~ "\n" +#~ "MS-Windows 32-bis konsole weergawe" -#~ msgid "not implemented yet" -#~ msgstr "nog nie geïmplementeer nie" +#~ msgid " with OLE support" +#~ msgstr " met OLE ondersteuning" -#~ msgid "unknown option" -#~ msgstr "onbekende opsie" +#~ msgid " in Win32s mode" +#~ msgstr " in Win32s modus" -#~ msgid "cannot set line(s)" -#~ msgstr "kan nie reël(s) stel nie" +#~ msgid "" +#~ "\n" +#~ "MS-Windows 32-bit GUI version" +#~ msgstr "" +#~ "\n" +#~ "MS-Windows 32-bis GUI version" -#~ msgid "mark not set" -#~ msgstr "merker nie gestel nie" +#~ msgid "" +#~ "\n" +#~ "MS-Windows 16/32-bit GUI version" +#~ msgstr "" +#~ "\n" +#~ "MS-Windows 16/32-bis GUI weergawe" -#~ msgid "row %d column %d" -#~ msgstr "ry %d kolom %d" +#~ msgid "No undo possible; continue anyway" +#~ msgstr "Geen herstel moontlik; gaan in elk geval voort" -#~ msgid "cannot insert/append line" -#~ msgstr "kan nie reël invoeg/aanlas nie" +#~ msgid "new shell started\n" +#~ msgstr "nuwe dop begin\n" -#~ msgid "unknown flag: " -#~ msgstr "onbekende vlag: " +#~ msgid "E430: Tag file path truncated for %s\n" +#~ msgstr "E430: Etiketlêergids afgekap vir %s\n" -#~ msgid "unknown vimOption" -#~ msgstr "onbekende 'vimOption'" +#~ msgid "Enter nr of choice (<CR> to abort): " +#~ msgstr "Sleutel nommer van keuse in (<CR> om te stop): " -#~ msgid "keyboard interrupt" -#~ msgstr "sleutelbordonderbreking" +#~ msgid "E396: containedin argument not accepted here" +#~ msgstr "E396: 'containedin' parameter nie hier aanvaar nie" -#~ msgid "vim error" -#~ msgstr "vim fout" +#~ msgid "E363: pattern caused out-of-stack error" +#~ msgstr "E363: patroon het lëe-stapel fout veroorsaak" -#~ msgid "cannot create buffer/window command: object is being deleted" -#~ msgstr "kan nie buffer/venster bevel skep nie: voorwerp word geskrap" +#~ msgid "E361: Crash intercepted; regexp too complex?" +#~ msgstr "E361: Ineenstorting onderskep. Patroon te kompleks?" -#~ msgid "" -#~ "cannot register callback command: buffer/window is already being deleted" -#~ msgstr "" -#~ "kan nie terugroepbevel registreer nie: buffer/venster word alreeds geskrap" +#~ msgid "E58: %s{ operand could be empty" +#~ msgstr "E58: %s{ operand mag leeg wees" -#~ msgid "" -#~ "E280: TCL FATAL ERROR: reflist corrupt!? Please report this to vim-" -#~ "dev@vim.org" -#~ msgstr "" -#~ "E280: TCL FATALE FOUT: verwlys korrup!? Rapporteer dit asb. aan <vim-" -#~ "dev@vim.org>" +#~ msgid "E57: %s+ operand could be empty" +#~ msgstr "E57: %s+ operand mag leeg wees" -#~ msgid "cannot register callback command: buffer/window reference not found" -#~ msgstr "" -#~ "kan terugroepbevel nie registreer nie: buffer/vensterverwysing nie gevind " -#~ "nie" +#~ msgid "E56: %s* operand could be empty" +#~ msgstr "E56: %s* operand mag leeg wees" -#~ msgid "" -#~ "E571: Sorry, this command is disabled: the Tcl library could not be " -#~ "loaded." -#~ msgstr "" -#~ "E571: Jammer, hierdie bevel is afgeskakel, die Tcl biblioteek kon nie " -#~ "gelaai word nie." +#~ msgid "Vim Warning" +#~ msgstr "Vim Waarskuwing" #~ msgid "" -#~ "E281: TCL ERROR: exit code is not int!? Please report this to vim-dev@vim." -#~ "org" +#~ "VIMRUN.EXE not found in your $PATH.\n" +#~ "External commands will not pause after completion.\n" +#~ "See :help win32-vimrun for more information." #~ msgstr "" -#~ "E281: TCL FOUT: verlaatkode is nie 'n 'int'!? Rapporteer dit asb. aan " -#~ "<vim-dev@vim.org>" - -#~ msgid "cannot get line" -#~ msgstr "kan nie reël kry nie" - -#~ msgid "Unable to register a command server name" -#~ msgstr "Kon nie bevelbediener naam registreer nie" - -#~ msgid "E248: Failed to send command to the destination program" -#~ msgstr "E248: Het gefaal om bevel na doel program te stuur" +#~ "'VIMRUN.EXE' nie gevind in '$PATH' nie.\n" +#~ "Eksterne opdragte sal nie wag na voltooiing nie\n" +#~ "Sien ':help win32-vimrun' vir meer inligting." -#~ msgid "E251: VIM instance registry property is badly formed. Deleted!" -#~ msgstr "E251: VIM instansie register-kenmerk is swak gevorm. Geskrap!" +#~ msgid "E371: Command not found" +#~ msgstr "E371: Bevel nie gevind nie" -#~ msgid "This Vim was not compiled with the diff feature." -#~ msgstr "Hierdie Vim is nie gekompileer met 'diff' funksionaliteit nie." +#~ msgid "shutdown" +#~ msgstr "sit af" -#~ msgid "-register\t\tRegister this gvim for OLE" -#~ msgstr "-register\t\tRegistreer hierdie gvim vir OLE" +#~ msgid "logoff" +#~ msgstr "teken uit" -#~ msgid "-unregister\t\tUnregister gvim for OLE" -#~ msgstr "-unregister\t\tOnregistreer gvim vir OLE" +#~ msgid "close" +#~ msgstr "maak toe" -#~ msgid "-g\t\t\tRun using GUI (like \"gvim\")" -#~ msgstr "-g\t\t\tVoer uit met die GUI (soos \"gvim\")" +#~ msgid "Vim: Caught %s event\n" +#~ msgstr "Vim: Het %s gebeurtenis gevang\n" -#~ msgid "-f or --nofork\tForeground: Don't fork when starting GUI" -#~ msgstr "-f of --nofork\tVoorgrond: Moenie vurk wanneer GUI begin nie" +#~ msgid "shell returned %d" +#~ msgstr "dop het %d gelewer" -#~ msgid "-V[N]\t\tVerbose level" -#~ msgstr "-V[N]\t\tOmslagtigheidsgraad" +#~ msgid "Could not fix up function pointers to the DLL!" +#~ msgstr "Kon nie funksiewysers na die DLL opstel nie!" -#~ msgid "-f\t\t\tDon't use newcli to open window" -#~ msgstr "-f\t\t\tMoet nie 'newcli' gebruik om venster oop te maak nie" +#~ msgid "Could not load vim32.dll!" +#~ msgstr "Kon nie 'vim32.dll' laai nie!" -#~ msgid "-dev <device>\t\tUse <device> for I/O" -#~ msgstr "-dev <toestel>\t\tGebruik <toestel> vir I/O" +#~ msgid "VIM Error" +#~ msgstr "VIM Fout" -#~ msgid "-U <gvimrc>\t\tUse <gvimrc> instead of any .gvimrc" -#~ msgstr "-U <gvimrc>\t\tGebruik <gvimrc> in plaas van enige .gvimrc" +#~ msgid "Could not allocate memory for command line." +#~ msgstr "Kan nie geheue toeken vir bevelreël nie" -#~ msgid "-x\t\t\tEdit encrypted files" -#~ msgstr "-x\t\t\tBewerk geënkripteerde lêers" +#~ msgid "At line" +#~ msgstr "By reël" -#~ msgid "-display <display>\tConnect vim to this particular X-server" -#~ msgstr "-display <display>\tKoppel vim aan hierdie X-bediener" +#~ msgid "XSMP ICE connection watch failed" +#~ msgstr "XSMP ICE konneksie beloer het gefaal" -#~ msgid "-X\t\t\tDo not connect to X server" -#~ msgstr "-X\t\t\tMoet nie verbinding met X-bediener maak nie" +#~ msgid "XSMP opening connection" +#~ msgstr "XSMP maak nou konneksie oop" -#~ msgid "--remote <files>\tEdit <files> in a Vim server if possible" -#~ msgstr "" -#~ "--remote <lêers>\tWysig die <lêers> in a Vim bediener indien moontlik" +#~ msgid "XSMP handling save-yourself request" +#~ msgstr "XSMP hanteer 'save-yourself' versoek" -#~ msgid "--remote-silent <files> Same, don't complain if there is no server" -#~ msgstr "" -#~ "--remote-silent <lêers> Dieselfde, moet nie kla as daar nie so 'n " -#~ "bediener is nie" +#~ msgid "Opening the X display failed" +#~ msgstr "Oopmaak van die X vertoonskerm het gefaal" -#~ msgid "" -#~ "--remote-wait <files> As --remote but wait for files to have been edited" -#~ msgstr "" -#~ "--remote-wait <lêers> Soos '--remote', maar wag vir lêers om gewysig te " -#~ "word" +#~ msgid "XSMP lost ICE connection" +#~ msgstr "XSMP het ICE konneksie verloor" #~ msgid "" -#~ "--remote-wait-silent <files> Same, don't complain if there is no server" -#~ msgstr "" -#~ "--remote-wait-silent <lêers> Dieselfde, moet nie kla as daar nie so 'n " -#~ "bediener is nie" - -#~ msgid "--remote-send <keys>\tSend <keys> to a Vim server and exit" +#~ "\n" +#~ "Command terminated\n" #~ msgstr "" -#~ "--remote-send <sleutels>\tStuur <sleutels> na 'n Vim-bediener en verlaat" +#~ "\n" +#~ "Bevel beëindig\n" #~ msgid "" -#~ "--remote-expr <expr>\tEvaluate <expr> in a Vim server and print result" +#~ "\n" +#~ "Cannot fork\n" #~ msgstr "" -#~ "--remote-expr <expr>\tEvalueer <expr> in 'n Vim-bediener en druk resultaat" - -#~ msgid "--serverlist\t\tList available Vim server names and exit" -#~ msgstr "--serverlist\t\tLys beskikbare Vim-bediener name en verlaat" - -#~ msgid "--servername <name>\tSend to/become the Vim server <name>" -#~ msgstr "--servername <naam>\tStuur na/word die Vim-bediener <naam>" +#~ "\n" +#~ "Kan nie vurk nie\n" #~ msgid "" #~ "\n" -#~ "Arguments recognised by gvim (Motif version):\n" +#~ "Cannot create pipes\n" #~ msgstr "" #~ "\n" -#~ "Parameters deur gvim herken (Motif weergawe):\n" +#~ "Kan nie pype skep nie\n" #~ msgid "" #~ "\n" -#~ "Arguments recognised by gvim (neXtaw version):\n" +#~ "Cannot execute shell sh\n" #~ msgstr "" #~ "\n" -#~ "Parameters deur gvim herken (neXtaw weergawe):\n" +#~ "Kan nie dop 'sh' uitvoer nie\n" + +#~ msgid "Opening the X display timed out" +#~ msgstr "Oopmaak van die X-vertoonskerm het uitgetel" + +#~ msgid "Testing the X display failed" +#~ msgstr "Toetsing van die X-vertoonskerm het gefaal" #~ msgid "" #~ "\n" -#~ "Arguments recognised by gvim (Athena version):\n" +#~ "Vim: Got X error\n" #~ msgstr "" #~ "\n" -#~ "Parameters deur gvim herken (Athena weergawe):\n" +#~ "Vim: Het X fout ontvang\n" -#~ msgid "-display <display>\tRun vim on <display>" -#~ msgstr "-display <display>\tVoer vim op <display> uit" +#~ msgid "Opening the X display took %<PRId64> msec" +#~ msgstr "Om die X-vertoonskerm oop te maak het %<PRId64> msek gevat" -#~ msgid "-iconic\t\tStart vim iconified" -#~ msgstr "-iconic\t\tBegin vim as ikoon" +#~ msgid "Vim: Caught deadly signal\n" +#~ msgstr "Vim: Het dodelike sein gevang\n" -#~ msgid "-name <name>\t\tUse resource as if vim was <name>" -#~ msgstr "-name <name>\t\tGebruik hulpbron asof vim <name> was" +#~ msgid "Vim: Caught deadly signal %s\n" +#~ msgstr "Vim: Het dodelike sein %s gevang\n" -#~ msgid "\t\t\t (Unimplemented)\n" -#~ msgstr "\t\t\t (Nog nie geïmplementeer nie)\n" +#~ msgid "Vim: Double signal, exiting\n" +#~ msgstr "Vim: Dubbel sein, staak\n" -#~ msgid "-background <color>\tUse <color> for the background (also: -bg)" -#~ msgstr "-background <kleur>\tGebruik <kleur> vir die agtergrond (ook: -bg)" +#~ msgid "E245: Illegal char '%c' in font name \"%s\"" +#~ msgstr "E245: Ongeldige karakter '%c' in fontnaam \"%s\"" -#~ msgid "-foreground <color>\tUse <color> for normal text (also: -fg)" -#~ msgstr "-voorgrond <kleur>\tGebruik <kleur> vir normale teks (ook: -fg)" +#~ msgid "E244: Illegal charset name \"%s\" in font name \"%s\"" +#~ msgstr "E244: Ongeldige karakterstelnaam \"%s\" in fontnaam \"%s\"" -#~ msgid "-font <font>\t\tUse <font> for normal text (also: -fn)" -#~ msgstr "-font <font>\t\tGebruik <font> vir normale teks (ook -fn)" +#~ msgid "Printing '%s'" +#~ msgstr "Druk nou '%s'" -#~ msgid "-boldfont <font>\tUse <font> for bold text" -#~ msgstr "boldfont <font>\t Gebruik <font> vir vetletter teks" +#~ msgid "E238: Print error: %s" +#~ msgstr "E238: Drukfout: %s" -#~ msgid "-italicfont <font>\tUse <font> for italic text" -#~ msgstr "-italicfont <font>\tGebruik <font> vir kursiewe teks" +#~ msgid "E613: Unknown printer font: %s" +#~ msgstr "E613: Onbekende drukker font: %s" -#~ msgid "-geometry <geom>\tUse <geom> for initial geometry (also: -geom)" -#~ msgstr "-geometry <geom>\tGebruik <geom> vir aanvanklike geometrie" +#~ msgid "to %s on %s" +#~ msgstr "na %s op %s" -#~ msgid "-borderwidth <width>\tUse a border width of <width> (also: -bw)" -#~ msgstr "-borderwidth <wydte>\tGebruik 'n grenswydte van <wydte> (ook: -bw)" +#~ msgid "'columns' is not 80, cannot execute external commands" +#~ msgstr "'columns' is nie 80 nie, kan nie eksterne bevele uitvoer nie" -#~ msgid "" -#~ "-scrollbarwidth <width> Use a scrollbar width of <width> (also: -sw)" -#~ msgstr "" -#~ "-scrollbarwidth <wydte>\tGebruik 'n rolstaafwydte van <wydte> (ook: -sw>" +#~ msgid "...(truncated)" +#~ msgstr "...(afgekap)" -#~ msgid "-menuheight <height>\tUse a menu bar height of <height> (also: -mh)" -#~ msgstr "" -#~ "-menuheight <hoogte>\tGebruik a kieslysstaafhoogte van <hoogte> (ook: -mh)" +#~ msgid "I/O ERROR" +#~ msgstr "I/O FOUT" -#~ msgid "-reverse\t\tUse reverse video (also: -rv)" -#~ msgstr "-reverse\t\tGebruik tru-video (ook: -rv)" +#~ msgid "ANCHOR_BUF_SIZE too small." +#~ msgstr "'ANCHOR_BUF_SIZE' is te klein" -#~ msgid "+reverse\t\tDon't use reverse video (also: +rv)" -#~ msgstr "+reverse\t\tMoet nie tru-video gebruik nie (ook: +rv)" +#~ msgid " returned\n" +#~ msgstr " teruggekeer\n" -#~ msgid "-xrm <resource>\tSet the specified resource" -#~ msgstr "-xrm <hulpbron>\tStel die gespesifiseerde hulpbron" +#~ msgid "shell " +#~ msgstr "dop " -#~ msgid "" -#~ "\n" -#~ "Arguments recognised by gvim (RISC OS version):\n" -#~ msgstr "" -#~ "\n" -#~ "Parameters wat gvim verstaan (RISC OS weergawe):\n" +#~ msgid "Cannot execute " +#~ msgstr "Kan nie uitvoer nie " -#~ msgid "--columns <number>\tInitial width of window in columns" -#~ msgstr "--columns <aantal>\tAanvanklike wydte van venster in kolomme" +#~ msgid "mch_get_shellsize: not a console??\n" +#~ msgstr "'mch_get_shellsize': nie 'n konsole nie??\n" -#~ msgid "--rows <number>\tInitial height of window in rows" -#~ msgstr "--rows <aantal>\tAanvanklike hoogte van venster in rye" +#~ msgid "cannot change console mode ?!\n" +#~ msgstr "kan konsole-modus nie verander nie ?!\n" -#~ msgid "" -#~ "\n" -#~ "Arguments recognised by gvim (GTK+ version):\n" -#~ msgstr "" -#~ "\n" -#~ "Parameters wat gvim verstaan (GTK+ weergawe):\n" +#~ msgid "Vim exiting with %d\n" +#~ msgstr "Vim stop met %d\n" -#~ msgid "-display <display>\tRun vim on <display> (also: --display)" -#~ msgstr "-display <skerm>\tVoer vim op <skerm> uit: (ook --display)" +#~ msgid "Cannot create " +#~ msgstr "Kan nie skep nie: " -#~ msgid "--role <role>\tSet a unique role to identify the main window" -#~ msgstr "--role <rol>\tStel 'n unieke rol om die hoofvenster te identifiseer" +#~ msgid "Cannot open NIL:\n" +#~ msgstr "Kan nie NIL: oopmaak nie\n" -#~ msgid "--socketid <xid>\tOpen Vim inside another GTK widget" -#~ msgstr "--socketid <xid>\tMaak Vim in 'n ander GTK element oop" +#~ msgid "Need %s version %<PRId64>\n" +#~ msgstr "Benodig %s weergawe %<PRId64>\n" -#~ msgid "-P <parent title>\tOpen Vim inside parent application" -#~ msgstr "-P <ouer title>\tMaak Vim oop binne 'n ouer toepassing" +#~ msgid "Need Amigados version 2.04 or later\n" +#~ msgstr "Benodig Amigados weergawe 2.04 of later\n" -#~ msgid "No display" -#~ msgstr "Geen vertoonskerm" +#~ msgid "VIM: Can't open window!\n" +#~ msgstr "VIM: Kan nie venster oopmaak nie!\n" -#~ msgid ": Send failed.\n" -#~ msgstr ": Stuur het gefaal.\n" +#~ msgid "cannot open " +#~ msgstr "kan nie oopmaak nie " -#~ msgid ": Send failed. Trying to execute locally\n" -#~ msgstr ": Stuur het gefaal. Probeer om lokaal uit te voer\n" +#~ msgid "E538: No mouse support" +#~ msgstr "E538: Geen muisondersteuning nie" -#~ msgid "%d of %d edited" -#~ msgstr "%d van %d lêers bewerk" +#~ msgid "E534: Invalid wide font" +#~ msgstr "E534: Ongeldige wye font" -#~ msgid "No display: Send expression failed.\n" -#~ msgstr "Geen vertoonskerm: Stuur van uitdrukking het gefaal.\n" +#~ msgid "E533: can't select wide font" +#~ msgstr "E533: kan nie wye font kies nie" -#~ msgid ": Send expression failed.\n" -#~ msgstr ": Stuur van uitdrukking het gefaal.\n" +#~ msgid "E598: Invalid fontset" +#~ msgstr "E598: Ongeldige fontstel" -#~ msgid "E543: Not a valid codepage" -#~ msgstr "E543: Nie 'n geldige kodeblad nie" +#~ msgid "E597: can't select fontset" +#~ msgstr "E597: kan nie fontstel kies nie" -#~ msgid "E285: Failed to create input context" -#~ msgstr "E285: Gefaal met die skep van invoerkonteks" +#~ msgid "E617: Cannot be changed in the GTK+ 2 GUI" +#~ msgstr "E617: Kan nie 'term' verander in die GTK+ 2 GUI nie" -#~ msgid "E286: Failed to open input method" -#~ msgstr "E286: Gefaal om invoermetode oop te maak" +#~ msgid "E531: Use \":gui\" to start the GUI" +#~ msgstr "E531: Gebruik \":gui\" om die GUI te begin" -#~ msgid "E287: Warning: Could not set destroy callback to IM" -#~ msgstr "E287: Waarskuwing: Kon nie uitwis-terugroep na IM stel nie" +#~ msgid "E530: Cannot change term in GUI" +#~ msgstr "E530: Kan nie 'term' verander in GUI nie" -#~ msgid "E288: input method doesn't support any style" -#~ msgstr "E288: invoermetode ondersteun geen styl nie" +#~ msgid "freeing %<PRId64> lines" +#~ msgstr "laat %<PRId64> reëls gaan" -#~ msgid "E289: input method doesn't support my preedit type" -#~ msgstr "E289: invoermetode ondersteun nie my voor-bewerking tipe nie" +#~ msgid "E658: NetBeans connection lost for buffer %<PRId64>" +#~ msgstr "E658: NetBeans konneksie vir buffer %<PRId64> verloor" -#~ msgid "E290: over-the-spot style requires fontset" -#~ msgstr "E290: oor-die-plek styl vereis fontstel" +#~ msgid "read from Netbeans socket" +#~ msgstr "lees vanaf Netbeans 'socket'" -#~ msgid "E291: Your GTK+ is older than 1.2.3. Status area disabled" -#~ msgstr "E291: Jou GTK+ is ouer as 1.2.3. Statusarea afgeskakel" +#~ msgid "E668: Wrong access mode for NetBeans connection info file: \"%s\"" +#~ msgstr "" +#~ "E668: Verkeerde toegangsmodue vir NetBeans konneksie inligtingslêer: \"%s" +#~ "\"" -#~ msgid "E292: Input Method Server is not running" -#~ msgstr "E292: Invoermetodebediener voer nie uit nie" +#~ msgid "Cannot connect to Netbeans" +#~ msgstr "Kan nie aan Netbeans koppel nie" + +#~ msgid "Cannot connect to Netbeans #2" +#~ msgstr "Kan nie aan Netbeans #2 koppel nie" + +#~ msgid "Keys don't match!" +#~ msgstr "Sleutels verskil!" + +#~ msgid "Enter same key again: " +#~ msgstr "Voer die sleutel weer in: " + +#~ msgid "Enter encryption key: " +#~ msgstr "Voer enkripsie-sleutel in: " + +#~ msgid "E547: Illegal mouseshape" +#~ msgstr "E547: Ongeldige muisvorm" + +#~ msgid "E341: Internal error: lalloc(%<PRId64>, )" +#~ msgstr "E341: Interne fout: 'lalloc(%<PRId64>, )'" + +#~ msgid "E340: Line is becoming too long" +#~ msgstr "E340: Rëel word te lank" #~ msgid "" +#~ "[calls] total re/malloc()'s %<PRIu64>, total free()'s %<PRIu64>\n" #~ "\n" -#~ " [not usable with this version of Vim]" #~ msgstr "" +#~ "[roepe] totaal re/malloc()'s %<PRIu64>, totale free()'s %<PRIu64>\n" #~ "\n" -#~ " [nie bruikbaar met hierdie weergawe van Vim nie]" + +#~ msgid "" +#~ "\n" +#~ "[bytes] total alloc-freed %<PRIu64>-%<PRIu64>, in use %<PRIu64>, peak use " +#~ "%<PRIu64>\n" +#~ msgstr "" +#~ "\n" +#~ "[grepe] totaal 'alloc'-vrygelaat %<PRIu64>-%<PRIu64>, in gebruik " +#~ "%<PRIu64>, piekgebruik %<PRIu64>\n" + +#~ msgid "ERROR: " +#~ msgstr "FOUT: " + +#~ msgid "Vim: Finished.\n" +#~ msgstr "Vim: Klaar.\n" + +#~ msgid "Vim: preserving files...\n" +#~ msgstr "Vim: bewaar lêers...\n" + +#~ msgid "E338: Sorry, no file browser in console mode" +#~ msgstr "E338: Jammer, lêerblaaier nie beskikbaar in konsole-modus nie" + +#~ msgid "Open File dialog" +#~ msgstr "Maak lêer oop dialooghokkie" + +#~ msgid "Save File dialog" +#~ msgstr "Stoor Lêer dialooghokkie" + +#~ msgid " (RET: line, SPACE: page, d: half page, q: quit)" +#~ msgstr " (RET: reël, SPACE: bladsy, d: halwe bladsy, q: los dit" + +#~ msgid " (RET/BS: line, SPACE/b: page, d/u: half page, q: quit)" +#~ msgstr " (RET/BS: reël, SPACE/b: bladsy, d/u: halwe bladsy, q: los dit" + +#~ msgid "Hit ENTER to continue" +#~ msgstr "Druk ENTER om voort te gaan" + +#~ msgid "[string too long]" +#~ msgstr "[string te lank]" + +#~ msgid "Tear off this menu" +#~ msgstr "Skeur die kieslys af" #~ msgid "" #~ "&Open Read-Only\n" @@ -7273,824 +6490,1139 @@ msgstr "E446: Geen lêernaam onder loper" #~ "&Stop\n" #~ "S&krap dit" -#~ msgid "Tear off this menu" -#~ msgstr "Skeur die kieslys af" +#~ msgid "" +#~ "\n" +#~ " [not usable with this version of Vim]" +#~ msgstr "" +#~ "\n" +#~ " [nie bruikbaar met hierdie weergawe van Vim nie]" -#~ msgid "[string too long]" -#~ msgstr "[string te lank]" +#~ msgid "E292: Input Method Server is not running" +#~ msgstr "E292: Invoermetodebediener voer nie uit nie" -#~ msgid "Hit ENTER to continue" -#~ msgstr "Druk ENTER om voort te gaan" +#~ msgid "E291: Your GTK+ is older than 1.2.3. Status area disabled" +#~ msgstr "E291: Jou GTK+ is ouer as 1.2.3. Statusarea afgeskakel" -#~ msgid " (RET/BS: line, SPACE/b: page, d/u: half page, q: quit)" -#~ msgstr " (RET/BS: reël, SPACE/b: bladsy, d/u: halwe bladsy, q: los dit" +#~ msgid "E290: over-the-spot style requires fontset" +#~ msgstr "E290: oor-die-plek styl vereis fontstel" -#~ msgid " (RET: line, SPACE: page, d: half page, q: quit)" -#~ msgstr " (RET: reël, SPACE: bladsy, d: halwe bladsy, q: los dit" +#~ msgid "E289: input method doesn't support my preedit type" +#~ msgstr "E289: invoermetode ondersteun nie my voor-bewerking tipe nie" -#~ msgid "Save File dialog" -#~ msgstr "Stoor Lêer dialooghokkie" +#~ msgid "E288: input method doesn't support any style" +#~ msgstr "E288: invoermetode ondersteun geen styl nie" -#~ msgid "Open File dialog" -#~ msgstr "Maak lêer oop dialooghokkie" +#~ msgid "E287: Warning: Could not set destroy callback to IM" +#~ msgstr "E287: Waarskuwing: Kon nie uitwis-terugroep na IM stel nie" -#~ msgid "E338: Sorry, no file browser in console mode" -#~ msgstr "E338: Jammer, lêerblaaier nie beskikbaar in konsole-modus nie" +#~ msgid "E285: Failed to create input context" +#~ msgstr "E285: Gefaal met die skep van invoerkonteks" -#~ msgid "Vim: preserving files...\n" -#~ msgstr "Vim: bewaar lêers...\n" +#~ msgid "E543: Not a valid codepage" +#~ msgstr "E543: Nie 'n geldige kodeblad nie" -#~ msgid "Vim: Finished.\n" -#~ msgstr "Vim: Klaar.\n" +#~ msgid ": Send expression failed.\n" +#~ msgstr ": Stuur van uitdrukking het gefaal.\n" -#~ msgid "ERROR: " -#~ msgstr "FOUT: " +#~ msgid "No display: Send expression failed.\n" +#~ msgstr "Geen vertoonskerm: Stuur van uitdrukking het gefaal.\n" + +#~ msgid "%d of %d edited" +#~ msgstr "%d van %d lêers bewerk" + +#~ msgid ": Send failed. Trying to execute locally\n" +#~ msgstr ": Stuur het gefaal. Probeer om lokaal uit te voer\n" + +#~ msgid ": Send failed.\n" +#~ msgstr ": Stuur het gefaal.\n" + +#~ msgid "No display" +#~ msgstr "Geen vertoonskerm" + +#~ msgid "-P <parent title>\tOpen Vim inside parent application" +#~ msgstr "-P <ouer title>\tMaak Vim oop binne 'n ouer toepassing" + +#~ msgid "--socketid <xid>\tOpen Vim inside another GTK widget" +#~ msgstr "--socketid <xid>\tMaak Vim in 'n ander GTK element oop" + +#~ msgid "--role <role>\tSet a unique role to identify the main window" +#~ msgstr "--role <rol>\tStel 'n unieke rol om die hoofvenster te identifiseer" + +#~ msgid "-display <display>\tRun vim on <display> (also: --display)" +#~ msgstr "-display <skerm>\tVoer vim op <skerm> uit: (ook --display)" #~ msgid "" #~ "\n" -#~ "[bytes] total alloc-freed %<PRIu64>-%<PRIu64>, in use %<PRIu64>, peak use " -#~ "%<PRIu64>\n" +#~ "Arguments recognised by gvim (GTK+ version):\n" #~ msgstr "" #~ "\n" -#~ "[grepe] totaal 'alloc'-vrygelaat %<PRIu64>-%<PRIu64>, in gebruik " -#~ "%<PRIu64>, piekgebruik %<PRIu64>\n" +#~ "Parameters wat gvim verstaan (GTK+ weergawe):\n" + +#~ msgid "--rows <number>\tInitial height of window in rows" +#~ msgstr "--rows <aantal>\tAanvanklike hoogte van venster in rye" + +#~ msgid "--columns <number>\tInitial width of window in columns" +#~ msgstr "--columns <aantal>\tAanvanklike wydte van venster in kolomme" #~ msgid "" -#~ "[calls] total re/malloc()'s %<PRIu64>, total free()'s %<PRIu64>\n" #~ "\n" +#~ "Arguments recognised by gvim (RISC OS version):\n" #~ msgstr "" -#~ "[roepe] totaal re/malloc()'s %<PRIu64>, totale free()'s %<PRIu64>\n" #~ "\n" +#~ "Parameters wat gvim verstaan (RISC OS weergawe):\n" -#~ msgid "E340: Line is becoming too long" -#~ msgstr "E340: Rëel word te lank" - -#~ msgid "E341: Internal error: lalloc(%<PRId64>, )" -#~ msgstr "E341: Interne fout: 'lalloc(%<PRId64>, )'" - -#~ msgid "E547: Illegal mouseshape" -#~ msgstr "E547: Ongeldige muisvorm" - -#~ msgid "Enter encryption key: " -#~ msgstr "Voer enkripsie-sleutel in: " - -#~ msgid "Enter same key again: " -#~ msgstr "Voer die sleutel weer in: " +#~ msgid "-xrm <resource>\tSet the specified resource" +#~ msgstr "-xrm <hulpbron>\tStel die gespesifiseerde hulpbron" -#~ msgid "Keys don't match!" -#~ msgstr "Sleutels verskil!" +#~ msgid "+reverse\t\tDon't use reverse video (also: +rv)" +#~ msgstr "+reverse\t\tMoet nie tru-video gebruik nie (ook: +rv)" -#~ msgid "Cannot connect to Netbeans #2" -#~ msgstr "Kan nie aan Netbeans #2 koppel nie" +#~ msgid "-reverse\t\tUse reverse video (also: -rv)" +#~ msgstr "-reverse\t\tGebruik tru-video (ook: -rv)" -#~ msgid "Cannot connect to Netbeans" -#~ msgstr "Kan nie aan Netbeans koppel nie" +#~ msgid "-menuheight <height>\tUse a menu bar height of <height> (also: -mh)" +#~ msgstr "" +#~ "-menuheight <hoogte>\tGebruik a kieslysstaafhoogte van <hoogte> (ook: -mh)" -#~ msgid "E668: Wrong access mode for NetBeans connection info file: \"%s\"" +#~ msgid "" +#~ "-scrollbarwidth <width> Use a scrollbar width of <width> (also: -sw)" #~ msgstr "" -#~ "E668: Verkeerde toegangsmodue vir NetBeans konneksie inligtingslêer: \"%s" -#~ "\"" +#~ "-scrollbarwidth <wydte>\tGebruik 'n rolstaafwydte van <wydte> (ook: -sw>" -#~ msgid "read from Netbeans socket" -#~ msgstr "lees vanaf Netbeans 'socket'" +#~ msgid "-borderwidth <width>\tUse a border width of <width> (also: -bw)" +#~ msgstr "-borderwidth <wydte>\tGebruik 'n grenswydte van <wydte> (ook: -bw)" -#~ msgid "E658: NetBeans connection lost for buffer %<PRId64>" -#~ msgstr "E658: NetBeans konneksie vir buffer %<PRId64> verloor" +#~ msgid "-geometry <geom>\tUse <geom> for initial geometry (also: -geom)" +#~ msgstr "-geometry <geom>\tGebruik <geom> vir aanvanklike geometrie" -#~ msgid "freeing %<PRId64> lines" -#~ msgstr "laat %<PRId64> reëls gaan" +#~ msgid "-italicfont <font>\tUse <font> for italic text" +#~ msgstr "-italicfont <font>\tGebruik <font> vir kursiewe teks" -#~ msgid "E530: Cannot change term in GUI" -#~ msgstr "E530: Kan nie 'term' verander in GUI nie" +#~ msgid "-boldfont <font>\tUse <font> for bold text" +#~ msgstr "boldfont <font>\t Gebruik <font> vir vetletter teks" -#~ msgid "E531: Use \":gui\" to start the GUI" -#~ msgstr "E531: Gebruik \":gui\" om die GUI te begin" +#~ msgid "-font <font>\t\tUse <font> for normal text (also: -fn)" +#~ msgstr "-font <font>\t\tGebruik <font> vir normale teks (ook -fn)" -#~ msgid "E617: Cannot be changed in the GTK+ 2 GUI" -#~ msgstr "E617: Kan nie 'term' verander in die GTK+ 2 GUI nie" +#~ msgid "-foreground <color>\tUse <color> for normal text (also: -fg)" +#~ msgstr "-voorgrond <kleur>\tGebruik <kleur> vir normale teks (ook: -fg)" -#~ msgid "E597: can't select fontset" -#~ msgstr "E597: kan nie fontstel kies nie" +#~ msgid "-background <color>\tUse <color> for the background (also: -bg)" +#~ msgstr "-background <kleur>\tGebruik <kleur> vir die agtergrond (ook: -bg)" -#~ msgid "E598: Invalid fontset" -#~ msgstr "E598: Ongeldige fontstel" +#~ msgid "\t\t\t (Unimplemented)\n" +#~ msgstr "\t\t\t (Nog nie geïmplementeer nie)\n" -#~ msgid "E533: can't select wide font" -#~ msgstr "E533: kan nie wye font kies nie" +#~ msgid "-name <name>\t\tUse resource as if vim was <name>" +#~ msgstr "-name <name>\t\tGebruik hulpbron asof vim <name> was" -#~ msgid "E534: Invalid wide font" -#~ msgstr "E534: Ongeldige wye font" +#~ msgid "-iconic\t\tStart vim iconified" +#~ msgstr "-iconic\t\tBegin vim as ikoon" -#~ msgid "E538: No mouse support" -#~ msgstr "E538: Geen muisondersteuning nie" +#~ msgid "-display <display>\tRun vim on <display>" +#~ msgstr "-display <display>\tVoer vim op <display> uit" -#~ msgid "cannot open " -#~ msgstr "kan nie oopmaak nie " +#~ msgid "" +#~ "\n" +#~ "Arguments recognised by gvim (Athena version):\n" +#~ msgstr "" +#~ "\n" +#~ "Parameters deur gvim herken (Athena weergawe):\n" -#~ msgid "VIM: Can't open window!\n" -#~ msgstr "VIM: Kan nie venster oopmaak nie!\n" +#~ msgid "" +#~ "\n" +#~ "Arguments recognised by gvim (neXtaw version):\n" +#~ msgstr "" +#~ "\n" +#~ "Parameters deur gvim herken (neXtaw weergawe):\n" -#~ msgid "Need Amigados version 2.04 or later\n" -#~ msgstr "Benodig Amigados weergawe 2.04 of later\n" +#~ msgid "" +#~ "\n" +#~ "Arguments recognised by gvim (Motif version):\n" +#~ msgstr "" +#~ "\n" +#~ "Parameters deur gvim herken (Motif weergawe):\n" -#~ msgid "Need %s version %<PRId64>\n" -#~ msgstr "Benodig %s weergawe %<PRId64>\n" +#~ msgid "--servername <name>\tSend to/become the Vim server <name>" +#~ msgstr "--servername <naam>\tStuur na/word die Vim-bediener <naam>" -#~ msgid "Cannot open NIL:\n" -#~ msgstr "Kan nie NIL: oopmaak nie\n" +#~ msgid "--serverlist\t\tList available Vim server names and exit" +#~ msgstr "--serverlist\t\tLys beskikbare Vim-bediener name en verlaat" -#~ msgid "Cannot create " -#~ msgstr "Kan nie skep nie: " +#~ msgid "" +#~ "--remote-expr <expr>\tEvaluate <expr> in a Vim server and print result" +#~ msgstr "" +#~ "--remote-expr <expr>\tEvalueer <expr> in 'n Vim-bediener en druk resultaat" -#~ msgid "Vim exiting with %d\n" -#~ msgstr "Vim stop met %d\n" +#~ msgid "--remote-send <keys>\tSend <keys> to a Vim server and exit" +#~ msgstr "" +#~ "--remote-send <sleutels>\tStuur <sleutels> na 'n Vim-bediener en verlaat" -#~ msgid "cannot change console mode ?!\n" -#~ msgstr "kan konsole-modus nie verander nie ?!\n" +#~ msgid "" +#~ "--remote-wait-silent <files> Same, don't complain if there is no server" +#~ msgstr "" +#~ "--remote-wait-silent <lêers> Dieselfde, moet nie kla as daar nie so 'n " +#~ "bediener is nie" -#~ msgid "mch_get_shellsize: not a console??\n" -#~ msgstr "'mch_get_shellsize': nie 'n konsole nie??\n" +#~ msgid "" +#~ "--remote-wait <files> As --remote but wait for files to have been edited" +#~ msgstr "" +#~ "--remote-wait <lêers> Soos '--remote', maar wag vir lêers om gewysig te " +#~ "word" -#~ msgid "Cannot execute " -#~ msgstr "Kan nie uitvoer nie " +#~ msgid "--remote-silent <files> Same, don't complain if there is no server" +#~ msgstr "" +#~ "--remote-silent <lêers> Dieselfde, moet nie kla as daar nie so 'n " +#~ "bediener is nie" -#~ msgid "shell " -#~ msgstr "dop " +#~ msgid "--remote <files>\tEdit <files> in a Vim server if possible" +#~ msgstr "" +#~ "--remote <lêers>\tWysig die <lêers> in a Vim bediener indien moontlik" -#~ msgid " returned\n" -#~ msgstr " teruggekeer\n" +#~ msgid "-X\t\t\tDo not connect to X server" +#~ msgstr "-X\t\t\tMoet nie verbinding met X-bediener maak nie" -#~ msgid "ANCHOR_BUF_SIZE too small." -#~ msgstr "'ANCHOR_BUF_SIZE' is te klein" +#~ msgid "-display <display>\tConnect vim to this particular X-server" +#~ msgstr "-display <display>\tKoppel vim aan hierdie X-bediener" -#~ msgid "I/O ERROR" -#~ msgstr "I/O FOUT" +#~ msgid "-x\t\t\tEdit encrypted files" +#~ msgstr "-x\t\t\tBewerk geënkripteerde lêers" -#~ msgid "...(truncated)" -#~ msgstr "...(afgekap)" +#~ msgid "-U <gvimrc>\t\tUse <gvimrc> instead of any .gvimrc" +#~ msgstr "-U <gvimrc>\t\tGebruik <gvimrc> in plaas van enige .gvimrc" -#~ msgid "'columns' is not 80, cannot execute external commands" -#~ msgstr "'columns' is nie 80 nie, kan nie eksterne bevele uitvoer nie" +#~ msgid "-dev <device>\t\tUse <device> for I/O" +#~ msgstr "-dev <toestel>\t\tGebruik <toestel> vir I/O" -#~ msgid "to %s on %s" -#~ msgstr "na %s op %s" +#~ msgid "-f\t\t\tDon't use newcli to open window" +#~ msgstr "-f\t\t\tMoet nie 'newcli' gebruik om venster oop te maak nie" -#~ msgid "E613: Unknown printer font: %s" -#~ msgstr "E613: Onbekende drukker font: %s" +#~ msgid "-V[N]\t\tVerbose level" +#~ msgstr "-V[N]\t\tOmslagtigheidsgraad" -#~ msgid "E238: Print error: %s" -#~ msgstr "E238: Drukfout: %s" +#~ msgid "-f or --nofork\tForeground: Don't fork when starting GUI" +#~ msgstr "-f of --nofork\tVoorgrond: Moenie vurk wanneer GUI begin nie" -#~ msgid "Printing '%s'" -#~ msgstr "Druk nou '%s'" +#~ msgid "-g\t\t\tRun using GUI (like \"gvim\")" +#~ msgstr "-g\t\t\tVoer uit met die GUI (soos \"gvim\")" -#~ msgid "E244: Illegal charset name \"%s\" in font name \"%s\"" -#~ msgstr "E244: Ongeldige karakterstelnaam \"%s\" in fontnaam \"%s\"" +#~ msgid "-unregister\t\tUnregister gvim for OLE" +#~ msgstr "-unregister\t\tOnregistreer gvim vir OLE" -#~ msgid "E245: Illegal char '%c' in font name \"%s\"" -#~ msgstr "E245: Ongeldige karakter '%c' in fontnaam \"%s\"" +#~ msgid "-register\t\tRegister this gvim for OLE" +#~ msgstr "-register\t\tRegistreer hierdie gvim vir OLE" -#~ msgid "Vim: Double signal, exiting\n" -#~ msgstr "Vim: Dubbel sein, staak\n" +#~ msgid "This Vim was not compiled with the diff feature." +#~ msgstr "Hierdie Vim is nie gekompileer met 'diff' funksionaliteit nie." -#~ msgid "Vim: Caught deadly signal %s\n" -#~ msgstr "Vim: Het dodelike sein %s gevang\n" +#~ msgid "E251: VIM instance registry property is badly formed. Deleted!" +#~ msgstr "E251: VIM instansie register-kenmerk is swak gevorm. Geskrap!" -#~ msgid "Vim: Caught deadly signal\n" -#~ msgstr "Vim: Het dodelike sein gevang\n" +#~ msgid "E248: Failed to send command to the destination program" +#~ msgstr "E248: Het gefaal om bevel na doel program te stuur" -#~ msgid "Opening the X display took %<PRId64> msec" -#~ msgstr "Om die X-vertoonskerm oop te maak het %<PRId64> msek gevat" +#~ msgid "Unable to register a command server name" +#~ msgstr "Kon nie bevelbediener naam registreer nie" + +#~ msgid "cannot get line" +#~ msgstr "kan nie reël kry nie" #~ msgid "" -#~ "\n" -#~ "Vim: Got X error\n" +#~ "E281: TCL ERROR: exit code is not int!? Please report this to vim-dev@vim." +#~ "org" #~ msgstr "" -#~ "\n" -#~ "Vim: Het X fout ontvang\n" - -#~ msgid "Testing the X display failed" -#~ msgstr "Toetsing van die X-vertoonskerm het gefaal" - -#~ msgid "Opening the X display timed out" -#~ msgstr "Oopmaak van die X-vertoonskerm het uitgetel" +#~ "E281: TCL FOUT: verlaatkode is nie 'n 'int'!? Rapporteer dit asb. aan " +#~ "<vim-dev@vim.org>" #~ msgid "" -#~ "\n" -#~ "Cannot execute shell sh\n" +#~ "E571: Sorry, this command is disabled: the Tcl library could not be " +#~ "loaded." #~ msgstr "" -#~ "\n" -#~ "Kan nie dop 'sh' uitvoer nie\n" +#~ "E571: Jammer, hierdie bevel is afgeskakel, die Tcl biblioteek kon nie " +#~ "gelaai word nie." -#~ msgid "" -#~ "\n" -#~ "Cannot create pipes\n" +#~ msgid "cannot register callback command: buffer/window reference not found" #~ msgstr "" -#~ "\n" -#~ "Kan nie pype skep nie\n" +#~ "kan terugroepbevel nie registreer nie: buffer/vensterverwysing nie gevind " +#~ "nie" #~ msgid "" -#~ "\n" -#~ "Cannot fork\n" +#~ "E280: TCL FATAL ERROR: reflist corrupt!? Please report this to vim-" +#~ "dev@vim.org" #~ msgstr "" -#~ "\n" -#~ "Kan nie vurk nie\n" +#~ "E280: TCL FATALE FOUT: verwlys korrup!? Rapporteer dit asb. aan <vim-" +#~ "dev@vim.org>" #~ msgid "" -#~ "\n" -#~ "Command terminated\n" +#~ "cannot register callback command: buffer/window is already being deleted" #~ msgstr "" -#~ "\n" -#~ "Bevel beëindig\n" +#~ "kan nie terugroepbevel registreer nie: buffer/venster word alreeds geskrap" -#~ msgid "XSMP lost ICE connection" -#~ msgstr "XSMP het ICE konneksie verloor" +#~ msgid "cannot create buffer/window command: object is being deleted" +#~ msgstr "kan nie buffer/venster bevel skep nie: voorwerp word geskrap" -#~ msgid "Opening the X display failed" -#~ msgstr "Oopmaak van die X vertoonskerm het gefaal" +#~ msgid "vim error" +#~ msgstr "vim fout" -#~ msgid "XSMP handling save-yourself request" -#~ msgstr "XSMP hanteer 'save-yourself' versoek" +#~ msgid "keyboard interrupt" +#~ msgstr "sleutelbordonderbreking" -#~ msgid "XSMP opening connection" -#~ msgstr "XSMP maak nou konneksie oop" +#~ msgid "unknown vimOption" +#~ msgstr "onbekende 'vimOption'" -#~ msgid "XSMP ICE connection watch failed" -#~ msgstr "XSMP ICE konneksie beloer het gefaal" +#~ msgid "unknown flag: " +#~ msgstr "onbekende vlag: " -#~ msgid "XSMP SmcOpenConnection failed: %s" -#~ msgstr "XSMP 'SmcOpenConnection' het gefaal: %s" +#~ msgid "cannot insert/append line" +#~ msgstr "kan nie reël invoeg/aanlas nie" -#~ msgid "At line" -#~ msgstr "By reël" +#~ msgid "row %d column %d" +#~ msgstr "ry %d kolom %d" -#~ msgid "Could not allocate memory for command line." -#~ msgstr "Kan nie geheue toeken vir bevelreël nie" +#~ msgid "mark not set" +#~ msgstr "merker nie gestel nie" -#~ msgid "VIM Error" -#~ msgstr "VIM Fout" +#~ msgid "cannot set line(s)" +#~ msgstr "kan nie reël(s) stel nie" -#~ msgid "Could not load vim32.dll!" -#~ msgstr "Kon nie 'vim32.dll' laai nie!" +#~ msgid "unknown option" +#~ msgstr "onbekende opsie" -#~ msgid "Could not fix up function pointers to the DLL!" -#~ msgstr "Kon nie funksiewysers na die DLL opstel nie!" +#~ msgid "not implemented yet" +#~ msgstr "nog nie geïmplementeer nie" -#~ msgid "shell returned %d" -#~ msgstr "dop het %d gelewer" +#~ msgid "Sniff: Error during write. Disconnected" +#~ msgstr "Sniff: Fout gedurende stoor. Verbinding gebreek" -#~ msgid "Vim: Caught %s event\n" -#~ msgstr "Vim: Het %s gebeurtenis gevang\n" +#~ msgid "E278: SNiFF+ not connected" +#~ msgstr "E278: SNiFF+ is nie gekonnekteer nie" -#~ msgid "close" -#~ msgstr "maak toe" +#~ msgid "E276: Error connecting to SNiFF+" +#~ msgstr "E276: Fout in konnekteer met SNiFF+" -#~ msgid "logoff" -#~ msgstr "teken uit" +#~ msgid "E275: Unknown SNiFF+ request: %s" +#~ msgstr "E275: Onbekende SNiFF+ versoek: %s" -#~ msgid "shutdown" -#~ msgstr "sit af" +#~ msgid "connected" +#~ msgstr "gekonnekteer" -#~ msgid "E371: Command not found" -#~ msgstr "E371: Bevel nie gevind nie" +#~ msgid "not " +#~ msgstr "nie " + +#~ msgid "SNiFF+ is currently " +#~ msgstr "SNiFF+ is tans" + +#~ msgid "E274: Sniff: Error during read. Disconnected" +#~ msgstr "E274: Sniff: Fout gedurende lees. Verbinding gebreek" #~ msgid "" -#~ "VIMRUN.EXE not found in your $PATH.\n" -#~ "External commands will not pause after completion.\n" -#~ "See :help win32-vimrun for more information." +#~ "Cannot connect to SNiFF+. Check environment (sniffemacs must be found in " +#~ "$PATH).\n" #~ msgstr "" -#~ "'VIMRUN.EXE' nie gevind in '$PATH' nie.\n" -#~ "Eksterne opdragte sal nie wag na voltooiing nie\n" -#~ "Sien ':help win32-vimrun' vir meer inligting." +#~ "Kan nie 'n verbinding met 'SNiFF+' maak nie. Kyk of die omgewing reg is " +#~ "('sniffemacs' moet in '$PATH' gevind word).\n" -#~ msgid "Vim Warning" -#~ msgstr "Vim Waarskuwing" +#~ msgid "Generate docu for" +#~ msgstr "Genereer 'docu' vir" -#~ msgid "E56: %s* operand could be empty" -#~ msgstr "E56: %s* operand mag leeg wees" +#~ msgid "Show docu of" +#~ msgstr "Wys 'docu' van" -#~ msgid "E57: %s+ operand could be empty" -#~ msgstr "E57: %s+ operand mag leeg wees" +#~ msgid "Xref used by" +#~ msgstr "Xref gebruik deur" -#~ msgid "E58: %s{ operand could be empty" -#~ msgstr "E58: %s{ operand mag leeg wees" +#~ msgid "Xref has a" +#~ msgstr "Xref het 'n" -#~ msgid "E361: Crash intercepted; regexp too complex?" -#~ msgstr "E361: Ineenstorting onderskep. Patroon te kompleks?" +#~ msgid "Xref referred by" +#~ msgstr "Xref verwys deur" -#~ msgid "E363: pattern caused out-of-stack error" -#~ msgstr "E363: patroon het lëe-stapel fout veroorsaak" +#~ msgid "Xref refers to" +#~ msgstr "Xref verwys na" -#~ msgid "E396: containedin argument not accepted here" -#~ msgstr "E396: 'containedin' parameter nie hier aanvaar nie" +#~ msgid "Show class in restricted hierarchy" +#~ msgstr "Wys klas in beperkte hiërargie" -#~ msgid "Enter nr of choice (<CR> to abort): " -#~ msgstr "Sleutel nommer van keuse in (<CR> om te stop): " +#~ msgid "Show class in hierarchy" +#~ msgstr "Wys klas in hiërargie" -#~ msgid "E430: Tag file path truncated for %s\n" -#~ msgstr "E430: Etiketlêergids afgekap vir %s\n" +#~ msgid "Browse class" +#~ msgstr "Kyk klas deur" -#~ msgid "new shell started\n" -#~ msgstr "nuwe dop begin\n" +#~ msgid "Find symbol" +#~ msgstr "Vind simbool" -#~ msgid "No undo possible; continue anyway" -#~ msgstr "Geen herstel moontlik; gaan in elk geval voort" +#~ msgid "Show source of" +#~ msgstr "Wys kode van" -#~ msgid "" -#~ "\n" -#~ "MS-Windows 16/32-bit GUI version" -#~ msgstr "" -#~ "\n" -#~ "MS-Windows 16/32-bis GUI weergawe" +#~ msgid "Retrieve" +#~ msgstr "Gaan haal" -#~ msgid "" -#~ "\n" -#~ "MS-Windows 32-bit GUI version" -#~ msgstr "" -#~ "\n" -#~ "MS-Windows 32-bis GUI version" +#~ msgid "Retrieve from all projects" +#~ msgstr "Gaan haal uit alle projekte" -#~ msgid " in Win32s mode" -#~ msgstr " in Win32s modus" +#~ msgid "Retrieve from project" +#~ msgstr "Gaan haal uit projek" -#~ msgid " with OLE support" -#~ msgstr " met OLE ondersteuning" +#~ msgid "Retrieve from file" +#~ msgstr "Gaan haal uit lêer" -#~ msgid "" -#~ "\n" -#~ "MS-Windows 32-bit console version" -#~ msgstr "" -#~ "\n" -#~ "MS-Windows 32-bis konsole weergawe" +#~ msgid "Show overridden member function" +#~ msgstr "Wys vervangde lidfunksie" -#~ msgid "" -#~ "\n" -#~ "MS-Windows 16-bit version" -#~ msgstr "" -#~ "\n" -#~ "MS-Windows 16-bis weergawe" +#~ msgid "Show base class of" +#~ msgstr "Wys basisklas van" -#~ msgid "" -#~ "\n" -#~ "32-bit MS-DOS version" -#~ msgstr "" -#~ "\n" -#~ "32-bis MS-DOS weergawe" +#~ msgid "Toggle implementation/definition" +#~ msgstr "Stel en herstel implimentasie/definisie" -#~ msgid "" -#~ "\n" -#~ "16-bit MS-DOS version" -#~ msgstr "" -#~ "\n" -#~ "16-bis MS-DOS weergawe" +#~ msgid "E273: unknown longjmp status %d" +#~ msgstr "E273: Onbekende 'longjmp' status %d" #~ msgid "" -#~ "\n" -#~ "MacOS X (unix) version" +#~ "E266: Sorry, this command is disabled, the Ruby library could not be " +#~ "loaded." #~ msgstr "" -#~ "\n" -#~ "MacOS X (unix) weergawe" +#~ "E266: Jammer, hierdie bevel is afgeskakel, die Ruby biblioteeklêer kon " +#~ "nie gelaai word nie." -#~ msgid "" -#~ "\n" -#~ "MacOS X version" -#~ msgstr "" -#~ "\n" -#~ "MacOS X weergawe" +#~ msgid "string cannot contain newlines" +#~ msgstr "string kan nie 'newlines' bevat nie" -#~ msgid "" -#~ "\n" -#~ "MacOS version" -#~ msgstr "" -#~ "\n" -#~ "MacOS weergawe" +#~ msgid "cannot insert line" +#~ msgstr "kan reël nie byvoeg nie" + +#~ msgid "cannot replace line" +#~ msgstr "kan reël nie vervang nie" + +#~ msgid "cannot delete line" +#~ msgstr "kan reël nie verwyder nie" + +#~ msgid "no such window" +#~ msgstr "geen sodanige venster nie" + +#~ msgid "<window %d>" +#~ msgstr "<venster %d>" + +#~ msgid "<window object (unknown) at %.8lX>" +#~ msgstr "<verwyder voorwerp (onbekend) by %.8lX>" + +#~ msgid "<window object (deleted) at %.8lX>" +#~ msgstr "<venster voorwerp (geskrap) by %.8lX>" + +#~ msgid "cursor position outside buffer" +#~ msgstr "loperposisie buite buffer" + +#~ msgid "readonly attribute" +#~ msgstr "leesalleen eienskap" + +#~ msgid "attempt to refer to deleted window" +#~ msgstr "poging om na geskrapte venster te verwys" + +#~ msgid "no such buffer" +#~ msgstr "buffer bestaan nie" + +#~ msgid "invalid mark name" +#~ msgstr "onbekende merknaam" + +#~ msgid "<buffer object (deleted) at %8lX>" +#~ msgstr "<buffervoorwerp (geskrap) by %8lX>" + +#~ msgid "line number out of range" +#~ msgstr "reëlnommer buite omvang" + +#~ msgid "attempt to refer to deleted buffer" +#~ msgstr "poging om na 'n geskrapte buffer te verwys" + +#~ msgid "expressions disabled at compile time" +#~ msgstr "uitdrukkings afgeskakel tydens kompilering" + +# njj: net 'n voorstel .. +#~ msgid "invalid expression" +#~ msgstr "ongeldige uitdrukking" + +#~ msgid "E264: Python: Error initialising I/O objects" +#~ msgstr "E264: Python: Kon nie I/O objekte inwy nie" + +#~ msgid "writelines() requires list of strings" +#~ msgstr "'writelines()' benodig 'n lys van stringe" + +#~ msgid "invalid attribute" +#~ msgstr "ongeldige eienskap" + +#~ msgid "softspace must be an integer" +#~ msgstr "'softspace' moet 'n heelgetal wees" + +#~ msgid "can't delete OutputObject attributes" +#~ msgstr "kan nie 'OutputObject' eienskappe skrap nie" + +#~ msgid "E659: Cannot invoke Python recursively" +#~ msgstr "E659: Kan nie Python rekursief roep nie" #~ msgid "" -#~ "\n" -#~ "RISC OS version" +#~ "E263: Sorry, this command is disabled, the Python library could not be " +#~ "loaded." #~ msgstr "" -#~ "\n" -#~ "RISC OS weergawe" +#~ "E263: Jammer, hierdie bevel is afgeskakel, die Python biblioteek lêer kon " +#~ "nie gelaai word nie." + +#~ msgid "E569: maximum number of cscope connections reached" +#~ msgstr "E569: maksimum aantal 'cscope' verbindings bereik" + +#~ msgid "E626: cannot get cscope database information" +#~ msgstr "E626: kan nie 'cscope' databasisinligting kry nie" + +#~ msgid "E625: cannot open cscope database: %s" +#~ msgstr "E625: Kon nie 'cscope' databasis oopmaak nie: %s" + +#~ msgid "E563: stat error" +#~ msgstr "E563: 'stat' fout" + +#~ msgid "E256: Hangul automata ERROR" +#~ msgstr "E256: Hangul outomatiserings FOUT" #~ msgid "" +#~ "Font1 width: %<PRId64>\n" #~ "\n" -#~ "Big version " #~ msgstr "" +#~ "Font1 wydte: %<PRId64>\n" #~ "\n" -#~ "Groot weergawe " -#~ msgid "" -#~ "\n" -#~ "Normal version " +#~ msgid "Font0 width: %<PRId64>\n" +#~ msgstr "Font0 wydte: %<PRId64>\n" + +#~ msgid "Font%<PRId64> width is not twice that of font0\n" +#~ msgstr "Font%<PRId64> wydte is nie twee keer díe van font0 nie\n" + +#~ msgid "Font1: %s\n" +#~ msgstr "Font1: %s\n" + +#~ msgid "Font0: %s\n" +#~ msgstr "Font0: %s\n" + +#~ msgid "E253: Fontset name: %s\n" +#~ msgstr "E253: Fonstel naam: %s\n" + +#~ msgid "Font '%s' is not fixed-width" +#~ msgstr "Font '%s' is nie 'n vaste-wydte font nie" + +#~ msgid "E252: Fontset name: %s" +#~ msgstr "E252: Fontstel naam: %s" + +#~ msgid "E250: Fonts for the following charsets are missing in fontset %s:" #~ msgstr "" -#~ "\n" -#~ "Normale weergawe " +#~ "E250: Fonte vir die volgende karakterstelle ontbreek in fontversameling " +#~ "%s:" #~ msgid "" -#~ "\n" -#~ "Small version " +#~ "Vim E458: Cannot allocate colormap entry, some colors may be incorrect" #~ msgstr "" -#~ "\n" -#~ "Klein weergawe " +#~ "Vim E458: Kan nie kleurkaart-inskrywing toeken nie, sommige kleure mag " +#~ "verkeerd wees" -#~ msgid "" -#~ "\n" -#~ "Tiny version " +#~ msgid "Find & Replace (use '\\\\' to find a '\\')" +#~ msgstr "Vind & vervang string (gebruik '\\\\' om 'n '\\' te vind" + +#~ msgid "Find string (use '\\\\' to find a '\\')" +#~ msgstr "Vind string (gebruik '\\\\' om 'n '\\' te vind" + +#~ msgid "E672: Unable to open window inside MDI application" +#~ msgstr "E672: Kon nie venster oopmaak binne 'n MDI toepassing nie" + +#~ msgid "E243: Argument not supported: \"-%s\"; Use the OLE version." +#~ msgstr "E243: Parameter nie bekend: \"-%s\"; Gebruik die OLE weergawe." + +#~ msgid "Undo" +#~ msgstr "Herroep" + +#~ msgid "Selection" +#~ msgstr "Seleksie" + +#~ msgid "Files" +#~ msgstr "Lêers" + +#~ msgid "Help" +#~ msgstr "Hulp" + +#~ msgid "Directories" +#~ msgstr "Gidse" + +#~ msgid "Filter" +#~ msgstr "Filter" + +#~ msgid "Used CUT_BUFFER0 instead of empty selection" +#~ msgstr "'CUT_BUFFER0' is gebruik in plaas van leë seleksie" + +#~ msgid "Font Selection" +#~ msgstr "Fontkeuse" + +#~ msgid "Vim: Main window unexpectedly destroyed\n" +#~ msgstr "Vim: Hoofvenster onverwags verwoes\n" + +#~ msgid "Vim: Received \"die\" request from session manager\n" +#~ msgstr "Vim: Het die \"die\" opdrag ontvang van sessiebestuurder\n" + +#~ msgid "Replace All" +#~ msgstr "Vervang alles" + +#~ msgid "Replace" +#~ msgstr "Vervang" + +#~ msgid "Find Next" +#~ msgstr "Vind volgende" + +#~ msgid "Down" +#~ msgstr "Af" + +#~ msgid "Up" +#~ msgstr "Op" + +#~ msgid "Direction" +#~ msgstr "Rigting" + +#~ msgid "Match case" +#~ msgstr "Tref kas" + +#~ msgid "Match whole word only" +#~ msgstr "Tref slegs presiese woord" + +#~ msgid "Replace with:" +#~ msgstr "Vervang met:" + +#~ msgid "Find what:" +#~ msgstr "Soek na:" + +#~ msgid "VIM - Search..." +#~ msgstr "VIM - Soek..." + +#~ msgid "VIM - Search and Replace..." +#~ msgstr "VIM - Soek en Vervang..." + +#~ msgid "Input _Methods" +#~ msgstr "Invoer _Metodes" + +#~ msgid "Vim dialog..." +#~ msgstr "Vim dialooghokkie..." + +#~ msgid "E599: Value of 'imactivatekey' is invalid" +#~ msgstr "E599: Waarde van 'imactivatekey' is ongeldig" + +#~ msgid "E231: 'guifontwide' invalid" +#~ msgstr "E231: 'guifontwide' ongeldig" + +#~ msgid "E665: Cannot start GUI, no valid font found" +#~ msgstr "E665: Kan nie GUI begin nie, geen geldige font gevind nie" + +#~ msgid "E230: Cannot read from \"%s\"" +#~ msgstr "E230: Kan nie lees uit \"%s\" nie" + +#~ msgid "E229: Cannot start the GUI" +#~ msgstr "E229: Kan nie die GUI begin nie" + +#~ msgid "E232: Cannot create BalloonEval with both message and callback" +#~ msgstr "E232: Kan nie BalloonEval skep met beide boodskap en terugroep nie" + +#~ msgid "Scrollbar Widget: Could not get geometry of thumb pixmap." #~ msgstr "" -#~ "\n" -#~ "Piepklein weergawe " +#~ "Rolstaafelement: Kon nie pikselmatriks-duimnael se geometrie kry nie" -#~ msgid "with GTK2-GNOME GUI." -#~ msgstr "met GTK2-GNOME GUI." +#~ msgid "Vim dialog" +#~ msgstr "Vim dialooghokkie" -#~ msgid "with GTK-GNOME GUI." -#~ msgstr "met GTK-GNOME GUI." +#~ msgid "Cancel" +#~ msgstr "Kanselleer" -#~ msgid "with GTK2 GUI." -#~ msgstr "met GTK2 GUI" +#~ msgid "OK" +#~ msgstr "OK" -#~ msgid "with GTK GUI." -#~ msgstr "met GTK GUI" +#~ msgid "E615: vim_SelFile: can't get current directory" +#~ msgstr "E615: vim_SelFile: Kan nie huidige gids verkry nie" -#~ msgid "with X11-Motif GUI." -#~ msgstr "met X11-Motif GUI." +#~ msgid "Pathname:" +#~ msgstr "Gidsnaam:" -#~ msgid "with X11-neXtaw GUI." -#~ msgstr "met X11-neXtaw GUI" +#~ msgid "E614: vim_SelFile: can't return to current directory" +#~ msgstr "E614: 'vim_SelFile': Kan nie terugkeer na huidige gids nie" -#~ msgid "with X11-Athena GUI." -#~ msgstr "met X11-Athena GUI" +#~ msgid "E616: vim_SelFile: can't get font %s" +#~ msgstr "E616: 'vim_SelFile': kan font %s nie kry nie" -#~ msgid "with BeOS GUI." -#~ msgstr "met BeOS GUI" +#~ msgid "<cannot open> " +#~ msgstr "<kan nie oopmaak nie> " -#~ msgid "with Photon GUI." -#~ msgstr "met Photon GUI." +#~ msgid "E460: The resource fork would be lost (add ! to override)" +#~ msgstr "E460: Die hulpbronvurk sal verlore gaan (gebruik ! om te dwing)" -#~ msgid "with GUI." -#~ msgstr "met GUI." +#~ msgid "Partial writes disallowed for NetBeans buffers" +#~ msgstr "Gedeeltelike skryf word nie toegelaat vir NetBeans buffers nie" -#~ msgid "with Carbon GUI." -#~ msgstr "met Carbon GUI." +#~ msgid "NetBeans disallows writes of unmodified buffers" +#~ msgstr "NetBeans laat nie skryf toe van onveranderde buffers nie" -#~ msgid "with Cocoa GUI." -#~ msgstr "met Cocoa GUI." +#~ msgid "[CONVERSION ERROR]" +#~ msgstr "[OMSETTINGSFOUT]" -#~ msgid "with (classic) GUI." -#~ msgstr "met (klassieke) GUI." +#~ msgid "[crypted]" +#~ msgstr "[gekodeer]" -#~ msgid " system gvimrc file: \"" -#~ msgstr " stelsel gvimrc-lêer: \"" +#~ msgid "[NL found]" +#~ msgstr "[NL gevind]" -#~ msgid " user gvimrc file: \"" -#~ msgstr " gebruiker gvimrc-lêer: \"" +#~ msgid "E196: No digraphs in this version" +#~ msgstr "E196: Geen digrawe in hierdie weergawe nie" -#~ msgid "2nd user gvimrc file: \"" -#~ msgstr "2de gebruiker gvimrc-lêer: \"" +#~ msgid "Save Setup" +#~ msgstr "Stoor konfigurasie" -#~ msgid "3rd user gvimrc file: \"" -#~ msgstr "3de gebruiker gvimrc-lêer: \"" +#~ msgid "Save Session" +#~ msgstr "Stoor Sessie" -#~ msgid " system menu file: \"" -#~ msgstr " stelsel kieslys-lêer: \"" +#~ msgid "Save View" +#~ msgstr "Stoor Oorsig" -#~ msgid "Compiler: " -#~ msgstr "Kompileerder: " +#~ msgid "Save Redirection" +#~ msgstr "Stoor Herversturing" -#~ msgid "menu Help->Orphans for information " -#~ msgstr "menu Hulp->Weeskinders vir meer inligting hieroor " +#~ msgid "Window position: X %d, Y %d" +#~ msgstr "Vensterposisie: X %d, Y %d" -#~ msgid "Running modeless, typed text is inserted" -#~ msgstr "Voer modus-loos uit, getikte teks word ingevoeg" +#~ msgid "Append File" +#~ msgstr "Las aan by lêer" -#~ msgid "menu Edit->Global Settings->Toggle Insert Mode " -#~ msgstr "menu Redigeer->Globale verstellings->Stel en herstel Invoeg Modus" +#~ msgid "Edit File in new window" +#~ msgstr "Bewerk lêer in nuwe venster" -#~ msgid " for two modes " -#~ msgstr " vir twee modusse " +#~ msgid " (NOT FOUND)" +#~ msgstr " (NIE GEVIND NIE)" -#~ msgid "menu Edit->Global Settings->Toggle Vi Compatible" -#~ msgstr "menu Redigeer->Global verstellings->Stel en herstel Vi Versoenbaar" +#~ msgid "Edit File" +#~ msgstr "Verander lêer" -#~ msgid " for Vim defaults " -#~ msgstr " vir Vim verstekwaardes" +#~ msgid "Source Vim script" +#~ msgstr "Voer Vim skrip uit" -#~ msgid "WARNING: Windows 95/98/ME detected" -#~ msgstr "WAARSKUWING: Windows 95/98/ME bespeur" +#~ msgid "Save As" +#~ msgstr "Stoor As" -#~ msgid "type :help windows95<Enter> for info on this" -#~ msgstr "tik :help windows95<Enter> vir meer inligting hieroor" +#~ msgid "E130: Undefined function: %s" +#~ msgstr "E130: Ongedefinieerde funksie: %s" -#~ msgid "E370: Could not load library %s" -#~ msgstr "E370: Kon nie biblioteek laai nie %s" +#~ msgid "E277: Unable to read a server reply" +#~ msgstr "E277: Kon bediener-terugvoer nie lees nie" + +#~ msgid "E240: No connection to Vim server" +#~ msgstr "E240: Geen verbinding met Vim bediener" #~ msgid "" -#~ "Sorry, this command is disabled: the Perl library could not be loaded." +#~ "&OK\n" +#~ "&Cancel" #~ msgstr "" -#~ "Jammer, hierdie bevel is afgeskakel: die Perl biblioteek kon nie gelaai " -#~ "word nie." +#~ "&OK\n" +#~ "&Kanselleer" -#~ msgid "E299: Perl evaluation forbidden in sandbox without the Safe module" -#~ msgstr "" -#~ "E299: Perl evaluasie verbied in die sandput sonder die 'Safe' module" +#~ msgid "E106: Unknown variable: \"%s\"" +#~ msgstr "E106: Onbekende veranderlike: \"%s\"" -#~ msgid "Edit with &multiple Vims" -#~ msgstr "Wysig met &meer as een Vim" +#~ msgid "Patch file" +#~ msgstr "Laslap lêer" -#~ msgid "Edit with single &Vim" -#~ msgstr "Wysig met 'n enkel &Vim" +#~ msgid "[No File]" +#~ msgstr "[Geen lêer]" -#~ msgid "&Diff with Vim" -#~ msgstr "Wys verskille ('&diff') met Vim" +#~ msgid "[Error List]" +#~ msgstr "[Foutlys]" -#~ msgid "Edit with &Vim" -#~ msgstr "Wysig met &Vim" +#~ msgid "type :help cp-default<Enter> for info on this" +#~ msgstr "tik :help cp-default<Enter> vir meer inligting hieroor" -#~ msgid "Edit with existing Vim - &" -#~ msgstr "Wysig met bestaande Vim - &" +#~ msgid "type :set nocp<Enter> for Vim defaults" +#~ msgstr "tik :set nocp<Enter> vir Vim verstekwaardes " -#~ msgid "Edits the selected file(s) with Vim" -#~ msgstr "Wysig die gekose lêer(s) met Vim" +#~ msgid "Running in Vi compatible mode" +#~ msgstr "Voer tans uit in Vi-versoenbare modus" -#~ msgid "Error creating process: Check if gvim is in your path!" -#~ msgstr "FOut met die skep van proses: Kyk of gvim in jou pad is!" +#~ msgid "type :help version7<Enter> for version info" +#~ msgstr "tik :help version7<Enter> vir weergawe-inligting" -#~ msgid "gvimext.dll error" -#~ msgstr "'gvimext.dll' fout" +#~ msgid "type :help<Enter> or <F1> for on-line help" +#~ msgstr "tik :help<Enter> of <F1> vir aanlyn hulp " -#~ msgid "Path length too long!" -#~ msgstr "Pad-lengte te lank" +#~ msgid "by Bram Moolenaar et al." +#~ msgstr "deur Bram Moolenaar et al." -#~ msgid "E234: Unknown fontset: %s" -#~ msgstr "E234: Onbekende fontstel: %s" +# njj: :)) +#~ msgid "version " +#~ msgstr "Weergawe " -#~ msgid "E235: Unknown font: %s" -#~ msgstr "E235: Onbekende font: %s" +#~ msgid "VIM - Vi IMproved" +#~ msgstr "VIM - Vi Met skop" -#~ msgid "E448: Could not load library function %s" -#~ msgstr "E448: Kon nie biblioteek funksie laai nie %s" +#~ msgid " DEBUG BUILD" +#~ msgstr " ONTFOUTINGS-KOMPILERING" -#~ msgid "E26: Hebrew cannot be used: Not enabled at compile time\n" +#~ msgid "Linking: " +#~ msgstr "Koppeling: " + +#~ msgid "Compilation: " +#~ msgstr "Kompilering: " + +#~ msgid " 2nd user exrc file: \"" +#~ msgstr " 2de gebruiker exrc-lêer: \"" + +#~ msgid " user exrc file: \"" +#~ msgstr " gebruiker exrc-lêer: \"" + +#~ msgid " 3rd user vimrc file: \"" +#~ msgstr " 3de gebruiker vimrc-lêer \"" + +#~ msgid " 2nd user vimrc file: \"" +#~ msgstr " 2de gebruiker vimrc-lêer \"" + +#~ msgid " user vimrc file: \"" +#~ msgstr " gebruiker vimrc-lêer: \"" + +#~ msgid " Features included (+) or not (-):\n" +#~ msgstr " Kenmerke in- (+) of uitgesluit (-):\n" + +#~ msgid "without GUI." +#~ msgstr "sonder GUI." + +#~ msgid "" +#~ "\n" +#~ "Huge version " #~ msgstr "" -#~ "E26: Hebreeus kan nie gebruik word nie: Nie tydens kompilering gekies " -#~ "nie\n" +#~ "\n" +#~ "Enorme weergawe " -#~ msgid "E27: Farsi cannot be used: Not enabled at compile time\n" +#~ msgid "Modified by " +#~ msgstr "Gewysig deur " + +#, fuzzy +#~ msgid "" +#~ "\n" +#~ "Extra patches: " +#~ msgstr "Eksterne subtreffers:\n" + +#~ msgid "" +#~ "\n" +#~ "Included patches: " #~ msgstr "" -#~ "E27: Farsi kan nie gebruik word nie: Nie tydens kompilering gekies nie\n" +#~ "\n" +#~ "Ingeslote laslappies:" -#~ msgid "E800: Arabic cannot be used: Not enabled at compile time\n" +#~ msgid "" +#~ "\n" +#~ "--- Terminal keys ---" #~ msgstr "" -#~ "E800: Arabies kan nie gebruik word nie: Nie tydens kompilering gekies " -#~ "nie\n" +#~ "\n" +#~ "--- Terminaal sleutels ---" -#~ msgid "E247: no registered server named \"%s\"" -#~ msgstr "E247: geen geregistreerde bediener genaamd \"%s\"" +#~ msgid "E437: terminal capability \"cm\" required" +#~ msgstr "E437: terminaalvermoë \"cm\" vereis" -#~ msgid "E233: cannot open display" -#~ msgstr "E233: kan nie vertoonskerm oopmaak nie" +#~ msgid "E436: No \"%s\" entry in termcap" +#~ msgstr "E436: Geen \"%s\" inskrywing in termcap nie" -#~ msgid "E463: Region is guarded, cannot modify" -#~ msgstr "E463: Omgewing is onder bewaking, kan nie verander nie" +#~ msgid "E559: Terminal entry not found in termcap" +#~ msgstr "E559: Terminaalinskrywing nie in 'termcap' gevind nie" -#~ msgid "function " -#~ msgstr "funksie " +#~ msgid "E558: Terminal entry not found in terminfo" +#~ msgstr "E558: Terminaalinskrywing nie in 'terminfo' gevind nie" -#~ msgid "Run Macro" -#~ msgstr "Voer Makro uit" +#~ msgid "E557: Cannot open termcap file" +#~ msgstr "E557: Kan nie 'termcap'-lêer oopmaak nie" -#~ msgid "E242: Color name not recognized: %s" -#~ msgstr "E242: Kleurnaam is onbekend: %s" +#~ msgid "defaulting to '" +#~ msgstr "gebruik verstek '" -#~ msgid "error reading cscope connection %d" -#~ msgstr "'cscope' verbinding %d kon nie gelees word nie" +#~ msgid "' not known. Available builtin terminals are:" +#~ msgstr "' onbekend. Beskikbare ingeboude terminale is:" -#~ msgid "E260: cscope connection not found" -#~ msgstr "E260: 'cscope' verbinding nie gevind nie" +#~ msgid "E422: terminal code too long: %s" +#~ msgstr "E422: terminaalkode te lank: %s" -#~ msgid "cscope connection closed" -#~ msgstr "'cscope' verbinding gesluit" +#, fuzzy +#~ msgid "Substitute " +#~ msgstr "1 vervanging" -# njj: dalk 'verbinding' ipv 'verbinding' orals? -#~ msgid "couldn't malloc\n" -#~ msgstr "kon nie 'malloc' nie\n" +#~ msgid " (lang)" +#~ msgstr " (taal)" -#~ msgid "%2d %-5ld %-34s <none>\n" -#~ msgstr "%2d %-5ld %-34s <geen>\n" +#~ msgid "" +#~ "\n" +#~ "Cannot execute shell " +#~ msgstr "" +#~ "\n" +#~ "Kan nie dop uitvoer nie " -#~ msgid "E249: couldn't read VIM instance registry property" -#~ msgstr "E249: kon nie VIM instansie register-kenmerk lees nie" +#~ msgid "E522: Not found in termcap" +#~ msgstr "E522: Nie gevind in 'termcap' nie" -#~ msgid "\"\n" -#~ msgstr "\"\n" +#~ msgid "Thanks for flying Vim" +#~ msgstr "Dankie dat jy vlieg met Vim" -#~ msgid "--help\t\tShow Gnome arguments" -#~ msgstr "--help\t\tWys Gnome parameters" +#~ msgid "%<%f%h%m%=Page %N" +#~ msgstr "%<%f%h%m%=Bladsy %N" -#~ msgid "1 line ~ed" -#~ msgstr "1 reël ge-~" +#~ msgid "E574: Unknown register type %d" +#~ msgstr "E574: Onbekende registertipe %d" -#~ msgid "%<PRId64> lines ~ed" -#~ msgstr "%<PRId64> reëls ge-~" +#~ msgid "" +#~ "\n" +#~ "# Registers:\n" +#~ msgstr "" +#~ "\n" +#~ "# Registers:\n" -#~ msgid " BLOCK" -#~ msgstr " BLOK" +#~ msgid "Illegal register name" +#~ msgstr "Ongeldige registernaam" -#~ msgid " LINE" -#~ msgstr " REËL" +#~ msgid "cannot yank; delete anyway" +#~ msgstr "kan nie pluk nie: verwyder in elk geval" -#~ msgid "Linear tag search" -#~ msgstr "Liniêre etiketsoek" +#~ msgid "E337: Menu not found - check menu names" +#~ msgstr "E337: Kieslys nie gevind nie - maak seker oor die kieslys name" -#~ msgid "Binary tag search" -#~ msgstr "Binêre etiketsoek" +#~ msgid "E336: Menu path must lead to a sub-menu" +#~ msgstr "E336: Kieslyspad moet lei na 'n sub-kieslys" -#~ msgid "E258: no matches found in cscope connections" -#~ msgstr "E258: geen treffers gevind in 'cscope' verbindings nie" +#~ msgid "Swap file already exists!" +#~ msgstr "Ruillêer bestaan alreeds!" -#~ msgid "No servers found for this display" -#~ msgstr "Geen bedieners gevind vir die 'display' nie" +#, fuzzy +#~ msgid " Quit, or continue with caution.\n" +#~ msgstr " Stop, of gaan versigtig voort.\n" -#~ msgid "Missing filename" -#~ msgstr "Ontbrekende lêernaam" +#~ msgid "Missing '>'" +#~ msgstr "Ontbrekende '>'" -#~ msgid "Invalid line number: %<PRId64>" -#~ msgstr "Ongeldige reëlnommer: %<PRId64>" +#~ msgid "" +#~ "\n" +#~ "# History of marks within files (newest to oldest):\n" +#~ msgstr "" +#~ "\n" +#~ "# Geskiedenis van merkers in lêers (nuutste tot oudste):\n" -#~ msgid "Cannot use :normal from event handler" -#~ msgstr "Kan ':normal' nie vanuit gebeurtenishanteerder gebruik nie" +#~ msgid "" +#~ "\n" +#~ "# Jumplist (newest first):\n" +#~ msgstr "" +#~ "\n" +#~ "# Springlys (nuutste eerste):\n" -#~ msgid "VIM - Help on..." -#~ msgstr "VIM - Hulp met.." +#~ msgid "" +#~ "\n" +#~ "# File marks:\n" +#~ msgstr "" +#~ "\n" +#~ "# Lêermerkers:\n" -#~ msgid "Topic:" -#~ msgstr "Onderwerp:" +#~ msgid "-h or --help\tPrint Help (this message) and exit" +#~ msgstr "-h of --help\tSkryf Hulp (hierdie boodskap) en sluit" -#~ msgid "Error: During loading fontset %s" -#~ msgstr "Fout: Gedurende die laai van fontstel %s" +#~ msgid "-i <viminfo>\t\tUse <viminfo> instead of .viminfo" +#~ msgstr "-i <viminfo>\t\tGebruik <viminfo> in plaas van .viminfo" -#~ msgid "locale is not set correctly" -#~ msgstr "lokaal is nie korrek gestel nie" +#~ msgid "-W <scriptout>\tWrite all typed commands to file <scriptout>" +#~ msgstr "-W <skripuit>\tSkryf alle getikte bevele na lêer <skripuit>" -#~ msgid "For korean:" -#~ msgstr "Vir Afrikaans:" +#~ msgid "-w <scriptout>\tAppend all typed commands to file <scriptout>" +#~ msgstr "-w <skripuit>\tLas alle getikte bevele aan by lêer <skripuit>" -#~ msgid " csh: setenv LANG ko" -#~ msgstr " csh: setenv LANG af" +#~ msgid "+<lnum>\t\tStart at line <lnum>" +#~ msgstr "+<lnum>\t\tBegin by reël <lnum>" -#~ msgid " sh : export LANG=ko" -#~ msgstr " sh: export LANG=af" +#~ msgid "+\t\t\tStart at end of file" +#~ msgstr "+\t\t\tBegin by einde van lêer" -#~ msgid "fontset name: %s" -#~ msgstr "fontstel naam: %s" +#~ msgid "-O[N]\t\tLike -o but split vertically" +#~ msgstr "-O[N]\t\tSoos -o maar verdeel vertikaal" -#~ msgid "Your language Font missing" -#~ msgstr "Jou taal Font ontbreek" +#~ msgid "-u <vimrc>\t\tUse <vimrc> instead of any .vimrc" +#~ msgstr "-u <vimrc>\t\tGebruik <vimrc> in plaas van enige ander .vimrc" -#~ msgid "automata ERROR: internal" -#~ msgstr "automata FOUT: intern" +#~ msgid "-T <terminal>\tSet terminal type to <terminal>" +#~ msgstr "-T <terminaal>\tStel terminaaltipe na <terminaal>" -#~ msgid "cs_add_common: alloc fail #1" -#~ msgstr "'cs_add_common': toeken onsuksesvol #1" +#~ msgid "-F\t\t\tStart in Farsi mode" +#~ msgstr "-F\t\t\tBegin in Farsi modus" -#~ msgid "cs_add_common: alloc fail #2" -#~ msgstr "'cs_add_common': toeken onsuksesvol #2" +#~ msgid "-H\t\t\tStart in Hebrew mode" +#~ msgstr "-H\t\t\tBegin in Hebreeuse modus" -#~ msgid "cs_add_common: alloc fail #3" -#~ msgstr "'cs_add_common': toeken onsuksesvol #3" +#~ msgid "-A\t\t\tstart in Arabic mode" +#~ msgstr "-A\t\t\tbegin in Arabiese modus" -#~ msgid "cs_add_common: alloc fail #4" -#~ msgstr "'cs_add_common': toeken onsuksesvol #4" +#~ msgid "-L\t\t\tSame as -r" +#~ msgstr "-L\t\t\tSelfde as -r" -#~ msgid "Retrieve next symbol" -#~ msgstr "Kry volgende simbool" +#~ msgid "-r (with file name)\tRecover crashed session" +#~ msgstr "-r (met lêer naam)\tHerwin ineengestorte sessie" -#~ msgid "-- SNiFF+ commands --" -#~ msgstr "-- SNiFF+ bevele --" +#~ msgid "-r\t\t\tList swap files and exit" +#~ msgstr "-r\t\t\tLys ruillêers en verlaat vim" -#~ msgid "Unrecognized sniff request [%s]" -#~ msgstr "Onbekende sniff versoek [%s]" +#~ msgid "-D\t\t\tDebugging mode" +#~ msgstr "-D\t\t\tOntfoutmodus" -#~ msgid "Can't create input context." -#~ msgstr "Kan nie invoerkonteks skep nie." +#~ msgid "-N\t\t\tNot fully Vi compatible: 'nocompatible'" +#~ msgstr "-N\t\t\tNie ten volle Vi-versoenbaar nie: 'nocompatible'" -#~ msgid "Sorry, deleting a menu is not possible in the Athena version" -#~ msgstr "" -#~ "Jammer, in die Athena weergawe is dit onmoontlik om 'n kieslys te skrap" +#~ msgid "-C\t\t\tCompatible with Vi: 'compatible'" +#~ msgstr "-C\t\t\tVersoenbaar met Vi: 'compatible'" -#~ msgid "Out of memory" -#~ msgstr "Geheue op" +#~ msgid "-l\t\t\tLisp mode" +#~ msgstr "-l\t\t\tLisp modus" -#~ msgid "PC (32 bits Vim)" -#~ msgstr "PC (32 bisse Vim)" +#~ msgid "-b\t\t\tBinary mode" +#~ msgstr "-b\t\t\tBinêre modus" -#~ msgid "PC (16 bits Vim)" -#~ msgstr "PC (16 bisse Vim)" +#~ msgid "-Z\t\t\tRestricted mode (like \"rvim\")" +#~ msgstr "-Z\t\t\tBeperkte modus (soos \"rvim\")" -#~ msgid "Unsupported screen mode" -#~ msgstr "Ongesteunde skermmodus" +#~ msgid "-R\t\t\tReadonly mode (like \"view\")" +#~ msgstr "-R\t\t\tLeesalleen modus (soos \"view\")" -#~ msgid "deadly signal" -#~ msgstr "dodelike sein" +#~ msgid "-y\t\t\tEasy mode (like \"evim\", modeless)" +#~ msgstr "-y\t\t\tEasy modus (soos \"evim\", modusloos)" -#~ msgid "some" -#~ msgstr "sommige" +#~ msgid "-d\t\t\tDiff mode (like \"vimdiff\")" +#~ msgstr "-d\t\t\tDiff modus (soos \"vimdiff\")" -#~ msgid "Library call failed" -#~ msgstr "Biblioteekfunksieroep het gefaal" +#~ msgid "-s\t\t\tSilent (batch) mode (only for \"ex\")" +#~ msgstr "-s\t\t\tStil (bondel) modus (slegs vir \"ex\")" -#~ msgid "Cannot clear all highlight groups" -#~ msgstr "Kan nie alle uitliggroepe leegmaak nie" +#~ msgid "-e\t\t\tEx mode (like \"ex\")" +#~ msgstr "-e\t\t\tEx modus (soos \"ex\")" -#~ msgid "GUI is not running" -#~ msgstr "GUI voer nie uit nie" +#~ msgid "-v\t\t\tVi mode (like \"vi\")" +#~ msgstr "-v\t\t\tVi modus (soos \"vi\")" -#~ msgid "Command too long" -#~ msgstr "Bevel te lank" +#~ msgid "" +#~ "\n" +#~ "\n" +#~ "Arguments:\n" +#~ msgstr "" +#~ "\n" +#~ "\n" +#~ "Parameters:\n" -#~ msgid "Ambiguous mapping" -#~ msgstr "Dubbelsinnige binding" +#~ msgid "" +#~ "\n" +#~ " or:" +#~ msgstr "" +#~ "\n" +#~ " of:" -#~ msgid "Ambiguous mapping, conflicts with \"%s\"" -#~ msgstr "Dubbelsinnige binding, bots met \"%s\"" +#~ msgid " vim [arguments] " +#~ msgstr " vim [parameters] " -#~ msgid "Too many \\(" -#~ msgstr "Te veel \\(" +#~ msgid "%d files to edit\n" +#~ msgstr "%d lêers om te bewerk\n" -#~ msgid "Unmatched \\(" -#~ msgstr "Onpaar \\(" +#~ msgid "Invalid argument for" +#~ msgstr "Ongeldige parameter vir" -#~ msgid "Nested *, \\=, \\+, \\! or \\{" -#~ msgstr "Geneste *, \\=, \\+, \\! of \\{" +#~ msgid "Zero count" +#~ msgstr "Nul telling" -#~ msgid "\\= follows nothing" -#~ msgstr "\\= volg niks" +#~ msgid "Nvim: Reading from stdin...\n" +#~ msgstr "Vim: Lees nou vanaf 'stdin'...\n" -#~ msgid "\\+ follows nothing" -#~ msgstr "\\+ volg niks" +#~ msgid "Input Line" +#~ msgstr "Invoer Lyn" -#~ msgid "\\@ follows nothing" -#~ msgstr "\\@ volg niks" +#~ msgid "Expression" +#~ msgstr "Uitdrukking" -#~ msgid "\\{ follows nothing" -#~ msgstr "\\{ volg niks" +#~ msgid "Search String" +#~ msgstr "Soekstring" -#~ msgid "\\* follows nothing" -#~ msgstr "\\* volg niks" +#~ msgid "Command Line" +#~ msgstr "Bevelreël" -#~ msgid "Unexpected magic character; check META." -#~ msgstr "Onverwagte toorkarakter; kyk na META." +#~ msgid "" +#~ "\n" +#~ "# %s History (newest to oldest):\n" +#~ msgstr "" +#~ "\n" +#~ "# %s Geskiedenis (van nuutste na oudste):\n" -#~ msgid "type :help uganda<Enter> if you like Vim " -#~ msgstr "tik :help uganda<Enter> as jy hou van Vim " +#~ msgid "E195: Cannot open viminfo file for reading" +#~ msgstr "E195: Kan 'viminfo' lêer nie oopmaak om te lees nie" -#~ msgid " WARNING: Intel CPU detected. " -#~ msgstr " WAARSKUWING: Intel SVE bespeur. " +#~ msgid "E466: :winpos requires two number arguments" +#~ msgstr "E466: :winpos benodig twee parameters" -#~ msgid " PPC has a much better architecture. " -#~ msgstr " PPC het 'n veel beter argitektuur. " +#~ msgid "E188: Obtaining window position not implemented for this platform" +#~ msgstr "" +#~ "E188: Verkryging van vensterposisie is nie vir hierdie platform " +#~ "geïmplementeer nie" -#~ msgid "Security error: new viminfo file is a symbolic link" -#~ msgstr "Sekuriteitsfout: nuwe viminfo lêer is a simboliese skakel" +#, fuzzy +#~ msgid "" +#~ "E747: Cannot change directory, buffer is modified (add ! to override)" +#~ msgstr "E509: Kan rugsteunlêer nie skep nie (gebruik ! om te dwing)" -#~ msgid "line ~%<PRId64>: %s" -#~ msgstr "reël ~%<PRId64>: %s" +#~ msgid "E172: Only one file name allowed" +#~ msgstr "E172: Slegs een lêernaam toegelaat" -#~ msgid "makeef option not set" -#~ msgstr "'makeef' opsie nie aan nie" +#~ msgid "" +#~ "\n" +#~ "# Last Substitute String:\n" +#~ "$" +#~ msgstr "" +#~ "\n" +#~ "# Vorige Vervangstring:\n" +#~ "$" -#~ msgid "Security error: filter output is a symbolic link: %s" -#~ msgstr "Sekuriteitsfout: filter afvoer is 'n simboliese skakel" +#~ msgid "Illegal starting char" +#~ msgstr "Ongeldige beginkarakter" -#~ msgid "Security error: 'charconvert' output is a symbolic link" -#~ msgstr "Sekuriteitsfout: 'charconvert' afvoer is 'n simboliese skakel" +#~ msgid "# Value of 'encoding' when this file was written\n" +#~ msgstr "# Waarde van 'encoding' toe hierdie lêer gestoor is\n" -#~ msgid "Security error: filter input is a symbolic link: %s" -#~ msgstr "Sekuriteitsfout: filter invoer is 'n simboliese skakel" +#~ msgid "" +#~ "# You may edit it if you're careful!\n" +#~ "\n" +#~ msgstr "" +#~ "# Jy mag dit wysig as jy versigtig is!\n" +#~ "\n" -#~ msgid "Fold must be at least two lines" -#~ msgstr "'n Vou moet ten minste 2 reëls wees" +#~ msgid "# This viminfo file was generated by Vim %s.\n" +#~ msgstr "# Hierdie viminfo lêer is gegenereer deur Vim %s.\n" -#~ msgid "No fold at this line" -#~ msgstr "Geen vou by hierdie reël nie" +#~ msgid "E138: Can't write viminfo file %s!" +#~ msgstr "E138: Kan nie viminfo lêer %s stoor nie!" -#~ msgid "Security error: shell command output is a symbolic link" -#~ msgstr "Sekuriteitsfout: Dop-bevel afvoer is 'n simboliese skakel" +#~ msgid "E136: viminfo: Too many errors, skipping rest of file" +#~ msgstr "E136: viminfo: Te veel foute, slaan die res van die lêer oor" -#~ msgid "Warning: %s option changed from modeline" -#~ msgstr "Waarskuwing: %s opsie verander vanaf moduslyn" +#~ msgid "%sviminfo: %s in line: " +#~ msgstr "%sviminfo: %s in reël: " -#~ msgid "Change dir debugging enabled." -#~ msgstr "Verandergids ontfouting in staat gestel" +#~ msgid "" +#~ "\n" +#~ "# global variables:\n" +#~ msgstr "" +#~ "\n" +#~ "# globale veranderlikes:\n" -#~ msgid "Not a proper file name: '%s'" -#~ msgstr "Nie 'n geldige lêernaam nie: '%s'" +#, fuzzy +#~ msgid "E706: Variable type mismatch for: %s" +#~ msgstr "E93: Meer as een treffer vir %s" -#~ msgid "File name '%s' is valid" -#~ msgstr "lêernaam '%s is ongeldig" +#, fuzzy +#~ msgid "E724: variable nested too deep for displaying" +#~ msgstr "E22: Skripte te diep ge-nes" -#~ msgid "Leave: %s" -#~ msgstr "Verlaat: %s" +#~ msgid "" +#~ "\n" +#~ "# Buffer list:\n" +#~ msgstr "" +#~ "\n" +#~ "# Buffer lys:\n" -#~ msgid "WARNING: tag command changed a buffer!!!" -#~ msgstr "WAARSKUWING: etiketbevel het buffer verander!!!" +#, fuzzy +#~ msgid "Unable to get option value" +#~ msgstr "E258: Kan nie na kliënt stuur nie" diff --git a/src/nvim/po/ca.po b/src/nvim/po/ca.po index 7d32db9f97..b485b61491 100644 --- a/src/nvim/po/ca.po +++ b/src/nvim/po/ca.po @@ -299,7 +299,7 @@ msgstr "E100: No hi ha cap altre buffer en mode diff" #: ../diff.c:2112 msgid "E101: More than two buffers in diff mode, don't know which one to use" -msgstr "E101: Hi ha més de 2 buffers en mode diff, no se sap quin usar" +msgstr "E101: Hi ha més de 2 buffers en mode diff" #: ../diff.c:2141 #, c-format @@ -1095,7 +1095,7 @@ msgstr "%<PRId64> línies filtrades" #: ../ex_cmds.c:1194 msgid "E135: *Filter* Autocommands must not change current buffer" -msgstr "E135: Les auto-ordres *Filter* no poden canviar el buffer actual" +msgstr "E135: Les ordres automàtiques *Filter* han de no modificar el buffer" #: ../ex_cmds.c:1244 msgid "[No write since last change]\n" @@ -1582,7 +1582,7 @@ msgstr "E605: No s'ha interceptat l'excepció: %s" #: ../ex_docmd.c:1085 msgid "End of sourced file" -msgstr "Final del fitxer interpretat" +msgstr "Final de l'script" #: ../ex_docmd.c:1086 msgid "End of function" @@ -1881,7 +1881,7 @@ msgstr "%s s'ha descartat" #: ../ex_eval.c:708 msgid "Exception" -msgstr "Exepció" +msgstr "Excepció" #: ../ex_eval.c:713 msgid "Error and interrupt" @@ -2162,7 +2162,7 @@ msgstr "[ERRORS DE LECTURA]" #: ../fileio.c:2104 msgid "Can't find temp file for conversion" -msgstr "No s'ha trobat el fitxer temporal per la conversió" +msgstr "No s'ha trobat el fitxer temporal per a fer la conversió" #: ../fileio.c:2110 msgid "Conversion with 'charconvert' failed" @@ -2298,7 +2298,7 @@ msgstr "E205: patchmode: no s'ha pogut desar el fitxer original" #: ../fileio.c:3602 msgid "E206: patchmode: can't touch empty original file" -msgstr "E206: patchmode: no s'ha pogut tocar el fitxer original buit" +msgstr "E206: patchmode: no s'ha pogut fer un toc al fitxer original buit" #: ../fileio.c:3616 msgid "E207: Can't delete backup file" @@ -2308,9 +2308,7 @@ msgstr "E207: No s'ha pogut eliminar la còpia de seguretat" msgid "" "\n" "WARNING: Original file may be lost or damaged\n" -msgstr "" -"\n" -"ATENCIÓ: El fitxer original es pot haver fet malbé\n" +msgstr "\nATENCIÓ: El fitxer original es pot haver perdut o fet malbé\n" #: ../fileio.c:3675 msgid "don't quit the editor until the file is successfully written!" @@ -2460,7 +2458,7 @@ msgstr "" #: ../fileio.c:5065 #, c-format msgid "E462: Could not prepare for reloading \"%s\"" -msgstr "E462: No s'han pogut fer les preparacions per rellegir \"%s\"" +msgstr "E462: No s'han pogut fer les preparacions per a rellegir \"%s\"" #: ../fileio.c:5078 #, c-format @@ -2536,7 +2534,7 @@ msgstr "Executant %s" #: ../fileio.c:7211 #, c-format msgid "autocommand %s" -msgstr "auto-ordre %s" +msgstr "ordre automàtica %s" #: ../fileio.c:7795 msgid "E219: Missing {." @@ -3043,7 +3041,7 @@ msgstr "No hi ha text per imprimir" #: ../hardcopy.c:668 #, c-format msgid "Printing page %d (%d%%)" -msgstr "S'està imprimint la pàgina %d (%d%%)" +msgstr "Imprimint la pàgina %d (%d%%)" #: ../hardcopy.c:680 #, c-format @@ -3057,7 +3055,7 @@ msgstr "S'ha imprès: %s" #: ../hardcopy.c:740 msgid "Printing aborted" -msgstr "S'ha avortat l'impressió" +msgstr "S'ha avortat la impressió" #: ../hardcopy.c:1365 msgid "E455: Error writing to PostScript output file" @@ -3314,7 +3312,7 @@ msgstr "E609: Error de cscope: %s" #: ../if_cscope.c:2053 msgid "All cscope databases reset" -msgstr "S'han reiniciat totes les bases de dades cscope" +msgstr "S'han restablert totes les bases de dades cscope" #: ../if_cscope.c:2123 msgid "no cscope connections\n" @@ -3517,7 +3515,7 @@ msgstr "-n\t\t\tNo usa fitxers d'intercanvi, només memòria" #: ../main.c:2218 msgid "-r\t\t\tList swap files and exit" -msgstr "-r\t\t\tLlista els fitxers d'intercanvi i surt" +msgstr "-r\t\t\tLlistat dels fitxers d'intercanvi" #: ../main.c:2219 msgid "-r (with file name)\tRecover crashed session" @@ -3549,7 +3547,7 @@ msgstr "-u <vimrc>\t\tUsa <vimrc> en lloc de qualsevol altre .vimrc" #: ../main.c:2226 msgid "--noplugin\t\tDon't load plugin scripts" -msgstr "--noplugin\t\tNo carrega cap plugin" +msgstr "--noplugin\t\tNo carrega plugins" #: ../main.c:2227 msgid "-p[N]\t\tOpen N tab pages (default: one for each file)" @@ -3561,7 +3559,7 @@ msgstr "-o[N]\t\tObre N finestres (per omissió: una per fitxer)" #: ../main.c:2229 msgid "-O[N]\t\tLike -o but split vertically" -msgstr "-O[N]\t\tCom -o però amb divisions verticals" +msgstr "-O[N]\t\tCom -o però amb divisió vertical" #: ../main.c:2230 msgid "+\t\t\tStart at end of file" @@ -3739,7 +3737,7 @@ msgstr "E305: No s'ha trobat el fitxer d'intercanvi de %s" #: ../memline.c:839 msgid "Enter number of swap file to use (0 to quit): " -msgstr "Entreu el número del fitxer d'intercanvi a utilitzar (0 per sortir): " +msgstr "Entreu el número del fitxer .swp a utilitzar (0 per a sortir): " #: ../memline.c:879 #, c-format @@ -3807,6 +3805,30 @@ msgstr "E308: Atenció: El fitxer original pot haver canviat" #: ../memline.c:1061 #, c-format +msgid "Swap file is encrypted: \"%s\"" +msgstr "El fitxer d'intercanvi està xifrat: \"%s\"" + +msgid "" +"\n" +"If you entered a new crypt key but did not write the text file," +msgstr "\nSi vau entrar una nova clau de xifrat però no vau desar el fitxer," + +msgid "" +"\n" +"enter the new crypt key." +msgstr "\nentreu la nova clau." + +msgid "" +"\n" +"If you wrote the text file after changing the crypt key press enter" +msgstr "\nSi vau desar el fitxer després de canviar la clau, premeu Entrar per a" + +msgid "" +"\n" +"to use the same key for text file and swap file" +msgstr "\nusar la mateixa clau per al fitxer de text i per al fitxer d'intercanvi." + +#, c-format msgid "E309: Unable to read block 1 from %s" msgstr "E309: No s'ha pogut llegir el bloc 1 de %s" @@ -3931,7 +3953,7 @@ msgstr " [del Vim versió 3.0]" #: ../memline.c:1550 msgid " [does not look like a Vim swap file]" -msgstr " [no sembla un fitxer d'intercanvi de Vim]" +msgstr " [no sembla un fitxer .swp de Vim]" #: ../memline.c:1552 msgid " file name: " @@ -4003,7 +4025,7 @@ msgstr " [no es pot obrir]" #: ../memline.c:1698 msgid "E313: Cannot preserve, there is no swap file" -msgstr "E313: No s'ha pogut preservar, no hi ha fitxer d'intercanvi" +msgstr "E313: No s'ha pogut preservar, no existeix cap fitxer d'intercanvi" #: ../memline.c:1747 msgid "File preserved" @@ -4025,7 +4047,7 @@ msgstr "E316: ml_get: no s'ha trobat la línia %<PRId64>" #: ../memline.c:2236 msgid "E317: pointer block id wrong 3" -msgstr "E317: Punter a la id d'un bloc incorrecte 3" +msgstr "E317: punter a id de bloc incorrecte 3" #: ../memline.c:2311 msgid "stack_idx should be 0" @@ -4037,7 +4059,7 @@ msgstr "E318: S'han actualitzat massa blocs?" #: ../memline.c:2511 msgid "E317: pointer block id wrong 4" -msgstr "E317: Punter a la id d'un bloc incorrecte 4" +msgstr "E317: Punter a id de bloc incorrecte 4" #: ../memline.c:2536 msgid "deleted block 1?" @@ -4087,9 +4109,7 @@ msgstr "E325: ATENCIÓ" msgid "" "\n" "Found a swap file by the name \"" -msgstr "" -"\n" -"S'ha trobat un fitxer d'intercanvi de nom \"" +msgstr "\nS'ha trobat un fitxer d'intercanvi amb nom \"" #: ../memline.c:3226 msgid "While opening file \"" @@ -4134,7 +4154,7 @@ msgid "" " to recover the changes (see \":help recovery\").\n" msgstr "" "\"\n" -" per recuperar els canvis (vegeu \":help recovery\").\n" +" per a recuperar els canvis (vegeu \":help recovery\").\n" #: ../memline.c:3250 msgid " If you did this already, delete the swap file \"" @@ -4146,7 +4166,7 @@ msgid "" " to avoid this message.\n" msgstr "" "\"\n" -" per evitar aquest missatge.\n" +" per a evitar aquest missatge.\n" #: ../memline.c:3450 ../memline.c:3452 msgid "Swap file \"" @@ -4172,7 +4192,7 @@ msgid "" "&Quit\n" "&Abort" msgstr "" -"&Obrir només-lectura\n" +"&Obrir amb només lectura\n" "&Editar igualment\n" "&Recuperar\n" "&Sortir\n" @@ -4840,7 +4860,7 @@ msgstr "E377: %%%c no vàlid a la cadena de format" #. nothing found #: ../quickfix.c:477 msgid "E378: 'errorformat' contains no pattern" -msgstr "E378: L'opció 'errorformat' no conté cap patró" +msgstr "E378: 'errorformat' no conté cap patró" #: ../quickfix.c:695 msgid "E379: Missing or empty directory name" @@ -5234,7 +5254,7 @@ msgstr "S'han trobat tots els fitxers inclosos" #: ../search.c:4519 msgid "No included files" -msgstr "No hi han fitxers inclosos" +msgstr "No hi ha fitxers inclosos" #: ../search.c:4527 msgid "E388: Couldn't find definition" @@ -5605,7 +5625,7 @@ msgstr "Escrivint el fitxer de suggeriments %s ..." #: ../spell.c:7707 ../spell.c:7927 #, c-format msgid "Estimated runtime memory use: %d bytes" -msgstr "Ús estimat de memòria en funcionament: %d octets" +msgstr "Ús estimat de memòria durant l'execució: %d octets" #: ../spell.c:7820 msgid "E751: Output file name must not have region name" @@ -5622,7 +5642,7 @@ msgstr "E755: Regió no vàlida a %s" #: ../spell.c:7907 msgid "Warning: both compounding and NOBREAK specified" -msgstr "Atenció: heu especificat composició i NOBREAK alhora" +msgstr "Atenció: s'ha especificat composició i NOBREAK alhora" #: ../spell.c:7920 #, c-format @@ -6373,7 +6393,7 @@ msgstr " alternativa per a $VIM: \"" # 29 caràcters fins el ":" (inclòs) #: ../version.c:705 msgid " f-b for $VIMRUNTIME: \"" -msgstr " alt per a $VIMRUNTIME: \"" +msgstr " altern. per a $VIMRUNTIME: \"" #: ../version.c:709 msgid "Compilation: " @@ -6401,7 +6421,7 @@ msgstr "per Bram Moolenaar et al." #: ../version.c:774 msgid "Vim is open source and freely distributable" -msgstr "Vim és un programa obert i lliure distribució" +msgstr "Vim és un programa obert i de lliure distribució" #: ../version.c:776 msgid "Help poor children in Uganda!" diff --git a/src/nvim/po/de.po b/src/nvim/po/de.po index f04d3be4b4..3986a796d8 100644 --- a/src/nvim/po/de.po +++ b/src/nvim/po/de.po @@ -12,7 +12,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-06-26 15:13+0200\n" "PO-Revision-Date: 2008-05-24 17:26+0200\n" -"Last-Translator: Georg Dahn <georg.dahn@gmail.com>\n" +"Last-Translator: was: Georg Dahn\n" "Language-Team: German <de@li.org>\n" "Language: de\n" "MIME-Version: 1.0\n" @@ -377,7 +377,7 @@ msgstr " Definitions-Ergänzung (^D^N^P)" #: ../edit.c:92 msgid " Dictionary completion (^K^N^P)" -msgstr " Wörterbuch-Ergänzung (^K^N^P) " +msgstr " Dictionary-Ergänzung (^K^N^P) " #: ../edit.c:93 msgid " Thesaurus completion (^T^N^P)" @@ -401,7 +401,7 @@ msgstr " Vorschlag der Rechtschreibprüfung (s^N^P)" #: ../edit.c:98 msgid " Keyword Local completion (^N^P)" -msgstr " Lokale Schlüsselwort-Ergänzung(^N^P)" +msgstr " Lokale Stichwort-Ergänzung(^N^P)" #: ../edit.c:101 msgid "Hit end of paragraph" @@ -443,7 +443,7 @@ msgstr "Durchsuche: %s" #: ../edit.c:3513 msgid "Scanning tags." -msgstr "Durchsuchen von Tags." +msgstr "Durchsuche Tags" #: ../edit.c:4418 msgid " Adding" @@ -633,6 +633,9 @@ msgstr "" #: ../ex_cmds.c:2433 #, c-format +msgid "Pattern not found: %s" +msgstr "Muster nicht gefunden: %s" + msgid "" "File permissions of \"%s\" are read-only.\n" "It may still be possible to write it.\n" @@ -713,11 +716,6 @@ msgstr "E148: Regulärer Ausdruck fehlt in global" msgid "Pattern found in every line: %s" msgstr "Muster in jeder Zeile gefunden: %s" -#: ../ex_cmds.c:4504 -#, c-format -msgid "Pattern not found: %s" -msgstr "Muster nicht gefunden: %s" - #: ../ex_cmds.c:4581 msgid "" "\n" @@ -6488,7 +6486,7 @@ msgid "" "\tLast set from " msgstr "" "\n" -"\tZuletzt gesetzt von " +"\tZuletzt gesetzt in " #: ../eval.c:18682 msgid "No old files" diff --git a/src/nvim/po/eo.po b/src/nvim/po/eo.po index 3fb300c63f..cc0893de3a 100644 --- a/src/nvim/po/eo.po +++ b/src/nvim/po/eo.po @@ -13,18 +13,12 @@ # Komputeko: http://komputeko.net/index_eo.php # Komputada leksikono: http://bertilow.com/div/komputada_leksikono/ # -# Lasta versio: -# http://dominique.pelle.free.fr/vim-eo.php -# -# Ĉiu komento estas bonvenata... -# Every remark is welcome... -# msgid "" msgstr "" "Project-Id-Version: Vim(Esperanto)\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-16 00:30+0100\n" -"PO-Revision-Date: 2017-01-16 01:14+0100\n" +"POT-Creation-Date: 2017-10-02 22:42+0200\n" +"PO-Revision-Date: 2017-10-02 22:57+0200\n" "Last-Translator: Dominique PELLÉ <dominique.pelle@gmail.com>\n" "Language-Team: \n" "Language: eo\n" @@ -105,7 +99,6 @@ msgstr "E90: Ne eblas malÅargi la lastan bufron" msgid "E84: No modified buffer found" msgstr "E84: Neniu modifita bufro trovita" -#. back where we started, didn't find anything. msgid "E85: There is no listed buffer" msgstr "E85: Estas neniu listigita bufro" @@ -121,6 +114,18 @@ msgstr "" "E89: Neniu skribo de post la lasta ÅanÄo de la bufro %ld (aldonu ! por " "transpasi)" +msgid "E948: Job still running (add ! to end the job)" +msgstr "E948: Tasko akoraÅ aktiva (aldonu ! por fini la taskon)" + +msgid "E37: No write since last change (add ! to override)" +msgstr "E37: Neniu skribo de post lasta ÅanÄo (aldonu ! por transpasi)" + +msgid "E948: Job still running" +msgstr "E948: Tasko ankoraÅ aktiva" + +msgid "E37: No write since last change" +msgstr "E37: Neniu skribo de post lasta ÅanÄo" + msgid "W14: Warning: List of file names overflow" msgstr "W14: Averto: Listo de dosiernomoj troas" @@ -176,7 +181,6 @@ msgstr "linio %ld de %ld --%d%%-- kol " msgid "[No Name]" msgstr "[Neniu nomo]" -#. must be a help buffer msgid "help" msgstr "helpo" @@ -202,6 +206,9 @@ msgstr "" "\n" "# Listo de bufroj:\n" +msgid "E382: Cannot write, 'buftype' option is set" +msgstr "E382: Ne eblas skribi, opcio 'buftype' estas Åaltita" + msgid "[Scratch]" msgstr "[Malneto]" @@ -369,7 +376,6 @@ msgstr "E791: Malplena rikordo en klavmapo" msgid " Keyword completion (^N^P)" msgstr " Kompletigo de Ålosilvorto (^N^P)" -#. ctrl_x_mode == 0, ^P/^N compl. msgid " ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)" msgstr " ReÄimo ^X (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)" @@ -442,13 +448,12 @@ msgstr "Analizas: %s" msgid "Scanning tags." msgstr "Analizas etikedojn." +msgid "match in file" +msgstr "kongruo en dosiero" + msgid " Adding" msgstr " Aldonanta" -#. showmode might reset the internal line pointers, so it must -#. * be called before line = ml_get(), or when this address is no -#. * longer needed. -- Acevedo. -#. msgid "-- Searching..." msgstr "-- Serĉanta..." @@ -469,7 +474,6 @@ msgstr "kongruo %d de %d" msgid "match %d" msgstr "kongruo %d" -#. maximum nesting of lists and dicts msgid "E18: Unexpected characters in :let" msgstr "E18: Neatenditaj signoj en \":let\"" @@ -523,17 +527,21 @@ msgid "E711: List value has not enough items" msgstr "E711: Lista valoro ne havas sufiĉe da eroj" msgid "E690: Missing \"in\" after :for" -msgstr "E690: \"in\" mankas post \":for\"" +msgstr "E690: \"in\" mankas malantaÅ \":for\"" #, c-format msgid "E108: No such variable: \"%s\"" msgstr "E108: Ne estas tia variablo: \"%s\"" +#, c-format +msgid "E940: Cannot lock or unlock variable %s" +msgstr "E940: Ne eblas Ålosi aÅ malÅlosi variablon %s" + msgid "E743: variable nested too deep for (un)lock" -msgstr "E743: variablo ingita tro profunde por malÅlosi" +msgstr "E743: variablo ingita tro profunde por (mal)Ålosi" msgid "E109: Missing ':' after '?'" -msgstr "E109: Mankas ':' post '?'" +msgstr "E109: Mankas ':' malantaÅ '?'" msgid "E691: Can only compare List with List" msgstr "E691: Eblas nur kompari Liston kun Listo" @@ -697,21 +705,10 @@ msgstr "argumento de add()" msgid "E785: complete() can only be used in Insert mode" msgstr "E785: complete() uzeblas nur en Enmeta reÄimo" -#. -#. * Yes this is ugly, I don't particularly like it either. But doing it -#. * this way has the compelling advantage that translations need not to -#. * be touched at all. See below what 'ok' and 'ync' are used for. -#. msgid "&Ok" msgstr "&Bone" #, c-format -msgid "+-%s%3ld line: " -msgid_plural "+-%s%3ld lines: " -msgstr[0] "+-%s%3ld linio: " -msgstr[1] "+-%s%3ld linioj: " - -#, c-format msgid "E700: Unknown function: %s" msgstr "E700: Nekonata funkcio: %s" @@ -756,8 +753,8 @@ msgstr "E727: Komenco preter fino" msgid "<empty>" msgstr "<malplena>" -msgid "E240: No connection to Vim server" -msgstr "E240: Neniu konekto al Vim-servilo" +msgid "E240: No connection to the X server" +msgstr "E240: Neniu konekto al X-servilo" #, c-format msgid "E241: Unable to send to %s" @@ -766,6 +763,12 @@ msgstr "E241: Ne eblas sendi al %s" msgid "E277: Unable to read a server reply" msgstr "E277: Ne eblas legi respondon de servilo" +msgid "E941: already started a server" +msgstr "E941: servilo jam lanĉita" + +msgid "E942: +clientserver feature not available" +msgstr "E942: la eblo +clientserver ne disponeblas" + msgid "remove() argument" msgstr "argumento de remove()" @@ -862,7 +865,6 @@ msgstr " malnovaj dosieroj" msgid " FAILED" msgstr " MALSUKCESIS" -#. avoid a wait_return for this message, it's annoying #, c-format msgid "E137: Viminfo file is not writable: %s" msgstr "E137: Dosiero viminfo ne skribeblas: %s" @@ -883,7 +885,6 @@ msgstr "Skribas dosieron viminfo \"%s\"" msgid "E886: Can't rename viminfo file to %s!" msgstr "E886: Ne eblas renomi dosieron viminfo al %s!" -#. Write the info: #, c-format msgid "# This viminfo file was generated by Vim %s.\n" msgstr "# Tiu dosiero viminfo estis kreita de Vim %s.\n" @@ -1002,8 +1003,8 @@ msgstr " en 1 linio" msgid " on %ld lines" msgstr " en %ld linioj" -msgid "E147: Cannot do :global recursive" -msgstr "E147: Ne eblas fari \":global\" rekursie" +msgid "E147: Cannot do :global recursive with a range" +msgstr "E147: Ne eblas fari \":global\" rekursie kun amplekso" # DP: global estas por ":global" do mi ne tradukis Äin msgid "E148: Regular expression missing from global" @@ -1154,8 +1155,9 @@ msgstr "E750: Uzu unue \":profile start {dosiernomo}\"" msgid "Save changes to \"%s\"?" msgstr "Ĉu konservi ÅanÄojn al \"%s\"?" -msgid "Untitled" -msgstr "Sen titolo" +#, c-format +msgid "E947: Job still running in buffer \"%s\"" +msgstr "E947: Tasko ankoraÅ aktiva en la bufro \"%s\"" #, c-format msgid "E162: No write since last change for buffer \"%s\"" @@ -1189,6 +1191,14 @@ msgstr "Serĉado de \"%s\"" msgid "not found in '%s': \"%s\"" msgstr "ne trovita en '%s: \"%s\"" +#, c-format +msgid "W20: Required python version 2.x not supported, ignoring file: %s" +msgstr "W20: Pitono versio 2.x bezonata sed nesubtenata, ignoro de dosiero: %s" + +#, c-format +msgid "W21: Required python version 3.x not supported, ignoring file: %s" +msgstr "W21: pitono versio 3.x bezonata sed nesubtenata, ignoro de dosiero: %s" + msgid "Source Vim script" msgstr "Ruli Vim-skripton" @@ -1286,6 +1296,9 @@ msgstr "Inversa amplekso donita, permuteblas" msgid "E494: Use w or w>>" msgstr "E494: Uzu w aÅ w>>" +msgid "E943: Command table needs to be updated, run 'make cmdidxs'" +msgstr "E943: Tabulo de komandoj estas Äisdatigenda, lanĉu 'make cmdidx'" + msgid "E319: Sorry, the command is not available in this version" msgstr "E319: BedaÅrinde, tiu komando ne haveblas en tiu versio" @@ -1451,7 +1464,6 @@ msgstr "E189: \"%s\" ekzistas (aldonu ! por transpasi)" msgid "E190: Cannot open \"%s\" for writing" msgstr "E190: Ne eblas malfermi \"%s\" por skribi" -#. set mark msgid "E191: Argument must be a letter or forward/backward quote" msgstr "E191: Argumento devas esti litero, citilo aÅ retrocitilo" @@ -1493,13 +1505,15 @@ msgstr "E500: Liveras malplenan ĉenon" msgid "E195: Cannot open viminfo file for reading" msgstr "E195: Ne eblas malfermi dosieron viminfo en lega reÄimo" +msgid "Untitled" +msgstr "Sen titolo" + msgid "E196: No digraphs in this version" msgstr "E196: Neniu duliteraĵo en tiu versio" msgid "E608: Cannot :throw exceptions with 'Vim' prefix" msgstr "E608: Ne eblas lanĉi (:throw) escepton kun prefikso 'Vim'" -#. always scroll up, don't overwrite #, c-format msgid "Exception thrown: %s" msgstr "Escepto lanĉita: %s" @@ -1516,7 +1530,6 @@ msgstr "Escepto ne konservita: %s" msgid "%s, line %ld" msgstr "%s, linio %ld" -#. always scroll up, don't overwrite #, c-format msgid "Exception caught: %s" msgstr "Kaptis escepton: %s" @@ -1542,7 +1555,6 @@ msgstr "Eraro kaj interrompo" msgid "Error" msgstr "Eraro" -#. if (pending & CSTP_INTERRUPT) msgid "Interrupt" msgstr "Interrompo" @@ -1562,7 +1574,7 @@ msgid "E583: multiple :else" msgstr "E583: pluraj \":else\"" msgid "E584: :elseif after :else" -msgstr "E584: \":elseif\" post \":else\"" +msgstr "E584: \":elseif\" malantaÅ \":else\"" msgid "E585: :while/:for nesting too deep" msgstr "E585: \":while/:for\" ingita tro profunde" @@ -1585,15 +1597,12 @@ msgstr "E601: \":try\" ingita tro profunde" msgid "E603: :catch without :try" msgstr "E603: \":catch\" sen \":try\"" -#. Give up for a ":catch" after ":finally" and ignore it. -#. * Just parse. msgid "E604: :catch after :finally" -msgstr "E604: \":catch\" post \":finally\"" +msgstr "E604: \":catch\" malantaÅ \":finally\"" msgid "E606: :finally without :try" msgstr "E606: \":finally\" sen \":try\"" -#. Give up for a multiple ":finally" and ignore it. msgid "E607: multiple :finally" msgstr "E607: pluraj \":finally\"" @@ -1686,7 +1695,6 @@ msgstr "Vim: Legado el stdin...\n" msgid "Reading from stdin..." msgstr "Legado el stdin..." -#. Re-opening the original file failed! msgid "E202: Conversion made file unreadable!" msgstr "E202: Konverto igis la dosieron nelegebla!" @@ -1892,9 +1900,6 @@ msgstr "[sen EOL]" msgid "[Incomplete last line]" msgstr "[Nekompleta lasta linio]" -#. don't overwrite messages here -#. must give this prompt -#. don't use emsg() here, don't want to flush the buffers msgid "WARNING: The file has been changed since reading it!!!" msgstr "AVERTO: La dosiero estas ÅanÄita de post kiam Äi estis legita!!!" @@ -1973,7 +1978,6 @@ msgstr "--ForviÅita--" msgid "auto-removing autocommand: %s <buffer=%d>" msgstr "aÅto-forviÅas aÅtokomandon: %s <bufro=%d>" -#. the group doesn't exist #, c-format msgid "E367: No such group: \"%s\"" msgstr "E367: Ne ekzistas tia grupo: \"%s\"" @@ -1986,7 +1990,7 @@ msgstr "W19: ForviÅo de augroup kiu estas ankoraÅ uzata" #, c-format msgid "E215: Illegal character after *: %s" -msgstr "E215: Nevalida signo post *: %s" +msgstr "E215: Nevalida signo malantaÅ *: %s" #, c-format msgid "E216: No such event: %s" @@ -1996,7 +2000,6 @@ msgstr "E216: Ne estas tia evento: %s" msgid "E216: No such group or event: %s" msgstr "E216: Ne ekzistas tia grupo aÅ evento: %s" -#. Highlight title msgid "" "\n" "--- Auto-Commands ---" @@ -2044,12 +2047,6 @@ msgstr "E350: Ne eblas krei faldon per la aktuala 'foldmethod'" msgid "E351: Cannot delete fold with current 'foldmethod'" msgstr "E351: Ne eblas forviÅi faldon per la aktuala 'foldmethod'" -#, c-format -msgid "+--%3ld line folded " -msgid_plural "+--%3ld lines folded " -msgstr[0] "+--%3ld linio faldita " -msgstr[1] "+--%3ld linioj falditaj " - msgid "E222: Add to read buffer" msgstr "E222: Aldoni al lega bufro" @@ -2186,18 +2183,15 @@ msgstr "Serĉi kion:" msgid "Replace with:" msgstr "AnstataÅigi per:" -#. whole word only button msgid "Match whole word only" msgstr "Kongrui kun nur plena vorto" -#. match case button msgid "Match case" msgstr "Uskleca kongruo" msgid "Direction" msgstr "Direkto" -#. 'Up' and 'Down' buttons msgid "Up" msgstr "Supren" @@ -2276,8 +2270,6 @@ msgstr "Trovi ĉenon (uzu '\\\\' por trovi '\\')" msgid "Find & Replace (use '\\\\' to find a '\\')" msgstr "Trovi kaj anstataÅigi (uzu '\\\\' por trovi '\\')" -#. We fake this: Use a filter that doesn't select anything and a default -#. * file name that won't be used. msgid "Not Used" msgstr "Ne uzata" @@ -2351,7 +2343,6 @@ msgstr "Vim - Elektilo de tiparo" msgid "Name:" msgstr "Nomo:" -#. create toggle button msgid "Show size in Points" msgstr "Montri grandon en punktoj" @@ -2597,7 +2588,6 @@ msgstr "E261: konekto cscope %s netrovita" msgid "cscope connection %s closed" msgstr "konekto cscope %s fermita" -#. should not reach here msgid "E570: fatal error in cs_manage_matches" msgstr "E570: neriparebla eraro en cs_manage_matches" @@ -2759,7 +2749,6 @@ msgstr "nevalida numero de bufro" msgid "not implemented yet" msgstr "ankoraÅ ne realigita" -#. ??? msgid "cannot set line(s)" msgstr "ne eblas meti la linio(j)n" @@ -2800,7 +2789,6 @@ msgid "" msgstr "" "ne eblas registri postalvokan komandon: bufro/fenestro estas jam forviÅiÄanta" -#. This should never happen. Famous last word? msgid "" "E280: TCL FATAL ERROR: reflist corrupt!? Please report this to vim-dev@vim." "org" @@ -2859,10 +2847,10 @@ msgid "Too many edit arguments" msgstr "Tro da argumentoj de redakto" msgid "Argument missing after" -msgstr "Argumento mankas post" +msgstr "Argumento mankas malantaÅ" msgid "Garbage after option argument" -msgstr "Forĵetindaĵo post argumento de opcio" +msgstr "Forĵetindaĵo malantaÅ argumento de opcio" msgid "Too many \"+command\", \"-c command\" or \"--cmd command\" arguments" msgstr "Tro da argumentoj \"+komando\", \"-c komando\" aÅ \"--cmd komando\"" @@ -2904,7 +2892,6 @@ msgstr "Vim: Averto: Eligo ne estas al terminalo\n" msgid "Vim: Warning: Input is not from a terminal\n" msgstr "Vim: Averto: Enigo ne estas el terminalo\n" -#. just in case.. msgid "pre-vimrc command line" msgstr "komanda linio pre-vimrc" @@ -2968,7 +2955,7 @@ msgstr "" "Argumentoj:\n" msgid "--\t\t\tOnly file names after this" -msgstr "--\t\t\tNur dosiernomoj post tio" +msgstr "--\t\t\tNur dosiernomoj malantaÅ tio" msgid "--literal\t\tDon't expand wildcards" msgstr "--literal\t\tNe malvolvi ĵokerojn" @@ -3069,8 +3056,7 @@ msgstr "" "--not-a-term\t\tPreterpasi averton por enigo/eligo, kiu ne estas terminalo" msgid "--ttyfail\t\tExit if input or output is not a terminal" -msgstr "" -"--ttyfail\t\tEliri se le eniro aÅ eliro ne estas terminalo" +msgstr "--ttyfail\t\tEliri se la eniro aÅ eliro ne estas terminalo" msgid "-u <vimrc>\t\tUse <vimrc> instead of any .vimrc" msgstr "-u <vimrc>\t\tUzi <vimrc> anstataÅ iun ajn .vimrc" @@ -3171,6 +3157,9 @@ msgstr "" msgid "-i <viminfo>\t\tUse <viminfo> instead of .viminfo" msgstr "-i <viminfo>\t\tUzi <viminfo> anstataÅ .viminfo" +msgid "--clean\t\t'nocompatible', Vim defaults, no plugins, no viminfo" +msgstr "--clean\t\t'nocompatible', defaÅltaj agordoj de Vim, neniu viminfo" + msgid "-h or --help\tPrint Help (this message) and exit" msgstr "-h aÅ --help\tAfiÅi Helpon (tiun mesaÄon) kaj eliri" @@ -3271,11 +3260,9 @@ msgstr "--windowid <HWND>\tMalfermi Vim en alia win32 fenestraĵo" msgid "No display" msgstr "Neniu ekrano" -#. Failed to send, abort. msgid ": Send failed.\n" msgstr ": Sendo malsukcesis.\n" -#. Let vim start normally. msgid ": Send failed. Trying to execute locally\n" msgstr ": Sendo malsukcesis. Provo de loka plenumo\n" @@ -3296,7 +3283,6 @@ msgstr "Neniu marko" msgid "E283: No marks matching \"%s\"" msgstr "E283: Neniu marko kongruas kun \"%s\"" -#. Highlight title msgid "" "\n" "mark line col file/text" @@ -3304,7 +3290,6 @@ msgstr "" "\n" "mark linio kol dosiero/teksto" -#. Highlight title msgid "" "\n" " jump line col file/text" @@ -3312,7 +3297,6 @@ msgstr "" "\n" " salt linio kol dosiero/teksto" -#. Highlight title msgid "" "\n" "change line col text" @@ -3327,7 +3311,6 @@ msgstr "" "\n" "# Markoj de dosiero:\n" -#. Write the jumplist with -' msgid "" "\n" "# Jumplist (newest first):\n" @@ -3397,7 +3380,6 @@ msgstr "E298: Ĉu ne akiris blokon n-ro 2?" msgid "E843: Error while updating swap file crypt" msgstr "E843: Eraro dum Äisdatigo de ĉifrada permutodosiero .swp" -#. could not (re)open the swap file, what can we do???? msgid "E301: Oops, lost the swap file!!!" msgstr "E301: Ve, perdis la permutodosieron .swp!!!" @@ -3581,7 +3563,6 @@ msgid "Using crypt key from swap file for the text file.\n" msgstr "" "Uzas Ålosilon de ĉifrado el permuto dosiero .swp por la teksta dosiero.\n" -#. use msg() to start the scrolling properly msgid "Swap files found:" msgstr "Permutodosiero .swp trovita:" @@ -3751,8 +3732,6 @@ msgstr "Dum malfermo de dosiero \"" msgid " NEWER than swap file!\n" msgstr " PLI NOVA ol permutodosiero .swp!\n" -#. Some of these messages are long to allow translation to -#. * other languages. msgid "" "\n" "(1) Another program may be editing the same file. If this is the case,\n" @@ -3842,7 +3821,6 @@ msgstr "E328: Menuo nur ekzistas en alia reÄimo" msgid "E329: No menu \"%s\"" msgstr "E329: Neniu menuo \"%s\"" -#. Only a mnemonic or accelerator is not valid. msgid "E792: Empty menu name" msgstr "E792: Malplena nomo de menuo" @@ -3855,8 +3833,6 @@ msgstr "E331: Aldono de menueroj direkte al menuzono estas malpermesita" msgid "E332: Separator cannot be part of a menu path" msgstr "E332: Disigilo ne rajtas esti ero de vojo de menuo" -#. Now we have found the matching menu, and we list the mappings -#. Highlight title msgid "" "\n" "--- Menus ---" @@ -3867,6 +3843,10 @@ msgstr "" msgid "Tear off this menu" msgstr "Disigi tiun menuon" +#, c-format +msgid "E335: Menu not defined for %s mode" +msgstr "E335: Menuo ne estas difinita por reÄimo %s" + msgid "E333: Menu path must lead to a menu item" msgstr "E333: Vojo de menuo devas konduki al menuero" @@ -3874,10 +3854,6 @@ msgstr "E333: Vojo de menuo devas konduki al menuero" msgid "E334: Menu not found: %s" msgstr "E334: Menuo netrovita: %s" -#, c-format -msgid "E335: Menu not defined for %s mode" -msgstr "E335: Menuo ne estas difinita por reÄimo %s" - msgid "E336: Menu path must lead to a sub-menu" msgstr "E336: Vojo de menuo devas konduki al sub-menuo" @@ -3949,7 +3925,6 @@ msgstr "Dialogujo de dosiera konservo" msgid "Open File dialog" msgstr "Dialogujo de dosiera malfermo" -#. TODO: non-GUI file selector here msgid "E338: Sorry, no file browser in console mode" msgstr "E338: BedaÅrinde ne estas dosierfoliumilo en konzola reÄimo" @@ -4116,8 +4091,10 @@ msgstr "E662: Ĉe komenco de ÅanÄlisto" msgid "E663: At end of changelist" msgstr "E663: Ĉe fino de ÅanÄlisto" -msgid "Type :quit<Enter> to exit Vim" -msgstr "Tajpu \":quit<Enenklavo>\" por eliri el Vim" +msgid "Type :qa! and press <Enter> to abandon all changes and exit Vim" +msgstr "" +"Tajpu :qa! kaj premu <Enenklavon> por forlasi ĉiujn ÅanÄojn kaj eliri el " +"Vim" #, c-format msgid "1 line %sed 1 time" @@ -4149,7 +4126,6 @@ msgstr "%ld linioj krommarÄenitaj " msgid "E748: No previously used register" msgstr "E748: Neniu reÄistro antaÅe uzata" -#. must display the prompt msgid "cannot yank; delete anyway" msgstr "ne eblas kopii; tamen forviÅi" @@ -4164,25 +4140,30 @@ msgstr "%ld linioj ÅanÄitaj" msgid "freeing %ld lines" msgstr "malokupas %ld liniojn" -msgid "block of 1 line yanked" -msgstr "bloko de 1 linio kopiita" +#, c-format +msgid " into \"%c" +msgstr " en \"%c" -msgid "1 line yanked" -msgstr "1 linio kopiita" +#, c-format +msgid "block of 1 line yanked%s" +msgstr "bloko de 1 linio kopiita%s" #, c-format -msgid "block of %ld lines yanked" -msgstr "bloko de %ld linioj kopiita" +msgid "1 line yanked%s" +msgstr "1 linio kopiita%s" #, c-format -msgid "%ld lines yanked" -msgstr "%ld linioj kopiitaj" +msgid "block of %ld lines yanked%s" +msgstr "bloko de %ld linioj kopiita%s" + +#, c-format +msgid "%ld lines yanked%s" +msgstr "%ld linioj kopiitaj%s" #, c-format msgid "E353: Nothing in register %s" msgstr "E353: Nenio en reÄistro %s" -#. Highlight title msgid "" "\n" "--- Registers ---" @@ -4243,9 +4224,6 @@ msgstr "" msgid "(+%ld for BOM)" msgstr "(+%ld por BOM)" -msgid "%<%f%h%m%=Page %N" -msgstr "%<%f%h%m%=Folio %N" - msgid "Thanks for flying Vim" msgstr "Dankon pro flugi per Vim" @@ -4262,7 +4240,7 @@ msgid "E846: Key code not set" msgstr "E846: Klavkodo ne agordita" msgid "E521: Number required after =" -msgstr "E521: Nombro bezonata post =" +msgstr "E521: Nombro bezonata malantaÅ =" msgid "E522: Not found in termcap" msgstr "E522: Netrovita en termcap" @@ -4304,7 +4282,7 @@ msgstr "E525: Ĉeno de nula longo" #, c-format msgid "E526: Missing number after <%s>" -msgstr "E526: Mankas nombro post <%s>" +msgstr "E526: Mankas nombro malantaÅ <%s>" msgid "E527: Missing comma" msgstr "E527: Mankas komo" @@ -4332,7 +4310,7 @@ msgstr "E534: Nevalida larÄa tiparo" #, c-format msgid "E535: Illegal character after <%c>" -msgstr "E535: Nevalida signo post <%c>" +msgstr "E535: Nevalida signo malantaÅ <%c>" msgid "E536: comma required" msgstr "E536: komo bezonata" @@ -4353,6 +4331,9 @@ msgstr "E541: tro da elementoj" msgid "E542: unbalanced groups" msgstr "E542: misekvilibraj grupoj" +msgid "E946: Cannot make a terminal with running job modifiable" +msgstr "E946: Ne eblas igi modifebla terminalon kun aktiva tasko" + msgid "E590: A preview window already exists" msgstr "E590: AntaÅvida fenestro jam ekzistas" @@ -4371,9 +4352,6 @@ msgstr "E594: Bezonas almenaÅ %d kolumnojn" msgid "E355: Unknown option: %s" msgstr "E355: Nekonata opcio: %s" -#. There's another character after zeros or the string -#. * is empty. In both cases, we are trying to set a -#. * num option using a string. #, c-format msgid "E521: Number required: &%s = '%s'" msgstr "E521: Nombro bezonata: &%s = '%s'" @@ -4415,7 +4393,7 @@ msgstr "E357: 'langmap': Kongrua signo mankas por %s" #, c-format msgid "E358: 'langmap': Extra characters after semicolon: %s" -msgstr "E358: 'langmap': Ekstraj signoj post punktokomo: %s" +msgstr "E358: 'langmap': Ekstraj signoj malantaÅ punktokomo: %s" msgid "cannot open " msgstr "ne eblas malfermi " @@ -4446,7 +4424,6 @@ msgstr "ne eblas ÅanÄi reÄimon de konzolo?!\n" msgid "mch_get_shellsize: not a console??\n" msgstr "mch_get_shellsize: ne estas konzolo??\n" -#. if Vim opened a window: Executing a shell may cause crashes msgid "E360: Cannot execute shell with -f option" msgstr "E360: Ne eblas plenumi Åelon kun opcio -f" @@ -4672,7 +4649,6 @@ msgstr "E376: Nevalida %%%c en prefikso de formata ĉeno" msgid "E377: Invalid %%%c in format string" msgstr "E377: Nevalida %%%c en formata ĉeno" -#. nothing found msgid "E378: 'errorformat' contains no pattern" msgstr "E378: 'errorformat' enhavas neniun Åablonon" @@ -4711,9 +4687,6 @@ msgstr "E381: Ĉe la supro de stako de rapidriparo" msgid "No entries" msgstr "Neniu ano" -msgid "E382: Cannot write, 'buftype' option is set" -msgstr "E382: Ne eblas skribi, opcio 'buftype' estas Åaltita" - msgid "Error file" msgstr "Erara Dosiero" @@ -4736,7 +4709,13 @@ msgstr "E369: nevalida ano en %s%%[]" #, c-format msgid "E769: Missing ] after %s[" -msgstr "E769: Mankas ] post %s[" +msgstr "E769: Mankas ] malantaÅ %s[" + +msgid "E944: Reverse range in character class" +msgstr "E944: Inversa amplekso en klaso de signoj" + +msgid "E945: Range too large in character class" +msgstr "E945: tro larga amplekso de klaso de signoj" #, c-format msgid "E53: Unmatched %s%%(" @@ -4759,12 +4738,15 @@ msgstr "E67: \\z1 kaj aliaj estas nepermeseblaj tie" #, c-format msgid "E69: Missing ] after %s%%[" -msgstr "E69: Mankas ] post %s%%[" +msgstr "E69: Mankas ] malantaÅ %s%%[" #, c-format msgid "E70: Empty %s%%[]" msgstr "E70: Malplena %s%%[]" +msgid "E65: Illegal back reference" +msgstr "E65: Nevalida retro-referenco" + msgid "E339: Pattern too long" msgstr "E339: Åœablono tro longa" @@ -4780,7 +4762,7 @@ msgstr "E52: Neekvilibra \\z(" #, c-format msgid "E59: invalid character after %s@" -msgstr "E59: nevalida signo post %s@" +msgstr "E59: nevalida signo malantaÅ %s@" #, c-format msgid "E60: Too many complex %s{...}s" @@ -4801,19 +4783,16 @@ msgstr "E63: nevalida uzo de \\_" msgid "E64: %s%c follows nothing" msgstr "E64: %s%c sekvas nenion" -msgid "E65: Illegal back reference" -msgstr "E65: Nevalida retro-referenco" - msgid "E68: Invalid character after \\z" -msgstr "E68: Nevalida signo post \\z" +msgstr "E68: Nevalida signo malantaÅ \\z" #, c-format msgid "E678: Invalid character after %s%%[dxouU]" -msgstr "E678: Nevalida signo post %s%%[dxouU]" +msgstr "E678: Nevalida signo malantaÅ %s%%[dxouU]" #, c-format msgid "E71: Invalid character after %s%%" -msgstr "E71: Nevalida signo post %s%%" +msgstr "E71: Nevalida signo malantaÅ %s%%" #, c-format msgid "E554: Syntax error in %s{...}" @@ -4845,7 +4824,7 @@ msgstr "E866: (NFA-regulesprimo) Mispoziciigita %c" #, c-format msgid "E877: (NFA regexp) Invalid character class: %ld" -msgstr "E877: (NFA-regulesprimo) Nevalida klaso de signo: %ld" +msgstr "E877: (NFA-regulesprimo) Nevalida klaso de signoj: %ld" #, c-format msgid "E867: (NFA) Unknown operator '\\z%c'" @@ -4855,7 +4834,6 @@ msgstr "E867: (NFA) Nekonata operatoro '\\z%c'" msgid "E867: (NFA) Unknown operator '\\%%%c'" msgstr "E867: (NFA) Nekonata operatoro '\\%%%c'" -#. should never happen msgid "E868: Error building NFA with equivalence class!" msgstr "E868: Eraro dum prekomputado de NFA kun ekvivalentoklaso!" @@ -4866,13 +4844,11 @@ msgstr "E869: (NFA) Nekonata operatoro '\\@%c'" msgid "E870: (NFA regexp) Error reading repetition limits" msgstr "E870: (NFS-regulesprimo) Eraro dum legado de limoj de ripeto" -#. Can't have a multi follow a multi. msgid "E871: (NFA regexp) Can't have a multi follow a multi !" msgstr "" "E871: (NFA-regulesprimo) Ne povas havi mult-selekton tuj post alia mult-" "selekto!" -#. Too many `(' msgid "E872: (NFA regexp) Too many '('" msgstr "E872: (NFA-regulesprimo) tro da '('" @@ -4893,7 +4869,7 @@ msgstr "" "statoj en la staplo" msgid "E876: (NFA regexp) Not enough space to store the whole NFA " -msgstr "E876: (NFA-regulesprimo) ne sufiĉa spaco por enmomorigi la tutan NFA " +msgstr "E876: (NFA-regulesprimo) ne sufiĉa spaco por enmemorigi la tutan NFA " msgid "E878: (NFA) Could not allocate memory for branch traversal!" msgstr "E878: (NFA) Ne povis asigni memoron por traigi branĉojn!" @@ -4975,12 +4951,11 @@ msgid "E385: search hit BOTTOM without match for: %s" msgstr "E385: serĉo atingis SUBON sen trovi: %s" msgid "E386: Expected '?' or '/' after ';'" -msgstr "E386: Atendis '?' aÅ '/' post ';'" +msgstr "E386: Atendis '?' aÅ '/' malantaÅ ';'" msgid " (includes previously listed match)" msgstr " (enhavas antaÅe listigitajn kongruojn)" -#. cursor at status line msgid "--- Included files " msgstr "--- Inkluzivitaj dosieroj " @@ -5057,8 +5032,6 @@ msgstr "BedaÅrinde ne estas sugestoj" msgid "Sorry, only %ld suggestions" msgstr "BedaÅrinde estas nur %ld sugestoj" -#. for when 'cmdheight' > 1 -#. avoid more prompt #, c-format msgid "Change \"%.*s\" to:" msgstr "AnstataÅigi \"%.*s\" per:" @@ -5340,10 +5313,6 @@ msgstr "Densigis %d de %d nodoj; %d (%d%%) restantaj" msgid "Reading back spell file..." msgstr "Relegas la dosieron de literumo..." -#. -#. * Go through the trie of good words, soundfold each word and add it to -#. * the soundfold trie. -#. msgid "Performing soundfolding..." msgstr "Fonetika analizado..." @@ -5398,18 +5367,38 @@ msgstr "Vorto '%.*s' aldonita al %s" msgid "E763: Word characters differ between spell files" msgstr "E763: Signoj de vorto malsamas tra literumaj dosieroj" -#. This should have been checked when generating the .spl -#. * file. msgid "E783: duplicate char in MAP entry" msgstr "E783: ripetita signo en rikordo MAP" msgid "No Syntax items defined for this buffer" msgstr "Neniu sintaksa elemento difinita por tiu bufro" +msgid "syntax conceal on" +msgstr "sintakso de conceal Åaltata" + +msgid "syntax conceal off" +msgstr "sintakso de conceal malÅaltita" + #, c-format msgid "E390: Illegal argument: %s" msgstr "E390: Nevalida argumento: %s" +msgid "syntax case ignore" +msgstr "sintakso ignoras usklecon" + +msgid "syntax case match" +msgstr "sintakso konsideras usklecon" + +msgid "syntax spell toplevel" +msgstr "literumado en teksto sen sintaksa grupo" + +msgid "syntax spell notoplevel" +msgstr "sen literumado en teksto sen sintaksa grupo" + +msgid "syntax spell default" +msgstr "" +"literumado en teksto sen sintaksa grupo, nur se ne estas @Spell aÅ @NoSpell" + msgid "syntax iskeyword " msgstr "sintakso iskeyword " @@ -5491,7 +5480,7 @@ msgstr "E789: Mankas ']': %s" #, c-format msgid "E890: trailing char after ']': %s]%s" -msgstr "E890: vosta signo post ']': %s]%s" +msgstr "E890: vosta signo malantaÅ ']': %s]%s" #, c-format msgid "E398: Missing '=': %s" @@ -5513,7 +5502,7 @@ msgstr "E401: Disigilo de Åablono netrovita: %s" #, c-format msgid "E402: Garbage after pattern: %s" -msgstr "E402: Forĵetindaĵo post Åablono: %s" +msgstr "E402: Forĵetindaĵo malantaÅ Åablono: %s" msgid "E403: syntax sync: line continuations pattern specified twice" msgstr "E403: sintaksa sinkronigo: Åablono de linia daÅrigo specifita dufoje" @@ -5645,7 +5634,6 @@ msgstr "E428: Ne eblas iri preter lastan kongruan etikedon" msgid "File \"%s\" does not exist" msgstr "La dosiero \"%s\" ne ekzistas" -#. Give an indication of the number of matching tags #, c-format msgid "tag %d of %d%s" msgstr "etikedo %d de %d%s" @@ -5660,7 +5648,6 @@ msgstr " Uzo de etikedo kun malsama uskleco!" msgid "E429: File \"%s\" does not exist" msgstr "E429: Dosiero \"%s\" ne ekzistas" -#. Highlight title msgid "" "\n" " # TO tag FROM line in file/text" @@ -5691,7 +5678,6 @@ msgstr "AntaÅ bajto %ld" msgid "E432: Tags file not sorted: %s" msgstr "E432: Etikeda dosiero ne estas ordigita: %s" -#. never opened any tags file msgid "E433: No tags file" msgstr "E433: Neniu etikeda dosiero" @@ -5727,7 +5713,6 @@ msgstr "E436: Neniu rikordo \"%s\" en termcap" msgid "E437: terminal capability \"cm\" required" msgstr "E437: kapablo de terminalo \"cm\" bezonata" -#. Highlight title msgid "" "\n" "--- Terminal keys ---" @@ -5738,6 +5723,21 @@ msgstr "" msgid "Cannot open $VIMRUNTIME/rgb.txt" msgstr "Ne povas malfermi $VIMRUNTIME/rgb.txt" +msgid "Terminal" +msgstr "Terminalo" + +msgid "Terminal-finished" +msgstr "Terminalo-finiÄis" + +msgid "active" +msgstr "aktiva" + +msgid "running" +msgstr "ruliÄas" + +msgid "finished" +msgstr "finiÄis" + msgid "new shell started\n" msgstr "nova Åelo lanĉita\n" @@ -5747,12 +5747,9 @@ msgstr "Vim: Eraro dum legado de eniro, elironta...\n" msgid "Used CUT_BUFFER0 instead of empty selection" msgstr "Uzis CUT_BUFFER0 anstataÅ malplenan apartigon" -#. This happens when the FileChangedRO autocommand changes the -#. * file in a way it becomes shorter. msgid "E881: Line count changed unexpectedly" msgstr "E881: Nombro de linioj ÅanÄiÄis neatendite" -#. must display the prompt msgid "No undo possible; continue anyway" msgstr "Malfaro neebla; tamen daÅrigi" @@ -5987,6 +5984,10 @@ msgid "E126: Missing :endfunction" msgstr "E126: Mankas \":endfunction\"" #, c-format +msgid "W22: Text found after :endfunction: %s" +msgstr "W22: Teksto trovita malantaÅ :endfunction: %s" + +#, c-format msgid "E707: Function name conflicts with variable: %s" msgstr "E707: Nomo de funkcio konfliktas kun variablo: %s" @@ -6382,7 +6383,6 @@ msgstr "Kompari per Vim" msgid "Edit with &Vim" msgstr "Redakti per &Vim" -#. Now concatenate msgid "Edit with existing Vim - " msgstr "Redakti per ekzistanta Vim - " @@ -6401,10 +6401,6 @@ msgstr "Serĉvojo estas tro longa!" msgid "--No lines in buffer--" msgstr "--Neniu linio en bufro--" -#. -#. * The error messages that can be shared are included here. -#. * Excluded are errors that are only used once and debugging messages. -#. msgid "E470: Command aborted" msgstr "E470: komando ĉesigita" @@ -6590,12 +6586,6 @@ msgstr "E484: Ne eblas malfermi dosieron %s" msgid "E485: Can't read file %s" msgstr "E485: Ne eblas legi dosieron %s" -msgid "E37: No write since last change (add ! to override)" -msgstr "E37: Neniu skribo de post lasta ÅanÄo (aldonu ! por transpasi)" - -msgid "E37: No write since last change" -msgstr "E37: Neniu skribo de post lasta ÅanÄo" - msgid "E38: Null argument" msgstr "E38: Nula argumento" @@ -6730,8 +6720,8 @@ msgstr "E592: 'winwidth' ne rajtas esti malpli ol 'winminwidth'" msgid "E80: Error while writing" msgstr "E80: Eraro dum skribado" -msgid "Zero count" -msgstr "Nul kvantoro" +msgid "E939: Positive count required" +msgstr "E939: Pozitiva kvantoro bezonata" msgid "E81: Using <SID> not in a script context" msgstr "E81: Uzo de <SID> ekster kunteksto de skripto" @@ -6875,7 +6865,6 @@ msgstr "konstruilo de listo ne akceptas Ålosilvortajn argumentojn" msgid "list index out of range" msgstr "indekso de listo ekster limoj" -#. No more suitable format specifications in python-2.3 #, c-format msgid "internal error: failed to get vim list item %d" msgstr "interna eraro: obteno de vim-a listero %d malsukcesis" diff --git a/src/nvim/po/es.po b/src/nvim/po/es.po index ed96e4de94..10b661a5d2 100644 --- a/src/nvim/po/es.po +++ b/src/nvim/po/es.po @@ -1197,7 +1197,7 @@ msgstr "E141: No existe un nombre de archivo para el búfer %<PRId64>" #: ../ex_cmds.c:2412 msgid "E142: File not written: Writing is disabled by 'write' option" msgstr "" -"E142: No se ha escrito el archivo: escritura desactivada por \n" +"E142: No se ha escrito el archivo: escritura desactivada por " "la opción 'write'" #: ../ex_cmds.c:2434 @@ -2209,7 +2209,7 @@ msgstr "es de solo lectura (añada ! para sobreescribir)" #: ../fileio.c:2886 msgid "E506: Can't write to backup file (add ! to override)" msgstr "" -"E506: No se pudo escribir en el archivo de recuperación\n" +"E506: No se pudo escribir en el archivo de recuperación " "(añada ! para forzar la orden)" #: ../fileio.c:2898 @@ -3136,7 +3136,7 @@ msgstr "" #: ../hardcopy.c:2254 msgid "E675: No default font specified for multi-byte printing." msgstr "" -"E675: No se ha definido un tipo de letra predeterminado para impresión\n" +"E675: No se ha definido un tipo de letra predeterminado para impresión " "multi-byte" #: ../hardcopy.c:2426 @@ -3393,7 +3393,7 @@ msgstr "Basura después de la opción" #: ../main.c:152 msgid "Too many \"+command\", \"-c command\" or \"--cmd command\" arguments" msgstr "" -"Demasiados argumentos tales como: \"+orden\", \"-c orden\" \n" +"Demasiados argumentos tales como: \"+orden\", \"-c orden\" " "o \"--cmd orden\"" #: ../main.c:154 @@ -3797,7 +3797,7 @@ msgstr "E302: No pude cambiar el nombre del archivo de intercambio" #, c-format msgid "E303: Unable to open swap file for \"%s\", recovery impossible" msgstr "" -"E303: Incapaz de abrir el archivo de intercambio para %s,\n" +"E303: Incapaz de abrir el archivo de intercambio para %s, " "recuperación imposible" #: ../memline.c:666 @@ -3916,7 +3916,7 @@ msgstr "??? desde aquà hasta ???FIN las lÃneas pueden estar desordenadas" #: ../memline.c:1164 msgid "??? from here until ???END lines may have been inserted/deleted" msgstr "" -"??? desde aquà hasta ???FIN las lÃneas pueden haber sido\n" +"??? desde aquà hasta ???FIN las lÃneas pueden haber sido " "insertadas/borradas" #: ../memline.c:1181 @@ -3931,7 +3931,7 @@ msgstr "E311: Recuperación interrumpida" msgid "" "E312: Errors detected while recovering; look for lines starting with ???" msgstr "" -"E312: Se han detectado errores al recuperar; busque lÃneas que\n" +"E312: Se han detectado errores al recuperar; busque lÃneas que " "empiecen con ???" #: ../memline.c:1245 @@ -5382,7 +5382,7 @@ msgstr "E756: La corrección ortográfica está desactivada" #, c-format msgid "Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\"" msgstr "" -"Advertencia: No se pudo hallar la lista de palabras \"%s.%s.spl\" \n" +"Advertencia: No se pudo hallar la lista de palabras \"%s.%s.spl\" " "or \"%s.ascii.spl\"" #: ../spell.c:2473 @@ -5443,8 +5443,7 @@ msgid "" "%d" msgstr "" "Definir COMPOUNDFORBIDFLAG después de un elemento PFX puede dar resultados " -"erróneos\n" -"en %s lÃnea %d" +"erróneos en %s lÃnea %d" #: ../spell.c:4731 #, c-format @@ -5453,8 +5452,7 @@ msgid "" "%d" msgstr "" "Definir COMPOUNDPERMITFLAG después de un Ãtem PFX puede dar resultados " -"erróneos\n" -"en %s lÃnea %d" +"erróneos en %s lÃnea %d" #: ../spell.c:4747 #, c-format @@ -5485,7 +5483,7 @@ msgstr "Valor equivocado de CHECKCOMPOUNDPATTERN en %s lÃnea %d: %s" #, c-format msgid "Different combining flag in continued affix block in %s line %d: %s" msgstr "" -"Marca de combinación diferente en el bloque de afijos continuo\n" +"Marca de combinación diferente en el bloque de afijos continuo " "en %s lÃnea %d: %s" #: ../spell.c:4850 @@ -5500,8 +5498,7 @@ msgid "" "line %d: %s" msgstr "" "Afijo usado también para BAD/RARE/KEEPCASE/NEEDAFFIX/NEEDCOMPOUND/NOSUGGEST " -"en\n" -"%s lÃnea %d: %s" +"en %s lÃnea %d: %s" #: ../spell.c:4893 #, c-format @@ -5942,7 +5939,7 @@ msgstr "E402: Basura después del patrón: %s" #: ../syntax.c:5120 msgid "E403: syntax sync: line continuations pattern specified twice" msgstr "" -"E403: Sincronización de sintaxis: Se especificó dos veces un\n" +"E403: Sincronización de sintaxis: Se especificó dos veces un " "patrón de continuación de lÃnea" #: ../syntax.c:5169 @@ -6569,7 +6566,7 @@ msgstr "E813: No se puede cerrar la ventana de autocmd" #: ../window.c:1814 msgid "E814: Cannot close window, only autocmd window would remain" msgstr "" -"E814: No se pudo cerrar la última ventana, solo quedará\n" +"E814: No se pudo cerrar la última ventana, solo quedará " "la ventana de autocmd" #: ../window.c:2717 diff --git a/src/nvim/po/fi.po b/src/nvim/po/fi.po index 3551c07ff2..e491649e14 100644 --- a/src/nvim/po/fi.po +++ b/src/nvim/po/fi.po @@ -1,6 +1,6 @@ # Finnish translation for Vim. # Copyright (C) 2003-2006 Free Software Foundation, Inc. -# 2007-2016, Flammie Pirinen <flammie@iki.fi> +# 2007-2018, Flammie Pirinen <flammie@iki.fi> # # Jargonia ei ole yritetty suotta kotoperäistää missä teknisempi lainasanasto # tulee paremmin kyseeseen. @@ -313,7 +313,6 @@ msgstr "E90: Ei voi vapauttaa viimeistä puskuria" msgid "E84: No modified buffer found" msgstr "E84: Ei muokattuja puskureita" -#. back where we started, didn't find anything. msgid "E85: There is no listed buffer" msgstr "E85: Luetteloitua puskuria ei ole" @@ -390,7 +389,6 @@ msgstr "1 rivi --%d %%--" msgid "[No Name]" msgstr "[Nimetön]" -#. must be a help buffer msgid "help" msgstr "ohje" @@ -495,7 +493,6 @@ msgstr "E791: Tyhjä keymap-kenttä" msgid " Keyword completion (^N^P)" msgstr " Avainsanatäydennys (^N^P)" -#. ctrl_x_mode == 0, ^P/^N compl. msgid " ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)" msgstr " ^X-tila (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)" @@ -570,10 +567,6 @@ msgstr "Luetaan tägejä." msgid " Adding" msgstr " Lisätään" -#. showmode might reset the internal line pointers, so it must -#. * be called before line = ml_get(), or when this address is no -#. * longer needed. -- Acevedo. -#. msgid "-- Searching..." msgstr "-- Haetaan..." @@ -1418,6 +1411,18 @@ msgstr "E907: Käytettiin erikoisarvoa Floattina" msgid "E808: Number or Float required" msgstr "E808: Number tai Float vaaditaan" +#, c-format +msgid "line %ld: %s" +msgstr "rivi %ld: %s" + +#, c-format +msgid "Breakpoint in \"%s%s\" line %ld" +msgstr "Katkaisukohta %s%s rivillä %ld" + +#, c-format +msgid "%3d %s %s line %ld" +msgstr "%3d %s %s rivi %ld" + # puhutaan merkin ulkoasusta snprintf(..., c, c, c, c) #, c-format msgid "<%s>%s%s %d, Hex %02x, Octal %03o" @@ -1545,7 +1550,7 @@ msgstr " 1 rivillä" #~ msgid " on %<PRId64> lines" #~ msgstr " %ld rivillä" -msgid "E147: Cannot do :global recursive" +msgid "E147: Cannot do :global recursive with a range" msgstr "E147: :globalia ei voi suorittaa rekursiivisesti" msgid "E148: Regular expression missing from global" @@ -1575,6 +1580,10 @@ msgid "Sorry, help file \"%s\" not found" msgstr "ohjetiedostoa %s ei löydy" #, c-format +msgid "E151: No match: %s" +msgstr "E151: Ei täsmää: %s" + +#, c-format msgid "E152: Cannot open %s for writing" msgstr "E152: Ei voi avata tiedostoa %s kirjoittamista varten" @@ -1926,7 +1935,6 @@ msgstr "E189: %s on jo olemassa (lisää komentoon ! ohittaaksesi)" msgid "E190: Cannot open \"%s\" for writing" msgstr "E190: Tiedostoa %s ei voitu avata kirjoittamista varten" -#. set mark msgid "E191: Argument must be a letter or forward/backward quote" msgstr "E191: Argumentin eteen- tai taaksepäin lainaukseen pitää olla kirjain" @@ -1979,7 +1987,6 @@ msgstr "Poikkeus poistettu: %s" #~ msgid "%s, line %<PRId64>" #~ msgstr "%s, rivi %ld" -#. always scroll up, don't overwrite #, c-format msgid "Exception caught: %s" msgstr "Poikkeus otettu kiinni: %s" @@ -2005,7 +2012,6 @@ msgstr "Virhe ja keskeytys" msgid "Error" msgstr "Virhe" -#. if (pending & CSTP_INTERRUPT) msgid "Interrupt" msgstr "Keskeytys" @@ -2048,15 +2054,12 @@ msgstr "E601: liian monta tasoa :try-komennossa" msgid "E603: :catch without :try" msgstr "E603: :catch ilman komentoa :try" -#. Give up for a ":catch" after ":finally" and ignore it. -#. * Just parse. msgid "E604: :catch after :finally" msgstr "E604: :catch ilman komentoa :finally" msgid "E606: :finally without :try" msgstr "E606: :finally ilman komentoa :try" -#. Give up for a multiple ":finally" and ignore it. msgid "E607: multiple :finally" msgstr "E607: :finally monta kertaa" @@ -2147,7 +2150,6 @@ msgstr "" msgid "E201: *ReadPre autocommands must not change current buffer" msgstr "E201: *ReadPre-autocommand-komennot eivät saa muuttaa puskuria" -#. Re-opening the original file failed! msgid "E202: Conversion made file unreadable!" msgstr "E202: Muunnos teki tiedostosta lukukelvottoman." @@ -2469,7 +2471,6 @@ msgstr "E216: Eventtiä ei ole: %s" msgid "E216: No such group or event: %s" msgstr "E216: Ryhmää tai eventtiä ei ole: %s" -#. Highlight title msgid "" "\n" "--- Auto-Commands ---" @@ -3113,7 +3114,6 @@ msgstr "E261: cscope-yhteys %s puuttuu" msgid "cscope connection %s closed" msgstr "cscope-yhteys %s on katkaistu" -#. should not reach here msgid "E570: fatal error in cs_manage_matches" msgstr "E570: kriittinen virhe cs_manage_matches-funktiossa" @@ -3176,7 +3176,6 @@ msgstr "Vim: Varoitus: Tuloste ei mene terminaalille\n" msgid "Vim: Warning: Input is not from a terminal\n" msgstr "Vim: Varoitus: Syöte ei tule terminaalilta\n" -#. just in case.. msgid "pre-vimrc command line" msgstr "esi-vimrc-komentorivi" @@ -3394,7 +3393,6 @@ msgstr "Ei asetettuja merkkejä" msgid "E283: No marks matching \"%s\"" msgstr "E283: Mikään merkki ei täsmää ilmaukseen \"%s\"" -#. Highlight title msgid "" "\n" "mark line col file/text" @@ -3402,7 +3400,6 @@ msgstr "" "\n" "merkki rivi sarake tiedosto/teksti" -#. Highlight title msgid "" "\n" " jump line col file/text" @@ -3410,7 +3407,6 @@ msgstr "" "\n" "hyppy rivi sarake tiedosto/teksti" -#. Highlight title msgid "" "\n" "change line col text" @@ -3445,7 +3441,6 @@ msgstr "E298: Lohko 1:tä ei saatu?" msgid "E298: Didn't get block nr 2?" msgstr "E298: Lohko 2:ta ei saatu?" -#. could not (re)open the swap file, what can we do???? msgid "E301: Oops, lost the swap file!!!" msgstr "E301: Hups, swap-tiedosto hävisi!" @@ -3585,7 +3580,6 @@ msgstr "" "Voit poistaa .swp-tiedosto nyt.\n" "\n" -#. use msg() to start the scrolling properly msgid "Swap files found:" msgstr "Swap-tiedostoja löytyi:" @@ -3751,8 +3745,6 @@ msgstr "Avattaessa tiedostoa " msgid " NEWER than swap file!\n" msgstr " joka on UUDEMPI kuin swap-tiedosto!\n" -#. Some of these messages are long to allow translation to -#. * other languages. msgid "" "\n" "(1) Another program may be editing the same file. If this is the case,\n" @@ -3859,7 +3851,6 @@ msgstr "E328: Valikko on olemassa vain toisessa tilassa" msgid "E329: No menu \"%s\"" msgstr "E329: Ei valikkoa %s" -#. Only a mnemonic or accelerator is not valid. msgid "E792: Empty menu name" msgstr "E792: tyhjä valikkonimi" @@ -3872,8 +3863,6 @@ msgstr "E331: Valikkokohtia ei saa lisätä suoraan valikkopalkkiin" msgid "E332: Separator cannot be part of a menu path" msgstr "E332: Erotin ei voi olla valikkopolun osa" -#. Now we have found the matching menu, and we list the mappings -#. Highlight title msgid "" "\n" "--- Menus ---" @@ -4354,7 +4343,6 @@ msgstr "E376: Virheellinen %%%c muotoilumerkkijonon alussa" msgid "E377: Invalid %%%c in format string" msgstr "E377: Virheellinen %%%c muotoilumerkkijonossa" -#. nothing found msgid "E378: 'errorformat' contains no pattern" msgstr "E378: errorformatissa ei ole kuvioita" @@ -4479,9 +4467,6 @@ msgstr "E63: väärinkäytetty \\_" msgid "E64: %s%c follows nothing" msgstr "E64: %s%c jälkeen ei minkään" -msgid "E65: Illegal back reference" -msgstr "E65: Virheellinen täsmäysviittaus" - msgid "E68: Invalid character after \\z" msgstr "E68: Virheellinen merkki ilmauksen \\z jälkeen" @@ -4587,7 +4572,6 @@ msgstr "E386: ;:n jälkeen pitää olla ? tai /" msgid " (includes previously listed match)" msgstr " (sisältää viimeksi luetellun täsmäyksen)" -#. cursor at status line msgid "--- Included files " msgstr "--- Sisällytetyt tiedostot " @@ -4841,8 +4825,6 @@ msgstr "ei ehdotuksia" #~ msgid "Sorry, only %<PRId64> suggestions" #~ msgstr "vain %ld ehdotusta" -#. for when 'cmdheight' > 1 -#. avoid more prompt #, c-format msgid "Change \"%.*s\" to:" msgstr "Muuta %.*s:" @@ -5430,7 +5412,6 @@ msgstr "E428: Ei voida edetä viimeisen täsmäävän tägin ohi" msgid "File \"%s\" does not exist" msgstr "Tiedostoa %s ei ole" -#. Give an indication of the number of matching tags #, c-format msgid "tag %d of %d%s" msgstr "tägi %d/%d%s" @@ -5445,7 +5426,6 @@ msgstr " Tägissä eri kirjaintaso" msgid "E429: File \"%s\" does not exist" msgstr "E429: Tiedostoa %s ei ole" -#. Highlight title msgid "" "\n" " # TO tag FROM line in file/text" @@ -5472,7 +5452,6 @@ msgstr "E431: Muotovirh tägitiedostossa %s" msgid "E432: Tags file not sorted: %s" msgstr "E432: Tägitiedosto ei ole järjestetty: %s" -#. never opened any tags file msgid "E433: No tags file" msgstr "E433: Ei tägitiedostoja" diff --git a/src/nvim/po/fr.po b/src/nvim/po/fr.po index c0df5f2170..4fa4ef8f8f 100644 --- a/src/nvim/po/fr.po +++ b/src/nvim/po/fr.po @@ -4,20 +4,17 @@ # Do ":help uganda" in Vim to read copying and usage conditions. # Do ":help credits" in Vim to see a list of people who contributed. # -# FIRST AUTHOR DindinX <David.Odin@bigfoot.com> 2000. -# SECOND AUTHOR Adrien Beau <version.francaise@free.fr> 2002, 2003. -# THIRD AUTHOR David Blanchet <david.blanchet@free.fr> 2006, 2008. -# FOURTH AUTHOR Dominique Pellé <dominique.pelle@gmail.com> 2008, 2017. -# -# Latest translation available at: -# http://dominique.pelle.free.fr/vim-fr.php +# FIRST AUTHOR DindinX <David.Odin@bigfoot.com> 2000. +# SECOND AUTHOR Adrien Beau <version.francaise@free.fr> 2002, 2003. +# THIRD AUTHOR David Blanchet <david.blanchet@free.fr> 2006, 2008. +# FOURTH AUTHOR Dominique Pellé <dominique.pelle@gmail.com> 2008, 2017. # msgid "" msgstr "" "Project-Id-Version: Vim(Français)\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-16 00:30+0100\n" -"PO-Revision-Date: 2017-01-16 00:51+0100\n" +"POT-Creation-Date: 2017-10-04 23:32+0200\n" +"PO-Revision-Date: 2017-10-04 23:44+0200\n" "Last-Translator: Dominique Pellé <dominique.pelle@gmail.com>\n" "Language-Team: \n" "Language: fr\n" @@ -104,7 +101,6 @@ msgstr "E90: Impossible de décharger le dernier tampon" msgid "E84: No modified buffer found" msgstr "E84: Aucun tampon n'est modifié" -#. back where we started, didn't find anything. msgid "E85: There is no listed buffer" msgstr "E85: Aucun tampon n'est listé" @@ -121,6 +117,18 @@ msgid "E89: No write since last change for buffer %ld (add ! to override)" msgstr "" "E89: Le tampon %ld n'a pas été enregistré (ajoutez ! pour passer outre)" +msgid "E948: Job still running (add ! to end the job)" +msgstr "E948: Tâche en cours d'exécution (ajouter ! pour terminer la tâche)" + +msgid "E37: No write since last change (add ! to override)" +msgstr "E37: Modifications non enregistrées (ajoutez ! pour passer outre)" + +msgid "E948: Job still running" +msgstr "E948: Tâche en cours d'exécution" + +msgid "E37: No write since last change" +msgstr "E37: Modifications non enregistrées" + msgid "W14: Warning: List of file names overflow" msgstr "W14: Alerte : La liste des noms de fichier déborde" @@ -187,7 +195,6 @@ msgstr "ligne %ld sur %ld --%d%%-- col " msgid "[No Name]" msgstr "[Aucun nom]" -#. must be a help buffer msgid "help" msgstr "aide" @@ -218,6 +225,9 @@ msgstr "" "\n" "# Liste des tampons :\n" +msgid "E382: Cannot write, 'buftype' option is set" +msgstr "E382: Écriture impossible, l'option 'buftype' est activée" + msgid "[Scratch]" msgstr "[Brouillon]" @@ -396,7 +406,6 @@ msgid " Keyword completion (^N^P)" msgstr " Complètement de mot-clé (^N^P)" # DB - todo : Faut-il une majuscule à "mode" ? -#. ctrl_x_mode == 0, ^P/^N compl. msgid " ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)" msgstr " mode ^X (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)" @@ -481,6 +490,9 @@ msgstr "Examen : %s" msgid "Scanning tags." msgstr "Examen des marqueurs." +msgid "match in file" +msgstr "correspondance dans le fichier" + # AB - Cette chaîne de caractères est ajoutée en début de ligne lorsqu'une # opération de complétion est répétée (typiquement avec CTRL-X CTRL-N). # Que ce soit en anglais ou en français, il y a un problème de majuscules. @@ -488,10 +500,6 @@ msgstr "Examen des marqueurs." msgid " Adding" msgstr " Ajout" -#. showmode might reset the internal line pointers, so it must -#. * be called before line = ml_get(), or when this address is no -#. * longer needed. -- Acevedo. -#. msgid "-- Searching..." msgstr "-- Recherche en cours..." @@ -522,7 +530,6 @@ msgstr "Correspondance %d sur %d" msgid "match %d" msgstr "Correspondance %d" -#. maximum nesting of lists and dicts msgid "E18: Unexpected characters in :let" msgstr "E18: Caractères inattendus avant '='" @@ -584,6 +591,10 @@ msgstr "E690: \"in\" manquant après :for" msgid "E108: No such variable: \"%s\"" msgstr "E108: Variable inexistante : %s" +#, c-format +msgid "E940: Cannot lock or unlock variable %s" +msgstr "E940: Impossible de (dé)verrouiler la variable %s" + msgid "E743: variable nested too deep for (un)lock" msgstr "E743: variable trop imbriquée pour la (dé)verrouiller" @@ -765,21 +776,10 @@ msgstr "E785: complete() n'est utilisable que dans le mode Insertion" # AB - Texte par défaut du bouton de la boîte de dialogue affichée par la # fonction confirm(). -#. -#. * Yes this is ugly, I don't particularly like it either. But doing it -#. * this way has the compelling advantage that translations need not to -#. * be touched at all. See below what 'ok' and 'ync' are used for. -#. msgid "&Ok" msgstr "&Ok" #, c-format -msgid "+-%s%3ld line: " -msgid_plural "+-%s%3ld lines: " -msgstr[0] "+-%s%3ld ligne : " -msgstr[1] "+-%s%3ld lignes : " - -#, c-format msgid "E700: Unknown function: %s" msgstr "E700: Fonction inconnue : %s" @@ -827,9 +827,7 @@ msgstr "E727: Début au-delà de la fin" msgid "<empty>" msgstr "<vide>" -# AB - À mon avis, la version anglaise est erronée. -# DB : Vérifier -msgid "E240: No connection to Vim server" +msgid "E240: No connection to the X server" msgstr "E240: Pas de connexion au serveur X" # AB - La version française est meilleure que la version anglaise. @@ -840,6 +838,12 @@ msgstr "E241: L'envoi au serveur %s a échoué" msgid "E277: Unable to read a server reply" msgstr "E277: Impossible de lire la réponse du serveur" +msgid "E941: already started a server" +msgstr "E941: serveur déjà démarré" + +msgid "E942: +clientserver feature not available" +msgstr "E942: La fonctionnalité +clientserver n'est pas disponible" + msgid "remove() argument" msgstr "argument de remove()" @@ -965,7 +969,6 @@ msgstr " ÉCHEC" # ses droits d'accès. # AB - Le mot "viminfo" a été retiré pour que le message ne dépasse pas 80 # caractères dans le cas courant où %s = /home/12345678/.viminfo -#. avoid a wait_return for this message, it's annoying #, c-format msgid "E137: Viminfo file is not writable: %s" msgstr "E137: L'écriture dans le fichier %s est interdite" @@ -990,7 +993,6 @@ msgstr "Écriture du fichier viminfo \"%s\"" msgid "E886: Can't rename viminfo file to %s!" msgstr "E886: Impossible de renommer viminfo en %s" -#. Write the info: #, c-format msgid "# This viminfo file was generated by Vim %s.\n" msgstr "# Ce fichier viminfo a été généré par Vim %s.\n" @@ -1137,8 +1139,8 @@ msgstr " sur %ld lignes" # AB - Il faut respecter l'esprit plus que la lettre. # AB - Ce message devrait contenir une référence à :vglobal. -msgid "E147: Cannot do :global recursive" -msgstr "E147: :global ne peut pas exécuter :global" +msgid "E147: Cannot do :global recursive with a range" +msgstr "E147: :global ne peut pas exécuter :global avec une plage" # AB - Ce message devrait contenir une référence à :vglobal. msgid "E148: Regular expression missing from global" @@ -1317,10 +1319,9 @@ msgstr "E750: Utilisez d'abord \":profile start {nomfichier}\"" msgid "Save changes to \"%s\"?" msgstr "Enregistrer \"%s\" ?" -# AB - Si les parenthèses posent problème, il faudra remettre les guillemets -# ci-dessus. -msgid "Untitled" -msgstr "(sans titre)" +#, c-format +msgid "E947: Job still running in buffer \"%s\"" +msgstr "E947: Tâche en cours d'exécution dans le buffer \"%s\"" # AB - Il faut respecter l'esprit plus que la lettre. # AB - Ce message est similaire au message E89. @@ -1357,6 +1358,14 @@ msgstr "Recherche de \"%s\"" msgid "not found in '%s': \"%s\"" msgstr "introuvable dans '%s' : \"%s\"" +#, c-format +msgid "W20: Required python version 2.x not supported, ignoring file: %s" +msgstr "W20: Python version 2.x non supporté, fichier %s ignoré" + +#, c-format +msgid "W21: Required python version 3.x not supported, ignoring file: %s" +msgstr "W21: Python 3.x non supporté, fichier %s ignoré" + msgid "Source Vim script" msgstr "Sourcer un script - Vim" @@ -1457,6 +1466,10 @@ msgstr "La plage spécifiée est inversée, OK pour l'inverser" msgid "E494: Use w or w>>" msgstr "E494: Utilisez w ou w>>" +msgid "E943: Command table needs to be updated, run 'make cmdidxs'" +msgstr "" +"E943: La table des commandes doit être mise à jour, lancez 'make cmdidxs'" + msgid "E319: Sorry, the command is not available in this version" msgstr "E319: Désolé, cette commande n'est pas disponible dans cette version" @@ -1622,7 +1635,6 @@ msgstr "E189: \"%s\" existe (ajoutez ! pour passer outre)" msgid "E190: Cannot open \"%s\" for writing" msgstr "E190: Impossible d'ouvrir \"%s\" pour y écrire" -#. set mark msgid "E191: Argument must be a letter or forward/backward quote" msgstr "E191: L'argument doit être une lettre ou une (contre-)apostrophe" @@ -1660,13 +1672,17 @@ msgstr "E500: Évalué en une chaîne vide" msgid "E195: Cannot open viminfo file for reading" msgstr "E195: Impossible d'ouvrir le viminfo en lecture" +# AB - Si les parenthèses posent problème, il faudra remettre les guillemets +# ci-dessus. +msgid "Untitled" +msgstr "(sans titre)" + msgid "E196: No digraphs in this version" msgstr "E196: Pas de digraphes dans cette version" msgid "E608: Cannot :throw exceptions with 'Vim' prefix" msgstr "E608: Impossible d'émettre des exceptions avec 'Vim' comme préfixe" -#. always scroll up, don't overwrite #, c-format msgid "Exception thrown: %s" msgstr "Exception émise : %s" @@ -1683,7 +1699,6 @@ msgstr "Exception éliminée : %s" msgid "%s, line %ld" msgstr "%s, ligne %ld" -#. always scroll up, don't overwrite #, c-format msgid "Exception caught: %s" msgstr "Exception interceptée : %s" @@ -1710,7 +1725,6 @@ msgstr "Erreur et interruption" msgid "Error" msgstr "Erreur" -#. if (pending & CSTP_INTERRUPT) msgid "Interrupt" msgstr "Interruption" @@ -1753,15 +1767,12 @@ msgstr "E601: Imbrication de :try trop importante" msgid "E603: :catch without :try" msgstr "E603: :catch sans :try" -#. Give up for a ":catch" after ":finally" and ignore it. -#. * Just parse. msgid "E604: :catch after :finally" msgstr "E604: :catch après :finally" msgid "E606: :finally without :try" msgstr "E606: :finally sans :try" -#. Give up for a multiple ":finally" and ignore it. msgid "E607: multiple :finally" msgstr "E607: Il ne peut y avoir qu'un seul :finally" @@ -1862,7 +1873,6 @@ msgstr "Vim : Lecture de stdin...\n" msgid "Reading from stdin..." msgstr "Lecture de stdin..." -#. Re-opening the original file failed! msgid "E202: Conversion made file unreadable!" msgstr "E202: La conversion a rendu le fichier illisible !" @@ -2077,9 +2087,6 @@ msgstr "[noeol]" msgid "[Incomplete last line]" msgstr "[Dernière ligne incomplète]" -#. don't overwrite messages here -#. must give this prompt -#. don't use emsg() here, don't want to flush the buffers msgid "WARNING: The file has been changed since reading it!!!" msgstr "ALERTE : Le fichier a été modifié depuis que Vim l'a lu !" @@ -2161,7 +2168,6 @@ msgstr "--Effacé--" msgid "auto-removing autocommand: %s <buffer=%d>" msgstr "Autocommandes marquées pour auto-suppression : %s <tampon=%d>" -#. the group doesn't exist #, c-format msgid "E367: No such group: \"%s\"" msgstr "E367: Aucun groupe \"%s\"" @@ -2184,7 +2190,6 @@ msgstr "E216: Aucun événement %s" msgid "E216: No such group or event: %s" msgstr "E216: Aucun événement ou groupe %s" -#. Highlight title msgid "" "\n" "--- Auto-Commands ---" @@ -2233,12 +2238,6 @@ msgstr "E350: Impossible de créer un repli avec la 'foldmethod'e actuelle" msgid "E351: Cannot delete fold with current 'foldmethod'" msgstr "E351: Impossible de supprimer un repli avec la 'foldmethod'e actuelle" -#, c-format -msgid "+--%3ld line folded " -msgid_plural "+--%3ld lines folded " -msgstr[0] "+--%3ld ligne repliée " -msgstr[1] "+--%3ld lignes repliées " - msgid "E222: Add to read buffer" msgstr "E222: Ajout au tampon de lecture" @@ -2377,18 +2376,15 @@ msgstr "Rechercher :" msgid "Replace with:" msgstr "Remplacer par :" -#. whole word only button msgid "Match whole word only" msgstr "Mots entiers seulement" -#. match case button msgid "Match case" msgstr "Respecter la casse" msgid "Direction" msgstr "Direction" -#. 'Up' and 'Down' buttons msgid "Up" msgstr "Haut" @@ -2472,8 +2468,6 @@ msgstr "Chercher et remplacer (utilisez '\\\\' pour trouver un '\\')" # DB - Traduction non indispensable puisque le code indique qu'il s'agit d'un # paramétrage bidon afin de sélectionner un répertoire plutôt qu'un # fichier. -#. We fake this: Use a filter that doesn't select anything and a default -#. * file name that won't be used. msgid "Not Used" msgstr "Non utilisé" @@ -2554,7 +2548,6 @@ msgstr "Choisir une police - Vim" msgid "Name:" msgstr "Nom :" -#. create toggle button msgid "Show size in Points" msgstr "Afficher la taille en Points" @@ -2805,7 +2798,6 @@ msgstr "E261: Connexion cscope %s introuvable" msgid "cscope connection %s closed" msgstr "connexion cscope %s fermée" -#. should not reach here msgid "E570: fatal error in cs_manage_matches" msgstr "E570: erreur fatale dans cs_manage_matches" @@ -2970,7 +2962,6 @@ msgid "not implemented yet" msgstr "pas encore implémenté" # DB - TODO : le contexte est celui d'une annulation. -#. ??? msgid "cannot set line(s)" msgstr "Impossible de remettre la/les ligne(s)" @@ -3011,7 +3002,6 @@ msgid "" msgstr "" "Impossible d'inscrire la commande de rappel : tampon/fenêtre en effacement" -#. This should never happen. Famous last word? msgid "" "E280: TCL FATAL ERROR: reflist corrupt!? Please report this to vim-dev@vim." "org" @@ -3114,7 +3104,6 @@ msgstr "Vim : Alerte : La sortie ne s'effectue pas sur un terminal\n" msgid "Vim: Warning: Input is not from a terminal\n" msgstr "Vim : Alerte : L'entrée ne se fait pas sur un terminal\n" -#. just in case.. msgid "pre-vimrc command line" msgstr "ligne de commande pre-vimrc" @@ -3281,8 +3270,7 @@ msgstr "" "--no-a-term\t\tAucun avertissement si l'entrée/sortie n'est pas un terminal" msgid "--ttyfail\t\tExit if input or output is not a terminal" -msgstr "" -"--ttyfail\t\tQuitte si l'entrée ou la sortie ne sont pas un terminal" +msgstr "--ttyfail\t\tQuitte si l'entrée ou la sortie ne sont pas un terminal" msgid "-u <vimrc>\t\tUse <vimrc> instead of any .vimrc" msgstr "-u <vimrc>\tUtiliser <vimrc> au lieu du vimrc habituel" @@ -3382,6 +3370,9 @@ msgstr "" msgid "-i <viminfo>\t\tUse <viminfo> instead of .viminfo" msgstr "-i <viminfo>\t\tUtiliser <viminfo> au lieu du viminfo habituel" +msgid "--clean\t\t'nocompatible', Vim defaults, no plugins, no viminfo" +msgstr "--clean\t\t'nocompatible', réglages par défaut, aucun greffon ni viminfo" + msgid "-h or --help\tPrint Help (this message) and exit" msgstr "-h ou --help\t\tAfficher l'aide (ce message) puis quitter" @@ -3484,11 +3475,9 @@ msgstr "--windowid <HWND>\tOuvrir Vim dans un autre widget win32" msgid "No display" msgstr "Aucun display" -#. Failed to send, abort. msgid ": Send failed.\n" msgstr " : L'envoi a échoué.\n" -#. Let vim start normally. msgid ": Send failed. Trying to execute locally\n" msgstr " : L'envoi a échoué. Tentative d'exécution locale\n" @@ -3509,7 +3498,6 @@ msgstr "Aucune marque positionnée" msgid "E283: No marks matching \"%s\"" msgstr "E283: Aucune marque ne correspond à \"%s\"" -#. Highlight title msgid "" "\n" "mark line col file/text" @@ -3517,7 +3505,6 @@ msgstr "" "\n" "marq ligne col fichier/texte" -#. Highlight title msgid "" "\n" " jump line col file/text" @@ -3525,7 +3512,6 @@ msgstr "" "\n" " saut ligne col fichier/texte" -#. Highlight title msgid "" "\n" "change line col text" @@ -3540,7 +3526,6 @@ msgstr "" "\n" "# Marques dans le fichier :\n" -#. Write the jumplist with -' msgid "" "\n" "# Jumplist (newest first):\n" @@ -3612,7 +3597,6 @@ msgstr "E298: Bloc n°2 non récupéré ?" msgid "E843: Error while updating swap file crypt" msgstr "E843: Erreur lors de la mise à jour du fichier d'échange crypté" -#. could not (re)open the swap file, what can we do???? msgid "E301: Oops, lost the swap file!!!" msgstr "E301: Oups, le fichier d'échange a disparu !" @@ -3801,7 +3785,6 @@ msgstr "" "Utilisation de la clé de chiffrement du fichier d'échange pour le fichier " "texte.\n" -#. use msg() to start the scrolling properly msgid "Swap files found:" msgstr "Fichiers d'échange trouvés :" @@ -3971,8 +3954,6 @@ msgstr "Lors de l'ouverture du fichier \"" msgid " NEWER than swap file!\n" msgstr " PLUS RÉCENT que le fichier d'échange !\n" -#. Some of these messages are long to allow translation to -#. * other languages. msgid "" "\n" "(1) Another program may be editing the same file. If this is the case,\n" @@ -4063,7 +4044,6 @@ msgstr "E328: Le menu n'existe que dans un autre mode" msgid "E329: No menu \"%s\"" msgstr "E329: Aucun menu \"%s\"" -#. Only a mnemonic or accelerator is not valid. msgid "E792: Empty menu name" msgstr "E792: Nom de menu vide" @@ -4076,8 +4056,6 @@ msgstr "E331: Ajout d'éléments de menu directement dans barre de menu interdit" msgid "E332: Separator cannot be part of a menu path" msgstr "E332: Un séparateur ne peut faire partie d'un chemin de menu" -#. Now we have found the matching menu, and we list the mappings -#. Highlight title msgid "" "\n" "--- Menus ---" @@ -4088,6 +4066,10 @@ msgstr "" msgid "Tear off this menu" msgstr "Détacher ce menu" +#, c-format +msgid "E335: Menu not defined for %s mode" +msgstr "E335: Le menu n'est pas défini pour le mode %s" + msgid "E333: Menu path must lead to a menu item" msgstr "E333: Le chemin du menu doit conduire à un élément de menu" @@ -4095,10 +4077,6 @@ msgstr "E333: Le chemin du menu doit conduire à un élément de menu" msgid "E334: Menu not found: %s" msgstr "E334: Menu introuvable : %s" -#, c-format -msgid "E335: Menu not defined for %s mode" -msgstr "E335: Le menu n'est pas défini pour le mode %s" - msgid "E336: Menu path must lead to a sub-menu" msgstr "E336: Le chemin du menu doit conduire à un sous-menu" @@ -4172,7 +4150,6 @@ msgstr "Enregistrer un fichier" msgid "Open File dialog" msgstr "Ouvrir un fichier" -#. TODO: non-GUI file selector here msgid "E338: Sorry, no file browser in console mode" msgstr "E338: Désolé, pas de sélecteur de fichiers en mode console" @@ -4338,8 +4315,10 @@ msgstr "E662: Au début de la liste des modifications" msgid "E663: At end of changelist" msgstr "E663: À la fin de la liste des modifications" -msgid "Type :quit<Enter> to exit Vim" -msgstr "tapez :q<Entrée> pour quitter Vim" +msgid "Type :qa! and press <Enter> to abandon all changes and exit Vim" +msgstr "" +"Tapez :qa! puis <Entrée> pour abandonner tous les changements et quitter " +"Vim" #, c-format msgid "1 line %sed 1 time" @@ -4372,7 +4351,6 @@ msgid "E748: No previously used register" msgstr "E748: Aucun registre n'a été précédemment utilisé" # DB - Question O/N. -#. must display the prompt msgid "cannot yank; delete anyway" msgstr "impossible de réaliser une copie ; effacer tout de même" @@ -4387,25 +4365,30 @@ msgstr "%ld lignes modifiées" msgid "freeing %ld lines" msgstr "libération de %ld lignes" -msgid "block of 1 line yanked" -msgstr "bloc de 1 ligne copié" +#, c-format +msgid " into \"%c" +msgstr " dans \"%c" -msgid "1 line yanked" -msgstr "1 ligne copiée" +#, c-format +msgid "block of 1 line yanked%s" +msgstr "bloc de 1 ligne copié%s" + +#, c-format +msgid "1 line yanked%s" +msgstr "1 ligne copiée%s" #, c-format -msgid "block of %ld lines yanked" -msgstr "bloc de %ld lignes copié" +msgid "block of %ld lines yanked%s" +msgstr "bloc de %ld lignes copié%s" #, c-format -msgid "%ld lines yanked" -msgstr "%ld lignes copiées" +msgid "%ld lines yanked%s" +msgstr "%ld lignes copiées%s" #, c-format msgid "E353: Nothing in register %s" msgstr "E353: Le registre %s est vide" -#. Highlight title msgid "" "\n" "--- Registers ---" @@ -4469,9 +4452,6 @@ msgstr "" msgid "(+%ld for BOM)" msgstr "(+%ld pour le BOM)" -msgid "%<%f%h%m%=Page %N" -msgstr "%<%f%h%m%=Page %N" - msgid "Thanks for flying Vim" msgstr "Merci d'avoir choisi Vim" @@ -4582,6 +4562,9 @@ msgstr "E541: trop d'éléments" msgid "E542: unbalanced groups" msgstr "E542: parenthèses non équilibrées" +msgid "E946: Cannot make a terminal with running job modifiable" +msgstr "E946: terminal avec tâche en cours d'exécution ne peut pas être modifiable" + msgid "E590: A preview window already exists" msgstr "E590: Il existe déjà une fenêtre de prévisualisation" @@ -4600,9 +4583,6 @@ msgstr "E594: Au moins %d colonnes sont nécessaires" msgid "E355: Unknown option: %s" msgstr "E355: Option inconnue : %s" -#. There's another character after zeros or the string -#. * is empty. In both cases, we are trying to set a -#. * num option using a string. #, c-format msgid "E521: Number required: &%s = '%s'" msgstr "E521: Nombre requis : &%s = '%s'" @@ -4675,7 +4655,6 @@ msgstr "Impossible de modifier le mode de la console ?!\n" msgid "mch_get_shellsize: not a console??\n" msgstr "mch_get_shellsize : pas une console ?!\n" -#. if Vim opened a window: Executing a shell may cause crashes msgid "E360: Cannot execute shell with -f option" msgstr "E360: Impossible d'exécuter un shell avec l'option -f" @@ -4902,7 +4881,6 @@ msgstr "E376: %%%c invalide dans le préfixe de la chaîne de format" msgid "E377: Invalid %%%c in format string" msgstr "E377: %%%c invalide dans la chaîne de format" -#. nothing found msgid "E378: 'errorformat' contains no pattern" msgstr "E378: 'errorformat' ne contient aucun motif" @@ -4941,9 +4919,6 @@ msgstr "E381: Au sommet de la pile quickfix" msgid "No entries" msgstr "Aucune entrée" -msgid "E382: Cannot write, 'buftype' option is set" -msgstr "E382: Écriture impossible, l'option 'buftype' est activée" - msgid "Error file" msgstr "Fichier d'erreurs" @@ -4968,6 +4943,12 @@ msgstr "E369: élément invalide dans %s%%[]" msgid "E769: Missing ] after %s[" msgstr "E769: ']' manquant après %s[" +msgid "E944: Reverse range in character class" +msgstr "E944: Classe de caractères inversée" + +msgid "E945: Range too large in character class" +msgstr "E945: Plage de classe de caractères trop large" + #, c-format msgid "E53: Unmatched %s%%(" msgstr "E53: Pas de correspondance pour %s%%(" @@ -4994,6 +4975,9 @@ msgstr "E69: ']' manquant après %s%%[" msgid "E70: Empty %s%%[]" msgstr "E70: %s%%[] vide" +msgid "E65: Illegal back reference" +msgstr "E65: post-référence invalide" + msgid "E339: Pattern too long" msgstr "E339: Motif trop long" @@ -5030,9 +5014,6 @@ msgstr "E63: utilisation invalide de \\_" msgid "E64: %s%c follows nothing" msgstr "E64: %s%c ne suit aucun atome" -msgid "E65: Illegal back reference" -msgstr "E65: post-référence invalide" - msgid "E68: Invalid character after \\z" msgstr "E68: Caractère invalide après \\z" @@ -5084,7 +5065,6 @@ msgstr "E867: (NFA) Opérateur inconnu '\\z%c'" msgid "E867: (NFA) Unknown operator '\\%%%c'" msgstr "E867: (NFA) Opérateur inconnu '\\%%%c'" -#. should never happen msgid "E868: Error building NFA with equivalence class!" msgstr "E868: Erreur lors de la construction du NFA avec classe d'équivalence" @@ -5095,11 +5075,9 @@ msgstr "E869: (NFA) Opérateur inconnu '\\@%c'" msgid "E870: (NFA regexp) Error reading repetition limits" msgstr "E870: (regexp NFA) Erreur à la lecture des limites de répétition" -#. Can't have a multi follow a multi. msgid "E871: (NFA regexp) Can't have a multi follow a multi !" msgstr "E871: (regexp NFA) Un multi ne peut pas suivre un multi !" -#. Too many `(' msgid "E872: (NFA regexp) Too many '('" msgstr "E872: (regexp NFA) Trop de '('" @@ -5209,7 +5187,6 @@ msgstr "E386: '?' ou '/' attendu après ';'" msgid " (includes previously listed match)" msgstr " (inclut des correspondances listées précédemment)" -#. cursor at status line msgid "--- Included files " msgstr "--- Fichiers inclus " @@ -5286,8 +5263,6 @@ msgstr "Désolé, aucune suggestion" msgid "Sorry, only %ld suggestions" msgstr "Désolé, seulement %ld suggestions" -#. for when 'cmdheight' > 1 -#. avoid more prompt #, c-format msgid "Change \"%.*s\" to:" msgstr "Remplacer \"%.*s\" par :" @@ -5574,10 +5549,6 @@ msgstr "%d noeuds compressés sur %d ; %d (%d%%) restants " msgid "Reading back spell file..." msgstr "Relecture du fichier orthographique" -#. -#. * Go through the trie of good words, soundfold each word and add it to -#. * the soundfold trie. -#. msgid "Performing soundfolding..." msgstr "Analyse phonétique en cours..." @@ -5634,18 +5605,39 @@ msgid "E763: Word characters differ between spell files" msgstr "" "E763: Les caractères de mots diffèrent entre les fichiers orthographiques" -#. This should have been checked when generating the .spl -#. * file. msgid "E783: duplicate char in MAP entry" msgstr "E783: caractère dupliqué dans l'entrée MAP" msgid "No Syntax items defined for this buffer" msgstr "Aucun élément de syntaxe défini pour ce tampon" +msgid "syntax conceal on" +msgstr "\"syntax conceal\" activée" + +msgid "syntax conceal off" +msgstr "\"syntax conceal\" désactivée" + #, c-format msgid "E390: Illegal argument: %s" msgstr "E390: Argument invalide : %s" +msgid "syntax case ignore" +msgstr "syntaxe ignore la casse" + +msgid "syntax case match" +msgstr "syntaxe respecte la casse" + +msgid "syntax spell toplevel" +msgstr "contrôle orthographique dans le texte sans groupe syntaxique" + +msgid "syntax spell notoplevel" +msgstr "pas de contrôle orthographique dans le texte sans groupe syntaxique" + +msgid "syntax spell default" +msgstr "" +"contrôle orthographique dans le texte sans groupe syntaxique, sauf si @Spell/" +"@NoSpell" + msgid "syntax iskeyword " msgstr "syntaxe iskeyword " @@ -5885,7 +5877,6 @@ msgstr "E428: Impossible d'aller au-delà du dernier marqueur correspondant" msgid "File \"%s\" does not exist" msgstr "Le fichier \"%s\" n'existe pas" -#. Give an indication of the number of matching tags #, c-format msgid "tag %d of %d%s" msgstr "marqueur %d sur %d%s" @@ -5900,7 +5891,6 @@ msgstr " Utilisation d'un marqueur avec une casse différente !" msgid "E429: File \"%s\" does not exist" msgstr "E429: Le fichier \"%s\" n'existe pas" -#. Highlight title msgid "" "\n" " # TO tag FROM line in file/text" @@ -5931,7 +5921,6 @@ msgstr "Avant l'octet %ld" msgid "E432: Tags file not sorted: %s" msgstr "E432: Le fichier de marqueurs %s n'est pas ordonné" -#. never opened any tags file msgid "E433: No tags file" msgstr "E433: Aucun fichier de marqueurs" @@ -5968,7 +5957,6 @@ msgstr "E436: Aucune entrée \"%s\" dans termcap" msgid "E437: terminal capability \"cm\" required" msgstr "E437: capacité de terminal \"cm\" requise" -#. Highlight title msgid "" "\n" "--- Terminal keys ---" @@ -5979,6 +5967,21 @@ msgstr "" msgid "Cannot open $VIMRUNTIME/rgb.txt" msgstr "Impossible d'ouvrir $VIMRUNTIME/rgb.txt" +msgid "Terminal" +msgstr "Terminal" + +msgid "Terminal-finished" +msgstr "Terminal-fini" + +msgid "active" +msgstr "actif" + +msgid "running" +msgstr "en cours" + +msgid "finished" +msgstr "fini" + msgid "new shell started\n" msgstr "nouveau shell démarré\n" @@ -5989,13 +5992,10 @@ msgstr "Vim : Erreur lors de la lecture de l'entrée, sortie...\n" msgid "Used CUT_BUFFER0 instead of empty selection" msgstr "CUT_BUFFER0 utilisé plutôt qu'une sélection vide" -#. This happens when the FileChangedRO autocommand changes the -#. * file in a way it becomes shorter. msgid "E881: Line count changed unexpectedly" msgstr "E881: Le nombre de lignes a été changé inopinément" # DB - Question O/N. -#. must display the prompt msgid "No undo possible; continue anyway" msgstr "Annulation impossible ; continuer" @@ -6249,6 +6249,10 @@ msgid "E126: Missing :endfunction" msgstr "E126: Il manque :endfunction" #, c-format +msgid "W22: Text found after :endfunction: %s" +msgstr "W22: Texte trouvé après :endfunction: %s" + +#, c-format msgid "E707: Function name conflicts with variable: %s" msgstr "E707: Le nom de fonction entre en conflit avec la variable : %s" @@ -6640,7 +6644,6 @@ msgstr "&Comparer avec Vim" msgid "Edit with &Vim" msgstr "Éditer dans &Vim" -#. Now concatenate msgid "Edit with existing Vim - " msgstr "Éditer dans le Vim existant - " @@ -6664,10 +6667,6 @@ msgstr "Le chemin est trop long !" msgid "--No lines in buffer--" msgstr "--Le tampon est vide--" -#. -#. * The error messages that can be shared are included here. -#. * Excluded are errors that are only used once and debugging messages. -#. msgid "E470: Command aborted" msgstr "E470: Commande annulée" @@ -6854,12 +6853,6 @@ msgstr "E484: Impossible d'ouvrir le fichier \"%s\"" msgid "E485: Can't read file %s" msgstr "E485: Impossible de lire le fichier %s" -msgid "E37: No write since last change (add ! to override)" -msgstr "E37: Modifications non enregistrées (ajoutez ! pour passer outre)" - -msgid "E37: No write since last change" -msgstr "E37: Modifications non enregistrées" - msgid "E38: Null argument" msgstr "E38: Argument null" @@ -6997,8 +6990,8 @@ msgstr "E592: 'winwidth' ne peut pas être plus petit que 'winminwidth'" msgid "E80: Error while writing" msgstr "E80: Erreur lors de l'écriture" -msgid "Zero count" -msgstr "Le quantificateur est nul" +msgid "E939: Positive count required" +msgstr "E939: Quantificateur positif requis" msgid "E81: Using <SID> not in a script context" msgstr "E81: <SID> utilisé en dehors d'un script" @@ -7151,7 +7144,6 @@ msgstr "le constructeur de liste n'accepte pas les arguments nommés" msgid "list index out of range" msgstr "index de liste hors limites" -#. No more suitable format specifications in python-2.3 #, c-format msgid "internal error: failed to get vim list item %d" msgstr "erreur interne : accès à un élément %d de liste a échoué" diff --git a/src/nvim/po/ga.po b/src/nvim/po/ga.po index abb3565077..d409560f6b 100644 --- a/src/nvim/po/ga.po +++ b/src/nvim/po/ga.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: vim 7.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-10-25 09:31-0500\n" +"POT-Creation-Date: 2017-07-11 15:45-0500\n" "PO-Revision-Date: 2010-04-14 10:01-0500\n" "Last-Translator: Kevin Patrick Scannell <kscanne@gmail.com>\n" "Language-Team: Irish <gaeilge-gnulinux@lists.sourceforge.net>\n" @@ -239,7 +239,8 @@ msgid "E917: Cannot use a callback with %s()" msgstr "E917: Ní féidir aisghlaoch a úsáid le %s()" msgid "E912: cannot use ch_evalexpr()/ch_sendexpr() with a raw or nl channel" -msgstr "E912: ní féidir ch_evalexpr()/ch_sendexpr() a úsáid le cainéal raw nó nl" +msgstr "" +"E912: ní féidir ch_evalexpr()/ch_sendexpr() a úsáid le cainéal raw nó nl" msgid "E906: not an open channel" msgstr "E906: ní cainéal oscailte é" @@ -426,6 +427,9 @@ msgstr "%s á scanadh" msgid "Scanning tags." msgstr "Clibeanna á scanadh." +msgid "match in file" +msgstr "meaitseáil sa chomhad" + msgid " Adding" msgstr " Méadú" @@ -513,6 +517,12 @@ msgstr "E690: \"in\" ar iarraidh i ndiaidh :for" msgid "E108: No such variable: \"%s\"" msgstr "E108: Níl a leithéid d'athróg: \"%s\"" +#. For historic reasons this error is not given for a list or dict. +#. * E.g., the b: dict could be locked/unlocked. +#, c-format +msgid "E940: Cannot lock or unlock variable %s" +msgstr "E940: Ní féidir athróg %s a ghlasáil nó a dhíghlasáil" + msgid "E743: variable nested too deep for (un)lock" msgstr "E743: athróg neadaithe ródhomhain chun í a (dí)ghlasáil" @@ -691,15 +701,6 @@ msgid "&Ok" msgstr "&Ok" #, c-format -msgid "+-%s%3ld line: " -msgid_plural "+-%s%3ld lines: " -msgstr[0] "+-%s%3ld líne: " -msgstr[1] "+-%s%3ld líne: " -msgstr[2] "+-%s%3ld líne: " -msgstr[3] "+-%s%3ld líne: " -msgstr[4] "+-%s%3ld líne: " - -#, c-format msgid "E700: Unknown function: %s" msgstr "E700: Feidhm anaithnid: %s" @@ -707,7 +708,9 @@ msgid "E922: expected a dict" msgstr "E922: bhíothas ag súil le foclóir" msgid "E923: Second argument of function() must be a list or a dict" -msgstr "E923: Caithfidh an dara hargóint de function() a bheith ina liosta nó ina foclóir" +msgstr "" +"E923: Caithfidh an dara hargóint de function() a bheith ina liosta nó ina " +"foclóir" msgid "" "&OK\n" @@ -744,8 +747,8 @@ msgstr "E727: Tosach thar dheireadh" msgid "<empty>" msgstr "<folamh>" -msgid "E240: No connection to Vim server" -msgstr "E240: Níl aon nasc le freastalaí Vim" +msgid "E240: No connection to the X server" +msgstr "E240: Níl aon cheangal leis an bhfreastalaí X" #, c-format msgid "E241: Unable to send to %s" @@ -754,6 +757,12 @@ msgstr "E241: Ní féidir aon rud a sheoladh chuig %s" msgid "E277: Unable to read a server reply" msgstr "E277: Ní féidir freagra ón fhreastalaí a léamh" +msgid "E941: already started a server" +msgstr "E941: tosaíodh freastalaí cheana" + +msgid "E942: +clientserver feature not available" +msgstr "E942: níl an ghné +clientserver ar fáil" + msgid "remove() argument" msgstr "argóint remove()" @@ -993,8 +1002,9 @@ msgstr " ar líne amháin" msgid " on %ld lines" msgstr " ar %ld líne" -msgid "E147: Cannot do :global recursive" -msgstr "E147: Ní cheadaítear :global go hathchúrsach" +#. will increment global_busy to break out of the loop +msgid "E147: Cannot do :global recursive with a range" +msgstr "E147: Ní cheadaítear :global athchúrsach le raon" # should have ":" msgid "E148: Regular expression missing from global" @@ -1179,6 +1189,14 @@ msgstr "Ag déanamh cuardach ar \"%s\"" msgid "not found in '%s': \"%s\"" msgstr "gan aimsiú in '%s': \"%s\"" +#, c-format +msgid "W20: Required python version 2.x not supported, ignoring file: %s" +msgstr "W20: Níl leagan 2.x de Python ar fáil; ag déanamh neamhaird de %s" + +#, c-format +msgid "W21: Required python version 3.x not supported, ignoring file: %s" +msgstr "W21: Níl leagan 3.x de Python ar fáil; ag déanamh neamhaird de %s" + msgid "Source Vim script" msgstr "Foinsigh script Vim" @@ -1278,6 +1296,9 @@ msgstr "Raon droim ar ais, babhtáil" msgid "E494: Use w or w>>" msgstr "E494: Bain úsáid as w nó w>>" +msgid "E943: Command table needs to be updated, run 'make cmdidxs'" +msgstr "E943: Caithfear tábla na n-orduithe a nuashonrú; rith 'make cmdidxs'" + msgid "E319: Sorry, the command is not available in this version" msgstr "E319: Tá brón orm, níl an t-ordú ar fáil sa leagan seo" @@ -1391,7 +1412,7 @@ msgid "No swap file" msgstr "Níl aon chomhad babhtála ann" msgid "Append File" -msgstr "Cuir Comhad i nDeireadh" +msgstr "Ceangail Comhad ag an Deireadh" msgid "E747: Cannot change directory, buffer is modified (add ! to override)" msgstr "" @@ -1412,10 +1433,10 @@ msgid "Window position: X %d, Y %d" msgstr "Ionad na fuinneoige: X %d, Y %d" msgid "E188: Obtaining window position not implemented for this platform" -msgstr "E188: Ní féidir ionad na fuinneoige a fháil amach ar an chóras seo" +msgstr "E188: Ní féidir ionad na fuinneoige a fháil amach ar an gcóras seo" msgid "E466: :winpos requires two number arguments" -msgstr "E466: ní foláir dhá argóint uimhriúla le :winpos" +msgstr "E466: dhá argóint uimhriúla de dhíth le :winpos" msgid "E930: Cannot use :redir inside execute()" msgstr "E930: Ní féidir :redir a úsáid laistigh de execute()" @@ -2045,15 +2066,6 @@ msgstr "E350: Ní féidir filleadh a chruthú leis an 'foldmethod' reatha" msgid "E351: Cannot delete fold with current 'foldmethod'" msgstr "E351: Ní féidir filleadh a scriosadh leis an 'foldmethod' reatha" -#, c-format -msgid "+--%3ld line folded " -msgid_plural "+--%3ld lines folded " -msgstr[0] "+--%3ld líne fillte " -msgstr[1] "+--%3ld líne fillte " -msgstr[2] "+--%3ld líne fillte " -msgstr[3] "+--%3ld líne fillte " -msgstr[4] "+--%3ld líne fillte " - msgid "E222: Add to read buffer" msgstr "E222: Cuir leis an maolán léite" @@ -2652,8 +2664,8 @@ msgid "" "E895: Sorry, this command is disabled, the MzScheme's racket/base module " "could not be loaded." msgstr "" -"E895: Ár leithscéal, tá an t-ordú seo díchumasaithe; níorbh fhéidir " -"modúl racket/base MzScheme a luchtú." +"E895: Ár leithscéal, tá an t-ordú seo díchumasaithe; níorbh fhéidir modúl " +"racket/base MzScheme a luchtú." msgid "invalid expression" msgstr "slonn neamhbhailí" @@ -2846,6 +2858,10 @@ msgid "E251: VIM instance registry property is badly formed. Deleted!" msgstr "E251: Airí míchumtha sa chlárlann áisc VIM. Scriosta!" #, c-format +msgid "E938: Duplicate key in JSON: \"%s\"" +msgstr "E938: Eochair dhúblach in JSON: \"%s\"" + +#, c-format msgid "E696: Missing comma in List: %s" msgstr "E696: Camóg ar iarraidh i Liosta: %s" @@ -2898,7 +2914,8 @@ msgid "Vim: Error: Failure to start gvim from NetBeans\n" msgstr "Vim: Earráid: Theip ar thosú gvim ó NetBeans\n" msgid "Vim: Error: This version of Vim does not run in a Cygwin terminal\n" -msgstr "Vim: Earráid: Ní féidir an leagan seo de Vim a rith i dteirminéal Cygwin\n" +msgstr "" +"Vim: Earráid: Ní féidir an leagan seo de Vim a rith i dteirminéal Cygwin\n" msgid "Vim: Warning: Output is not to a terminal\n" msgstr "Vim: Rabhadh: Níl an t-aschur ag dul chuig teirminéal\n" @@ -3067,7 +3084,12 @@ msgid "-T <terminal>\tSet terminal type to <terminal>" msgstr "-T <teirminéal>\tSocraigh cineál teirminéal" msgid "--not-a-term\t\tSkip warning for input/output not being a terminal" -msgstr "--not-a-term\t\tNá bac le rabhadh faoi ionchur/aschur gan a bheith ón teirminéal" +msgstr "" +"--not-a-term\t\tNá bac le rabhadh faoi ionchur/aschur gan a bheith ón " +"teirminéal" + +msgid "--ttyfail\t\tExit if input or output is not a terminal" +msgstr "--ttyfail\t\tScoir mura bhfuil ionchur agus aschur ina dteirminéil" msgid "-u <vimrc>\t\tUse <vimrc> instead of any .vimrc" msgstr "-u <vimrc>\t\tÚsáid <vimrc> in ionad aon .vimrc" @@ -3435,7 +3457,7 @@ msgid "" "Maybe no changes were made or Vim did not update the swap file." msgstr "" "\n" -"B'fhéidir nach raibh aon athrú á dhéanamh, nó tá an comhad\n" +"B'fhéidir nach raibh aon athrú á dhéanamh, nó tá an comhad " "babhtála as dáta." msgid " cannot be used with this version of Vim.\n" @@ -4122,8 +4144,8 @@ msgstr "E662: Ag tosach liosta na n-athruithe" msgid "E663: At end of changelist" msgstr "E663: Ag deireadh liosta na n-athruithe" -msgid "Type :quit<Enter> to exit Vim" -msgstr "Clóscríobh :quit<Enter> chun Vim a scor" +msgid "Type :qa! and press <Enter> to abandon all changes and exit Vim" +msgstr "Clóscríobh :qa! agus brúigh <Enter> le fágáil ó Vim gan athruithe a shábháil" # ouch - English -ed ? #, c-format @@ -4234,7 +4256,8 @@ msgid "" "Selected %s%ld of %ld Lines; %lld of %lld Words; %lld of %lld Chars; %lld of " "%lld Bytes" msgstr "" -"Roghnaíodh %s%ld as %ld Líne; %lld as %lld Focal; %lld as %lld Carachtar; %lld as %lld Beart" +"Roghnaíodh %s%ld as %ld Líne; %lld as %lld Focal; %lld as %lld Carachtar; " +"%lld as %lld Beart" #, c-format msgid "Col %s of %s; Line %ld of %ld; Word %lld of %lld; Byte %lld of %lld" @@ -4245,7 +4268,8 @@ msgid "" "Col %s of %s; Line %ld of %ld; Word %lld of %lld; Char %lld of %lld; Byte " "%lld of %lld" msgstr "" -"Col %s as %s; Líne %ld as %ld; Focal %lld as %lld; Carachtar %lld as %lld; Beart %lld as %lld" +"Col %s as %s; Líne %ld as %ld; Focal %lld as %lld; Carachtar %lld as %lld; " +"Beart %lld as %lld" #, c-format msgid "(+%ld for BOM)" @@ -4507,8 +4531,7 @@ msgstr "" #, c-format msgid "E244: Illegal quality name \"%s\" in font name \"%s\"" -msgstr "" -"E244: Ainm neamhcheadaithe ar cháilíocht \"%s\" in ainm cló \"%s\"" +msgstr "E244: Ainm neamhcheadaithe ar cháilíocht \"%s\" in ainm cló \"%s\"" #, c-format msgid "E245: Illegal char '%c' in font name \"%s\"" @@ -4551,7 +4574,8 @@ msgstr "Níorbh fhéidir comhthéacs slándála %s a shocrú le haghaidh %s" #, c-format msgid "Could not get security context %s for %s. Removing it!" -msgstr "Níorbh fhéidir comhthéacs slándála %s a fháil le haghaidh %s. Á bhaint!" +msgstr "" +"Níorbh fhéidir comhthéacs slándála %s a fháil le haghaidh %s. Á bhaint!" msgid "" "\n" @@ -4752,6 +4776,12 @@ msgstr "E369: mír neamhbhailí i %s%%[]" msgid "E769: Missing ] after %s[" msgstr "E769: ] ar iarraidh i ndiaidh %s[" +msgid "E944: Reverse range in character class" +msgstr "E944: Raon aisiompaithe in aicme carachtar" + +msgid "E945: Range too large in character class" +msgstr "E945: Raon rómhór in aicme carachtar" + #, c-format msgid "E53: Unmatched %s%%(" msgstr "E53: %s%%( corr" @@ -4778,6 +4808,9 @@ msgstr "E69: ] ar iarraidh i ndiaidh %s%%[" msgid "E70: Empty %s%%[]" msgstr "E70: %s%%[] folamh" +msgid "E65: Illegal back reference" +msgstr "E65: Cúltagairt neamhbhailí" + msgid "E339: Pattern too long" msgstr "E339: Slonn rófhada" @@ -4814,9 +4847,6 @@ msgstr "E63: úsáid neamhbhailí de \\_" msgid "E64: %s%c follows nothing" msgstr "E64: níl aon rud roimh %s%c" -msgid "E65: Illegal back reference" -msgstr "E65: Cúltagairt neamhbhailí" - msgid "E68: Invalid character after \\z" msgstr "E68: Carachtar neamhbhailí i ndiaidh \\z" @@ -5424,12 +5454,33 @@ msgstr "E783: carachtar dúblach in iontráil MAP" msgid "No Syntax items defined for this buffer" msgstr "Níl aon mhír chomhréire sainmhínithe le haghaidh an mhaoláin seo" +msgid "syntax conceal on" +msgstr "syntax conceal on" + +msgid "syntax conceal off" +msgstr "syntax conceal off" + #, c-format msgid "E390: Illegal argument: %s" msgstr "E390: Argóint neamhcheadaithe: %s" +msgid "syntax case ignore" +msgstr "syntax case ignore" + +msgid "syntax case match" +msgstr "syntax case match" + +msgid "syntax spell toplevel" +msgstr "syntax spell toplevel" + +msgid "syntax spell notoplevel" +msgstr "syntax spell notoplevel" + +msgid "syntax spell default" +msgstr "syntax spell default" + msgid "syntax iskeyword " -msgstr "comhréir iskeyword " +msgstr "syntax iskeyword " #, c-format msgid "E391: No such syntax cluster: %s" @@ -6006,6 +6057,10 @@ msgid "E126: Missing :endfunction" msgstr "E126: :endfunction ar iarraidh" #, c-format +msgid "W22: Text found after :endfunction: %s" +msgstr "W22: Aimsíodh téacs tar éis :endfunction: %s" + +#, c-format msgid "E707: Function name conflicts with variable: %s" msgstr "E707: Tagann ainm na feidhme salach ar athróg: %s" @@ -6475,6 +6530,10 @@ msgstr "E236: Ní cló aonleithid é \"%s\"" msgid "E473: Internal error" msgstr "E473: Earráid inmheánach" +#, c-format +msgid "E685: Internal error: %s" +msgstr "E685: Earráid inmheánach: %s" + msgid "Interrupted" msgstr "Idirbhriste" @@ -6635,7 +6694,7 @@ msgid "E486: Pattern not found: %s" msgstr "E486: Patrún gan aimsiú: %s" msgid "E487: Argument must be positive" -msgstr "E487: Ní foláir argóint dheimhneach" +msgstr "E487: Argóint dheimhneach de dhíth" msgid "E459: Cannot go back to previous directory" msgstr "E459: Ní féidir a fhilleadh ar an chomhadlann roimhe seo" @@ -6745,8 +6804,8 @@ msgstr "E592: ní cheadaítear 'winwidth' a bheith níos lú ná 'winminwidth'" msgid "E80: Error while writing" msgstr "E80: Earráid agus á scríobh" -msgid "Zero count" -msgstr "Nialas" +msgid "E939: Positive count required" +msgstr "E939: Uimhir dheimhneach de dhíth" msgid "E81: Using <SID> not in a script context" msgstr "E81: <SID> á úsáid nach i gcomhthéacs scripte" @@ -6760,10 +6819,6 @@ msgstr "E463: Réigiún cosanta, ní féidir é a athrú" msgid "E744: NetBeans does not allow changes in read-only files" msgstr "E744: Ní cheadaíonn NetBeans aon athrú i gcomhaid inléite amháin" -#, c-format -msgid "E685: Internal error: %s" -msgstr "E685: Earráid inmheánach: %s" - msgid "E363: pattern uses more memory than 'maxmempattern'" msgstr "E363: úsáideann an patrún níos mó cuimhne ná 'maxmempattern'" @@ -7062,6 +7117,28 @@ msgstr "" "Níorbh fhéidir an chonair a shocrú: ní liosta é sys.path\n" "Ba chóir duit vim.VIM_SPECIAL_PATH a cheangal le deireadh sys.path" +#~ msgid "+-%s%3ld line: " +#~ msgid_plural "+-%s%3ld lines: " +#~ msgstr[0] "+-%s%3ld líne: " +#~ msgstr[1] "+-%s%3ld líne: " +#~ msgstr[2] "+-%s%3ld líne: " +#~ msgstr[3] "+-%s%3ld líne: " +#~ msgstr[4] "+-%s%3ld líne: " + +#~ msgid "+--%3ld line folded " +#~ msgid_plural "+--%3ld lines folded " +#~ msgstr[0] "+--%3ld líne fillte " +#~ msgstr[1] "+--%3ld líne fillte " +#~ msgstr[2] "+--%3ld líne fillte " +#~ msgstr[3] "+--%3ld líne fillte " +#~ msgstr[4] "+--%3ld líne fillte " + +#~ msgid "Type :quit<Enter> to exit Vim" +#~ msgstr "Clóscríobh :quit<Enter> chun Vim a scor" + +#~ msgid "Zero count" +#~ msgstr "Nialas" + #~ msgid "E693: Can only compare Funcref with Funcref" #~ msgstr "E693: Is féidir Funcref a chur i gcomparáid le Funcref eile amháin" diff --git a/src/nvim/po/it.po b/src/nvim/po/it.po index b8b119ade6..c95faf1dce 100644 --- a/src/nvim/po/it.po +++ b/src/nvim/po/it.po @@ -11,7 +11,7 @@ # msgid "" msgstr "" -"Project-Id-Version: vim 7.4\n" +"Project-Id-Version: vim 8.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-02-11 12:10+0100\n" "PO-Revision-Date: 2016-02-11 14:42+0200\n" @@ -1402,6 +1402,33 @@ msgstr "com: %s" msgid "frame is zero" msgstr "al livello zero" +msgid "E901: gethostbyname() in channel_open()" +msgstr "E901: gethostbyname() in channel_open()" + +msgid "E898: socket() in channel_open()" +msgstr "E898: socket() in channel_open()" + +msgid "E903: received command with non-string argument" +msgstr "E903: il comando ricevuto non aveva come argomento una stringa" + +msgid "E904: last argument for expr/call must be a number" +msgstr "E904: l'ultimo argomento per espressione/chiamata dev'essere numerico" + +msgid "E904: third argument for call must be a list" +msgstr "E904: il terzo argomento della chiamata dev'essere una Lista" + +#, c-format +msgid "E905: received unknown command: %s" +msgstr "E905: recevuto comando non conosciuto: %s" + +#, c-format +msgid "E630: %s(): write while not connected" +msgstr "E630: %s(): scrittura in mancanza di connessione" + +#, c-format +msgid "E631: %s(): write failed" +msgstr "E631: %s(): scrittura non riuscita" + #, c-format msgid "frame at highest level: %d" msgstr "al livello più alto: %d" @@ -4813,9 +4840,16 @@ msgstr "" "Non posso impostare il contesto di sicurezza per " #, c-format +msgid "E151: No match: %s" +msgstr "E151: Nessuna corrispondenza: %s" + +#, c-format msgid "Could not set security context %s for %s" msgstr "Non posso impostare il contesto di sicurezza %s per %s" +msgid "E934: Cannot jump to a buffer that does not have a name" +msgstr "E934: Impossibile passare a un buffer che non ha un nome" + #, c-format msgid "Could not get security context %s for %s. Removing it!" msgstr "Non posso ottenere il contesto di sicurezza %s per %s. Lo rimuovo!" @@ -5351,10 +5385,15 @@ msgstr "E772: Il file ortografico è per versioni di Vim più recenti" msgid "E770: Unsupported section in spell file" msgstr "E770: Sezione non supportata nel file ortografico" -#: ../spell.c:3762 +msgid "E944: Reverse range in character class" +msgstr "E944: Intervallo invertito nella classe di caratteri" + +msgid "E945: Range too large in character class" +msgstr "E945: Intervallo troppo ampio nella classe di caratteri" + #, c-format -msgid "Warning: region %s not supported" -msgstr "Avviso: regione %s non supportata" +msgid "E779: Old .sug file, needs to be updated: %s" +msgstr "E779: File .sug obsoleto, è necessario aggiornarlo: %s" #: ../spell.c:4550 #, c-format @@ -5714,11 +5753,6 @@ msgstr "E753: Non trovato: %s" msgid "E778: This does not look like a .sug file: %s" msgstr "E778: Questo non sembra un file .sug: %s" -#: ../spell.c:9282 -#, c-format -msgid "E779: Old .sug file, needs to be updated: %s" -msgstr "E779: File .sug obsoleto, è necessario aggiornarlo: %s" - #: ../spell.c:9286 #, c-format msgid "E780: .sug file is for newer version of Vim: %s" diff --git a/src/nvim/po/ja.euc-jp.po b/src/nvim/po/ja.euc-jp.po index 4b32096f1a..10d7342430 100644 --- a/src/nvim/po/ja.euc-jp.po +++ b/src/nvim/po/ja.euc-jp.po @@ -13,10 +13,10 @@ # msgid "" msgstr "" -"Project-Id-Version: Vim 7.4\n" +"Project-Id-Version: Vim 8.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-09-10 21:10+0900\n" -"PO-Revision-Date: 2016-09-10 21:20+0900\n" +"POT-Creation-Date: 2017-07-03 23:05+0900\n" +"PO-Revision-Date: 2017-07-12 20:45+0900\n" "Last-Translator: MURAOKA Taro <koron.kaoriya@gmail.com>\n" "Language-Team: vim-jp (https://github.com/vim-jp/lang-ja)\n" "Language: Japanese\n" @@ -245,7 +245,8 @@ msgid "E917: Cannot use a callback with %s()" msgstr "E917: %s() ¤Ë¥³¡¼¥ë¥Ð¥Ã¥¯¤Ï»È¤¨¤Þ¤»¤ó" msgid "E912: cannot use ch_evalexpr()/ch_sendexpr() with a raw or nl channel" -msgstr "E912: À¸¤ä nl ¥Á¥ã¥ó¥Í¥ë¤Ë ch_evalexpr()/ch_sendexpr ¤Ï»È¤¨¤Þ¤»¤ó" +msgstr "" +"E912: raw ¤ä nl ¥â¡¼¥É¤Î¥Á¥ã¥ó¥Í¥ë¤Ë ch_evalexpr()/ch_sendexpr() ¤Ï»È¤¨¤Þ¤»¤ó" msgid "E906: not an open channel" msgstr "E906: ³«¤¤¤Æ¤¤¤Ê¤¤¥Á¥ã¥ó¥Í¥ë¤Ç¤¹" @@ -431,6 +432,9 @@ msgstr "¥¹¥¥ã¥óÃæ: %s" msgid "Scanning tags." msgstr "¥¿¥°¤ò¥¹¥¥ã¥óÃæ." +msgid "match in file" +msgstr "¥Õ¥¡¥¤¥ëÆâ¤Î¥Þ¥Ã¥Á" + msgid " Adding" msgstr " ÄɲÃÃæ" @@ -519,6 +523,12 @@ msgstr "E690: :for ¤Î¸å¤Ë \"in\" ¤¬¤¢¤ê¤Þ¤»¤ó" msgid "E108: No such variable: \"%s\"" msgstr "E108: ¤½¤ÎÊÑ¿ô¤Ï¤¢¤ê¤Þ¤»¤ó: \"%s\"" +#. For historic reasons this error is not given for a list or dict. +#. * E.g., the b: dict could be locked/unlocked. +#, c-format +msgid "E940: Cannot lock or unlock variable %s" +msgstr "E940: ÊÑ¿ô %s ¤Ï¥í¥Ã¥¯¤Þ¤¿¤Ï¥¢¥ó¥í¥Ã¥¯¤Ç¤¤Þ¤»¤ó" + msgid "E743: variable nested too deep for (un)lock" msgstr "E743: (¥¢¥ó)¥í¥Ã¥¯¤¹¤ë¤Ë¤ÏÊÑ¿ô¤ÎÆþ¤ì»Ò¤¬¿¼²á¤®¤Þ¤¹" @@ -697,11 +707,6 @@ msgid "&Ok" msgstr "&Ok" #, c-format -msgid "+-%s%3ld line: " -msgid_plural "+-%s%3ld lines: " -msgstr[0] "+-%s%3ld ¹Ô: " - -#, c-format msgid "E700: Unknown function: %s" msgstr "E700: ̤ÃΤδؿô¤Ç¤¹: %s" @@ -746,8 +751,8 @@ msgstr "E727: ³«»Ï°ÌÃÖ¤¬½ªÎ»°ÌÃÖ¤ò±Û¤¨¤Þ¤·¤¿" msgid "<empty>" msgstr "<¶õ>" -msgid "E240: No connection to Vim server" -msgstr "E240: Vim ¥µ¡¼¥Ð¡¼¤Ø¤ÎÀܳ¤¬¤¢¤ê¤Þ¤»¤ó" +msgid "E240: No connection to the X server" +msgstr "E240: X ¥µ¡¼¥Ð¡¼¤Ø¤ÎÀܳ¤¬¤¢¤ê¤Þ¤»¤ó" #, c-format msgid "E241: Unable to send to %s" @@ -756,6 +761,12 @@ msgstr "E241: %s ¤ØÁ÷¤ë¤³¤È¤¬¤Ç¤¤Þ¤»¤ó" msgid "E277: Unable to read a server reply" msgstr "E277: ¥µ¡¼¥Ð¡¼¤Î±þÅú¤¬¤¢¤ê¤Þ¤»¤ó" +msgid "E941: already started a server" +msgstr "E941: ¥µ¡¼¥Ð¡¼¤Ï¤¹¤Ç¤Ë³«»Ï¤·¤Æ¤¤¤Þ¤¹" + +msgid "E942: +clientserver feature not available" +msgstr "E942: +clientserver µ¡Ç½¤¬Ìµ¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹" + msgid "remove() argument" msgstr "remove() ¤Î°ú¿ô" @@ -993,8 +1004,9 @@ msgstr " (·× 1 ¹ÔÆâ)" msgid " on %ld lines" msgstr " (·× %ld ¹ÔÆâ)" -msgid "E147: Cannot do :global recursive" -msgstr "E147: :global ¤òºÆµ¢Åª¤Ë¤Ï»È¤¨¤Þ¤»¤ó" +#. will increment global_busy to break out of the loop +msgid "E147: Cannot do :global recursive with a range" +msgstr "E147: :global ¤òÈϰÏÉÕ¤¤ÇºÆµ¢Åª¤Ë¤Ï»È¤¨¤Þ¤»¤ó" msgid "E148: Regular expression missing from global" msgstr "E148: global¥³¥Þ¥ó¥É¤ËÀµµ¬É½¸½¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó" @@ -1180,6 +1192,14 @@ msgstr "\"%s\" ¤ò¸¡º÷Ãæ" msgid "not found in '%s': \"%s\"" msgstr "'%s' ¤ÎÃæ¤Ë¤Ï¤¢¤ê¤Þ¤»¤ó: \"%s\"" +#, c-format +msgid "W20: Required python version 2.x not supported, ignoring file: %s" +msgstr "W20: Í׵ᤵ¤ì¤¿python 2.x¤ÏÂбþ¤·¤Æ¤¤¤Þ¤»¤ó¡¢¥Õ¥¡¥¤¥ë¤ò̵»ë¤·¤Þ¤¹: %s" + +#, c-format +msgid "W21: Required python version 3.x not supported, ignoring file: %s" +msgstr "W21: Í׵ᤵ¤ì¤¿python 3.x¤ÏÂбþ¤·¤Æ¤¤¤Þ¤»¤ó¡¢¥Õ¥¡¥¤¥ë¤ò̵»ë¤·¤Þ¤¹: %s" + msgid "Source Vim script" msgstr "Vim¥¹¥¯¥ê¥×¥È¤Î¼è¹þ¤ß" @@ -1278,6 +1298,11 @@ msgstr "µÕ¤µ¤Þ¤ÎÈϰϤ¬»ØÄꤵ¤ì¤Þ¤·¤¿, ÆþÂØ¤¨¤Þ¤¹¤«?" msgid "E494: Use w or w>>" msgstr "E494: w ¤â¤·¤¯¤Ï w>> ¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤" +msgid "E943: Command table needs to be updated, run 'make cmdidxs'" +msgstr "" +"E943: ¥³¥Þ¥ó¥É¥Æ¡¼¥Ö¥ë¤ò¹¹¿·¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡¢'make cmdidxs' ¤ò¼Â¹Ô¤·¤Æ¤¯¤À" +"¤µ¤¤" + msgid "E319: Sorry, the command is not available in this version" msgstr "E319: ¤³¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¤³¤Î¥³¥Þ¥ó¥É¤ÏÍøÍѤǤ¤Þ¤»¤ó, ¤´¤á¤ó¤Ê¤µ¤¤" @@ -2030,11 +2055,6 @@ msgstr "E350: ¸½ºß¤Î 'foldmethod' ¤Ç¤ÏÀÞ¾ö¤ß¤òºîÀ®¤Ç¤¤Þ¤»¤ó" msgid "E351: Cannot delete fold with current 'foldmethod'" msgstr "E351: ¸½ºß¤Î 'foldmethod' ¤Ç¤ÏÀÞ¾ö¤ß¤òºï½ü¤Ç¤¤Þ¤»¤ó" -#, c-format -msgid "+--%3ld line folded " -msgid_plural "+--%3ld lines folded " -msgstr[0] "+--%3ld ¹Ô¤¬ÀÞ¾ö¤Þ¤ì¤Þ¤·¤¿ " - msgid "E222: Add to read buffer" msgstr "E222: ÆÉ¹þ¥Ð¥Ã¥Õ¥¡¤ØÄɲÃ" @@ -2819,6 +2839,10 @@ msgid "E251: VIM instance registry property is badly formed. Deleted!" msgstr "E251: VIM ¼ÂÂΤÎÅÐÏ¿¥×¥í¥Ñ¥Æ¥£¤¬ÉÔÀµ¤Ç¤¹. ¾Ãµî¤·¤Þ¤·¤¿!" #, c-format +msgid "E938: Duplicate key in JSON: \"%s\"" +msgstr "E938: JSON¤Ë½ÅÊ£¥¡¼¤¬¤¢¤ê¤Þ¤¹: \"%s\"" + +#, c-format msgid "E696: Missing comma in List: %s" msgstr "E696: ¥ê¥¹¥È·¿¤Ë¥«¥ó¥Þ¤¬¤¢¤ê¤Þ¤»¤ó: %s" @@ -2858,7 +2882,7 @@ msgid "This Vim was not compiled with the diff feature." msgstr "¤³¤ÎVim¤Ë¤Ïdiffµ¡Ç½¤¬¤¢¤ê¤Þ¤»¤ó(¥³¥ó¥Ñ¥¤¥ë»þÀßÄê)." msgid "Attempt to open script file again: \"" -msgstr "¥¹¥¯¥ê¥×¥È¥Õ¥¡¥¤¥ë¤òºÆ¤Ó³«¤¤¤Æ¤ß¤Þ¤¹: \"" +msgstr "¥¹¥¯¥ê¥×¥È¥Õ¥¡¥¤¥ë¤òºÆ¤Ó³«¤³¤¦¤È¤·¤Þ¤·¤¿: \"" msgid "Cannot open for reading: \"" msgstr "ÆÉ¹þÍѤȤ·¤Æ³«¤±¤Þ¤»¤ó" @@ -3039,6 +3063,9 @@ msgstr "-T <terminal>\tüËö¤ò <terminal> ¤ËÀßÄꤹ¤ë" msgid "--not-a-term\t\tSkip warning for input/output not being a terminal" msgstr "--not-a-term\t\tÆþ½ÐÎϤ¬Ã¼Ëö¤Ç¤Ê¤¤¤È¤Î·Ù¹ð¤ò¥¹¥¥Ã¥×¤¹¤ë" +msgid "--ttyfail\t\tExit if input or output is not a terminal" +msgstr "--ttyfail\t\tÆþ½ÐÎϤ¬Ã¼Ëö¤Ç¤Ê¤±¤ì¤Ð½ªÎ»¤¹¤ë" + msgid "-u <vimrc>\t\tUse <vimrc> instead of any .vimrc" msgstr "-u <vimrc>\t\t.vimrc¤ÎÂå¤ï¤ê¤Ë <vimrc> ¤ò»È¤¦" @@ -3906,7 +3933,7 @@ msgid "E766: Insufficient arguments for printf()" msgstr "E766: printf() ¤Î°ú¿ô¤¬ÉÔ½½Ê¬¤Ç¤¹" msgid "E807: Expected Float argument for printf()" -msgstr "E807: printf() ¤Î°ú¿ô¤Ë¤ÏÉâÆ°¾¯¿ôÅÀ¿ô¤¬´üÂÔ¤µ¤ì¤Æ¤¤¤Þ¤¹" +msgstr "E807: printf() ¤Î°ú¿ô¤Ë¤ÏÉâÆ°¾®¿ôÅÀ¿ô¤¬´üÂÔ¤µ¤ì¤Æ¤¤¤Þ¤¹" msgid "E767: Too many arguments to printf()" msgstr "E767: printf() ¤Î°ú¿ô¤¬Â¿²á¤®¤Þ¤¹" @@ -4063,8 +4090,10 @@ msgstr "E662: Êѹ¹¥ê¥¹¥È¤ÎÀèÆ¬" msgid "E663: At end of changelist" msgstr "E663: Êѹ¹¥ê¥¹¥È¤ÎËöÈø" -msgid "Type :quit<Enter> to exit Vim" -msgstr "Vim¤ò½ªÎ»¤¹¤ë¤Ë¤Ï :quit<Enter> ¤ÈÆþÎϤ·¤Æ¤¯¤À¤µ¤¤" +msgid "Type :qa! and press <Enter> to abandon all changes and exit Vim" +msgstr "" +"¤¹¤Ù¤Æ¤ÎÊѹ¹¤òÇË´þ¤·¡¢Vim¤ò½ªÎ»¤¹¤ë¤Ë¤Ï :qa! ¤ÈÆþÎϤ· <Enter> ¤ò²¡¤·¤Æ¤¯¤À" +"¤µ¤¤" #, c-format msgid "1 line %sed 1 time" @@ -4413,9 +4442,6 @@ msgstr "Æþ½ÐÎÏ¥¨¥é¡¼" msgid "Message" msgstr "¥á¥Ã¥»¡¼¥¸" -msgid "'columns' is not 80, cannot execute external commands" -msgstr "'columns' ¤¬ 80 ¤Ç¤Ï¤Ê¤¤¤¿¤á¡¢³°Éô¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤Ç¤¤Þ¤»¤ó" - msgid "E237: Printer selection failed" msgstr "E237: ¥×¥ê¥ó¥¿¤ÎÁªÂò¤Ë¼ºÇÔ¤·¤Þ¤·¤¿" @@ -4685,6 +4711,12 @@ msgstr "E369: ̵¸ú¤Ê¹àÌܤǤ¹: %s%%[]" msgid "E769: Missing ] after %s[" msgstr "E769: %s[ ¤Î¸å¤Ë ] ¤¬¤¢¤ê¤Þ¤»¤ó" +msgid "E944: Reverse range in character class" +msgstr "E944: ʸ»ú¥¯¥é¥¹¤ÎÈϰϤ¬µÕ¤Ç¤¹" + +msgid "E945: Range too large in character class" +msgstr "E945: ʸ»ú¥¯¥é¥¹¤ÎÈϰϤ¬Â礤¹¤®¤Þ¤¹" + #, c-format msgid "E53: Unmatched %s%%(" msgstr "E53: %s%%( ¤¬Äà¤ê¹ç¤Ã¤Æ¤¤¤Þ¤»¤ó" @@ -4714,6 +4746,10 @@ msgstr "E69: %s%%[ ¤Î¸å¤Ë ] ¤¬¤¢¤ê¤Þ¤»¤ó" msgid "E70: Empty %s%%[]" msgstr "E70: %s%%[] ¤¬¶õ¤Ç¤¹" +# +msgid "E65: Illegal back reference" +msgstr "E65: ÉÔÀµ¤Ê¸åÊý»²¾È¤Ç¤¹" + msgid "E339: Pattern too long" msgstr "E339: ¥Ñ¥¿¡¼¥ó¤¬Ä¹²á¤®¤Þ¤¹" @@ -4752,10 +4788,6 @@ msgid "E64: %s%c follows nothing" msgstr "E64:%s%c ¤Î¸å¤Ë¤Ê¤Ë¤â¤¢¤ê¤Þ¤»¤ó" # -msgid "E65: Illegal back reference" -msgstr "E65: ÉÔÀµ¤Ê¸åÊý»²¾È¤Ç¤¹" - -# msgid "E68: Invalid character after \\z" msgstr "E68: \\z ¤Î¸å¤ËÉÔÀµ¤Êʸ»ú¤¬¤¢¤ê¤Þ¤·¤¿" @@ -5363,12 +5395,33 @@ msgstr "E783: MAP ¥¨¥ó¥È¥ê¤Ë½Åʣʸ»ú¤¬Â¸ºß¤·¤Þ¤¹" msgid "No Syntax items defined for this buffer" msgstr "¤³¤Î¥Ð¥Ã¥Õ¥¡¤ËÄêµÁ¤µ¤ì¤¿¹½Ê¸Í×ÁǤϤ¢¤ê¤Þ¤»¤ó" +msgid "syntax conceal on" +msgstr "¹½Ê¸¤Î conceal ¤Ï¸½ºß on ¤Ç¤¹" + +msgid "syntax conceal off" +msgstr "¹½Ê¸¤Î conceal ¤Ï¸½ºß off ¤Ç¤¹" + #, c-format msgid "E390: Illegal argument: %s" msgstr "E390: ÉÔÀµ¤Ê°ú¿ô¤Ç¤¹: %s" +msgid "syntax case ignore" +msgstr "¹½Ê¸¤ÎÂçʸ»ú¾®Ê¸»ú¤Ï¸½ºß ignore ¤Ç¤¹" + +msgid "syntax case match" +msgstr "¹½Ê¸¤ÎÂçʸ»ú¾®Ê¸»ú¤Ï¸½ºß match ¤Ç¤¹" + +msgid "syntax spell toplevel" +msgstr "¹½Ê¸¤Î spell ¤Ï¸½ºß toplevel ¤Ç¤¹" + +msgid "syntax spell notoplevel" +msgstr "¹½Ê¸¤Î spell ¤Ï¸½ºß notoplevel ¤Ç¤¹" + +msgid "syntax spell default" +msgstr "¹½Ê¸¤Î spell ¤Ï¸½ºß default ¤Ç¤¹" + msgid "syntax iskeyword " -msgstr "¥·¥ó¥¿¥Ã¥¯¥¹ÍÑ iskeyword " +msgstr "¹½Ê¸ÍÑ iskeyword " #, c-format msgid "E391: No such syntax cluster: %s" @@ -5579,7 +5632,7 @@ msgid "E556: at top of tag stack" msgstr "E556: ¥¿¥°¥¹¥¿¥Ã¥¯¤ÎÀèÆ¬¤Ç¤¹" msgid "E425: Cannot go before first matching tag" -msgstr "E425: ºÇ½é¤Î³ºÅö¥¿¥°¤òͤ¨¤ÆÌá¤ë¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó" +msgstr "E425: ºÇ½é¤Î³ºÅö¥¿¥°¤ò±Û¤¨¤ÆÌá¤ë¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó" #, c-format msgid "E426: tag not found: %s" @@ -5595,7 +5648,7 @@ msgid "E427: There is only one matching tag" msgstr "E427: ³ºÅö¥¿¥°¤¬1¤Ä¤À¤±¤·¤«¤¢¤ê¤Þ¤»¤ó" msgid "E428: Cannot go beyond last matching tag" -msgstr "E428: ºÇ¸å¤Ë³ºÅö¤¹¤ë¥¿¥°¤òͤ¨¤Æ¿Ê¤à¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó" +msgstr "E428: ºÇ¸å¤Î³ºÅö¥¿¥°¤ò±Û¤¨¤Æ¿Ê¤à¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó" #, c-format msgid "File \"%s\" does not exist" @@ -5943,6 +5996,10 @@ msgid "E126: Missing :endfunction" msgstr "E126: :endfunction ¤¬¤¢¤ê¤Þ¤»¤ó" #, c-format +msgid "W22: Text found after :endfunction: %s" +msgstr "W22: :endfunction ¤Î¸å¤Ëʸ»ú¤¬¤¢¤ê¤Þ¤¹: %s" + +#, c-format msgid "E707: Function name conflicts with variable: %s" msgstr "E707: ´Ø¿ô̾¤¬ÊÑ¿ô̾¤È¾×ÆÍ¤·¤Þ¤¹: %s" @@ -5965,14 +6022,6 @@ msgstr "E133: ´Ø¿ô³°¤Ë :return ¤¬¤¢¤ê¤Þ¤·¤¿" msgid "E107: Missing parentheses: %s" msgstr "E107: ¥«¥Ã¥³ '(' ¤¬¤¢¤ê¤Þ¤»¤ó: %s" -#. Only MS VC 4.1 and earlier can do Win32s -msgid "" -"\n" -"MS-Windows 16/32-bit GUI version" -msgstr "" -"\n" -"MS-Windows 16/32 ¥Ó¥Ã¥È GUI ÈÇ" - msgid "" "\n" "MS-Windows 64-bit GUI version" @@ -6256,12 +6305,6 @@ msgstr "¾ÜºÙ¤Ê¾ðÊó¤Ï :help register<Enter> " msgid "menu Help->Sponsor/Register for information " msgstr "¾ÜºÙ¤Ï¥á¥Ë¥å¡¼¤Î ¥Ø¥ë¥×->¥¹¥Ý¥ó¥µ¡¼/ÅÐÏ¿ ¤ò»²¾È¤·¤Æ²¼¤µ¤¤" -msgid "WARNING: Windows 95/98/ME detected" -msgstr "·Ù¹ð: Windows 95/98/ME ¤ò¸¡½Ð¤·¤Þ¤·¤¿" - -msgid "type :help windows95<Enter> for info on this" -msgstr "¾ÜºÙ¤Ê¾ðÊó¤Ï :help windows95<Enter>" - msgid "Already only one window" msgstr "´û¤Ë¥¦¥£¥ó¥É¥¦¤Ï1¤Ä¤·¤«¤¢¤ê¤Þ¤»¤ó" @@ -6415,6 +6458,10 @@ msgstr "E236: ¥Õ¥©¥ó¥È \"%s\" ¤Ï¸ÇÄêÉý¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó" msgid "E473: Internal error" msgstr "E473: ÆâÉô¥¨¥é¡¼¤Ç¤¹" +#, c-format +msgid "E685: Internal error: %s" +msgstr "E685: ÆâÉô¥¨¥é¡¼¤Ç¤¹: %s" + msgid "Interrupted" msgstr "³ä¹þ¤Þ¤ì¤Þ¤·¤¿" @@ -6680,8 +6727,8 @@ msgstr "E592: 'winwidth' ¤Ï 'winminwidth' ¤è¤ê¾®¤µ¤¯¤Ç¤¤Þ¤»¤ó" msgid "E80: Error while writing" msgstr "E80: ½ñ¹þ¤ßÃæ¤Î¥¨¥é¡¼" -msgid "Zero count" -msgstr "¥¼¥í¥«¥¦¥ó¥È" +msgid "E939: Positive count required" +msgstr "E939: Àµ¤Î¥«¥¦¥ó¥È¤¬É¬ÍפǤ¹" msgid "E81: Using <SID> not in a script context" msgstr "E81: ¥¹¥¯¥ê¥×¥È°Ê³°¤Ç<SID>¤¬»È¤ï¤ì¤Þ¤·¤¿" @@ -6695,10 +6742,6 @@ msgstr "E463: Îΰ褬Êݸ¤ì¤Æ¤¤¤ë¤Î¤Ç, Êѹ¹¤Ç¤¤Þ¤»¤ó" msgid "E744: NetBeans does not allow changes in read-only files" msgstr "E744: NetBeans ¤ÏÆÉ¹þÀìÍÑ¥Õ¥¡¥¤¥ë¤òÊѹ¹¤¹¤ë¤³¤È¤òµö¤·¤Þ¤»¤ó" -#, c-format -msgid "E685: Internal error: %s" -msgstr "E685: ÆâÉô¥¨¥é¡¼¤Ç¤¹: %s" - msgid "E363: pattern uses more memory than 'maxmempattern'" msgstr "E363: ¥Ñ¥¿¡¼¥ó¤¬ 'maxmempattern' °Ê¾å¤Î¥á¥â¥ê¤ò»ÈÍѤ·¤Þ¤¹" diff --git a/src/nvim/po/ja.po b/src/nvim/po/ja.po index 5cb789c93e..39b4a89517 100644 --- a/src/nvim/po/ja.po +++ b/src/nvim/po/ja.po @@ -13,10 +13,10 @@ # msgid "" msgstr "" -"Project-Id-Version: Vim 7.4\n" +"Project-Id-Version: Vim 8.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-09-10 21:10+0900\n" -"PO-Revision-Date: 2016-09-10 21:20+0900\n" +"POT-Creation-Date: 2017-07-03 23:05+0900\n" +"PO-Revision-Date: 2017-07-12 20:45+0900\n" "Last-Translator: MURAOKA Taro <koron.kaoriya@gmail.com>\n" "Language-Team: vim-jp (https://github.com/vim-jp/lang-ja)\n" "Language: Japanese\n" @@ -245,7 +245,8 @@ msgid "E917: Cannot use a callback with %s()" msgstr "E917: %s() ã«ã‚³ãƒ¼ãƒ«ãƒãƒƒã‚¯ã¯ä½¿ãˆã¾ã›ã‚“" msgid "E912: cannot use ch_evalexpr()/ch_sendexpr() with a raw or nl channel" -msgstr "E912: 生や nl ãƒãƒ£ãƒ³ãƒãƒ«ã« ch_evalexpr()/ch_sendexpr ã¯ä½¿ãˆã¾ã›ã‚“" +msgstr "" +"E912: raw ã‚„ nl モードã®ãƒãƒ£ãƒ³ãƒãƒ«ã« ch_evalexpr()/ch_sendexpr() ã¯ä½¿ãˆã¾ã›ã‚“" msgid "E906: not an open channel" msgstr "E906: é–‹ã„ã¦ã„ãªã„ãƒãƒ£ãƒ³ãƒãƒ«ã§ã™" @@ -431,6 +432,9 @@ msgstr "スã‚ャンä¸: %s" msgid "Scanning tags." msgstr "タグをスã‚ャンä¸." +msgid "match in file" +msgstr "ファイル内ã®ãƒžãƒƒãƒ" + msgid " Adding" msgstr " è¿½åŠ ä¸" @@ -519,6 +523,12 @@ msgstr "E690: :for ã®å¾Œã« \"in\" ãŒã‚りã¾ã›ã‚“" msgid "E108: No such variable: \"%s\"" msgstr "E108: ãã®å¤‰æ•°ã¯ã‚りã¾ã›ã‚“: \"%s\"" +#. For historic reasons this error is not given for a list or dict. +#. * E.g., the b: dict could be locked/unlocked. +#, c-format +msgid "E940: Cannot lock or unlock variable %s" +msgstr "E940: 変数 %s ã¯ãƒãƒƒã‚¯ã¾ãŸã¯ã‚¢ãƒ³ãƒãƒƒã‚¯ã§ãã¾ã›ã‚“" + msgid "E743: variable nested too deep for (un)lock" msgstr "E743: (アン)ãƒãƒƒã‚¯ã™ã‚‹ã«ã¯å¤‰æ•°ã®å…¥ã‚ŒåãŒæ·±éŽãŽã¾ã™" @@ -697,11 +707,6 @@ msgid "&Ok" msgstr "&Ok" #, c-format -msgid "+-%s%3ld line: " -msgid_plural "+-%s%3ld lines: " -msgstr[0] "+-%s%3ld 行: " - -#, c-format msgid "E700: Unknown function: %s" msgstr "E700: 未知ã®é–¢æ•°ã§ã™: %s" @@ -746,8 +751,8 @@ msgstr "E727: é–‹å§‹ä½ç½®ãŒçµ‚了ä½ç½®ã‚’è¶Šãˆã¾ã—ãŸ" msgid "<empty>" msgstr "<空>" -msgid "E240: No connection to Vim server" -msgstr "E240: Vim サーãƒãƒ¼ã¸ã®æŽ¥ç¶šãŒã‚りã¾ã›ã‚“" +msgid "E240: No connection to the X server" +msgstr "E240: X サーãƒãƒ¼ã¸ã®æŽ¥ç¶šãŒã‚りã¾ã›ã‚“" #, c-format msgid "E241: Unable to send to %s" @@ -756,6 +761,12 @@ msgstr "E241: %s ã¸é€ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“" msgid "E277: Unable to read a server reply" msgstr "E277: サーãƒãƒ¼ã®å¿œç”ãŒã‚りã¾ã›ã‚“" +msgid "E941: already started a server" +msgstr "E941: サーãƒãƒ¼ã¯ã™ã§ã«é–‹å§‹ã—ã¦ã„ã¾ã™" + +msgid "E942: +clientserver feature not available" +msgstr "E942: +clientserver 機能ãŒç„¡åйã«ãªã£ã¦ã„ã¾ã™" + msgid "remove() argument" msgstr "remove() ã®å¼•æ•°" @@ -993,8 +1004,9 @@ msgstr " (計 1 行内)" msgid " on %ld lines" msgstr " (計 %ld 行内)" -msgid "E147: Cannot do :global recursive" -msgstr "E147: :global ã‚’å†å¸°çš„ã«ã¯ä½¿ãˆã¾ã›ã‚“" +#. will increment global_busy to break out of the loop +msgid "E147: Cannot do :global recursive with a range" +msgstr "E147: :global を範囲付ãã§å†å¸°çš„ã«ã¯ä½¿ãˆã¾ã›ã‚“" msgid "E148: Regular expression missing from global" msgstr "E148: globalã‚³ãƒžãƒ³ãƒ‰ã«æ£è¦è¡¨ç¾ãŒæŒ‡å®šã•れã¦ã„ã¾ã›ã‚“" @@ -1180,6 +1192,14 @@ msgstr "\"%s\" を検索ä¸" msgid "not found in '%s': \"%s\"" msgstr "'%s' ã®ä¸ã«ã¯ã‚りã¾ã›ã‚“: \"%s\"" +#, c-format +msgid "W20: Required python version 2.x not supported, ignoring file: %s" +msgstr "W20: è¦æ±‚ã•れãŸpython 2.xã¯å¯¾å¿œã—ã¦ã„ã¾ã›ã‚“ã€ãƒ•ァイルを無視ã—ã¾ã™: %s" + +#, c-format +msgid "W21: Required python version 3.x not supported, ignoring file: %s" +msgstr "W21: è¦æ±‚ã•れãŸpython 3.xã¯å¯¾å¿œã—ã¦ã„ã¾ã›ã‚“ã€ãƒ•ァイルを無視ã—ã¾ã™: %s" + msgid "Source Vim script" msgstr "Vimスクリプトã®å–è¾¼ã¿" @@ -1278,6 +1298,11 @@ msgstr "逆ã•ã¾ã®ç¯„å›²ãŒæŒ‡å®šã•れã¾ã—ãŸ, 入替ãˆã¾ã™ã‹?" msgid "E494: Use w or w>>" msgstr "E494: w ã‚‚ã—ã㯠w>> を使用ã—ã¦ãã ã•ã„" +msgid "E943: Command table needs to be updated, run 'make cmdidxs'" +msgstr "" +"E943: コマンドテーブルを更新ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€'make cmdidxs' を実行ã—ã¦ãã " +"ã•ã„" + msgid "E319: Sorry, the command is not available in this version" msgstr "E319: ã“ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã§ã¯ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã¯åˆ©ç”¨ã§ãã¾ã›ã‚“, ã”ã‚ã‚“ãªã•ã„" @@ -2030,11 +2055,6 @@ msgstr "E350: ç¾åœ¨ã® 'foldmethod' ã§ã¯æŠ˜ç•³ã¿ã‚’作æˆã§ãã¾ã›ã‚“" msgid "E351: Cannot delete fold with current 'foldmethod'" msgstr "E351: ç¾åœ¨ã® 'foldmethod' ã§ã¯æŠ˜ç•³ã¿ã‚’削除ã§ãã¾ã›ã‚“" -#, c-format -msgid "+--%3ld line folded " -msgid_plural "+--%3ld lines folded " -msgstr[0] "+--%3ld è¡ŒãŒæŠ˜ç•³ã¾ã‚Œã¾ã—㟠" - msgid "E222: Add to read buffer" msgstr "E222: èªè¾¼ãƒãƒƒãƒ•ã‚¡ã¸è¿½åŠ " @@ -2819,6 +2839,10 @@ msgid "E251: VIM instance registry property is badly formed. Deleted!" msgstr "E251: VIM 実体ã®ç™»éŒ²ãƒ—ãƒãƒ‘ティãŒä¸æ£ã§ã™. 消去ã—ã¾ã—ãŸ!" #, c-format +msgid "E938: Duplicate key in JSON: \"%s\"" +msgstr "E938: JSONã«é‡è¤‡ã‚ーãŒã‚りã¾ã™: \"%s\"" + +#, c-format msgid "E696: Missing comma in List: %s" msgstr "E696: リスト型ã«ã‚«ãƒ³ãƒžãŒã‚りã¾ã›ã‚“: %s" @@ -2858,7 +2882,7 @@ msgid "This Vim was not compiled with the diff feature." msgstr "ã“ã®Vimã«ã¯diff機能ãŒã‚りã¾ã›ã‚“(コンパイル時è¨å®š)." msgid "Attempt to open script file again: \"" -msgstr "スクリプトファイルをå†ã³é–‹ã„ã¦ã¿ã¾ã™: \"" +msgstr "スクリプトファイルをå†ã³é–‹ã“ã†ã¨ã—ã¾ã—ãŸ: \"" msgid "Cannot open for reading: \"" msgstr "èªè¾¼ç”¨ã¨ã—ã¦é–‹ã‘ã¾ã›ã‚“" @@ -3039,6 +3063,9 @@ msgstr "-T <terminal>\t端末を <terminal> ã«è¨å®šã™ã‚‹" msgid "--not-a-term\t\tSkip warning for input/output not being a terminal" msgstr "--not-a-term\t\t入出力ãŒç«¯æœ«ã§ãªã„ã¨ã®è¦å‘Šã‚’スã‚ップã™ã‚‹" +msgid "--ttyfail\t\tExit if input or output is not a terminal" +msgstr "--ttyfail\t\t入出力ãŒç«¯æœ«ã§ãªã‘れã°çµ‚了ã™ã‚‹" + msgid "-u <vimrc>\t\tUse <vimrc> instead of any .vimrc" msgstr "-u <vimrc>\t\t.vimrcã®ä»£ã‚り㫠<vimrc> を使ã†" @@ -3906,7 +3933,7 @@ msgid "E766: Insufficient arguments for printf()" msgstr "E766: printf() ã®å¼•æ•°ãŒä¸å分ã§ã™" msgid "E807: Expected Float argument for printf()" -msgstr "E807: printf() ã®å¼•æ•°ã«ã¯æµ®å‹•å°‘æ•°ç‚¹æ•°ãŒæœŸå¾…ã•れã¦ã„ã¾ã™" +msgstr "E807: printf() ã®å¼•æ•°ã«ã¯æµ®å‹•å°æ•°ç‚¹æ•°ãŒæœŸå¾…ã•れã¦ã„ã¾ã™" msgid "E767: Too many arguments to printf()" msgstr "E767: printf() ã®å¼•æ•°ãŒå¤šéŽãŽã¾ã™" @@ -4063,8 +4090,10 @@ msgstr "E662: 変更リストã®å…ˆé " msgid "E663: At end of changelist" msgstr "E663: å¤‰æ›´ãƒªã‚¹ãƒˆã®æœ«å°¾" -msgid "Type :quit<Enter> to exit Vim" -msgstr "Vimを終了ã™ã‚‹ã«ã¯ :quit<Enter> ã¨å…¥åŠ›ã—ã¦ãã ã•ã„" +msgid "Type :qa! and press <Enter> to abandon all changes and exit Vim" +msgstr "" +"ã™ã¹ã¦ã®å¤‰æ›´ã‚’ç ´æ£„ã—ã€Vimを終了ã™ã‚‹ã«ã¯ :qa! ã¨å…¥åŠ›ã— <Enter> を押ã—ã¦ãã " +"ã•ã„" #, c-format msgid "1 line %sed 1 time" @@ -4413,9 +4442,6 @@ msgstr "入出力エラー" msgid "Message" msgstr "メッセージ" -msgid "'columns' is not 80, cannot execute external commands" -msgstr "'columns' ㌠80 ã§ã¯ãªã„ãŸã‚ã€å¤–部コマンドを実行ã§ãã¾ã›ã‚“" - msgid "E237: Printer selection failed" msgstr "E237: プリンタã®é¸æŠžã«å¤±æ•—ã—ã¾ã—ãŸ" @@ -4685,6 +4711,12 @@ msgstr "E369: 無効ãªé …ç›®ã§ã™: %s%%[]" msgid "E769: Missing ] after %s[" msgstr "E769: %s[ ã®å¾Œã« ] ãŒã‚りã¾ã›ã‚“" +msgid "E944: Reverse range in character class" +msgstr "E944: æ–‡å—クラスã®ç¯„囲ãŒé€†ã§ã™" + +msgid "E945: Range too large in character class" +msgstr "E945: æ–‡å—クラスã®ç¯„囲ãŒå¤§ãã™ãŽã¾ã™" + #, c-format msgid "E53: Unmatched %s%%(" msgstr "E53: %s%%( ãŒé‡£ã‚Šåˆã£ã¦ã„ã¾ã›ã‚“" @@ -4714,6 +4746,10 @@ msgstr "E69: %s%%[ ã®å¾Œã« ] ãŒã‚りã¾ã›ã‚“" msgid "E70: Empty %s%%[]" msgstr "E70: %s%%[] ãŒç©ºã§ã™" +# +msgid "E65: Illegal back reference" +msgstr "E65: 䏿£ãªå¾Œæ–¹å‚ç…§ã§ã™" + msgid "E339: Pattern too long" msgstr "E339: パターンãŒé•·éŽãŽã¾ã™" @@ -4752,10 +4788,6 @@ msgid "E64: %s%c follows nothing" msgstr "E64:%s%c ã®å¾Œã«ãªã«ã‚‚ã‚りã¾ã›ã‚“" # -msgid "E65: Illegal back reference" -msgstr "E65: 䏿£ãªå¾Œæ–¹å‚ç…§ã§ã™" - -# msgid "E68: Invalid character after \\z" msgstr "E68: \\z ã®å¾Œã«ä¸æ£ãªæ–‡å—ãŒã‚りã¾ã—ãŸ" @@ -5363,12 +5395,33 @@ msgstr "E783: MAP エントリã«é‡è¤‡æ–‡å—ãŒå˜åœ¨ã—ã¾ã™" msgid "No Syntax items defined for this buffer" msgstr "ã“ã®ãƒãƒƒãƒ•ã‚¡ã«å®šç¾©ã•ã‚ŒãŸæ§‹æ–‡è¦ç´ ã¯ã‚りã¾ã›ã‚“" +msgid "syntax conceal on" +msgstr "構文㮠conceal ã¯ç¾åœ¨ on ã§ã™" + +msgid "syntax conceal off" +msgstr "構文㮠conceal ã¯ç¾åœ¨ off ã§ã™" + #, c-format msgid "E390: Illegal argument: %s" msgstr "E390: 䏿£ãªå¼•æ•°ã§ã™: %s" +msgid "syntax case ignore" +msgstr "æ§‹æ–‡ã®å¤§æ–‡å—å°æ–‡å—ã¯ç¾åœ¨ ignore ã§ã™" + +msgid "syntax case match" +msgstr "æ§‹æ–‡ã®å¤§æ–‡å—å°æ–‡å—ã¯ç¾åœ¨ match ã§ã™" + +msgid "syntax spell toplevel" +msgstr "構文㮠spell ã¯ç¾åœ¨ toplevel ã§ã™" + +msgid "syntax spell notoplevel" +msgstr "構文㮠spell ã¯ç¾åœ¨ notoplevel ã§ã™" + +msgid "syntax spell default" +msgstr "構文㮠spell ã¯ç¾åœ¨ default ã§ã™" + msgid "syntax iskeyword " -msgstr "シンタックス用 iskeyword " +msgstr "構文用 iskeyword " #, c-format msgid "E391: No such syntax cluster: %s" @@ -5579,7 +5632,7 @@ msgid "E556: at top of tag stack" msgstr "E556: タグスタックã®å…ˆé ã§ã™" msgid "E425: Cannot go before first matching tag" -msgstr "E425: 最åˆã®è©²å½“ã‚¿ã‚°ã‚’è¶…ãˆã¦æˆ»ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“" +msgstr "E425: 最åˆã®è©²å½“ã‚¿ã‚°ã‚’è¶Šãˆã¦æˆ»ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“" #, c-format msgid "E426: tag not found: %s" @@ -5595,7 +5648,7 @@ msgid "E427: There is only one matching tag" msgstr "E427: 該当タグãŒ1ã¤ã ã‘ã—ã‹ã‚りã¾ã›ã‚“" msgid "E428: Cannot go beyond last matching tag" -msgstr "E428: 最後ã«è©²å½“ã™ã‚‹ã‚¿ã‚°ã‚’è¶…ãˆã¦é€²ã‚€ã“ã¨ã¯ã§ãã¾ã›ã‚“" +msgstr "E428: 最後ã®è©²å½“ã‚¿ã‚°ã‚’è¶Šãˆã¦é€²ã‚€ã“ã¨ã¯ã§ãã¾ã›ã‚“" #, c-format msgid "File \"%s\" does not exist" @@ -5943,6 +5996,10 @@ msgid "E126: Missing :endfunction" msgstr "E126: :endfunction ãŒã‚りã¾ã›ã‚“" #, c-format +msgid "W22: Text found after :endfunction: %s" +msgstr "W22: :endfunction ã®å¾Œã«æ–‡å—ãŒã‚りã¾ã™: %s" + +#, c-format msgid "E707: Function name conflicts with variable: %s" msgstr "E707: 関数åãŒå¤‰æ•°åã¨è¡çªã—ã¾ã™: %s" @@ -5965,14 +6022,6 @@ msgstr "E133: 関数外㫠:return ãŒã‚りã¾ã—ãŸ" msgid "E107: Missing parentheses: %s" msgstr "E107: カッコ '(' ãŒã‚りã¾ã›ã‚“: %s" -#. Only MS VC 4.1 and earlier can do Win32s -msgid "" -"\n" -"MS-Windows 16/32-bit GUI version" -msgstr "" -"\n" -"MS-Windows 16/32 ビット GUI 版" - msgid "" "\n" "MS-Windows 64-bit GUI version" @@ -6256,12 +6305,6 @@ msgstr "è©³ç´°ãªæƒ…å ±ã¯ :help register<Enter> " msgid "menu Help->Sponsor/Register for information " msgstr "詳細ã¯ãƒ¡ãƒ‹ãƒ¥ãƒ¼ã® ヘルプ->スãƒãƒ³ã‚µãƒ¼/登録 ã‚’å‚ç…§ã—ã¦ä¸‹ã•ã„" -msgid "WARNING: Windows 95/98/ME detected" -msgstr "è¦å‘Š: Windows 95/98/ME を検出ã—ã¾ã—ãŸ" - -msgid "type :help windows95<Enter> for info on this" -msgstr "è©³ç´°ãªæƒ…å ±ã¯ :help windows95<Enter>" - msgid "Already only one window" msgstr "æ—¢ã«ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ã¯1ã¤ã—ã‹ã‚りã¾ã›ã‚“" @@ -6415,6 +6458,10 @@ msgstr "E236: フォント \"%s\" ã¯å›ºå®šå¹…ã§ã¯ã‚りã¾ã›ã‚“" msgid "E473: Internal error" msgstr "E473: 内部エラーã§ã™" +#, c-format +msgid "E685: Internal error: %s" +msgstr "E685: 内部エラーã§ã™: %s" + msgid "Interrupted" msgstr "割込ã¾ã‚Œã¾ã—ãŸ" @@ -6680,8 +6727,8 @@ msgstr "E592: 'winwidth' 㯠'winminwidth' よりå°ã•ãã§ãã¾ã›ã‚“" msgid "E80: Error while writing" msgstr "E80: 書込ã¿ä¸ã®ã‚¨ãƒ©ãƒ¼" -msgid "Zero count" -msgstr "ゼãƒã‚«ã‚¦ãƒ³ãƒˆ" +msgid "E939: Positive count required" +msgstr "E939: æ£ã®ã‚«ã‚¦ãƒ³ãƒˆãŒå¿…è¦ã§ã™" msgid "E81: Using <SID> not in a script context" msgstr "E81: スクリプト以外ã§<SID>ãŒä½¿ã‚れã¾ã—ãŸ" @@ -6695,10 +6742,6 @@ msgstr "E463: é ˜åŸŸãŒä¿è·ã•れã¦ã„ã‚‹ã®ã§, 変更ã§ãã¾ã›ã‚“" msgid "E744: NetBeans does not allow changes in read-only files" msgstr "E744: NetBeans ã¯èªè¾¼å°‚用ファイルを変更ã™ã‚‹ã“ã¨ã‚’許ã—ã¾ã›ã‚“" -#, c-format -msgid "E685: Internal error: %s" -msgstr "E685: 内部エラーã§ã™: %s" - msgid "E363: pattern uses more memory than 'maxmempattern'" msgstr "E363: パターン㌠'maxmempattern' 以上ã®ãƒ¡ãƒ¢ãƒªã‚’使用ã—ã¾ã™" diff --git a/src/nvim/po/ko.UTF-8.po b/src/nvim/po/ko.UTF-8.po index 7afa507edb..6173283135 100644 --- a/src/nvim/po/ko.UTF-8.po +++ b/src/nvim/po/ko.UTF-8.po @@ -1111,6 +1111,10 @@ msgstr "E137: Viminfo 파ì¼ì˜ 쓰기 ê¶Œí•œì´ ì—†ìŠµë‹ˆë‹¤: %s" #: ../ex_cmds.c:1626 #, c-format +msgid "E929: Too many viminfo temp files, like %s!" +msgstr "E929: 너무 ë§Žì€ viminfo 임시 파ì¼ë“¤, ê°€ë ¹ %s!" + +#, c-format msgid "E138: Can't write viminfo file %s!" msgstr "E138: Viminfo íŒŒì¼ %sì„(를) 쓸 수 없습니다!" @@ -1119,6 +1123,10 @@ msgstr "E138: Viminfo íŒŒì¼ %sì„(를) 쓸 수 없습니다!" msgid "Writing viminfo file \"%s\"" msgstr "Viminfo íŒŒì¼ \"%s\"ì„(를) 쓰는 중" +#, c-format +msgid "E886: Can't rename viminfo file to %s!" +msgstr "E886: viminfo 파ì¼ëª…ì„ %s(으)로 ë³€ê²½í• ìˆ˜ 없습니다!" + #. Write the info: #: ../ex_cmds.c:1720 #, c-format @@ -1300,8 +1308,8 @@ msgstr "미안합니다, ë„ì›€ë§ íŒŒì¼ \"%s\"ì„(를) ì°¾ì„ ìˆ˜ 없습니다 #: ../ex_cmds.c:5323 #, c-format -msgid "E150: Not a directory: %s" -msgstr "E150: ë””ë ‰í† ë¦¬ê°€ 아님: %s" +msgid "E151: No match: %s" +msgstr "E151: ë§žì§€ 않ìŒ: %s" #: ../ex_cmds.c:5446 #, c-format @@ -1325,6 +1333,10 @@ msgstr "E154: \"%s\" 태그가 %s/%s 파ì¼ì—서 중복ë˜ì—ˆìŠµë‹ˆë‹¤" #: ../ex_cmds.c:5687 #, c-format +msgid "E150: Not a directory: %s" +msgstr "E150: ë””ë ‰í† ë¦¬ê°€ 아님: %s" + +#, c-format msgid "E160: Unknown sign command: %s" msgstr "E160: 모르는 sign ëª…ë ¹: %s" @@ -1452,8 +1464,16 @@ msgstr "\"%s\"ì„(를) 찾는 중" #: ../ex_cmds2.c:2307 #, c-format -msgid "not found in 'runtimepath': \"%s\"" -msgstr "'runtimepath'ì—서 ì°¾ì„ ìˆ˜ ì—†ìŒ: \"%s\"" +msgid "not found in '%s': \"%s\"" +msgstr "'%s'ì—서 ì°¾ì„ ìˆ˜ ì—†ìŒ: \"%s\"" + +#, c-format +msgid "W20: Required python version 2.x not supported, ignoring file: %s" +msgstr "W20: 요구ë˜ëŠ” 파ì´ì„ ë²„ì ¼ 2.x는 ì§€ì›ë˜ì§€ 않ìŒ, 파ì¼ì„ 무시: %s" + +#, c-format +msgid "W21: Required python version 3.x not supported, ignoring file: %s" +msgstr "W21: 요구ë˜ëŠ” 파ì´ì„ ë²„ì ¼ 3.x는 ì§€ì›ë˜ì§€ 않ìŒ, 파ì¼ì„ 무시: %s" #: ../ex_cmds2.c:2472 #, c-format @@ -1609,10 +1629,10 @@ msgstr "E174: ëª…ë ¹ì´ ì´ë¯¸ 존재합니다: ë°”ê¾¸ë ¤ë©´ !ì„ ë”하세요" #: ../ex_docmd.c:4432 msgid "" "\n" -" Name Args Range Complete Definition" +" Name Args Address Complete Definition" msgstr "" "\n" -" ì´ë¦„ ì¸ìž 범위 완성 ì •ì˜" +" ì´ë¦„ ì¸ìž 주소 완성 ì •ì˜" #: ../ex_docmd.c:4516 msgid "No user-defined commands found" @@ -1662,6 +1682,10 @@ msgstr "E184: 그런 ì‚¬ìš©ìž ì •ì˜ ëª…ë ¹ ì—†ìŒ: %s" #: ../ex_docmd.c:5219 #, c-format +msgid "E180: Invalid address type value: %s" +msgstr "E180: ìž˜ëª»ëœ ì£¼ì†Œ í˜•ì‹ ê°’: %s" + +#, c-format msgid "E180: Invalid complete value: %s" msgstr "E180: ìž˜ëª»ëœ ë내기 ê°’: %s" @@ -1953,7 +1977,7 @@ msgstr "" #: ../ex_getln.c:5047 msgid "Command Line" -msgstr "ëª…ë ¹ 줄" +msgstr "ëª…ë ¹ í–‰" #: ../ex_getln.c:5048 msgid "Search String" @@ -1965,7 +1989,10 @@ msgstr "표현" #: ../ex_getln.c:5050 msgid "Input Line" -msgstr "ìž…ë ¥ 줄" +msgstr "ìž…ë ¥ í–‰" + +msgid "Debug Line" +msgstr "디버그 í–‰" #: ../ex_getln.c:5117 msgid "E198: cmd_pchar beyond the command length" @@ -3190,6 +3217,7 @@ msgstr "%-5s: %s%*s (사용법: %s)" #: ../if_cscope.c:1155 msgid "" "\n" +" a: Find assignments to this symbol\n" " c: Find functions calling this function\n" " d: Find functions called by this function\n" " e: Find this egrep pattern\n" @@ -3200,13 +3228,14 @@ msgid "" " t: Find this text string\n" msgstr "" "\n" +" a: ì´ ê¸°í˜¸ì— ëŒ€í•œ í• ë‹¹ 찾기\n" " c: ì´ í•¨ìˆ˜ë¥¼ 부르는 함수들 찾기\n" " d: ì´ í•¨ìˆ˜ì— ì˜í•´ ë¶ˆë ¤ì§€ëŠ” 함수들 찾기\n" " e: ì´ egrep 패턴 찾기\n" " f: ì´ íŒŒì¼ ì°¾ê¸°\n" " g: ì´ ì •ì˜ ì°¾ê¸°\n" -" i: ì´ íŒŒì¼ì„ í¬í•¨í•˜ëŠ” 파ì¼ë“¤ 찾기\n" -" s: ì´ C 심볼 찾기\n" +" i: ì´ íŒŒì¼ì„ #include하는 파ì¼ë“¤ 찾기\n" +" s: ì´ C 기호 찾기\n" " t: ì´ ë¬¸ìžì—´ 찾기\n" #: ../if_cscope.c:1226 @@ -4740,6 +4769,10 @@ msgstr "E447: pathì—서 \"%s\" 파ì¼ì„ ì°¾ì„ ìˆ˜ 없습니다" #: ../quickfix.c:359 #, c-format +msgid "shell returned %d" +msgstr "ì‰˜ì´ %dì„(를) ëŒë ¤ì£¼ì—ˆìŠµë‹ˆë‹¤" + +#, c-format msgid "E372: Too many %%%c in format string" msgstr "E372: í˜•ì‹ ë¬¸ìžì—´ì— %%%cì´(ê°€) 너무 많습니다" @@ -5247,11 +5280,6 @@ msgstr "E772: Spell 파ì¼ì´ 새 ë²„ì ¼ì˜ Vim용입니다" msgid "E770: Unsupported section in spell file" msgstr "E770: spell 파ì¼ì— ì§€ì›ë˜ì§€ 않는 섹션" -#: ../spell.c:3762 -#, c-format -msgid "Warning: region %s not supported" -msgstr "ê²½ê³ : %s ì˜ì—ì€ ì§€ì›ë˜ì§€ 않습니다" - #: ../spell.c:4550 #, c-format msgid "Reading affix file %s ..." @@ -6312,7 +6340,7 @@ msgstr "by Bram Moolenaar et al." #: ../version.c:774 msgid "Vim is open source and freely distributable" -msgstr "ë¹”ì€ ì†ŒìŠ¤ê°€ ì—´ë ¤ ìžˆê³ ê³µì§œë¡œ ë°°í¬ë©ë‹ˆë‹¤" +msgstr "ë¹”ì€ ëˆ„êµ¬ë‚˜ 소스를 ë³¼ 수 ìžˆê³ ê³µì§œë¡œ ë°°í¬ë©ë‹ˆë‹¤" #: ../version.c:776 msgid "Help poor children in Uganda!" @@ -7478,9 +7506,6 @@ msgstr "E446: 커서 ë°‘ì— íŒŒì¼ ì´ë¦„ì´ ì—†ìŠµë‹ˆë‹¤" #~ msgid "Could not fix up function pointers to the DLL!" #~ msgstr "함수 í¬ì¸í„°ë¥¼ DLL로 바꿀 수 없습니다!" -#~ msgid "shell returned %d" -#~ msgstr "ì‰˜ì´ %dì„(를) ëŒë ¤ì£¼ì—ˆìŠµë‹ˆë‹¤" - #~ msgid "Vim: Caught %s event\n" #~ msgstr "ë¹”: %s ì´ë²¤íŠ¸ë¥¼ 잡았습니다\n" diff --git a/src/nvim/po/pl.UTF-8.po b/src/nvim/po/pl.UTF-8.po index 0757afd3ae..c65602344e 100644 --- a/src/nvim/po/pl.UTF-8.po +++ b/src/nvim/po/pl.UTF-8.po @@ -3550,7 +3550,7 @@ msgstr "" #: ../main.c:2240 msgid "--startuptime <file>\tWrite startup timing messages to <file>" msgstr "" -"--startuptime <plik>\n" +"--startuptime <plik> " "Zapisz wiadomoÅ›ci o dÅ‚ugoÅ›ci startu do <plik>" #: ../main.c:2242 diff --git a/src/nvim/po/pt_BR.po b/src/nvim/po/pt_BR.po index 05986cf097..f8d6ac3011 100644 --- a/src/nvim/po/pt_BR.po +++ b/src/nvim/po/pt_BR.po @@ -24,7 +24,7 @@ msgstr "[Ajuda]" #: ../screen.c:4815 ../buffer.c:3244 msgid "[Preview]" -msgstr "[Visualização]" +msgstr "[Visualização]" #: ../screen.c:4823 ../fileio.c:1855 ../buffer.c:2496 ../buffer.c:3207 msgid "[RO]" @@ -4859,7 +4859,7 @@ msgstr " tipo arquivo\n" #: ../ex_getln.c:4762 msgid "'history' option is zero" -msgstr "opção 'history' vale zero" +msgstr "opção 'history' vale zero" #: ../ex_getln.c:5008 #, c-format @@ -6203,7 +6203,7 @@ msgstr "--\t\t\tApenas nomes de arquivo depois daqui" #: ../main.c:2177 msgid "--literal\t\tDon't expand wildcards" -msgstr "--literal\t\tNão expandir caracteres-curinga" +msgstr "--literal\t\tNão expandir caracteres-curinga" #: ../main.c:2179 msgid "-v\t\t\tVi mode (like \"vi\")" @@ -6227,7 +6227,7 @@ msgstr "-d\t\t\tModo diff (como \"vimdiff\")" #: ../main.c:2184 msgid "-y\t\t\tEasy mode (like \"evim\", modeless)" -msgstr "-y\t\t\tModo fácil (como \"evim\", o Vim não modal)" +msgstr "-y\t\t\tModo fácil (como \"evim\", o Vim não modal)" #: ../main.c:2185 msgid "-R\t\t\tReadonly mode (like \"view\")" @@ -6341,8 +6341,8 @@ msgstr "" #: ../main.c:2213 msgid "-S <session>\t\tSource file <session> after loading the first file" msgstr "" -"-S <sessão>\t\tExecutar o arquivo <sessão> depois de carregar o\n" -"\t\t\tprimeiro arquivo" +"-S <sessão>\t\tExecutar o arquivo <sessão> depois de carregar o " +"primeiro arquivo" #: ../main.c:2214 msgid "-s <scriptin>\tRead Normal mode commands from file <scriptin>" diff --git a/src/nvim/po/ru.po b/src/nvim/po/ru.po index a4668743ba..12022d02c8 100644 --- a/src/nvim/po/ru.po +++ b/src/nvim/po/ru.po @@ -3376,8 +3376,7 @@ msgstr "-t метка редактирование файла Ñ ÑƒÐºÐ°Ð·Ð°Ð½ #: ../main.c:2181 msgid "-q [errorfile] edit file with first error" msgstr "" -"-q [файл-ошибок]\n" -"\t\t\t\t редактирование файла Ñ Ð¿ÐµÑ€Ð²Ð¾Ð¹ ошибкой" +"-q [файл-ошибок] редактирование файла Ñ Ð¿ÐµÑ€Ð²Ð¾Ð¹ ошибкой" #: ../main.c:2187 msgid "" @@ -3479,8 +3478,8 @@ msgstr "-N\t\t\tРежим неполной ÑовмеÑтимоÑти Ñ Vi: 'n #: ../main.c:2215 msgid "-V[N][fname]\t\tBe verbose [level N] [log messages to fname]" msgstr "" -"-V[N][файл]\t\tВыводить дополнительные ÑообщениÑ\n" -"\t\t\t\t[уровень N] [запиÑывать в файл]" +"-V[N][файл]\t\tВыводить дополнительные ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ " +"[уровень N] [запиÑывать в файл]" #: ../main.c:2216 msgid "-D\t\t\tDebugging mode" @@ -4105,7 +4104,6 @@ msgstr "" #: ../memline.c:3245 msgid " Quit, or continue with caution.\n" msgstr "" -" \n" " Завершите работу или продолжайте Ñ Ð¾ÑторожноÑтью.\n" #: ../memline.c:3246 diff --git a/src/nvim/po/sk.cp1250.po b/src/nvim/po/sk.cp1250.po index 4b1e64bd02..bf205938fa 100644 --- a/src/nvim/po/sk.cp1250.po +++ b/src/nvim/po/sk.cp1250.po @@ -3870,6 +3870,7 @@ msgid "" "You may want to delete the .swp file now.\n" "\n" msgstr "Potom vymažte odkladací súbor s príponou .swp.\n" +"\n" #. use msg() to start the scrolling properly #: ../memline.c:1327 diff --git a/src/nvim/po/sk.po b/src/nvim/po/sk.po index e48a5de927..3c92ec3c34 100644 --- a/src/nvim/po/sk.po +++ b/src/nvim/po/sk.po @@ -3870,6 +3870,7 @@ msgid "" "You may want to delete the .swp file now.\n" "\n" msgstr "Potom vyma¾te odkladací súbor s príponou .swp.\n" +"\n" #. use msg() to start the scrolling properly #: ../memline.c:1327 diff --git a/src/nvim/po/uk.po b/src/nvim/po/uk.po index 2c203f808f..68425073c7 100644 --- a/src/nvim/po/uk.po +++ b/src/nvim/po/uk.po @@ -1,6 +1,8 @@ # # Ukrainian Vim translation [uk] # +# Original translations +# # Copyright (C) 2001 Bohdan Vlasyuk <bohdan@vstu.edu.ua> # Bohdan donated this work to be distributed with Vim under the Vim license. # @@ -510,6 +512,9 @@ msgstr "Пошук у: %s" msgid "Scanning tags." msgstr "Пошук Ñеред теґів." +msgid "match in file" +msgstr "збіг у файлі" + msgid " Adding" msgstr " ДодаєтьÑÑ" @@ -642,6 +647,12 @@ msgstr "E107: Пропущено дужки: %s" msgid "E108: No such variable: \"%s\"" msgstr "E108: Змінної немає: «%s»" +#. For historic reasons this error is not given for a list or dict. +#. * E.g., the b: dict could be locked/unlocked. +#, c-format +msgid "E940: Cannot lock or unlock variable %s" +msgstr "E940: Ðеможливо заблокувати чи розблокувати змінну %s" + msgid "E743: variable nested too deep for (un)lock" msgstr "E743: Змінна має забагато вкладень щоб бути за-/відкритою." @@ -1392,8 +1403,9 @@ msgstr " в одному Ñ€Ñдку" msgid " on %<PRId64> lines" msgstr " в %<PRId64> Ñ€Ñдках" -msgid "E147: Cannot do :global recursive" -msgstr "E147: :global не можна вживати рекурÑивно" +#. will increment global_busy to break out of the loop +msgid "E147: Cannot do :global recursive with a range" +msgstr "E147: :global не можна вживати рекурÑивно з діапазоном" msgid "E148: Regular expression missing from global" msgstr "E148: У global бракує зразка" @@ -3516,7 +3528,6 @@ msgid "" msgstr "" "»,\n" " щоб позбутиÑÑ Ñ†ÑŒÐ¾Ð³Ð¾ повідомленнÑ.\n" -"\n" msgid "Swap file \"" msgstr "Файл обміну «" @@ -4130,6 +4141,12 @@ msgstr "E369: Ðекоректний елемент у %s%%[]" msgid "E769: Missing ] after %s[" msgstr "E769: Бракує ] піÑÐ»Ñ %s[" +msgid "E944: Reverse range in character class" +msgstr "E944: Зворотній діапазон у клаÑÑ– Ñимволів" + +msgid "E945: Range too large in character class" +msgstr "E945: Завеликий діапазон у клаÑÑ– Ñимволів" + #, c-format msgid "E53: Unmatched %s%%(" msgstr "E53: Ðемає пари %s%%(" @@ -4888,10 +4905,31 @@ msgstr "E783: Повторено Ñимвол у елементі MAP" msgid "No Syntax items defined for this buffer" msgstr "Ð”Ð»Ñ Ð±ÑƒÑ„ÐµÑ€Ð° не визначено елементів ÑинтакÑиÑу" +msgid "syntax conceal on" +msgstr "маÑÐºÑƒÐ²Ð°Ð½Ð½Ñ ÑинтакÑиÑу увімк" + +msgid "syntax conceal off" +msgstr "маÑÐºÑƒÐ²Ð°Ð½Ð½Ñ ÑинтакÑиÑу вимк" + #, c-format msgid "E390: Illegal argument: %s" msgstr "E390: Ðеправильний аргумент: %s" +msgid "syntax case ignore" +msgstr "ÑинтакÑÐ¸Ñ Ñ–Ð³Ð½Ð¾Ñ€ÑƒÐ²Ð°Ñ‚Ð¸ регіÑтр" + +msgid "syntax case match" +msgstr "ÑинтакÑÐ¸Ñ Ð´Ð¾Ñ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ñ‚Ð¸ÑÑ Ñ€ÐµÐ³Ñ–Ñтру" + +msgid "syntax spell toplevel" +msgstr "ÑинтакÑÐ¸Ñ Ð¿ÐµÑ€ÐµÐ²Ñ–Ñ€Ñти вÑюди" + +msgid "syntax spell notoplevel" +msgstr "ÑинтакÑÐ¸Ñ Ð½Ðµ перевірÑти" + +msgid "syntax spell default" +msgstr "ÑинтакÑÐ¸Ñ Ð¿Ð¾Ñ‡Ð°Ñ‚ÐºÐ¾Ð²Ð¾" + msgid "syntax iskeyword " msgstr "ÑинтакÑÐ¸Ñ iskeyword " diff --git a/src/nvim/screen.c b/src/nvim/screen.c index 41e900eb4c..ed96e98d32 100644 --- a/src/nvim/screen.c +++ b/src/nvim/screen.c @@ -696,8 +696,8 @@ static void win_update(win_T *wp) if (buf->terminal) { terminal_resize(buf->terminal, - (uint16_t)(MAX(0, curwin->w_width - win_col_off(curwin))), - (uint16_t)curwin->w_height); + (uint16_t)(MAX(0, wp->w_width - win_col_off(wp))), + (uint16_t)wp->w_height); } } else if (buf->b_mod_set && buf->b_mod_xlines != 0 diff --git a/src/nvim/state.c b/src/nvim/state.c index 4d9032b7a5..a4b394c9e4 100644 --- a/src/nvim/state.c +++ b/src/nvim/state.c @@ -14,6 +14,8 @@ #include "nvim/option_defs.h" #include "nvim/ui.h" #include "nvim/os/input.h" +#include "nvim/ex_docmd.h" +#include "nvim/edit.h" #ifdef INCLUDE_GENERATED_DECLARATIONS # include "state.c.generated.h" @@ -127,19 +129,25 @@ char *get_mode(void) if (State & VREPLACE_FLAG) { buf[0] = 'R'; buf[1] = 'v'; - } else if (State & REPLACE_FLAG) { - buf[0] = 'R'; } else { - buf[0] = 'i'; + if (State & REPLACE_FLAG) { + buf[0] = 'R'; + } else { + buf[0] = 'i'; + } + if (ins_compl_active()) { + buf[1] = 'c'; + } else if (ctrl_x_mode == 1) { + buf[1] = 'x'; + } } - } else if (State & CMDLINE) { + } else if ((State & CMDLINE) || exmode_active) { buf[0] = 'c'; - if (exmode_active) { + if (exmode_active == EXMODE_VIM) { buf[1] = 'v'; + } else if (exmode_active == EXMODE_NORMAL) { + buf[1] = 'e'; } - } else if (exmode_active) { - buf[0] = 'c'; - buf[1] = 'e'; } else if (State & TERM_FOCUS) { buf[0] = 't'; } else { diff --git a/src/nvim/syntax.c b/src/nvim/syntax.c index 9a537130fd..bb7008b0ac 100644 --- a/src/nvim/syntax.c +++ b/src/nvim/syntax.c @@ -79,7 +79,7 @@ struct hl_group { #define SG_LINK 8 // link has been set /// @} -// highlight groups for 'highlight' option +// builtin |highlight-groups| static garray_T highlight_ga = GA_EMPTY_INIT_VALUE; static inline struct hl_group * HL_TABLE(void) @@ -8462,7 +8462,7 @@ Dictionary hl_get_attr_by_id(Integer attr_id, Boolean rgb, Error *err) attrentry_T *aep = syn_cterm_attr2entry((int)attr_id); if (!aep) { api_set_error(err, kErrorTypeException, - "Invalid attribute id: %d", attr_id); + "Invalid attribute id: %" PRId64, attr_id); return dic; } diff --git a/src/nvim/testdir/test_cmdline.vim b/src/nvim/testdir/test_cmdline.vim index c0f04f4730..5fc519f822 100644 --- a/src/nvim/testdir/test_cmdline.vim +++ b/src/nvim/testdir/test_cmdline.vim @@ -25,6 +25,34 @@ func Test_complete_wildmenu() set nowildmenu endfunc +func Test_expr_completion() + if !(has('cmdline_compl') && has('eval')) + return + endif + for cmd in [ + \ 'let a = ', + \ 'if', + \ 'elseif', + \ 'while', + \ 'for', + \ 'echo', + \ 'echon', + \ 'execute', + \ 'echomsg', + \ 'echoerr', + \ 'call', + \ 'return', + \ 'cexpr', + \ 'caddexpr', + \ 'cgetexpr', + \ 'lexpr', + \ 'laddexpr', + \ 'lgetexpr'] + call feedkeys(":" . cmd . " getl\<Tab>\<Home>\"\<CR>", 'xt') + call assert_equal('"' . cmd . ' getline(', getreg(':')) + endfor +endfunc + func Test_getcompletion() if !has('cmdline_compl') return @@ -268,3 +296,13 @@ func Test_illegal_address2() call delete('Xtest.vim') endfunc +func Test_cmdline_complete_wildoptions() + help + call feedkeys(":tag /\<c-a>\<c-b>\"\<cr>", 'tx') + let a = join(sort(split(@:)),' ') + set wildoptions=tagfile + call feedkeys(":tag /\<c-a>\<c-b>\"\<cr>", 'tx') + let b = join(sort(split(@:)),' ') + call assert_equal(a, b) + bw! +endfunc diff --git a/src/nvim/testdir/test_fileformat.vim b/src/nvim/testdir/test_fileformat.vim index 584f20cdfc..8dc25f62b1 100644 --- a/src/nvim/testdir/test_fileformat.vim +++ b/src/nvim/testdir/test_fileformat.vim @@ -15,3 +15,19 @@ func Test_fileformat_after_bw() call assert_equal(test_fileformats, &fileformat) set fileformats& endfunc + +func Test_fileformat_autocommand() + let filecnt = ["", "foobar\<CR>", "eins\<CR>", "\<CR>", "zwei\<CR>", "drei", "vier", "fünf", ""] + let ffs = &ffs + call writefile(filecnt, 'Xfile', 'b') + au BufReadPre Xfile set ffs=dos ff=dos + new Xfile + call assert_equal('dos', &l:ff) + call assert_equal('dos', &ffs) + + " cleanup + call delete('Xfile') + let &ffs = ffs + au! BufReadPre Xfile + bw! +endfunc diff --git a/src/nvim/testdir/test_functions.vim b/src/nvim/testdir/test_functions.vim index 237a2dc820..59807ca946 100644 --- a/src/nvim/testdir/test_functions.vim +++ b/src/nvim/testdir/test_functions.vim @@ -191,4 +191,89 @@ func Test_toupper() call assert_equal("â±¥ ⱦ", tolower("Ⱥ Ⱦ")) endfunc +" Tests for the mode() function +let current_modes = '' +func! Save_mode() + let g:current_modes = mode(0) . '-' . mode(1) + return '' +endfunc + +func! Test_mode() + new + call append(0, ["Blue Ball Black", "Brown Band Bowl", ""]) + + inoremap <F2> <C-R>=Save_mode()<CR> + + normal! 3G + exe "normal i\<F2>\<Esc>" + call assert_equal('i-i', g:current_modes) + exe "normal i\<C-G>uBa\<C-P>\<F2>\<Esc>u" + call assert_equal('i-ic', g:current_modes) + exe "normal iBro\<C-P>\<F2>\<Esc>u" + call assert_equal('i-ic', g:current_modes) + exe "normal iBa\<C-X>\<F2>\<Esc>u" + call assert_equal('i-ix', g:current_modes) + exe "normal iBa\<C-X>\<C-P>\<F2>\<Esc>u" + call assert_equal('i-ic', g:current_modes) + exe "normal iBro\<C-X>\<C-P>\<F2>\<Esc>u" + call assert_equal('i-ic', g:current_modes) + exe "normal iBro\<C-X>\<C-P>\<C-P>\<F2>\<Esc>u" + call assert_equal('i-ic', g:current_modes) + exe "normal iCom\<C-P>\<F2>\<Esc>u" + call assert_equal('i-ic', g:current_modes) + exe "normal iCom\<C-X>\<C-P>\<F2>\<Esc>u" + call assert_equal('i-ic', g:current_modes) + + exe "normal RBa\<C-P>\<F2>\<Esc>u" + call assert_equal('R-Rc', g:current_modes) + exe "normal RBro\<C-P>\<F2>\<Esc>u" + call assert_equal('R-Rc', g:current_modes) + exe "normal RBa\<C-X>\<F2>\<Esc>u" + call assert_equal('R-Rx', g:current_modes) + exe "normal RBa\<C-X>\<C-P>\<F2>\<Esc>u" + call assert_equal('R-Rc', g:current_modes) + exe "normal RBro\<C-X>\<C-P>\<F2>\<Esc>u" + call assert_equal('R-Rc', g:current_modes) + exe "normal RBro\<C-X>\<C-P>\<C-P>\<F2>\<Esc>u" + call assert_equal('R-Rc', g:current_modes) + exe "normal RCom\<C-P>\<F2>\<Esc>u" + call assert_equal('R-Rc', g:current_modes) + exe "normal RCom\<C-X>\<C-P>\<F2>\<Esc>u" + call assert_equal('R-Rc', g:current_modes) + + call assert_equal('n', mode(0)) + call assert_equal('n', mode(1)) + " How to test operator-pending mode? + + call feedkeys("v", 'xt') + call assert_equal('v', mode()) + call assert_equal('v', mode(1)) + call feedkeys("\<Esc>V", 'xt') + call assert_equal('V', mode()) + call assert_equal('V', mode(1)) + call feedkeys("\<Esc>\<C-V>", 'xt') + call assert_equal("\<C-V>", mode()) + call assert_equal("\<C-V>", mode(1)) + call feedkeys("\<Esc>", 'xt') + + call feedkeys("gh", 'xt') + call assert_equal('s', mode()) + call assert_equal('s', mode(1)) + call feedkeys("\<Esc>gH", 'xt') + call assert_equal('S', mode()) + call assert_equal('S', mode(1)) + call feedkeys("\<Esc>g\<C-H>", 'xt') + call assert_equal("\<C-S>", mode()) + call assert_equal("\<C-S>", mode(1)) + call feedkeys("\<Esc>", 'xt') + + call feedkeys(":echo \<C-R>=Save_mode()\<C-U>\<CR>", 'xt') + call assert_equal('c-c', g:current_modes) + call feedkeys("gQecho \<C-R>=Save_mode()\<CR>\<CR>vi\<CR>", 'xt') + call assert_equal('c-cv', g:current_modes) + " How to test Ex mode? + + bwipe! + iunmap <F2> +endfunc diff --git a/src/nvim/testdir/test_mapping.vim b/src/nvim/testdir/test_mapping.vim index 7f93ddd56e..f5e4c4b90c 100644 --- a/src/nvim/testdir/test_mapping.vim +++ b/src/nvim/testdir/test_mapping.vim @@ -110,6 +110,8 @@ func Test_map_langmap() call feedkeys(":call append(line('$'), '+')\<CR>", "xt") call assert_equal('+', getline('$')) + iunmap a + iunmap c set nomodified endfunc @@ -120,7 +122,7 @@ func Test_map_feedkeys() $-1 call feedkeys("0qqdw.ifoo\<Esc>qj0@q\<Esc>", "xt") call assert_equal(['fooc d', 'fooc d'], getline(line('$') - 1, line('$'))) - unmap . + nunmap . set nomodified endfunc diff --git a/src/nvim/testdir/test_unlet.vim b/src/nvim/testdir/test_unlet.vim index f6705997a9..96ba752d9f 100644 --- a/src/nvim/testdir/test_unlet.vim +++ b/src/nvim/testdir/test_unlet.vim @@ -3,7 +3,7 @@ func Test_read_only() try " this caused a crash - unlet count + unlet v:count catch call assert_true(v:exception =~ ':E795:') endtry diff --git a/src/nvim/testdir/test_usercommands.vim b/src/nvim/testdir/test_usercommands.vim index d0864ec64c..db603610da 100644 --- a/src/nvim/testdir/test_usercommands.vim +++ b/src/nvim/testdir/test_usercommands.vim @@ -102,3 +102,107 @@ func Test_CmdUndefined() call assert_fails('Dothat', 'E492:') call assert_equal('yes', g:didnot) endfunc + +func Test_CmdErrors() + call assert_fails('com! docmd :', 'E183:') + call assert_fails('com! \<Tab> :', 'E182:') + call assert_fails('com! _ :', 'E182:') + call assert_fails('com! X :', 'E841:') + call assert_fails('com! - DoCmd :', 'E175:') + call assert_fails('com! -xxx DoCmd :', 'E181:') + call assert_fails('com! -addr DoCmd :', 'E179:') + call assert_fails('com! -complete DoCmd :', 'E179:') + call assert_fails('com! -complete=xxx DoCmd :', 'E180:') + call assert_fails('com! -complete=custom DoCmd :', 'E467:') + call assert_fails('com! -complete=customlist DoCmd :', 'E467:') + call assert_fails('com! -complete=behave,CustomComplete DoCmd :', 'E468:') + call assert_fails('com! -nargs=x DoCmd :', 'E176:') + call assert_fails('com! -count=1 -count=2 DoCmd :', 'E177:') + call assert_fails('com! -count=x DoCmd :', 'E178:') + call assert_fails('com! -range=x DoCmd :', 'E178:') + + com! -nargs=0 DoCmd : + call assert_fails('DoCmd x', 'E488:') + + com! -nargs=1 DoCmd : + call assert_fails('DoCmd', 'E471:') + + com! -nargs=+ DoCmd : + call assert_fails('DoCmd', 'E471:') + + call assert_fails('com DoCmd :', 'E174:') + comclear + call assert_fails('delcom DoCmd', 'E184:') +endfunc + +func CustomComplete(A, L, P) + return "January\nFebruary\nMars\n" +endfunc + +func CustomCompleteList(A, L, P) + return [ "Monday", "Tuesday", "Wednesday" ] +endfunc + +func Test_CmdCompletion() + call feedkeys(":com -\<C-A>\<C-B>\"\<CR>", 'tx') + call assert_equal('"com -addr bang bar buffer complete count nargs range register', @:) + + call feedkeys(":com -nargs=0 -\<C-A>\<C-B>\"\<CR>", 'tx') + call assert_equal('"com -nargs=0 -addr bang bar buffer complete count nargs range register', @:) + + call feedkeys(":com -nargs=\<C-A>\<C-B>\"\<CR>", 'tx') + call assert_equal('"com -nargs=* + 0 1 ?', @:) + + call feedkeys(":com -addr=\<C-A>\<C-B>\"\<CR>", 'tx') + call assert_equal('"com -addr=arguments buffers lines loaded_buffers quickfix tabs windows', @:) + + call feedkeys(":com -complete=co\<C-A>\<C-B>\"\<CR>", 'tx') + call assert_equal('"com -complete=color command compiler', @:) + + command! DoCmd1 : + command! DoCmd2 : + call feedkeys(":com \<C-A>\<C-B>\"\<CR>", 'tx') + call assert_equal('"com DoCmd1 DoCmd2', @:) + + call feedkeys(":DoC\<C-A>\<C-B>\"\<CR>", 'tx') + call assert_equal('"DoCmd1 DoCmd2', @:) + + call feedkeys(":delcom DoC\<C-A>\<C-B>\"\<CR>", 'tx') + call assert_equal('"delcom DoCmd1 DoCmd2', @:) + + delcom DoCmd1 + call feedkeys(":delcom DoC\<C-A>\<C-B>\"\<CR>", 'tx') + call assert_equal('"delcom DoCmd2', @:) + + call feedkeys(":com DoC\<C-A>\<C-B>\"\<CR>", 'tx') + call assert_equal('"com DoCmd2', @:) + + delcom DoCmd2 + call feedkeys(":delcom DoC\<C-A>\<C-B>\"\<CR>", 'tx') + call assert_equal('"delcom DoC', @:) + + call feedkeys(":com DoC\<C-A>\<C-B>\"\<CR>", 'tx') + call assert_equal('"com DoC', @:) + + com! -complete=behave DoCmd : + call feedkeys(":DoCmd \<C-A>\<C-B>\"\<CR>", 'tx') + call assert_equal('"DoCmd mswin xterm', @:) + + " This does not work. Why? + "call feedkeys(":DoCmd x\<C-A>\<C-B>\"\<CR>", 'tx') + "call assert_equal('"DoCmd xterm', @:) + + com! -complete=custom,CustomComplete DoCmd : + call feedkeys(":DoCmd \<C-A>\<C-B>\"\<CR>", 'tx') + call assert_equal('"DoCmd January February Mars', @:) + + com! -complete=customlist,CustomCompleteList DoCmd : + call feedkeys(":DoCmd \<C-A>\<C-B>\"\<CR>", 'tx') + call assert_equal('"DoCmd Monday Tuesday Wednesday', @:) + + com! -complete=custom,CustomCompleteList DoCmd : + call assert_fails("call feedkeys(':DoCmd \<C-D>', 'tx')", 'E730:') + + com! -complete=customlist,CustomComp DoCmd : + call assert_fails("call feedkeys(':DoCmd \<C-D>', 'tx')", 'E117:') +endfunc diff --git a/src/nvim/tui/input.c b/src/nvim/tui/input.c index 8bb5971bd4..8e08b77b00 100644 --- a/src/nvim/tui/input.c +++ b/src/nvim/tui/input.c @@ -14,8 +14,6 @@ #include "nvim/event/rstream.h" #define PASTETOGGLE_KEY "<Paste>" -#define FOCUSGAINED_KEY "<FocusGained>" -#define FOCUSLOST_KEY "<FocusLost>" #define KEY_BUFFER_SIZE 0xfff #ifdef INCLUDE_GENERATED_DECLARATIONS diff --git a/src/nvim/tui/tui.c b/src/nvim/tui/tui.c index 8e0e905bcd..f35e99840d 100644 --- a/src/nvim/tui/tui.c +++ b/src/nvim/tui/tui.c @@ -1453,12 +1453,10 @@ static void patch_terminfo_bugs(TUIData *data, const char *term, data->unibi_ext.set_cursor_style = unibi_find_ext_str(ut, "Ss"); } if (-1 == data->unibi_ext.set_cursor_style) { - // The DECSCUSR sequence to change the cursor shape is widely - // supported by several terminal types and should be in many - // teminfo entries. See - // https://github.com/gnachman/iTerm2/pull/92 for more. - // xterm even has an extended version that has a vertical bar. - if (!konsole && (true_xterm // per xterm ctlseqs doco (since version 282) + // The DECSCUSR sequence to change the cursor shape is widely supported by + // several terminal types. https://github.com/gnachman/iTerm2/pull/92 + // xterm extension: vertical bar + if (!konsole && ((xterm && !vte_version) // anything claiming xterm compat // per MinTTY 0.4.3-1 release notes from 2009 || putty // per https://bugzilla.gnome.org/show_bug.cgi?id=720821 @@ -1470,9 +1468,8 @@ static void patch_terminfo_bugs(TUIData *data, const char *term, // per analysis of VT100Terminal.m || iterm || iterm_pretending_xterm || teraterm // per TeraTerm "Supported Control Functions" doco - // Allows forcing the use of DECSCUSR on linux type terminals, such as - // console-terminal-emulator from the nosh toolset, which does indeed - // implement the xterm extension: + // Some linux-type terminals (such as console-terminal-emulator + // from the nosh toolset) implement implement the xterm extension. || (linuxvt && (xterm_version || (vte_version > 0) || colorterm)))) { data->unibi_ext.set_cursor_style = (int)unibi_add_ext_str(ut, "Ss", "\x1b[%p1%d q"); @@ -1571,10 +1568,9 @@ static void augment_terminfo(TUIData *data, const char *term, } // Dickey ncurses terminfo does not include the setrgbf and setrgbb - // capabilities, proposed by Rüdiger Sonderfeld on 2013-10-15. So adding - // them to terminal types, that do actually have such control sequences but - // lack the correct definitions in terminfo, is an augmentation, not a - // fixup. See https://gist.github.com/XVilka/8346728 for more about this. + // capabilities, proposed by Rüdiger Sonderfeld on 2013-10-15. Adding + // them here when terminfo lacks them is an augmentation, not a fixup. + // https://gist.github.com/XVilka/8346728 // At this time (2017-07-12) it seems like all terminals that support rgb // color codes can use semicolons in the terminal code and be fine. @@ -1584,8 +1580,8 @@ static void augment_terminfo(TUIData *data, const char *term, // can use colons like ISO 8613-6:1994/ITU T.416:1993 says. bool has_colon_rgb = !tmux && !screen - && ((vte_version >= 3600) // per GNOME bug #685759, #704449 - || iterm || iterm_pretending_xterm // per analysis of VT100Terminal.m + && !vte_version // VTE colon-support has a big memory leak. #7573 + && (iterm || iterm_pretending_xterm // per VT100Terminal.m // per http://invisible-island.net/xterm/xterm.log.html#xterm_282 || true_xterm); diff --git a/src/nvim/ui.c b/src/nvim/ui.c index afe7a51d43..3b8b3ac9a7 100644 --- a/src/nvim/ui.c +++ b/src/nvim/ui.c @@ -14,6 +14,7 @@ #include "nvim/cursor.h" #include "nvim/diff.h" #include "nvim/ex_cmds2.h" +#include "nvim/ex_getln.h" #include "nvim/fold.h" #include "nvim/main.h" #include "nvim/ascii.h" @@ -484,6 +485,7 @@ int ui_current_col(void) void ui_flush(void) { + cmdline_ui_flush(); ui_call_flush(); } diff --git a/src/nvim/version.c b/src/nvim/version.c index 17f60f309c..e759d1542b 100644 --- a/src/nvim/version.c +++ b/src/nvim/version.c @@ -823,7 +823,7 @@ static const int included_patches[] = { // 286, // 285 NA // 284 NA - // 283, + 283, 282, // 281 NA 280, @@ -858,18 +858,18 @@ static const int included_patches[] = { // 251, 250, // 249 NA - // 248, + // 248 NA 247, // 246 NA - // 245, + 245, // 244, 243, - // 242, + 242, // 241 NA // 240 NA // 239 NA // 238, - // 237, + 237, // 236, 235, // 234, @@ -880,15 +880,15 @@ static const int included_patches[] = { 229, // 228, // 227, - // 226, + 226, // 225, - // 224, + 224, 223, // 222, // 221 NA // 220, 219, - // 218, + 218, // 217 NA // 216, // 215, diff --git a/src/nvim/vim.h b/src/nvim/vim.h index 096c57450f..e196dd7714 100644 --- a/src/nvim/vim.h +++ b/src/nvim/vim.h @@ -4,26 +4,24 @@ #include "nvim/types.h" #include "nvim/pos.h" // for linenr_T, MAXCOL, etc... -/* Some defines from the old feature.h */ +// Some defines from the old feature.h #define SESSION_FILE "Session.vim" #define MAX_MSG_HIST_LEN 200 #define SYS_OPTWIN_FILE "$VIMRUNTIME/optwin.vim" #define RUNTIME_DIRNAME "runtime" -/* end */ + #include "auto/config.h" #define HAVE_PATHDEF -/* - * Check if configure correctly managed to find sizeof(int). If this failed, - * it becomes zero. This is likely a problem of not being able to run the - * test program. Other items from configure may also be wrong then! - */ +// Check if configure correctly managed to find sizeof(int). If this failed, +// it becomes zero. This is likely a problem of not being able to run the +// test program. Other items from configure may also be wrong then! #if (SIZEOF_INT == 0) # error Configure did not run properly. #endif -#include "nvim/os/os_defs.h" /* bring lots of system header files */ +#include "nvim/os/os_defs.h" // bring lots of system header files /// length of a buffer to store a number in ASCII (64 bits binary + NUL) enum { NUMBUFLEN = 65 }; @@ -37,41 +35,41 @@ enum { NUMBUFLEN = 65 }; #include "nvim/gettext.h" -/* special attribute addition: Put message in history */ +// special attribute addition: Put message in history #define MSG_HIST 0x1000 -/* - * values for State - * - * The lower bits up to 0x20 are used to distinguish normal/visual/op_pending - * and cmdline/insert+replace mode. This is used for mapping. If none of - * these bits are set, no mapping is done. - * The upper bits are used to distinguish between other states. - */ -#define NORMAL 0x01 /* Normal mode, command expected */ -#define VISUAL 0x02 /* Visual mode - use get_real_state() */ -#define OP_PENDING 0x04 /* Normal mode, operator is pending - use - get_real_state() */ -#define CMDLINE 0x08 /* Editing command line */ -#define INSERT 0x10 /* Insert mode */ -#define LANGMAP 0x20 /* Language mapping, can be combined with - INSERT and CMDLINE */ - -#define REPLACE_FLAG 0x40 /* Replace mode flag */ + +// values for State +// +// The lower bits up to 0x20 are used to distinguish normal/visual/op_pending +// and cmdline/insert+replace mode. This is used for mapping. If none of +// these bits are set, no mapping is done. +// The upper bits are used to distinguish between other states. + +#define NORMAL 0x01 // Normal mode, command expected +#define VISUAL 0x02 // Visual mode - use get_real_state() +#define OP_PENDING 0x04 // Normal mode, operator is pending - use + // get_real_state() +#define CMDLINE 0x08 // Editing command line +#define INSERT 0x10 // Insert mode +#define LANGMAP 0x20 // Language mapping, can be combined with + // INSERT and CMDLINE + +#define REPLACE_FLAG 0x40 // Replace mode flag #define REPLACE (REPLACE_FLAG + INSERT) -# define VREPLACE_FLAG 0x80 /* Virtual-replace mode flag */ +# define VREPLACE_FLAG 0x80 // Virtual-replace mode flag # define VREPLACE (REPLACE_FLAG + VREPLACE_FLAG + INSERT) #define LREPLACE (REPLACE_FLAG + LANGMAP) -#define NORMAL_BUSY (0x100 + NORMAL) /* Normal mode, busy with a command */ -#define HITRETURN (0x200 + NORMAL) /* waiting for return or command */ -#define ASKMORE 0x300 /* Asking if you want --more-- */ -#define SETWSIZE 0x400 /* window size has changed */ -#define ABBREV 0x500 /* abbreviation instead of mapping */ -#define EXTERNCMD 0x600 /* executing an external command */ -#define SHOWMATCH (0x700 + INSERT) /* show matching paren */ -#define CONFIRM 0x800 /* ":confirm" prompt */ -#define SELECTMODE 0x1000 /* Select mode, only for mappings */ +#define NORMAL_BUSY (0x100 + NORMAL) // Normal mode, busy with a command +#define HITRETURN (0x200 + NORMAL) // waiting for return or command +#define ASKMORE 0x300 // Asking if you want --more-- +#define SETWSIZE 0x400 // window size has changed +#define ABBREV 0x500 // abbreviation instead of mapping +#define EXTERNCMD 0x600 // executing an external command +#define SHOWMATCH (0x700 + INSERT) // show matching paren +#define CONFIRM 0x800 // ":confirm" prompt +#define SELECTMODE 0x1000 // Select mode, only for mappings #define TERM_FOCUS 0x2000 // Terminal focus mode #define CMDPREVIEW 0x4000 // Showing 'inccommand' command "live" preview. @@ -87,13 +85,13 @@ typedef enum { BACKWARD_FILE = (-3), } Direction; -/* return values for functions */ +// return values for functions #if !(defined(OK) && (OK == 1)) -/* OK already defined to 1 in MacOS X curses, skip this */ +// OK already defined to 1 in MacOS X curses, skip this # define OK 1 #endif #define FAIL 0 -#define NOTDONE 2 /* not OK or FAIL but skipped */ +#define NOTDONE 2 // not OK or FAIL but skipped // Type values for type(). #define VAR_TYPE_NUMBER 0 @@ -104,9 +102,9 @@ typedef enum { #define VAR_TYPE_FLOAT 5 #define VAR_TYPE_BOOL 6 -/* - * values for xp_context when doing command line completion - */ + +// values for xp_context when doing command line completion + enum { EXPAND_UNSUCCESSFUL = -2, EXPAND_OK = -1, @@ -162,57 +160,54 @@ enum { +// Minimal size for block 0 of a swap file. +// NOTE: This depends on size of struct block0! It's not done with a sizeof(), +// because struct block0 is defined in memline.c (Sorry). +// The maximal block size is arbitrary. -/* - * Minimal size for block 0 of a swap file. - * NOTE: This depends on size of struct block0! It's not done with a sizeof(), - * because struct block0 is defined in memline.c (Sorry). - * The maximal block size is arbitrary. - */ #define MIN_SWAP_PAGE_SIZE 1048 #define MAX_SWAP_PAGE_SIZE 50000 -/* - * Boolean constants - */ +// Boolean constants + #ifndef TRUE -# define FALSE 0 /* note: this is an int, not a long! */ +# define FALSE 0 // note: this is an int, not a long! # define TRUE 1 #endif -#define MAYBE 2 /* sometimes used for a variant on TRUE */ +#define MAYBE 2 // sometimes used for a variant on TRUE -#define STATUS_HEIGHT 1 /* height of a status line under a window */ -#define QF_WINHEIGHT 10 /* default height for quickfix window */ +#define STATUS_HEIGHT 1 // height of a status line under a window +#define QF_WINHEIGHT 10 // default height for quickfix window + + +// Buffer sizes -/* - * Buffer sizes - */ #ifndef CMDBUFFSIZE -# define CMDBUFFSIZE 256 /* size of the command processing buffer */ +# define CMDBUFFSIZE 256 // size of the command processing buffer #endif -#define LSIZE 512 /* max. size of a line in the tags file */ +#define LSIZE 512 // max. size of a line in the tags file -#define DIALOG_MSG_SIZE 1000 /* buffer size for dialog_msg() */ +#define DIALOG_MSG_SIZE 1000 // buffer size for dialog_msg() enum { FOLD_TEXT_LEN = 51 }; //!< buffer size for get_foldtext() -/* - * Maximum length of key sequence to be mapped. - * Must be able to hold an Amiga resize report. - */ + +// Maximum length of key sequence to be mapped. +// Must be able to hold an Amiga resize report. + #define MAXMAPLEN 50 -/* Size in bytes of the hash used in the undo file. */ +// Size in bytes of the hash used in the undo file. #define UNDO_HASH_SIZE 32 -/* - * defines to avoid typecasts from (char_u *) to (char *) and back - * (vim_strchr() and vim_strrchr() are now in alloc.c) - */ + +// defines to avoid typecasts from (char_u *) to (char *) and back +// (vim_strchr() and vim_strrchr() are now in alloc.c) + #define STRLEN(s) strlen((char *)(s)) #define STRCPY(d, s) strcpy((char *)(d), (char *)(s)) #define STRNCPY(d, s, n) strncpy((char *)(d), (char *)(s), (size_t)(n)) @@ -229,7 +224,7 @@ enum { FOLD_TEXT_LEN = 51 }; //!< buffer size for get_foldtext() # endif #endif -/* Like strcpy() but allows overlapped source and destination. */ +// Like strcpy() but allows overlapped source and destination. #define STRMOVE(d, s) memmove((d), (s), STRLEN(s) + 1) #ifdef HAVE_STRNCASECMP @@ -254,8 +249,8 @@ enum { FOLD_TEXT_LEN = 51 }; //!< buffer size for get_foldtext() // destination and mess up the screen. #define PERROR(msg) (void) emsgf("%s: %s", msg, strerror(errno)) -#define SHOWCMD_COLS 10 /* columns needed by shown command */ -#define STL_MAX_ITEM 80 /* max nr of %<flag> in statusline */ +#define SHOWCMD_COLS 10 // columns needed by shown command +#define STL_MAX_ITEM 80 // max nr of %<flag> in statusline /// Compare file names /// @@ -274,28 +269,27 @@ enum { FOLD_TEXT_LEN = 51 }; //!< buffer size for get_foldtext() (const char *)(y), \ (size_t)(n)) -/* - * Enums need a typecast to be used as array index (for Ultrix). - */ + +// Enums need a typecast to be used as array index (for Ultrix). #define hl_attr(n) highlight_attr[(int)(n)] #define term_str(n) term_strings[(int)(n)] -/* Maximum number of bytes in a multi-byte character. It can be one 32-bit - * character of up to 6 bytes, or one 16-bit character of up to three bytes - * plus six following composing characters of three bytes each. */ +/// Maximum number of bytes in a multi-byte character. It can be one 32-bit +/// character of up to 6 bytes, or one 16-bit character of up to three bytes +/// plus six following composing characters of three bytes each. #define MB_MAXBYTES 21 -/* This has to go after the include of proto.h, as proto/gui.pro declares - * functions of these names. The declarations would break if the defines had - * been seen at that stage. But it must be before globals.h, where error_ga - * is declared. */ +// This has to go after the include of proto.h, as proto/gui.pro declares +// functions of these names. The declarations would break if the defines had +// been seen at that stage. But it must be before globals.h, where error_ga +// is declared. #define mch_errmsg(str) fprintf(stderr, "%s", (str)) #define display_errors() fflush(stderr) #define mch_msg(str) printf("%s", (str)) -#include "nvim/globals.h" /* global variables and messages */ -#include "nvim/buffer_defs.h" /* buffer and windows */ -#include "nvim/ex_cmds_defs.h" /* Ex command defines */ +#include "nvim/globals.h" // global variables and messages +#include "nvim/buffer_defs.h" // buffer and windows +#include "nvim/ex_cmds_defs.h" // Ex command defines # define SET_NO_HLSEARCH(flag) no_hlsearch = (flag); set_vim_var_nr( \ VV_HLSEARCH, !no_hlsearch && p_hls) @@ -317,4 +311,4 @@ enum { FOLD_TEXT_LEN = 51 }; //!< buffer size for get_foldtext() # define OPEN_CHR_FILES #endif -#endif /* NVIM_VIM_H */ +#endif // NVIM_VIM_H diff --git a/src/nvim/window.c b/src/nvim/window.c index 2d64409a1c..4e4eb297aa 100644 --- a/src/nvim/window.c +++ b/src/nvim/window.c @@ -1846,12 +1846,6 @@ static bool close_last_window_tabpage(win_T *win, bool free_buf, shell_new_rows(); } - if (term) { - // When a window containing a terminal buffer is closed, recalculate its - // size - terminal_resize(term, 0, 0); - } - // Since goto_tabpage_tp above did not trigger *Enter autocommands, do // that now. apply_autocmds(EVENT_TABCLOSED, prev_idx, prev_idx, false, curbuf); @@ -3745,12 +3739,6 @@ static void win_enter_ext(win_T *wp, bool undo_sync, int curwin_invalid, /* Change directories when the 'acd' option is set. */ do_autochdir(); - - if (curbuf->terminal) { - terminal_resize(curbuf->terminal, - (uint16_t)(MAX(0, curwin->w_width - win_col_off(curwin))), - (uint16_t)curwin->w_height); - } } @@ -4930,9 +4918,7 @@ void scroll_to_fraction(win_T *wp, int prev_height) } } -/* - * Set the width of a window. - */ +/// Set the width of a window. void win_new_width(win_T *wp, int width) { wp->w_width = width; @@ -4949,7 +4935,7 @@ void win_new_width(win_T *wp, int width) if (wp->w_buffer->terminal) { if (wp->w_height != 0) { terminal_resize(wp->w_buffer->terminal, - (uint16_t)(MAX(0, curwin->w_width - win_col_off(curwin))), + (uint16_t)(MAX(0, wp->w_width - win_col_off(wp))), 0); } } diff --git a/test/README.md b/test/README.md index a76cfc5235..6ad70e2f45 100644 --- a/test/README.md +++ b/test/README.md @@ -1,10 +1,224 @@ Tests ===== -Tests are run by `/cmake/RunTests.cmake` file, using busted. +Tests are run by `/cmake/RunTests.cmake` file, using `busted`. For some failures, `.nvimlog` (or `$NVIM_LOG_FILE`) may provide insight. +--- + +- [Running tests](#running-tests) +- [Unit tests](#unit-tests) +- [Lint](#lint) +- [Environment variables](#environment-variables) + +--- + +Running tests +------------- + +Neovim uses third-party tooling to execute tests. So be sure, from the +repository directory, to build the tools before testing: + + make cmake + +## Executing Tests + +To run all _non-legacy_ (unit + functional) tests: + + make test + +To run only _unit_ tests: + + make unittest + +To run only _functional_ tests: + + make functionaltest + +--- + +## Filter Tests + +### Filter by name + +Another filter method is by setting a pattern of test name to `TEST_FILTER`. + +``` lua +it('foo api',function() + ... +end) +it('bar api',function() + ... +end) +``` + +To run only test with filter name: + + TEST_TAG='foo.*api' make functionaltest + +### Filter by file + +To run a *specific* unit test: + + TEST_FILE=test/unit/foo.lua make unittest + +To run a *specific* functional test: + + TEST_FILE=test/functional/foo.lua make functionaltest + +To *repeat* a test many times: + + .deps/usr/bin/busted --filter 'foo' --repeat 1000 test/functional/ui/foo_spec.lua + +### Filter by tag + +Tests can be "tagged" by adding `#` before a token in the test description. + +``` lua +it('#foo bar baz', function() + ... +end) +it('#foo another test', function() + ... +end) +``` + +To run only the tagged tests: + + TEST_TAG=foo make functionaltest + +**NOTES**: +* Tags are mainly used for testing issues (ex: `#1234`), so use the following + method. +* `TEST_FILE` is not a pattern string like `TEST_TAG` or `TEST_FILTER`. The + given value to `TEST_FILE` must be a path to an existing file. +* Both `TEST_TAG` and `TEST_FILTER` filter tests by the strings from either + `it()` or `describe()` functions. + +--- + +### Legacy + +To run all legacy (Vim) integration tests: + + make oldtest + +To run a *single* legacy test, run `make` with `TEST_FILE=test_name.res`. E.g. +to run `test_syntax.vim`: + + TEST_FILE=test_syntax.res make oldtest + +- The `.res` extension (instead of `.vim`) is required. +- Specify only the test file name, not the full path. + +### Functional tests + +`$GDB` can be set to [run tests under +gdbserver](https://github.com/neovim/neovim/pull/1527). If `$VALGRIND` is also +set, it will add the `--vgdb=yes` option to valgrind instead of +starting gdbserver directly. + +Unit tests +---------- + +Tests are broadly divided into *unit tests* +([test/unit](https://github.com/neovim/neovim/tree/master/test/unit) directory) +and *functional tests* +([test/functional](https://github.com/neovim/neovim/tree/master/test/functional) +directory). Use any of the existing tests as a template to start writing new +tests. + +- _Unit_ testing is achieved by compiling the tests as a shared library which is + loaded and called by LuaJit [FFI](http://luajit.org/ext_ffi.html). +- _Functional_ tests are driven by RPC, so they do not require LuaJit (as + opposed to Lua). + +You can learn the [key concepts of Lua in 15 +minutes](http://learnxinyminutes.com/docs/lua/). + +## Guidelines for writing tests + +- Consider [BDD](http://en.wikipedia.org/wiki/Behavior-driven_development) + guidelines for organization and readability of tests. Describe what you're + testing (and the environment if applicable) and create specs that assert its + behavior. +- For testing static functions or functions that have side effects visible only + in module-global variables, create accessors for the modified variables. For + example, say you are testing a function in misc1.c that modifies a static + variable, create a file `test/c-helpers/misc1.c` and add a function that + retrieves the value after the function call. Files under `test/c-helpers` will + only be compiled when building the test shared library. +- Luajit needs to know about type and constant declarations used in function + prototypes. The + [helpers.lua](https://github.com/neovim/neovim/blob/master/test/unit/helpers.lua) + file automatically parses `types.h`, so types used in the tested functions + must be moved to it to avoid having to rewrite the declarations in the test + files (even though this is how it's currently done currently in the misc1/fs + modules, but contributors are encouraged to refactor the declarations). + - Macro constants must be rewritten as enums so they can be "visible" to the + tests automatically. +- Busted supports various "output providers". The + **[gtest](https://github.com/Olivine-Labs/busted/pull/394) output provider** + shows verbose details that can be useful to diagnose hung tests. Either modify + the Makefile or compile with `make + CMAKE_EXTRA_FLAGS=-DBUSTED_OUTPUT_TYPE=gtest` to enable it. +- **Use busted's `pending()` feature** to skip tests + ([example](https://github.com/neovim/neovim/commit/5c1dc0fbe7388528875aff9d7b5055ad718014de#diff-bf80b24c724b0004e8418102f68b0679R18)). + Do not silently skip the test with `if-else`. If a functional test depends on + some external factor (e.g. the existence of `md5sum` on `$PATH`), *and* you + can't mock or fake the dependency, then skip the test via `pending()` if the + external factor is missing. This ensures that the *total* test-count (success + + fail + error + pending) is the same in all environments. + - *Note:* `pending()` is ignored if it is missing an argument _unless_ it is + [contained in an `it()` + block](https://github.com/neovim/neovim/blob/d21690a66e7eb5ebef18046c7a79ef898966d786/test/functional/ex_cmds/grep_spec.lua#L11). + Provide empty function argument if the `pending()` call is outside of + `it()` + ([example](https://github.com/neovim/neovim/commit/5c1dc0fbe7388528875aff9d7b5055ad718014de#diff-bf80b24c724b0004e8418102f68b0679R18)). +- Use `make testlint` for using the shipped luacheck program ([supported by + syntastic](https://github.com/scrooloose/syntastic/blob/d6b96c079be137c83009827b543a83aa113cc011/doc/syntastic-checkers.txt#L3546)) + to lint all tests. + +### Where tests go + +- _Unit tests_ + ([test/unit](https://github.com/neovim/neovim/tree/master/test/unit)) should + match 1-to-1 with the structure of `src/nvim/`, because they are testing + functions directly. E.g. unit-tests for `src/nvim/undo.c` should live in + `test/unit/undo_spec.lua`. +- _Functional tests_ + ([test/functional](https://github.com/neovim/neovim/tree/master/test/functional)) + are higher-level (plugins and user input) than unit tests; they are organized + by concept. + - Try to find an existing `test/functional/*/*_spec.lua` group that makes + sense, before creating a new one. + +## Checklist for migrating legacy tests + +**Note:** Only "old style" (`src/testdir/*.in`) legacy tests should be +converted. Please _do not_ convert "new style" Vim tests (`src/testdir/*.vim`). +The "new style" Vim tests are faster than the old ones, and converting them +takes time and effort better spent elsewhere. + +- Remove the test from the Makefile (`src/nvim/testdir/Makefile`). +- Remove the associated `test.in`, `test.out`, and `test.ok` files from + `src/nvim/testdir/`. +- Make sure the lua test ends in `_spec.lua`. +- Make sure the test count increases accordingly in the build log. +- Make sure the new test contains the same control characters (`^]`, ...) as the + old test. + - Instead of the actual control characters, use an equivalent textual + representation (e.g. `<esc>` instead of `^]`). The + `scripts/legacy2luatest.pl` script does some of these conversions + automatically. + +## Tips + +- Really long `source([=[...]=])` blocks may break syntax highlighting. Try + `:syntax sync fromstart` to fix it. + + Lint ---- diff --git a/test/functional/core/startup_spec.lua b/test/functional/core/startup_spec.lua new file mode 100644 index 0000000000..ae7f949e52 --- /dev/null +++ b/test/functional/core/startup_spec.lua @@ -0,0 +1,96 @@ +local helpers = require('test.functional.helpers')(after_each) +local Screen = require('test.functional.ui.screen') + +local clear = helpers.clear +local command = helpers.command +local eq = helpers.eq +local funcs = helpers.funcs +local nvim_prog = helpers.nvim_prog +local nvim_set = helpers.nvim_set +local read_file = helpers.read_file +local retry = helpers.retry +local iswin = helpers.iswin + +describe('startup', function() + before_each(function() + clear() + end) + after_each(function() + os.remove('Xtest_startup_ttyout') + end) + + it('pipe at both ends: has("ttyin")==0 has("ttyout")==0', function() + -- system() puts a pipe at both ends. + local out = funcs.system({ nvim_prog, '-u', 'NONE', '-i', 'NONE', '--headless', + '--cmd', nvim_set, + '-c', [[echo has('ttyin') has('ttyout')]], + '+q' }) + eq('0 0', out) + end) + it('with --embed: has("ttyin")==0 has("ttyout")==0', function() + local screen = Screen.new(25, 3) + -- Remote UI connected by --embed. + screen:attach() + command([[echo has('ttyin') has('ttyout')]]) + screen:expect([[ + ^ | + ~ | + 0 0 | + ]]) + end) + it('in a TTY: has("ttyin")==1 has("ttyout")==1', function() + local screen = Screen.new(25, 3) + screen:attach() + if iswin() then + command([[set shellcmdflag=/s\ /c shellxquote=\"]]) + end + -- Running in :terminal + command([[exe printf("terminal %s -u NONE -i NONE --cmd \"]] + ..nvim_set..[[\" ]] + ..[[-c \"echo has('ttyin') has('ttyout')\""]] + ..[[, shellescape(v:progpath))]]) + screen:expect([[ + ^ | + 1 1 | + | + ]]) + end) + it('output to pipe: has("ttyin")==1 has("ttyout")==0', function() + local screen = Screen.new(25, 5) + screen:attach() + if iswin() then + command([[set shellcmdflag=/s\ /c shellxquote=\"]]) + end + -- Running in :terminal + command([[exe printf("terminal %s -u NONE -i NONE --cmd \"]] + ..nvim_set..[[\" ]] + ..[[-c \"call writefile([has('ttyin'), has('ttyout')], 'Xtest_startup_ttyout')\"]] + ..[[-c q | cat -v"]] -- Output to a pipe. + ..[[, shellescape(v:progpath))]]) + retry(nil, 3000, function() + screen:sleep(1) + eq('1\n0\n', -- stdin is a TTY, stdout is a pipe + read_file('Xtest_startup_ttyout')) + end) + end) + it('input from pipe: has("ttyin")==0 has("ttyout")==1', function() + local screen = Screen.new(25, 5) + screen:attach() + if iswin() then + command([[set shellcmdflag=/s\ /c shellxquote=\"]]) + end + -- Running in :terminal + command([[exe printf("terminal echo foo | ]] -- Input from a pipe. + ..[[%s -u NONE -i NONE --cmd \"]] + ..nvim_set..[[\" ]] + ..[[-c \"call writefile([has('ttyin'), has('ttyout')], 'Xtest_startup_ttyout')\"]] + ..[[-c q -- -"]] + ..[[, shellescape(v:progpath))]]) + retry(nil, 3000, function() + screen:sleep(1) + eq('0\n1\n', -- stdin is a pipe, stdout is a TTY + read_file('Xtest_startup_ttyout')) + end) + end) +end) + diff --git a/test/functional/eval/special_vars_spec.lua b/test/functional/eval/special_vars_spec.lua index 3d9358447e..b5773a5529 100644 --- a/test/functional/eval/special_vars_spec.lua +++ b/test/functional/eval/special_vars_spec.lua @@ -168,4 +168,11 @@ describe('Special values', function() 'Expected True but got v:null', }, meths.get_vvar('errors')) end) + + describe('compat', function() + it('v:count is distinct from count', function() + command('let count = []') -- v:count is readonly + eq(1, eval('count is# g:["count"]')) + end) + end) end) diff --git a/test/functional/ex_cmds/mkview_spec.lua b/test/functional/ex_cmds/mkview_spec.lua new file mode 100644 index 0000000000..97a49dbbd5 --- /dev/null +++ b/test/functional/ex_cmds/mkview_spec.lua @@ -0,0 +1,67 @@ +local lfs = require('lfs') +local helpers = require('test.functional.helpers')(after_each) + +local clear = helpers.clear +local command = helpers.command +local get_pathsep = helpers.get_pathsep +local eq = helpers.eq +local funcs = helpers.funcs +local rmdir = helpers.rmdir + +local file_prefix = 'Xtest-functional-ex_cmds-mkview_spec' + +describe(':mkview', function() + local tmp_file_base = file_prefix .. '-tmpfile' + local local_dir = file_prefix .. '.d' + local view_dir = file_prefix .. '.view.d' + + before_each(function() + clear() + lfs.mkdir(view_dir) + lfs.mkdir(local_dir) + end) + + after_each(function() + -- Remove any views created in the view directory + rmdir(view_dir) + lfs.rmdir(local_dir) + end) + + it('viewoption curdir restores local current directory', function() + local cwd_dir = funcs.getcwd() + local set_view_dir_command = 'set viewdir=' .. cwd_dir .. + get_pathsep() .. view_dir + + -- By default the local current directory should save + command(set_view_dir_command) + command('edit ' .. tmp_file_base .. '1') + command('lcd ' .. local_dir) + command('mkview') + + -- Create a new instance of Nvim to remove the 'lcd' + clear() + + -- Disable saving the local current directory for the second view + command(set_view_dir_command) + command('set viewoptions-=curdir') + command('edit ' .. tmp_file_base .. '2') + command('lcd ' .. local_dir) + command('mkview') + + -- Create a new instance of Nvim to test saved 'lcd' option + clear() + command(set_view_dir_command) + + -- Load the view without a saved local current directory + command('edit ' .. tmp_file_base .. '2') + command('loadview') + -- The view's current directory should not have changed + eq(cwd_dir, funcs.getcwd()) + -- Load the view with a saved local current directory + command('edit ' .. tmp_file_base .. '1') + command('loadview') + -- The view's local directory should have been saved + eq(cwd_dir .. get_pathsep() .. local_dir, funcs.getcwd()) + end) + +end) diff --git a/test/functional/fixtures/api_level_3.mpack b/test/functional/fixtures/api_level_3.mpack Binary files differnew file mode 100644 index 0000000000..ef36b99c8c --- /dev/null +++ b/test/functional/fixtures/api_level_3.mpack diff --git a/test/functional/plugin/health_spec.lua b/test/functional/plugin/health_spec.lua index b5374210e6..8ee0f258d0 100644 --- a/test/functional/plugin/health_spec.lua +++ b/test/functional/plugin/health_spec.lua @@ -16,6 +16,13 @@ describe(':checkhealth', function() eq(false, status) eq('Invalid $VIMRUNTIME: bogus', string.match(err, 'Invalid.*')) end) + it("detects invalid 'runtimepath'", function() + clear() + command('set runtimepath=bogus') + local status, err = pcall(command, 'checkhealth') + eq(false, status) + eq("Invalid 'runtimepath'", string.match(err, 'Invalid.*')) + end) it("detects invalid $VIM", function() clear() -- Do this after startup, otherwise it just breaks $VIMRUNTIME. diff --git a/test/functional/terminal/cursor_spec.lua b/test/functional/terminal/cursor_spec.lua index d49f1bfc23..d942723d02 100644 --- a/test/functional/terminal/cursor_spec.lua +++ b/test/functional/terminal/cursor_spec.lua @@ -50,8 +50,8 @@ describe('terminal cursor', function() it('is positioned correctly when unfocused', function() screen:expect([[ {7: 1 }tty ready | - {7: 2 }{2:^ } | - {7: 3 } | + {7: 2 }^rows: 6, cols: 46 | + {7: 3 }{2: } | {7: 4 } | {7: 5 } | {7: 6 } | @@ -60,12 +60,21 @@ describe('terminal cursor', function() end) it('is positioned correctly when focused', function() + screen:expect([[ + {7: 1 }tty ready | + {7: 2 }^rows: 6, cols: 46 | + {7: 3 }{2: } | + {7: 4 } | + {7: 5 } | + {7: 6 } | + :set number | + ]]) feed('i') helpers.wait() screen:expect([[ {7: 1 }tty ready | - {7: 2 }{1: } | - {7: 3 } | + {7: 2 }rows: 6, cols: 46 | + {7: 3 }{1: } | {7: 4 } | {7: 5 } | {7: 6 } | diff --git a/test/functional/terminal/mouse_spec.lua b/test/functional/terminal/mouse_spec.lua index 29c62d7be7..5e5558ee0a 100644 --- a/test/functional/terminal/mouse_spec.lua +++ b/test/functional/terminal/mouse_spec.lua @@ -101,7 +101,7 @@ describe('terminal mouse', function() line28 |line28 | line29 |line29 | line30 |line30 | - rows: 5, cols: 25 |rows: 5, cols: 25 | + rows: 5, cols: 24 |rows: 5, cols: 24 | {2:^ } |{2: } | ========== ========== | :vsp | @@ -111,7 +111,7 @@ describe('terminal mouse', function() {7: 1 }^ |line28 | {4:~ }|line29 | {4:~ }|line30 | - {4:~ }|rows: 5, cols: 25 | + {4:~ }|rows: 5, cols: 24 | {4:~ }|{2: } | ========== ========== | :enew | set number | @@ -121,16 +121,16 @@ describe('terminal mouse', function() {7: 27 }line |line28 | {7: 28 }line |line29 | {7: 29 }line |line30 | - {7: 30 }line |rows: 5, cols: 25 | + {7: 30 }line |rows: 5, cols: 24 | {7: 31 }^ |{2: } | ========== ========== | | ]]) feed('<c-w>li') screen:expect([[ - {7: 27 }line |line29 | - {7: 28 }line |line30 | - {7: 29 }line |rows: 5, cols: 25 | + {7: 27 }line |line28 | + {7: 28 }line |line29 | + {7: 29 }line |line30 | {7: 30 }line |rows: 5, cols: 24 | {7: 31 } |{1: } | ========== ========== | @@ -140,8 +140,8 @@ describe('terminal mouse', function() thelpers.enable_mouse() thelpers.feed_data('mouse enabled\n') screen:expect([[ - {7: 27 }line |line30 | - {7: 28 }line |rows: 5, cols: 25 | + {7: 27 }line |line29 | + {7: 28 }line |line30 | {7: 29 }line |rows: 5, cols: 24 | {7: 30 }line |mouse enabled | {7: 31 } |{1: } | @@ -153,8 +153,8 @@ describe('terminal mouse', function() it('wont lose focus if another window is scrolled', function() feed('<ScrollWheelUp><0,0><ScrollWheelUp><0,0>') screen:expect([[ - {7: 21 }line |line30 | - {7: 22 }line |rows: 5, cols: 25 | + {7: 21 }line |line29 | + {7: 22 }line |line30 | {7: 23 }line |rows: 5, cols: 24 | {7: 24 }line |mouse enabled | {7: 25 }line |{1: } | @@ -163,8 +163,8 @@ describe('terminal mouse', function() ]]) feed('<S-ScrollWheelDown><0,0>') screen:expect([[ - {7: 26 }line |line30 | - {7: 27 }line |rows: 5, cols: 25 | + {7: 26 }line |line29 | + {7: 27 }line |line30 | {7: 28 }line |rows: 5, cols: 24 | {7: 29 }line |mouse enabled | {7: 30 }line |{1: } | @@ -176,8 +176,8 @@ describe('terminal mouse', function() it('will lose focus if another window is clicked', function() feed('<LeftMouse><5,1>') screen:expect([[ - {7: 27 }line |line30 | - {7: 28 }l^ine |rows: 5, cols: 25 | + {7: 27 }line |line29 | + {7: 28 }l^ine |line30 | {7: 29 }line |rows: 5, cols: 24 | {7: 30 }line |mouse enabled | {7: 31 } |{2: } | diff --git a/test/functional/terminal/scrollback_spec.lua b/test/functional/terminal/scrollback_spec.lua index af9b414311..c665e64a80 100644 --- a/test/functional/terminal/scrollback_spec.lua +++ b/test/functional/terminal/scrollback_spec.lua @@ -462,10 +462,10 @@ describe("'scrollback' option", function() screen:detach() end) - it('defaults to 1000 in terminal buffers', function() + it('defaults to 10000 in terminal buffers', function() set_fake_shell() command('terminal') - eq(1000, curbufmeths.get_option('scrollback')) + eq(10000, curbufmeths.get_option('scrollback')) end) it('error if set to invalid value', function() diff --git a/test/functional/terminal/tui_spec.lua b/test/functional/terminal/tui_spec.lua index d36eb46e54..777ef65d9e 100644 --- a/test/functional/terminal/tui_spec.lua +++ b/test/functional/terminal/tui_spec.lua @@ -380,7 +380,7 @@ describe("tui 't_Co' (terminal colors)", function() -- TODO: Revisit this after jobstart/termopen accept `env` dict. screen = thelpers.screen_setup(0, string.format( [=[['sh', '-c', 'LANG=C TERM=%s %s %s -u NONE -i NONE --cmd "silent set noswapfile noshowcmd noruler"']]=], - term, + term or "", (colorterm ~= nil and "COLORTERM="..colorterm or ""), helpers.nvim_prog)) diff --git a/test/functional/terminal/window_spec.lua b/test/functional/terminal/window_spec.lua index 231618c5da..842a81872e 100644 --- a/test/functional/terminal/window_spec.lua +++ b/test/functional/terminal/window_spec.lua @@ -43,14 +43,23 @@ describe('terminal window', function() -- numberwidth=9 feed([[<C-\><C-N>]]) feed([[:set numberwidth=9 number<CR>i]]) + screen:expect([[ + {7: 1 }tty ready | + {7: 2 }rows: 6, cols: 48 | + {7: 3 }abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNO| + {7: 4 }WXYZrows: 6, cols: 41 | + {7: 5 }{1: } | + {7: 6 } | + {3:-- TERMINAL --} | + ]]) thelpers.feed_data({' abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'}) screen:expect([[ {7: 1 }tty ready | {7: 2 }rows: 6, cols: 48 | {7: 3 }abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNO| - {7: 4 }WXYZ abcdefghijklmnopqrstuvwxyzABCDEFGHIJ| - {7: 5 }KLMNOPQRSTUVWXYZrows: 6, cols: 41 | - {7: 6 }{1: } | + {7: 4 }WXYZrows: 6, cols: 41 | + {7: 5 } abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMN| + {7: 6 }OPQRSTUVWXYZ{1: } | {3:-- TERMINAL --} | ]]) end) diff --git a/test/functional/terminal/window_split_tab_spec.lua b/test/functional/terminal/window_split_tab_spec.lua index c5199f620e..714c2476ce 100644 --- a/test/functional/terminal/window_split_tab_spec.lua +++ b/test/functional/terminal/window_split_tab_spec.lua @@ -3,6 +3,9 @@ local thelpers = require('test.functional.terminal.helpers') local clear = helpers.clear local feed, nvim = helpers.feed, helpers.nvim local feed_command = helpers.feed_command +local command = helpers.command +local eq = helpers.eq +local eval = helpers.eval describe('terminal', function() local screen @@ -22,72 +25,66 @@ describe('terminal', function() screen:detach() end) - it('resets its size when entering terminal window', function() + it('next to a closing window', function() + command('split') + command('terminal') + command('vsplit foo') + eq(3, eval("winnr('$')")) + feed('ZQ') -- Close split, should not crash. #7538 + eq(2, eval("1+1")) -- Still alive? + end) + + it('does not change size on WinEnter', function() if helpers.pending_win32(pending) then return end feed('<c-\\><c-n>') feed_command('2split') screen:expect([[ - rows: 2, cols: 50 | - {2:^ } | - ========== | - rows: 2, cols: 50 | - {2: } | - {4:~ }| - {4:~ }| - {4:~ }| - ========== | - :2split | - ]]) - feed_command('wincmd p') - screen:expect([[ tty ready | - rows: 2, cols: 50 | + ^rows: 5, cols: 50 | ========== | tty ready | - rows: 2, cols: 50 | rows: 5, cols: 50 | {2: } | - ^ | + | + | ========== | - :wincmd p | + :2split | ]]) feed_command('wincmd p') screen:expect([[ - rows: 2, cols: 50 | - {2:^ } | + tty ready | + rows: 5, cols: 50 | ========== | - rows: 2, cols: 50 | + tty ready | + ^rows: 5, cols: 50 | {2: } | - {4:~ }| - {4:~ }| - {4:~ }| + | + | ========== | :wincmd p | ]]) end) - describe('when the screen is resized', function() - it('will forward a resize request to the program', function() - feed([[<C-\><C-N>:]]) -- Go to cmdline-mode, so cursor is at bottom. - screen:try_resize(screen._width - 3, screen._height - 2) - screen:expect([[ - tty ready | - rows: 7, cols: 47 | - {2: } | - | - | - | - | - :^ | - ]]) - screen:try_resize(screen._width - 6, screen._height - 3) - screen:expect([[ - tty ready | - rows: 7, cols: 47 | - rows: 4, cols: 41 | - {2: } | - :^ | - ]]) - end) + it('forwards resize request to the program', function() + feed([[<C-\><C-N>:]]) -- Go to cmdline-mode, so cursor is at bottom. + screen:try_resize(screen._width - 3, screen._height - 2) + screen:expect([[ + tty ready | + rows: 7, cols: 47 | + {2: } | + | + | + | + | + :^ | + ]]) + screen:try_resize(screen._width - 6, screen._height - 3) + screen:expect([[ + tty ready | + rows: 7, cols: 47 | + rows: 4, cols: 41 | + {2: } | + :^ | + ]]) end) end) diff --git a/test/unit/path_spec.lua b/test/unit/path_spec.lua index befb204d0a..ed597eaed7 100644 --- a/test/unit/path_spec.lua +++ b/test/unit/path_spec.lua @@ -366,134 +366,156 @@ describe('path.c', function() end) describe('vim_FullName', function() - local function vim_FullName(filename, buf, len, force) - filename = to_cstr(filename) - return cimp.vim_FullName(filename, buf, len, force) + local function vim_FullName(filename, buflen, do_expand) + local buf = cstr(buflen, '') + local result = cimp.vim_FullName(to_cstr(filename), buf, buflen, do_expand) + return buf, result end - before_each(function() - -- Create empty string buffer which will contain the resulting path. - length = (string.len(lfs.currentdir())) + 33 - buffer = cstr(length, '') - end) + local function get_buf_len(s, t) + return math.max(string.len(s), string.len(t)) + 1 + end itp('fails if given filename is NULL', function() - local force_expansion = 1 - local result = cimp.vim_FullName(NULL, buffer, length, force_expansion) + local do_expand = 1 + local buflen = 10 + local buf = cstr(buflen, '') + local result = cimp.vim_FullName(NULL, buf, buflen, do_expand) eq(FAIL, result) end) itp('fails safely if given length is wrong #5737', function() - local force_expansion = 1 local filename = 'foo/bar/bazzzzzzz/buz/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/a' local too_short_len = 8 local buf = cstr(too_short_len, '') - local result = cimp.vim_FullName(filename, buf, too_short_len, force_expansion) + local do_expand = 1 + local result = cimp.vim_FullName(filename, buf, too_short_len, do_expand) local expected = string.sub(filename, 1, (too_short_len - 1)) - eq(expected, (ffi.string(buf))) + eq(expected, ffi.string(buf)) eq(FAIL, result) end) itp('uses the filename if the filename is a URL', function() - local force_expansion = 1 local filename = 'http://www.neovim.org' - local result = vim_FullName(filename, buffer, length, force_expansion) - eq(filename, (ffi.string(buffer))) + local buflen = string.len(filename) + 1 + local do_expand = 1 + local buf, result = vim_FullName(filename, buflen, do_expand) + eq(filename, ffi.string(buf)) eq(OK, result) end) itp('fails and uses filename if given filename contains non-existing directory', function() - local force_expansion = 1 local filename = 'non_existing_dir/test.file' - local result = vim_FullName(filename, buffer, length, force_expansion) - eq(filename, (ffi.string(buffer))) + local buflen = string.len(filename) + 1 + local do_expand = 1 + local buf, result = vim_FullName(filename, buflen, do_expand) + eq(filename, ffi.string(buf)) eq(FAIL, result) end) itp('concatenates filename if it does not contain a slash', function() - local force_expansion = 1 - local result = vim_FullName('test.file', buffer, length, force_expansion) local expected = lfs.currentdir() .. '/test.file' - eq(expected, (ffi.string(buffer))) + local filename = 'test.file' + local buflen = get_buf_len(expected, filename) + local do_expand = 1 + local buf, result = vim_FullName(filename, buflen, do_expand) + eq(expected, ffi.string(buf)) eq(OK, result) end) itp('concatenates directory name if it does not contain a slash', function() - local force_expansion = 1 - local result = vim_FullName('..', buffer, length, force_expansion) local expected = lfs.currentdir() .. '/..' - eq(expected, (ffi.string(buffer))) + local filename = '..' + local buflen = get_buf_len(expected, filename) + local do_expand = 1 + local buf, result = vim_FullName(filename, buflen, do_expand) + eq(expected, ffi.string(buf)) eq(OK, result) end) - -- Is it possible for every developer to enter '..' directory while running - -- the unit tests? Which other directory would be better? itp('enters given directory (instead of just concatenating the strings) if possible and if path contains a slash', function() - local force_expansion = 1 - local result = vim_FullName('../test.file', buffer, length, force_expansion) local old_dir = lfs.currentdir() lfs.chdir('..') local expected = lfs.currentdir() .. '/test.file' lfs.chdir(old_dir) - eq(expected, (ffi.string(buffer))) + local filename = '../test.file' + local buflen = get_buf_len(expected, filename) + local do_expand = 1 + local buf, result = vim_FullName(filename, buflen, do_expand) + eq(expected, ffi.string(buf)) eq(OK, result) end) itp('just copies the path if it is already absolute and force=0', function() - local force_expansion = 0 local absolute_path = '/absolute/path' - local result = vim_FullName(absolute_path, buffer, length, force_expansion) - eq(absolute_path, (ffi.string(buffer))) + local buflen = string.len(absolute_path) + 1 + local do_expand = 0 + local buf, result = vim_FullName(absolute_path, buflen, do_expand) + eq(absolute_path, ffi.string(buf)) eq(OK, result) end) itp('fails and uses filename when the path is relative to HOME', function() eq(false, cimp.os_isdir('~')) -- sanity check: no literal "~" directory. - local force_expansion = 1 local absolute_path = '~/home.file' - local result = vim_FullName(absolute_path, buffer, length, force_expansion) - eq(absolute_path, (ffi.string(buffer))) + local buflen = string.len(absolute_path) + 1 + local do_expand = 1 + local buf, result = vim_FullName(absolute_path, buflen, do_expand) + eq(absolute_path, ffi.string(buf)) eq(FAIL, result) end) itp('works with some "normal" relative path with directories', function() - local force_expansion = 1 - local result = vim_FullName('unit-test-directory/test.file', buffer, length, force_expansion) + local expected = lfs.currentdir() .. '/unit-test-directory/test.file' + local filename = 'unit-test-directory/test.file' + local buflen = get_buf_len(expected, filename) + local do_expand = 1 + local buf, result = vim_FullName(filename, buflen, do_expand) + eq(expected, ffi.string(buf)) eq(OK, result) - eq(lfs.currentdir() .. '/unit-test-directory/test.file', (ffi.string(buffer))) end) itp('does not modify the given filename', function() - local force_expansion = 1 + local expected = lfs.currentdir() .. '/unit-test-directory/test.file' local filename = to_cstr('unit-test-directory/test.file') - -- Don't use the wrapper here but pass a cstring directly to the c - -- function. - local result = cimp.vim_FullName(filename, buffer, length, force_expansion) - eq(lfs.currentdir() .. '/unit-test-directory/test.file', (ffi.string(buffer))) - eq('unit-test-directory/test.file', (ffi.string(filename))) + local buflen = string.len(expected) + 1 + local buf = cstr(buflen, '') + local do_expand = 1 + -- Don't use the wrapper but pass a cstring directly to the c function. + eq('unit-test-directory/test.file', ffi.string(filename)) + local result = cimp.vim_FullName(filename, buf, buflen, do_expand) + eq(expected, ffi.string(buf)) eq(OK, result) end) itp('works with directories that have one path component', function() - local force_expansion = 1 - local filename = to_cstr('/tmp') - local result = cimp.vim_FullName(filename, buffer, length, force_expansion) - eq('/tmp', ffi.string(buffer)) + local filename = '/tmp' + local expected = filename + local buflen = get_buf_len(expected, filename) + local do_expand = 1 + local buf, result = vim_FullName(filename, buflen, do_expand) + eq('/tmp', ffi.string(buf)) eq(OK, result) end) itp('expands "./" to the current directory #7117', function() - local force_expansion = 1 - local result = vim_FullName('./unit-test-directory/test.file', buffer, length, force_expansion) + local expected = lfs.currentdir() .. '/unit-test-directory/test.file' + local filename = './unit-test-directory/test.file' + local buflen = get_buf_len(expected, filename) + local do_expand = 1 + local buf, result = vim_FullName(filename, buflen, do_expand) eq(OK, result) - eq(lfs.currentdir() .. '/unit-test-directory/test.file', (ffi.string(buffer))) + eq(expected, ffi.string(buf)) end) itp('collapses "foo/../foo" to "foo" #7117', function() - local force_expansion = 1 - local result = vim_FullName('unit-test-directory/../unit-test-directory/test.file', buffer, length, force_expansion) + local expected = lfs.currentdir() .. '/unit-test-directory/test.file' + local filename = 'unit-test-directory/../unit-test-directory/test.file' + local buflen = get_buf_len(expected, filename) + local do_expand = 1 + local buf, result = vim_FullName(filename, buflen, do_expand) eq(OK, result) - eq(lfs.currentdir() .. '/unit-test-directory/test.file', (ffi.string(buffer))) + eq(expected, ffi.string(buf)) end) end) |