mirror of
https://github.com/macvim-dev/macvim.git
synced 2026-05-28 00:21:57 +02:00
Compare commits
69 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| a24ac02693 | |||
| 5f7e2bb80c | |||
| f9ccb28492 | |||
| d8155a7546 | |||
| d657d3d8fd | |||
| fc72a2fa48 | |||
| e40157641c | |||
| 2241f0845f | |||
| 95dacbb5fd | |||
| 077d1d2cff | |||
| a9ae38dc3f | |||
| 508403687d | |||
| c0982f9f79 | |||
| 26e4b00002 | |||
| 03cac4b70d | |||
| 605f984365 | |||
| 67271bfd21 | |||
| 1b5597ccae | |||
| 0137c848d5 | |||
| d30ffdca49 | |||
| 7cc0e9145d | |||
| c2285a8cf3 | |||
| 97a5be4687 | |||
| fe25a90cbf | |||
| 701c863e68 | |||
| 5b9237c2e7 | |||
| 609599cc45 | |||
| 0b2285c96b | |||
| b584117b05 | |||
| 61a6ac4d00 | |||
| 66f65a46c5 | |||
| 82f6134b1b | |||
| 4e7249a916 | |||
| f7b8609446 | |||
| 233252fdf2 | |||
| 539e9b571a | |||
| 150b5078ac | |||
| 315b6f7b73 | |||
| fa16e4351a | |||
| eccc92792a | |||
| 2432b4a753 | |||
| 3db32d2e7f | |||
| 06ed634db1 | |||
| f00f4d9cce | |||
| 3c07eb0c67 | |||
| 84e3175c4e | |||
| bd69b39514 | |||
| 3d5065fc75 | |||
| 9abd02d16a | |||
| 396fd1ec29 | |||
| 75ba87ba62 | |||
| 4e527a2d55 | |||
| 58d705238c | |||
| 41ba26566f | |||
| d817609b87 | |||
| e2c4e07795 | |||
| 09b80d23cf | |||
| 7c8bbc6d28 | |||
| c9bfed2fda | |||
| 87c01d9561 | |||
| f459d68ecf | |||
| c3a02d78bd | |||
| 1c815b54bb | |||
| f8702aeb8f | |||
| 8556e23ee9 | |||
| d56c451e1c | |||
| 322ba91086 | |||
| 663950d700 | |||
| 88a6dd036a |
@@ -13,6 +13,7 @@ nsis/lang/russian.nsi @RestorerZ
|
||||
runtime/autoload/freebasic.vim @dkearns
|
||||
runtime/autoload/hare.vim @selenebun
|
||||
runtime/autoload/haskell.vim @alx741
|
||||
runtime/autoload/hcl.vim @gpanders
|
||||
runtime/autoload/javascript.vim @jsit
|
||||
runtime/autoload/modula2.vim @dkearns
|
||||
runtime/autoload/php.vim @david-szabo97
|
||||
@@ -64,6 +65,7 @@ runtime/compiler/gawk.vim @dkearns
|
||||
runtime/compiler/gjs.vim @dkearns
|
||||
runtime/compiler/gm2.vim @dkearns
|
||||
runtime/compiler/go.vim @dbarnett
|
||||
runtime/compiler/groff.vim @Konfekt
|
||||
runtime/compiler/haml.vim @tpope
|
||||
runtime/compiler/hare.vim @selenebun
|
||||
runtime/compiler/icon.vim @dkearns
|
||||
@@ -74,6 +76,7 @@ runtime/compiler/jshint.vim @dkearns
|
||||
runtime/compiler/jsonlint.vim @dkearns
|
||||
runtime/compiler/jq.vim @vito-c
|
||||
runtime/compiler/lazbuild.vim @dkearns
|
||||
runtime/compiler/pandoc.vim @Konfekt
|
||||
runtime/compiler/perl.vim @petdance @heptite
|
||||
runtime/compiler/perlcritic.vim @petdance @dkearns
|
||||
runtime/compiler/php.vim @dkearns
|
||||
@@ -170,6 +173,7 @@ runtime/ftplugin/haml.vim @tpope
|
||||
runtime/ftplugin/hare.vim @selenebun
|
||||
runtime/ftplugin/haredoc.vim @selenebun
|
||||
runtime/ftplugin/heex.vim @cvincent
|
||||
runtime/ftplugin/hcl.vim @gpanders
|
||||
runtime/ftplugin/hgcommit.vim @k-takata
|
||||
runtime/ftplugin/hlsplaylist.vim @avidseeker
|
||||
runtime/ftplugin/hog.vim @wtfbbqhax
|
||||
@@ -213,6 +217,7 @@ runtime/ftplugin/nginx.vim @chr4
|
||||
runtime/ftplugin/nim.vim @ribru17
|
||||
runtime/ftplugin/nroff.vim @a-vrma
|
||||
runtime/ftplugin/nsis.vim @k-takata
|
||||
runtime/ftplugin/nu.vim @mrcjkb
|
||||
runtime/ftplugin/octave.vim @dkearns
|
||||
runtime/ftplugin/ondir.vim @jparise
|
||||
runtime/ftplugin/openvpn.vim @ObserverOfTime
|
||||
@@ -315,6 +320,7 @@ runtime/indent/go.vim @dbarnett
|
||||
runtime/indent/gyp.vim @ObserverOfTime
|
||||
runtime/indent/haml.vim @tpope
|
||||
runtime/indent/hare.vim @selenebun
|
||||
runtime/indent/hcl.vim @gpanders
|
||||
runtime/indent/hog.vim @wtfbbqhax
|
||||
runtime/indent/idlang.vim @dkearns
|
||||
runtime/indent/j.vim @glts
|
||||
@@ -359,6 +365,7 @@ runtime/indent/systemverilog.vim @Kocha
|
||||
runtime/indent/tcl.vim @dkearns
|
||||
runtime/indent/tcsh.vim @dkearns
|
||||
runtime/indent/teraterm.vim @k-takata
|
||||
runtime/indent/terraform.vim @gpanders
|
||||
runtime/indent/thrift.vim @jiangyinzuo
|
||||
runtime/indent/typescript.vim @HerringtonDarkholme
|
||||
runtime/indent/typst.vim @gpanders
|
||||
@@ -458,6 +465,7 @@ runtime/syntax/haml.vim @tpope
|
||||
runtime/syntax/hare.vim @selenebun
|
||||
runtime/syntax/haredoc.vim @selenebun
|
||||
runtime/syntax/haskell.vim @coot
|
||||
runtime/syntax/hcl.vim @gpanders
|
||||
runtime/syntax/help_ru.vim @RestorerZ
|
||||
runtime/syntax/hgcommit.vim @k-takata
|
||||
runtime/syntax/hitest.vim @lacygoill
|
||||
@@ -565,6 +573,7 @@ runtime/syntax/systemverilog.vim @Kocha
|
||||
runtime/syntax/tap.vim @petdance
|
||||
runtime/syntax/tcsh.vim @dkearns
|
||||
runtime/syntax/teraterm.vim @k-takata
|
||||
runtime/syntax/terraform.vim @gpanders
|
||||
runtime/syntax/thrift.vim @jiangyinzuo
|
||||
runtime/syntax/tidy.vim @dkearns
|
||||
runtime/syntax/tmux.vim @ericpruitt
|
||||
|
||||
@@ -66,6 +66,12 @@ runs:
|
||||
echo '::group::Install formula'
|
||||
formula=${{ inputs.formula }}
|
||||
|
||||
# We don't want brew to go upgrade all our dependents for now. They are
|
||||
# time consuming and sometimes cause problems with the CI environment
|
||||
# where they fail to link in random binaries (e.g. Python's 2to3),
|
||||
# which cause brew install to return non-zero and fail the build.
|
||||
export HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=1
|
||||
|
||||
# This will be a no-op if formula was cached
|
||||
brew install --quiet --formula -s ./${formula}.rb
|
||||
|
||||
|
||||
@@ -6,6 +6,9 @@
|
||||
" Version: 36
|
||||
" Installing: :help glvs-install
|
||||
" Usage: :help glvs
|
||||
" Last Change: {{{1
|
||||
" 2024 Sep 08 by Vim Project: several small fixes
|
||||
" }}}
|
||||
"
|
||||
" GetLatestVimScripts: 642 1 :AutoInstall: getscript.vim
|
||||
"redraw!|call inputsave()|call input("Press <cr> to continue")|call inputrestore()
|
||||
@@ -64,7 +67,7 @@ if !exists("g:GetLatestVimScripts_options")
|
||||
if g:GetLatestVimScripts_wget == "wget"
|
||||
let g:GetLatestVimScripts_options= "-q -O"
|
||||
elseif g:GetLatestVimScripts_wget == "curl"
|
||||
let g:GetLatestVimScripts_options= "-s -O"
|
||||
let g:GetLatestVimScripts_options= "-s -o"
|
||||
else
|
||||
let g:GetLatestVimScripts_options= ""
|
||||
endif
|
||||
@@ -77,7 +80,11 @@ endif
|
||||
|
||||
" set up default scriptaddr address
|
||||
if !exists("g:GetLatestVimScripts_scriptaddr")
|
||||
let g:GetLatestVimScripts_scriptaddr = 'http://vim.sourceforge.net/script.php?script_id='
|
||||
let g:GetLatestVimScripts_scriptaddr = 'https://www.vim.org/scripts/script.php?script_id='
|
||||
endif
|
||||
|
||||
if !exists("g:GetLatestVimScripts_downloadaddr")
|
||||
let g:GetLatestVimScripts_downloadaddr = 'https://www.vim.org/scripts/download_script.php?src_id='
|
||||
endif
|
||||
|
||||
"" For debugging:
|
||||
@@ -89,11 +96,11 @@ endif
|
||||
let s:autoinstall= ""
|
||||
if g:GetLatestVimScripts_allowautoinstall
|
||||
|
||||
if (has("win32") || has("gui_win32") || has("gui_win32s") || has("win16") || has("win64") || has("win32unix") || has("win95")) && &shell != "bash"
|
||||
if (has("win32") || has("gui_win32") || has("gui_win32s") || has("win16") || has("win64") || has("win32unix") || has("win95")) && &shell !~ '\cbash\|pwsh\|powershell'
|
||||
" windows (but not cygwin/bash)
|
||||
let s:dotvim= "vimfiles"
|
||||
if !exists("g:GetLatestVimScripts_mv")
|
||||
let g:GetLatestVimScripts_mv= "ren"
|
||||
let g:GetLatestVimScripts_mv= "move"
|
||||
endif
|
||||
|
||||
else
|
||||
@@ -208,9 +215,10 @@ fun! getscript#GetLatestVimScripts()
|
||||
" call Decho("searching plugins for GetLatestVimScripts dependencies")
|
||||
let lastline = line("$")
|
||||
" call Decho("lastline#".lastline)
|
||||
let firstdir = substitute(&rtp,',.*$','','')
|
||||
let firstdir = substitute(&rtp,',.{-}$','','')
|
||||
let plugins = split(globpath(firstdir,"plugin/**/*.vim"),'\n')
|
||||
let plugins = plugins + split(globpath(firstdir,"AsNeeded/**/*.vim"),'\n')
|
||||
let plugins += split(globpath(firstdir,"ftplugin/**/*.vim"),'\n')
|
||||
let plugins += split(globpath(firstdir,"AsNeeded/**/*.vim"),'\n')
|
||||
let foundscript = 0
|
||||
|
||||
" this loop updates the GetLatestVimScripts.dat file
|
||||
@@ -515,11 +523,11 @@ fun! s:GetOneScript(...)
|
||||
" call Decho(".downloading new <".sname.">")
|
||||
echomsg ".downloading new <".sname.">"
|
||||
if has("win32") || has("win16") || has("win95")
|
||||
" call Decho(".new|exe silent r!".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(sname)." ".shellescape('http://vim.sourceforge.net/scripts/download_script.php?src_id='.latestsrcid)."|q")
|
||||
new|exe "silent r!".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(sname)." ".shellescape('http://vim.sourceforge.net/scripts/download_script.php?src_id='.latestsrcid)|q
|
||||
" call Decho(".new|exe silent r!".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(sname)." ".shellescape(g:GetLatestVimScripts_downloadaddr.latestsrcid)."|q")
|
||||
new|exe "silent r!".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(sname)." ".shellescape(g:GetLatestVimScripts_downloadaddr.latestsrcid)|q
|
||||
else
|
||||
" call Decho(".exe silent !".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(sname)." ".shellescape('http://vim.sourceforge.net/scripts/download_script.php?src_id='))
|
||||
exe "silent !".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(sname)." ".shellescape('http://vim.sourceforge.net/scripts/download_script.php?src_id=').latestsrcid
|
||||
" call Decho(".exe silent !".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(sname)." ".shellescape(g:GetLatestVimScripts_downloadaddr).latestsrcid
|
||||
exe "silent !".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(sname)." ".shellescape(g:GetLatestVimScripts_downloadaddr).latestsrcid
|
||||
endif
|
||||
|
||||
" --------------------------------------------------------------------------
|
||||
@@ -573,7 +581,7 @@ fun! s:GetOneScript(...)
|
||||
" call Decho("no decompression needed")
|
||||
endif
|
||||
|
||||
" distribute archive(.zip, .tar, .vba, ...) contents
|
||||
" distribute archive(.zip, .tar, .vba, .vmb, ...) contents
|
||||
if sname =~ '\.zip$'
|
||||
" call Decho("dearchive: attempt to unzip ".sname)
|
||||
exe "silent !unzip -o ".shellescape(sname)
|
||||
@@ -592,7 +600,7 @@ fun! s:GetOneScript(...)
|
||||
elseif sname =~ '\.txz$'
|
||||
" call Decho("dearchive: attempt to untar+xz ".sname)
|
||||
exe "silent !tar -Jxvf ".shellescape(sname)
|
||||
elseif sname =~ '\.vba$'
|
||||
elseif sname =~ '\.vba$\|\.vmb$'
|
||||
" call Decho("dearchive: attempt to handle a vimball: ".sname)
|
||||
silent 1split
|
||||
if exists("g:vimball_home")
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
" Language: HCL
|
||||
" Maintainer: Gregory Anders
|
||||
" Last Change: 2024-09-03
|
||||
" Based on: https://github.com/hashivim/vim-terraform
|
||||
|
||||
function! hcl#indentexpr(lnum)
|
||||
" Beginning of the file should have no indent
|
||||
if a:lnum == 0
|
||||
return 0
|
||||
endif
|
||||
|
||||
" Usual case is to continue at the same indent as the previous non-blank line.
|
||||
let prevlnum = prevnonblank(a:lnum-1)
|
||||
let thisindent = indent(prevlnum)
|
||||
|
||||
" If that previous line is a non-comment ending in [ { (, increase the
|
||||
" indent level.
|
||||
let prevline = getline(prevlnum)
|
||||
if prevline !~# '^\s*\(#\|//\)' && prevline =~# '[\[{\(]\s*$'
|
||||
let thisindent += &shiftwidth
|
||||
endif
|
||||
|
||||
" If the current line ends a block, decrease the indent level.
|
||||
let thisline = getline(a:lnum)
|
||||
if thisline =~# '^\s*[\)}\]]'
|
||||
let thisindent -= &shiftwidth
|
||||
endif
|
||||
|
||||
" If the previous line starts a block comment /*, increase by one
|
||||
if prevline =~# '/\*'
|
||||
let thisindent += 1
|
||||
endif
|
||||
|
||||
" If the previous line ends a block comment */, decrease by one
|
||||
if prevline =~# '\*/'
|
||||
let thisindent -= 1
|
||||
endif
|
||||
|
||||
return thisindent
|
||||
endfunction
|
||||
@@ -4,6 +4,8 @@ They are used with the ":compiler" command.
|
||||
These scripts usually set options, for example 'errorformat'.
|
||||
See ":help write-compiler-plugin".
|
||||
|
||||
To undo the effect of a compiler plugin, use the make compiler plugin.
|
||||
|
||||
If you want to write your own compiler plugin, have a look at the other files
|
||||
for how to do it, the format is simple.
|
||||
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
" Vim compiler file
|
||||
" Compiler: Groff
|
||||
" Maintainer: Konfekt
|
||||
" Last Change: 2024 Sep 8
|
||||
"
|
||||
" Expects output file extension, say `:make html` or `:make pdf`.
|
||||
" Supported devices as of Sept 2024 are: (x)html, pdf, ps, dvi, lj4, lbp ...
|
||||
" Adjust command-line flags, language, encoding by buffer-local/global variables
|
||||
" groff_compiler_args, groff_compiler_lang, and groff_compiler_encoding,
|
||||
" which default to '', &spelllang and 'utf8'.
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:keepcpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
let current_compiler = 'groff'
|
||||
|
||||
silent! function s:groff_compiler_lang()
|
||||
let lang = get(b:, 'groff_compiler_lang',
|
||||
\ &spell ? matchstr(&spelllang, '^\a\a') : '')
|
||||
if lang ==# 'en' | let lang = '' | endif
|
||||
return empty(lang) ? '' : '-m'..lang
|
||||
endfunction
|
||||
|
||||
" Requires output format (= device) to be set by user after :make.
|
||||
execute 'CompilerSet makeprg=groff'..escape(
|
||||
\ ' '..s:groff_compiler_lang()..
|
||||
\ ' -K'..get(b:, 'groff_compiler_encoding', get(g:, 'groff_compiler_encoding', 'utf8'))..
|
||||
\ ' '..get(b:, 'groff_compiler_args', get(g:, 'groff_compiler_args', ''))..
|
||||
\ ' -mom -T$* -- %:S > %:r:S.$*', ' ')
|
||||
" From Gavin Freeborn's https://github.com/Gavinok/vim-troff under Vim License
|
||||
" https://github.com/Gavinok/vim-troff/blob/91017b1423caa80aba541c997909a4f810edd275/compiler/troff.vim#L39
|
||||
CompilerSet errorformat=%o:<standard\ input>\ (%f):%l:%m,
|
||||
\%o:\ <standard\ input>\ (%f):%l:%m,
|
||||
\%o:%f:%l:%m,
|
||||
\%o:\ %f:%l:%m,
|
||||
\%f:%l:\ macro\ %trror:%m,
|
||||
\%f:%l:%m,
|
||||
\%W%tarning:\ file\ '%f'\\,\ around\ line\ %l:,%Z%m
|
||||
|
||||
let &cpo = s:keepcpo
|
||||
unlet s:keepcpo
|
||||
@@ -0,0 +1,13 @@
|
||||
" Vim compiler plugin
|
||||
"
|
||||
" Maintainer: The Vim Project <https://github.com/vim/vim>
|
||||
" Last Change: 2024 Sep 10
|
||||
" Original Author: Konfekt
|
||||
"
|
||||
" This compiler plugin is used to reset previously set compiler options.
|
||||
|
||||
if exists("g:current_compiler") | unlet g:current_compiler | endif
|
||||
if exists("b:current_compiler") | unlet b:current_compiler | endif
|
||||
|
||||
CompilerSet makeprg&
|
||||
CompilerSet errorformat&
|
||||
+16
-11
@@ -1,10 +1,12 @@
|
||||
" Vim compiler file
|
||||
" Compiler: Pandoc
|
||||
" Maintainer: Konfekt
|
||||
" Last Change: 2024 Aug 20
|
||||
" Last Change: 2024 Sep 8
|
||||
"
|
||||
" Expects output file extension, say `:make html` or `:make pdf`.
|
||||
" Passes additional arguments to pandoc, say `:make html --self-contained`.
|
||||
" Adjust command-line flags by buffer-local/global variable
|
||||
" b/g:pandoc_compiler_args which defaults to empty.
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
@@ -40,18 +42,21 @@ silent! function s:PandocFiletype(filetype) abort
|
||||
endif
|
||||
endfunction
|
||||
|
||||
let b:pandoc_compiler_from = get(b:, 'pandoc_compiler_from', s:PandocFiletype(&filetype))
|
||||
let b:pandoc_compiler_lang = get(b:, 'pandoc_compiler_lang', &spell ? matchstr(&spelllang, '^\a\a') : '')
|
||||
silent! function s:PandocLang()
|
||||
let lang = get(b:, 'pandoc_compiler_lang',
|
||||
\ &spell ? matchstr(&spelllang, '^\a\a') : '')
|
||||
if lang ==# 'en' | let lang = '' | endif
|
||||
return empty(lang) ? '' : '--metadata lang='..lang
|
||||
endfunction
|
||||
|
||||
execute 'CompilerSet makeprg=pandoc'..escape(
|
||||
\ ' --standalone' .
|
||||
\ (b:pandoc_compiler_from ==# 'markdown' && (getline(1) =~# '^%\s\+\S\+' || (search('^title:\s+\S+', 'cnw') > 0)) ?
|
||||
\ '' : ' --metadata title=%:t:r:S') .
|
||||
\ (empty(b:pandoc_compiler_lang) ?
|
||||
\ '' : ' --metadata lang='..b:pandoc_compiler_lang) .
|
||||
\ ' --from='..b:pandoc_compiler_from .
|
||||
\ ' '..get(b:, 'pandoc_compiler_args', get(g:, 'pandoc_compiler_args', '')) .
|
||||
\ ' --output %:r:S.$* -- %:S', ' ')
|
||||
\ ' --standalone'..
|
||||
\ (s:PandocFiletype(&filetype) ==# 'markdown' && (getline(1) =~# '^%\s\+\S\+' || (search('^title:\s+\S+', 'cnw') > 0)) ?
|
||||
\ '' : ' --metadata title=%:t:r:S')..
|
||||
\ ' '..s:PandocLang()..
|
||||
\ ' --from='..s:PandocFiletype(&filetype)..
|
||||
\ ' '..get(b:, 'pandoc_compiler_args', get(g:, 'pandoc_compiler_args', ''))..
|
||||
\ ' --output %:r:S.$* -- %:S', ' ')
|
||||
CompilerSet errorformat=\"%f\",\ line\ %l:\ %m
|
||||
|
||||
let &cpo = s:keepcpo
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*builtin.txt* For Vim version 9.1. Last change: 2024 Aug 08
|
||||
*builtin.txt* For Vim version 9.1. Last change: 2024 Sep 10
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -8965,6 +8965,9 @@ search({pattern} [, {flags} [, {stopline} [, {timeout} [, {skip}]]]])
|
||||
{timeout} is 500 the search stops after half a second.
|
||||
The value must not be negative. A zero value is like not
|
||||
giving the argument.
|
||||
|
||||
Note: the timeout is only considered when searching, not
|
||||
while evaluating the {skip} expression.
|
||||
{only available when compiled with the |+reltime| feature}
|
||||
|
||||
If the {skip} expression is given it is evaluated with the
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*insert.txt* For Vim version 9.1. Last change: 2024 Aug 23
|
||||
*insert.txt* For Vim version 9.1. Last change: 2024 Aug 25
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1191,9 +1191,10 @@ items:
|
||||
to the completion items
|
||||
kind_hlgroup an additional highlight group specifically for setting
|
||||
the highlight attributes of the completion kind. When
|
||||
this field is present, it will override the |hl-PmenuKind|
|
||||
highlight group, allowing for the customization of
|
||||
ctermfd and guifg properties for the completion kind
|
||||
this field is present, it will override the
|
||||
|hl-PmenuKind| highlight group, allowing for the
|
||||
customization of ctermfg and guifg properties for the
|
||||
completion kind
|
||||
|
||||
All of these except "icase", "equal", "dup" and "empty" must be a string. If
|
||||
an item does not meet these requirements then an error message is given and
|
||||
|
||||
+7
-3
@@ -1,4 +1,4 @@
|
||||
*map.txt* For Vim version 9.1. Last change: 2024 Jul 11
|
||||
*map.txt* For Vim version 9.1. Last change: 2024 Aug 31
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1624,12 +1624,14 @@ completion can be enabled:
|
||||
|
||||
-complete=arglist file names in argument list
|
||||
-complete=augroup autocmd groups
|
||||
-complete=behave |:behave| suboptions
|
||||
-complete=breakpoint |:breakadd| suboptions
|
||||
-complete=buffer buffer names
|
||||
-complete=behave :behave suboptions
|
||||
-complete=color color schemes
|
||||
-complete=command Ex command (and arguments)
|
||||
-complete=compiler compilers
|
||||
-complete=cscope |:cscope| suboptions
|
||||
-complete=diff_buffer diff buffer names
|
||||
-complete=dir directory names
|
||||
-complete=dir_in_path directory names in |'cdpath'|
|
||||
-complete=environment environment variable names
|
||||
@@ -1641,7 +1643,7 @@ completion can be enabled:
|
||||
-complete=function function name
|
||||
-complete=help help subjects
|
||||
-complete=highlight highlight groups
|
||||
-complete=history :history suboptions
|
||||
-complete=history |:history| suboptions
|
||||
-complete=keymap keyboard mappings
|
||||
-complete=locale locale names (as output of locale -a)
|
||||
-complete=mapclear buffer argument
|
||||
@@ -1650,6 +1652,8 @@ completion can be enabled:
|
||||
-complete=messages |:messages| suboptions
|
||||
-complete=option options
|
||||
-complete=packadd optional package |pack-add| names
|
||||
-complete=runtime file and directory names in |'runtimepath'|
|
||||
-complete=scriptnames sourced script names
|
||||
-complete=shellcmd Shell command
|
||||
-complete=sign |:sign| suboptions
|
||||
-complete=syntax syntax file names |'syntax'|
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*motion.txt* For Vim version 9.1. Last change: 2024 Jul 14
|
||||
*motion.txt* For Vim version 9.1. Last change: 2024 Aug 28
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -364,11 +364,11 @@ gg Goto line [count], default first line, on the first
|
||||
See also 'startofline' option.
|
||||
|
||||
:[range]go[to] [count] *:go* *:goto* *go*
|
||||
[count]go Go to [count] byte in the buffer. Default [count] is
|
||||
one, start of the file. When giving [range], the
|
||||
last number in it used as the byte count. End-of-line
|
||||
characters are counted depending on the current
|
||||
'fileformat' setting.
|
||||
[count]go Go to [count] byte in the buffer. |exclusive| motion.
|
||||
Default [count] is one, start of the file. When
|
||||
giving [range], the last number in it used as the byte
|
||||
count. End-of-line characters are counted depending
|
||||
on the current 'fileformat' setting.
|
||||
Also see the |line2byte()| function, and the 'o'
|
||||
option in 'statusline'.
|
||||
{not available when compiled without the
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*options.txt* For Vim version 9.1. Last change: 2024 Aug 12
|
||||
*options.txt* For Vim version 9.1. Last change: 2024 Sep 10
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1496,9 +1496,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
list:{n} Adds an additional indent for lines that match a
|
||||
numbered or bulleted list (using the
|
||||
'formatlistpat' setting).
|
||||
list:-1 Uses the length of a match with 'formatlistpat'
|
||||
for indentation.
|
||||
(default: 0)
|
||||
list:-1 Uses the width of a match with 'formatlistpat' for
|
||||
indentation.
|
||||
column:{n} Indent at column {n}. Will overrule the other
|
||||
sub-options. Note: an additional indent may be
|
||||
added for the 'showbreak' setting.
|
||||
@@ -2163,10 +2163,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
fuzzy Enable |fuzzy-matching| for completion candidates. This
|
||||
allows for more flexible and intuitive matching, where
|
||||
characters can be skipped and matches can be found even
|
||||
if the exact sequence is not typed. Only makes a
|
||||
difference how completion candidates are reduced from the
|
||||
list of alternatives, but not how the candidates are
|
||||
collected (using different completion types).
|
||||
if the exact sequence is not typed.
|
||||
|
||||
*'completepopup'* *'cpp'*
|
||||
'completepopup' 'cpp' string (default empty)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*pi_getscript.txt* For Vim version 9.1. Last change: 2017 Aug 01
|
||||
*pi_getscript.txt* For Vim version 9.1. Last change: 2024 Sep 08
|
||||
>
|
||||
GETSCRIPT REFERENCE MANUAL by Charles E. Campbell
|
||||
<
|
||||
@@ -20,7 +20,7 @@ Copyright: (c) 2004-2012 by Charles E. Campbell *glvs-copyright*
|
||||
Getscript is a plugin that simplifies retrieval of the latest versions of the
|
||||
scripts that you yourself use! Typing |:GLVS| will invoke getscript; it will
|
||||
then use the <GetLatestVimScripts.dat> (see |GetLatestVimScripts_dat|) file to
|
||||
get the latest versions of scripts listed therein from http://vim.sf.net/.
|
||||
get the latest versions of scripts listed therein from https://www.vim.org/.
|
||||
|
||||
==============================================================================
|
||||
1. Contents *glvs-contents* *glvs* *getscript*
|
||||
@@ -59,9 +59,9 @@ the "important" part of it is the first two lines.
|
||||
|
||||
Your computer needs to have wget or curl for GetLatestVimScripts to do its work.
|
||||
|
||||
1. if compressed: gunzip getscript.vba.gz
|
||||
1. if compressed: gunzip getscript.vmb.gz
|
||||
2. Unix:
|
||||
vim getscript.vba
|
||||
vim getscript.vmb
|
||||
:so %
|
||||
:q
|
||||
cd ~/.vim/GetLatest
|
||||
@@ -70,7 +70,7 @@ Your computer needs to have wget or curl for GetLatestVimScripts to do its work.
|
||||
list of desired plugins -- see |GetLatestVimScripts_dat|)
|
||||
|
||||
3. Windows:
|
||||
vim getscript.vba
|
||||
vim getscript.vmb
|
||||
:so %
|
||||
:q
|
||||
cd **path-to-vimfiles**/GetLatest
|
||||
@@ -281,11 +281,14 @@ With :AutoInstall: enabled, as it is by default, files which end with
|
||||
|
||||
---.tar.bz2 : decompressed & untarred in .vim/ directory
|
||||
---.vba.bz2 : decompressed in .vim/ directory, then vimball handles it
|
||||
---.vmb.bz2 : decompressed in .vim/ directory, then vimball handles it
|
||||
---.vim.bz2 : decompressed & moved into .vim/plugin directory
|
||||
---.tar.gz : decompressed & untarred in .vim/ directory
|
||||
---.vba.gz : decompressed in .vim/ directory, then vimball handles it
|
||||
---.vmb.gz : decompressed in .vim/ directory, then vimball handles it
|
||||
---.vim.gz : decompressed & moved into .vim/plugin directory
|
||||
---.vba : unzipped in .vim/ directory
|
||||
---.vba : moved to .vim/ directory, then vimball handles it
|
||||
---.vmb : moved to .vim/ directory, then vimball handles it
|
||||
---.vim : moved to .vim/plugin directory
|
||||
---.zip : unzipped in .vim/ directory
|
||||
|
||||
@@ -300,7 +303,7 @@ When is a script not auto-installable? Let me give an example:
|
||||
The <blockhl.vim> script provides block highlighting for C/C++ programs; it is
|
||||
available at:
|
||||
|
||||
http://vim.sourceforge.net/scripts/script.php?script_id=104
|
||||
https://www.vim.org/scripts/script.php?script_id=104
|
||||
|
||||
Currently, vim's after/syntax only supports by-filetype scripts (in
|
||||
blockhl.vim's case, that's after/syntax/c.vim). Hence, auto-install would
|
||||
@@ -309,7 +312,7 @@ possibly overwrite the current user's after/syntax/c.vim file.
|
||||
In my own case, I use <aftersyntax.vim> (renamed to after/syntax/c.vim) to
|
||||
allow a after/syntax/c/ directory:
|
||||
|
||||
http://vim.sourceforge.net/scripts/script.php?script_id=1023
|
||||
https://www.vim.org/scripts/script.php?script_id=1023
|
||||
|
||||
The script allows multiple syntax files to exist separately in the
|
||||
after/syntax/c subdirectory. I can't bundle aftersyntax.vim in and build an
|
||||
@@ -345,17 +348,22 @@ after/syntax/c.vim contained in it to overwrite a user's c.vim.
|
||||
Doesn't override vimball installation.
|
||||
>
|
||||
g:GetLatestVimScripts_scriptaddr
|
||||
< default='http://vim.sourceforge.net/script.php?script_id='
|
||||
< default='https://www.vim.org/scripts/script.php?script_id='
|
||||
Override this if your system needs
|
||||
... ='http://vim.sourceforge.net/script/script.php?script_id='
|
||||
|
||||
... ='http://vim.sourceforge.net/script.php?script_id='
|
||||
>
|
||||
g:GetLatestVimScripts_downloadaddr
|
||||
< default='https://www.vim.org/scripts/download_script.php?src_id='
|
||||
Override this if your system needs
|
||||
... ='http://vim.sourceforge.net/scripts/download_script.php?src_id='
|
||||
>
|
||||
==============================================================================
|
||||
8. GetLatestVimScripts Algorithm *glvs-algorithm* *glvs-alg*
|
||||
|
||||
The Vim sourceforge page dynamically creates a page by keying off of the
|
||||
so-called script-id. Within the webpage of
|
||||
|
||||
http://vim.sourceforge.net/scripts/script.php?script_id=40
|
||||
https://www.vim.org/scripts/script.php?script_id=40
|
||||
|
||||
is a line specifying the latest source-id (src_id). The source identifier
|
||||
numbers are always increasing, hence if the src_id is greater than the one
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*quickfix.txt* For Vim version 9.1. Last change: 2024 Aug 20
|
||||
*quickfix.txt* For Vim version 9.1. Last change: 2024 Sep 10
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1276,6 +1276,7 @@ not "b:current_compiler". What the command actually does is the following:
|
||||
|
||||
For writing a compiler plugin, see |write-compiler-plugin|.
|
||||
|
||||
Use the |compiler-make| plugin to undo the effect of a compiler plugin.
|
||||
|
||||
DOTNET *compiler-dotnet*
|
||||
|
||||
@@ -1291,7 +1292,6 @@ Example: limit output to only display errors, and suppress the project name: >
|
||||
let dotnet_show_project_file = v:false
|
||||
compiler dotnet
|
||||
<
|
||||
|
||||
GCC *quickfix-gcc* *compiler-gcc*
|
||||
|
||||
There's one variable you can set for the GCC compiler:
|
||||
@@ -1302,7 +1302,6 @@ g:compiler_gcc_ignore_unmatched_lines
|
||||
commands run from make are generating false
|
||||
positives.
|
||||
|
||||
|
||||
JAVAC *compiler-javac*
|
||||
|
||||
Commonly used compiler options can be added to 'makeprg' by setting the
|
||||
@@ -1310,6 +1309,12 @@ g:javac_makeprg_params variable. For example: >
|
||||
|
||||
let g:javac_makeprg_params = "-Xlint:all -encoding utf-8"
|
||||
<
|
||||
GNU MAKE *compiler-make*
|
||||
|
||||
Since the default make program is "make", the compiler plugin for make,
|
||||
:compiler make, will reset the 'makeprg' and 'errorformat' option to
|
||||
the default values and unlet any variables that may have been set by a
|
||||
previous compiler plugin.
|
||||
|
||||
MANX AZTEC C *quickfix-manx* *compiler-manx*
|
||||
|
||||
@@ -1335,6 +1340,18 @@ If Vim was started from the compiler, the :sh and some :! commands will not
|
||||
work, because Vim is then running in the same process as the compiler and
|
||||
stdin (standard input) will not be interactive.
|
||||
|
||||
GROFF *quickfix-groff* *compiler-groff*
|
||||
|
||||
The GROFF compiler plugin uses the mom macro set (documented in the groff_mom
|
||||
manpage) as input and expects that the output file type extension is passed to
|
||||
make, say :make html or :make pdf.
|
||||
|
||||
Additional arguments can be passed to groff by setting them in
|
||||
`b:groff_compiler_args` or `g:groff_compiler_args`. The `language` argument
|
||||
passed to groff is set using 'spelllang'; it can be overridden by setting
|
||||
`b:groff_compiler_lang`. The default enconding is `UTF-8` and can be changed
|
||||
by setting `b:groff_compiler_encoding` or `g:groff_compiler_encoding`.
|
||||
|
||||
PANDOC *quickfix-pandoc* *compiler-pandoc*
|
||||
|
||||
The Pandoc compiler plugin expects that an output file type extension is
|
||||
@@ -1347,8 +1364,7 @@ Additional arguments can be passed to pandoc:
|
||||
|
||||
The `--from` argument is an educated guess using the buffer file type;
|
||||
it can be overridden by setting `b:pandoc_compiler_from`.
|
||||
Likewise the `--metadata lang` argument is set using `&spelllang`;
|
||||
it can be overridden by setting `b:pandoc_compiler_lang`.
|
||||
The `--metadata lang` argument is set using 'spelllang';
|
||||
If `--from=markdown` is assumed and no title set in a title header or
|
||||
YAML block, then the filename (without extension) is used as the title.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*starting.txt* For Vim version 9.1. Last change: 2024 Aug 03
|
||||
*starting.txt* For Vim version 9.1. Last change: 2024 Sep 05
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -828,8 +828,8 @@ accordingly. Vim proceeds in this order:
|
||||
easy to copy it to another system.
|
||||
|
||||
If Vim was started with "-u filename", the file "filename" is used.
|
||||
All following initializations until 4. are skipped. $MYVIMRC is not
|
||||
set.
|
||||
All following initializations until 4. are skipped. $MYVIMRC and
|
||||
$MYVIMDIR are not set.
|
||||
"vim -u NORC" can be used to skip these initializations without
|
||||
reading a file. "vim -u NONE" also skips loading plugins. |-u|
|
||||
|
||||
@@ -848,11 +848,13 @@ accordingly. Vim proceeds in this order:
|
||||
like. For the Macintosh the $VIMRUNTIME/macmap.vim is read (not on
|
||||
MacVim, as this only applies to the older Carbon version).
|
||||
|
||||
*VIMINIT* *.vimrc* *_vimrc* *EXINIT* *.exrc* *_exrc* *$MYVIMRC*
|
||||
*VIMINIT* *.vimrc* *_vimrc* *EXINIT* *.exrc* *_exrc* *$MYVIMRC* *$MYVIMDIR*
|
||||
c. Five places are searched for initializations. The first that exists
|
||||
is used, the others are ignored. The $MYVIMRC environment variable is
|
||||
set to the file that was first found, unless $MYVIMRC was already set
|
||||
and when using VIMINIT.
|
||||
and when using VIMINIT. The $MYVIMDIR environment variable is
|
||||
set to the personal 'rtp' directory, however it is not verified
|
||||
that the directory actually exists.
|
||||
I The environment variable VIMINIT (see also |compatible-default|) (*)
|
||||
The value of $VIMINIT is used as an Ex command line.
|
||||
II The user vimrc file(s):
|
||||
@@ -972,7 +974,8 @@ accordingly. Vim proceeds in this order:
|
||||
The |VimEnter| autocommands are executed.
|
||||
|
||||
The $MYVIMRC or $MYGVIMRC file will be set to the first found vimrc and/or
|
||||
gvimrc file.
|
||||
gvimrc file while $MYVIMDIR is set to the users personal runtime directory
|
||||
'rtp' (typically the first entry in 'runtimepath').
|
||||
|
||||
|
||||
Some hints on using initializations ~
|
||||
|
||||
+18
-3
@@ -1,4 +1,4 @@
|
||||
*syntax.txt* For Vim version 9.1. Last change: 2024 Aug 22
|
||||
*syntax.txt* For Vim version 9.1. Last change: 2024 Aug 31
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -179,8 +179,7 @@ add a few items or change the highlighting, follow these steps:
|
||||
1. Create your user directory from 'runtimepath', see above.
|
||||
|
||||
2. Create a directory in there called "after/syntax". For Unix: >
|
||||
mkdir ~/.vim/after
|
||||
mkdir ~/.vim/after/syntax
|
||||
mkdir -p ~/.vim/after/syntax
|
||||
|
||||
3. Write a Vim script that contains the commands you want to use. For
|
||||
example, to change the colors for the C syntax: >
|
||||
@@ -2164,6 +2163,22 @@ This will make the syntax synchronization start 50 lines before the first
|
||||
displayed line. The default value is 10. The disadvantage of using a larger
|
||||
number is that redrawing can become slow.
|
||||
|
||||
Significant changes to the Java platform are gradually introduced in the form
|
||||
of JDK Enhancement Proposals (JEPs) that can be implemented for a release and
|
||||
offered as its preview features. It may take several JEPs and a few release
|
||||
cycles for such a feature to become either integrated into the platform or
|
||||
withdrawn from this effort. To cater for early adopters, there is optional
|
||||
support in Vim for syntax related preview features that are implemented. You
|
||||
can request it by specifying a list of preview feature numbers as follows: >
|
||||
:let g:java_syntax_previews = [430]
|
||||
|
||||
The supported JEP numbers are to be drawn from this table:
|
||||
`430`: String Templates [JDK 21]
|
||||
|
||||
Note that as soon as the particular preview feature will have been integrated
|
||||
into the Java platform, its entry will be removed from the table and related
|
||||
optionality will be discontinued.
|
||||
|
||||
|
||||
JSON *json.vim* *ft-json-syntax* *g:vim_json_conceal*
|
||||
*g:vim_json_warnings*
|
||||
|
||||
@@ -7,6 +7,7 @@ $HOME options.txt /*$HOME*
|
||||
$HOME-use version5.txt /*$HOME-use*
|
||||
$HOME-windows options.txt /*$HOME-windows*
|
||||
$MYGVIMRC gui.txt /*$MYGVIMRC*
|
||||
$MYVIMDIR starting.txt /*$MYVIMDIR*
|
||||
$MYVIMRC starting.txt /*$MYVIMRC*
|
||||
$VIM starting.txt /*$VIM*
|
||||
$VIM-use version5.txt /*$VIM-use*
|
||||
@@ -6287,6 +6288,7 @@ bufexists() builtin.txt /*bufexists()*
|
||||
buffer-functions usr_41.txt /*buffer-functions*
|
||||
buffer-hidden windows.txt /*buffer-hidden*
|
||||
buffer-list windows.txt /*buffer-list*
|
||||
buffer-reuse windows.txt /*buffer-reuse*
|
||||
buffer-variable eval.txt /*buffer-variable*
|
||||
buffer-write editing.txt /*buffer-write*
|
||||
buffer_exists() builtin.txt /*buffer_exists()*
|
||||
@@ -6642,8 +6644,10 @@ compiler-decada ft_ada.txt /*compiler-decada*
|
||||
compiler-dotnet quickfix.txt /*compiler-dotnet*
|
||||
compiler-gcc quickfix.txt /*compiler-gcc*
|
||||
compiler-gnat ft_ada.txt /*compiler-gnat*
|
||||
compiler-groff quickfix.txt /*compiler-groff*
|
||||
compiler-hpada ft_ada.txt /*compiler-hpada*
|
||||
compiler-javac quickfix.txt /*compiler-javac*
|
||||
compiler-make quickfix.txt /*compiler-make*
|
||||
compiler-manx quickfix.txt /*compiler-manx*
|
||||
compiler-pandoc quickfix.txt /*compiler-pandoc*
|
||||
compiler-perl quickfix.txt /*compiler-perl*
|
||||
@@ -9804,6 +9808,7 @@ quickfix-directory-stack quickfix.txt /*quickfix-directory-stack*
|
||||
quickfix-error-lists quickfix.txt /*quickfix-error-lists*
|
||||
quickfix-functions usr_41.txt /*quickfix-functions*
|
||||
quickfix-gcc quickfix.txt /*quickfix-gcc*
|
||||
quickfix-groff quickfix.txt /*quickfix-groff*
|
||||
quickfix-index quickfix.txt /*quickfix-index*
|
||||
quickfix-manx quickfix.txt /*quickfix-manx*
|
||||
quickfix-pandoc quickfix.txt /*quickfix-pandoc*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*textprop.txt* For Vim version 9.1. Last change: 2024 Jun 08
|
||||
*textprop.txt* For Vim version 9.1. Last change: 2024 Sep 08
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -140,10 +140,10 @@ prop_add({lnum}, {col}, {props})
|
||||
bufnr buffer to add the property to; when omitted
|
||||
the current buffer is used
|
||||
id user defined ID for the property; must be a
|
||||
number, should be positive; when using "text"
|
||||
then "id" must not be present and will be set
|
||||
automatically to a negative number; otherwise
|
||||
zero is used
|
||||
number, should be positive |E1510|;
|
||||
when using "text" then "id" must not be
|
||||
present and will be set automatically to a
|
||||
negative number; otherwise zero is used
|
||||
*E1305*
|
||||
text text to be displayed before {col}, or
|
||||
above/below the line if {col} is zero; prepend
|
||||
@@ -271,7 +271,7 @@ prop_add_list({props}, [{item}, ...]) *prop_add_list()*
|
||||
call prop_add_list(#{type: 'MyProp', id: 2},
|
||||
\ [[1, 4, 1, 7],
|
||||
\ [1, 15, 1, 20],
|
||||
\ [2, 30, 3, 30]]
|
||||
\ [2, 30, 3, 30]])
|
||||
<
|
||||
Can also be used as a |method|: >
|
||||
GetProp()->prop_add_list([[1, 1, 1, 2], [1, 4, 1, 8]])
|
||||
|
||||
@@ -41668,6 +41668,10 @@ Python3 support in OpenVMS.
|
||||
Support for |fuzzy-matching| during |ins-completion| with the "fuzzy"
|
||||
values of the 'completeopt' setting
|
||||
|
||||
The environment variable |$MYVIMDIR| is set to the users personal runtime
|
||||
directory ($HOME/.vim or $HOME/.config/vim on Linux, $HOME/vimfiles
|
||||
on Windows)
|
||||
|
||||
==============================================================================
|
||||
COMPILE TIME CHANGES *compile-changes-9.2*
|
||||
|
||||
|
||||
+14
-7
@@ -1,4 +1,4 @@
|
||||
*windows.txt* For Vim version 9.1. Last change: 2024 Jul 09
|
||||
*windows.txt* For Vim version 9.1. Last change: 2024 Sep 08
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -67,11 +67,17 @@ active yes yes 'a'
|
||||
hidden no yes 'h'
|
||||
inactive no no ' '
|
||||
|
||||
Note: All CTRL-W commands can also be executed with |:wincmd|, for those
|
||||
places where a Normal mode command can't be used or is inconvenient.
|
||||
*buffer-reuse*
|
||||
Each buffer has a unique number and the number will not change within a Vim
|
||||
session. The |bufnr()| and |bufname()| functions can be used to convert
|
||||
between a buffer name and the buffer number. There is one exception: if a new
|
||||
empty buffer is created and it is not modified, the buffer will be re-used
|
||||
when loading another file into that buffer. This also means the buffer number
|
||||
will not change.
|
||||
|
||||
The main Vim window can hold several split windows. There are also tab pages
|
||||
|tab-page|, each of which can hold multiple windows.
|
||||
|
||||
*window-ID* *winid* *windowid*
|
||||
Each window has a unique identifier called the window ID. This identifier
|
||||
will not change within a Vim session. The |win_getid()| and |win_id2tabwin()|
|
||||
@@ -83,9 +89,6 @@ across tabs. For most functions that take a window ID or a window number, the
|
||||
window number only applies to the current tab, while the window ID can refer
|
||||
to a window in any tab.
|
||||
|
||||
Each buffer has a unique number and the number will not change within a Vim
|
||||
session. The |bufnr()| and |bufname()| functions can be used to convert
|
||||
between a buffer name and the buffer number.
|
||||
|
||||
==============================================================================
|
||||
2. Starting Vim *windows-starting*
|
||||
@@ -391,7 +394,7 @@ CTRL-W CTRL-C *CTRL-W_CTRL-C*
|
||||
to the buffer are not written and won't get lost, so this is a
|
||||
"safe" command.
|
||||
|
||||
:hid[e] {cmd} Execute {cmd} with 'hidden' is set. The previous value of
|
||||
:hid[e] {cmd} Execute {cmd} with 'hidden' set. The previous value of
|
||||
'hidden' is restored after {cmd} has been executed.
|
||||
Example: >
|
||||
:hide edit Makefile
|
||||
@@ -485,6 +488,10 @@ These commands can also be executed with ":wincmd":
|
||||
:exe nr .. "wincmd w"
|
||||
< This goes to window "nr".
|
||||
|
||||
Note: All CTRL-W commands can also be executed with |:wincmd|, for those
|
||||
places where a Normal mode command can't be used or is inconvenient (e.g.
|
||||
in a browser-based terminal).
|
||||
|
||||
==============================================================================
|
||||
5. Moving windows around *window-moving*
|
||||
|
||||
|
||||
@@ -2371,7 +2371,7 @@ au BufNewFile,BufRead *.sml setf sml
|
||||
au BufNewFile,BufRead *.cm setf voscm
|
||||
|
||||
" Swift
|
||||
au BufNewFile,BufRead *.swift setf swift
|
||||
au BufNewFile,BufRead *.swift,*.swiftinterface setf swift
|
||||
au BufNewFile,BufRead *.swift.gyb setf swiftgyb
|
||||
|
||||
" Swift Intermediate Language or SILE
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
" Vim filetype plugin
|
||||
" Language: HCL
|
||||
" Maintainer: Gregory Anders
|
||||
" Last Change: 2024-09-03
|
||||
|
||||
if exists('b:did_ftplugin')
|
||||
finish
|
||||
endif
|
||||
|
||||
runtime! ftplugin/terraform.vim
|
||||
@@ -0,0 +1,13 @@
|
||||
" Vim filetype plugin
|
||||
" Language: Nu
|
||||
" Maintainer: Marc Jakobi <marc@jakobi.dev>
|
||||
" Last Change: 2024 Aug 31
|
||||
|
||||
if exists('b:did_ftplugin')
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
setlocal commentstring=#\ %s
|
||||
|
||||
let b:undo_ftplugin = 'setl com<'
|
||||
@@ -2,8 +2,9 @@
|
||||
" Filename: spec.vim
|
||||
" Maintainer: Igor Gnatenko i.gnatenko.brain@gmail.com
|
||||
" Former Maintainer: Gustavo Niemeyer <niemeyer@conectiva.com> (until March 2014)
|
||||
" Last Change: Mon Jun 01 21:15 MSK 2015 Igor Gnatenko
|
||||
" Update by Zdenek Dohnal, 2022 May 17
|
||||
" Last Change: 2015 Jun 01
|
||||
" Update by Zdenek Dohnal, 2022 May 17
|
||||
" 2024 Sep 10 by Vim Project: add epoch support for spec changelog, #15537
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
@@ -66,9 +67,11 @@ if !exists("*s:SpecChangelog")
|
||||
endif
|
||||
let line = 0
|
||||
let name = ""
|
||||
let epoch = ""
|
||||
let ver = ""
|
||||
let rel = ""
|
||||
let nameline = -1
|
||||
let epochline = -1
|
||||
let verline = -1
|
||||
let relline = -1
|
||||
let chgline = -1
|
||||
@@ -77,6 +80,9 @@ if !exists("*s:SpecChangelog")
|
||||
if name == "" && linestr =~? '^Name:'
|
||||
let nameline = line
|
||||
let name = substitute(strpart(linestr,5), '^[ ]*\([^ ]\+\)[ ]*$','\1','')
|
||||
elseif epoch == "" && linestr =~? '^Epoch:'
|
||||
let epochline = line
|
||||
let epoch = substitute(strpart(linestr,6), '^[ ]*\([^ ]\+\)[ ]*$','\1','')
|
||||
elseif ver == "" && linestr =~? '^Version:'
|
||||
let verline = line
|
||||
let ver = substitute(strpart(linestr,8), '^[ ]*\([^ ]\+\)[ ]*$','\1','')
|
||||
@@ -93,6 +99,7 @@ if !exists("*s:SpecChangelog")
|
||||
if nameline != -1 && verline != -1 && relline != -1
|
||||
let include_release_info = exists("g:spec_chglog_release_info")
|
||||
let name = s:ParseRpmVars(name, nameline)
|
||||
let epoch = s:ParseRpmVars(epoch, epochline)
|
||||
let ver = s:ParseRpmVars(ver, verline)
|
||||
let rel = s:ParseRpmVars(rel, relline)
|
||||
else
|
||||
@@ -117,6 +124,9 @@ if !exists("*s:SpecChangelog")
|
||||
if chgline != -1
|
||||
let tmptime = v:lc_time
|
||||
language time C
|
||||
if strlen(epoch)
|
||||
let ver = epoch.":".ver
|
||||
endif
|
||||
let parsed_format = "* ".strftime(format)." - ".ver."-".rel
|
||||
execute "language time" tmptime
|
||||
let release_info = "+ ".name."-".ver."-".rel
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
" Vim indent file
|
||||
" Language: HCL
|
||||
" Maintainer: Gregory Anders
|
||||
" Upstream: https://github.com/hashivim/vim-terraform
|
||||
" Last Change: 2024-09-03
|
||||
|
||||
if exists('b:did_indent')
|
||||
finish
|
||||
endif
|
||||
let b:did_indent = 1
|
||||
|
||||
setlocal autoindent shiftwidth=2 tabstop=2 softtabstop=2 expandtab
|
||||
setlocal indentexpr=hcl#indentexpr(v:lnum)
|
||||
setlocal indentkeys+=<:>,0=},0=)
|
||||
|
||||
let b:undo_indent = 'setlocal ai< sw< ts< sts< et< inde< indk<'
|
||||
@@ -0,0 +1,11 @@
|
||||
" Vim indent file
|
||||
" Language: Terraform
|
||||
" Maintainer: Gregory Anders
|
||||
" Upstream: https://github.com/hashivim/vim-terraform
|
||||
" Last Change: 2024-09-03
|
||||
|
||||
if exists('b:did_indent')
|
||||
finish
|
||||
endif
|
||||
|
||||
runtime! indent/hcl.vim
|
||||
+43
-32
@@ -1,7 +1,7 @@
|
||||
" Menu Translations: Português do Brasil
|
||||
" Maintainer: José de Paula <jose@infoviaweb.com>
|
||||
" Contributor: JNylson <nylsinho_ba@hotmail.com>
|
||||
" Last Change: 2024 Ago 23
|
||||
" Last Change: 2024 Ago 29
|
||||
" Original translations
|
||||
|
||||
" Quit when menu translations have already been done.
|
||||
@@ -20,13 +20,13 @@ if &enc != "cp1252" && &enc != "iso-8859-15"
|
||||
endif
|
||||
|
||||
" Help menu
|
||||
menutrans &Help A&juda
|
||||
menutrans &Help Aj&uda
|
||||
menutrans &Overview<Tab><F1> &Conteúdo
|
||||
menutrans &User\ Manual &Manual\ do\ Usuário
|
||||
menutrans &How-to\ links &Como\ fazer?
|
||||
menutrans &How-To\ Links Como\ &fazer?
|
||||
menutrans &Find\.\.\. &Procurar\.\.\.
|
||||
menutrans &Credits &Créditos
|
||||
menutrans O&rphans &Órfãos
|
||||
menutrans &Credits C&réditos
|
||||
menutrans O&rphans Órfã&os
|
||||
menutrans Co&pying &Licença
|
||||
menutrans &Sponsor/Register &Doar/Registrar
|
||||
menutrans &Version &Versão
|
||||
@@ -34,18 +34,18 @@ menutrans &About &Sobre
|
||||
|
||||
" File menu
|
||||
menutrans &File &Arquivo
|
||||
menutrans &Open\.\.\.<Tab>:e A&brir\.\.\.<Tab>:e
|
||||
menutrans Sp&lit-Open\.\.\.<Tab>:sp Ab&rir\ em\ outra\ janela\.\.\.<Tab>:sp
|
||||
menutrans &Open\.\.\.<Tab>:e &Abrir\.\.\.<Tab>:e
|
||||
menutrans Sp&lit-Open\.\.\.<Tab>:sp Abrir\ em\ outra\ &janela\.\.\.<Tab>:sp
|
||||
menutrans Open\ &Tab\.\.\.<Tab>:tabnew A&brir\ em\ outra\ aba\.\.\.<Tab>:tabnew
|
||||
menutrans &New<Tab>:enew &Novo<Tab>:enew
|
||||
menutrans &Close<Tab>:close &Fechar<Tab>:close
|
||||
menutrans &Save<Tab>:w &Salvar<Tab>:w
|
||||
menutrans Save\ &As\.\.\.<Tab>:sav Sa&lvar\ como\.\.\.<Tab>:sav
|
||||
menutrans Save\ &As\.\.\.<Tab>:sav Salvar\ &como\.\.\.<Tab>:sav
|
||||
menutrans Split\ &Diff\ with\.\.\. &Exibir\ diferenças\ com\.\.\.
|
||||
menutrans Split\ Patched\ &By\.\.\. Ex&ibir\ patcheado\ por\.\.\.
|
||||
menutrans Split\ Patched\ &By\.\.\. E&xibir\ patcheado\ por\.\.\.
|
||||
menutrans &Print I&mprimir
|
||||
menutrans Sa&ve-Exit<Tab>:wqa Sal&var\ e\ sair<Tab>:wqa
|
||||
menutrans E&xit<Tab>:qa Sai&r<Tab>:qa
|
||||
menutrans E&xit<Tab>:qa Sa&ir<Tab>:qa
|
||||
|
||||
" Edit menu
|
||||
menutrans &Edit &Editar
|
||||
@@ -56,19 +56,20 @@ menutrans Cu&t<Tab>"+x Re&cortar<Tab>"+x
|
||||
menutrans &Copy<Tab>"+y Cop&iar<Tab>"+y
|
||||
menutrans &Paste<Tab>"+gP C&olar<Tab>"+gP
|
||||
menutrans Put\ &Before<Tab>[p Colocar\ &antes<Tab>[p
|
||||
menutrans Put\ &After<Tab>]p Colocar\ &depois<Tab>]p
|
||||
menutrans Put\ &After<Tab>]p Co&locar\ depois<Tab>]p
|
||||
menutrans &Delete<Tab>x Apa&gar<Tab>x
|
||||
menutrans &Select\ all<Tab>ggVG &Selecionar\ tudo<Tab>ggVG
|
||||
menutrans &Find\.\.\. &Procurar\.\.\.
|
||||
menutrans &Find<Tab>/ &Procurar<Tab>/
|
||||
menutrans Find\ and\ Rep&lace\.\.\. Procurar\ e\ substit&uir\.\.\.
|
||||
menutrans Find\ and\ Rep&lace<Tab>:%s Procurar\ e\ substit&uir<Tab>:%s
|
||||
menutrans Find\ and\ Rep&lace Procurar\ e\ substit&uir
|
||||
menutrans Find\ and\ Rep&lace<Tab>:s Procurar\ e\ substituir<Tab>:s
|
||||
menutrans Settings\ &Window &Opções
|
||||
menutrans Startup\ &Settings &Inicialização
|
||||
menutrans Settings\ &Window Opções\ de\ &janela
|
||||
menutrans Startup\ &Settings Opções\ de\ i&nicialização
|
||||
|
||||
" Edit/Global Settings
|
||||
menutrans &Global\ Settings Opções\ &Globais
|
||||
menutrans &Global\ Settings Opções\ glo&bais
|
||||
|
||||
menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls! Ativar/Desativar\ &Realce\ de\ Padrões<Tab>:set\ hls!
|
||||
menutrans Toggle\ &Ignoring\ Case<Tab>:set\ ic! Ativar/Desativar\ &Ignorar\ maiúsculas<Tab>:set\ ic!
|
||||
@@ -85,7 +86,7 @@ menutrans Always Sempre
|
||||
|
||||
menutrans Toggle\ Insert\ &Mode<Tab>:set\ im! Ativar/Desativar\ Modo\ de\ In&serção<Tab>:set\ im!
|
||||
menutrans Toggle\ Vi\ C&ompatibility<Tab>:set\ cp! Ativar/Desativar\ Co&mpatibilidade\ com\ Vi<Tab>:set\ cp!
|
||||
menutrans Search\ &Path\.\.\. Camin&ho\ de\ Busca\.\.\.
|
||||
menutrans Search\ &Path\.\.\. Camin&ho\ de\ pesquisa\.\.\.
|
||||
menutrans Ta&g\ Files\.\.\. Arquivos\ de\ Tags\.\.\.
|
||||
|
||||
" GUI options
|
||||
@@ -93,11 +94,11 @@ menutrans Toggle\ &Toolbar Ocultar/Exibir\ Barra\ de\ &Ferramentas
|
||||
menutrans Toggle\ &Bottom\ Scrollbar Ocultar/Exibir\ Barra\ de\ &Rolagem\ Inferior
|
||||
menutrans Toggle\ &Left\ Scrollbar Ocultar/Exibir\ Barra\ de\ R&olagem\ Esquerda
|
||||
menutrans Toggle\ &Right\ Scrollbar Ocultar/Exibir\ Barra\ de\ Ro&lagem\ Direita
|
||||
let g:menutrans_path_dialog = "Indique um caminho de procura para os arquivos.\nSepare os nomes dos diretórios com uma vírgula."
|
||||
let g:menutrans_tags_dialog = "Indique os nomes dos arquivos de tags.\nSepare os nomes com uma vírgula."
|
||||
let g:menutrans_path_dialog = "Digite um caminho de procura para os arquivos.\nSepare os nomes dos diretórios com uma vírgula."
|
||||
let g:menutrans_tags_dialog = "Digite os nomes dos arquivos de tags.\nSepare os nomes com uma vírgula."
|
||||
|
||||
" Edit/File Settings
|
||||
menutrans F&ile\ Settings Opções\ do\ &Arquivo
|
||||
menutrans F&ile\ Settings Opções\ do\ ar&quivo
|
||||
|
||||
" Boolean options
|
||||
menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu! Ativar/Desativar\ &numeração\ de\ linhas<Tab>:set\ nu!
|
||||
@@ -121,7 +122,7 @@ menutrans &File\ Format\.\.\. &Formato\ do\ arquivo\.\.\.
|
||||
let g:menutrans_fileformat_dialog = "Selecione o formato para gravar o arquivo"
|
||||
let g:menutrans_fileformat_choices = " &Unix \n &Dos \n &Mac \n &Cancelar "
|
||||
|
||||
menutrans C&olor\ Scheme Esquema\ de\ c&ores
|
||||
menutrans C&olor\ Scheme &Esquema\ de\ cores
|
||||
menutrans default padrão
|
||||
menutrans Show\ C&olor\ Schemes\ in\ Menu Mostrar\ &esquema\ de\ cores\ no\ menu
|
||||
menutrans Select\ Fo&nt\.\.\. Selecionar\ fo&nte\.\.\.
|
||||
@@ -132,9 +133,9 @@ menutrans None Nenhum
|
||||
|
||||
" Programming menu
|
||||
menutrans &Tools &Ferramentas
|
||||
menutrans &Jump\ to\ this\ tag<Tab>g^] &Pular\ para\ este\ tag<Tab>g^]
|
||||
menutrans &Jump\ to\ this\ tag<Tab>g^] &Pular\ para\ esse\ tag<Tab>g^]
|
||||
menutrans Jump\ &back<Tab>^T &Voltar<Tab>^T
|
||||
menutrans Build\ &Tags\ File &Construir\ Arquivo\ de\ tags
|
||||
menutrans Build\ &Tags\ File &Criar\ arquivo\ de\ tags
|
||||
menutrans &Spelling &Ortografia
|
||||
menutrans &Folding &Dobra
|
||||
menutrans &Make<Tab>:make &Make<Tab>:make
|
||||
@@ -164,8 +165,9 @@ menutrans Set\ language\ to\ "en_gb" Ingl
|
||||
menutrans Set\ language\ to\ "en_nz" Inglês\ (en_nz)
|
||||
menutrans Set\ language\ to\ "en_us" Inglês\ (en_us)
|
||||
|
||||
menutrans &Find\ More\ Languages &Buscar\ mais\ idiomas
|
||||
menutrans &Find\ More\ Languages &Procurar\ mais\ idiomas
|
||||
|
||||
let g:menutrans_set_lang_to = "Alterar idioma para"
|
||||
" Tools.Fold Menu
|
||||
menutrans &Enable/Disable\ folds<Tab>zi &Ativar/Desativar\ dobras<Tab>zi
|
||||
menutrans &View\ Cursor\ Line<Tab>zv &Ver\ linha\ do\ cursor<Tab>zv
|
||||
@@ -176,6 +178,12 @@ menutrans O&pen\ more\ folds<Tab>zr A&brir\ mais\ dobras<Tab>zr
|
||||
menutrans &Open\ all\ folds<Tab>zR Abr&ir\ todas\ as\ dobras<Tab>zR
|
||||
" fold method
|
||||
menutrans Fold\ Met&hod &Modo\ de\ dobras
|
||||
menutrans M&anual &Manual
|
||||
menutrans I&ndent &Indentação
|
||||
menutrans E&xpression &Expressão
|
||||
menutrans S&yntax &Sintaxe
|
||||
menutrans &Diff Di&ff
|
||||
menutrans Ma&rker Ma&rcadores
|
||||
menutrans Create\ &Fold<Tab>zf Criar\ &dobras<Tab>zf
|
||||
menutrans &Delete\ Fold<Tab>zd Remover\ d&obras<Tab>zd
|
||||
menutrans Delete\ &All\ Folds<Tab>zD Remover\ &todas\ as\ dobras<Tab>zD
|
||||
@@ -206,7 +214,7 @@ let g:menutrans_no_file = "[Sem arquivos]"
|
||||
|
||||
" Window menu
|
||||
menutrans &Window &Janela
|
||||
menutrans &New<Tab>^Wn N&ova<Tab>^Wn
|
||||
menutrans &New<Tab>^Wn &Nova<Tab>^Wn
|
||||
menutrans S&plit<Tab>^Ws &Dividir<Tab>^Ws
|
||||
menutrans Sp&lit\ To\ #<Tab>^W^^ D&ividir\ para\ #<Tab>^W^^
|
||||
menutrans Split\ &Vertically<Tab>^Wv Dividir\ &verticalmente<Tab>^Wv
|
||||
@@ -219,12 +227,12 @@ menutrans &Bottom<Tab>^WJ A&baixo<Tab>^WJ
|
||||
menutrans &Left\ side<Tab>^WH Lado\ &esquerdo<Tab>^WH
|
||||
menutrans &Right\ side<Tab>^WL Lado\ di&reito<Tab>^WL
|
||||
menutrans Rotate\ &Up<Tab>^WR &Girar\ para\ cima<Tab>^WR
|
||||
menutrans Rotate\ &Down<Tab>^Wr Girar\ para\ bai&xo<Tab>^Wr
|
||||
menutrans Rotate\ &Down<Tab>^Wr Girar\ para\ &baixo<Tab>^Wr
|
||||
menutrans &Equal\ Size<Tab>^W= Mesmo\ &Tamanho<Tab>^W=
|
||||
menutrans &Max\ Height<Tab>^W_ Altura\ &Máxima<Tab>^W_
|
||||
menutrans M&in\ Height<Tab>^W1_ A<ura\ Mínima<Tab>^W1_
|
||||
menutrans M&in\ Height<Tab>^W1_ &Altura\ mínima<Tab>^W1_
|
||||
menutrans Max\ &Width<Tab>^W\| Larg&ura\ Máxima<Tab>^W\|
|
||||
menutrans Min\ Widt&h<Tab>^W1\| Largura\ Mí&nima<Tab>^W1\|
|
||||
menutrans Min\ Widt&h<Tab>^W1\| &Largura\ mínima<Tab>^W1\|
|
||||
|
||||
" The popup menu
|
||||
menutrans &Undo &Desfazer
|
||||
@@ -232,13 +240,16 @@ menutrans Cu&t Recor&tar
|
||||
menutrans &Copy &Copiar
|
||||
menutrans &Paste Co&lar
|
||||
menutrans &Delete &Apagar
|
||||
menutrans Select\ Blockwise Seleção\ de\ bloco
|
||||
menutrans Select\ Blockwise Selecionar\ bloco\ a\ bloco
|
||||
menutrans Select\ &Word Selecionar\ &Palavra
|
||||
menutrans Select\ &Sentence Selecionar\ &frase
|
||||
menutrans Select\ Pa&ragraph Selecionar\ pa&rágrafo
|
||||
menutrans Select\ &Line Selecionar\ L&inha
|
||||
menutrans Select\ &Block Selecionar\ &bloco
|
||||
menutrans Select\ &All Selecionar\ T&udo
|
||||
let g:menutrans_spell_change_ARG_to = 'Alterar\ "%s"\ para'
|
||||
let g:menutrans_spell_add_ARG_to_word_list = 'Adicionar\ "%s"\ à\ lista\ de\ palavras'
|
||||
let g:menutrans_spell_ignore_ARG = 'Ignorar\ "%s"'
|
||||
|
||||
" The GUI toolbar
|
||||
if has("toolbar")
|
||||
@@ -290,14 +301,14 @@ menutrans Set\ '&filetype'\ too Ativar\ tamb
|
||||
menutrans &Off &Desativar
|
||||
menutrans &Manual &Manual
|
||||
menutrans A&utomatic A&utomática
|
||||
menutrans on/off\ for\ &This\ file Ativar/Desativar\ neste\ &arquivo
|
||||
menutrans On/Off\ for\ &This\ file Ativar/Desativar\ nesse\ &arquivo
|
||||
menutrans &Show\ File\ Types\ in\ Menu Mos&trar\ tipos\ de\ arquivos\ no\ menu
|
||||
menutrans Co&lor\ test T&este\ de\ cores
|
||||
menutrans &Highlight\ test Teste\ de\ &realce
|
||||
menutrans &Convert\ to\ HTML &Converter\ para\ HTML
|
||||
menutrans Co&lor\ test T&estar\ cores
|
||||
menutrans &Highlight\ test Testar\ &realce
|
||||
menutrans &Convert\ to\ HTML Converter\ para\ &HTML
|
||||
|
||||
" Find Help dialog text
|
||||
let g:menutrans_help_dialog = "Digite um comando ou palavra para obter ajuda;\n\nAnteponha i_ para comandos de entrada (ex.: i_CTRL-X)\nAnteponha c_ para comandos da linha de comandos (ex.: c_<Del>)\nAnteponha ` para um nome de opção (ex.: `shiftwidth`)"
|
||||
let g:menutrans_help_dialog = "Digite um comando ou palavra para obter ajuda;\n\nPreceder i_ para comandos de entrada (ex.: i_CTRL-X)\nPreceder c_ para comandos da linha de comandos (ex.: c_<Del>)\nPreceder ` para nome de opção (ex.: `shiftwidth`)"
|
||||
|
||||
so $VIMRUNTIME/lang/macvim_menu/menu_pt_br.apple.vim
|
||||
so $VIMRUNTIME/lang/macvim_menu/menu_pt_br.custom.vim
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
" Vim syntax file
|
||||
" Language: Configuration File (ini file) for MSDOS/MS Windows
|
||||
" Version: 2.3
|
||||
" Version: 2.4
|
||||
" Original Author: Sean M. McKee <mckee@misslink.net>
|
||||
" Previous Maintainer: Nima Talebi <nima@it.net.au>
|
||||
" Current Maintainer: Hong Xu <hong@topbug.net>
|
||||
" Homepage: http://www.vim.org/scripts/script.php?script_id=3747
|
||||
" Repository: https://github.com/xuhdev/syntax-dosini.vim
|
||||
" Last Change: 2023 Aug 20
|
||||
" Last Change: 2024 Sept 08
|
||||
|
||||
|
||||
" quit when a syntax file was already loaded
|
||||
@@ -27,7 +27,7 @@ syn match dosiniNumber "=\zs\s*\d\+\s*$"
|
||||
syn match dosiniNumber "=\zs\s*\d*\.\d\+\s*$"
|
||||
syn match dosiniNumber "=\zs\s*\d\+e[+-]\=\d\+\s*$"
|
||||
syn region dosiniHeader start="^\s*\[" end="\]"
|
||||
syn match dosiniComment "^[#;].*$"
|
||||
syn match dosiniComment "^[#;].*$" contains=@Spell
|
||||
syn region dosiniSection start="\s*\[.*\]" end="\ze\s*\[.*\]" fold
|
||||
\ contains=dosiniLabel,dosiniValue,dosiniNumber,dosiniHeader,dosiniComment
|
||||
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
" Vim syntax file generator
|
||||
" Language: Vim script
|
||||
" Maintainer: Hirohito Higashi (h_east)
|
||||
" URL: https://github.com/vim-jp/syntax-vim-ex
|
||||
" Last Change: 2024 Aug 23
|
||||
" Version: 2.1.1
|
||||
" Last Change: 2024 Aug 30
|
||||
|
||||
let s:keepcpo= &cpo
|
||||
set cpo&vim
|
||||
@@ -288,6 +286,7 @@ function! s:get_vim_command_type(cmd_name)
|
||||
call
|
||||
catch
|
||||
def
|
||||
delcommand
|
||||
doautoall
|
||||
doautocmd
|
||||
echo
|
||||
@@ -551,6 +550,44 @@ function! s:parse_vim_complete_name(li)
|
||||
endtry
|
||||
endfunc
|
||||
|
||||
" ------------------------------------------------------------------------------
|
||||
function! s:parse_vim_addr_name(li)
|
||||
try
|
||||
let file_name = $VIM_SRCDIR . '/usercmd.c'
|
||||
let item = {}
|
||||
|
||||
new
|
||||
exec 'read ' . file_name
|
||||
norm! gg
|
||||
exec '/^static addrtype_T addr_type_complete_tab\[] =$/+1;/^};$/-1yank'
|
||||
%delete _
|
||||
|
||||
put
|
||||
g!/^\s*ADDRTYPE_ENTRY(/d
|
||||
|
||||
for line in getline(1, line('$'))
|
||||
let list = matchlist(line, '^\s*ADDRTYPE_ENTRY(ADDR_\w\+,\s*"\(\w\+\)",\s*"\(.*\)"')
|
||||
let item.name = list[1]
|
||||
call add(a:li, copy(item))
|
||||
let item.name = list[2]
|
||||
call add(a:li, copy(item))
|
||||
endfor
|
||||
|
||||
" '?' is not in 'iskeyword' and cannot be used as keyword, so remove it.
|
||||
" (Separately specified as 'syn match' in vim.vim.base).
|
||||
call filter(a:li, {idx, val -> val.name !=# '?'})
|
||||
|
||||
quit!
|
||||
|
||||
if empty(a:li)
|
||||
throw 'addr_name is empty'
|
||||
endif
|
||||
catch /.*/
|
||||
call s:err_gen('')
|
||||
throw 'exit'
|
||||
endtry
|
||||
endfunc
|
||||
|
||||
" ------------------------------------------------------------------------------
|
||||
function! s:append_syn_any(lnum, str_info, li)
|
||||
let ret_lnum = a:lnum
|
||||
@@ -658,7 +695,12 @@ function! s:update_syntax_vim_file(vim_info)
|
||||
|
||||
" vimUserAttrbCmplt
|
||||
let li = a:vim_info.compl_name
|
||||
let lnum = s:search_and_check('vimUserAttrbCmplt', base_fname, str_info)
|
||||
let lnum = s:search_and_check('vimUserCmdAttrCmplt', base_fname, str_info)
|
||||
let lnum = s:append_syn_any(lnum, str_info, li)
|
||||
|
||||
" vimUserAttrbAddr
|
||||
let li = a:vim_info.addr_name
|
||||
let lnum = s:search_and_check('vimUserCmdAttrAddr', base_fname, str_info)
|
||||
let lnum = s:append_syn_any(lnum, str_info, li)
|
||||
|
||||
" vimCommand - abbrev
|
||||
@@ -731,6 +773,7 @@ try
|
||||
let s:vim_info.func = []
|
||||
let s:vim_info.hlgroup = []
|
||||
let s:vim_info.compl_name = []
|
||||
let s:vim_info.addr_name = []
|
||||
|
||||
set lazyredraw
|
||||
silent call s:parse_vim_option(s:vim_info.opt, s:vim_info.missing_opt,
|
||||
@@ -740,6 +783,7 @@ try
|
||||
silent call s:parse_vim_function(s:vim_info.func)
|
||||
silent call s:parse_vim_hlgroup(s:vim_info.hlgroup)
|
||||
silent call s:parse_vim_complete_name(s:vim_info.compl_name)
|
||||
silent call s:parse_vim_addr_name(s:vim_info.addr_name)
|
||||
|
||||
call s:update_syntax_vim_file(s:vim_info)
|
||||
set nolazyredraw
|
||||
|
||||
@@ -2,8 +2,7 @@
|
||||
" Language: Vim script
|
||||
" Maintainer: Hirohito Higashi <h.east.727 ATMARK gmail.com>
|
||||
" Doug Kearns <dougkearns@gmail.com>
|
||||
" URL: https://github.com/vim-jp/syntax-vim-ex
|
||||
" Last Change: 2024 Aug 23
|
||||
" Last Change: 2024 Aug 30
|
||||
" Former Maintainer: Charles E. Campbell
|
||||
|
||||
" DO NOT CHANGE DIRECTLY.
|
||||
@@ -185,10 +184,11 @@ syn match vimNumber '\%(^\|\A\)\zs#\x\{6}' skipwhite nextgroup=vimGlobal,vimSub
|
||||
syn case match
|
||||
|
||||
" All vimCommands are contained by vimIsCommand. {{{2
|
||||
syn cluster vimCmdList contains=vimAbb,vimAddress,vimAutoCmd,vimAugroup,vimBehave,vimCall,vimCatch,vimConst,vimDef,@vimEcho,vimEnddef,vimEndfunction,vimExecute,vimIsCommand,vimExtCmd,vimFor,vimFunction,vimGlobal,vimHighlight,vimLet,vimLoadkeymap,vimMap,vimMark,vimMatch,vimNotFunc,vimNorm,vimSet,vimSleep,vimSyntax,vimThrow,vimUnlet,vimUnmap,vimUserCmd,vimMenu,vimMenutranslate,@vim9CmdList
|
||||
syn cluster vimCmdList contains=vimAbb,vimAddress,vimAutoCmd,vimAugroup,vimBehave,vimCall,vimCatch,vimConst,vimDef,vimDelcommand,@vimEcho,vimEnddef,vimEndfunction,vimExecute,vimIsCommand,vimExtCmd,vimFor,vimFunction,vimGlobal,vimHighlight,vimLet,vimLoadkeymap,vimMap,vimMark,vimMatch,vimNotFunc,vimNorm,vimSet,vimSleep,vimSyntax,vimThrow,vimUnlet,vimUnmap,vimUserCmd,vimMenu,vimMenutranslate,@vim9CmdList
|
||||
syn cluster vim9CmdList contains=vim9Const,vim9Final,vim9For,vim9Var
|
||||
syn match vimCmdSep "[:|]\+" skipwhite nextgroup=@vimCmdList,vimSubst1
|
||||
syn match vimIsCommand "\<\%(\h\w*\|[23]mat\%[ch]\)\>" contains=vimCommand
|
||||
syn match vimBang contained "!"
|
||||
syn match vimVar contained "\<\h[a-zA-Z0-9#_]*\>"
|
||||
syn match vimVar "\<[bwglstav]:\h[a-zA-Z0-9#_]*\>"
|
||||
syn match vimVar "\s\zs&\%([lg]:\)\=\a\+\>"
|
||||
@@ -362,32 +362,44 @@ syn match vimSpecFileMod "\(:[phtre]\)\+" contained
|
||||
" User-Specified Commands: {{{2
|
||||
" =======================
|
||||
syn cluster vimUserCmdList contains=@vimCmdList,vimCmplxRepeat,@vimComment,vimCtrlChar,vimEscapeBrace,vimFunc,vimNotation,vimNumber,vimOper,vimRegister,vimSpecFile,vimString,vimSubst,vimSubstRep,vimSubstRange
|
||||
syn keyword vimUserCommand contained com[mand]
|
||||
syn match vimUserCmdName contained "\<\u\w*\>" nextgroup=vimUserCmdBlock skipwhite
|
||||
syn match vimUserCmd "\<com\%[mand]!\=\>.*$" contains=vimUserAttrb,vimUserAttrbError,vimUserCommand,@vimUserCmdList,vimComFilter,vimCmdBlock,vimUserCmdName
|
||||
syn match vimUserAttrbError contained "-\a\+\ze\s"
|
||||
syn match vimUserAttrb contained "-nargs=[01*?+]" contains=vimUserAttrbKey,vimOper
|
||||
syn match vimUserAttrb contained "-complete=" contains=vimUserAttrbKey,vimOper nextgroup=vimUserAttrbCmplt,vimUserCmdError
|
||||
syn match vimUserAttrb contained "-range\(=%\|=\d\+\)\=" contains=vimNumber,vimOper,vimUserAttrbKey
|
||||
syn match vimUserAttrb contained "-count\(=\d\+\)\=" contains=vimNumber,vimOper,vimUserAttrbKey
|
||||
syn match vimUserAttrb contained "-bang\>" contains=vimOper,vimUserAttrbKey
|
||||
syn match vimUserAttrb contained "-bar\>" contains=vimOper,vimUserAttrbKey
|
||||
syn match vimUserAttrb contained "-buffer\>" contains=vimOper,vimUserAttrbKey
|
||||
syn match vimUserAttrb contained "-register\>" contains=vimOper,vimUserAttrbKey
|
||||
syn keyword vimUserCmdKey contained com[mand]
|
||||
syn match vimUserCmdName contained "\<\u[[:alnum:]]*\>" skipwhite nextgroup=vimUserCmdBlock
|
||||
syn match vimUserCmd "\<com\%[mand]\>!\=.*$" contains=vimUserCmdKey,vimBang,vimUserCmdAttr,vimUserCmdAttrError,vimUserCmdName,@vimUserCmdList,vimComFilter
|
||||
syn match vimUserCmdAttrError contained "-\a\+\ze\%(\s\|=\)"
|
||||
syn match vimUserCmdAttr contained "-addr=" contains=vimUserCmdAttrKey nextgroup=vimUserCmdAttrAddr
|
||||
syn match vimUserCmdAttr contained "-bang\>" contains=vimUserCmdAttrKey
|
||||
syn match vimUserCmdAttr contained "-bar\>" contains=vimUserCmdAttrKey
|
||||
syn match vimUserCmdAttr contained "-buffer\>" contains=vimUserCmdAttrKey
|
||||
syn match vimUserCmdAttr contained "-complete=" contains=vimUserCmdAttrKey nextgroup=vimUserCmdAttrCmplt,vimUserCmdError
|
||||
syn match vimUserCmdAttr contained "-count\>" contains=vimUserCmdAttrKey
|
||||
syn match vimUserCmdAttr contained "-count=" contains=vimUserCmdAttrKey nextgroup=vimNumber
|
||||
syn match vimUserCmdAttr contained "-keepscript\>" contains=vimUserCmdAttrKey
|
||||
syn match vimUserCmdAttr contained "-nargs=" contains=vimUserCmdAttrKey nextgroup=vimUserCmdAttrNargs
|
||||
syn match vimUserCmdAttr contained "-range\>" contains=vimUserCmdAttrKey
|
||||
syn match vimUserCmdAttr contained "-range=" contains=vimUserCmdAttrKey nextgroup=vimNumber,vimUserCmdAttrRange
|
||||
syn match vimUserCmdAttr contained "-register\>" contains=vimUserCmdAttrKey
|
||||
|
||||
syn match vimUserCmdAttrNargs contained "[01*?+]"
|
||||
syn match vimUserCmdAttrRange contained "%"
|
||||
|
||||
if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_nousercmderror")
|
||||
syn match vimUserCmdError contained "\S\+\>"
|
||||
endif
|
||||
syn case ignore
|
||||
syn keyword vimUserAttrbKey contained bar ban[g] cou[nt] ra[nge] com[plete] n[args] re[gister]
|
||||
" GEN_SYN_VIM: vimUserAttrbCmplt, START_STR='syn keyword vimUserAttrbCmplt contained', END_STR=''
|
||||
syn keyword vimUserAttrbCmplt contained custom customlist nextgroup=vimUserAttrbCmpltFunc,vimUserCmdError
|
||||
syn match vimUserAttrbCmpltFunc contained ",\%([sS]:\|<[sS][iI][dD]>\)\=\%(\h\w*\%([.#]\h\w*\)\+\|\h\w*\)"hs=s+1 nextgroup=vimUserCmdError
|
||||
|
||||
syn case ignore
|
||||
syn keyword vimUserCmdAttrKey contained a[ddr] ban[g] bar bu[ffer] com[plete] cou[nt] k[eepscript] n[args] ra[nge] re[gister]
|
||||
" GEN_SYN_VIM: vimUserCmdAttrCmplt, START_STR='syn keyword vimUserCmdAttrCmplt contained', END_STR=''
|
||||
syn keyword vimUserCmdAttrCmplt contained custom customlist nextgroup=vimUserCmdAttrCmpltFunc,vimUserCmdError
|
||||
syn match vimUserCmdAttrCmpltFunc contained ",\%([sS]:\|<[sS][iI][dD]>\)\=\%(\h\w*\%([.#]\h\w*\)\+\|\h\w*\)"hs=s+1 nextgroup=vimUserCmdError
|
||||
" GEN_SYN_VIM: vimUserCmdAttrAddr, START_STR='syn keyword vimUserCmdAttrAddr contained', END_STR=''
|
||||
syn match vimUserCmdAttrAddr contained "?"
|
||||
syn case match
|
||||
syn match vimUserAttrbCmplt contained "custom,\u\w*"
|
||||
|
||||
syn region vimUserCmdBlock contained matchgroup=vimSep start="{" end="}" contains=@vimDefBodyList
|
||||
|
||||
syn match vimDelcommand "\<delc\%[ommand]\>" skipwhite nextgroup=vimDelcommandAttr
|
||||
syn match vimDelcommandAttr contained "-buffer\>"
|
||||
|
||||
" Lower Priority Comments: after some vim commands... {{{2
|
||||
" =======================
|
||||
if get(g:, "vimsyn_comment_strings", 1)
|
||||
@@ -478,8 +490,8 @@ syn match vimString "[^(,]'[^']\{-}\zs'"
|
||||
|
||||
" Marks, Registers, Addresses, Filters: {{{2
|
||||
syn match vimMark "'[a-zA-Z0-9]\ze[-+,!]" nextgroup=vimFilter,vimMarkNumber,vimSubst1
|
||||
syn match vimMark "'[<>]\ze[-+,!]" nextgroup=vimFilter,vimMarkNumber,vimSubst1
|
||||
syn match vimMark ",\zs'[<>]\ze" nextgroup=vimFilter,vimMarkNumber,vimSubst1
|
||||
syn match vimMark "'[[\]{}()<>]\ze[-+,!]" nextgroup=vimFilter,vimMarkNumber,vimSubst1
|
||||
syn match vimMark ",\zs'[[\]{}()<>]\ze" nextgroup=vimFilter,vimMarkNumber,vimSubst1
|
||||
syn match vimMark "[!,:]\zs'[a-zA-Z0-9]" nextgroup=vimFilter,vimMarkNumber,vimSubst1
|
||||
syn match vimMark "\<norm\%[al]\s\zs'[a-zA-Z0-9]" nextgroup=vimFilter,vimMarkNumber,vimSubst1
|
||||
syn match vimMarkNumber "[-+]\d\+" contained contains=vimOper nextgroup=vimSubst1
|
||||
@@ -1162,6 +1174,8 @@ if !exists("skip_vim_syntax_inits")
|
||||
hi def link vimDefComment vim9Comment
|
||||
hi def link vimDefKey vimCommand
|
||||
hi def link vimDefParam vimVar
|
||||
hi def link vimDelcommand vimCommand
|
||||
hi def link vimDelcommandAttr vimUserCmdAttr
|
||||
hi def link vimEcho vimCommand
|
||||
hi def link vimEchohlNone vimGroup
|
||||
hi def link vimEchohl vimCommand
|
||||
@@ -1319,13 +1333,15 @@ if !exists("skip_vim_syntax_inits")
|
||||
hi def link vimUnlet vimCommand
|
||||
hi def link vimUnletBang vimBang
|
||||
hi def link vimUnmap vimMap
|
||||
hi def link vimUserAttrbCmpltFunc Special
|
||||
hi def link vimUserAttrbCmplt vimSpecial
|
||||
hi def link vimUserAttrbKey vimOption
|
||||
hi def link vimUserAttrb vimSpecial
|
||||
hi def link vimUserAttrbError Error
|
||||
hi def link vimUserCmdAttrAddr vimSpecial
|
||||
hi def link vimUserCmdAttrCmplt vimSpecial
|
||||
hi def link vimUserCmdAttrNargs vimSpecial
|
||||
hi def link vimUserCmdAttrRange vimSpecial
|
||||
hi def link vimUserCmdAttrKey vimUserCmdAttr
|
||||
hi def link vimUserCmdAttr Special
|
||||
hi def link vimUserCmdAttrError Error
|
||||
hi def link vimUserCmdError Error
|
||||
hi def link vimUserCommand vimCommand
|
||||
hi def link vimUserCmdKey vimCommand
|
||||
hi def link vimUserFunc Normal
|
||||
hi def link vimVar Identifier
|
||||
hi def link vimWarn WarningMsg
|
||||
|
||||
@@ -0,0 +1,66 @@
|
||||
" Vim syntax file
|
||||
" Language: HCL
|
||||
" Maintainer: Gregory Anders
|
||||
" Upstream: https://github.com/hashivim/vim-terraform
|
||||
" Last Change: 2024-09-03
|
||||
|
||||
if exists('b:current_syntax')
|
||||
finish
|
||||
endif
|
||||
|
||||
syn iskeyword a-z,A-Z,48-57,_,-
|
||||
|
||||
syn case match
|
||||
|
||||
" A block is introduced by a type, some number of labels - which are either
|
||||
" strings or identifiers - and an opening curly brace. Match the type.
|
||||
syn match hclBlockType /^\s*\zs\K\k*\ze\s\+\(\("\K\k*"\|\K\k*\)\s\+\)*{/
|
||||
|
||||
" An attribute name is an identifier followed by an equals sign.
|
||||
syn match hclAttributeAssignment /\(\K\k*\.\)*\K\k*\s\+=\s/ contains=hclAttributeName
|
||||
syn match hclAttributeName /\<\K\k*\>/ contained
|
||||
|
||||
syn keyword hclValueBool true false
|
||||
|
||||
syn keyword hclTodo contained TODO FIXME XXX BUG
|
||||
syn region hclComment start="/\*" end="\*/" contains=hclTodo,@Spell
|
||||
syn region hclComment start="#" end="$" contains=hclTodo,@Spell
|
||||
syn region hclComment start="//" end="$" contains=hclTodo,@Spell
|
||||
|
||||
""" misc.
|
||||
syn match hclValueDec "\<[0-9]\+\([kKmMgG]b\?\)\?\>"
|
||||
syn match hclValueHexaDec "\<0x[0-9a-f]\+\([kKmMgG]b\?\)\?\>"
|
||||
syn match hclBraces "[\[\]]"
|
||||
|
||||
""" skip \" and \\ in strings.
|
||||
syn region hclValueString start=/"/ skip=/\\\\\|\\"/ end=/"/ contains=hclStringInterp
|
||||
syn region hclStringInterp matchgroup=hclBraces start=/\(^\|[^$]\)\$\zs{/ end=/}/ contained contains=ALLBUT,hclAttributeName
|
||||
syn region hclHereDocText start=/<<-\?\z([a-z0-9A-Z]\+\)/ end=/^\s*\z1/ contains=hclStringInterp
|
||||
|
||||
"" Functions.
|
||||
syn match hclFunction "[a-z0-9]\+(\@="
|
||||
|
||||
""" HCL2
|
||||
syn keyword hclRepeat for in
|
||||
syn keyword hclConditional if
|
||||
syn keyword hclValueNull null
|
||||
|
||||
" enable block folding
|
||||
syn region hclBlockBody matchgroup=hclBraces start="{" end="}" fold transparent
|
||||
|
||||
hi def link hclComment Comment
|
||||
hi def link hclTodo Todo
|
||||
hi def link hclBraces Delimiter
|
||||
hi def link hclAttributeName Identifier
|
||||
hi def link hclBlockType Type
|
||||
hi def link hclValueBool Boolean
|
||||
hi def link hclValueDec Number
|
||||
hi def link hclValueHexaDec Number
|
||||
hi def link hclValueString String
|
||||
hi def link hclHereDocText String
|
||||
hi def link hclFunction Function
|
||||
hi def link hclRepeat Repeat
|
||||
hi def link hclConditional Conditional
|
||||
hi def link hclValueNull Constant
|
||||
|
||||
let b:current_syntax = 'hcl'
|
||||
File diff suppressed because one or more lines are too long
@@ -1,7 +1,8 @@
|
||||
" Interactive Data Language syntax file (IDL, too [:-)]
|
||||
" Maintainer: Aleksandar Jelenak <ajelenak AT yahoo.com>
|
||||
" Last change: 2011 Apr 11
|
||||
" Created by: Hermann Rochholz <Hermann.Rochholz AT gmx.de>
|
||||
" Created By: Hermann Rochholz <Hermann.Rochholz AT gmx.de>
|
||||
" Last Change: 2011 Apr 11
|
||||
" 2024 Sep 10 by Vim Project: update syntax script, #15419
|
||||
|
||||
" Remove any old syntax stuff hanging around
|
||||
" quit when a syntax file was already loaded
|
||||
@@ -16,7 +17,7 @@ syn match idlangStatement "^\s*function\s"
|
||||
syn keyword idlangStatement return continue mod do break
|
||||
syn keyword idlangStatement compile_opt forward_function goto
|
||||
syn keyword idlangStatement begin common end of
|
||||
syn keyword idlangStatement inherits on_ioerror begin
|
||||
syn keyword idlangStatement inherits on_error on_ioerror begin
|
||||
|
||||
syn keyword idlangConditional if else then for while case switch
|
||||
syn keyword idlangConditional endcase endelse endfor endswitch
|
||||
@@ -82,7 +83,7 @@ syn keyword idlangRoutine CALL_EXTERNAL CALL_FUNCTION CALL_METHOD
|
||||
syn keyword idlangRoutine CALL_PROCEDURE CATCH CD CEIL CHEBYSHEV CHECK_MATH
|
||||
syn keyword idlangRoutine CHISQR_CVF CHISQR_PDF CHOLDC CHOLSOL CINDGEN
|
||||
syn keyword idlangRoutine CIR_3PNT CLOSE CLUST_WTS CLUSTER COLOR_CONVERT
|
||||
syn keyword idlangRoutine COLOR_QUAN COLORMAP_APPLICABLE COMFIT COMMON
|
||||
syn keyword idlangRoutine COLOR_QUAN COLORMAP_APPLICABLE COMFIT
|
||||
syn keyword idlangRoutine COMPLEX COMPLEXARR COMPLEXROUND
|
||||
syn keyword idlangRoutine COMPUTE_MESH_NORMALS COND CONGRID CONJ
|
||||
syn keyword idlangRoutine CONSTRAINED_MIN CONTOUR CONVERT_COORD CONVOL
|
||||
@@ -98,7 +99,7 @@ syn keyword idlangRoutine CW_PALETTE_EDITOR_GET CW_PALETTE_EDITOR_SET
|
||||
syn keyword idlangRoutine CW_PDMENU CW_RGBSLIDER CW_TMPL CW_ZOOM DBLARR
|
||||
syn keyword idlangRoutine DCINDGEN DCOMPLEX DCOMPLEXARR DEFINE_KEY DEFROI
|
||||
syn keyword idlangRoutine DEFSYSV DELETE_SYMBOL DELLOG DELVAR DERIV DERIVSIG
|
||||
syn keyword idlangRoutine DETERM DEVICE DFPMIN DIALOG_MESSAGE
|
||||
syn keyword idlangRoutine DETERM DEVICE DFPMIN DIAG_MATRIX DIALOG_MESSAGE
|
||||
syn keyword idlangRoutine DIALOG_PICKFILE DIALOG_PRINTERSETUP
|
||||
syn keyword idlangRoutine DIALOG_PRINTJOB DIALOG_READ_IMAGE
|
||||
syn keyword idlangRoutine DIALOG_WRITE_IMAGE DIGITAL_FILTER DILATE DINDGEN
|
||||
@@ -155,7 +156,7 @@ syn keyword idlangRoutine MPEG_PUT MPEG_SAVE MSG_CAT_CLOSE MSG_CAT_COMPILE
|
||||
syn keyword idlangRoutine MSG_CAT_OPEN MULTI N_ELEMENTS N_PARAMS N_TAGS
|
||||
syn keyword idlangRoutine NEWTON NORM OBJ_CLASS OBJ_DESTROY OBJ_ISA OBJ_NEW
|
||||
syn keyword idlangRoutine OBJ_VALID OBJARR ON_ERROR ON_IOERROR ONLINE_HELP
|
||||
syn keyword idlangRoutine OPEN OPENR OPENW OPLOT OPLOTERR P_CORRELATE
|
||||
syn keyword idlangRoutine OPEN OPENR OPENW OPENU OPLOT OPLOTERR P_CORRELATE
|
||||
syn keyword idlangRoutine PARTICLE_TRACE PCOMP PLOT PLOT_3DBOX PLOT_FIELD
|
||||
syn keyword idlangRoutine PLOTERR PLOTS PNT_LINE POINT_LUN POLAR_CONTOUR
|
||||
syn keyword idlangRoutine POLAR_SURFACE POLY POLY_2D POLY_AREA POLY_FIT
|
||||
|
||||
+114
-25
@@ -3,7 +3,7 @@
|
||||
" Maintainer: Aliaksei Budavei <0x000c70 AT gmail DOT com>
|
||||
" Former Maintainer: Claudio Fleiner <claudio@fleiner.com>
|
||||
" Repository: https://github.com/zzzyxwvut/java-vim.git
|
||||
" Last Change: 2024 Aug 22
|
||||
" Last Change: 2024 Sep 10
|
||||
|
||||
" Please check :help java.vim for comments on some of the options available.
|
||||
|
||||
@@ -30,6 +30,10 @@ function! s:ff.RightConstant(x, y) abort
|
||||
return a:y
|
||||
endfunction
|
||||
|
||||
function! s:ff.IsRequestedPreviewFeature(n) abort
|
||||
return exists("g:java_syntax_previews") && index(g:java_syntax_previews, a:n) + 1
|
||||
endfunction
|
||||
|
||||
if !exists("*s:ReportOnce")
|
||||
function s:ReportOnce(message) abort
|
||||
echomsg 'syntax/java.vim: ' . a:message
|
||||
@@ -153,13 +157,20 @@ endif
|
||||
" testing in a project without attendant confusion for IDEs, with the
|
||||
" ".java\=" extension used for a production version and an arbitrary
|
||||
" extension used for a testing version.
|
||||
if fnamemodify(bufname("%"), ":t") =~ '^module-info\%(\.class\>\)\@!'
|
||||
if fnamemodify(bufname("%"), ":t") =~ '^module-info\>\%(\.class\>\)\@!'
|
||||
syn keyword javaModuleStorageClass module transitive
|
||||
syn keyword javaModuleStmt open requires exports opens uses provides
|
||||
syn keyword javaModuleExternal to with
|
||||
hi def link javaModuleStorageClass StorageClass
|
||||
hi def link javaModuleStmt Statement
|
||||
hi def link javaModuleExternal Include
|
||||
|
||||
if !exists("g:java_ignore_javadoc") && g:main_syntax != 'jsp'
|
||||
syn match javaDocProvidesTag contained "@provides\_s\+\S\+" contains=javaDocParam
|
||||
syn match javaDocUsesTag contained "@uses\_s\+\S\+" contains=javaDocParam
|
||||
hi def link javaDocProvidesTag Special
|
||||
hi def link javaDocUsesTag Special
|
||||
endif
|
||||
endif
|
||||
|
||||
" Fancy parameterised types (JLS-17, §4.5).
|
||||
@@ -331,29 +342,99 @@ if !exists("g:java_ignore_javadoc") && g:main_syntax != 'jsp'
|
||||
call s:ReportOnce(v:exception)
|
||||
endtry
|
||||
|
||||
syn region javaDocComment start="/\*\*" end="\*/" keepend contains=javaCommentTitle,@javaHtml,javaDocTags,javaDocSeeTag,javaDocCodeTag,javaDocSnippetTag,javaTodo,javaCommentError,javaSpaceError,@Spell fold
|
||||
exec 'syn region javaCommentTitle contained matchgroup=javaDocComment start="/\*\*" matchgroup=javaCommentTitle end="\.$" end="\.[ \t\r]\@=" end="\%(^\s*\**\s*\)\@' . s:ff.Peek('80', '') . '<=@"me=s-2,he=s-1 end="\*/"me=s-1,he=s-1 contains=@javaHtml,javaCommentStar,javaTodo,javaCommentError,javaSpaceError,@Spell,javaDocTags,javaDocSeeTag,javaDocCodeTag,javaDocSnippetTag'
|
||||
syn region javaCommentTitle contained matchgroup=javaDocComment start="/\*\*\s*\r\=\n\=\s*\**\s*\%({@return\>\)\@=" matchgroup=javaCommentTitle end="}\%(\s*\.*\)*" contains=@javaHtml,javaCommentStar,javaTodo,javaCommentError,javaSpaceError,@Spell,javaDocTags,javaDocSeeTag,javaDocCodeTag,javaDocSnippetTag
|
||||
syn region javaDocTags contained start="{@\%(li\%(teral\|nk\%(plain\)\=\)\|inherit[Dd]oc\|doc[rR]oot\|value\)\>" end="}"
|
||||
syn match javaDocTags contained "@\%(param\|exception\|throws\|since\)\s\+\S\+" contains=javaDocParam
|
||||
syn match javaDocParam contained "\s\S\+"
|
||||
syn match javaDocTags contained "@\%(version\|author\|return\|deprecated\|serial\%(Field\|Data\)\=\)\>"
|
||||
syn region javaDocSeeTag contained matchgroup=javaDocTags start="@see\s\+" matchgroup=NONE end="\_."re=e-1 contains=javaDocSeeTagParam
|
||||
syn match javaDocSeeTagParam contained @"\_[^"]\+"\|<a\s\+\_.\{-}</a>\|\%(\k\|\.\)*\%(#\k\+\%((\_[^)]*)\)\=\)\=@ contains=@javaHtml extend
|
||||
syn region javaDocComment start="/\*\*" end="\*/" keepend contains=javaCommentTitle,@javaHtml,@javaDocTags,javaTodo,javaCommentError,javaSpaceError,@Spell fold
|
||||
exec 'syn region javaCommentTitle contained matchgroup=javaDocComment start="/\*\*" matchgroup=javaCommentTitle end="\.$" end="\.[ \t\r]\@=" end="\%(^\s*\**\s*\)\@' . s:ff.Peek('80', '') . '<=@"me=s-2,he=s-1 end="\*/"me=s-1,he=s-1 contains=@javaHtml,javaCommentStar,javaTodo,javaCommentError,javaSpaceError,@Spell,@javaDocTags'
|
||||
syn region javaCommentTitle contained matchgroup=javaDocComment start="/\*\*\s*\r\=\n\=\s*\**\s*\%({@return\>\)\@=" matchgroup=javaCommentTitle end="}\%(\s*\.*\)*" contains=@javaHtml,javaCommentStar,javaTodo,javaCommentError,javaSpaceError,@Spell,@javaDocTags,javaTitleSkipBlock
|
||||
syn region javaCommentTitle contained matchgroup=javaDocComment start="/\*\*\s*\r\=\n\=\s*\**\s*\%({@summary\>\)\@=" matchgroup=javaCommentTitle end="}" contains=@javaHtml,javaCommentStar,javaTodo,javaCommentError,javaSpaceError,@Spell,@javaDocTags,javaTitleSkipBlock
|
||||
" The members of javaDocTags are sub-grouped according to the Java
|
||||
" version of their introduction, and sub-group members in turn are
|
||||
" arranged in alphabetical order, so that future newer members can
|
||||
" be pre-sorted and appended without disturbing the current member
|
||||
" placement.
|
||||
" Since they only have significance in javaCommentTitle, neither
|
||||
" javaDocSummaryTag nor javaDocReturnTitleTag are defined.
|
||||
syn cluster javaDocTags contains=javaDocAuthorTag,javaDocDeprecatedTag,javaDocExceptionTag,javaDocParamTag,javaDocReturnTag,javaDocSeeTag,javaDocVersionTag,javaDocSinceTag,javaDocLinkTag,javaDocSerialTag,javaDocSerialDataTag,javaDocSerialFieldTag,javaDocThrowsTag,javaDocDocRootTag,javaDocInheritDocTag,javaDocLinkplainTag,javaDocValueTag,javaDocCodeTag,javaDocLiteralTag,javaDocHiddenTag,javaDocIndexTag,javaDocProvidesTag,javaDocUsesTag,javaDocSystemPropertyTag,javaDocSnippetTag,javaDocSpecTag
|
||||
|
||||
" Anticipate non-standard inline tags in {@return} and {@summary}.
|
||||
syn region javaTitleSkipBlock contained transparent start="{\%(@\%(return\|summary\)\>\)\@!" end="}"
|
||||
syn match javaDocDocRootTag contained "{@docRoot}"
|
||||
syn match javaDocInheritDocTag contained "{@inheritDoc}"
|
||||
syn region javaIndexSkipBlock contained transparent start="{\%(@index\>\)\@!" end="}" contains=javaIndexSkipBlock,javaDocIndexTag
|
||||
syn region javaDocIndexTag contained start="{@index\>" end="}" contains=javaDocIndexTag,javaIndexSkipBlock
|
||||
syn region javaLinkSkipBlock contained transparent start="{\%(@link\>\)\@!" end="}" contains=javaLinkSkipBlock,javaDocLinkTag
|
||||
syn region javaDocLinkTag contained start="{@link\>" end="}" contains=javaDocLinkTag,javaLinkSkipBlock
|
||||
syn region javaLinkplainSkipBlock contained transparent start="{\%(@linkplain\>\)\@!" end="}" contains=javaLinkplainSkipBlock,javaDocLinkplainTag
|
||||
syn region javaDocLinkplainTag contained start="{@linkplain\>" end="}" contains=javaDocLinkplainTag,javaLinkplainSkipBlock
|
||||
syn region javaLiteralSkipBlock contained transparent start="{\%(@literal\>\)\@!" end="}" contains=javaLiteralSkipBlock,javaDocLiteralTag
|
||||
syn region javaDocLiteralTag contained start="{@literal\>" end="}" contains=javaDocLiteralTag,javaLiteralSkipBlock
|
||||
syn region javaSystemPropertySkipBlock contained transparent start="{\%(@systemProperty\>\)\@!" end="}" contains=javaSystemPropertySkipBlock,javaDocSystemPropertyTag
|
||||
syn region javaDocSystemPropertyTag contained start="{@systemProperty\>" end="}" contains=javaDocSystemPropertyTag,javaSystemPropertySkipBlock
|
||||
syn region javaValueSkipBlock contained transparent start="{\%(@value\>\)\@!" end="}" contains=javaValueSkipBlock,javaDocValueTag
|
||||
syn region javaDocValueTag contained start="{@value\>" end="}" contains=javaDocValueTag,javaValueSkipBlock
|
||||
|
||||
syn match javaDocParam contained "\s\zs\S\+"
|
||||
syn match javaDocExceptionTag contained "@exception\s\+\S\+" contains=javaDocParam
|
||||
syn match javaDocParamTag contained "@param\s\+\S\+" contains=javaDocParam
|
||||
syn match javaDocSinceTag contained "@since\s\+\S\+" contains=javaDocParam
|
||||
syn match javaDocThrowsTag contained "@throws\s\+\S\+" contains=javaDocParam
|
||||
syn match javaDocSpecTag contained "@spec\_s\+\S\+\ze\_s\+\S\+" contains=javaDocParam
|
||||
|
||||
syn match javaDocAuthorTag contained "@author\>"
|
||||
syn match javaDocDeprecatedTag contained "@deprecated\>"
|
||||
syn match javaDocHiddenTag contained "@hidden\>"
|
||||
syn match javaDocReturnTag contained "@return\>"
|
||||
syn match javaDocSerialTag contained "@serial\>"
|
||||
syn match javaDocSerialDataTag contained "@serialData\>"
|
||||
syn match javaDocSerialFieldTag contained "@serialField\>"
|
||||
syn match javaDocVersionTag contained "@version\>"
|
||||
|
||||
syn match javaDocSeeTag contained "@see\>" nextgroup=javaDocSeeTag1,javaDocSeeTag2,javaDocSeeTag3,javaDocSeeTagStar skipwhite skipempty
|
||||
syn match javaDocSeeTagStar contained "^\s*\*\+\%(\s*{\=@\|/\|$\)\@!" nextgroup=javaDocSeeTag1,javaDocSeeTag2,javaDocSeeTag3 skipwhite skipempty
|
||||
syn match javaDocSeeTag1 contained @"\_[^"]\+"@
|
||||
syn match javaDocSeeTag2 contained @<a\s\+\_.\{-}</a>@ contains=@javaHtml extend
|
||||
syn match javaDocSeeTag3 contained @["< \t]\@!\%(\k\|[/.]\)*\%(##\=\k\+\%((\_[^)]*)\)\=\)\=@ nextgroup=javaDocSeeTag3Label skipwhite skipempty
|
||||
syn match javaDocSeeTag3Label contained @\k\%(\k\+\s*\)*$@
|
||||
|
||||
syn region javaCodeSkipBlock contained transparent start="{\%(@code\>\)\@!" end="}" contains=javaCodeSkipBlock,javaDocCodeTag
|
||||
syn region javaDocCodeTag contained start="{@code\>" end="}" contains=javaDocCodeTag,javaCodeSkipBlock
|
||||
|
||||
exec 'syn region javaDocSnippetTagAttr contained transparent matchgroup=javaHtmlArg start=/\<\%(class\|file\|id\|lang\|region\)\%(\s*=\)\@=/ matchgroup=javaHtmlString end=/:$/ end=/\%(=\s*\)\@' . s:ff.Peek('80', '') . '<=\%("[^"]\+"\|' . "\x27[^\x27]\\+\x27" . '\|\%([.\\/-]\|\k\)\+\)/ nextgroup=javaDocSnippetTagAttr skipwhite skipnl'
|
||||
syn region javaSnippetSkipBlock contained transparent start="{\%(@snippet\>\)\@!" end="}" contains=javaSnippetSkipBlock,javaDocSnippetTag,javaCommentMarkupTag
|
||||
syn region javaDocSnippetTag contained start="{@snippet\>" end="}" contains=javaDocSnippetTag,javaSnippetSkipBlock,javaDocSnippetTagAttr,javaCommentMarkupTag
|
||||
|
||||
syntax case match
|
||||
hi def link javaDocComment Comment
|
||||
hi def link javaDocSeeTagStar javaDocComment
|
||||
hi def link javaCommentTitle SpecialComment
|
||||
hi def link javaDocTags Special
|
||||
hi def link javaDocCodeTag Special
|
||||
hi def link javaDocSnippetTag Special
|
||||
hi def link javaDocSeeTagParam Function
|
||||
hi def link javaDocParam Function
|
||||
|
||||
hi def link javaDocAuthorTag Special
|
||||
hi def link javaDocCodeTag Special
|
||||
hi def link javaDocDeprecatedTag Special
|
||||
hi def link javaDocDocRootTag Special
|
||||
hi def link javaDocExceptionTag Special
|
||||
hi def link javaDocHiddenTag Special
|
||||
hi def link javaDocIndexTag Special
|
||||
hi def link javaDocInheritDocTag Special
|
||||
hi def link javaDocLinkTag Special
|
||||
hi def link javaDocLinkplainTag Special
|
||||
hi def link javaDocLiteralTag Special
|
||||
hi def link javaDocParamTag Special
|
||||
hi def link javaDocReturnTag Special
|
||||
hi def link javaDocSeeTag Special
|
||||
hi def link javaDocSeeTag1 String
|
||||
hi def link javaDocSeeTag2 Special
|
||||
hi def link javaDocSeeTag3 Function
|
||||
hi def link javaDocSerialTag Special
|
||||
hi def link javaDocSerialDataTag Special
|
||||
hi def link javaDocSerialFieldTag Special
|
||||
hi def link javaDocSinceTag Special
|
||||
hi def link javaDocSnippetTag Special
|
||||
hi def link javaDocSpecTag Special
|
||||
hi def link javaDocSystemPropertyTag Special
|
||||
hi def link javaDocThrowsTag Special
|
||||
hi def link javaDocValueTag Special
|
||||
hi def link javaDocVersionTag Special
|
||||
endif
|
||||
|
||||
" match the special comment /**/
|
||||
@@ -367,9 +448,14 @@ syn match javaSpecialChar contained "\\\%(u\x\x\x\x\|[0-3]\o\o\|\o\o\=\|[bstnf
|
||||
syn region javaString start=+"+ end=+"+ end=+$+ contains=javaSpecialChar,javaSpecialError,@Spell
|
||||
syn region javaString start=+"""[ \t\x0c\r]*$+hs=e+1 end=+"""+he=s-1 contains=javaSpecialChar,javaSpecialError,javaTextBlockError,@Spell
|
||||
syn match javaTextBlockError +"""\s*"""+
|
||||
syn region javaStrTemplEmbExp contained matchgroup=javaStrTempl start="\\{" end="}" contains=TOP
|
||||
exec 'syn region javaStrTempl start=+\%(\.[[:space:]\n]*\)\@' . s:ff.Peek('80', '') . '<="+ end=+"+ contains=javaStrTemplEmbExp,javaSpecialChar,javaSpecialError,@Spell'
|
||||
exec 'syn region javaStrTempl start=+\%(\.[[:space:]\n]*\)\@' . s:ff.Peek('80', '') . '<="""[ \t\x0c\r]*$+hs=e+1 end=+"""+he=s-1 contains=javaStrTemplEmbExp,javaSpecialChar,javaSpecialError,javaTextBlockError,@Spell'
|
||||
|
||||
if s:ff.IsRequestedPreviewFeature(430)
|
||||
syn region javaStrTemplEmbExp contained matchgroup=javaStrTempl start="\\{" end="}" contains=TOP
|
||||
exec 'syn region javaStrTempl start=+\%(\.[[:space:]\n]*\)\@' . s:ff.Peek('80', '') . '<="+ end=+"+ contains=javaStrTemplEmbExp,javaSpecialChar,javaSpecialError,@Spell'
|
||||
exec 'syn region javaStrTempl start=+\%(\.[[:space:]\n]*\)\@' . s:ff.Peek('80', '') . '<="""[ \t\x0c\r]*$+hs=e+1 end=+"""+he=s-1 contains=javaStrTemplEmbExp,javaSpecialChar,javaSpecialError,javaTextBlockError,@Spell'
|
||||
hi def link javaStrTempl Macro
|
||||
endif
|
||||
|
||||
syn match javaCharacter "'[^']*'" contains=javaSpecialChar,javaSpecialCharError
|
||||
syn match javaCharacter "'\\''" contains=javaSpecialChar
|
||||
syn match javaCharacter "'[^\\]'"
|
||||
@@ -441,11 +527,16 @@ if exists("g:java_highlight_debug")
|
||||
syn match javaDebugSpecial contained "\\\%(u\x\x\x\x\|[0-3]\o\o\|\o\o\=\|[bstnfr"'\\]\)"
|
||||
syn region javaDebugString contained start=+"+ end=+"+ contains=javaDebugSpecial
|
||||
syn region javaDebugString contained start=+"""[ \t\x0c\r]*$+hs=e+1 end=+"""+he=s-1 contains=javaDebugSpecial,javaDebugTextBlockError
|
||||
" The highlight groups of java{StrTempl,Debug{,Paren,StrTempl}}\,
|
||||
" share one colour by default. Do not conflate unrelated parens.
|
||||
syn region javaDebugStrTemplEmbExp contained matchgroup=javaDebugStrTempl start="\\{" end="}" contains=javaComment,javaLineComment,javaDebug\%(Paren\)\@!.*
|
||||
exec 'syn region javaDebugStrTempl contained start=+\%(\.[[:space:]\n]*\)\@' . s:ff.Peek('80', '') . '<="+ end=+"+ contains=javaDebugStrTemplEmbExp,javaDebugSpecial'
|
||||
exec 'syn region javaDebugStrTempl contained start=+\%(\.[[:space:]\n]*\)\@' . s:ff.Peek('80', '') . '<="""[ \t\x0c\r]*$+hs=e+1 end=+"""+he=s-1 contains=javaDebugStrTemplEmbExp,javaDebugSpecial,javaDebugTextBlockError'
|
||||
|
||||
if s:ff.IsRequestedPreviewFeature(430)
|
||||
" The highlight groups of java{StrTempl,Debug{,Paren,StrTempl}}\,
|
||||
" share one colour by default. Do not conflate unrelated parens.
|
||||
syn region javaDebugStrTemplEmbExp contained matchgroup=javaDebugStrTempl start="\\{" end="}" contains=javaComment,javaLineComment,javaDebug\%(Paren\)\@!.*
|
||||
exec 'syn region javaDebugStrTempl contained start=+\%(\.[[:space:]\n]*\)\@' . s:ff.Peek('80', '') . '<="+ end=+"+ contains=javaDebugStrTemplEmbExp,javaDebugSpecial'
|
||||
exec 'syn region javaDebugStrTempl contained start=+\%(\.[[:space:]\n]*\)\@' . s:ff.Peek('80', '') . '<="""[ \t\x0c\r]*$+hs=e+1 end=+"""+he=s-1 contains=javaDebugStrTemplEmbExp,javaDebugSpecial,javaDebugTextBlockError'
|
||||
hi def link javaDebugStrTempl Macro
|
||||
endif
|
||||
|
||||
syn match javaDebugTextBlockError contained +"""\s*"""+
|
||||
syn match javaDebugCharacter contained "'[^\\]'"
|
||||
syn match javaDebugSpecialCharacter contained "'\\.'"
|
||||
@@ -471,7 +562,6 @@ if exists("g:java_highlight_debug")
|
||||
|
||||
hi def link javaDebug Debug
|
||||
hi def link javaDebugString DebugString
|
||||
hi def link javaDebugStrTempl Macro
|
||||
hi def link javaDebugTextBlockError Error
|
||||
hi def link javaDebugType DebugType
|
||||
hi def link javaDebugBoolean DebugBoolean
|
||||
@@ -580,7 +670,6 @@ hi def link javaSpecial Special
|
||||
hi def link javaSpecialError Error
|
||||
hi def link javaSpecialCharError Error
|
||||
hi def link javaString String
|
||||
hi def link javaStrTempl Macro
|
||||
hi def link javaCharacter Character
|
||||
hi def link javaSpecialChar SpecialChar
|
||||
hi def link javaNumber Number
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
" Maintainer: Igor Gnatenko i.gnatenko.brain@gmail.com
|
||||
" Former Maintainer: Donovan Rebbechi elflord@panix.com (until March 2014)
|
||||
" Last Change: 2020 May 25
|
||||
" 2024 Sep 10 by Vim Project: add file triggers support, #15569
|
||||
|
||||
" quit when a syntax file was already loaded
|
||||
if exists("b:current_syntax")
|
||||
@@ -111,7 +112,7 @@ syn region specDescriptionArea matchgroup=specSection start='^%description' end=
|
||||
syn region specPackageArea matchgroup=specSection start='^%package' end='^%'me=e-1 contains=specPackageOpts,specPreAmble,specComment
|
||||
|
||||
"%% Scripts Section %%
|
||||
syn region specScriptArea matchgroup=specSection start='^%\(prep\|generate_buildrequires\|conf\|build\|install\|clean\|check\|pre\|postun\|preun\|post\|posttrans\)\>' skip='^%{\|^%\(define\|patch\d*\|configure\|GNUconfigure\|setup\|autosetup\|autopatch\|find_lang\|make_build\|makeinstall\|make_install\)\>' end='^%'me=e-1 contains=specSpecialVariables,specVariables,@specCommands,specVariables,shDo,shFor,shCaseEsac,specNoNumberHilite,specCommandOpts,shComment,shIf,specSpecialChar,specMacroIdentifier,specSectionMacroArea,specSectionMacroBracketArea,shOperator,shQuote1,shQuote2
|
||||
syn region specScriptArea matchgroup=specSection start='^%\(prep\|generate_buildrequires\|conf\|build\|install\|clean\|check\|pre\|postun\|preun\|post\|posttrans\|filetriggerin\|filetriggerun\|filetriggerpostun\|transfiletriggerin\|transfiletriggerun\|transfiletriggerpostun\)\>' skip='^%{\|^%\(define\|patch\d*\|configure\|GNUconfigure\|setup\|autosetup\|autopatch\|find_lang\|make_build\|makeinstall\|make_install\)\>' end='^%'me=e-1 contains=specSpecialVariables,specVariables,@specCommands,specVariables,shDo,shFor,shCaseEsac,specNoNumberHilite,specCommandOpts,shComment,shIf,specSpecialChar,specMacroIdentifier,specSectionMacroArea,specSectionMacroBracketArea,shOperator,shQuote1,shQuote2
|
||||
|
||||
"%% Changelog Section %%
|
||||
syn region specChangelogArea matchgroup=specSection start='^%changelog' end='^%'me=e-1 contains=specEmail,specURL,specWeekday,specMonth,specNumber,specComment,specLicense
|
||||
|
||||
@@ -2,9 +2,10 @@
|
||||
" Language: sudoers(5) configuration files
|
||||
" Maintainer: Eisuke Kawashima ( e.kawaschima+vim AT gmail.com )
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2021 Mar 15
|
||||
" Latest Revision: 2024 Sep 02
|
||||
" Recent Changes: Support for #include and #includedir.
|
||||
" Added many new options (Samuel D. Leslie)
|
||||
" Update allowed Tag_Spec Runas_Spec syntax items
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
@@ -22,7 +23,7 @@ syn match sudoersUserSpec '^' nextgroup=@sudoersUserInSpec skipwhite
|
||||
|
||||
syn match sudoersSpecEquals contained '=' nextgroup=@sudoersCmndSpecList skipwhite
|
||||
|
||||
syn cluster sudoersCmndSpecList contains=sudoersUserRunasBegin,sudoersPASSWD,@sudoersCmndInSpec
|
||||
syn cluster sudoersCmndSpecList contains=sudoersUserRunasBegin,sudoersTagSpec,@sudoersCmndInSpec
|
||||
|
||||
syn keyword sudoersTodo contained TODO FIXME XXX NOTE
|
||||
|
||||
@@ -92,10 +93,11 @@ syn cluster sudoersUserList contains=sudoersUserListComma,sudoersUserLis
|
||||
syn match sudoersUserSpecComma contained ',' nextgroup=@sudoersUserInSpec skipwhite skipnl
|
||||
syn cluster sudoersUserSpec contains=sudoersUserSpecComma,@sudoersHostInSpec
|
||||
|
||||
syn match sudoersUserRunasBegin contained '(' nextgroup=@sudoersUserInRunas skipwhite skipnl
|
||||
syn match sudoersUserRunasBegin contained '(' nextgroup=@sudoersUserInRunas,sudoersUserRunasColon skipwhite skipnl
|
||||
syn match sudoersUserRunasComma contained ',' nextgroup=@sudoersUserInRunas skipwhite skipnl
|
||||
syn match sudoersUserRunasEnd contained ')' nextgroup=sudoersPASSWD,@sudoersCmndInSpec skipwhite skipnl
|
||||
syn cluster sudoersUserRunas contains=sudoersUserRunasComma,@sudoersUserInRunas,sudoersUserRunasEnd
|
||||
syn match sudoersUserRunasColon contained ':' nextgroup=@sudoersUserInRunas skipwhite skipnl
|
||||
syn match sudoersUserRunasEnd contained ')' nextgroup=sudoersTagSpec,@sudoersCmndInSpec skipwhite skipnl
|
||||
syn cluster sudoersUserRunas contains=sudoersUserRunasComma,sudoersUserRunasColon,@sudoersUserInRunas,sudoersUserRunasEnd
|
||||
|
||||
|
||||
syn match sudoersHostAliasEquals contained '=' nextgroup=@sudoersHostInList skipwhite skipnl
|
||||
@@ -291,7 +293,7 @@ syn region sudoersStringValue contained start=+"+ skip=+\\"+ end=+"+ nextgroup
|
||||
syn match sudoersListValue contained '[^[:space:],:=\\]*\%(\\[[:space:],:=\\][^[:space:],:=\\]*\)*' nextgroup=sudoersParameterListComma skipwhite skipnl
|
||||
syn region sudoersListValue contained start=+"+ skip=+\\"+ end=+"+ nextgroup=sudoersParameterListComma skipwhite skipnl
|
||||
|
||||
syn match sudoersPASSWD contained '\%(NO\)\=PASSWD:' nextgroup=@sudoersCmndInSpec skipwhite
|
||||
syn match sudoersTagSpec contained '\%(NO\)\=\%(EXEC\|FOLLOW\|LOG_\%(INPUT\|OUTPUT\)\|MAIL\|INTERCEPT\|PASSWD\|SETENV\):' nextgroup=sudoersTagSpec,@sudoersCmndInSpec skipwhite
|
||||
|
||||
hi def link sudoersSpecEquals Operator
|
||||
hi def link sudoersTodo Todo
|
||||
@@ -345,6 +347,7 @@ hi def link sudoersUserListColon Delimiter
|
||||
hi def link sudoersUserSpecComma Delimiter
|
||||
hi def link sudoersUserRunasBegin Delimiter
|
||||
hi def link sudoersUserRunasComma Delimiter
|
||||
hi def link sudoersUserRunasColon Delimiter
|
||||
hi def link sudoersUserRunasEnd Delimiter
|
||||
hi def link sudoersHostAliasEquals Operator
|
||||
hi def link sudoersHostListComma Delimiter
|
||||
@@ -381,7 +384,7 @@ hi def link sudoersListParameterEquals Operator
|
||||
hi def link sudoersIntegerValue Number
|
||||
hi def link sudoersStringValue String
|
||||
hi def link sudoersListValue String
|
||||
hi def link sudoersPASSWD Special
|
||||
hi def link sudoersTagSpec Special
|
||||
hi def link sudoersInclude Statement
|
||||
|
||||
let b:current_syntax = "sudoers"
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
" Vim syntax file
|
||||
" Language: Terraform
|
||||
" Maintainer: Gregory Anders
|
||||
" Upstream: https://github.com/hashivim/vim-terraform
|
||||
" Last Change: 2024-09-03
|
||||
|
||||
if exists('b:current_syntax')
|
||||
finish
|
||||
endif
|
||||
|
||||
runtime! syntax/hcl.vim
|
||||
|
||||
syn keyword terraType string bool number object tuple list map set any
|
||||
|
||||
hi def link terraType Type
|
||||
|
||||
let b:current_syntax = 'terraform'
|
||||
@@ -1,20 +1,20 @@
|
||||
>/+0#0000e05#ffffff0@1| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |u|n|l|e|t|!| |g+0fd7ff255|:+0&#ffffff0|j|a|v|a|_|i|g|n|o|r|e|_|j+0&#ffd7d7255|a|v|a|d|o|c| +0&#ffffff0|g|:|j|a|v|a|_|n|o|_|t|r|a|i|l|_|s|p|a|c|e|_|e|r@1|o|r| +0#0000000&
|
||||
|/+0#0000e05&@1| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |u|n|l|e|t|!| |g+0fd7ff255|:+0&#ffffff0|j|a|v|a|_|n|o|_|t|a|b|_|s|p|a|c|e|_|e|r@1|o|r| +0#0000000&@24
|
||||
|/+0#0000e05&@1| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |l|e|t| |[|g|:|j|a|v|a|_|s|p|a|c|e|_|e|r@1|o|r|s|,|g|:|j|a|v|a|_|c|o|m@1|e|n|t|_|s|t|r|i|n|g|s|]| |=| |[|1+0#e000002&|,+0#0000e05&|1+0#e000002&|]+0#0000e05&| +0#0000000&
|
||||
|/+0#0000e05&@1| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |s+0&#ffd7d7255|e|t|l|o|c|a|l| +0&#ffffff0|s|p|e|l@1| ||| |h|i|g|h|l|i|g|h|t| |l|i|n|k| |j+0&#ffd7d7255|a|v|a|C|o|m@1|e|n|t|S|t|a|r|t| +0&#ffffff0|T+0&#ffd7d7255|o|d|o| +0#0000000#ffffff0@3
|
||||
@75
|
||||
@75
|
||||
@75
|
||||
@75
|
||||
|/+0#0000e05&|*@1|/| +0#0000000&|/+0#0000001#ffff4012|*|/+0#0000e05#ffffff0| |*+0#0000001#ffff4012|/| +0#0000000#ffffff0|/+0#0000001#ffff4012|*| +0#0000e05#ffffff0|/+0#ffffff16#ff404010|*+0#0000001#ffff4012|/| +0#0000000#ffffff0|/+0#0000001#ffff4012|*|/+0#ffffff16#ff404010|*+0#0000001#ffff4012|/| +0#0000000#ffffff0|/+0#0000001#ffff4012|*|/+0#0000e05#ffffff0|/+0#ffffff16#ff404010|*+0#0000001#ffff4012|/| +0#0000000#ffffff0|/+0#0000e05&|*@1| +0#e000e06&|C|o|m@1|e|n|t| |t|e|s|t|s|.| +0#0000000&@24
|
||||
| +0#0000e05&|*| |<+0#00e0e07&|p+0#af5f00255&|>+0#00e0e07&|T+0#0000e05&|h|e|r|e| |i|s| |n|o| |e|n|t|r|y| |p|o|i|n|t| |m|e|t|h|o|d| |{+0#e000e06&|@|c|o|d|e| |m|a|i|n|}|:+0#0000e05&| +0#0000000&@24
|
||||
| +0#0000e05&|*| |{+0#e000e06&|@|s|n|i|p@1|e|t| |f+0#00e0003&|i|l|e| +0#e000e06&|=| |S+0#e000002&|n|i|p@1|e|t|s|.|j|a|v|a| +0#e000e06&|r+0#00e0003&|e|g|i|o|n| +0#e000e06&|=| |m+0#e000002&|a|i|n| +0#e000e06&|i+0#00e0003&|d| +0#e000e06&|=| |_+0#e000002&|0|1|}+0#e000e06&| +0#0000000&@17
|
||||
| +0#0000e05&|*| |<+0#00e0e07&|p+0#af5f00255&|>+0#00e0e07&|T+0#0000e05&|h|e|r|e| |i|s| |n|o| |t|e|x|t|u|a|l| |r|e|p|r|e|s|e|n|t|a|t|i|o|n|:| +0#0000000&@33
|
||||
| +0#0000e05&|*| |{+0#e000e06&|@|s|n|i|p@1|e|t| |c+0#00e0003&|l|a|s@1| +0#e000e06&|=| |S+0#e000002&|n|i|p@1|e|t|s| +0#e000e06&|r+0#00e0003&|e|g|i|o|n| +0#e000e06&|=| |t+0#e000002&|o|S|t|r|i|n|g| +0#e000e06&|i+0#00e0003&|d| +0#e000e06&|=| |_+0#e000002&|0|2|}+0#e000e06&| +0#0000e05&|*|/| +0#0000000&@14
|
||||
|c+0#00e0003&|l|a|s@1| +0#0000000&|C|o|m@1|e|n|t|s|T|e|s|t|s| @55
|
||||
|{| @73
|
||||
@4|/+0#0000e05&|*@1| +0#e000e06&|N|o|-|o|p|,| |i|.| +0#0000e05&|e+0fd7ff255|.+0&#ffffff0| |n+0fd7ff255|o| +0&#ffffff0|o|p|e|r|a|t|i|o|n|.| +0#0000000&@40
|
||||
| +0#0000e05&@3|*| |(|{+0#e000e06&|@|l|i|t|e|r|a|l|@|l|i|t|e|r|a|l|}| +0#0000e05&|m|a|y| |b|e| |u|s|e|d| |w|i|t|h| |{+0#e000e06&|@|c|o|d|e| |.|}| +0#0000e05&|f|o|r| |c|o|n|t|r|a|c|t|i|o|n|.|)| +0#0000000&@4
|
||||
| +0#0000e05&@3|*| |@+0#e000e06&|r|e|t|u|r|n| +0#0000e05&|{+0#e000e06&|@|c|o|d|e| |n|u|l@1|}| +0#0000e05&|*|/| +0#0000000&@45
|
||||
@4|V|o|i|d| |n|o|O|p|1|(|)| |{| |r+0#af5f00255&|e|t|u|r|n| +0#0000000&|n+0#e000002&|u|l@1|;+0#0000000&| |}| @41
|
||||
| +0#0000e05#a8a8a8255@1>/+0&#ffffff0@1| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |u|n|l|e|t|!| |g+0fd7ff255|:+0&#ffffff0|j|a|v|a|_|n|o|_|t|a|b|_|s|p|a|c|e|_|e|r@1|o|r| |g|:|j|a|v|a|_|i|g|n|o|r|e|_|j+0&#ffd7d7255|a|v|a|d|o|c| +0#0000000#ffffff0
|
||||
| +0#0000e05#a8a8a8255@1|/+0&#ffffff0@1| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |u|n|l|e|t|!| |g+0fd7ff255|:+0&#ffffff0|j|a|v|a|_|n|o|_|t|r|a|i|l|_|s|p|a|c|e|_|e|r@1|o|r| +0#0000000&@20
|
||||
| +0#0000e05#a8a8a8255@1|/+0&#ffffff0@1| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |l|e|t| |[|g|:|j|a|v|a|_|s|p|a|c|e|_|e|r@1|o|r|s|,|g|:|j|a|v|a|_|c|o|m@1|e|n|t|_|s|t|r|i|n|g|s|]|=|[|1+0#e000002&|,+0#0000e05&|1+0#e000002&|]+0#0000e05&| +0#0000000&
|
||||
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
|
||||
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
|
||||
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
|
||||
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
|
||||
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
|
||||
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
|
||||
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
|
||||
| +0#0000e05#a8a8a8255@1|/+0&#ffffff0@1| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |s+0&#ffd7d7255|e|t|l|o|c|a|l| +0&#ffffff0|s|p|e|l@1| |f+0&#ffd7d7255|d|c|=+0&#ffffff0|2+0#e000002&| +0#0000e05&|f+0&#ffd7d7255|d|l|=+0&#ffffff0|6+0#e000002&|4| +0#0000e05&|f+0&#ffd7d7255|d|m|=+0&#ffffff0|s|y|n|t|a|x| |f|e|n| +0#0000000&@12
|
||||
| +0#0000e05#a8a8a8255@1|/+0&#ffffff0@1| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |h|i|g|h|l|i|g|h|t| |l|i|n|k| |j+0&#ffd7d7255|a|v|a|C|o|m@1|e|n|t|S|t|a|r|t| +0&#ffffff0|T+0&#ffd7d7255|o|d|o| +0#0000000#ffffff0@18
|
||||
| +0#0000e05#a8a8a8255@1|/+0&#ffffff0@1| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |h|i|g|h|l|i|g|h|t| |l|i|n|k| |j+0&#ffd7d7255|a|v|a|C|o|m@1|e|n|t|T|i|t|l|e| +0&#ffffff0|U|n|d|e|r|l|i|n|e|d| +0#0000000&@12
|
||||
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
|
||||
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
|
||||
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
|
||||
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
|
||||
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
|
||||
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
|
||||
@57|1|,|1| @10|T|o|p|
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
|c+0#00e0003#ffffff0|l|a|s@1| +0#0000000&|C|o|m@1|e|n|t|s|T|e|s|t|s| @55
|
||||
|{| @73
|
||||
@4|/+0#0000e05&|*@1| +0#e000e06&|N|o|-|o|p|,| |i|.| +0#0000e05&|e+0fd7ff255|.+0&#ffffff0| |n+0fd7ff255|o| +0&#ffffff0|o|p|e|r|a|t|i|o|n|.| +0#0000000&@40
|
||||
| +0#0000e05&@3|*| |(|{+0#e000e06&|@|l|i|t|e|r|a|l|@|l|i|t|e|r|a|l|}| +0#0000e05&|m|a|y| |b|e| |u|s|e|d| |w|i|t|h| |{+0#e000e06&|@|c|o|d|e| |.|}| +0#0000e05&|f|o|r| |c|o|n|t|r|a|c|t|i|o|n|.|)| +0#0000000&@4
|
||||
| +0#0000e05&@3|*| |@+0#e000e06&|r|e|t|u|r|n| +0#0000e05&|{+0#e000e06&|@|c|o|d|e| |n|u|l@1|}| +0#0000e05&|*|/| +0#0000000&@45
|
||||
@4>V|o|i|d| |n|o|O|p|1|(|)| |{| |r+0#af5f00255&|e|t|u|r|n| +0#0000000&|n+0#e000002&|u|l@1|;+0#0000000&| |}| @41
|
||||
@75
|
||||
@4|/+0#0000e05&|*@1| +0#e000e06&|N|o|-|o|p|,| |i|.|e|.| +0#0000e05&|n|o| |o|p|e|r|a|t|i|o|n|.| +0#0000000&@41
|
||||
| +0#0000e05&@3|*| |(|{+0#e000e06&|@|l|i|t|e|r|a|l|<|!|-@1| |-@1|>|}| +0#0000e05&|m|a|y| |b|e| |u|s|e|d| |a|f|t|e|r| |{+0#e000e06&|@|c|o|d|e| |.|}| +0#0000e05&|f|o|r| |c|o|n|t|r|a|c|t|i|o|n|.|)| +0#0000000&@3
|
||||
| +0#0000e05&@3|*| |@+0#e000e06&|r|e|t|u|r|n| +0#0000e05&|{+0#e000e06&|@|c|o|d|e| |n|u|l@1|}| +0#0000e05&|*|/| +0#0000000&@45
|
||||
@4|V|o|i|d| |n|o|O|p|2|(|)| |{| |r+0#af5f00255&|e|t|u|r|n| +0#0000000&|n+0#e000002&|u|l@1|;+0#0000000&| |}| @41
|
||||
@75
|
||||
@4|/+0#0000e05&|*@1| +0#e000e06&|N|o|-|o|p|,| |i|.|e|\|u+0&#ffd7d7255|0@1|2|e| +0&#ffffff0|n|o| |o|p|e|r|a|t|i|o|n|.| +0#0000000&@36
|
||||
| +0#0000e05&@3|*| |(|{+0#e000e06&|@|l|i|t|e|r|a|l|\|u|0@1|5|c|u|0@1|2|e|}| +0#0000e05&|i|s| |p|r|o|c|e|s@1|e|d| |e|a|r|l|y|,| |u|s|e| |a|l|t|e|r|n|a|t|i|v|e|s|.|)| +0#0000000&@7
|
||||
| +0#0000e05&@3|*| |@+0#e000e06&|r|e|t|u|r|n| +0#0000e05&|{+0#e000e06&|@|c|o|d|e| |n|u|l@1|}| +0#0000e05&|*|/| +0#0000000&@45
|
||||
@4|V|o|i|d| |n|o|O|p|3|(|)| |{| |r+0#af5f00255&|e|t|u|r|n| +0#0000000&|n+0#e000002&|u|l@1|;+0#0000000&| |}| @41
|
||||
@75
|
||||
@4|/+0#0000e05&|*@1| +0#e000e06&|N|o|-|o|p|,| |i|.|e|{|@|l|i|t|e|r|a|l| |.|}| |n|o| |o|p|e|r|a|t|i|o|n|.| +0#0000000&@30
|
||||
| +0#0000e05&@3|*| |@+0#e000e06&|r|e|t|u|r|n| +0#0000e05&|{+0#e000e06&|@|c|o|d|e| |n|u|l@1|}| +0#0000e05&|*|/| +0#0000000&@45
|
||||
@57|1|9|,|2|-|5| @7|1|8|%|
|
||||
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
|
||||
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
|
||||
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
|
||||
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
|
||||
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
|
||||
| +0#0000e05#a8a8a8255@1> +0#0000000#ffffff0@72
|
||||
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
|
||||
|-+0#0000e05#a8a8a8255| |/+0&#ffffff0|*@1|/| +0#0000000&|/+0#0000001#ffff4012|*|/+0#0000e05#ffffff0| |*+0#0000001#ffff4012|/| +0#0000000#ffffff0|/+0#0000001#ffff4012|*| +0#0000e05#ffffff0|/+0#ffffff16#ff404010|*+0#0000001#ffff4012|/| +0#0000000#ffffff0|/+0#0000001#ffff4012|*|/+0#ffffff16#ff404010|*+0#0000001#ffff4012|/| +0#0000000#ffffff0|/+0#0000001#ffff4012|*|/+0#0000e05#ffffff0|/+0#ffffff16#ff404010|*+0#0000001#ffff4012|/| +0#0000000#ffffff0|/+0#0000e05&|*@1| +8#e000e06&|C|o|m@1|e|n|t| |t|e|s|t|s|.| +0#0000000&@22
|
||||
||+0#0000e05#a8a8a8255| | +0&#ffffff0|*| |<+0#00e0e07&|p+0#af5f00255&|>+0#00e0e07&|T+0#0000e05&|h|e|r|e| |i|s| |n|o| |e|n|t|r|y| |p|o|i|n|t| |m|e|t|h|o|d| |{+0#e000e06&|@|c|o|d|e| |m|a|i|n|}|:+0#0000e05&| +0#0000000&@22
|
||||
||+0#0000e05#a8a8a8255| | +0&#ffffff0|*| |{+0#e000e06&|@|s|n|i|p@1|e|t| |f+0#00e0003&|i|l|e| +0#e000e06&|=| |S+0#e000002&|n|i|p@1|e|t|s|.|j|a|v|a| +0#e000e06&|r+0#00e0003&|e|g|i|o|n| +0#e000e06&|=| |m+0#e000002&|a|i|n| +0#e000e06&|i+0#00e0003&|d| +0#e000e06&|=| |_+0#e000002&|0|1|}+0#e000e06&| +0#0000000&@15
|
||||
||+0#0000e05#a8a8a8255| | +0&#ffffff0|*| |<+0#00e0e07&|p+0#af5f00255&|>+0#00e0e07&|T+0#0000e05&|h|e|r|e| |i|s| |n|o| |t|e|x|t|u|a|l| |r|e|p|r|e|s|e|n|t|a|t|i|o|n|:| +0#0000000&@31
|
||||
||+0#0000e05#a8a8a8255| | +0&#ffffff0|*| |{+0#e000e06&|@|s|n|i|p@1|e|t| |c+0#00e0003&|l|a|s@1| +0#e000e06&|=| |S+0#e000002&|n|i|p@1|e|t|s| +0#e000e06&|r+0#00e0003&|e|g|i|o|n| +0#e000e06&|=| |t+0#e000002&|o|S|t|r|i|n|g| +0#e000e06&|i+0#00e0003&|d| +0#e000e06&|=| |_+0#e000002&|0|2|}+0#e000e06&| +0#0000e05&|*|/| +0#0000000&@12
|
||||
| +0#0000e05#a8a8a8255@1|c+0#00e0003#ffffff0|l|a|s@1| +0#0000000&|C|o|m@1|e|n|t|s|T|e|s|t|s| |i+0#00e0003&|m|p|l|e|m|e|n|t|s| +0#0000000&|C|o|m|p|a|r|a|b|l|e|<|C|o|m@1|e|n|t|s|T|e|s|t|s|>| @16
|
||||
| +0#0000e05#a8a8a8255@1|{+0#0000000#ffffff0| @71
|
||||
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@3|p+0#00e0003&|r|i|v|a|t|e| +0#0000000&|C|o|m@1|e|n|t|s|T|e|s|t|s|(|)| |{| |}| @41
|
||||
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
|
||||
|-+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|/+0#0000e05&|*@1| +8#e000e06&|N|o|-|o|p|,| |i|.| +0#0000e05&|e+0fd7ff255|.+0&#ffffff0| |n+0fd7ff255|o| +0&#ffffff0|o|p|e|r|a|t|i|o|n|.| +0#0000000&@38
|
||||
||+0#0000e05#a8a8a8255| | +0&#ffffff0@3|*| |(|{+0#e000e06&|@|l|i|t|e|r|a|l|@|l|i|t|e|r|a|l|}| +0#0000e05&|m|a|y| |b|e| |u|s|e|d| |w|i|t|h| |{+0#e000e06&|@|c|o|d|e| |.|}| +0#0000e05&|f|o|r| |c|o|n|t|r|a|c|t|i|o|n|.|)| +0#0000000&@2
|
||||
||+0#0000e05#a8a8a8255| | +0&#ffffff0@3|*| |@+0#e000e06&|r|e|t|u|r|n| +0#0000e05&|{+0#e000e06&|@|c|o|d|e| |n|u|l@1|}| +0#0000e05&|*|/| +0#0000000&@43
|
||||
@57|1|9|,|0|-|1| @7|1|2|%|
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
| +0#0000e05#ffffff0@3|*| |@+0#e000e06&|r|e|t|u|r|n| +0#0000e05&|{+0#e000e06&|@|c|o|d|e| |n|u|l@1|}| +0#0000e05&|*|/| +0#0000000&@45
|
||||
@4|V|o|i|d| |n|o|O|p|4|(|)| |{| |r+0#af5f00255&|e|t|u|r|n| +0#0000000&|n+0#e000002&|u|l@1|;+0#0000000&| |}| @41
|
||||
@75
|
||||
@4|/+0#0000e05&|*@1| +0#e000e06&|N|o|-|o|p|,| |i|.|e|.|<|!|-@1| |-@1|>| |n|o| |o|p|e|r|a|t|i|o|n|.| +0#0000000&@33
|
||||
| +0#0000e05&@3|*| |@+0#e000e06&|r|e|t|u|r|n| +0#0000e05&|{+0#e000e06&|@|c|o|d|e| |n|u|l@1|}| +0#0000e05&|*|/| +0#0000000&@45
|
||||
@4>V|o|i|d| |n|o|O|p|5|(|)| |{| |r+0#af5f00255&|e|t|u|r|n| +0#0000000&|n+0#e000002&|u|l@1|;+0#0000000&| |}| @41
|
||||
@75
|
||||
@4|/+0#0000e05&|*@1| +0#e000e06&|N|o|-|o|p|,| |i|.|e|.|&|n|b|s|p|;|n|o| |o|p|e|r|a|t|i|o|n|.| +0#0000000&@36
|
||||
| +0#0000e05&@3|*| |@+0#e000e06&|r|e|t|u|r|n| +0#0000e05&|{+0#e000e06&|@|c|o|d|e| |n|u|l@1|}| +0#0000e05&|*|/| +0#0000000&@45
|
||||
@4|V|o|i|d| |n|o|O|p|6|(|)| |{| |r+0#af5f00255&|e|t|u|r|n| +0#0000000&|n+0#e000002&|u|l@1|;+0#0000000&| |}| @41
|
||||
@75
|
||||
@4|/+0#0000e05&|*@1| |{+0#e000e06&|@|r|e|t|u|r|n| |{|@|c|o|d|e| |n|u|l@1|}|,| |w|i|t|h| |n|o|-|o|p|,| |i|.|e|.| |n|o| |o|p|e|r|a|t|i|o|n|}| |*+0#0000e05&|/| +0#0000000&@10
|
||||
@4|V|o|i|d| |n|o|O|p|7|(|)| |{| |r+0#af5f00255&|e|t|u|r|n| +0#0000000&|n+0#e000002&|u|l@1|;+0#0000000&| |}| @41
|
||||
@75
|
||||
@4|/+0#0000e05&|*@1| |{+0#e000e06&|@|r|e|t|u|r|n| |{|@|c|o|d|e| |n|u|l@1|}|,| |w|i|t|h| |n|o|-|o|p|,| |i|.|e|.| |n|o| |o|p|e|r|a|t|i|o|n|}|.@1| |*+0#0000e05&|/| +0#0000000&@8
|
||||
@4|V|o|i|d| |n|o|O|p|8|(|)| |{| |r+0#af5f00255&|e|t|u|r|n| +0#0000000&|n+0#e000002&|u|l@1|;+0#0000000&| |}| @41
|
||||
@75
|
||||
@4|/+0#0000e05&|*@1| |{+0#e000e06&|@|r|e|t|u|r|n| |{|@|c|o|d|e| |n|u|l@1|}|,| |w|i|t|h| |n|o|-|o|p|,| |i|.|e|.| |n|o| |o|p|e|r|a|t|i|o|n|}| |.| |.| |*+0#0000e05&|/| +0#0000000&@6
|
||||
@4|V|o|i|d| |n|o|O|p|9|(|)| |{| |r+0#af5f00255&|e|t|u|r|n| +0#0000000&|n+0#e000002&|u|l@1|;+0#0000000&| |}| @41
|
||||
@57|3|7|,|2|-|5| @7|4|3|%|
|
||||
||+0#0000e05#a8a8a8255| | +0&#ffffff0@3|*| |@+0#e000e06&|r|e|t|u|r|n| +0#0000e05&|{+0#e000e06&|@|c|o|d|e| |n|u|l@1|}| +0#0000e05&|*|/| +0#0000000&@43
|
||||
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@3|V|o|i|d| |n|o|O|p|1|(|)| |{| |r+0#af5f00255&|e|t|u|r|n| +0#0000000&|n+0#e000002&|u|l@1|;+0#0000000&| |}| @39
|
||||
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
|
||||
|-+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|/+0#0000e05&|*@1| +8#e000e06&|N|o|-|o|p|,| |i|.|e|.| +0#0000e05&|n|o| |o|p|e|r|a|t|i|o|n|.| +0#0000000&@39
|
||||
||+0#0000e05#a8a8a8255| | +0&#ffffff0@3|*| |(|{+0#e000e06&|@|l|i|t|e|r|a|l|<|!|-@1| |-@1|>|}| +0#0000e05&|m|a|y| |b|e| |u|s|e|d| |a|f|t|e|r| |{+0#e000e06&|@|c|o|d|e| |.|}| +0#0000e05&|f|o|r| |c|o|n|t|r|a|c|t|i|o|n|.|)| +0#0000000&@1
|
||||
||+0#0000e05#a8a8a8255| | +0&#ffffff0@3>*| |@+0#e000e06&|r|e|t|u|r|n| +0#0000e05&|{+0#e000e06&|@|c|o|d|e| |n|u|l@1|}| +0#0000e05&|*|/| +0#0000000&@43
|
||||
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@3|V|o|i|d| |n|o|O|p|2|(|)| |{| |r+0#af5f00255&|e|t|u|r|n| +0#0000000&|n+0#e000002&|u|l@1|;+0#0000000&| |}| @39
|
||||
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
|
||||
|-+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|/+0#0000e05&|*@1| +8#e000e06&|N|o|-|o|p|,| |i|.|e|\|u+8&#ffd7d7255|0@1|2|e| +8&#ffffff0|n|o| |o|p|e|r|a|t|i|o|n|.| +0#0000000&@34
|
||||
||+0#0000e05#a8a8a8255| | +0&#ffffff0@3|*| |(|{+0#e000e06&|@|l|i|t|e|r|a|l|\|u|0@1|5|c|u|0@1|2|e|}| +0#0000e05&|i|s| |p|r|o|c|e|s@1|e|d| |e|a|r|l|y|,| |u|s|e| |a|l|t|e|r|n|a|t|i|v|e|s|.|)| +0#0000000&@5
|
||||
||+0#0000e05#a8a8a8255| | +0&#ffffff0@3|*| |@+0#e000e06&|r|e|t|u|r|n| +0#0000e05&|{+0#e000e06&|@|c|o|d|e| |n|u|l@1|}| +0#0000e05&|*|/| +0#0000000&@43
|
||||
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@3|V|o|i|d| |n|o|O|p|3|(|)| |{| |r+0#af5f00255&|e|t|u|r|n| +0#0000000&|n+0#e000002&|u|l@1|;+0#0000000&| |}| @39
|
||||
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
|
||||
|-+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|/+0#0000e05&|*@1| +8#e000e06&|N|o|-|o|p|,| |i|.|e|{+0&&|@|l|i|t|e|r|a|l| |.|}| +8&&|n|o| |o|p|e|r|a|t|i|o|n|.| +0#0000000&@28
|
||||
||+0#0000e05#a8a8a8255| | +0&#ffffff0@3|*| |@+0#e000e06&|r|e|t|u|r|n| +0#0000e05&|{+0#e000e06&|@|c|o|d|e| |n|u|l@1|}| +0#0000e05&|*|/| +0#0000000&@43
|
||||
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@3|V|o|i|d| |n|o|O|p|4|(|)| |{| |r+0#af5f00255&|e|t|u|r|n| +0#0000000&|n+0#e000002&|u|l@1|;+0#0000000&| |}| @39
|
||||
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
|
||||
|-+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|/+0#0000e05&|*@1| +8#e000e06&|N|o|-|o|p|,| |i|.|e|.|<+0&&|!|-@1| |-@1|>| +8&&|n|o| |o|p|e|r|a|t|i|o|n|.| +0#0000000&@31
|
||||
||+0#0000e05#a8a8a8255| | +0&#ffffff0@3|*| |@+0#e000e06&|r|e|t|u|r|n| +0#0000e05&|{+0#e000e06&|@|c|o|d|e| |n|u|l@1|}| +0#0000e05&|*|/| +0#0000000&@43
|
||||
@57|3|7|,|2|-|5| @7|3|0|%|
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
| +0&#ffffff0@3|V|o|i|d| |n|o|O|p|9|(|)| |{| |r+0#af5f00255&|e|t|u|r|n| +0#0000000&|n+0#e000002&|u|l@1|;+0#0000000&| |}| @41
|
||||
@75
|
||||
@4|/+0#0000e05&|*@1| +0#e000e06&|R|e|t|u|r|n|s| |a|n| |e|m|p|t|y| |s|t|r|i|n|g| |f|o|r| |a|n| |@|O|v|e|r@1|i|d|e| |a|n@1|o|t|a|t|e|d| |m|e|t|h|o|d| +0#0000000&@9
|
||||
| +0#0000e05&@3|*| +0#e000e06&|(|s|e@1| |C|h|a|p|t|e|r| |9|.|6|.|4|.|4| |{|@|l|i|t|e|r|a|l| |@|O|v|e|r@1|i|d|e|}| |i|n| |a| |J|a|v|a| |L|a|n|g|u|a|g|e| +0#0000000&@8
|
||||
| +0#0000e05&@3|*| +0#e000e06&|S|p|e|c|i|f|i|c|a|t|i|o|n|)| |o|v|e|r@1|i|d@1|e|n| |f|r|o|m| |<+0#00e0e07&|c+0#af5f00255&|o|d|e|>+0#00e0e07&|j+0#e000e06&|a|v|a|.|l+0&#ffd7d7255|a|n|g|.+0&#ffffff0|O|b|j|e|c|t|<+0#00e0e07&|/|c+0#af5f00255&|o|d|e|>+0#00e0e07&| +0#0000000&@8
|
||||
| +0#0000e05&@3>*| +0#0000000&@69
|
||||
| +0#0000e05&@3|*| |@+0#e000e06&|r|e|t|u|r|n| +0#0000e05&|a|n| |e|m|p|t|y| |s|t|r|i|n|g| |*|/@2| |N|o| |p|e|r|i|o|d| |f|o|r| |t|h|e| |a|b|o|v|e| |s|u|m@1|a|r|y|!| +0#0000000&@7
|
||||
@4|@+0#e000e06&|O|v|e|r@1|i|d|e| +0#0000000&|p+0#00e0003&|u|b|l|i|c| +0#0000000&|S|t|r|i|n|g| |t|o|S|t|r|i|n|g|(|)| |{| |r+0#af5f00255&|e|t|u|r|n| +0#0000000&|"+0#e000002&@1|;+0#0000000&| |}| @21
|
||||
|}| @73
|
||||
@75
|
||||
|/+0#0000e05&@1| |j+0&#ffd7d7255|a|v|a|d|o|c| +0&#ffffff0|-@1|s|n|i|p@1|e|t|-|p|a|t|h| |.| |-@1|s|o|u|r|c|e|-|p|a|t|h| |.| |-|d| |/|t+0&#ffd7d7255|m|p|/+0&#ffffff0|d|o|c|/| |-|p|a|c|k|a|g|e| |\| +0#0000000&@7
|
||||
|/+0#0000e05&@1| +0#ffffff16#ff404010| +0#0000e05#ffffff0|-|t|a|g| |'|j+0&#ffd7d7255|l|s|:+0&#ffffff0|a|:|S|e@1| |J|a|v|a| |L|a|n|g|u|a|g|e| |S|p|e|c|i|f|i|c|a|t|i|o|n|:|'| |S|n|i|p@1|e|t|s|.|j|a|v|a| +0#0000000&@11
|
||||
|/+0#0000e05&|*@1| +0#e000e06&|S|n|i|p@1|e|t|s| |f|o|r| |c|o|m@1|e|n|t| |t|e|s|t|s|.| +0#0000e05&|*|/| +0#0000000&@40
|
||||
|c+0#00e0003&|l|a|s@1| +0#0000000&|S|n|i|p@1|e|t|s| @60
|
||||
|{| @2|/+0#0000001#ffff4012|*| +0#ffffff16#ff404010| +0#0000e05#ffffff0|T|R|A|I|L|I|N|G| |B|L|A|N|K|S| |A|N|D| |M+0&#ffd7d7255|E|S@1|P|I|L@1|I|N|G|S| +0&#ffffff0|A|R|E| |S|I|G|N|I|F|I|C|A|N|T|!| |*+0#0000001#ffff4012|/| +0#0000000#ffffff0@14
|
||||
@4|/+0#0000e05&|*@1| +0#e000e06&|T|h|e| |m|e|t|h|o|d| |{|@|c|o|d|e| |m|a|i|n|}| |m|u|s|t| |b|e| |d|e|c|l|a|r|e|d| |{|@|c|o|d|e| |p|u|b|l|i|c|}|,| |{|@|c|o|d|e| +0#0000000&@3
|
||||
| +0#e000e06&@4|*| |s|t|a|t|i|c|}|,| |a|n|d| |{|@|c|o|d|e| |v|o|i|d|}|.| +0#0000e05&@1|I|t| |m|u|s|t| |s|p|e|c|i|f|y| |a| |f|o|r|m|a|l| |p|a|r|a|m|e|t|e|r| +0#0000000&@5
|
||||
| +0#0000e05&@4|*| |w|h|o|s|e| |d|e|c|l|a|r|e|d| |t|y|p|e| |i|s| |a|r@1|a|y| |o|f| |{+0#e000e06&|@|l|i|n|k| |S|t|r|i|n|g|}|.+0#0000e05&| @1|T|h|e|r|e|f|o|r|e|,| +0#0000000&@8
|
||||
| +0#0000e05&@4|*| |e|i|t|h|e|r| |o|f| |t|h|e| |f|o|l@1|o|w|i|n|g| |d|e|c|l|a|r|a|t|i|o|n|s| |i|s| |a|c@1|e|p|t|a|b|l|e|:| +0#0000000&@16
|
||||
@57|5@1|,|2|-|5| @7|6|9|%|
|
||||
||+0#0000e05#a8a8a8255| | +0&#ffffff0@3|*| |@+0#e000e06&|r|e|t|u|r|n| +0#0000e05&|{+0#e000e06&|@|c|o|d|e| |n|u|l@1|}| +0#0000e05&|*|/| +0#0000000&@43
|
||||
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@3|V|o|i|d| |n|o|O|p|5|(|)| |{| |r+0#af5f00255&|e|t|u|r|n| +0#0000000&|n+0#e000002&|u|l@1|;+0#0000000&| |}| @39
|
||||
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
|
||||
|-+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|/+0#0000e05&|*@1| +8#e000e06&|N|o|-|o|p|,| |i|.|e|.|&+0&&|n|b|s|p|;|n+8&&|o| |o|p|e|r|a|t|i|o|n|.| +0#0000000&@34
|
||||
||+0#0000e05#a8a8a8255| | +0&#ffffff0@3|*| |@+0#e000e06&|r|e|t|u|r|n| +0#0000e05&|{+0#e000e06&|@|c|o|d|e| |n|u|l@1|}| +0#0000e05&|*|/| +0#0000000&@43
|
||||
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@3>V|o|i|d| |n|o|O|p|6|(|)| |{| |r+0#af5f00255&|e|t|u|r|n| +0#0000000&|n+0#e000002&|u|l@1|;+0#0000000&| |}| @39
|
||||
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
|
||||
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@3|/+0#0000e05&|*@1| |{+8#e000e06&|@+0&&|r|e|t|u|r|n| +8&&|{+0&&|@|c|o|d|e| |n|u|l@1|}|,+8&&| |w|i|t|h| |n|o|-|o|p|,| |i|.|e|.| |n|o| |o|p|e|r|a|t|i|o|n|}| |*+0#0000e05&|/| +0#0000000&@8
|
||||
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@3|V|o|i|d| |n|o|O|p|7|(|)| |{| |r+0#af5f00255&|e|t|u|r|n| +0#0000000&|n+0#e000002&|u|l@1|;+0#0000000&| |}| @39
|
||||
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
|
||||
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@3|/+0#0000e05&|*@1| |{+8#e000e06&|@+0&&|r|e|t|u|r|n| +8&&|{+0&&|@|c|o|d|e| |n|u|l@1|}|,+8&&| |w|i|t|h| |n|o|-|o|p|,| |i|.|e|.| |n|o| |o|p|e|r|a|t|i|o|n|}|.@1| |*+0#0000e05&|/| +0#0000000&@6
|
||||
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@3|V|o|i|d| |n|o|O|p|8|(|)| |{| |r+0#af5f00255&|e|t|u|r|n| +0#0000000&|n+0#e000002&|u|l@1|;+0#0000000&| |}| @39
|
||||
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
|
||||
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@3|/+0#0000e05&|*@1| |{+8#e000e06&|@+0&&|r|e|t|u|r|n| +8&&|{+0&&|@|c|o|d|e| |n|u|l@1|}|,+8&&| |w|i|t|h| |n|o|-|o|p|,| |i|.|e|.| |n|o| |o|p|e|r|a|t|i|o|n|}| |.| |.| |*+0#0000e05&|/| +0#0000000&@4
|
||||
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@3|V|o|i|d| |n|o|O|p|9|(|)| |{| |r+0#af5f00255&|e|t|u|r|n| +0#0000000&|n+0#e000002&|u|l@1|;+0#0000000&| |}| @39
|
||||
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
|
||||
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@3|/+0#0000e05&|*@1| |{+8#e000e06&|@+0&&|r|e|t|u|r|n| +8&&|t|h|e| |m|a|j|o|r| |J|a|v|a| |v|e|r|s|i|o|n|}| |@+0&&|h|i|d@1|e|n| +0#0000e05&|*|/| +0#0000000&@21
|
||||
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@3|p+0#00e0003&|r|o|t|e|c|t|e|d| +0#0000000&|i+0#00e0003&|n|t| +0#0000000&|m|a|j|o|r|V|e|r|s|i|o|n|(|)| |{| |r+0#af5f00255&|e|t|u|r|n| +0#0000000&|2+0#e000002&|1|;+0#0000000&| |}| @25
|
||||
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
|
||||
@57|5@1|,|2|-|5| @7|4|7|%|
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
| +0#0000e05#ffffff0@4|*| |e|i|t|h|e|r| |o|f| |t|h|e| |f|o|l@1|o|w|i|n|g| |d|e|c|l|a|r|a|t|i|o|n|s| |i|s| |a|c@1|e|p|t|a|b|l|e|:| +0#0000000&@16
|
||||
| +0#0000e05&@4|*| +0#ffffff16#ff404010| +0#0000e05#ffffff0|{+0#e000e06&|@|s|n|i|p@1|e|t| |l+0#00e0003&|a|n|g|=+0#e000e06&|"+0#e000002&|j|a|v|a|"|:+0#e000e06&| +0#0000000&@44
|
||||
| +0#e000e06&@4|*| |/@1| |@+0#0000000&|h|i|g|h|l|i|g|h|t| +0#e000e06&|s+0#00e0003&|u|b|s|t|r|i|n|g|=+0#e000e06&|"+0#e000002&|m|a|i|n|"| +0#e000e06&|t+0#00e0003&|y|p|e|=+0#e000e06&|"+0#e000002&|i|t|a|l|i|c|"|:+0#e000e06&| +0#0000000&@22
|
||||
| +0#e000e06&@4|*| |p|u|b|l|i|c| |s|t|a|t|i|c| |v|o|i|d| |m|a|i|n|(|S|t|r|i|n|g|[|]| |a|r|g|s|)| |{| |}| +0#0000000&@25
|
||||
| +0#e000e06&@4|*| |}|<+0#00e0e07&|b+0#af5f00255&|r| +0#00e0e07&|/|>|<|p+0#af5f00255&|r|e| +0#00e0e07&|c+0#00e0003&|l|a|s@1|=+0#00e0e07&|"+0#e000002&|s|n|i|p@1|e|t|"|>+0#00e0e07&| +0#0000000&@39
|
||||
| +0#0000e05&@4>*|{+0#e000e06&|@|c|o|d|e| |p|u|b|l|i|c| |s|t|a|t|i|c| |v|o|i|d| |m|a|i|n|(|S|t|r|i|n|g|.@2| |a|r|g|s|)| |{| |}@1|<+0#00e0e07&|/|p+0#af5f00255&|r|e|>+0#00e0e07&| +0#0000000&@11
|
||||
| +0#0000e05&@4|*| +0#0000000&@68
|
||||
| +0#0000e05&@4|*| |@+0#e000e06&|p|a|r|a|m| +0#00e0e07&|a|r|g|s| +0#0000e05&|o|p|t|i|o|n|a|l| |c+0&#ffd7d7255|o|m@1|a|n|d|e|-+0&#ffffff0|l|i|n|e| |a|r|g|u|m|e|n|t|s| +0#ffffff16#ff404010| +0#0000000#ffffff0@22
|
||||
| +0#0000e05&@4|*| |@|j+0&#ffd7d7255|l|s| +0&#ffffff0|1|2|.|1|.|4| |I|n|v|o|k|e| |{+0#e000e06&|@|c|o|d|e| |T|e|s|t|.|m|a|i|n|}| +0#0000e05&|*|/| +0#0000000&@28
|
||||
@4|/+0#0000e05&@1| |@+0#0000000&|s|t|a|r|t| +0#0000e05&|r+0#00e0003&|e|g|i|o|n| +0#0000e05&|=| |m+0#e000002&|a|i|n| +0#ffffff16#ff404010@4| +0#0000000#ffffff0@42
|
||||
@4|/+0#0000e05&@1| |@+0#0000000&|l|i|n|k| +0#0000e05&|s+0#00e0003&|u|b|s|t|r|i|n|g| +0#0000e05&|=| |'+0#e000002&|S|t|r|i|n|g|'| +0#0000e05&|t+0#00e0003&|a|r|g|e|t| +0#0000e05&|=| |'+0#e000002&|j|a|v|a|.|l|a|n|g|.|S|t|r|i|n|g|'| +0#0000e05&|:| +0#0000000&@11
|
||||
@4|p+0#00e0003&|u|b|l|i|c| +0#0000000&|s+0#00e0003&|t|a|t|i|c| +0#0000000&|v+0#00e0003&|o|i|d| +0#0000000&|m|a|i|n|(|S|t|r|i|n|g|[|]| |a|r|g|s|)| |{| |}| @28
|
||||
@4|/+0#0000e05&@1| |@+0#0000000&|e|n|d| +0#ffffff16#ff404010| +0#0000000#ffffff0@62
|
||||
@75
|
||||
@4|/+0#0000e05&|*@1| |{+0#e000e06&|@|r|e|t|u|r|n| |a|n| |e|m|p|t|y| |s|t|r|i|n|g|}| +0#ffffff16#ff404010@2| +0#0000000#ffffff0@38
|
||||
| +0#0000e05&@4|*| +0#e000e06&|@|s|e@1| |<+0#00e0e07&|a+0#af5f00255&| +0#00e0e07&|h+0#00e0003&|r|e|f|=+0#00e0e07&|"+0#e000002&|h|t@1|p|s|:|/@1|d|o|c|s|.|o|r|a|c|l|e|.|c|o|m|/|j|a|v|a|s|e|/|s|p|e|c|s|/|j|l|s|/|s|e|2|1|/|h|t|m|l|/|j|l|s
|
||||
|-|3|.|h|t|m|l|#|j|l|s|-|3|.|1|0|.|5|"|>+0#00e0e07&|3+8#e000e06&|.|1|0|.|5| |S|t|r|i|n|g| |L|i|t|e|r|a|l|s|<+0#00e0e07&|/|a+0#af5f00255&|>+0#00e0e07&| +0#0000000&@28
|
||||
| +0#0000e05&@4|*| +0#e000e06&|@|s|e@1| |O+0#00e0e07&|b|j|e|c|t|#|t|o|S|t|r|i|n|g|(|)| +0#0000000&|*+0#e000e06&|/| +0#0000000&@42
|
||||
@4|/+0#0000e05&@1| |@+0#0000000&|s|t|a|r|t| +0#0000e05&|r+0#00e0003&|e|g|i|o|n| +0#0000e05&|=| |t+0#e000002&|o|S|t|r|i|n|g| +0#ffffff16#ff404010| +0#0000000#ffffff0@42
|
||||
@57|7|3|,|3|-|6| @7|9|3|%|
|
||||
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
|
||||
|-+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|/+0#0000e05&|*@1| |{+8#e000e06&|@|s|u|m@1|a|r|y| |C|o|m|p|a|r|e|s| |t|h|i|s| |i|n|s|t|a|n|c|e| |w|i|t|h| |t|h|e| |p|a|s@1|e|d| |{+0&&|@|c|o|d|e| |t|h|a|t|}| +0#0000000&@3
|
||||
||+0#0000e05#a8a8a8255| | +0&#ffffff0@4|*| +8#e000e06&|i|n|s|t|a|n|c|e| |f|o|r| |o|r|d|e|r| |b|y| |i|n|v|o|k|i|n|g| |{+0&&|@|l|i|n|k| |I|n|t|e|g|e|r|#|c|o|m|p|a|r|e|(|i|n|t|,| |i|n|t|)| +0#0000000&@2
|
||||
||+0#0000e05#a8a8a8255| | +0#e000e06#ffffff0@4|*| |c|o|m|p|a|r|e|}| +8&&|a|n|d| |p|a|s@1|i|n|g| |i|t| |{+0&&|@|c|o|d|e| |t|h|i|s|.|m|a|j|o|r|V|e|r|s|i|o|n|(|)|}| +8&&|a|n|d| +0#0000000&@10
|
||||
||+0#0000e05#a8a8a8255| | +0&#ffffff0@4|*| +8#e000e06&|{+0&&|@|c|o|d|e| |t|h|a|t|.|m|a|j|o|r|V|e|r|s|i|o|n|(|)|}| +8&&|a|s| |r|e|s|p|e|c|t|i|v|e| |@|a|r|g|u|m|e|n|t|s|.|}| +0#0000000&@11
|
||||
||+0#0000e05#a8a8a8255| | +0&#ffffff0@4>*| +0#0000000&@66
|
||||
||+0#0000e05#a8a8a8255| | +0&#ffffff0@4|*| |{+0#e000e06&|@|i|n|h|e|r|i|t|D|o|c|}| +0#0000e05&|*|/| +0#0000000&@49
|
||||
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@3|@+0#e000e06&|O|v|e|r@1|i|d|e| +0#0000000&|p+0#00e0003&|u|b|l|i|c| +0#0000000&|i+0#00e0003&|n|t| +0#0000000&|c|o|m|p|a|r|e|T|o|(|C|o|m@1|e|n|t|s|T|e|s|t|s| |t|h|a|t|)| @18
|
||||
|-+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|{| @67
|
||||
||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@7|j|a|v|a|.|u|t|i|l|.|O|b|j|e|c|t|s|.|r|e|q|u|i|r|e|N|o|n|N|u|l@1|(|t|h|a|t|,| |"+0#e000002&|t|h|a|t|"|)+0#0000000&|;| @17
|
||||
||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@7|r+0#af5f00255&|e|t|u|r|n| +0#0000000&|I|n|t|e|g|e|r|.|c|o|m|p|a|r|e|(|t+0#00e0003&|h|i|s|.+0#0000000&|m|a|j|o|r|V|e|r|s|i|o|n|(|)|,| @21
|
||||
||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@23|t|h|a|t|.|m|a|j|o|r|V|e|r|s|i|o|n|(|)@1|;| @27
|
||||
||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|}| @67
|
||||
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
|
||||
|-+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|/+0#0000e05&|*@1| +8#e000e06&|R|e|t|u|r|n|s| |a|n| |e|m|p|t|y| |s|t|r|i|n|g| |f|o|r| |a|n| |@|O|v|e|r@1|i|d|e| |a|n@1|o|t|a|t|e|d| |m|e|t|h|o|d| +0#0000000&@7
|
||||
||+0#0000e05#a8a8a8255| | +0&#ffffff0@3|*| +8#e000e06&|(|s|e@1| |C|h|a|p|t|e|r| |9|.|6|.|4|.|4| |{+0&&|@|l|i|t|e|r|a|l| |@|O|v|e|r@1|i|d|e|}| +8&&|i|n| |a| |J|a|v|a| |L|a|n|g|u|a|g|e| +0#0000000&@6
|
||||
||+0#0000e05#a8a8a8255| | +0&#ffffff0@3|*| +8#e000e06&|S|p|e|c|i|f|i|c|a|t|i|o|n|)| |o|v|e|r@1|i|d@1|e|n| |f|r|o|m| |<+0#00e0e07&|c+0#af5f00255&|o|d|e|>+0#00e0e07&|j+8#e000e06&|a|v|a|.|l+8&#ffd7d7255|a|n|g|.+8&#ffffff0|O|b|j|e|c|t|<+0#00e0e07&|/|c+0#af5f00255&|o|d|e|>+0#00e0e07&| +0#0000000&@6
|
||||
||+0#0000e05#a8a8a8255| | +0&#ffffff0@3|*| +0#0000000&@67
|
||||
||+0#0000e05#a8a8a8255| | +0&#ffffff0@3|*| |@+0#e000e06&|r|e|t|u|r|n| +0#0000e05&|a|n| |e|m|p|t|y| |s|t|r|i|n|g| |*|/@2| |N|o| |p|e|r|i|o|d| |f|o|r| |t|h|e| |a|b|o|v|e| |s|u|m@1|a|r|y|!| +0#0000000&@5
|
||||
@57|7|3|,|3|-|6| @7|6|5|%|
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
| +0&#ffffff0@3|/+0#0000e05&@1| |@+0#0000000&|s|t|a|r|t| +0#0000e05&|r+0#00e0003&|e|g|i|o|n| +0#0000e05&|=| |t+0#e000002&|o|S|t|r|i|n|g| +0#ffffff16#ff404010| +0#0000000#ffffff0@42
|
||||
@4|/+0#0000e05&@1| |@+0#0000000&|r|e|p|l|a|c|e| +0#0000e05&|s+0#00e0003&|u|b|s|t|r|i|n|g| +0#0000e05&|=| |'+0#e000002&|"@1|'| +0#0000e05&|r+0#00e0003&|e|p|l|a|c|e|m|e|n|t| +0#0000e05&|=| |"+0#e000002&|\|u|0@1|2@1|\|u|0@1|2@1|"| +0#0000000&@13
|
||||
@4|/+0#0000e05&@1| |@+0#0000000&|l|i|n|k| +0#0000e05&|r+0#00e0003&|e|g|e|x| +0#0000e05&|=| |'+0#e000002&|\|b|S|t|r|i|n|g|'| +0#0000e05&|t+0#00e0003&|a|r|g|e|t| +0#0000e05&|=| |j+0#e000002&|a|v|a|.|l|a|n|g|.|S|t|r|i|n|g| +0#0000e05&|t+0#00e0003&|y|p|e| +0#0000e05&|=| |l+0#e000002&|i|n|k|p|l|a|i|n| +0#0000e05&
|
||||
|:| +0#0000000&@73
|
||||
@4|@+0#e000e06&|O|v|e|r@1|i|d|e| +0#0000000&|p+0#00e0003&|u|b|l|i|c| +0#0000000&|S|t|r|i|n|g| |t|o|S|t|r|i|n|g|(|)| |{| |r+0#af5f00255&|e|t|u|r|n| +0#0000000&|"+0#e000002&@1|;+0#0000000&| |}| @21
|
||||
@4>/+0#0000e05&@1| |@+0#0000000&|e|n|d| +0#ffffff16#ff404010| +0#0000000#ffffff0@62
|
||||
|}| @73
|
||||
|~+0#4040ff13&| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
| +0#0000000&@56|8|9|,|2|-|5| @7|B|o|t|
|
||||
||+0#0000e05#a8a8a8255| | +0&#ffffff0@3|*| |@+0#e000e06&|r|e|t|u|r|n| +0#0000e05&|a|n| |e|m|p|t|y| |s|t|r|i|n|g| |*|/@2| |N|o| |p|e|r|i|o|d| |f|o|r| |t|h|e| |a|b|o|v|e| |s|u|m@1|a|r|y|!| +0#0000000&@5
|
||||
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@3|@+0#e000e06&|O|v|e|r@1|i|d|e| +0#0000000&|p+0#00e0003&|u|b|l|i|c| +0#0000000&|S|t|r|i|n|g| |t|o|S|t|r|i|n|g|(|)| |{| |r+0#af5f00255&|e|t|u|r|n| +0#0000000&|"+0#e000002&@1|;+0#0000000&| |}| @19
|
||||
| +0#0000e05#a8a8a8255@1|}+0#0000000#ffffff0| @71
|
||||
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
|
||||
| +0#0000e05#a8a8a8255@1|/+0&#ffffff0@1| |j+0&#ffd7d7255|a|v|a|d|o|c| +0&#ffffff0|-@1|s|n|i|p@1|e|t|-|p|a|t|h| |.| |-@1|s|o|u|r|c|e|-|p|a|t|h| |.| |-|d| |/|t+0&#ffd7d7255|m|p|/+0&#ffffff0|d|o|c|s|/| |-|p|a|c|k|a|g|e| |\| +0#0000000&@4
|
||||
| +0#0000e05#a8a8a8255@1>/+0&#ffffff0@1| +0#ffffff16#ff404010| +0#0000e05#ffffff0|-|t|a|g| |'|j+0&#ffd7d7255|l|s|:+0&#ffffff0|a|:|S|e@1| |J|a|v|a| |L|a|n|g|u|a|g|e| |S|p|e|c|i|f|i|c|a|t|i|o|n|:|'| |S|n|i|p@1|e|t|s|.|j|a|v|a| +0#0000000&@9
|
||||
| +0#0000e05#a8a8a8255@1|/+0&#ffffff0|*@1| +8#e000e06&|S|n|i|p@1|e|t|s| |f|o|r| |c|o|m@1|e|n|t| |t|e|s|t|s|.| +0#0000e05&|*|/| +0#0000000&@38
|
||||
| +0#0000e05#a8a8a8255@1|c+0#00e0003#ffffff0|l|a|s@1| +0#0000000&|S|n|i|p@1|e|t|s| @58
|
||||
| +0#0000e05#a8a8a8255@1|{+0#0000000#ffffff0| @2|/+0#0000001#ffff4012|*| +0#ffffff16#ff404010| +0#0000e05#ffffff0|T|R|A|I|L|I|N|G| |B|L|A|N|K|S| |A|N|D| |M+0&#ffd7d7255|E|S@1|P|I|L@1|I|N|G|S| +0&#ffffff0|A|R|E| |S|I|G|N|I|F|I|C|A|N|T|!| |*+0#0000001#ffff4012|/| +0#0000000#ffffff0@12
|
||||
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@3|p+0#00e0003&|r|i|v|a|t|e| +0#0000000&|S|n|i|p@1|e|t|s|(|)| |{| |}| @46
|
||||
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
|
||||
|-+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|/+0#0000e05&|*@1| +8#e000e06&|T|h|e| |m|e|t|h|o|d| |{+0&&|@|c|o|d|e| |m|a|i|n|}| +8&&|m|u|s|t| |b|e| |d|e|c|l|a|r|e|d| |{+0&&|@|c|o|d|e| |p|u|b|l|i|c|}|,+8&&| |{+0&&|@|c|o|d|e| +0#0000000&@1
|
||||
||+0#0000e05#a8a8a8255| | +0#e000e06#ffffff0@4|*| |s|t|a|t|i|c|}|,+8&&| |a|n|d| |{+0&&|@|c|o|d|e| |v|o|i|d|}|.+8&&| +0#0000e05&@1|I|t| |m|u|s|t| |s|p|e|c|i|f|y| |a| |f|o|r|m|a|l| |p|a|r|a|m|e|t|e|r| +0#0000000&@3
|
||||
||+0#0000e05#a8a8a8255| | +0&#ffffff0@4|*| |w|h|o|s|e| |d|e|c|l|a|r|e|d| |t|y|p|e| |i|s| |a|r@1|a|y| |o|f| |{+0#e000e06&|@|l|i|n|k| |S|t|r|i|n|g|}|.+0#0000e05&| @1|T|h|e|r|e|f|o|r|e|,| +0#0000000&@6
|
||||
||+0#0000e05#a8a8a8255| | +0&#ffffff0@4|*| |<+0#00e0e07&|e+0#af5f00255&|m|>+0#00e0e07&|e+0#0000000&|i|t|h|e|r|<+0#00e0e07&|/|e+0#af5f00255&|m|>+0#00e0e07&| +0#0000e05&|o|f| |t|h|e| |f|o|l@1|o|w|i|n|g| |d|e|c|l|a|r|a|t|i|o|n|s| |i|s| |a|c@1|e|p|t|a|b|l|e|:| +0#0000000&@5
|
||||
||+0#0000e05#a8a8a8255| | +0&#ffffff0@4|*| +0#ffffff16#ff404010| +0#0000e05#ffffff0|{+0#e000e06&|@|s|n|i|p@1|e|t| |l+0#00e0003&|a|n|g|=+0#e000e06&|"+0#e000002&|j|a|v|a|"|:+0#e000e06&| +0#0000000&@42
|
||||
||+0#0000e05#a8a8a8255| | +0#e000e06#ffffff0@4|*| |/@1| |@+0#0000000&|h|i|g|h|l|i|g|h|t| +0#e000e06&|s+0#00e0003&|u|b|s|t|r|i|n|g|=+0#e000e06&|"+0#e000002&|m|a|i|n|"| +0#e000e06&|t+0#00e0003&|y|p|e|=+0#e000e06&|"+0#e000002&|i|t|a|l|i|c|"|:+0#e000e06&| +0#0000000&@20
|
||||
||+0#0000e05#a8a8a8255| | +0#e000e06#ffffff0@4|*| |p|u|b|l|i|c| |s|t|a|t|i|c| |v|o|i|d| |m|a|i|n|(|S|t|r|i|n|g|[|]| |a|r|g|s|)| |{| |}| +0#0000000&@23
|
||||
||+0#0000e05#a8a8a8255| | +0#e000e06#ffffff0@4|*| |}|<+0#00e0e07&|b+0#af5f00255&|r| +0#00e0e07&|/|>|<|p+0#af5f00255&|r|e| +0#00e0e07&|c+0#00e0003&|l|a|s@1|=+0#00e0e07&|"+0#e000002&|s|n|i|p@1|e|t|"|>+0#00e0e07&| +0#0000000&@37
|
||||
@57|9|1|,|1| @9|8|2|%|
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
||+0#0000e05#a8a8a8255| | +0#e000e06#ffffff0@4|*| |}|<+0#00e0e07&|b+0#af5f00255&|r| +0#00e0e07&|/|>|<|p+0#af5f00255&|r|e| +0#00e0e07&|c+0#00e0003&|l|a|s@1|=+0#00e0e07&|"+0#e000002&|s|n|i|p@1|e|t|"|>+0#00e0e07&| +0#0000000&@37
|
||||
||+0#0000e05#a8a8a8255| | +0&#ffffff0@4|*|{+0#e000e06&|@|c|o|d|e| |p|u|b|l|i|c| |s|t|a|t|i|c| |v|o|i|d| |m|a|i|n|(|S|t|r|i|n|g|.@2| |a|r|g|s|)| |{| |}@1|<+0#00e0e07&|/|p+0#af5f00255&|r|e|>+0#00e0e07&| +0#0000000&@9
|
||||
||+0#0000e05#a8a8a8255| | +0&#ffffff0@4|*| +0#0000000&@66
|
||||
||+0#0000e05#a8a8a8255| | +0&#ffffff0@4|*| |@+0#e000e06&|p|a|r|a|m| |a+0#00e0e07&|r|g|s| +0#0000e05&|o|p|t|i|o|n|a|l| |c+0&#ffd7d7255|o|m@1|a|n|d|e|-+0&#ffffff0|l|i|n|e| |a|r|g|u|m|e|n|t|s| +0#ffffff16#ff404010| +0#0000000#ffffff0@20
|
||||
||+0#0000e05#a8a8a8255| | +0&#ffffff0@4|*| |@|j+0&#ffd7d7255|l|s| +0&#ffffff0|1|2|.|1|.|4| |I|n|v|o|k|e| |{+0#e000e06&|@|c|o|d|e| |T|e|s|t|.|m|a|i|n|}| +0#0000e05&|*|/| +0#0000000&@26
|
||||
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@3>/+0#0000e05&@1| |@+0#0000000&|s|t|a|r|t| +0#0000e05&|r+0#00e0003&|e|g|i|o|n| +0#0000e05&|=| |m+0#e000002&|a|i|n| +0#ffffff16#ff404010@4| +0#0000000#ffffff0@40
|
||||
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@3|/+0#0000e05&@1| |@+0#0000000&|l|i|n|k| +0#0000e05&|s+0#00e0003&|u|b|s|t|r|i|n|g| +0#0000e05&|=| |'+0#e000002&|S|t|r|i|n|g|'| +0#0000e05&|t+0#00e0003&|a|r|g|e|t| +0#0000e05&|=| |'+0#e000002&|j|a|v|a|.|l|a|n|g|.|S|t|r|i|n|g|'| +0#0000e05&|:| +0#0000000&@9
|
||||
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@3|p+0#00e0003&|u|b|l|i|c| +0#0000000&|s+0#00e0003&|t|a|t|i|c| +0#0000000&|v+0#00e0003&|o|i|d| +0#0000000&|m|a|i|n|(|S|t|r|i|n|g|[|]| |a|r|g|s|)| |{| |}| @26
|
||||
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@3|/+0#0000e05&@1| |@+0#0000000&|e|n|d| +0#ffffff16#ff404010| +0#0000000#ffffff0@60
|
||||
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
|
||||
|-+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|/+0#0000e05&|*@1| |{+8#e000e06&|@+0&&|r|e|t|u|r|n| +8&&|a|n| |e|m|p|t|y| |s|t|r|i|n|g|}| +0#0000000&@39
|
||||
||+0#0000e05#a8a8a8255| | +0&#ffffff0@4|*| |@+0#e000e06&|s|e@1| +0#0000e05&|<+0#00e0e07&|a+0#af5f00255&| +0#00e0e07&|h+0#00e0003&|r|e|f|=+0#00e0e07&|"+0#e000002&|h|t@1|p|s|:|/@1|d|o|c|s|.|o|r|a|c|l|e|.|c|o|m|/|j|a|v|a|s|e|/|s|p|e|c|s|/|j|l|s|/|s|e|2|1|/|h|t|m|l|/|j
|
||||
||+0#0000e05#a8a8a8255| |l+0#e000002#ffffff0|s|-|3|.|h|t|m|l|#|j|l|s|-|3|.|1|0|.|5|"|>+0#00e0e07&|3+8#e000e06&|.|1|0|.|5| |S|t|r|i|n|g| |L|i|t|e|r|a|l|s|<+0#00e0e07&|/|a+0#af5f00255&|>+0#00e0e07&| +0#0000000&@24
|
||||
||+0#0000e05#a8a8a8255| | +0&#ffffff0@4|*| |@+0#e000e06&|s|e@1| +0#0000e05&|j+0#00e0e07&|a|v|a|.|b|a|s|e|/|j|a|v|a|.|l|a|n|g|.|O|b|j|e|c|t|#|t|o|S|t|r|i|n|g|(|)| +0#0000e05&|*|/| +0#0000000&@20
|
||||
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@3|/+0#0000e05&@1| |@+0#0000000&|s|t|a|r|t| +0#0000e05&|r+0#00e0003&|e|g|i|o|n| +0#0000e05&|=| |t+0#e000002&|o|S|t|r|i|n|g| +0#ffffff16#ff404010| +0#0000000#ffffff0@40
|
||||
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@3|/+0#0000e05&@1| |@+0#0000000&|r|e|p|l|a|c|e| +0#0000e05&|s+0#00e0003&|u|b|s|t|r|i|n|g| +0#0000e05&|=| |'+0#e000002&|"@1|'| +0#0000e05&|r+0#00e0003&|e|p|l|a|c|e|m|e|n|t| +0#0000e05&|=| |"+0#e000002&|\|u|0@1|2@1|\|u|0@1|2@1|"| +0#0000000&@11
|
||||
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@3|/+0#0000e05&@1| |@+0#0000000&|l|i|n|k| +0#0000e05&|r+0#00e0003&|e|g|e|x| +0#0000e05&|=| |'+0#e000002&|\|b|S|t|r|i|n|g|'| +0#0000e05&|t+0#00e0003&|a|r|g|e|t| +0#0000e05&|=| |j+0#e000002&|a|v|a|.|l|a|n|g|.|S|t|r|i|n|g| +0#0000e05&|t+0#00e0003&|y|p|e| +0#0000e05&|=| |l+0#e000002&|i|n|k|p|l|a|i
|
||||
| +0#0000e05#a8a8a8255@1|n+0#e000002#ffffff0| +0#0000e05&|:| +0#0000000&@69
|
||||
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@3|@+0#e000e06&|O|v|e|r@1|i|d|e| +0#0000000&|p+0#00e0003&|u|b|l|i|c| +0#0000000&|S|t|r|i|n|g| |t|o|S|t|r|i|n|g|(|)| |{| |r+0#af5f00255&|e|t|u|r|n| +0#0000000&|"+0#e000002&@1|;+0#0000000&| |}| @19
|
||||
@57|1|0|9|,|2|-|5| @6|9|8|%|
|
||||
@@ -0,0 +1,20 @@
|
||||
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@3|@+0#e000e06&|O|v|e|r@1|i|d|e| +0#0000000&|p+0#00e0003&|u|b|l|i|c| +0#0000000&|S|t|r|i|n|g| |t|o|S|t|r|i|n|g|(|)| |{| |r+0#af5f00255&|e|t|u|r|n| +0#0000000&|"+0#e000002&@1|;+0#0000000&| |}| @19
|
||||
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@3|/+0#0000e05&@1| |@+0#0000000&|e|n|d| +0#ffffff16#ff404010| +0#0000000#ffffff0@60
|
||||
| +0#0000e05#a8a8a8255@1>}+0#0000000#ffffff0| @71
|
||||
|~+0#4040ff13&| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
| +0#0000000&@56|1|2@1|,|1| @8|B|o|t|
|
||||
@@ -0,0 +1,20 @@
|
||||
>/+0#0000e05#ffffff0@1| |T|h|i|s| |m|o|d|u|l|e| |d|e|c|l|a|r|a|t|i|o|n| |b|e|l|o|n|g|s| |t|o| |t|h|e| |s|a|m|p|l|e| |p|r|o|j|e|c|t| |p|u|b|l|i|s|h|e|d| |a|t| +0#0000000&@5
|
||||
|/+0#0000e05&@1| |h|t@1|p|s|:|/@1|g|i|t|h|u|b|.|c|o|m|/|z@2|y|x|w|v|u|t|/|m|o|d|u|l|e|-|i|n|f|o|.|g|i|t| |.| +0#0000000&@25
|
||||
@75
|
||||
|i+0#e000e06&|m|p|o|r|t| +0#0000000&|j|a|v|a|.|u|t|i|l|.|S|e|r|v|i|c|e|L|o|a|d|e|r|;| @43
|
||||
@75
|
||||
|/+0#0000e05&|*@1| +0#0000000&@71
|
||||
| +0#0000e05&|*| +0#e000e06&|D|e|f|i|n|e|s| |d|e|m|o| |r|e|l|a|t|e|d| |s|u|p@1|o|r|t|.| +0#0000000&@42
|
||||
| +0#0000e05&|*| +0#0000000&@72
|
||||
| +0#0000e05&|*| |N|o|t|e| |t|h|a|t| |t|h|e| |{+0#e000e06&|@|c|o|d|e| |T|e|s|t|a|b|l|e|}| +0#0000e05&|s|e|r|v|i|c|e| |i|s| |n|o|t| |e|x|p|o|r|t|e|d|.| +0#0000000&@16
|
||||
| +0#0000e05&|*| +0#0000000&@72
|
||||
| +0#0000e05&|*| |@+0#e000e06&|u|s|e|s| |o+0#00e0e07&|r|g|.|d|e|m|o|.|i|n|t|e|r|n|a|l|.|T|e|s|t|a|b|l|e| +0#0000000&@39
|
||||
| +0#0000e05&|*| |@+0#e000e06&|p|r|o|v|i|d|e|s| |o+0#00e0e07&|r|g|.|d|e|m|o|.|i|n|t|e|r|n|a|l|.|T|e|s|t|a|b|l|e| +0#0000000&@35
|
||||
| +0#0000e05&|*| |@+0#e000e06&|s|e@1| +0#0000e05&|S+0#00e0e07&|e|r|v|i|c|e|L|o|a|d|e|r| +0#0000000&@53
|
||||
| +0#0000e05&|*|/| +0#0000000&@71
|
||||
|m+0#00e0003&|o|d|u|l|e| +0#0000000&|o|r|g|.|m+0#00e0003&|o|d|u|l|e|.+0#0000000&|i|n|f|o|.|d|e|m|o| @47
|
||||
|{| @73
|
||||
@4|r+0#af5f00255&|e|q|u|i|r|e|s| +0#0000000&|s+0#00e0003&|t|a|t|i|c| +0#0000000&|j|d|k|.|j|f|r|;| @46
|
||||
@4|r+0#af5f00255&|e|q|u|i|r|e|s| +0#0000000&|j|a|v|a|.|b|a|s|e|;| @51
|
||||
@4|r+0#af5f00255&|e|q|u|i|r|e|s| +0#0000000&|t+0#00e0003&|r|a|n|s|i|t|i|v|e| +0#0000000&|j|a|v|a|.|l|o|g@1|i|n|g|;| @37
|
||||
@57|1|,|1| @10|T|o|p|
|
||||
@@ -0,0 +1,20 @@
|
||||
| +0#0000e05#ffffff0|*|/| +0#0000000&@71
|
||||
|m+0#00e0003&|o|d|u|l|e| +0#0000000&|o|r|g|.|m+0#00e0003&|o|d|u|l|e|.+0#0000000&|i|n|f|o|.|d|e|m|o| @47
|
||||
|{| @73
|
||||
@4|r+0#af5f00255&|e|q|u|i|r|e|s| +0#0000000&|s+0#00e0003&|t|a|t|i|c| +0#0000000&|j|d|k|.|j|f|r|;| @46
|
||||
@4|r+0#af5f00255&|e|q|u|i|r|e|s| +0#0000000&|j|a|v|a|.|b|a|s|e|;| @51
|
||||
@4>r+0#af5f00255&|e|q|u|i|r|e|s| +0#0000000&|t+0#00e0003&|r|a|n|s|i|t|i|v|e| +0#0000000&|j|a|v|a|.|l|o|g@1|i|n|g|;| @37
|
||||
@4|r+0#af5f00255&|e|q|u|i|r|e|s| +0#0000000&|t+0#00e0003&|r|a|n|s|i|t|i|v|e| +0#0000000&|s+0#00e0003&|t|a|t|i|c| +0#0000000&|o|r|g|.|m+0#00e0003&|o|d|u|l|e|.+0#0000000&|i|n|f|o|.|t|e|s|t|e|r|;| @20
|
||||
@75
|
||||
@4|e+0#af5f00255&|x|p|o|r|t|s| +0#0000000&|o|r|g|.|d|e|m|o|;| @53
|
||||
@4|e+0#af5f00255&|x|p|o|r|t|s| +0#0000000&|o|r|g|.|d|e|m|o|.|i|n|t|e|r|n|a|l| |t+0#e000e06&|o| +0#0000000&@42
|
||||
@8|o|r|g|.|m+0#00e0003&|o|d|u|l|e|.+0#0000000&|i|n|f|o|.|d|e|m|o|;| @45
|
||||
@75
|
||||
@4|o+0#af5f00255&|p|e|n|s| +0#0000000&|o|r|g|.|d|e|m|o|.|i|n|t|e|r|n|a|l| |t+0#e000e06&|o| +0#0000000&@44
|
||||
@8|o|r|g|.|m+0#00e0003&|o|d|u|l|e|.+0#0000000&|i|n|f|o|.|d|e|m|o|;| @45
|
||||
@4|o+0#af5f00255&|p|e|n|s| +0#0000000&|o|r|g|.|d|e|m|o|.|t|e|s|t|s| |t+0#e000e06&|o| +0#0000000&@47
|
||||
@8|o|r|g|.|m+0#00e0003&|o|d|u|l|e|.+0#0000000&|i|n|f|o|.|d|e|m|o|,| |o|r|g|.|m+0#00e0003&|o|d|u|l|e|.+0#0000000&|i|n|f|o|.|t|e|s|t|e|r|;| @21
|
||||
@75
|
||||
@4|u+0#af5f00255&|s|e|s| +0#0000000&|o|r|g|.|d|e|m|o|.|i|n|t|e|r|n|a|l|.|T|e|s|t|a|b|l|e|;| @38
|
||||
@75
|
||||
@57|1|9|,|2|-|5| @7|8|1|%|
|
||||
@@ -0,0 +1,20 @@
|
||||
| +0&#ffffff0@74
|
||||
@4|p+0#af5f00255&|r|o|v|i|d|e|s| +0#0000000&|o|r|g|.|d|e|m|o|.|i|n|t|e|r|n|a|l|.|T|e|s|t|a|b|l|e| |w+0#e000e06&|i|t|h| +0#0000000&@30
|
||||
@8|o|r|g|.|d|e|m|o|.|t|e|s|t|s|.|A|r|i|t|h|m|e|t|i|c|O|p|e|r|a|t|i|o|n|T|e|s|t|s|;| @26
|
||||
>}| @73
|
||||
|~+0#4040ff13&| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
| +0#0000000&@56|3|5|,|1| @9|B|o|t|
|
||||
@@ -0,0 +1,20 @@
|
||||
>/+0#0000e05#ffffff0@1| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |l|e|t| |g|:|j|a|v|a|_|s|y|n|t|a|x|_|p|r|e|v|i|e|w|s| |=| |[|4|3|0|]| +0#0000000&@22
|
||||
@75
|
||||
@75
|
||||
@75
|
||||
|c+0#00e0003&|l|a|s@1| +0#0000000&|S|t|r|i|n|g|T|e|m|p|l|a|t|e|T|e|s|t|s| @2|/+0#0000e05&@1| |J|D|K| |2|1|+| |(|-@1|e|n|a|b|l|e|-|p|r|e|v|i|e|w| |-@1|r|e|l|e|a|s|e| |2|1|)|.| +0#0000000&@3
|
||||
|{| @73
|
||||
@4|s+0#00e0003&|t|a|t|i|c| +0#0000000&|{| @62
|
||||
@8|S|y|s|t|e|m|.|o|u|t|.|p|r|i|n|t|l|n|(|S|T|R|.|"@2| @40
|
||||
| +0#e000e06&@7|"| +0#0000000&@65
|
||||
| +0#e000e06&@7|\|{|"+0#e000002&|\+0#e000e06&|"|\|"|"+0#e000002&|}+0#e000e06&| +0#0000000&@57
|
||||
| +0#e000e06&@7|\|{|"+0#e000002&|\+0#e000e06&|"|\|"|"+0#e000002&|}+0#e000e06&|\|{|"+0#e000002&|\+0#e000e06&|u|0@1|5|c|\|u|0@1|2@1|"+0#e000002&|}+0#e000e06&| +0#0000000&@40
|
||||
| +0#e000e06&@7|\|{|"+0#e000002&|\+0#e000e06&|"|\|"|"+0#e000002&|}+0#e000e06&|\|{|"+0#e000002&|\+0#e000e06&|u|0@1|5|c|\|u|0@1|2@1|"+0#e000002&|}+0#e000e06&|"| +0#0000000&@39
|
||||
| +0#e000e06&@7|\|{|"+0#e000002&|\+0#e000e06&|"|\|"|"+0#e000002&|}+0#e000e06&|\|"|\|{|"+0#e000002&|\+0#e000e06&|u|0@1|5|c|\|u|0@1|2@1|\|u|0@1|5|c|\|u|0@1|2@1|"+0#e000002&|}+0#e000e06&| +0#0000000&@26
|
||||
| +0#e000e06&@7|\|{|"+0#e000002&|\+0#e000e06&|"|\|"|"+0#e000002&|}+0#e000e06&|\|"|\|{|"+0#e000002&|\+0#e000e06&|"|\|"|"+0#e000002&|}+0#e000e06&|\|{|"+0#e000002&|\+0#e000e06&|u|0@1|5|c|\|u|0@1|2@1|"+0#e000002&|}+0#e000e06&| +0#0000000&@29
|
||||
| +0#e000e06&@7|\|{|"+0#e000002&|\+0#e000e06&|"|\|"|"+0#e000002&|}+0#e000e06&|\|"|\|{|"+0#e000002&|\+0#e000e06&|"|\|"|"+0#e000002&|}+0#e000e06&|\|"@1| +0#0000000&@43
|
||||
| +0#e000e06&@7|\|{|"+0#e000002&|\+0#e000e06&|"|\|"|"+0#e000002&|}+0#e000e06&|\|"|\|{|"+0#e000002&|\+0#e000e06&|"|\|"|"+0#e000002&|}+0#e000e06&|\|"@1|\|"|"+0#0000000&@2|)|;| @36
|
||||
@75
|
||||
@8|S|t|r|i|n|g| |w|o@1|f| |=| |"+0#e000002&|W|o@1|f|"|,+0#0000000&| |d|o|g| |=| |"+0#e000002&|d|o|g|"|,+0#0000000&| |f|o|x| |=| |"+0#e000002&|f|o|x|"|;+0#0000000&| @19
|
||||
@75
|
||||
@57|1|,|1| @10|T|o|p|
|
||||
+5
-5
@@ -1,14 +1,14 @@
|
||||
| +0#e000e06#ffffff0@7|\|{|"+0#e000002&|\+0#e000e06&|"|\|"|"+0#e000002&|}+0#e000e06&|\|"|\|{|"+0#e000002&|\+0#e000e06&|"|\|"|"+0#e000002&|}+0#e000e06&|\|{|"+0#e000002&|\+0#e000e06&|u|0@1|5|c|\|u|0@1|2@1|"+0#e000002&|}+0#e000e06&| +0#0000000&@29
|
||||
| +0#e000e06&@7|\|{|"+0#e000002&|\+0#e000e06&|"|\|"|"+0#e000002&|}+0#e000e06&|\|"|\|{|"+0#e000002&|\+0#e000e06&|"|\|"|"+0#e000002&|}+0#e000e06&|\|"@1| +0#0000000&@43
|
||||
| +0#e000e06&@7|\|{|"+0#e000002&|\+0#e000e06&|"|\|"|"+0#e000002&|}+0#e000e06&|\|"|\|{|"+0#e000002&|\+0#e000e06&|"|\|"|"+0#e000002&|}+0#e000e06&|\|"@1|\|"|"+0#0000000&@2|)|;| @5|/+0#0000e05&@1| |J|D|K| |2|1|+|.| +0#0000000&@19
|
||||
| +0#e000e06&@7|\|{|"+0#e000002&|\+0#e000e06&|"|\|"|"+0#e000002&|}+0#e000e06&|\|"|\|{|"+0#e000002&|\+0#e000e06&|"|\|"|"+0#e000002&|}+0#e000e06&|\|"@1|\|"|"+0#0000000&@2|)|;| @36
|
||||
@75
|
||||
@8|S|t|r|i|n|g| |w|o@1|f| |=| |"+0#e000002&|W|o@1|f|"|,+0#0000000&| |d|o|g| |=| |"+0#e000002&|d|o|g|"|,+0#0000000&| |f|o|x| |=| |"+0#e000002&|f|o|x|"|;+0#0000000&| @19
|
||||
> @74
|
||||
@8|S|t|r|i|n|g| |s|6| |=| |S|T|R| @51
|
||||
@8|S|t|r|i|n|g| |s|1| |=| |S|T|R| @51
|
||||
@12|.|"+0#e000e06&|A| |q|u|i|c|k| |b|r|o|w|n| |\|{|f+0#0000000&|o|x|}+0#e000e06&| |j|u|m|p|s| |o|v|e|r| |t|h|e| |l|a|z|y| |\|{|d+0#0000000&|o|g|}+0#e000e06&|"|;+0#0000000&| @11
|
||||
@8|S|t|r|i|n|g| |s|7| |=| |S|T|R|.|p|r|o|c|e|s@1|(|S|t|r|i|n|g|T|e|m|p|l|a|t|e|.|R|A|W| @24
|
||||
@8|S|t|r|i|n|g| |s|2| |=| |S|T|R|.|p|r|o|c|e|s@1|(|S|t|r|i|n|g|T|e|m|p|l|a|t|e|.|R|A|W| @24
|
||||
@12|.|"+0#e000e06&|\|"|\|{|w+0#0000000&|o@1|f|}+0#e000e06&|\|s|!|\|"@1|)+0#0000000&|;| @43
|
||||
@8|S|t|r|i|n|g| |s|8| |=| |S|T|R|.|"@2| @47
|
||||
@8|S|t|r|i|n|g| |s|3| |=| |S|T|R|.|"@2| @47
|
||||
| +0#e000e06&@11|A|\|s|\| +0#0000000&@58
|
||||
| +0#e000e06&@11|q|u|i|c|k| |\| +0#0000000&@55
|
||||
| +0#e000e06&@11|b|r|o|w|n|\|s|\| +0#0000000&@54
|
||||
@@ -17,4 +17,4 @@
|
||||
| +0#e000e06&@11|o|v|e|r| |\| +0#0000000&@56
|
||||
| +0#e000e06&@11|t|h|e|\|s|\| +0#0000000&@56
|
||||
| +0#e000e06&@11|l|a|z|y| |\| +0#0000000&@56
|
||||
@57|5@1|,|0|-|1| @7|5|7|%|
|
||||
@57|1|9|,|0|-|1| @7|2|6|%|
|
||||
+5
-5
@@ -1,20 +1,20 @@
|
||||
| +0#e000e06#ffffff0@11|l|a|z|y| |\| +0#0000000&@56
|
||||
| +0#e000e06&@11|\|{|d+0#0000000&|o|g|}+0#e000e06&|"+0#0000000&@2|;| @52
|
||||
@8|S|t|r|i|n|g| |s|9| |=| |S|T|R|.|p|r|o|c|e|s@1|(|S|t|r|i|n|g|T|e|m|p|l|a|t|e|.|R|A|W| @24
|
||||
@8|S|t|r|i|n|g| |s|4| |=| |S|T|R|.|p|r|o|c|e|s@1|(|S|t|r|i|n|g|T|e|m|p|l|a|t|e|.|R|A|W| @24
|
||||
@12|.| @61
|
||||
@12|"@2| @59
|
||||
| +0#e000e06&@11>"|\|{|w+0#0000000&|o@1|f|}+0#e000e06&|\|s|!|\|"|"+0#0000000&@2|)|;| @44
|
||||
@8|S|t|r|i|n|g| |s|1|0| |=| |j|a|v|a|.|u|t|i|l|.|F|o|r|m|a|t|P|r|o|c|e|s@1|o|r|.|F|M|T| @24
|
||||
@8|S|t|r|i|n|g| |s|5| |=| |j|a|v|a|.|u|t|i|l|.|F|o|r|m|a|t|P|r|o|c|e|s@1|o|r|.|F|M|T| @25
|
||||
@12|.| |"+0#e000e06&|%|-|1|4|s|\|{|"+0#e000002&|A|\+0#e000e06&|s|"+0#e000002&| +0#0000000&|+| |S|T|R| |.| |"+0#e000e06&|q|u|i|c|k|"| +0#0000000&|+| |"+0#e000002&|b|r|o|w|n|"|}+0#e000e06&|%|s|\|{|f+0#0000000&|o|x|}+0#e000e06&| |"| +0#0000000&@10
|
||||
@12|+| |j|a|v|a|.|u|t|i|l|.|F|o|r|m|a|t|P|r|o|c|e|s@1|o|r|.|F|M|T| @31
|
||||
@12|.| |"+0#e000e06&|%|-|2|0|s|\|{|"+0#e000002&|j|u|m|p|s|\+0#e000e06&|s|o+0#e000002&|v|e|r| |t|h|e|\+0#e000e06&|s|"+0#e000002&| +0#0000000&@33
|
||||
@20|+| |S|T|R| |.| |"+0#e000e06&|l|a|z|y|"|}|%|s|\|{|d+0#0000000&|o|g|}+0#e000e06&|"|;+0#0000000&| @29
|
||||
@8|S|t|r|i|n|g| |s|1@1| |=| |S|T|R|.|"@2| @46
|
||||
@8|S|t|r|i|n|g| |s|6| |=| |S|T|R|.|"@2| @47
|
||||
| +0#e000e06&@11|\|"|\|{| +0#0000000&@11|/+0#0000e05&@1| |A| |n|e|s|t|e|d| |c|o|m@1|e|n|t|.| +0#0000000&@26
|
||||
@8|(|n+0#af5f00255&|e|w| +0#0000000&|j|a|v|a|.|u|t|i|l|.|f|u|n|c|t|i|o|n|.|F|u|n|c|t|i|o|n|<|S|t|r|i|n|g|,| |S|t|r|i|n|g|>|(|)| |{| @14
|
||||
@12|p+0#00e0003&|u|b|l|i|c| +0#0000000&|S|t|r|i|n|g| |a|p@1|l|y|(|S|t|r|i|n|g| |b|a|y|)| |{| |r+0#af5f00255&|e|t|u|r|n| +0#0000000&|b|a|y|;| |}|;| @14
|
||||
@8|}|)|.|a|p@1|l|y|(|w|o@1|f|)| @52
|
||||
@12|}+0#e000e06&|\|s|!|\|"|"+0#0000000&@2|;| @52
|
||||
@8|S|t|r|i|n|g| |s|1|2| |=| |j|a|v|a|.|u|t|i|l|.|F|o|r|m|a|t|P|r|o|c|e|s@1|o|r|.|F|M|T| @24
|
||||
@8|S|t|r|i|n|g| |s|7| |=| |j|a|v|a|.|u|t|i|l|.|F|o|r|m|a|t|P|r|o|c|e|s@1|o|r|.|F|M|T| @25
|
||||
@12|.|"@2| @58
|
||||
@57|7|3|,|4|-|1|3| @6|7|8|%|
|
||||
@57|3|7|,|4|-|1|3| @6|6|3|%|
|
||||
+2
-2
@@ -10,11 +10,11 @@
|
||||
| +0#e000e06&@15|t|h|e|\|s|\| +0#0000000&@52
|
||||
| +0#e000e06&@15|\|{| +0#0000000&|"+0#e000002&|l|a|z|y|"| +0#0000000&|}+0#e000e06&| |"+0#0000000&@2|}+0#e000e06&|\| +0#0000000&@41
|
||||
| +0#e000e06&@11|%|s|\|{| +0#0000000&|d|o|g| |}+0#e000e06&|"+0#0000000&@2|;| @48
|
||||
@8|S|t|r|i|n|g| |s|1|3| |=| |S|T|R| @50
|
||||
@8|S|t|r|i|n|g| |s|8| |=| |S|T|R| @51
|
||||
@12|.|"+0#e000e06&|\|"|\|{| +0#0000000&@9|/+0#0000e05&|*| |A| |n|e|s|t|e|d| |c|o|m@1|e|n|t|.| |*|/| +0#0000000&@23
|
||||
@8|(@1|j|a|v|a|.|u|t|i|l|.|f|u|n|c|t|i|o|n|.|F|u|n|c|t|i|o|n|<|S|t|r|i|n|g|,| |S|t|r|i|n|g|>|)| |b|a|y| |-|>| |b|a|y|)| @8
|
||||
@28|.|a|p@1|l|y|(|w|o@1|f|)| @34
|
||||
@12|}+0#e000e06&|\|s|!|\|"@1|;+0#0000000&| @54
|
||||
@4|}| @69
|
||||
|}| @73
|
||||
@57|9|1|,|4|-|1|3| @6|B|o|t|
|
||||
@57|5@1|,|4|-|1|3| @6|B|o|t|
|
||||
@@ -1,4 +1,4 @@
|
||||
>c+0#00e0003#ffffff0|l|a|s@1| +0#0000000&|S|t|r|i|n|g|T|e|s|t|s| @2|/+0#0000e05&@1| |J|D|K| |2|1|+| |(|-@1|e|n|a|b|l|e|-|p|r|e|v|i|e|w| |-@1|r|e|l|e|a|s|e| |2|1|)|.| +0#0000000&@11
|
||||
>c+0#00e0003#ffffff0|l|a|s@1| +0#0000000&|S|t|r|i|n|g|T|e|s|t|s| @57
|
||||
|{| @73
|
||||
@4|s+0#00e0003&|t|a|t|i|c| +0#0000000&|{| @62
|
||||
@8|S|t|r|i|n|g| |s|1| |=| |"+0#e000002&|A| |q|u|i|c|k| |b|r|o|w|n| |f|o|x| |j|u|m|p|s| |o|v|e|r| |t|h|e| |l|a|z|y| |d|o|g|"|;+0#0000000&| @10
|
||||
|
||||
@@ -17,4 +17,4 @@
|
||||
@8|/+0#0000e05&@1| |T|h|e|r|e| |a|r|e| |S|P|A|C|E|,| |F@1|,| |H|T|,| |C|R|,| |a|n|d| |L|F| |a|f|t|e|r| |"@2|.| +0#0000000&@17
|
||||
@8|S|t|r|i|n|g| |e|m|p|t|y| |=| |"@2| |^+0#0000e05&|L| +0#0000000&@2|^+0#0000e05&|M| +0#0000000&@40
|
||||
| +0#e000002&@11|"+0#0000000&@2|;| @58
|
||||
@57|1|9|,|3|-|9| @7|1|5|%|
|
||||
@57|1|9|,|3|-|9| @7|5|2|%|
|
||||
|
||||
@@ -9,12 +9,12 @@
|
||||
| +0#e000002&@7|"@1|\+0#e000e06&|"|"+0#e000002&@1|\+0#e000e06&|u|0@1|5|c|\|u|0@1|2@1| +0#0000000&@48
|
||||
| +0#e000002&@7|"@1|\+0#e000e06&|"|"+0#e000002&@1|\+0#e000e06&|"|"+0#e000002&| +0#0000000&@57
|
||||
| +0#e000002&@7|"@1|\+0#e000e06&|"|"+0#e000002&@1|\+0#e000e06&|"|"+0#e000002&|\+0#e000e06&|"|"+0#0000000&@2|)|;| @50
|
||||
@75
|
||||
@8|S|y|s|t|e|m|.|o|u|t|.|p|r|i|n|t|l|n|(|S|T|R|.|"@2| @40
|
||||
| +0#e000e06&@7|"| +0#0000000&@65
|
||||
| +0#e000e06&@7|\|{|"+0#e000002&|\+0#e000e06&|"|\|"|"+0#e000002&|}+0#e000e06&| +0#0000000&@57
|
||||
| +0#e000e06&@7|\|{|"+0#e000002&|\+0#e000e06&|"|\|"|"+0#e000002&|}+0#e000e06&|\|{|"+0#e000002&|\+0#e000e06&|u|0@1|5|c|\|u|0@1|2@1|"+0#e000002&|}+0#e000e06&| +0#0000000&@40
|
||||
| +0#e000e06&@7|\|{|"+0#e000002&|\+0#e000e06&|"|\|"|"+0#e000002&|}+0#e000e06&|\|{|"+0#e000002&|\+0#e000e06&|u|0@1|5|c|\|u|0@1|2@1|"+0#e000002&|}+0#e000e06&|"| +0#0000000&@39
|
||||
| +0#e000e06&@7|\|{|"+0#e000002&|\+0#e000e06&|"|\|"|"+0#e000002&|}+0#e000e06&|\|"|\|{|"+0#e000002&|\+0#e000e06&|u|0@1|5|c|\|u|0@1|2@1|\|u|0@1|5|c|\|u|0@1|2@1|"+0#e000002&|}+0#e000e06&| +0#0000000&@26
|
||||
| +0#e000e06&@7|\|{|"+0#e000002&|\+0#e000e06&|"|\|"|"+0#e000002&|}+0#e000e06&|\|"|\|{|"+0#e000002&|\+0#e000e06&|"|\|"|"+0#e000002&|}+0#e000e06&|\|{|"+0#e000002&|\+0#e000e06&|u|0@1|5|c|\|u|0@1|2@1|"+0#e000002&|}+0#e000e06&| +0#0000000&@29
|
||||
@57|3|7|,|3|-|9| @7|3|6|%|
|
||||
@4|}| @69
|
||||
|}| @73
|
||||
|~+0#4040ff13&| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
| +0#0000000&@56|3|7|,|3|-|9| @7|B|o|t|
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
@2|"+0#e000002&|u|s|e|l|e|s@1| |s|t|r|i|n|g|"| +0#0000000&|#+0#0000e05&| |c|o|m@1|e|n|t| +0#0000000&@46
|
||||
|e+0#af5f00255&|n|d@1|e|f| +0#0000000&@68
|
||||
> @74
|
||||
|c+0#af5f00255&|o|m@1|a|n|d| +0#0000000&|-+0#af5f00255&|c+0#e000e06&|o|u|n|t| +0#0000000&|F|o@1|C|o|m@1|a|n|d| |{+0#e000e06&| +0#0000000&@47
|
||||
|c+0#af5f00255&|o|m@1|a|n|d| +0#0000000&|-+0#e000e06&|c|o|u|n|t| +0#0000000&|F|o@1|C|o|m@1|a|n|d| |{+0#e000e06&| +0#0000000&@47
|
||||
| +0#0000e05&@1|#| |V|i|m|9|-|s|c|r|i|p|t| |c|o|m@1|e|n|t| +0#0000000&@51
|
||||
@2|"+0#e000002&|u|s|e|l|e|s@1| |s|t|r|i|n|g|"| +0#0000000&|#+0#0000e05&| |c|o|m@1|e|n|t| +0#0000000&@46
|
||||
|}+0#e000e06&| +0#0000000&@73
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
@2|"+0#e000002&|u|s|e|l|e|s@1| |s|t|r|i|n|g|"| +0#0000000&|#+0#0000e05&| |c|o|m@1|e|n|t| +0#0000000&@46
|
||||
|e+0#af5f00255&|n|d@1|e|f| +0#0000000&@68
|
||||
@75
|
||||
|c+0#af5f00255&|o|m@1|a|n|d| +0#0000000&|-+0#af5f00255&|n+0#e000e06&|a|r|g|s|=+0#af5f00255&|1+0#00e0003&| +0#0000000&|F|o@1|C|o|m@1|a|n|d| |{+0#e000e06&| +0#0000000&@45
|
||||
|c+0#af5f00255&|o|m@1|a|n|d| +0#0000000&|-+0#e000e06&|n|a|r|g|s|=|1+0#00e0003&| +0#0000000&|F|o@1|C|o|m@1|a|n|d| |{+0#e000e06&| +0#0000000&@45
|
||||
| +0#0000e05&@1|#| |V|i|m|9|-|s|c|r|i|p|t| |c|o|m@1|e|n|t| +0#0000000&@51
|
||||
@2|"+0#e000002&|u|s|e|l|e|s@1| |s|t|r|i|n|g|"| +0#0000000&|#+0#0000e05&| |c|o|m@1|e|n|t| +0#0000000&@46
|
||||
@57|1|,|1| @10|T|o|p|
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
| +0&#ffffff0@1|"+0#e000002&|u|s|e|l|e|s@1| |s|t|r|i|n|g|"| +0#0000000&|#+0#0000e05&| |c|o|m@1|e|n|t| +0#0000000&@46
|
||||
|e+0#af5f00255&|n|d@1|e|f| +0#0000000&@68
|
||||
@75
|
||||
|c+0#af5f00255&|o|m@1|a|n|d| +0#0000000&|-+0#af5f00255&|n+0#e000e06&|a|r|g|s|=+0#af5f00255&|1+0#00e0003&| +0#0000000&|F|o@1|C|o|m@1|a|n|d| |{+0#e000e06&| +0#0000000&@45
|
||||
|c+0#af5f00255&|o|m@1|a|n|d| +0#0000000&|-+0#e000e06&|n|a|r|g|s|=|1+0#00e0003&| +0#0000000&|F|o@1|C|o|m@1|a|n|d| |{+0#e000e06&| +0#0000000&@45
|
||||
| +0#0000e05&@1|#| |V|i|m|9|-|s|c|r|i|p|t| |c|o|m@1|e|n|t| +0#0000000&@51
|
||||
@2>"+0#e000002&|u|s|e|l|e|s@1| |s|t|r|i|n|g|"| +0#0000000&|#+0#0000e05&| |c|o|m@1|e|n|t| +0#0000000&@46
|
||||
|}+0#e000e06&| +0#0000000&@73
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
>"+0#0000e05#ffffff0| |V|i|m| |:|c|o|m@1|a|n|d| |c|o|m@1|a|n|d| +0#0000000&@52
|
||||
>"+0#0000e05#ffffff0| |V|i|m| |:|c|o|m@1|a|n|d|,| |:|d|e|l|c|o|m@1|a|n|d| |a|n|d| |:|c|o|m|c|l|e|a|r| |c|o|m@1|a|n|d|s| +0#0000000&@24
|
||||
@75
|
||||
|"+0#0000e05&| |I|s@1|u|e| |#|1|4|1|3|5| +0#0000000&@60
|
||||
@75
|
||||
|c+0#af5f00255&|o|m| +0#0000000&|F|o@1| |c+0#af5f00255&|a|l@1| +0#0000000&|s+0#00e0e07&|y|s|t|e|m|(+0#0000000&|'+0#e000002&|l|s|'|)+0#0000000&| @49
|
||||
|~+0#4040ff13&| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
| +0#0000000&@56|1|,|1| @10|A|l@1|
|
||||
|"+0#0000e05&| |l|i|s|t| +0#0000000&@68
|
||||
@75
|
||||
|c+0#af5f00255&|o|m@1|a|n|d| +0#0000000&@67
|
||||
|c+0#af5f00255&|o|m@1|a|n|d| +0#0000000&|F| @65
|
||||
@75
|
||||
|"+0#0000e05&| |d|e|f|i|n|e| +0#0000000&@66
|
||||
@75
|
||||
|c+0#af5f00255&|o|m@1|a|n|d| +0#0000000&@1|F|o@1| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@51
|
||||
|c+0#af5f00255&|o|m@1|a|n|d|!| +0#0000000&|F|o@1| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@51
|
||||
|c+0#af5f00255&|o|m@1|a|n|d|!| +0#0000000&|F|o@1| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a|r|"| +0#0000000&@38
|
||||
@75
|
||||
|c+0#af5f00255&|o|m@1|a|n|d|!| +0#0000000&|F|o@1| |{+0#e000e06&| +0#0000000&@60
|
||||
@2|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@62
|
||||
@2|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a|r|"| +0#0000000&@62
|
||||
@2|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a|z|"| +0#0000000&@62
|
||||
|}+0#e000e06&| +0#0000000&@73
|
||||
@57|1|,|1| @10|T|o|p|
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
| +0&#ffffff0@74
|
||||
|c+0#af5f00255&|o|m@1|a|n|d|!| +0#0000000&|F|o@1| |{+0#e000e06&| +0#0000000&@60
|
||||
@2|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@62
|
||||
@2|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a|r|"| +0#0000000&@62
|
||||
@2|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a|z|"| +0#0000000&@62
|
||||
>}+0#e000e06&| +0#0000000&@73
|
||||
@75
|
||||
|c+0#af5f00255&|o|m@1|a|n|d|!| +0#0000000&|-+0#e000e06&|a|d@1|r|=|a+0#00e0003&|r|g|u|m|e|n|t|s| +0#0000000&|-+0#e000e06&|b|a|n|g| +0#0000000&|-+0#e000e06&|b|a|r| +0#0000000&|-+0#e000e06&|b|u|f@1|e|r| +0#0000000&|-+0#e000e06&|c|o|m|p|l|e|t|e|=|a+0#00e0003&|r|g|l|i|s|t| +0#0000000&|-+0#e000e06&|c|o|u|n|t|=|1+0#e000002&| +0#0000000&|-+0#e000e06&|k|e@1
|
||||
|p|s|c|r|i|p|t| +0#0000000&|-+0#e000e06&|n|a|r|g|s|=|*+0#00e0003&| +0#0000000&|-+0#e000e06&|r|a|n|g|e|=|%+0#00e0003&| +0#0000000&|-+0#e000e06&|r|e|g|i|s|t|e|r| +0#0000000&|F|o@1| @35
|
||||
@6|\+0#e000e06&| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@56
|
||||
@75
|
||||
|c+0#af5f00255&|o|m@1|a|n|d|!| +0#0000000&|-+0#e000e06&|c|o|m|p|l|e|t|e|=|c+0#00e0003&|u|s|t|o|m|,+0#0000000&|C|o|m|p|l|e|t|e|r|1| |F|o@1| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@23
|
||||
|c+0#af5f00255&|o|m@1|a|n|d|!| +0#0000000&|-+0#e000e06&|c|o|m|p|l|e|t|e|=|c+0#00e0003&|u|s|t|o|m|l|i|s|t|,+0#0000000&|C|o|m|p|l|e|t|e|r|2| |F|o@1| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@19
|
||||
@75
|
||||
|f+0#af5f00255&|u|n|c|t|i|o|n| +0#0000000&|F|o@1|(+0#e000e06&|)| +0#0000000&@60
|
||||
@2|c+0#af5f00255&|o|m@1|a|n|d|!| +0#0000000&|F|o@1| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1| |(|d|e|f|i|n|e|d| |i|n| |:|f|u|n|c|t|i|o|n|)|"| +0#0000000&@26
|
||||
|e+0#af5f00255&|n|d|f|u|n|c|t|i|o|n| +0#0000000&@63
|
||||
@75
|
||||
|d+0#af5f00255&|e|f| +0#0000000&|F|o@1|2|(+0#e000e06&|)| +0#0000000&@64
|
||||
@57|1|9|,|1| @9|2|3|%|
|
||||
@@ -0,0 +1,20 @@
|
||||
|d+0#af5f00255#ffffff0|e|f| +0#0000000&|F|o@1|2|(+0#e000e06&|)| +0#0000000&@64
|
||||
@2|c+0#af5f00255&|o|m@1|a|n|d|!| +0#0000000&|F|o@1| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1| |(|d|e|f|i|n|e|d| |i|n| |:|d|e|f|)|"| +0#0000000&@31
|
||||
|e+0#af5f00255&|n|d@1|e|f| +0#0000000&@68
|
||||
@75
|
||||
|"+0#0000e05&| |m|u|l|t|i|l|i|n|e| |d|e|f|i|n|e| +0#0000000&@56
|
||||
> @74
|
||||
|"+0#0000e05&| |c|o|m@1|a|n|d|!| +0#0000000&@64
|
||||
|"+0#0000e05&| @6|\| |-|a|d@1|r|=|l|i|n|e|s| +0#0000000&@53
|
||||
|"+0#0000e05&| @6|\| |-|b|a|n|g| +0#0000000&@59
|
||||
|"+0#0000e05&| @6|\| |-|b|a|r| +0#0000000&@60
|
||||
|"+0#0000e05&| @6|\| |-|b|u|f@1|e|r| +0#0000000&@57
|
||||
|"+0#0000e05&| @6|\| |-|c|o|m|p|l|e|t|e|=|b|u|f@1|e|r| +0#0000000&@48
|
||||
|"+0#0000e05&| @6|\| |-|c|o|u|n|t| +0#0000000&@58
|
||||
|"+0#0000e05&| @6|\| |-|n|a|r|g|s|=|*| +0#0000000&@56
|
||||
|"+0#0000e05&| @6|\| |-|r|a|n|g|e| +0#0000000&@58
|
||||
|"+0#0000e05&| @6|\| |-|r|e|g|i|s|t|e|r| +0#0000000&@55
|
||||
|"+0#0000e05&| @6|\| |-|k|e@1|p|s|c|r|i|p|t| +0#0000000&@53
|
||||
|"+0#0000e05&| @6|\| |F|o@1| | +0#0000000&@60
|
||||
|"+0#0000e05&| @6|\| |e|c|h|o| |"+0#e000002&|F|O@1|"| +0#0000000&@54
|
||||
@57|3|6|,|0|-|1| @7|5|4|%|
|
||||
@@ -0,0 +1,20 @@
|
||||
|"+0#0000e05#ffffff0| @6|\| |e|c|h|o| |"+0#e000002&|F|O@1|"| +0#0000000&@54
|
||||
@75
|
||||
|"+0#0000e05&| |e|r@1|o|r|s| +0#0000000&@66
|
||||
@75
|
||||
|c+0#af5f00255&|o|m@1|a|n|d|!| +0#0000000&|-+0#ffffff16#ff404010|b|a|d|a|t@1|r|=+0#af5f00255#ffffff0|a+0#0000000&|r|g|u|m|e|n|t|s| |-+0#e000e06&|b|a|n|g| +0#0000000&|-+0#ffffff16#ff404010|b|a|d|a|t@1|r| +0#0000000#ffffff0|-+0#e000e06&|n|a|r|g|s|=|*+0#00e0003&| +0#0000000&|F|o@1| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@8
|
||||
> @74
|
||||
|"+0#0000e05&| |d|e|l|e|t|e| +0#0000000&@66
|
||||
@75
|
||||
|d+0#af5f00255&|e|l|c|o|m@1|a|n|d| +0#0000000&|F|o@1| @60
|
||||
|d+0#af5f00255&|e|l|c|o|m@1|a|n|d| +0#0000000&|-+0#e000e06&|b|u|f@1|e|r| +0#0000000&|F|o@1| @52
|
||||
@75
|
||||
|d+0#af5f00255&|e|l|c|o|m@1|a|n|d| +0#0000000&|F|o@1| ||| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|.@2|"| +0#0000000&@47
|
||||
|d+0#af5f00255&|e|l|c|o|m@1|a|n|d| +0#0000000&|-+0#e000e06&|b|u|f@1|e|r| +0#0000000&|F|o@1| ||| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|.@2|"| +0#0000000&@39
|
||||
@75
|
||||
|d+0#af5f00255&|e|l|c|o|m@1|a|n|d| +0#0000000&|F|o@1| |"+0#0000e05&| |c|o|m@1|e|n|t| +0#0000000&@50
|
||||
|d+0#af5f00255&|e|l|c|o|m@1|a|n|d| +0#0000000&|-+0#e000e06&|b|u|f@1|e|r| +0#0000000&|F|o@1| |"+0#0000e05&| |c|o|m@1|e|n|t| +0#0000000&@42
|
||||
@75
|
||||
|c+0#af5f00255&|o|m|c|l|e|a|r| +0#0000000&@66
|
||||
|c+0#af5f00255&|o|m|c|l|e|a|r| +0#0000000&|"+0#0000e05&| |c|o|m@1|e|n|t| +0#0000000&@56
|
||||
@57|5|4|,|0|-|1| @7|8|7|%|
|
||||
@@ -0,0 +1,20 @@
|
||||
|c+0#af5f00255#ffffff0|o|m|c|l|e|a|r| +0#0000000&|"+0#0000e05&| |c|o|m@1|e|n|t| +0#0000000&@56
|
||||
|c+0#af5f00255&|o|m|c|l|e|a|r| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|.@2|"| +0#0000000&@53
|
||||
@75
|
||||
@75
|
||||
|"+0#0000e05&| |I|s@1|u|e| |#|1|4|1|3|5| +0#0000000&@60
|
||||
> @74
|
||||
|c+0#af5f00255&|o|m| +0#0000000&|F|o@1| |c+0#af5f00255&|a|l@1| +0#0000000&|s+0#00e0e07&|y|s|t|e|m|(+0#0000000&|'+0#e000002&|l|s|'|)+0#0000000&| @49
|
||||
@75
|
||||
|~+0#4040ff13&| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
| +0#0000000&@56|7|2|,|0|-|1| @7|B|o|t|
|
||||
@@ -0,0 +1,20 @@
|
||||
>"+0#0000e05#ffffff0| |E|x| |c|o|m@1|a|n|d| |r|a|n|g|e|s| +0#0000000&@55
|
||||
@75
|
||||
|'+0#e000002&|<|,+0#0000000&|'+0#e000002&|>|p+0#af5f00255&|r|i|n|t| +0#0000000&@64
|
||||
|'+0#e000002&|(|,+0#0000000&|'+0#e000002&|)|p+0#af5f00255&|r|i|n|t| +0#0000000&@64
|
||||
|'+0#e000002&|{|,+0#0000000&|'+0#e000002&|}|p+0#af5f00255&|r|i|n|t| +0#0000000&@64
|
||||
|'+0#e000002&|[|,+0#0000000&|'+0#e000002&|]|p+0#af5f00255&|r|i|n|t| +0#0000000&@64
|
||||
|~+0#4040ff13&| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
| +0#0000000&@56|1|,|1| @10|A|l@1|
|
||||
@@ -1,7 +1,19 @@
|
||||
// VIM_TEST_SETUP unlet! g:java_ignore_javadoc g:java_no_trail_space_error
|
||||
// VIM_TEST_SETUP unlet! g:java_no_tab_space_error
|
||||
// VIM_TEST_SETUP let [g:java_space_errors,g:java_comment_strings] = [1,1]
|
||||
// VIM_TEST_SETUP setlocal spell | highlight link javaCommentStart Todo
|
||||
// VIM_TEST_SETUP unlet! g:java_no_tab_space_error g:java_ignore_javadoc
|
||||
// VIM_TEST_SETUP unlet! g:java_no_trail_space_error
|
||||
// VIM_TEST_SETUP let [g:java_space_errors,g:java_comment_strings]=[1,1]
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// VIM_TEST_SETUP setlocal spell fdc=2 fdl=64 fdm=syntax fen
|
||||
// VIM_TEST_SETUP highlight link javaCommentStart Todo
|
||||
// VIM_TEST_SETUP highlight link javaCommentTitle Underlined
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -11,8 +23,10 @@
|
||||
* {@snippet file = Snippets.java region = main id = _01}
|
||||
* <p>There is no textual representation:
|
||||
* {@snippet class = Snippets region = toString id = _02} */
|
||||
class CommentsTests
|
||||
class CommentsTests implements Comparable<CommentsTests>
|
||||
{
|
||||
private CommentsTests() { }
|
||||
|
||||
/** No-op, i. e. no operation.
|
||||
* ({@literal@literal} may be used with {@code .} for contraction.)
|
||||
* @return {@code null} */
|
||||
@@ -49,6 +63,22 @@ class CommentsTests
|
||||
/** {@return {@code null}, with no-op, i.e. no operation} . . */
|
||||
Void noOp9() { return null; }
|
||||
|
||||
/** {@return the major Java version} @hidden */
|
||||
protected int majorVersion() { return 21; }
|
||||
|
||||
/** {@summary Compares this instance with the passed {@code that}
|
||||
* instance for order by invoking {@link Integer#compare(int, int)
|
||||
* compare} and passing it {@code this.majorVersion()} and
|
||||
* {@code that.majorVersion()} as respective @arguments.}
|
||||
*
|
||||
* {@inheritDoc} */
|
||||
@Override public int compareTo(CommentsTests that)
|
||||
{
|
||||
java.util.Objects.requireNonNull(that, "that");
|
||||
return Integer.compare(this.majorVersion(),
|
||||
that.majorVersion());
|
||||
}
|
||||
|
||||
/** Returns an empty string for an @Override annotated method
|
||||
* (see Chapter 9.6.4.4 {@literal @Override} in a Java Language
|
||||
* Specification) overridden from <code>java.lang.Object</code>
|
||||
@@ -57,15 +87,17 @@ class CommentsTests
|
||||
@Override public String toString() { return ""; }
|
||||
}
|
||||
|
||||
// javadoc --snippet-path . --source-path . -d /tmp/doc/ -package \
|
||||
// javadoc --snippet-path . --source-path . -d /tmp/docs/ -package \
|
||||
// -tag 'jls:a:See Java Language Specification:' Snippets.java
|
||||
/** Snippets for comment tests. */
|
||||
class Snippets
|
||||
{ /* TRAILING BLANKS AND MESSPILLINGS ARE SIGNIFICANT! */
|
||||
private Snippets() { }
|
||||
|
||||
/** The method {@code main} must be declared {@code public}, {@code
|
||||
* static}, and {@code void}. It must specify a formal parameter
|
||||
* whose declared type is array of {@link String}. Therefore,
|
||||
* either of the following declarations is acceptable:
|
||||
* <em>either</em> of the following declarations is acceptable:
|
||||
* {@snippet lang="java":
|
||||
* // @highlight substring="main" type="italic":
|
||||
* public static void main(String[] args) { }
|
||||
@@ -79,9 +111,9 @@ class Snippets
|
||||
public static void main(String[] args) { }
|
||||
// @end
|
||||
|
||||
/** {@return an empty string}
|
||||
/** {@return an empty string}
|
||||
* @see <a href="https://docs.oracle.com/javase/specs/jls/se21/html/jls-3.html#jls-3.10.5">3.10.5 String Literals</a>
|
||||
* @see Object#toString() */
|
||||
* @see java.base/java.lang.Object#toString() */
|
||||
// @start region = toString
|
||||
// @replace substring = '""' replacement = "\u0022\u0022"
|
||||
// @link regex = '\bString' target = java.lang.String type = linkplain :
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
// This module declaration belongs to the sample project published at
|
||||
// https://github.com/zzzyxwvut/module-info.git .
|
||||
|
||||
import java.util.ServiceLoader;
|
||||
|
||||
/**
|
||||
* Defines demo related support.
|
||||
*
|
||||
* Note that the {@code Testable} service is not exported.
|
||||
*
|
||||
* @uses org.demo.internal.Testable
|
||||
* @provides org.demo.internal.Testable
|
||||
* @see ServiceLoader
|
||||
*/
|
||||
module org.module.info.demo
|
||||
{
|
||||
requires static jdk.jfr;
|
||||
requires java.base;
|
||||
requires transitive java.logging;
|
||||
requires transitive static org.module.info.tester;
|
||||
|
||||
exports org.demo;
|
||||
exports org.demo.internal to
|
||||
org.module.info.demo;
|
||||
|
||||
opens org.demo.internal to
|
||||
org.module.info.demo;
|
||||
opens org.demo.tests to
|
||||
org.module.info.demo, org.module.info.tester;
|
||||
|
||||
uses org.demo.internal.Testable;
|
||||
|
||||
provides org.demo.internal.Testable with
|
||||
org.demo.tests.ArithmeticOperationTests;
|
||||
}
|
||||
@@ -0,0 +1,68 @@
|
||||
// VIM_TEST_SETUP let g:java_syntax_previews = [430]
|
||||
|
||||
|
||||
|
||||
class StringTemplateTests // JDK 21+ (--enable-preview --release 21).
|
||||
{
|
||||
static {
|
||||
System.out.println(STR."""
|
||||
"
|
||||
\{"\"\""}
|
||||
\{"\"\""}\{"\u005c\u0022"}
|
||||
\{"\"\""}\{"\u005c\u0022"}"
|
||||
\{"\"\""}\"\{"\u005c\u0022\u005c\u0022"}
|
||||
\{"\"\""}\"\{"\"\""}\{"\u005c\u0022"}
|
||||
\{"\"\""}\"\{"\"\""}\""
|
||||
\{"\"\""}\"\{"\"\""}\""\"""");
|
||||
|
||||
String woof = "Woof", dog = "dog", fox = "fox";
|
||||
|
||||
String s1 = STR
|
||||
."A quick brown \{fox} jumps over the lazy \{dog}";
|
||||
String s2 = STR.process(StringTemplate.RAW
|
||||
."\"\{woof}\s!\"");
|
||||
String s3 = STR."""
|
||||
A\s\
|
||||
quick \
|
||||
brown\s\
|
||||
\{fox} \
|
||||
jumps\s\
|
||||
over \
|
||||
the\s\
|
||||
lazy \
|
||||
\{dog}""";
|
||||
String s4 = STR.process(StringTemplate.RAW
|
||||
.
|
||||
"""
|
||||
"\{woof}\s!\"""");
|
||||
String s5 = java.util.FormatProcessor.FMT
|
||||
. "%-14s\{"A\s" + STR . "quick" + "brown"}%s\{fox} "
|
||||
+ java.util.FormatProcessor.FMT
|
||||
. "%-20s\{"jumps\sover the\s"
|
||||
+ STR . "lazy"}%s\{dog}";
|
||||
String s6 = STR."""
|
||||
\"\{ // A nested comment.
|
||||
(new java.util.function.Function<String, String>() {
|
||||
public String apply(String bay) { return bay; };
|
||||
}).apply(woof)
|
||||
}\s!\"""";
|
||||
String s7 = java.util.FormatProcessor.FMT
|
||||
."""
|
||||
%-14s\{STR."""
|
||||
A\s\
|
||||
\{ "quick" } \
|
||||
brown"""}\
|
||||
%s\{ fox } \
|
||||
%-20s\{STR."""
|
||||
jumps\s\
|
||||
over \
|
||||
the\s\
|
||||
\{ "lazy" } """}\
|
||||
%s\{ dog }""";
|
||||
String s8 = STR
|
||||
."\"\{ /* A nested comment. */
|
||||
((java.util.function.Function<String, String>) bay -> bay)
|
||||
.apply(woof)
|
||||
}\s!\"";
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
class StringTests // JDK 21+ (--enable-preview --release 21).
|
||||
class StringTests
|
||||
{
|
||||
static {
|
||||
String s1 = "A quick brown fox jumps over the lazy dog";
|
||||
@@ -40,65 +40,5 @@ class StringTests // JDK 21+ (--enable-preview --release 21).
|
||||
""\"""\u005c\u0022
|
||||
""\"""\""
|
||||
""\"""\""\"""");
|
||||
|
||||
System.out.println(STR."""
|
||||
"
|
||||
\{"\"\""}
|
||||
\{"\"\""}\{"\u005c\u0022"}
|
||||
\{"\"\""}\{"\u005c\u0022"}"
|
||||
\{"\"\""}\"\{"\u005c\u0022\u005c\u0022"}
|
||||
\{"\"\""}\"\{"\"\""}\{"\u005c\u0022"}
|
||||
\{"\"\""}\"\{"\"\""}\""
|
||||
\{"\"\""}\"\{"\"\""}\""\""""); // JDK 21+.
|
||||
|
||||
String woof = "Woof", dog = "dog", fox = "fox";
|
||||
|
||||
String s6 = STR
|
||||
."A quick brown \{fox} jumps over the lazy \{dog}";
|
||||
String s7 = STR.process(StringTemplate.RAW
|
||||
."\"\{woof}\s!\"");
|
||||
String s8 = STR."""
|
||||
A\s\
|
||||
quick \
|
||||
brown\s\
|
||||
\{fox} \
|
||||
jumps\s\
|
||||
over \
|
||||
the\s\
|
||||
lazy \
|
||||
\{dog}""";
|
||||
String s9 = STR.process(StringTemplate.RAW
|
||||
.
|
||||
"""
|
||||
"\{woof}\s!\"""");
|
||||
String s10 = java.util.FormatProcessor.FMT
|
||||
. "%-14s\{"A\s" + STR . "quick" + "brown"}%s\{fox} "
|
||||
+ java.util.FormatProcessor.FMT
|
||||
. "%-20s\{"jumps\sover the\s"
|
||||
+ STR . "lazy"}%s\{dog}";
|
||||
String s11 = STR."""
|
||||
\"\{ // A nested comment.
|
||||
(new java.util.function.Function<String, String>() {
|
||||
public String apply(String bay) { return bay; };
|
||||
}).apply(woof)
|
||||
}\s!\"""";
|
||||
String s12 = java.util.FormatProcessor.FMT
|
||||
."""
|
||||
%-14s\{STR."""
|
||||
A\s\
|
||||
\{ "quick" } \
|
||||
brown"""}\
|
||||
%s\{ fox } \
|
||||
%-20s\{STR."""
|
||||
jumps\s\
|
||||
over \
|
||||
the\s\
|
||||
\{ "lazy" } """}\
|
||||
%s\{ dog }""";
|
||||
String s13 = STR
|
||||
."\"\{ /* A nested comment. */
|
||||
((java.util.function.Function<String, String>) bay -> bay)
|
||||
.apply(woof)
|
||||
}\s!\"";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
vim9script
|
||||
|
||||
# Test filenames are required to begin with the filetype name prefix,
|
||||
# whereas the name of a Java module declaration must be "module-info".
|
||||
const name_a: string = 'input/java_module_info.java'
|
||||
const name_b: string = 'input/module-info.java'
|
||||
|
||||
def ChangeFilename()
|
||||
exec 'saveas! ' .. name_b
|
||||
enddef
|
||||
|
||||
def RestoreFilename()
|
||||
exec 'saveas! ' .. name_a
|
||||
delete(name_b)
|
||||
enddef
|
||||
|
||||
autocmd_add([{
|
||||
replace: true,
|
||||
group: 'java_syntax_tests',
|
||||
event: 'BufEnter',
|
||||
pattern: name_a,
|
||||
cmd: 'ChangeFilename()',
|
||||
once: true,
|
||||
}, {
|
||||
group: 'java_syntax_tests',
|
||||
event: ['BufLeave', 'ExitPre'],
|
||||
pattern: name_b,
|
||||
cmd: 'RestoreFilename()',
|
||||
once: true,
|
||||
}])
|
||||
@@ -1,5 +1,74 @@
|
||||
" Vim :command command
|
||||
" Vim :command, :delcommand and :comclear commands
|
||||
|
||||
|
||||
" list
|
||||
|
||||
command
|
||||
command F
|
||||
|
||||
" define
|
||||
|
||||
command Foo echo "Foo"
|
||||
command! Foo echo "Foo"
|
||||
command! Foo echo "Foo" | echo "Bar"
|
||||
|
||||
command! Foo {
|
||||
echo "Foo"
|
||||
echo "Bar"
|
||||
echo "Baz"
|
||||
}
|
||||
|
||||
command! -addr=arguments -bang -bar -buffer -complete=arglist -count=1 -keepscript -nargs=* -range=% -register Foo
|
||||
\ echo "Foo"
|
||||
|
||||
command! -complete=custom,Completer1 Foo echo "Foo"
|
||||
command! -complete=customlist,Completer2 Foo echo "Foo"
|
||||
|
||||
function Foo()
|
||||
command! Foo echo "Foo (defined in :function)"
|
||||
endfunction
|
||||
|
||||
def Foo2()
|
||||
command! Foo echo "Foo (defined in :def)"
|
||||
enddef
|
||||
|
||||
" multiline define
|
||||
|
||||
" command!
|
||||
" \ -addr=lines
|
||||
" \ -bang
|
||||
" \ -bar
|
||||
" \ -buffer
|
||||
" \ -complete=buffer
|
||||
" \ -count
|
||||
" \ -nargs=*
|
||||
" \ -range
|
||||
" \ -register
|
||||
" \ -keepscript
|
||||
" \ Foo
|
||||
" \ echo "FOO"
|
||||
|
||||
" errors
|
||||
|
||||
command! -badattr=arguments -bang -badattr -nargs=* Foo echo "Foo"
|
||||
|
||||
" delete
|
||||
|
||||
delcommand Foo
|
||||
delcommand -buffer Foo
|
||||
|
||||
delcommand Foo | echo "..."
|
||||
delcommand -buffer Foo | echo "..."
|
||||
|
||||
delcommand Foo " comment
|
||||
delcommand -buffer Foo " comment
|
||||
|
||||
comclear
|
||||
comclear " comment
|
||||
comclear | echo "..."
|
||||
|
||||
|
||||
" Issue #14135
|
||||
|
||||
com Foo call system('ls')
|
||||
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
" Ex command ranges
|
||||
|
||||
'<,'>print
|
||||
'(,')print
|
||||
'{,'}print
|
||||
'[,']print
|
||||
@@ -1,5 +1,5 @@
|
||||
" Language: tmux(1) configuration file
|
||||
" Version: 3.4 (git-171004df)
|
||||
" Version: 3.4 (git-3d8ead8a)
|
||||
" URL: https://github.com/ericpruitt/tmux.vim/
|
||||
" Maintainer: Eric Pruitt <eric.pruitt@gmail.com>
|
||||
" License: 2-Clause BSD (http://opensource.org/licenses/BSD-2-Clause)
|
||||
@@ -37,7 +37,7 @@ syn match tmuxInvalidVariableExpansion /\${[^}]*$/ display
|
||||
syn match tmuxInvalidVariableExpansion /\${[^A-Za-z_][^}]*}/ display
|
||||
syn match tmuxInvalidVariableExpansion /\$[^A-Za-z_{ \t]/ display
|
||||
" Contains invalid character.
|
||||
syn match tmuxInvalidVariableExpansion /\${[^}]*[^A-Za-z0-9_][^}]*}/ display
|
||||
syn match tmuxInvalidVariableExpansion /\${[^}]*[^A-Za-z0-9_}][^}]*}/ display
|
||||
|
||||
syn region tmuxComment start=/#/ skip=/\\\@<!\\$/ end=/$/ contains=tmuxTodo,@Spell
|
||||
|
||||
|
||||
+49
-32
@@ -2,8 +2,7 @@
|
||||
" Language: Vim script
|
||||
" Maintainer: Hirohito Higashi <h.east.727 ATMARK gmail.com>
|
||||
" Doug Kearns <dougkearns@gmail.com>
|
||||
" URL: https://github.com/vim-jp/syntax-vim-ex
|
||||
" Last Change: 2024 Aug 23
|
||||
" Last Change: 2024 Aug 30
|
||||
" Former Maintainer: Charles E. Campbell
|
||||
|
||||
" DO NOT CHANGE DIRECTLY.
|
||||
@@ -29,8 +28,8 @@ syn cluster vimCommentGroup contains=vimTodo,@Spell
|
||||
" regular vim commands {{{2
|
||||
" GEN_SYN_VIM: vimCommand normal, START_STR='syn keyword vimCommand contained', END_STR=''
|
||||
syn keyword vimCommand contained abo[veleft] abs[tract] al[l] ar[gs] arga[dd] argd[elete] argdo argded[upe] arge[dit] argg[lobal] argl[ocal] argu[ment] as[cii] b[uffer] bN[ext] ba[ll] bad[d] balt bd[elete] bel[owright] bf[irst] bl[ast] bm[odified] bn[ext] bo[tright] bp[revious] br[ewind] brea[k] breaka[dd] breakd[el] breakl[ist] bro[wse] buffers bufd[o] bun[load] bw[ipeout] c[hange] cN[ext] cNf[ile] cabo[ve] cad[dbuffer] cadde[xpr] caddf[ile] caf[ter] cb[uffer] cbe[fore] cbel[ow] cbo[ttom] cc ccl[ose] cd cdo ce[nter] cex[pr] cf[ile] cfd[o] cfir[st] cg[etfile] cgetb[uffer] cgete[xpr] chd[ir] changes che[ckpath] checkt[ime] chi[story] cl[ist] cla[st] class clo[se] cle[arjumps] cn[ext] cnew[er] cnf[ile] co[py] col[der] colo[rscheme] com[mand] comc[lear] comp[iler]
|
||||
syn keyword vimCommand contained con[tinue] conf[irm] cons[t] cope[n] cp[revious] cpf[ile] cq[uit] cr[ewind] cs[cope] cst[ag] cw[indow] d[elete] delm[arks] deb[ug] debugg[reedy] defc[ompile] defe[r] delc[ommand] delf[unction] di[splay] dif[fupdate] diffg[et] diffo[ff] diffp[atch] diffpu[t] diffs[plit] difft[his] dig[raphs] disa[ssemble] dj[ump] dli[st] dr[op] ds[earch] dsp[lit] e[dit] ea[rlier] el[se] elsei[f] em[enu] en[dif] endin[terface] endc[lass] ende[num] endfo[r] endt[ry] endw[hile] ene[w] enu[m] ev[al] ex exi[t] exp[ort] exu[sage] f[ile] files filet[ype] filt[er] fin[d] finall[y] fini[sh] fir[st] fix[del] fo[ld] foldc[lose] foldd[oopen] folddoc[losed] foldo[pen] g[lobal] go[to] gr[ep] grepa[dd] gu[i] gv[im] h[elp] helpc[lose] helpf[ind] helpg[rep] helpt[ags]
|
||||
syn keyword vimCommand contained ha[rdcopy] hi[ghlight] hid[e] his[tory] ho[rizontal] if ij[ump] il[ist] imp[ort] int[ro] inte[rface] is[earch] isp[lit] j[oin] ju[mps] k kee[pmarks] keepj[umps] keepp[atterns] keepa[lt] l[ist] lN[ext] lNf[ile] la[st] lab[ove] lan[guage] lad[dexpr] laddb[uffer] laddf[ile] laf[ter] lat[er] lb[uffer] lbe[fore] lbel[ow] lbo[ttom] lc[d] lch[dir] lcl[ose] lcs[cope] ld[o] le[ft] lefta[bove] lex[pr] leg[acy] lf[ile] lfd[o] lfir[st] lg[etfile] lgetb[uffer] lgete[xpr] lgr[ep] lgrepa[dd] lh[elpgrep] lhi[story] ll lla[st] lli[st] lmak[e] lne[xt] lnew[er] lnf[ile] lo[adview] loc[kmarks] lockv[ar] lol[der] lop[en] lp[revious] lpf[ile] lr[ewind] lt[ag] lua luad[o] luaf[ile] lv[imgrep] lvimgrepa[dd] lw[indow] ls m[ove] ma[rk] mak[e] marks menut[ranslate]
|
||||
syn keyword vimCommand contained con[tinue] conf[irm] cons[t] cope[n] cp[revious] cpf[ile] cq[uit] cr[ewind] cs[cope] cst[ag] cw[indow] d[elete] delm[arks] deb[ug] debugg[reedy] defc[ompile] defe[r] delf[unction] di[splay] dif[fupdate] diffg[et] diffo[ff] diffp[atch] diffpu[t] diffs[plit] difft[his] dig[raphs] disa[ssemble] dj[ump] dli[st] dr[op] ds[earch] dsp[lit] e[dit] ea[rlier] el[se] elsei[f] em[enu] en[dif] endin[terface] endc[lass] ende[num] endfo[r] endt[ry] endw[hile] ene[w] enu[m] ev[al] ex exi[t] exp[ort] exu[sage] f[ile] files filet[ype] filt[er] fin[d] finall[y] fini[sh] fir[st] fix[del] fo[ld] foldc[lose] foldd[oopen] folddoc[losed] foldo[pen] g[lobal] go[to] gr[ep] grepa[dd] gu[i] gv[im] h[elp] helpc[lose] helpf[ind] helpg[rep] helpt[ags] ha[rdcopy]
|
||||
syn keyword vimCommand contained hi[ghlight] hid[e] his[tory] ho[rizontal] if ij[ump] il[ist] imp[ort] int[ro] inte[rface] is[earch] isp[lit] j[oin] ju[mps] k kee[pmarks] keepj[umps] keepp[atterns] keepa[lt] l[ist] lN[ext] lNf[ile] la[st] lab[ove] lan[guage] lad[dexpr] laddb[uffer] laddf[ile] laf[ter] lat[er] lb[uffer] lbe[fore] lbel[ow] lbo[ttom] lc[d] lch[dir] lcl[ose] lcs[cope] ld[o] le[ft] lefta[bove] lex[pr] leg[acy] lf[ile] lfd[o] lfir[st] lg[etfile] lgetb[uffer] lgete[xpr] lgr[ep] lgrepa[dd] lh[elpgrep] lhi[story] ll lla[st] lli[st] lmak[e] lne[xt] lnew[er] lnf[ile] lo[adview] loc[kmarks] lockv[ar] lol[der] lop[en] lp[revious] lpf[ile] lr[ewind] lt[ag] lua luad[o] luaf[ile] lv[imgrep] lvimgrepa[dd] lw[indow] ls m[ove] ma[rk] mak[e] marks menut[ranslate]
|
||||
syn keyword vimCommand contained mes[sages] mk[exrc] mks[ession] mksp[ell] mkv[imrc] mkvie[w] mod[e] mz[scheme] mzf[ile] n[ext] nb[key] nbc[lose] nbs[tart] noa[utocmd] noh[lsearch] nos[wapfile] nu[mber] o[pen] ol[dfiles] on[ly] opt[ions] ow[nsyntax] p[rint] pa[ckadd] packl[oadall] pc[lose] pe[rl] perld[o] ped[it] po[p] pp[op] pre[serve] prev[ious] pro[mptfind] promptr[epl] prof[ile] profd[el] ps[earch] pt[ag] ptN[ext] ptf[irst] ptj[ump] ptl[ast] ptn[ext] ptp[revious] ptr[ewind] pts[elect] pu[t] pub[lic] pw[d] py[thon] pyd[o] pyf[ile] py3 py3d[o] python3 py3f[ile] pyx pyxd[o] pythonx pyxf[ile] q[uit] quita[ll] qa[ll] r[ead] rec[over] red[o] redi[r] redr[aw] redraws[tatus] redrawt[abline] reg[isters] res[ize] ret[ab] retu[rn] rew[ind] ri[ght] rightb[elow] ru[ntime]
|
||||
syn keyword vimCommand contained rub[y] rubyd[o] rubyf[ile] rund[o] rv[iminfo] sN[ext] sa[rgument] sal[l] san[dbox] sav[eas] sb[uffer] sbN[ext] sba[ll] sbf[irst] sbl[ast] sbm[odified] sbn[ext] sbp[revious] sbr[ewind] sc[riptnames] scripte[ncoding] scriptv[ersion] scs[cope] setf[iletype] sf[ind] sfir[st] sh[ell] si[malt] sig[n] sil[ent] sla[st] sn[ext] so[urce] sor[t] sp[lit] spe[llgood] spelld[ump] spelli[nfo] spellr[epall] spellra[re] spellu[ndo] spellw[rong] spr[evious] sr[ewind] st[op] sta[g] star[tinsert] startg[replace] startr[eplace] stat[ic] stopi[nsert] stj[ump] sts[elect] sun[hide] sus[pend] sv[iew] sw[apname] synti[me] sync[bind] smi[le] t tN[ext] ta[g] tags tab tabc[lose] tabd[o] tabe[dit] tabf[ind] tabfir[st] tabm[ove] tabl[ast] tabn[ext] tabnew tabo[nly]
|
||||
syn keyword vimCommand contained tabp[revious] tabN[ext] tabr[ewind] tabs tc[d] tch[dir] tcl tcld[o] tclf[ile] te[aroff] ter[minal] tf[irst] thi[s] tj[ump] tl[ast] tn[ext] to[pleft] tp[revious] tr[ewind] try ts[elect] ty[pe] u[ndo] undoj[oin] undol[ist] unh[ide] unlo[ckvar] uns[ilent] up[date] v[global] ve[rsion] verb[ose] vert[ical] vi[sual] vie[w] vim[grep] vimgrepa[dd] vim9[cmd] viu[sage] vne[w] vs[plit] w[rite] wN[ext] wa[ll] wh[ile] wi[nsize] winc[md] wind[o] winp[os] wn[ext] wp[revious] wq wqa[ll] wu[ndo] wv[iminfo] x[it] xa[ll] xr[estore] y[ank] z dl dell delel deletl deletel dp dep delp delep deletp deletep a i
|
||||
@@ -223,10 +222,11 @@ syn match vimNumber '\%(^\|\A\)\zs#\x\{6}' skipwhite nextgroup=vimGlobal,vimSub
|
||||
syn case match
|
||||
|
||||
" All vimCommands are contained by vimIsCommand. {{{2
|
||||
syn cluster vimCmdList contains=vimAbb,vimAddress,vimAutoCmd,vimAugroup,vimBehave,vimCall,vimCatch,vimConst,vimDef,@vimEcho,vimEnddef,vimEndfunction,vimExecute,vimIsCommand,vimExtCmd,vimFor,vimFunction,vimGlobal,vimHighlight,vimLet,vimLoadkeymap,vimMap,vimMark,vimMatch,vimNotFunc,vimNorm,vimSet,vimSleep,vimSyntax,vimThrow,vimUnlet,vimUnmap,vimUserCmd,vimMenu,vimMenutranslate,@vim9CmdList
|
||||
syn cluster vimCmdList contains=vimAbb,vimAddress,vimAutoCmd,vimAugroup,vimBehave,vimCall,vimCatch,vimConst,vimDef,vimDelcommand,@vimEcho,vimEnddef,vimEndfunction,vimExecute,vimIsCommand,vimExtCmd,vimFor,vimFunction,vimGlobal,vimHighlight,vimLet,vimLoadkeymap,vimMap,vimMark,vimMatch,vimNotFunc,vimNorm,vimSet,vimSleep,vimSyntax,vimThrow,vimUnlet,vimUnmap,vimUserCmd,vimMenu,vimMenutranslate,@vim9CmdList
|
||||
syn cluster vim9CmdList contains=vim9Const,vim9Final,vim9For,vim9Var
|
||||
syn match vimCmdSep "[:|]\+" skipwhite nextgroup=@vimCmdList,vimSubst1
|
||||
syn match vimIsCommand "\<\%(\h\w*\|[23]mat\%[ch]\)\>" contains=vimCommand
|
||||
syn match vimBang contained "!"
|
||||
syn match vimVar contained "\<\h[a-zA-Z0-9#_]*\>"
|
||||
syn match vimVar "\<[bwglstav]:\h[a-zA-Z0-9#_]*\>"
|
||||
syn match vimVar "\s\zs&\%([lg]:\)\=\a\+\>"
|
||||
@@ -400,33 +400,46 @@ syn match vimSpecFileMod "\(:[phtre]\)\+" contained
|
||||
" User-Specified Commands: {{{2
|
||||
" =======================
|
||||
syn cluster vimUserCmdList contains=@vimCmdList,vimCmplxRepeat,@vimComment,vimCtrlChar,vimEscapeBrace,vimFunc,vimNotation,vimNumber,vimOper,vimRegister,vimSpecFile,vimString,vimSubst,vimSubstRep,vimSubstRange
|
||||
syn keyword vimUserCommand contained com[mand]
|
||||
syn match vimUserCmdName contained "\<\u\w*\>" nextgroup=vimUserCmdBlock skipwhite
|
||||
syn match vimUserCmd "\<com\%[mand]!\=\>.*$" contains=vimUserAttrb,vimUserAttrbError,vimUserCommand,@vimUserCmdList,vimComFilter,vimCmdBlock,vimUserCmdName
|
||||
syn match vimUserAttrbError contained "-\a\+\ze\s"
|
||||
syn match vimUserAttrb contained "-nargs=[01*?+]" contains=vimUserAttrbKey,vimOper
|
||||
syn match vimUserAttrb contained "-complete=" contains=vimUserAttrbKey,vimOper nextgroup=vimUserAttrbCmplt,vimUserCmdError
|
||||
syn match vimUserAttrb contained "-range\(=%\|=\d\+\)\=" contains=vimNumber,vimOper,vimUserAttrbKey
|
||||
syn match vimUserAttrb contained "-count\(=\d\+\)\=" contains=vimNumber,vimOper,vimUserAttrbKey
|
||||
syn match vimUserAttrb contained "-bang\>" contains=vimOper,vimUserAttrbKey
|
||||
syn match vimUserAttrb contained "-bar\>" contains=vimOper,vimUserAttrbKey
|
||||
syn match vimUserAttrb contained "-buffer\>" contains=vimOper,vimUserAttrbKey
|
||||
syn match vimUserAttrb contained "-register\>" contains=vimOper,vimUserAttrbKey
|
||||
syn keyword vimUserCmdKey contained com[mand]
|
||||
syn match vimUserCmdName contained "\<\u[[:alnum:]]*\>" skipwhite nextgroup=vimUserCmdBlock
|
||||
syn match vimUserCmd "\<com\%[mand]\>!\=.*$" contains=vimUserCmdKey,vimBang,vimUserCmdAttr,vimUserCmdAttrError,vimUserCmdName,@vimUserCmdList,vimComFilter
|
||||
syn match vimUserCmdAttrError contained "-\a\+\ze\%(\s\|=\)"
|
||||
syn match vimUserCmdAttr contained "-addr=" contains=vimUserCmdAttrKey nextgroup=vimUserCmdAttrAddr
|
||||
syn match vimUserCmdAttr contained "-bang\>" contains=vimUserCmdAttrKey
|
||||
syn match vimUserCmdAttr contained "-bar\>" contains=vimUserCmdAttrKey
|
||||
syn match vimUserCmdAttr contained "-buffer\>" contains=vimUserCmdAttrKey
|
||||
syn match vimUserCmdAttr contained "-complete=" contains=vimUserCmdAttrKey nextgroup=vimUserCmdAttrCmplt,vimUserCmdError
|
||||
syn match vimUserCmdAttr contained "-count\>" contains=vimUserCmdAttrKey
|
||||
syn match vimUserCmdAttr contained "-count=" contains=vimUserCmdAttrKey nextgroup=vimNumber
|
||||
syn match vimUserCmdAttr contained "-keepscript\>" contains=vimUserCmdAttrKey
|
||||
syn match vimUserCmdAttr contained "-nargs=" contains=vimUserCmdAttrKey nextgroup=vimUserCmdAttrNargs
|
||||
syn match vimUserCmdAttr contained "-range\>" contains=vimUserCmdAttrKey
|
||||
syn match vimUserCmdAttr contained "-range=" contains=vimUserCmdAttrKey nextgroup=vimNumber,vimUserCmdAttrRange
|
||||
syn match vimUserCmdAttr contained "-register\>" contains=vimUserCmdAttrKey
|
||||
|
||||
syn match vimUserCmdAttrNargs contained "[01*?+]"
|
||||
syn match vimUserCmdAttrRange contained "%"
|
||||
|
||||
if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_nousercmderror")
|
||||
syn match vimUserCmdError contained "\S\+\>"
|
||||
endif
|
||||
syn case ignore
|
||||
syn keyword vimUserAttrbKey contained bar ban[g] cou[nt] ra[nge] com[plete] n[args] re[gister]
|
||||
" GEN_SYN_VIM: vimUserAttrbCmplt, START_STR='syn keyword vimUserAttrbCmplt contained', END_STR=''
|
||||
syn keyword vimUserAttrbCmplt contained arglist augroup behave breakpoint buffer color command compiler cscope diff_buffer dir dir_in_path environment event expression file file_in_path filetype function help highlight history keymap locale mapclear mapping menu messages option packadd runtime scriptnames shellcmd sign syntax syntime tag tag_listfiles user var
|
||||
syn keyword vimUserAttrbCmplt contained custom customlist nextgroup=vimUserAttrbCmpltFunc,vimUserCmdError
|
||||
syn match vimUserAttrbCmpltFunc contained ",\%([sS]:\|<[sS][iI][dD]>\)\=\%(\h\w*\%([.#]\h\w*\)\+\|\h\w*\)"hs=s+1 nextgroup=vimUserCmdError
|
||||
|
||||
syn case ignore
|
||||
syn keyword vimUserCmdAttrKey contained a[ddr] ban[g] bar bu[ffer] com[plete] cou[nt] k[eepscript] n[args] ra[nge] re[gister]
|
||||
" GEN_SYN_VIM: vimUserCmdAttrCmplt, START_STR='syn keyword vimUserCmdAttrCmplt contained', END_STR=''
|
||||
syn keyword vimUserCmdAttrCmplt contained arglist augroup behave breakpoint buffer color command compiler cscope diff_buffer dir dir_in_path environment event expression file file_in_path filetype function help highlight history keymap locale mapclear mapping menu messages option packadd runtime scriptnames shellcmd sign syntax syntime tag tag_listfiles user var
|
||||
syn keyword vimUserCmdAttrCmplt contained custom customlist nextgroup=vimUserCmdAttrCmpltFunc,vimUserCmdError
|
||||
syn match vimUserCmdAttrCmpltFunc contained ",\%([sS]:\|<[sS][iI][dD]>\)\=\%(\h\w*\%([.#]\h\w*\)\+\|\h\w*\)"hs=s+1 nextgroup=vimUserCmdError
|
||||
" GEN_SYN_VIM: vimUserCmdAttrAddr, START_STR='syn keyword vimUserCmdAttrAddr contained', END_STR=''
|
||||
syn keyword vimUserCmdAttrAddr contained arguments arg buffers buf lines line loaded_buffers load other quickfix qf tabs tab windows win
|
||||
syn match vimUserCmdAttrAddr contained "?"
|
||||
syn case match
|
||||
syn match vimUserAttrbCmplt contained "custom,\u\w*"
|
||||
|
||||
syn region vimUserCmdBlock contained matchgroup=vimSep start="{" end="}" contains=@vimDefBodyList
|
||||
|
||||
syn match vimDelcommand "\<delc\%[ommand]\>" skipwhite nextgroup=vimDelcommandAttr
|
||||
syn match vimDelcommandAttr contained "-buffer\>"
|
||||
|
||||
" Lower Priority Comments: after some vim commands... {{{2
|
||||
" =======================
|
||||
if get(g:, "vimsyn_comment_strings", 1)
|
||||
@@ -517,8 +530,8 @@ syn match vimString "[^(,]'[^']\{-}\zs'"
|
||||
|
||||
" Marks, Registers, Addresses, Filters: {{{2
|
||||
syn match vimMark "'[a-zA-Z0-9]\ze[-+,!]" nextgroup=vimFilter,vimMarkNumber,vimSubst1
|
||||
syn match vimMark "'[<>]\ze[-+,!]" nextgroup=vimFilter,vimMarkNumber,vimSubst1
|
||||
syn match vimMark ",\zs'[<>]\ze" nextgroup=vimFilter,vimMarkNumber,vimSubst1
|
||||
syn match vimMark "'[[\]{}()<>]\ze[-+,!]" nextgroup=vimFilter,vimMarkNumber,vimSubst1
|
||||
syn match vimMark ",\zs'[[\]{}()<>]\ze" nextgroup=vimFilter,vimMarkNumber,vimSubst1
|
||||
syn match vimMark "[!,:]\zs'[a-zA-Z0-9]" nextgroup=vimFilter,vimMarkNumber,vimSubst1
|
||||
syn match vimMark "\<norm\%[al]\s\zs'[a-zA-Z0-9]" nextgroup=vimFilter,vimMarkNumber,vimSubst1
|
||||
syn match vimMarkNumber "[-+]\d\+" contained contains=vimOper nextgroup=vimSubst1
|
||||
@@ -1207,6 +1220,8 @@ if !exists("skip_vim_syntax_inits")
|
||||
hi def link vimDefComment vim9Comment
|
||||
hi def link vimDefKey vimCommand
|
||||
hi def link vimDefParam vimVar
|
||||
hi def link vimDelcommand vimCommand
|
||||
hi def link vimDelcommandAttr vimUserCmdAttr
|
||||
hi def link vimEcho vimCommand
|
||||
hi def link vimEchohlNone vimGroup
|
||||
hi def link vimEchohl vimCommand
|
||||
@@ -1364,13 +1379,15 @@ if !exists("skip_vim_syntax_inits")
|
||||
hi def link vimUnlet vimCommand
|
||||
hi def link vimUnletBang vimBang
|
||||
hi def link vimUnmap vimMap
|
||||
hi def link vimUserAttrbCmpltFunc Special
|
||||
hi def link vimUserAttrbCmplt vimSpecial
|
||||
hi def link vimUserAttrbKey vimOption
|
||||
hi def link vimUserAttrb vimSpecial
|
||||
hi def link vimUserAttrbError Error
|
||||
hi def link vimUserCmdAttrAddr vimSpecial
|
||||
hi def link vimUserCmdAttrCmplt vimSpecial
|
||||
hi def link vimUserCmdAttrNargs vimSpecial
|
||||
hi def link vimUserCmdAttrRange vimSpecial
|
||||
hi def link vimUserCmdAttrKey vimUserCmdAttr
|
||||
hi def link vimUserCmdAttr Special
|
||||
hi def link vimUserCmdAttrError Error
|
||||
hi def link vimUserCmdError Error
|
||||
hi def link vimUserCommand vimCommand
|
||||
hi def link vimUserCmdKey vimCommand
|
||||
hi def link vimUserFunc Normal
|
||||
hi def link vimVar Identifier
|
||||
hi def link vimWarn WarningMsg
|
||||
|
||||
@@ -1255,7 +1255,7 @@
|
||||
</dict>
|
||||
</array>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>179.1</string>
|
||||
<string>180</string>
|
||||
<key>LSApplicationCategoryType</key>
|
||||
<string>public.app-category.productivity</string>
|
||||
<key>NSAppTransportSecurity</key>
|
||||
|
||||
@@ -386,7 +386,7 @@ layout:
|
||||
|
||||
- (void)removeAllPlaceholdersFromTabBar:(PSMTabBarControl *)control
|
||||
{
|
||||
NSUInteger i, cellCount = [[control cells] count];
|
||||
int i, cellCount = (int)[[control cells] count];
|
||||
for(i = (cellCount - 1); i >= 0; i--){
|
||||
PSMTabBarCell *cell = [[control cells] objectAtIndex:i];
|
||||
if([cell isPlaceholder])
|
||||
|
||||
Binary file not shown.
+3
-2
@@ -2377,8 +2377,8 @@ installrtbase: $(HELPSOURCE)/vim.1 $(DEST_VIM) $(VIMTARGET) $(DEST_RT) \
|
||||
## cd $(HELPSOURCE); if test -z "$(CROSS_COMPILING)" -a -f tags; then \
|
||||
## mv -f tags tags.dist; fi
|
||||
## @echo generating help tags
|
||||
## -@cd $(HELPSOURCE); if test -z "$(CROSS_COMPILING)"; then \
|
||||
## $(MAKE) vimtags; fi
|
||||
## -@BUILD_DIR=`pwd`; cd $(HELPSOURCE); if test -z "$(CROSS_COMPILING)"; then \
|
||||
## $(MAKE) VIMPROG="$$BUILD_DIR/$(VIMTARGET)" vimtags; fi
|
||||
cd $(HELPSOURCE); \
|
||||
files=`ls *.txt tags`; \
|
||||
files="$$files `ls *.??x tags-?? 2>/dev/null || true`"; \
|
||||
@@ -2964,6 +2964,7 @@ shadow: runtime pixmaps
|
||||
../../testdir/*.py \
|
||||
../../testdir/python* \
|
||||
../../testdir/pyxfile \
|
||||
../../testdir/ru_RU \
|
||||
../../testdir/sautest \
|
||||
../../testdir/samples \
|
||||
../../testdir/dumps \
|
||||
|
||||
+5
-2
@@ -739,8 +739,8 @@ chartabsize(char_u *p, colnr_T col)
|
||||
RET_WIN_BUF_CHARTABSIZE(curwin, curbuf, p, col)
|
||||
}
|
||||
|
||||
#ifdef FEAT_LINEBREAK
|
||||
static int
|
||||
#if defined(FEAT_LINEBREAK) || defined(PROTO)
|
||||
int
|
||||
win_chartabsize(win_T *wp, char_u *p, colnr_T col)
|
||||
{
|
||||
RET_WIN_BUF_CHARTABSIZE(wp, wp->w_buffer, p, col)
|
||||
@@ -1678,6 +1678,9 @@ getvcol(
|
||||
}
|
||||
clear_chartabsize_arg(&cts);
|
||||
|
||||
if (*ptr == NUL && pos->col < MAXCOL && pos->col > ptr - line)
|
||||
pos->col = ptr - line;
|
||||
|
||||
if (start != NULL)
|
||||
*start = vcol + head;
|
||||
if (end != NULL)
|
||||
|
||||
+2
-1
@@ -2774,7 +2774,7 @@ win_update(win_T *wp)
|
||||
redrawWinline(wp, wp->w_cursor.lnum);
|
||||
}
|
||||
#endif
|
||||
// New redraw either due to updated topline or due to wcol fix.
|
||||
// New redraw either due to updated topline, wcol fix or reset skipcol.
|
||||
if (wp->w_redr_type != 0)
|
||||
{
|
||||
// Don't update for changes in buffer again.
|
||||
@@ -2782,6 +2782,7 @@ win_update(win_T *wp)
|
||||
curbuf->b_mod_set = FALSE;
|
||||
j = curbuf->b_mod_xlines;
|
||||
curbuf->b_mod_xlines = 0;
|
||||
curs_columns(TRUE);
|
||||
win_update(curwin);
|
||||
curbuf->b_mod_set = i;
|
||||
curbuf->b_mod_xlines = j;
|
||||
|
||||
+7
-3
@@ -512,6 +512,7 @@ edit(
|
||||
#ifdef FEAT_DIFF
|
||||
&& curwin->w_topfill == old_topfill
|
||||
#endif
|
||||
&& count <= 1
|
||||
)
|
||||
{
|
||||
mincol = curwin->w_wcol;
|
||||
@@ -549,11 +550,13 @@ edit(
|
||||
}
|
||||
|
||||
// May need to adjust w_topline to show the cursor.
|
||||
update_topline();
|
||||
if (count <= 1)
|
||||
update_topline();
|
||||
|
||||
did_backspace = FALSE;
|
||||
|
||||
validate_cursor(); // may set must_redraw
|
||||
if (count <= 1)
|
||||
validate_cursor(); // may set must_redraw
|
||||
|
||||
/*
|
||||
* Redraw the display when no characters are waiting.
|
||||
@@ -566,7 +569,8 @@ edit(
|
||||
|
||||
if (curwin->w_p_crb)
|
||||
do_check_cursorbind();
|
||||
update_curswant();
|
||||
if (count <= 1)
|
||||
update_curswant();
|
||||
old_topline = curwin->w_topline;
|
||||
#ifdef FEAT_DIFF
|
||||
old_topfill = curwin->w_topfill;
|
||||
|
||||
+8
-6
@@ -2904,12 +2904,9 @@ parse_command_modifiers(
|
||||
if (comment_start(eap->cmd, starts_with_colon))
|
||||
{
|
||||
// a comment ends at a NL
|
||||
if (eap->nextcmd == NULL)
|
||||
{
|
||||
eap->nextcmd = vim_strchr(eap->cmd, '\n');
|
||||
if (eap->nextcmd != NULL)
|
||||
++eap->nextcmd;
|
||||
}
|
||||
eap->nextcmd = vim_strchr(eap->cmd, '\n');
|
||||
if (eap->nextcmd != NULL)
|
||||
++eap->nextcmd;
|
||||
if (vim9script)
|
||||
{
|
||||
if (has_cmdmod(cmod, FALSE))
|
||||
@@ -2922,6 +2919,11 @@ parse_command_modifiers(
|
||||
}
|
||||
return FAIL;
|
||||
}
|
||||
if (*eap->cmd == '\n')
|
||||
{
|
||||
eap->nextcmd = eap->cmd + 1;
|
||||
return FAIL;
|
||||
}
|
||||
if (*eap->cmd == NUL)
|
||||
{
|
||||
if (!skip_only)
|
||||
|
||||
@@ -5755,6 +5755,8 @@ file_pat_to_reg_pat(
|
||||
)
|
||||
*allow_dirs = TRUE;
|
||||
reg_pat[i++] = '\\';
|
||||
if (enc_dbcs != 0 && (*mb_ptr2len)(p) > 1)
|
||||
reg_pat[i++] = *p++;
|
||||
reg_pat[i++] = *p;
|
||||
}
|
||||
break;
|
||||
|
||||
+12
-3
@@ -446,9 +446,18 @@ flush_buffers(flush_buffers_T flush_typeahead)
|
||||
|
||||
if (flush_typeahead == FLUSH_MINIMAL)
|
||||
{
|
||||
// remove mapped characters at the start only
|
||||
typebuf.tb_off += typebuf.tb_maplen;
|
||||
typebuf.tb_len -= typebuf.tb_maplen;
|
||||
// remove mapped characters at the start only,
|
||||
// but only when enough space left in typebuf
|
||||
if (typebuf.tb_off + typebuf.tb_maplen >= typebuf.tb_buflen)
|
||||
{
|
||||
typebuf.tb_off = MAXMAPLEN;
|
||||
typebuf.tb_len = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
typebuf.tb_off += typebuf.tb_maplen;
|
||||
typebuf.tb_len -= typebuf.tb_maplen;
|
||||
}
|
||||
#if defined(FEAT_CLIENTSERVER) || defined(FEAT_EVAL)
|
||||
if (typebuf.tb_len == 0)
|
||||
typebuf_was_filled = FALSE;
|
||||
|
||||
+26
-79
@@ -219,16 +219,9 @@ static HINSTANCE hinstPy3 = 0; // Instance of python.dll
|
||||
# define PyObject_GetItem py3_PyObject_GetItem
|
||||
# define PyObject_IsTrue py3_PyObject_IsTrue
|
||||
# define PyModule_GetDict py3_PyModule_GetDict
|
||||
# if defined(USE_LIMITED_API) \
|
||||
&& (Py_LIMITED_API+0 >= 0x030c0000 || defined(Py_REF_DEBUG))
|
||||
# undef Py_INCREF
|
||||
# if Py_LIMITED_API+0 >= 0x030a00A7
|
||||
# define _Py_IncRef py3__Py_IncRef
|
||||
# define Py_INCREF _Py_IncRef
|
||||
# else
|
||||
# define Py_IncRef py3_Py_IncRef
|
||||
# define Py_INCREF Py_IncRef
|
||||
# endif
|
||||
# if defined(USE_LIMITED_API) || PY_VERSION_HEX >= 0x03080000
|
||||
# define Py_IncRef py3_Py_IncRef
|
||||
# define Py_DecRef py3_Py_DecRef
|
||||
# endif
|
||||
# ifdef USE_LIMITED_API
|
||||
# define Py_CompileString py3_Py_CompileString
|
||||
@@ -267,7 +260,8 @@ static HINSTANCE hinstPy3 = 0; // Instance of python.dll
|
||||
# define _Py_NoneStruct (*py3__Py_NoneStruct)
|
||||
# define _Py_FalseStruct (*py3__Py_FalseStruct)
|
||||
# define _Py_TrueStruct (*py3__Py_TrueStruct)
|
||||
# ifndef USE_LIMITED_API
|
||||
# if !defined(USE_LIMITED_API) && PY_VERSION_HEX < 0x030D0000
|
||||
// Private symbol that used to be required as part of PyIter_Check.
|
||||
# define _PyObject_NextNotImplemented (*py3__PyObject_NextNotImplemented)
|
||||
# endif
|
||||
# define PyModule_AddObject py3_PyModule_AddObject
|
||||
@@ -299,9 +293,6 @@ static HINSTANCE hinstPy3 = 0; // Instance of python.dll
|
||||
# define PyBytes_FromString py3_PyBytes_FromString
|
||||
# undef PyBytes_FromStringAndSize
|
||||
# define PyBytes_FromStringAndSize py3_PyBytes_FromStringAndSize
|
||||
# if defined(Py_DEBUG) || PY_VERSION_HEX >= 0x030900b0 || defined(USE_LIMITED_API)
|
||||
# define _Py_Dealloc py3__Py_Dealloc
|
||||
# endif
|
||||
# define PyFloat_FromDouble py3_PyFloat_FromDouble
|
||||
# define PyFloat_AsDouble py3_PyFloat_AsDouble
|
||||
# define PyObject_GenericGetAttr py3_PyObject_GenericGetAttr
|
||||
@@ -402,14 +393,9 @@ static void (*py3_Py_Finalize)(void);
|
||||
static void (*py3_PyErr_SetString)(PyObject *, const char *);
|
||||
static void (*py3_PyErr_SetObject)(PyObject *, PyObject *);
|
||||
static int (*py3_PyErr_ExceptionMatches)(PyObject *);
|
||||
# if defined(USE_LIMITED_API) \
|
||||
&& (Py_LIMITED_API+0 >= 0x030c0000 || defined(Py_REF_DEBUG))
|
||||
# if Py_LIMITED_API+0 >= 0x030a00A7
|
||||
# define _Py_IncRef py3__Py_IncRef
|
||||
static void (*py3__Py_IncRef)(PyObject *);
|
||||
# else
|
||||
# if defined(USE_LIMITED_API) || PY_VERSION_HEX >= 0x03080000
|
||||
static void (*py3_Py_IncRef)(PyObject *);
|
||||
# endif
|
||||
static void (*py3_Py_DecRef)(PyObject *);
|
||||
# endif
|
||||
# ifdef USE_LIMITED_API
|
||||
static PyObject* (*py3_Py_CompileString)(const char *, const char *, int);
|
||||
@@ -482,7 +468,7 @@ static void (*py3_PyErr_Clear)(void);
|
||||
static PyObject* (*py3_PyErr_Format)(PyObject *, const char *, ...);
|
||||
static void (*py3_PyErr_PrintEx)(int);
|
||||
static PyObject*(*py3__PyObject_Init)(PyObject *, PyTypeObject *);
|
||||
# ifndef USE_LIMITED_API
|
||||
# if !defined(USE_LIMITED_API) && PY_VERSION_HEX < 0x030D0000
|
||||
static iternextfunc py3__PyObject_NextNotImplemented;
|
||||
# endif
|
||||
static PyObject* py3__Py_NoneStruct;
|
||||
@@ -508,9 +494,6 @@ static char* (*py3_PyBytes_AsString)(PyObject *bytes);
|
||||
static int (*py3_PyBytes_AsStringAndSize)(PyObject *bytes, char **buffer, Py_ssize_t *length);
|
||||
static PyObject* (*py3_PyBytes_FromString)(char *str);
|
||||
static PyObject* (*py3_PyBytes_FromStringAndSize)(char *str, Py_ssize_t length);
|
||||
# if defined(Py_DEBUG) || PY_VERSION_HEX >= 0x030900b0 || defined(USE_LIMITED_API)
|
||||
static void (*py3__Py_Dealloc)(PyObject *obj);
|
||||
# endif
|
||||
# if PY_VERSION_HEX >= 0x030900b0
|
||||
static PyObject* (*py3__PyObject_New)(PyTypeObject *);
|
||||
# endif
|
||||
@@ -618,13 +601,9 @@ static struct
|
||||
{"PyErr_SetString", (PYTHON_PROC*)&py3_PyErr_SetString},
|
||||
{"PyErr_SetObject", (PYTHON_PROC*)&py3_PyErr_SetObject},
|
||||
{"PyErr_ExceptionMatches", (PYTHON_PROC*)&py3_PyErr_ExceptionMatches},
|
||||
# if defined(USE_LIMITED_API) \
|
||||
&& (Py_LIMITED_API+0 >= 0x030c0000 || defined(Py_REF_DEBUG))
|
||||
# if Py_LIMITED_API+0 >= 0x030a00A7
|
||||
{"_Py_IncRef", (PYTHON_PROC*)&py3__Py_IncRef},
|
||||
# else
|
||||
# if defined(USE_LIMITED_API) || PY_VERSION_HEX >= 0x03080000
|
||||
{"Py_IncRef", (PYTHON_PROC*)&py3_Py_IncRef},
|
||||
# endif
|
||||
{"Py_DecRef", (PYTHON_PROC*)&py3_Py_DecRef},
|
||||
# endif
|
||||
# ifdef USE_LIMITED_API
|
||||
{"Py_CompileString", (PYTHON_PROC*)&py3_Py_CompileString},
|
||||
@@ -679,7 +658,7 @@ static struct
|
||||
{"PyEval_SaveThread", (PYTHON_PROC*)&py3_PyEval_SaveThread},
|
||||
{"_PyArg_Parse_SizeT", (PYTHON_PROC*)&py3_PyArg_Parse},
|
||||
{"Py_IsInitialized", (PYTHON_PROC*)&py3_Py_IsInitialized},
|
||||
# ifndef USE_LIMITED_API
|
||||
# if !defined(USE_LIMITED_API) && PY_VERSION_HEX < 0x030D0000
|
||||
{"_PyObject_NextNotImplemented", (PYTHON_PROC*)&py3__PyObject_NextNotImplemented},
|
||||
# endif
|
||||
{"_Py_NoneStruct", (PYTHON_PROC*)&py3__Py_NoneStruct},
|
||||
@@ -717,9 +696,6 @@ static struct
|
||||
{"PyBytes_AsStringAndSize", (PYTHON_PROC*)&py3_PyBytes_AsStringAndSize},
|
||||
{"PyBytes_FromString", (PYTHON_PROC*)&py3_PyBytes_FromString},
|
||||
{"PyBytes_FromStringAndSize", (PYTHON_PROC*)&py3_PyBytes_FromStringAndSize},
|
||||
# if defined(Py_DEBUG) || PY_VERSION_HEX >= 0x030900b0 || defined(USE_LIMITED_API)
|
||||
{"_Py_Dealloc", (PYTHON_PROC*)&py3__Py_Dealloc},
|
||||
# endif
|
||||
# if PY_VERSION_HEX >= 0x030900b0
|
||||
{"_PyObject_New", (PYTHON_PROC*)&py3__PyObject_New},
|
||||
# endif
|
||||
@@ -767,53 +743,24 @@ static struct
|
||||
{"", NULL},
|
||||
};
|
||||
|
||||
# if PY_VERSION_HEX >= 0x030800f0
|
||||
static inline void
|
||||
py3__Py_DECREF(const char *filename UNUSED, int lineno UNUSED, PyObject *op)
|
||||
{
|
||||
if (--op->ob_refcnt != 0)
|
||||
{
|
||||
# ifdef Py_REF_DEBUG
|
||||
if (op->ob_refcnt < 0)
|
||||
{
|
||||
_Py_NegativeRefcount(filename, lineno, op);
|
||||
}
|
||||
# endif
|
||||
}
|
||||
else
|
||||
{
|
||||
_Py_Dealloc(op);
|
||||
}
|
||||
}
|
||||
# if defined(USE_LIMITED_API) || PY_VERSION_HEX >= 0x03080000
|
||||
// Use stable versions of inc/dec ref. Note that these always null-check and
|
||||
// therefore there's no difference between XINCREF and INCREF.
|
||||
//
|
||||
// For 3.8 or above, we also use this version even if not using limited API.
|
||||
// The Py_DECREF macros in 3.8+ include references to internal functions which
|
||||
// cause link errors when building Vim. The stable versions are exposed as API
|
||||
// functions and don't have these problems (albeit slightly slower as they
|
||||
// require function calls rather than an inlined macro).
|
||||
# undef Py_INCREF
|
||||
# define Py_INCREF(obj) Py_IncRef((PyObject *)obj)
|
||||
# undef Py_XINCREF
|
||||
# define Py_XINCREF(obj) Py_IncRef((PyObject *)obj)
|
||||
|
||||
# undef Py_DECREF
|
||||
# define Py_DECREF(op) py3__Py_DECREF(__FILE__, __LINE__, _PyObject_CAST(op))
|
||||
|
||||
static inline void
|
||||
py3__Py_XDECREF(PyObject *op)
|
||||
{
|
||||
if (op != NULL)
|
||||
{
|
||||
Py_DECREF(op);
|
||||
}
|
||||
}
|
||||
|
||||
# define Py_DECREF(obj) Py_DecRef((PyObject *)obj)
|
||||
# undef Py_XDECREF
|
||||
# define Py_XDECREF(op) py3__Py_XDECREF(_PyObject_CAST(op))
|
||||
# endif
|
||||
|
||||
# if defined(USE_LIMITED_API) \
|
||||
&& (Py_LIMITED_API+0 >= 0x030c0000 || defined(Py_REF_DEBUG))
|
||||
static inline void
|
||||
py3__Py_XINCREF(PyObject *op)
|
||||
{
|
||||
if (op != NULL)
|
||||
{
|
||||
Py_INCREF(op);
|
||||
}
|
||||
}
|
||||
# undef Py_XINCREF
|
||||
# define Py_XINCREF(op) py3__Py_XINCREF(_PyObject_CAST(op))
|
||||
# define Py_XDECREF(obj) Py_DecRef((PyObject *)obj)
|
||||
# endif
|
||||
|
||||
# if PY_VERSION_HEX >= 0x030900b0
|
||||
|
||||
+15
-1
@@ -1021,7 +1021,21 @@ get_breakindent_win(
|
||||
if (wp->w_briopt_list > 0)
|
||||
prev_list = wp->w_briopt_list;
|
||||
else
|
||||
prev_indent = (*regmatch.endp - *regmatch.startp);
|
||||
{
|
||||
char_u *ptr = *regmatch.startp;
|
||||
char_u *end_ptr = *regmatch.endp;
|
||||
int indent = 0;
|
||||
|
||||
// Compute the width of the matched text.
|
||||
// Use win_chartabsize() so that TAB size is correct,
|
||||
// while wrapping is ignored.
|
||||
while (ptr < end_ptr)
|
||||
{
|
||||
indent += win_chartabsize(wp, ptr, indent);
|
||||
MB_PTR_ADV(ptr);
|
||||
}
|
||||
prev_indent = indent;
|
||||
}
|
||||
}
|
||||
vim_regfree(regmatch.regprog);
|
||||
}
|
||||
|
||||
+2
-1
@@ -3550,7 +3550,8 @@ static int compare_scores(const void *a, const void *b)
|
||||
int idx_b = *(const int *)b;
|
||||
int score_a = compl_fuzzy_scores[idx_a];
|
||||
int score_b = compl_fuzzy_scores[idx_b];
|
||||
return (score_a > score_b) ? -1 : (score_a < score_b) ? 1 : 0;
|
||||
return score_a == score_b ? (idx_a == idx_b ? 0 : (idx_a < idx_b ? -1 : 1))
|
||||
: (score_a > score_b ? -1 : 1);
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
+11
-12
@@ -5630,7 +5630,8 @@ f_setcellwidths(typval_T *argvars, typval_T *rettv UNUSED)
|
||||
int item;
|
||||
int i;
|
||||
listitem_T **ptrs;
|
||||
cw_interval_T *table;
|
||||
cw_interval_T *table = NULL;
|
||||
size_t table_size;
|
||||
cw_interval_T *cw_table_save;
|
||||
size_t cw_table_size_save;
|
||||
char *error = NULL;
|
||||
@@ -5639,15 +5640,12 @@ f_setcellwidths(typval_T *argvars, typval_T *rettv UNUSED)
|
||||
return;
|
||||
|
||||
l = argvars[0].vval.v_list;
|
||||
if (l->lv_len == 0)
|
||||
{
|
||||
table_size = (size_t)l->lv_len;
|
||||
if (table_size == 0)
|
||||
// Clearing the table.
|
||||
VIM_CLEAR(cw_table);
|
||||
cw_table_size = 0;
|
||||
return;
|
||||
}
|
||||
goto update;
|
||||
|
||||
ptrs = ALLOC_MULT(listitem_T *, l->lv_len);
|
||||
ptrs = ALLOC_MULT(listitem_T *, table_size);
|
||||
if (ptrs == NULL)
|
||||
return;
|
||||
|
||||
@@ -5706,9 +5704,9 @@ f_setcellwidths(typval_T *argvars, typval_T *rettv UNUSED)
|
||||
}
|
||||
|
||||
// Sort the list on the first number.
|
||||
qsort((void *)ptrs, (size_t)l->lv_len, sizeof(listitem_T *), tv_nr_compare);
|
||||
qsort((void *)ptrs, table_size, sizeof(listitem_T *), tv_nr_compare);
|
||||
|
||||
table = ALLOC_MULT(cw_interval_T, l->lv_len);
|
||||
table = ALLOC_MULT(cw_interval_T, table_size);
|
||||
if (table == NULL)
|
||||
{
|
||||
vim_free(ptrs);
|
||||
@@ -5716,7 +5714,7 @@ f_setcellwidths(typval_T *argvars, typval_T *rettv UNUSED)
|
||||
}
|
||||
|
||||
// Store the items in the new table.
|
||||
for (item = 0; item < l->lv_len; ++item)
|
||||
for (item = 0; (size_t)item < table_size; ++item)
|
||||
{
|
||||
listitem_T *lili = ptrs[item];
|
||||
varnumber_T n1;
|
||||
@@ -5738,10 +5736,11 @@ f_setcellwidths(typval_T *argvars, typval_T *rettv UNUSED)
|
||||
|
||||
vim_free(ptrs);
|
||||
|
||||
update:
|
||||
cw_table_save = cw_table;
|
||||
cw_table_size_save = cw_table_size;
|
||||
cw_table = table;
|
||||
cw_table_size = l->lv_len;
|
||||
cw_table_size = table_size;
|
||||
|
||||
// Check that the new value does not conflict with 'listchars' or
|
||||
// 'fillchars'.
|
||||
|
||||
+2
-2
@@ -3107,7 +3107,7 @@ cmp_keyvalue_value_i(const void *a, const void *b)
|
||||
return STRICMP(kv1->value, kv2->value);
|
||||
}
|
||||
|
||||
// compare two keyvalue_T structs by case insensitive value
|
||||
// compare two keyvalue_T structs by case insensitive ASCII value
|
||||
// with length
|
||||
int
|
||||
cmp_keyvalue_value_ni(const void *a, const void *b)
|
||||
@@ -3115,6 +3115,6 @@ cmp_keyvalue_value_ni(const void *a, const void *b)
|
||||
keyvalue_T *kv1 = (keyvalue_T *)a;
|
||||
keyvalue_T *kv2 = (keyvalue_T *)b;
|
||||
|
||||
return STRNICMP(kv1->value, kv2->value, MAX(kv1->length, kv2->length));
|
||||
return vim_strnicmp_asc(kv1->value, kv2->value, MAX(kv1->length, kv2->length));
|
||||
}
|
||||
|
||||
|
||||
@@ -6242,6 +6242,7 @@ nv_g_cmd(cmdarg_T *cap)
|
||||
#ifdef FEAT_BYTEOFF
|
||||
// "go": goto byte count from start of buffer
|
||||
case 'o':
|
||||
oap->inclusive = FALSE;
|
||||
goto_byte(cap->count0);
|
||||
break;
|
||||
#endif
|
||||
|
||||
+147
-54
@@ -41,7 +41,7 @@
|
||||
|
||||
static void set_options_default(int opt_flags);
|
||||
static void set_string_default_esc(char *name, char_u *val, int escape);
|
||||
static char_u *find_dup_item(char_u *origval, char_u *newval, long_u flags);
|
||||
static char_u *find_dup_item(char_u *origval, char_u *newval, size_t newvallen, long_u flags);
|
||||
static char_u *option_expand(int opt_idx, char_u *val);
|
||||
static void didset_options(void);
|
||||
static void didset_options2(void);
|
||||
@@ -132,51 +132,72 @@ set_init_default_shell(void)
|
||||
set_init_default_backupskip(void)
|
||||
{
|
||||
int opt_idx;
|
||||
long_u n;
|
||||
int i;
|
||||
char_u *p;
|
||||
int plen;
|
||||
#ifdef UNIX
|
||||
static char *(names[4]) = {"", "TMPDIR", "TEMP", "TMP"};
|
||||
#else
|
||||
static char *(names[3]) = {"TMPDIR", "TEMP", "TMP"};
|
||||
#endif
|
||||
int len;
|
||||
garray_T ga;
|
||||
char_u *item;
|
||||
|
||||
opt_idx = findoption((char_u *)"backupskip");
|
||||
|
||||
ga_init2(&ga, 1, 100);
|
||||
for (n = 0; n < (long)ARRAY_LENGTH(names); ++n)
|
||||
for (i = 0; i < (int)ARRAY_LENGTH(names); ++i)
|
||||
{
|
||||
int mustfree = FALSE;
|
||||
#ifdef UNIX
|
||||
if (*names[n] == NUL)
|
||||
if (*names[i] == NUL)
|
||||
{
|
||||
# ifdef MACOS_X
|
||||
p = (char_u *)"/private/tmp";
|
||||
plen = (int)STRLEN_LITERAL("/private/tmp");
|
||||
# else
|
||||
p = (char_u *)"/tmp";
|
||||
p = (char_u *)"/tmp";
|
||||
plen = (int)STRLEN_LITERAL("/tmp");
|
||||
# endif
|
||||
}
|
||||
else
|
||||
#endif
|
||||
p = vim_getenv((char_u *)names[n], &mustfree);
|
||||
{
|
||||
p = vim_getenv((char_u *)names[i], &mustfree);
|
||||
plen = 0; // will be calculated below
|
||||
}
|
||||
if (p != NULL && *p != NUL)
|
||||
{
|
||||
// First time count the NUL, otherwise count the ','.
|
||||
len = (int)STRLEN(p) + 3;
|
||||
item = alloc(len);
|
||||
char_u *item;
|
||||
size_t itemsize;
|
||||
int has_trailing_path_sep = FALSE;
|
||||
|
||||
if (plen == 0)
|
||||
{
|
||||
// the value was retrieved from the environment
|
||||
plen = (int)STRLEN(p);
|
||||
// does the value include a trailing path separator?
|
||||
if (after_pathsep(p, p + plen))
|
||||
has_trailing_path_sep = TRUE;
|
||||
}
|
||||
|
||||
// item size needs to be large enough to include "/*" and a trailing NUL
|
||||
// note: the value (and therefore plen) may already include a path separator
|
||||
itemsize = plen + (has_trailing_path_sep ? 0 : 1) + 2;
|
||||
item = alloc(itemsize);
|
||||
if (item != NULL)
|
||||
{
|
||||
STRCPY(item, p);
|
||||
add_pathsep(item);
|
||||
STRCAT(item, "*");
|
||||
if (find_dup_item(ga.ga_data, item, options[opt_idx].flags)
|
||||
== NULL
|
||||
&& ga_grow(&ga, len) == OK)
|
||||
// add a preceeding comma as a separator after the first item
|
||||
size_t itemseplen = (ga.ga_len == 0) ? 0 : 1;
|
||||
size_t itemlen;
|
||||
|
||||
itemlen = vim_snprintf((char *)item, itemsize, "%s%s*", p, (has_trailing_path_sep) ? "" : PATHSEPSTR);
|
||||
|
||||
if (find_dup_item(ga.ga_data, item, itemlen, options[opt_idx].flags) == NULL
|
||||
&& ga_grow(&ga, itemseplen + itemlen + 1) == OK)
|
||||
{
|
||||
if (ga.ga_len > 0)
|
||||
STRCAT(ga.ga_data, ",");
|
||||
STRCAT(ga.ga_data, item);
|
||||
ga.ga_len += len;
|
||||
ga.ga_len += vim_snprintf((char *)ga.ga_data + ga.ga_len,
|
||||
itemseplen + itemlen + 1,
|
||||
"%s%s", (itemseplen > 0) ? "," : "", item);
|
||||
}
|
||||
vim_free(item);
|
||||
}
|
||||
@@ -527,7 +548,7 @@ set_init_default_encoding(void)
|
||||
// MS-Windows has builtin support for conversion to and from Unicode, using
|
||||
// "utf-8" for 'encoding' should work best for most users.
|
||||
// z/OS built should default to UTF-8 mode as setlocale does not respect utf-8 environment variable locales
|
||||
p = vim_strsave((char_u *)ENC_DFLT);
|
||||
p = vim_strnsave((char_u *)ENC_DFLT, STRLEN_LITERAL(ENC_DFLT));
|
||||
# else
|
||||
// enc_locale() will try to find the encoding of the current locale.
|
||||
// This works best for properly configured systems, old and new.
|
||||
@@ -545,7 +566,7 @@ set_init_default_encoding(void)
|
||||
// We don't support "gb18030", but "cp936" is a good substitute
|
||||
// for practical purposes, thus use that. It's not an alias to
|
||||
// still support conversion between gb18030 and utf-8.
|
||||
p_enc = vim_strsave((char_u *)"cp936");
|
||||
p_enc = vim_strnsave((char_u *)"cp936", STRLEN_LITERAL("cp936"));
|
||||
vim_free(p);
|
||||
}
|
||||
#if defined(FEAT_GUI_MACVIM)
|
||||
@@ -602,14 +623,15 @@ set_init_default_encoding(void)
|
||||
GetACP() != GetConsoleCP())
|
||||
{
|
||||
char buf[50];
|
||||
size_t buflen;
|
||||
|
||||
// Win32 console: In ConPTY, GetConsoleCP() returns zero.
|
||||
// Use an alternative value.
|
||||
if (GetConsoleCP() == 0)
|
||||
sprintf(buf, "cp%ld", (long)GetACP());
|
||||
buflen = vim_snprintf(buf, sizeof(buf), "cp%ld", (long)GetACP());
|
||||
else
|
||||
sprintf(buf, "cp%ld", (long)GetConsoleCP());
|
||||
p_tenc = vim_strsave((char_u *)buf);
|
||||
buflen = vim_snprintf(buf, sizeof(buf), "cp%ld", (long)GetConsoleCP());
|
||||
p_tenc = vim_strnsave((char_u *)buf, buflen);
|
||||
if (p_tenc != NULL)
|
||||
{
|
||||
opt_idx = findoption((char_u *)"termencoding");
|
||||
@@ -903,25 +925,23 @@ set_string_default(char *name, char_u *val)
|
||||
* "origval". Return NULL if not found.
|
||||
*/
|
||||
static char_u *
|
||||
find_dup_item(char_u *origval, char_u *newval, long_u flags)
|
||||
find_dup_item(char_u *origval, char_u *newval, size_t newvallen, long_u flags)
|
||||
{
|
||||
int bs = 0;
|
||||
size_t newlen;
|
||||
char_u *s;
|
||||
|
||||
if (origval == NULL)
|
||||
return NULL;
|
||||
|
||||
newlen = STRLEN(newval);
|
||||
for (s = origval; *s != NUL; ++s)
|
||||
{
|
||||
if ((!(flags & P_COMMA)
|
||||
|| s == origval
|
||||
|| (s[-1] == ',' && !(bs & 1)))
|
||||
&& STRNCMP(s, newval, newlen) == 0
|
||||
&& STRNCMP(s, newval, newvallen) == 0
|
||||
&& (!(flags & P_COMMA)
|
||||
|| s[newlen] == ','
|
||||
|| s[newlen] == NUL))
|
||||
|| s[newvallen] == ','
|
||||
|| s[newvallen] == NUL))
|
||||
return s;
|
||||
// Count backslashes. Only a comma with an even number of backslashes
|
||||
// or a single backslash preceded by a comma before it is recognized as
|
||||
@@ -1307,28 +1327,34 @@ set_init_3(void)
|
||||
set_helplang_default(char_u *lang)
|
||||
{
|
||||
int idx;
|
||||
size_t langlen;
|
||||
|
||||
if (lang == NULL || STRLEN(lang) < 2) // safety check
|
||||
if (lang == NULL) // safety check
|
||||
return;
|
||||
|
||||
langlen = STRLEN(lang);
|
||||
if (langlen < 2) // safety check
|
||||
return;
|
||||
|
||||
idx = findoption((char_u *)"hlg");
|
||||
if (idx < 0 || (options[idx].flags & P_WAS_SET))
|
||||
return;
|
||||
|
||||
if (options[idx].flags & P_ALLOCED)
|
||||
free_string_option(p_hlg);
|
||||
p_hlg = vim_strsave(lang);
|
||||
p_hlg = vim_strnsave(lang, langlen);
|
||||
if (p_hlg == NULL)
|
||||
p_hlg = empty_option;
|
||||
else
|
||||
{
|
||||
// zh_CN becomes "cn", zh_TW becomes "tw"
|
||||
if (STRNICMP(p_hlg, "zh_", 3) == 0 && STRLEN(p_hlg) >= 5)
|
||||
if (STRNICMP(p_hlg, "zh_", 3) == 0 && langlen >= 5)
|
||||
{
|
||||
p_hlg[0] = TOLOWER_ASC(p_hlg[3]);
|
||||
p_hlg[1] = TOLOWER_ASC(p_hlg[4]);
|
||||
}
|
||||
// any C like setting, such as C.UTF-8, becomes "en"
|
||||
else if (STRLEN(p_hlg) >= 1 && *p_hlg == 'C')
|
||||
else if (langlen >= 1 && *p_hlg == 'C')
|
||||
{
|
||||
p_hlg[0] = 'e';
|
||||
p_hlg[1] = 'n';
|
||||
@@ -1643,13 +1669,13 @@ opt_backspace_nr2str(
|
||||
*(char_u **)varp = empty_option;
|
||||
break;
|
||||
case 1:
|
||||
*(char_u **)varp = vim_strsave((char_u *)"indent,eol");
|
||||
*(char_u **)varp = vim_strnsave((char_u *)"indent,eol", STRLEN_LITERAL("indent,eol"));
|
||||
break;
|
||||
case 2:
|
||||
*(char_u **)varp = vim_strsave((char_u *)"indent,eol,start");
|
||||
*(char_u **)varp = vim_strnsave((char_u *)"indent,eol,start", STRLEN_LITERAL("indent,eol,start"));
|
||||
break;
|
||||
case 3:
|
||||
*(char_u **)varp = vim_strsave((char_u *)"indent,eol,nostop");
|
||||
*(char_u **)varp = vim_strnsave((char_u *)"indent,eol,nostop", STRLEN_LITERAL("indent,eol,nostop"));
|
||||
break;
|
||||
}
|
||||
vim_free(*oldval_p);
|
||||
@@ -1670,20 +1696,37 @@ opt_backspace_nr2str(
|
||||
static char_u *
|
||||
opt_whichwrap_nr2str(char_u **argp, char_u *whichwrap)
|
||||
{
|
||||
size_t len = 0;
|
||||
|
||||
*whichwrap = NUL;
|
||||
int i = getdigits(argp);
|
||||
if (i & 1)
|
||||
STRCAT(whichwrap, "b,");
|
||||
{
|
||||
STRCPY(whichwrap, "b,");
|
||||
len += 2;
|
||||
}
|
||||
if (i & 2)
|
||||
STRCAT(whichwrap, "s,");
|
||||
{
|
||||
STRCPY(whichwrap + len, "s,");
|
||||
len += 2;
|
||||
}
|
||||
if (i & 4)
|
||||
STRCAT(whichwrap, "h,l,");
|
||||
{
|
||||
STRCPY(whichwrap + len, "h,l,");
|
||||
len += 4;
|
||||
}
|
||||
if (i & 8)
|
||||
STRCAT(whichwrap, "<,>,");
|
||||
{
|
||||
STRCPY(whichwrap + len, "<,>,");
|
||||
len += 4;
|
||||
}
|
||||
if (i & 16)
|
||||
STRCAT(whichwrap, "[,],");
|
||||
{
|
||||
STRCPY(whichwrap + len, "[,],");
|
||||
len += 4;
|
||||
}
|
||||
if (*whichwrap != NUL) // remove trailing ,
|
||||
whichwrap[STRLEN(whichwrap) - 1] = NUL;
|
||||
whichwrap[len - 1] = NUL;
|
||||
|
||||
return whichwrap;
|
||||
}
|
||||
@@ -1970,7 +2013,7 @@ stropt_get_newval(
|
||||
if (op == OP_REMOVING || (flags & P_NODUP))
|
||||
{
|
||||
len = (int)STRLEN(newval);
|
||||
s = find_dup_item(origval, newval, flags);
|
||||
s = find_dup_item(origval, newval, len, flags);
|
||||
|
||||
// do not add if already there
|
||||
if ((op == OP_ADDING || op == OP_PREPENDING) && s != NULL)
|
||||
@@ -2698,12 +2741,11 @@ do_set(
|
||||
|
||||
if (errmsg != NULL)
|
||||
{
|
||||
vim_strncpy(IObuff, (char_u *)_(errmsg), IOSIZE - 1);
|
||||
i = (int)STRLEN(IObuff) + 2;
|
||||
i = vim_snprintf((char *)IObuff, IOSIZE, "%s", (char_u *)_(errmsg)) + 2;
|
||||
if (i + (arg - startarg) < IOSIZE)
|
||||
{
|
||||
// append the argument with the error
|
||||
STRCAT(IObuff, ": ");
|
||||
STRCPY(IObuff + i - 2, ": ");
|
||||
mch_memmove(IObuff + i, startarg, (arg - startarg));
|
||||
IObuff[i + (arg - startarg)] = NUL;
|
||||
}
|
||||
@@ -5254,7 +5296,7 @@ get_option_value(
|
||||
// never return the value of the crypt key
|
||||
else if ((char_u **)varp == &curbuf->b_p_key
|
||||
&& **(char_u **)(varp) != NUL)
|
||||
*stringval = vim_strsave((char_u *)"*****");
|
||||
*stringval = vim_strnsave((char_u *)"*****", STRLEN_LITERAL("*****"));
|
||||
#endif
|
||||
else
|
||||
*stringval = vim_strsave(*(char_u **)(varp));
|
||||
@@ -7494,6 +7536,7 @@ set_context_in_set_cmd(
|
||||
char_u *s;
|
||||
int is_term_option = FALSE;
|
||||
int key;
|
||||
char_u *argend;
|
||||
|
||||
expand_option_flags = opt_flags;
|
||||
|
||||
@@ -7503,7 +7546,8 @@ set_context_in_set_cmd(
|
||||
xp->xp_pattern = arg;
|
||||
return;
|
||||
}
|
||||
p = arg + STRLEN(arg) - 1;
|
||||
argend = arg + STRLEN(arg);
|
||||
p = argend - 1;
|
||||
if (*p == ' ' && *(p - 1) != '\\')
|
||||
{
|
||||
xp->xp_pattern = p + 1;
|
||||
@@ -7720,7 +7764,7 @@ set_context_in_set_cmd(
|
||||
// delimited by space.
|
||||
if ((flags & P_EXPAND) || (flags & P_COMMA) || (flags & P_COLON))
|
||||
{
|
||||
for (p = arg + STRLEN(arg) - 1; p >= xp->xp_pattern; --p)
|
||||
for (p = argend - 1; p >= xp->xp_pattern; --p)
|
||||
{
|
||||
// count number of backslashes before ' ' or ',' or ':'
|
||||
if (*p == ' ' || *p == ',' ||
|
||||
@@ -7747,7 +7791,7 @@ set_context_in_set_cmd(
|
||||
// An option that is a list of single-character flags should always start
|
||||
// at the end as we don't complete words.
|
||||
if (flags & P_FLAGLIST)
|
||||
xp->xp_pattern = arg + STRLEN(arg);
|
||||
xp->xp_pattern = argend;
|
||||
|
||||
// Some options can either be using file/dir expansions, or custom value
|
||||
// expansion depending on what the user typed. Unfortunately we have to
|
||||
@@ -8266,7 +8310,7 @@ ExpandSettingSubtract(
|
||||
int count = 0;
|
||||
char_u *p;
|
||||
|
||||
p = vim_strsave(option_val);
|
||||
p = vim_strnsave(option_val, num_flags);
|
||||
if (p == NULL)
|
||||
{
|
||||
VIM_CLEAR(*matches);
|
||||
@@ -8403,6 +8447,55 @@ vimrc_found(char_u *fname, char_u *envname)
|
||||
if (p != NULL)
|
||||
{
|
||||
vim_setenv(envname, p);
|
||||
if (vim_getenv((char_u *)"MYVIMDIR", &dofree) == NULL)
|
||||
{
|
||||
size_t usedlen = 0;
|
||||
int len = 0;
|
||||
char_u *fbuf = NULL;
|
||||
|
||||
if (STRNCMP(gettail(fname), ".vimrc", 6) == 0)
|
||||
{
|
||||
len = STRLEN(p) - 2;
|
||||
p[len] = '/';
|
||||
}
|
||||
else if (STRNCMP(gettail(fname), ".gvimrc", 7) == 0)
|
||||
{
|
||||
len = STRLEN(p);
|
||||
char_u *buf = alloc(len);
|
||||
if (buf != NULL)
|
||||
{
|
||||
mch_memmove(buf, fname, len - 7);
|
||||
mch_memmove(buf + len - 7, (char_u *)".vim/", 5);
|
||||
len -= 2; // decrement len, so that we can set len+1 = NUL below
|
||||
vim_free(p);
|
||||
p = buf;
|
||||
}
|
||||
}
|
||||
#ifdef MSWIN
|
||||
else if (STRNCMP(gettail(fname), "_vimrc", 6) == 0)
|
||||
{
|
||||
len = STRLEN(p) + 4; // remove _vimrc, add vimfiles/
|
||||
char_u *buf = alloc(len);
|
||||
if (buf != NULL)
|
||||
{
|
||||
mch_memmove(buf, fname, len - 10);
|
||||
mch_memmove(buf + len - 10, (char_u *)"vimfiles\\", 9);
|
||||
len -= 2; // decrement len, so that we can set len+1 = NUL below
|
||||
vim_free(p);
|
||||
p = buf;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
else
|
||||
(void)modify_fname((char_u *)":h", FALSE, &usedlen, &p, &fbuf, &len);
|
||||
|
||||
if (p != NULL)
|
||||
{
|
||||
// keep the directory separator
|
||||
p[len + 1] = NUL;
|
||||
vim_setenv((char_u *)"MYVIMDIR", p);
|
||||
}
|
||||
}
|
||||
vim_free(p);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2758,6 +2758,8 @@ popup_hide(win_T *wp)
|
||||
|
||||
wp->w_popup_flags |= POPF_HIDDEN;
|
||||
// Do not decrement b_nwindows, we still reference the buffer.
|
||||
if (wp->w_winrow + popup_height(wp) >= cmdline_row)
|
||||
clear_cmdline = TRUE;
|
||||
redraw_all_later(UPD_NOT_VALID);
|
||||
popup_mask_refresh = TRUE;
|
||||
}
|
||||
|
||||
@@ -16,6 +16,7 @@ int ptr2cells(char_u *p);
|
||||
int vim_strsize(char_u *s);
|
||||
int vim_strnsize(char_u *s, int len);
|
||||
int chartabsize(char_u *p, colnr_T col);
|
||||
int win_chartabsize(win_T *wp, char_u *p, colnr_T col);
|
||||
int linetabsize_str(char_u *s);
|
||||
int linetabsize_col(int startcol, char_u *s);
|
||||
int win_linetabsize(win_T *wp, linenr_T lnum, char_u *line, colnr_T len);
|
||||
|
||||
@@ -15,6 +15,7 @@ void vim_strcat(char_u *to, char_u *from, size_t tosize);
|
||||
size_t vim_strlen_maxlen(char *s, size_t maxlen);
|
||||
int vim_stricmp(char *s1, char *s2);
|
||||
int vim_strnicmp(char *s1, char *s2, size_t len);
|
||||
int vim_strnicmp_asc(char *s1, char *s2, size_t len);
|
||||
char_u *vim_strchr(char_u *string, int c);
|
||||
char_u *vim_strbyte(char_u *string, int c);
|
||||
char_u *vim_strrchr(char_u *string, int c);
|
||||
|
||||
+2
-1
@@ -6525,7 +6525,8 @@ nfa_regmatch(
|
||||
else
|
||||
result = FAIL;
|
||||
|
||||
if (t->state->out->out1->c == NFA_END_COMPOSING)
|
||||
if (t->state->out->out1 != NULL
|
||||
&& t->state->out->out1->c == NFA_END_COMPOSING)
|
||||
{
|
||||
end = t->state->out->out1;
|
||||
ADD_STATE_IF_MATCH(end);
|
||||
|
||||
+1
-1
@@ -5233,7 +5233,7 @@ search_for_fuzzy_match(
|
||||
{
|
||||
pos_T current_pos = *pos;
|
||||
pos_T circly_end;
|
||||
int found_new_match = FAIL;
|
||||
int found_new_match = FALSE;
|
||||
int looped_around = FALSE;
|
||||
|
||||
if (whole_line)
|
||||
|
||||
@@ -589,6 +589,33 @@ vim_strnicmp(char *s1, char *s2, size_t len)
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Compare two ASCII strings, for length "len", ignoring case, ignoring locale
|
||||
* (mostly matters for turkish locale where i I might be different).
|
||||
* return 0 for match, < 0 for smaller, > 0 for bigger
|
||||
*/
|
||||
int
|
||||
vim_strnicmp_asc(char *s1, char *s2, size_t len)
|
||||
{
|
||||
int i;
|
||||
int save_cmp_flags = cmp_flags;
|
||||
|
||||
cmp_flags |= CMP_KEEPASCII; // compare by ASCII value, ignoring locale
|
||||
while (len > 0)
|
||||
{
|
||||
i = vim_tolower(*s1) - vim_tolower(*s2);
|
||||
if (i != 0)
|
||||
break; // this character is different
|
||||
if (*s1 == NUL)
|
||||
break; // strings match until NUL
|
||||
++s1;
|
||||
++s2;
|
||||
--len;
|
||||
}
|
||||
cmp_flags = save_cmp_flags;
|
||||
return i;
|
||||
}
|
||||
|
||||
/*
|
||||
* Search for first occurrence of "c" in "string".
|
||||
* Version of strchr() that handles unsigned char strings with characters from
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user