" 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
let &cpo = s:cpo_save
unlet s:cpo_save
-
-" vim: set sts=2 sw=2:
--- /dev/null
+" 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
" 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
let &cpo = s:cpo_save
unlet s:cpo_save
-
-" vim: set sts=2 sw=2:
-*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
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.
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()*
-*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
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:
"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:
: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*
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*
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*
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*
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*
-*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
*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
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.
-*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
(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.
|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)
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.
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:
" 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")
" 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
" 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
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
" 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
" 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
" 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
" 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
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
" 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()
" 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')
--- /dev/null
+" 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
--- /dev/null
+" 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
" 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.
-runtime! ftplugin/make.vim ftplugin/make_*.vim ftplugin/make/*.vim
+if exists("b:did_ftplugin")
+ finish
+endif
-" vim: set sts=2 sw=2:
+runtime! ftplugin/make.vim ftplugin/make_*.vim ftplugin/make/*.vim
--- /dev/null
+" 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
--- /dev/null
+" 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&
" 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.
" 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")
" 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
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, '%')
" 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
" 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
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
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>
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:
--- /dev/null
+" 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
--- /dev/null
+" 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
--- /dev/null
+" 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
" 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(\)\='
--- /dev/null
+" 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=
--- /dev/null
+" 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
--- /dev/null
+" 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
--- /dev/null
+" 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
--- /dev/null
+" 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
--- /dev/null
+" 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
--- /dev/null
+" 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
--- /dev/null
+" 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
--- /dev/null
+" 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
--- /dev/null
+" 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:*/
--- /dev/null
+" 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
--- /dev/null
+" 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
--- /dev/null
+" 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
--- /dev/null
+" 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
--- /dev/null
+" 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
--- /dev/null
+" 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
--- /dev/null
+" 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
--- /dev/null
+" 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
--- /dev/null
+" 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
--- /dev/null
+" 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
--- /dev/null
+" 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\>'
--- /dev/null
+" 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=
--- /dev/null
+" 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
--- /dev/null
+" 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
--- /dev/null
+" 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\>'
--- /dev/null
+" 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
--- /dev/null
+" 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
--- /dev/null
+" 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
--- /dev/null
+" 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
--- /dev/null
+" 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
" 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<"
-
-setlocal comments=fb:..
-setlocal commentstring=..\ %s
-setlocal expandtab
-setlocal sts=2 sw=2
+let b:undo_ftplugin = "setl com< cms< et<"
-" vim: set sts=2 sw=2:
+setlocal comments=fb:.. commentstring=..\ %s expandtab
--- /dev/null
+" 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
--- /dev/null
+" 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
--- /dev/null
+" 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
--- /dev/null
+" 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
--- /dev/null
+" 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
--- /dev/null
+" 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
--- /dev/null
+" 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
--- /dev/null
+" 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&
--- /dev/null
+" 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
--- /dev/null
+" 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
--- /dev/null
+" 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
--- /dev/null
+" 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
--- /dev/null
+" 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
" 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
-" same as makefile indenting for now.
-source <sfile>:p:h/make.vim
+if exists("b:did_indent")
+ finish
+endif
-" vim: set sts=2 sw=2:
+" same as makefile indenting for now.
+runtime! indent/make.vim
" 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
" 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)
-
- 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
+ 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 = s:LookupLine(v:lnum)
-
+ let lnum = prevnonblank(v:lnum - 1)
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:
" 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.
if exists('*XmlIndentGet')
setlocal indentexpr=XmlIndentGet(v:lnum,0)
endif
-
-" vim: set sts=2 sw=2:
" 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:
" 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
" 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
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:
" 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:
" 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
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
return ind
endfunction
-
-" vim: set sts=2 sw=2:
" 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
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
" 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
" 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)
return lnum
endfunction
-function! GetTclIndent()
- let lnum = s:PrevNonBlankNonComment(v:lnum - 1)
-
- if lnum == 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
+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 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 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)
+ let i = match(line, pattern, i + 1)
endwhile
+ return a:count_open ? n_open : n_close
+endfunction
- 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 + (open - close) * &sw
-
- let line = getline(v:lnum)
+function GetTclIndent()
+ let pnum = s:prevnonblanknoncomment(v:lnum - 1)
+ if pnum == 0
+ return 0
+ endif
- 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 = indent(pnum) + s:count_braces(pnum, 1) * &sw
+ if getline(pnum) =~ '\\$'
+ let ind += &sw
+ endif
- let ind = ind - close * &sw
+ let pnum = s:prevnonblanknoncomment(pnum - 1)
+ if pnum > 0 && getline(pnum) =~ '\\$'
+ let ind -= &sw
+ endif
- return ind >= 0 ? ind : 0
+ return ind - s:count_braces(v:lnum, 0) * &sw
endfunction
-
-" vim: set sts=2 sw=2:
" 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
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:
--- /dev/null
+" 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
" 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")
return ind
endfunction
-
-" vim: set sts=2 sw=2:
" 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:
" 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
+syn match alsaconfSpecialChar contained display '\\[ntvbrf]'
+syn match alsaconfSpecialChar contained display '\\\o\+'
-" preprocessor special
-syn match alsaconfSpecial contained "confdir:"
+syn region alsaconfString matchgroup=alsaconfString
+ \ start=+"+ skip=+\\$+ end=+"+ end=+$+
+ \ contains=alsaconfSpecialChar
-" preprocessor
-syn region alsaconfPreProc matchgroup=alsaconfPreProc start="<" end=">"
- \ contains=alsaconfSpecial
+syn match alsaconfSpecial contained display 'confdir:'
-" modes
-syn match alsaconfMode "[+?!-]"
+syn region alsaconfPreProc matchgroup=alsaconfPreProc start='<' end='>'
+ \ contains=alsaconfSpecial
-" keywords
-syn keyword alsaconfKeyword card default device errors files func strings
-syn keyword alsaconfKeyword subdevice type vars
+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
-" 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
+syn match alsaconfVariables display '@\(hooks\|func\|args\)'
- 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
" 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
-
-if version < 600
- syntax clear
-elseif exists("b:current_syntax")
+" Language: GNU Arch inventory file
+" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
+" Latest Revision: 2005-06-29
+
+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
-
-" Todo
-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
-
-" Regexes
-syn match archRegex contained '\s*\zs.*'
-
-" 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
-
- HiLink archTodo Todo
- HiLink archComment Comment
- HiLink archKeyword Keyword
- HiLink archRegex String
-
- delcommand HiLink
-endif
+let s:cpo_save = &cpo
+set cpo&vim
+
+setlocal iskeyword=@,48-57,_,-
+
+syn keyword archTodo TODO FIXME XXX NOTE
+
+syn region archComment display matchgroup=archComment
+ \ start='^\%(#\|\s\)' end='$' contains=archTodo,@Spell
+
+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 match archRegex contained '\s*\zs.*'
+
+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
" 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
-
-if version < 600
- syntax clear
-elseif exists("b:current_syntax")
+" Language: BDF font definition
+" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
+" Latest Revision: 2005-06-27
+
+if exists("b:current_syntax")
finish
endif
-" numbers
-syn match bdfNumber display "\<\(\x\+\|\d\+\.\d\+\)\>"
+let s:cpo_save = &cpo
+set cpo&vim
+
+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
+
+syn region bdfComment contained start='^COMMENT\>' end='$'
+ \ contains=bdfTodo,@Spell
-" comments
-syn region bdfComment start="^COMMENT\>" end="$" contains=bdfTodo
+syn region bdfFont contained matchgroup=bdfKeyword
+ \ start='^FONT\>' end='$'
-" todo
-syn keyword bdfTodo contained TODO FIXME XXX NOTE
+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
-" characters
-syn keyword bdfCharProperties contained ENCODING SWIDTH DWIDTH BBX ATTRIBUTES BITMAP
+syn region bdfString contained start=+"+ skip=+""+ end=+"+
-syn match bdfCharName contained display "\<[0-9a-zA-Z]\{1,14}\>"
-syn match bdfCharNameError contained display "\<[0-9a-zA-Z]\{15,}\>"
+syn region bdfChars contained display transparent
+ \ matchgroup=bdfKeyword start='^CHARS' end='$'
+ \ contains=bdfNumber
-syn region bdfStartChar transparent matchgroup=bdfDelim start="\<STARTCHAR\>" end="$" contains=bdfCharName,bdfCharNameError
+syn region bdfChar transparent matchgroup=bdfKeyword
+ \ start='^STARTCHAR' end='^ENDCHAR'
+ \ contains=bdfEncoding,bdfWidth,bdfAttributes,
+ \ bdfBitmap
-syn region bdfCharDefinition transparent start="^STARTCHAR\>" matchgroup=bdfDelim end="^ENDCHAR\>" contains=bdfCharProperties,bdfNumber,bdfStartChar
+syn region bdfEncoding contained transparent matchgroup=bdfKeyword
+ \ start='^ENCODING' end='$' contains=bdfNumber
-" font
-syn region bdfFontDefinition transparent matchgroup=bdfDelim start="^STARTFONT\>" end="^ENDFONT\>" contains=bdfProperties,bdfDefinition,bdfCharDefinition,bdfNumber,bdfComment
+syn region bdfWidth contained transparent matchgroup=bdfKeyword
+ \ start='^SWIDTH\|DWIDTH\|BBX' end='$'
+ \ contains=bdfNumber
+
+syn region bdfAttributes contained transparent matchgroup=bdfKeyword
+ \ start='^ATTRIBUTES' end='$'
+
+syn keyword bdfBitmap contained BITMAP
if exists("bdf_minlines")
let b:bdf_minlines = bdf_minlines
else
- let b:bdf_minlines = 50
-endif
-exec "syn sync 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
+ let b:bdf_minlines = 30
endif
+exec "syn sync ccomment bdfChar minlines=" . b:bdf_minlines
+
+
+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
" 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
-
-" Comments
-syn region calendarComment matchgroup=calendarComment start='/\*' end='\*/' contains=calendarTodo
-
-" 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}\)"
-
-" cpp(1) Preprocessor directives (adapted from syntax/c.vim)
-
-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
+let s:cpo_save = &cpo
+set cpo&vim
+
+syn keyword calendarTodo contained TODO FIXME XXX NOTE
+
+syn region calendarComment matchgroup=calendarComment
+ \ start='/\*' end='\*/'
+ \ contains=calendarTodo,@Spell
+
+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 keyword calendarKeyword CHARSET BODUN LANG
syn case ignore
-syn keyword calendarKeyword Easter Pashka
+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 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
-" 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 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]'
-" Variables
-syn match calendarVariable '\*'
+syn match calendarVariable '\*'
-let b:c_minlines = 50 " #if 0 constructs can be long
-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>
+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
-
- 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
+exec "syn sync ccomment calendarComment minlines=" . b:c_minlines
+
+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
--- /dev/null
+" 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
" 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
-
-if version < 600
- syntax clear
-elseif exists("b:current_syntax")
+" Language: CRM114
+" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
+" Latest Revision: 2005-06-27
+
+if exists("b:current_syntax")
finish
endif
-" Todo
-syn keyword crmTodo contained TODO FIXME XXX NOTE
-
-" Comments
-syn region crmComment matchgroup=crmComment start='#' end='$' end='\\#' contains=crmTodo
-
-" Variables
-syn match crmVariable ':[*#@]:[^:]\{-1,}:'
-
-" Special Characters
-syn match crmSpecial '\\\%(x\x\x\|o\o\o\o\|[]nrtabvf0>)};/\\]\)'
-
-" 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
-
-" Regexes
-syn region crmRegex matchgroup=crmRegex start='/' skip='\\/' end='/' contains=crmVariable
-
-" Labels
-syn match crmLabel '^\s*:[[:graph:]]\+:'
-
-" 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
-
- HiLink crmTodo Todo
- HiLink crmComment Comment
- HiLink crmVariable Identifier
- HiLink crmSpecial SpecialChar
- HiLink crmStatement Statement
- HiLink crmRegex String
- HiLink crmLabel Label
-
- delcommand HiLink
-endif
+let s:cpo_save = &cpo
+set cpo&vim
+
+syn keyword crmTodo contained TODO FIXME XXX NOTE
+
+syn region crmComment matchgroup=crmComment start='#' end='$' end='\\#'
+ \ contains=crmTodo,@Spell
+
+syn match crmVariable display ':[*#@]:[^:]\{-1,}:'
+
+syn match crmSpecial display '\\\%(x\x\x\|o\o\o\o\|[]nrtabvf0>)};/\\]\)'
+
+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
+
+syn match crmLabel display '^\s*:[[:graph:]]\+:'
+
+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
" 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
-
-if version < 600
- syntax clear
-elseif exists("b:current_syntax")
+" Language: cvs(1) RC file
+" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
+" Latest Revision: 2005-06-29
+
+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\+\>"
-
-" commands
-syn match cvsrcBegin "^" nextgroup=cvsrcCommand skipwhite
-
-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
-
-" options
-syn match cvsrcOption "-\a\+"
-
-" 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
-
- HiLink cvsrcString String
- HiLink cvsrcNumber Number
- HiLink cvsrcCommand Keyword
- HiLink cvsrcOption Identifier
- delcommand HiLink
-endif
+let s:cpo_save = &cpo
+set cpo&vim
+
+syn region cvsrcString display start=+"+ skip=+\\\\\|\\\\"+ end=+"\|$+
+syn region cvsrcString display start=+'+ skip=+\\\\\|\\\\'+ end=+'\|$+
+
+syn match cvsrcNumber display '\<\d\+\>'
+
+syn match cvsrcBegin display '^' nextgroup=cvsrcCommand skipwhite
+
+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
+
+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
" 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
-" numbers
-syn match dircolorsNumber "\<\d\+\>"
+syn region dircolorsComment start='#' end='$' contains=dircolorsTodo,@Spell
+
+syn keyword dircolorsKeyword TERM LEFT LEFTCODE RIGHT RIGHTCODE 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
-" 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
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
-" 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\>"
+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
-" 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 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
- HiLink dircolorsTodo Todo
- HiLink dircolorsComment Comment
- HiLink dircolorsNumber Number
- HiLink dircolorsKeyword Keyword
- HiLink dircolorsExtension Keyword
+ 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
- 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
+hi def link dircolorsTodo Todo
+hi def link dircolorsComment Comment
+hi def link dircolorsKeyword Keyword
+hi def link dircolorsExtension Keyword
- 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
" 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
-
-if version < 600
- syntax clear
-elseif exists("b:current_syntax")
+" Language: elinks(1) configuration file
+" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
+" Latest Revision: 2005-06-27
+
+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
-" Todo
-syn keyword elinksTodo contained TODO FIXME XXX NOTE
+setlocal iskeyword=@,48-57,_,-
-" Comments
-syn region elinksComment matchgroup=elinksComment start='#' end='$' contains=elinksTodo
+syn keyword elinksTodo contained TODO FIXME XXX NOTE
+
+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
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 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
-
-" 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
+syn cluster elinksColor contains=elinksColorBlack,elinksColorDarkRed,
+ \ elinksColorDarkGreen,elinksColorDarkYellow,
+ \ elinksColorDarkBlue,elinksColorDarkMagenta,
+ \ elinksColorDarkCyan,elinksColorGray,
+ \ elinksColorDarkGray,elinksColorRed,
+ \ elinksColorGreen,elinksColorYellow,
+ \ elinksColorBlue,elinksColorMagenta,
+ \ elinksColorCyan,elinksColorWhite
+
+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
+
+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
" 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
-
-if version < 600
- syntax clear
-elseif exists("b:current_syntax")
+" Language: eterm(1) configuration file
+" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
+" Latest Revision: 2005-06-29
+
+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.]\+>$'
+
+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
+
+syn keyword etermFunctions contained copy exit kill nop paste save
+ \ scroll search spawn
+
+syn cluster etermGeneral contains=etermComment,etermFunction,
+ \ etermPreProc
+
+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
+
+syn keyword etermColorType contained bd ul
+syn match etermColorType contained display '\<\%(\d\|1[0-5]\)'
+
+syn keyword etermColorOptions contained color
+ \ nextgroup=etermColorNumber skipwhite
+
+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
+
+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
+
+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
+
+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
+
+syn region etermIClassContext fold transparent matchgroup=etermContext
+ \ start='^\s*begin\s\+imageclasses'
+ \ end='^\s*end\>'
+ \ contains=@etermGeneral,etermImageContext,
+ \ etermIClassOptions
-" comments
-syn region etermComment matchgroup=etermComment start="^#" end="$" contains=etermTodo
+syn keyword etermImageOptions contained type nextgroup=etermImageType
+ \ skipwhite
-" todo
-syn keyword etermTodo contained TODO FIXME XXX NOTE
+syn keyword etermImageTypes contained background trough anchor up_arrow
+ \ left_arrow right_arrow menu menuitem
+ \ submenu button buttonbar down_arrow
-" numbers
-syn match etermNumber contained display "\<\(\d\+\|0x\x\{1,2}\)\>"
+syn keyword etermImageOptions contained mode nextgroup=etermImageModes
+ \ skipwhite
-" strings
-syn region etermString contained display oneline start=+"+ skip=+\\"+ end=+"+
+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
-" booleans
-syn keyword etermBoolean contained on off true false yes no
+syn keyword etermImageOptions contained state nextgroup=etermImageState
+ \ 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 keyword etermImageState contained normal selected clicked disabled
-" preproc
-syn match etermPreProc contained "%\(appname\|exec\|get\|put\|random\|version\|include\|preproc\)("he=e-1
+syn keyword etermImageOptions contained color nextgroup=etermImageColorFG
+ \ skipwhite
-" functions
-syn match etermFunctions contained "\<\(copy\|exit\|kill\|nop\|paste\|save\|scroll\|search\|spawn\)("
+syn keyword etermImageColorFG contained '\S\+' nextgroup=etermImageColorBG
+ \ skipwhite
-" and make it easy to refer to the above...
-syn cluster etermGeneral contains=etermComment,etermNumber,etermString,etermBoolean,etermColor,etermFunction,etermPreProc
+syn keyword etermImageColorBG contained '\S\+'
-" 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 etermImageOptions contained file nextgroup=etermString
+ \ 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 etermImageOptions contained geom nextgroup=etermImageGeom
+ \ skipwhite
-syn region etermColorContext fold transparent matchgroup=etermContext start="^\s*begin\s\+color\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermColorOptions
+syn match etermImageGeom contained display
+ \ '\s\+\%(\d\+x\d\++\d\++\d\+\)\=:\%(\%(tie\|scale\|hscale\|vscale\|propscale\)d\=\)\='
-" 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 etermImageOptions contained cmod colormod
+ \ nextgroup=etermImageCmod skipwhite
-syn region etermAttrContext fold transparent matchgroup=etermContext start="^\s*begin\s\+attributes\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermAttrOptions
+syn keyword etermImageCmod contained image red green blue
+ \ nextgroup=etermImageBrightness skipwhite
-" 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 match etermImageBrightness contained display '\<\(\d\+\|0x\x\{1,2}\)\>'
+ \ nextgroup=etermImageContrast skipwhite
-syn region etermImageContext contained transparent fold matchgroup=etermContext start="^\s*begin\s\+image\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermImageOptions
+syn match etermImageContrast contained display '\<\(\d\+\|0x\x\{1,2}\)\>'
+ \ nextgroup=etermImageGamma skipwhite
-" imageclasses context
-syn keyword etermIClassOptions contained icon cache path anim
+syn match etermImageGamma contained display '\<\(\d\+\|0x\x\{1,2}\)\>'
+ \ nextgroup=etermImageGamma skipwhite
-syn region etermIClassContext fold transparent matchgroup=etermContext start="^\s*begin\s\+imageclasses\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermImageContext,etermIClassOptions
+syn region etermImageOptions contained matchgroup=etermImageOptions
+ \ start='border\|bevel\%(\s\+\%(up\|down\)\)\|padding'
+ \ end='$' contains=etermNumber
-" 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 region etermImageContext contained fold transparent
+ \ matchgroup=etermContext
+ \ start='^\s*begin\s\+image'
+ \ end='^\s*end\>'
+ \ contains=@etermGeneral,etermImageOptions
-syn region etermMenuItemContext fold transparent matchgroup=etermContext start="^\s*begin\s\+menuitem\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermMenuItemOptions
+syn keyword etermMenuItemOptions contained action
+ \ nextgroup=etermMenuItemAction skipwhite
-" menu context (should contain - as well, but no...)
-syn keyword etermMenuOptions contained title font_name sep
+syn keyword etermMenuItemAction contained string echo submenu script
+ \ nextgroup=etermString 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 etermMenuItemAction contained separator
-" 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 keyword etermMenuItemOptions contained text rtext nextgroup=etermString
+ \ skipwhite
-syn region etermActionsContext fold transparent matchgroup=etermContext start="^\s*begin\s\+actions\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermActionsOptions
+syn region etermMenuItemContext contained fold transparent
+ \ matchgroup=etermContext
+ \ start='^\s*begin\s\+menuitem'
+ \ end='^\s*end\>'
+ \ contains=@etermGeneral,etermMenuItemOptions
-" 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 etermMenuOptions contained title nextgroup=etermString
+ \ skipwhite
-syn region etermButtonContext fold transparent matchgroup=etermContext start="^\s*begin\s\+button_bar\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermButtonOptions
+syn keyword etermMenuOptions contained font_name nextgroup=etermFont
+ \ skipwhite
-" multichar context
-syn keyword etermMultiOptions contained encoding font
+syn match etermMenuOptions contained display '\<sep\>\|-'
-syn region etermMultiContext fold transparent matchgroup=etermContext start="^\s*begin\s\+multichar\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermMultiOptions
+syn region etermMenuContext fold transparent matchgroup=etermContext
+ \ start='^\s*begin\s\+menu'
+ \ end='^\s*end\>'
+ \ contains=@etermGeneral,etermMenuOptions,
+ \ etermMenuItemContext
-" xim context
-syn keyword etermXimOptions contained input_method preedit_type
+syn keyword etermBind contained bind nextgroup=etermBindMods
+ \ skipwhite
-syn region etermXimContext fold transparent matchgroup=etermContext start="^\s*begin\s\+xim\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermXimOptions
+syn keyword etermBindMods contained ctrl shift lock mod1 mod2 mod3 mod4
+ \ mod5 alt meta anymod
+ \ nextgroup=etermBindMods 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 etermBindTo contained to nextgroup=etermBindType
+ \ skipwhite
-syn region etermTogContext fold transparent matchgroup=etermContext start="^\s*begin\s\+toggles\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermTogOptions
+syn keyword etermBindType contained string echo menu script
+ \ nextgroup=etermBindParam skipwhite
-" 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 match etermBindParam contained display '\S\+'
-syn region etermKeyboardContext fold transparent matchgroup=etermContext start="^\s*begin\s\+keyboard\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermKeyboardOptions
+syn region etermActionsContext fold transparent matchgroup=etermContext
+ \ start='^\s*begin\s\+actions'
+ \ end='^\s*end\>'
+ \ contains=@etermGeneral,etermActionsOptions
-" 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 etermButtonOptions contained font nextgroup=etermFont skipwhite
+syn keyword etermButtonOptions contained visible nextgroup=etermBoolean
+ \ skipwhite
+syn keyword etermButtonOptions contained dock nextgroup=etermDockOption
+ \ skipwhite
-syn region etermMiscContext fold transparent matchgroup=etermContext start="^\s*begin\s\+misc\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermMiscOptions
+syn keyword etermDockOption contained top bottom no
+
+syn keyword etermButton contained button nextgroup=etermButtonText
+ \ skipwhite
+
+syn region etermButtonText contained display oneline start=+"+
+ \ skip=+\\"+ end=+"+
+ \ nextgroup=etermButtonIcon skipwhite
+
+syn keyword etermButtonIcon contained icon nextgroup=etermButtonIconFile
+ \ skipwhite
+
+syn keyword etermButtonIconFile contained '\S\+' nextgroup=etermButtonAction
+ \ skipwhite
+
+syn keyword etermButtonAction contained action nextgroup=etermBindType
+ \ skipwhite
+
+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 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
+
+syn keyword etermXimOptions contained input_method
+ \ nextgroup=etermInputMethod skipwhite
+
+syn match etermInputMethod contained display '\S+'
+
+syn keyword etermXimOptions contained preedit_type
+ \ nextgroup=etermPreeditType skipwhite
+
+syn keyword etermPreeditType contained OverTheSpot OffTheSpot Root
+
+syn region etermXimContext fold transparent matchgroup=etermContext
+ \ start='^\s*begin\s\+xim'
+ \ end="^\s*end\>'
+ \ contains=@etermGeneral,etermXimOptions
+
+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 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
+
+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 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
+
+syn region etermMiscContext fold transparent matchgroup=etermContext
+ \ start='^\s*begin\s\+misc'
+ \ end='^\s*end\>'
+ \ contains=@etermGeneral,etermMiscOptions
+
+syn keyword etermEScreenOptions contained url nextgroup=etermURL skipwhite
+
+syn match etermURL contained display
+ \ '\<\%(screen\|twin\)://\%([^@:/]\+\%(@[^:/]\+\%(:[^/]\+\)\=\)\=\)\=/\S\+'
+
+syn keyword etermEScreenOptions contained firewall
+
+syn keyword etermEScreenOptions contained delay nextgroup=etermNumber
+ \ skipwhite
+
+syn keyword etermEScreenOptions contained bbar_font nextgroup=etermFont
+ \ skipwhite
+
+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
" 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
-
-if version < 600
- syntax clear
-elseif exists("b:current_syntax")
+" Language: fetchmail(1) RC File
+" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
+" Latest Revision: 2005-06-27
+
+if exists("b:current_syntax")
finish
endif
-" todo
-syn keyword fetchmailTodo contained FIXME TODO XXX NOTE
-
-" comments
-syn region fetchmailComment start="#" end="$" contains=fetchmailTodo
-
-" numbers
-syn match fetchmailNumber "\<\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\+\)"
-
-" server entries
-syn region fetchmailKeyword transparent matchgroup=fetchmailKeyword start="\<poll\|skip\|defaults\>" end="\<poll\|skip\|defaults\>" contains=ALLBUT,fetchmailOptions,fetchmailSet
-
-" 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\)"
-
-" 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
-
-
-" noise keywords
-syn keyword fetchmailNoise and with has wants options
-syn match fetchmailNoise "[:;,]"
-
-" options
-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\)"
-
-" 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
-
- 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
+let s:cpo_save = &cpo
+set cpo&vim
+
+syn keyword fetchmailTodo contained FIXME TODO XXX NOTE
+
+syn region fetchmailComment start='#' end='$' contains=fetchmailTodo,@Spell
+
+syn match fetchmailNumber display '\<\d\+\>'
+
+syn region fetchmailString start=+"+ skip=+\\\\\|\\"+ end=+"+
+ \ contains=fetchmailStringEsc
+syn region fetchmailString start=+'+ skip=+\\\\\|\\'+ end=+'+
+ \ contains=fetchmailStringEsc
+
+syn match fetchmailStringEsc contained '\\\([ntb]\|0\d*\|x\x\+\)'
+
+syn region fetchmailKeyword transparent matchgroup=fetchmailKeyword
+ \ start='\<poll\|skip\|defaults\>'
+ \ end='\<poll\|skip\|defaults\>'
+ \ contains=ALLBUT,fetchmailOptions,fetchmailSet
+
+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\)'
+
+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\)'
+
+syn keyword fetchmailSpecial contained here there
+
+syn keyword fetchmailNoise and with has wants options
+syn match fetchmailNoise display '[:;,]'
+
+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\)'
+
+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
" 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
-" comments
-syn region gpgComment contained display oneline start="#" end="$" contains=gpgTodo,gpgID
+setlocal iskeyword=@,48-57,-
-" todo
-syn keyword gpgTodo contained FIXME TODO XXX NOTE
+syn keyword gpgTodo contained FIXME TODO XXX NOTE
-" ids
-syn match gpgID contained display "\<\(0x\)\=\x\{8,}\>"
+syn region gpgComment contained display oneline start='#' end='$'
+ \ contains=gpgTodo,gpgID,@Spell
-syn match gpgBegin "^" skipwhite nextgroup=gpgComment,gpgOption,gpgCommand
+syn match gpgID contained display '\<\(0x\)\=\x\{8,}\>'
-" 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 match gpgBegin display '^' skipwhite nextgroup=gpgComment,gpgOption,gpgCommand
-" 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
+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
-" 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
" 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
-
-if version < 600
- syntax clear
-elseif exists("b:current_syntax")
+" Language: grub(8) configuration file
+" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
+" Latest Revision: 2005-06-29
+
+if exists("b:current_syntax")
finish
endif
-" comments
-syn region grubComment display oneline start="^#" end="$" contains=grubTodo
-
-" todo
-syn keyword grubTodo contained TODO FIXME XXX NOTE
-
-" devices
-syn match grubDevice display "(\([fh]d\d\|\d\+\|0x\x\+\)\(,\d\+\)\=\(,\l\)\=)"
-
-" block lists
-syn match grubBlock display "\(\d\+\)\=+\d\+\(,\(\d\+\)\=+\d\+\)*"
-
-" numbers
-syn match grubNumbers display "+\=\<\d\+\|0x\x\+\>"
-
-syn match grubBegin display "^" nextgroup=grubCommand,grubComment skipwhite
-
-" menu commands
-syn keyword grubCommand contained default fallback hiddenmenu timeout title
-
-" 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
-
-" 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
-
- 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
+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
+
+syn match grubDevice display
+ \ '(\([fh]d\d\|\d\+\|0x\x\+\)\(,\d\+\)\=\(,\l\)\=)'
+
+syn match grubBlock display '\(\d\+\)\=+\d\+\(,\(\d\+\)\=+\d\+\)*'
+
+syn match grubNumbers display '+\=\<\d\+\|0x\x\+\>'
+
+syn match grubBegin display '^'
+ \ nextgroup=@grubCommands,grubComment skipwhite
+
+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 '.*'
+
+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 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'
+
+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
+
+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
" 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>
+let s:cpo_save = &cpo
+set cpo&vim
+
+setlocal iskeyword=@,48-57,-,_
+
+syn match indentError '\S\+'
+
+syn keyword indentTodo contained TODO FIXME XXX NOTE
+
+syn region indentComment matchgroup=indentComment
+ \ start='/\*' end='\*/'
+ \ contains=indentTodo,@Spell
+syn region indentComment matchgroup=indentComment
+ \ start='//' skip='\\$' end='$'
+ \ contains=indentTodo,@Spell
+
+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
+
+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
-SetIsk 48-57,65-90,97-122,-,_
-delcommand SetIsk
-
-" errors
-syn match indentError "\S\+"
-
-" todo
-syn keyword indentTodo contained TODO FIXME XXX NOTE
-
-" comments
-syn region indentComment matchgroup=indentComment start="/\*" end="\*/" contains=indentTodo
-
-" 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
-
-if exists("indent_minlines")
- let b:indent_minlines = indent_minlines
-else
- let b:indent_minlines = 50
+
+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
-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>
+
+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
-
- 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
" 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
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
\ 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
" 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
-" todo
-syn keyword lftpTodo contained TODO FIXME XXX NOTE
+syn keyword lftpTodo contained TODO FIXME XXX NOTE
-" strings
-syn region lftpString contained display start=+"+ skip=+\\$\|\\"+ end=+"+ end=+$+
+syn region lftpString contained display
+ \ start=+"+ skip=+\\$\|\\"+ end=+"+ end=+$+
-" numbers
-syn match lftpNumber contained display "\<\d\+\(\.\d\+\)\=\>"
+syn match lftpNumber contained display '\<\d\+\(\.\d\+\)\=\>'
-" booleans and other things
-syn keyword lftpBoolean contained yes no on off true false
+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 lftpInterval contained infinity inf never forever
+syn match lftpInterval contained '\<\(\d\+\(\.\d\+\)\=[dhms]\)\+\>'
-" 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
+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
-" 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
" 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
-
-if version < 600
- syntax clear
-elseif exists("b:current_syntax")
+" Language: libao.conf(5) configuration file
+" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
+" Latest Revision: 2005-06-29
+
+if exists("b:current_syntax")
finish
endif
-" Todo
-syn keyword libaoTodo contained TODO FIXME XXX NOTE
-
-" Comments
-syn region libaoComment matchgroup=libaoComment start='^\s*#' end='$' contains=libaoTodo
-
-" Keywords
-syn keyword libaoKeyword default_driver
-
-" 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
-
- HiLink libaoTodo Todo
- HiLink libaoComment Comment
- HiLink libaoKeyword Keyword
-
- delcommand HiLink
- delcommand HiDef
-endif
+let s:cpo_save = &cpo
+set cpo&vim
+
+syn keyword libaoTodo contained TODO FIXME XXX NOTE
+
+syn region libaoComment matchgroup=libaoComment start='^\s*#' end='$'
+ \ contains=libaoTodo,@Spell
+
+syn keyword libaoKeyword default_driver
+
+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
--- /dev/null
+" 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
--- /dev/null
+" 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
--- /dev/null
+" 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
" 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
+let s:cpo_save = &cpo
+set cpo&vim
-" keywords and similar
-syn match modconfBegin "^" skipwhite nextgroup=modconfCommand,modconfComment
+syn keyword modconfTodo FIXME TODO XXX NOTE
-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 region modconfComment start='#' skip='\\$' end='$'
+ \ contains=modconfTodo,@Spell
+syn keyword modconfConditional if else elseif endif
-" expressions and similay
-syn match modconfOp contained "\s-[fnk]\>"
-syn region modconfPath contained start="\(=\@=\)\=/" skip="\\$" end="\\\@!\_s"
-syn match modconfModOpt contained "\<\w\+=\@="
+syn keyword modconfPreProc alias define include keep prune
+ \ post-install post-remove pre-install
+ \ pre-remove persistdir
-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 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
" 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
-
-" 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
+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
- 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
" 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
-
-if version < 600
- syntax clear
-elseif exists("b:current_syntax")
+" Language: netrc(5) configuration file
+" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
+" Latest Revision: 2005-06-27
+
+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='^$'
-
-" 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
-
-" Special
-syn keyword netrcSpecial contained anonymous
-syn match netrcInit contained '\<init$' nextgroup=netrcMacro skipwhite skipnl
+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='^$'
+
+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
+
+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
--- /dev/null
+" 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
" 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
-syn case ignore
+setlocal iskeyword=@,48-57,_,-
-" Todo
-syn keyword pinfoTodo contained FIXME TODO XXX NOTE
+syn case ignore
-" Comments
-syn region pinfoComment start='^#' end='$' contains=pinfoTodo
+syn keyword pinfoTodo contained FIXME TODO XXX NOTE
-" 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 region pinfoComment start='^#' end='$' contains=pinfoTodo,@Spell
-" 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 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
-" 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 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
-" 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\+\>'
+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
-" Constants
-syn keyword pinfoConstants TRUE FALSE YES NO
+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
-" 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 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\+\>'
- 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 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
" 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
-
-
-if version < 600
- syntax clear
-elseif exists("b:current_syntax")
+" 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 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,+,-,_
-" comments
-syn region quakeComment display oneline start="//" end="$" end=";" keepend contains=quakeTodo
+syn keyword quakeTodo contained TODO FIXME XXX NOTE
-" todo
-syn keyword quakeTodo contained TODO FIXME XXX NOTE
+syn region quakeComment display oneline start='//' end='$' end=';'
+ \ keepend contains=quakeTodo,@Spell
-" string (can contain numbers (which should be hilighted as such)
-syn region quakeString display oneline start=+"+ skip=+\\"+ end=+"\|$+ contains=quakeNumbers,@quakeCommands
+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
-" 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 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
+
+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
+ 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
+
if exists("quake_is_quake2") || exists("quake_is_quake3")
-syn keyword quake23Command imagelist modellist path z_stats
+ 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]\)\>"
-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
+ 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
-" vim: set sts=2 sw=2:
+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
--- /dev/null
+" 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
" 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,-
-" comments
-syn region readlineComment display oneline matchgroup=readlineComment start="^\s*#" end="$" contains=readlineTodo
+syn keyword readlineTodo contained TODO FIXME XXX NOTE
-" 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}\)+
+syn match readlineKeysTwo contained display
+ \ +\\\([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 readlineKeymaps contained display
+ \ 'emacs\(-standard\|-meta\|-ctlx\)\='
+syn match readlineKeymaps contained display
+ \ 'vi\(-move\|-command\|-insert\)\='
-" bell styles
-syn keyword readlineBellStyles contained audible visible none
+syn keyword readlineBellStyles contained audible visible none
-" numbers
-syn match readlineNumber contained "\<\d\+\>"
+syn match readlineNumber contained display '\<\d\+\>'
-" booleans
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 region readlineConditional display oneline transparent matchgroup=readlineConditional start="^\s*$if" end="$" contains=readlineIfOps,readlineKeymaps
-syn match readlineConditional "^\s*$\(else\|endif\)\>"
-
-" include
-syn match readlineInclude "^\s*$include\>"
-
-" settings
-
-syn region readlineSet display oneline transparent matchgroup=readlineKeyword start="^\s*set\>" end="$"me=e-1 contains=readlineNumber,readlineBoolean,readlineKeymaps,readlineBellStyles,readlineSettings
+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 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
+
+syn region readlineBinding display oneline transparent
+ \ matchgroup=readlineKeyword start=':' end='$'
+ \ contains=readlineKeys,readlineFunctions
+
+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
" 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
-
-if version < 600
- syntax clear
-elseif exists("b:current_syntax")
+" Language: Relax NG compact syntax
+" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
+" Latest Revision: 2005-06-27
+
+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
-
-" Todo
-syn keyword rncTodo contained TODO FIXME XXX NOTE
-
-" Comments
-syn region rncComment matchgroup=rncComment start='^\s*#' end='$' contains=rncTodo
-
-" Operators
-syn match rncOperator '[-|,&+?*~]'
-syn match rncOperator '\%(|&\)\=='
-syn match rncOperator '>>'
-
-" Namespaces
-syn match rncNamespace '\<\k\+:'
-
-" Quoted Identifier
-syn match rncQuoted '\\\k\+\>'
-
-" Special Characters
-syn match rncSpecial '\\x{\x\+}'
-
-" Annotations
-syn region Annotation 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 '[{},()]'
-
-" 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
-
-" Identifiers
-syn match rncIdentifier '\k\+\_s*\%(=\|&=\||=\)\@=' nextgroup=rncOperator
-syn keyword rncKeyword nextgroup=rncIdName skipwhite skipempty element attribute
-syn match rncIdentifier contained '\k\+'
-
-" 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
-
- 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
+let s:cpo_save = &cpo
+set cpo&vim
+
+setlocal iskeyword=@,48-57,_,-,.
+
+syn keyword rncTodo contained TODO FIXME XXX NOTE
+
+syn region rncComment matchgroup=rncComment start='^\s*#' end='$'
+ \ contains=rncTodo,@Spell
+
+syn match rncOperator display '[-|,&+?*~]'
+syn match rncOperator display '\%(|&\)\=='
+syn match rncOperator display '>>'
+
+syn match rncNamespace display '\<\k\+:'
+
+syn match rncQuoted display '\\\k\+\>'
+
+syn match rncSpecial display '\\x{\x\+}'
+
+syn region rncAnnotation transparent start='\[' end='\]'
+ \ contains=ALLBUT,rncComment,rncTodo
+
+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=+'''+
+
+syn match rncDelimiter display '[{},()]'
+
+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 rncIdentifier display '\k\+\_s*\%(=\|&=\||=\)\@='
+ \ nextgroup=rncOperator
+syn keyword rncKeyword element attribute
+ \ nextgroup=rncIdName skipwhite skipempty
+syn match rncIdName contained '\k\+'
+
+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
" 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
-
-if version < 600
- syntax clear
-elseif exists("b:current_syntax")
+" Language: reStructuredText documentation format
+" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
+" Latest Revision: 2005-06-29
+
+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 region rstComment matchgroup=rstComment
+ \ start='^\.\.\%( \%([a-z0-9_.-]\+::\)\@!\|$\)'
+ \ end='^\s\@!' contains=rstTodo
-syn cluster rstCruft contains=rstFootnoteLabel,rstCitationLabel,rstSubstitutionLabel,rstInline,rstHyperlinks,rstInternalTarget
+syn cluster rstCruft contains=rstFootnoteLabel,rstCitationLabel,
+ \ rstSubstitutionLabel,rstInline,
+ \ rstHyperlinks,rstInternalTarget
-" 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 region rstBlock matchgroup=rstDelimiter
+ \ start='::$' skip='^$' end='^\s\@!'
+syn region rstDoctestBlock matchgroup=rstDelimiter
+ \ start='^>>>\s' end='^$'
-" tables
" 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_.-]\+\)\]_"
-
-" citations
-syn region rstCitation matchgroup=rstDirective start="^\.\. \[[a-z0-9_.-]\+\]\s" end="^\s\@!" contains=@rstCruft
-syn match rstCitationLabel "\[[a-z0-9_.-]\+\]_"
-
-" directives
-syn region rstDirectiveBody matchgroup=rstDirective start="^\.\. [a-z0-9_.-]\+::" end="^\s\@!"
-
-" 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_.-]|"
-
-" inline markup
-syn match rstInline "\*\{1,2}\S\%([^*]*\S\)\=\*\{1,2}"
-syn match rstInline "`\{1,2}\S\%([^`]*\S\)\=`\{1,2}"
-
-" hyperlinks
-syn region rstHyperlinks matchgroup=RstDirective start="^\.\. _[a-z0-9_. -]\+:\s" end="^\s\@!" contains=@rstCruft
-
-syn match rstHyperlinksLabel "`\S\%([^`]*\S\)\=`__\=\>"
-syn match rstHyperlinksLabel "\w\+__\=\>"
-
-" internal targets
-syn match rstInternalTarget "_`\S\%([^`]*\S\)\=`"
-
-" lists
-syn match rstListItem "^:\%(\w\+\s*\)\+:"
-syn match rstListItem "^\s*[-*+]\s\+"
+" 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*\)\+$'
+
+syn region rstFootnote matchgroup=rstDirective
+ \ start='^\.\. \[\%([#*]\|[0-9]\+\|#[a-z0-9_.-]\+\)\]\s'
+ \ end='^\s\@!' contains=@rstCruft
+syn match rstFootnoteLabel '\[\%([#*]\|[0-9]\+\|#[a-z0-9_.-]\+\)\]_'
+
+syn region rstCitation matchgroup=rstDirective
+ \ start='^\.\. \[[a-z0-9_.-]\+\]\s'
+ \ end='^\s\@!' contains=@rstCruft
+syn match rstCitationLabel '\[[a-z0-9_.-]\+\]_'
+
+syn region rstDirectiveBody matchgroup=rstDirective
+ \ start='^\.\. [a-z0-9_.-]\+::'
+ \ end='^\s\@!'
+
+syn region rstSubstitution matchgroup=rstDirective
+ \ start='^\.\. |[a-z0-9_.-]|\s[a-z0-9_.-]\+::\s'
+ \ end='^\s\@!' contains=@rstCruft
+syn match rstSubstitutionLbl '|[a-z0-9_.-]|'
+
+syn match rstInline '\*\{1,2}\S\%([^*]*\S\)\=\*\{1,2}'
+syn match rstInline '`\{1,2}\S\%([^`]*\S\)\=`\{1,2}'
+
+syn region rstHyperlinks matchgroup=RstDirective
+ \ start='^\.\. _[a-z0-9_. -]\+:\s'
+ \ end='^\s\@!' contains=@rstCruft
+
+syn match rstHyperlinksLabel '`\S\%([^`]*\S\)\=`__\=\>'
+syn match rstHyperlinksLabel '\w\+__\=\>'
+
+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
" 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*}\)'
-" specials
-syn match screenSpecials contained "%\([%aAdDhlmMstuwWyY?:{]\|[0-9]*n\|0?cC\)"
+syn keyword screenBoolean on off
-" 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 match screenNumbers display '\<\d\+\>'
-if exists("screen_minlines")
- let b:screen_minlines = screen_minlines
-else
- let b:screen_minlines = 10
-endif
-exec "syn sync minlines=" . b:screen_minlines
+syn match screenSpecials contained
+ \ '%\([%aAdDhlmMstuwWyY?:{]\|[0-9]*n\|0?cC\)'
-" 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
+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
- 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
" 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
-" Comments
-syn region sieveComment matchgroup=sieveComment start='/\*' end='\*/' contains=sieveTodo
-syn region sieveComment matchgroup=sieveComment start='#' end='$' contains=sieveTodo
+syn keyword sieveTodo contained TODO FIXME XXX NOTE
+
+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
-
- 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
+syn case match
- 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
" 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
-
-if version < 600
- syntax clear
-elseif exists("b:current_syntax")
+" Language: sudoers(5) configuration files
+" 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
+
" 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 cluster sudoersCmndSpecList contains=sudoersUserRunasBegin,sudoersPASSWD,@sudoersCmndInSpec
-
-" Todo
-syn keyword sudoersTodo contained TODO FIXME XXX NOTE
-
-" Comments
-syn region sudoersComment matchgroup=sudoersComment start='#' end='$' contains=sudoersTodo
-
-" 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
-
-" 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 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 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 sudoersSpecEquals contained '=' nextgroup=@sudoersCmndSpecList skipwhite
+
+syn cluster sudoersCmndSpecList contains=sudoersUserRunasBegin,sudoersPASSWD,@sudoersCmndInSpec
+
+syn keyword sudoersTodo contained TODO FIXME XXX NOTE
+
+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
+
+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 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 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
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
-
-" 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
-
- 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
+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
+
+syn match sudoersPASSWD contained '\%(NO\)\=PASSWD:' nextgroup=@sudoersCmndInSpec skipwhite
+
+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
--- /dev/null
+" 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
" 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
-" special keys
-syn match terminfoSpecialChar "\\\(\o\{3}\|[Eenlrtbfs^\,:0]\)"
-syn match terminfoSpecialChar "\^\a"
+syn match terminfoNumbers '\<[0-9]\+\>'
-" delays
-syn match terminfoDelay "$<[0-9]\+>"
+syn match terminfoSpecialChar '\\\(\o\{3}\|[Eenlrtbfs^\,:0]\)'
+syn match terminfoSpecialChar '\^\a'
-" 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 match terminfoDelay '$<[0-9]\+>'
-" 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 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
-" 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 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
-" 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 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]\)\>'
-" 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
+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]\)'
- 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
--- /dev/null
+" 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
--- /dev/null
+" 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
" 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
+
+syn region xmodmapComment display oneline matchgroup=xmodmapComment
+ \ start=/^!/ end=/$/ contains=xmodmapTodo,@Spell
-" numbers
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
" 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
-
-if version < 600
- syntax clear
-elseif exists("b:current_syntax")
+" Language: YAML (YAML Ain't Markup Language)
+" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
+" Latest Revision: 2005-06-27
+
+if exists("b:current_syntax")
finish
endif
-" Todo
-syn keyword yamlTodo contained TODO FIXME XXX NOTE
+let s:cpo_save = &cpo
+set cpo&vim
+
+syn keyword yamlTodo contained TODO FIXME XXX NOTE
-" Comments (4.2.2)
-syn region yamlComment matchgroup=yamlComment start='\%(^\|\s\)#' end='$' contains=yamlTodo
+syn region yamlComment matchgroup=yamlComment start='\%(^\|\s\)#'
+ \ end='$' contains=yamlTodo,@Spell
-" Node Properties (4.3.4)
-syn match yamlNodeProperty '!\%(![^\\^% ]\+\|[^!][^:/ ]*\)'
+syn match yamlNodeProperty '!\%(![^\\^% ]\+\|[^!][^:/ ]*\)'
-" Anchors (4.3.6)
-syn match yamlAnchor '&.\+'
+syn match yamlAnchor '&.\+'
-" Aliases (4.3.7)
-syn match yamlAlias '\*.\+'
+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 +''+
+syn match yamlEscape display '\\\%(\r\n\|[\r\n]\)'
+syn match yamlSingleEscape contained display +''+
-" 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)'
-
-" 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
-
-" 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\)\='
-
-" Documents (4.3.1)
-syn region yamlDocumentHeader start='---' end='$' contains=yamlDirective
-syn match yamlDocumentEnd '\.\.\.'
-
-" Directives (4.3.2)
-syn match yamlDirective contained '%[^:]\+:.\+'
-
-" 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
-
- 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
+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)'
+
+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
+
+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 region yamlDocumentHeader start='---' end='$' contains=yamlDirective
+syn match yamlDocumentEnd '\.\.\.'
+
+syn match yamlDirective contained '%[^:]\+:.\+'
+
+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
== (size_t)-1 && ICONV_ERRNO != ICONV_EINVAL)
|| from_size > CONV_RESTLEN)
{
- if (!keep_dest_enc)
+ if (!keep_dest_enc && can_retry)
goto rewind_retry;
+ if (!keep_dest_enc)
+ conv_error = TRUE;
+
/* Ignore a byte and try again. */
++fromp;
--from_size;
conv_error = TRUE;
else
# endif
+ if (illegal_byte == 0) /* Keep the first linenr */
{
char_u *s;
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;
* 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
*
{
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.
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 */
#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'.
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. */
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 */
#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 */
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));
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,
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)
salitem_T *smp;
int rr;
short *first;
+ salfirst_T *sfirst;
idx_T idx;
int c = 0;
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)
+ if (lp->sl_sofo)
{
- smp = &((salitem_T *)gap->ga_data)[gap->ga_len];
- ccnt = getc(fd); /* <salfromlen> */
- if (ccnt < 0)
+ /*
+ * SOFOFROM and SOFOTO items come in one <salfrom> and <salto>
+ */
+ if (cnt != 1)
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 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;
+ 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); /* <saltolen> */
+ ccnt = (getc(fd) << 8) + getc(fd); /* <saltolen> */
if (ccnt < 0)
{
- vim_free(smp->sm_lead);
+ vim_free(bp);
goto formerr;
}
- if ((p = alloc(ccnt + 1)) == NULL)
+ if ((fol = alloc(ccnt + 1)) == NULL)
{
- vim_free(smp->sm_lead);
+ vim_free(bp);
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;
- 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)
+ 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)
{
- 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);
+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
- }
-
- /* 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];
+ {
+ /* mapping bytes to bytes is done in sl_sal_first[] */
+ if (cnt != ccnt)
+ {
#ifdef FEAT_MBYTE
- if (has_mbyte)
- /* Use the lowest byte of the first character. */
- c = *smp->sm_lead_w & 0xff;
- else
+sofoerr:
#endif
- c = *smp->sm_lead;
- if (first[c] == -1)
+ 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)
{
- first[c] = i;
+ 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_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);
+ 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;
+
#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;
+ }
+#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;
- ++smp;
- --j;
- tsal = smp[j];
- mch_memmove(smp + 1, smp, sizeof(salitem_T) * j);
- *smp = tsal;
- }
- }
+
+ 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
+ }
}
}
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 */
int do_sal;
int do_map;
int do_midword;
+ int do_sofo;
int found_map = FALSE;
hashitem_T *hi;
/* 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.
*/
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
: 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)
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);
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
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)
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> */
}
}
+ /* 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,
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)
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. */
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;
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;
* "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",
switch (sp->ts_state)
{
case STATE_START:
+ case STATE_NOPREFIX:
/*
* Start of node: Deal with NUL bytes, which means
* tword[] may end here.
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. */
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.
/* 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();
}
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)
{
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)
{
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);
}
{
char_u salword[MAXWLEN];
char_u tword[MAXWLEN];
- char_u tfword[MAXWLEN];
char_u tsalword[MAXWLEN];
idx_T arridx[MAXWLEN];
int curi[MAXWLEN];
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.
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. */
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)
{
char_u *word;
{
langp_T *lp;
- char_u fword[MAXWLEN];
char_u sound[MAXWLEN];
if (curwin->w_p_spell && *curbuf->b_p_spl != NUL)
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);
}
* 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;
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))
{
*t = NUL;
}
else
- STRCPY(word, inword);
+ STRCPY(word, s);
smp = (salitem_T *)slang->sl_sal.ga_data;
}
}
- 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)
}
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)
* 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;
}
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.
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)
{
}
}
- 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)
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)
{
}
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)
*** 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 ----
+ 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 ----
*** 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 =
! 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]
REP ubi ibu
! REP croc krok
REP ten than
---- 263,265 ----
+--- 266,268 ----
REP ubi ibu
! REP croc krok
REP ten than
REP capucino cappuccino
! REP celcius Celsius
REP kado cadeau
---- 298,300 ----
+--- 301,303 ----
REP capucino cappuccino
! REP celcius Celsius
REP kado cadeau
REP kommittee comité
! REP kwis quiz
REP kwissen quizzen
---- 304,310 ----
+--- 307,313 ----
REP committee comité
! REP komitee comité
! REP komittee comité
REP copy kopij
! REP pitoresque pittoreske
REP reikweite reikwijdte
---- 312,314 ----
+--- 315,317 ----
REP copy kopij
! REP pitoresque pittoreske
REP reikweite reikwijdte
! REP kontekst context
! REP korrekt correct
REP kritikus criticus
---- 324,329 ----
+--- 327,332 ----
REP klup club
! REP wiskid whizzkid
! REP kontakt contact
REP kritikus criticus
***************
*** 333 ****
---- 343,466 ----
+--- 346,359 ----
REP aflassen afgelasten
+ REP svp s.v.p.
+ REP zoz z.o.z.
+ 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
***************
#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 "