Mercurial > vim
changeset 375:f14cbd913415 v7.0097
updated for version 7.0097
line wrap: on
line diff
--- a/runtime/compiler/bdf.vim +++ b/runtime/compiler/bdf.vim @@ -1,16 +1,14 @@ " Vim compiler file -" Compiler: BDF to PCF Conversion -" Maintainer: Nikolai Weibull <sourc@pcppopper.org> -" URL: http://www.pcppopper.org/vim/compiler/pcp/bdf/ -" Latest Revision: 2004-05-22 -" arch-tag: 2e2f3a55-199b-468c-aa2e-d6b1a7b87806 +" Compiler: BDF to PCF Conversion +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 if exists("current_compiler") finish endif let current_compiler = "bdf" -if exists(":CompilerSet") != 2 " older Vim always used :setlocal +if exists(":CompilerSet") != 2 command -nargs=* CompilerSet setlocal <args> endif @@ -26,5 +24,3 @@ CompilerSet errorformat=%ABDF\ %trror\ o let &cpo = s:cpo_save unlet s:cpo_save - -" vim: set sts=2 sw=2:
new file mode 100644 --- /dev/null +++ b/runtime/compiler/gcc.vim @@ -0,0 +1,30 @@ +" Vim compiler file +" Compiler: GNU C Compiler +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 + +if exists("current_compiler") + finish +endif +let current_compiler = "gcc" + +if exists(":CompilerSet") != 2 + command -nargs=* CompilerSet setlocal <args> +endif + +let s:cpo_save = &cpo +set cpo-=C + +CompilerSet errorformat= + \%*[^\"]\"%f\"%*\\D%l:\ %m, + \\"%f\"%*\\D%l:\ %m, + \%-G%f:%l:\ %trror:\ (Each\ undeclared\ identifier\ is\ reported\ only\ once, + \%-G%f:%l:\ %trror:\ for\ each\ function\ it\ appears\ in.), + \%f:%l:\ %m, + \\"%f\"\\,\ line\ %l%*\\D%c%*[^\ ]\ %m, + \%D%*\\a[%*\\d]:\ Entering\ directory\ `%f', + \%X%*\\a[%*\\d]:\ Leaving\ directory\ `%f', + \%DMaking\ %*\\a\ in\ %f + +let &cpo = s:cpo_save +unlet s:cpo_save
--- a/runtime/compiler/rst.vim +++ b/runtime/compiler/rst.vim @@ -1,16 +1,14 @@ " Vim compiler file -" Compiler: reStructuredText Documentation Format -" Maintainer: Nikolai Weibull <source@pcppopper.org> -" URL: http://www.pcppopper.org/vim/compiler/pcp/rst/ -" Latest Revision: 2004-05-22 -" arch-tag: ac64a95a-5d45-493d-a9f9-f96fc8568657 +" Compiler: reStructuredText Documentation Format +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 if exists("current_compiler") finish endif let current_compiler = "rst" -if exists(":CompilerSet") != 2 " older Vim always used :setlocal +if exists(":CompilerSet") != 2 command -nargs=* CompilerSet setlocal <args> endif @@ -29,5 +27,3 @@ CompilerSet errorformat= let &cpo = s:cpo_save unlet s:cpo_save - -" vim: set sts=2 sw=2:
--- a/runtime/doc/eval.txt +++ b/runtime/doc/eval.txt @@ -1,4 +1,4 @@ -*eval.txt* For Vim version 7.0aa. Last change: 2005 Jun 28 +*eval.txt* For Vim version 7.0aa. Last change: 2005 Jun 29 VIM REFERENCE MANUAL by Bram Moolenaar @@ -3781,8 +3781,8 @@ sort({list} [, {func}]) *sort()* *E7 soundfold({word}) Return the sound-folded equivalent of {word}. Uses the first language in 'spellang' for the current window that supports - soundfolding. When no sound folding is possible the {word} - is returned unmodified. + soundfolding. 'spell' must be set. When no sound folding is + possible the {word} is returned unmodified. This can be used for making spelling suggestions. Note that the method can be quite slow. @@ -3808,8 +3808,8 @@ spellsuggest({word} [, {max}]) first entry, thus this can be used to check spelling. The spelling information for the current window is used. The - 'spell' option must be set and the value of 'spelllang' is - used. + 'spell' option must be set and the values of 'spelllang' and + 'spellsuggest' are used. split({expr} [, {pattern} [, {keepempty}]]) *split()*
--- a/runtime/doc/spell.txt +++ b/runtime/doc/spell.txt @@ -1,4 +1,4 @@ -*spell.txt* For Vim version 7.0aa. Last change: 2005 Jun 28 +*spell.txt* For Vim version 7.0aa. Last change: 2005 Jun 29 VIM REFERENCE MANUAL by Bram Moolenaar @@ -706,7 +706,8 @@ Example: SAL C K ~ SAL K K ~ -TODO: explain how it works. +An explantion how it works can be found in the Aspell manual: +http://aspell.net/man-html/Phonetic-Code.html. There are a few special items: @@ -716,4 +717,32 @@ There are a few special items: "1" has the same meaning as "true". Any other value means "false". + +SIMPLE SOUNDFOLDING *spell-affix-SOFOFROM* *spell-affix-SOFOTO* + +The SAL mechanism is complex and slow. A simpler mechanism is mapping all +characters to another character, mapping similar sounding characters to the +same character. At the same time this does case folding. You can not have +SAL items at the same time. + +There are two items required: one to speficy the characters that are mapped +and one that specifies the characters they are mapped to. They must have +exactly the same number of characters. Example: + + SOFOFROM abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ~ + SOFOTO ebctefghejklnnepkrstevvkesebctefghejklnnepkrstevvkes ~ + +In the example all vowels are mapped to the same character 'e'. Another +method is to leave out all vowels. Some characters that sound nearly the same +and are often mixed up, such as 'm' and 'n', are mapped to the same character. +Don't do this too much, all words will start looking alike. + +Characters that do not appear in SOFOFROM will be left out, except that all +white space is replaced by one space. Sequences of the same character in +SOFOFROM are replaced by one. + +You can use the |soundfold()| function to try out the results. Or set the +'verbose' option to see the score in the output of the |z?| command. + + vim:tw=78:sw=4:ts=8:ft=help:norl:
--- a/runtime/doc/tags +++ b/runtime/doc/tags @@ -2415,6 +2415,8 @@ 90.5 usr_90.txt /*90.5* :spelld spell.txt /*:spelld* :spelldump spell.txt /*:spelldump* :spellgood spell.txt /*:spellgood* +:spellr spell.txt /*:spellr* +:spellrepall spell.txt /*:spellrepall* :spellw spell.txt /*:spellw* :spellwrong spell.txt /*:spellwrong* :split windows.txt /*:split* @@ -3710,6 +3712,8 @@ E749 eval.txt /*E749* E75 vi_diff.txt /*E75* E750 repeat.txt /*E750* E751 spell.txt /*E751* +E752 spell.txt /*E752* +E753 spell.txt /*E753* E754 spell.txt /*E754* E756 spell.txt /*E756* E758 spell.txt /*E758* @@ -5141,6 +5145,7 @@ hebrew hebrew.txt /*hebrew* hebrew.txt hebrew.txt /*hebrew.txt* help various.txt /*help* help-context help.txt /*help-context* +help-tags tags 1 help-translated various.txt /*help-translated* help-xterm-window various.txt /*help-xterm-window* help.txt help.txt /*help.txt* @@ -6253,6 +6258,7 @@ sniff-compiling if_sniff.txt /*sniff-com sniff-intro if_sniff.txt /*sniff-intro* sort() eval.txt /*sort()* sorting change.txt /*sorting* +soundfold() eval.txt /*soundfold()* space intro.txt /*space* spec-customizing pi_spec.txt /*spec-customizing* spec-how-to-use-it pi_spec.txt /*spec-how-to-use-it* @@ -6275,6 +6281,8 @@ spell-affix-RAR spell.txt /*spell-affix- spell-affix-REP spell.txt /*spell-affix-REP* spell-affix-SAL spell.txt /*spell-affix-SAL* spell-affix-SFX spell.txt /*spell-affix-SFX* +spell-affix-SOFOFROM spell.txt /*spell-affix-SOFOFROM* +spell-affix-SOFOTO spell.txt /*spell-affix-SOFOTO* spell-affix-UPP spell.txt /*spell-affix-UPP* spell-affix-chars spell.txt /*spell-affix-chars* spell-affix-mbyte spell.txt /*spell-affix-mbyte*
--- a/runtime/doc/todo.txt +++ b/runtime/doc/todo.txt @@ -1,4 +1,4 @@ -*todo.txt* For Vim version 7.0aa. Last change: 2005 Jun 28 +*todo.txt* For Vim version 7.0aa. Last change: 2005 Jun 29 VIM REFERENCE MANUAL by Bram Moolenaar @@ -30,8 +30,6 @@ be worked on, but only if you sponsor Vi *known-bugs* -------------------- Known bugs and current work ----------------------- -send fixes for ccmalloc port to FreeBSD. - Add extra list of file locations. Can be used with: :ltag list of matching tags, like :tselect @@ -99,13 +97,9 @@ Awaiting response: PLANNED FOR VERSION 7.0: - Add SPELLCHECKER, with support for many languages. - - Spell checking code todo's: - - Code for making suggestions: - - Hebrew: also use prefixes for suggestions. See message from - Kaminsky (June 20) for ideas. - - Simple and fast sound-a-like: mapping list for first char and rest - vowel as first char: * - remove other vowels + - Spell checking code todo's: + - Dutch: badword "voorjaarsconferentie"; "najaarsconferentie" gets zero + soundfold score. - Proofread and cleanup spell help. - Use "engspchk" from Charles Campbell for ideas (commands, rare words). - Make "en-rare" spell file? Ask Charles Campbell.
--- a/runtime/doc/version7.txt +++ b/runtime/doc/version7.txt @@ -1,4 +1,4 @@ -*version7.txt* For Vim version 7.0aa. Last change: 2005 Jun 25 +*version7.txt* For Vim version 7.0aa. Last change: 2005 Jun 29 VIM REFERENCE MANUAL by Bram Moolenaar @@ -305,6 +305,7 @@ Options: ~ (idea by Hugo Haas) 'spell' switch spell checking on/off 'spelllang' languages to check spelling for +'spellsuggest' methods for spell suggestions 'verbosefile' Log messages in a file. @@ -377,7 +378,10 @@ New functions: ~ |reverse()| reverse the order of a List |setqflist()| create a quickfix list (Yegappan Lakshmanan) |sort()| sort a List +|soundfold()| get the sound-a-like equivalent of a word |split()| split a String into a List +|spellbadword()| get a badly spelled word +|spellsuggest()| get suggestions for correct spelling |string()| String representation of a List or Dictionary |system()| Filters {input} through a shell command. |taglist()| Get list of matching tags. (Yegappan Lakshmanan) @@ -435,6 +439,8 @@ Sive syntax file. (Nikolai Weibull) Pascal indent file. (Neil Carter) +Many filetype plugins and others from Nikolai Weibull. + Moved all the indent settings from the filetype plugin to the indent file. Implemented b:undo_indent to undo indent settings when setting 'filetype' to a different value. @@ -1146,4 +1152,11 @@ It was possible to define a function wit CTRL-W F and "gf" didn't use the same method to get the file name. +When reporting a conversion error the line number of the last error could be +given. Now report the first encountered error. + +When using ":e ++enc=name file" and iconv() was used for conversion an error +caused a fallback to no conversion. Now replace a character with '?' and +continue. + vim:tw=78:ts=8:ft=help:norl:
--- a/runtime/filetype.vim +++ b/runtime/filetype.vim @@ -1,7 +1,7 @@ " Vim support file to detect file types " " Maintainer: Bram Moolenaar <Bram@vim.org> -" Last Change: 2005 Jun 17 +" Last Change: 2005 Jun 29 " Listen very carefully, I will say this only once if exists("did_load_filetypes") @@ -194,6 +194,9 @@ au BufNewFile,BufRead *.atl,*.as setf a " Automake au BufNewFile,BufRead [mM]akefile.am setf automake +" Autotest .at files are actually m4 +au BufNewFile,BufRead *.at setf m4 + " Avenue au BufNewFile,BufRead *.ave setf ave @@ -733,12 +736,18 @@ au BufNewFile,BufRead *.ace,*.ACE setf " Latte au BufNewFile,BufRead *.latte,*.lte setf latte +" Limits +au BufNewFile,BufRead /etc/limits setf limits + " LambdaProlog (*.mod too, see Modsim) au BufNewFile,BufRead *.sig setf lprolog " LDAP LDIF au BufNewFile,BufRead *.ldif setf ldif +" Ld loader +au BufNewFile,BufRead *.ld setf ld + " Lex au BufNewFile,BufRead *.lex,*.l setf lex @@ -761,9 +770,18 @@ else au BufNewFile,BufRead *.lsp,*.lisp,*.el,*.cl,*.jl,.emacs,.sawfishrc setf lisp endif +" SBCL implementation of Common Lisp +au BufNewFile,BufRead sbclrc,.sbclrc setf lisp + " Lite au BufNewFile,BufRead *.lite,*.lt setf lite +" Login access +au BufNewFile,BufRead /etc/login.access setf loginaccess + +" Login defs +au BufNewFile,BufRead /etc/login.defs setf logindefs + " Logtalk au BufNewFile,BufRead *.lgt setf logtalk @@ -990,6 +1008,9 @@ au BufNewFile,BufRead *.ora setf ora " Packet filter conf au BufNewFile,BufRead pf.conf setf pf +" Pam conf +au BufNewFile,BufRead /etc/pam.conf setf pamconf + " PApp au BufNewFile,BufRead *.papp,*.pxml,*.pxsl setf papp @@ -1535,6 +1556,9 @@ au BufNewFile,BufRead *.stp setf stp " Standard ML au BufNewFile,BufRead *.sml setf sml +" Sysctl +au BufNewFile,BufRead /etc/sysctl.conf setf sysctl + " Sudoers au BufNewFile,BufRead /etc/sudoers,sudoers.tmp setf sudoers @@ -1593,12 +1617,15 @@ au BufNewFile,BufRead *.uit,*.uil setf " UnrealScript au BufNewFile,BufRead *.uc setf uc +" Updatedb +au BufNewFile,BufRead /etc/updatedb.conf setf updatedb + " Verilog HDL au BufNewFile,BufRead *.v setf verilog " VHDL au BufNewFile,BufRead *.hdl,*.vhd,*.vhdl,*.vbe,*.vst setf vhdl -au BufNewFile,BufRead *.vhdl_[0-9]* call s:StarSetf('vhdl') +au BufNewFile,BufRead *.vhdl_[0-9]* call s:StarSetf('vhdl') " Vim script au BufNewFile,BufRead *.vim,.exrc,_exrc setf vim @@ -1673,6 +1700,9 @@ au BufNewFile,BufRead XF86Config " Xorg config au BufNewFile,BufRead xorg.conf,xorg.conf-4 let b:xf86c_xfree86_version = 4 | setf xf86conf +" Xinetd conf +au BufNewFile,BufRead /etc/xinetd.conf setf xinetd + " XS Perl extension interface language au BufNewFile,BufRead *.xs setf xs @@ -1709,7 +1739,23 @@ au BufNewFile,BufRead *.xsd setf xsd au BufNewFile,BufRead *.xsl,*.xslt setf xslt " Yacc -au BufNewFile,BufRead *.y,*.yy setf yacc +au BufNewFile,BufRead *.yy setf yacc + +" Yacc or racc +au BufNewFile,BufRead *.y call s:FTy() + +fun! s:FTy() + let n = 1 + while n < 10 + if getline(n) =~ '^\s*\(#\|class\>\)' + setf racc + return + endif + let n = n + 1 + endwhile + setf yacc +endfun + " Yaml au BufNewFile,BufRead *.yaml,*.yml setf yaml @@ -1794,6 +1840,9 @@ au BufNewFile,BufRead muttrc*,Muttrc* c " Nroff macros au BufNewFile,BufRead tmac.* call s:StarSetf('nroff') +" Pam conf +au BufNewFile,BufRead /etc/pam.d/* call s:StarSetf('pamconf') + " Printcap and Termcap au BufNewFile,BufRead *printcap* \ if !did_filetype() @@ -1825,6 +1874,9 @@ au BufNewFile,BufRead XF86Config* " X11 xmodmap au BufNewFile,BufRead *xmodmap* call s:StarSetf('xmodmap') +" Xinetd conf +au BufNewFile,BufRead /etc/xinetd.d/* call s:StarSetf('xinetd') + " Z-Shell script au BufNewFile,BufRead zsh*,zlog* call s:StarSetf('zsh')
new file mode 100644 --- /dev/null +++ b/runtime/ftplugin/alsaconf.vim @@ -0,0 +1,13 @@ +" Vim filetype plugin file +" Language: alsaconf(8) configuration file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_ftplugin = "setl com< cms<" + +setlocal comments=:# commentstring=#\ %s
new file mode 100644 --- /dev/null +++ b/runtime/ftplugin/arch.vim @@ -0,0 +1,13 @@ +" Vim filetype plugin file +" Language: GNU Arch inventory file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_ftplugin = "setl com< cms<" + +setlocal comments=:# commentstring=#\ %s
--- a/runtime/ftplugin/automake.vim +++ b/runtime/ftplugin/automake.vim @@ -1,11 +1,10 @@ " Vim filetype plugin file -" Langugage: Automake -" Maintainer: Nikolai Weibull <source@pcppopper.org> -" URL: http://www.pcppopper.org/vim/ftplugin/pcp/automake/ -" Latest Revision: 2004-05-22 -" arch-tag: 3a78b0cd-27b2-410a-8e7b-51a1717c2a5b +" Language: Automake +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-22 -" Same as makefile filetype plugin for now. +if exists("b:did_ftplugin") + finish +endif + runtime! ftplugin/make.vim ftplugin/make_*.vim ftplugin/make/*.vim - -" vim: set sts=2 sw=2:
new file mode 100644 --- /dev/null +++ b/runtime/ftplugin/bdf.vim @@ -0,0 +1,13 @@ +" Vim filetype plugin file +" Language: BDF font definition +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-22 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_ftplugin = "setl com< cms<" + +setlocal comments=b:COMMENT commentstring=COMMENT\ %s
new file mode 100644 --- /dev/null +++ b/runtime/ftplugin/calendar.vim @@ -0,0 +1,13 @@ +" Vim filetype plugin file +" Language: calendar(1) input file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_ftplugin = "setl com< cms< inc<" + +setlocal comments=s1:/*,mb:*,ex:*/ commentstring& include&
--- a/runtime/ftplugin/changelog.vim +++ b/runtime/ftplugin/changelog.vim @@ -1,24 +1,22 @@ " Vim filetype plugin file -" Language: generic Changelog file -" Maintainer: Nikolai Weibull <source@pcppopper.org> -" URL: http://www.pcppopper.org/vim/ftplugin/pcp/changelog/ -" Latest Revision: 2004-04-25 -" arch-tag: b00e2974-c559-4477-b7b2-3ef3f4061bdb +" Language: generic Changelog file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 " Variables: " g:changelog_timeformat - -" description: the timeformat used in ChangeLog entries. -" default: "%Y-%m-%d". +" description: the timeformat used in ChangeLog entries. +" default: "%Y-%m-%d". " g:changelog_username - -" description: the username to use in ChangeLog entries -" default: try to deduce it from environment variables and system files. +" description: the username to use in ChangeLog entries +" default: try to deduce it from environment variables and system files. " Local Mappings: " <Leader>o - -" adds a new changelog entry for the current user for the current date. +" adds a new changelog entry for the current user for the current date. " Global Mappings: " <Leader>o - -" switches to the ChangeLog buffer opened for the current directory, or -" opens it in a new buffer if it exists in the current directory. Then -" it does the same as the local <Leader>o described above. +" switches to the ChangeLog buffer opened for the current directory, or +" opens it in a new buffer if it exists in the current directory. Then +" it does the same as the local <Leader>o described above. " Notes: " run 'runtime ftplugin/changelog.vim' to enable the global mapping for " changelog files. @@ -28,16 +26,13 @@ " If 'filetype' isn't "changelog", we must have been to add ChangeLog opener if &filetype == "changelog" - " Only do this when not done yet for this buffer if exists("b:did_ftplugin") finish endif - - " Don't load another plugin for this buffer let b:did_ftplugin = 1 - let cpo_save = &cpo - set cpo-=C + let s:cpo_save = &cpo + set cpo&vim " The format of the date-time field (should have been called dateformat) if !exists("g:changelog_timeformat") @@ -55,56 +50,56 @@ if &filetype == "changelog" " Get the users login name let login = system('whoami') if v:shell_error - let login = 'unknown' + let login = 'unknown' else - let newline = stridx(login, "\n") - if newline != -1 - let login = strpart(login, 0, newline) - endif + let newline = stridx(login, "\n") + if newline != -1 + let login = strpart(login, 0, newline) + endif endif " Try to full name from gecos field in /etc/passwd if filereadable('/etc/passwd') - let name = substitute( - \system('cat /etc/passwd | grep ^`whoami`'), - \'^\%([^:]*:\)\{4}\([^:]*\):.*$', '\1', '') + let name = substitute( + \system('cat /etc/passwd | grep ^`whoami`'), + \'^\%([^:]*:\)\{4}\([^:]*\):.*$', '\1', '') endif " If there is no such file, or there was some other problem try " others if !filereadable('/etc/passwd') || v:shell_error - " Maybe the environment has something of interest - if exists("$NAME") - let name = $NAME - else - " No? well, use the login name and capitalize first - " character - let name = toupper(login[0]) . strpart(login, 1) - endif + " Maybe the environment has something of interest + if exists("$NAME") + let name = $NAME + else + " No? well, use the login name and capitalize first + " character + let name = toupper(login[0]) . strpart(login, 1) + endif endif " Only keep stuff before the first comma let comma = stridx(name, ',') if comma != -1 - let name = strpart(name, 0, comma) + let name = strpart(name, 0, comma) endif " And substitute & in the real name with the login of our user let amp = stridx(name, '&') if amp != -1 - let name = strpart(name, 0, amp) . toupper(login[0]) . - \strpart(login, 1) . strpart(name, amp + 1) + let name = strpart(name, 0, amp) . toupper(login[0]) . + \strpart(login, 1) . strpart(name, amp + 1) endif " Get our hostname let hostname = system("hostname") if v:shell_error - let hostname = 'unknownhost' + let hostname = 'unknownhost' else - let newline = stridx(hostname, "\n") - if newline != -1 - let hostname = strpart(hostname, 0, newline) - endif + let newline = stridx(hostname, "\n") + if newline != -1 + let hostname = strpart(hostname, 0, newline) + endif endif " And finally set the username @@ -134,15 +129,15 @@ if &filetype == "changelog" while i != -1 let char = str[i + 1] if char == '%' - let middle = '%' + let middle = '%' elseif char == 'd' - let middle = a:date + let middle = a:date elseif char == 'u' - let middle = a:user + let middle = a:user elseif char == 'c' - let middle = '{cursor}' + let middle = '{cursor}' else - let middle = char + let middle = char endif let str = strpart(str, 0, i) . middle . strpart(str, i + 2) let i = stridx(str, '%') @@ -169,17 +164,17 @@ if &filetype == "changelog" " Look for an entry for today by our user let date = strftime(g:changelog_timeformat) let search = s:substitute_items(g:changelog_date_entry_search, date, - \g:changelog_username) + \g:changelog_username) if search(search) > 0 " Ok, now we look for the end of the date-entry, and add an entry let pos = nextnonblank(line('.') + 1) let line = getline(pos) while line =~ '^\s\+\S\+' - let pos = pos + 1 - let line = getline(pos) + let pos = pos + 1 + let line = getline(pos) endwhile let insert = s:substitute_items(g:changelog_new_entry_format, - \'', '') + \'', '') execute "normal! ".(pos - 1)."Go".insert execute pos else @@ -188,18 +183,18 @@ if &filetype == "changelog" " No entry today, so create a date-user header and insert an entry let todays_entry = s:substitute_items(g:changelog_new_date_format, - \date, g:changelog_username) + \date, g:changelog_username) " Make sure we have a cursor positioning if stridx(todays_entry, '{cursor}') == -1 - let todays_entry = todays_entry.'{cursor}' + let todays_entry = todays_entry.'{cursor}' endif " Now do the work execute "normal! i".todays_entry if remove_empty - while getline('$') == '' - $delete - endwhile + while getline('$') == '' + $delete + endwhile endif 1 @@ -216,7 +211,7 @@ if &filetype == "changelog" command! -nargs=0 NewChangelogEntry call s:new_changelog_entry() endif - let b:undo_ftplugin = "setl com< tw< fo< et<" + let b:undo_ftplugin = "setl com< tw< fo< et< ai<" if &textwidth == 0 setlocal textwidth=78 @@ -224,9 +219,10 @@ if &filetype == "changelog" setlocal comments= setlocal formatoptions+=t setlocal noexpandtab - " setlocal autoindent now in indent file + setlocal autoindent - let &cpo = cpo_save + let &cpo = s:cpo_save + unlet s:cpo_save else " Add the Changelog opening mapping nmap <silent> <Leader>o :call <SID>open_changelog()<CR> @@ -234,23 +230,21 @@ else function! s:open_changelog() if filereadable('ChangeLog') if bufloaded('ChangeLog') - let buf = bufnr('ChangeLog') - execute "normal! \<C-W>t" - while winbufnr(winnr()) != buf - execute "normal! \<C-W>w" - endwhile + let buf = bufnr('ChangeLog') + execute "normal! \<C-W>t" + while winbufnr(winnr()) != buf + execute "normal! \<C-W>w" + endwhile else - split ChangeLog + split ChangeLog endif if exists("g:mapleader") - execute "normal " . g:mapleader . "o" + execute "normal " . g:mapleader . "o" else - execute "normal \\o" + execute "normal \\o" endif startinsert! endif endfunction endif - -" vim: set sts=2 sw=2:
new file mode 100644 --- /dev/null +++ b/runtime/ftplugin/conf.vim @@ -0,0 +1,13 @@ +" Vim filetype plugin file +" Language: generic configuration file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_ftplugin = "setl com< cms<" + +setlocal comments=:# commentstring=#\ %s
new file mode 100644 --- /dev/null +++ b/runtime/ftplugin/context.vim @@ -0,0 +1,36 @@ +" Vim filetype plugin file +" Language: ConTeXt typesetting engine +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< def< inc< sua<" + +setlocal comments=:%,b:%D,b:%C,b:%M commentstring=%\ %s + +let &l:define='\\\%([egx]\|char\|mathchar\|count\|dimen\|muskip\|skip\|toks\)\=' + \ . 'def\|\\font\|\\\%(future\)\=let' + \ . '\|\\new\%(count\|dimen\|skip\|muskip\|box\|toks\|read\|write' + \ . '\|fam\|insert\|if\)' + +let &l:include = '^\s*\%(input\|component\)' + +setlocal suffixesadd=.tex + +if exists("loaded_matchit") + let b:match_ignorecase = 0 + let b:match_skip = 'r:\\\@<!\%(\\\\\)*%' + let b:match_words = '(:),\[:],{:},\\(:\\),\\\[:\\],' . + \ '\\start\(\a\+\):\\stop\1' +endif " exists("loaded_matchit") + + +let &cpo = s:cpo_save +unlet s:cpo_save
new file mode 100644 --- /dev/null +++ b/runtime/ftplugin/crm.vim @@ -0,0 +1,13 @@ +" Vim filetype plugin file +" Language: CRM114 +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_ftplugin = "setl com< cms<" + +setlocal comments=:# commentstring=#\ %s
--- a/runtime/ftplugin/css.vim +++ b/runtime/ftplugin/css.vim @@ -1,20 +1,15 @@ " Vim filetype plugin file -" Language: CSS -" Maintainer: Nikolai Weibull <source@pcppopper.org> -" URL: http://www.pcppopper.org/vim/ftplugin/pcp/css/ -" Latest Revision: 2004-04-25 -" arch-tag: 5fa7c74f-bf1a-47c4-b06f-6efe8f48db3b +" Language: CSS +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 -" Only do this when not done yet for this buffer if exists("b:did_ftplugin") finish endif - -" Don't load another plugin for this buffer let b:did_ftplugin = 1 -let b:undo_ftplugin = "setl com<" +let b:undo_ftplugin = "setl com< cms< inc<" -setlocal comments=s1:/*,mb:*,ex:*/ +setlocal comments=s1:/*,mb:*,ex:*/ commentstring& -" vim: set sts=2 sw=2: +let &l:include = '^\s*@import\s\+\%(url(\)\='
new file mode 100644 --- /dev/null +++ b/runtime/ftplugin/cvsrc.vim @@ -0,0 +1,13 @@ +" Vim filetype plugin file +" Language: cvs(1) RC file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_ftplugin = "setl com< cms<" + +setlocal comments= commentstring=
new file mode 100644 --- /dev/null +++ b/runtime/ftplugin/dircolors.vim @@ -0,0 +1,13 @@ +" Vim filetype plugin file +" Language: dircolors(1) input file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_ftplugin = "setl com< cms<" + +setlocal comments=:# commentstring=#\ %s
new file mode 100644 --- /dev/null +++ b/runtime/ftplugin/elinks.vim @@ -0,0 +1,13 @@ +" Vim filetype plugin file +" Language: elinks(1) configuration file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_ftplugin = "setl com< cms<" + +setlocal comments=:# commentstring=#\ %s
new file mode 100644 --- /dev/null +++ b/runtime/ftplugin/eterm.vim @@ -0,0 +1,13 @@ +" Vim filetype plugin file +" Language: eterm(1) configuration file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_ftplugin = "setl com< cms< inc<" + +setlocal comments=:# commentstring=#\ %s include=^\\s*include
new file mode 100644 --- /dev/null +++ b/runtime/ftplugin/fetchmail.vim @@ -0,0 +1,13 @@ +" Vim filetype plugin file +" Language: fetchmail(1) RC File +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_ftplugin = "setl com< cms<" + +setlocal comments=:# commentstring=#\ %s
new file mode 100644 --- /dev/null +++ b/runtime/ftplugin/gpg.vim @@ -0,0 +1,13 @@ +" Vim filetype plugin file +" Language: gpg(1) configuration file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_ftplugin = "setl com< cms<" + +setlocal comments=:# commentstring=#\ %s
new file mode 100644 --- /dev/null +++ b/runtime/ftplugin/grub.vim @@ -0,0 +1,13 @@ +" Vim filetype plugin file +" Language: grub(8) configuration file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_ftplugin = "setl com< cms<" + +setlocal comments=:# commentstring=#\ %s
new file mode 100644 --- /dev/null +++ b/runtime/ftplugin/haskell.vim @@ -0,0 +1,13 @@ +" Vim filetype plugin file +" Language: Haskell +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_plugin = "setl com< cms<" + +setlocal comments=s1fl:{-,mb:-,ex:-},:-- commentstring=--\ %s
new file mode 100644 --- /dev/null +++ b/runtime/ftplugin/help.vim @@ -0,0 +1,13 @@ +" Vim filetype plugin file +" Language: Vim help file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_plugin = "setl fo< tw<" + +setlocal formatoptions+=tcroql textwidth=78
new file mode 100644 --- /dev/null +++ b/runtime/ftplugin/indent.vim @@ -0,0 +1,13 @@ +" Vim filetype plugin file +" Language: indent(1) configuration file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_ftplugin = "setl com<" + +setlocal comments=s1:/*,mb:*,ex:*/
new file mode 100644 --- /dev/null +++ b/runtime/ftplugin/ld.vim @@ -0,0 +1,13 @@ +" Vim filetype plugin file +" Language: ld(1) script +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_ftplugin = "setl com< cms< inc<" + +setlocal comments=s1:/*,mb:*,ex:*/ commentstring=/*%s*/ include=^\\s*INCLUDE
new file mode 100644 --- /dev/null +++ b/runtime/ftplugin/lftp.vim @@ -0,0 +1,13 @@ +" Vim filetype plugin file +" Language: lftp(1) configuration file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_ftplugin = "setl com< cms<" + +setlocal comments=:# commentstring=#\ %s
new file mode 100644 --- /dev/null +++ b/runtime/ftplugin/libao.vim @@ -0,0 +1,13 @@ +" Vim filetype plugin file +" Language: libao.conf(5) configuration file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_ftplugin = "setl com< cms<" + +setlocal comments=:# commentstring=#\ %s
new file mode 100644 --- /dev/null +++ b/runtime/ftplugin/limits.vim @@ -0,0 +1,13 @@ +" Vim filetype plugin file +" Language: limits(5) configuration file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_ftplugin = "setl com< cms<" + +setlocal comments=:# commentstring=#\ %s
new file mode 100644 --- /dev/null +++ b/runtime/ftplugin/loginaccess.vim @@ -0,0 +1,13 @@ +" Vim filetype plugin file +" Language: login.access(5) configuration file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_ftplugin = "setl com< cms<" + +setlocal comments=:# commentstring=#\ %s
new file mode 100644 --- /dev/null +++ b/runtime/ftplugin/logindefs.vim @@ -0,0 +1,13 @@ +" Vim filetype plugin file +" Language: login.defs(5) configuration file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_ftplugin = "setl com< cms<" + +setlocal comments=:# commentstring=#\ %s
new file mode 100644 --- /dev/null +++ b/runtime/ftplugin/m4.vim @@ -0,0 +1,13 @@ +" Vim filetype plugin file +" Language: m4 +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_ftplugin = "setl com< cms<" + +setlocal comments=:#,:dnl commentstring=dnl\ %s
new file mode 100644 --- /dev/null +++ b/runtime/ftplugin/mailcap.vim @@ -0,0 +1,13 @@ +" Vim filetype plugin file +" Language: Mailcap configuration file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_ftplugin = "setl com< cms<" + +set comments=:# commentstring=#\ %s
new file mode 100644 --- /dev/null +++ b/runtime/ftplugin/modconf.vim @@ -0,0 +1,13 @@ +" Vim filetype plugin file +" Language: modules.conf(5) configuration file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_ftplugin = "setl com< cms< inc<" + +setlocal comments=:# commentstring=#\ %s include=^\\s*include
new file mode 100644 --- /dev/null +++ b/runtime/ftplugin/mplayerconf.vim @@ -0,0 +1,13 @@ +" Vim filetype plugin file +" Language: mplayer(1) configuration file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_ftplugin = "setl com< cms< inc<" + +setlocal comments=:# commentstring=#\ %s include=^\\s*include
new file mode 100644 --- /dev/null +++ b/runtime/ftplugin/muttrc.vim @@ -0,0 +1,15 @@ +" Vim filetype plugin file +" Language: mutt RC File +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_ftplugin = "setl com< cms< inc<" + +setlocal comments=:# commentstring=#\ %s + +let &l:include = '^\s*source\>'
new file mode 100644 --- /dev/null +++ b/runtime/ftplugin/netrc.vim @@ -0,0 +1,13 @@ +" Vim filetype plugin file +" Language: netrc(5) configuration file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_ftplugin = "setl com< cms<" + +setlocal comments= commentstring=
new file mode 100644 --- /dev/null +++ b/runtime/ftplugin/pamconf.vim @@ -0,0 +1,13 @@ +" Vim filetype plugin file +" Language: pam(8) configuration file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_ftplugin = "setl com< cms<" + +setlocal comments=:# commentstring=#\ %s
new file mode 100644 --- /dev/null +++ b/runtime/ftplugin/pinfo.vim @@ -0,0 +1,13 @@ +" Vim filetype plugin file +" Language: pinfo(1) configuration file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_ftplugin = "setl com< cms<" + +setlocal comments=:# commentstring=#\ %s
new file mode 100644 --- /dev/null +++ b/runtime/ftplugin/procmail.vim @@ -0,0 +1,15 @@ +" Vim filetype plugin file +" Language: procmail(1) configuration file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_ftplugin = "setl com< cms< inc<" + +setlocal comments=:# commentstring=#\ %s + +let &l:include = '^\s*INCLUDERC\>'
new file mode 100644 --- /dev/null +++ b/runtime/ftplugin/prolog.vim @@ -0,0 +1,13 @@ +" Vim filetype plugin file +" Language: Prolog +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_ftplugin = "setl com< cms<" + +setlocal comments=s1:/*,mb:*,ex:*/,:% commentstring=%\ %s
new file mode 100644 --- /dev/null +++ b/runtime/ftplugin/quake.vim @@ -0,0 +1,13 @@ +" Vim filetype plugin file +" Language: Quake[1-3] configuration file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_ftplugin = "setl com< cms<" + +setlocal comments=:// commentstring=//\ %s
new file mode 100644 --- /dev/null +++ b/runtime/ftplugin/racc.vim @@ -0,0 +1,13 @@ +" Vim filetype plugin file +" Language: Racc input file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_ftplugin = "setl com< cms<" + +setlocal comments=s1:/*,mb:*,ex:*/,:# commentstring=#\ %s
new file mode 100644 --- /dev/null +++ b/runtime/ftplugin/readline.vim @@ -0,0 +1,13 @@ +" Vim filetype plugin file +" Language: readline(3) configuration file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_ftplugin = "setl com< cms<" + +setlocal comments=:# commentstring=#\ %s
new file mode 100644 --- /dev/null +++ b/runtime/ftplugin/rnc.vim @@ -0,0 +1,13 @@ +" Vim filetype plugin file +" Language: Relax NG compact syntax +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_ftplugin = "setl com< cms<" + +setlocal comments=:# commentstring=#\ %s
--- a/runtime/ftplugin/rst.vim +++ b/runtime/ftplugin/rst.vim @@ -1,23 +1,13 @@ " Vim filetype plugin file -" Language: reStructuredText Documentation Format -" Maintainer: Nikolai Weibull <source@pcppopper.org> -" URL: http://www.pcppopper.org/vim/ftplugin/pcp/rst/ -" Latest Revision: 2004-04-25 -" arch-tag: 618bf504-81ba-4518-bad2-43ba2b844a26 +" Language: reStructuredText documentation format +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 -" Only do this when not done yet for this buffer if exists("b:did_ftplugin") finish endif - -" Don't load another plugin for this buffer let b:did_ftplugin = 1 -let b:undo_ftplugin = "setl com< cms<" +let b:undo_ftplugin = "setl com< cms< et<" -setlocal comments=fb:.. -setlocal commentstring=..\ %s -setlocal expandtab -setlocal sts=2 sw=2 - -" vim: set sts=2 sw=2: +setlocal comments=fb:.. commentstring=..\ %s expandtab
new file mode 100644 --- /dev/null +++ b/runtime/ftplugin/screen.vim @@ -0,0 +1,13 @@ +" Vim filetype plugin file +" Language: screen(1) configuration file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_ftplugin = "setl com< cms<" + +setlocal comments=:# commentstring=#\ %s
new file mode 100644 --- /dev/null +++ b/runtime/ftplugin/sieve.vim @@ -0,0 +1,13 @@ +" Vim filetype plugin file +" Language: Sieve filtering language input file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_ftplugin = "setl com< cms<" + +setlocal comments=s1:/*,mb:*,ex:*/,:# commentstring=#\ %s
new file mode 100644 --- /dev/null +++ b/runtime/ftplugin/sshconfig.vim @@ -0,0 +1,13 @@ +" Vim filetype plugin file +" Language: OpenSSH client configuration file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_ftplugin = "setl com< cms<" + +setlocal comments=:# commentstring=#\ %s
new file mode 100644 --- /dev/null +++ b/runtime/ftplugin/sudoers.vim @@ -0,0 +1,13 @@ +" Vim filetype plugin file +" Language: sudoers(5) configuration files +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_ftplugin = "setl com< cms<" + +setlocal comments=:# commentstring=#\ %s
new file mode 100644 --- /dev/null +++ b/runtime/ftplugin/sysctl.vim @@ -0,0 +1,13 @@ +" Vim filetype plugin file +" Language: sysctl.conf(5) configuration file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_plugin = "setl com< cms<" + +setlocal comments=:;,:# commentstring=#\ %s
new file mode 100644 --- /dev/null +++ b/runtime/ftplugin/terminfo.vim @@ -0,0 +1,13 @@ +" Vim filetype plugin file +" Language: terminfo(5) definition +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_ftplugin = "setl com< cms<" + +setlocal comments=:# commentstring=#\ %s
new file mode 100644 --- /dev/null +++ b/runtime/ftplugin/updatedb.vim @@ -0,0 +1,13 @@ +" Vim filetype plugin file +" Language: updatedb.conf(5) configuration file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_plugin = "setl com< cms<" + +setlocal comments=:# commentstring=#\ %s
new file mode 100644 --- /dev/null +++ b/runtime/ftplugin/xdefaults.vim @@ -0,0 +1,13 @@ +" Vim filetype plugin file +" Language: X resources files like ~/.Xdefaults (xrdb) +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_ftplugin = "setl com< cms< inc<" + +setlocal comments=s1:/*,mb:*,ex:*/,:! commentstring& inc&
new file mode 100644 --- /dev/null +++ b/runtime/ftplugin/xf86conf.vim @@ -0,0 +1,13 @@ +" Vim filetype plugin file +" Language: XFree86 Configuration File +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_ftplugin = "setl com< cms<" + +setlocal comments=:# commentstring=#\ %s
new file mode 100644 --- /dev/null +++ b/runtime/ftplugin/xinetd.vim @@ -0,0 +1,13 @@ +" Vim filetype plugin file +" Language: xinetd.conf(5) configuration file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_ftplugin = "setl com< cms< inc<" + +setlocal comments=:# commentstring=#\ %s include=^\\s*include
new file mode 100644 --- /dev/null +++ b/runtime/ftplugin/xmodmap.vim @@ -0,0 +1,13 @@ +" Vim filetype plugin file +" Language: xmodmap(1) definition file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_ftplugin = "setl com< cms<" + +setlocal comments=:! commentstring=!\ %s
new file mode 100644 --- /dev/null +++ b/runtime/ftplugin/yaml.vim @@ -0,0 +1,13 @@ +" Vim filetype plugin file +" Language: YAML (YAML Ain't Markup Language) +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_ftplugin = "setl com< cms< et<" + +setlocal comments=:# commentstring=#\ %s expandtab
new file mode 100644 --- /dev/null +++ b/runtime/ftplugin/zsh.vim @@ -0,0 +1,13 @@ +" Vim filetype plugin file +" Language: Zsh shell script +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_ftplugin = "setl com< cms<" + +setlocal comments=b:# commentstring=#\ %s
--- a/runtime/indent/automake.vim +++ b/runtime/indent/automake.vim @@ -1,11 +1,11 @@ " Vim indent file -" Language: automake -" Maintainer: Nikolai Weibull <source@pcppopper.org> -" URL: http://www.pcppopper.org/vim/indent/pcp/automake/ -" Latest Revision: 2004-04-25 -" arch-tag: 9a2af48c-48d4-4bae-82c3-c801bc9d1976 +" Language: automake +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 + +if exists("b:did_indent") + finish +endif " same as makefile indenting for now. -source <sfile>:p:h/make.vim - -" vim: set sts=2 sw=2: +runtime! indent/make.vim
--- a/runtime/indent/config.vim +++ b/runtime/indent/config.vim @@ -1,18 +1,17 @@ " Vim indent file -" Language: Autoconf configure.{ac,in} file -" Maintainer: Nikolai Weibull <source@pcppopper.org> -" URL: http://www.pcppopper.org/vim/indent/pcp/config/ -" Latest Revision: 2004-04-25 -" arch-tag: 7779c341-796f-408e-80e4-a55c26b519a4 -" TODO: how about nested [()]'s in one line -" what's wrong with '\\\@!'? +" Language: Autoconf configure.{ac,in} file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" URL: http://www.pcppopper.org/vim/indent/pcp/config/ +" Latest Revision: 2005-06-29 +" TODO: how about nested [()]'s in one line +" what's wrong with '\\\@!'? " Only load this indent file when no other was loaded. if exists("b:did_indent") finish endif -source <sfile>:p:h/sh.vim " will set b:did_indent +runtime! indent/sh.vim " will set b:did_indent setlocal indentexpr=GetConfigIndent() setlocal indentkeys=!^F,o,O,=then,=do,=else,=elif,=esac,=fi,=fin,=fil,=done
--- a/runtime/indent/css.vim +++ b/runtime/indent/css.vim @@ -1,79 +1,54 @@ " Vim indent file -" Language: CSS -" Maintainer: Nikolai Weibull <source@pcppopper.org> -" URL: http://www.pcppopper.org/vim/indent/pcp/css/ -" Latest Revision: 2004-04-25 -" arch-tag: ccfd77a0-1c9a-43f7-a407-bbe704541442 +" Language: CSS +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 -" Only load this indent file when no other was loaded. if exists("b:did_indent") finish endif - let b:did_indent = 1 setlocal indentexpr=GetCSSIndent() -setlocal indentkeys-=:,0# indentkeys-=e +setlocal indentkeys=0{,0},!^F,o,O -" Only define the function once. if exists("*GetCSSIndent") finish endif -function! s:LookupLine(lnum) - " find a non-blank line above the current line +function s:LookupLine(lnum) let lnum = prevnonblank(a:lnum - 1) + while lnum > 0 + let line = getline(lnum) + if line =~ '\*/' + while lnum > 0 && line !~ '/\*' + let lnum -= 1 + let line = getline(lnum) + endwhile + endif + + if line !~ '^\s*/\*' + return lnum + end + endwhile + return lnum +endfunction + +function GetCSSIndent() + let lnum = prevnonblank(v:lnum - 1) if lnum == 0 return 0 endif - let line = getline(lnum) - - " if the line has an end comment sequence we need to find a line - " that isn't affected by the comment. - if line =~ '\*/' - while line !~ '/\*' - let lnum = lnum - 1 - let line = getline(lnum) - endwhile - endif - - " if the line we found only contained the comment and whitespace - " we need to find another line to use... - if line =~ '^\s*/\*' - return s:LookupLine(lnum) - else - return lnum - endif -endfunction - -function GetCSSIndent() - let lnum = s:LookupLine(v:lnum) - - if lnum == 0 - return 0 - endif - - " remove commented stuff from line - let line = substitute(getline(lnum), '/\*.\*/', '', 'eg') - let ind = indent(lnum) - " check for opening brace on the previous line - " skip if it also contains a closing brace... - if line =~ '{\(.*}\)\@!' + if substitute(getline(lnum), '/\*.*', '', 'e') =~ '{\(.*}\)\@!' let ind = ind + &sw endif - let line = getline(v:lnum) - - " check for closing brace first on current line - if line =~ '^\s*}' - let ind = ind - &sw + if getline(v:lnum) =~ '^\s*}' + let ind = ind - &sw endif return ind endfunction - -" vim: set sts=2 sw=2:
--- a/runtime/indent/docbk.vim +++ b/runtime/indent/docbk.vim @@ -1,12 +1,10 @@ " Vim indent file -" Language: DocBook Documentation Format -" Maintainer: Nikolai Weibull <source@pcppopper.org> -" URL: http://www.pcppopper.org/vim/indent/pcp/docbk/ -" Latest Revision: 2004-05-22 -" arch-tag: 3d073af7-1d69-42a2-99ad-9a49a21eb28f +" Language: DocBook Documentation Format +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 if exists("b:did_indent") - finish + finish endif " Same as XML indenting for now. @@ -15,5 +13,3 @@ runtime! indent/xml.vim if exists('*XmlIndentGet') setlocal indentexpr=XmlIndentGet(v:lnum,0) endif - -" vim: set sts=2 sw=2:
--- a/runtime/indent/eterm.vim +++ b/runtime/indent/eterm.vim @@ -1,49 +1,35 @@ " Vim indent file -" Language: Eterm configuration file -" Maintainer: Nikolai Weibull <source@pcppopper.org> -" URL: http://www.pcppopper.org/vim/indent/pcp/eterm/ -" Latest Revision: 2004-04-25 -" arch-tag: a22a92b1-c59f-4f47-8207-b21db6549b21 +" Language: Eterm configuration file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 -" Only load this indent file when no other was loaded. if exists("b:did_indent") finish endif - let b:did_indent = 1 setlocal indentexpr=GetEtermIndent() setlocal indentkeys=!^F,o,O,=end -" Only define the function once. if exists("*GetEtermIndent") finish endif function GetEtermIndent() - " Find a non-blank line above the current line. let lnum = prevnonblank(v:lnum - 1) - - " Hit the start of the file, use zero indent. if lnum == 0 return 0 endif - let line = getline(lnum) let ind = indent(lnum) - if line =~ '^\s*begin\>' + if getline(lnum) =~ '^\s*begin\>' let ind = ind + &sw endif - let line = getline(v:lnum) - - " Check for closing brace on current line - if line =~ '^\s*end\>' + if getline(v:lnum) =~ '^\s*end\>' let ind = ind - &sw endif return ind endfunction - -" vim: set sts=2 sw=2:
--- a/runtime/indent/ld.vim +++ b/runtime/indent/ld.vim @@ -1,7 +1,7 @@ " Vim indent file " Language: ld(1) script " Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> -" Latest Revision: 2005-06-28 +" Latest Revision: 2005-06-29 if exists("b:did_indent") finish
--- a/runtime/indent/make.vim +++ b/runtime/indent/make.vim @@ -1,21 +1,16 @@ " Vim indent file -" Language: Makefile -" Maintainer: Nikolai Weibull <source@pcppopper.org> -" URL: http://www.pcppopper.org/vim/indent/pcp/make/ -" Latest Revision: 2004-04-25 -" arch-tag: b539e147-a05c-4860-98af-1d2436db2f4b +" Language: Makefile +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 -" Only load this indent file when no other was loaded. if exists("b:did_indent") finish endif - let b:did_indent = 1 setlocal indentexpr=GetMakeIndent() setlocal indentkeys=!^F,o,O -" Only define the function once. if exists("*GetMakeIndent") finish endif @@ -23,35 +18,28 @@ endif function s:GetStringWidth(line, str) let end = matchend(a:line, a:str) let width = 0 - let i = 0 - while i < end - if a:line[i] != "\t" - let width = width + 1 + for c in a:line + if c == "\t" + let width += &ts - (width % &ts) else - let width = width + &ts - (width % &ts) + let width += 1 endif - let i = i + 1 - endwhile + endfor return width endfunction function GetMakeIndent() - if v:lnum == 1 + let lnum = v:lnum - 1 + if lnum == 0 return 0 endif - let ind = indent(v:lnum - 1) - let line = getline(v:lnum - 1) - + let line = getline(lnum) if line == '' - let ind = 0 - elseif line =~ '^[^ \t#:][^#:]*:\{1,2}\([^=:]\|$\)' - let ind = ind + &ts - elseif line =~ '^\s*\h\w*\s*=\s*.\+\\$' - let ind = s:GetStringWidth(line, '=\s*') + return 0 + elseif line =~ '^[^ \t#:][^#:]*:\{1,2}\%([^=:]\|$\)' + return indent(lnum) + &ts + elseif line =~ '^\s*\h\w*\s*+\==\s*.\+\\$' + return s:GetStringWidth(line, '+\==\s*') endif - - return ind endfunction - -" vim: set sts=2 sw=2:
--- a/runtime/indent/readline.vim +++ b/runtime/indent/readline.vim @@ -1,48 +1,35 @@ " Vim indent file -" Language: readline configuration file -" Maintainer: Nikolai Weibull <source@pcppopper.org> -" URL: http://www.pcppopper.org/vim/indent/pcp/readline/ -" Latest Revision: 2004-04-25 -" arch-tag: ee681235-3abf-4a42-8587-edabd409a980 +" Language: readline configuration file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 -" Only load this indent file when no other was loaded. if exists("b:did_indent") finish endif - let b:did_indent = 1 setlocal indentexpr=GetReadlineIndent() setlocal indentkeys=!^F,o,O,=$else,=$endif -" Only define the function once. if exists("*GetReadlineIndent") finish endif function GetReadlineIndent() let lnum = prevnonblank(v:lnum - 1) - if lnum == 0 return 0 endif - let line = getline(lnum) let ind = indent(lnum) - " increase indent if previous line started with $if or $else - if line =~ '^\s*$\(if\|else\)\>' + if getline(lnum) =~ '^\s*$\(if\|else\)\>' let ind = ind + &sw endif - let line = getline(v:lnum) - - " decrease indent if this line starts with $else or $endif - if line =~ '^\s*$\(else\|endif\)\>' + if getline(v:lnum) =~ '^\s*$\(else\|endif\)\>' let ind = ind - &sw endif return ind endfunction - -" vim: set sts=2 sw=2:
--- a/runtime/indent/rst.vim +++ b/runtime/indent/rst.vim @@ -1,28 +1,22 @@ " Vim indent file -" Language: reStructuredText Documentation Format -" Maintainer: Nikolai Weibull <source@pcppopper.org> -" URL: http://www.pcppopper.org/vim/indent/pcp/rst/ -" Latest Revision: 2004-04-25 -" arch-tag: 3fe10f75-24d0-4d94-a924-0ce945958104 +" Language: reStructuredText Documentation Format +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 -" Only load this indent file when no other was loaded. if exists("b:did_indent") finish endif - let b:did_indent = 1 setlocal indentexpr=GetRSTIndent() -setlocal indentkeys-=:,0# indentkeys-=e +setlocal indentkeys=!^F,o,O -" Only define the function once. if exists("*GetRSTIndent") finish endif function GetRSTIndent() let lnum = prevnonblank(v:lnum - 1) - if lnum == 0 return 0 endif @@ -46,7 +40,7 @@ function GetRSTIndent() let ind = ind - 2 elseif line =~ '^\s*\d\+\.\s' let ind = ind - matchend(substitute(line, '^\s*', '', ''), - \ '\d\+\.\s\+') + \ '\d\+\.\s\+') elseif line =~ '^\s*\.\.' let ind = ind - 3 else @@ -56,5 +50,3 @@ function GetRSTIndent() return ind endfunction - -" vim: set sts=2 sw=2:
--- a/runtime/indent/sh.vim +++ b/runtime/indent/sh.vim @@ -1,33 +1,26 @@ " Vim indent file -" Language: Shell Script -" Maintainer: Nikolai Weibull <source@pcppopper.org> -" URL: http://www.pcppopper.org/vim/indent/pcp/sh/ -" Latest Revision: 2004-04-25 -" arch-tag: 431c7fc1-12a6-4d71-9636-1498ef56b038 +" Language: Shell Script +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 -" Only load this indent file when no other was loaded. if exists("b:did_indent") finish endif - let b:did_indent = 1 setlocal indentexpr=GetShIndent() setlocal indentkeys+==then,=do,=else,=elif,=esac,=fi,=fin,=fil,=done setlocal indentkeys-=:,0# -" Only define the function once. if exists("*GetShIndent") finish endif -set cpoptions-=C +let s:cpo_save = &cpo +set cpo&vim function GetShIndent() - " Find a non-blank line above the current line. let lnum = prevnonblank(v:lnum - 1) - - " Hit the start of the file, use zero indent. if lnum == 0 return 0 endif @@ -37,8 +30,8 @@ function GetShIndent() let ind = indent(lnum) let line = getline(lnum) if line =~ '^\s*\(if\|then\|do\|else\|elif\|case\|while\|until\|for\)\>' - \ || line =~ '^\s*\<\h\w*\>\s*()\s*{' - \ || line =~ '^\s*{' + \ || line =~ '^\s*\<\k\+\>\s*()\s*{' + \ || line =~ '^\s*{' if line !~ '\(esac\|fi\|done\)\>\s*$' && line !~ '}\s*$' let ind = ind + &sw endif @@ -48,11 +41,12 @@ function GetShIndent() " Retain the indentation level if line matches fin (for find) let line = getline(v:lnum) if (line =~ '^\s*\(then\|do\|else\|elif\|esac\|fi\|done\)\>' || line =~ '^\s*}') - \ && line !~ '^\s*fi[ln]\>' + \ && line !~ '^\s*fi[ln]\>' let ind = ind - &sw endif return ind endfunction -" vim: set sts=2 sw=2: +let &cpo = s:cpo_save +unlet s:cpo_save
--- a/runtime/indent/tcl.vim +++ b/runtime/indent/tcl.vim @@ -1,27 +1,21 @@ " Vim indent file -" Language: Tcl -" Maintainer: Nikolai Weibull <source@pcppopper.org> -" URL: http://www.pcppopper.org/vim/indent/pcp/tcl/ -" Latest Revision: 2004-05-21 -" arch-tag: 64fab1fa-d670-40ab-a191-55678f20ceb0 +" Language: Tcl +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 -" only load this indent file when no other was loaded. if exists("b:did_indent") finish endif - let b:did_indent = 1 setlocal indentexpr=GetTclIndent() -setlocal indentkeys-=:,0# -setlocal indentkeys+=0] +setlocal indentkeys=0{,0},!^F,o,O,0] -" only define the function once. if exists("*GetTclIndent") finish endif -function s:PrevNonBlankNonComment(lnum) +function s:prevnonblanknoncomment(lnum) let lnum = prevnonblank(a:lnum) while lnum > 0 let line = getline(lnum) @@ -33,91 +27,44 @@ function s:PrevNonBlankNonComment(lnum) return lnum endfunction -function! GetTclIndent() - let lnum = s:PrevNonBlankNonComment(v:lnum - 1) +function s:count_braces(lnum, count_open) + let n_open = 0 + let n_close = 0 + let line = getline(a:lnum) + let pattern = '\\\@<![{}]' + let i = match(line, pattern) + while i != -1 + if synIDattr(synID(a:lnum, i + 1, 1), 'name') !~ 'tcl\%(Comment\|String\)' + if line[i] == '{' + let n_open += 1 + elseif line[i] == '}' + if n_open > 0 + let n_open -= 1 + else + let n_close += 1 + endif + endif + endif + let i = match(line, pattern, i + 1) + endwhile + return a:count_open ? n_open : n_close +endfunction - if lnum == 0 +function GetTclIndent() + let pnum = s:prevnonblanknoncomment(v:lnum - 1) + if pnum == 0 return 0 endif - let line = getline(lnum) - let ind = indent(lnum) - - " TODO: Possible improvement, check that 'begin' and 'end' aren't inside a - " comment or string. This will mess it up. As I am pressed for time and - " stuff like this is unlikely to happen I won't deal with it in this - " version. - let open = 0 - let begin = match(line, '{', 0) - while begin > -1 - let end = match(line, '}', begin + 1) - if end < 0 - let open = open + 1 - else - let tmp = match(line, '{', begin + 1) - if tmp != -1 && tmp < end - let open = open + 1 - endif - endif - let begin = match(line, '{', begin + 1) - endwhile - - let begin = match(line, '[', 0) - while begin > -1 - let end = match(line, ']', begin + 1) - if end < 0 - let open = open + 1 - else - let tmp = match(line, '{', begin + 1) - if tmp != -1 && tmp < end - let open = open + 1 - endif - endif - let begin = match(line, '{', begin + 1) - endwhile + let ind = indent(pnum) + s:count_braces(pnum, 1) * &sw + if getline(pnum) =~ '\\$' + let ind += &sw + endif - let close = 0 - let prev = 0 - let end = matchend(line, '^\s*}.*}', prev) - while end > -1 - let begin = match(line, '{', prev + 1) - if begin < 0 || begin > prev - let close = close + 1 - endif - let prev = end - let end = match(line, '}', prev + 1) - endwhile - - let prev = 0 - let end = match(line, ']', prev) - while end > -1 - let begin = match(line, '[', prev + 1) - if begin < 0 || begin > prev - let close = close + 1 - endif - let prev = end - let end = match(line, ']', prev + 1) - endwhile + let pnum = s:prevnonblanknoncomment(pnum - 1) + if pnum > 0 && getline(pnum) =~ '\\$' + let ind -= &sw + endif - let ind = ind + (open - close) * &sw - - let line = getline(v:lnum) - - let close = 0 - let prev = 0 - let end = match(line, '}', prev) - while end > -1 - let begin = match(line, '{', prev + 1) - if begin < 0 || begin > prev - let close = close + 1 - endif - let prev = end - let end = match(line, '}', prev + 1) - endwhile - - let ind = ind - close * &sw - - return ind >= 0 ? ind : 0 + return ind - s:count_braces(v:lnum, 0) * &sw endfunction - -" vim: set sts=2 sw=2:
--- a/runtime/indent/xf86conf.vim +++ b/runtime/indent/xf86conf.vim @@ -1,21 +1,16 @@ " Vim indent file -" Language: XFree86 Configuration File -" Maintainer: Nikolai Weibull <source@pcppopper.org> -" URL: http://www.pcppopper.org/vim/indent/pcp/xf86conf/ -" Latest Revision: 2004-04-25 -" arch-tag: 8a42f7b6-5088-49cf-b15b-07696a91c015 +" Language: XFree86 Configuration File +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 -" Only load this indent file when no other was loaded. if exists("b:did_indent") finish endif - let b:did_indent = 1 setlocal indentexpr=GetXF86ConfIndent() setlocal indentkeys=!^F,o,O,=End -" Only define the function once. if exists("*GetXF86ConfIndent") finish endif @@ -28,15 +23,14 @@ function GetXF86ConfIndent() endif let ind = indent(lnum) - let line = getline(lnum) - if line =~? '^\s*\(Sub\)\=Section' + if getline(lnum) =~? '^\s*\(Sub\)\=Section\>' let ind = ind + &sw - elseif getline(v:lnum) =~? '^\s*End' + endif + + if getline(v:lnum) =~? '^\s*End\>' let ind = ind - &sw endif return ind endfunction - -" vim: set sts=2 sw=2:
new file mode 100644 --- /dev/null +++ b/runtime/indent/xinetd.vim @@ -0,0 +1,49 @@ +" Vim indent file +" Language: xinetd.conf(5) configuration file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-28 + +if exists("b:did_indent") + finish +endif +let b:did_indent = 1 + +setlocal indentexpr=GetXinetdIndent() +setlocal indentkeys=0{,0},!^F,o,O + +if exists("*GetXinetdIndent") + finish +endif + +function s:count_braces(lnum, count_open) + let n_open = 0 + let n_close = 0 + let line = getline(a:lnum) + let pattern = '[{}]' + let i = match(line, pattern) + while i != -1 + if synIDattr(synID(a:lnum, i + 1, 0), 'name') !~ 'ld\%(Comment\|String\)' + if line[i] == '{' + let n_open += 1 + elseif line[i] == '}' + if n_open > 0 + let n_open -= 1 + else + let n_close += 1 + endif + endif + endif + let i = match(line, pattern, i + 1) + endwhile + return a:count_open ? n_open : n_close +endfunction + +function GetXinetdIndent() + let pnum = prevnonblank(v:lnum - 1) + if pnum == 0 + return 0 + endif + + return indent(pnum) + s:count_braces(pnum, 1) * &sw + \ - s:count_braces(v:lnum, 0) * &sw +endfunction
--- a/runtime/indent/yacc.vim +++ b/runtime/indent/yacc.vim @@ -1,9 +1,7 @@ " Vim indent file -" Language: YACC input file -" Maintainer: Nikolai Weibull <source@pcppopper.org> -" URL: http://www.pcppopper.org/vim/indent/pcp/yacc/ -" Latest Revision: 2004-04-25 -" arch-tag: 629aa719-8fe4-4787-adb7-ae94ca801610 +" Language: YACC input file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 " Only load this indent file when no other was loaded. if exists("b:did_indent") @@ -40,5 +38,3 @@ function GetYaccIndent() return ind endfunction - -" vim: set sts=2 sw=2:
--- a/runtime/indent/zsh.vim +++ b/runtime/indent/zsh.vim @@ -1,11 +1,11 @@ " Vim indent file -" Language: Zsh Shell Script -" Maintainer: Nikolai Weibull <source@pcppopper.org> -" URL: http://www.pcppopper.org/vim/indent/pcp/zsh/ -" Latest Revision: 2004-05-22 -" arch-tag: e566f55f-d8c0-4c60-b4b3-60c0dbd6dea1 +" Language: Zsh Shell Script +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 + +if exists("b:did_indent") + finish +endif " Same as sh indenting for now. runtime! indent/sh.vim - -" vim: set sts=2 sw=2:
--- a/runtime/syntax/alsaconf.vim +++ b/runtime/syntax/alsaconf.vim @@ -1,72 +1,51 @@ " Vim syntax file -" Language: ALSA configuration file -" Maintainer: Nikolai Weibull <source@pcppopper.org> -" URL: http://www.pcppopper.org/ -" Latest Revision: 2004-09-10 -" arch-tag: 3e06fe53-28d5-44a1-871d-279f22e7aed4 +" Language: alsaconf(8) configuration file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 -if version < 600 - syntax clear -elseif exists("b:current_syntax") +if exists("b:current_syntax") finish endif -" todo -syn keyword alsoconfTodo contained FIXME TODO XXX NOTE +let s:cpo_save = &cpo +set cpo&vim -" comments -syn region alsaconfComment matchgroup=alsaconfComment start="#" end="$" - \ contains=alsaconfTodo +syn keyword alsoconfTodo contained FIXME TODO XXX NOTE -" special characters -syn match alsaconfSpecialChar contained "\\[ntvbrf]" -syn match alsaconfSpecialChar contained "\\\o\+" +syn region alsaconfComment matchgroup=alsaconfComment + \ start='#' end='$' + \ contains=alsaconfTodo,@Spell -" strings -syn region alsaconfString matchgroup=alsaconfString start=+"+ skip=+\\$+ - \ end=+"+ end=+$+ contains=alsaconfSpecialChar - -" preprocessor special -syn match alsaconfSpecial contained "confdir:" +syn match alsaconfSpecialChar contained display '\\[ntvbrf]' +syn match alsaconfSpecialChar contained display '\\\o\+' -" preprocessor -syn region alsaconfPreProc matchgroup=alsaconfPreProc start="<" end=">" - \ contains=alsaconfSpecial +syn region alsaconfString matchgroup=alsaconfString + \ start=+"+ skip=+\\$+ end=+"+ end=+$+ + \ contains=alsaconfSpecialChar -" modes -syn match alsaconfMode "[+?!-]" +syn match alsaconfSpecial contained display 'confdir:' -" keywords -syn keyword alsaconfKeyword card default device errors files func strings -syn keyword alsaconfKeyword subdevice type vars +syn region alsaconfPreProc matchgroup=alsaconfPreProc start='<' end='>' + \ contains=alsaconfSpecial + +syn match alsaconfMode display '[+?!-]' -" variables -syn match alsaconfVariables "@\(hooks\|func\|args\)" +syn keyword alsaconfKeyword card default device errors files func strings +syn keyword alsaconfKeyword subdevice type vars + +syn match alsaconfVariables display '@\(hooks\|func\|args\)' -" Define the default highlighting. -" For version 5.7 and earlier: only when not done already -" For version 5.8 and later: only when an item doesn't have highlighting yet -if version >= 508 || !exists("did_alsaconf_syn_inits") - if version < 508 - let did_dircolors_syn_inits = 1 - command -nargs=+ HiLink hi link <args> - else - command -nargs=+ HiLink hi def link <args> - endif - - HiLink alsoconfTodo Todo - HiLink alsaconfComment Comment - HiLink alsaconfSpecialChar SpecialChar - HiLink alsaconfString String - HiLink alsaconfSpecial Special - HiLink alsaconfPreProc PreProc - HiLink alsaconfMode Special - HiLink alsaconfKeyword Keyword - HiLink alsaconfVariables Identifier - - delcommand HiLink -endif +hi def link alsoconfTodo Todo +hi def link alsaconfComment Comment +hi def link alsaconfSpecialChar SpecialChar +hi def link alsaconfString String +hi def link alsaconfSpecial Special +hi def link alsaconfPreProc PreProc +hi def link alsaconfMode Special +hi def link alsaconfKeyword Keyword +hi def link alsaconfVariables Identifier let b:current_syntax = "alsaconf" -" vim: set sts=2 sw=2: +let &cpo = s:cpo_save +unlet s:cpo_save
--- a/runtime/syntax/arch.vim +++ b/runtime/syntax/arch.vim @@ -1,60 +1,35 @@ " Vim syntax file -" Language: GNU Arch inventory file. -" Maintainer: Nikolai Weibull <source@pcppopper.org> -" URL: http://www.pcppopper.org/vim/syntax/pcp/arch/ -" Latest Revision: 2004-05-22 -" arch-tag: 529d60c4-53d8-4d3a-80d6-54ada86d9932 +" Language: GNU Arch inventory file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 -if version < 600 - syntax clear -elseif exists("b:current_syntax") +if exists("b:current_syntax") finish endif -" Set iskeyword since we need `-' (and potentially others) in keywords. -" For version 5.x: Set it globally -" For version 6.x: Set it locally -if version >= 600 - command -nargs=1 SetIsk setlocal iskeyword=<args> -else - command -nargs=1 SetIsk set iskeyword=<args> -endif -SetIsk @,48-57,_,- -delcommand SetIsk +let s:cpo_save = &cpo +set cpo&vim + +setlocal iskeyword=@,48-57,_,- -" Todo -syn keyword archTodo TODO FIXME XXX NOTE +syn keyword archTodo TODO FIXME XXX NOTE -" Comment -syn region archComment matchgroup=archComment start='^\%(#\|\s\)' end='$' contains=archTodo - -" Keywords -syn keyword archKeyword implicit tagline explicit names -syn keyword archKeyword untagged-source -syn keyword archKeyword exclude junk backup precious unrecognized source skipwhite nextgroup=archRegex +syn region archComment display matchgroup=archComment + \ start='^\%(#\|\s\)' end='$' contains=archTodo,@Spell -" Regexes -syn match archRegex contained '\s*\zs.*' +syn keyword archKeyword implicit tagline explicit names +syn keyword archKeyword untagged-source +syn keyword archKeyword exclude junk backup precious unrecognized source + \ skipwhite nextgroup=archRegex -" Define the default highlighting. -" For version 5.7 and earlier: only when not done already -" For version 5.8 and later: only when an item doesn't have highlighting yet -if version >= 508 || !exists("did_arch_syn_inits") - if version < 508 - let did_arch_syn_inits = 1 - command -nargs=+ HiLink hi link <args> - else - command -nargs=+ HiLink hi def link <args> - endif +syn match archRegex contained '\s*\zs.*' - HiLink archTodo Todo - HiLink archComment Comment - HiLink archKeyword Keyword - HiLink archRegex String - - delcommand HiLink -endif +hi def link archTodo Todo +hi def link archComment Comment +hi def link archKeyword Keyword +hi def link archRegex String let b:current_syntax = "arch" -" vim: set sts=2 sw=2: +let &cpo = s:cpo_save +unlet s:cpo_save
--- a/runtime/syntax/bdf.vim +++ b/runtime/syntax/bdf.vim @@ -1,86 +1,97 @@ " Vim syntax file -" Language: BDF Font definition -" Maintainer: Nikolai Weibull <source@pcppopper.org> -" URL: http://www.pcppopper.org/vim/syntax/pcp/bdf/ -" Latest Revision: 2004-05-06 -" arch-tag: b696b6ba-af24-41ba-b4eb-d248495eca68 +" Language: BDF font definition +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-27 -if version < 600 - syntax clear -elseif exists("b:current_syntax") +if exists("b:current_syntax") finish endif -" numbers -syn match bdfNumber display "\<\(\x\+\|\d\+\.\d\+\)\>" +let s:cpo_save = &cpo +set cpo&vim -" comments -syn region bdfComment start="^COMMENT\>" end="$" contains=bdfTodo +syn region bdfFontDefinition transparent matchgroup=bdfKeyword + \ start='^STARTFONT\>' end='^ENDFONT\>' + \ contains=bdfComment,bdfFont,bdfSize, + \ bdfBoundingBox,bdfProperties,bdfChars,bdfChar + +syn match bdfNumber contained display + \ '\<\%(\x\+\|[+-]\=\d\+\%(\.\d\+\)*\)' + +syn keyword bdfTodo contained FIXME TODO XXX NOTE -" todo -syn keyword bdfTodo contained TODO FIXME XXX NOTE +syn region bdfComment contained start='^COMMENT\>' end='$' + \ contains=bdfTodo,@Spell + +syn region bdfFont contained matchgroup=bdfKeyword + \ start='^FONT\>' end='$' + +syn region bdfSize contained transparent matchgroup=bdfKeyword + \ start='^SIZE\>' end='$' contains=bdfNumber -" strings -syn region bdfString start=+"+ skip=+""+ end=+"+ +syn region bdfBoundingBox contained transparent matchgroup=bdfKeyword + \ start='^FONTBOUNDINGBOX' end='$' + \ contains=bdfNumber -" properties -syn keyword bdfProperties contained FONT SIZE FONTBOUNDINGBOX CHARS +syn region bdfProperties contained transparent matchgroup=bdfKeyword + \ start='^STARTPROPERTIES' end='^ENDPROPERTIES' + \ contains=bdfNumber,bdfString,bdfProperty, + \ bdfXProperty -" X11 properties -syn keyword bdfXProperties contained FONT_ASCENT FONT_DESCENT DEFAULT_CHAR -syn keyword bdfXProperties contained FONTNAME_REGISTRY FOUNDRY FAMILY_NAME -syn keyword bdfXProperties contained WEIGHT_NAME SLANT SETWIDTH_NAME PIXEL_SIZE -syn keyword bdfXProperties contained POINT_SIZE RESOLUTION_X RESOLUTION_Y SPACING -syn keyword bdfXProperties contained CHARSET_REGISTRY CHARSET_ENCODING COPYRIGHT -syn keyword bdfXProperties contained ADD_STYLE_NAME WEIGHT RESOLUTION X_HEIGHT -syn keyword bdfXProperties contained QUAD_WIDTH FONT AVERAGE_WIDTH +syn keyword bdfProperty contained FONT_ASCENT FONT_DESCENT DEFAULT_CHAR +syn match bdfProperty contained '^\S\+' -syn region bdfDefinition transparent matchgroup=bdfDelim start="^STARTPROPERTIES\>" end="^ENDPROPERTIES\>" contains=bdfXProperties,bdfNumber,bdfString +syn keyword bdfXProperty contained FONT_ASCENT FONT_DESCENT DEFAULT_CHAR + \ FONTNAME_REGISTRY FOUNDRY FAMILY_NAME + \ WEIGHT_NAME SLANT SETWIDTH_NAME PIXEL_SIZE + \ POINT_SIZE RESOLUTION_X RESOLUTION_Y SPACING + \ CHARSET_REGISTRY CHARSET_ENCODING COPYRIGHT + \ ADD_STYLE_NAME WEIGHT RESOLUTION X_HEIGHT + \ QUAD_WIDTH FONT AVERAGE_WIDTH + +syn region bdfString contained start=+"+ skip=+""+ end=+"+ + +syn region bdfChars contained display transparent + \ matchgroup=bdfKeyword start='^CHARS' end='$' + \ contains=bdfNumber -" characters -syn keyword bdfCharProperties contained ENCODING SWIDTH DWIDTH BBX ATTRIBUTES BITMAP +syn region bdfChar transparent matchgroup=bdfKeyword + \ start='^STARTCHAR' end='^ENDCHAR' + \ contains=bdfEncoding,bdfWidth,bdfAttributes, + \ bdfBitmap -syn match bdfCharName contained display "\<[0-9a-zA-Z]\{1,14}\>" -syn match bdfCharNameError contained display "\<[0-9a-zA-Z]\{15,}\>" +syn region bdfEncoding contained transparent matchgroup=bdfKeyword + \ start='^ENCODING' end='$' contains=bdfNumber -syn region bdfStartChar transparent matchgroup=bdfDelim start="\<STARTCHAR\>" end="$" contains=bdfCharName,bdfCharNameError +syn region bdfWidth contained transparent matchgroup=bdfKeyword + \ start='^SWIDTH\|DWIDTH\|BBX' end='$' + \ contains=bdfNumber -syn region bdfCharDefinition transparent start="^STARTCHAR\>" matchgroup=bdfDelim end="^ENDCHAR\>" contains=bdfCharProperties,bdfNumber,bdfStartChar +syn region bdfAttributes contained transparent matchgroup=bdfKeyword + \ start='^ATTRIBUTES' end='$' -" font -syn region bdfFontDefinition transparent matchgroup=bdfDelim start="^STARTFONT\>" end="^ENDFONT\>" contains=bdfProperties,bdfDefinition,bdfCharDefinition,bdfNumber,bdfComment +syn keyword bdfBitmap contained BITMAP if exists("bdf_minlines") let b:bdf_minlines = bdf_minlines else - let b:bdf_minlines = 50 + let b:bdf_minlines = 30 endif -exec "syn sync minlines=" . b:bdf_minlines +exec "syn sync ccomment bdfChar minlines=" . b:bdf_minlines + -" Define the default highlighting. -" For version 5.7 and earlier: only when not done already -" For version 5.8 and later: only when an item doesn't have highlighting yet -if version >= 508 || !exists("did_bdf_syn_inits") - if version < 508 - let did_bdf_syn_inits = 1 - command -nargs=+ HiLink hi link <args> - else - command -nargs=+ HiLink hi def link <args> - endif - - HiLink bdfComment Comment - HiLink bdfTodo Todo - HiLink bdfNumber Number - HiLink bdfString String - HiLink bdfProperties Keyword - HiLink bdfXProperties Keyword - HiLink bdfCharProperties Structure - HiLink bdfDelim Delimiter - HiLink bdfCharName String - HiLink bdfCharNameError Error - delcommand HiLink -endif +hi def link bdfKeyword Keyword +hi def link bdfNumber Number +hi def link bdfTodo Todo +hi def link bdfComment Comment +hi def link bdfFont String +hi def link bdfProperty Identifier +hi def link bdfXProperty Identifier +hi def link bdfString String +hi def link bdfChars Keyword +hi def link bdfBitmap Keyword let b:current_syntax = "bdf" -" vim: set sts=2 sw=2: +let &cpo = s:cpo_save +unlet s:cpo_save
--- a/runtime/syntax/calendar.vim +++ b/runtime/syntax/calendar.vim @@ -1,104 +1,111 @@ " Vim syntax file -" Language: calendar(1) file. -" Maintainer: Nikolai Weibull <source@pcppopper.org> -" URL: http://www.pcppopper.org/vim/syntax/pcp/calendar/ -" Latest Revision: 2004-05-06 -" arch-tag: d714127d-469d-43bd-9c79-c2a46ec54535 +" Language: calendar(1) input file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 -if version < 600 - syntax clear -elseif exists("b:current_syntax") +if exists("b:current_syntax") finish endif -" Todo -syn keyword calendarTodo contained TODO FIXME XXX NOTE +let s:cpo_save = &cpo +set cpo&vim -" Comments -syn region calendarComment matchgroup=calendarComment start='/\*' end='\*/' contains=calendarTodo +syn keyword calendarTodo contained TODO FIXME XXX NOTE -" Strings -syn region calendarCppString start=+L\="+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end='$' contains=calendarSpecial -syn match calendarSpecial display contained '\\\%(x\x\+\|\o\{1,3}\|.\|$\)' -syn match calendarSpecial display contained "\\\(u\x\{4}\|U\x\{8}\)" +syn region calendarComment matchgroup=calendarComment + \ start='/\*' end='\*/' + \ contains=calendarTodo,@Spell -" cpp(1) Preprocessor directives (adapted from syntax/c.vim) +syn region calendarCppString start=+L\="+ skip=+\\\\\|\\"\|\\$+ excludenl + \ end=+"+ end='$' contains=calendarSpecial +syn match calendarSpecial display contained '\\\%(x\x\+\|\o\{1,3}\|.\|$\)' +syn match calendarSpecial display contained "\\\(u\x\{4}\|U\x\{8}\)" -syn region calendarPreCondit start='^\s*#\s*\%(if\|ifdef\|ifndef\|elif\)\>' skip='\\$' end='$' contains=calendarComment,calendarCppString -syn match calendarPreCondit display '^\s*#\s*\%(else\|endif\)\>' -syn region calendarCppOut start='^\s*#\s*if\s\+0\+' end='.\@=\|$' contains=calendarCppOut2 -syn region calendarCppOut2 contained start='0' end='^\s*#\s*\%(endif\|else\|elif\)\>' contains=calendarSpaceError,calendarCppSkip -syn region calendarCppSkip contained start='^\s*#\s*\%(if\|ifdef\|ifndef\)\>' skip='\\$' end='^\s*#\s*endif\>' contains=calendarSpaceError,calendarCppSkip -syn region calendarIncluded display contained start=+"+ skip=+\\\\\|\\"+ end=+"+ -syn match calendarIncluded display contained '<[^>]*>' -syn match calendarInclude display '^\s*#\s*include\>\s*["<]' contains=calendarIncluded -syn cluster calendarPreProcGroup contains=calendarPreCondit,calendarIncluded,calendarInclude,calendarDefine,calendarCppOut,calendarCppOut2,calendarCppSkip,calendarString,calendarSpecial,calendarTodo -syn region calendarDefine start='^\s*#\s*\%(define\|undef\)\>' skip='\\$' end='$' contains=ALLBUT,@calendarPreProcGroup -syn region calendarPreProc start='^\s*#\s*\%(pragma\|line\|warning\|warn\|error\)\>' skip='\\$' end='$' keepend contains=ALLBUT,@calendarPreProcGroup +syn region calendarPreCondit start='^\s*#\s*\%(if\|ifdef\|ifndef\|elif\)\>' + \ skip='\\$' end='$' + \ contains=calendarComment,calendarCppString +syn match calendarPreCondit display '^\s*#\s*\%(else\|endif\)\>' +syn region calendarCppOut start='^\s*#\s*if\s\+0\+' end='.\@=\|$' + \ contains=calendarCppOut2 +syn region calendarCppOut2 contained start='0' + \ end='^\s*#\s*\%(endif\|else\|elif\)\>' + \ contains=calendarSpaceError,calendarCppSkip +syn region calendarCppSkip contained + \ start='^\s*#\s*\%(if\|ifdef\|ifndef\)\>' + \ skip='\\$' end='^\s*#\s*endif\>' + \ contains=calendarSpaceError,calendarCppSkip +syn region calendarIncluded display contained start=+"+ skip=+\\\\\|\\"+ + \ end=+"+ +syn match calendarIncluded display contained '<[^>]*>' +syn match calendarInclude display '^\s*#\s*include\>\s*["<]' + \ contains=calendarIncluded +syn cluster calendarPreProcGroup contains=calendarPreCondit,calendarIncluded, + \ calendarInclude,calendarDefine, + \ calendarCppOut,calendarCppOut2, + \ calendarCppSkip,calendarString, + \ calendarSpecial,calendarTodo +syn region calendarDefine start='^\s*#\s*\%(define\|undef\)\>' + \ skip='\\$' end='$' + \ contains=ALLBUT,@calendarPreProcGroup +syn region calendarPreProc start='^\s*#\s*\%(pragma\|line\|warning\|warn\|error\)\>' + \ skip='\\$' end='$' keepend + \ contains=ALLBUT,@calendarPreProcGroup -" Keywords -syn keyword calendarKeyword CHARSET BODUN LANG +syn keyword calendarKeyword CHARSET BODUN LANG syn case ignore -syn keyword calendarKeyword Easter Pashka -syn case match - -" Dates -syn case ignore -syn match calendarNumber '\<\d\+\>' -syn keyword calendarMonth Jan[uary] Feb[ruary] Mar[ch] Apr[il] May Jun[e] -syn keyword calendarMonth Jul[y] Aug[ust] Sep[tember] Oct[ober] -syn keyword calendarMonth Nov[ember] Dec[ember] -syn match calendarMonth '\<\%(Jan\|Feb\|Mar\|Apr\|May\|Jun\|Jul\|Aug\|Sep\|Oct\|Nov\|Dec\)\.' -syn keyword calendarWeekday Mon[day] Tue[sday] Wed[nesday] Thu[rsday] -syn keyword calendarWeekday Fri[day] Sat[urday] Sun[day] -syn match calendarWeekday '\<\%(Mon\|Tue\|Wed\|Thu\|Fri\|Sat\|Sun\)\.' nextgroup=calendarWeekdayMod -syn match calendarWeekdayMod '[+-]\d\+\>' +syn keyword calendarKeyword Easter Pashka syn case match -" Times -syn match calendarTime '\<\%([01]\=\d\|2[0-3]\):[0-5]\d\%(:[0-5]\d\)\=' -syn match calendarTime '\<\%(0\=[1-9]\|1[0-2]\):[0-5]\d\%(:[0-5]\d\)\=\s*[AaPp][Mm]' +syn case ignore +syn match calendarNumber display '\<\d\+\>' +syn keyword calendarMonth Jan[uary] Feb[ruary] Mar[ch] Apr[il] May + \ Jun[e] Jul[y] Aug[ust] Sep[tember] + \ Oct[ober] Nov[ember] Dec[ember] +syn match calendarMonth display '\<\%(Jan\|Feb\|Mar\|Apr\|May\|Jun\|Jul\|Aug\|Sep\|Oct\|Nov\|Dec\)\.' +syn keyword calendarWeekday Mon[day] Tue[sday] Wed[nesday] Thu[rsday] +syn keyword calendarWeekday Fri[day] Sat[urday] Sun[day] +syn match calendarWeekday display '\<\%(Mon\|Tue\|Wed\|Thu\|Fri\|Sat\|Sun\)\.' + \ nextgroup=calendarWeekdayMod +syn match calendarWeekdayMod display '[+-]\d\+\>' +syn case match -" Variables -syn match calendarVariable '\*' +syn match calendarTime display '\<\%([01]\=\d\|2[0-3]\):[0-5]\d\%(:[0-5]\d\)\=' +syn match calendarTime display '\<\%(0\=[1-9]\|1[0-2]\):[0-5]\d\%(:[0-5]\d\)\=\s*[AaPp][Mm]' + +syn match calendarVariable '\*' -let b:c_minlines = 50 " #if 0 constructs can be long +if exists("c_minlines") + let b:c_minlines = c_minlines +else + if !exists("c_no_if0") + let b:c_minlines = 50 " #if 0 constructs can be long + else + let b:c_minlines = 15 " mostly for () constructs + endif +endif exec "syn sync ccomment calendarComment minlines=" . b:c_minlines -" Define the default highlighting. -" For version 5.7 and earlier: only when not done already -" For version 5.8 and later: only when an item doesn't have highlighting yet -if version >= 508 || !exists("did_calendar_syn_inits") - if version < 508 - let did_calendar_syn_inits = 1 - command -nargs=+ HiLink hi link <args> - else - command -nargs=+ HiLink hi def link <args> - endif - - HiLink calendarTodo Todo - HiLink calendarComment Comment - HiLink calendarCppString String - HiLink calendarSpecial SpecialChar - HiLink calendarPreCondit PreCondit - HiLink calendarCppOut Comment - HiLink calendarCppOut2 calendarCppOut - HiLink calendarCppSkip calendarCppOut - HiLink calendarIncluded String - HiLink calendarInclude Include - HiLink calendarDefine Macro - HiLink calendarPreProc PreProc - HiLink calendarKeyword Keyword - HiLink calendarNumber Number - HiLink calendarMonth String - HiLink calendarWeekday String - HiLink calendarWeekdayMod Special - HiLink calendarTime Number - HiLink calendarVariable Identifier - - delcommand HiLink -endif +hi def link calendarTodo Todo +hi def link calendarComment Comment +hi def link calendarCppString String +hi def link calendarSpecial SpecialChar +hi def link calendarPreCondit PreCondit +hi def link calendarCppOut Comment +hi def link calendarCppOut2 calendarCppOut +hi def link calendarCppSkip calendarCppOut +hi def link calendarIncluded String +hi def link calendarInclude Include +hi def link calendarDefine Macro +hi def link calendarPreProc PreProc +hi def link calendarKeyword Keyword +hi def link calendarNumber Number +hi def link calendarMonth String +hi def link calendarWeekday String +hi def link calendarWeekdayMod Special +hi def link calendarTime Number +hi def link calendarVariable Identifier let b:current_syntax = "calendar" -" vim: set sts=2 sw=2: +let &cpo = s:cpo_save +unlet s:cpo_save
new file mode 100644 --- /dev/null +++ b/runtime/syntax/context.vim @@ -0,0 +1,104 @@ +" Vim syntax file +" Language: ConTeXt typesetting engine +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 + +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&vim + +syn keyword contextTodo TODO FIXME XXX NOTE + +syn region contextComment display oneline matchgroup=contextComment + \ start='%' end='$' contains=contextTodo +syn region contextComment display oneline matchgroup=contextComment + \ start='^\s*%[CDM]' end='$' contains=ALL + +syn match contextStatement display '\\[a-zA-Z@]\+' contains=@NoSpell + +syn match contextBlockDelim display '\\\%(start\|stop\)\a\+' + \ contains=@NoSpell + +syn match contextDelimiter '[][{}]' + +syn match contextEscaped display '\\\_[\{}|&%$ ]' +syn region contextEscaped display matchgroup=contextPreProc + \ start='\\type\z(\A\)' end='\z1' +syn region contextEscaped display matchgroup=contextPreProc + \ start='\\type\={' end='}' +syn region contextEscaped display matchgroup=contextPreProc + \ start='\\type\=<<' end='>>' +syn region contextEscaped matchgroup=contextPreProc + \ start='\\start\z(\a*\%(typing\|typen\)\)' + \ end='\\stop\z1' +syn region contextEscaped display matchgroup=contextPreProc + \ start='\\\h\+Type{' end='}' +syn region contextEscaped display matchgroup=contextPreProc + \ start='\\Typed\h\+{' end='}' + +"syn region contextMath matchgroup=contextMath start='\$' end='\$' +" \ contains=contextStatement + +syn match contextBuiltin '\\\%(newif\|def\|gdef\|global\|let\|glet\|bgroup\)\>' + \ contains=@NoSpell +syn match contextBuiltin '\\\%(begingroup\|egroup\|endgroup\|long\|catcode\)\>' + \ contains=@NoSpell +syn match contextBuiltin '\\\%(unprotect\|unexpanded\|if\|else\|fi\|ifx\)\>' + \ contains=@NoSpell +syn match contextBuiltin '\\\%(futurelet\|protect\)\>' contains=@NoSpell +syn match contextBuiltin '\\\%([lr]q\)\>' contains=@NoSpell + +syn match contextPreProc '^\s*\\\%(start\|stop\)\=\%(component\|environment\|project\|product\).*$' + \ contains=@NoSpell +syn match contextPreProc '^\s*\\input\s\+.*$' contains=@NoSpell + +syn match contextSectioning '\\chapter\>' contains=@NoSpell +syn match contextSectioning '\\\%(sub\)*section\>' contains=@NoSpell + +syn match contextSpecial '\\crlf\>\|\\par\>\|-\{2,3}\||[<>/]\=|' + \ contains=@NoSpell +syn match contextSpecial '\\[`'"]' +syn match contextSpecial +\\char\%(\d\{1,3}\|'\o\{1,3}\|"\x\{1,2}\)\>+ + \ contains=@NoSpell +syn match contextSpecial '\^\^.' +syn match contextSpecial '`\%(\\.\|\^\^.\|.\)' + +syn match contextStyle '\\\%(em\|tt\|rm\|ss\|hw\|cg\)\>' + \ contains=@NoSpell +syn match contextFont '\\\%(CAP\|Cap\|cap\|Caps\|kap\|nocap\)\>' + \ contains=@NoSpell +syn match contextFont '\\\%(Word\|WORD\|Words\|WORDS\)\>' + \ contains=@NoSpell +syn match contextFont '\\\%(vi\{1,3}\|ix\|xi\{0,2}\)\>' + \ contains=@NoSpell +syn match contextFont '\\\%(tf[abcdx]\|bfx\|[is]lx\)\>' + \ contains=@NoSpell +syn match contextFont '\\\%(b[fsi]\|s[cl]\|it\|os\|mf\)\>' + \ contains=@NoSpell + +syn match contextDimension '[+-]\=\s*\%(\d\+\%([.,]\d*\)\=\|[.,]\d\+\)\s*\%(true\)\=\s*\%(p[tc]\|in\|bp\|c[mc]\|mm\|dd\|sp\|e[mx]\)\>' + \ contains=@NoSpell + +hi def link contextTodo Todo +hi def link contextComment Comment +hi def link contextEscaped Special +hi def link contextStatement Identifier +hi def link contextMath String +hi def link contextBlockDelim Keyword +hi def link contextBuiltin Keyword +hi def link contextDelimiter Delimiter +hi def link contextPreProc PreProc +hi def link contextSectioning PreProc +hi def link contextSpecial Special +hi def link contextStyle contextType +hi def link contextFont contextType +hi def link contextType Type +hi def link contextDimension Number + +let b:current_syntax = "context" + +let &cpo = s:cpo_save +unlet s:cpo_save
--- a/runtime/syntax/crm.vim +++ b/runtime/syntax/crm.vim @@ -1,61 +1,42 @@ " Vim syntax file -" Language: CRM114 -" Maintainer: Nikolai Weibull <source@pcppopper.org> -" URL: http://www.pcppopper.org/vim/syntax/pcp/crm/ -" Latest Revision: 2004-05-22 -" arch-tag: a3d3eaaf-4700-44ff-b332-f6c42c036883 +" Language: CRM114 +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-27 -if version < 600 - syntax clear -elseif exists("b:current_syntax") +if exists("b:current_syntax") finish endif -" Todo -syn keyword crmTodo contained TODO FIXME XXX NOTE +let s:cpo_save = &cpo +set cpo&vim -" Comments -syn region crmComment matchgroup=crmComment start='#' end='$' end='\\#' contains=crmTodo - -" Variables -syn match crmVariable ':[*#@]:[^:]\{-1,}:' +syn keyword crmTodo contained TODO FIXME XXX NOTE -" Special Characters -syn match crmSpecial '\\\%(x\x\x\|o\o\o\o\|[]nrtabvf0>)};/\\]\)' +syn region crmComment matchgroup=crmComment start='#' end='$' end='\\#' + \ contains=crmTodo,@Spell -" Statements -syn keyword crmStatement insert noop accept alius alter classify eval exit -syn keyword crmStatement fail fault goto hash intersect isolate input learn -syn keyword crmStatement liaf match output syscall trap union window +syn match crmVariable display ':[*#@]:[^:]\{-1,}:' -" Regexes -syn region crmRegex matchgroup=crmRegex start='/' skip='\\/' end='/' contains=crmVariable +syn match crmSpecial display '\\\%(x\x\x\|o\o\o\o\|[]nrtabvf0>)};/\\]\)' -" Labels -syn match crmLabel '^\s*:[[:graph:]]\+:' +syn keyword crmStatement insert noop accept alius alter classify eval exit +syn keyword crmStatement fail fault goto hash intersect isolate input learn +syn keyword crmStatement liaf match output syscall trap union window + +syn region crmRegex matchgroup=crmRegex start='/' skip='\\/' end='/' + \ contains=crmVariable -" Define the default highlighting. -" For version 5.7 and earlier: only when not done already -" For version 5.8 and later: only when an item doesn't have highlighting yet -if version >= 508 || !exists("did_crm_syn_inits") - if version < 508 - let did_crm_syn_inits = 1 - command -nargs=+ HiLink hi link <args> - else - command -nargs=+ HiLink hi def link <args> - endif +syn match crmLabel display '^\s*:[[:graph:]]\+:' - HiLink crmTodo Todo - HiLink crmComment Comment - HiLink crmVariable Identifier - HiLink crmSpecial SpecialChar - HiLink crmStatement Statement - HiLink crmRegex String - HiLink crmLabel Label - - delcommand HiLink -endif +hi def link crmTodo Todo +hi def link crmComment Comment +hi def link crmVariable Identifier +hi def link crmSpecial SpecialChar +hi def link crmStatement Statement +hi def link crmRegex String +hi def link crmLabel Label let b:current_syntax = "crm" -" vim: set sts=2 sw=2: +let &cpo = s:cpo_save +unlet s:cpo_save
--- a/runtime/syntax/cvsrc.vim +++ b/runtime/syntax/cvsrc.vim @@ -1,49 +1,39 @@ " Vim syntax file -" Language: CVS RC File -" Maintainer: Nikolai Weibull <source@pcppopper.org> -" URL: http://www.pcppopper.org/syntax/pcp/cvsrc/ -" Latest Revision: 2004-05-06 -" arch-tag: 1910f2a8-66f4-4dde-9d1a-297566934535 +" Language: cvs(1) RC file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 -if version < 600 - syntax clear -elseif exists("b:current_syntax") +if exists("b:current_syntax") finish endif -" strings -syn region cvsrcString start=+"+ skip=+\\\\\|\\\\"+ end=+"\|$+ -syn region cvsrcString start=+'+ skip=+\\\\\|\\\\'+ end=+'\|$+ - -" numbers -syn match cvsrcNumber "\<\d\+\>" +let s:cpo_save = &cpo +set cpo&vim -" commands -syn match cvsrcBegin "^" nextgroup=cvsrcCommand skipwhite +syn region cvsrcString display start=+"+ skip=+\\\\\|\\\\"+ end=+"\|$+ +syn region cvsrcString display start=+'+ skip=+\\\\\|\\\\'+ end=+'\|$+ -syn region cvsrcCommand contained transparent matchgroup=cvsrcCommand start="add\|admin\|checkout\|commit\|cvs\|diff\|export\|history\|import\|init\|log\|rdiff\|release\|remove\|rtag\|status\|tag\|update" end="$" contains=cvsrcOption,cvsrcString,cvsrcNumber keepend +syn match cvsrcNumber display '\<\d\+\>' -" options -syn match cvsrcOption "-\a\+" +syn match cvsrcBegin display '^' nextgroup=cvsrcCommand skipwhite -" Define the default highlighting. -" For version 5.7 and earlier: only when not done already -" For version 5.8 and later: only when an item doesn't have highlighting yet -if version >= 508 || !exists("did_cvsrc_syn_inits") - if version < 508 - let did_cvsrc_syn_inits = 1 - command -nargs=+ HiLink hi link <args> - else - command -nargs=+ HiLink hi def link <args> - endif +syn region cvsrcCommand contained transparent matchgroup=cvsrcCommand + \ start='add\|admin\|checkout\|commit\|cvs\|diff' + \ start='export\|history\|import\|init\|log' + \ start='rdiff\|release\|remove\|rtag\|status\|tag' + \ start='update' + \ end='$' + \ contains=cvsrcOption,cvsrcString,cvsrcNumber + \ keepend - HiLink cvsrcString String - HiLink cvsrcNumber Number - HiLink cvsrcCommand Keyword - HiLink cvsrcOption Identifier - delcommand HiLink -endif +syn match cvsrcOption contained display '-\a\+' + +hi def link cvsrcString String +hi def link cvsrcNumber Number +hi def link cvsrcCommand Keyword +hi def link cvsrcOption Identifier let b:current_syntax = "cvsrc" -" vim: set sts=2 sw=2: +let &cpo = s:cpo_save +unlet s:cpo_save
--- a/runtime/syntax/dircolors.vim +++ b/runtime/syntax/dircolors.vim @@ -1,106 +1,746 @@ " Vim syntax file -" Language: dircolors(1) input file -" Maintainer: Nikolai Weibull <source@pcppopper.org> -" URL: http://www.pcppopper.org/vim/syntax/pcp/dircolors/ -" Latest Revision: 2004-05-22 -" arch-tag: 995e2983-2a7a-4f1e-b00d-3fdf8e076b40 -" Color definition coloring implemented my Mikolaj Machowski <mikmach@wp.pl> +" Language: dircolors(1) input file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-27 -if version < 600 - syntax clear -elseif exists("b:current_syntax") +if exists("b:current_syntax") finish endif -" todo -syn keyword dircolorsTodo contained FIXME TODO XXX NOTE +let s:cpo_save = &cpo +set cpo&vim -" comments -syn region dircolorsComment start="#" end="$" contains=dircolorsTodo +syn keyword dircolorsTodo contained FIXME TODO XXX NOTE + +syn region dircolorsComment start='#' end='$' contains=dircolorsTodo,@Spell -" numbers -syn match dircolorsNumber "\<\d\+\>" +syn keyword dircolorsKeyword TERM LEFT LEFTCODE RIGHT RIGHTCODE END ENDCODE -" keywords -syn keyword dircolorsKeyword TERM NORMAL NORM FILE DIR LNK LINK SYMLINK -syn keyword dircolorsKeyword ORPHAN MISSING FIFO PIPE SOCK BLK BLOCK CHR -syn keyword dircolorsKeyword CHAR DOOR EXEC LEFT LEFTCODE RIGHT RIGHTCODE -syn keyword dircolorsKeyword END ENDCODE +syn keyword dircolorsKeyword NORMAL NORM FILE DIR LNK LINK SYMLINK ORPHAN + \ MISSING FIFO PIPE SOCK BLK BLOCK CHR CHAR + \ DOOR EXEC + \ nextgroup=@dircolorsColors skipwhite + if exists("dircolors_is_slackware") - syn keyword dircolorsKeyword COLOR OPTIONS EIGHTBIT + syn keyword dircolorsKeyword COLOR OPTIONS EIGHTBIT endif -" extensions -syn match dircolorsExtension "^\s*\zs[.*]\S\+" +syn match dircolorsExtension '^\s*\zs[.*]\S\+' + \ nextgroup=@dircolorsColors skipwhite + +if &t_Co == 8 || &t_Co == 16 + syn cluster dircolorsColors contains=dircolorsBold,dircolorsUnderline, + \ dircolorsBlink,dircolorsReverse, + \ dircolorsInvisible,dircolorsBlack, + \ dircolorsRed,dircolorsGreen,dircolorsYellow, + \ dircolorsBlue,dircolorsMagenta,dircolorsCyan, + \ dircolorsWhite,dircolorsBGBlack, + \ dircolorsBGRed,dircolorsBGGreen, + \ dircolorsBGYellow,dircolorsBGBlue, + \ dircolorsBGMagenta,dircolorsBGCyan, + \ dircolorsBGWhite -" colors -syn match dircolors01 "\<01\>" -syn match dircolors04 "\<04\>" -syn match dircolors05 "\<05\>" -syn match dircolors07 "\<07\>" -syn match dircolors08 "\<08\>" -syn match dircolors30 "\<30\>" -syn match dircolors31 "\<31\>" -syn match dircolors32 "\<32\>" -syn match dircolors33 "\<33\>" -syn match dircolors34 "\<34\>" -syn match dircolors35 "\<35\>" -syn match dircolors36 "\<36\>" -syn match dircolors37 "\<37\>" -syn match dircolors40 "\<40\>" -syn match dircolors41 "\<41\>" -syn match dircolors42 "\<42\>" -syn match dircolors43 "\<43\>" -syn match dircolors44 "\<44\>" -syn match dircolors45 "\<45\>" -syn match dircolors46 "\<46\>" -syn match dircolors47 "\<47\>" + syn match dircolorsBold contained '\<01\>' + syn match dircolorsUnderline contained '\<04\>' + syn match dircolorsBlink contained '\<05\>' + syn match dircolorsReverse contained '\<07\>' + syn match dircolorsInvisible contained '\<08\>' + syn match dircolorsBlack contained '\<30\>' + syn match dircolorsRed contained '\<31\>' + syn match dircolorsGreen contained '\<32\>' + syn match dircolorsYellow contained '\<33\>' + syn match dircolorsBlue contained '\<34\>' + syn match dircolorsMagenta contained '\<35\>' + syn match dircolorsCyan contained '\<36\>' + syn match dircolorsWhite contained '\<37\>' + syn match dircolorsBGBlack contained '\<40\>' + syn match dircolorsBGRed contained '\<41\>' + syn match dircolorsBGGreen contained '\<42\>' + syn match dircolorsBGYellow contained '\<43\>' + syn match dircolorsBGBlue contained '\<44\>' + syn match dircolorsBGMagenta contained '\<45\>' + syn match dircolorsBGCyan contained '\<46\>' + syn match dircolorsBGWhite contained '\<47\>' +elseif &t_Co == 256 + syn cluster dircolorsColors contains=dircolorsColor1,dircolorsColor2, + \ dircolorsColor3,dircolorsColor4, + \ dircolorsColor5,dircolorsColor6, + \ dircolorsColor7,dircolorsColor8, + \ dircolorsColor9,dircolorsColor10, + \ dircolorsColor11,dircolorsColor12, + \ dircolorsColor13,dircolorsColor14, + \ dircolorsColor15,dircolorsColor16, + \ dircolorsColor17,dircolorsColor18, + \ dircolorsColor19,dircolorsColor20, + \ dircolorsColor21,dircolorsColor22, + \ dircolorsColor23,dircolorsColor24, + \ dircolorsColor25,dircolorsColor26, + \ dircolorsColor27,dircolorsColor28, + \ dircolorsColor29,dircolorsColor30, + \ dircolorsColor31,dircolorsColor32, + \ dircolorsColor33,dircolorsColor34, + \ dircolorsColor35,dircolorsColor36, + \ dircolorsColor37,dircolorsColor38, + \ dircolorsColor39,dircolorsColor40, + \ dircolorsColor41,dircolorsColor42, + \ dircolorsColor43,dircolorsColor44, + \ dircolorsColor45,dircolorsColor46, + \ dircolorsColor47,dircolorsColor48, + \ dircolorsColor49,dircolorsColor50, + \ dircolorsColor51,dircolorsColor52, + \ dircolorsColor53,dircolorsColor54, + \ dircolorsColor55,dircolorsColor56, + \ dircolorsColor57,dircolorsColor58, + \ dircolorsColor59,dircolorsColor60, + \ dircolorsColor61,dircolorsColor62, + \ dircolorsColor63,dircolorsColor64, + \ dircolorsColor65,dircolorsColor66, + \ dircolorsColor67,dircolorsColor68, + \ dircolorsColor69,dircolorsColor70, + \ dircolorsColor71,dircolorsColor72, + \ dircolorsColor73,dircolorsColor74, + \ dircolorsColor75,dircolorsColor76, + \ dircolorsColor77,dircolorsColor78, + \ dircolorsColor79,dircolorsColor80, + \ dircolorsColor81,dircolorsColor82, + \ dircolorsColor83,dircolorsColor84, + \ dircolorsColor85,dircolorsColor86, + \ dircolorsColor87,dircolorsColor88, + \ dircolorsColor89,dircolorsColor90, + \ dircolorsColor91,dircolorsColor92, + \ dircolorsColor93,dircolorsColor94, + \ dircolorsColor95,dircolorsColor96, + \ dircolorsColor97,dircolorsColor98, + \ dircolorsColor99,dircolorsColor100, + \ dircolorsColor101,dircolorsColor102, + \ dircolorsColor103,dircolorsColor104, + \ dircolorsColor105,dircolorsColor106, + \ dircolorsColor107,dircolorsColor108, + \ dircolorsColor109,dircolorsColor110, + \ dircolorsColor111,dircolorsColor112, + \ dircolorsColor113,dircolorsColor114, + \ dircolorsColor115,dircolorsColor116, + \ dircolorsColor117,dircolorsColor118, + \ dircolorsColor119,dircolorsColor120, + \ dircolorsColor121,dircolorsColor122, + \ dircolorsColor123,dircolorsColor124, + \ dircolorsColor125,dircolorsColor126, + \ dircolorsColor127,dircolorsColor128, + \ dircolorsColor129,dircolorsColor130, + \ dircolorsColor131,dircolorsColor132, + \ dircolorsColor133,dircolorsColor134, + \ dircolorsColor135,dircolorsColor136, + \ dircolorsColor137,dircolorsColor138, + \ dircolorsColor139,dircolorsColor140, + \ dircolorsColor141,dircolorsColor142, + \ dircolorsColor143,dircolorsColor144, + \ dircolorsColor145,dircolorsColor146, + \ dircolorsColor147,dircolorsColor148, + \ dircolorsColor149,dircolorsColor150, + \ dircolorsColor151,dircolorsColor152, + \ dircolorsColor153,dircolorsColor154, + \ dircolorsColor155,dircolorsColor156, + \ dircolorsColor157,dircolorsColor158, + \ dircolorsColor159,dircolorsColor160, + \ dircolorsColor161,dircolorsColor162, + \ dircolorsColor163,dircolorsColor164, + \ dircolorsColor165,dircolorsColor166, + \ dircolorsColor167,dircolorsColor168, + \ dircolorsColor169,dircolorsColor170, + \ dircolorsColor171,dircolorsColor172, + \ dircolorsColor173,dircolorsColor174, + \ dircolorsColor175,dircolorsColor176, + \ dircolorsColor177,dircolorsColor178, + \ dircolorsColor179,dircolorsColor180, + \ dircolorsColor181,dircolorsColor182, + \ dircolorsColor183,dircolorsColor184, + \ dircolorsColor185,dircolorsColor186, + \ dircolorsColor187,dircolorsColor188, + \ dircolorsColor189,dircolorsColor190, + \ dircolorsColor191,dircolorsColor192, + \ dircolorsColor193,dircolorsColor194, + \ dircolorsColor195,dircolorsColor196, + \ dircolorsColor197,dircolorsColor198, + \ dircolorsColor199,dircolorsColor200, + \ dircolorsColor201,dircolorsColor202, + \ dircolorsColor203,dircolorsColor204, + \ dircolorsColor205,dircolorsColor206, + \ dircolorsColor207,dircolorsColor208, + \ dircolorsColor209,dircolorsColor210, + \ dircolorsColor211,dircolorsColor212, + \ dircolorsColor213,dircolorsColor214, + \ dircolorsColor215,dircolorsColor216, + \ dircolorsColor217,dircolorsColor218, + \ dircolorsColor219,dircolorsColor220, + \ dircolorsColor221,dircolorsColor222, + \ dircolorsColor223,dircolorsColor224, + \ dircolorsColor225,dircolorsColor226, + \ dircolorsColor227,dircolorsColor228, + \ dircolorsColor229,dircolorsColor230, + \ dircolorsColor231,dircolorsColor232, + \ dircolorsColor233,dircolorsColor234, + \ dircolorsColor235,dircolorsColor236, + \ dircolorsColor237,dircolorsColor238, + \ dircolorsColor239,dircolorsColor240, + \ dircolorsColor241,dircolorsColor242, + \ dircolorsColor243,dircolorsColor244, + \ dircolorsColor245,dircolorsColor246, + \ dircolorsColor247,dircolorsColor248, + \ dircolorsColor249,dircolorsColor250, + \ dircolorsColor251,dircolorsColor252, + \ dircolorsColor253,dircolorsColor254, + \ dircolorsColor255 -" Define the default highlighting. -" For version 5.7 and earlier: only when not done already -" For version 5.8 and later: only when an item doesn't have highlighting yet -if version >= 508 || !exists("did_dircolors_syn_inits") - if version < 508 - let did_dircolors_syn_inits = 1 - command -nargs=+ HiLink hi link <args> - command -nargs=+ HiDef hi <args> - else - command -nargs=+ HiLink hi def link <args> - command -nargs=+ HiDef hi def <args> - endif + syn match dircolorsColor1 contained '\<1\>' + syn match dircolorsColor2 contained '\<2\>' + syn match dircolorsColor3 contained '\<3\>' + syn match dircolorsColor4 contained '\<4\>' + syn match dircolorsColor5 contained '\<5\>' + syn match dircolorsColor6 contained '\<6\>' + syn match dircolorsColor7 contained '\<7\>' + syn match dircolorsColor8 contained '\<8\>' + syn match dircolorsColor9 contained '\<9\>' + syn match dircolorsColor10 contained '\<10\>' + syn match dircolorsColor11 contained '\<11\>' + syn match dircolorsColor12 contained '\<12\>' + syn match dircolorsColor13 contained '\<13\>' + syn match dircolorsColor14 contained '\<14\>' + syn match dircolorsColor15 contained '\<15\>' + syn match dircolorsColor16 contained '\<16\>' + syn match dircolorsColor17 contained '\<17\>' + syn match dircolorsColor18 contained '\<18\>' + syn match dircolorsColor19 contained '\<19\>' + syn match dircolorsColor20 contained '\<20\>' + syn match dircolorsColor21 contained '\<21\>' + syn match dircolorsColor22 contained '\<22\>' + syn match dircolorsColor23 contained '\<23\>' + syn match dircolorsColor24 contained '\<24\>' + syn match dircolorsColor25 contained '\<25\>' + syn match dircolorsColor26 contained '\<26\>' + syn match dircolorsColor27 contained '\<27\>' + syn match dircolorsColor28 contained '\<28\>' + syn match dircolorsColor29 contained '\<29\>' + syn match dircolorsColor30 contained '\<30\>' + syn match dircolorsColor31 contained '\<31\>' + syn match dircolorsColor32 contained '\<32\>' + syn match dircolorsColor33 contained '\<33\>' + syn match dircolorsColor34 contained '\<34\>' + syn match dircolorsColor35 contained '\<35\>' + syn match dircolorsColor36 contained '\<36\>' + syn match dircolorsColor37 contained '\<37\>' + syn match dircolorsColor38 contained '\<38\>' + syn match dircolorsColor39 contained '\<39\>' + syn match dircolorsColor40 contained '\<40\>' + syn match dircolorsColor41 contained '\<41\>' + syn match dircolorsColor42 contained '\<42\>' + syn match dircolorsColor43 contained '\<43\>' + syn match dircolorsColor44 contained '\<44\>' + syn match dircolorsColor45 contained '\<45\>' + syn match dircolorsColor46 contained '\<46\>' + syn match dircolorsColor47 contained '\<47\>' + syn match dircolorsColor48 contained '\<48\>' + syn match dircolorsColor49 contained '\<49\>' + syn match dircolorsColor50 contained '\<50\>' + syn match dircolorsColor51 contained '\<51\>' + syn match dircolorsColor52 contained '\<52\>' + syn match dircolorsColor53 contained '\<53\>' + syn match dircolorsColor54 contained '\<54\>' + syn match dircolorsColor55 contained '\<55\>' + syn match dircolorsColor56 contained '\<56\>' + syn match dircolorsColor57 contained '\<57\>' + syn match dircolorsColor58 contained '\<58\>' + syn match dircolorsColor59 contained '\<59\>' + syn match dircolorsColor60 contained '\<60\>' + syn match dircolorsColor61 contained '\<61\>' + syn match dircolorsColor62 contained '\<62\>' + syn match dircolorsColor63 contained '\<63\>' + syn match dircolorsColor64 contained '\<64\>' + syn match dircolorsColor65 contained '\<65\>' + syn match dircolorsColor66 contained '\<66\>' + syn match dircolorsColor67 contained '\<67\>' + syn match dircolorsColor68 contained '\<68\>' + syn match dircolorsColor69 contained '\<69\>' + syn match dircolorsColor70 contained '\<70\>' + syn match dircolorsColor71 contained '\<71\>' + syn match dircolorsColor72 contained '\<72\>' + syn match dircolorsColor73 contained '\<73\>' + syn match dircolorsColor74 contained '\<74\>' + syn match dircolorsColor75 contained '\<75\>' + syn match dircolorsColor76 contained '\<76\>' + syn match dircolorsColor77 contained '\<77\>' + syn match dircolorsColor78 contained '\<78\>' + syn match dircolorsColor79 contained '\<79\>' + syn match dircolorsColor80 contained '\<80\>' + syn match dircolorsColor81 contained '\<81\>' + syn match dircolorsColor82 contained '\<82\>' + syn match dircolorsColor83 contained '\<83\>' + syn match dircolorsColor84 contained '\<84\>' + syn match dircolorsColor85 contained '\<85\>' + syn match dircolorsColor86 contained '\<86\>' + syn match dircolorsColor87 contained '\<87\>' + syn match dircolorsColor88 contained '\<88\>' + syn match dircolorsColor89 contained '\<89\>' + syn match dircolorsColor90 contained '\<90\>' + syn match dircolorsColor91 contained '\<91\>' + syn match dircolorsColor92 contained '\<92\>' + syn match dircolorsColor93 contained '\<93\>' + syn match dircolorsColor94 contained '\<94\>' + syn match dircolorsColor95 contained '\<95\>' + syn match dircolorsColor96 contained '\<96\>' + syn match dircolorsColor97 contained '\<97\>' + syn match dircolorsColor98 contained '\<98\>' + syn match dircolorsColor99 contained '\<99\>' + syn match dircolorsColor100 contained '\<100\>' + syn match dircolorsColor101 contained '\<101\>' + syn match dircolorsColor102 contained '\<102\>' + syn match dircolorsColor103 contained '\<103\>' + syn match dircolorsColor104 contained '\<104\>' + syn match dircolorsColor105 contained '\<105\>' + syn match dircolorsColor106 contained '\<106\>' + syn match dircolorsColor107 contained '\<107\>' + syn match dircolorsColor108 contained '\<108\>' + syn match dircolorsColor109 contained '\<109\>' + syn match dircolorsColor110 contained '\<110\>' + syn match dircolorsColor111 contained '\<111\>' + syn match dircolorsColor112 contained '\<112\>' + syn match dircolorsColor113 contained '\<113\>' + syn match dircolorsColor114 contained '\<114\>' + syn match dircolorsColor115 contained '\<115\>' + syn match dircolorsColor116 contained '\<116\>' + syn match dircolorsColor117 contained '\<117\>' + syn match dircolorsColor118 contained '\<118\>' + syn match dircolorsColor119 contained '\<119\>' + syn match dircolorsColor120 contained '\<120\>' + syn match dircolorsColor121 contained '\<121\>' + syn match dircolorsColor122 contained '\<122\>' + syn match dircolorsColor123 contained '\<123\>' + syn match dircolorsColor124 contained '\<124\>' + syn match dircolorsColor125 contained '\<125\>' + syn match dircolorsColor126 contained '\<126\>' + syn match dircolorsColor127 contained '\<127\>' + syn match dircolorsColor128 contained '\<128\>' + syn match dircolorsColor129 contained '\<129\>' + syn match dircolorsColor130 contained '\<130\>' + syn match dircolorsColor131 contained '\<131\>' + syn match dircolorsColor132 contained '\<132\>' + syn match dircolorsColor133 contained '\<133\>' + syn match dircolorsColor134 contained '\<134\>' + syn match dircolorsColor135 contained '\<135\>' + syn match dircolorsColor136 contained '\<136\>' + syn match dircolorsColor137 contained '\<137\>' + syn match dircolorsColor138 contained '\<138\>' + syn match dircolorsColor139 contained '\<139\>' + syn match dircolorsColor140 contained '\<140\>' + syn match dircolorsColor141 contained '\<141\>' + syn match dircolorsColor142 contained '\<142\>' + syn match dircolorsColor143 contained '\<143\>' + syn match dircolorsColor144 contained '\<144\>' + syn match dircolorsColor145 contained '\<145\>' + syn match dircolorsColor146 contained '\<146\>' + syn match dircolorsColor147 contained '\<147\>' + syn match dircolorsColor148 contained '\<148\>' + syn match dircolorsColor149 contained '\<149\>' + syn match dircolorsColor150 contained '\<150\>' + syn match dircolorsColor151 contained '\<151\>' + syn match dircolorsColor152 contained '\<152\>' + syn match dircolorsColor153 contained '\<153\>' + syn match dircolorsColor154 contained '\<154\>' + syn match dircolorsColor155 contained '\<155\>' + syn match dircolorsColor156 contained '\<156\>' + syn match dircolorsColor157 contained '\<157\>' + syn match dircolorsColor158 contained '\<158\>' + syn match dircolorsColor159 contained '\<159\>' + syn match dircolorsColor160 contained '\<160\>' + syn match dircolorsColor161 contained '\<161\>' + syn match dircolorsColor162 contained '\<162\>' + syn match dircolorsColor163 contained '\<163\>' + syn match dircolorsColor164 contained '\<164\>' + syn match dircolorsColor165 contained '\<165\>' + syn match dircolorsColor166 contained '\<166\>' + syn match dircolorsColor167 contained '\<167\>' + syn match dircolorsColor168 contained '\<168\>' + syn match dircolorsColor169 contained '\<169\>' + syn match dircolorsColor170 contained '\<170\>' + syn match dircolorsColor171 contained '\<171\>' + syn match dircolorsColor172 contained '\<172\>' + syn match dircolorsColor173 contained '\<173\>' + syn match dircolorsColor174 contained '\<174\>' + syn match dircolorsColor175 contained '\<175\>' + syn match dircolorsColor176 contained '\<176\>' + syn match dircolorsColor177 contained '\<177\>' + syn match dircolorsColor178 contained '\<178\>' + syn match dircolorsColor179 contained '\<179\>' + syn match dircolorsColor180 contained '\<180\>' + syn match dircolorsColor181 contained '\<181\>' + syn match dircolorsColor182 contained '\<182\>' + syn match dircolorsColor183 contained '\<183\>' + syn match dircolorsColor184 contained '\<184\>' + syn match dircolorsColor185 contained '\<185\>' + syn match dircolorsColor186 contained '\<186\>' + syn match dircolorsColor187 contained '\<187\>' + syn match dircolorsColor188 contained '\<188\>' + syn match dircolorsColor189 contained '\<189\>' + syn match dircolorsColor190 contained '\<190\>' + syn match dircolorsColor191 contained '\<191\>' + syn match dircolorsColor192 contained '\<192\>' + syn match dircolorsColor193 contained '\<193\>' + syn match dircolorsColor194 contained '\<194\>' + syn match dircolorsColor195 contained '\<195\>' + syn match dircolorsColor196 contained '\<196\>' + syn match dircolorsColor197 contained '\<197\>' + syn match dircolorsColor198 contained '\<198\>' + syn match dircolorsColor199 contained '\<199\>' + syn match dircolorsColor200 contained '\<200\>' + syn match dircolorsColor201 contained '\<201\>' + syn match dircolorsColor202 contained '\<202\>' + syn match dircolorsColor203 contained '\<203\>' + syn match dircolorsColor204 contained '\<204\>' + syn match dircolorsColor205 contained '\<205\>' + syn match dircolorsColor206 contained '\<206\>' + syn match dircolorsColor207 contained '\<207\>' + syn match dircolorsColor208 contained '\<208\>' + syn match dircolorsColor209 contained '\<209\>' + syn match dircolorsColor210 contained '\<210\>' + syn match dircolorsColor211 contained '\<211\>' + syn match dircolorsColor212 contained '\<212\>' + syn match dircolorsColor213 contained '\<213\>' + syn match dircolorsColor214 contained '\<214\>' + syn match dircolorsColor215 contained '\<215\>' + syn match dircolorsColor216 contained '\<216\>' + syn match dircolorsColor217 contained '\<217\>' + syn match dircolorsColor218 contained '\<218\>' + syn match dircolorsColor219 contained '\<219\>' + syn match dircolorsColor220 contained '\<220\>' + syn match dircolorsColor221 contained '\<221\>' + syn match dircolorsColor222 contained '\<222\>' + syn match dircolorsColor223 contained '\<223\>' + syn match dircolorsColor224 contained '\<224\>' + syn match dircolorsColor225 contained '\<225\>' + syn match dircolorsColor226 contained '\<226\>' + syn match dircolorsColor227 contained '\<227\>' + syn match dircolorsColor228 contained '\<228\>' + syn match dircolorsColor229 contained '\<229\>' + syn match dircolorsColor230 contained '\<230\>' + syn match dircolorsColor231 contained '\<231\>' + syn match dircolorsColor232 contained '\<232\>' + syn match dircolorsColor233 contained '\<233\>' + syn match dircolorsColor234 contained '\<234\>' + syn match dircolorsColor235 contained '\<235\>' + syn match dircolorsColor236 contained '\<236\>' + syn match dircolorsColor237 contained '\<237\>' + syn match dircolorsColor238 contained '\<238\>' + syn match dircolorsColor239 contained '\<239\>' + syn match dircolorsColor240 contained '\<240\>' + syn match dircolorsColor241 contained '\<241\>' + syn match dircolorsColor242 contained '\<242\>' + syn match dircolorsColor243 contained '\<243\>' + syn match dircolorsColor244 contained '\<244\>' + syn match dircolorsColor245 contained '\<245\>' + syn match dircolorsColor246 contained '\<246\>' + syn match dircolorsColor247 contained '\<247\>' + syn match dircolorsColor248 contained '\<248\>' + syn match dircolorsColor249 contained '\<249\>' + syn match dircolorsColor250 contained '\<250\>' + syn match dircolorsColor251 contained '\<251\>' + syn match dircolorsColor252 contained '\<252\>' + syn match dircolorsColor253 contained '\<253\>' + syn match dircolorsColor254 contained '\<254\>' + syn match dircolorsColor255 contained '\<255\>' +else + syn cluster dircolorsColors contains=dircolorsNumber + syn match dircolorsNumber '\<\d\+\>' +endif - HiLink dircolorsTodo Todo - HiLink dircolorsComment Comment - HiLink dircolorsNumber Number - HiLink dircolorsKeyword Keyword - HiLink dircolorsExtension Keyword +hi def link dircolorsTodo Todo +hi def link dircolorsComment Comment +hi def link dircolorsKeyword Keyword +hi def link dircolorsExtension Keyword - HiDef dircolors01 term=bold cterm=bold gui=bold - HiDef dircolors04 term=underline cterm=underline gui=underline - " HiDef dircolors05 - HiDef dircolors07 term=reverse cterm=reverse gui=reverse - HiLink dircolors08 Ignore - HiDef dircolors30 ctermfg=Black guifg=Black - HiDef dircolors31 ctermfg=Red guifg=Red - HiDef dircolors32 ctermfg=Green guifg=Green - HiDef dircolors33 ctermfg=Yellow guifg=Yellow - HiDef dircolors34 ctermfg=Blue guifg=Blue - HiDef dircolors35 ctermfg=Magenta guifg=Magenta - HiDef dircolors36 ctermfg=Cyan guifg=Cyan - HiDef dircolors37 ctermfg=White guifg=White - HiDef dircolors40 ctermbg=Black ctermfg=White guibg=Black guifg=White - HiDef dircolors41 ctermbg=DarkRed guibg=DarkRed - HiDef dircolors42 ctermbg=DarkGreen guibg=DarkGreen - HiDef dircolors43 ctermbg=DarkYellow guibg=DarkYellow - HiDef dircolors44 ctermbg=DarkBlue guibg=DarkBlue - HiDef dircolors45 ctermbg=DarkMagenta guibg=DarkMagenta - HiDef dircolors46 ctermbg=DarkCyan guibg=DarkCyan - HiDef dircolors47 ctermbg=White ctermfg=Black guibg=White guifg=Black - - delcommand HiLink - delcommand HiDef +if &t_Co == 8 || &t_Co == 16 + hi def dircolorsBold term=bold cterm=bold gui=bold + hi def dircolorsUnderline term=underline cterm=underline gui=underline + hi def link dircolorsBlink Normal + hi def dircolorsReverse term=reverse cterm=reverse gui=reverse + hi def link dircolorsInvisible Ignore + hi def dircolorsBlack ctermfg=Black guifg=Black + hi def dircolorsRed ctermfg=Red guifg=Red + hi def dircolorsGreen ctermfg=Green guifg=Green + hi def dircolorsYellow ctermfg=Yellow guifg=Yellow + hi def dircolorsBlue ctermfg=Blue guifg=Blue + hi def dircolorsMagenta ctermfg=Magenta guifg=Magenta + hi def dircolorsCyan ctermfg=Cyan guifg=Cyan + hi def dircolorsWhite ctermfg=White guifg=White + hi def dircolorsBGBlack ctermbg=Black ctermfg=White + \ guibg=Black guifg=White + hi def dircolorsBGRed ctermbg=DarkRed guibg=DarkRed + hi def dircolorsBGGreen ctermbg=DarkGreen guibg=DarkGreen + hi def dircolorsBGYellow ctermbg=DarkYellow guibg=DarkYellow + hi def dircolorsBGBlue ctermbg=DarkBlue guibg=DarkBlue + hi def dircolorsBGMagenta ctermbg=DarkMagenta guibg=DarkMagenta + hi def dircolorsBGCyan ctermbg=DarkCyan guibg=DarkCyan + hi def dircolorsBGWhite ctermbg=White ctermfg=Black + \ guibg=White guifg=Black +elseif &t_Co == 256 + hi def dircolorsColor1 ctermfg=1 guifg=1 + hi def dircolorsColor2 ctermfg=2 guifg=2 + hi def dircolorsColor3 ctermfg=3 guifg=3 + hi def dircolorsColor4 ctermfg=4 guifg=4 + hi def dircolorsColor5 ctermfg=5 guifg=5 + hi def dircolorsColor6 ctermfg=6 guifg=6 + hi def dircolorsColor7 ctermfg=7 guifg=7 + hi def dircolorsColor8 ctermfg=8 guifg=8 + hi def dircolorsColor9 ctermfg=9 guifg=9 + hi def dircolorsColor10 ctermfg=10 guifg=10 + hi def dircolorsColor11 ctermfg=11 guifg=11 + hi def dircolorsColor12 ctermfg=12 guifg=12 + hi def dircolorsColor13 ctermfg=13 guifg=13 + hi def dircolorsColor14 ctermfg=14 guifg=14 + hi def dircolorsColor15 ctermfg=15 guifg=15 + hi def dircolorsColor16 ctermfg=16 guifg=16 + hi def dircolorsColor17 ctermfg=17 guifg=17 + hi def dircolorsColor18 ctermfg=18 guifg=18 + hi def dircolorsColor19 ctermfg=19 guifg=19 + hi def dircolorsColor20 ctermfg=20 guifg=20 + hi def dircolorsColor21 ctermfg=21 guifg=21 + hi def dircolorsColor22 ctermfg=22 guifg=22 + hi def dircolorsColor23 ctermfg=23 guifg=23 + hi def dircolorsColor24 ctermfg=24 guifg=24 + hi def dircolorsColor25 ctermfg=25 guifg=25 + hi def dircolorsColor26 ctermfg=26 guifg=26 + hi def dircolorsColor27 ctermfg=27 guifg=27 + hi def dircolorsColor28 ctermfg=28 guifg=28 + hi def dircolorsColor29 ctermfg=29 guifg=29 + hi def dircolorsColor30 ctermfg=30 guifg=30 + hi def dircolorsColor31 ctermfg=31 guifg=31 + hi def dircolorsColor32 ctermfg=32 guifg=32 + hi def dircolorsColor33 ctermfg=33 guifg=33 + hi def dircolorsColor34 ctermfg=34 guifg=34 + hi def dircolorsColor35 ctermfg=35 guifg=35 + hi def dircolorsColor36 ctermfg=36 guifg=36 + hi def dircolorsColor37 ctermfg=37 guifg=37 + hi def dircolorsColor38 ctermfg=38 guifg=38 + hi def dircolorsColor39 ctermfg=39 guifg=39 + hi def dircolorsColor40 ctermfg=40 guifg=40 + hi def dircolorsColor41 ctermfg=41 guifg=41 + hi def dircolorsColor42 ctermfg=42 guifg=42 + hi def dircolorsColor43 ctermfg=43 guifg=43 + hi def dircolorsColor44 ctermfg=44 guifg=44 + hi def dircolorsColor45 ctermfg=45 guifg=45 + hi def dircolorsColor46 ctermfg=46 guifg=46 + hi def dircolorsColor47 ctermfg=47 guifg=47 + hi def dircolorsColor48 ctermfg=48 guifg=48 + hi def dircolorsColor49 ctermfg=49 guifg=49 + hi def dircolorsColor50 ctermfg=50 guifg=50 + hi def dircolorsColor51 ctermfg=51 guifg=51 + hi def dircolorsColor52 ctermfg=52 guifg=52 + hi def dircolorsColor53 ctermfg=53 guifg=53 + hi def dircolorsColor54 ctermfg=54 guifg=54 + hi def dircolorsColor55 ctermfg=55 guifg=55 + hi def dircolorsColor56 ctermfg=56 guifg=56 + hi def dircolorsColor57 ctermfg=57 guifg=57 + hi def dircolorsColor58 ctermfg=58 guifg=58 + hi def dircolorsColor59 ctermfg=59 guifg=59 + hi def dircolorsColor60 ctermfg=60 guifg=60 + hi def dircolorsColor61 ctermfg=61 guifg=61 + hi def dircolorsColor62 ctermfg=62 guifg=62 + hi def dircolorsColor63 ctermfg=63 guifg=63 + hi def dircolorsColor64 ctermfg=64 guifg=64 + hi def dircolorsColor65 ctermfg=65 guifg=65 + hi def dircolorsColor66 ctermfg=66 guifg=66 + hi def dircolorsColor67 ctermfg=67 guifg=67 + hi def dircolorsColor68 ctermfg=68 guifg=68 + hi def dircolorsColor69 ctermfg=69 guifg=69 + hi def dircolorsColor70 ctermfg=70 guifg=70 + hi def dircolorsColor71 ctermfg=71 guifg=71 + hi def dircolorsColor72 ctermfg=72 guifg=72 + hi def dircolorsColor73 ctermfg=73 guifg=73 + hi def dircolorsColor74 ctermfg=74 guifg=74 + hi def dircolorsColor75 ctermfg=75 guifg=75 + hi def dircolorsColor76 ctermfg=76 guifg=76 + hi def dircolorsColor77 ctermfg=77 guifg=77 + hi def dircolorsColor78 ctermfg=78 guifg=78 + hi def dircolorsColor79 ctermfg=79 guifg=79 + hi def dircolorsColor80 ctermfg=80 guifg=80 + hi def dircolorsColor81 ctermfg=81 guifg=81 + hi def dircolorsColor82 ctermfg=82 guifg=82 + hi def dircolorsColor83 ctermfg=83 guifg=83 + hi def dircolorsColor84 ctermfg=84 guifg=84 + hi def dircolorsColor85 ctermfg=85 guifg=85 + hi def dircolorsColor86 ctermfg=86 guifg=86 + hi def dircolorsColor87 ctermfg=87 guifg=87 + hi def dircolorsColor88 ctermfg=88 guifg=88 + hi def dircolorsColor89 ctermfg=89 guifg=89 + hi def dircolorsColor90 ctermfg=90 guifg=90 + hi def dircolorsColor91 ctermfg=91 guifg=91 + hi def dircolorsColor92 ctermfg=92 guifg=92 + hi def dircolorsColor93 ctermfg=93 guifg=93 + hi def dircolorsColor94 ctermfg=94 guifg=94 + hi def dircolorsColor95 ctermfg=95 guifg=95 + hi def dircolorsColor96 ctermfg=96 guifg=96 + hi def dircolorsColor97 ctermfg=97 guifg=97 + hi def dircolorsColor98 ctermfg=98 guifg=98 + hi def dircolorsColor99 ctermfg=99 guifg=99 + hi def dircolorsColor100 ctermfg=100 guifg=100 + hi def dircolorsColor101 ctermfg=101 guifg=101 + hi def dircolorsColor102 ctermfg=102 guifg=102 + hi def dircolorsColor103 ctermfg=103 guifg=103 + hi def dircolorsColor104 ctermfg=104 guifg=104 + hi def dircolorsColor105 ctermfg=105 guifg=105 + hi def dircolorsColor106 ctermfg=106 guifg=106 + hi def dircolorsColor107 ctermfg=107 guifg=107 + hi def dircolorsColor108 ctermfg=108 guifg=108 + hi def dircolorsColor109 ctermfg=109 guifg=109 + hi def dircolorsColor110 ctermfg=110 guifg=110 + hi def dircolorsColor111 ctermfg=111 guifg=111 + hi def dircolorsColor112 ctermfg=112 guifg=112 + hi def dircolorsColor113 ctermfg=113 guifg=113 + hi def dircolorsColor114 ctermfg=114 guifg=114 + hi def dircolorsColor115 ctermfg=115 guifg=115 + hi def dircolorsColor116 ctermfg=116 guifg=116 + hi def dircolorsColor117 ctermfg=117 guifg=117 + hi def dircolorsColor118 ctermfg=118 guifg=118 + hi def dircolorsColor119 ctermfg=119 guifg=119 + hi def dircolorsColor120 ctermfg=120 guifg=120 + hi def dircolorsColor121 ctermfg=121 guifg=121 + hi def dircolorsColor122 ctermfg=122 guifg=122 + hi def dircolorsColor123 ctermfg=123 guifg=123 + hi def dircolorsColor124 ctermfg=124 guifg=124 + hi def dircolorsColor125 ctermfg=125 guifg=125 + hi def dircolorsColor126 ctermfg=126 guifg=126 + hi def dircolorsColor127 ctermfg=127 guifg=127 + hi def dircolorsColor128 ctermfg=128 guifg=128 + hi def dircolorsColor129 ctermfg=129 guifg=129 + hi def dircolorsColor130 ctermfg=130 guifg=130 + hi def dircolorsColor131 ctermfg=131 guifg=131 + hi def dircolorsColor132 ctermfg=132 guifg=132 + hi def dircolorsColor133 ctermfg=133 guifg=133 + hi def dircolorsColor134 ctermfg=134 guifg=134 + hi def dircolorsColor135 ctermfg=135 guifg=135 + hi def dircolorsColor136 ctermfg=136 guifg=136 + hi def dircolorsColor137 ctermfg=137 guifg=137 + hi def dircolorsColor138 ctermfg=138 guifg=138 + hi def dircolorsColor139 ctermfg=139 guifg=139 + hi def dircolorsColor140 ctermfg=140 guifg=140 + hi def dircolorsColor141 ctermfg=141 guifg=141 + hi def dircolorsColor142 ctermfg=142 guifg=142 + hi def dircolorsColor143 ctermfg=143 guifg=143 + hi def dircolorsColor144 ctermfg=144 guifg=144 + hi def dircolorsColor145 ctermfg=145 guifg=145 + hi def dircolorsColor146 ctermfg=146 guifg=146 + hi def dircolorsColor147 ctermfg=147 guifg=147 + hi def dircolorsColor148 ctermfg=148 guifg=148 + hi def dircolorsColor149 ctermfg=149 guifg=149 + hi def dircolorsColor150 ctermfg=150 guifg=150 + hi def dircolorsColor151 ctermfg=151 guifg=151 + hi def dircolorsColor152 ctermfg=152 guifg=152 + hi def dircolorsColor153 ctermfg=153 guifg=153 + hi def dircolorsColor154 ctermfg=154 guifg=154 + hi def dircolorsColor155 ctermfg=155 guifg=155 + hi def dircolorsColor156 ctermfg=156 guifg=156 + hi def dircolorsColor157 ctermfg=157 guifg=157 + hi def dircolorsColor158 ctermfg=158 guifg=158 + hi def dircolorsColor159 ctermfg=159 guifg=159 + hi def dircolorsColor160 ctermfg=160 guifg=160 + hi def dircolorsColor161 ctermfg=161 guifg=161 + hi def dircolorsColor162 ctermfg=162 guifg=162 + hi def dircolorsColor163 ctermfg=163 guifg=163 + hi def dircolorsColor164 ctermfg=164 guifg=164 + hi def dircolorsColor165 ctermfg=165 guifg=165 + hi def dircolorsColor166 ctermfg=166 guifg=166 + hi def dircolorsColor167 ctermfg=167 guifg=167 + hi def dircolorsColor168 ctermfg=168 guifg=168 + hi def dircolorsColor169 ctermfg=169 guifg=169 + hi def dircolorsColor170 ctermfg=170 guifg=170 + hi def dircolorsColor171 ctermfg=171 guifg=171 + hi def dircolorsColor172 ctermfg=172 guifg=172 + hi def dircolorsColor173 ctermfg=173 guifg=173 + hi def dircolorsColor174 ctermfg=174 guifg=174 + hi def dircolorsColor175 ctermfg=175 guifg=175 + hi def dircolorsColor176 ctermfg=176 guifg=176 + hi def dircolorsColor177 ctermfg=177 guifg=177 + hi def dircolorsColor178 ctermfg=178 guifg=178 + hi def dircolorsColor179 ctermfg=179 guifg=179 + hi def dircolorsColor180 ctermfg=180 guifg=180 + hi def dircolorsColor181 ctermfg=181 guifg=181 + hi def dircolorsColor182 ctermfg=182 guifg=182 + hi def dircolorsColor183 ctermfg=183 guifg=183 + hi def dircolorsColor184 ctermfg=184 guifg=184 + hi def dircolorsColor185 ctermfg=185 guifg=185 + hi def dircolorsColor186 ctermfg=186 guifg=186 + hi def dircolorsColor187 ctermfg=187 guifg=187 + hi def dircolorsColor188 ctermfg=188 guifg=188 + hi def dircolorsColor189 ctermfg=189 guifg=189 + hi def dircolorsColor190 ctermfg=190 guifg=190 + hi def dircolorsColor191 ctermfg=191 guifg=191 + hi def dircolorsColor192 ctermfg=192 guifg=192 + hi def dircolorsColor193 ctermfg=193 guifg=193 + hi def dircolorsColor194 ctermfg=194 guifg=194 + hi def dircolorsColor195 ctermfg=195 guifg=195 + hi def dircolorsColor196 ctermfg=196 guifg=196 + hi def dircolorsColor197 ctermfg=197 guifg=197 + hi def dircolorsColor198 ctermfg=198 guifg=198 + hi def dircolorsColor199 ctermfg=199 guifg=199 + hi def dircolorsColor200 ctermfg=200 guifg=200 + hi def dircolorsColor201 ctermfg=201 guifg=201 + hi def dircolorsColor202 ctermfg=202 guifg=202 + hi def dircolorsColor203 ctermfg=203 guifg=203 + hi def dircolorsColor204 ctermfg=204 guifg=204 + hi def dircolorsColor205 ctermfg=205 guifg=205 + hi def dircolorsColor206 ctermfg=206 guifg=206 + hi def dircolorsColor207 ctermfg=207 guifg=207 + hi def dircolorsColor208 ctermfg=208 guifg=208 + hi def dircolorsColor209 ctermfg=209 guifg=209 + hi def dircolorsColor210 ctermfg=210 guifg=210 + hi def dircolorsColor211 ctermfg=211 guifg=211 + hi def dircolorsColor212 ctermfg=212 guifg=212 + hi def dircolorsColor213 ctermfg=213 guifg=213 + hi def dircolorsColor214 ctermfg=214 guifg=214 + hi def dircolorsColor215 ctermfg=215 guifg=215 + hi def dircolorsColor216 ctermfg=216 guifg=216 + hi def dircolorsColor217 ctermfg=217 guifg=217 + hi def dircolorsColor218 ctermfg=218 guifg=218 + hi def dircolorsColor219 ctermfg=219 guifg=219 + hi def dircolorsColor220 ctermfg=220 guifg=220 + hi def dircolorsColor221 ctermfg=221 guifg=221 + hi def dircolorsColor222 ctermfg=222 guifg=222 + hi def dircolorsColor223 ctermfg=223 guifg=223 + hi def dircolorsColor224 ctermfg=224 guifg=224 + hi def dircolorsColor225 ctermfg=225 guifg=225 + hi def dircolorsColor226 ctermfg=226 guifg=226 + hi def dircolorsColor227 ctermfg=227 guifg=227 + hi def dircolorsColor228 ctermfg=228 guifg=228 + hi def dircolorsColor229 ctermfg=229 guifg=229 + hi def dircolorsColor230 ctermfg=230 guifg=230 + hi def dircolorsColor231 ctermfg=231 guifg=231 + hi def dircolorsColor232 ctermfg=232 guifg=232 + hi def dircolorsColor233 ctermfg=233 guifg=233 + hi def dircolorsColor234 ctermfg=234 guifg=234 + hi def dircolorsColor235 ctermfg=235 guifg=235 + hi def dircolorsColor236 ctermfg=236 guifg=236 + hi def dircolorsColor237 ctermfg=237 guifg=237 + hi def dircolorsColor238 ctermfg=238 guifg=238 + hi def dircolorsColor239 ctermfg=239 guifg=239 + hi def dircolorsColor240 ctermfg=240 guifg=240 + hi def dircolorsColor241 ctermfg=241 guifg=241 + hi def dircolorsColor242 ctermfg=242 guifg=242 + hi def dircolorsColor243 ctermfg=243 guifg=243 + hi def dircolorsColor244 ctermfg=244 guifg=244 + hi def dircolorsColor245 ctermfg=245 guifg=245 + hi def dircolorsColor246 ctermfg=246 guifg=246 + hi def dircolorsColor247 ctermfg=247 guifg=247 + hi def dircolorsColor248 ctermfg=248 guifg=248 + hi def dircolorsColor249 ctermfg=249 guifg=249 + hi def dircolorsColor250 ctermfg=250 guifg=250 + hi def dircolorsColor251 ctermfg=251 guifg=251 + hi def dircolorsColor252 ctermfg=252 guifg=252 + hi def dircolorsColor253 ctermfg=253 guifg=253 + hi def dircolorsColor254 ctermfg=254 guifg=254 + hi def dircolorsColor255 ctermfg=255 guifg=255 +else + hi def link dircolorsNumber Number endif let b:current_syntax = "dircolors" -" vim: set sts=2 sw=2: +let &cpo = s:cpo_save +unlet s:cpo_save
--- a/runtime/syntax/elinks.vim +++ b/runtime/syntax/elinks.vim @@ -1,54 +1,40 @@ " Vim syntax file -" Language: elinks(1) configuration file -" Maintainer: Nikolai Weibull <source@pcppopper.org> -" URL: http://www.pcppopper.org/ -" Latest Revision: 2004-05-22 -" arch-tag: 74eaff55-cdb5-4d31-805b-9627eb6535f1 +" Language: elinks(1) configuration file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-27 -if version < 600 - syntax clear -elseif exists("b:current_syntax") +if exists("b:current_syntax") finish endif -" Set iskeyword since we need `-' (and potentially others) in keywords. -" For version 5.x: Set it globally -" For version 6.x: Set it locally -if version >= 600 - command -nargs=1 SetIsk setlocal iskeyword=<args> -else - command -nargs=1 SetIsk set iskeyword=<args> -endif -SetIsk @,48-57,_,- -delcommand SetIsk +let s:cpo_save = &cpo +set cpo&vim + +setlocal iskeyword=@,48-57,_,- -" Todo -syn keyword elinksTodo contained TODO FIXME XXX NOTE +syn keyword elinksTodo contained TODO FIXME XXX NOTE -" Comments -syn region elinksComment matchgroup=elinksComment start='#' end='$' contains=elinksTodo +syn region elinksComment matchgroup=elinksComment start='#' end='$' + \ contains=elinksTodo -" Numbers syn match elinksNumber '\<\d\+\>' -" Strings -syn region elinksString matchgroup=elinksString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=@elinksColor +syn region elinksString matchgroup=elinksString start=+"+ + \ skip=+\\\\\|\\"+ end=+"+ contains=@elinksColor -" Keywords syn keyword elinksKeyword set bind -" Options syn keyword elinksPrefix bookmarks syn keyword elinksOptions file_format syn keyword elinksPrefix config syn keyword elinksOptions comments indentation saving_style i18n -syn keyword elinksOptions saving_style_w show_template + \ saving_style_w show_template syn keyword elinksPrefix connection ssl client_cert syn keyword elinksOptions enable file cert_verify async_dns max_connections -syn keyword elinksOptions max_connections_to_host receive_timeout retries -syn keyword elinksOptions unrestartable_receive_timeout + \ max_connections_to_host receive_timeout retries + \ unrestartable_receive_timeout syn keyword elinksPrefix cookies syn keyword elinksOptions accept_policy max_age paranoid_security save resave @@ -58,150 +44,145 @@ syn keyword elinksPrefix active_link syn keyword elinksPrefix format memory download dump history global html syn keyword elinksPrefix plain syn keyword elinksOptions auto_follow priority auto_submit confirm_submit -syn keyword elinksOptions input_size show_formhist file_tags -syn keyword elinksOptions image_link_tagging image_link_prefix -syn keyword elinksOptions image_link_suffix show_as_links show_any_as_links -syn keyword elinksOptions background text enable_color bold invert underline -syn keyword elinksOptions color_dirs numbering use_tabindex -syn keyword elinksOptions number_keys_select_link wraparound case regex -syn keyword elinksOptions show_hit_top_bottom wraparound show_not_found -syn keyword elinksOptions margin_width refresh minimum_refresh_time -syn keyword elinksOptions scroll_margin scroll_step table_move_order size -syn keyword elinksOptions size cache_redirects ignore_cache_control assume -syn keyword elinksOptions force_assumed text background link vlink dirs -syn keyword elinksOptions allow_dark_on_black ensure_contrast -syn keyword elinksOptions use_document_colors directory set_original_time -syn keyword elinksOptions overwrite notify_bell codepage width enable -syn keyword elinksOptions max_items display_type write_interval -syn keyword elinksOptions keep_unhistory display_frames display_tables -syn keyword elinksOptions expand_table_columns display_subs display_sups -syn keyword elinksOptions link_display underline_links wrap_nbsp -syn keyword elinksOptions display_links compress_empty_lines + \ input_size show_formhist file_tags + \ image_link_tagging image_link_prefix + \ image_link_suffix show_as_links + \ show_any_as_links background text enable_color + \ bold invert underline color_dirs numbering + \ use_tabindex number_keys_select_link + \ wraparound case regex show_hit_top_bottom + \ wraparound show_not_found margin_width refresh + \ minimum_refresh_time scroll_margin scroll_step + \ table_move_order size size cache_redirects + \ ignore_cache_control assume force_assumed text + \ background link vlink dirs allow_dark_on_black + \ ensure_contrast use_document_colors directory + \ set_original_time overwrite notify_bell + \ codepage width enable max_items display_type + \ write_interval keep_unhistory display_frames + \ display_tables expand_table_columns display_subs + \ display_sups link_display underline_links + \ wrap_nbsp display_links compress_empty_lines syn keyword elinksPrefix mime extension handler mailcap mimetypes type syn keyword elinksOptions ask block program enable path ask description -syn keyword elinksOptions prioritize enable path default_type + \ prioritize enable path default_type syn keyword elinksPrefix protocol file cgi ftp proxy http bugs proxy syn keyword elinksPrefix referer https proxy rewrite dumb smart syn keyword elinksOptions path policy allow_special_files show_hidden_files -syn keyword elinksOptions try_encoding_extensions host anon_passwd use_pasv -syn keyword elinksOptions use_epsv accept_charset allow_blacklist -syn keyword elinksOptions broken_302_redirect post_no_keepalive http10 host -syn keyword elinksOptions user passwd policy fake accept_language -syn keyword elinksOptions accept_ui_language trace user_agent host -syn keyword elinksOptions enable-dumb enable-smart + \ try_encoding_extensions host anon_passwd + \ use_pasv use_epsv accept_charset allow_blacklist + \ broken_302_redirect post_no_keepalive http10 + \ host user passwd policy fake accept_language + \ accept_ui_language trace user_agent host + \ enable-dumb enable-smart syn keyword elinksPrefix terminal syn keyword elinksOptions type m11_hack utf_8_io restrict_852 block_cursor -syn keyword elinksOptions colors transparency underline charset + \ colors transparency underline charset syn keyword elinksPrefix ui colors color mainmenu normal selected hotkey -syn keyword elinksPrefix menu marked hotkey frame dialog generic frame -syn keyword elinksPrefix scrollbar scrollbar-selected title text checkbox -syn keyword elinksPrefix checkbox-label button button-selected field -syn keyword elinksPrefix field-text meter shadow title title-bar title-text -syn keyword elinksPrefix status status-bar status-text tabs unvisited normal -syn keyword elinksPrefix loading separator searched mono + \ menu marked hotkey frame dialog generic + \ frame scrollbar scrollbar-selected title text + \ checkbox checkbox-label button button-selected + \ field field-text meter shadow title title-bar + \ title-text status status-bar status-text tabs + \ unvisited normal loading separator searched mono syn keyword elinksOptions text background syn keyword elinksPrefix ui dialogs leds sessions tabs timer syn keyword elinksOptions listbox_min_height shadows underline_hotkeys enable -syn keyword elinksOptions auto_save auto_restore auto_save_foldername -syn keyword elinksOptions homepage show_bar wraparound confirm_close enable -syn keyword elinksOptions duration action language show_status_bar -syn keyword elinksOptions show_title_bar startup_goto_dialog success_msgbox -syn keyword elinksOptions window_title + \ auto_save auto_restore auto_save_foldername + \ homepage show_bar wraparound confirm_close + \ enable duration action language show_status_bar + \ show_title_bar startup_goto_dialog + \ success_msgbox window_title syn keyword elinksOptions secure_file_saving -" Colors -syn cluster elinksColor contains=elinksColorBlack,elinksColorDarkRed,elinksColorDarkGreen,elinksColorDarkYellow,elinksColorDarkBlue,elinksColorDarkMagenta,elinksColorDarkCyan,elinksColorGray,elinksColorDarkGray,elinksColorRed,elinksColorGreen,elinksColorYellow,elinksColorBlue,elinksColorMagenta,elinksColorCyan,elinksColorWhite - -syn keyword elinksColorBlack black contained -syn keyword elinksColorDarkRed darkred sandybrown maroon crimson firebrick contained -syn keyword elinksColorDarkGreen darkgreen darkolivegreen darkseagreen contained -syn keyword elinksColorDarkGreen forestgreen mediumspringgreen seagreen contained -syn keyword elinksColorDarkYellow brown blanchedalmond chocolate darkorange contained -syn keyword elinksColorDarkYellow darkgoldenrod orange rosybrown saddlebrown contained -syn keyword elinksColorDarkYellow peru olive olivedrab sienna contained -syn keyword elinksColorDarkBlue darkblue cadetblue cornflowerblue contained -syn keyword elinksColorDarkBlue darkslateblue deepskyblue midnightblue contained -syn keyword elinksColorDarkBlue royalblue steelblue navy contained -syn keyword elinksColorDarkMagenta darkmagenta mediumorchid mediumpurple contained -syn keyword elinksColorDarkMagenta mediumslateblue slateblue deeppink hotpink contained -syn keyword elinksColorDarkMagenta darkorchid orchid purple indigo contained -syn keyword elinksColorDarkCyan darkcyan mediumaquamarine mediumturquoise contained -syn keyword elinksColorDarkCyan darkturquoise teal contained -syn keyword elinksColorGray silver dimgray lightslategray slategray contained -syn keyword elinksColorGray lightgrey burlywood plum tan thistle contained +syn cluster elinksColor contains=elinksColorBlack,elinksColorDarkRed, + \ elinksColorDarkGreen,elinksColorDarkYellow, + \ elinksColorDarkBlue,elinksColorDarkMagenta, + \ elinksColorDarkCyan,elinksColorGray, + \ elinksColorDarkGray,elinksColorRed, + \ elinksColorGreen,elinksColorYellow, + \ elinksColorBlue,elinksColorMagenta, + \ elinksColorCyan,elinksColorWhite -syn keyword elinksColorDarkGray gray darkgray darkslategray darksalmon contained -syn keyword elinksColorRed red indianred orangered tomato lightsalmon contained -syn keyword elinksColorRed salmon coral lightcoral contained -syn keyword elinksColorGreen green greenyellow lawngreen lightgreen contained -syn keyword elinksColorGreen lightseagreen limegreen mediumseagreen contained -syn keyword elinksColorGreen springgreen yellowgreen palegreen lime contained -syn keyword elinksColorGreen chartreuse contained -syn keyword elinksColorYellow yellow beige darkkhaki lightgoldenrodyellow contained -syn keyword elinksColorYellow palegoldenrod gold goldenrod khaki contained -syn keyword elinksColorYellow lightyellow contained -syn keyword elinksColorBlue blue aliceblue aqua aquamarine azure contained -syn keyword elinksColorBlue dodgerblue lightblue lightskyblue contained -syn keyword elinksColorBlue lightsteelblue mediumblue contained -syn keyword elinksColorMagenta magenta darkviolet blueviolet lightpink contained -syn keyword elinksColorMagenta mediumvioletred palevioletred violet pink contained -syn keyword elinksColorMagenta fuchsia contained -syn keyword elinksColorCyan cyan lightcyan powderblue skyblue turquoise contained -syn keyword elinksColorCyan paleturquoise contained -syn keyword elinksColorWhite white antiquewhite floralwhite ghostwhite contained -syn keyword elinksColorWhite navajowhite whitesmoke linen lemonchiffon contained -syn keyword elinksColorWhite cornsilk lavender lavenderblush seashell contained -syn keyword elinksColorWhite mistyrose ivory papayawhip bisque gainsboro contained -syn keyword elinksColorWhite honeydew mintcream moccasin oldlace contained -syn keyword elinksColorWhite peachpuff snow wheat contained +syn keyword elinksColorBlack contained black +syn keyword elinksColorDarkRed contained darkred sandybrown maroon crimson + \ firebrick +syn keyword elinksColorDarkGreen contained darkgreen darkolivegreen + \ darkseagreen forestgreen + \ mediumspringgreen seagreen +syn keyword elinksColorDarkYellow contained brown blanchedalmond chocolate + \ darkorange darkgoldenrod orange rosybrown + \ saddlebrown peru olive olivedrab sienna +syn keyword elinksColorDarkBlue contained darkblue cadetblue cornflowerblue + \ darkslateblue deepskyblue midnightblue + \ royalblue steelblue navy +syn keyword elinksColorDarkMagenta contained darkmagenta mediumorchid + \ mediumpurple mediumslateblue slateblue + \ deeppink hotpink darkorchid orchid purple + \ indigo +syn keyword elinksColorDarkCyan contained darkcyan mediumaquamarine + \ mediumturquoise darkturquoise teal +syn keyword elinksColorGray contained silver dimgray lightslategray + \ slategray lightgrey burlywood plum tan + \ thistle +syn keyword elinksColorDarkGray contained gray darkgray darkslategray + \ darksalmon +syn keyword elinksColorRed contained red indianred orangered tomato + \ lightsalmon salmon coral lightcoral +syn keyword elinksColorGreen contained green greenyellow lawngreen + \ lightgreen lightseagreen limegreen + \ mediumseagreen springgreen yellowgreen + \ palegreen lime chartreuse +syn keyword elinksColorYellow contained yellow beige darkkhaki + \ lightgoldenrodyellow palegoldenrod gold + \ goldenrod khaki lightyellow +syn keyword elinksColorBlue contained blue aliceblue aqua aquamarine + \ azure dodgerblue lightblue lightskyblue + \ lightsteelblue mediumblue +syn keyword elinksColorMagenta contained magenta darkviolet blueviolet + \ lightpink mediumvioletred palevioletred + \ violet pink fuchsia +syn keyword elinksColorCyan contained cyan lightcyan powderblue skyblue + \ turquoise paleturquoise +syn keyword elinksColorWhite contained white antiquewhite floralwhite + \ ghostwhite navajowhite whitesmoke linen + \ lemonchiffon cornsilk lavender + \ lavenderblush seashell mistyrose ivory + \ papayawhip bisque gainsboro honeydew + \ mintcream moccasin oldlace peachpuff snow + \ wheat -" Define the default highlighting. -" For version 5.7 and earlier: only when not done already -" For version 5.8 and later: only when an item doesn't have highlighting yet -if version >= 508 || !exists("did_elinks_syn_inits") - if version < 508 - let did_elinks_syn_inits = 1 - command -nargs=+ HiLink hi link <args> - command -nargs=+ HiDef hi <args> - else - command -nargs=+ HiLink hi def link <args> - command -nargs=+ HiDef hi def <args> - endif - - HiLink elinksTodo Todo - HiLink elinksComment Comment - HiLink elinksNumber Number - HiLink elinksString String - HiLink elinksKeyword Keyword - HiLink elinksPrefix Identifier - HiLink elinksOptions Identifier - HiDef elinksColorBlack ctermfg=Black guifg=Black - HiDef elinksColorDarkRed ctermfg=DarkRed guifg=DarkRed - HiDef elinksColorDarkGreen ctermfg=DarkGreen guifg=DarkGreen - HiDef elinksColorDarkYellow ctermfg=DarkYellow guifg=DarkYellow - HiDef elinksColorDarkBlue ctermfg=DarkBlue guifg=DarkBlue - HiDef elinksColorDarkMagenta ctermfg=DarkMagenta guifg=DarkMagenta - HiDef elinksColorDarkCyan ctermfg=DarkCyan guifg=DarkCyan - HiDef elinksColorGray ctermfg=Gray guifg=Gray - HiDef elinksColorDarkGray ctermfg=DarkGray guifg=DarkGray - HiDef elinksColorRed ctermfg=Red guifg=Red - HiDef elinksColorGreen ctermfg=Green guifg=Green - HiDef elinksColorYellow ctermfg=Yellow guifg=Yellow - HiDef elinksColorBlue ctermfg=Blue guifg=Blue - HiDef elinksColorMagenta ctermfg=Magenta guifg=Magenta - HiDef elinksColorCyan ctermfg=Cyan guifg=Cyan - HiDef elinksColorWhite ctermfg=White guifg=White - - delcommand HiLink - delcommand HiDef -endif +hi def link elinksTodo Todo +hi def link elinksComment Comment +hi def link elinksNumber Number +hi def link elinksString String +hi def link elinksKeyword Keyword +hi def link elinksPrefix Identifier +hi def link elinksOptions Identifier +hi def elinksColorBlack ctermfg=Black guifg=Black +hi def elinksColorDarkRed ctermfg=DarkRed guifg=DarkRed +hi def elinksColorDarkGreen ctermfg=DarkGreen guifg=DarkGreen +hi def elinksColorDarkYellow ctermfg=DarkYellow guifg=DarkYellow +hi def elinksColorDarkBlue ctermfg=DarkBlue guifg=DarkBlue +hi def elinksColorDarkMagenta ctermfg=DarkMagenta guifg=DarkMagenta +hi def elinksColorDarkCyan ctermfg=DarkCyan guifg=DarkCyan +hi def elinksColorGray ctermfg=Gray guifg=Gray +hi def elinksColorDarkGray ctermfg=DarkGray guifg=DarkGray +hi def elinksColorRed ctermfg=Red guifg=Red +hi def elinksColorGreen ctermfg=Green guifg=Green +hi def elinksColorYellow ctermfg=Yellow guifg=Yellow +hi def elinksColorBlue ctermfg=Blue guifg=Blue +hi def elinksColorMagenta ctermfg=Magenta guifg=Magenta +hi def elinksColorCyan ctermfg=Cyan guifg=Cyan +hi def elinksColorWhite ctermfg=White guifg=White let b:current_syntax = "elinks" -" vim: set sts=2 sw=2: +let &cpo = s:cpo_save +unlet s:cpo_save
--- a/runtime/syntax/eterm.vim +++ b/runtime/syntax/eterm.vim @@ -1,200 +1,428 @@ " Vim syntax file -" Language: Eterm configuration file -" Maintainer: Nikolai Weibull <source@pcppopper.org> -" URL: http://www.pcppopper.org/vim/syntax/pcp/eterm/ -" Latest Revision: 2004-05-06 -" arch-tag: f4c58caf-2b91-4fc4-96af-e3cad7c70e6b +" Language: eterm(1) configuration file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 -if version < 600 - syntax clear -elseif exists("b:current_syntax") +if exists("b:current_syntax") finish endif -" magic number -syn match etermMagic display "^<Eterm-[0-9.]\+>$" +let s:cpo_save = &cpo +set cpo&vim + +syn keyword etermTodo contained TODO FIXME XXX NOTE + +syn region etermComment matchgroup=etermComment start='^#' end='$' + \ contains=etermTodo,@Spell + +syn match etermMagic display display '^<Eterm-[0-9.]\+>$' -" comments -syn region etermComment matchgroup=etermComment start="^#" end="$" contains=etermTodo +syn match etermNumber contained display '\<\(\d\+\|0x\x\{1,2}\)\>' + +syn region etermString contained display oneline start=+"+ + \ skip=+\\"+ end=+"+ + +syn keyword etermBoolean contained on off true false yes no + +syn keyword etermPreProc contained appname exec get put random version + \ include preproc -" todo -syn keyword etermTodo contained TODO FIXME XXX NOTE +syn keyword etermFunctions contained copy exit kill nop paste save + \ scroll search spawn + +syn cluster etermGeneral contains=etermComment,etermFunction, + \ etermPreProc -" numbers -syn match etermNumber contained display "\<\(\d\+\|0x\x\{1,2}\)\>" +syn keyword etermKeyMod contained ctrl shift lock mod1 mod2 mod3 mod4 + \ mod5 alt meta anymod +syn keyword etermKeyMod contained button1 button2 button3 button4 + \ button5 + +syn keyword etermColorOptions contained video nextgroup=etermVideoOptions + \ skipwhite + +syn keyword etermVideoType contained normal reverse + +syn keyword etermColorOptions contained foreground background cursor + \ cursor_text pointer + \ nextgroup=etermColorType skipwhite -" strings -syn region etermString contained display oneline start=+"+ skip=+\\"+ end=+"+ +syn keyword etermColorType contained bd ul +syn match etermColorType contained display '\<\%(\d\|1[0-5]\)' + +syn keyword etermColorOptions contained color + \ nextgroup=etermColorNumber skipwhite -" booleans -syn keyword etermBoolean contained on off true false yes no +syn keyword etermColorNumber contained bd ul nextgroup=etermColorSpec + \ skipwhite +syn match etermColorNumber contained display '\<\%(\d\|1[0-5]\)' + \ nextgroup=etermColorSpec skipwhite + +syn match etermColorSpec contained display '\S\+' + +syn region etermColorContext fold transparent matchgroup=etermContext + \ start='^\s*begin\s\+color' + \ end='^\s*end\>' + \ contains=@etermGeneral,etermColorOptions + +syn keyword etermAttrOptions contained geometry nextgroup=etermGeometry + \ skipwhite -" colors (not pretty, but can't figure out better way...) -syn match etermColor contained display "\s\+#\x\{6}\>" -syn keyword etermColor contained white black +syn match etermGeometry contained display '\d\+x\d++\d\++\d\+' + +syn keyword etermAttrOptions contained scrollbar_type + \ nextgroup=etermScrollbarType skipwhite + +syn keyword etermScrollbarType contained motif xterm next + +syn keyword etermAttrOptions contained font nextgroup=etermFontType + \ skipwhite -" preproc -syn match etermPreProc contained "%\(appname\|exec\|get\|put\|random\|version\|include\|preproc\)("he=e-1 +syn keyword etermFontType contained bold nextgroup=etermFont skipwhite +syn match etermFontType contained display '[0-5]' nextgroup=etermFont + \ skipwhite + +syn match etermFont contained display '\S\+' + +syn keyword etermFontType contained default nextgroup=etermNumber + \ skipwhite + +syn keyword etermFontType contained proportional nextgroup=etermBoolean + \ skipwhite + +syn keyword etermFontType contained fx nextgroup=etermString skipwhite -" functions -syn match etermFunctions contained "\<\(copy\|exit\|kill\|nop\|paste\|save\|scroll\|search\|spawn\)(" +syn keyword etermAttrOptions contained title name iconname + \ nextgroup=etermString skipwhite + +syn keyword etermAttrOptions contained scrollbar_width desktop + \ nextgroup=etermNumber skipwhite + +syn region etermAttrContext fold transparent matchgroup=etermContext + \ start='^\s*begin\s\+attributes\' + \ end='^\s*end\>' + \ contains=@etermGeneral,etermAttrOptions + +syn keyword etermIClassOptions contained icon path nextgroup=etermString + \ skipwhite +syn keyword etermIClassOptions contained cache nextgroup=etermNumber + \ skipwhite +syn keyword etermIClassOptions contained anim nextgroup=etermNumber + \ skipwhite -" and make it easy to refer to the above... -syn cluster etermGeneral contains=etermComment,etermNumber,etermString,etermBoolean,etermColor,etermFunction,etermPreProc +syn region etermIClassContext fold transparent matchgroup=etermContext + \ start='^\s*begin\s\+imageclasses' + \ end='^\s*end\>' + \ contains=@etermGeneral,etermImageContext, + \ etermIClassOptions + +syn keyword etermImageOptions contained type nextgroup=etermImageType + \ skipwhite -" key modifiers -syn keyword etermKeyMod contained ctrl shift lock mod1 mod2 mod3 mod4 mod5 alt meta anymod -syn keyword etermKeyMod contained button1 button2 button3 button4 button5 +syn keyword etermImageTypes contained background trough anchor up_arrow + \ left_arrow right_arrow menu menuitem + \ submenu button buttonbar down_arrow + +syn keyword etermImageOptions contained mode nextgroup=etermImageModes + \ skipwhite + +syn keyword etermImageModes contained image trans viewport auto solid + \ nextgroup=etermImageModesAllow skipwhite +syn keyword etermImageModesAllow contained allow nextgroup=etermImageModesR + \ skipwhite +syn keyword etermImageModesR contained image trans viewport auto solid + +syn keyword etermImageOptions contained state nextgroup=etermImageState + \ skipwhite -" color context -syn region etermColorOptions contained oneline matchgroup=etermOption start="^\s*video\>" matchgroup=etermType end="\<\(normal\|reverse\)\>" -syn region etermColorOptions contained oneline matchgroup=etermOption start="^\s*color\>" matchgroup=etermType end="\<\(bd\|ul\|[0-9]\|1[0-5]\)\>" -syn keyword etermColorOptions contained foreground background cursor cursor_text pointer +syn keyword etermImageState contained normal selected clicked disabled + +syn keyword etermImageOptions contained color nextgroup=etermImageColorFG + \ skipwhite + +syn keyword etermImageColorFG contained '\S\+' nextgroup=etermImageColorBG + \ skipwhite + +syn keyword etermImageColorBG contained '\S\+' -syn region etermColorContext fold transparent matchgroup=etermContext start="^\s*begin\s\+color\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermColorOptions +syn keyword etermImageOptions contained file nextgroup=etermString + \ skipwhite + +syn keyword etermImageOptions contained geom nextgroup=etermImageGeom + \ skipwhite + +syn match etermImageGeom contained display + \ '\s\+\%(\d\+x\d\++\d\++\d\+\)\=:\%(\%(tie\|scale\|hscale\|vscale\|propscale\)d\=\)\=' + +syn keyword etermImageOptions contained cmod colormod + \ nextgroup=etermImageCmod skipwhite -" attributes context -syn region etermAttrOptions contained oneline matchgroup=etermOption start="^\s*geometry\>" matchgroup=etermType end="\<\d\+x\d\++\d\++\d\+\>" -syn region etermAttrOptions contained oneline matchgroup=etermOption start="^\s*scrollbar_type\>" matchgroup=etermType end="\<\(motif\|xterm\|next\)\>" -syn region etermAttrOptions contained oneline matchgroup=etermOption start="^\s*font\>" matchgroup=etermType end="\<\(bold\|default\|proportional\|fx\|[0-5]\)\>" -syn keyword etermAttrOptions contained title name iconname desktop scrollbar_width +syn keyword etermImageCmod contained image red green blue + \ nextgroup=etermImageBrightness skipwhite + +syn match etermImageBrightness contained display '\<\(\d\+\|0x\x\{1,2}\)\>' + \ nextgroup=etermImageContrast skipwhite + +syn match etermImageContrast contained display '\<\(\d\+\|0x\x\{1,2}\)\>' + \ nextgroup=etermImageGamma skipwhite -syn region etermAttrContext fold transparent matchgroup=etermContext start="^\s*begin\s\+attributes\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermAttrOptions +syn match etermImageGamma contained display '\<\(\d\+\|0x\x\{1,2}\)\>' + \ nextgroup=etermImageGamma skipwhite + +syn region etermImageOptions contained matchgroup=etermImageOptions + \ start='border\|bevel\%(\s\+\%(up\|down\)\)\|padding' + \ end='$' contains=etermNumber + +syn region etermImageContext contained fold transparent + \ matchgroup=etermContext + \ start='^\s*begin\s\+image' + \ end='^\s*end\>' + \ contains=@etermGeneral,etermImageOptions -" image context -" image types -syn keyword etermImageTypes contained background trough anchor up_arrow -syn keyword etermImageTypes contained left_arrow right_arrow menu menuitem -syn keyword etermImageTypes contained submenu button buttonbar down_arrow -syn region etermImageOptions contained transparent oneline matchgroup=etermOption start="^\s*type\>" end="$" contains=etermImageTypes -" image modes -syn keyword etermImageModes contained image trans viewport auto solid -syn keyword etermImageModesAllow contained allow -syn region etermImageOptions contained transparent oneline matchgroup=etermOption start="^\s*mode\>" end="$" contains=etermImageModes,etermImageModesAllow -" image states -syn region etermImageOptions contained transparent oneline matchgroup=etermOption start="^\s*state\>" matchgroup=etermType end="\<\(normal\|selected\|clicked\|disabled\)\>" -" image geometry -syn region etermImageOptions contained transparent oneline matchgroup=etermOption start="^\s*geom\>" matchgroup=etermType end="\s\+\(\d\+x\d\++\d\++\d\+\)\=:\(\(tile\|scale\|hscale\|vscale\|propscale\)d\=\)\=" -" image color modification -syn region etermImageOptions contained transparent oneline matchgroup=etermOption start="^\s*\(cmod\|colormod\)\>" matchgroup=etermType end="\<\(image\|red\|green\|blue\)\>" -" other keywords -syn keyword etermImageOptions contained file padding border bevel color +syn keyword etermMenuItemOptions contained action + \ nextgroup=etermMenuItemAction skipwhite + +syn keyword etermMenuItemAction contained string echo submenu script + \ nextgroup=etermString skipwhite + +syn keyword etermMenuItemAction contained separator + +syn keyword etermMenuItemOptions contained text rtext nextgroup=etermString + \ skipwhite + +syn region etermMenuItemContext contained fold transparent + \ matchgroup=etermContext + \ start='^\s*begin\s\+menuitem' + \ end='^\s*end\>' + \ contains=@etermGeneral,etermMenuItemOptions + +syn keyword etermMenuOptions contained title nextgroup=etermString + \ skipwhite + +syn keyword etermMenuOptions contained font_name nextgroup=etermFont + \ skipwhite + +syn match etermMenuOptions contained display '\<sep\>\|-' + +syn region etermMenuContext fold transparent matchgroup=etermContext + \ start='^\s*begin\s\+menu' + \ end='^\s*end\>' + \ contains=@etermGeneral,etermMenuOptions, + \ etermMenuItemContext + +syn keyword etermBind contained bind nextgroup=etermBindMods + \ skipwhite + +syn keyword etermBindMods contained ctrl shift lock mod1 mod2 mod3 mod4 + \ mod5 alt meta anymod + \ nextgroup=etermBindMods skipwhite + +syn keyword etermBindTo contained to nextgroup=etermBindType + \ skipwhite -syn region etermImageContext contained transparent fold matchgroup=etermContext start="^\s*begin\s\+image\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermImageOptions +syn keyword etermBindType contained string echo menu script + \ nextgroup=etermBindParam skipwhite + +syn match etermBindParam contained display '\S\+' -" imageclasses context -syn keyword etermIClassOptions contained icon cache path anim +syn region etermActionsContext fold transparent matchgroup=etermContext + \ start='^\s*begin\s\+actions' + \ end='^\s*end\>' + \ contains=@etermGeneral,etermActionsOptions -syn region etermIClassContext fold transparent matchgroup=etermContext start="^\s*begin\s\+imageclasses\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermImageContext,etermIClassOptions +syn keyword etermButtonOptions contained font nextgroup=etermFont skipwhite +syn keyword etermButtonOptions contained visible nextgroup=etermBoolean + \ skipwhite +syn keyword etermButtonOptions contained dock nextgroup=etermDockOption + \ skipwhite -" menuitem context -syn region etermMenuItemOptions contained transparent oneline matchgroup=etermOption start="^\s*action\>" matchgroup=etermType end="\<string\|echo\|submenu\|script\|separator\>" -syn keyword etermMenuItemOptions contained text rtext +syn keyword etermDockOption contained top bottom no + +syn keyword etermButton contained button nextgroup=etermButtonText + \ skipwhite -syn region etermMenuItemContext fold transparent matchgroup=etermContext start="^\s*begin\s\+menuitem\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermMenuItemOptions +syn region etermButtonText contained display oneline start=+"+ + \ skip=+\\"+ end=+"+ + \ nextgroup=etermButtonIcon skipwhite -" menu context (should contain - as well, but no...) -syn keyword etermMenuOptions contained title font_name sep +syn keyword etermButtonIcon contained icon nextgroup=etermButtonIconFile + \ skipwhite + +syn keyword etermButtonIconFile contained '\S\+' nextgroup=etermButtonAction + \ skipwhite -syn region etermMenuContext fold transparent matchgroup=etermContext start="^\s*begin\s\+menu\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermMenuOptions,etermMenuItemContext +syn keyword etermButtonAction contained action nextgroup=etermBindType + \ skipwhite -" action context -syn match etermActionDef contained "\<\(to\|string\|echo\|menu\|script\)\>" -syn region etermActionsOptions contained transparent oneline matchgroup=etermOption start="^\s*bind\>" end="$" contains=etermActionDef,etermKeyMod +syn region etermButtonContext fold transparent matchgroup=etermContext + \ start='^\s*begin\s\+button_bar' + \ end='^\s*end\>' + \ contains=@etermGeneral,etermButtonOptions + +syn keyword etermMultiOptions contained encoding nextgroup=etermEncoding + \ skipwhite + +syn keyword etermEncoding eucj sjis euckr big5 gb +syn match etermEncoding display 'iso-10646' -syn region etermActionsContext fold transparent matchgroup=etermContext start="^\s*begin\s\+actions\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermActionsOptions +syn keyword etermMultiOptions contained font nextgroup=etermFontType + \ skipwhite + +syn region etermMultiContext fold transparent matchgroup=etermContext + \ start='^\s*begin\s\+multichar' + \ end="^\s*end\>' + \ contains=@etermGeneral,etermMultiOptions -" button bar context -syn match etermButtonDef contained "\<\(action\|string\|echo\|menu\|scrupt\)\>" -syn region etermButtonOptions contained transparent oneline matchgroup=etermOption start="^\s*button\>" end="$" contains=etermButtonDef -syn keyword etermButtonOptions contained font visible dock +syn keyword etermXimOptions contained input_method + \ nextgroup=etermInputMethod skipwhite + +syn match etermInputMethod contained display '\S+' -syn region etermButtonContext fold transparent matchgroup=etermContext start="^\s*begin\s\+button_bar\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermButtonOptions +syn keyword etermXimOptions contained preedit_type + \ nextgroup=etermPreeditType skipwhite + +syn keyword etermPreeditType contained OverTheSpot OffTheSpot Root -" multichar context -syn keyword etermMultiOptions contained encoding font - -syn region etermMultiContext fold transparent matchgroup=etermContext start="^\s*begin\s\+multichar\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermMultiOptions +syn region etermXimContext fold transparent matchgroup=etermContext + \ start='^\s*begin\s\+xim' + \ end="^\s*end\>' + \ contains=@etermGeneral,etermXimOptions -" xim context -syn keyword etermXimOptions contained input_method preedit_type +syn keyword etermTogOptions contained map_alert visual_bell login_shell + \ scrollbar utmp_logging meta8 iconic + \ no_input home_on_output home_on_input + \ scrollbar_floating scrollbar_right + \ scrollbar_popup borderless double_buffer + \ no_cursor pause xterm_select select_line + \ select_trailing_spaces report_as_keysyms + \ itrans immotile_trans buttonbar + \ resize_gravity nextgroup=etermBoolean + \ skipwhite -syn region etermXimContext fold transparent matchgroup=etermContext start="^\s*begin\s\+xim\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermXimOptions +syn region etermTogContext fold transparent matchgroup=etermContext + \ start='^\s*begin\s\+toggles' + \ end='^\s*end\>' + \ contains=@etermGeneral,etermTogOptions + +syn keyword etermKeyboardOptions contained smallfont_key bigfont_key keysym + \ nextgroup=etermKeysym skipwhite -" toggles context -syn keyword etermTogOptions contained map_alert visual_bell login_shell scrollbar utmp_logging meta8 iconic no_input -syn keyword etermTogOptions contained home_on_output home_on_input scrollbar_floating scrollbar_right scrollbar_popup -syn keyword etermTogOptions contained borderless double_buffer no_cursor pause xterm_select select_line -syn keyword etermTogOptions contained select_trailing_spaces report_as_keysyms itrans immotile_trans buttonbar -syn keyword etermTogOptions contained resize_gravity +syn keyword etermKeysym contained '\S\+' nextgroup=etermString + \ skipwhite + +syn keyword etermKeyboardOptions contained meta_mod alt_mod numlock_mod + \ nextgroup=etermNumber skipwhite + +syn keyword etermKeyboardOptions contained greek app_keypad app_cursor + \ nextgroup=etermBoolean skipwhite -syn region etermTogContext fold transparent matchgroup=etermContext start="^\s*begin\s\+toggles\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermTogOptions +syn region etermKeyboardContext fold transparent matchgroup=etermContext + \ start='^\s*begin\s\+keyboard' + \ end='^\s*end\>' + \ contains=@etermGeneral,etermKeyboardOptions + +syn keyword etermMiscOptions contained print_pipe cut_chars finished_title + \ finished_text term_name exec + \ nextgroup=etermString skipwhite + +syn keyword etermMiscOptions contained save_lines min_anchor_size + \ border_width line_space -" keyboard context -syn keyword etermKeyboardOptions contained smallfont_key bigfont_key keysym meta_mod alt_mod -syn keyword etermKeyboardOptions contained greek numlock_mod app_keypad app_cursor +syn region etermMiscContext fold transparent matchgroup=etermContext + \ start='^\s*begin\s\+misc' + \ end='^\s*end\>' + \ contains=@etermGeneral,etermMiscOptions -syn region etermKeyboardContext fold transparent matchgroup=etermContext start="^\s*begin\s\+keyboard\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermKeyboardOptions +syn keyword etermEScreenOptions contained url nextgroup=etermURL skipwhite + +syn match etermURL contained display + \ '\<\%(screen\|twin\)://\%([^@:/]\+\%(@[^:/]\+\%(:[^/]\+\)\=\)\=\)\=/\S\+' + +syn keyword etermEScreenOptions contained firewall -" misc context -syn keyword etermMiscOptions contained print_pipe save_lines cut_chars min_anchor_size -syn keyword etermMiscOptions contained border_width line_space finished_title term_name -syn keyword etermMiscOptions contained finished_text exec +syn keyword etermEScreenOptions contained delay nextgroup=etermNumber + \ skipwhite + +syn keyword etermEScreenOptions contained bbar_font nextgroup=etermFont + \ skipwhite -syn region etermMiscContext fold transparent matchgroup=etermContext start="^\s*begin\s\+misc\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermMiscOptions +syn keyword etermEScreenOptions contained bbar_dock nextgroup=etermDockOption + \ skipwhite + +syn region etermEScreenContext fold transparent matchgroup=etermContext + \ start='^\s*begin\s\+escreen' + \ end='^\s*end\>' + \ contains=@etermGeneral,etermEScreenOptions if exists("eterm_minlines") let b:eterm_minlines = eterm_minlines else - let b:eterm_minlines = 30 + let b:eterm_minlines = 50 endif exec "syn sync minlines=" . b:eterm_minlines -" Define the default highlighting. -" For version 5.7 and earlier: only when not done already -" For version 5.8 and later: only when an item doesn't have highlighting yet -if version >= 508 || !exists("did_eterm_syn_inits") - if version < 508 - let did_eterm_syn_inits = 1 - command -nargs=+ HiLink hi link <args> - else - command -nargs=+ HiLink hi def link <args> - endif - - HiLink etermMagic Special - HiLink etermComment Comment - HiLink etermTodo Todo - HiLink etermNumber Number - HiLink etermString String - HiLink etermBoolean Boolean - HiLink etermColor Number - HiLink etermPreProc PreProc - HiLink etermFunctions Function - HiLink etermKeyMod Special - HiLink etermContext Keyword - HiLink etermOption Keyword - HiLink etermType Type - HiLink etermColorOptions Keyword - HiLink etermAttrOptions Keyword - HiLink etermIClassOptions Keyword - HiLink etermImageTypes Type - HiLink etermImageModes Type - HiLink etermImageModesAllow Keyword - HiLink etermImageOptions Keyword - HiLink etermMenuOptions Keyword - HiLink etermMenuItemOptions Keyword - HiLink etermActionDef Type - HiLink etermActionsOptions Keyword - HiLink etermButtonDef Type - HiLink etermButtonOptions Keyword - HiLink etermMultiOptions Keyword - HiLink etermXimOptions Keyword - HiLink etermTogOptions Keyword - HiLink etermKeyboardOptions Keyword - HiLink etermMiscOptions Keyword - delcommand HiLink -endif +hi def link etermTodo Todo +hi def link etermComment Comment +hi def link etermMagic PreProc +hi def link etermNumber Number +hi def link etermString String +hi def link etermBoolean Boolean +hi def link etermPreProc PreProc +hi def link etermFunctions Function +hi def link etermKeyMod Constant +hi def link etermOption Keyword +hi def link etermColorOptions etermOption +hi def link etermColor String +hi def link etermVideoType Type +hi def link etermColorType Type +hi def link etermColorNumber Number +hi def link etermColorSpec etermColor +hi def link etermContext Keyword +hi def link etermAttrOptions etermOption +hi def link etermGeometry String +hi def link etermScrollbarType Type +hi def link etermFontType Type +hi def link etermIClassOptions etermOption +hi def link etermImageOptions etermOption +hi def link etermImageTypes Type +hi def link etermImageModes Type +hi def link etermImageModesAllow Keyword +hi def link etermImageModesR Type +hi def link etermImageState Keyword +hi def link etermImageColorFG etermColor +hi def link etermImageColorBG etermColor +hi def link etermImageGeom String +hi def link etermImageCmod etermOption +hi def link etermImageBrightness Number +hi def link etermImageContrast Number +hi def link etermImageGamma Number +hi def link etermMenuItemOptions etermOption +hi def link etermMenuItemAction Keyword +hi def link etermMenuOptions etermOption +hi def link etermBind Keyword +hi def link etermBindMods Identifier +hi def link etermBindTo Keyword +hi def link etermBindType Type +hi def link etermBindParam String +hi def link etermButtonOptions etermOption +hi def link etermDockOption etermOption +hi def link etermButtonText String +hi def link etermButtonIcon String +hi def link etermButtonIconFile String +hi def link etermButtonAction Keyword +hi def link etermMultiOptions etermOption +hi def link etermEncoding Identifier +hi def link etermXimOptions etermOption +hi def link etermInputMethod Identifier +hi def link etermPreeditType Type +hi def link etermTogOptions etermOption +hi def link etermKeyboardOptions etermOption +hi def link etermKeysym Constant +hi def link etermMiscOptions etermOption +hi def link etermEScreenOptions etermOption +hi def link etermURL Identifier let b:current_syntax = "eterm" -" vim: set sts=2 sw=2: +let &cpo = s:cpo_save +unlet s:cpo_save
--- a/runtime/syntax/fetchmail.vim +++ b/runtime/syntax/fetchmail.vim @@ -1,88 +1,74 @@ " Vim syntax file -" Language: fetchmail(1) RC File -" Maintainer: Nikolai Weibull <source@pcppopper.org> -" URL: http://www.pcppopper.org/vim/syntax/pcp/fetchmail/ -" Latest Revision: 2004-05-06 -" arch-tag: 59d8adac-6e59-45f6-88cb-f9ba1e009c1f +" Language: fetchmail(1) RC File +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-27 -if version < 600 - syntax clear -elseif exists("b:current_syntax") +if exists("b:current_syntax") finish endif -" todo -syn keyword fetchmailTodo contained FIXME TODO XXX NOTE +let s:cpo_save = &cpo +set cpo&vim -" comments -syn region fetchmailComment start="#" end="$" contains=fetchmailTodo +syn keyword fetchmailTodo contained FIXME TODO XXX NOTE + +syn region fetchmailComment start='#' end='$' contains=fetchmailTodo,@Spell -" numbers -syn match fetchmailNumber "\<\d\+\>" +syn match fetchmailNumber display '\<\d\+\>' -" strings -syn region fetchmailString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=fetchmailStringEsc -syn region fetchmailString start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=fetchmailStringEsc - -" escape characters in strings -syn match fetchmailStringEsc "\\\([ntb]\|0\d*\|x\x\+\)" +syn region fetchmailString start=+"+ skip=+\\\\\|\\"+ end=+"+ + \ contains=fetchmailStringEsc +syn region fetchmailString start=+'+ skip=+\\\\\|\\'+ end=+'+ + \ contains=fetchmailStringEsc -" server entries -syn region fetchmailKeyword transparent matchgroup=fetchmailKeyword start="\<poll\|skip\|defaults\>" end="\<poll\|skip\|defaults\>" contains=ALLBUT,fetchmailOptions,fetchmailSet +syn match fetchmailStringEsc contained '\\\([ntb]\|0\d*\|x\x\+\)' -" server options -syn keyword fetchmailServerOpts contained via proto[col] local[domains] port auth[enticate] -syn keyword fetchmailServerOpts contained timeout envelope qvirtual aka interface monitor -syn keyword fetchmailServerOpts contained plugin plugout dns checkalias uidl interval netsec -syn keyword fetchmailServerOpts contained principal esmtpname esmtppassword -syn match fetchmailServerOpts contained "\<no\_s\+\(envelope\|dns\|checkalias\|uidl\)" +syn region fetchmailKeyword transparent matchgroup=fetchmailKeyword + \ start='\<poll\|skip\|defaults\>' + \ end='\<poll\|skip\|defaults\>' + \ contains=ALLBUT,fetchmailOptions,fetchmailSet -" user options -syn keyword fetchmailUserOpts contained user[name] is to pass[word] ssl sslcert sslkey sslproto folder -syn keyword fetchmailUserOpts contained smtphost fetchdomains smtpaddress smtpname antispam mda bsmtp -syn keyword fetchmailUserOpts contained preconnect postconnect keep flush fetchall rewrite stripcr -syn keyword fetchmailUserOpts contained forcecr pass8bits dropstatus dropdelivered mimedecode idle -syn keyword fetchmailUserOpts contained limit warnings batchlimit fetchlimit expunge tracepolls properties -syn match fetchmailUserOpts contained "\<no\_s\+\(keep\|flush\|fetchall\|rewrite\|stripcr\|forcecr\|pass8bits\|dropstatus\|dropdelivered\|mimedecode\|noidle\)" - -syn keyword fetchmailSpecial contained here there +syn keyword fetchmailServerOpts contained via proto[col] local[domains] port + \ auth[enticate] timeout envelope qvirtual aka + \ interface monitor plugin plugout dns + \ checkalias uidl interval netsec principal + \ esmtpname esmtppassword +syn match fetchmailServerOpts contained '\<no\_s\+\(envelope\|dns\|checkalias\|uidl\)' - -" noise keywords -syn keyword fetchmailNoise and with has wants options -syn match fetchmailNoise "[:;,]" +syn keyword fetchmailUserOpts contained user[name] is to pass[word] ssl + \ sslcert sslkey sslproto folder smtphost + \ fetchdomains smtpaddress smtpname antispam + \ mda bsmtp preconnect postconnect keep flush + \ fetchall rewrite stripcr forcecr pass8bits + \ dropstatus dropdelivered mimedecode idle + \ limit warnings batchlimit fetchlimit expunge + \ tracepolls properties +syn match fetchmailUserOpts contained '\<no\_s\+\(keep\|flush\|fetchall\|rewrite\|stripcr\|forcecr\|pass8bits\|dropstatus\|dropdelivered\|mimedecode\|noidle\)' -" options -syn keyword fetchmailSet nextgroup=fetchmailOptions skipwhite skipnl set +syn keyword fetchmailSpecial contained here there -syn keyword fetchmailOptions daemon postmaster bouncemail spambounce logfile idfile syslog nosyslog properties -syn match fetchmailOptions "\<no\_s\+\(bouncemail\|spambounce\)" +syn keyword fetchmailNoise and with has wants options +syn match fetchmailNoise display '[:;,]' -" Define the default highlighting. -" For version 5.7 and earlier: only when not done already -" For version 5.8 and later: only when an item doesn't have highlighting yet -if version >= 508 || !exists("did_fetchmail_syn_inits") - if version < 508 - let did_fetchmail_syn_inits = 1 - command -nargs=+ HiLink hi link <args> - else - command -nargs=+ HiLink hi def link <args> - endif +syn keyword fetchmailSet nextgroup=fetchmailOptions skipwhite skipnl set + +syn keyword fetchmailOptions daemon postmaster bouncemail spambounce logfile + \ idfile syslog nosyslog properties +syn match fetchmailOptions '\<no\_s\+\(bouncemail\|spambounce\)' - HiLink fetchmailComment Comment - HiLink fetchmailTodo Todo - HiLink fetchmailNumber Number - HiLink fetchmailString String - HiLink fetchmailStringEsc SpecialChar - HiLink fetchmailKeyword Keyword - HiLink fetchmailServerOpts Identifier - HiLink fetchmailUserOpts Identifier - HiLink fetchmailSpecial Special - HiLink fetchmailSet Keyword - HiLink fetchmailOptions Identifier - delcommand HiLink -endif +hi def link fetchmailComment Comment +hi def link fetchmailTodo Todo +hi def link fetchmailNumber Number +hi def link fetchmailString String +hi def link fetchmailStringEsc SpecialChar +hi def link fetchmailKeyword Keyword +hi def link fetchmailServerOpts Identifier +hi def link fetchmailUserOpts Identifier +hi def link fetchmailSpecial Special +hi def link fetchmailSet Keyword +hi def link fetchmailOptions Identifier let b:current_syntax = "fetchmail" -" vim: set sts=2 sw=2: +let &cpo = s:cpo_save +unlet s:cpo_save
--- a/runtime/syntax/gpg.vim +++ b/runtime/syntax/gpg.vim @@ -1,72 +1,105 @@ " Vim syntax file -" Language: GnuPG Configuration File. -" Maintainer: Nikolai Weibull <source@pcppopper.org> -" URL: http://www.pcppopper.org/vim/syntax/pcp/gpg/ -" Latest Revision: 2004-05-06 -" arch-tag: 602305f7-d8ae-48ef-a68f-4d54f12af70a +" Language: gpg(1) configuration file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 -if version < 600 - syntax clear -elseif exists("b:current_syntax") +if exists("b:current_syntax") finish endif -" Set iskeyword since we need `-' (and potentially others) in keywords. -" For version 5.x: Set it globally -" For version 6.x: Set it locally -if version >= 600 - command -nargs=1 SetIsk setlocal iskeyword=<args> -else - command -nargs=1 SetIsk set iskeyword=<args> -endif -SetIsk 48-57,65-90,97-122,- -delcommand SetIsk +let s:cpo_save = &cpo +set cpo&vim + +setlocal iskeyword=@,48-57,- + +syn keyword gpgTodo contained FIXME TODO XXX NOTE + +syn region gpgComment contained display oneline start='#' end='$' + \ contains=gpgTodo,gpgID,@Spell + +syn match gpgID contained display '\<\(0x\)\=\x\{8,}\>' + +syn match gpgBegin display '^' skipwhite nextgroup=gpgComment,gpgOption,gpgCommand -" comments -syn region gpgComment contained display oneline start="#" end="$" contains=gpgTodo,gpgID - -" todo -syn keyword gpgTodo contained FIXME TODO XXX NOTE - -" ids -syn match gpgID contained display "\<\(0x\)\=\x\{8,}\>" - -syn match gpgBegin "^" skipwhite nextgroup=gpgComment,gpgOption,gpgCommand - -" commands that take args -syn keyword gpgCommand contained skipwhite nextgroup=gpgArg check-sigs decrypt decrypt-files delete-key delete-secret-and-public-key delete-secret-key edit-key encrypt-files export export-all export-ownertrust export-secret-keys export-secret-subkeys fast-import fingerprint gen-prime gen-random import import-ownertrust list-keys list-public-keys list-secret-keys list-sigs lsign-key nrsign-key print-md print-mds recv-keys search-keys send-keys sign-key verify verify-files -" commands that take no args -syn keyword gpgCommand contained skipwhite nextgroup=gpgArgError check-trustdb clearsign desig-revoke detach-sign encrypt gen-key gen-revoke help list-packets rebuild-keydb-caches sign store symmetric update-trustdb version warranty +syn keyword gpgCommand contained skipwhite nextgroup=gpgArg + \ check-sigs decrypt decrypt-files delete-key + \ delete-secret-and-public-key delete-secret-key + \ edit-key encrypt-files export export-all + \ export-ownertrust export-secret-keys + \ export-secret-subkeys fast-import fingerprint + \ gen-prime gen-random import import-ownertrust + \ list-keys list-public-keys list-secret-keys + \ list-sigs lsign-key nrsign-key print-md print-mds + \ recv-keys search-keys send-keys sign-key verify + \ verify-files +syn keyword gpgCommand contained skipwhite nextgroup=gpgArgError + \ check-trustdb clearsign desig-revoke detach-sign + \ encrypt gen-key gen-revoke help list-packets + \ rebuild-keydb-caches sign store symmetric + \ update-trustdb version warranty -" options that take args -syn keyword gpgOption contained skipwhite nextgroup=gpgArg attribute-fd cert-digest-algo charset cipher-algo command-fd comment completes-needed compress compress-algo debug default-cert-check-level default-key default-preference-list default-recipient digest-algo disable-cipher-algo disable-pubkey-algo encrypt-to exec-path export-options group homedir import-options keyring keyserver keyserver-options load-extension local-user logger-fd marginals-needed max-cert-depth notation-data options output override-session-key passphrase-fd personal-cipher-preferences personal-compress-preferences personal-digest-preferences photo-viewer recipient s2k-cipher-algo s2k-digest-algo s2k-mode secret-keyring set-filename set-policy-url status-fd trusted-key -" options that take no args -syn keyword gpgOption contained skipwhite nextgroup=gpgArgError allow-freeform-uid allow-non-selfsigned-uid allow-secret-key-import always-trust armor ask-cert-expire ask-sig-expire auto-check-trustdb batch debug-all default-comment default-recipient-self dry-run emit-version emulate-md-encode-bug enable-special-filenames escape-from-lines expert fast-list-mode fixed-list-mode for-your-eyes-only force-mdc force-v3-sigs force-v4-certs gpg-agent-info ignore-crc-error ignore-mdc-error ignore-time-conflict ignore-valid-from interactive list-only lock-multiple lock-never lock-once merge-only no no-allow-non-selfsigned-uid no-armor no-ask-cert-expire no-ask-sig-expire no-auto-check-trustdb no-batch no-comment no-default-keyring no-default-recipient no-encrypt-to no-expensive-trust-checks no-expert no-for-your-eyes-only no-force-v3-sigs no-force-v4-certs no-greeting no-literal no-mdc-warning no-options no-permission-warning no-pgp2 no-pgp6 no-pgp7 no-random-seed-file no-secmem-warning no-show-notation no-show-photos no-show-policy-url no-sig-cache no-sig-create-check no-sk-comments no-tty no-utf8-strings no-verbose no-version not-dash-escaped openpgp pgp2 pgp6 pgp7 preserve-permissions quiet rfc1991 set-filesize show-keyring show-notation show-photos show-policy-url show-session-key simple-sk-checksum sk-comments skip-verify textmode throw-keyid try-all-secrets use-agent use-embedded-filename utf8-strings verbose with-colons with-fingerprint with-key-data yes - -" arguments to commands and options -syn match gpgArg contained display "\S\+\(\s\+\S\+\)*" contains=gpgID -syn match gpgArgError contained display "\S\+\(\s\+\S\+\)*" +syn keyword gpgOption contained skipwhite nextgroup=gpgArg + \ attribute-fd cert-digest-algo charset cipher-algo + \ command-fd comment completes-needed compress + \ compress-algo debug default-cert-check-level + \ default-key default-preference-list + \ default-recipient digest-algo disable-cipher-algo + \ disable-pubkey-algo encrypt-to exec-path + \ export-options group homedir import-options + \ keyring keyserver keyserver-options load-extension + \ local-user logger-fd marginals-needed max-cert-depth + \ notation-data options output override-session-key + \ passphrase-fd personal-cipher-preferences + \ personal-compress-preferences + \ personal-digest-preferences photo-viewer + \ recipient s2k-cipher-algo s2k-digest-algo s2k-mode + \ secret-keyring set-filename set-policy-url status-fd + \ trusted-key +syn keyword gpgOption contained skipwhite nextgroup=gpgArgError + \ allow-freeform-uid allow-non-selfsigned-uid + \ allow-secret-key-import always-trust + \ armor ask-cert-expire ask-sig-expire + \ auto-check-trustdb batch debug-all default-comment + \ default-recipient-self dry-run emit-version + \ emulate-md-encode-bug enable-special-filenames + \ escape-from-lines expert fast-list-mode + \ fixed-list-mode for-your-eyes-only + \ force-mdc force-v3-sigs force-v4-certs + \ gpg-agent-info ignore-crc-error ignore-mdc-error + \ ignore-time-conflict ignore-valid-from interactive + \ list-only lock-multiple lock-never lock-once + \ merge-only no no-allow-non-selfsigned-uid + \ no-armor no-ask-cert-expire no-ask-sig-expire + \ no-auto-check-trustdb no-batch no-comment + \ no-default-keyring no-default-recipient + \ no-encrypt-to no-expensive-trust-checks + \ no-expert no-for-your-eyes-only no-force-v3-sigs + \ no-force-v4-certs no-greeting no-literal + \ no-mdc-warning no-options no-permission-warning + \ no-pgp2 no-pgp6 no-pgp7 no-random-seed-file + \ no-secmem-warning no-show-notation no-show-photos + \ no-show-policy-url no-sig-cache no-sig-create-check + \ no-sk-comments no-tty no-utf8-strings no-verbose + \ no-version not-dash-escaped openpgp pgp2 + \ pgp6 pgp7 preserve-permissions quiet rfc1991 + \ set-filesize show-keyring show-notation show-photos + \ show-policy-url show-session-key simple-sk-checksum + \ sk-comments skip-verify textmode throw-keyid + \ try-all-secrets use-agent use-embedded-filename + \ utf8-strings verbose with-colons with-fingerprint + \ with-key-data yes -" Define the default highlighting. -" For version 5.7 and earlier: only when not done already -" For version 5.8 and later: only when an item doesn't have highlighting yet -if version >= 508 || !exists("did_gpg_syn_inits") - if version < 508 - let did_gpg_syn_inits = 1 - command -nargs=+ HiLink hi link <args> - else - command -nargs=+ HiLink hi def link <args> - endif +syn match gpgArg contained display '\S\+\(\s\+\S\+\)*' contains=gpgID +syn match gpgArgError contained display '\S\+\(\s\+\S\+\)*' - HiLink gpgComment Comment - HiLink gpgTodo Todo - HiLink gpgID Number - HiLink gpgOption Keyword - HiLink gpgCommand Error - HiLink gpgArgError Error - delcommand HiLink -endif +hi def link gpgComment Comment +hi def link gpgTodo Todo +hi def link gpgID Number +hi def link gpgOption Keyword +hi def link gpgCommand Error +hi def link gpgArgError Error let b:current_syntax = "gpg" -" vim: set sts=2 sw=2: +let &cpo = s:cpo_save +unlet s:cpo_save
--- a/runtime/syntax/grub.vim +++ b/runtime/syntax/grub.vim @@ -1,77 +1,93 @@ " Vim syntax file -" Language: GRUB Configuration File -" Maintainer: Nikolai Weibull <source@pcppopper.org> -" URL: http://www.pcppopper.org/vim/syntax/pcp/grub/ -" Latest Revision: 2004-05-06 -" arch-tag: 7a56ddd0-e551-44bc-b8c0-235fedbdf3c0 +" Language: grub(8) configuration file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 -if version < 600 - syntax clear -elseif exists("b:current_syntax") +if exists("b:current_syntax") finish endif -" comments -syn region grubComment display oneline start="^#" end="$" contains=grubTodo +let s:cpo_save = &cpo +set cpo&vim + +syn keyword grubTodo contained TODO FIXME XXX NOTE + +syn region grubComment display oneline start='^#' end='$' + \ contains=grubTodo,@Spell -" todo -syn keyword grubTodo contained TODO FIXME XXX NOTE +syn match grubDevice display + \ '(\([fh]d\d\|\d\+\|0x\x\+\)\(,\d\+\)\=\(,\l\)\=)' + +syn match grubBlock display '\(\d\+\)\=+\d\+\(,\(\d\+\)\=+\d\+\)*' -" devices -syn match grubDevice display "(\([fh]d\d\|\d\+\|0x\x\+\)\(,\d\+\)\=\(,\l\)\=)" +syn match grubNumbers display '+\=\<\d\+\|0x\x\+\>' + +syn match grubBegin display '^' + \ nextgroup=@grubCommands,grubComment skipwhite -" block lists -syn match grubBlock display "\(\d\+\)\=+\d\+\(,\(\d\+\)\=+\d\+\)*" +syn cluster grubCommands contains=grubCommand,grubTitleCommand + +syn keyword grubCommand contained default fallback hiddenmenu timeout + +syn keyword grubTitleCommand contained title nextgroup=grubTitle skipwhite + +syn match grubTitle contained display '.*' -" numbers -syn match grubNumbers display "+\=\<\d\+\|0x\x\+\>" +syn keyword grubCommand contained bootp color device dhcp hide ifconfig + \ pager partnew parttype password rarp serial setkey + \ terminal tftpserver unhide blocklist boot cat + \ chainloader cmp configfile debug displayapm + \ displaymem embed find fstest geometry halt help + \ impsprobe initrd install ioprobe kernel lock + \ makeactive map md5crypt module modulenounzip pause + \ quit reboot read root rootnoverify savedefault setup + \ testload testvbe uppermem vbeprobe -syn match grubBegin display "^" nextgroup=grubCommand,grubComment skipwhite - -" menu commands -syn keyword grubCommand contained default fallback hiddenmenu timeout title +syn keyword grubSpecial saved -" general commands -syn keyword grubCommand contained bootp color device dhcp hide ifconfig pager -syn keyword grubCommand contained partnew parttype password rarp serial setkey -syn keyword grubCommand contained terminal tftpserver unhide blocklist boot cat -syn keyword grubCommand contained chainloader cmp configfile debug displayapm -syn keyword grubCommand contained displaymem embed find fstest geometry halt help -syn keyword grubCommand contained impsprobe initrd install ioprobe kernel lock -syn keyword grubCommand contained makeactive map md5crypt module modulenounzip pause -syn keyword grubCommand contained quit reboot read root rootnoverify savedefault -syn keyword grubCommand contained setup testload testvbe uppermem vbeprobe - -" colors -syn match grubColor "\(blink-\)\=\(black\|blue\|green\|cyan\|red\|magenta\|brown\|yellow\|white\)" -syn match grubColor "\<\(blink-\)\=light-\(gray\|blue\|green\|cyan\|red\|magenta\)" -syn match grubColor "\<\(blink-\)\=dark-gray" - -" specials -syn keyword grubSpecial saved +syn match grubBlink display 'blink-' +syn keyword grubBlack black +syn keyword grubBlue blue +syn keyword grubGreen green +syn keyword grubRed red +syn keyword grubMagenta magenta +syn keyword grubBrown brown yellow +syn keyword grubWhite white +syn match grubLightGray display 'light-gray' +syn match grubLightBlue display 'light-blue' +syn match grubLightGreen display 'light-green' +syn match grubLightCyan display 'light-cyan' +syn match grubLightRed display 'light-red' +syn match grubLightMagenta display 'light-magenta' +syn match grubDarkGray display 'dark-gray' -" Define the default highlighting. -" For version 5.7 and earlier: only when not done already -" For version 5.8 and later: only when an item doesn't have highlighting yet -if version >= 508 || !exists("did_grub_syn_inits") - if version < 508 - let did_grub_syn_inits = 1 - command -nargs=+ HiLink hi link <args> - else - command -nargs=+ HiLink hi def link <args> - endif +hi def link grubComment Comment +hi def link grubTodo Todo +hi def link grubNumbers Number +hi def link grubDevice Identifier +hi def link grubBlock Identifier +hi def link grubCommand Keyword +hi def link grubTitleCommand grubCommand +hi def link grubTitle String +hi def link grubSpecial Special - HiLink grubComment Comment - HiLink grubTodo Todo - HiLink grubNumbers Number - HiLink grubDevice Identifier - HiLink grubBlock Identifier - HiLink grubCommand Keyword - HiLink grubColor Identifier - HiLink grubSpecial Special - delcommand HiLink -endif +hi def grubBlink cterm=inverse +hi def grubBlack ctermfg=Black ctermbg=White guifg=Black guibg=White +hi def grubBlue ctermfg=DarkBlue guifg=DarkBlue +hi def grubGreen ctermfg=DarkGreen guifg=DarkGreen +hi def grubRed ctermfg=DarkRed guifg=DarkRed +hi def grubMagenta ctermfg=DarkMagenta guifg=DarkMagenta +hi def grubBrown ctermfg=Brown guifg=Brown +hi def grubWhite ctermfg=White ctermbg=Black guifg=White guibg=Black +hi def grubLightGray ctermfg=LightGray guifg=LightGray +hi def grubLightBlue ctermfg=LightBlue guifg=LightBlue +hi def grubLightGreen ctermfg=LightGreen guifg=LightGreen +hi def grubLightCyan ctermfg=LightCyan guifg=LightCyan +hi def grubLightRed ctermfg=LightRed guifg=LightRed +hi def grubLightMagenta ctermfg=LightMagenta guifg=LightMagenta +hi def grubDarkGray ctermfg=DarkGray guifg=DarkGray let b:current_syntax = "grub" -" vim: set sts=2 sw=2: +let &cpo = s:cpo_save +unlet s:cpo_save
--- a/runtime/syntax/indent.vim +++ b/runtime/syntax/indent.vim @@ -1,101 +1,178 @@ " Vim syntax file -" Language: indent RC File -" Maintainer: Nikolai Weibull <source@pcppopper.org> -" URL: http://www.pcppopper.org/vim/syntax/pcp/indent/ -" Latest Revision: 2004-05-22 -" arch-tag: 23c11190-79fa-4493-9fc5-36435402a20d +" Language: indent(1) configuration file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 +" indent_is_bsd: If exists, will change somewhat to match BSD implementation +" " TODO: is the deny-all (a la lilo.vim nice or no?)... -" irritating to be wrong to the last char... -" would be sweet if right until one char fails +" irritating to be wrong to the last char... +" would be sweet if right until one char fails -if version < 600 - syntax clear -elseif exists("b:current_syntax") +if exists("b:current_syntax") finish endif -" Set iskeyword since we need `-' (and potentially others) in keywords. -" For version 5.x: Set it globally -" For version 6.x: Set it locally -if version >= 600 - command -nargs=1 SetIsk setlocal iskeyword=<args> -else - command -nargs=1 SetIsk set iskeyword=<args> -endif -SetIsk 48-57,65-90,97-122,-,_ -delcommand SetIsk +let s:cpo_save = &cpo +set cpo&vim + +setlocal iskeyword=@,48-57,-,_ + +syn match indentError '\S\+' -" errors -syn match indentError "\S\+" +syn keyword indentTodo contained TODO FIXME XXX NOTE -" todo -syn keyword indentTodo contained TODO FIXME XXX NOTE - -" comments -syn region indentComment matchgroup=indentComment start="/\*" end="\*/" contains=indentTodo +syn region indentComment matchgroup=indentComment + \ start='/\*' end='\*/' + \ contains=indentTodo,@Spell +syn region indentComment matchgroup=indentComment + \ start='//' skip='\\$' end='$' + \ contains=indentTodo,@Spell -" keywords (command-line switches) -syn match indentOptions "\<--\(no-\)\=blank-\(before-sizeof\|Bill-Shannon\|lines-\(after-\(commas\|declarations\|procedures\)\|before-block-comments\)\)\>" -syn match indentOptions "\<--brace-indent\s*\d\+\>" -syn match indentOptions "\<--braces-\(after\|on\)-\(if\|struct-decl\)-line\>" -syn match indentOptions "\<--break-\(\(after\|before\)-boolean-operator\|function-decl-args\)\>" -syn match indentOptions "\<--\(case\(-brace\)\=\|comment\|continuation\|declaration\|line-comments\|parameter\|paren\|struct-brace\)-indentation\s*\d\+\>" -syn match indentOptions "\<--\(no-\)\=comment-delimiters-on-blank-lines\>" -syn match indentOptions "\<--\(dont-\)\=cuddle-\(do-while\|else\)\>" -syn match indentOptions "\<--\(declaration-comment\|else-endif\)-column\s*\d\+\>" -syn match indentOptions "\<--dont-break-\(function-decl-args\|procedure-type\)\>" -syn match indentOptions "\<--\(dont-\)\=\(format\(-first-column\)\=\|star\)-comments\>" -syn match indentOptions "\<--\(honour\|ignore\)-newlines\>" -syn match indentOptions "\<--\(indent-level\|\(comment-\)\=line-length\)\s*\d\+\>" -syn match indentOptions "\<--\(leave\|remove\)-preprocessor-space\>" -"not 100%, since casts\= should always be cast if no- isn't given -syn match indentOptions "\<--\(no-\)\=space-after-\(parentheses\|casts\=\|for\|if\|while\)\>" -syn match indentOptions "\<--\(dont-\)\=space-special-semicolon\>" -syn match indentOptions "\<--\(leave\|swallow\)-optional-blank-lines\>" -syn match indentOptions "\<--tab-size\s*\d\+\>" -syn match indentOptions "\<--\(no\|use\)-tabs\>" -syn keyword indentOptions --gnu-style --ignore-profile --k-and-r-style --original -syn keyword indentOptions --preserve-mtime --no-verbosity --verbose --output-file -syn keyword indentOptions --no-parameter-indentation --procnames-start-lines -syn keyword indentOptions --standard-output --start-left-side-of-comments -syn keyword indentOptions --space-after-procedure-calls -" this also here since the gnu indent fellas aren't consistent. (ever read -" the code to `indent'? you'll know what i mean if you have) -syn match indentOptions "\<-\(bli\|cbi\|cd\|ci\|cli\|c\|cp\|di\|d\|i\|ip\|l\|lc\|pi\|sbi\|ts\)\s*\d\+\>" -syn match indentOptions "\<-T\s\+\w\+\>" -syn keyword indentOptions --format-all-comments --continue-at-parentheses --dont-line-up-parentheses -syn keyword indentOptions --no-space-after-function-call-names -syn keyword indentOptions -bad -bap -bbb -bbo -bc -bfda -bl -br -bs -nbs -cdb -cdw -ce -cs -dce -fc1 -fca -syn keyword indentOptions -gnu -hnl -kr -lp -lps -nbad -nbap -nbbb -nbbo -nbc -nbfda -ncdb -ncdw -nprs -syn keyword indentOptions -nce -ncs -nfc1 -nfca -nhnl -nip -nlp -nlps -npcs -npmt -npro -npsl -nsaf -nsai -syn keyword indentOptions -nsaw -nsc -nsob -nss -nv -o -orig -pcs -pmt -prs -psl -saf -sai -saw -sc -syn keyword indentOptions -sob -ss -st -v -version -bls -brs -ut -nut +syn keyword indentOptions -bacc --blank-lines-after-ifdefs + \ -bad --blank-lines-after-declarations + \ -badp --blank-lines-after-procedure-declarations + \ -bap --blank-lines-after-procedures + \ -bbb --blank-lines-before-block-comments + \ -bbo --break-before-boolean-operator + \ -bc --blank-lines-after-commas + \ -bfda --break-function-decl-args + \ -bfde --break-function-decl-args-end + \ -bl --braces-after-if-line + \ -blf --braces-after-func-def-line + \ -bls --braces-after-struct-decl-line + \ -br --braces-on-if-line + \ -brf --braces-on-func-def-line + \ -brs --braces-on-struct-decl-line + \ -bs --Bill-Shannon + \ -bs --blank-before-sizeof + \ -c++ --c-plus-plus + \ -cdb --comment-delimiters-on-blank-lines + \ -cdw --cuddle-do-while + \ -ce --cuddle-else + \ -cs --space-after-cast + \ -dj --left-justify-declarations + \ -eei --extra-expression-indentation + \ -fc1 --format-first-column-comments + \ -fca --format-all-comments + \ -gnu --gnu-style + \ -h --help + \ -h --usage + \ -hnl --honour-newlines + \ -kr --k-and-r-style + \ -kr --kernighan-and-ritchie + \ -kr --kernighan-and-ritchie-style + \ -lp --continue-at-parentheses + \ -lps --leave-preprocessor-space + \ -nbacc --no-blank-lines-after-ifdefs + \ -nbad --no-blank-lines-after-declarations + \ -nbadp --no-blank-lines-after-procedure-declarations + \ -nbap --no-blank-lines-after-procedures + \ -nbbb --no-blank-lines-before-block-comments + \ -nbbo --break-after-boolean-operator + \ -nbc --no-blank-lines-after-commas + \ -nbfda --dont-break-function-decl-args + \ -nbfde --dont-break-function-decl-args-end + \ -nbs --no-Bill-Shannon + \ -nbs --no-blank-before-sizeof + \ -ncdb --no-comment-delimiters-on-blank-lines + \ -ncdw --dont-cuddle-do-while + \ -nce --dont-cuddle-else + \ -ncs --no-space-after-casts + \ -ndj --dont-left-justify-declarations + \ -neei --no-extra-expression-indentation + \ -nfc1 --dont-format-first-column-comments + \ -nfca --dont-format-comments + \ -nhnl --ignore-newlines + \ -nip --dont-indent-parameters + \ -nip --no-parameter-indentation + \ -nlp --dont-line-up-parentheses + \ -nlps --remove-preprocessor-space + \ -npcs --no-space-after-function-call-names + \ -npro --ignore-profile + \ -nprs --no-space-after-parentheses + \ -npsl --dont-break-procedure-type + \ -nsaf --no-space-after-for + \ -nsai --no-space-after-if + \ -nsaw --no-space-after-while + \ -nsc --dont-star-comments + \ -nsob --leave-optional-blank-lines + \ -nss --dont-space-special-semicolon + \ -nut --no-tabs + \ -nv --no-verbosity + \ -o --output + \ -o --output-file + \ -orig --berkeley + \ -orig --berkeley-style + \ -orig --original + \ -orig --original-style + \ -pcs --space-after-procedure-calls + \ -pmt --preserve-mtime + \ -prs --space-after-parentheses + \ -psl --procnames-start-lines + \ -saf --space-after-for + \ -sai --space-after-if + \ -saw --space-after-while + \ -sc --start-left-side-of-comments + \ -sob --swallow-optional-blank-lines + \ -ss --space-special-semicolon + \ -st --standard-output + \ -ut --use-tabs + \ -v --verbose + \ -version --version -if exists("indent_minlines") - let b:indent_minlines = indent_minlines -else - let b:indent_minlines = 50 +syn keyword indentOptions -bli --brace-indent + \ -c --comment-indentation + \ -bli --brace-indent + \ -c --comment-indentation + \ -cbi --case-brace-indentation + \ -cd --declaration-comment-column + \ -ci --continuation-indentation + \ -cli --case-indentation + \ -cp --else-endif-column + \ -d --line-comments-indentation + \ -di --declaration-indentation + \ -i --indent-level + \ -ip --parameter-indentation + \ -l --line-length + \ -lc --comment-line-length + \ -pi --paren-indentation + \ -ppi --preprocessor-indentation + \ -sbi --struct-brace-indentation + \ -ts --tab-size + \ nextgroup=indenNumber skipwhite +if !exists("indent_is_bsd") + syn keyword indentOptions -i --indentation-level + \ nextgroup=indentNumber skipwhite endif -exec "syn sync minlines=" . b:indent_minlines -" Define the default highlighting. -" For version 5.7 and earlier: only when not done already -" For version 5.8 and later: only when an item doesn't have highlighting yet -if version >= 508 || !exists("did_indent_syn_inits") - if version < 508 - let did_indent_syn_inits = 1 - command -nargs=+ HiLink hi link <args> +syn match indentNumber display '\<\d\+\>' + +syn keyword indentOptions -T nextgroup=indentIdent skipwhite + +syn match indentIdent display '\<\h\w*\>' + +if exists("indent_is_bsd") + syn keyword indentOptions -ip -nip -dj -ndj -ei -nei +endif + +if exists("c_minlines") + let b:c_minlines = c_minlines +else + if !exists("c_no_if0") + let b:c_minlines = 50 " #if 0 constructs can be long else - command -nargs=+ HiLink hi def link <args> + let b:c_minlines = 15 " mostly for () constructs endif +endif - HiLink indentError Error - HiLink indentComment Comment - HiLink indentTodo Todo - HiLink indentOptions Keyword - delcommand HiLink -endif +hi def link indentError Error +hi def link indentComment Comment +hi def link indentTodo Todo +hi def link indentOptions Keyword +hi def link indentNumber Number +hi def link indentIdent Identifier let b:current_syntax = "indent" -" vim: set sts=2 sw=2: +let &cpo = s:cpo_save +unlet s:cpo_save
--- a/runtime/syntax/ld.vim +++ b/runtime/syntax/ld.vim @@ -1,7 +1,7 @@ " Vim syntax file " Language: ld(1) script " Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> -" Latest Revision: 2005-06-28 +" Latest Revision: 2005-06-29 if exists("b:current_syntax") finish @@ -16,7 +16,7 @@ syn region ldComment start='/\*' syn region ldFileName start=+"+ end=+"+ -syn keyword ldPreProc SECTIONS MEMORY OVERLAY PHDRS VERSION +syn keyword ldPreProc SECTIONS MEMORY OVERLAY PHDRS VERSION INCLUDE syn match ldPreProc '\<VERS_\d\+\.\d\+' syn keyword ldFunction ABSOLUTE ADDR ALIGN BLOCK DATA_SEGMENT_ALIGN @@ -24,7 +24,7 @@ syn keyword ldFunction ABSOLUTE ADD \ LOADADDR MAX MIN NEXT SIZEOF SIZEOF_HEADERS \ sizeof_headers -syn keyword ldKeyword ENTRY INCLUDE INPUT GROUP OUTPUT +syn keyword ldKeyword ENTRY INPUT GROUP OUTPUT \ SEARCH_DIR STARTUP OUTPUT_FORMAT TARGET \ ASSERT EXTERN FORCE_COMMON_ALLOCATION \ INHIBIT_COMMON_ALLOCATION NOCROSSREFS OUTPUT_ARCH
--- a/runtime/syntax/lftp.vim +++ b/runtime/syntax/lftp.vim @@ -1,184 +1,152 @@ " Vim syntax file -" Language: lftp(1) configuration file -" Maintainer: Nikolai Weibull <source@pcppopper.org> -" URL: http://www.pcppopper.org/vim/syntax/pcp/lftp/ -" Latest Revision: 2004-05-22 -" arch-tag: f2537c49-5d64-42b8-beb4-13a09dd723d2 +" Language: lftp(1) configuration file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-27 -if version < 600 - syntax clear -elseif exists("b:current_syntax") +if exists("b:current_syntax") finish endif -" Set iskeyword since we need `-' (and potentially others) in keywords. -" For version 5.x: Set it globally -" For version 6.x: Set it locally -if version >= 600 - command -nargs=1 SetIsk setlocal iskeyword=<args> -else - command -nargs=1 SetIsk set iskeyword=<args> -endif -SetIsk 48-57,97-122,- -delcommand SetIsk +let s:cpo_save = &cpo +set cpo&vim + +setlocal iskeyword=@,48-57,- -" comments -syn region lftpComment display oneline matchgroup=lftpComment start="#" end="$" contains=lftpTodo +syn region lftpComment display oneline matchgroup=lftpComment + \ start='#' end='$' contains=lftpTodo,@Spell + +syn keyword lftpTodo contained TODO FIXME XXX NOTE + +syn region lftpString contained display + \ start=+"+ skip=+\\$\|\\"+ end=+"+ end=+$+ -" todo -syn keyword lftpTodo contained TODO FIXME XXX NOTE +syn match lftpNumber contained display '\<\d\+\(\.\d\+\)\=\>' -" strings -syn region lftpString contained display start=+"+ skip=+\\$\|\\"+ end=+"+ end=+$+ +syn keyword lftpBoolean contained yes no on off true false + +syn keyword lftpInterval contained infinity inf never forever +syn match lftpInterval contained '\<\(\d\+\(\.\d\+\)\=[dhms]\)\+\>' -" numbers -syn match lftpNumber contained display "\<\d\+\(\.\d\+\)\=\>" - -" booleans and other things -syn keyword lftpBoolean contained yes no on off true false - -" intervals -syn keyword lftpInterval contained infinity inf never forever -syn match lftpInterval contained "\<\(\d\+\(\.\d\+\)\=[dhms]\)\+\>" +syn keyword lftpKeywords alias anon at bookmark cache cat cd chmod close + \ cls command debug du echo exit fg find get + \ get1 glob help history jobs kill lcd lftp + \ lpwd ls mget mirror mkdir module more mput + \ mrm mv nlist open pget put pwd queue quote + \ reget recls rels renlist repeat reput rm + \ rmdir scache site source suspend user version + \ wait zcat zmore -" commands -syn keyword lftpKeywords alias anon at bookmark cache cat cd chmod close -syn keyword lftpKeywords cls command debug du echo exit fg find get get1 -syn keyword lftpKeywords glob help history jobs kill lcd lftp lpwd ls -syn keyword lftpKeywords mget mirror mkdir module -syn keyword lftpKeywords more mput mrm mv nlist open pget put pwd queue -syn keyword lftpKeywords quote reget recls rels renlist repeat -syn keyword lftpKeywords reput rm rmdir scache site source suspend user -syn keyword lftpKeywords version wait zcat zmore - -" settings -syn region lftpSet matchgroup=lftpKeywords start="set" end=";" end="$" contains=lftpString,lftpNumber,lftpBoolean,lftpInterval,lftpSettingsPrefix,lftpSettings -syn match lftpSettingsPrefix contained '\<\%(bmk\|cache\|cmd\|color\|dns\):' -syn match lftpSettingsPrefix contained '\<\%(file\|fish\|ftp\|hftp\):' -syn match lftpSettingsPrefix contained '\<\%(http\|https\|mirror\|module\):' -syn match lftpSettingsPrefix contained '\<\%(net\|sftp\|ssl\|xfer\):' +syn region lftpSet matchgroup=lftpKeywords + \ start="set" end=";" end="$" + \ contains=lftpString,lftpNumber,lftpBoolean, + \ lftpInterval,lftpSettingsPrefix,lftpSettings +syn match lftpSettingsPrefix contained '\<\%(bmk\|cache\|cmd\|color\|dns\):' +syn match lftpSettingsPrefix contained '\<\%(file\|fish\|ftp\|hftp\):' +syn match lftpSettingsPrefix contained '\<\%(http\|https\|mirror\|module\):' +syn match lftpSettingsPrefix contained '\<\%(net\|sftp\|ssl\|xfer\):' " bmk: -syn keyword lftpSettings contained save-p[asswords] +syn keyword lftpSettings contained save-p[asswords] " cache: -syn keyword lftpSettings contained cache-em[pty-listings] en[able] -syn keyword lftpSettings contained exp[ire] siz[e] +syn keyword lftpSettings contained cache-em[pty-listings] en[able] + \ exp[ire] siz[e] " cmd: -syn keyword lftpSettings contained at[-exit] cls-c[ompletion-default] -syn keyword lftpSettings contained cls-d[efault] cs[h-history] -syn keyword lftpSettings contained default-p[rotocol] default-t[itle] -syn keyword lftpSettings contained fai[l-exit] in[teractive] -syn keyword lftpSettings contained lo[ng-running] ls[-default] -syn keyword lftpSettings contained mo[ve-background] prom[pt] -syn keyword lftpSettings contained rem[ote-completion] -syn keyword lftpSettings contained save-c[wd-history] save-r[l-history] -syn keyword lftpSettings contained set-t[erm-status] statu[s-interval] -syn keyword lftpSettings contained te[rm-status] verb[ose] verify-h[ost] -syn keyword lftpSettings contained verify-path verify-path[-cached] +syn keyword lftpSettings contained at[-exit] cls-c[ompletion-default] + \ cls-d[efault] cs[h-history] + \ default-p[rotocol] default-t[itle] +syn keyword lftpSettings contained fai[l-exit] in[teractive] + \ lo[ng-running] ls[-default] mo[ve-background] + \ prom[pt] + \ rem[ote-completion] + \ save-c[wd-history] save-r[l-history] + \ set-t[erm-status] statu[s-interval] + \ te[rm-status] verb[ose] verify-h[ost] + \ verify-path verify-path[-cached] " color: -syn keyword lftpSettings contained dir[-colors] use-c[olor] +syn keyword lftpSettings contained dir[-colors] use-c[olor] " dns: -syn keyword lftpSettings contained S[RV-query] cache-en[able] -syn keyword lftpSettings contained cache-ex[pire] cache-s[ize] -syn keyword lftpSettings contained fat[al-timeout] o[rder] use-fo[rk] +syn keyword lftpSettings contained S[RV-query] cache-en[able] + \ cache-ex[pire] cache-s[ize] + \ fat[al-timeout] o[rder] use-fo[rk] " file: -syn keyword lftpSettings contained ch[arset] +syn keyword lftpSettings contained ch[arset] " fish: -syn keyword lftpSettings contained connect[-program] sh[ell] +syn keyword lftpSettings contained connect[-program] sh[ell] " ftp: -syn keyword lftpSettings contained acct anon-p[ass] anon-u[ser] -syn keyword lftpSettings contained au[to-sync-mode] b[ind-data-socket] -syn keyword lftpSettings contained ch[arset] cli[ent] dev[ice-prefix] -syn keyword lftpSettings contained fi[x-pasv-address] fxp-f[orce] -syn keyword lftpSettings contained fxp-p[assive-source] h[ome] la[ng] -syn keyword lftpSettings contained list-e[mpty-ok] list-o[ptions] -syn keyword lftpSettings contained nop[-interval] pas[sive-mode] -syn keyword lftpSettings contained port-i[pv4] port-r[ange] prox[y] -syn keyword lftpSettings contained rest-l[ist] rest-s[tor] -syn keyword lftpSettings contained retry-530 retry-530[-anonymous] -syn keyword lftpSettings contained sit[e-group] skey-a[llow] -syn keyword lftpSettings contained skey-f[orce] ssl-allow -syn keyword lftpSettings contained ssl-allow[-anonymous] ssl-au[th] -syn keyword lftpSettings contained ssl-f[orce] ssl-protect-d[ata] -syn keyword lftpSettings contained ssl-protect-l[ist] stat-[interval] -syn keyword lftpSettings contained sy[nc-mode] timez[one] use-a[bor] -syn keyword lftpSettings contained use-fe[at] use-fx[p] use-hf[tp] -syn keyword lftpSettings contained use-mdtm use-mdtm[-overloaded] -syn keyword lftpSettings contained use-ml[sd] use-p[ret] use-q[uit] -syn keyword lftpSettings contained use-site-c[hmod] use-site-i[dle] -syn keyword lftpSettings contained use-site-u[time] use-siz[e] -syn keyword lftpSettings contained use-st[at] use-te[lnet-iac] -syn keyword lftpSettings contained verify-a[ddress] verify-p[ort] -syn keyword lftpSettings contained w[eb-mode] +syn keyword lftpSettings contained acct anon-p[ass] anon-u[ser] + \ au[to-sync-mode] b[ind-data-socket] + \ ch[arset] cli[ent] dev[ice-prefix] + \ fi[x-pasv-address] fxp-f[orce] + \ fxp-p[assive-source] h[ome] la[ng] + \ list-e[mpty-ok] list-o[ptions] + \ nop[-interval] pas[sive-mode] + \ port-i[pv4] port-r[ange] prox[y] + \ rest-l[ist] rest-s[tor] + \ retry-530 retry-530[-anonymous] + \ sit[e-group] skey-a[llow] + \ skey-f[orce] ssl-allow + \ ssl-allow[-anonymous] ssl-au[th] + \ ssl-f[orce] ssl-protect-d[ata] + \ ssl-protect-l[ist] stat-[interval] + \ sy[nc-mode] timez[one] use-a[bor] + \ use-fe[at] use-fx[p] use-hf[tp] + \ use-mdtm use-mdtm[-overloaded] + \ use-ml[sd] use-p[ret] use-q[uit] + \ use-site-c[hmod] use-site-i[dle] + \ use-site-u[time] use-siz[e] + \ use-st[at] use-te[lnet-iac] + \ verify-a[ddress] verify-p[ort] + \ w[eb-mode] " hftp: -syn keyword lftpSettings contained w[eb-mode] cache prox[y] -syn keyword lftpSettings contained use-au[thorization] use-he[ad] -syn keyword lftpSettings contained use-ty[pe] +syn keyword lftpSettings contained w[eb-mode] cache prox[y] + \ use-au[thorization] use-he[ad] use-ty[pe] " http: -syn keyword lftpSettings contained accept accept-c[harset] -syn keyword lftpSettings contained accept-l[anguage] cache coo[kie] -syn keyword lftpSettings contained pos[t-content-type] prox[y] -syn keyword lftpSettings contained put-c[ontent-type] put-m[ethod] -syn keyword lftpSettings contained ref[erer] set-c[ookies] user[-agent] +syn keyword lftpSettings contained accept accept-c[harset] + \ accept-l[anguage] cache coo[kie] + \ pos[t-content-type] prox[y] + \ put-c[ontent-type] put-m[ethod] ref[erer] + \ set-c[ookies] user[-agent] " https: -syn keyword lftpSettings contained prox[y] +syn keyword lftpSettings contained prox[y] " mirror: -syn keyword lftpSettings contained exc[lude-regex] o[rder] -syn keyword lftpSettings contained parallel-d[irectories] -syn keyword lftpSettings contained parallel-t[ransfer-count] -syn keyword lftpSettings contained use-p[get-n] +syn keyword lftpSettings contained exc[lude-regex] o[rder] + \ parallel-d[irectories] + \ parallel-t[ransfer-count] use-p[get-n] " module: -syn keyword lftpSettings contained pat[h] +syn keyword lftpSettings contained pat[h] " net: -syn keyword lftpSettings contained connection-l[imit] -syn keyword lftpSettings contained connection-t[akeover] -syn keyword lftpSettings contained id[le] limit-m[ax] limit-r[ate] -syn keyword lftpSettings contained limit-total-m[ax] limit-total-r[ate] -syn keyword lftpSettings contained max-ret[ries] no-[proxy] -syn keyword lftpSettings contained pe[rsist-retries] -syn keyword lftpSettings contained reconnect-interval-b[ase] -syn keyword lftpSettings contained reconnect-interval-ma[x] -syn keyword lftpSettings contained reconnect-interval-mu[ltiplier] -syn keyword lftpSettings contained socket-bind-ipv4 socket-bind-ipv6 -syn keyword lftpSettings contained socket-bu[ffer] socket-m[axseg] -syn keyword lftpSettings contained timeo[ut] +syn keyword lftpSettings contained connection-l[imit] + \ connection-t[akeover] id[le] limit-m[ax] + \ limit-r[ate] limit-total-m[ax] + \ limit-total-r[ate] max-ret[ries] no-[proxy] + \ pe[rsist-retries] reconnect-interval-b[ase] + \ reconnect-interval-ma[x] + \ reconnect-interval-mu[ltiplier] + \ socket-bind-ipv4 socket-bind-ipv6 + \ socket-bu[ffer] socket-m[axseg] timeo[ut] " sftp: -syn keyword lftpSettings contained connect[-program] -syn keyword lftpSettings contained max-p[ackets-in-flight] -syn keyword lftpSettings contained prot[ocol-version] ser[ver-program] -syn keyword lftpSettings contained size-r[ead] size-w[rite] +syn keyword lftpSettings contained connect[-program] + \ max-p[ackets-in-flight] prot[ocol-version] + \ ser[ver-program] size-r[ead] size-w[rite] " ssl: -syn keyword lftpSettings contained ca-f[ile] ca-p[ath] ce[rt-file] -syn keyword lftpSettings contained crl-f[ile] crl-p[ath] k[ey-file] -syn keyword lftpSettings contained verify-c[ertificate] +syn keyword lftpSettings contained ca-f[ile] ca-p[ath] ce[rt-file] + \ crl-f[ile] crl-p[ath] k[ey-file] + \ verify-c[ertificate] " xfer: -syn keyword lftpSettings contained clo[bber] dis[k-full-fatal] -syn keyword lftpSettings contained eta-p[eriod] eta-t[erse] -syn keyword lftpSettings contained mak[e-backup] max-red[irections] -syn keyword lftpSettings contained ra[te-period] +syn keyword lftpSettings contained clo[bber] dis[k-full-fatal] + \ eta-p[eriod] eta-t[erse] mak[e-backup] + \ max-red[irections] ra[te-period] -" Define the default highlighting. -" For version 5.7 and earlier: only when not done already -" For version 5.8 and later: only when an item doesn't have highlighting yet -if version >= 508 || !exists("did_lftp_syn_inits") - if version < 508 - let did_lftp_syn_inits = 1 - command -nargs=+ HiLink hi link <args> - else - command -nargs=+ HiLink hi def link <args> - endif - - HiLink lftpComment Comment - HiLink lftpTodo Todo - HiLink lftpString String - HiLink lftpNumber Number - HiLink lftpBoolean Boolean - HiLink lftpInterval Number - HiLink lftpKeywords Keyword - HiLink lftpSettingsPrefix PreProc - HiLink lftpSettings Type - delcommand HiLink -endif +hi def link lftpComment Comment +hi def link lftpTodo Todo +hi def link lftpString String +hi def link lftpNumber Number +hi def link lftpBoolean Boolean +hi def link lftpInterval Number +hi def link lftpKeywords Keyword +hi def link lftpSettingsPrefix PreProc +hi def link lftpSettings Type let b:current_syntax = "lftp" -" vim: set sts=2 sw=2: +let &cpo = s:cpo_save +unlet s:cpo_save
--- a/runtime/syntax/libao.vim +++ b/runtime/syntax/libao.vim @@ -1,46 +1,27 @@ " Vim syntax file -" Language: libao configuration file -" Maintainer: Nikolai Weibull <source@pcppopper.org> -" URL: http://www.pcppopper.org/vim/syntax/pcp/libao/ -" Latest Revision: 2004-05-22 -" arch-tag: 4ddef0a8-6817-4555-a5a1-0be82094053d +" Language: libao.conf(5) configuration file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 -if version < 600 - syntax clear -elseif exists("b:current_syntax") +if exists("b:current_syntax") finish endif -" Todo -syn keyword libaoTodo contained TODO FIXME XXX NOTE +let s:cpo_save = &cpo +set cpo&vim -" Comments -syn region libaoComment matchgroup=libaoComment start='^\s*#' end='$' contains=libaoTodo - -" Keywords -syn keyword libaoKeyword default_driver +syn keyword libaoTodo contained TODO FIXME XXX NOTE -" Define the default highlighting. -" For version 5.7 and earlier: only when not done already -" For version 5.8 and later: only when an item doesn't have highlighting yet -if version >= 508 || !exists("did_libao_syn_inits") - if version < 508 - let did_libao_syn_inits = 1 - command -nargs=+ HiLink hi link <args> - command -nargs=+ HiDef hi <args> - else - command -nargs=+ HiLink hi def link <args> - command -nargs=+ HiDef hi def <args> - endif +syn region libaoComment matchgroup=libaoComment start='^\s*#' end='$' + \ contains=libaoTodo,@Spell - HiLink libaoTodo Todo - HiLink libaoComment Comment - HiLink libaoKeyword Keyword +syn keyword libaoKeyword default_driver - delcommand HiLink - delcommand HiDef -endif +hi def link libaoTodo Todo +hi def link libaoComment Comment +hi def link libaoKeyword Keyword let b:current_syntax = "libao" -" vim: set sts=2 sw=2: +let &cpo = s:cpo_save +unlet s:cpo_save
new file mode 100644 --- /dev/null +++ b/runtime/syntax/limits.vim @@ -0,0 +1,44 @@ +" Vim syntax file +" Language: limits(5) configuration file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 + +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&vim + +syn keyword limitsTodo contained TODO FIXME XXX NOTE + +syn region limitsComment display oneline start='^\s*#' end='$' + \ contains=limitsTodo,@Spell + +syn match limitsBegin display '^' + \ nextgroup=limitsUser,limitsDefault,limitsComment + \ skipwhite + +syn match limitsUser contained '[^ \t#*]\+' + \ nextgroup=limitsLimit,limitsDeLimit skipwhite + +syn match limitsDefault contained '*' + \ nextgroup=limitsLimit,limitsDeLimit skipwhite + +syn match limitsLimit contained '[ACDFMNRSTUKLP]' nextgroup=limitsNumber +syn match limitsDeLimit contained '-' + +syn match limitsNumber contained '\d\+\>' nextgroup=limitsLimit skipwhite + +hi def link limitsTodo Todo +hi def link limitsComment Comment +hi def link limitsUser Keyword +hi def link limitsDefault Macro +hi def link limitsLimit Identifier +hi def link limitsDeLimit Special +hi def link limitsNumber Number + +let b:current_syntax = "limits" + +let &cpo = s:cpo_save +unlet s:cpo_save
new file mode 100644 --- /dev/null +++ b/runtime/syntax/loginaccess.vim @@ -0,0 +1,96 @@ +" Vim syntax file +" Language: login.access(5) configuration file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 + +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&vim + +syn keyword loginaccessTodo contained TODO FIXME XXX NOTE + +syn region loginaccessComment display oneline start='^#' end='$' + \ contains=loginaccessTodo,@Spell + +syn match loginaccessBegin display '^' + \ nextgroup=loginaccessPermission, + \ loginaccessComment skipwhite + +syn match loginaccessPermission contained display '[^#]' + \ contains=loginaccessPermError + \ nextgroup=loginaccessUserSep + +syn match loginaccessPermError contained display '[^+-]' + +syn match loginaccessUserSep contained display ':' + \ nextgroup=loginaccessUsers, + \ loginaccessAllUsers, + \ loginaccessExceptUsers + +syn match loginaccessUsers contained display '[^, \t:]\+' + \ nextgroup=loginaccessUserIntSep, + \ loginaccessOriginSep + +syn match loginaccessAllUsers contained display '\<ALL\>' + \ nextgroup=loginaccessUserIntSep, + \ loginaccessOriginSep + +syn match loginaccessLocalUsers contained display '\<LOCAL\>' + \ nextgroup=loginaccessUserIntSep, + \ loginaccessOriginSep + +syn match loginaccessExceptUsers contained display '\<EXCEPT\>' + \ nextgroup=loginaccessUserIntSep, + \ loginaccessOriginSep + +syn match loginaccessUserIntSep contained display '[, \t]' + \ nextgroup=loginaccessUsers, + \ loginaccessAllUsers, + \ loginaccessExceptUsers + +syn match loginaccessOriginSep contained display ':' + \ nextgroup=loginaccessOrigins, + \ loginaccessAllOrigins, + \ loginaccessExceptOrigins + +syn match loginaccessOrigins contained display '[^, \t]\+' + \ nextgroup=loginaccessOriginIntSep + +syn match loginaccessAllOrigins contained display '\<ALL\>' + \ nextgroup=loginaccessOriginIntSep + +syn match loginaccessLocalOrigins contained display '\<LOCAL\>' + \ nextgroup=loginaccessOriginIntSep + +syn match loginaccessExceptOrigins contained display '\<EXCEPT\>' + \ nextgroup=loginaccessOriginIntSep + +syn match loginaccessOriginIntSep contained display '[, \t]' + \ nextgroup=loginaccessOrigins, + \ loginaccessAllOrigins, + \ loginaccessExceptOrigins + +hi def link loginaccessTodo Todo +hi def link loginaccessComment Comment +hi def link loginaccessPermission Type +hi def link loginaccessPermError Error +hi def link loginaccessUserSep Delimiter +hi def link loginaccessUsers Identifier +hi def link loginaccessAllUsers Macro +hi def link loginaccessLocalUsers Macro +hi def link loginaccessExceptUsers Operator +hi def link loginaccessUserIntSep loginaccessUserSep +hi def link loginaccessOriginSep loginaccessUserSep +hi def link loginaccessOrigins Identifier +hi def link loginaccessAllOrigins Macro +hi def link loginaccessLocalOrigins Macro +hi def link loginaccessExceptOrigins loginaccessExceptUsers +hi def link loginaccessOriginIntSep loginaccessUserSep + +let b:current_syntax = "loginaccess" + +let &cpo = s:cpo_save +unlet s:cpo_save
new file mode 100644 --- /dev/null +++ b/runtime/syntax/logindefs.vim @@ -0,0 +1,94 @@ +" Vim syntax file +" Language: login.defs(5) configuration file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 + +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&vim + +syn keyword logindefsTodo contained TODO FIXME XXX NOTE + +syn region logindefsComment display oneline start='^\s*#' end='$' + \ contains=logindefsTodo,@Spell + +syn match logindefsString contained '[[:graph:]]\+' + +syn match logindefsPath contained '[[:graph:]]\+' + +syn match logindefsPaths contained '[[:graph:]]\+' + \ nextgroup=logindefsPathDelim + +syn match logindefsPathDelim contained ':' nextgroup=logindefsPaths + +syn keyword logindefsBoolean contained yes no + +syn match logindefsDecimal contained '\<\d\+\>' + +syn match logindefsOctal contained display '\<0\o\+\>' + \ contains=logindefsOctalZero +syn match logindefsOctalZero contained display '\<0' +syn match logindefsOctalError contained display '\<0\o*[89]\d*\>' + +syn match logindefsHex contained display '\<0x\x\+\>' + +syn cluster logindefsNumber contains=logindefsDecimal,logindefsOctal, + \ logindefsOctalError,logindefsHex + +syn match logindefsBegin display '^' + \ nextgroup=logindefsKeyword,logindefsComment + \ skipwhite + +syn keyword logindefsKeyword contained CHFN_AUTH CLOSE_SESSIONS CREATE_HOME + \ DEFAULT_HOME FAILLOG_ENAB LASTLOG_ENAB + \ LOG_OK_LOGINS LOG_UNKFAIL_ENAB MAIL_CHECK_ENAB + \ MD5_CRYPT_ENAB OBSCURE_CHECKS_ENAB + \ PASS_ALWAYS_WARN PORTTIME_CHECKS_ENAB + \ QUOTAS_ENAB SU_WHEEL_ONLY SYSLOG_SG_ENAB + \ SYSLOG_SU_ENAB USERGROUPS_ENAB + \ nextgroup=logindefsBoolean skipwhite + +syn keyword logindefsKeyword contained CHFN_RESTRICT CONSOLE CONSOLE_GROUPS + \ ENV_TZ ENV_HZ FAKE_SHELL SU_NAME LOGIN_STRING + \ NOLOGIN_STR TTYGROUP USERDEL_CMD + \ nextgroup=logindefsString skipwhite + +syn keyword logindefsKeyword contained ENVIRON_FILE FTMP_FILE HUSHLOGIN_FILE + \ ISSUE_FILE MAIL_DIR MAIL_FILE NOLOGINS_FILE + \ NOLOGINS_FILE TTYTYPE_FILE QMAIL_DIR + \ SULOG_FILE + \ nextgroup=logindefsPath skipwhite + +syn keyword logindefsKeyword contained CRACKLIB_DICTPATH ENV_PATH + \ ENV_ROOTPATH ENV_SUPATH MOTD_FILE + \ nextgroup=logindefsPaths skipwhite + +syn keyword logindefsKeyword contained ERASECHAR FAIL_DELAY GETPASS_ASTERISKS + \ GID_MAX GID_MIN KILLCHAR LOGIN_RETRIES + \ LOGIN_TIMEOUT PASS_CHANGE_TRIES PASS_MAX_DAYS + \ PASS_MAX_LEN PASS_MIN_DAYS PASS_MIN_LEN + \ PASS_WARN_AGE TTYPERM UID_MAX UID_MIN ULIMIT + \ UMASK + \ nextgroup=@logindefsNumber skipwhite + +hi def link logindefsTodo Todo +hi def link logindefsComment Comment +hi def link logindefsString String +hi def link logindefsPath String +hi def link logindefsPaths logindefsPath +hi def link logindefsPathDelim Delimiter +hi def link logindefsBoolean Boolean +hi def link logindefsDecimal Number +hi def link logindefsOctal Number +hi def link logindefsOctalZero PreProc +hi def link logindefsOctalError Error +hi def link logindefsHex Number +hi def link logindefsKeyword Keyword + +let b:current_syntax = "logindefs" + +let &cpo = s:cpo_save +unlet s:cpo_save
--- a/runtime/syntax/modconf.vim +++ b/runtime/syntax/modconf.vim @@ -1,66 +1,44 @@ " Vim syntax file -" Language: Linux modutils modules.conf File -" Maintainer: Nikolai Weibull <source@pcppopper.org> -" URL: http://www.pcppopper.org/vim/syntax/pcp/modconf/ -" Latest Revision: 2004-05-22 -" arch-tag: b7981bdb-daa3-41d1-94b5-a3d60b627916 +" Language: modules.conf(5) configuration file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 -if version < 600 - syntax clear -elseif exists("b:current_syntax") +if exists("b:current_syntax") finish endif -" comments -syn region modconfComment start="#" skip="\\$" end="$" contains=modconfTodo +setlocal iskeyword=@,48-57,- -" todo -syn keyword modconfTodo FIXME TODO XXX NOTE - -" keywords and similar -syn match modconfBegin "^" skipwhite nextgroup=modconfCommand,modconfComment +let s:cpo_save = &cpo +set cpo&vim -syn match modconfCommand "\(add\s\+\)\=(above\|below\|probe\|probeall\}" -syn region modconfCommand transparent matchgroup=modconfCommand start="\(add\s\+\)\=options" skip="\\$" end="$" contains=modconfModOpt -syn keyword modconfCommand define remove keep install insmod_opt else endif -syn keyword modconfCommand nextgroup=modconfPath skipwhite alias depfile generic_stringfile pcimapfile include isapnpmapfile usbmapfile parportmapfile ieee1394mapfile pnpbiosmapfile persistdir prune -syn match modconfCommand "path\(\[\w\+\]\)\=" nextgroup=modconfPath skipwhite -syn region modconfCommand transparent matchgroup=modconfCommand start="^\s*\(if\|elseif\)" skip="\\$" end="$" contains=modconfOp -syn region modconfCommand transparent matchgroup=modconfCommand start="^\s*\(post\|pre\)-\(install\|remove\)" skip="\\$" end="$" +syn keyword modconfTodo FIXME TODO XXX NOTE +syn region modconfComment start='#' skip='\\$' end='$' + \ contains=modconfTodo,@Spell -" expressions and similay -syn match modconfOp contained "\s-[fnk]\>" -syn region modconfPath contained start="\(=\@=\)\=/" skip="\\$" end="\\\@!\_s" -syn match modconfModOpt contained "\<\w\+=\@=" +syn keyword modconfConditional if else elseif endif -if exists("modconf_minlines") - let b:modconf_minlines = modconf_minlines -else - let b:modconf_minlines = 50 -endif -exec "syn sync minlines=" . b:modconf_minlines +syn keyword modconfPreProc alias define include keep prune + \ post-install post-remove pre-install + \ pre-remove persistdir + +syn keyword modconfKeyword add above below install options probe probeall + \ remove -" Define the default highlighting. -" For version 5.7 and earlier: only when not done already -" For version 5.8 and later: only when an item doesn't have highlighting yet -if version >= 508 || !exists("did_modconf_syn_inits") - if version < 508 - let did_modconf_syn_inits = 1 - command -nargs=+ HiLink hi link <args> - else - command -nargs=+ HiLink hi def link <args> - endif +syn keyword modconfIdentifier depfile insmod_opt path generic_stringfile + \ pcimapfile isapnpmapfile usbmapfile + \ parportmapfile ieee1394mapfile pnpbiosmapfile +syn match modconfIdentifier 'path\[[^]]\+\]' - HiLink modconfComment Comment - HiLink modconfTodo Todo - HiLink modconfCommand Keyword - HiLink modconfPath String - HiLink modconfOp Identifier - HiLink modconfModOpt Identifier - delcommand HiLink -endif +hi def link modconfTodo Todo +hi def link modconfComment Comment +hi def link modconfConditional Conditional +hi def link modconfPreProc PreProc +hi def link modconfKeyword Keyword +hi def link modconfIdentifier Identifier let b:current_syntax = "modconf" -" vim: set sts=2 sw=2: +let &cpo = s:cpo_save +unlet s:cpo_save
--- a/runtime/syntax/mplayerconf.vim +++ b/runtime/syntax/mplayerconf.vim @@ -1,111 +1,84 @@ " Vim syntax file -" Language: mplayer(1) configuration file -" Maintainer: Nikolai Weibull <source@pcppopper.org> -" URL: http://www.pcppopper.org/vim/syntax/pcp/mplayerconf/ -" Latest Revision: 2004-05-22 -" arch-tag: c20b9381-5858-4452-b866-54e2e1891229 +" Language: mplayer(1) configuration file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-27 -if version < 600 - syntax clear -elseif exists("b:current_syntax") +if exists("b:current_syntax") finish endif -" Set iskeyword since we need `-' (and potentially others) in keywords. -" For version 5.x: Set it globally -" For version 6.x: Set it locally -if version >= 600 - command -nargs=1 SetIsk setlocal iskeyword=<args> -else - command -nargs=1 SetIsk set iskeyword=<args> -endif -SetIsk @,48-57,- -delcommand SetIsk +let s:cpo_save = &cpo +set cpo&vim + +setlocal iskeyword=@,48-57,- -" Todo -syn keyword mplayerconfTodo contained TODO FIXME XXX NOTE +syn keyword mplayerconfTodo contained TODO FIXME XXX NOTE -" Comments -syn region mplayerconfComment display matchgroup=mplayerconfComment start='#' end='$' contains=mplayerconfTodo +syn region mplayerconfComment display matchgroup=mplayerconfComment + \ start='#' end='$' + \ contains=mplayerconfTodo,@Spell -" PreProc syn keyword mplayerconfPreProc include -" Booleans syn keyword mplayerconfBoolean yes no -" Numbers syn match mplayerconfNumber '\<\d\+\>' -" Options -syn keyword mplayerconfOption hardframedrop nomouseinput bandwidth dumpstream -syn keyword mplayerconfOption rtsp-stream-over-tcp tv overlapsub sub-bg-alpha -syn keyword mplayerconfOption subfont-outline unicode format vo edl cookies -syn keyword mplayerconfOption fps zrfd af-adv nosound audio-density -syn keyword mplayerconfOption passlogfile vobsuboutindex -syn keyword mplayerconfOption autoq autosync benchmark colorkey nocolorkey -syn keyword mplayerconfOption edlout enqueue fixed-vo framedrop h -syn keyword mplayerconfOption identify input lircconf list-options loop menu -syn keyword mplayerconfOption menu-cfg menu-root nojoystick nolirc -syn keyword mplayerconfOption nortc playlist quiet really-quiet shuffle skin -syn keyword mplayerconfOption slave softsleep speed sstep use-stdin aid alang -syn keyword mplayerconfOption audio-demuxer audiofile audiofile-cache -syn keyword mplayerconfOption cdrom-device cache cdda channels chapter -syn keyword mplayerconfOption cookies-file demuxer dumpaudio dumpfile -syn keyword mplayerconfOption dumpvideo dvbin dvd-device dvdangle forceidx -syn keyword mplayerconfOption frames hr-mp3-seek idx ipv4-only-proxy loadidx -syn keyword mplayerconfOption mc mf ni nobps noextbased passwd prefer-ipv4 -syn keyword mplayerconfOption prefer-ipv6 rawaudio rawvideo -syn keyword mplayerconfOption saveidx sb srate ss tskeepbroken tsprog tsprobe -syn keyword mplayerconfOption user user-agent vid vivo dumpjacosub -syn keyword mplayerconfOption dumpmicrodvdsub dumpmpsub dumpsami dumpsrtsub -syn keyword mplayerconfOption dumpsub ffactor flip-hebrew font forcedsubsonly -syn keyword mplayerconfOption fribidi-charset ifo noautosub osdlevel -syn keyword mplayerconfOption sid slang spuaa spualign spugauss sub -syn keyword mplayerconfOption sub-bg-color sub-demuxer sub-fuzziness -syn keyword mplayerconfOption sub-no-text-pp subalign subcc subcp subdelay -syn keyword mplayerconfOption subfile subfont-autoscale subfont-blur -syn keyword mplayerconfOption subfont-encoding subfont-osd-scale -syn keyword mplayerconfOption subfont-text-scale subfps subpos subwidth -syn keyword mplayerconfOption utf8 vobsub vobsubid abs ao aofile aop delay -syn keyword mplayerconfOption mixer nowaveheader aa bpp brightness contrast -syn keyword mplayerconfOption dfbopts display double dr dxr2 fb fbmode -syn keyword mplayerconfOption fbmodeconfig forcexv fs fsmode-dontuse fstype -syn keyword mplayerconfOption geometry guiwid hue jpeg monitor-dotclock -syn keyword mplayerconfOption monitor-hfreq monitor-vfreq monitoraspect -syn keyword mplayerconfOption nograbpointer nokeepaspect noxv ontop panscan -syn keyword mplayerconfOption rootwin saturation screenw stop-xscreensaver vm -syn keyword mplayerconfOption vsync wid xineramascreen z zrbw zrcrop zrdev -syn keyword mplayerconfOption zrhelp zrnorm zrquality zrvdec zrxdoff ac af -syn keyword mplayerconfOption afm aspect flip lavdopts noaspect noslices -syn keyword mplayerconfOption novideo oldpp pp pphelp ssf stereo sws vc vfm x -syn keyword mplayerconfOption xvidopts xy y zoom vf vop audio-delay -syn keyword mplayerconfOption audio-preload endpos ffourcc include info -syn keyword mplayerconfOption noautoexpand noskip o oac of ofps ovc -syn keyword mplayerconfOption skiplimit v vobsubout vobsuboutid -syn keyword mplayerconfOption lameopts lavcopts nuvopts xvidencopts +syn keyword mplayerconfOption hardframedrop nomouseinput bandwidth dumpstream + \ rtsp-stream-over-tcp tv overlapsub + \ sub-bg-alpha subfont-outline unicode format + \ vo edl cookies fps zrfd af-adv nosound + \ audio-density passlogfile vobsuboutindex autoq + \ autosync benchmark colorkey nocolorkey edlout + \ enqueue fixed-vo framedrop h identify input + \ lircconf list-options loop menu menu-cfg + \ menu-root nojoystick nolirc nortc playlist + \ quiet really-quiet shuffle skin slave + \ softsleep speed sstep use-stdin aid alang + \ audio-demuxer audiofile audiofile-cache + \ cdrom-device cache cdda channels chapter + \ cookies-file demuxer dumpaudio dumpfile + \ dumpvideo dvbin dvd-device dvdangle forceidx + \ frames hr-mp3-seek idx ipv4-only-proxy + \ loadidx mc mf ni nobps noextbased + \ passwd prefer-ipv4 prefer-ipv6 rawaudio + \ rawvideo saveidx sb srate ss tskeepbroken + \ tsprog tsprobe user user-agent vid vivo + \ dumpjacosub dumpmicrodvdsub dumpmpsub dumpsami + \ dumpsrtsub dumpsub ffactor flip-hebrew font + \ forcedsubsonly fribidi-charset ifo noautosub + \ osdlevel sid slang spuaa spualign spugauss + \ sub sub-bg-color sub-demuxer sub-fuzziness + \ sub-no-text-pp subalign subcc subcp subdelay + \ subfile subfont-autoscale subfont-blur + \ subfont-encoding subfont-osd-scale + \ subfont-text-scale subfps subpos subwidth + \ utf8 vobsub vobsubid abs ao aofile aop delay + \ mixer nowaveheader aa bpp brightness contrast + \ dfbopts display double dr dxr2 fb fbmode + \ fbmodeconfig forcexv fs fsmode-dontuse fstype + \ geometry guiwid hue jpeg monitor-dotclock + \ monitor-hfreq monitor-vfreq monitoraspect + \ nograbpointer nokeepaspect noxv ontop panscan + \ rootwin saturation screenw stop-xscreensaver + \ vm vsync wid xineramascreen z zrbw zrcrop + \ zrdev zrhelp zrnorm zrquality zrvdec zrxdoff + \ ac af afm aspect flip lavdopts noaspect + \ noslices novideo oldpp pp pphelp ssf stereo + \ sws vc vfm x xvidopts xy y zoom vf vop + \ audio-delay audio-preload endpos ffourcc + \ include info noautoexpand noskip o oac of + \ ofps ovc skiplimit v vobsubout vobsuboutid + \ lameopts lavcopts nuvopts xvidencopts -" Define the default highlighting. -" For version 5.7 and earlier: only when not done already -" For version 5.8 and later: only when an item doesn't have highlighting yet -if version >= 508 || !exists("did_mplayer_syn_inits") - if version < 508 - let did_mplayer_syn_inits = 1 - command -nargs=+ HiLink hi link <args> - else - command -nargs=+ HiLink hi def link <args> - endif - - HiLink mplayerconfTodo Todo - HiLink mplayerconfComment Comment - HiLink mplayerconfPreProc PreProc - HiLink mplayerconfBoolean Boolean - HiLink mplayerconfNumber Number - HiLink mplayerconfOption Keyword - - delcommand HiLink -endif +hi def link mplayerconfTodo Todo +hi def link mplayerconfComment Comment +hi def link mplayerconfPreProc PreProc +hi def link mplayerconfBoolean Boolean +hi def link mplayerconfNumber Number +hi def link mplayerconfOption Keyword let b:current_syntax = "mplayerconf" -" vim: set sts=2 sw=2: +let &cpo = s:cpo_save +unlet s:cpo_save
--- a/runtime/syntax/netrc.vim +++ b/runtime/syntax/netrc.vim @@ -1,55 +1,51 @@ " Vim syntax file -" Maintainer: Nikolai Weibull <source@pcppopper.org> -" URL: http://www.pcppopper.org/ -" Latest Revision: 2004-12-16 -" arch-tag: 4f6ecb37-d10c-4eca-add0-77991559414a +" Language: netrc(5) configuration file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-27 -if version < 600 - syntax clear -elseif exists("b:current_syntax") +if exists("b:current_syntax") finish endif -" Keywords -syn keyword netrcKeyword machine password nextgroup=netrcName skipwhite skipnl -syn keyword netrcKeyword login nextgroup=netrcName,netrcSpecial skipwhite skipnl -syn keyword netrcKeyword default -syn keyword netrcKeyword macdef nextgroup=netrcInit,netrcMacroName skipwhite skipnl -syn region netrcMacro contained start='.' end='^$' +let s:cpo_save = &cpo +set cpo&vim + +syn keyword netrcKeyword machine nextgroup=netrcMachine skipwhite skipnl +syn keyword netrcKeyword login nextgroup=netrcLogin,netrcSpecial + \ skipwhite skipnl +syn keyword netrcKeyword password nextgroup=netrcPassword skipwhite skipnl +syn keyword netrcKeyword default +syn keyword netrcKeyword macdef nextgroup=netrcInit,netrcMacroName + \ skipwhite skipnl +syn region netrcMacro contained start='.' end='^$' -" Names -syn match netrcName contained display '\S\+' -syn match netrcName contained display '"[^\\"]*\(\\.[^\\"]*\)*' -syn match netrcMacroName contained display '\S\+' nextgroup=netrcMacro skipwhite skipnl -syn match netrcMacroName contained display '"[^\\"]*\(\\.[^\\"]*\)*' nextgroup=netrcMacro skipwhite skipnl +syn match netrcMachine contained display '\S\+' +syn match netrcMachine contained display '"[^\\"]*\(\\.[^\\"]*\)*"' +syn match netrcLogin contained display '\S\+' +syn match netrcLogin contained display '"[^\\"]*\(\\.[^\\"]*\)*"' +syn match netrcPassword contained display '\S\+' +syn match netrcPassword contained display '"[^\\"]*\(\\.[^\\"]*\)*"' +syn match netrcMacroName contained display '\S\+' nextgroup=netrcMacro + \ skipwhite skipnl +syn match netrcMacroName contained display '"[^\\"]*\(\\.[^\\"]*\)*"' + \ nextgroup=netrcMacro skipwhite skipnl -" Special -syn keyword netrcSpecial contained anonymous -syn match netrcInit contained '\<init$' nextgroup=netrcMacro skipwhite skipnl +syn keyword netrcSpecial contained anonymous +syn match netrcInit contained '\<init$' nextgroup=netrcMacro + \ skipwhite skipnl syn sync fromstart -" Define the default highlighting. -" For version 5.7 and earlier: only when not done already -" For version 5.8 and later: only when an item doesn't have highlighting yet -if version >= 508 || !exists("did_netrc_syn_inits") - if version < 508 - let did_netrc_syn_inits = 1 - command -nargs=+ HiLink hi link <args> - else - command -nargs=+ HiLink hi def link <args> - endif - - HiLink netrcKeyword Keyword - HiLink netrcMacro PreProc - HiLink netrcName String - HiLink netrcMacroName String - HiLink netrcSpecial Special - HiLink netrcInit Special - - delcommand HiLink -endif +hi def link netrcKeyword Keyword +hi def link netrcMacro PreProc +hi def link netrcMachine Identifier +hi def link netrcLogin String +hi def link netrcPassword String +hi def link netrcMacroName String +hi def link netrcSpecial Special +hi def link netrcInit Special let b:current_syntax = "netrc" -" vim: set sts=2 sw=2: +let &cpo = s:cpo_save +unlet s:cpo_save
new file mode 100644 --- /dev/null +++ b/runtime/syntax/pamconf.vim @@ -0,0 +1,118 @@ +" Vim syntax file +" Language: pam(8) configuration file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 + + +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&vim + +syn match pamconfService '^[[:graph:]]\+' + \ nextgroup=pamconfType, + \ pamconfServiceLineCont skipwhite + +syn keyword pamconfTodo contained TODO FIXME XXX NOTE + +syn region pamconfComment display oneline start='#' end='$' + \ contains=pamconfTodo,@Spell + +syn match pamconfServiceLineCont contained '\\$' + \ nextgroup=pamconfType, + \ pamconfServiceLineCont skipwhite skipnl + +syn keyword pamconfType account auth password session + \ nextgroup=pamconfControl, + \ pamconfTypeLineCont skipwhite + +syn match pamconfTypeLineCont contained '\\$' + \ nextgroup=pamconfControl, + \ pamconfTypeLineCont skipwhite skipnl + +syn keyword pamconfControl contained requisite required sufficient + \ optional + \ nextgroup=pamconfMPath, + \ pamconfControlLineContH skipwhite + +syn match pamconfControlBegin '\[' nextgroup=pamconfControlValues, + \ pamconfControlLineCont skipwhite + +syn match pamconfControlLineCont contained '\\$' + \ nextgroup=pamconfControlValues, + \ pamconfControlLineCont skipwhite skipnl + +syn keyword pamconfControlValues contained success open_err symbol_err + \ service_err system_err buf_err + \ perm_denied auth_err cred_insufficient + \ authinfo_unavail user_unknown maxtries + \ new_authtok_reqd acct_expired session_err + \ cred_unavail cred_expired cred_err + \ no_module_data conv_err authtok_err + \ authtok_recover_err authtok_lock_busy + \ authtok_disable_aging try_again ignore + \ abort authtok_expired module_unknown + \ bad_item and default + \ nextgroup=pamconfControlValueEq + +syn match pamconfControlValueEq contained '=' nextgroup=pamconfControlAction + +syn match pamconfControlActionN contained '\d\+\>' + \ nextgroup=pamconfControlValues, + \ pamconfControlLineCont,pamconfControlEnd + \ skipwhite +syn keyword pamconfControlAction contained ignore bad die ok done reset + \ nextgroup=pamconfControlValues, + \ pamconfControlLineCont,pamconfControlEnd + \ skipwhite + +syn match pamconfControlEnd contained '\]' + \ nextgroup=pamconfMPath, + \ pamconfControlLineContH skipwhite + +syn match pamconfControlLineContH contained '\\$' + \ nextgroup=pamconfMPath, + \ pamconfControlLineContH skipwhite skipnl + +syn match pamconfMPath contained '\S\+' + \ nextgroup=pamconfMPathLineCont, + \ pamconfArgs skipwhite + +syn match pamconfArgs contained '\S\+' + \ nextgroup=pamconfArgsLineCont, + \ pamconfArgs skipwhite + +syn match pamconfMPathLineCont contained '\\$' + \ nextgroup=pamconfMPathLineCont, + \ pamconfArgs skipwhite skipnl + +syn match pamconfArgsLineCont contained '\\$' + \ nextgroup=pamconfArgsLineCont, + \ pamconfArgs skipwhite skipnl + +hi def link pamconfTodo Todo +hi def link pamconfComment Comment +hi def link pamconfService Statement +hi def link pamconfServiceLineCont Special +hi def link pamconfType Type +hi def link pamconfTypeLineCont pamconfServiceLineCont +hi def link pamconfControl Macro +hi def link pamconfControlBegin Delimiter +hi def link pamconfControlLineContH pamconfServiceLineCont +hi def link pamconfControlLineCont pamconfServiceLineCont +hi def link pamconfControlValues Identifier +hi def link pamconfControlValueEq Operator +hi def link pamconfControlActionN Number +hi def link pamconfControlAction Identifier +hi def link pamconfControlEnd Delimiter +hi def link pamconfMPath String +hi def link pamconfMPathLineCont pamconfServiceLineCont +hi def link pamconfArgs Normal +hi def link pamconfArgsLineCont pamconfServiceLineCont + +let b:current_syntax = "pamconf" + +let &cpo = s:cpo_save +unlet s:cpo_save
--- a/runtime/syntax/pinfo.vim +++ b/runtime/syntax/pinfo.vim @@ -1,134 +1,111 @@ " Vim syntax file -" Language: pinfo(1) configuration file -" Maintainer: Nikolai Weibull <source@pcppopper.org> -" URL: http://www.pcppopper.org/ -" Latest Revision: 2004-05-22 -" arch-tag: da2cfa1c-0350-45dc-b2d2-2bf3915bd0a2 +" Language: pinfo(1) configuration file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-28 -if version < 600 - syntax clear -elseif exists("b:current_syntax") +if exists("b:current_syntax") finish endif -" Set iskeyword since we need `-' (and potentially others) in keywords. -" For version 5.x: Set it globally -" For version 6.x: Set it locally -if version >= 600 - command -nargs=1 SetIsk setlocal iskeyword=<args> -else - command -nargs=1 SetIsk set iskeyword=<args> -endif -SetIsk @,48-57,_,- -delcommand SetIsk +let s:cpo_save = &cpo +set cpo&vim -" Ignore Case +setlocal iskeyword=@,48-57,_,- + syn case ignore -" Todo -syn keyword pinfoTodo contained FIXME TODO XXX NOTE +syn keyword pinfoTodo contained FIXME TODO XXX NOTE -" Comments -syn region pinfoComment start='^#' end='$' contains=pinfoTodo +syn region pinfoComment start='^#' end='$' contains=pinfoTodo,@Spell -" Keywords -syn keyword pinfoOptions MANUAL CUT-MAN-HEADERS CUT-EMPTY-MAN-LINES -syn keyword pinfoOptions RAW-FILENAME APROPOS DONT-HANDLE-WITHOUT-TAG-TABLE -syn keyword pinfoOptions HTTPVIEWER FTPVIEWER MAILEDITOR PRINTUTILITY -syn keyword pinfoOptions MANLINKS INFOPATH MAN-OPTIONS STDERR-REDIRECTION -syn keyword pinfoOptions LONG-MANUAL-LINKS FILTER-0xB7 QUIT-CONFIRMATION -syn keyword pinfoOptions QUIT-CONFIRM-DEFAULT CLEAR-SCREEN-AT-EXIT -syn keyword pinfoOptions CALL-READLINE-HISTORY HIGHLIGHTREGEXP SAFE-USER -syn keyword pinfoOptions SAFE-GROUP +syn keyword pinfoOptions MANUAL CUT-MAN-HEADERS CUT-EMPTY-MAN-LINES + \ RAW-FILENAME APROPOS + \ DONT-HANDLE-WITHOUT-TAG-TABLE HTTPVIEWER + \ FTPVIEWER MAILEDITOR PRINTUTILITY MANLINKS + \ INFOPATH MAN-OPTIONS STDERR-REDIRECTION + \ LONG-MANUAL-LINKS FILTER-0xB7 + \ QUIT-CONFIRMATION QUIT-CONFIRM-DEFAULT + \ CLEAR-SCREEN-AT-EXIT CALL-READLINE-HISTORY + \ HIGHLIGHTREGEXP SAFE-USER SAFE-GROUP -" Colors -syn keyword pinfoColors COL_NORMAL COL_TOPLINE COL_BOTTOMLINE COL_MENU -syn keyword pinfoColors COL_MENUSELECTED COL_NOTE COL_NOTESELECTED COL_URL -syn keyword pinfoColors COL_URLSELECTED COL_INFOHIGHLIGHT COL_MANUALBOLD -syn keyword pinfoColors COL_MANUALITALIC -syn keyword pinfoColorDefault COLOR_DEFAULT -syn keyword pinfoColorBold BOLD -syn keyword pinfoColorNoBold NO_BOLD -syn keyword pinfoColorBlink BLINK -syn keyword pinfoColorNoBlink NO_BLINK -syn keyword pinfoColorBlack COLOR_BLACK -syn keyword pinfoColorRed COLOR_RED -syn keyword pinfoColorGreen COLOR_GREEN -syn keyword pinfoColorYellow COLOR_YELLOW -syn keyword pinfoColorBlue COLOR_BLUE -syn keyword pinfoColorMagenta COLOR_MAGENTA -syn keyword pinfoColorCyan COLOR_CYAN -syn keyword pinfoColorWhite COLOR_WHITE +syn keyword pinfoColors COL_NORMAL COL_TOPLINE COL_BOTTOMLINE + \ COL_MENU COL_MENUSELECTED COL_NOTE + \ COL_NOTESELECTED COL_URL COL_URLSELECTED + \ COL_INFOHIGHLIGHT COL_MANUALBOLD + \ COL_MANUALITALIC COL_SEARCHHIGHLIGHT -" Keybindings -syn keyword pinfoKeys KEY_TOTALSEARCH_1 KEY_TOTALSEARCH_2 KEY_SEARCH_1 -syn keyword pinfoKeys KEY_SEARCH_2 KEY_SEARCH_AGAIN_1 KEY_SEARCH_AGAIN_2 -syn keyword pinfoKeys KEY_GOTO_1 KEY_GOTO_2 KEY_PREVNODE_1 KEY_PREVNODE_2 -syn keyword pinfoKeys KEY_NEXTNODE_1 KEY_NEXTNODE_2 KEY_UP_1 KEY_UP_2 -syn keyword pinfoKeys KEY_END_1 KEY_END_2 KEY_PGDN_1 KEY_PGDN_2 -syn keyword pinfoKeys KEY_PGDN_AUTO_1 KEY_PGDN_AUTO_2 KEY_HOME_1 KEY_HOME_2 -syn keyword pinfoKeys KEY_PGUP_1 KEY_PGUP_2 KEY_PGUP_AUTO_1 KEY_PGUP_AUTO_2 -syn keyword pinfoKeys KEY_DOWN_1 KEY_DOWN_2 KEY_TOP_1 KEY_TOP_2 KEY_BACK_1 -syn keyword pinfoKeys KEY_BACK_2 KEY_FOLLOWLINK_1 KEY_FOLLOWLINK_2 -syn keyword pinfoKeys KEY_REFRESH_1 KEY_REFRESH_2 KEY_SHELLFEED_1 -syn keyword pinfoKeys KEY_SHELLFEED_2 KEY_QUIT_1 KEY_QUIT_2 KEY_GOLINE_1 -syn keyword pinfoKeys KEY_GOLINE_2 KEY_PRINT_1 KEY_PRINT_2 -syn keyword pinfoKeys KEY_DIRPAGE_1 KEY_DIRPAGE_2 +syn keyword pinfoColorDefault COLOR_DEFAULT +syn keyword pinfoColorBold BOLD +syn keyword pinfoColorNoBold NO_BOLD +syn keyword pinfoColorBlink BLINK +syn keyword pinfoColorNoBlink NO_BLINK +syn keyword pinfoColorBlack COLOR_BLACK +syn keyword pinfoColorRed COLOR_RED +syn keyword pinfoColorGreen COLOR_GREEN +syn keyword pinfoColorYellow COLOR_YELLOW +syn keyword pinfoColorBlue COLOR_BLUE +syn keyword pinfoColorMagenta COLOR_MAGENTA +syn keyword pinfoColorCyan COLOR_CYAN +syn keyword pinfoColorWhite COLOR_WHITE -" Special Keys -syn keyword pinfoSpecialKeys KEY_BREAK KEY_DOWN KEY_UP KEY_LEFT KEY_RIGHT -syn keyword pinfoSpecialKeys KEY_DOWN KEY_HOME KEY_BACKSPACE KEY_NPAGE -syn keyword pinfoSpecialKeys KEY_PPAGE KEY_END KEY_IC KEY_DC -syn region pinfoSpecialKeys matchgroup=pinfoSpecialKeys transparent start=+KEY_\%(F\|CTRL\|ALT\)(+ end=+)+ -syn region pinfoSimpleKey matchgroup=pinfoSimpleKey start=+'+ skip=+\\'+ end=+'+ contains=pinfoSimpleKeyEscape -syn match pinfoSimpleKeyEscape +\\[\\nt']+ -syn match pinfoKeycode '\<\d\+\>' - -" Constants -syn keyword pinfoConstants TRUE FALSE YES NO - -" Define the default highlighting. -" For version 5.7 and earlier: only when not done already -" For version 5.8 and later: only when an item doesn't have highlighting yet -if version >= 508 || !exists("did_pinfo_syn_inits") - if version < 508 - let did_pinfo_syn_inits = 1 - command -nargs=+ HiLink hi link <args> - command -nargs=+ HiDef hi <args> - else - command -nargs=+ HiLink hi def link <args> - command -nargs=+ HiDef hi def <args> - endif +syn keyword pinfoKeys KEY_TOTALSEARCH_1 KEY_TOTALSEARCH_2 + \ KEY_SEARCH_1 KEY_SEARCH_2 + \ KEY_SEARCH_AGAIN_1 KEY_SEARCH_AGAIN_2 + \ KEY_GOTO_1 KEY_GOTO_2 KEY_PREVNODE_1 + \ KEY_PREVNODE_2 KEY_NEXTNODE_1 + \ KEY_NEXTNODE_2 KEY_UP_1 KEY_UP_2 KEY_END_1 + \ KEY_END_2 KEY_PGDN_1 KEY_PGDN_2 + \ KEY_PGDN_AUTO_1 KEY_PGDN_AUTO_2 KEY_HOME_1 + \ KEY_HOME_2 KEY_PGUP_1 KEY_PGUP_2 + \ KEY_PGUP_AUTO_1 KEY_PGUP_AUTO_2 KEY_DOWN_1 + \ KEY_DOWN_2 KEY_TOP_1 KEY_TOP_2 KEY_BACK_1 + \ KEY_BACK_2 KEY_FOLLOWLINK_1 + \ KEY_FOLLOWLINK_2 KEY_REFRESH_1 + \ KEY_REFRESH_2 KEY_SHELLFEED_1 + \ KEY_SHELLFEED_2 KEY_QUIT_1 KEY_QUIT_2 + \ KEY_GOLINE_1 KEY_GOLINE_2 KEY_PRINT_1 + \ KEY_PRINT_2 KEY_DIRPAGE_1 KEY_DIRPAGE_2 + \ KEY_TWODOWN_1 KEY_TWODOWN_2 KEY_TWOUP_1 + \ KEY_TWOUP_2 - HiLink pinfoTodo Todo - HiLink pinfoComment Comment - HiLink pinfoOptions Keyword - HiLink pinfoColors Keyword - HiLink pinfoColorDefault Normal - HiDef pinfoColorBold cterm=bold - HiDef pinfoColorNoBold cterm=none - " we can't access the blink attribute from Vim atm - HiDef pinfoColorBlink cterm=inverse - HiDef pinfoColorNoBlink cterm=none - HiDef pinfoColorBlack ctermfg=Black guifg=Black - HiDef pinfoColorRed ctermfg=DarkRed guifg=DarkRed - HiDef pinfoColorGreen ctermfg=DarkGreen guifg=DarkGreen - HiDef pinfoColorYellow ctermfg=DarkYellow guifg=DarkYellow - HiDef pinfoColorBlue ctermfg=DarkBlue guifg=DarkBlue - HiDef pinfoColorMagenta ctermfg=DarkMagenta guifg=DarkMagenta - HiDef pinfoColorCyan ctermfg=DarkCyan guifg=DarkCyan - HiDef pinfoColorWhite ctermfg=LightGray guifg=LightGray - HiLink pinfoKeys Keyword - HiLink pinfoSpecialKeys SpecialChar - HiLink pinfoSimpleKey String - HiLink pinfoSimpleKeyEscape SpecialChar - HiLink pinfoKeycode Number - HiLink pinfoConstants Constant +syn keyword pinfoSpecialKeys KEY_BREAK KEY_DOWN KEY_UP KEY_LEFT KEY_RIGHT + \ KEY_DOWN KEY_HOME KEY_BACKSPACE KEY_NPAGE + \ KEY_PPAGE KEY_END KEY_IC KEY_DC +syn region pinfoSpecialKeys matchgroup=pinfoSpecialKeys transparent + \ start=+KEY_\%(F\|CTRL\|ALT\)(+ end=+)+ +syn region pinfoSimpleKey matchgroup=pinfoSimpleKey start=+'+ + \ skip=+\\'+ end=+'+ + \ contains=pinfoSimpleKeyEscape +syn match pinfoSimpleKeyEscape +\\[\\nt']+ +syn match pinfoKeycode '\<\d\+\>' + +syn keyword pinfoConstants TRUE FALSE YES NO - delcommand HiLink - delcommand HiDef -endif +hi def link pinfoTodo Todo +hi def link pinfoComment Comment +hi def link pinfoOptions Keyword +hi def link pinfoColors Keyword +hi def link pinfoColorDefault Normal +hi def link pinfoSpecialKeys SpecialChar +hi def link pinfoSimpleKey String +hi def link pinfoSimpleKeyEscape SpecialChar +hi def link pinfoKeycode Number +hi def link pinfoConstants Constant +hi def link pinfoKeys Keyword +hi def pinfoColorBold cterm=bold +hi def pinfoColorNoBold cterm=none +hi def pinfoColorBlink cterm=inverse +hi def pinfoColorNoBlink cterm=none +hi def pinfoColorBlack ctermfg=Black guifg=Black +hi def pinfoColorRed ctermfg=DarkRed guifg=DarkRed +hi def pinfoColorGreen ctermfg=DarkGreen guifg=DarkGreen +hi def pinfoColorYellow ctermfg=DarkYellow guifg=DarkYellow +hi def pinfoColorBlue ctermfg=DarkBlue guifg=DarkBlue +hi def pinfoColorMagenta ctermfg=DarkMagenta guifg=DarkMagenta +hi def pinfoColorCyan ctermfg=DarkCyan guifg=DarkCyan +hi def pinfoColorWhite ctermfg=LightGray guifg=LightGray let b:current_syntax = "pinfo" -" vim: set sts=2 sw=2: +let &cpo = s:cpo_save +unlet s:cpo_save
--- a/runtime/syntax/quake.vim +++ b/runtime/syntax/quake.vim @@ -1,162 +1,134 @@ " Vim syntax file -" Language: Quake[1-3] Configuration File -" Maintainer: Nikolai Weibull <source@pcppopper.org> -" URL: http://www.pcppopper.org/vim/syntax/pcp/quake/ -" Latest Revision: 2004-05-22 -" arch-tag: a95793d7-cab3-4544-a78c-1cea47b5870b -" Variables: quake_is_quake1 - the syntax is to be used for quake1 configs -" quake_is_quake2 - the syntax is to be used for quake2 configs -" quake_is_quake3 - the syntax is to be used for quake3 configs +" Language: Quake[1-3] configuration file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 +" quake_is_quake2 - the syntax is to be used for quake2 configs +" quake_is_quake3 - the syntax is to be used for quake3 configs - -if version < 600 - syntax clear -elseif exists("b:current_syntax") +if exists("b:current_syntax") finish endif +let s:cpo_save = &cpo +set cpo&vim -" Set iskeyword since we need `-' (and potentially others) in keywords. -" For version 5.x: Set it globally -" For version 6.x: Set it locally -if version >= 600 - command -nargs=1 SetIsk setlocal iskeyword=<args> -else - command -nargs=1 SetIsk set iskeyword=<args> -endif -SetIsk 48-57,65-90,97-122,+,-,_ -delcommand SetIsk +setlocal iskeyword=@,48-57,+,-,_ + +syn keyword quakeTodo contained TODO FIXME XXX NOTE - -" comments -syn region quakeComment display oneline start="//" end="$" end=";" keepend contains=quakeTodo +syn region quakeComment display oneline start='//' end='$' end=';' + \ keepend contains=quakeTodo,@Spell -" todo -syn keyword quakeTodo contained TODO FIXME XXX NOTE +syn region quakeString display oneline start=+"+ skip=+\\\\\|\\"+ + \ end=+"\|$+ contains=quakeNumbers,@quakeCommands -" string (can contain numbers (which should be hilighted as such) -syn region quakeString display oneline start=+"+ skip=+\\"+ end=+"\|$+ contains=quakeNumbers,@quakeCommands - -" number syn case ignore -syn match quakeNumbers display transparent "\<\d\|\.\d" contains=quakeNumber,quakeFloat,quakeOctalError,quakeOctal -syn match quakeNumber display contained "\d\+\>" -" Flag the first zero of an octal number as something special -syn match quakeOctal display contained "0\o\+\>" contains=quakeOctalZero -syn match quakeOctalZero display contained "\<0" -" floating point number, with dot -syn match quakeFloat display contained "\d\+\.\d*" -" floating point number, starting with a dot -syn match quakeFloat display contained "\.\d\+\>" -" flag an octal number with wrong digits -syn match quakeOctalError display contained "0\o*[89]\d*" -syn case match + +syn match quakeNumbers display transparent '\<\d\|\.\d' + \ contains=quakeNumber,quakeFloat, + \ quakeOctalError,quakeOctal +syn match quakeNumber contained display '\d\+\>' +syn match quakeOctal contained display '0\o\+\>' + \ contains=quakeOctalZero +syn match quakeOctalZero contained display '\<0' +syn match quakeFloat contained display '\d\+\.\d*' +syn match quakeFloat contained display '\.\d\+\>' +syn match quakeOctalError contained display '0\o*[89]\d*' + +syn cluster quakeCommands contains=quakeCommand,quake1Command, + \ quake12Command,Quake2Command,Quake23Command, + \ Quake3Command -" commands -syn case ignore -syn cluster quakeCommands contains=quakeCommand,quake1Command,quake12Command,Quake2Command,Quake23Command,Quake3Command - -syn keyword quakeCommand +attack +back +forward +left +lookdown +lookup -syn keyword quakeCommand +mlook +movedown +moveleft +moveright +moveup -syn keyword quakeCommand +right +speed +strafe -attack -back bind -syn keyword quakeCommand bindlist centerview clear connect cvarlist dir -syn keyword quakeCommand disconnect dumpuser echo error exec -forward -syn keyword quakeCommand god heartbeat joy_advancedupdate kick kill -syn keyword quakeCommand killserver -left -lookdown -lookup map -syn keyword quakeCommand messagemode messagemode2 -mlook modellist -syn keyword quakeCommand -movedown -moveleft -moveright -moveup play -syn keyword quakeCommand quit rcon reconnect record -right say say_team -syn keyword quakeCommand screenshot serverinfo serverrecord serverstop -syn keyword quakeCommand set sizedown sizeup snd_restart soundinfo -syn keyword quakeCommand soundlist -speed spmap status -strafe stopsound -syn keyword quakeCommand toggleconsole unbind unbindall userinfo pause -syn keyword quakeCommand vid_restart viewpos wait weapnext weapprev +syn keyword quakeCommand +attack +back +forward +left +lookdown +lookup +syn keyword quakeCommand +mlook +movedown +moveleft +moveright +moveup +syn keyword quakeCommand +right +speed +strafe -attack -back bind +syn keyword quakeCommand bindlist centerview clear connect cvarlist dir +syn keyword quakeCommand disconnect dumpuser echo error exec -forward +syn keyword quakeCommand god heartbeat joy_advancedupdate kick kill +syn keyword quakeCommand killserver -left -lookdown -lookup map +syn keyword quakeCommand messagemode messagemode2 -mlook modellist +syn keyword quakeCommand -movedown -moveleft -moveright -moveup play +syn keyword quakeCommand quit rcon reconnect record -right say say_team +syn keyword quakeCommand screenshot serverinfo serverrecord serverstop +syn keyword quakeCommand set sizedown sizeup snd_restart soundinfo +syn keyword quakeCommand soundlist -speed spmap status -strafe stopsound +syn keyword quakeCommand toggleconsole unbind unbindall userinfo pause +syn keyword quakeCommand vid_restart viewpos wait weapnext weapprev if exists("quake_is_quake1") -syn keyword quake1Command sv + syn keyword quake1Command sv endif if exists("quake_is_quake1") || exists("quake_is_quake2") -syn keyword quake12Command +klook alias cd impulse link load save -syn keyword quake12Command timerefresh changing info loading -syn keyword quake12Command pingservers playerlist players score + syn keyword quake12Command +klook alias cd impulse link load save + syn keyword quake12Command timerefresh changing info loading + syn keyword quake12Command pingservers playerlist players score endif if exists("quake_is_quake2") -syn keyword quake2Command cmd demomap +use condump download drop gamemap -syn keyword quake2Command give gun_model setmaster sky sv_maplist wave -syn keyword quake2Command cmdlist gameversiona gun_next gun_prev invdrop -syn keyword quake2Command inven invnext invnextp invnextw invprev -syn keyword quake2Command invprevp invprevw invuse menu_addressbook -syn keyword quake2Command menu_credits menu_dmoptions menu_game -syn keyword quake2Command menu_joinserver menu_keys menu_loadgame -syn keyword quake2Command menu_main menu_multiplayer menu_options -syn keyword quake2Command menu_playerconfig menu_quit menu_savegame -syn keyword quake2Command menu_startserver menu_video -syn keyword quake2Command notarget precache prog togglechat vid_front -syn keyword quake2Command weaplast -endif - -if exists("quake_is_quake2") || exists("quake_is_quake3") -syn keyword quake23Command imagelist modellist path z_stats -endif - -if exists("quake_is_quake3") -syn keyword quake3Command +info +scores +zoom addbot arena banClient -syn keyword quake3Command banUser callteamvote callvote changeVectors -syn keyword quake3Command cinematic clientinfo clientkick cmd cmdlist -syn keyword quake3Command condump configstrings crash cvar_restart devmap -syn keyword quake3Command fdir follow freeze fs_openedList Fs_pureList -syn keyword quake3Command Fs_referencedList gfxinfo globalservers -syn keyword quake3Command hunk_stats in_restart -info levelshot -syn keyword quake3Command loaddeferred localservers map_restart mem_info -syn keyword quake3Command messagemode3 messagemode4 midiinfo model music -syn keyword quake3Command modelist net_restart nextframe nextskin noclip -syn keyword quake3Command notarget ping prevframe prevskin reset restart -syn keyword quake3Command s_disable_a3d s_enable_a3d s_info s_list s_stop -syn keyword quake3Command scanservers -scores screenshotJPEG sectorlist -syn keyword quake3Command serverstatus seta setenv sets setu setviewpos -syn keyword quake3Command shaderlist showip skinlist spdevmap startOribt -syn keyword quake3Command stats stopdemo stoprecord systeminfo togglemenu -syn keyword quake3Command tcmd team teamtask teamvote tell tell_attacker -syn keyword quake3Command tell_target testgun testmodel testshader toggle -syn keyword quake3Command touchFile vminfo vmprofile vmtest vosay -syn keyword quake3Command vosay_team vote votell vsay vsay_team vstr -syn keyword quake3Command vtaunt vtell vtell_attacker vtell_target weapon -syn keyword quake3Command writeconfig -zoom -syn match quake3Command display "\<[+-]button\(\d\|1[0-4]\)\>" + syn keyword quake2Command cmd demomap +use condump download drop gamemap + syn keyword quake2Command give gun_model setmaster sky sv_maplist wave + syn keyword quake2Command cmdlist gameversiona gun_next gun_prev invdrop + syn keyword quake2Command inven invnext invnextp invnextw invprev + syn keyword quake2Command invprevp invprevw invuse menu_addressbook + syn keyword quake2Command menu_credits menu_dmoptions menu_game + syn keyword quake2Command menu_joinserver menu_keys menu_loadgame + syn keyword quake2Command menu_main menu_multiplayer menu_options + syn keyword quake2Command menu_playerconfig menu_quit menu_savegame + syn keyword quake2Command menu_startserver menu_video + syn keyword quake2Command notarget precache prog togglechat vid_front + syn keyword quake2Command weaplast endif syn case match -" Define the default highlighting. -" For version 5.7 and earlier: only when not done already -" For version 5.8 and later: only when an item doesn't have highlighting yet -if version >= 508 || !exists("did_screen_syn_inits") - if version < 508 - let did_screen_syn_inits = 1 - command -nargs=+ HiLink hi link <args> - else - command -nargs=+ HiLink hi def link <args> - endif - - HiLink quakeComment Comment - HiLink quakeTodo Todo - HiLink quakeString String - HiLink quakeNumber Number - HiLink quakeOctal Number - HiLink quakeOctalZero Number - HiLink quakeFloat Number - HiLink quakeOctalError Error - HiLink quakeCommand quakeCommands - HiLink quake1Command quakeCommands - HiLink quake12Command quakeCommands - HiLink quake2Command quakeCommands - HiLink quake23Command quakeCommands - HiLink quake3Command quakeCommands - HiLink quakeCommands Keyword - - delcommand HiLink +if exists("quake_is_quake2") || exists("quake_is_quake3") + syn keyword quake23Command imagelist modellist path z_stats endif -" vim: set sts=2 sw=2: +if exists("quake_is_quake3") + syn keyword quake3Command +info +scores +zoom addbot arena banClient + syn keyword quake3Command banUser callteamvote callvote changeVectors + syn keyword quake3Command cinematic clientinfo clientkick cmd cmdlist + syn keyword quake3Command condump configstrings crash cvar_restart devmap + syn keyword quake3Command fdir follow freeze fs_openedList Fs_pureList + syn keyword quake3Command Fs_referencedList gfxinfo globalservers + syn keyword quake3Command hunk_stats in_restart -info levelshot + syn keyword quake3Command loaddeferred localservers map_restart mem_info + syn keyword quake3Command messagemode3 messagemode4 midiinfo model music + syn keyword quake3Command modelist net_restart nextframe nextskin noclip + syn keyword quake3Command notarget ping prevframe prevskin reset restart + syn keyword quake3Command s_disable_a3d s_enable_a3d s_info s_list s_stop + syn keyword quake3Command scanservers -scores screenshotJPEG sectorlist + syn keyword quake3Command serverstatus seta setenv sets setu setviewpos + syn keyword quake3Command shaderlist showip skinlist spdevmap startOribt + syn keyword quake3Command stats stopdemo stoprecord systeminfo togglemenu + syn keyword quake3Command tcmd team teamtask teamvote tell tell_attacker + syn keyword quake3Command tell_target testgun testmodel testshader toggle + syn keyword quake3Command touchFile vminfo vmprofile vmtest vosay + syn keyword quake3Command vosay_team vote votell vsay vsay_team vstr + syn keyword quake3Command vtaunt vtell vtell_attacker vtell_target weapon + syn keyword quake3Command writeconfig -zoom + syn match quake3Command display "\<[+-]button\(\d\|1[0-4]\)\>" +endif + +hi def link quakeComment Comment +hi def link quakeTodo Todo +hi def link quakeString String +hi def link quakeNumber Number +hi def link quakeOctal Number +hi def link quakeOctalZero PreProc +hi def link quakeFloat Number +hi def link quakeOctalError Error +hi def link quakeCommand quakeCommands +hi def link quake1Command quakeCommands +hi def link quake12Command quakeCommands +hi def link quake2Command quakeCommands +hi def link quake23Command quakeCommands +hi def link quake3Command quakeCommands +hi def link quakeCommands Keyword + +let b:current_syntax = "quake" + +let &cpo = s:cpo_save +unlet s:cpo_save
new file mode 100644 --- /dev/null +++ b/runtime/syntax/racc.vim @@ -0,0 +1,138 @@ +" Vim default file +" Language: Racc input file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 + +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&vim + +syn keyword raccTodo contained TODO FIXME XXX NOTE + +syn region raccComment matchgroup=raccComment start='/\*' end='\*/' + \ contains=raccTodo,@Spell +syn region raccComment matchgroup=raccComment start='#' end='$' + \ contains=raccTodo,@Spell + +syn region raccClass transparent matchgroup=raccKeyword + \ start='\<class\>' end='\<rule\>'he=e-4 + \ contains=raccComment,raccPrecedence, + \ raccTokenDecl,raccExpect,raccOptions,raccConvert, + \ raccStart, + +syn region raccPrecedence transparent matchgroup=raccKeyword + \ start='\<prechigh\>' end='\<preclow\>' + \ contains=raccComment,raccPrecSpec + +syn keyword raccPrecSpec contained nonassoc left right + \ nextgroup=raccPrecToken,raccPrecString skipwhite + \ skipnl + +syn match raccPrecToken contained '\<\u[A-Z0-9]*\>' + \ nextgroup=raccPrecToken,raccPrecString skipwhite + \ skipnl + +syn region raccPrecString matchgroup=raccPrecString start=+"+ + \ skip=+\\\\\|\\"+ end=+"+ + \ contains=raccSpecial + \ nextgroup=raccPrecToken,raccPrecString skipwhite + \ skipnl +syn region raccPrecString matchgroup=raccPrecString start=+'+ + \ skip=+\\\\\|\\'+ end=+'+ contains=raccSpecial + \ nextgroup=raccPrecToken,raccPrecString skipwhite + \ skipnl + +syn keyword raccTokenDecl contained token + \ nextgroup=raccTokenR skipwhite skipnl + +syn match raccTokenR contained '\<\u[A-Z0-9]*\>' + \ nextgroup=raccTokenR skipwhite skipnl + +syn keyword raccExpect contained expect + \ nextgroup=raccNumber skipwhite skipnl + +syn match raccNumber contained '\<\d\+\>' + +syn keyword raccOptions contained options + \ nextgroup=raccOptionsR skipwhite skipnl + +syn keyword raccOptionsR contained omit_action_call result_var + \ nextgroup=raccOptionsR skipwhite skipnl + +syn region raccConvert transparent contained matchgroup=raccKeyword + \ start='\<convert\>' end='\<end\>' + \ contains=raccComment,raccConvToken skipwhite + \ skipnl + +syn match raccConvToken contained '\<\u[A-Z0-9]*\>' + \ nextgroup=raccString skipwhite skipnl + +syn keyword raccStart contained start + \ nextgroup=raccTargetS skipwhite skipnl + +syn match raccTargetS contained '\<\l[a-z0-9]*\>' + +syn match raccSpecial contained '\\["'\\]' + +syn region raccString matchgroup=raccString start=+"+ skip=+\\\\\|\\"+ + \ end=+"+ contains=raccSpecial +syn region raccString matchgroup=raccString start=+'+ skip=+\\\\\|\\'+ + \ end=+'+ contains=raccSpecial + +syn region raccRules transparent matchgroup=raccKeyword start='\<rule\>' + \ end='\<end\>' contains=raccComment,raccString, + \ raccNumber,raccToken,raccTarget,raccDelimiter, + \ raccAction + +syn match raccTarget contained '\<\l[a-z0-9]*\>' + +syn match raccDelimiter contained '[:|]' + +syn match raccToken contained '\<\u[A-Z0-9]*\>' + +syn include @raccRuby syntax/ruby.vim + +syn region raccAction transparent matchgroup=raccDelimiter + \ start='{' end='}' contains=@raccRuby + +syn region raccHeader transparent matchgroup=raccPreProc + \ start='^---- header.*' end='^----'he=e-4 + \ contains=@raccRuby + +syn region raccInner transparent matchgroup=raccPreProc + \ start='^---- inner.*' end='^----'he=e-4 + \ contains=@raccRuby + +syn region raccFooter transparent matchgroup=raccPreProc + \ start='^---- footer.*' end='^----'he=e-4 + \ contains=@raccRuby + +hi def link raccTodo Todo +hi def link raccComment Comment +hi def link raccPrecSpec Type +hi def link raccPrecToken raccToken +hi def link raccPrecString raccString +hi def link raccTokenDecl Keyword +hi def link raccToken Identifier +hi def link raccTokenR raccToken +hi def link raccExpect Keyword +hi def link raccNumber Number +hi def link raccOptions Keyword +hi def link raccOptionsR Identifier +hi def link raccConvToken raccToken +hi def link raccStart Keyword +hi def link raccTargetS Type +hi def link raccSpecial special +hi def link raccString String +hi def link raccTarget Type +hi def link raccDelimiter Delimiter +hi def link raccPreProc PreProc +hi def link raccKeyword Keyword + +let b:current_syntax = "racc" + +let &cpo = s:cpo_save +unlet s:cpo_save
--- a/runtime/syntax/readline.vim +++ b/runtime/syntax/readline.vim @@ -1,152 +1,176 @@ " Vim syntax file -" Language: readline configuration file -" Maintainer: Nikolai Weibull <source@pcppopper.org> -" URL: http://www.pcppopper.org/vim/syntax/pcp/readline/ -" Latest Revision: 2004-05-22 -" arch-tag: 6d8e7da4-b39c-4bf7-8e6a-d9135f993457 -" Variables: +" Language: readline(3) configuration file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 " readline_has_bash - if defined add support for bash specific -" settings/functions +" settings/functions -if version < 600 - syntax clear -elseif exists("b:current_syntax") +if exists("b:current_syntax") finish endif -" Set iskeyword since we need `-' (and potentially others) in keywords. -" For version 5.x: Set it globally -" For version 6.x: Set it locally -if version >= 600 - command -nargs=1 SetIsk setlocal iskeyword=<args> -else - command -nargs=1 SetIsk set iskeyword=<args> -endif -SetIsk 48-57,65-90,97-122,- -delcommand SetIsk +let s:cpo_save = &cpo +set cpo&vim + +setlocal iskeyword=@,48-57,- + +syn keyword readlineTodo contained TODO FIXME XXX NOTE -" comments -syn region readlineComment display oneline matchgroup=readlineComment start="^\s*#" end="$" contains=readlineTodo - -" todo -syn keyword readlineTodo contained TODO FIXME XXX NOTE +syn region readlineComment display oneline matchgroup=readlineComment + \ start='^\s*#' end='$' + \ contains=readlineTodo,@Spell -" strings (argh...not the way i want it, but fine..." -syn match readlineString "^\s*[A-Za-z-]\+:"me=e-1 contains=readlineKeys -syn region readlineString display oneline start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=readlineKeysTwo +syn match readlineString '^\s*[A-Za-z-]\+:'me=e-1 contains=readlineKeys +syn region readlineString display oneline start=+"+ skip=+\\\\\|\\"+ + \ end=+"+ contains=readlineKeysTwo -" special key syn case ignore -syn keyword readlineKeys contained Control Meta Del Esc Escape LFD Newline Ret Return Rubout Space Spc Tab +syn keyword readlineKeys contained Control Meta Del Esc Escape LFD + \ Newline Ret Return Rubout Space Spc Tab syn case match -syn match readlineKeysTwo contained +\\\([CM]-\|[e\\"'abdfnrtv]\|\o\{3}\|x\x\{3}\)+ - -" keymaps -syn match readlineKeymaps contained "emacs\(-standard\|-meta\|-ctlx\)\=" -syn match readlineKeymaps contained "vi\(-move\|-command\|-insert\)\=" +syn match readlineKeysTwo contained display + \ +\\\([CM]-\|[e\\"'abdfnrtv]\|\o\{3}\|x\x\{3}\)+ -" bell styles -syn keyword readlineBellStyles contained audible visible none +syn match readlineKeymaps contained display + \ 'emacs\(-standard\|-meta\|-ctlx\)\=' +syn match readlineKeymaps contained display + \ 'vi\(-move\|-command\|-insert\)\=' -" numbers -syn match readlineNumber contained "\<\d\+\>" +syn keyword readlineBellStyles contained audible visible none -" booleans +syn match readlineNumber contained display '\<\d\+\>' + syn case ignore -syn keyword readlineBoolean contained on off +syn keyword readlineBoolean contained on off syn case match -" conditionals -syn keyword readlineIfOps contained mode term +syn keyword readlineIfOps contained mode term + +syn region readlineConditional display oneline transparent + \ matchgroup=readlineConditional + \ start='^\s*$if' end="$" + \ contains=readlineIfOps,readlineKeymaps +syn match readlineConditional display '^\s*$\(else\|endif\)\>' + +syn match readlineInclude display '^\s*$include\>' + +syn region readlineSet display oneline transparent + \ matchgroup=readlineKeyword start='^\s*set\>' + \ end="$"me=e-1 contains=readlineNumber, + \ readlineBoolean,readlineKeymaps, + \ readlineBellStyles,readlineSettings -syn region readlineConditional display oneline transparent matchgroup=readlineConditional start="^\s*$if" end="$" contains=readlineIfOps,readlineKeymaps -syn match readlineConditional "^\s*$\(else\|endif\)\>" +syn keyword readlineSettings contained bell-style comment-begin + \ completion-ignore-case completion-query-items + \ convert-meta disable-completion editing-mode + \ enable-keypad expand-tilde + \ horizontal-scroll-mode mark-directories + \ keymap mark-modified-lines meta-flag + \ input-meta output-meta + \ print-completions-horizontally + \ show-all-if-ambiguous visible-stats + \ prefer-visible-bell blink-matching-paren + \ match-hidden-files history-preserve-point + \ isearch-terminators -" include -syn match readlineInclude "^\s*$include\>" - -" settings +syn region readlineBinding display oneline transparent + \ matchgroup=readlineKeyword start=':' end='$' + \ contains=readlineKeys,readlineFunctions -syn region readlineSet display oneline transparent matchgroup=readlineKeyword start="^\s*set\>" end="$"me=e-1 contains=readlineNumber,readlineBoolean,readlineKeymaps,readlineBellStyles,readlineSettings +syn keyword readlineFunctions contained display + \ beginning-of-line end-of-line forward-char + \ backward-char forward-word backward-word + \ clear-screen redraw-current-line + \ accept-line previous-history + \ next-history beginning-of-history + \ end-of-history reverse-search-history + \ forward-search-history + \ non-incremental-reverse-search-history + \ non-incremental-forward-search-history + \ history-search-forward + \ history-search-backward + \ yank-nth-arg yank-last-arg + \ delete-char backward-delete-char + \ forward-backward-delete-char quoted-insert + \ tab-insert self-insert transpose-chars + \ transpose-words upcase-word downcase-word + \ capitalize-word overwrite-mode kill-line + \ backward-kill-line unix-line-discard + \ kill-whole-line kill-word backward-kill-word + \ unix-word-rubout unix-filename-rubout + \ delete-horizontal-space kill-region + \ copy-region-as-kill copy-backward-word + \ copy-forward-word yank yank-pop + \ digit-argument universal-argument complete + \ possible-completions insert-completions + \ menu-complete delete-char-or-list + \ start-kbd-macro end-kbd-macro + \ call-last-kbd-macro re-read-init-file + \ abort do-uppercase-version prefix-meta + \ undo revert-line tilde-expand set-mark + \ exchange-point-and-mark character-search + \ character-search-backward insert-comment + \ dump-functions dump-variables dump-macros + \ emacs-editing-mode vi-editing-mode + \ vi-complete vi-char-search vi-redo + \ vi-search vi-arg-digit vi-append-eol + \ vi-prev-word vi-change-to vi-delete-to + \ vi-end-word vi-fetch-history vi-insert-beg + \ vi-search-again vi-put vi-replace + \ vi-subst vi-yank-to vi-first-print + \ vi-yank-arg vi-goto-mark vi-append-mode + \ vi-insertion-mode prev-history vi-set-mark + \ vi-search-again vi-put vi-change-char + \ vi-subst vi-delete vi-yank-to + \ vi-column vi-change-case vi-overstrike + \ vi-overstrike-delete do-lowercase-version + \ delete-char-or-list tty-status + \ arrow-key-prefix vi-back-to-indent vi-bword + \ vi-bWord vi-eword vi-eWord vi-fword vi-fWord + \ vi-next-word -syn keyword readlineSettings contained bell-style comment-begin completion-ignore-case -syn keyword readlineSettings contained completion-query-items convert-meta disable-completion editing-mode enable-keypad -syn keyword readlineSettings contained expand-tilde horizontal-scroll-mode mark-directories keymap mark-modified-lines meta-flag -syn keyword readlineSettings contained input-meta output-meta print-completions-horizontally show-all-if-ambiguous visible-stats -syn keyword readlineSettings contained prefer-visible-bell blink-matching-paren -syn keyword readlineSettings contained match-hidden-files history-preserve-point isearch-terminators - -" bash extensions if exists("readline_has_bash") - "syn keyword readlineSettings contained + syn keyword readlineFunctions contained + \ shell-expand-line history-expand-line + \ magic-space alias-expand-line + \ history-and-alias-expand-line + \ insert-last-argument operate-and-get-next + \ forward-backward-delete-char + \ delete-char-or-list complete-filename + \ possible-filename-completions + \ complete-username + \ possible-username-completions + \ complete-variable + \ possible-variable-completions + \ complete-hostname + \ possible-hostname-completions + \ complete-command + \ possible-command-completions + \ dynamic-complete-history + \ complete-into-braces + \ glob-expand-word glob-list-expansions + \ display-shell-version glob-complete-word + \ edit-and-execute-command endif -" key bindings -syn region readlineBinding display oneline transparent matchgroup=readlineKeyword start=":" end="$" contains=readlineKeys,readlineFunctions - -syn match readlineFunctions contained "\<\(beginning\|end\)-of-line\>" -syn match readlineFunctions contained "\<\(backward\|forward\)-\(char\|word\)\>" -syn match readlineFunctions contained "\<\(previous\|next\|\(beginning\|end\)-of\|\(non-incremental-\)\=\(reverse\|forward\)-search\)-history\>" -syn match readlineFunctions contained "\<history-search-\(forward\|backward\)\>" -syn match readlineFunctions contained "\<yank-\(nth\|last\)-arg\>" -syn match readlineFunctions contained "\<\(backward-\)\=kill-\(\(whole-\)\=line\|word\)\>" -syn match readlineFunctions contained "\<\(start\|end\|call-last\)-kbd-macro\>" -syn match readlineFunctions contained "\<dump-\(functions\|variables\|macros\)\>" -syn match readlineFunctions contained "\<non-incremental-\(reverse\|forward\)-search-history-again\>" -syn keyword readlineFunctions contained clear-screen redraw-current-line accept-line delete-char backward-delete-char quoted-insert tab-insert -syn keyword readlineFunctions contained self-insert transpose-chars transpose-words downcase-word capitalize-word unix-word-rubout -syn keyword readlineFunctions contained delete-horizontal-space kill-region copy-region-as-kill copy-backward-word copy-forward-word yank yank-pop -syn keyword readlineFunctions contained digit-argument universal-argument complete possible-completions insert-completions menu-complete -syn keyword readlineFunctions contained re-read-init-file abort do-uppercase-version prefix-meta undo revert-line tilde-expand set-mark -syn keyword readlineFunctions contained exchange-point-and-mark character-search character-search-backward insert-comment emacs-editing-mode vi-editing-mode -syn keyword readlineFunctions contained unix-line-discard upcase-word backward-delete-word vi-eof-maybe vi-movement-mode vi-match vi-tilde-expand -syn keyword readlineFunctions contained vi-complete vi-char-search vi-redo vi-search vi-arg-digit vi-append-eol vi-prev-word vi-change-to vi-delete-to -syn keyword readlineFunctions contained vi-end-word vi-fetch-history vi-insert-beg vi-search-again vi-put vi-replace vi-subst vi-yank-to vi-first-print -syn keyword readlineFunctions contained vi-yank-arg vi-goto-mark vi-append-mode vi-insertion-mode prev-history vi-set-mark vi-search-again vi-put vi-change-char -syn keyword readlineFunctions contained vi-subst vi-delete vi-yank-to vi-column vi-change-case vi-overstrike vi-overstrike-delete -syn keyword readlineFunctions contained do-lowercase-version delete-char-or-list tty-status arrow-key-prefix -syn keyword readlineFunctions contained vi-back-to-indent vi-bword vi-bWord vi-eword vi-eWord vi-fword vi-fWord vi-next-word - -" bash extensions -if exists("readline_has_bash") - syn keyword readlineFunctions contained shell-expand-line history-expand-line magic-space alias-expand-line history-and-alias-expand-line insert-last-argument - syn keyword readlineFunctions contained operate-and-get-next forward-backward-delete-char delete-char-or-list complete-filename possible-filename-completions - syn keyword readlineFunctions contained complete-username possible-username-completions complete-variable possible-variable-completions complete-hostname - syn keyword readlineFunctions contained possible-hostname-completions complete-command possible-command-completions dynamic-complete-history complete-into-braces - syn keyword readlineFunctions contained glob-expand-word glob-list-expansions display-shell-version - syn keyword readlineFunctions contained glob-complete-word edit-and-execute-command -endif - -" Define the default highlighting. -" For version 5.7 and earlier: only when not done already -" For version 5.8 and later: only when an item doesn't have highlighting yet -if version >= 508 || !exists("did_readline_syn_inits") - if version < 508 - let did_readline_syn_inits = 1 - command -nargs=+ HiLink hi link <args> - else - command -nargs=+ HiLink hi def link <args> - endif - - HiLink readlineComment Comment - HiLink readlineTodo Todo - HiLink readlineString String - HiLink readlineKeys SpecialChar - HiLink readlineKeysTwo SpecialChar - HiLink readlineKeymaps Constant - HiLink readlineBellStyles Constant - HiLink readlineNumber Number - HiLink readlineBoolean Boolean - HiLink readlineIfOps Type - HiLink readlineConditional Conditional - HiLink readlineInclude Include - HiLink readlineKeyword Keyword - HiLink readlineSettings Type - HiLink readlineFunctions Type - delcommand HiLink -endif +hi def link readlineComment Comment +hi def link readlineTodo Todo +hi def link readlineString String +hi def link readlineKeys SpecialChar +hi def link readlineKeysTwo SpecialChar +hi def link readlineKeymaps Constant +hi def link readlineBellStyles Constant +hi def link readlineNumber Number +hi def link readlineBoolean Boolean +hi def link readlineIfOps Type +hi def link readlineConditional Conditional +hi def link readlineInclude Include +hi def link readlineKeyword Keyword +hi def link readlineSettings Type +hi def link readlineFunctions Type let b:current_syntax = "readline" -" vim: set sts=2 sw=2: +let &cpo = s:cpo_save +unlet s:cpo_save
--- a/runtime/syntax/rnc.vim +++ b/runtime/syntax/rnc.vim @@ -1,94 +1,68 @@ " Vim syntax file -" Language: Relax NG compact syntax -" Maintainer: Nikolai Weibull <source@pcppopper.org> -" URL: http://www.pcppopper.org/vim/syntax/pcp/rnc/ -" Latest Revision: 2004-05-22 -" arch-tag: 061ee0a2-9efa-4e2a-b1a9-14cf5172d645 +" Language: Relax NG compact syntax +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-27 -if version < 600 - syntax clear -elseif exists("b:current_syntax") +if exists("b:current_syntax") finish endif -" Set iskeyword since we need `-' (and potentially others) in keywords. -" For version 5.x: Set it globally -" For version 6.x: Set it locally -if version >= 600 - command -nargs=1 SetIsk setlocal iskeyword=<args> -else - command -nargs=1 SetIsk set iskeyword=<args> -endif -SetIsk @,48-57,_,-,. -delcommand SetIsk +let s:cpo_save = &cpo +set cpo&vim + +setlocal iskeyword=@,48-57,_,-,. -" Todo -syn keyword rncTodo contained TODO FIXME XXX NOTE +syn keyword rncTodo contained TODO FIXME XXX NOTE -" Comments -syn region rncComment matchgroup=rncComment start='^\s*#' end='$' contains=rncTodo +syn region rncComment matchgroup=rncComment start='^\s*#' end='$' + \ contains=rncTodo,@Spell -" Operators -syn match rncOperator '[-|,&+?*~]' -syn match rncOperator '\%(|&\)\==' -syn match rncOperator '>>' +syn match rncOperator display '[-|,&+?*~]' +syn match rncOperator display '\%(|&\)\==' +syn match rncOperator display '>>' -" Namespaces -syn match rncNamespace '\<\k\+:' +syn match rncNamespace display '\<\k\+:' -" Quoted Identifier -syn match rncQuoted '\\\k\+\>' +syn match rncQuoted display '\\\k\+\>' -" Special Characters -syn match rncSpecial '\\x{\x\+}' +syn match rncSpecial display '\\x{\x\+}' -" Annotations -syn region Annotation transparent start='\[' end='\]' contains=ALLBUT,rncComment,rncTodo +syn region rncAnnotation transparent start='\[' end='\]' + \ contains=ALLBUT,rncComment,rncTodo -" Literals -syn region rncLiteral matchgroup=rncLiteral oneline start=+"+ end=+"+ contains=rncSpecial -syn region rncLiteral matchgroup=rncLiteral oneline start=+'+ end=+'+ -syn region rncLiteral matchgroup=rncLiteral start=+"""+ end=+"""+ contains=rncSpecial -syn region rncLiteral matchgroup=rncLiteral start=+'''+ end=+'''+ - -" Delimiters -syn match rncDelimiter '[{},()]' +syn region rncLiteral matchgroup=rncLiteral oneline start=+"+ end=+"+ + \ contains=rncSpecial +syn region rncLiteral matchgroup=rncLiteral oneline start=+'+ end=+'+ +syn region rncLiteral matchgroup=rncLiteral start=+"""+ end=+"""+ + \ contains=rncSpecial +syn region rncLiteral matchgroup=rncLiteral start=+'''+ end=+'''+ -" Keywords -syn keyword rncKeyword datatypes default div empty external grammar -syn keyword rncKeyword include inherit list mixed name namespace -syn keyword rncKeyword notAllowed parent start string text token +syn match rncDelimiter display '[{},()]' -" Identifiers -syn match rncIdentifier '\k\+\_s*\%(=\|&=\||=\)\@=' nextgroup=rncOperator -syn keyword rncKeyword nextgroup=rncIdName skipwhite skipempty element attribute -syn match rncIdentifier contained '\k\+' +syn keyword rncKeyword datatypes default div empty external grammar +syn keyword rncKeyword include inherit list mixed name namespace +syn keyword rncKeyword notAllowed parent start string text token -" Define the default highlighting. -" For version 5.7 and earlier: only when not done already -" For version 5.8 and later: only when an item doesn't have highlighting yet -if version >= 508 || !exists("did_rnc_syn_inits") - if version < 508 - let did_rnc_syn_inits = 1 - command -nargs=+ HiLink hi link <args> - else - command -nargs=+ HiLink hi def link <args> - endif +syn match rncIdentifier display '\k\+\_s*\%(=\|&=\||=\)\@=' + \ nextgroup=rncOperator +syn keyword rncKeyword element attribute + \ nextgroup=rncIdName skipwhite skipempty +syn match rncIdName contained '\k\+' - HiLink rncTodo Todo - HiLink rncComment Comment - HiLink rncOperator Operator - HiLink rncNamespace Identifier - HiLink rncQuoted Special - HiLink rncSpecial SpecialChar - HiLink rncLiteral String - HiLink rncDelimiter Delimiter - HiLink rncKeyword Keyword - HiLink rncIdentifier Identifier - - delcommand HiLink -endif +hi def link rncTodo Todo +hi def link rncComment Comment +hi def link rncOperator Operator +hi def link rncNamespace Identifier +hi def link rncQuoted Special +hi def link rncSpecial SpecialChar +hi def link rncAnnotation Special +hi def link rncLiteral String +hi def link rncDelimiter Delimiter +hi def link rncKeyword Keyword +hi def link rncIdentifier Identifier +hi def link rncIdName Identifier let b:current_syntax = "rnc" -" vim: set sts=2 sw=2: +let &cpo = s:cpo_save +unlet s:cpo_save
--- a/runtime/syntax/rst.vim +++ b/runtime/syntax/rst.vim @@ -1,107 +1,102 @@ " Vim syntax file -" Language: reStructuredText Documentation Format -" Maintainer: Nikolai Weibull <source@pcppopper.org> -" URL: http://www.pcppopper.org/vim/syntax/pcp/rst/ -" Latest Revision: 2004-05-13 -" arch-tag: 6fae09da-d5d4-49d8-aec1-e49008ea21e6 +" Language: reStructuredText documentation format +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 -if version < 600 - syntax clear -elseif exists("b:current_syntax") +if exists("b:current_syntax") finish endif -" todo -syn keyword rstTodo contained FIXME TODO XXX NOTE +let s:cpo_save = &cpo +set cpo&vim + +syn keyword rstTodo contained FIXME TODO XXX NOTE syn case ignore -" comments -syn region rstComment matchgroup=rstComment start="^\.\.\%( \%([a-z0-9_.-]\+::\)\@!\|$\)" end="^\s\@!" contains=rstTodo - -syn cluster rstCruft contains=rstFootnoteLabel,rstCitationLabel,rstSubstitutionLabel,rstInline,rstHyperlinks,rstInternalTarget +syn region rstComment matchgroup=rstComment + \ start='^\.\.\%( \%([a-z0-9_.-]\+::\)\@!\|$\)' + \ end='^\s\@!' contains=rstTodo -" blocks -" syn region rstBlock matchgroup=rstDelimiter start=":\@<!:$" skip="^$" end="^\s\@!" contains=@rstCruft -syn region rstBlock matchgroup=rstDelimiter start="::$" skip="^$" end="^\s\@!" -syn region rstDoctestBlock matchgroup=rstDelimiter start="^>>>\s" end="^$" +syn cluster rstCruft contains=rstFootnoteLabel,rstCitationLabel, + \ rstSubstitutionLabel,rstInline, + \ rstHyperlinks,rstInternalTarget -" tables +syn region rstBlock matchgroup=rstDelimiter + \ start='::$' skip='^$' end='^\s\@!' +syn region rstDoctestBlock matchgroup=rstDelimiter + \ start='^>>>\s' end='^$' + " TODO: these may actually be a bit too complicated to match correctly and -" should perhaps be removed. Whon really needs it anyway? -syn region rstTable transparent start="^\n\s*+[-=+]\+" end="^$" contains=rstTableLines,@rstCruft -syn match rstTableLines contained "^\s*[|+=-]\+$" -syn region rstSimpleTable transparent start="^\n\s*\%(=\+\s\+\)\%(=\+\s*\)\+$" end="^$" contains=rstSimpleTableLines,@rstCruft -syn match rstSimpleTableLines contained "^\s*\%(=\+\s\+\)\%(=\+\s*\)\+$" - -" footnotes -syn region rstFootnote matchgroup=rstDirective start="^\.\. \[\%([#*]\|[0-9]\+\|#[a-z0-9_.-]\+\)\]\s" end="^\s\@!" contains=@rstCruft -syn match rstFootnoteLabel "\[\%([#*]\|[0-9]\+\|#[a-z0-9_.-]\+\)\]_" +" should perhaps be removed. We won't really needs it anyway? +syn region rstTable transparent start='^\n\s*+[-=+]\+' end='^$' + \ contains=rstTableLines,@rstCruft +syn match rstTableLines contained '^\s*[|+=-]\+$' +syn region rstSimpleTable transparent + \ start='^\n\s*\%(=\+\s\+\)\%(=\+\s*\)\+$' + \ end='^$' + \ contains=rstSimpleTableLines,@rstCruft +syn match rstSimpleTableLines contained display + \ '^\s*\%(=\+\s\+\)\%(=\+\s*\)\+$' -" citations -syn region rstCitation matchgroup=rstDirective start="^\.\. \[[a-z0-9_.-]\+\]\s" end="^\s\@!" contains=@rstCruft -syn match rstCitationLabel "\[[a-z0-9_.-]\+\]_" +syn region rstFootnote matchgroup=rstDirective + \ start='^\.\. \[\%([#*]\|[0-9]\+\|#[a-z0-9_.-]\+\)\]\s' + \ end='^\s\@!' contains=@rstCruft +syn match rstFootnoteLabel '\[\%([#*]\|[0-9]\+\|#[a-z0-9_.-]\+\)\]_' -" directives -syn region rstDirectiveBody matchgroup=rstDirective start="^\.\. [a-z0-9_.-]\+::" end="^\s\@!" +syn region rstCitation matchgroup=rstDirective + \ start='^\.\. \[[a-z0-9_.-]\+\]\s' + \ end='^\s\@!' contains=@rstCruft +syn match rstCitationLabel '\[[a-z0-9_.-]\+\]_' -" substitutions -syn region rstSubstitution matchgroup=rstDirective start="^\.\. |[a-z0-9_.-]|\s[a-z0-9_.-]\+::\s" end="^\s\@!" contains=@rstCruft -syn match rstSubstitutionLabel "|[a-z0-9_.-]|" +syn region rstDirectiveBody matchgroup=rstDirective + \ start='^\.\. [a-z0-9_.-]\+::' + \ end='^\s\@!' -" inline markup -syn match rstInline "\*\{1,2}\S\%([^*]*\S\)\=\*\{1,2}" -syn match rstInline "`\{1,2}\S\%([^`]*\S\)\=`\{1,2}" +syn region rstSubstitution matchgroup=rstDirective + \ start='^\.\. |[a-z0-9_.-]|\s[a-z0-9_.-]\+::\s' + \ end='^\s\@!' contains=@rstCruft +syn match rstSubstitutionLbl '|[a-z0-9_.-]|' -" hyperlinks -syn region rstHyperlinks matchgroup=RstDirective start="^\.\. _[a-z0-9_. -]\+:\s" end="^\s\@!" contains=@rstCruft +syn match rstInline '\*\{1,2}\S\%([^*]*\S\)\=\*\{1,2}' +syn match rstInline '`\{1,2}\S\%([^`]*\S\)\=`\{1,2}' -syn match rstHyperlinksLabel "`\S\%([^`]*\S\)\=`__\=\>" -syn match rstHyperlinksLabel "\w\+__\=\>" +syn region rstHyperlinks matchgroup=RstDirective + \ start='^\.\. _[a-z0-9_. -]\+:\s' + \ end='^\s\@!' contains=@rstCruft -" internal targets -syn match rstInternalTarget "_`\S\%([^`]*\S\)\=`" +syn match rstHyperlinksLabel '`\S\%([^`]*\S\)\=`__\=\>' +syn match rstHyperlinksLabel '\w\+__\=\>' -" lists -syn match rstListItem "^:\%(\w\+\s*\)\+:" -syn match rstListItem "^\s*[-*+]\s\+" +syn match rstInternalTarget '_`\S\%([^`]*\S\)\=`' + +syn match rstListItem '^:\%(\w\+\s*\)\+:' +syn match rstListItem '^\s*[-*+]\s\+' syn sync minlines=50 -" Define the default highlighting. -" For version 5.7 and earlier: only when not done already -" For version 5.8 and later: only when an item doesn't have highlighting yet -if version >= 508 || !exists("did_rst_syn_inits") - if version < 508 - let did_rst_syn_inits = 1 - command -nargs=+ HiLink hi link <args> - else - command -nargs=+ HiLink hi def link <args> - endif - - HiLink rstTodo Todo - HiLink rstComment Comment - HiLink rstDelimiter Delimiter - HiLink rstBlock String - HiLink rstDoctestBlock PreProc - HiLink rstTableLines Delimiter - HiLink rstSimpleTableLines rstTableLines - HiLink rstFootnote String - HiLink rstFootnoteLabel Identifier - HiLink rstCitation String - HiLink rstCitationLabel Identifier - HiLink rstDirective Keyword - HiLink rstDirectiveBody Type - HiLink rstSubstitution String - HiLink rstSubstitutionLabel Identifier - HiLink rstHyperlinks String - HiLink rstHyperlinksLabel Identifier - HiLink rstListItem Identifier - hi def rstInline term=italic cterm=italic gui=italic - hi def rstInternalTarget term=italic cterm=italic gui=italic - delcommand HiLink -endif +hi def link rstTodo Todo +hi def link rstComment Comment +hi def link rstDelimiter Delimiter +hi def link rstBlock String +hi def link rstDoctestBlock PreProc +hi def link rstTableLines Delimiter +hi def link rstSimpleTableLines rstTableLines +hi def link rstFootnote String +hi def link rstFootnoteLabel Identifier +hi def link rstCitation String +hi def link rstCitationLabel Identifier +hi def link rstDirective Keyword +hi def link rstDirectiveBody Type +hi def link rstSubstitution String +hi def link rstSubstitutionLbl Identifier +hi def link rstHyperlinks String +hi def link rstHyperlinksLabel Identifier +hi def link rstListItem Identifier +hi def rstInline term=italic cterm=italic gui=italic +hi def rstInternalTarget term=italic cterm=italic gui=italic let b:current_syntax = "rst" -" vim: set sts=2 sw=2: +let &cpo = s:cpo_save +unlet s:cpo_save
--- a/runtime/syntax/screen.vim +++ b/runtime/syntax/screen.vim @@ -1,93 +1,83 @@ " Vim syntax file -" Language: Screen Virtual Terminal Emulator/Manager Configuration File -" Maintainer: Nikolai Weibull <source@pcppopper.org> -" URL: http://www.pcppopper.org/vim/syntax/pcp/screen/ -" Latest Revision: 2004-05-22 -" arch-tag: 6a97fb8f-fc88-497f-9c55-e946734ba034 +" Language: screen(1) configuration file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 -if version < 600 - syntax clear -elseif exists("b:current_syntax") +if exists("b:current_syntax") finish endif -" comments -syn region screenComment matchgroup=screenComment start="#" end="$" contains=screenTodo +let s:cpo_save = &cpo +set cpo&vim -" todo -syn keyword screenTodo contained TODO FIXME XXX NOTE +syn match screenEscape '\\.' -" string (can contain variables) -syn region screenString matchgroup=screenString start='"' skip='\\"' end='"\|$' contains=screenVariable,screenSpecial +syn keyword screenTodo contained TODO FIXME XXX NOTE -" literal string -syn region screenLiteral matchgroup=screenLiteral start="'" skip="\\'" end="'\|$" +syn region screenComment display oneline matchgroup=screenComment + \ start='#' end='$' contains=screenTodo,@Spell -" environment variables -syn match screenVariable contained "$\(\h\w*\|{\h\w*}\)" +syn region screenString display oneline matchgroup=screenString + \ start=+"+ skip=+\\"+ end=+"\|$+ + \ contains=screenVariable,screenSpecial -" booleans -syn keyword screenBoolean on off +syn region screenLiteral display oneline matchgroup=screenLiteral + \ start=+'+ skip=+\\'+ end=+'\|$+ -" numbers -syn match screenNumbers "\<\d\+\>" +syn match screenVariable contained display '$\(\h\w*\|{\h\w*}\)' + +syn keyword screenBoolean on off -" specials -syn match screenSpecials contained "%\([%aAdDhlmMstuwWyY?:{]\|[0-9]*n\|0?cC\)" +syn match screenNumbers display '\<\d\+\>' + +syn match screenSpecials contained + \ '%\([%aAdDhlmMstuwWyY?:{]\|[0-9]*n\|0?cC\)' -" commands -syn keyword screenCommands acladd aclchg acldel aclgrp aclumask activity addacl allpartial at attrcolor -syn keyword screenCommands autodetach bell_msg bind bindkey bufferfile caption chacl chdir clear colon -syn keyword screenCommands command compacthist console copy copy_regcrlf debug detach digraph dinfo crlf -syn keyword screenCommands displays dumptermcap echo exec fit focus height help history -syn keyword screenCommands info kill lastmsg license lockscreen markkeys meta msgminwait msgwait -syn keyword screenCommands multiuser nethack next nonblock number only other partial_state -syn keyword screenCommands password paste pastefont pow_break pow_detach_msg prev printcmd process -syn keyword screenCommands quit readbuf readreg redisplay register remove removebuf reset resize screen -syn keyword screenCommands select sessionname setenv shelltitle silencewait verbose -syn keyword screenCommands sleep sorendition split startup_message stuff su suspend time -syn keyword screenCommands title umask version wall width writebuf xoff xon defmode hardstatus -syn keyword screenCommands altscreen break breaktype copy_reg defbreaktype defencoding deflog encoding -syn keyword screenCommands eval ignorecase ins_reg maxwin partial pow_detach setsid source unsetenv -syn keyword screenCommands windowlist windows -syn match screenCommands "\<\(def\)\=\(autonuke\|bce\|c1\|charset\|escape\|flow\|kanji\|login\|monitor\|hstatus\|obuflimit\)\>" -syn match screenCommands "\<\(def\)\=\(scrollback\|shell\|silence\|slowpaste\|utf8\|wrap\|writelock\|zombie\|gr\)\>" -syn match screenCommands "\<hard\(copy\(_append\|dir\)\=\|status\)\>" -syn match screenCommands "\<log\(file\|in\|tstamp\)\=\>" -syn match screenCommands "\<map\(default\|notnext\|timeout\)\>" -syn match screenCommands "\<term\(cap\|info\|capinfo\)\=\>" -syn match screenCommands "\<vbell\(_msg\|wait\)\=\>" +syn keyword screenCommands acladd aclchg acldel aclgrp aclumask activity + \ addacl allpartial at attrcolor autodetach + \ bell_msg bind bindkey bufferfile caption chacl + \ chdir clear colon command compacthist console + \ copy copy_regcrlf debug detach digraph dinfo + \ crlf displays dumptermcap echo exec fit focus + \ height help history info kill lastmsg license + \ lockscreen markkeys meta msgminwait msgwait + \ multiuser nethack next nonblock number only + \ other partial_state password paste pastefont + \ pow_break pow_detach_msg prev printcmd process + \ quit readbuf readreg redisplay register + \ remove removebuf reset resize screen select + \ sessionname setenv shelltitle silencewait + \ verbose sleep sorendition split startup_message + \ stuff su suspend time title umask version wall + \ width writebuf xoff xon defmode hardstatus + \ altscreen break breaktype copy_reg defbreaktype + \ defencoding deflog encoding eval ignorecase + \ ins_reg maxwin partial pow_detach setsid source + \ unsetenv windowlist windows defautonuke autonuke + \ defbce bce defc1 c1 defcharset charset defescape + \ escape defflow flow defkanji kanji deflogin + \ login defmonitor monitor defhstatus hstatus + \ defobuflimit obuflimit defscrollback scrollback + \ defshell shell defsilence silence defslowpaste + \ slowpaste defutf8 utf8 defwrap wrap defwritelock + \ writelock defzombie zombie defgr gr hardcopy + \ hardcopy_append hardcopydir hardstatus log + \ logfile login logtstamp mapdefault mapnotnext + \ maptimeout term termcap terminfo termcapinfo + \ vbell vbell_msg vbellwait -if exists("screen_minlines") - let b:screen_minlines = screen_minlines -else - let b:screen_minlines = 10 -endif -exec "syn sync minlines=" . b:screen_minlines - -" Define the default highlighting. -" For version 5.7 and earlier: only when not done already -" For version 5.8 and later: only when an item doesn't have highlighting yet -if version >= 508 || !exists("did_screen_syn_inits") - if version < 508 - let did_screen_syn_inits = 1 - command -nargs=+ HiLink hi link <args> - else - command -nargs=+ HiLink hi def link <args> - endif - - HiLink screenComment Comment - HiLink screenTodo Todo - HiLink screenString String - HiLink screenLiteral String - HiLink screenVariable Identifier - HiLink screenBoolean Boolean - HiLink screenNumbers Number - HiLink screenSpecials Special - HiLink screenCommands Keyword - delcommand HiLink -endif +hi def link screenEscape Special +hi def link screenComment Comment +hi def link screenTodo Todo +hi def link screenString String +hi def link screenLiteral String +hi def link screenVariable Identifier +hi def link screenBoolean Boolean +hi def link screenNumbers Number +hi def link screenSpecials Special +hi def link screenCommands Keyword let b:current_syntax = "screen" -" vim: set sts=2 sw=2: +let &cpo = s:cpo_save +unlet s:cpo_save
--- a/runtime/syntax/sieve.vim +++ b/runtime/syntax/sieve.vim @@ -1,70 +1,56 @@ " Vim syntax file -" Maintainer: Nikolai Weibull <source@pcppopper.org> -" URL: http://www.pcppopper.org/ -" Latest Revision: 2004-11-11 -" arch-tag: 356fad6d-ff6b-453c-bd25-7fc63c4758bc +" Language: Sieve filtering language input file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 -if version < 600 - syntax clear -elseif exists("b:current_syntax") +if exists("b:current_syntax") finish endif -" Todo -syn keyword sieveTodo contained TODO FIXME XXX NOTE +let s:cpo_save = &cpo +set cpo&vim + +syn keyword sieveTodo contained TODO FIXME XXX NOTE -" Comments -syn region sieveComment matchgroup=sieveComment start='/\*' end='\*/' contains=sieveTodo -syn region sieveComment matchgroup=sieveComment start='#' end='$' contains=sieveTodo +syn region sieveComment matchgroup=sieveComment start='/\*' end='\*/' + \ contains=sieveTodo,@Spell +syn region sieveComment matchgroup=sieveComment start='#' end='$' + \ contains=sieveTodo,@Spell syn case ignore -" Tags -syn match sieveTag ':\h\w*' +syn match sieveTag display ':\h\w*' -" Numbers -syn match sieveNumber '\d\+[KMG]\=' +syn match sieveNumber display '\<\d\+[KMG]\=\>' -" Specials -syn match sieveSpecial '\\["\\]' +syn match sieveSpecial display '\\["\\]' -" Strings -syn region sieveString matchgroup=sieveString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=sieveSpecial -syn region sieveString matchgroup=sieveString start='text:' end='\n.\n' +syn region sieveString matchgroup=sieveString start=+"+ + \ skip=+\\\\\|\\"+ end=+"+ contains=sieveSpecial +syn region sieveString matchgroup=sieveString start='text:' end='\n.\n' -" Keywords syn keyword sieveConditional if elsif else -syn keyword sieveTest address allof anyof envelope exists false header not size true +syn keyword sieveTest address allof anyof envelope exists false header + \ not size true syn keyword sievePreProc require stop -syn keyword sieveAction reject fileinto redirect keep discard +syn keyword sieveAction reject fileinto redirect keep discard syn match sieveKeyword '\<\h\w*\>' -" Define the default highlighting. -" For version 5.7 and earlier: only when not done already -" For version 5.8 and later: only when an item doesn't have highlighting yet -if version >= 508 || !exists("did_sieve_syn_inits") - if version < 508 - let did_sieve_syn_inits = 1 - command -nargs=+ HiLink hi link <args> - else - command -nargs=+ HiLink hi def link <args> - endif +syn case match - HiLink sieveTodo Todo - HiLink sieveComment Comment - HiLink sieveTag Type - HiLink sieveNumber Number - HiLink sieveSpecial Special - HiLink sieveString String - HiLink sieveConditional Conditional - HiLink sieveTest Keyword - HiLink sievePreProc PreProc - HiLink sieveAction Keyword - HiLink sieveKeyword Keyword - - delcommand HiLink -endif +hi def link sieveTodo Todo +hi def link sieveComment Comment +hi def link sieveTag Type +hi def link sieveNumber Number +hi def link sieveSpecial Special +hi def link sieveString String +hi def link sieveConditional Conditional +hi def link sieveTest Keyword +hi def link sievePreProc PreProc +hi def link sieveAction Keyword +hi def link sieveKeyword Keyword let b:current_syntax = "sieve" -" vim: set sts=2 sw=2: +let &cpo = s:cpo_save +unlet s:cpo_save
--- a/runtime/syntax/sudoers.vim +++ b/runtime/syntax/sudoers.vim @@ -1,164 +1,154 @@ " Vim syntax file -" Language: sudoers(5) configuration files. -" Maintainer: Nikolai Weibull <source@pcppopper.org> -" URL: http://www.pcppopper.org/ -" Latest Revision: 2004-12-17 -" arch-tag: 02fc3bc8-4308-466f-b83e-718a7487b198 +" Language: sudoers(5) configuration files +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 -if version < 600 - syntax clear -elseif exists("b:current_syntax") +if exists("b:current_syntax") finish endif +let s:cpo_save = &cpo +set cpo&vim + " TODO: instead of 'skipnl', we would like to match a specific group that would " match \\$ and then continue with the nextgroup, actually, the skipnl doesn't " work... " TODO: treat 'ALL' like a special (yay, a bundle of new rules!!!) -" User Specs syn match sudoersUserSpec '^' nextgroup=@sudoersUserInSpec skipwhite -syn match sudoersSpecEquals contained '=' nextgroup=@sudoersCmndSpecList skipwhite +syn match sudoersSpecEquals contained '=' nextgroup=@sudoersCmndSpecList skipwhite -syn cluster sudoersCmndSpecList contains=sudoersUserRunasBegin,sudoersPASSWD,@sudoersCmndInSpec +syn cluster sudoersCmndSpecList contains=sudoersUserRunasBegin,sudoersPASSWD,@sudoersCmndInSpec + +syn keyword sudoersTodo contained TODO FIXME XXX NOTE -" Todo -syn keyword sudoersTodo contained TODO FIXME XXX NOTE +syn region sudoersComment matchgroup=sudoersComment start='#' end='$' contains=sudoersTodo -" Comments -syn region sudoersComment matchgroup=sudoersComment start='#' end='$' contains=sudoersTodo +syn keyword sudoersAlias User_Alias Runas_Alias nextgroup=sudoersUserAlias skipwhite skipnl +syn keyword sudoersAlias Host_Alias nextgroup=sudoersHostAlias skipwhite skipnl +syn keyword sudoersAlias Cmnd_Alias nextgroup=sudoersCmndAlias skipwhite skipnl -" Aliases -syn keyword sudoersAlias User_Alias Runas_Alias nextgroup=sudoersUserAlias skipwhite skipnl -syn keyword sudoersAlias Host_Alias nextgroup=sudoersHostAlias skipwhite skipnl -syn keyword sudoersAlias Cmnd_Alias nextgroup=sudoersCmndAlias skipwhite skipnl +syn match sudoersUserAlias contained '\<\u[A-Z0-9_]*\>' nextgroup=sudoersUserAliasEquals skipwhite skipnl +syn match sudoersUserNameInList contained '\<\l\+\>' nextgroup=@sudoersUserList skipwhite skipnl +syn match sudoersUIDInList contained '#\d\+\>' nextgroup=@sudoersUserList skipwhite skipnl +syn match sudoersGroupInList contained '%\l\+\>' nextgroup=@sudoersUserList skipwhite skipnl +syn match sudoersUserNetgroupInList contained '+\l\+\>' nextgroup=@sudoersUserList skipwhite skipnl +syn match sudoersUserAliasInList contained '\<\u[A-Z0-9_]*\>' nextgroup=@sudoersUserList skipwhite skipnl -" Names -syn match sudoersUserAlias contained '\<\u[A-Z0-9_]*\>' nextgroup=sudoersUserAliasEquals skipwhite skipnl -syn match sudoersUserNameInList contained '\<\l\+\>' nextgroup=@sudoersUserList skipwhite skipnl -syn match sudoersUIDInList contained '#\d\+\>' nextgroup=@sudoersUserList skipwhite skipnl -syn match sudoersGroupInList contained '%\l\+\>' nextgroup=@sudoersUserList skipwhite skipnl -syn match sudoersUserNetgroupInList contained '+\l\+\>' nextgroup=@sudoersUserList skipwhite skipnl -syn match sudoersUserAliasInList contained '\<\u[A-Z0-9_]*\>' nextgroup=@sudoersUserList skipwhite skipnl - -syn match sudoersUserName contained '\<\l\+\>' nextgroup=@sudoersParameter skipwhite skipnl -syn match sudoersUID contained '#\d\+\>' nextgroup=@sudoersParameter skipwhite skipnl -syn match sudoersGroup contained '%\l\+\>' nextgroup=@sudoersParameter skipwhite skipnl -syn match sudoersUserNetgroup contained '+\l\+\>' nextgroup=@sudoersParameter skipwhite skipnl -syn match sudoersUserAliasRef contained '\<\u[A-Z0-9_]*\>' nextgroup=@sudoersParameter skipwhite skipnl +syn match sudoersUserName contained '\<\l\+\>' nextgroup=@sudoersParameter skipwhite skipnl +syn match sudoersUID contained '#\d\+\>' nextgroup=@sudoersParameter skipwhite skipnl +syn match sudoersGroup contained '%\l\+\>' nextgroup=@sudoersParameter skipwhite skipnl +syn match sudoersUserNetgroup contained '+\l\+\>' nextgroup=@sudoersParameter skipwhite skipnl +syn match sudoersUserAliasRef contained '\<\u[A-Z0-9_]*\>' nextgroup=@sudoersParameter skipwhite skipnl -syn match sudoersUserNameInSpec contained '\<\l\+\>' nextgroup=@sudoersUserSpec skipwhite skipnl -syn match sudoersUIDInSpec contained '#\d\+\>' nextgroup=@sudoersUserSpec skipwhite skipnl -syn match sudoersGroupInSpec contained '%\l\+\>' nextgroup=@sudoersUserSpec skipwhite skipnl -syn match sudoersUserNetgroupInSpec contained '+\l\+\>' nextgroup=@sudoersUserSpec skipwhite skipnl -syn match sudoersUserAliasInSpec contained '\<\u[A-Z0-9_]*\>' nextgroup=@sudoersUserSpec skipwhite skipnl +syn match sudoersUserNameInSpec contained '\<\l\+\>' nextgroup=@sudoersUserSpec skipwhite skipnl +syn match sudoersUIDInSpec contained '#\d\+\>' nextgroup=@sudoersUserSpec skipwhite skipnl +syn match sudoersGroupInSpec contained '%\l\+\>' nextgroup=@sudoersUserSpec skipwhite skipnl +syn match sudoersUserNetgroupInSpec contained '+\l\+\>' nextgroup=@sudoersUserSpec skipwhite skipnl +syn match sudoersUserAliasInSpec contained '\<\u[A-Z0-9_]*\>' nextgroup=@sudoersUserSpec skipwhite skipnl -syn match sudoersUserNameInRunas contained '\<\l\+\>' nextgroup=@sudoersUserRunas skipwhite skipnl -syn match sudoersUIDInRunas contained '#\d\+\>' nextgroup=@sudoersUserRunas skipwhite skipnl -syn match sudoersGroupInRunas contained '%\l\+\>' nextgroup=@sudoersUserRunas skipwhite skipnl -syn match sudoersUserNetgroupInRunas contained '+\l\+\>' nextgroup=@sudoersUserRunas skipwhite skipnl -syn match sudoersUserAliasInRunas contained '\<\u[A-Z0-9_]*\>' nextgroup=@sudoersUserRunas skipwhite skipnl +syn match sudoersUserNameInRunas contained '\<\l\+\>' nextgroup=@sudoersUserRunas skipwhite skipnl +syn match sudoersUIDInRunas contained '#\d\+\>' nextgroup=@sudoersUserRunas skipwhite skipnl +syn match sudoersGroupInRunas contained '%\l\+\>' nextgroup=@sudoersUserRunas skipwhite skipnl +syn match sudoersUserNetgroupInRunas contained '+\l\+\>' nextgroup=@sudoersUserRunas skipwhite skipnl +syn match sudoersUserAliasInRunas contained '\<\u[A-Z0-9_]*\>' nextgroup=@sudoersUserRunas skipwhite skipnl -syn match sudoersHostAlias contained '\<\u[A-Z0-9_]*\>' nextgroup=sudoersHostAliasEquals skipwhite skipnl -syn match sudoersHostNameInList contained '\<\l\+\>' nextgroup=@sudoersHostList skipwhite skipnl -syn match sudoersIPAddrInList contained '\%(\d\{1,3}\.\)\{3}\d\{1,3}' nextgroup=@sudoersHostList skipwhite skipnl +syn match sudoersHostAlias contained '\<\u[A-Z0-9_]*\>' nextgroup=sudoersHostAliasEquals skipwhite skipnl +syn match sudoersHostNameInList contained '\<\l\+\>' nextgroup=@sudoersHostList skipwhite skipnl +syn match sudoersIPAddrInList contained '\%(\d\{1,3}\.\)\{3}\d\{1,3}' nextgroup=@sudoersHostList skipwhite skipnl syn match sudoersNetworkInList contained '\%(\d\{1,3}\.\)\{3}\d\{1,3}\%(/\%(\%(\d\{1,3}\.\)\{3}\d\{1,3}\|\d\+\)\)\=' nextgroup=@sudoersHostList skipwhite skipnl -syn match sudoersHostNetgroupInList contained '+\l\+\>' nextgroup=@sudoersHostList skipwhite skipnl -syn match sudoersHostAliasInList contained '\<\u[A-Z0-9_]*\>' nextgroup=@sudoersHostList skipwhite skipnl +syn match sudoersHostNetgroupInList contained '+\l\+\>' nextgroup=@sudoersHostList skipwhite skipnl +syn match sudoersHostAliasInList contained '\<\u[A-Z0-9_]*\>' nextgroup=@sudoersHostList skipwhite skipnl -syn match sudoersHostName contained '\<\l\+\>' nextgroup=@sudoersParameter skipwhite skipnl -syn match sudoersIPAddr contained '\%(\d\{1,3}\.\)\{3}\d\{1,3}' nextgroup=@sudoersParameter skipwhite skipnl -syn match sudoersNetwork contained '\%(\d\{1,3}\.\)\{3}\d\{1,3}\%(/\%(\%(\d\{1,3}\.\)\{3}\d\{1,3}\|\d\+\)\)\=' nextgroup=@sudoersParameter skipwhite skipnl -syn match sudoersHostNetgroup contained '+\l\+\>' nextgroup=@sudoersParameter skipwhite skipnl -syn match sudoersHostAliasRef contained '\<\u[A-Z0-9_]*\>' nextgroup=@sudoersParameter skipwhite skipnl +syn match sudoersHostName contained '\<\l\+\>' nextgroup=@sudoersParameter skipwhite skipnl +syn match sudoersIPAddr contained '\%(\d\{1,3}\.\)\{3}\d\{1,3}' nextgroup=@sudoersParameter skipwhite skipnl +syn match sudoersNetwork contained '\%(\d\{1,3}\.\)\{3}\d\{1,3}\%(/\%(\%(\d\{1,3}\.\)\{3}\d\{1,3}\|\d\+\)\)\=' nextgroup=@sudoersParameter skipwhite skipnl +syn match sudoersHostNetgroup contained '+\l\+\>' nextgroup=@sudoersParameter skipwhite skipnl +syn match sudoersHostAliasRef contained '\<\u[A-Z0-9_]*\>' nextgroup=@sudoersParameter skipwhite skipnl -syn match sudoersHostNameInSpec contained '\<\l\+\>' nextgroup=@sudoersHostSpec skipwhite skipnl -syn match sudoersIPAddrInSpec contained '\%(\d\{1,3}\.\)\{3}\d\{1,3}' nextgroup=@sudoersHostSpec skipwhite skipnl +syn match sudoersHostNameInSpec contained '\<\l\+\>' nextgroup=@sudoersHostSpec skipwhite skipnl +syn match sudoersIPAddrInSpec contained '\%(\d\{1,3}\.\)\{3}\d\{1,3}' nextgroup=@sudoersHostSpec skipwhite skipnl syn match sudoersNetworkInSpec contained '\%(\d\{1,3}\.\)\{3}\d\{1,3}\%(/\%(\%(\d\{1,3}\.\)\{3}\d\{1,3}\|\d\+\)\)\=' nextgroup=@sudoersHostSpec skipwhite skipnl -syn match sudoersHostNetgroupInSpec contained '+\l\+\>' nextgroup=@sudoersHostSpec skipwhite skipnl -syn match sudoersHostAliasInSpec contained '\<\u[A-Z0-9_]*\>' nextgroup=@sudoersHostSpec skipwhite skipnl +syn match sudoersHostNetgroupInSpec contained '+\l\+\>' nextgroup=@sudoersHostSpec skipwhite skipnl +syn match sudoersHostAliasInSpec contained '\<\u[A-Z0-9_]*\>' nextgroup=@sudoersHostSpec skipwhite skipnl -syn match sudoersCmndAlias contained '\<\u[A-Z0-9_]*\>' nextgroup=sudoersCmndAliasEquals skipwhite skipnl +syn match sudoersCmndAlias contained '\<\u[A-Z0-9_]*\>' nextgroup=sudoersCmndAliasEquals skipwhite skipnl syn match sudoersCmndNameInList contained '[^[:space:],:=\\]\+\%(\\[[:space:],:=\\][^[:space:],:=\\]*\)*' nextgroup=@sudoersCmndList,sudoersCommandEmpty,sudoersCommandArgs skipwhite -syn match sudoersCmndAliasInList contained '\<\u[A-Z0-9_]*\>' nextgroup=@sudoersCmndList skipwhite skipnl +syn match sudoersCmndAliasInList contained '\<\u[A-Z0-9_]*\>' nextgroup=@sudoersCmndList skipwhite skipnl syn match sudoersCmndNameInSpec contained '[^[:space:],:=\\]\+\%(\\[[:space:],:=\\][^[:space:],:=\\]*\)*' nextgroup=@sudoersCmndSpec,sudoersCommandEmptyInSpec,sudoersCommandArgsInSpec skipwhite -syn match sudoersCmndAliasInSpec contained '\<\u[A-Z0-9_]*\>' nextgroup=@sudoersCmndSpec skipwhite skipnl +syn match sudoersCmndAliasInSpec contained '\<\u[A-Z0-9_]*\>' nextgroup=@sudoersCmndSpec skipwhite skipnl -" Delimiters -syn match sudoersUserAliasEquals contained '=' nextgroup=@sudoersUserInList skipwhite skipnl -syn match sudoersUserListComma contained ',' nextgroup=@sudoersUserInList skipwhite skipnl -syn match sudoersUserListColon contained ':' nextgroup=sudoersUserAlias skipwhite skipnl -syn cluster sudoersUserList contains=sudoersUserListComma,sudoersUserListColon +syn match sudoersUserAliasEquals contained '=' nextgroup=@sudoersUserInList skipwhite skipnl +syn match sudoersUserListComma contained ',' nextgroup=@sudoersUserInList skipwhite skipnl +syn match sudoersUserListColon contained ':' nextgroup=sudoersUserAlias skipwhite skipnl +syn cluster sudoersUserList contains=sudoersUserListComma,sudoersUserListColon -syn match sudoersUserSpecComma contained ',' nextgroup=@sudoersUserInSpec skipwhite skipnl -syn cluster sudoersUserSpec contains=sudoersUserSpecComma,@sudoersHostInSpec +syn match sudoersUserSpecComma contained ',' nextgroup=@sudoersUserInSpec skipwhite skipnl +syn cluster sudoersUserSpec contains=sudoersUserSpecComma,@sudoersHostInSpec syn match sudoersUserRunasBegin contained '(' nextgroup=@sudoersUserInRunas 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 sudoersUserRunasComma contained ',' nextgroup=@sudoersUserInRunas skipwhite skipnl +syn match sudoersUserRunasEnd contained ')' nextgroup=sudoersPASSWD,@sudoersCmndInSpec skipwhite skipnl +syn cluster sudoersUserRunas contains=sudoersUserRunasComma,@sudoersUserInRunas,sudoersUserRunasEnd -syn match sudoersHostAliasEquals contained '=' nextgroup=@sudoersHostInList skipwhite skipnl -syn match sudoersHostListComma contained ',' nextgroup=@sudoersHostInList skipwhite skipnl -syn match sudoersHostListColon contained ':' nextgroup=sudoersHostAlias skipwhite skipnl -syn cluster sudoersHostList contains=sudoersHostListComma,sudoersHostListColon +syn match sudoersHostAliasEquals contained '=' nextgroup=@sudoersHostInList skipwhite skipnl +syn match sudoersHostListComma contained ',' nextgroup=@sudoersHostInList skipwhite skipnl +syn match sudoersHostListColon contained ':' nextgroup=sudoersHostAlias skipwhite skipnl +syn cluster sudoersHostList contains=sudoersHostListComma,sudoersHostListColon -syn match sudoersHostSpecComma contained ',' nextgroup=@sudoersHostInSpec skipwhite skipnl -syn cluster sudoersHostSpec contains=sudoersHostSpecComma,sudoersSpecEquals +syn match sudoersHostSpecComma contained ',' nextgroup=@sudoersHostInSpec skipwhite skipnl +syn cluster sudoersHostSpec contains=sudoersHostSpecComma,sudoersSpecEquals -syn match sudoersCmndAliasEquals contained '=' nextgroup=@sudoersCmndInList skipwhite skipnl -syn match sudoersCmndListComma contained ',' nextgroup=@sudoersCmndInList skipwhite skipnl -syn match sudoersCmndListColon contained ':' nextgroup=sudoersCmndAlias skipwhite skipnl -syn cluster sudoersCmndList contains=sudoersCmndListComma,sudoersCmndListColon +syn match sudoersCmndAliasEquals contained '=' nextgroup=@sudoersCmndInList skipwhite skipnl +syn match sudoersCmndListComma contained ',' nextgroup=@sudoersCmndInList skipwhite skipnl +syn match sudoersCmndListColon contained ':' nextgroup=sudoersCmndAlias skipwhite skipnl +syn cluster sudoersCmndList contains=sudoersCmndListComma,sudoersCmndListColon syn match sudoersCmndSpecComma contained ',' nextgroup=@sudoersCmndSpecList skipwhite skipnl -syn match sudoersCmndSpecColon contained ':' nextgroup=@sudoersUserInSpec skipwhite skipnl -syn cluster sudoersCmndSpec contains=sudoersCmndSpecComma,sudoersCmndSpecColon +syn match sudoersCmndSpecColon contained ':' nextgroup=@sudoersUserInSpec skipwhite skipnl +syn cluster sudoersCmndSpec contains=sudoersCmndSpecComma,sudoersCmndSpecColon -" Lists -syn cluster sudoersUserInList contains=sudoersUserNegationInList,sudoersUserNameInList,sudoersUIDInList,sudoersGroupInList,sudoersUserNetgroupInList,sudoersUserAliasInList -syn cluster sudoersHostInList contains=sudoersHostNegationInList,sudoersHostNameInList,sudoersIPAddrInList,sudoersNetworkInList,sudoersHostNetgroupInList,sudoersHostAliasInList -syn cluster sudoersCmndInList contains=sudoersCmndNegationInList,sudoersCmndNameInList,sudoersCmndAliasInList +syn cluster sudoersUserInList contains=sudoersUserNegationInList,sudoersUserNameInList,sudoersUIDInList,sudoersGroupInList,sudoersUserNetgroupInList,sudoersUserAliasInList +syn cluster sudoersHostInList contains=sudoersHostNegationInList,sudoersHostNameInList,sudoersIPAddrInList,sudoersNetworkInList,sudoersHostNetgroupInList,sudoersHostAliasInList +syn cluster sudoersCmndInList contains=sudoersCmndNegationInList,sudoersCmndNameInList,sudoersCmndAliasInList -syn cluster sudoersUser contains=sudoersUserNegation,sudoersUserName,sudoersUID,sudoersGroup,sudoersUserNetgroup,sudoersUserAliasRef -syn cluster sudoersHost contains=sudoersHostNegation,sudoersHostName,sudoersIPAddr,sudoersNetwork,sudoersHostNetgroup,sudoersHostAliasRef +syn cluster sudoersUser contains=sudoersUserNegation,sudoersUserName,sudoersUID,sudoersGroup,sudoersUserNetgroup,sudoersUserAliasRef +syn cluster sudoersHost contains=sudoersHostNegation,sudoersHostName,sudoersIPAddr,sudoersNetwork,sudoersHostNetgroup,sudoersHostAliasRef -syn cluster sudoersUserInSpec contains=sudoersUserNegationInSpec,sudoersUserNameInSpec,sudoersUIDInSpec,sudoersGroupInSpec,sudoersUserNetgroupInSpec,sudoersUserAliasInSpec -syn cluster sudoersHostInSpec contains=sudoersHostNegationInSpec,sudoersHostNameInSpec,sudoersIPAddrInSpec,sudoersNetworkInSpec,sudoersHostNetgroupInSpec,sudoersHostAliasInSpec -syn cluster sudoersUserInRunas contains=sudoersUserNegationInRunas,sudoersUserNameInRunas,sudoersUIDInRunas,sudoersGroupInRunas,sudoersUserNetgroupInRunas,sudoersUserAliasInRunas -syn cluster sudoersCmndInSpec contains=sudoersCmndNegationInSpec,sudoersCmndNameInSpec,sudoersCmndAliasInSpec +syn cluster sudoersUserInSpec contains=sudoersUserNegationInSpec,sudoersUserNameInSpec,sudoersUIDInSpec,sudoersGroupInSpec,sudoersUserNetgroupInSpec,sudoersUserAliasInSpec +syn cluster sudoersHostInSpec contains=sudoersHostNegationInSpec,sudoersHostNameInSpec,sudoersIPAddrInSpec,sudoersNetworkInSpec,sudoersHostNetgroupInSpec,sudoersHostAliasInSpec +syn cluster sudoersUserInRunas contains=sudoersUserNegationInRunas,sudoersUserNameInRunas,sudoersUIDInRunas,sudoersGroupInRunas,sudoersUserNetgroupInRunas,sudoersUserAliasInRunas +syn cluster sudoersCmndInSpec contains=sudoersCmndNegationInSpec,sudoersCmndNameInSpec,sudoersCmndAliasInSpec -" Operators syn match sudoersUserNegationInList contained '!\+' nextgroup=@sudoersUserInList skipwhite skipnl syn match sudoersHostNegationInList contained '!\+' nextgroup=@sudoersHostInList skipwhite skipnl syn match sudoersCmndNegationInList contained '!\+' nextgroup=@sudoersCmndInList skipwhite skipnl -syn match sudoersUserNegation contained '!\+' nextgroup=@sudoersUser skipwhite skipnl -syn match sudoersHostNegation contained '!\+' nextgroup=@sudoersHost skipwhite skipnl +syn match sudoersUserNegation contained '!\+' nextgroup=@sudoersUser skipwhite skipnl +syn match sudoersHostNegation contained '!\+' nextgroup=@sudoersHost skipwhite skipnl syn match sudoersUserNegationInSpec contained '!\+' nextgroup=@sudoersUserInSpec skipwhite skipnl syn match sudoersHostNegationInSpec contained '!\+' nextgroup=@sudoersHostInSpec skipwhite skipnl syn match sudoersUserNegationInRunas contained '!\+' nextgroup=@sudoersUserInRunas skipwhite skipnl syn match sudoersCmndNegationInSpec contained '!\+' nextgroup=@sudoersCmndInSpec skipwhite skipnl -" Arguments -syn match sudoersCommandArgs contained '[^[:space:],:=\\]\+\%(\\[[:space:],:=\\][^[:space:],:=\\]*\)*' nextgroup=sudoersCommandArgs,@sudoersCmndList skipwhite -syn match sudoersCommandEmpty contained '""' nextgroup=@sudoersCmndList skipwhite skipnl +syn match sudoersCommandArgs contained '[^[:space:],:=\\]\+\%(\\[[:space:],:=\\][^[:space:],:=\\]*\)*' nextgroup=sudoersCommandArgs,@sudoersCmndList skipwhite +syn match sudoersCommandEmpty contained '""' nextgroup=@sudoersCmndList skipwhite skipnl syn match sudoersCommandArgsInSpec contained '[^[:space:],:=\\]\+\%(\\[[:space:],:=\\][^[:space:],:=\\]*\)*' nextgroup=sudoersCommandArgsInSpec,@sudoersCmndSpec skipwhite syn match sudoersCommandEmptyInSpec contained '""' nextgroup=@sudoersCmndSpec skipwhite skipnl -" Default Entries -syn keyword sudoersDefaultEntry Defaults nextgroup=sudoersDefaultTypeAt,sudoersDefaultTypeColon,sudoersDefaultTypeGreaterThan,@sudoersParameter skipwhite skipnl -syn match sudoersDefaultTypeAt contained '@' nextgroup=@sudoersHost skipwhite skipnl -syn match sudoersDefaultTypeColon contained ':' nextgroup=@sudoersUser skipwhite skipnl +syn keyword sudoersDefaultEntry Defaults nextgroup=sudoersDefaultTypeAt,sudoersDefaultTypeColon,sudoersDefaultTypeGreaterThan,@sudoersParameter skipwhite skipnl +syn match sudoersDefaultTypeAt contained '@' nextgroup=@sudoersHost skipwhite skipnl +syn match sudoersDefaultTypeColon contained ':' nextgroup=@sudoersUser skipwhite skipnl syn match sudoersDefaultTypeGreaterThan contained '>' nextgroup=@sudoersUser skipwhite skipnl " TODO: could also deal with special characters here +syn match sudoersBooleanParameter contained '!' nextgroup=sudoersBooleanParameter skipwhite skipnl syn keyword sudoersBooleanParameter contained long_opt_prompt ignore_dot mail_always mail_badpass mail_no_user mail_no_perms tty_tickets lecture authenticate root_sudo log_host log_year shell_noargs set_home always_set_home path_info preserve_groups fqdn insults requiretty env_editor rootpw runaspw targetpw set_logname stay_setuid env_reset use_loginclass nextgroup=sudoersParameterListComma skipwhite skipnl syn keyword sudoersIntegerParameter contained passwd_tries loglinelen timestamp_timeout passwd_timeout umask nextgroup=sudoersIntegerParameterEquals skipwhite skipnl syn keyword sudoersStringParameter contained mailsub badpass_message timestampdir timestampowner passprompt runas_default syslog_goodpri syslog_badpri editor logfile syslog mailerpath mailerflags mailto exempt_group verifypw listpw nextgroup=sudoersStringParameterEquals skipwhite skipnl @@ -166,125 +156,111 @@ syn keyword sudoersListParameter cont syn match sudoersParameterListComma contained ',' nextgroup=@sudoersParameter skipwhite skipnl -syn cluster sudoersParameter contains=sudoersBooleanParameter,sudoersIntegerParameterEquals,sudoersStringParameter,sudoersListParameter +syn cluster sudoersParameter contains=sudoersBooleanParameter,sudoersIntegerParameterEquals,sudoersStringParameter,sudoersListParameter syn match sudoersIntegerParameterEquals contained '[+-]\==' nextgroup=sudoersIntegerValue skipwhite skipnl syn match sudoersStringParameterEquals contained '[+-]\==' nextgroup=sudoersStringValue skipwhite skipnl -syn match sudoersListParameterEquals contained '[+-]\==' nextgroup=sudoersListValue skipwhite skipnl - -syn match sudoersIntegerValue contained '\d\+' nextgroup=sudoersParameterListComma skipwhite skipnl -syn match sudoersStringValue contained '[^[:space:],:=\\]*\%(\\[[:space:],:=\\][^[:space:],:=\\]*\)*' nextgroup=sudoersParameterListComma skipwhite skipnl -syn region sudoersStringValue contained start=+"+ skip=+\\"+ end=+"+ nextgroup=sudoersParameterListComma skipwhite skipnl -syn match sudoersListValue contained '[^[:space:],:=\\]*\%(\\[[:space:],:=\\][^[:space:],:=\\]*\)*' nextgroup=sudoersParameterListComma skipwhite skipnl -syn region sudoersListValue contained start=+"+ skip=+\\"+ end=+"+ nextgroup=sudoersParameterListComma skipwhite skipnl - -" Special for specs -syn match sudoersPASSWD contained '\%(NO\)\=PASSWD:' nextgroup=@sudoersCmndInSpec skipwhite +syn match sudoersListParameterEquals contained '[+-]\==' nextgroup=sudoersListValue skipwhite skipnl -" Define the default highlighting. -" For version 5.7 and earlier: only when not done already -" For version 5.8 and later: only when an item doesn't have highlighting yet -if version >= 508 || !exists("did_sudoers_syn_inits") - if version < 508 - let did_sudoers_syn_inits = 1 - command -nargs=+ HiLink hi link <args> - else - command -nargs=+ HiLink hi def link <args> - endif +syn match sudoersIntegerValue contained '\d\+' nextgroup=sudoersParameterListComma skipwhite skipnl +syn match sudoersStringValue contained '[^[:space:],:=\\]*\%(\\[[:space:],:=\\][^[:space:],:=\\]*\)*' nextgroup=sudoersParameterListComma skipwhite skipnl +syn region sudoersStringValue contained start=+"+ skip=+\\"+ end=+"+ nextgroup=sudoersParameterListComma skipwhite skipnl +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 - HiLink sudoersSpecEquals Operator - HiLink sudoersTodo Todo - HiLink sudoersComment Comment - HiLink sudoersAlias Keyword - HiLink sudoersUserAlias Identifier - HiLink sudoersUserNameInList String - HiLink sudoersUIDInList Number - HiLink sudoersGroupInList PreProc - HiLink sudoersUserNetgroupInList PreProc - HiLink sudoersUserAliasInList PreProc - HiLink sudoersUserName String - HiLink sudoersUID Number - HiLink sudoersGroup PreProc - HiLink sudoersUserNetgroup PreProc - HiLink sudoersUserAliasRef PreProc - HiLink sudoersUserNameInSpec String - HiLink sudoersUIDInSpec Number - HiLink sudoersGroupInSpec PreProc - HiLink sudoersUserNetgroupInSpec PreProc - HiLink sudoersUserAliasInSpec PreProc - HiLink sudoersUserNameInRunas String - HiLink sudoersUIDInRunas Number - HiLink sudoersGroupInRunas PreProc - HiLink sudoersUserNetgroupInRunas PreProc - HiLink sudoersUserAliasInRunas PreProc - HiLink sudoersHostAlias Identifier - HiLink sudoersHostNameInList String - HiLink sudoersIPAddrInList Number - HiLink sudoersNetworkInList Number - HiLink sudoersHostNetgroupInList PreProc - HiLink sudoersHostAliasInList PreProc - HiLink sudoersHostName String - HiLink sudoersIPAddr Number - HiLink sudoersNetwork Number - HiLink sudoersHostNetgroup PreProc - HiLink sudoersHostAliasRef PreProc - HiLink sudoersHostNameInSpec String - HiLink sudoersIPAddrInSpec Number - HiLink sudoersNetworkInSpec Number - HiLink sudoersHostNetgroupInSpec PreProc - HiLink sudoersHostAliasInSpec PreProc - HiLink sudoersCmndAlias Identifier - HiLink sudoersCmndNameInList String - HiLink sudoersCmndAliasInList PreProc - HiLink sudoersCmndNameInSpec String - HiLink sudoersCmndAliasInSpec PreProc - HiLink sudoersUserAliasEquals Operator - HiLink sudoersUserListComma Delimiter - HiLink sudoersUserListColon Delimiter - HiLink sudoersUserSpecComma Delimiter - HiLink sudoersUserRunasBegin Delimiter - HiLink sudoersUserRunasComma Delimiter - HiLink sudoersUserRunasEnd Delimiter - HiLink sudoersHostAliasEquals Operator - HiLink sudoersHostListComma Delimiter - HiLink sudoersHostListColon Delimiter - HiLink sudoersHostSpecComma Delimiter - HiLink sudoersCmndAliasEquals Operator - HiLink sudoersCmndListComma Delimiter - HiLink sudoersCmndListColon Delimiter - HiLink sudoersCmndSpecComma Delimiter - HiLink sudoersCmndSpecColon Delimiter - HiLink sudoersUserNegationInList Operator - HiLink sudoersHostNegationInList Operator - HiLink sudoersCmndNegationInList Operator - HiLink sudoersUserNegation Operator - HiLink sudoersHostNegation Operator - HiLink sudoersUserNegationInSpec Operator - HiLink sudoersHostNegationInSpec Operator - HiLink sudoersUserNegationInRunas Operator - HiLink sudoersCmndNegationInSpec Operator - HiLink sudoersCommandArgs String - HiLink sudoersCommandEmpty Special - HiLink sudoersDefaultEntry Keyword - HiLink sudoersDefaultTypeAt Special - HiLink sudoersDefaultTypeColon Special - HiLink sudoersDefaultTypeGreaterThan Special - HiLink sudoersBooleanParameter Identifier - HiLink sudoersIntegerParameter Identifier - HiLink sudoersStringParameter Identifier - HiLink sudoersListParameter Identifier - HiLink sudoersParameterListComma Delimiter - HiLink sudoersIntegerParameterEquals Operator - HiLink sudoersStringParameterEquals Operator - HiLink sudoersListParameterEquals Operator - HiLink sudoersIntegerValue Number - HiLink sudoersStringValue String - HiLink sudoersListValue String - HiLink sudoersPASSWD Special - - delcommand HiLink -endif +hi def link sudoersSpecEquals Operator +hi def link sudoersTodo Todo +hi def link sudoersComment Comment +hi def link sudoersAlias Keyword +hi def link sudoersUserAlias Identifier +hi def link sudoersUserNameInList String +hi def link sudoersUIDInList Number +hi def link sudoersGroupInList PreProc +hi def link sudoersUserNetgroupInList PreProc +hi def link sudoersUserAliasInList PreProc +hi def link sudoersUserName String +hi def link sudoersUID Number +hi def link sudoersGroup PreProc +hi def link sudoersUserNetgroup PreProc +hi def link sudoersUserAliasRef PreProc +hi def link sudoersUserNameInSpec String +hi def link sudoersUIDInSpec Number +hi def link sudoersGroupInSpec PreProc +hi def link sudoersUserNetgroupInSpec PreProc +hi def link sudoersUserAliasInSpec PreProc +hi def link sudoersUserNameInRunas String +hi def link sudoersUIDInRunas Number +hi def link sudoersGroupInRunas PreProc +hi def link sudoersUserNetgroupInRunas PreProc +hi def link sudoersUserAliasInRunas PreProc +hi def link sudoersHostAlias Identifier +hi def link sudoersHostNameInList String +hi def link sudoersIPAddrInList Number +hi def link sudoersNetworkInList Number +hi def link sudoersHostNetgroupInList PreProc +hi def link sudoersHostAliasInList PreProc +hi def link sudoersHostName String +hi def link sudoersIPAddr Number +hi def link sudoersNetwork Number +hi def link sudoersHostNetgroup PreProc +hi def link sudoersHostAliasRef PreProc +hi def link sudoersHostNameInSpec String +hi def link sudoersIPAddrInSpec Number +hi def link sudoersNetworkInSpec Number +hi def link sudoersHostNetgroupInSpec PreProc +hi def link sudoersHostAliasInSpec PreProc +hi def link sudoersCmndAlias Identifier +hi def link sudoersCmndNameInList String +hi def link sudoersCmndAliasInList PreProc +hi def link sudoersCmndNameInSpec String +hi def link sudoersCmndAliasInSpec PreProc +hi def link sudoersUserAliasEquals Operator +hi def link sudoersUserListComma Delimiter +hi def link sudoersUserListColon Delimiter +hi def link sudoersUserSpecComma Delimiter +hi def link sudoersUserRunasBegin Delimiter +hi def link sudoersUserRunasComma Delimiter +hi def link sudoersUserRunasEnd Delimiter +hi def link sudoersHostAliasEquals Operator +hi def link sudoersHostListComma Delimiter +hi def link sudoersHostListColon Delimiter +hi def link sudoersHostSpecComma Delimiter +hi def link sudoersCmndAliasEquals Operator +hi def link sudoersCmndListComma Delimiter +hi def link sudoersCmndListColon Delimiter +hi def link sudoersCmndSpecComma Delimiter +hi def link sudoersCmndSpecColon Delimiter +hi def link sudoersUserNegationInList Operator +hi def link sudoersHostNegationInList Operator +hi def link sudoersCmndNegationInList Operator +hi def link sudoersUserNegation Operator +hi def link sudoersHostNegation Operator +hi def link sudoersUserNegationInSpec Operator +hi def link sudoersHostNegationInSpec Operator +hi def link sudoersUserNegationInRunas Operator +hi def link sudoersCmndNegationInSpec Operator +hi def link sudoersCommandArgs String +hi def link sudoersCommandEmpty Special +hi def link sudoersDefaultEntry Keyword +hi def link sudoersDefaultTypeAt Special +hi def link sudoersDefaultTypeColon Special +hi def link sudoersDefaultTypeGreaterThan Special +hi def link sudoersBooleanParameter Identifier +hi def link sudoersIntegerParameter Identifier +hi def link sudoersStringParameter Identifier +hi def link sudoersListParameter Identifier +hi def link sudoersParameterListComma Delimiter +hi def link sudoersIntegerParameterEquals Operator +hi def link sudoersStringParameterEquals Operator +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 let b:current_syntax = "sudoers" -" vim: set sts=2 sw=2: +let &cpo = s:cpo_save +unlet s:cpo_save
new file mode 100644 --- /dev/null +++ b/runtime/syntax/sysctl.vim @@ -0,0 +1,39 @@ +" Vim syntax file +" Language: sysctl.conf(5) configuration file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 + +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&vim + +syn match sysctlBegin display '^' + \ nextgroup=sysctlToken,sysctlComment skipwhite + +syn match sysctlToken contained display '\S\+' + \ nextgroup=sysctlTokenEq skipwhite + +syn match sysctlTokenEq contained display '=' nextgroup=sysctlValue skipwhite + +syn region sysctlValue contained display oneline + \ matchgroup=sysctlValue start='\S' + \ matchgroup=Normal end='\s*$' + +syn keyword sysctlTodo contained TODO FIXME XXX NOTE + +syn region sysctlComment display oneline start='^\s*[#;]' end='$' + \ contains=sysctlTodo,@Spell + +hi def link sysctlTodo Todo +hi def link sysctlComment Comment +hi def link sysctlToken Identifier +hi def link sysctlTokenEq Operator +hi def link sysctlValue String + +let b:current_syntax = "sysctl" + +let &cpo = s:cpo_save +unlet s:cpo_save
--- a/runtime/syntax/terminfo.vim +++ b/runtime/syntax/terminfo.vim @@ -1,115 +1,93 @@ " Vim syntax file -" Language: Terminfo definition -" Maintainer: Nikolai Weibull <source@pcppopper.org> -" URL: http://www.pcppopper.org/vim/syntax/pcp/terminfo/ -" Latest Revision: 2004-05-22 -" arch-tag: 8464dd47-0c5a-47d5-87ed-a2ad99e1196f +" Language: terminfo(5) definition +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 -if version < 600 - syntax clear -elseif exists("b:current_syntax") +if exists("b:current_syntax") finish endif -" keywords (define first as to not mess up comments -syn match terminfoKeywords "[,=#|]" +let s:cpo_save = &cpo +set cpo&vim -" todo -syn keyword terminfoTodo contained TODO FIXME XXX NOTE +syn match terminfoKeywords '[,=#|]' -" comments -syn region terminfoComment matchgroup=terminfoComment start="^#" end="$" contains=terminfoTodo +syn keyword terminfoTodo contained TODO FIXME XXX NOTE -" numbers -syn match terminfoNumbers "\<[0-9]\+\>" +syn region terminfoComment matchgroup=terminfoComment start='^#' end='$' + \ contains=terminfoTodo,@Spell + +syn match terminfoNumbers '\<[0-9]\+\>' -" special keys -syn match terminfoSpecialChar "\\\(\o\{3}\|[Eenlrtbfs^\,:0]\)" -syn match terminfoSpecialChar "\^\a" +syn match terminfoSpecialChar '\\\(\o\{3}\|[Eenlrtbfs^\,:0]\)' +syn match terminfoSpecialChar '\^\a' -" delays -syn match terminfoDelay "$<[0-9]\+>" +syn match terminfoDelay '$<[0-9]\+>' -" boolean capabilities -syn keyword terminfoBooleans bw am bce ccc xhp xhpa cpix crxw xt xenl eo gn -syn keyword terminfoBooleans hc chts km daisy hs hls in lpix da db mir msgr -syn keyword terminfoBooleans nxon xsb npc ndscr nrrmc os mc5i xcpa sam eslok -syn keyword terminfoBooleans hz ul xon +syn keyword terminfoBooleans bw am bce ccc xhp xhpa cpix crxw xt xenl eo gn + \ hc chts km daisy hs hls in lpix da db mir + \ msgr nxon xsb npc ndscr nrrmc os mc5i xcpa + \ sam eslok hz ul xon -" numeric capabilities -syn keyword terminfoNumerics cols it lh lw lines lm xmc ma colors pairs wnum -syn keyword terminfoNumerics ncv nlab pb vt wsl bitwin bitype bufsz btns -syn keyword terminfoNumerics spinh spinv maddr mjump mcs npins orc orhi orl -syn keyword terminfoNumerics orvi cps widcs +syn keyword terminfoNumerics cols it lh lw lines lm xmc ma colors pairs wnum + \ ncv nlab pb vt wsl bitwin bitype bufsz btns + \ spinh spinv maddr mjump mcs npins orc orhi + \ orl orvi cps widcs -" string capabilities -syn keyword terminfoStrings acsc cbt bel cr cpi lpi chr cvr csr rmp tbc mgc -syn keyword terminfoStrings clear el1 el ed hpa cmdch cwin cup cud1 home -syn keyword terminfoStrings civis cub1 mrcup cnorm cuf1 ll cuu1 cvvis defc -syn keyword terminfoStrings dch1 dl1 dial dsl dclk hd enacs smacs smam blink -syn keyword terminfoStrings bold smcup smdc dim swidm sdrfq smir sitm slm -syn keyword terminfoStrings smicm snlq snrmq prot rev invis sshm smso ssubm -syn keyword terminfoStrings ssupm smul sum smxon ech rmacs rmam sgr0 rmcup -syn keyword terminfoStrings rmdc rwidm rmir ritm rlm rmicm rshm rmso rsubm -syn keyword terminfoStrings rsupm rmul rum rmxon pause hook flash ff fsl -syn keyword terminfoStrings wingo hup is1 is2 is3 if iprog initc initp ich1 -syn keyword terminfoStrings il1 ip ka1 ka3 kb2 kbs kbeg kcbt kc1 kc3 kcan -syn keyword terminfoStrings ktbc kclr kclo kcmd kcpy kcrt kctab kdch1 kdl1 -syn keyword terminfoStrings kcud1 krmir kend kent kel ked kext -syn match terminfoStrings "\<kf\([0-9]\|[0-5][0-9]\|6[0-3]\)\>" -syn keyword terminfoStrings kfnd khlp khome kich1 kil1 kcub1 kll kmrk -syn keyword terminfoStrings kmsg kmov knxt knp kopn kopt kpp kprv kprt krdo -syn keyword terminfoStrings kref krfr krpl krst kres kcuf1 ksav kBEG kCAN -syn keyword terminfoStrings kCMD kCPY kCRT kDC kDL kslt kEND kEOL kEXT kind -syn keyword terminfoStrings kFND kHLP kHOM kIC kLFT kMSG kMOV kNXT kOPT kPRV -syn keyword terminfoStrings kPRT kri kRDO kRPL kRIT kRES kSAV kSPD khts kUND -syn keyword terminfoStrings kspd kund kcuu1 rmkx smkx lf0 lf1 lf10 lf2 lf3 -syn keyword terminfoStrings lf4 lf5 lf6 lf7 lf8 lf9 fln rmln smln rmm smm -syn keyword terminfoStrings mhpa mcud1 mcub1 mcuf1 mvpa mcuu1 nel porder oc -syn keyword terminfoStrings op pad dch dl cud mcud ich indn il cub mcub cuf -syn keyword terminfoStrings mcuf rin cuu mccu pfkey pfloc pfx pln mc0 mc5p -syn keyword terminfoStrings mc4 mc5 pulse qdial rmclk rep rfi rs1 rs2 rs3 rf -syn keyword terminfoStrings rc vpa sc ind ri scs sgr setbsmgb smgbp sclk scp -syn keyword terminfoStrings setb setf smgl smglp smgr smgrp hts smgt smgtp -syn keyword terminfoStrings wind sbim scsd rbim rcsd subcs supcs ht docr -syn keyword terminfoStrings tsl tone uc hu -syn match terminfoStrings "\<u[0-9]\>" -syn keyword terminfoStrings wait xoffc xonc zerom -syn keyword terminfoStrings scesa bicr binel birep csnm csin colornm defbi -syn keyword terminfoStrings devt dispc endbi smpch smsc rmpch rmsc getm -syn keyword terminfoStrings kmous minfo pctrm pfxl reqmp scesc s0ds s1ds -syn keyword terminfoStrings s2ds s3ds setab setaf setcolor smglr slines -syn keyword terminfoStrings smgtb ehhlm elhlm erhlm ethlm evhlm sgr1 -syn keyword terminfoStrings slengthsL +syn keyword terminfoStrings acsc cbt bel cr cpi lpi chr cvr csr rmp tbc mgc + \ clear el1 el ed hpa cmdch cwin cup cud1 home + \ civis cub1 mrcup cnorm cuf1 ll cuu1 cvvis + \ defc dch1 dl1 dial dsl dclk hd enacs smacs + \ smam blink bold smcup smdc dim swidm sdrfq + \ smir sitm slm smicm snlq snrmq prot rev + \ invis sshm smso ssubm ssupm smul sum smxon + \ ech rmacs rmam sgr0 rmcup rmdc rwidm rmir + \ ritm rlm rmicm rshm rmso rsubm rsupm rmul + \ rum rmxon pause hook flash ff fsl wingo hup + \ is1 is2 is3 if iprog initc initp ich1 il1 ip + \ ka1 ka3 kb2 kbs kbeg kcbt kc1 kc3 kcan ktbc + \ kclr kclo kcmd kcpy kcrt kctab kdch1 kdl1 + \ kcud1 krmir kend kent kel ked kext kfnd khlp + \ khome kich1 kil1 kcub1 kll kmrk kmsg kmov + \ knxt knp kopn kopt kpp kprv kprt krdo kref + \ krfr krpl krst kres kcuf1 ksav kBEG kCAN + \ kCMD kCPY kCRT kDC kDL kslt kEND kEOL kEXT + \ kind kFND kHLP kHOM kIC kLFT kMSG kMOV kNXT + \ kOPT kPRV kPRT kri kRDO kRPL kRIT kRES kSAV + \ kSPD khts kUND kspd kund kcuu1 rmkx smkx + \ lf0 lf1 lf10 lf2 lf3 lf4 lf5 lf6 lf7 lf8 lf9 + \ fln rmln smln rmm smm mhpa mcud1 mcub1 mcuf1 + \ mvpa mcuu1 nel porder oc op pad dch dl cud + \ mcud ich indn il cub mcub cuf mcuf rin cuu + \ mccu pfkey pfloc pfx pln mc0 mc5p mc4 mc5 + \ pulse qdial rmclk rep rfi rs1 rs2 rs3 rf rc + \ vpa sc ind ri scs sgr setbsmgb smgbp sclk + \ scp setb setf smgl smglp smgr smgrp hts smgt + \ smgtp wind sbim scsd rbim rcsd subcs supcs + \ ht docr tsl tone uc hu u0 u1 u2 u3 u4 u5 u6 + \ u7 u8 u9 wait xoffc xonc zerom scesa bicr + \ binel birep csnm csin colornm defbi devt + \ dispc endbi smpch smsc rmpch rmsc getm kmous + \ minfo pctrm pfxl reqmp scesc s0ds s1ds s2ds + \ s3ds setab setaf setcolor smglr slines smgtb + \ ehhlm elhlm erhlm ethlm evhlm sgr1 slengthsL +syn match terminfoStrings display '\<kf\([0-9]\|[0-5][0-9]\|6[0-3]\)\>' -" parameterized strings -syn match terminfoParameters "%[%dcspl+*/mAO&|^=<>!~i?te;-]" -syn match terminfoParameters "%\('[A-Z]'\|{[0-9]\{1,2}}\|p[1-9]\|P[a-z]\|g[A-Z]\)" +syn match terminfoParameters '%[%dcspl+*/mAO&|^=<>!~i?te;-]' +syn match terminfoParameters '%\('[A-Z]'\|{[0-9]\{1,2}}\|p[1-9]\|P[a-z]\|g[A-Z]\)' -" Define the default highlighting. -" For version 5.7 and earlier: only when not done already -" For version 5.8 and later: only when an item doesn't have highlighting yet -if version >= 508 || !exists("did_terminfo_syn_inits") - if version < 508 - let did_terminfo_syn_inits = 1 - command -nargs=+ HiLink hi link <args> - else - command -nargs=+ HiLink hi def link <args> - endif - - HiLink terminfoComment Comment - HiLink terminfoTodo Todo - HiLink terminfoNumbers Number - HiLink terminfoSpecialChar SpecialChar - HiLink terminfoDelay Special - HiLink terminfoBooleans Type - HiLink terminfoNumerics Type - HiLink terminfoStrings Type - HiLink terminfoParameters Keyword - HiLink terminfoKeywords Keyword - delcommand HiLink -endif +hi def link terminfoComment Comment +hi def link terminfoTodo Todo +hi def link terminfoNumbers Number +hi def link terminfoSpecialChar SpecialChar +hi def link terminfoDelay Special +hi def link terminfoBooleans Type +hi def link terminfoNumerics Type +hi def link terminfoStrings Type +hi def link terminfoParameters Keyword +hi def link terminfoKeywords Keyword let b:current_syntax = "terminfo" -" vim: set sts=2 sw=2: +let &cpo = s:cpo_save +unlet s:cpo_save
new file mode 100644 --- /dev/null +++ b/runtime/syntax/updatedb.vim @@ -0,0 +1,39 @@ +" Vim syntax file +" Language: updatedb.conf(5) configuration file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 + +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&vim + +syn keyword updatedbTodo contained TODO FIXME XXX NOTE + +syn region updatedbComment display oneline start='^\s*#' end='$' + \ contains=updatedbTodo,@Spell + +syn match updatedbBegin display '^' + \ nextgroup=updatedbName,updatedbComment skipwhite + +syn keyword updatedbName contained PRUNEFS PRUNEPATHS + \ nextgroup=updatedbNameEq + +syn match updatedbNameEq contained display '=' nextgroup=updatedbValue + +syn region updatedbValue contained display oneline + \ matchgroup=updatedbValue start='"' + \ matchgroup=updatedbValue end='"' + +hi def link updatedbTodo Todo +hi def link updatedbComment Comment +hi def link updatedbName Identifier +hi def link updatedbNameEq Operator +hi def link updatedbValue String + +let b:current_syntax = "updatedb" + +let &cpo = s:cpo_save +unlet s:cpo_save
new file mode 100644 --- /dev/null +++ b/runtime/syntax/xinetd.vim @@ -0,0 +1,347 @@ +" Vim syntax file +" Language: xinetd.conf(5) configuration file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 + +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&vim + +syn keyword xinetdTodo contained TODO FIXME XXX NOTE + +syn region xinetdComment display oneline start='^\s*#' end='$' + \ contains=xinetdTodo,@Spell + +syn match xinetdService '^\s*service\>' + \ nextgroup=xinetdServiceName skipwhite + +syn match xinetdServiceName contained '\S\+' + \ nextgroup=xinetdServiceGroup skipwhite skipnl + +syn match xinetdDefaults '^\s*defaults' + \ nextgroup=xinetdServiceGroup skipwhite skipnl + +syn region xinetdServiceGroup contained transparent + \ matchgroup=xinetdServiceGroupD start='{' + \ matchgroup=xinetdServiceGroupD end='}' + \ contains=xinetdAttribute,xinetdReqAttribute, + \ xinetdDisable + +syn keyword xinetdReqAttribute contained user server protocol + \ nextgroup=xinetdStringEq skipwhite + +syn keyword xinetdAttribute contained id group bind + \ interface + \ nextgroup=xinetdStringEq skipwhite + +syn match xinetdStringEq contained display '=' + \ nextgroup=xinetdString skipwhite + +syn match xinetdString contained display '\S\+' + +syn keyword xinetdAttribute contained type nextgroup=xinetdTypeEq skipwhite + +syn match xinetdTypeEq contained display '=' + \ nextgroup=xinetdType skipwhite + +syn keyword xinetdType contained RPC INTERNAL TCPMUX TCPMUXPLUS + \ UNLISTED + \ nextgroup=xinetdType skipwhite + +syn keyword xinetdAttribute contained flags + \ nextgroup=xinetdFlagsEq skipwhite + +syn cluster xinetdFlagsC contains=xinetdFlags,xinetdDeprFlags + +syn match xinetdFlagsEq contained display '=' + \ nextgroup=@xinetdFlagsC skipwhite + +syn keyword xinetdFlags contained INTERCEPT NORETRY IDONLY NAMEINARGS + \ NODELAY KEEPALIVE NOLIBWRAP SENSOR IPv4 IPv6 + \ nextgroup=@xinetdFlagsC skipwhite + +syn keyword xinetdDeprFlags contained REUSE nextgroup=xinetdFlagsC skipwhite + +syn keyword xinetdDisable contained disable + \ nextgroup=xinetdBooleanEq skipwhite + +syn match xinetdBooleanEq contained display '=' + \ nextgroup=xinetdBoolean skipwhite + +syn keyword xinetdBoolean contained yes no + +syn keyword xinetdReqAttribute contained socket_type + \ nextgroup=xinetdSocketTypeEq skipwhite + +syn match xinetdSocketTypeEq contained display '=' + \ nextgroup=xinetdSocketType skipwhite + +syn keyword xinetdSocketType contained stream dgram raw seqpacket + +syn keyword xinetdReqAttribute contained wait + \ nextgroup=xinetdBooleanEq skipwhite + +syn keyword xinetdAttribute contained groups mdns + \ nextgroup=xinetdBooleanEq skipwhite + +syn keyword xinetdAttribute contained instances per_source rlimit_cpu + \ rlimit_data rlimit_rss rlimit_stack + \ nextgroup=xinetdUNumberEq skipwhite + +syn match xinetdUNumberEq contained display '=' + \ nextgroup=xinetdUnlimited,xinetdNumber + \ skipwhite + +syn keyword xinetdUnlimited contained UNLIMITED + +syn match xinetdNumber contained display '\<\d\+\>' + +syn keyword xinetdAttribute contained nice + \ nextgroup=xinetdSignedNumEq skipwhite + +syn match xinetdSignedNumEq contained display '=' + \ nextgroup=xinetdSignedNumber skipwhite + +syn match xinetdSignedNumber contained display '[+-]\=\d\+\>' + +syn keyword xinetdAttribute contained server_args + \ enabled + \ nextgroup=xinetdStringsEq skipwhite + +syn match xinetdStringsEq contained display '=' + \ nextgroup=xinetdStrings skipwhite + +syn match xinetdStrings contained display '\S\+' + \ nextgroup=xinetdStrings skipwhite + +syn keyword xinetdAttribute contained only_from no_access passenv + \ nextgroup=xinetdStringsAdvEq skipwhite + +syn match xinetdStringsAdvEq contained display '[+-]\==' + \ nextgroup=xinetdStrings skipwhite + +syn keyword xinetdAttribute contained access_times + \ nextgroup=xinetdTimeRangesEq skipwhite + +syn match xinetdTimeRangesEq contained display '=' + \ nextgroup=xinetdTimeRanges skipwhite + +syn match xinetdTimeRanges contained display + \ '\%(0?\d\|1\d\|2[0-3]\):\%(0?\d\|[1-5]\d\)-\%(0?\d\|1\d\|2[0-3]\):\%(0?\d\|[1-5]\d\)' + \ nextgroup=xinetdTimeRanges skipwhite + +syn keyword xinetdAttribute contained log_type nextgroup=xinetdLogTypeEq + \ skipwhite + +syn match xinetdLogTypeEq contained display '=' + \ nextgroup=xinetdLogType skipwhite + +syn keyword xinetdLogType contained SYSLOG nextgroup=xinetdSyslogType + \ skipwhite + +syn keyword xinetdLogType contained FILE nextgroup=xinetdLogFile skipwhite + +syn keyword xinetdSyslogType contained daemon auth authpriv user mail lpr + \ news uucp ftp local0 local1 local2 local3 + \ local4 local5 local6 local7 + \ nextgroup=xinetdSyslogLevel skipwhite + +syn keyword xinetdSyslogLevel contained emerg alert crit err warning notice + \ info debug + +syn match xinetdLogFile contained display '\S\+' + \ nextgroup=xinetdLogSoftLimit skipwhite + +syn match xinetdLogSoftLimit contained display '\<\d\+\>' + \ nextgroup=xinetdLogHardLimit skipwhite + +syn match xinetdLogHardLimit contained display '\<\d\+\>' + +syn keyword xinetdAttribute contained log_on_success + \ nextgroup=xinetdLogSuccessEq skipwhite + +syn match xinetdLogSuccessEq contained display '[+-]\==' + \ nextgroup=xinetdLogSuccess skipwhite + +syn keyword xinetdLogSuccess contained PID HOST USERID EXIT DURATION TRAFFIC + \ nextgroup=xinetdLogSuccess skipwhite + +syn keyword xinetdAttribute contained log_on_failure + \ nextgroup=xinetdLogFailureEq skipwhite + +syn match xinetdLogFailureEq contained display '[+-]\==' + \ nextgroup=xinetdLogFailure skipwhite + +syn keyword xinetdLogFailure contained HOST USERID ATTEMPT + \ nextgroup=xinetdLogFailure skipwhite + +syn keyword xinetdReqAttribute contained rpc_version + \ nextgroup=xinetdRPCVersionEq skipwhite + +syn match xinetdRPCVersionEq contained display '=' + \ nextgroup=xinetdRPCVersion skipwhite + +syn match xinetdRPCVersion contained display '\d\+\%(-\d\+\)\=\>' + +syn keyword xinetdReqAttribute contained rpc_number port + \ nextgroup=xinetdNumberEq skipwhite + +syn match xinetdNumberEq contained display '=' + \ nextgroup=xinetdNumber skipwhite + +syn keyword xinetdAttribute contained env nextgroup=xinetdEnvEq skipwhite + +syn match xinetdEnvEq contained display '+\==' + \ nextgroup=xinetdEnvName skipwhite + +syn match xinetdEnvName contained display '[^=]\+' + \ nextgroup=xinetdEnvNameEq + +syn match xinetdEnvNameEq contained display '=' nextgroup=xinetdEnvValue + +syn match xinetdEnvValue contained display '\S\+' + \ nextgroup=xinetdEnvName skipwhite + +syn keyword xinetdAttribute contained banner banner_success banner_failure + \ nextgroup=xinetdPathEq skipwhite + +syn keyword xinetdPPAttribute include includedir + \ nextgroup=xinetdPath skipwhite + +syn match xinetdPathEq contained display '=' + \ nextgroup=xinetdPath skipwhite + +syn match xinetdPath contained display '\S\+' + +syn keyword xinetdAttribute contained redirect nextgroup=xinetdRedirectEq + \ skipwhite + +syn match xinetdRedirectEq contained display '=' + \ nextgroup=xinetdRedirectIP skipwhite + +syn match xinetdRedirectIP contained display '\S\+' + \ nextgroup=xinetdNumber skipwhite + +syn keyword xinetdAttribute contained cps nextgroup=xinetdCPSEq skipwhite + +syn match xinetdCPSEq contained display '=' + \ nextgroup=xinetdCPS skipwhite + +syn match xinetdCPS contained display '\<\d\+\>' + \ nextgroup=xinetdNumber skipwhite + +syn keyword xinetdAttribute contained max_load nextgroup=xinetdFloatEq + \ skipwhite + +syn match xinetdFloatEq contained display '=' + \ nextgroup=xinetdFloat skipwhite + +syn match xinetdFloat contained display '\d\+\.\d*\|\.\d\+' + +syn keyword xinetdAttribute contained umask nextgroup=xinetdOctalEq + \ skipwhite + +syn match xinetdOctalEq contained display '=' + \ nextgroup=xinetdOctal,xinetdOctalError + \ skipwhite + +syn match xinetdOctal contained display '\<0\o\+\>' + \ contains=xinetdOctalZero +syn match xinetdOctalZero contained display '\<0' +syn match xinetdOctalError contained display '\<0\o*[89]\d*\>' + +syn keyword xinetdAttribute contained rlimit_as nextgroup=xinetdASEq + \ skipwhite + +syn match xinetdASEq contained display '=' + \ nextgroup=xinetdAS,xinetdUnlimited + \ skipwhite + +syn match xinetdAS contained display '\d\+' nextgroup=xinetdASMult + +syn match xinetdASMult contained display '[KM]' + +syn keyword xinetdAttribute contained deny_time nextgroup=xinetdDenyTimeEq + \ skipwhite + +syn match xinetdDenyTimeEq contained display '=' + \ nextgroup=xinetdDenyTime,xinetdNumber + \ skipwhite + +syn keyword xinetdDenyTime contained FOREVER NEVER + +hi def link xinetdTodo Todo +hi def link xinetdComment Comment +hi def link xinetdService Keyword +hi def link xinetdServiceName String +hi def link xinetdDefaults Keyword +hi def link xinetdServiceGroupD Delimiter +hi def link xinetdReqAttribute Keyword +hi def link xinetdAttribute Type +hi def link xinetdEq Operator +hi def link xinetdStringEq xinetdEq +hi def link xinetdString String +hi def link xinetdTypeEq xinetdEq +hi def link xinetdType Identifier +hi def link xinetdFlagsEq xinetdEq +hi def link xinetdFlags xinetdType +hi def link xinetdDeprFlags WarningMsg +hi def link xinetdDisable Special +hi def link xinetdBooleanEq xinetdEq +hi def link xinetdBoolean Boolean +hi def link xinetdSocketTypeEq xinetdEq +hi def link xinetdSocketType xinetdType +hi def link xinetdUNumberEq xinetdEq +hi def link xinetdUnlimited Define +hi def link xinetdNumber Number +hi def link xinetdSignedNumEq xinetdEq +hi def link xinetdSignedNumber xinetdNumber +hi def link xinetdStringsEq xinetdEq +hi def link xinetdStrings xinetdString +hi def link xinetdStringsAdvEq xinetdEq +hi def link xinetdTimeRangesEq xinetdEq +hi def link xinetdTimeRanges Number +hi def link xinetdLogTypeEq xinetdEq +hi def link xinetdLogType Keyword +hi def link xinetdSyslogType xinetdType +hi def link xinetdSyslogLevel Number +hi def link xinetdLogFile xinetdPath +hi def link xinetdLogSoftLimit xinetdNumber +hi def link xinetdLogHardLimit xinetdNumber +hi def link xinetdLogSuccessEq xinetdEq +hi def link xinetdLogSuccess xinetdType +hi def link xinetdLogFailureEq xinetdEq +hi def link xinetdLogFailure xinetdType +hi def link xinetdRPCVersionEq xinetdEq +hi def link xinetdRPCVersion xinetdNumber +hi def link xinetdNumberEq xinetdEq +hi def link xinetdEnvEq xinetdEq +hi def link xinetdEnvName Identifier +hi def link xinetdEnvNameEq xinetdEq +hi def link xinetdEnvValue String +hi def link xinetdPPAttribute PreProc +hi def link xinetdPathEq xinetdEq +hi def link xinetdPath String +hi def link xinetdRedirectEq xinetdEq +hi def link xinetdRedirectIP String +hi def link xinetdCPSEq xinetdEq +hi def link xinetdCPS xinetdNumber +hi def link xinetdFloatEq xinetdEq +hi def link xinetdFloat xinetdNumber +hi def link xinetdOctalEq xinetdEq +hi def link xinetdOctal xinetdNumber +hi def link xinetdOctalZero PreProc +hi def link xinetdOctalError Error +hi def link xinetdASEq xinetdEq +hi def link xinetdAS xinetdNumber +hi def link xinetdASMult PreProc +hi def link xinetdDenyTimeEq xinetdEq +hi def link xinetdDenyTime PreProc + +let b:current_syntax = "xinetd" + +let &cpo = s:cpo_save +unlet s:cpo_save
--- a/runtime/syntax/xmodmap.vim +++ b/runtime/syntax/xmodmap.vim @@ -1,172 +1,677 @@ " Vim syntax file -" Language: xmodmap definition file -" Maintainer: Nikolai Weibull <source@pcppopper.org> -" URL: http://www.pcppopper.org/vim/syntax/pcp/xmodmap/ -" Latest Revision: 2004-05-22 -" arch-tag: 8c37ed41-655a-479d-8050-e15dc6770338 +" Language: xmodmap(1) definition file +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 -if version < 600 - syntax clear -elseif exists("b:current_syntax") +if exists("b:current_syntax") finish endif -" comments -syn region xmodmapComment display oneline matchgroup=xmodmapComment start=/^!/ end=/$/ contains=xmodmapTodo +let s:cpo_save = &cpo +set cpo&vim -" todo -syn keyword xmodmapTodo contained TODO FIXME XXX NOTE +syn keyword xmodmapTodo contained TODO FIXME XXX NOTE -" numbers +syn region xmodmapComment display oneline matchgroup=xmodmapComment + \ start=/^!/ end=/$/ contains=xmodmapTodo,@Spell + syn case ignore -syn match xmodmapInt display "\<\d\+\>" -syn match xmodmapHex display "\<0x\x\+\>" -syn match xmodmapOctal display "\<0\o\+\>" -syn match xmodmapOctalError display "\<0\o*[89]\d*" +syn match xmodmapInt display '\<\d\+\>' +syn match xmodmapHex display '\<0x\x\+\>' +syn match xmodmapOctal display '\<0\o\+\>' +syn match xmodmapOctalError display '\<0\o*[89]\d*' syn case match -" keysyms (taken from <X11/keysymdef.h>) -syn keyword xmodmapKeySym VoidSymbol BackSpace Tab Linefeed Clear Return Pause Scroll_Lock Sys_Req Escape Delete Multi_key Codeinput SingleCandidate MultipleCandidate -syn keyword xmodmapKeySym PreviousCandidate Kanji Muhenkan Henkan_Mode Henkan Romaji Hiragana Katakana Hiragana_Katakana Zenkaku Hankaku Zenkaku_Hankaku Touroku Massyo Kana_Lock -syn keyword xmodmapKeySym Kana_Shift Eisu_Shift Eisu_toggle Kanji_Bangou Zen_Koho Mae_Koho Home Left Up Right Down Prior Page_Up Next Page_Down -syn keyword xmodmapKeySym End Begin Select Print Execute Insert Undo Redo Menu Find Cancel Help Break Mode_switch script_switch -syn keyword xmodmapKeySym Num_Lock KP_Space KP_Tab KP_Enter KP_F1 KP_F2 KP_F3 KP_F4 KP_Home KP_Left KP_Up KP_Right KP_Down KP_Prior KP_Page_Up -syn keyword xmodmapKeySym KP_Next KP_Page_Down KP_End KP_Begin KP_Insert KP_Delete KP_Equal KP_Multiply KP_Add KP_Separator KP_Subtract KP_Decimal KP_Divide KP_0 KP_1 -syn keyword xmodmapKeySym KP_2 KP_3 KP_4 KP_5 KP_6 KP_7 KP_8 KP_9 F1 F2 F3 F4 F5 F6 F7 -syn keyword xmodmapKeySym F8 F9 F10 F11 L1 F12 L2 F13 L3 F14 L4 F15 L5 F16 L6 -syn keyword xmodmapKeySym F17 L7 F18 L8 F19 L9 F20 L10 F21 R1 F22 R2 F23 R3 F24 -syn keyword xmodmapKeySym R4 F25 R5 F26 R6 F27 R7 F28 R8 F29 R9 F30 R10 F31 R11 -syn keyword xmodmapKeySym F32 R12 F33 R13 F34 R14 F35 R15 Shift_L Shift_R Control_L Control_R Caps_Lock Shift_Lock Meta_L -syn keyword xmodmapKeySym Meta_R Alt_L Alt_R Super_L Super_R Hyper_L Hyper_R ISO_Lock ISO_Level2_Latch ISO_Level3_Shift ISO_Level3_Latch ISO_Level3_Lock ISO_Group_Shift ISO_Group_Latch ISO_Group_Lock -syn keyword xmodmapKeySym ISO_Next_Group ISO_Next_Group_Lock ISO_Prev_Group ISO_Prev_Group_Lock ISO_First_Group ISO_First_Group_Lock ISO_Last_Group ISO_Last_Group_Lock ISO_Left_Tab ISO_Move_Line_Up ISO_Move_Line_Down ISO_Partial_Line_Up ISO_Partial_Line_Down ISO_Partial_Space_Left ISO_Partial_Space_Right -syn keyword xmodmapKeySym ISO_Set_Margin_Left ISO_Set_Margin_Right ISO_Release_Margin_Left ISO_Release_Margin_Right ISO_Release_Both_Margins ISO_Fast_Cursor_Left ISO_Fast_Cursor_Right ISO_Fast_Cursor_Up ISO_Fast_Cursor_Down ISO_Continuous_Underline ISO_Discontinuous_Underline ISO_Emphasize ISO_Center_Object ISO_Enter dead_grave -syn keyword xmodmapKeySym dead_acute dead_circumflex dead_tilde dead_macron dead_breve dead_abovedot dead_diaeresis dead_abovering dead_doubleacute dead_caron dead_cedilla dead_ogonek dead_iota dead_voiced_sound dead_semivoiced_sound -syn keyword xmodmapKeySym dead_belowdot dead_hook dead_horn First_Virtual_Screen Prev_Virtual_Screen Next_Virtual_Screen Last_Virtual_Screen Terminate_Server AccessX_Enable AccessX_Feedback_Enable RepeatKeys_Enable SlowKeys_Enable BounceKeys_Enable StickyKeys_Enable MouseKeys_Enable -syn keyword xmodmapKeySym MouseKeys_Accel_Enable Overlay1_Enable Overlay2_Enable AudibleBell_Enable Pointer_Left Pointer_Right Pointer_Up Pointer_Down Pointer_UpLeft Pointer_UpRight Pointer_DownLeft Pointer_DownRight Pointer_Button_Dflt Pointer_Button1 Pointer_Button2 -syn keyword xmodmapKeySym Pointer_Button3 Pointer_Button4 Pointer_Button5 Pointer_DblClick_Dflt Pointer_DblClick1 Pointer_DblClick2 Pointer_DblClick3 Pointer_DblClick4 Pointer_DblClick5 Pointer_Drag_Dflt Pointer_Drag1 Pointer_Drag2 Pointer_Drag3 Pointer_Drag4 Pointer_Drag5 -syn keyword xmodmapKeySym Pointer_EnableKeys Pointer_Accelerate Pointer_DfltBtnNext Pointer_DfltBtnPrev 3270_Duplicate 3270_FieldMark 3270_Right2 3270_Left2 3270_BackTab 3270_EraseEOF 3270_EraseInput 3270_Reset 3270_Quit 3270_PA1 3270_PA2 -syn keyword xmodmapKeySym 3270_PA3 3270_Test 3270_Attn 3270_CursorBlink 3270_AltCursor 3270_KeyClick 3270_Jump 3270_Ident 3270_Rule 3270_Copy 3270_Play 3270_Setup 3270_Record 3270_ChangeScreen 3270_DeleteWord -syn keyword xmodmapKeySym 3270_ExSelect 3270_CursorSelect 3270_PrintScreen 3270_Enter space exclam quotedbl numbersign dollar percent ampersand apostrophe quoteright parenleft parenright -syn keyword xmodmapKeySym asterisk plus comma minus period slash 0 1 2 3 4 5 6 7 8 -syn keyword xmodmapKeySym 9 colon semicolon less equal greater question at A B C D E F G -syn keyword xmodmapKeySym H I J K L M N O P Q R S T U V -syn keyword xmodmapKeySym W X Y Z bracketleft backslash bracketright asciicircum underscore grave quoteleft a b c d -syn keyword xmodmapKeySym e f g h i j k l m n o p q r s -syn keyword xmodmapKeySym t u v w x y z braceleft bar braceright asciitilde nobreakspace exclamdown cent sterling -syn keyword xmodmapKeySym currency yen brokenbar section diaeresis copyright ordfeminine guillemotleft notsign hyphen registered macron degree plusminus twosuperior -syn keyword xmodmapKeySym threesuperior acute mu paragraph periodcentered cedilla onesuperior masculine guillemotright onequarter onehalf threequarters questiondown Agrave Aacute -syn keyword xmodmapKeySym Acircumflex Atilde Adiaeresis Aring AE Ccedilla Egrave Eacute Ecircumflex Ediaeresis Igrave Iacute Icircumflex Idiaeresis ETH -syn keyword xmodmapKeySym Eth Ntilde Ograve Oacute Ocircumflex Otilde Odiaeresis multiply Ooblique Oslash Ugrave Uacute Ucircumflex Udiaeresis Yacute -syn keyword xmodmapKeySym THORN Thorn ssharp agrave aacute acircumflex atilde adiaeresis aring ae ccedilla egrave eacute ecircumflex ediaeresis -syn keyword xmodmapKeySym igrave iacute icircumflex idiaeresis eth ntilde ograve oacute ocircumflex otilde odiaeresis division oslash ooblique ugrave -syn keyword xmodmapKeySym uacute ucircumflex udiaeresis yacute thorn ydiaeresis Aogonek breve Lstroke Lcaron Sacute Scaron Scedilla Tcaron Zacute -syn keyword xmodmapKeySym Zcaron Zabovedot aogonek ogonek lstroke lcaron sacute caron scaron scedilla tcaron zacute doubleacute zcaron zabovedot -syn keyword xmodmapKeySym Racute Abreve Lacute Cacute Ccaron Eogonek Ecaron Dcaron Dstroke Nacute Ncaron Odoubleacute Rcaron Uring Udoubleacute -syn keyword xmodmapKeySym Tcedilla racute abreve lacute cacute ccaron eogonek ecaron dcaron dstroke nacute ncaron odoubleacute udoubleacute rcaron -syn keyword xmodmapKeySym uring tcedilla abovedot Hstroke Hcircumflex Iabovedot Gbreve Jcircumflex hstroke hcircumflex idotless gbreve jcircumflex Cabovedot Ccircumflex -syn keyword xmodmapKeySym Gabovedot Gcircumflex Ubreve Scircumflex cabovedot ccircumflex gabovedot gcircumflex ubreve scircumflex kra kappa Rcedilla Itilde Lcedilla -syn keyword xmodmapKeySym Emacron Gcedilla Tslash rcedilla itilde lcedilla emacron gcedilla tslash ENG eng Amacron Iogonek Eabovedot Imacron -syn keyword xmodmapKeySym Ncedilla Omacron Kcedilla Uogonek Utilde Umacron amacron iogonek eabovedot imacron ncedilla omacron kcedilla uogonek utilde -syn keyword xmodmapKeySym umacron Babovedot babovedot Dabovedot Wgrave Wacute dabovedot Ygrave Fabovedot fabovedot Mabovedot mabovedot Pabovedot wgrave pabovedot -syn keyword xmodmapKeySym wacute Sabovedot ygrave Wdiaeresis wdiaeresis sabovedot Wcircumflex Tabovedot Ycircumflex wcircumflex tabovedot ycircumflex OE oe Ydiaeresis -syn keyword xmodmapKeySym overline kana_fullstop kana_openingbracket kana_closingbracket kana_comma kana_conjunctive kana_middledot kana_WO kana_a kana_i kana_u kana_e kana_o kana_ya kana_yu -syn keyword xmodmapKeySym kana_yo kana_tsu kana_tu prolongedsound kana_A kana_I kana_U kana_E kana_O kana_KA kana_KI kana_KU kana_KE kana_KO kana_SA -syn keyword xmodmapKeySym kana_SHI kana_SU kana_SE kana_SO kana_TA kana_CHI kana_TI kana_TSU kana_TU kana_TE kana_TO kana_NA kana_NI kana_NU kana_NE -syn keyword xmodmapKeySym kana_NO kana_HA kana_HI kana_FU kana_HU kana_HE kana_HO kana_MA kana_MI kana_MU kana_ME kana_MO kana_YA kana_YU kana_YO -syn keyword xmodmapKeySym kana_RA kana_RI kana_RU kana_RE kana_RO kana_WA kana_N voicedsound semivoicedsound kana_switch Farsi_0 Farsi_1 Farsi_2 Farsi_3 Farsi_4 -syn keyword xmodmapKeySym Farsi_5 Farsi_6 Farsi_7 Farsi_8 Farsi_9 Arabic_percent Arabic_superscript_alef Arabic_tteh Arabic_peh Arabic_tcheh Arabic_ddal Arabic_rreh Arabic_comma Arabic_fullstop Arabic_0 -syn keyword xmodmapKeySym Arabic_1 Arabic_2 Arabic_3 Arabic_4 Arabic_5 Arabic_6 Arabic_7 Arabic_8 Arabic_9 Arabic_semicolon Arabic_question_mark Arabic_hamza Arabic_maddaonalef Arabic_hamzaonalef Arabic_hamzaonwaw -syn keyword xmodmapKeySym Arabic_hamzaunderalef Arabic_hamzaonyeh Arabic_alef Arabic_beh Arabic_tehmarbuta Arabic_teh Arabic_theh Arabic_jeem Arabic_hah Arabic_khah Arabic_dal Arabic_thal Arabic_ra Arabic_zain Arabic_seen -syn keyword xmodmapKeySym Arabic_sheen Arabic_sad Arabic_dad Arabic_tah Arabic_zah Arabic_ain Arabic_ghain Arabic_tatweel Arabic_feh Arabic_qaf Arabic_kaf Arabic_lam Arabic_meem Arabic_noon Arabic_ha -syn keyword xmodmapKeySym Arabic_heh Arabic_waw Arabic_alefmaksura Arabic_yeh Arabic_fathatan Arabic_dammatan Arabic_kasratan Arabic_fatha Arabic_damma Arabic_kasra Arabic_shadda Arabic_sukun Arabic_madda_above Arabic_hamza_above Arabic_hamza_below -syn keyword xmodmapKeySym Arabic_jeh Arabic_veh Arabic_keheh Arabic_gaf Arabic_noon_ghunna Arabic_heh_doachashmee Farsi_yeh Arabic_farsi_yeh Arabic_yeh_baree Arabic_heh_goal Arabic_switch Cyrillic_GHE_bar Cyrillic_ghe_bar Cyrillic_ZHE_descender Cyrillic_zhe_descender -syn keyword xmodmapKeySym Cyrillic_KA_descender Cyrillic_ka_descender Cyrillic_KA_vertstroke Cyrillic_ka_vertstroke Cyrillic_EN_descender Cyrillic_en_descender Cyrillic_U_straight Cyrillic_u_straight Cyrillic_U_straight_bar Cyrillic_u_straight_bar Cyrillic_HA_descender Cyrillic_ha_descender Cyrillic_CHE_descender Cyrillic_che_descender Cyrillic_CHE_vertstroke -syn keyword xmodmapKeySym Cyrillic_che_vertstroke Cyrillic_SHHA Cyrillic_shha Cyrillic_SCHWA Cyrillic_schwa Cyrillic_I_macron Cyrillic_i_macron Cyrillic_O_bar Cyrillic_o_bar Cyrillic_U_macron Cyrillic_u_macron Serbian_dje Macedonia_gje Cyrillic_io Ukrainian_ie -syn keyword xmodmapKeySym Ukranian_je Macedonia_dse Ukrainian_i Ukranian_i Ukrainian_yi Ukranian_yi Cyrillic_je Serbian_je Cyrillic_lje Serbian_lje Cyrillic_nje Serbian_nje Serbian_tshe Macedonia_kje Ukrainian_ghe_with_upturn -syn keyword xmodmapKeySym Byelorussian_shortu Cyrillic_dzhe Serbian_dze numerosign Serbian_DJE Macedonia_GJE Cyrillic_IO Ukrainian_IE Ukranian_JE Macedonia_DSE Ukrainian_I Ukranian_I Ukrainian_YI Ukranian_YI Cyrillic_JE -syn keyword xmodmapKeySym Serbian_JE Cyrillic_LJE Serbian_LJE Cyrillic_NJE Serbian_NJE Serbian_TSHE Macedonia_KJE Ukrainian_GHE_WITH_UPTURN Byelorussian_SHORTU Cyrillic_DZHE Serbian_DZE Cyrillic_yu Cyrillic_a Cyrillic_be Cyrillic_tse -syn keyword xmodmapKeySym Cyrillic_de Cyrillic_ie Cyrillic_ef Cyrillic_ghe Cyrillic_ha Cyrillic_i Cyrillic_shorti Cyrillic_ka Cyrillic_el Cyrillic_em Cyrillic_en Cyrillic_o Cyrillic_pe Cyrillic_ya Cyrillic_er -syn keyword xmodmapKeySym Cyrillic_es Cyrillic_te Cyrillic_u Cyrillic_zhe Cyrillic_ve Cyrillic_softsign Cyrillic_yeru Cyrillic_ze Cyrillic_sha Cyrillic_e Cyrillic_shcha Cyrillic_che Cyrillic_hardsign Cyrillic_YU Cyrillic_A -syn keyword xmodmapKeySym Cyrillic_BE Cyrillic_TSE Cyrillic_DE Cyrillic_IE Cyrillic_EF Cyrillic_GHE Cyrillic_HA Cyrillic_I Cyrillic_SHORTI Cyrillic_KA Cyrillic_EL Cyrillic_EM Cyrillic_EN Cyrillic_O Cyrillic_PE -syn keyword xmodmapKeySym Cyrillic_YA Cyrillic_ER Cyrillic_ES Cyrillic_TE Cyrillic_U Cyrillic_ZHE Cyrillic_VE Cyrillic_SOFTSIGN Cyrillic_YERU Cyrillic_ZE Cyrillic_SHA Cyrillic_E Cyrillic_SHCHA Cyrillic_CHE Cyrillic_HARDSIGN -syn keyword xmodmapKeySym Greek_ALPHAaccent Greek_EPSILONaccent Greek_ETAaccent Greek_IOTAaccent Greek_IOTAdieresis Greek_IOTAdiaeresis Greek_OMICRONaccent Greek_UPSILONaccent Greek_UPSILONdieresis Greek_OMEGAaccent Greek_accentdieresis Greek_horizbar Greek_alphaaccent Greek_epsilonaccent Greek_etaaccent -syn keyword xmodmapKeySym Greek_iotaaccent Greek_iotadieresis Greek_iotaaccentdieresis Greek_omicronaccent Greek_upsilonaccent Greek_upsilondieresis Greek_upsilonaccentdieresis Greek_omegaaccent Greek_ALPHA Greek_BETA Greek_GAMMA Greek_DELTA Greek_EPSILON Greek_ZETA Greek_ETA -syn keyword xmodmapKeySym Greek_THETA Greek_IOTA Greek_KAPPA Greek_LAMDA Greek_LAMBDA Greek_MU Greek_NU Greek_XI Greek_OMICRON Greek_PI Greek_RHO Greek_SIGMA Greek_TAU Greek_UPSILON Greek_PHI -syn keyword xmodmapKeySym Greek_CHI Greek_PSI Greek_OMEGA Greek_alpha Greek_beta Greek_gamma Greek_delta Greek_epsilon Greek_zeta Greek_eta Greek_theta Greek_iota Greek_kappa Greek_lamda Greek_lambda -syn keyword xmodmapKeySym Greek_mu Greek_nu Greek_xi Greek_omicron Greek_pi Greek_rho Greek_sigma Greek_finalsmallsigma Greek_tau Greek_upsilon Greek_phi Greek_chi Greek_psi Greek_omega Greek_switch -syn keyword xmodmapKeySym leftradical topleftradical horizconnector topintegral botintegral vertconnector topleftsqbracket botleftsqbracket toprightsqbracket botrightsqbracket topleftparens botleftparens toprightparens botrightparens leftmiddlecurlybrace -syn keyword xmodmapKeySym rightmiddlecurlybrace topleftsummation botleftsummation topvertsummationconnector botvertsummationconnector toprightsummation botrightsummation rightmiddlesummation lessthanequal notequal greaterthanequal integral therefore variation infinity -syn keyword xmodmapKeySym nabla approximate similarequal ifonlyif implies identical radical includedin includes intersection union logicaland logicalor partialderivative function -syn keyword xmodmapKeySym leftarrow uparrow rightarrow downarrow blank soliddiamond checkerboard ht ff cr lf nl vt lowrightcorner uprightcorner -syn keyword xmodmapKeySym upleftcorner lowleftcorner crossinglines horizlinescan1 horizlinescan3 horizlinescan5 horizlinescan7 horizlinescan9 leftt rightt bott topt vertbar emspace enspace -syn keyword xmodmapKeySym em3space em4space digitspace punctspace thinspace hairspace emdash endash signifblank ellipsis doubbaselinedot onethird twothirds onefifth twofifths -syn keyword xmodmapKeySym threefifths fourfifths onesixth fivesixths careof figdash leftanglebracket decimalpoint rightanglebracket marker oneeighth threeeighths fiveeighths seveneighths trademark -syn keyword xmodmapKeySym signaturemark trademarkincircle leftopentriangle rightopentriangle emopencircle emopenrectangle leftsinglequotemark rightsinglequotemark leftdoublequotemark rightdoublequotemark prescription minutes seconds latincross hexagram -syn keyword xmodmapKeySym filledrectbullet filledlefttribullet filledrighttribullet emfilledcircle emfilledrect enopencircbullet enopensquarebullet openrectbullet opentribulletup opentribulletdown openstar enfilledcircbullet enfilledsqbullet filledtribulletup filledtribulletdown -syn keyword xmodmapKeySym leftpointer rightpointer club diamond heart maltesecross dagger doubledagger checkmark ballotcross musicalsharp musicalflat malesymbol femalesymbol telephone -syn keyword xmodmapKeySym telephonerecorder phonographcopyright caret singlelowquotemark doublelowquotemark cursor leftcaret rightcaret downcaret upcaret overbar downtack upshoe downstile underbar -syn keyword xmodmapKeySym jot quad uptack circle upstile downshoe rightshoe leftshoe lefttack righttack hebrew_doublelowline hebrew_aleph hebrew_bet hebrew_beth hebrew_gimel -syn keyword xmodmapKeySym hebrew_gimmel hebrew_dalet hebrew_daleth hebrew_he hebrew_waw hebrew_zain hebrew_zayin hebrew_chet hebrew_het hebrew_tet hebrew_teth hebrew_yod hebrew_finalkaph hebrew_kaph hebrew_lamed -syn keyword xmodmapKeySym hebrew_finalmem hebrew_mem hebrew_finalnun hebrew_nun hebrew_samech hebrew_samekh hebrew_ayin hebrew_finalpe hebrew_pe hebrew_finalzade hebrew_finalzadi hebrew_zade hebrew_zadi hebrew_qoph hebrew_kuf -syn keyword xmodmapKeySym hebrew_resh hebrew_shin hebrew_taw hebrew_taf Hebrew_switch Thai_kokai Thai_khokhai Thai_khokhuat Thai_khokhwai Thai_khokhon Thai_khorakhang Thai_ngongu Thai_chochan Thai_choching Thai_chochang -syn keyword xmodmapKeySym Thai_soso Thai_chochoe Thai_yoying Thai_dochada Thai_topatak Thai_thothan Thai_thonangmontho Thai_thophuthao Thai_nonen Thai_dodek Thai_totao Thai_thothung Thai_thothahan Thai_thothong Thai_nonu -syn keyword xmodmapKeySym Thai_bobaimai Thai_popla Thai_phophung Thai_fofa Thai_phophan Thai_fofan Thai_phosamphao Thai_moma Thai_yoyak Thai_rorua Thai_ru Thai_loling Thai_lu Thai_wowaen Thai_sosala -syn keyword xmodmapKeySym Thai_sorusi Thai_sosua Thai_hohip Thai_lochula Thai_oang Thai_honokhuk Thai_paiyannoi Thai_saraa Thai_maihanakat Thai_saraaa Thai_saraam Thai_sarai Thai_saraii Thai_saraue Thai_sarauee -syn keyword xmodmapKeySym Thai_sarau Thai_sarauu Thai_phinthu Thai_maihanakat_maitho Thai_baht Thai_sarae Thai_saraae Thai_sarao Thai_saraaimaimuan Thai_saraaimaimalai Thai_lakkhangyao Thai_maiyamok Thai_maitaikhu Thai_maiek Thai_maitho -syn keyword xmodmapKeySym Thai_maitri Thai_maichattawa Thai_thanthakhat Thai_nikhahit Thai_leksun Thai_leknung Thai_leksong Thai_leksam Thai_leksi Thai_lekha Thai_lekhok Thai_lekchet Thai_lekpaet Thai_lekkao Hangul -syn keyword xmodmapKeySym Hangul_Start Hangul_End Hangul_Hanja Hangul_Jamo Hangul_Romaja Hangul_Codeinput Hangul_Jeonja Hangul_Banja Hangul_PreHanja Hangul_PostHanja Hangul_SingleCandidate Hangul_MultipleCandidate Hangul_PreviousCandidate Hangul_Special Hangul_switch -syn keyword xmodmapKeySym Hangul_Kiyeog Hangul_SsangKiyeog Hangul_KiyeogSios Hangul_Nieun Hangul_NieunJieuj Hangul_NieunHieuh Hangul_Dikeud Hangul_SsangDikeud Hangul_Rieul Hangul_RieulKiyeog Hangul_RieulMieum Hangul_RieulPieub Hangul_RieulSios Hangul_RieulTieut Hangul_RieulPhieuf -syn keyword xmodmapKeySym Hangul_RieulHieuh Hangul_Mieum Hangul_Pieub Hangul_SsangPieub Hangul_PieubSios Hangul_Sios Hangul_SsangSios Hangul_Ieung Hangul_Jieuj Hangul_SsangJieuj Hangul_Cieuc Hangul_Khieuq Hangul_Tieut Hangul_Phieuf Hangul_Hieuh -syn keyword xmodmapKeySym Hangul_A Hangul_AE Hangul_YA Hangul_YAE Hangul_EO Hangul_E Hangul_YEO Hangul_YE Hangul_O Hangul_WA Hangul_WAE Hangul_OE Hangul_YO Hangul_U Hangul_WEO -syn keyword xmodmapKeySym Hangul_WE Hangul_WI Hangul_YU Hangul_EU Hangul_YI Hangul_I Hangul_J_Kiyeog Hangul_J_SsangKiyeog Hangul_J_KiyeogSios Hangul_J_Nieun Hangul_J_NieunJieuj Hangul_J_NieunHieuh Hangul_J_Dikeud Hangul_J_Rieul Hangul_J_RieulKiyeog -syn keyword xmodmapKeySym Hangul_J_RieulMieum Hangul_J_RieulPieub Hangul_J_RieulSios Hangul_J_RieulTieut Hangul_J_RieulPhieuf Hangul_J_RieulHieuh Hangul_J_Mieum Hangul_J_Pieub Hangul_J_PieubSios Hangul_J_Sios Hangul_J_SsangSios Hangul_J_Ieung Hangul_J_Jieuj Hangul_J_Cieuc Hangul_J_Khieuq -syn keyword xmodmapKeySym Hangul_J_Tieut Hangul_J_Phieuf Hangul_J_Hieuh Hangul_RieulYeorinHieuh Hangul_SunkyeongeumMieum Hangul_SunkyeongeumPieub Hangul_PanSios Hangul_KkogjiDalrinIeung Hangul_SunkyeongeumPhieuf Hangul_YeorinHieuh Hangul_AraeA Hangul_AraeAE Hangul_J_PanSios Hangul_J_KkogjiDalrinIeung Hangul_J_YeorinHieuh -syn keyword xmodmapKeySym Korean_Won Armenian_eternity Armenian_ligature_ew Armenian_full_stop Armenian_verjaket Armenian_parenright Armenian_parenleft Armenian_guillemotright Armenian_guillemotleft Armenian_em_dash Armenian_dot Armenian_mijaket Armenian_separation_mark Armenian_but Armenian_comma -syn keyword xmodmapKeySym Armenian_en_dash Armenian_hyphen Armenian_yentamna Armenian_ellipsis Armenian_exclam Armenian_amanak Armenian_accent Armenian_shesht Armenian_question Armenian_paruyk Armenian_AYB Armenian_ayb Armenian_BEN Armenian_ben Armenian_GIM -syn keyword xmodmapKeySym Armenian_gim Armenian_DA Armenian_da Armenian_YECH Armenian_yech Armenian_ZA Armenian_za Armenian_E Armenian_e Armenian_AT Armenian_at Armenian_TO Armenian_to Armenian_ZHE Armenian_zhe -syn keyword xmodmapKeySym Armenian_INI Armenian_ini Armenian_LYUN Armenian_lyun Armenian_KHE Armenian_khe Armenian_TSA Armenian_tsa Armenian_KEN Armenian_ken Armenian_HO Armenian_ho Armenian_DZA Armenian_dza Armenian_GHAT -syn keyword xmodmapKeySym Armenian_ghat Armenian_TCHE Armenian_tche Armenian_MEN Armenian_men Armenian_HI Armenian_hi Armenian_NU Armenian_nu Armenian_SHA Armenian_sha Armenian_VO Armenian_vo Armenian_CHA Armenian_cha -syn keyword xmodmapKeySym Armenian_PE Armenian_pe Armenian_JE Armenian_je Armenian_RA Armenian_ra Armenian_SE Armenian_se Armenian_VEV Armenian_vev Armenian_TYUN Armenian_tyun Armenian_RE Armenian_re Armenian_TSO -syn keyword xmodmapKeySym Armenian_tso Armenian_VYUN Armenian_vyun Armenian_PYUR Armenian_pyur Armenian_KE Armenian_ke Armenian_O Armenian_o Armenian_FE Armenian_fe Armenian_apostrophe Armenian_section_sign Georgian_an Georgian_ban -syn keyword xmodmapKeySym Georgian_gan Georgian_don Georgian_en Georgian_vin Georgian_zen Georgian_tan Georgian_in Georgian_kan Georgian_las Georgian_man Georgian_nar Georgian_on Georgian_par Georgian_zhar Georgian_rae -syn keyword xmodmapKeySym Georgian_san Georgian_tar Georgian_un Georgian_phar Georgian_khar Georgian_ghan Georgian_qar Georgian_shin Georgian_chin Georgian_can Georgian_jil Georgian_cil Georgian_char Georgian_xan Georgian_jhan -syn keyword xmodmapKeySym Georgian_hae Georgian_he Georgian_hie Georgian_we Georgian_har Georgian_hoe Georgian_fi Ccedillaabovedot Xabovedot Qabovedot Ibreve IE UO Zstroke Gcaron -syn keyword xmodmapKeySym Obarred ccedillaabovedot xabovedot Ocaron qabovedot ibreve ie uo zstroke gcaron ocaron obarred SCHWA schwa Lbelowdot -syn keyword xmodmapKeySym Lstrokebelowdot lbelowdot lstrokebelowdot Gtilde gtilde Abelowdot abelowdot Ahook ahook Acircumflexacute acircumflexacute Acircumflexgrave acircumflexgrave Acircumflexhook acircumflexhook -syn keyword xmodmapKeySym Acircumflextilde acircumflextilde Acircumflexbelowdot acircumflexbelowdot Abreveacute abreveacute Abrevegrave abrevegrave Abrevehook abrevehook Abrevetilde abrevetilde Abrevebelowdot abrevebelowdot Ebelowdot -syn keyword xmodmapKeySym ebelowdot Ehook ehook Etilde etilde Ecircumflexacute ecircumflexacute Ecircumflexgrave ecircumflexgrave Ecircumflexhook ecircumflexhook Ecircumflextilde ecircumflextilde Ecircumflexbelowdot ecircumflexbelowdot -syn keyword xmodmapKeySym Ihook ihook Ibelowdot ibelowdot Obelowdot obelowdot Ohook ohook Ocircumflexacute ocircumflexacute Ocircumflexgrave ocircumflexgrave Ocircumflexhook ocircumflexhook Ocircumflextilde -syn keyword xmodmapKeySym ocircumflextilde Ocircumflexbelowdot ocircumflexbelowdot Ohornacute ohornacute Ohorngrave ohorngrave Ohornhook ohornhook Ohorntilde ohorntilde Ohornbelowdot ohornbelowdot Ubelowdot ubelowdot -syn keyword xmodmapKeySym Uhook uhook Uhornacute uhornacute Uhorngrave uhorngrave Uhornhook uhornhook Uhorntilde uhorntilde Uhornbelowdot uhornbelowdot Ybelowdot ybelowdot Yhook -syn keyword xmodmapKeySym yhook Ytilde ytilde Ohorn ohorn Uhorn uhorn combining_tilde combining_grave combining_acute combining_hook combining_belowdot EcuSign ColonSign CruzeiroSign -syn keyword xmodmapKeySym FFrancSign LiraSign MillSign NairaSign PesetaSign RupeeSign WonSign NewSheqelSign DongSign EuroSign -syn match xmodmapKeySym "\<[A-Za-z]\>" +syn match xmodmapKeySym display '\<[A-Za-z]\>' -" keywords -syn keyword xmodmapKeyword keycode keysym clear add remove pointer +" #include <X11/keysymdef.h> +syn keyword xmodmapKeySym XK_VoidSymbol XK_BackSpace XK_Tab XK_Linefeed + \ XK_Clear XK_Return XK_Pause XK_Scroll_Lock + \ XK_Sys_Req XK_Escape XK_Delete XK_Multi_key + \ XK_Codeinput XK_SingleCandidate + \ XK_MultipleCandidate XK_PreviousCandidate + \ XK_Kanji XK_Muhenkan XK_Henkan_Mode + \ XK_Henkan XK_Romaji XK_Hiragana XK_Katakana + \ XK_Hiragana_Katakana XK_Zenkaku XK_Hankaku + \ XK_Zenkaku_Hankaku XK_Touroku XK_Massyo + \ XK_Kana_Lock XK_Kana_Shift XK_Eisu_Shift + \ XK_Eisu_toggle XK_Kanji_Bangou XK_Zen_Koho + \ XK_Mae_Koho XK_Home XK_Left XK_Up XK_Right + \ XK_Down XK_Prior XK_Page_Up XK_Next + \ XK_Page_Down XK_End XK_Begin XK_Select + \ XK_Print XK_Execute XK_Insert XK_Undo XK_Redo + \ XK_Menu XK_Find XK_Cancel XK_Help XK_Break + \ XK_Mode_switch XK_script_switch XK_Num_Lock + \ XK_KP_Space XK_KP_Tab XK_KP_Enter XK_KP_F1 + \ XK_KP_F2 XK_KP_F3 XK_KP_F4 XK_KP_Home + \ XK_KP_Left XK_KP_Up XK_KP_Right XK_KP_Down + \ XK_KP_Prior XK_KP_Page_Up XK_KP_Next + \ XK_KP_Page_Down XK_KP_End XK_KP_Begin + \ XK_KP_Insert XK_KP_Delete XK_KP_Equal + \ XK_KP_Multiply XK_KP_Add XK_KP_Separator + \ XK_KP_Subtract XK_KP_Decimal XK_KP_Divide + \ XK_KP_0 XK_KP_1 XK_KP_2 XK_KP_3 XK_KP_4 + \ XK_KP_5 XK_KP_6 XK_KP_7 XK_KP_8 XK_KP_9 XK_F1 + \ XK_F2 XK_F3 XK_F4 XK_F5 XK_F6 XK_F7 XK_F8 + \ XK_F9 XK_F10 XK_F11 XK_L1 XK_F12 XK_L2 XK_F13 + \ XK_L3 XK_F14 XK_L4 XK_F15 XK_L5 XK_F16 XK_L6 + \ XK_F17 XK_L7 XK_F18 XK_L8 XK_F19 XK_L9 XK_F20 + \ XK_L10 XK_F21 XK_R1 XK_F22 XK_R2 XK_F23 + \ XK_R3 XK_F24 XK_R4 XK_F25 XK_R5 XK_F26 + \ XK_R6 XK_F27 XK_R7 XK_F28 XK_R8 XK_F29 + \ XK_R9 XK_F30 XK_R10 XK_F31 XK_R11 XK_F32 + \ XK_R12 XK_F33 XK_R13 XK_F34 XK_R14 XK_F35 + \ XK_R15 XK_Shift_L XK_Shift_R XK_Control_L + \ XK_Control_R XK_Caps_Lock XK_Shift_Lock + \ XK_Meta_L XK_Meta_R XK_Alt_L XK_Alt_R + \ XK_Super_L XK_Super_R XK_Hyper_L XK_Hyper_R + \ XK_dead_hook XK_dead_horn XK_3270_Duplicate + \ XK_3270_FieldMark XK_3270_Right2 XK_3270_Left2 + \ XK_3270_BackTab XK_3270_EraseEOF + \ XK_3270_EraseInput XK_3270_Reset + \ XK_3270_Quit XK_3270_PA1 XK_3270_PA2 + \ XK_3270_PA3 XK_3270_Test XK_3270_Attn + \ XK_3270_CursorBlink XK_3270_AltCursor + \ XK_3270_KeyClick XK_3270_Jump + \ XK_3270_Ident XK_3270_Rule XK_3270_Copy + \ XK_3270_Play XK_3270_Setup XK_3270_Record + \ XK_3270_ChangeScreen XK_3270_DeleteWord + \ XK_3270_ExSelect XK_3270_CursorSelect + \ XK_3270_PrintScreen XK_3270_Enter XK_space + \ XK_exclam XK_quotedbl XK_numbersign XK_dollar + \ XK_percent XK_ampersand XK_apostrophe + \ XK_quoteright XK_parenleft XK_parenright + \ XK_asterisk XK_plus XK_comma XK_minus + \ XK_period XK_slash XK_0 XK_1 XK_2 XK_3 + \ XK_4 XK_5 XK_6 XK_7 XK_8 XK_9 XK_colon + \ XK_semicolon XK_less XK_equal XK_greater + \ XK_question XK_at XK_A XK_B XK_C XK_D XK_E + \ XK_F XK_G XK_H XK_I XK_J XK_K XK_L XK_M XK_N + \ XK_O XK_P XK_Q XK_R XK_S XK_T XK_U XK_V XK_W + \ XK_X XK_Y XK_Z XK_bracketleft XK_backslash + \ XK_bracketright XK_asciicircum XK_underscore + \ XK_grave XK_quoteleft XK_a XK_b XK_c XK_d + \ XK_e XK_f XK_g XK_h XK_i XK_j XK_k XK_l + \ XK_m XK_n XK_o XK_p XK_q XK_r XK_s XK_t XK_u + \ XK_v XK_w XK_x XK_y XK_z XK_braceleft XK_bar + \ XK_braceright XK_asciitilde XK_nobreakspace + \ XK_exclamdown XK_cent XK_sterling XK_currency + \ XK_yen XK_brokenbar XK_section XK_diaeresis + \ XK_copyright XK_ordfeminine XK_guillemotleft + \ XK_notsign XK_hyphen XK_registered XK_macron + \ XK_degree XK_plusminus XK_twosuperior + \ XK_threesuperior XK_acute XK_mu XK_paragraph + \ XK_periodcentered XK_cedilla XK_onesuperior + \ XK_masculine XK_guillemotright XK_onequarter + \ XK_onehalf XK_threequarters XK_questiondown + \ XK_Agrave XK_Aacute XK_Acircumflex XK_Atilde + \ XK_Adiaeresis XK_Aring XK_AE XK_Ccedilla + \ XK_Egrave XK_Eacute XK_Ecircumflex + \ XK_Ediaeresis XK_Igrave XK_Iacute + \ XK_Icircumflex XK_Idiaeresis XK_ETH XK_Eth + \ XK_Ntilde XK_Ograve XK_Oacute XK_Ocircumflex + \ XK_Otilde XK_Odiaeresis XK_multiply + \ XK_Ooblique XK_Ugrave XK_Uacute XK_Ucircumflex + \ XK_Udiaeresis XK_Yacute XK_THORN XK_Thorn + \ XK_ssharp XK_agrave XK_aacute XK_acircumflex + \ XK_atilde XK_adiaeresis XK_aring XK_ae + \ XK_ccedilla XK_egrave XK_eacute XK_ecircumflex + \ XK_ediaeresis XK_igrave XK_iacute + \ XK_icircumflex XK_idiaeresis XK_eth XK_ntilde + \ XK_ograve XK_oacute XK_ocircumflex XK_otilde + \ XK_odiaeresis XK_division XK_oslash XK_ugrave + \ XK_uacute XK_ucircumflex XK_udiaeresis + \ XK_yacute XK_thorn XK_ydiaeresis XK_Aogonek + \ XK_breve XK_Lstroke XK_Lcaron XK_Sacute + \ XK_Scaron XK_Scedilla XK_Tcaron XK_Zacute + \ XK_Zcaron XK_Zabovedot XK_aogonek XK_ogonek + \ XK_lstroke XK_lcaron XK_sacute XK_caron + \ XK_scaron XK_scedilla XK_tcaron XK_zacute + \ XK_doubleacute XK_zcaron XK_zabovedot + \ XK_Racute XK_Abreve XK_Lacute XK_Cacute + \ XK_Ccaron XK_Eogonek XK_Ecaron XK_Dcaron + \ XK_Dstroke XK_Nacute XK_Ncaron XK_Odoubleacute + \ XK_Rcaron XK_Uring XK_Udoubleacute + \ XK_Tcedilla XK_racute XK_abreve XK_lacute + \ XK_cacute XK_ccaron XK_eogonek XK_ecaron + \ XK_dcaron XK_dstroke XK_nacute XK_ncaron + \ XK_odoubleacute XK_udoubleacute XK_rcaron + \ XK_uring XK_tcedilla XK_abovedot XK_Hstroke + \ XK_Hcircumflex XK_Iabovedot XK_Gbreve + \ XK_Jcircumflex XK_hstroke XK_hcircumflex + \ XK_idotless XK_gbreve XK_jcircumflex + \ XK_Cabovedot XK_Ccircumflex XK_Gabovedot + \ XK_Gcircumflex XK_Ubreve XK_Scircumflex + \ XK_cabovedot XK_ccircumflex XK_gabovedot + \ XK_gcircumflex XK_ubreve XK_scircumflex XK_kra + \ XK_kappa XK_Rcedilla XK_Itilde XK_Lcedilla + \ XK_Emacron XK_Gcedilla XK_Tslash XK_rcedilla + \ XK_itilde XK_lcedilla XK_emacron XK_gcedilla + \ XK_tslash XK_ENG XK_eng XK_Amacron XK_Iogonek + \ XK_Eabovedot XK_Imacron XK_Ncedilla XK_Omacron + \ XK_Kcedilla XK_Uogonek XK_Utilde XK_Umacron + \ XK_amacron XK_iogonek XK_eabovedot XK_imacron + \ XK_ncedilla XK_omacron XK_kcedilla XK_uogonek + \ XK_utilde XK_umacron XK_Babovedot XK_babovedot + \ XK_Dabovedot XK_Wgrave XK_Wacute XK_dabovedot + \ XK_Ygrave XK_Fabovedot XK_fabovedot + \ XK_Mabovedot XK_mabovedot XK_Pabovedot + \ XK_wgrave XK_pabovedot XK_wacute XK_Sabovedot + \ XK_ygrave XK_Wdiaeresis XK_wdiaeresis + \ XK_sabovedot XK_Wcircumflex XK_Tabovedot + \ XK_Ycircumflex XK_wcircumflex + \ XK_tabovedot XK_ycircumflex XK_OE XK_oe + \ XK_Ydiaeresis XK_overline XK_kana_fullstop + \ XK_kana_openingbracket XK_kana_closingbracket + \ XK_kana_comma XK_kana_conjunctive + \ XK_kana_middledot XK_kana_WO XK_kana_a + \ XK_kana_i XK_kana_u XK_kana_e XK_kana_o + \ XK_kana_ya XK_kana_yu XK_kana_yo + \ XK_kana_tsu XK_kana_tu XK_prolongedsound + \ XK_kana_A XK_kana_I XK_kana_U XK_kana_E + \ XK_kana_O XK_kana_KA XK_kana_KI XK_kana_KU + \ XK_kana_KE XK_kana_KO XK_kana_SA XK_kana_SHI + \ XK_kana_SU XK_kana_SE XK_kana_SO XK_kana_TA + \ XK_kana_CHI XK_kana_TI XK_kana_TSU + \ XK_kana_TU XK_kana_TE XK_kana_TO XK_kana_NA + \ XK_kana_NI XK_kana_NU XK_kana_NE XK_kana_NO + \ XK_kana_HA XK_kana_HI XK_kana_FU XK_kana_HU + \ XK_kana_HE XK_kana_HO XK_kana_MA XK_kana_MI + \ XK_kana_MU XK_kana_ME XK_kana_MO XK_kana_YA + \ XK_kana_YU XK_kana_YO XK_kana_RA XK_kana_RI + \ XK_kana_RU XK_kana_RE XK_kana_RO XK_kana_WA + \ XK_kana_N XK_voicedsound XK_semivoicedsound + \ XK_kana_switch XK_Farsi_0 XK_Farsi_1 + \ XK_Farsi_2 XK_Farsi_3 XK_Farsi_4 XK_Farsi_5 + \ XK_Farsi_6 XK_Farsi_7 XK_Farsi_8 XK_Farsi_9 + \ XK_Arabic_percent XK_Arabic_superscript_alef + \ XK_Arabic_tteh XK_Arabic_peh XK_Arabic_tcheh + \ XK_Arabic_ddal XK_Arabic_rreh XK_Arabic_comma + \ XK_Arabic_fullstop XK_Arabic_0 XK_Arabic_1 + \ XK_Arabic_2 XK_Arabic_3 XK_Arabic_4 + \ XK_Arabic_5 XK_Arabic_6 XK_Arabic_7 + \ XK_Arabic_8 XK_Arabic_9 XK_Arabic_semicolon + \ XK_Arabic_question_mark XK_Arabic_hamza + \ XK_Arabic_maddaonalef XK_Arabic_hamzaonalef + \ XK_Arabic_hamzaonwaw XK_Arabic_hamzaunderalef + \ XK_Arabic_hamzaonyeh XK_Arabic_alef + \ XK_Arabic_beh XK_Arabic_tehmarbuta + \ XK_Arabic_teh XK_Arabic_theh XK_Arabic_jeem + \ XK_Arabic_hah XK_Arabic_khah XK_Arabic_dal + \ XK_Arabic_thal XK_Arabic_ra XK_Arabic_zain + \ XK_Arabic_seen XK_Arabic_sheen + \ XK_Arabic_sad XK_Arabic_dad XK_Arabic_tah + \ XK_Arabic_zah XK_Arabic_ain XK_Arabic_ghain + \ XK_Arabic_tatweel XK_Arabic_feh XK_Arabic_qaf + \ XK_Arabic_kaf XK_Arabic_lam XK_Arabic_meem + \ XK_Arabic_noon XK_Arabic_ha XK_Arabic_heh + \ XK_Arabic_waw XK_Arabic_alefmaksura + \ XK_Arabic_yeh XK_Arabic_fathatan + \ XK_Arabic_dammatan XK_Arabic_kasratan + \ XK_Arabic_fatha XK_Arabic_damma + \ XK_Arabic_kasra XK_Arabic_shadda + \ XK_Arabic_sukun XK_Arabic_madda_above + \ XK_Arabic_hamza_above XK_Arabic_hamza_below + \ XK_Arabic_jeh XK_Arabic_veh XK_Arabic_keheh + \ XK_Arabic_gaf XK_Arabic_noon_ghunna + \ XK_Arabic_heh_doachashmee XK_Farsi_yeh + \ XK_Arabic_yeh_baree XK_Arabic_heh_goal + \ XK_Arabic_switch XK_Cyrillic_GHE_bar + \ XK_Cyrillic_ghe_bar XK_Cyrillic_ZHE_descender + \ XK_Cyrillic_zhe_descender + \ XK_Cyrillic_KA_descender + \ XK_Cyrillic_ka_descender + \ XK_Cyrillic_KA_vertstroke + \ XK_Cyrillic_ka_vertstroke + \ XK_Cyrillic_EN_descender + \ XK_Cyrillic_en_descender + \ XK_Cyrillic_U_straight XK_Cyrillic_u_straight + \ XK_Cyrillic_U_straight_bar + \ XK_Cyrillic_u_straight_bar + \ XK_Cyrillic_HA_descender + \ XK_Cyrillic_ha_descender + \ XK_Cyrillic_CHE_descender + \ XK_Cyrillic_che_descender + \ XK_Cyrillic_CHE_vertstroke + \ XK_Cyrillic_che_vertstroke XK_Cyrillic_SHHA + \ XK_Cyrillic_shha XK_Cyrillic_SCHWA + \ XK_Cyrillic_schwa XK_Cyrillic_I_macron + \ XK_Cyrillic_i_macron XK_Cyrillic_O_bar + \ XK_Cyrillic_o_bar XK_Cyrillic_U_macron + \ XK_Cyrillic_u_macron XK_Serbian_dje + \ XK_Macedonia_gje XK_Cyrillic_io + \ XK_Ukrainian_ie XK_Ukranian_je + \ XK_Macedonia_dse XK_Ukrainian_i XK_Ukranian_i + \ XK_Ukrainian_yi XK_Ukranian_yi XK_Cyrillic_je + \ XK_Serbian_je XK_Cyrillic_lje XK_Serbian_lje + \ XK_Cyrillic_nje XK_Serbian_nje XK_Serbian_tshe + \ XK_Macedonia_kje XK_Ukrainian_ghe_with_upturn + \ XK_Byelorussian_shortu XK_Cyrillic_dzhe + \ XK_Serbian_dze XK_numerosign + \ XK_Serbian_DJE XK_Macedonia_GJE + \ XK_Cyrillic_IO XK_Ukrainian_IE XK_Ukranian_JE + \ XK_Macedonia_DSE XK_Ukrainian_I XK_Ukranian_I + \ XK_Ukrainian_YI XK_Ukranian_YI XK_Cyrillic_JE + \ XK_Serbian_JE XK_Cyrillic_LJE XK_Serbian_LJE + \ XK_Cyrillic_NJE XK_Serbian_NJE XK_Serbian_TSHE + \ XK_Macedonia_KJE XK_Ukrainian_GHE_WITH_UPTURN + \ XK_Byelorussian_SHORTU XK_Cyrillic_DZHE + \ XK_Serbian_DZE XK_Cyrillic_yu + \ XK_Cyrillic_a XK_Cyrillic_be XK_Cyrillic_tse + \ XK_Cyrillic_de XK_Cyrillic_ie XK_Cyrillic_ef + \ XK_Cyrillic_ghe XK_Cyrillic_ha XK_Cyrillic_i + \ XK_Cyrillic_shorti XK_Cyrillic_ka + \ XK_Cyrillic_el XK_Cyrillic_em XK_Cyrillic_en + \ XK_Cyrillic_o XK_Cyrillic_pe XK_Cyrillic_ya + \ XK_Cyrillic_er XK_Cyrillic_es XK_Cyrillic_te + \ XK_Cyrillic_u XK_Cyrillic_zhe XK_Cyrillic_ve + \ XK_Cyrillic_softsign XK_Cyrillic_yeru + \ XK_Cyrillic_ze XK_Cyrillic_sha XK_Cyrillic_e + \ XK_Cyrillic_shcha XK_Cyrillic_che + \ XK_Cyrillic_hardsign XK_Cyrillic_YU + \ XK_Cyrillic_A XK_Cyrillic_BE XK_Cyrillic_TSE + \ XK_Cyrillic_DE XK_Cyrillic_IE XK_Cyrillic_EF + \ XK_Cyrillic_GHE XK_Cyrillic_HA XK_Cyrillic_I + \ XK_Cyrillic_SHORTI XK_Cyrillic_KA + \ XK_Cyrillic_EL XK_Cyrillic_EM XK_Cyrillic_EN + \ XK_Cyrillic_O XK_Cyrillic_PE XK_Cyrillic_YA + \ XK_Cyrillic_ER XK_Cyrillic_ES XK_Cyrillic_TE + \ XK_Cyrillic_U XK_Cyrillic_ZHE XK_Cyrillic_VE + \ XK_Cyrillic_SOFTSIGN XK_Cyrillic_YERU + \ XK_Cyrillic_ZE XK_Cyrillic_SHA XK_Cyrillic_E + \ XK_Cyrillic_SHCHA XK_Cyrillic_CHE + \ XK_Cyrillic_HARDSIGN XK_Greek_ALPHAaccent + \ XK_Greek_EPSILONaccent XK_Greek_ETAaccent + \ XK_Greek_IOTAaccent XK_Greek_IOTAdieresis + \ XK_Greek_OMICRONaccent XK_Greek_UPSILONaccent + \ XK_Greek_UPSILONdieresis + \ XK_Greek_OMEGAaccent XK_Greek_accentdieresis + \ XK_Greek_horizbar XK_Greek_alphaaccent + \ XK_Greek_epsilonaccent XK_Greek_etaaccent + \ XK_Greek_iotaaccent XK_Greek_iotadieresis + \ XK_Greek_iotaaccentdieresis + \ XK_Greek_omicronaccent XK_Greek_upsilonaccent + \ XK_Greek_upsilondieresis + \ XK_Greek_upsilonaccentdieresis + \ XK_Greek_omegaaccent XK_Greek_ALPHA + \ XK_Greek_BETA XK_Greek_GAMMA XK_Greek_DELTA + \ XK_Greek_EPSILON XK_Greek_ZETA XK_Greek_ETA + \ XK_Greek_THETA XK_Greek_IOTA XK_Greek_KAPPA + \ XK_Greek_LAMDA XK_Greek_LAMBDA XK_Greek_MU + \ XK_Greek_NU XK_Greek_XI XK_Greek_OMICRON + \ XK_Greek_PI XK_Greek_RHO XK_Greek_SIGMA + \ XK_Greek_TAU XK_Greek_UPSILON XK_Greek_PHI + \ XK_Greek_CHI XK_Greek_PSI XK_Greek_OMEGA + \ XK_Greek_alpha XK_Greek_beta XK_Greek_gamma + \ XK_Greek_delta XK_Greek_epsilon XK_Greek_zeta + \ XK_Greek_eta XK_Greek_theta XK_Greek_iota + \ XK_Greek_kappa XK_Greek_lamda XK_Greek_lambda + \ XK_Greek_mu XK_Greek_nu XK_Greek_xi + \ XK_Greek_omicron XK_Greek_pi XK_Greek_rho + \ XK_Greek_sigma XK_Greek_finalsmallsigma + \ XK_Greek_tau XK_Greek_upsilon XK_Greek_phi + \ XK_Greek_chi XK_Greek_psi XK_Greek_omega + \ XK_Greek_switch XK_leftradical + \ XK_topleftradical XK_horizconnector + \ XK_topintegral XK_botintegral + \ XK_vertconnector XK_topleftsqbracket + \ XK_botleftsqbracket XK_toprightsqbracket + \ XK_botrightsqbracket XK_topleftparens + \ XK_botleftparens XK_toprightparens + \ XK_botrightparens XK_leftmiddlecurlybrace + \ XK_rightmiddlecurlybrace + \ XK_topleftsummation XK_botleftsummation + \ XK_topvertsummationconnector + \ XK_botvertsummationconnector + \ XK_toprightsummation XK_botrightsummation + \ XK_rightmiddlesummation XK_lessthanequal + \ XK_notequal XK_greaterthanequal XK_integral + \ XK_therefore XK_variation XK_infinity + \ XK_nabla XK_approximate XK_similarequal + \ XK_ifonlyif XK_implies XK_identical XK_radical + \ XK_includedin XK_includes XK_intersection + \ XK_union XK_logicaland XK_logicalor + \ XK_partialderivative XK_function XK_leftarrow + \ XK_uparrow XK_rightarrow XK_downarrow XK_blank + \ XK_soliddiamond XK_checkerboard XK_ht XK_ff + \ XK_cr XK_lf XK_nl XK_vt XK_lowrightcorner + \ XK_uprightcorner XK_upleftcorner + \ XK_lowleftcorner XK_crossinglines + \ XK_horizlinescan1 XK_horizlinescan3 + \ XK_horizlinescan5 XK_horizlinescan7 + \ XK_horizlinescan9 XK_leftt XK_rightt XK_bott + \ XK_topt XK_vertbar XK_emspace XK_enspace + \ XK_em3space XK_em4space XK_digitspace + \ XK_punctspace XK_thinspace XK_hairspace + \ XK_emdash XK_endash XK_signifblank XK_ellipsis + \ XK_doubbaselinedot XK_onethird XK_twothirds + \ XK_onefifth XK_twofifths XK_threefifths + \ XK_fourfifths XK_onesixth XK_fivesixths + \ XK_careof XK_figdash XK_leftanglebracket + \ XK_decimalpoint XK_rightanglebracket + \ XK_marker XK_oneeighth XK_threeeighths + \ XK_fiveeighths XK_seveneighths XK_trademark + \ XK_signaturemark XK_trademarkincircle + \ XK_leftopentriangle XK_rightopentriangle + \ XK_emopencircle XK_emopenrectangle + \ XK_leftsinglequotemark XK_rightsinglequotemark + \ XK_leftdoublequotemark XK_rightdoublequotemark + \ XK_prescription XK_minutes XK_seconds + \ XK_latincross XK_hexagram XK_filledrectbullet + \ XK_filledlefttribullet XK_filledrighttribullet + \ XK_emfilledcircle XK_emfilledrect + \ XK_enopencircbullet XK_enopensquarebullet + \ XK_openrectbullet XK_opentribulletup + \ XK_opentribulletdown XK_openstar + \ XK_enfilledcircbullet XK_enfilledsqbullet + \ XK_filledtribulletup XK_filledtribulletdown + \ XK_leftpointer XK_rightpointer XK_club + \ XK_diamond XK_heart XK_maltesecross + \ XK_dagger XK_doubledagger XK_checkmark + \ XK_ballotcross XK_musicalsharp XK_musicalflat + \ XK_malesymbol XK_femalesymbol XK_telephone + \ XK_telephonerecorder XK_phonographcopyright + \ XK_caret XK_singlelowquotemark + \ XK_doublelowquotemark XK_cursor + \ XK_leftcaret XK_rightcaret XK_downcaret + \ XK_upcaret XK_overbar XK_downtack XK_upshoe + \ XK_downstile XK_underbar XK_jot XK_quad + \ XK_uptack XK_circle XK_upstile XK_downshoe + \ XK_rightshoe XK_leftshoe XK_lefttack + \ XK_righttack XK_hebrew_doublelowline + \ XK_hebrew_aleph XK_hebrew_bet XK_hebrew_beth + \ XK_hebrew_gimel XK_hebrew_gimmel + \ XK_hebrew_dalet XK_hebrew_daleth + \ XK_hebrew_he XK_hebrew_waw XK_hebrew_zain + \ XK_hebrew_zayin XK_hebrew_chet XK_hebrew_het + \ XK_hebrew_tet XK_hebrew_teth XK_hebrew_yod + \ XK_hebrew_finalkaph XK_hebrew_kaph + \ XK_hebrew_lamed XK_hebrew_finalmem + \ XK_hebrew_mem XK_hebrew_finalnun XK_hebrew_nun + \ XK_hebrew_samech XK_hebrew_samekh + \ XK_hebrew_ayin XK_hebrew_finalpe XK_hebrew_pe + \ XK_hebrew_finalzade XK_hebrew_finalzadi + \ XK_hebrew_zade XK_hebrew_zadi XK_hebrew_qoph + \ XK_hebrew_kuf XK_hebrew_resh XK_hebrew_shin + \ XK_hebrew_taw XK_hebrew_taf XK_Hebrew_switch + \ XK_Thai_kokai XK_Thai_khokhai XK_Thai_khokhuat + \ XK_Thai_khokhwai XK_Thai_khokhon + \ XK_Thai_khorakhang XK_Thai_ngongu + \ XK_Thai_chochan XK_Thai_choching + \ XK_Thai_chochang XK_Thai_soso XK_Thai_chochoe + \ XK_Thai_yoying XK_Thai_dochada XK_Thai_topatak + \ XK_Thai_thothan XK_Thai_thonangmontho + \ XK_Thai_thophuthao XK_Thai_nonen + \ XK_Thai_dodek XK_Thai_totao XK_Thai_thothung + \ XK_Thai_thothahan XK_Thai_thothong + \ XK_Thai_nonu XK_Thai_bobaimai XK_Thai_popla + \ XK_Thai_phophung XK_Thai_fofa XK_Thai_phophan + \ XK_Thai_fofan XK_Thai_phosamphao XK_Thai_moma + \ XK_Thai_yoyak XK_Thai_rorua XK_Thai_ru + \ XK_Thai_loling XK_Thai_lu XK_Thai_wowaen + \ XK_Thai_sosala XK_Thai_sorusi XK_Thai_sosua + \ XK_Thai_hohip XK_Thai_lochula XK_Thai_oang + \ XK_Thai_honokhuk XK_Thai_paiyannoi + \ XK_Thai_saraa XK_Thai_maihanakat + \ XK_Thai_saraaa XK_Thai_saraam XK_Thai_sarai + \ XK_Thai_saraii XK_Thai_saraue XK_Thai_sarauee + \ XK_Thai_sarau XK_Thai_sarauu XK_Thai_phinthu + \ XK_Thai_maihanakat_maitho XK_Thai_baht + \ XK_Thai_sarae XK_Thai_saraae XK_Thai_sarao + \ XK_Thai_saraaimaimuan XK_Thai_saraaimaimalai + \ XK_Thai_lakkhangyao XK_Thai_maiyamok + \ XK_Thai_maitaikhu XK_Thai_maiek XK_Thai_maitho + \ XK_Thai_maitri XK_Thai_maichattawa + \ XK_Thai_thanthakhat XK_Thai_nikhahit + \ XK_Thai_leksun XK_Thai_leknung XK_Thai_leksong + \ XK_Thai_leksam XK_Thai_leksi XK_Thai_lekha + \ XK_Thai_lekhok XK_Thai_lekchet XK_Thai_lekpaet + \ XK_Thai_lekkao XK_Hangul XK_Hangul_Start + \ XK_Hangul_End XK_Hangul_Hanja XK_Hangul_Jamo + \ XK_Hangul_Romaja XK_Hangul_Codeinput + \ XK_Hangul_Jeonja XK_Hangul_Banja + \ XK_Hangul_PreHanja XK_Hangul_PostHanja + \ XK_Hangul_SingleCandidate + \ XK_Hangul_MultipleCandidate + \ XK_Hangul_PreviousCandidate XK_Hangul_Special + \ XK_Hangul_switch XK_Hangul_Kiyeog + \ XK_Hangul_SsangKiyeog XK_Hangul_KiyeogSios + \ XK_Hangul_Nieun XK_Hangul_NieunJieuj + \ XK_Hangul_NieunHieuh XK_Hangul_Dikeud + \ XK_Hangul_SsangDikeud XK_Hangul_Rieul + \ XK_Hangul_RieulKiyeog XK_Hangul_RieulMieum + \ XK_Hangul_RieulPieub XK_Hangul_RieulSios + \ XK_Hangul_RieulTieut XK_Hangul_RieulPhieuf + \ XK_Hangul_RieulHieuh XK_Hangul_Mieum + \ XK_Hangul_Pieub XK_Hangul_SsangPieub + \ XK_Hangul_PieubSios XK_Hangul_Sios + \ XK_Hangul_SsangSios XK_Hangul_Ieung + \ XK_Hangul_Jieuj XK_Hangul_SsangJieuj + \ XK_Hangul_Cieuc XK_Hangul_Khieuq + \ XK_Hangul_Tieut XK_Hangul_Phieuf + \ XK_Hangul_Hieuh XK_Hangul_A XK_Hangul_AE + \ XK_Hangul_YA XK_Hangul_YAE XK_Hangul_EO + \ XK_Hangul_E XK_Hangul_YEO XK_Hangul_YE + \ XK_Hangul_O XK_Hangul_WA XK_Hangul_WAE + \ XK_Hangul_OE XK_Hangul_YO XK_Hangul_U + \ XK_Hangul_WEO XK_Hangul_WE XK_Hangul_WI + \ XK_Hangul_YU XK_Hangul_EU XK_Hangul_YI + \ XK_Hangul_I XK_Hangul_J_Kiyeog + \ XK_Hangul_J_SsangKiyeog XK_Hangul_J_KiyeogSios + \ XK_Hangul_J_Nieun XK_Hangul_J_NieunJieuj + \ XK_Hangul_J_NieunHieuh XK_Hangul_J_Dikeud + \ XK_Hangul_J_Rieul XK_Hangul_J_RieulKiyeog + \ XK_Hangul_J_RieulMieum XK_Hangul_J_RieulPieub + \ XK_Hangul_J_RieulSios XK_Hangul_J_RieulTieut + \ XK_Hangul_J_RieulPhieuf XK_Hangul_J_RieulHieuh + \ XK_Hangul_J_Mieum XK_Hangul_J_Pieub + \ XK_Hangul_J_PieubSios XK_Hangul_J_Sios + \ XK_Hangul_J_SsangSios XK_Hangul_J_Ieung + \ XK_Hangul_J_Jieuj XK_Hangul_J_Cieuc + \ XK_Hangul_J_Khieuq XK_Hangul_J_Tieut + \ XK_Hangul_J_Phieuf XK_Hangul_J_Hieuh + \ XK_Hangul_RieulYeorinHieuh + \ XK_Hangul_SunkyeongeumMieum + \ XK_Hangul_SunkyeongeumPieub XK_Hangul_PanSios + \ XK_Hangul_KkogjiDalrinIeung + \ XK_Hangul_SunkyeongeumPhieuf + \ XK_Hangul_YeorinHieuh XK_Hangul_AraeA + \ XK_Hangul_AraeAE XK_Hangul_J_PanSios + \ XK_Hangul_J_KkogjiDalrinIeung + \ XK_Hangul_J_YeorinHieuh XK_Korean_Won + \ XK_Armenian_eternity XK_Armenian_ligature_ew + \ XK_Armenian_full_stop XK_Armenian_verjaket + \ XK_Armenian_parenright XK_Armenian_parenleft + \ XK_Armenian_guillemotright + \ XK_Armenian_guillemotleft XK_Armenian_em_dash + \ XK_Armenian_dot XK_Armenian_mijaket + \ XK_Armenian_separation_mark XK_Armenian_but + \ XK_Armenian_comma XK_Armenian_en_dash + \ XK_Armenian_hyphen XK_Armenian_yentamna + \ XK_Armenian_ellipsis XK_Armenian_exclam + \ XK_Armenian_amanak XK_Armenian_accent + \ XK_Armenian_shesht XK_Armenian_question + \ XK_Armenian_paruyk XK_Armenian_AYB + \ XK_Armenian_ayb XK_Armenian_BEN + \ XK_Armenian_ben XK_Armenian_GIM + \ XK_Armenian_gim XK_Armenian_DA XK_Armenian_da + \ XK_Armenian_YECH XK_Armenian_yech + \ XK_Armenian_ZA XK_Armenian_za XK_Armenian_E + \ XK_Armenian_e XK_Armenian_AT XK_Armenian_at + \ XK_Armenian_TO XK_Armenian_to + \ XK_Armenian_ZHE XK_Armenian_zhe + \ XK_Armenian_INI XK_Armenian_ini + \ XK_Armenian_LYUN XK_Armenian_lyun + \ XK_Armenian_KHE XK_Armenian_khe + \ XK_Armenian_TSA XK_Armenian_tsa + \ XK_Armenian_KEN XK_Armenian_ken XK_Armenian_HO + \ XK_Armenian_ho XK_Armenian_DZA XK_Armenian_dza + \ XK_Armenian_GHAT XK_Armenian_ghat + \ XK_Armenian_TCHE XK_Armenian_tche + \ XK_Armenian_MEN XK_Armenian_men XK_Armenian_HI + \ XK_Armenian_hi XK_Armenian_NU XK_Armenian_nu + \ XK_Armenian_SHA XK_Armenian_sha XK_Armenian_VO + \ XK_Armenian_vo XK_Armenian_CHA XK_Armenian_cha + \ XK_Armenian_PE XK_Armenian_pe XK_Armenian_JE + \ XK_Armenian_je XK_Armenian_RA XK_Armenian_ra + \ XK_Armenian_SE XK_Armenian_se XK_Armenian_VEV + \ XK_Armenian_vev XK_Armenian_TYUN + \ XK_Armenian_tyun XK_Armenian_RE + \ XK_Armenian_re XK_Armenian_TSO + \ XK_Armenian_tso XK_Armenian_VYUN + \ XK_Armenian_vyun XK_Armenian_PYUR + \ XK_Armenian_pyur XK_Armenian_KE XK_Armenian_ke + \ XK_Armenian_O XK_Armenian_o XK_Armenian_FE + \ XK_Armenian_fe XK_Armenian_apostrophe + \ XK_Armenian_section_sign XK_Georgian_an + \ XK_Georgian_ban XK_Georgian_gan + \ XK_Georgian_don XK_Georgian_en XK_Georgian_vin + \ XK_Georgian_zen XK_Georgian_tan + \ XK_Georgian_in XK_Georgian_kan XK_Georgian_las + \ XK_Georgian_man XK_Georgian_nar XK_Georgian_on + \ XK_Georgian_par XK_Georgian_zhar + \ XK_Georgian_rae XK_Georgian_san + \ XK_Georgian_tar XK_Georgian_un + \ XK_Georgian_phar XK_Georgian_khar + \ XK_Georgian_ghan XK_Georgian_qar + \ XK_Georgian_shin XK_Georgian_chin + \ XK_Georgian_can XK_Georgian_jil + \ XK_Georgian_cil XK_Georgian_char + \ XK_Georgian_xan XK_Georgian_jhan + \ XK_Georgian_hae XK_Georgian_he XK_Georgian_hie + \ XK_Georgian_we XK_Georgian_har XK_Georgian_hoe + \ XK_Georgian_fi XK_Ccedillaabovedot + \ XK_Xabovedot XK_Qabovedot XK_IE XK_UO + \ XK_Zstroke XK_ccedillaabovedot XK_xabovedot + \ XK_qabovedot XK_ie XK_uo XK_zstroke XK_SCHWA + \ XK_schwa XK_Lbelowdot XK_Lstrokebelowdot + \ XK_lbelowdot XK_lstrokebelowdot XK_Gtilde + \ XK_gtilde XK_Abelowdot XK_abelowdot + \ XK_Ahook XK_ahook XK_Acircumflexacute + \ XK_acircumflexacute XK_Acircumflexgrave + \ XK_acircumflexgrave XK_Acircumflexhook + \ XK_acircumflexhook XK_Acircumflextilde + \ XK_acircumflextilde XK_Acircumflexbelowdot + \ XK_acircumflexbelowdot XK_Abreveacute + \ XK_abreveacute XK_Abrevegrave XK_abrevegrave + \ XK_Abrevehook XK_abrevehook XK_Abrevetilde + \ XK_abrevetilde XK_Abrevebelowdot + \ XK_abrevebelowdot XK_Ebelowdot XK_ebelowdot + \ XK_Ehook XK_ehook XK_Etilde XK_etilde + \ XK_Ecircumflexacute XK_ecircumflexacute + \ XK_Ecircumflexgrave XK_ecircumflexgrave + \ XK_Ecircumflexhook XK_ecircumflexhook + \ XK_Ecircumflextilde XK_ecircumflextilde + \ XK_Ecircumflexbelowdot XK_ecircumflexbelowdot + \ XK_Ihook XK_ihook XK_Ibelowdot XK_ibelowdot + \ XK_Obelowdot XK_obelowdot XK_Ohook XK_ohook + \ XK_Ocircumflexacute XK_ocircumflexacute + \ XK_Ocircumflexgrave XK_ocircumflexgrave + \ XK_Ocircumflexhook XK_ocircumflexhook + \ XK_Ocircumflextilde XK_ocircumflextilde + \ XK_Ocircumflexbelowdot XK_ocircumflexbelowdot + \ XK_Ohornacute XK_ohornacute XK_Ohorngrave + \ XK_ohorngrave XK_Ohornhook XK_ohornhook + \ XK_Ohorntilde XK_ohorntilde XK_Ohornbelowdot + \ XK_ohornbelowdot XK_Ubelowdot XK_ubelowdot + \ XK_Uhook XK_uhook XK_Uhornacute XK_uhornacute + \ XK_Uhorngrave XK_uhorngrave XK_Uhornhook + \ XK_uhornhook XK_Uhorntilde XK_uhorntilde + \ XK_Uhornbelowdot XK_uhornbelowdot XK_Ybelowdot + \ XK_ybelowdot XK_Yhook XK_yhook XK_Ytilde + \ XK_ytilde XK_Ohorn XK_ohorn XK_Uhorn XK_uhorn + \ XK_combining_tilde XK_combining_grave + \ XK_combining_acute XK_combining_hook + \ XK_combining_belowdot XK_EcuSign XK_ColonSign + \ XK_CruzeiroSign XK_FFrancSign XK_LiraSign + \ XK_MillSign XK_NairaSign XK_PesetaSign + \ XK_RupeeSign XK_WonSign XK_NewSheqelSign + \ XK_DongSign XK_EuroSign -" Define the default highlighting. -" For version 5.7 and earlier: only when not done already -" For version 5.8 and later: only when an item doesn't have highlighting yet -if version >= 508 || !exists("did_xmodmap_syn_inits") - if version < 508 - let did_xmodmap_syn_inits = 1 - command -nargs=+ HiLink hi link <args> - else - command -nargs=+ HiLink hi def link <args> - endif +" #include <X11/Sunkeysym.h> +syn keyword xmodmapKeySym SunXK_Sys_Req SunXK_Print_Screen SunXK_Compose + \ SunXK_AltGraph SunXK_PageUp SunXK_PageDown + \ SunXK_Undo SunXK_Again SunXK_Find SunXK_Stop + \ SunXK_Props SunXK_Front SunXK_Copy SunXK_Open + \ SunXK_Paste SunXK_Cut SunXK_PowerSwitch + \ SunXK_AudioLowerVolume SunXK_AudioMute + \ SunXK_AudioRaiseVolume SunXK_VideoDegauss + \ SunXK_VideoLowerBrightness + \ SunXK_VideoRaiseBrightness + \ SunXK_PowerSwitchShift - HiLink xmodmapComment Comment - HiLink xmodmapTodo Todo - HiLink xmodmapInt Number - HiLink xmodmapHex Number - HiLink xmodmapOctal Number - HiLink xmodmapOctalError Error - HiLink xmodmapKeySym Constant - HiLink xmodmapKeyword Keyword - delcommand HiLink -endif +" #include <X11/XF86keysym.h> +syn keyword xmodmapKeySym XF86XK_ModeLock XF86XK_Standby + \ XF86XK_AudioLowerVolume XF86XK_AudioMute + \ XF86XK_AudioRaiseVolume XF86XK_AudioPlay + \ XF86XK_AudioStop XF86XK_AudioPrev + \ XF86XK_AudioNext XF86XK_HomePage + \ XF86XK_Mail XF86XK_Start XF86XK_Search + \ XF86XK_AudioRecord XF86XK_Calculator + \ XF86XK_Memo XF86XK_ToDoList XF86XK_Calendar + \ XF86XK_PowerDown XF86XK_ContrastAdjust + \ XF86XK_RockerUp XF86XK_RockerDown + \ XF86XK_RockerEnter XF86XK_Back XF86XK_Forward + \ XF86XK_Stop XF86XK_Refresh XF86XK_PowerOff + \ XF86XK_WakeUp XF86XK_Eject XF86XK_ScreenSaver + \ XF86XK_WWW XF86XK_Sleep XF86XK_Favorites + \ XF86XK_AudioPause XF86XK_AudioMedia + \ XF86XK_MyComputer XF86XK_VendorHome + \ XF86XK_LightBulb XF86XK_Shop XF86XK_History + \ XF86XK_OpenURL XF86XK_AddFavorite + \ XF86XK_HotLinks XF86XK_BrightnessAdjust + \ XF86XK_Finance XF86XK_Community + \ XF86XK_AudioRewind XF86XK_XF86BackForward + \ XF86XK_Launch0 XF86XK_Launch1 XF86XK_Launch2 + \ XF86XK_Launch3 XF86XK_Launch4 XF86XK_Launch5 + \ XF86XK_Launch6 XF86XK_Launch7 XF86XK_Launch8 + \ XF86XK_Launch9 XF86XK_LaunchA XF86XK_LaunchB + \ XF86XK_LaunchC XF86XK_LaunchD XF86XK_LaunchE + \ XF86XK_LaunchF XF86XK_ApplicationLeft + \ XF86XK_ApplicationRight XF86XK_Book + \ XF86XK_CD XF86XK_Calculater XF86XK_Clear + \ XF86XK_Close XF86XK_Copy XF86XK_Cut + \ XF86XK_Display XF86XK_DOS XF86XK_Documents + \ XF86XK_Excel XF86XK_Explorer XF86XK_Game + \ XF86XK_Go XF86XK_iTouch XF86XK_LogOff + \ XF86XK_Market XF86XK_Meeting XF86XK_MenuKB + \ XF86XK_MenuPB XF86XK_MySites XF86XK_New + \ XF86XK_News XF86XK_OfficeHome XF86XK_Open + \ XF86XK_Option XF86XK_Paste XF86XK_Phone + \ XF86XK_Q XF86XK_Reply XF86XK_Reload + \ XF86XK_RotateWindows XF86XK_RotationPB + \ XF86XK_RotationKB XF86XK_Save XF86XK_ScrollUp + \ XF86XK_ScrollDown XF86XK_ScrollClick + \ XF86XK_Send XF86XK_Spell XF86XK_SplitScreen + \ XF86XK_Support XF86XK_TaskPane XF86XK_Terminal + \ XF86XK_Tools XF86XK_Travel XF86XK_UserPB + \ XF86XK_User1KB XF86XK_User2KB XF86XK_Video + \ XF86XK_WheelButton XF86XK_Word XF86XK_Xfer + \ XF86XK_ZoomIn XF86XK_ZoomOut XF86XK_Away + \ XF86XK_Messenger XF86XK_WebCam + \ XF86XK_MailForward XF86XK_Pictures + \ XF86XK_Music XF86XK_Switch_VT_1 + \ XF86XK_Switch_VT_2 XF86XK_Switch_VT_3 + \ XF86XK_Switch_VT_4 XF86XK_Switch_VT_5 + \ XF86XK_Switch_VT_6 XF86XK_Switch_VT_7 + \ XF86XK_Switch_VT_8 XF86XK_Switch_VT_9 + \ XF86XK_Switch_VT_10 XF86XK_Switch_VT_11 + \ XF86XK_Switch_VT_12 XF86XK_Ungrab + \ XF86XK_ClearGrab XF86XK_Next_VMode + \ XF86XK_Prev_VMode + +syn keyword xmodmapKeyword keycode keysym clear add remove pointer + +hi def link xmodmapComment Comment +hi def link xmodmapTodo Todo +hi def link xmodmapInt Number +hi def link xmodmapHex Number +hi def link xmodmapOctal Number +hi def link xmodmapOctalError Error +hi def link xmodmapKeySym Constant +hi def link xmodmapKeyword Keyword let b:current_syntax = "xmodmap" -" vim: set sts=2 sw=2: +let &cpo = s:cpo_save +unlet s:cpo_save
--- a/runtime/syntax/yaml.vim +++ b/runtime/syntax/yaml.vim @@ -1,105 +1,83 @@ " Vim syntax file -" Language: YAML (YAML Ain't Markup Language) -" Maintainer: Nikolai Weibull <source@pcppopper.org> -" URL: http://www.pcppopper.org/vim/syntax/pcp/yaml/ -" Latest Revision: 2004-05-22 -" arch-tag: 01bf8ef1-335f-4692-a228-4846cb64cd16 +" Language: YAML (YAML Ain't Markup Language) +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-27 -if version < 600 - syntax clear -elseif exists("b:current_syntax") +if exists("b:current_syntax") finish endif -" Todo -syn keyword yamlTodo contained TODO FIXME XXX NOTE +let s:cpo_save = &cpo +set cpo&vim -" Comments (4.2.2) -syn region yamlComment matchgroup=yamlComment start='\%(^\|\s\)#' end='$' contains=yamlTodo +syn keyword yamlTodo contained TODO FIXME XXX NOTE -" Node Properties (4.3.4) -syn match yamlNodeProperty '!\%(![^\\^% ]\+\|[^!][^:/ ]*\)' +syn region yamlComment matchgroup=yamlComment start='\%(^\|\s\)#' + \ end='$' contains=yamlTodo,@Spell -" Anchors (4.3.6) -syn match yamlAnchor '&.\+' +syn match yamlNodeProperty '!\%(![^\\^% ]\+\|[^!][^:/ ]*\)' -" Aliases (4.3.7) -syn match yamlAlias '\*.\+' +syn match yamlAnchor '&.\+' + +syn match yamlAlias '\*.\+' -" Operators, Blocks, Keys, and Delimiters -syn match yamlDelimiter '[-,:]' -syn match yamlBlock '[\[\]{}>|]' -syn match yamlOperator '[?+-]' -syn match yamlKey '\w\+\(\s\+\w\+\)*\ze\s*:' +syn match yamlDelimiter '[-,:]' +syn match yamlBlock '[\[\]{}>|]' +syn match yamlOperator '[?+-]' +syn match yamlKey '\w\+\(\s\+\w\+\)*\ze\s*:' -" Strings (4.6.8, 4.6.9) -syn region yamlString start=+"+ skip=+\\"+ end=+"+ contains=yamlEscape -syn region yamlString start=+'+ skip=+''+ end=+'+ contains=yamlSingleEscape -syn match yamlEscape contained +\\[\\"abefnrtv^0_ NLP]+ -syn match yamlEscape contained '\\x\x\{2}' -syn match yamlEscape contained '\\u\x\{4}' -syn match yamlEscape contained '\\U\x\{8}' +syn region yamlString start=+"+ skip=+\\"+ end=+"+ + \ contains=yamlEscape +syn region yamlString start=+'+ skip=+''+ end=+'+ + \ contains=yamlSingleEscape +syn match yamlEscape contained display +\\[\\"abefnrtv^0_ NLP]+ +syn match yamlEscape contained display '\\x\x\{2}' +syn match yamlEscape contained display '\\u\x\{4}' +syn match yamlEscape contained display '\\U\x\{8}' " TODO: how do we get 0x85, 0x2028, and 0x2029 into this? -syn match yamlEscape '\\\%(\r\n\|[\r\n]\)' -syn match yamlSingleEscape contained +''+ - -" Numbers -" TODO: sexagecimal and fixed (20:30.15 and 1,230.15) -syn match yamlNumber '\<[+-]\=\d\+\%(\.\d\+\%([eE][+-]\=\d\+\)\=\)\=' -syn match yamlNumber '0\o\+' -syn match yamlNumber '0x\x\+' -syn match yamlNumber '([+-]\=[iI]nf)' -syn match yamlNumber '(NaN)' +syn match yamlEscape display '\\\%(\r\n\|[\r\n]\)' +syn match yamlSingleEscape contained display +''+ -" Constants -syn match yamlConstant '\<[~yn]\>' -syn keyword yamlConstant true True TRUE false False FALSE -syn keyword yamlConstant yes Yes on ON no No off OFF -syn keyword yamlConstant null Null NULL nil Nil NIL +" TODO: sexagecimal and fixed (20:30.15 and 1,230.15) +syn match yamlNumber display + \ '\<[+-]\=\d\+\%(\.\d\+\%([eE][+-]\=\d\+\)\=\)\=' +syn match yamlNumber display '0\o\+' +syn match yamlNumber display '0x\x\+' +syn match yamlNumber display '([+-]\=[iI]nf)' +syn match yamlNumber display '(NaN)' -" Timestamps -syn match yamlTimestamp '\d\d\d\d-\%(1[0-2]\|\d\)-\%(3[0-2]\|2\d\|1\d\|\d\)\%( \%([01]\d\|2[0-3]\):[0-5]\d:[0-5]\d.\d\d [+-]\%([01]\d\|2[0-3]\):[0-5]\d\|t\%([01]\d\|2[0-3]\):[0-5]\d:[0-5]\d.\d\d[+-]\%([01]\d\|2[0-3]\):[0-5]\d\|T\%([01]\d\|2[0-3]\):[0-5]\d:[0-5]\d.\dZ\)\=' +syn match yamlConstant '\<[~yn]\>' +syn keyword yamlConstant true True TRUE false False FALSE +syn keyword yamlConstant yes Yes on ON no No off OFF +syn keyword yamlConstant null Null NULL nil Nil NIL -" Documents (4.3.1) -syn region yamlDocumentHeader start='---' end='$' contains=yamlDirective -syn match yamlDocumentEnd '\.\.\.' +syn match yamlTimestamp '\d\d\d\d-\%(1[0-2]\|\d\)-\%(3[0-2]\|2\d\|1\d\|\d\)\%( \%([01]\d\|2[0-3]\):[0-5]\d:[0-5]\d.\d\d [+-]\%([01]\d\|2[0-3]\):[0-5]\d\|t\%([01]\d\|2[0-3]\):[0-5]\d:[0-5]\d.\d\d[+-]\%([01]\d\|2[0-3]\):[0-5]\d\|T\%([01]\d\|2[0-3]\):[0-5]\d:[0-5]\d.\dZ\)\=' -" Directives (4.3.2) -syn match yamlDirective contained '%[^:]\+:.\+' +syn region yamlDocumentHeader start='---' end='$' contains=yamlDirective +syn match yamlDocumentEnd '\.\.\.' -" Define the default highlighting. -" For version 5.7 and earlier: only when not done already -" For version 5.8 and later: only when an item doesn't have highlighting yet -if version >= 508 || !exists("did_yaml_syn_inits") - if version < 508 - let did_yaml_syn_inits = 1 - command -nargs=+ HiLink hi link <args> - else - command -nargs=+ HiLink hi def link <args> - endif +syn match yamlDirective contained '%[^:]\+:.\+' - HiLink yamlTodo Todo - HiLink yamlComment Comment - HiLink yamlDocumentHeader PreProc - HiLink yamlDocumentEnd PreProc - HiLink yamlDirective Keyword - HiLink yamlNodeProperty Type - HiLink yamlAnchor Type - HiLink yamlAlias Type - HiLink yamlDelimiter Delimiter - HiLink yamlBlock Operator - HiLink yamlOperator Operator - HiLink yamlKey Identifier - HiLink yamlString String - HiLink yamlEscape SpecialChar - HiLink yamlSingleEscape SpecialChar - HiLink yamlNumber Number - HiLink yamlConstant Constant - HiLink yamlTimestamp Number - - delcommand HiLink -endif +hi def link yamlTodo Todo +hi def link yamlComment Comment +hi def link yamlDocumentHeader PreProc +hi def link yamlDocumentEnd PreProc +hi def link yamlDirective Keyword +hi def link yamlNodeProperty Type +hi def link yamlAnchor Type +hi def link yamlAlias Type +hi def link yamlDelimiter Delimiter +hi def link yamlBlock Operator +hi def link yamlOperator Operator +hi def link yamlKey Identifier +hi def link yamlString String +hi def link yamlEscape SpecialChar +hi def link yamlSingleEscape SpecialChar +hi def link yamlNumber Number +hi def link yamlConstant Constant +hi def link yamlTimestamp Number let b:current_syntax = "yaml" -" vim: set sts=2 sw=2: +let &cpo = s:cpo_save +unlet s:cpo_save
--- a/src/fileio.c +++ b/src/fileio.c @@ -1344,8 +1344,11 @@ retry: == (size_t)-1 && ICONV_ERRNO != ICONV_EINVAL) || from_size > CONV_RESTLEN) { + if (!keep_dest_enc && can_retry) + goto rewind_retry; if (!keep_dest_enc) - goto rewind_retry; + conv_error = TRUE; + /* Ignore a byte and try again. */ ++fromp; --from_size; @@ -1761,6 +1764,7 @@ rewind_retry: conv_error = TRUE; else # endif + if (illegal_byte == 0) /* Keep the first linenr */ { char_u *s;
--- a/src/misc1.c +++ b/src/misc1.c @@ -3162,7 +3162,10 @@ prompt_for_number(mouse_used) int save_State; /* When using ":silent" assume that <CR> was entered. */ - MSG_PUTS(_("Choice number (<Enter> cancels): ")); + if (mouse_used != NULL) + MSG_PUTS(_("Type number or click with mouse (<Enter> cancels): ")); + else + MSG_PUTS(_("Choice number (<Enter> cancels): ")); /* Set the state such that text can be selected/copied/pasted. */ save_cmdline_row = cmdline_row;
--- a/src/spell.c +++ b/src/spell.c @@ -134,14 +134,17 @@ * SAL_F0LLOWUP * SAL_COLLAPSE * SAL_REM_ACCENTS + * SAL_SOFO: SOFOFROM and SOFOTO used instead of SAL + * + * <salcount> 2 bytes number of <sal> items following * * <sal> : <salfromlen> <salfrom> <saltolen> <salto> * - * <salfromlen> 1 byte length of <salfrom> + * <salfromlen> 1-2 bytes length of <salfrom> (2 bytes for SAL_SOFO) * * <salfrom> N bytes "from" part of soundsalike * - * <saltolen> 1 byte length of <salto> + * <saltolen> 1-2 bytes length of <salto> (2 bytes for SAL_SOFO) * * <salto> N bytes "to" part of soundsalike * @@ -267,16 +270,22 @@ typedef struct salitem_S { char_u *sm_lead; /* leading letters */ int sm_leadlen; /* length of "sm_lead" */ - char_u *sm_oneoff; /* letters from () or NULL */ + char_u *sm_oneof; /* letters from () or NULL */ char_u *sm_rules; /* rules like ^, $, priority */ char_u *sm_to; /* replacement. */ #ifdef FEAT_MBYTE int *sm_lead_w; /* wide character copy of "sm_lead" */ - int *sm_oneoff_w; /* wide character copy of "sm_oneoff" */ + int *sm_oneof_w; /* wide character copy of "sm_oneof" */ int *sm_to_w; /* wide character copy of "sm_to" */ #endif } salitem_T; +#ifdef FEAT_MBYTE +typedef int salfirst_T; +#else +typedef short salfirst_T; +#endif + /* * Structure used to store words and other info for one language, loaded from * a .spl file. @@ -316,8 +325,11 @@ struct slang_S short sl_rep_first[256]; /* indexes where byte first appears, -1 if there is none */ garray_T sl_sal; /* list of salitem_T entries from SAL lines */ - short sl_sal_first[256]; /* indexes where byte first appears, -1 if + salfirst_T sl_sal_first[256]; /* indexes where byte first appears, -1 if there is none */ + int sl_sofo; /* SOFOFROM and SOFOTO instead of SAL items: + * "sl_sal_first" maps chars, when has_mbyte + * "sl_sal" is a list of wide char lists. */ int sl_followup; /* SAL followup */ int sl_collapse; /* SAL collapse_result */ int sl_rem_accents; /* SAL remove_accents */ @@ -338,6 +350,7 @@ static slang_T *first_lang = NULL; #define SAL_F0LLOWUP 1 #define SAL_COLLAPSE 2 #define SAL_REM_ACCENTS 4 +#define SAL_SOFO 8 /* SOFOFROM and SOFOTO instead of SAL */ /* * Structure used in "b_langp", filled from 'spelllang'. @@ -501,6 +514,7 @@ typedef enum STATE_START = 0, /* At start of node check for NUL bytes (goodword * ends); if badword ends there is a match, otherwise * try splitting word. */ + STATE_NOPREFIX, /* try without prefix */ STATE_SPLITUNDO, /* Undo splitting. */ STATE_ENDNUL, /* Past NUL bytes at start of the node. */ STATE_PLAIN, /* Use each byte of the node. */ @@ -530,6 +544,8 @@ typedef struct trystate_S char_u ts_fidx; /* index in fword[], case-folded bad word */ char_u ts_fidxtry; /* ts_fidx at which bytes may be changed */ char_u ts_twordlen; /* valid length of tword[] */ + char_u ts_prefixdepth; /* stack depth for end of prefix or PREFIXTREE + * or NOPREFIX */ #ifdef FEAT_MBYTE char_u ts_tcharlen; /* number of bytes in tword character */ char_u ts_tcharidx; /* current byte index in tword character */ @@ -546,6 +562,10 @@ typedef struct trystate_S #define DIFF_YES 1 /* different byte found */ #define DIFF_INSERT 2 /* inserting character */ +/* special values ts_prefixdepth */ +#define PREFIXTREE 0xfe /* walking through the prefix tree */ +#define NOPREFIX 0xff /* not using prefixes */ + /* mode values for find_word */ #define FIND_FOLDWORD 0 /* find word case-folded */ #define FIND_KEEPWORD 1 /* find keep-case word */ @@ -601,9 +621,11 @@ static int was_banned __ARGS((suginfo_T static void free_banned __ARGS((suginfo_T *su)); static void rescore_suggestions __ARGS((suginfo_T *su)); static int cleanup_suggestions __ARGS((garray_T *gap, int maxscore, int keep)); -static void spell_soundfold __ARGS((slang_T *slang, char_u *inword, char_u *res)); +static void spell_soundfold __ARGS((slang_T *slang, char_u *inword, int folded, char_u *res)); +static void spell_soundfold_sofo __ARGS((slang_T *slang, char_u *inword, char_u *res)); +static void spell_soundfold_sal __ARGS((slang_T *slang, char_u *inword, char_u *res)); #ifdef FEAT_MBYTE -static void spell_soundfold_w __ARGS((slang_T *slang, char_u *inword, char_u *res)); +static void spell_soundfold_wsal __ARGS((slang_T *slang, char_u *inword, char_u *res)); #endif static int soundalike_score __ARGS((char_u *goodsound, char_u *badsound)); static int spell_edit_score __ARGS((char_u *badword, char_u *goodword)); @@ -1107,16 +1129,16 @@ find_prefix(mip) char_u *byts; idx_T *idxs; + byts = slang->sl_pbyts; + if (byts == NULL) + return; /* array is empty */ + /* We use the case-folded word here, since prefixes are always * case-folded. */ ptr = mip->mi_fword; flen = mip->mi_fwordlen; /* available case-folded bytes */ - byts = slang->sl_pbyts; idxs = slang->sl_pidxs; - if (byts == NULL) - return; /* array is empty */ - /* * Repeat advancing in the tree until: * - there is a byte that doesn't match, @@ -1562,12 +1584,24 @@ slang_clear(lp) ga_clear(gap); gap = &lp->sl_sal; - while (gap->ga_len > 0) - { - smp = &((salitem_T *)gap->ga_data)[--gap->ga_len]; - vim_free(smp->sm_lead); - vim_free(smp->sm_to); - } + if (lp->sl_sofo) + /* SOFOFROM and SOFOTO items: free lists of wide characters. */ + for (i = 0; i < gap->ga_len; ++i) + vim_free(((int **)gap->ga_data)[i]); + else + /* SAL items: free salitem_T items */ + while (gap->ga_len > 0) + { + smp = &((salitem_T *)gap->ga_data)[--gap->ga_len]; + vim_free(smp->sm_lead); + /* Don't free sm_oneof and sm_rules, they point into sm_lead. */ + vim_free(smp->sm_to); +#ifdef FEAT_MBYTE + vim_free(smp->sm_lead_w); + vim_free(smp->sm_oneof_w); + vim_free(smp->sm_to_w); +#endif + } ga_clear(gap); for (i = 0; i < lp->sl_prefixcnt; ++i) @@ -1638,6 +1672,7 @@ spell_load_file(fname, lang, old_lp, sil salitem_T *smp; int rr; short *first; + salfirst_T *sfirst; idx_T idx; int c = 0; @@ -1895,151 +1930,282 @@ formerr: lp->sl_collapse = TRUE; if (i & SAL_REM_ACCENTS) lp->sl_rem_accents = TRUE; + if (i & SAL_SOFO) + lp->sl_sofo = TRUE; cnt = (getc(fd) << 8) + getc(fd); /* <salcount> */ if (cnt < 0) goto formerr; - gap = &lp->sl_sal; - if (ga_grow(gap, cnt) == FAIL) - goto endFAIL; - - /* <sal> : <salfromlen> <salfrom> <saltolen> <salto> */ - for (; gap->ga_len < cnt; ++gap->ga_len) - { - smp = &((salitem_T *)gap->ga_data)[gap->ga_len]; - ccnt = getc(fd); /* <salfromlen> */ + if (lp->sl_sofo) + { + /* + * SOFOFROM and SOFOTO items come in one <salfrom> and <salto> + */ + if (cnt != 1) + goto formerr; + + cnt = (getc(fd) << 8) + getc(fd); /* <salfromlen> */ + if (cnt < 0) + goto formerr; + if ((bp = alloc(cnt + 1)) == NULL) + goto endFAIL; + for (i = 0; i < cnt; ++i) + bp[i] = getc(fd); /* <salfrom> */ + bp[i] = NUL; + + ccnt = (getc(fd) << 8) + getc(fd); /* <saltolen> */ if (ccnt < 0) + { + vim_free(bp); goto formerr; - if ((p = alloc(ccnt + 2)) == NULL) + } + if ((fol = alloc(ccnt + 1)) == NULL) + { + vim_free(bp); goto endFAIL; - smp->sm_lead = p; - - /* Read up to the first special char into sm_lead. */ + } for (i = 0; i < ccnt; ++i) - { - c = getc(fd); /* <salfrom> */ - if (vim_strchr((char_u *)"0123456789(-<^$", c) != NULL) - break; - *p++ = c; - } - smp->sm_leadlen = p - smp->sm_lead; - *p++ = NUL; - - /* Put optional chars in sm_oneoff, if any. */ - if (c == '(') - { - smp->sm_oneoff = p; - for (++i; i < ccnt; ++i) - { - c = getc(fd); /* <salfrom> */ - if (c == ')') - break; - *p++ = c; - } - *p++ = NUL; - if (++i < ccnt) - c = getc(fd); - } - else - smp->sm_oneoff = NULL; - - /* Any following chars go in sm_rules. */ - smp->sm_rules = p; - if (i < ccnt) - *p++ = c; - for (++i; i < ccnt; ++i) - *p++ = getc(fd); /* <salfrom> */ - *p++ = NUL; - - ccnt = getc(fd); /* <saltolen> */ - if (ccnt < 0) - { - vim_free(smp->sm_lead); - goto formerr; - } - if ((p = alloc(ccnt + 1)) == NULL) - { - vim_free(smp->sm_lead); - goto endFAIL; - } - smp->sm_to = p; - - for (i = 0; i < ccnt; ++i) - *p++ = getc(fd); /* <salto> */ - *p++ = NUL; + fol[i] = getc(fd); /* <salto> */ + fol[i] = NUL; #ifdef FEAT_MBYTE if (has_mbyte) { - /* convert the multi-byte strings to wide char strings */ - smp->sm_lead_w = mb_str2wide(smp->sm_lead); - smp->sm_leadlen = mb_charlen(smp->sm_lead); - if (smp->sm_oneoff == NULL) - smp->sm_oneoff_w = NULL; + char_u *s; + + /* Use "sl_sal" as an array with 256 pointers to a list of wide + * characters. The index is the low byte of the character. + * The list contains from-to pairs with a terminating NUL. + * sl_sal_first[] is used for latin1 "from" characters. */ + gap = &lp->sl_sal; + ga_init2(gap, sizeof(int *), 1); + if (ga_grow(gap, 256) == FAIL) + { +sofoFAIL: + vim_free(bp); + vim_free(fol); + goto endFAIL; + } + vim_memset(gap->ga_data, 0, sizeof(int *) * 256); + gap->ga_len = 256; + + /* First count the number of items for each list. Temporarily use + * sl_sal_first[] for this. */ + for (p = bp, s = fol; *p != NUL && *s != NUL; ) + { + c = mb_ptr2char_adv(&p); + mb_ptr_adv(s); + if (c >= 256) + ++lp->sl_sal_first[c & 0xff]; + } + if (*p != NUL || *s != NUL) /* lengths differ */ + goto sofoerr; + + /* Allocate the lists. */ + for (i = 0; i < 256; ++i) + if (lp->sl_sal_first[i] > 0) + { + p = alloc(sizeof(int) * (lp->sl_sal_first[i] * 2 + 1)); + if (p == NULL) + goto sofoFAIL; + ((int **)gap->ga_data)[i] = (int *)p; + *(int *)p = 0; + } + + /* Put the characters in sl_sal_first[] or a sl_sal list. */ + vim_memset(lp->sl_sal_first, 0, sizeof(salfirst_T) * 256); + for (p = bp, s = fol; *p != NUL && *s != NUL; ) + { + c = mb_ptr2char_adv(&p); + i = mb_ptr2char_adv(&s); + if (c >= 256) + { + int *inp; + + /* Append the from-to chars at the end of the list with + * the low byte. */ + inp = ((int **)gap->ga_data)[c & 0xff]; + while (*inp != 0) + ++inp; + *inp++ = c; /* from char */ + *inp++ = i; /* to char */ + *inp++ = NUL; /* NUL at the end */ + } + else + /* mapping byte to char is done in sl_sal_first[] */ + lp->sl_sal_first[c] = i; + } + } + else +#endif + { + /* mapping bytes to bytes is done in sl_sal_first[] */ + if (cnt != ccnt) + { +#ifdef FEAT_MBYTE +sofoerr: +#endif + vim_free(bp); + vim_free(fol); + goto formerr; + } + for (i = 0; i < cnt; ++i) + lp->sl_sal_first[bp[i]] = fol[i]; + lp->sl_sal.ga_len = 1; /* indicates we have soundfolding */ + } + vim_free(bp); + vim_free(fol); + } + else + { + /* + * SAL items + */ + gap = &lp->sl_sal; + if (ga_grow(gap, cnt) == FAIL) + goto endFAIL; + + /* <sal> : <salfromlen> <salfrom> <saltolen> <salto> */ + for (; gap->ga_len < cnt; ++gap->ga_len) + { + smp = &((salitem_T *)gap->ga_data)[gap->ga_len]; + ccnt = getc(fd); /* <salfromlen> */ + if (ccnt < 0) + goto formerr; + if ((p = alloc(ccnt + 2)) == NULL) + goto endFAIL; + smp->sm_lead = p; + + /* Read up to the first special char into sm_lead. */ + for (i = 0; i < ccnt; ++i) + { + c = getc(fd); /* <salfrom> */ + if (vim_strchr((char_u *)"0123456789(-<^$", c) != NULL) + break; + *p++ = c; + } + smp->sm_leadlen = p - smp->sm_lead; + *p++ = NUL; + + /* Put (abc) chars in sm_oneof, if any. */ + if (c == '(') + { + smp->sm_oneof = p; + for (++i; i < ccnt; ++i) + { + c = getc(fd); /* <salfrom> */ + if (c == ')') + break; + *p++ = c; + } + *p++ = NUL; + if (++i < ccnt) + c = getc(fd); + } else - smp->sm_oneoff_w = mb_str2wide(smp->sm_oneoff); - smp->sm_to_w = mb_str2wide(smp->sm_to); - if (smp->sm_lead_w == NULL - || (smp->sm_oneoff_w == NULL && smp->sm_oneoff != NULL) - || smp->sm_to_w == NULL) + smp->sm_oneof = NULL; + + /* Any following chars go in sm_rules. */ + smp->sm_rules = p; + if (i < ccnt) + /* store the char we got while checking for end of sm_lead */ + *p++ = c; + for (++i; i < ccnt; ++i) + *p++ = getc(fd); /* <salfrom> */ + *p++ = NUL; + + ccnt = getc(fd); /* <saltolen> */ + if (ccnt < 0) { vim_free(smp->sm_lead); - vim_free(smp->sm_to); - vim_free(smp->sm_lead_w); - vim_free(smp->sm_oneoff_w); - vim_free(smp->sm_to_w); + goto formerr; + } + if ((p = alloc(ccnt + 1)) == NULL) + { + vim_free(smp->sm_lead); goto endFAIL; } - } -#endif - } - - /* Fill the first-index table. */ - first = lp->sl_sal_first; - for (i = 0; i < 256; ++i) - first[i] = -1; - for (i = 0; i < gap->ga_len; ++i) - { - smp = &((salitem_T *)gap->ga_data)[i]; -#ifdef FEAT_MBYTE - if (has_mbyte) - /* Use the lowest byte of the first character. */ - c = *smp->sm_lead_w & 0xff; - else -#endif - c = *smp->sm_lead; - if (first[c] == -1) - { - first[c] = i; + smp->sm_to = p; + + for (i = 0; i < ccnt; ++i) + *p++ = getc(fd); /* <salto> */ + *p++ = NUL; + #ifdef FEAT_MBYTE if (has_mbyte) { - int j; - - /* Make sure all entries with this byte are following each - * other. Move the ones down that are in the wrong position. - * Do keep the right sequence. */ - while (i + 1 < gap->ga_len && (*smp[1].sm_lead_w & 0xff) == c) + /* convert the multi-byte strings to wide char strings */ + smp->sm_lead_w = mb_str2wide(smp->sm_lead); + smp->sm_leadlen = mb_charlen(smp->sm_lead); + if (smp->sm_oneof == NULL) + smp->sm_oneof_w = NULL; + else + smp->sm_oneof_w = mb_str2wide(smp->sm_oneof); + smp->sm_to_w = mb_str2wide(smp->sm_to); + if (smp->sm_lead_w == NULL + || (smp->sm_oneof_w == NULL && smp->sm_oneof != NULL) + || smp->sm_to_w == NULL) { - ++i; - ++smp; + vim_free(smp->sm_lead); + vim_free(smp->sm_to); + vim_free(smp->sm_lead_w); + vim_free(smp->sm_oneof_w); + vim_free(smp->sm_to_w); + goto endFAIL; } - for (j = 1; i + j < gap->ga_len; ++j) - if ((*smp[j].sm_lead_w & 0xff) == c) - { - salitem_T tsal; - - ++i; - ++smp; - --j; - tsal = smp[j]; - mch_memmove(smp + 1, smp, sizeof(salitem_T) * j); - *smp = tsal; - } } #endif } + + /* Fill the first-index table. */ + sfirst = lp->sl_sal_first; + for (i = 0; i < 256; ++i) + sfirst[i] = -1; + smp = (salitem_T *)gap->ga_data; + for (i = 0; i < gap->ga_len; ++i) + { +#ifdef FEAT_MBYTE + if (has_mbyte) + /* Use the lowest byte of the first character. For latin1 it's + * the character, for other encodings it should differ for most + * characters. */ + c = *smp[i].sm_lead_w & 0xff; + else +#endif + c = *smp[i].sm_lead; + if (sfirst[c] == -1) + { + sfirst[c] = i; +#ifdef FEAT_MBYTE + if (has_mbyte) + { + /* Make sure all entries with this byte are following each + * other. Move the ones that are in the wrong position. Do + * keep the same ordering! */ + while (i + 1 < gap->ga_len + && (*smp[i + 1].sm_lead_w & 0xff) == c) + /* Skip over entry with same index byte. */ + ++i; + + for (n = 1; i + n < gap->ga_len; ++n) + if ((*smp[i + n].sm_lead_w & 0xff) == c) + { + salitem_T tsal; + + /* Move entry with same index byte after the entries + * we already found. */ + ++i; + --n; + tsal = smp[i + n]; + mch_memmove(smp + i + 1, smp + i, + sizeof(salitem_T) * n); + smp[i] = tsal; + } + } +#endif + } + } } cnt = (getc(fd) << 8) + getc(fd); /* <maplen> */ @@ -2711,6 +2877,8 @@ typedef struct spellinfo_S garray_T si_rep; /* list of fromto_T entries from REP lines */ garray_T si_sal; /* list of fromto_T entries from SAL lines */ + char_u *si_sofofr; /* SOFOFROM text */ + char_u *si_sofoto; /* SOFOTO text */ int si_followup; /* soundsalike: ? */ int si_collapse; /* soundsalike: ? */ int si_rem_accents; /* soundsalike: remove accents */ @@ -2776,6 +2944,7 @@ spell_read_aff(fname, spin) int do_sal; int do_map; int do_midword; + int do_sofo; int found_map = FALSE; hashitem_T *hi; @@ -2811,6 +2980,9 @@ spell_read_aff(fname, spin) /* Only do MIDWORD line when not done in another .aff file already */ do_midword = spin->si_midword == NULL; + /* Only do SOFOFROM and SOFOTO when not done in another .aff file already */ + do_sofo = spin->si_sofofr == NULL; + /* * Allocate and init the afffile_T structure. */ @@ -2886,6 +3058,7 @@ spell_read_aff(fname, spin) p_enc) == FAIL) smsg((char_u *)_("Conversion in %s not supported: from %s to %s"), fname, aff->af_enc, p_enc); + spin->si_conv.vc_fail = TRUE; #else smsg((char_u *)_("Conversion in %s not supported"), fname); #endif @@ -3165,12 +3338,30 @@ spell_read_aff(fname, spin) : items[2]); } } + else if (STRCMP(items[0], "SOFOFROM") == 0 && itemcnt == 2 + && (!do_sofo || spin->si_sofofr == NULL)) + { + if (do_sofo) + spin->si_sofofr = vim_strsave(items[1]); + } + else if (STRCMP(items[0], "SOFOTO") == 0 && itemcnt == 2 + && (!do_sofo || spin->si_sofoto == NULL)) + { + if (do_sofo) + spin->si_sofoto = vim_strsave(items[1]); + } else smsg((char_u *)_("Unrecognized item in %s line %d: %s"), fname, lnum, items[0]); } } + if (do_sofo && (spin->si_sofofr == NULL) != (spin->si_sofoto == NULL)) + smsg((char_u *)_("Missing SOFO%s line in %s"), + spin->si_sofofr == NULL ? "FROM" : "TO", fname); + if (spin->si_sofofr != NULL && spin->si_sal.ga_len > 0) + smsg((char_u *)_("Both SAL and SOFO lines in %s"), fname); + if (fol != NULL || low != NULL || upp != NULL) { if (spin->si_clear_chartab) @@ -3449,7 +3640,7 @@ spell_read_dic(fname, spin, affile) hi = hash_lookup(&ht, dw, hash); if (!HASHITEM_EMPTY(hi)) smsg((char_u *)_("Duplicate word in %s line %d: %s"), - fname, lnum, w); + fname, lnum, dw); else hash_add_item(&ht, hi, dw, hash); @@ -3797,6 +3988,7 @@ spell_read_wordfile(fname, spin) smsg((char_u *)_("Conversion in %s not supported: from %s to %s"), fname, line, p_enc); vim_free(enc); + spin->si_conv.vc_fail = TRUE; #else smsg((char_u *)_("Conversion in %s not supported"), fname); #endif @@ -4376,6 +4568,8 @@ write_vim_spell(fname, spin) qsort(spin->si_rep.ga_data, (size_t)spin->si_rep.ga_len, sizeof(fromto_T), rep_compare); + /* round 1: REP items + * round 2: SAL items (unless SOFO is used) */ for (round = 1; round <= 2; ++round) { if (round == 1) @@ -4391,7 +4585,11 @@ write_vim_spell(fname, spin) i |= SAL_COLLAPSE; if (spin->si_rem_accents) i |= SAL_REM_ACCENTS; + if (spin->si_sofofr != NULL && spin->si_sofoto != NULL) + i |= SAL_SOFO; putc(i, fd); /* <salflags> */ + if (i & SAL_SOFO) + break; } put_bytes(fd, (long_u)gap->ga_len, 2); /* <repcount> or <salcount> */ @@ -4410,6 +4608,20 @@ write_vim_spell(fname, spin) } } + /* SOFOFROM and SOFOTO */ + if (spin->si_sofofr != NULL && spin->si_sofoto != NULL) + { + put_bytes(fd, 1L, 2); /* <salcount> */ + + l = STRLEN(spin->si_sofofr); + put_bytes(fd, (long_u)l, 2); /* <salfromlen> */ + fwrite(spin->si_sofofr, l, (size_t)1, fd); /* <salfrom> */ + + l = STRLEN(spin->si_sofoto); + put_bytes(fd, (long_u)l, 2); /* <saltolen> */ + fwrite(spin->si_sofoto, l, (size_t)1, fd); /* <salto> */ + } + put_bytes(fd, (long_u)spin->si_map.ga_len, 2); /* <maplen> */ if (spin->si_map.ga_len > 0) /* <mapstr> */ fwrite(spin->si_map.ga_data, (size_t)spin->si_map.ga_len, @@ -4869,6 +5081,8 @@ mkspell(fcount, fnames, ascii, overwrite ga_clear(&spin.si_map); ga_clear(&spin.si_prefcond); vim_free(spin.si_midword); + vim_free(spin.si_sofofr); + vim_free(spin.si_sofoto); /* Free the .aff file structures. */ for (i = 0; i < incount; ++i) @@ -5535,7 +5749,7 @@ spell_suggest() while (p > line && SPELL_ISWORDP(p)) mb_ptr_back(line, p); /* Forward to start of word. */ - while (!SPELL_ISWORDP(p)) + while (*p != NUL && !SPELL_ISWORDP(p)) mb_ptr_adv(p); if (!SPELL_ISWORDP(p)) /* No word found. */ @@ -5813,8 +6027,8 @@ spell_find_suggest(badptr, su, maxcount, if (STRNCMP(buf, "expr:", 5) == 0) { #ifdef FEAT_EVAL - /* Evaluate an expression. Skip this when called recursively - * (using spellsuggest() in the expression). */ + /* Evaluate an expression. Skip this when called recursively, + * when using spellsuggest() in the expression. */ if (!expr_busy) { expr_busy = TRUE; @@ -6151,8 +6365,8 @@ suggest_try_change(su) trystate_T *sp; int newscore; langp_T *lp; - char_u *byts; - idx_T *idxs; + char_u *byts, *fbyts, *pbyts; + idx_T *idxs, *fidxs, *pidxs; int depth; int c, c2, c3; int n = 0; @@ -6182,22 +6396,42 @@ suggest_try_change(su) * "fword[]" the word we are trying to match with (initially the bad * word). */ - byts = lp->lp_slang->sl_fbyts; - idxs = lp->lp_slang->sl_fidxs; - depth = 0; - stack[0].ts_state = STATE_START; - stack[0].ts_score = 0; - stack[0].ts_curi = 1; - stack[0].ts_fidx = 0; - stack[0].ts_fidxtry = 0; - stack[0].ts_twordlen = 0; - stack[0].ts_arridx = 0; + sp = &stack[0]; + sp->ts_state = STATE_START; + sp->ts_score = 0; + sp->ts_curi = 1; + sp->ts_fidx = 0; + sp->ts_fidxtry = 0; + sp->ts_twordlen = 0; + sp->ts_arridx = 0; #ifdef FEAT_MBYTE - stack[0].ts_tcharlen = 0; + sp->ts_tcharlen = 0; #endif /* + * When there are postponed prefixes we need to use these first. At + * the end of the prefix we continue in the case-fold tree. + */ + fbyts = lp->lp_slang->sl_fbyts; + fidxs = lp->lp_slang->sl_fidxs; + pbyts = lp->lp_slang->sl_pbyts; + pidxs = lp->lp_slang->sl_pidxs; + if (pbyts != NULL) + { + byts = pbyts; + idxs = pidxs; + sp->ts_prefixdepth = PREFIXTREE; + sp->ts_state = STATE_NOPREFIX; /* try without prefix first */ + } + else + { + byts = fbyts; + idxs = fidxs; + sp->ts_prefixdepth = NOPREFIX; + } + + /* * Loop to find all suggestions. At each round we either: * - For the current state try one operation, advance "ts_curi", * increase "depth". @@ -6210,6 +6444,7 @@ suggest_try_change(su) switch (sp->ts_state) { case STATE_START: + case STATE_NOPREFIX: /* * Start of node: Deal with NUL bytes, which means * tword[] may end here. @@ -6218,6 +6453,40 @@ suggest_try_change(su) len = byts[arridx]; /* bytes in this node */ arridx += sp->ts_curi; /* index of current byte */ + if (sp->ts_prefixdepth == PREFIXTREE) + { + /* Skip over the NUL bytes, we use them later. */ + for (n = 0; n < len && byts[arridx + n] == 0; ++n) + ; + sp->ts_curi += n; + + /* At end of a prefix or at start of prefixtree: check for + * following word. */ + if (byts[arridx] == 0 || sp->ts_state == STATE_NOPREFIX) + { + sp->ts_state = STATE_START; + ++depth; + stack[depth] = stack[depth - 1]; + sp = &stack[depth]; + sp->ts_prefixdepth = depth - 1; + byts = fbyts; + idxs = fidxs; + sp->ts_state = STATE_START; + sp->ts_curi = 1; /* start just after length byte */ + sp->ts_arridx = 0; + + /* Move the prefix to preword[] so that + * find_keepcap_word() works. */ + prewordlen = splitoff = sp->ts_twordlen; + mch_memmove(preword, tword, splitoff); + break; + } + + /* Always past NUL bytes now. */ + sp->ts_state = STATE_ENDNUL; + break; + } + if (sp->ts_curi > len || byts[arridx] != 0) { /* Past bytes in node and/or past NUL bytes. */ @@ -6232,6 +6501,31 @@ suggest_try_change(su) flags = (int)idxs[arridx]; + if (sp->ts_prefixdepth < MAXWLEN) + { + /* There was a prefix before the word. Check that the + * prefix can be used with this word. */ + /* Count the length of the NULs in the prefix. If there + * are none this must be the first try without a prefix. + */ + n = stack[sp->ts_prefixdepth].ts_arridx; + len = pbyts[n++]; + for (c = 0; c < len && pbyts[n + c] == 0; ++c) + ; + if (c > 0) + { + /* The prefix ID is stored two bytes above the flags. */ + c = valid_word_prefix(c, n, (unsigned)flags >> 16, + tword + splitoff, lp->lp_slang); + if (c == 0) + break; + + /* Use the WF_RARE flag for a rare prefix. */ + if (c & WF_RAREPFX) + flags |= WF_RARE; + } + } + /* * Form the word with proper case in preword. * If there is a word from a previous split, append. @@ -6945,6 +7239,14 @@ suggest_try_change(su) /* Did all possible states at this level, go up one level. */ --depth; + if (depth >= 0 && stack[depth].ts_prefixdepth == PREFIXTREE) + { + /* Continue in or go back to the prefix tree. */ + byts = pbyts; + idxs = pidxs; + splitoff = 0; + } + /* Don't check for CTRL-C too often, it takes time. */ line_breakcheck(); } @@ -7161,7 +7463,7 @@ score_comp_sal(su) if (lp->lp_slang->sl_sal.ga_len > 0) { /* soundfold the bad word */ - spell_soundfold(lp->lp_slang, su->su_fbadword, badsound); + spell_soundfold(lp->lp_slang, su->su_fbadword, TRUE, badsound); for (i = 0; i < su->su_ga.ga_len; ++i) { @@ -7213,7 +7515,7 @@ score_combine(su) if (lp->lp_slang->sl_sal.ga_len > 0) { /* soundfold the bad word */ - spell_soundfold(lp->lp_slang, su->su_fbadword, badsound); + spell_soundfold(lp->lp_slang, su->su_fbadword, TRUE, badsound); for (i = 0; i < su->su_ga.ga_len; ++i) { @@ -7320,14 +7622,12 @@ stp_sal_score(stp, su, slang, badsound) for (p = fword; *(p = skiptowhite(p)) != NUL; ) mch_memmove(p, p + 1, STRLEN(p)); - spell_soundfold(slang, fword, badsound2); + spell_soundfold(slang, fword, TRUE, badsound2); p = badsound2; } - /* Case-fold the word, sound-fold the word and compute the score for the - * difference. */ - (void)spell_casefold(stp->st_word, STRLEN(stp->st_word), fword, MAXWLEN); - spell_soundfold(slang, fword, goodsound); + /* Sound-fold the word and compute the score for the difference. */ + spell_soundfold(slang, stp->st_word, FALSE, goodsound); return soundalike_score(goodsound, p); } @@ -7341,7 +7641,6 @@ suggest_try_soundalike(su) { char_u salword[MAXWLEN]; char_u tword[MAXWLEN]; - char_u tfword[MAXWLEN]; char_u tsalword[MAXWLEN]; idx_T arridx[MAXWLEN]; int curi[MAXWLEN]; @@ -7362,7 +7661,7 @@ suggest_try_soundalike(su) if (lp->lp_slang->sl_sal.ga_len > 0) { /* soundfold the bad word */ - spell_soundfold(lp->lp_slang, su->su_fbadword, salword); + spell_soundfold(lp->lp_slang, su->su_fbadword, TRUE, salword); /* * Go through the whole tree, soundfold each word and compare. @@ -7406,18 +7705,10 @@ suggest_try_soundalike(su) if (round == 2 || (flags & WF_KEEPCAP) == 0) { tword[depth] = NUL; - if (round == 1) - spell_soundfold(lp->lp_slang, - tword, tsalword); - else - { - /* In keep-case tree need to case-fold the - * word. */ - (void)spell_casefold(tword, depth, - tfword, MAXWLEN); - spell_soundfold(lp->lp_slang, - tfword, tsalword); - } + /* Sound-fold. Only in keep-case tree need to + * case-fold the word. */ + spell_soundfold(lp->lp_slang, tword, + round == 1, tsalword); /* Compute the edit distance between the * sound-a-like words. */ @@ -7812,7 +8103,7 @@ rescore_suggestions(su) if (lp->lp_slang->sl_sal.ga_len > 0) { /* soundfold the bad word */ - spell_soundfold(lp->lp_slang, su->su_fbadword, sal_badword); + spell_soundfold(lp->lp_slang, su->su_fbadword, TRUE, sal_badword); for (i = 0; i < su->su_ga.ga_len; ++i) { @@ -7896,7 +8187,6 @@ eval_soundfold(word) char_u *word; { langp_T *lp; - char_u fword[MAXWLEN]; char_u sound[MAXWLEN]; if (curwin->w_p_spell && *curbuf->b_p_spl != NUL) @@ -7905,11 +8195,8 @@ eval_soundfold(word) lp->lp_slang != NULL; ++lp) if (lp->lp_slang->sl_sal.ga_len > 0) { - /* word most be case-folded first. */ - (void)spell_casefold(word, STRLEN(word), fword, MAXWLEN); - /* soundfold the word */ - spell_soundfold(lp->lp_slang, fword, sound); + spell_soundfold(lp->lp_slang, word, FALSE, sound); return vim_strsave(sound); } @@ -7922,14 +8209,125 @@ eval_soundfold(word) * Turn "inword" into its sound-a-like equivalent in "res[MAXWLEN]". */ static void -spell_soundfold(slang, inword, res) +spell_soundfold(slang, inword, folded, res) + slang_T *slang; + char_u *inword; + int folded; /* "inword" is already case-folded */ + char_u *res; +{ + char_u fword[MAXWLEN]; + char_u *word; + + if (slang->sl_sofo) + /* SOFOFROM and SOFOTO used */ + spell_soundfold_sofo(slang, inword, res); + else + { + /* SAL items used. Requires the word to be case-folded. */ + if (folded) + word = inword; + else + { + (void)spell_casefold(inword, STRLEN(inword), fword, MAXWLEN); + word = fword; + } + +#ifdef FEAT_MBYTE + if (has_mbyte) + spell_soundfold_wsal(slang, word, res); + else +#endif + spell_soundfold_sal(slang, word, res); + } +} + +/* + * Perform sound folding of "inword" into "res" according to SOFOFROM and + * SOFOTO lines. + */ + static void +spell_soundfold_sofo(slang, inword, res) + slang_T *slang; + char_u *inword; + char_u *res; +{ + char_u *s; + int ri = 0; + int c; + +#ifdef FEAT_MBYTE + if (has_mbyte) + { + int prevc = 0; + int *ip; + + /* The sl_sal_first[] table contains the translation for chars up to + * 255, sl_sal the rest. */ + for (s = inword; *s != NUL; ) + { + c = mb_ptr2char_adv(&s); + if (enc_utf8 ? utf_class(c) == 0 : vim_iswhite(c)) + c = ' '; + else if (c < 256) + c = slang->sl_sal_first[c]; + else + { + ip = ((int **)slang->sl_sal.ga_data)[c & 0xff]; + if (ip == NULL) /* empty list, can't match */ + c = NUL; + else + for (;;) /* find "c" in the list */ + { + if (*ip == 0) /* not found */ + { + c = NUL; + break; + } + if (*ip == c) /* match! */ + { + c = ip[1]; + break; + } + ip += 2; + } + } + + if (c != NUL && c != prevc) + { + ri += mb_char2bytes(c, res + ri); + if (ri + MB_MAXBYTES > MAXWLEN) + break; + prevc = c; + } + } + } + else +#endif + { + /* The sl_sal_first[] table contains the translation. */ + for (s = inword; (c = *s) != NUL; ++s) + { + if (vim_iswhite(c)) + c = ' '; + else + c = slang->sl_sal_first[c]; + if (c != NUL && (ri == 0 || res[ri - 1] != c)) + res[ri++] = c; + } + } + + res[ri] = NUL; +} + + static void +spell_soundfold_sal(slang, inword, res) slang_T *slang; char_u *inword; char_u *res; { salitem_T *smp; char_u word[MAXWLEN]; - char_u *s; + char_u *s = inword; char_u *t; char_u *pf; int i, j, z; @@ -7943,21 +8341,12 @@ spell_soundfold(slang, inword, res) int p0 = -333; int c0; -#ifdef FEAT_MBYTE - if (has_mbyte) - { - /* Call the multi-byte version of this. */ - spell_soundfold_w(slang, inword, res); - return; - } -#endif - /* Remove accents, if wanted. We actually remove all non-word characters. - * But keep white space. */ + * But keep white space. We need a copy, the word may be changed here. */ if (slang->sl_rem_accents) { t = word; - for (s = inword; *s != NUL; ) + while (*s != NUL) { if (vim_iswhite(*s)) { @@ -7974,7 +8363,7 @@ spell_soundfold(slang, inword, res) *t = NUL; } else - STRCPY(word, inword); + STRCPY(word, s); smp = (salitem_T *)slang->sl_sal.ga_data; @@ -8011,9 +8400,9 @@ spell_soundfold(slang, inword, res) } } - if ((pf = smp[n].sm_oneoff) != NULL) + if ((pf = smp[n].sm_oneof) != NULL) { - /* Check for match with one of the chars in "sm_oneoff". */ + /* Check for match with one of the chars in "sm_oneof". */ while (*pf != NUL && *pf != word[i + k]) ++pf; if (*pf == NUL) @@ -8081,10 +8470,10 @@ spell_soundfold(slang, inword, res) } k0 += k - 1; - if ((pf = smp[n0].sm_oneoff) != NULL) + if ((pf = smp[n0].sm_oneof) != NULL) { /* Check for match with one of the chars in - * "sm_oneoff". */ + * "sm_oneof". */ while (*pf != NUL && *pf != word[i + k0]) ++pf; if (*pf == NUL) @@ -8211,12 +8600,12 @@ spell_soundfold(slang, inword, res) * Multi-byte version of spell_soundfold(). */ static void -spell_soundfold_w(slang, inword, res) +spell_soundfold_wsal(slang, inword, res) slang_T *slang; char_u *inword; char_u *res; { - salitem_T *smp; + salitem_T *smp = (salitem_T *)slang->sl_sal.ga_data; int word[MAXWLEN]; int wres[MAXWLEN]; int l; @@ -8266,8 +8655,6 @@ spell_soundfold_w(slang, inword, res) } word[n] = NUL; - smp = (salitem_T *)slang->sl_sal.ga_data; - /* * This comes from Aspell phonet.cpp. * Converted from C++ to C. Added support for multi-byte chars. @@ -8282,11 +8669,13 @@ spell_soundfold_w(slang, inword, res) if (n >= 0) { - /* check all rules for the same letter */ + /* check all rules for the same index byte */ for (; ((ws = smp[n].sm_lead_w)[0] & 0xff) == (c & 0xff); ++n) { /* Quickly skip entries that don't match the word. Most * entries are less then three chars, optimize for that. */ + if (c != ws[0]) + continue; k = smp[n].sm_leadlen; if (k > 1) { @@ -8302,9 +8691,9 @@ spell_soundfold_w(slang, inword, res) } } - if ((pf = smp[n].sm_oneoff_w) != NULL) + if ((pf = smp[n].sm_oneof_w) != NULL) { - /* Check for match with one of the chars in "sm_oneoff". */ + /* Check for match with one of the chars in "sm_oneof". */ while (*pf != NUL && *pf != word[i + k]) ++pf; if (*pf == NUL) @@ -8350,12 +8739,15 @@ spell_soundfold_w(slang, inword, res) if (slang->sl_followup && k > 1 && n0 >= 0 && p0 != '-' && word[i + k] != NUL) { - /* test follow-up rule for "word[i + k]" */ + /* Test follow-up rule for "word[i + k]"; loop over + * all entries with the same index byte. */ for ( ; ((ws = smp[n0].sm_lead_w)[0] & 0xff) == (c0 & 0xff); ++n0) { /* Quickly skip entries that don't match the word. - * */ + */ + if (c0 != ws[0]) + continue; k0 = smp[n0].sm_leadlen; if (k0 > 1) { @@ -8373,10 +8765,10 @@ spell_soundfold_w(slang, inword, res) } k0 += k - 1; - if ((pf = smp[n0].sm_oneoff_w) != NULL) + if ((pf = smp[n0].sm_oneof_w) != NULL) { /* Check for match with one of the chars in - * "sm_oneoff". */ + * "sm_oneof". */ while (*pf != NUL && *pf != word[i + k0]) ++pf; if (*pf == NUL)
--- a/src/spell/he_IL.diff +++ b/src/spell/he_IL.diff @@ -1,5 +1,5 @@ *** he_IL.orig.aff Sat Jun 18 14:46:51 2005 ---- he_IL.aff Sat Jun 18 15:13:34 2005 +--- he_IL.aff Wed Jun 29 17:24:12 2005 *************** *** 2,3 **** --- 2,6 ---- @@ -8,3 +8,69 @@ + PFXPOSTPONE + # This file was generated automatically from data prepared +*** he_IL.orig.dic Sat Jun 18 14:47:00 2005 +--- he_IL.dic Wed Jun 29 17:22:13 2005 +*************** +*** 318898,318902 **** + ëë +- ëì + ëî +- ëîä + ëù +--- 318898,318900 ---- +*************** +*** 318911,318913 **** + ëùëîä +- ëùì + ëùìë +--- 318909,318910 ---- +*************** +*** 318935,318950 **** + îá +- îä + îë +- îì +- îù +- îùá + îùáë +- îùä + îùë +- îùëá + îùëë +- îùëì + îùëî + îùëîä +- îùì + îùìë +--- 318932,318939 ---- +*************** +*** 318954,318964 **** + ù +- ùá + ùáë +- ùä + ùë +- ùëá + ùëë +- ùëì + ùëî +- ùëîä + ùëù +--- 318943,318948 ---- +*************** +*** 318978,318980 **** + ùëùîë +- ùì + ùìë +--- 318962,318963 ---- +*************** +*** 318996,319003 **** + ùî +- ùîä + ùîë +- ùîù + ùîùá + ùîùáë +- ùîùä + ùîùë +--- 318979,318983 ----
--- a/src/spell/nl_NL.diff +++ b/src/spell/nl_NL.diff @@ -1,13 +1,16 @@ *** nl_NL.orig.aff Wed Apr 20 11:48:16 2005 ---- nl_NL.aff Mon Jun 27 22:07:02 2005 +--- nl_NL.aff Wed Jun 29 17:29:49 2005 *************** *** 3,4 **** ---- 3,14 ---- +--- 3,17 ---- + FOL àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ + LOW àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ + UPP ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ + ++ SOFOFROM abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ¿ ++ SOFOTO ebctefghejklnnepkrstevvkesebctefghejklnnepkrstevvkeseeeeeeeceeeeeeeedneeeeeeeeeeepseeeeeeeeceeeeeeeedneeeeeeeeeeep? ++ + MIDWORD '- + + KEP = @@ -37,7 +40,7 @@ ! SFX J 0 je [aeiou][bcdfgkpt] ! SFX J 0 jes [aeiou][bcdfgkpt] ---- 43,62 ---- +--- 46,65 ---- SFX J N 18 ! SFX J 0 tje [aeiou][aeiou] ! SFX J 0 tjes [aeiou][aeiou] @@ -63,7 +66,7 @@ REP ubi ibu ! REP croc krok REP ten than ---- 263,265 ---- +--- 266,268 ---- REP ubi ibu ! REP croc krok REP ten than @@ -72,7 +75,7 @@ REP capucino cappuccino ! REP celcius Celsius REP kado cadeau ---- 298,300 ---- +--- 301,303 ---- REP capucino cappuccino ! REP celcius Celsius REP kado cadeau @@ -85,7 +88,7 @@ REP kommittee comité ! REP kwis quiz REP kwissen quizzen ---- 304,310 ---- +--- 307,313 ---- REP committee comité ! REP komitee comité ! REP komittee comité @@ -98,7 +101,7 @@ REP copy kopij ! REP pitoresque pittoreske REP reikweite reikwijdte ---- 312,314 ---- +--- 315,317 ---- REP copy kopij ! REP pitoresque pittoreske REP reikweite reikwijdte @@ -110,7 +113,7 @@ ! REP kontekst context ! REP korrekt correct REP kritikus criticus ---- 324,329 ---- +--- 327,332 ---- REP klup club ! REP wiskid whizzkid ! REP kontakt contact @@ -119,7 +122,7 @@ REP kritikus criticus *************** *** 333 **** ---- 343,466 ---- +--- 346,359 ---- REP aflassen afgelasten + REP svp s.v.p. + REP zoz z.o.z. @@ -134,116 +137,6 @@ + MAP cç + MAP yÿý + MAP sß -+ -+ # This comes from Aspell en_phonet.dat, version 1.1, 2000-01-07 -+ -+ SAL AH(AEIOUY)-^ *H -+ SAL AR(AEIOUY)-^ *R -+ SAL A(HR)^ * -+ SAL A^ * -+ SAL AH(AEIOUY)- H -+ SAL AR(AEIOUY)- R -+ SAL A(HR) _ -+ SAL À^ * -+ SAL Å^ * -+ SAL BB- _ -+ SAL B B -+ SAL CQ- _ -+ SAL CIA X -+ SAL CH X -+ SAL C(EIY)- S -+ SAL CK K -+ SAL COUGH^ KF -+ SAL CC< C -+ SAL C K -+ SAL DG(EIY) K -+ SAL DD- _ -+ SAL D T -+ SAL É< E -+ SAL EH(AEIOUY)-^ *H -+ SAL ER(AEIOUY)-^ *R -+ SAL E(HR)^ * -+ SAL ENOUGH^$ *NF -+ SAL E^ * -+ SAL EH(AEIOUY)- H -+ SAL ER(AEIOUY)- R -+ SAL E(HR) _ -+ SAL FF- _ -+ SAL F F -+ SAL GN^ N -+ SAL GN$ N -+ SAL GNS$ NS -+ SAL GNED$ N -+ SAL GH(AEIOUY)- K -+ SAL GH _ -+ SAL GG9 K -+ SAL G K -+ SAL H H -+ SAL IH(AEIOUY)-^ *H -+ SAL IR(AEIOUY)-^ *R -+ SAL I(HR)^ * -+ SAL I^ * -+ SAL ING6 N -+ SAL IH(AEIOUY)- H -+ SAL IR(AEIOUY)- R -+ SAL I(HR) _ -+ SAL J K -+ SAL KN^ N -+ SAL KK- _ -+ SAL K K -+ SAL LAUGH^ LF -+ SAL LL- _ -+ SAL L L -+ SAL MB$ M -+ SAL MM M -+ SAL M M -+ SAL NN- _ -+ SAL N N -+ SAL OH(AEIOUY)-^ *H -+ SAL OR(AEIOUY)-^ *R -+ SAL O(HR)^ * -+ SAL O^ * -+ SAL OH(AEIOUY)- H -+ SAL OR(AEIOUY)- R -+ SAL O(HR) _ -+ SAL PH F -+ SAL PN^ N -+ SAL PP- _ -+ SAL P P -+ SAL Q K -+ SAL RH^ R -+ SAL ROUGH^ RF -+ SAL RR- _ -+ SAL R R -+ SAL SCH(EOU)- SK -+ SAL SC(IEY)- S -+ SAL SH X -+ SAL SI(AO)- X -+ SAL SS- _ -+ SAL S S -+ SAL TI(AO)- X -+ SAL TH @ -+ SAL TCH-- _ -+ SAL TOUGH^ TF -+ SAL TT- _ -+ SAL T T -+ SAL UH(AEIOUY)-^ *H -+ SAL UR(AEIOUY)-^ *R -+ SAL U(HR)^ * -+ SAL U^ * -+ SAL UH(AEIOUY)- H -+ SAL UR(AEIOUY)- R -+ SAL U(HR) _ -+ SAL V^ W -+ SAL V F -+ SAL WR^ R -+ SAL WH^ W -+ SAL W(AEIOU)- W -+ SAL X^ S -+ SAL X KS -+ SAL Y(AEIOU)- Y -+ SAL ZZ- _ -+ SAL Z S *** nl_NL.orig.dic Tue Apr 19 21:03:15 2005 --- nl_NL.dic Mon Jun 27 20:38:35 2005 ***************
--- a/src/version.h +++ b/src/version.h @@ -36,5 +36,5 @@ #define VIM_VERSION_NODOT "vim70aa" #define VIM_VERSION_SHORT "7.0aa" #define VIM_VERSION_MEDIUM "7.0aa ALPHA" -#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0aa ALPHA (2005 Jun 28)" -#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0aa ALPHA (2005 Jun 28, compiled " +#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0aa ALPHA (2005 Jun 29)" +#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0aa ALPHA (2005 Jun 29, compiled "