File manager - Edit - /home/ferretapmx/public_html/vim.zip
Back
PK !L�\�F�� vimfiles/template.specnu �[��� Name: Version: Release: 1%{?dist} Summary: Group: License: URL: Source0: BuildRequires: Requires: %description %prep %setup -q %build %configure make %{?_smp_mflags} %install make install DESTDIR=%{buildroot} %files %doc %changelog PK !L�\ش�� � vim74/vimrc_example.vimnu �[��� " An example for a vimrc file. " " Maintainer: Bram Moolenaar <Bram@vim.org> " Last change: 2014 Nov 05 " " To use it, copy it to " for Unix and OS/2: ~/.vimrc " for Amiga: s:.vimrc " for MS-DOS and Win32: $VIM\_vimrc " for OpenVMS: sys$login:.vimrc " When started as "evim", evim.vim will already have done these settings. if v:progname =~? "evim" finish endif " Use Vim settings, rather than Vi settings (much better!). " This must be first, because it changes other options as a side effect. set nocompatible " allow backspacing over everything in insert mode set backspace=indent,eol,start if has("vms") set nobackup " do not keep a backup file, use versions instead else set backup " keep a backup file (restore to previous version) set undofile " keep an undo file (undo changes after closing) endif set history=50 " keep 50 lines of command line history set ruler " show the cursor position all the time set showcmd " display incomplete commands set incsearch " do incremental searching " For Win32 GUI: remove 't' flag from 'guioptions': no tearoff menu entries " let &guioptions = substitute(&guioptions, "t", "", "g") " Don't use Ex mode, use Q for formatting map Q gq " CTRL-U in insert mode deletes a lot. Use CTRL-G u to first break undo, " so that you can undo CTRL-U after inserting a line break. inoremap <C-U> <C-G>u<C-U> " In many terminal emulators the mouse works just fine, thus enable it. if has('mouse') set mouse=a endif " Switch syntax highlighting on, when the terminal has colors " Also switch on highlighting the last used search pattern. if &t_Co > 2 || has("gui_running") syntax on set hlsearch endif " Only do this part when compiled with support for autocommands. if has("autocmd") " Enable file type detection. " Use the default filetype settings, so that mail gets 'tw' set to 72, " 'cindent' is on in C files, etc. " Also load indent files, to automatically do language-dependent indenting. filetype plugin indent on " Put these in an autocmd group, so that we can delete them easily. augroup vimrcEx au! " For all text files set 'textwidth' to 78 characters. autocmd FileType text setlocal textwidth=78 " When editing a file, always jump to the last known cursor position. " Don't do it when the position is invalid or when inside an event handler " (happens when dropping a file on gvim). " Also don't do it when the mark is in the first line, that is the default " position when opening a file. autocmd BufReadPost * \ if line("'\"") > 1 && line("'\"") <= line("$") | \ exe "normal! g`\"" | \ endif augroup END else set autoindent " always set autoindenting on endif " has("autocmd") " Convenient command to see the difference between the current buffer and the " file it was loaded from, thus the changes you made. " Only define it when not defined already. if !exists(":DiffOrig") command DiffOrig vert new | set bt=nofile | r ++edit # | 0d_ | diffthis \ | wincmd p | diffthis endif if has('langmap') && exists('+langnoremap') " Prevent that the langmap option applies to characters that result from a " mapping. If unset (default), this may break plugins (but it's backward " compatible). set langnoremap endif PK !L�\붵� � vim74/bugreport.vimnu �[��� :" Use this script to create the file "bugreport.txt", which contains :" information about the environment of a possible bug in Vim. :" :" Maintainer: Bram Moolenaar <Bram@vim.org> :" Last change: 2005 Jun 12 :" :" To use inside Vim: :" :so $VIMRUNTIME/bugreport.vim :" Or, from the command line: :" vim -s $VIMRUNTIME/bugreport.vim :" :" The "if 1" lines are to avoid error messages when expression evaluation is :" not compiled in. :" :if 1 : let more_save = &more :endif :set nomore :if has("unix") : !echo "uname -a" >bugreport.txt : !uname -a >>bugreport.txt :endif :redir >>bugreport.txt :version :if 1 : func <SID>CheckDir(n) : if isdirectory(a:n) : echo 'directory "' . a:n . '" exists' : else : echo 'directory "' . a:n . '" does NOT exist' : endif : endfun : func <SID>CheckFile(n) : if filereadable(a:n) : echo '"' . a:n . '" is readable' : else : echo '"' . a:n . '" is NOT readable' : endif : endfun : echo "--- Directories and Files ---" : echo '$VIM = "' . $VIM . '"' : call <SID>CheckDir($VIM) : echo '$VIMRUNTIME = "' . $VIMRUNTIME . '"' : call <SID>CheckDir($VIMRUNTIME) : call <SID>CheckFile(&helpfile) : call <SID>CheckFile(fnamemodify(&helpfile, ":h") . "/tags") : call <SID>CheckFile($VIMRUNTIME . "/menu.vim") : call <SID>CheckFile($VIMRUNTIME . "/filetype.vim") : call <SID>CheckFile($VIMRUNTIME . "/syntax/synload.vim") : delfun <SID>CheckDir : delfun <SID>CheckFile : echo "--- Scripts sourced ---" : scriptnames :endif :set all :set termcap :if has("autocmd") : au :endif :if 1 : echo "--- Normal/Visual mode mappings ---" :endif :map :if 1 : echo "--- Insert/Command-line mode mappings ---" :endif :map! :if 1 : echo "--- Abbreviations ---" :endif :ab :if 1 : echo "--- Highlighting ---" :endif :highlight :if 1 : echo "--- Variables ---" :endif :if 1 : let :endif :redir END :set more& :if 1 : let &more = more_save : unlet more_save :endif :e bugreport.txt PK !L�\���( �( vim74/scripts.vimnu �[��� " Vim support file to detect file types in scripts " " Maintainer: Bram Moolenaar <Bram@vim.org> " Last change: 2013 May 24 " This file is called by an autocommand for every file that has just been " loaded into a buffer. It checks if the type of file can be recognized by " the file contents. The autocommand is in $VIMRUNTIME/filetype.vim. " Only do the rest when the FileType autocommand has not been triggered yet. if did_filetype() finish endif " Load the user defined scripts file first " Only do this when the FileType autocommand has not been triggered yet if exists("myscriptsfile") && filereadable(expand(myscriptsfile)) execute "source " . myscriptsfile if did_filetype() finish endif endif " Line continuation is used here, remove 'C' from 'cpoptions' let s:cpo_save = &cpo set cpo&vim let s:line1 = getline(1) if s:line1 =~ "^#!" " A script that starts with "#!". " Check for a line like "#!/usr/bin/env VAR=val bash". Turn it into " "#!/usr/bin/bash" to make matching easier. if s:line1 =~ '^#!\s*\S*\<env\s' let s:line1 = substitute(s:line1, '\S\+=\S\+', '', 'g') let s:line1 = substitute(s:line1, '\<env\s\+', '', '') endif " Get the program name. " Only accept spaces in PC style paths: "#!c:/program files/perl [args]". " If the word env is used, use the first word after the space: " "#!/usr/bin/env perl [path/args]" " If there is no path use the first word: "#!perl [path/args]". " Otherwise get the last word after a slash: "#!/usr/bin/perl [path/args]". if s:line1 =~ '^#!\s*\a:[/\\]' let s:name = substitute(s:line1, '^#!.*[/\\]\(\i\+\).*', '\1', '') elseif s:line1 =~ '^#!.*\<env\>' let s:name = substitute(s:line1, '^#!.*\<env\>\s\+\(\i\+\).*', '\1', '') elseif s:line1 =~ '^#!\s*[^/\\ ]*\>\([^/\\]\|$\)' let s:name = substitute(s:line1, '^#!\s*\([^/\\ ]*\>\).*', '\1', '') else let s:name = substitute(s:line1, '^#!\s*\S*[/\\]\(\i\+\).*', '\1', '') endif " tcl scripts may have #!/bin/sh in the first line and "exec wish" in the " third line. Suggested by Steven Atkinson. if getline(3) =~ '^exec wish' let s:name = 'wish' endif " Bourne-like shell scripts: bash bash2 ksh ksh93 sh if s:name =~ '^\(bash\d*\|\|ksh\d*\|sh\)\>' call SetFileTypeSH(s:line1) " defined in filetype.vim " csh scripts elseif s:name =~ '^csh\>' if exists("g:filetype_csh") call SetFileTypeShell(g:filetype_csh) else call SetFileTypeShell("csh") endif " tcsh scripts elseif s:name =~ '^tcsh\>' call SetFileTypeShell("tcsh") " Z shell scripts elseif s:name =~ '^zsh\>' set ft=zsh " TCL scripts elseif s:name =~ '^\(tclsh\|wish\|expectk\|itclsh\|itkwish\)\>' set ft=tcl " Expect scripts elseif s:name =~ '^expect\>' set ft=expect " Gnuplot scripts elseif s:name =~ '^gnuplot\>' set ft=gnuplot " Makefiles elseif s:name =~ 'make\>' set ft=make " Lua elseif s:name =~ 'lua' set ft=lua " Perl 6 elseif s:name =~ 'perl6' set ft=perl6 " Perl elseif s:name =~ 'perl' set ft=perl " PHP elseif s:name =~ 'php' set ft=php " Python elseif s:name =~ 'python' set ft=python " Groovy elseif s:name =~ '^groovy\>' set ft=groovy " Ruby elseif s:name =~ 'ruby' set ft=ruby " BC calculator elseif s:name =~ '^bc\>' set ft=bc " sed elseif s:name =~ 'sed\>' set ft=sed " OCaml-scripts elseif s:name =~ 'ocaml' set ft=ocaml " Awk scripts elseif s:name =~ 'awk\>' set ft=awk " Website MetaLanguage elseif s:name =~ 'wml' set ft=wml " Scheme scripts elseif s:name =~ 'scheme' set ft=scheme " CFEngine scripts elseif s:name =~ 'cfengine' set ft=cfengine " Erlang scripts elseif s:name =~ 'escript' set ft=erlang endif unlet s:name else " File does not start with "#!". let s:line2 = getline(2) let s:line3 = getline(3) let s:line4 = getline(4) let s:line5 = getline(5) " Bourne-like shell scripts: sh ksh bash bash2 if s:line1 =~ '^:$' call SetFileTypeSH(s:line1) " defined in filetype.vim " Z shell scripts elseif s:line1 =~ '^#compdef\>' || s:line1 =~ '^#autoload\>' || \ "\n".s:line1."\n".s:line2."\n".s:line3."\n".s:line4."\n".s:line5 =~ '\n\s*emulate\s\+\%(-[LR]\s\+\)\=[ckz]\=sh\>' set ft=zsh " ELM Mail files elseif s:line1 =~ '^From \([a-zA-Z][a-zA-Z_0-9\.=-]*\(@[^ ]*\)\=\|-\) .* \(19\|20\)\d\d$' set ft=mail " Mason elseif s:line1 =~ '^<[%&].*>' set ft=mason " Vim scripts (must have '" vim' as the first line to trigger this) elseif s:line1 =~ '^" *[vV]im$' set ft=vim " MOO elseif s:line1 =~ '^\*\* LambdaMOO Database, Format Version \%([1-3]\>\)\@!\d\+ \*\*$' set ft=moo " Diff file: " - "diff" in first line (context diff) " - "Only in " in first line " - "--- " in first line and "+++ " in second line (unified diff). " - "*** " in first line and "--- " in second line (context diff). " - "# It was generated by makepatch " in the second line (makepatch diff). " - "Index: <filename>" in the first line (CVS file) " - "=== ", line of "=", "---", "+++ " (SVK diff) " - "=== ", "--- ", "+++ " (bzr diff, common case) " - "=== (removed|added|renamed|modified)" (bzr diff, alternative) " - "# HG changeset patch" in first line (Mercurial export format) elseif s:line1 =~ '^\(diff\>\|Only in \|\d\+\(,\d\+\)\=[cda]\d\+\>\|# It was generated by makepatch \|Index:\s\+\f\+\r\=$\|===== \f\+ \d\+\.\d\+ vs edited\|==== //\f\+#\d\+\|# HG changeset patch\)' \ || (s:line1 =~ '^--- ' && s:line2 =~ '^+++ ') \ || (s:line1 =~ '^\* looking for ' && s:line2 =~ '^\* comparing to ') \ || (s:line1 =~ '^\*\*\* ' && s:line2 =~ '^--- ') \ || (s:line1 =~ '^=== ' && ((s:line2 =~ '^=\{66\}' && s:line3 =~ '^--- ' && s:line4 =~ '^+++') || (s:line2 =~ '^--- ' && s:line3 =~ '^+++ '))) \ || (s:line1 =~ '^=== \(removed\|added\|renamed\|modified\)') set ft=diff " PostScript Files (must have %!PS as the first line, like a2ps output) elseif s:line1 =~ '^%![ \t]*PS' set ft=postscr " M4 scripts: Guess there is a line that starts with "dnl". elseif s:line1 =~ '^\s*dnl\>' \ || s:line2 =~ '^\s*dnl\>' \ || s:line3 =~ '^\s*dnl\>' \ || s:line4 =~ '^\s*dnl\>' \ || s:line5 =~ '^\s*dnl\>' set ft=m4 " AmigaDos scripts elseif $TERM == "amiga" \ && (s:line1 =~ "^;" || s:line1 =~ '^\.[bB][rR][aA]') set ft=amiga " SiCAD scripts (must have procn or procd as the first line to trigger this) elseif s:line1 =~? '^ *proc[nd] *$' set ft=sicad " Purify log files start with "**** Purify" elseif s:line1 =~ '^\*\*\*\* Purify' set ft=purifylog " XML elseif s:line1 =~ '<?\s*xml.*?>' set ft=xml " XHTML (e.g.: PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN") elseif s:line1 =~ '\<DTD\s\+XHTML\s' set ft=xhtml " HTML (e.g.: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN") elseif s:line1 =~? '\<DOCTYPE\s\+html\>' set ft=html " PDF elseif s:line1 =~ '^%PDF-' set ft=pdf " XXD output elseif s:line1 =~ '^\x\{7}: \x\{2} \=\x\{2} \=\x\{2} \=\x\{2} ' set ft=xxd " RCS/CVS log output elseif s:line1 =~ '^RCS file:' || s:line2 =~ '^RCS file:' set ft=rcslog " CVS commit elseif s:line2 =~ '^CVS:' || getline("$") =~ '^CVS: ' set ft=cvs " Prescribe elseif s:line1 =~ '^!R!' set ft=prescribe " Send-pr elseif s:line1 =~ '^SEND-PR:' set ft=sendpr " SNNS files elseif s:line1 =~ '^SNNS network definition file' set ft=snnsnet elseif s:line1 =~ '^SNNS pattern definition file' set ft=snnspat elseif s:line1 =~ '^SNNS result file' set ft=snnsres " Virata elseif s:line1 =~ '^%.\{-}[Vv]irata' \ || s:line2 =~ '^%.\{-}[Vv]irata' \ || s:line3 =~ '^%.\{-}[Vv]irata' \ || s:line4 =~ '^%.\{-}[Vv]irata' \ || s:line5 =~ '^%.\{-}[Vv]irata' set ft=virata " Strace elseif s:line1 =~ '^\(\[pid \d\+\] \)\=[0-9:.]* *execve(' || s:line1 =~ '^__libc_start_main' set ft=strace " VSE JCL elseif s:line1 =~ '^\* $$ JOB\>' || s:line1 =~ '^// *JOB\>' set ft=vsejcl " TAK and SINDA elseif s:line4 =~ 'K & K Associates' || s:line2 =~ 'TAK 2000' set ft=takout elseif s:line3 =~ 'S Y S T E M S I M P R O V E D ' set ft=sindaout elseif getline(6) =~ 'Run Date: ' set ft=takcmp elseif getline(9) =~ 'Node File 1' set ft=sindacmp " DNS zone files elseif s:line1.s:line2.s:line3.s:line4 =~ '^; <<>> DiG [0-9.]\+ <<>>\|BIND.*named\|$ORIGIN\|$TTL\|IN\s\+SOA' set ft=bindzone " BAAN elseif s:line1 =~ '|\*\{1,80}' && s:line2 =~ 'VRC ' \ || s:line2 =~ '|\*\{1,80}' && s:line3 =~ 'VRC ' set ft=baan " Valgrind elseif s:line1 =~ '^==\d\+== valgrind' || s:line3 =~ '^==\d\+== Using valgrind' set ft=valgrind " Renderman Interface Bytestream elseif s:line1 =~ '^##RenderMan' set ft=rib " Scheme scripts elseif s:line1 =~ 'exec\s\+\S*scheme' || s:line2 =~ 'exec\s\+\S*scheme' set ft=scheme " Git output elseif s:line1 =~ '^\(commit\|tree\|object\) \x\{40\}\>\|^tag \S\+$' set ft=git " Gprof (gnu profiler) elseif s:line1 == 'Flat profile:' \ && s:line2 == '' \ && s:line3 =~ '^Each sample counts as .* seconds.$' set ft=gprof " Erlang terms " (See also: http://www.gnu.org/software/emacs/manual/html_node/emacs/Choosing-Modes.html#Choosing-Modes) elseif s:line1 =~? '-\*-.*erlang.*-\*-' set ft=erlang " CVS diff else let s:lnum = 1 while getline(s:lnum) =~ "^? " && s:lnum < line("$") let s:lnum += 1 endwhile if getline(s:lnum) =~ '^Index:\s\+\f\+$' set ft=diff " locale input files: Formal Definitions of Cultural Conventions " filename must be like en_US, fr_FR@euro or en_US.UTF-8 elseif expand("%") =~ '\a\a_\a\a\($\|[.@]\)\|i18n$\|POSIX$\|translit_' let s:lnum = 1 while s:lnum < 100 && s:lnum < line("$") if getline(s:lnum) =~ '^LC_\(IDENTIFICATION\|CTYPE\|COLLATE\|MONETARY\|NUMERIC\|TIME\|MESSAGES\|PAPER\|TELEPHONE\|MEASUREMENT\|NAME\|ADDRESS\)$' setf fdcc break endif let s:lnum += 1 endwhile endif unlet s:lnum endif unlet s:line2 s:line3 s:line4 s:line5 endif " Restore 'cpoptions' let &cpo = s:cpo_save unlet s:cpo_save s:line1 PK !L�\U�� � vim74/indent.vimnu �[��� " Vim support file to switch on loading indent files for file types " " Maintainer: Bram Moolenaar <Bram@vim.org> " Last Change: 2008 Feb 22 if exists("did_indent_on") finish endif let did_indent_on = 1 augroup filetypeindent au FileType * call s:LoadIndent() func! s:LoadIndent() if exists("b:undo_indent") exe b:undo_indent unlet! b:undo_indent b:did_indent endif let s = expand("<amatch>") if s != "" if exists("b:did_indent") unlet b:did_indent endif " When there is a dot it is used to separate filetype names. Thus for " "aaa.bbb" load "indent/aaa.vim" and then "indent/bbb.vim". for name in split(s, '\.') exe 'runtime! indent/' . name . '.vim' endfor endif endfunc augroup END PK !L�\���� � vim74/syntax/cupl.vimnu �[��� " Vim syntax file " Language: CUPL " Maintainer: John Cook <johncook3@gmail.com> " Last Change: 2011 Dec 27 " For version 5.x: Clear all syntax items " For version 6.x: Quit when a syntax file was already loaded if version < 600 syntax clear elseif exists("b:current_syntax") finish endif let s:cpo_save = &cpo set cpo&vim " this language is oblivious to case. syn case ignore " A bunch of keywords syn keyword cuplHeader name partno date revision rev designer company nextgroup=cuplHeaderContents syn keyword cuplHeader assembly assy location device nextgroup=cuplHeaderContents syn keyword cuplTodo contained TODO XXX FIXME " cuplHeaderContents uses default highlighting except for numbers syn match cuplHeaderContents ".\+;"me=e-1 contains=cuplNumber contained " String contstants syn region cuplString start=+'+ end=+'+ syn region cuplString start=+"+ end=+"+ syn keyword cuplStatement append condition syn keyword cuplStatement default else syn keyword cuplStatement field fld format function fuse syn keyword cuplStatement group if jump loc syn keyword cuplStatement macro min node out syn keyword cuplStatement pin pinnode present table syn keyword cuplStatement sequence sequenced sequencejk sequencers sequencet syn keyword cuplFunction log2 log8 log16 log " Valid integer number formats (decimal, binary, octal, hex) syn match cuplNumber "\<[-+]\=[0-9]\+\>" syn match cuplNumber "'d'[0-9]\+\>" syn match cuplNumber "'b'[01x]\+\>" syn match cuplNumber "'o'[0-7x]\+\>" syn match cuplNumber "'h'[0-9a-fx]\+\>" " operators syn match cuplLogicalOperator "[!#&$]" syn match cuplArithmeticOperator "[-+*/%]" syn match cuplArithmeticOperator "\*\*" syn match cuplAssignmentOperator ":\==" syn match cuplEqualityOperator ":" syn match cuplTruthTableOperator "=>" " Signal extensions syn match cuplExtension "\.[as][pr]\>" syn match cuplExtension "\.oe\>" syn match cuplExtension "\.oemux\>" syn match cuplExtension "\.[dlsrjk]\>" syn match cuplExtension "\.ck\>" syn match cuplExtension "\.dq\>" syn match cuplExtension "\.ckmux\>" syn match cuplExtension "\.tec\>" syn match cuplExtension "\.cnt\>" syn match cuplRangeOperator "\.\." contained " match ranges like memadr:[0000..1FFF] " and highlight both the numbers and the .. operator syn match cuplNumberRange "\<\x\+\.\.\x\+\>" contains=cuplRangeOperator " match vectors of type [name3..0] (decimal numbers only) " but assign them no special highlighting except for the .. operator syn match cuplBitVector "\<\a\+\d\+\.\.\d\+\>" contains=cuplRangeOperator " other special characters syn match cuplSpecialChar "[\[\](){},;]" " directives " (define these after cuplOperator so $xxx overrides $) syn match cuplDirective "\$msg" syn match cuplDirective "\$macro" syn match cuplDirective "\$mend" syn match cuplDirective "\$repeat" syn match cuplDirective "\$repend" syn match cuplDirective "\$define" syn match cuplDirective "\$include" " multi-line comments syn region cuplComment start=+/\*+ end=+\*/+ contains=cuplNumber,cuplTodo syn sync minlines=1 " 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_cupl_syn_inits") if version < 508 let did_cupl_syn_inits = 1 command -nargs=+ HiLink hi link <args> else command -nargs=+ HiLink hi def link <args> endif " The default highlighting. HiLink cuplHeader cuplStatement HiLink cuplLogicalOperator cuplOperator HiLink cuplRangeOperator cuplOperator HiLink cuplArithmeticOperator cuplOperator HiLink cuplAssignmentOperator cuplOperator HiLink cuplEqualityOperator cuplOperator HiLink cuplTruthTableOperator cuplOperator HiLink cuplOperator cuplStatement HiLink cuplFunction cuplStatement HiLink cuplStatement Statement HiLink cuplNumberRange cuplNumber HiLink cuplNumber cuplString HiLink cuplString String HiLink cuplComment Comment HiLink cuplExtension cuplSpecial HiLink cuplSpecialChar cuplSpecial HiLink cuplSpecial Special HiLink cuplDirective PreProc HiLink cuplTodo Todo delcommand HiLink endif let b:current_syntax = "cupl" let &cpo = s:cpo_save unlet s:cpo_save " vim:ts=8 PK !L�\r���e e vim74/syntax/hitest.vimnu �[��� " Vim syntax file " Language: none; used to see highlighting " Maintainer: Ronald Schild <rs@scutum.de> " Last Change: 2001 Sep 02 " Version: 5.4n.1 " To see your current highlight settings, do " :so $VIMRUNTIME/syntax/hitest.vim " save global options and registers let s:hidden = &hidden let s:lazyredraw = &lazyredraw let s:more = &more let s:report = &report let s:shortmess = &shortmess let s:wrapscan = &wrapscan let s:register_a = @a let s:register_se = @/ " set global options set hidden lazyredraw nomore report=99999 shortmess=aoOstTW wrapscan " print current highlight settings into register a redir @a highlight redir END " Open a new window if the current one isn't empty if line("$") != 1 || getline(1) != "" new endif " edit temporary file edit Highlight\ test " set local options setlocal autoindent noexpandtab formatoptions=t shiftwidth=16 noswapfile tabstop=16 let &textwidth=&columns " insert highlight settings % delete put a " remove the colored xxx items g/xxx /s///e " remove color settings (not needed here) global! /links to/ substitute /\s.*$//e " move linked groups to the end of file global /links to/ move $ " move linked group names to the matching preferred groups % substitute /^\(\w\+\)\s*\(links to\)\s*\(\w\+\)$/\3\t\2 \1/e global /links to/ normal mz3ElD0#$p'zdd " delete empty lines global /^ *$/ delete " precede syntax command % substitute /^[^ ]*/syn keyword &\t&/ " execute syntax commands syntax clear % yank a @a " remove syntax commands again % substitute /^syn keyword // " pretty formatting global /^/ exe "normal Wi\<CR>\t\eAA\ex" global /^\S/ join " find out first syntax highlighting let b:various = &highlight.',:Normal,:Cursor,:,' let b:i = 1 while b:various =~ ':'.substitute(getline(b:i), '\s.*$', ',', '') let b:i = b:i + 1 if b:i > line("$") | break | endif endwhile " insert headlines call append(0, "Highlighting groups for various occasions") call append(1, "-----------------------------------------") if b:i < line("$")-1 let b:synhead = "Syntax highlighting groups" if exists("hitest_filetypes") redir @a let redir END let @a = substitute(@a, 'did_\(\w\+\)_syn\w*_inits\s*#1', ', \1', 'g') let @a = substitute(@a, "\n\\w[^\n]*", '', 'g') let @a = substitute(@a, "\n", '', 'g') let @a = substitute(@a, '^,', '', 'g') if @a != "" let b:synhead = b:synhead." - filetype" if @a =~ ',' let b:synhead = b:synhead."s" endif let b:synhead = b:synhead.":".@a endif endif call append(b:i+1, "") call append(b:i+2, b:synhead) call append(b:i+3, substitute(b:synhead, '.', '-', 'g')) endif " remove 'hls' highlighting nohlsearch normal 0 " add autocommands to remove temporary file from buffer list aug highlighttest au! au BufUnload Highlight\ test if expand("<afile>") == "Highlight test" au BufUnload Highlight\ test bdelete! Highlight\ test au BufUnload Highlight\ test endif au VimLeavePre * if bufexists("Highlight test") au VimLeavePre * bdelete! Highlight\ test au VimLeavePre * endif aug END " we don't want to save this temporary file set nomodified " the following trick avoids the "Press RETURN ..." prompt 0 append . " restore global options and registers let &hidden = s:hidden let &lazyredraw = s:lazyredraw let &more = s:more let &report = s:report let &shortmess = s:shortmess let &wrapscan = s:wrapscan let @a = s:register_a " restore last search pattern call histdel("search", -1) let @/ = s:register_se " remove variables unlet s:hidden s:lazyredraw s:more s:report s:shortmess unlet s:wrapscan s:register_a s:register_se " vim: ts=8 PK !L�\h܂ϳ< �< vim74/syntax/muttrc.vimnu �[��� " Vim syntax file " Language: Mutt setup files " Original: Preben 'Peppe' Guldberg <peppe-vim@wielders.org> " Maintainer: Kyle Wheeler <kyle-muttrc.vim@memoryhole.net> " Last Change: 2 Feb 2012 " This file covers mutt version 1.5.21 (and most of the mercurial tip) " Included are also a few features from 1.4.2.1 " For version 5.x: Clear all syntax items " For version 6.x: Quit when a syntax file was already loaded if version < 600 syntax clear elseif exists("b:current_syntax") finish endif let s:cpo_save = &cpo set cpo&vim " Set the keyword characters if version < 600 set isk=@,48-57,_,- else setlocal isk=@,48-57,_,- endif " handling optional variables if !exists("use_mutt_sidebar") let use_mutt_sidebar=0 endif syn match muttrcComment "^# .*$" contains=@Spell syn match muttrcComment "^#[^ ].*$" syn match muttrcComment "^#$" syn match muttrcComment "[^\\]#.*$"lc=1 " Escape sequences (back-tick and pipe goes here too) syn match muttrcEscape +\\[#tnr"'Cc ]+ syn match muttrcEscape +[`|]+ syn match muttrcEscape +\\$+ " The variables takes the following arguments "syn match muttrcString contained "=\s*[^ #"'`]\+"lc=1 contains=muttrcEscape syn region muttrcString contained keepend start=+"+ms=e skip=+\\"+ end=+"+ contains=muttrcEscape,muttrcCommand,muttrcAction,muttrcShellString syn region muttrcString contained keepend start=+'+ms=e skip=+\\'+ end=+'+ contains=muttrcEscape,muttrcCommand,muttrcAction syn match muttrcStringNL contained skipwhite skipnl "\s*\\$" nextgroup=muttrcString,muttrcStringNL syn region muttrcShellString matchgroup=muttrcEscape keepend start=+`+ skip=+\\`+ end=+`+ contains=muttrcVarStr,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcCommand syn match muttrcRXChars contained /[^\\][][.*?+]\+/hs=s+1 syn match muttrcRXChars contained /[][|()][.*?+]*/ syn match muttrcRXChars contained /['"]^/ms=s+1 syn match muttrcRXChars contained /$['"]/me=e-1 syn match muttrcRXChars contained /\\/ " Why does muttrcRXString2 work with one \ when muttrcRXString requires two? syn region muttrcRXString contained skipwhite start=+'+ skip=+\\'+ end=+'+ contains=muttrcRXChars syn region muttrcRXString contained skipwhite start=+"+ skip=+\\"+ end=+"+ contains=muttrcRXChars syn region muttrcRXString contained skipwhite start=+[^ "'^]+ skip=+\\\s+ end=+\s+re=e-1 contains=muttrcRXChars " For some reason, skip refuses to match backslashes here... syn region muttrcRXString contained matchgroup=muttrcRXChars skipwhite start=+\^+ end=+[^\\]\s+re=e-1 contains=muttrcRXChars syn region muttrcRXString contained matchgroup=muttrcRXChars skipwhite start=+\^+ end=+$\s+ contains=muttrcRXChars syn region muttrcRXString2 contained skipwhite start=+'+ skip=+\'+ end=+'+ contains=muttrcRXChars syn region muttrcRXString2 contained skipwhite start=+"+ skip=+\"+ end=+"+ contains=muttrcRXChars " these must be kept synchronized with muttrcRXString, but are intended for " muttrcRXHooks syn region muttrcRXHookString contained keepend skipwhite start=+'+ skip=+\\'+ end=+'+ contains=muttrcRXString nextgroup=muttrcString,muttrcStringNL syn region muttrcRXHookString contained keepend skipwhite start=+"+ skip=+\\"+ end=+"+ contains=muttrcRXString nextgroup=muttrcString,muttrcStringNL syn region muttrcRXHookString contained keepend skipwhite start=+[^ "'^]+ skip=+\\\s+ end=+\s+re=e-1 contains=muttrcRXString nextgroup=muttrcString,muttrcStringNL syn region muttrcRXHookString contained keepend skipwhite start=+\^+ end=+[^\\]\s+re=e-1 contains=muttrcRXString nextgroup=muttrcString,muttrcStringNL syn region muttrcRXHookString contained keepend matchgroup=muttrcRXChars skipwhite start=+\^+ end=+$\s+ contains=muttrcRXString nextgroup=muttrcString,muttrcStringNL syn match muttrcRXHookStringNL contained skipwhite skipnl "\s*\\$" nextgroup=muttrcRXHookString,muttrcRXHookStringNL " these are exclusively for args lists (e.g. -rx pat pat pat ...) syn region muttrcRXPat contained keepend skipwhite start=+'+ skip=+\\'+ end=+'\s*+ contains=muttrcRXString nextgroup=muttrcRXPat syn region muttrcRXPat contained keepend skipwhite start=+"+ skip=+\\"+ end=+"\s*+ contains=muttrcRXString nextgroup=muttrcRXPat syn match muttrcRXPat contained /[^-'"#!]\S\+/ skipwhite contains=muttrcRXChars nextgroup=muttrcRXPat syn match muttrcRXDef contained "-rx\s\+" skipwhite nextgroup=muttrcRXPat syn match muttrcSpecial +\(['"]\)!\1+ syn match muttrcSetStrAssignment contained skipwhite /=\s*\%(\\\?\$\)\?[0-9A-Za-z_-]\+/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr contains=muttrcVariable,muttrcEscapedVariable syn region muttrcSetStrAssignment contained skipwhite keepend start=+=\s*"+hs=s+1 end=+"+ skip=+\\"+ nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr contains=muttrcString syn region muttrcSetStrAssignment contained skipwhite keepend start=+=\s*'+hs=s+1 end=+'+ skip=+\\'+ nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr contains=muttrcString syn match muttrcSetBoolAssignment contained skipwhite /=\s*\\\?\$\w\+/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr contains=muttrcVariable,muttrcEscapedVariable syn match muttrcSetBoolAssignment contained skipwhite /=\s*\%(yes\|no\)/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn match muttrcSetBoolAssignment contained skipwhite /=\s*"\%(yes\|no\)"/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn match muttrcSetBoolAssignment contained skipwhite /=\s*'\%(yes\|no\)'/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn match muttrcSetQuadAssignment contained skipwhite /=\s*\\\?\$\w\+/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr contains=muttrcVariable,muttrcEscapedVariable syn match muttrcSetQuadAssignment contained skipwhite /=\s*\%(ask-\)\?\%(yes\|no\)/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn match muttrcSetQuadAssignment contained skipwhite /=\s*"\%(ask-\)\?\%(yes\|no\)"/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn match muttrcSetQuadAssignment contained skipwhite /=\s*'\%(ask-\)\?\%(yes\|no\)'/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn match muttrcSetNumAssignment contained skipwhite /=\s*\\\?\$\w\+/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr contains=muttrcVariable,muttrcEscapedVariable syn match muttrcSetNumAssignment contained skipwhite /=\s*\d\+/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn match muttrcSetNumAssignment contained skipwhite /=\s*"\d\+"/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn match muttrcSetNumAssignment contained skipwhite /=\s*'\d\+'/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr " Now catch some email addresses and headers (purified version from mail.vim) syn match muttrcEmail "[a-zA-Z0-9._-]\+@[a-zA-Z0-9./-]\+" syn match muttrcHeader "\<\%(From\|To\|C[Cc]\|B[Cc][Cc]\|Reply-To\|Subject\|Return-Path\|Received\|Date\|Replied\|Attach\)\>:\=" syn match muttrcKeySpecial contained +\%(\\[Cc'"]\|\^\|\\[01]\d\{2}\)+ syn match muttrcKey contained "\S\+" contains=muttrcKeySpecial,muttrcKeyName syn region muttrcKey contained start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=muttrcKeySpecial,muttrcKeyName syn region muttrcKey contained start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=muttrcKeySpecial,muttrcKeyName syn match muttrcKeyName contained "\<f\%(\d\|10\)\>" syn match muttrcKeyName contained "\\[trne]" syn match muttrcKeyName contained "\c<\%(BackSpace\|BackTab\|Delete\|Down\|End\|Enter\|Esc\|Home\|Insert\|Left\|PageDown\|PageUp\|Return\|Right\|Space\|Tab\|Up\)>" syn match muttrcKeyName contained "<F[0-9]\+>" syn keyword muttrcVarBool skipwhite contained allow_8bit allow_ansi arrow_cursor ascii_chars askbcc askcc attach_split auto_tag autoedit beep beep_new nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained bounce_delivered braille_friendly check_new check_mbox_size nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained collapse_unread confirmappend confirmcreate crypt_autoencrypt nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained crypt_autopgp crypt_autosign crypt_autosmime crypt_replyencrypt nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained crypt_replysign crypt_replysignencrypted crypt_timestamp nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained crypt_use_gpgme crypt_use_pka delete_untag digest_collapse duplicate_threads nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained edit_hdrs edit_headers encode_from envelope_from fast_reply nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained fcc_clear followup_to force_name forw_decode nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained forw_decrypt forw_quote forward_decode forward_decrypt nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained forward_quote hdrs header help hidden_host hide_limited nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained hide_missing hide_thread_subject hide_top_limited nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained hide_top_missing honor_disposition ignore_linear_white_space ignore_list_reply_to imap_check_subscribed nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained imap_list_subscribed imap_passive imap_peek imap_servernoise nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained implicit_autoview include_onlyfirst keep_flagged nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained mailcap_sanitize maildir_header_cache_verify maildir_trash nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained mark_old markers menu_move_off menu_scroll message_cache_clean meta_key nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained metoo mh_purge mime_forward_decode narrow_tree pager_stop nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained pgp_auto_decode pgp_auto_traditional pgp_autoencrypt nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained pgp_autoinline pgp_autosign pgp_check_exit nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained pgp_create_traditional pgp_ignore_subkeys pgp_long_ids nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained pgp_replyencrypt pgp_replyinline pgp_replysign nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained pgp_replysignencrypted pgp_retainable_sigs pgp_show_unusable nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained pgp_strict_enc pgp_use_gpg_agent pipe_decode pipe_split nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained pop_auth_try_all pop_last print_decode print_split nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained prompt_after read_only reply_self resolve reverse_alias nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained reverse_name reverse_realname rfc2047_parameters save_address nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained save_empty save_name score sig_dashes sig_on_top nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained smart_wrap smime_ask_cert_label smime_decrypt_use_default_key nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained smime_is_default sort_re ssl_force_tls ssl_use_sslv2 nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained ssl_use_sslv3 ssl_use_tlsv1 ssl_usesystemcerts ssl_verify_dates ssl_verify_host status_on_top nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained strict_mime strict_threads suspend text_flowed thorough_search nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained thread_received tilde uncollapse_jump use_8bitmime nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained use_domain use_envelope_from use_from use_idn use_ipv6 nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained user_agent wait_key weed wrap_search write_bcc nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained noallow_8bit noallow_ansi noarrow_cursor noascii_chars noaskbcc nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained noaskcc noattach_split noauto_tag noautoedit nobeep nobeep_new nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained nobounce_delivered nobraille_friendly nocheck_new nocollapse_unread nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained noconfirmappend noconfirmcreate nocrypt_autoencrypt nocrypt_autopgp nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained nocrypt_autosign nocrypt_autosmime nocrypt_replyencrypt nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained nocrypt_replysign nocrypt_replysignencrypted nocrypt_timestamp nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained nocrypt_use_gpgme nodelete_untag nodigest_collapse noduplicate_threads nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained noedit_hdrs noedit_headers noencode_from noenvelope_from nofast_reply nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained nofcc_clear nofollowup_to noforce_name noforw_decode nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained noforw_decrypt noforw_quote noforward_decode noforward_decrypt nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained noforward_quote nohdrs noheader nohelp nohidden_host nohide_limited nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained nohide_missing nohide_thread_subject nohide_top_limited nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained nohide_top_missing nohonor_disposition noignore_list_reply_to noimap_check_subscribed nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained noimap_list_subscribed noimap_passive noimap_peek noimap_servernoise nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained noimplicit_autoview noinclude_onlyfirst nokeep_flagged nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained nomailcap_sanitize nomaildir_header_cache_verify nomaildir_trash nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained nomark_old nomarkers nomenu_move_off nomenu_scroll nometa_key nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained nometoo nomh_purge nomime_forward_decode nonarrow_tree nopager_stop nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained nopgp_auto_decode nopgp_auto_traditional nopgp_autoencrypt nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained nopgp_autoinline nopgp_autosign nopgp_check_exit nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained nopgp_create_traditional nopgp_ignore_subkeys nopgp_long_ids nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained nopgp_replyencrypt nopgp_replyinline nopgp_replysign nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained nopgp_replysignencrypted nopgp_retainable_sigs nopgp_show_unusable nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained nopgp_strict_enc nopgp_use_gpg_agent nopipe_decode nopipe_split nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained nopop_auth_try_all nopop_last noprint_decode noprint_split nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained noprompt_after noread_only noreply_self noresolve noreverse_alias nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained noreverse_name noreverse_realname norfc2047_parameters nosave_address nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained nosave_empty nosave_name noscore nosig_dashes nosig_on_top nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained nosmart_wrap nosmime_ask_cert_label nosmime_decrypt_use_default_key nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained nosmime_is_default nosort_re nossl_force_tls nossl_use_sslv2 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained nossl_use_sslv3 nossl_use_tlsv1 nossl_usesystemcerts nostatus_on_top nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained nostrict_threads nosuspend notext_flowed nothorough_search nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained nothread_received notilde nouncollapse_jump nouse_8bitmime nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained nouse_domain nouse_envelope_from nouse_from nouse_idn nouse_ipv6 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained nouser_agent nowait_key noweed nowrap_search nowrite_bcc nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained invallow_8bit invallow_ansi invarrow_cursor invascii_chars invaskbcc nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained invaskcc invattach_split invauto_tag invautoedit invbeep invbeep_new nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained invbounce_delivered invbraille_friendly invcheck_new invcollapse_unread nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained invconfirmappend invconfirmcreate invcrypt_autoencrypt invcrypt_autopgp nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained invcrypt_autosign invcrypt_autosmime invcrypt_replyencrypt nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained invcrypt_replysign invcrypt_replysignencrypted invcrypt_timestamp nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained invcrypt_use_gpgme invdelete_untag invdigest_collapse invduplicate_threads nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained invedit_hdrs invedit_headers invencode_from invenvelope_from invfast_reply nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained invfcc_clear invfollowup_to invforce_name invforw_decode nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained invforw_decrypt invforw_quote invforward_decode invforward_decrypt nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained invforward_quote invhdrs invheader invhelp invhidden_host invhide_limited nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained invhide_missing invhide_thread_subject invhide_top_limited nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained invhide_top_missing invhonor_disposition invignore_list_reply_to invimap_check_subscribed nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained invimap_list_subscribed invimap_passive invimap_peek invimap_servernoise nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained invimplicit_autoview invinclude_onlyfirst invkeep_flagged nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained invmailcap_sanitize invmaildir_header_cache_verify invmaildir_trash nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained invmark_old invmarkers invmenu_move_off invmenu_scroll invmeta_key nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained invmetoo invmh_purge invmime_forward_decode invnarrow_tree invpager_stop nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained invpgp_auto_decode invpgp_auto_traditional invpgp_autoencrypt nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained invpgp_autoinline invpgp_autosign invpgp_check_exit nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained invpgp_create_traditional invpgp_ignore_subkeys invpgp_long_ids nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained invpgp_replyencrypt invpgp_replyinline invpgp_replysign nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained invpgp_replysignencrypted invpgp_retainable_sigs invpgp_show_unusable nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained invpgp_strict_enc invpgp_use_gpg_agent invpipe_decode invpipe_split nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained invpop_auth_try_all invpop_last invprint_decode invprint_split nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained invprompt_after invread_only invreply_self invresolve invreverse_alias nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained invreverse_name invreverse_realname invrfc2047_parameters invsave_address nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained invsave_empty invsave_name invscore invsig_dashes invsig_on_top nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained invsmart_wrap invsmime_ask_cert_label invsmime_decrypt_use_default_key nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained invsmime_is_default invsort_re invssl_force_tls invssl_use_sslv2 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained invssl_use_sslv3 invssl_use_tlsv1 invssl_usesystemcerts invstatus_on_top nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained invstrict_threads invsuspend invtext_flowed invthorough_search nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained invthread_received invtilde invuncollapse_jump invuse_8bitmime nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained invuse_domain invuse_envelope_from invuse_from invuse_idn invuse_ipv6 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarBool skipwhite contained invuser_agent invwait_key invweed invwrap_search invwrite_bcc nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr if use_mutt_sidebar == 1 syn keyword muttrcVarBool skipwhite contained sidebar_visible sidebar_sort nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr endif syn keyword muttrcVarQuad skipwhite contained abort_nosubject abort_unmodified bounce copy nextgroup=muttrcSetQuadAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarQuad skipwhite contained crypt_verify_sig delete fcc_attach forward_edit honor_followup_to nextgroup=muttrcSetQuadAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarQuad skipwhite contained include mime_forward mime_forward_rest mime_fwd move nextgroup=muttrcSetQuadAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarQuad skipwhite contained pgp_mime_auto pgp_verify_sig pop_delete pop_reconnect nextgroup=muttrcSetQuadAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarQuad skipwhite contained postpone print quit recall reply_to ssl_starttls nextgroup=muttrcSetQuadAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarQuad skipwhite contained noabort_nosubject noabort_unmodified nobounce nocopy nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarQuad skipwhite contained nocrypt_verify_sig nodelete nofcc_attach noforward_edit nohonor_followup_to nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarQuad skipwhite contained noinclude nomime_forward nomime_forward_rest nomime_fwd nomove nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarQuad skipwhite contained nopgp_mime_auto nopgp_verify_sig nopop_delete nopop_reconnect nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarQuad skipwhite contained nopostpone noprint noquit norecall noreply_to nossl_starttls nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarQuad skipwhite contained invabort_nosubject invabort_unmodified invbounce invcopy nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarQuad skipwhite contained invcrypt_verify_sig invdelete invfcc_attach invforward_edit invhonor_followup_to nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarQuad skipwhite contained invinclude invmime_forward invmime_forward_rest invmime_fwd invmove nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarQuad skipwhite contained invpgp_mime_auto invpgp_verify_sig invpop_delete invpop_reconnect nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarQuad skipwhite contained invpostpone invprint invquit invrecall invreply_to invssl_starttls nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarNum skipwhite contained connect_timeout history imap_keepalive imap_pipeline_depth mail_check nextgroup=muttrcSetNumAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarNum skipwhite contained menu_context net_inc pager_context pager_index_lines pgp_timeout nextgroup=muttrcSetNumAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarNum skipwhite contained pop_checkinterval read_inc save_history score_threshold_delete nextgroup=muttrcSetNumAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarNum skipwhite contained score_threshold_flag score_threshold_read search_context sendmail_wait sleep_time nextgroup=muttrcSetNumAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarNum skipwhite contained smime_timeout ssl_min_dh_prime_bits timeout time_inc wrap wrapmargin nextgroup=muttrcSetNumAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarNum skipwhite contained write_inc nextgroup=muttrcSetNumAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr if use_mutt_sidebar == 1 syn keyword muttrcVarNum skipwhite contained sidebar_width nextgroup=muttrcSetNumAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr endif syn match muttrcFormatErrors contained /%./ syn match muttrcStrftimeEscapes contained /%[AaBbCcDdeFGgHhIjklMmnpRrSsTtUuVvWwXxYyZz+%]/ syn match muttrcStrftimeEscapes contained /%E[cCxXyY]/ syn match muttrcStrftimeEscapes contained /%O[BdeHImMSuUVwWy]/ syn region muttrcIndexFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcIndexFormatEscapes,muttrcIndexFormatConditionals,muttrcFormatErrors,muttrcTimeEscapes nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn region muttrcIndexFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcIndexFormatEscapes,muttrcIndexFormatConditionals,muttrcFormatErrors,muttrcTimeEscapes nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn region muttrcQueryFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcQueryFormatEscapes,muttrcQueryFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn region muttrcAliasFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcAliasFormatEscapes,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn region muttrcAliasFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcAliasFormatEscapes,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn region muttrcAttachFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcAttachFormatEscapes,muttrcAttachFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn region muttrcAttachFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcAttachFormatEscapes,muttrcAttachFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn region muttrcComposeFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcComposeFormatEscapes,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn region muttrcComposeFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcComposeFormatEscapes,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn region muttrcFolderFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcFolderFormatEscapes,muttrcFolderFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn region muttrcFolderFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcFolderFormatEscapes,muttrcFolderFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn region muttrcMixFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcMixFormatEscapes,muttrcMixFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn region muttrcMixFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcMixFormatEscapes,muttrcMixFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn region muttrcPGPFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcPGPFormatEscapes,muttrcPGPFormatConditionals,muttrcFormatErrors,muttrcPGPTimeEscapes nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn region muttrcPGPFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcPGPFormatEscapes,muttrcPGPFormatConditionals,muttrcFormatErrors,muttrcPGPTimeEscapes nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn region muttrcPGPCmdFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcPGPCmdFormatEscapes,muttrcPGPCmdFormatConditionals,muttrcVariable,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn region muttrcPGPCmdFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcPGPCmdFormatEscapes,muttrcPGPCmdFormatConditionals,muttrcVariable,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn region muttrcStatusFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcStatusFormatEscapes,muttrcStatusFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn region muttrcStatusFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcStatusFormatEscapes,muttrcStatusFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn region muttrcPGPGetKeysFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcPGPGetKeysFormatEscapes,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn region muttrcPGPGetKeysFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcPGPGetKeysFormatEscapes,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn region muttrcSmimeFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcSmimeFormatEscapes,muttrcSmimeFormatConditionals,muttrcVariable,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn region muttrcSmimeFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcSmimeFormatEscapes,muttrcSmimeFormatConditionals,muttrcVariable,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn region muttrcStrftimeFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcStrftimeEscapes,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn region muttrcStrftimeFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcStrftimeEscapes,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr " The following info was pulled from hdr_format_str in hdrline.c syn match muttrcIndexFormatEscapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?[aAbBcCdDeEfFHilLmMnNOPsStTuvXyYZ%]/ syn match muttrcIndexFormatEscapes contained /%[>|*]./ syn match muttrcIndexFormatConditionals contained /%?[EFHlLMNOXyY]?/ nextgroup=muttrcFormatConditionals2 " The following info was pulled from alias_format_str in addrbook.c syn match muttrcAliasFormatEscapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?[afnrt%]/ " The following info was pulled from query_format_str in query.c syn match muttrcQueryFormatEscapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?[acent%]/ syn match muttrcQueryFormatConditionals contained /%?[e]?/ nextgroup=muttrcFormatConditionals2 " The following info was pulled from mutt_attach_fmt in recvattach.c syn match muttrcAttachFormatEscapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?[CcDdefImMnQstTuX%]/ syn match muttrcAttachFormatEscapes contained /%[>|*]./ syn match muttrcAttachFormatConditionals contained /%?[CcdDefInmMQstTuX]?/ nextgroup=muttrcFormatConditionals2 syn match muttrcFormatConditionals2 contained /[^?]*?/ " The following info was pulled from compose_format_str in compose.c syn match muttrcComposeFormatEscapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?[ahlv%]/ syn match muttrcComposeFormatEscapes contained /%[>|*]./ " The following info was pulled from folder_format_str in browser.c syn match muttrcFolderFormatEscapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?[CDdfFglNstu%]/ syn match muttrcFolderFormatEscapes contained /%[>|*]./ syn match muttrcFolderFormatConditionals contained /%?[N]?/ " The following info was pulled from mix_entry_fmt in remailer.c syn match muttrcMixFormatEscapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?[ncsa%]/ syn match muttrcMixFormatConditionals contained /%?[ncsa]?/ " The following info was pulled from crypt_entry_fmt in crypt-gpgme.c " and pgp_entry_fmt in pgpkey.c (note that crypt_entry_fmt supports " 'p', but pgp_entry_fmt does not). syn match muttrcPGPFormatEscapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?[nkualfctp%]/ syn match muttrcPGPFormatConditionals contained /%?[nkualfct]?/ " The following info was pulled from _mutt_fmt_pgp_command in " pgpinvoke.c syn match muttrcPGPCmdFormatEscapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?[pfsar%]/ syn match muttrcPGPCmdFormatConditionals contained /%?[pfsar]?/ nextgroup=muttrcFormatConditionals2 " The following info was pulled from status_format_str in status.c syn match muttrcStatusFormatEscapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?[bdfFhlLmMnopPrsStuvV%]/ syn match muttrcStatusFormatEscapes contained /%[>|*]./ syn match muttrcStatusFormatConditionals contained /%?[bdFlLmMnoptuV]?/ nextgroup=muttrcFormatConditionals2 " This matches the documentation, but directly contradicts the code " (according to the code, this should be identical to the " muttrcPGPCmdFormatEscapes syn match muttrcPGPGetKeysFormatEscapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?[r%]/ " The following info was pulled from _mutt_fmt_smime_command in " smime.c syn match muttrcSmimeFormatEscapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?[Cciskaf%]/ syn match muttrcSmimeFormatConditionals contained /%?[Cciskaf]?/ nextgroup=muttrcFormatConditionals2 syn region muttrcTimeEscapes contained start=+%{+ end=+}+ contains=muttrcStrftimeEscapes syn region muttrcTimeEscapes contained start=+%\[+ end=+\]+ contains=muttrcStrftimeEscapes syn region muttrcTimeEscapes contained start=+%(+ end=+)+ contains=muttrcStrftimeEscapes syn region muttrcTimeEscapes contained start=+%<+ end=+>+ contains=muttrcStrftimeEscapes syn region muttrcPGPTimeEscapes contained start=+%\[+ end=+\]+ contains=muttrcStrftimeEscapes syn keyword muttrcVarStr contained skipwhite attribution index_format message_format pager_format nextgroup=muttrcVarEqualsIdxFmt syn match muttrcVarEqualsIdxFmt contained skipwhite "=" nextgroup=muttrcIndexFormatStr syn keyword muttrcVarStr contained skipwhite alias_format nextgroup=muttrcVarEqualsAliasFmt syn match muttrcVarEqualsAliasFmt contained skipwhite "=" nextgroup=muttrcAliasFormatStr syn keyword muttrcVarStr contained skipwhite attach_format nextgroup=muttrcVarEqualsAttachFmt syn match muttrcVarEqualsAttachFmt contained skipwhite "=" nextgroup=muttrcAttachFormatStr syn keyword muttrcVarStr contained skipwhite compose_format nextgroup=muttrcVarEqualsComposeFmt syn match muttrcVarEqualsComposeFmt contained skipwhite "=" nextgroup=muttrcComposeFormatStr syn keyword muttrcVarStr contained skipwhite folder_format nextgroup=muttrcVarEqualsFolderFmt syn match muttrcVarEqualsFolderFmt contained skipwhite "=" nextgroup=muttrcFolderFormatStr syn keyword muttrcVarStr contained skipwhite mix_entry_format nextgroup=muttrcVarEqualsMixFmt syn match muttrcVarEqualsMixFmt contained skipwhite "=" nextgroup=muttrcMixFormatStr syn keyword muttrcVarStr contained skipwhite pgp_entry_format nextgroup=muttrcVarEqualsPGPFmt syn match muttrcVarEqualsPGPFmt contained skipwhite "=" nextgroup=muttrcPGPFormatStr syn keyword muttrcVarStr contained skipwhite query_format nextgroup=muttrcVarEqualsQueryFmt syn match muttrcVarEqualsQueryFmt contained skipwhite "=" nextgroup=muttrcQueryFormatStr syn keyword muttrcVarStr contained skipwhite pgp_decode_command pgp_verify_command pgp_decrypt_command pgp_clearsign_command pgp_sign_command pgp_encrypt_sign_command pgp_encrypt_only_command pgp_import_command pgp_export_command pgp_verify_key_command pgp_list_secring_command pgp_list_pubring_command nextgroup=muttrcVarEqualsPGPCmdFmt syn match muttrcVarEqualsPGPCmdFmt contained skipwhite "=" nextgroup=muttrcPGPCmdFormatStr syn keyword muttrcVarStr contained skipwhite status_format nextgroup=muttrcVarEqualsStatusFmt syn match muttrcVarEqualsStatusFmt contained skipwhite "=" nextgroup=muttrcStatusFormatStr syn keyword muttrcVarStr contained skipwhite pgp_getkeys_command nextgroup=muttrcVarEqualsPGPGetKeysFmt syn match muttrcVarEqualsPGPGetKeysFmt contained skipwhite "=" nextgroup=muttrcPGPGetKeysFormatStr syn keyword muttrcVarStr contained skipwhite smime_decrypt_command smime_verify_command smime_verify_opaque_command smime_sign_command smime_sign_opaque_command smime_encrypt_command smime_pk7out_command smime_get_cert_command smime_get_signer_cert_command smime_import_cert_command smime_get_cert_email_command nextgroup=muttrcVarEqualsSmimeFmt syn match muttrcVarEqualsSmimeFmt contained skipwhite "=" nextgroup=muttrcSmimeFormatStr syn keyword muttrcVarStr contained skipwhite date_format nextgroup=muttrcVarEqualsStrftimeFmt syn match muttrcVarEqualsStrftimeFmt contained skipwhite "=" nextgroup=muttrcStrftimeFormatStr syn match muttrcVPrefix contained /[?&]/ nextgroup=muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn match muttrcVarStr contained skipwhite 'my_[a-zA-Z0-9_]\+' nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarStr contained skipwhite alias_file assumed_charset attach_charset attach_sep nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarStr contained skipwhite certificate_file charset config_charset content_type nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarStr contained skipwhite default_hook display_filter dotlock_program dsn_notify nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarStr contained skipwhite dsn_return editor entropy_file envelope_from_address escape folder nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarStr contained skipwhite forw_format forward_format from gecos_mask hdr_format nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarStr contained skipwhite header_cache header_cache_compress header_cache_pagesize nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarStr contained skipwhite history_file hostname imap_authenticators nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarStr contained skipwhite imap_delim_chars imap_headers imap_idle imap_login imap_pass nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarStr contained skipwhite imap_user indent_str indent_string ispell locale mailcap_path nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarStr contained skipwhite mask mbox mbox_type message_cachedir mh_seq_flagged mh_seq_replied nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarStr contained skipwhite mh_seq_unseen mixmaster msg_format pager nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarStr contained skipwhite pgp_good_sign nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarStr contained skipwhite pgp_mime_signature_filename nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarStr contained skipwhite pgp_mime_signature_description pgp_sign_as nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarStr contained skipwhite pgp_sort_keys nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarStr contained skipwhite pipe_sep pop_authenticators pop_host pop_pass pop_user post_indent_str nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarStr contained skipwhite post_indent_string postponed preconnect print_cmd print_command nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarStr contained skipwhite query_command quote_regexp realname record reply_regexp send_charset nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarStr contained skipwhite sendmail shell signature simple_search smileys smime_ca_location nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarStr contained skipwhite smime_certificates smime_default_key nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarStr contained skipwhite smime_encrypt_with nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarStr contained skipwhite smime_keys smime_sign_as nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarStr contained skipwhite smtp_url smtp_authenticators smtp_pass sort sort_alias sort_aux nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarStr contained skipwhite sort_browser spam_separator spoolfile ssl_ca_certificates_file ssl_client_cert nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcVarStr contained skipwhite status_chars tmpdir to_chars tunnel visual nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr if use_mutt_sidebar == 1 syn keyword muttrcVarStr skipwhite contained sidebar_delim nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr endif " Present in 1.4.2.1 (pgp_create_traditional was a bool then) syn keyword muttrcVarBool contained skipwhite imap_force_ssl noimap_force_ssl invimap_force_ssl nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr "syn keyword muttrcVarQuad contained pgp_create_traditional nopgp_create_traditional invpgp_create_traditional syn keyword muttrcVarStr contained skipwhite alternates nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcMenu contained alias attach browser compose editor index pager postpone pgp mix query generic syn match muttrcMenuList "\S\+" contained contains=muttrcMenu syn match muttrcMenuCommas /,/ contained syn keyword muttrcHooks contained skipwhite account-hook charset-hook iconv-hook message-hook folder-hook mbox-hook save-hook fcc-hook fcc-save-hook send-hook send2-hook reply-hook crypt-hook syn keyword muttrcCommand auto_view alternative_order exec unalternative_order syn keyword muttrcCommand hdr_order iconv-hook ignore mailboxes my_hdr unmailboxes syn keyword muttrcCommand pgp-hook push score source unauto_view unhdr_order syn keyword muttrcCommand unignore unmono unmy_hdr unscore syn keyword muttrcCommand mime_lookup unmime_lookup ungroup syn keyword muttrcCommand unalternative_order syn keyword muttrcCommand skipwhite charset-hook nextgroup=muttrcRXString syn keyword muttrcCommand skipwhite unhook nextgroup=muttrcHooks syn keyword muttrcCommand skipwhite spam nextgroup=muttrcSpamPattern syn region muttrcSpamPattern contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcPattern nextgroup=muttrcString,muttrcStringNL syn region muttrcSpamPattern contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcPattern nextgroup=muttrcString,muttrcStringNL syn keyword muttrcCommand skipwhite nospam nextgroup=muttrcNoSpamPattern syn region muttrcNoSpamPattern contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcPattern syn region muttrcNoSpamPattern contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcPattern syn match muttrcAttachmentsMimeType contained "[*a-z0-9_-]\+/[*a-z0-9._-]\+\s*" skipwhite nextgroup=muttrcAttachmentsMimeType syn match muttrcAttachmentsFlag contained "[+-]\%([AI]\|inline\|attachment\)\s\+" skipwhite nextgroup=muttrcAttachmentsMimeType syn match muttrcAttachmentsLine "^\s*\%(un\)\?attachments\s\+" skipwhite nextgroup=muttrcAttachmentsFlag syn match muttrcUnHighlightSpace contained "\%(\s\+\|\\$\)" syn keyword muttrcAsterisk contained * syn keyword muttrcListsKeyword lists skipwhite nextgroup=muttrcGroupDef,muttrcComment syn keyword muttrcListsKeyword unlists skipwhite nextgroup=muttrcAsterisk,muttrcComment syn keyword muttrcSubscribeKeyword subscribe nextgroup=muttrcGroupDef,muttrcComment syn keyword muttrcSubscribeKeyword unsubscribe nextgroup=muttrcAsterisk,muttrcComment syn keyword muttrcAlternateKeyword contained alternates unalternates syn region muttrcAlternatesLine keepend start=+^\s*\%(un\)\?alternates\s+ skip=+\\$+ end=+$+ contains=muttrcAlternateKeyword,muttrcGroupDef,muttrcRXPat,muttrcUnHighlightSpace,muttrcComment " muttrcVariable includes a prefix because partial strings are considered " valid. syn match muttrcVariable contained "\\\@<![a-zA-Z_-]*\$[a-zA-Z_-]\+" contains=muttrcVariableInner syn match muttrcVariableInner contained "\$[a-zA-Z_-]\+" syn match muttrcEscapedVariable contained "\\\$[a-zA-Z_-]\+" syn match muttrcBadAction contained "[^<>]\+" contains=muttrcEmail syn match muttrcFunction contained "\<\%(attach\|bounce\|copy\|delete\|display\|flag\|forward\|parent\|pipe\|postpone\|print\|recall\|resend\|save\|send\|tag\|undelete\)-message\>" syn match muttrcFunction contained "\<\%(delete\|next\|previous\|read\|tag\|break\|undelete\)-thread\>" syn match muttrcFunction contained "\<link-threads\>" syn match muttrcFunction contained "\<\%(backward\|capitalize\|downcase\|forward\|kill\|upcase\)-word\>" syn match muttrcFunction contained "\<\%(delete\|filter\|first\|last\|next\|pipe\|previous\|print\|save\|select\|tag\|undelete\)-entry\>" syn match muttrcFunction contained "\<attach-\%(file\|key\)\>" syn match muttrcFunction contained "\<change-\%(dir\|folder\|folder-readonly\)\>" syn match muttrcFunction contained "\<check-\%(new\|traditional-pgp\)\>" syn match muttrcFunction contained "\<current-\%(bottom\|middle\|top\)\>" syn match muttrcFunction contained "\<decode-\%(copy\|save\)\>" syn match muttrcFunction contained "\<delete-\%(char\|pattern\|subthread\)\>" syn match muttrcFunction contained "\<display-\%(address\|toggle-weed\)\>" syn match muttrcFunction contained "\<edit\%(-\%(bcc\|cc\|description\|encoding\|fcc\|file\|from\|headers\|mime\|reply-to\|subject\|to\|type\)\)\?\>" syn match muttrcFunction contained "\<enter-\%(command\|mask\)\>" syn match muttrcFunction contained "\<half-\%(up\|down\)\>" syn match muttrcFunction contained "\<history-\%(up\|down\)\>" syn match muttrcFunction contained "\<kill-\%(eol\|eow\|line\)\>" syn match muttrcFunction contained "\<next-\%(line\|new\%(-then-unread\)\?\|page\|subthread\|undeleted\|unread\|unread-mailbox\)\>" syn match muttrcFunction contained "\<previous-\%(line\|new\%(-then-unread\)\?\|page\|subthread\|undeleted\|unread\)\>" syn match muttrcFunction contained "\<search\%(-\%(next\|opposite\|reverse\|toggle\)\)\?\>" syn match muttrcFunction contained "\<show-\%(limit\|version\)\>" syn match muttrcFunction contained "\<sort-\%(mailbox\|reverse\)\>" syn match muttrcFunction contained "\<tag-\%(pattern\|\%(sub\)\?thread\|prefix\%(-cond\)\?\)\>" syn match muttrcFunction contained "\<end-cond\>" syn match muttrcFunction contained "\<toggle-\%(mailboxes\|new\|quoted\|subscribed\|unlink\|write\)\>" syn match muttrcFunction contained "\<undelete-\%(pattern\|subthread\)\>" syn match muttrcFunction contained "\<collapse-\%(parts\|thread\|all\)\>" syn match muttrcFunction contained "\<view-\%(attach\|attachments\|file\|mailcap\|name\|text\)\>" syn match muttrcFunction contained "\<\%(backspace\|backward-char\|bol\|bottom\|bottom-page\|buffy-cycle\|clear-flag\|complete\%(-query\)\?\|copy-file\|create-alias\|detach-file\|eol\|exit\|extract-keys\|\%(imap-\)\?fetch-mail\|forget-passphrase\|forward-char\|group-reply\|help\|ispell\|jump\|limit\|list-reply\|mail\|mail-key\|mark-as-new\|middle-page\|new-mime\|noop\|pgp-menu\|query\|query-append\|quit\|quote-char\|read-subthread\|redraw-screen\|refresh\|rename-file\|reply\|select-new\|set-flag\|shell-escape\|skip-quoted\|sort\|subscribe\|sync-mailbox\|top\|top-page\|transpose-chars\|unsubscribe\|untag-pattern\|verify-key\|what-key\|write-fcc\)\>" if use_mutt_sidebar == 1 syn match muttrcFunction contained "\<sidebar-\%(prev\|next\|open\|scroll-up\|scroll-down\)" endif syn match muttrcAction contained "<[^>]\{-}>" contains=muttrcBadAction,muttrcFunction,muttrcKeyName syn keyword muttrcCommand set skipwhite nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcCommand unset skipwhite nextgroup=muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcCommand reset skipwhite nextgroup=muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcCommand toggle skipwhite nextgroup=muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr " First, functions that take regular expressions: syn match muttrcRXHookNot contained /!\s*/ skipwhite nextgroup=muttrcRXHookString,muttrcRXHookStringNL syn match muttrcRXHooks /\<\%(account\|folder\)-hook\>/ skipwhite nextgroup=muttrcRXHookNot,muttrcRXHookString,muttrcRXHookStringNL " Now, functions that take patterns syn match muttrcPatHookNot contained /!\s*/ skipwhite nextgroup=muttrcPattern syn match muttrcPatHooks /\<\%(mbox\|crypt\)-hook\>/ skipwhite nextgroup=muttrcPatHookNot,muttrcPattern syn match muttrcPatHooks /\<\%(message\|reply\|send\|send2\|save\|\|fcc\%(-save\)\?\)-hook\>/ skipwhite nextgroup=muttrcPatHookNot,muttrcOptPattern syn match muttrcBindFunction contained /\S\+\>/ skipwhite contains=muttrcFunction syn match muttrcBindFunctionNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcBindFunction,muttrcBindFunctionNL syn match muttrcBindKey contained /\S\+/ skipwhite contains=muttrcKey nextgroup=muttrcBindFunction,muttrcBindFunctionNL syn match muttrcBindKeyNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcBindKey,muttrcBindKeyNL syn match muttrcBindMenuList contained /\S\+/ skipwhite contains=muttrcMenu,muttrcMenuCommas nextgroup=muttrcBindKey,muttrcBindKeyNL syn match muttrcBindMenuListNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcBindMenuList,muttrcBindMenuListNL syn keyword muttrcCommand skipwhite bind nextgroup=muttrcBindMenuList,muttrcBindMenuListNL syn region muttrcMacroDescr contained keepend skipwhite start=+\s*\S+ms=e skip=+\\ + end=+ \|$+me=s syn region muttrcMacroDescr contained keepend skipwhite start=+'+ms=e skip=+\\'+ end=+'+me=s syn region muttrcMacroDescr contained keepend skipwhite start=+"+ms=e skip=+\\"+ end=+"+me=s syn match muttrcMacroDescrNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcMacroDescr,muttrcMacroDescrNL syn region muttrcMacroBody contained skipwhite start="\S" skip='\\ \|\\$' end=' \|$' contains=muttrcEscape,muttrcSet,muttrcUnset,muttrcReset,muttrcToggle,muttrcCommand,muttrcAction nextgroup=muttrcMacroDescr,muttrcMacroDescrNL syn region muttrcMacroBody matchgroup=Type contained skipwhite start=+'+ms=e skip=+\\'+ end=+'\|\%(\%(\\\\\)\@<!$\)+me=s contains=muttrcEscape,muttrcSet,muttrcUnset,muttrcReset,muttrcToggle,muttrcSpam,muttrcNoSpam,muttrcCommand,muttrcAction,muttrcVariable nextgroup=muttrcMacroDescr,muttrcMacroDescrNL syn region muttrcMacroBody matchgroup=Type contained skipwhite start=+"+ms=e skip=+\\"+ end=+"\|\%(\%(\\\\\)\@<!$\)+me=s contains=muttrcEscape,muttrcSet,muttrcUnset,muttrcReset,muttrcToggle,muttrcSpam,muttrcNoSpam,muttrcCommand,muttrcAction,muttrcVariable nextgroup=muttrcMacroDescr,muttrcMacroDescrNL syn match muttrcMacroBodyNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcMacroBody,muttrcMacroBodyNL syn match muttrcMacroKey contained /\S\+/ skipwhite contains=muttrcKey nextgroup=muttrcMacroBody,muttrcMacroBodyNL syn match muttrcMacroKeyNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcMacroKey,muttrcMacroKeyNL syn match muttrcMacroMenuList contained /\S\+/ skipwhite contains=muttrcMenu,muttrcMenuCommas nextgroup=muttrcMacroKey,muttrcMacroKeyNL syn match muttrcMacroMenuListNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcMacroMenuList,muttrcMacroMenuListNL syn keyword muttrcCommand skipwhite macro nextgroup=muttrcMacroMenuList,muttrcMacroMenuListNL syn match muttrcAddrContent contained "[a-zA-Z0-9._-]\+@[a-zA-Z0-9./-]\+\s*" skipwhite contains=muttrcEmail nextgroup=muttrcAddrContent syn region muttrcAddrContent contained start=+'+ end=+'\s*+ skip=+\\'+ skipwhite contains=muttrcEmail nextgroup=muttrcAddrContent syn region muttrcAddrContent contained start=+"+ end=+"\s*+ skip=+\\"+ skipwhite contains=muttrcEmail nextgroup=muttrcAddrContent syn match muttrcAddrDef contained "-addr\s\+" skipwhite nextgroup=muttrcAddrContent syn match muttrcGroupFlag contained "-group" syn region muttrcGroupDef contained start="-group\s\+" skip="\\$" end="\s" skipwhite keepend contains=muttrcGroupFlag,muttrcUnHighlightSpace syn keyword muttrcGroupKeyword contained group ungroup syn region muttrcGroupLine keepend start=+^\s*\%(un\)\?group\s+ skip=+\\$+ end=+$+ contains=muttrcGroupKeyword,muttrcGroupDef,muttrcAddrDef,muttrcRXDef,muttrcUnHighlightSpace,muttrcComment syn match muttrcAliasGroupName contained /\w\+/ skipwhite nextgroup=muttrcAliasGroupDef,muttrcAliasKey,muttrcAliasNL syn match muttrcAliasGroupDefNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcAliasGroupName,muttrcAliasGroupDefNL syn match muttrcAliasGroupDef contained /\s*-group/ skipwhite nextgroup=muttrcAliasGroupName,muttrcAliasGroupDefNL contains=muttrcGroupFlag syn match muttrcAliasComma contained /,/ skipwhite nextgroup=muttrcAliasEmail,muttrcAliasEncEmail,muttrcAliasNameNoParens,muttrcAliasENNL syn match muttrcAliasEmail contained /\S\+@\S\+/ contains=muttrcEmail nextgroup=muttrcAliasName,muttrcAliasNameNL skipwhite syn match muttrcAliasEncEmail contained /<[^>]\+>/ contains=muttrcEmail nextgroup=muttrcAliasComma syn match muttrcAliasEncEmailNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcAliasEncEmail,muttrcAliasEncEmailNL syn match muttrcAliasNameNoParens contained /[^<(@]\+\s\+/ nextgroup=muttrcAliasEncEmail,muttrcAliasEncEmailNL syn region muttrcAliasName contained matchgroup=Type start=/(/ end=/)/ skipwhite syn match muttrcAliasNameNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcAliasName,muttrcAliasNameNL syn match muttrcAliasENNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcAliasEmail,muttrcAliasEncEmail,muttrcAliasNameNoParens,muttrcAliasENNL syn match muttrcAliasKey contained /\s*[^- \t]\S\+/ skipwhite nextgroup=muttrcAliasEmail,muttrcAliasEncEmail,muttrcAliasNameNoParens,muttrcAliasENNL syn match muttrcAliasNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcAliasGroupDef,muttrcAliasKey,muttrcAliasNL syn keyword muttrcCommand skipwhite alias nextgroup=muttrcAliasGroupDef,muttrcAliasKey,muttrcAliasNL syn match muttrcUnAliasKey contained "\s*\w\+\s*" skipwhite nextgroup=muttrcUnAliasKey,muttrcUnAliasNL syn match muttrcUnAliasNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcUnAliasKey,muttrcUnAliasNL syn keyword muttrcCommand skipwhite unalias nextgroup=muttrcUnAliasKey,muttrcUnAliasNL syn match muttrcSimplePat contained "!\?\^\?[~][ADEFgGklNOpPQRSTuUvV=$]" syn match muttrcSimplePat contained "!\?\^\?[~][mnXz]\s*\%([<>-][0-9]\+[kM]\?\|[0-9]\+[kM]\?[-]\%([0-9]\+[kM]\?\)\?\)" syn match muttrcSimplePat contained "!\?\^\?[~][dr]\s*\%(\%(-\?[0-9]\{1,2}\%(/[0-9]\{1,2}\%(/[0-9]\{2}\%([0-9]\{2}\)\?\)\?\)\?\%([+*-][0-9]\+[ymwd]\)*\)\|\%(\%([0-9]\{1,2}\%(/[0-9]\{1,2}\%(/[0-9]\{2}\%([0-9]\{2}\)\?\)\?\)\?\%([+*-][0-9]\+[ymwd]\)*\)-\%([0-9]\{1,2}\%(/[0-9]\{1,2}\%(/[0-9]\{2}\%([0-9]\{2}\)\?\)\?\)\?\%([+*-][0-9]\+[ymwd]\)\?\)\?\)\|\%([<>=][0-9]\+[ymwd]\)\|\%(`[^`]\+`\)\|\%(\$[a-zA-Z0-9_-]\+\)\)" contains=muttrcShellString,muttrcVariable syn match muttrcSimplePat contained "!\?\^\?[~][bBcCefhHiLstxy]\s*" nextgroup=muttrcSimplePatRXContainer syn match muttrcSimplePat contained "!\?\^\?[%][bBcCefhHiLstxy]\s*" nextgroup=muttrcSimplePatString syn match muttrcSimplePat contained "!\?\^\?[=][bcCefhHiLstxy]\s*" nextgroup=muttrcSimplePatString syn region muttrcSimplePat contained keepend start=+!\?\^\?[~](+ end=+)+ contains=muttrcSimplePat "syn match muttrcSimplePat contained /'[^~=%][^']*/ contains=muttrcRXString syn region muttrcSimplePatString contained keepend start=+"+ end=+"+ skip=+\\"+ syn region muttrcSimplePatString contained keepend start=+'+ end=+'+ skip=+\\'+ syn region muttrcSimplePatString contained keepend start=+[^ "']+ skip=+\\ + end=+\s+re=e-1 syn region muttrcSimplePatRXContainer contained keepend start=+"+ end=+"+ skip=+\\"+ contains=muttrcRXString syn region muttrcSimplePatRXContainer contained keepend start=+'+ end=+'+ skip=+\\'+ contains=muttrcRXString syn region muttrcSimplePatRXContainer contained keepend start=+[^ "']+ skip=+\\ + end=+\s+re=e-1 contains=muttrcRXString syn match muttrcSimplePatMetas contained /[(|)]/ syn match muttrcOptSimplePat contained skipwhite /[~=%!(^].*/ contains=muttrcSimplePat,muttrcSimplePatMetas syn match muttrcOptSimplePat contained skipwhite /[^~=%!(^].*/ contains=muttrcRXString syn region muttrcOptPattern contained matchgroup=Type keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcOptSimplePat,muttrcUnHighlightSpace nextgroup=muttrcString,muttrcStringNL syn region muttrcOptPattern contained matchgroup=Type keepend skipwhite start=+'+ skip=+\\'+ end=+'+ contains=muttrcOptSimplePat,muttrcUnHighlightSpace nextgroup=muttrcString,muttrcStringNL syn region muttrcOptPattern contained keepend skipwhite start=+[~](+ end=+)+ skip=+\\)+ contains=muttrcSimplePat nextgroup=muttrcString,muttrcStringNL syn match muttrcOptPattern contained skipwhite /[~][A-Za-z]/ contains=muttrcSimplePat nextgroup=muttrcString,muttrcStringNL syn match muttrcOptPattern contained skipwhite /[.]/ nextgroup=muttrcString,muttrcStringNL " Keep muttrcPattern and muttrcOptPattern synchronized syn region muttrcPattern contained matchgroup=Type keepend skipwhite start=+"+ skip=+\\"+ end=+"+ contains=muttrcSimplePat,muttrcUnHighlightSpace,muttrcSimplePatMetas syn region muttrcPattern contained matchgroup=Type keepend skipwhite start=+'+ skip=+\\'+ end=+'+ contains=muttrcSimplePat,muttrcUnHighlightSpace,muttrcSimplePatMetas syn region muttrcPattern contained keepend skipwhite start=+[~](+ end=+)+ skip=+\\)+ contains=muttrcSimplePat syn match muttrcPattern contained skipwhite /[~][A-Za-z]/ contains=muttrcSimplePat syn match muttrcPattern contained skipwhite /[.]/ syn region muttrcPatternInner contained keepend start=+"[~=%!(^]+ms=s+1 skip=+\\"+ end=+"+me=e-1 contains=muttrcSimplePat,muttrcUnHighlightSpace,muttrcSimplePatMetas syn region muttrcPatternInner contained keepend start=+'[~=%!(^]+ms=s+1 skip=+\\'+ end=+'+me=e-1 contains=muttrcSimplePat,muttrcUnHighlightSpace,muttrcSimplePatMetas " Colour definitions takes object, foreground and background arguments (regexps excluded). syn match muttrcColorMatchCount contained "[0-9]\+" syn match muttrcColorMatchCountNL contained skipwhite skipnl "\s*\\$" nextgroup=muttrcColorMatchCount,muttrcColorMatchCountNL syn region muttrcColorRXPat contained start=+\s*'+ skip=+\\'+ end=+'\s*+ keepend skipwhite contains=muttrcRXString2 nextgroup=muttrcColorMatchCount,muttrcColorMatchCountNL syn region muttrcColorRXPat contained start=+\s*"+ skip=+\\"+ end=+"\s*+ keepend skipwhite contains=muttrcRXString2 nextgroup=muttrcColorMatchCount,muttrcColorMatchCountNL syn keyword muttrcColorField contained attachment body bold error hdrdefault header index indicator markers message normal quoted search signature status tilde tree underline syn match muttrcColorField contained "\<quoted\d\=\>" if use_mutt_sidebar == 1 syn keyword muttrcColorField contained sidebar_new endif syn keyword muttrcColor contained black blue cyan default green magenta red white yellow syn keyword muttrcColor contained brightblack brightblue brightcyan brightdefault brightgreen brightmagenta brightred brightwhite brightyellow syn match muttrcColor contained "\<\%(bright\)\=color\d\{1,3}\>" " Now for the structure of the color line syn match muttrcColorRXNL contained skipnl "\s*\\$" nextgroup=muttrcColorRXPat,muttrcColorRXNL syn match muttrcColorBG contained /\s*[$]\?\w\+/ contains=muttrcColor,muttrcVariable,muttrcUnHighlightSpace nextgroup=muttrcColorRXPat,muttrcColorRXNL syn match muttrcColorBGNL contained skipnl "\s*\\$" nextgroup=muttrcColorBG,muttrcColorBGNL syn match muttrcColorFG contained /\s*[$]\?\w\+/ contains=muttrcColor,muttrcVariable,muttrcUnHighlightSpace nextgroup=muttrcColorBG,muttrcColorBGNL syn match muttrcColorFGNL contained skipnl "\s*\\$" nextgroup=muttrcColorFG,muttrcColorFGNL syn match muttrcColorContext contained /\s*[$]\?\w\+/ contains=muttrcColorField,muttrcVariable,muttrcUnHighlightSpace nextgroup=muttrcColorFG,muttrcColorFGNL syn match muttrcColorNL contained skipnl "\s*\\$" nextgroup=muttrcColorContext,muttrcColorNL syn match muttrcColorKeyword contained /^\s*color\s\+/ nextgroup=muttrcColorContext,muttrcColorNL syn region muttrcColorLine keepend start=/^\s*color\s\+\%(index\|header\)\@!/ skip=+\\$+ end=+$+ contains=muttrcColorKeyword,muttrcComment,muttrcUnHighlightSpace " Now for the structure of the color index line syn match muttrcPatternNL contained skipnl "\s*\\$" nextgroup=muttrcPattern,muttrcPatternNL syn match muttrcColorBGI contained /\s*[$]\?\w\+\s*/ contains=muttrcColor,muttrcVariable,muttrcUnHighlightSpace nextgroup=muttrcPattern,muttrcPatternNL syn match muttrcColorBGNLI contained skipnl "\s*\\$" nextgroup=muttrcColorBGI,muttrcColorBGNLI syn match muttrcColorFGI contained /\s*[$]\?\w\+/ contains=muttrcColor,muttrcVariable,muttrcUnHighlightSpace nextgroup=muttrcColorBGI,muttrcColorBGNLI syn match muttrcColorFGNLI contained skipnl "\s*\\$" nextgroup=muttrcColorFGI,muttrcColorFGNLI syn match muttrcColorContextI contained /\s*\<index\>/ contains=muttrcUnHighlightSpace nextgroup=muttrcColorFGI,muttrcColorFGNLI syn match muttrcColorNLI contained skipnl "\s*\\$" nextgroup=muttrcColorContextI,muttrcColorNLI syn match muttrcColorKeywordI contained skipwhite /\<color\>/ nextgroup=muttrcColorContextI,muttrcColorNLI syn region muttrcColorLine keepend skipwhite start=/\<color\s\+index\>/ skip=+\\$+ end=+$+ contains=muttrcColorKeywordI,muttrcComment,muttrcUnHighlightSpace " Now for the structure of the color header line syn match muttrcRXPatternNL contained skipnl "\s*\\$" nextgroup=muttrcRXString,muttrcRXPatternNL syn match muttrcColorBGH contained /\s*[$]\?\w\+\s*/ contains=muttrcColor,muttrcVariable,muttrcUnHighlightSpace nextgroup=muttrcRXString,muttrcRXPatternNL syn match muttrcColorBGNLH contained skipnl "\s*\\$" nextgroup=muttrcColorBGH,muttrcColorBGNLH syn match muttrcColorFGH contained /\s*[$]\?\w\+/ contains=muttrcColor,muttrcVariable,muttrcUnHighlightSpace nextgroup=muttrcColorBGH,muttrcColorBGNLH syn match muttrcColorFGNLH contained skipnl "\s*\\$" nextgroup=muttrcColorFGH,muttrcColorFGNLH syn match muttrcColorContextH contained /\s*\<header\>/ contains=muttrcUnHighlightSpace nextgroup=muttrcColorFGH,muttrcColorFGNLH syn match muttrcColorNLH contained skipnl "\s*\\$" nextgroup=muttrcColorContextH,muttrcColorNLH syn match muttrcColorKeywordH contained skipwhite /\<color\>/ nextgroup=muttrcColorContextH,muttrcColorNLH syn region muttrcColorLine keepend skipwhite start=/\<color\s\+header\>/ skip=+\\$+ end=+$+ contains=muttrcColorKeywordH,muttrcComment,muttrcUnHighlightSpace " And now color's brother: syn region muttrcUnColorPatterns contained skipwhite start=+\s*'+ end=+'+ skip=+\\'+ contains=muttrcPattern nextgroup=muttrcUnColorPatterns,muttrcUnColorPatNL syn region muttrcUnColorPatterns contained skipwhite start=+\s*"+ end=+"+ skip=+\\"+ contains=muttrcPattern nextgroup=muttrcUnColorPatterns,muttrcUnColorPatNL syn match muttrcUnColorPatterns contained skipwhite /\s*[^'"\s]\S\*/ contains=muttrcPattern nextgroup=muttrcUnColorPatterns,muttrcUnColorPatNL syn match muttrcUnColorPatNL contained skipwhite skipnl /\s*\\$/ nextgroup=muttrcUnColorPatterns,muttrcUnColorPatNL syn match muttrcUnColorAll contained skipwhite /[*]/ syn match muttrcUnColorAPNL contained skipwhite skipnl /\s*\\$/ nextgroup=muttrcUnColorPatterns,muttrcUnColorAll,muttrcUnColorAPNL syn match muttrcUnColorIndex contained skipwhite /\s*index\s\+/ nextgroup=muttrcUnColorPatterns,muttrcUnColorAll,muttrcUnColorAPNL syn match muttrcUnColorIndexNL contained skipwhite skipnl /\s*\\$/ nextgroup=muttrcUnColorIndex,muttrcUnColorIndexNL syn match muttrcUnColorKeyword contained skipwhite /^\s*uncolor\s\+/ nextgroup=muttrcUnColorIndex,muttrcUnColorIndexNL syn region muttrcUnColorLine keepend start=+^\s*uncolor\s+ skip=+\\$+ end=+$+ contains=muttrcUnColorKeyword,muttrcComment,muttrcUnHighlightSpace " Mono are almost like color (ojects inherited from color) syn keyword muttrcMonoAttrib contained bold none normal reverse standout underline syn keyword muttrcMono contained mono skipwhite nextgroup=muttrcColorField syn match muttrcMonoLine "^\s*mono\s\+\S\+" skipwhite nextgroup=muttrcMonoAttrib contains=muttrcMono " 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_muttrc_syntax_inits") if version < 508 let did_muttrc_syntax_inits = 1 command -nargs=+ HiLink hi link <args> else command -nargs=+ HiLink hi def link <args> endif HiLink muttrcComment Comment HiLink muttrcEscape SpecialChar HiLink muttrcRXChars SpecialChar HiLink muttrcString String HiLink muttrcRXString String HiLink muttrcRXString2 String HiLink muttrcSpecial Special HiLink muttrcHooks Type HiLink muttrcGroupFlag Type HiLink muttrcGroupDef Macro HiLink muttrcAddrDef muttrcGroupFlag HiLink muttrcRXDef muttrcGroupFlag HiLink muttrcRXPat String HiLink muttrcAliasGroupName Macro HiLink muttrcAliasKey Identifier HiLink muttrcUnAliasKey Identifier HiLink muttrcAliasEncEmail Identifier HiLink muttrcAliasParens Type HiLink muttrcSetNumAssignment Number HiLink muttrcSetBoolAssignment Boolean HiLink muttrcSetQuadAssignment Boolean HiLink muttrcSetStrAssignment String HiLink muttrcEmail Special HiLink muttrcVariableInner Special HiLink muttrcEscapedVariable String HiLink muttrcHeader Type HiLink muttrcKeySpecial SpecialChar HiLink muttrcKey Type HiLink muttrcKeyName SpecialChar HiLink muttrcVarBool Identifier HiLink muttrcVarQuad Identifier HiLink muttrcVarNum Identifier HiLink muttrcVarStr Identifier HiLink muttrcMenu Identifier HiLink muttrcCommand Keyword HiLink muttrcMacroDescr String HiLink muttrcAction Macro HiLink muttrcBadAction Error HiLink muttrcBindFunction Error HiLink muttrcBindMenuList Error HiLink muttrcFunction Macro HiLink muttrcGroupKeyword muttrcCommand HiLink muttrcGroupLine Error HiLink muttrcSubscribeKeyword muttrcCommand HiLink muttrcSubscribeLine Error HiLink muttrcListsKeyword muttrcCommand HiLink muttrcListsLine Error HiLink muttrcAlternateKeyword muttrcCommand HiLink muttrcAlternatesLine Error HiLink muttrcAttachmentsLine muttrcCommand HiLink muttrcAttachmentsFlag Type HiLink muttrcAttachmentsMimeType String HiLink muttrcColorLine Error HiLink muttrcColorContext Error HiLink muttrcColorContextI Identifier HiLink muttrcColorContextH Identifier HiLink muttrcColorKeyword muttrcCommand HiLink muttrcColorKeywordI muttrcColorKeyword HiLink muttrcColorKeywordH muttrcColorKeyword HiLink muttrcColorField Identifier HiLink muttrcColor Type HiLink muttrcColorFG Error HiLink muttrcColorFGI Error HiLink muttrcColorFGH Error HiLink muttrcColorBG Error HiLink muttrcColorBGI Error HiLink muttrcColorBGH Error HiLink muttrcMonoAttrib muttrcColor HiLink muttrcMono muttrcCommand HiLink muttrcSimplePat Identifier HiLink muttrcSimplePatString Macro HiLink muttrcSimplePatMetas Special HiLink muttrcPattern Error HiLink muttrcUnColorLine Error HiLink muttrcUnColorKeyword muttrcCommand HiLink muttrcUnColorIndex Identifier HiLink muttrcShellString muttrcEscape HiLink muttrcRXHooks muttrcCommand HiLink muttrcRXHookNot Type HiLink muttrcPatHooks muttrcCommand HiLink muttrcPatHookNot Type HiLink muttrcFormatConditionals2 Type HiLink muttrcIndexFormatStr muttrcString HiLink muttrcIndexFormatEscapes muttrcEscape HiLink muttrcIndexFormatConditionals muttrcFormatConditionals2 HiLink muttrcAliasFormatStr muttrcString HiLink muttrcAliasFormatEscapes muttrcEscape HiLink muttrcAttachFormatStr muttrcString HiLink muttrcAttachFormatEscapes muttrcEscape HiLink muttrcAttachFormatConditionals muttrcFormatConditionals2 HiLink muttrcComposeFormatStr muttrcString HiLink muttrcComposeFormatEscapes muttrcEscape HiLink muttrcFolderFormatStr muttrcString HiLink muttrcFolderFormatEscapes muttrcEscape HiLink muttrcFolderFormatConditionals muttrcFormatConditionals2 HiLink muttrcMixFormatStr muttrcString HiLink muttrcMixFormatEscapes muttrcEscape HiLink muttrcMixFormatConditionals muttrcFormatConditionals2 HiLink muttrcPGPFormatStr muttrcString HiLink muttrcPGPFormatEscapes muttrcEscape HiLink muttrcPGPFormatConditionals muttrcFormatConditionals2 HiLink muttrcPGPCmdFormatStr muttrcString HiLink muttrcPGPCmdFormatEscapes muttrcEscape HiLink muttrcPGPCmdFormatConditionals muttrcFormatConditionals2 HiLink muttrcStatusFormatStr muttrcString HiLink muttrcStatusFormatEscapes muttrcEscape HiLink muttrcStatusFormatConditionals muttrcFormatConditionals2 HiLink muttrcPGPGetKeysFormatStr muttrcString HiLink muttrcPGPGetKeysFormatEscapes muttrcEscape HiLink muttrcSmimeFormatStr muttrcString HiLink muttrcSmimeFormatEscapes muttrcEscape HiLink muttrcSmimeFormatConditionals muttrcFormatConditionals2 HiLink muttrcTimeEscapes muttrcEscape HiLink muttrcPGPTimeEscapes muttrcEscape HiLink muttrcStrftimeEscapes Type HiLink muttrcStrftimeFormatStr muttrcString HiLink muttrcFormatErrors Error HiLink muttrcBindFunctionNL SpecialChar HiLink muttrcBindKeyNL SpecialChar HiLink muttrcBindMenuListNL SpecialChar HiLink muttrcMacroDescrNL SpecialChar HiLink muttrcMacroBodyNL SpecialChar HiLink muttrcMacroKeyNL SpecialChar HiLink muttrcMacroMenuListNL SpecialChar HiLink muttrcColorMatchCountNL SpecialChar HiLink muttrcColorNL SpecialChar HiLink muttrcColorRXNL SpecialChar HiLink muttrcColorBGNL SpecialChar HiLink muttrcColorFGNL SpecialChar HiLink muttrcAliasNameNL SpecialChar HiLink muttrcAliasENNL SpecialChar HiLink muttrcAliasNL SpecialChar HiLink muttrcUnAliasNL SpecialChar HiLink muttrcAliasGroupDefNL SpecialChar HiLink muttrcAliasEncEmailNL SpecialChar HiLink muttrcPatternNL SpecialChar HiLink muttrcUnColorPatNL SpecialChar HiLink muttrcUnColorAPNL SpecialChar HiLink muttrcUnColorIndexNL SpecialChar HiLink muttrcStringNL SpecialChar delcommand HiLink endif let b:current_syntax = "muttrc" let &cpo = s:cpo_save unlet s:cpo_save "EOF vim: ts=8 noet tw=100 sw=8 sts=0 ft=vim PK !L�\g�� � vim74/syntax/docbksgml.vimnu �[��� " Vim syntax file " Language: DocBook SGML " Maintainer: Johannes Zellner <johannes@zellner.org> " Last Change: Sam, 07 Sep 2002 17:20:46 CEST let b:docbk_type="sgml" runtime syntax/docbk.vim PK !L�\x�;�� �� vim74/syntax/xmodmap.vimnu �[��� " Vim syntax file " Language: xmodmap(1) definition file " Maintainer: Nikolai Weibull <now@bitwi.se> " Latest Revision: 2006-04-19 if exists("b:current_syntax") finish endif let s:cpo_save = &cpo set cpo&vim syn keyword xmodmapTodo contained TODO FIXME XXX NOTE syn region xmodmapComment display oneline start='^!' end='$' \ contains=xmodmapTodo,@Spell syn case ignore syn match xmodmapInt display '\<\d\+\>' syn match xmodmapHex display '\<0x\x\+\>' syn match xmodmapOctal display '\<0\o\+\>' syn match xmodmapOctalError display '\<0\o*[89]\d*' syn case match syn match xmodmapKeySym display '\<[A-Za-z]\>' " #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 " #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 " #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" let &cpo = s:cpo_save unlet s:cpo_save PK !L�\����# �# vim74/syntax/yaml.vimnu �[��� " Vim syntax file " Language: YAML (YAML Ain't Markup Language) 1.2 " Maintainer: Nikolai Pavlov <zyx.vim@gmail.com> " First author: Nikolai Weibull <now@bitwi.se> " Latest Revision: 2010-10-08 if exists('b:current_syntax') finish endif let s:cpo_save = &cpo set cpo&vim let s:ns_char = '\%(\%([\n\r\uFEFF \t]\)\@!\p\)' let s:ns_word_char = '\%(\w\|-\)' let s:ns_uri_char = '\%(%\x\x\|'.s:ns_word_char.'\|[#/;?:@&=+$,.!~*''()\[\]]\)' let s:ns_tag_char = '\%(%\x\x\|'.s:ns_word_char.'\|[#/;?:@&=+$.~*''()]\)' let s:c_ns_anchor_char = '\%(\%([\n\r\uFEFF \t,\[\]{}]\)\@!\p\)' let s:c_indicator = '[\-?:,\[\]{}#&*!|>''"%@`]' let s:c_flow_indicator = '[,\[\]{}]' let s:c_verbatim_tag = '!<'.s:ns_uri_char.'\+>' let s:c_named_tag_handle = '!'.s:ns_word_char.'\+!' let s:c_secondary_tag_handle = '!!' let s:c_primary_tag_handle = '!' let s:c_tag_handle = '\%('.s:c_named_tag_handle. \ '\|'.s:c_secondary_tag_handle. \ '\|'.s:c_primary_tag_handle.'\)' let s:c_ns_shorthand_tag = s:c_tag_handle . s:ns_tag_char.'\+' let s:c_non_specific_tag = '!' let s:c_ns_tag_property = s:c_verbatim_tag. \ '\|'.s:c_ns_shorthand_tag. \ '\|'.s:c_non_specific_tag let s:c_ns_anchor_name = s:c_ns_anchor_char.'\+' let s:c_ns_anchor_property = '&'.s:c_ns_anchor_name let s:c_ns_alias_node = '\*'.s:c_ns_anchor_name let s:ns_directive_name = s:ns_char.'\+' let s:ns_local_tag_prefix = '!'.s:ns_uri_char.'*' let s:ns_global_tag_prefix = s:ns_tag_char.s:ns_uri_char.'*' let s:ns_tag_prefix = s:ns_local_tag_prefix. \ '\|'.s:ns_global_tag_prefix let s:ns_plain_safe_out = s:ns_char let s:ns_plain_safe_in = '\%('.s:c_flow_indicator.'\@!'.s:ns_char.'\)' let s:ns_plain_first_in = '\%('.s:c_indicator.'\@!'.s:ns_char.'\|[?:\-]\%('.s:ns_plain_safe_in.'\)\@=\)' let s:ns_plain_first_out = '\%('.s:c_indicator.'\@!'.s:ns_char.'\|[?:\-]\%('.s:ns_plain_safe_out.'\)\@=\)' let s:ns_plain_char_in = '\%('.s:ns_char.'#\|:'.s:ns_plain_safe_in.'\|[:#]\@!'.s:ns_plain_safe_in.'\)' let s:ns_plain_char_out = '\%('.s:ns_char.'#\|:'.s:ns_plain_safe_out.'\|[:#]\@!'.s:ns_plain_safe_out.'\)' let s:ns_plain_out = s:ns_plain_first_out . s:ns_plain_char_out.'*' let s:ns_plain_in = s:ns_plain_first_in . s:ns_plain_char_in.'*' syn keyword yamlTodo contained TODO FIXME XXX NOTE syn region yamlComment display oneline start='\%\(^\|\s\)#' end='$' \ contains=yamlTodo execute 'syn region yamlDirective oneline start='.string('^\ze%'.s:ns_directive_name.'\s\+').' '. \ 'end="$" '. \ 'contains=yamlTAGDirective,'. \ 'yamlYAMLDirective,'. \ 'yamlReservedDirective '. \ 'keepend' syn match yamlTAGDirective '%TAG\s\+' contained nextgroup=yamlTagHandle execute 'syn match yamlTagHandle contained nextgroup=yamlTagPrefix '.string(s:c_tag_handle.'\s\+') execute 'syn match yamlTagPrefix contained nextgroup=yamlComment ' . string(s:ns_tag_prefix) syn match yamlYAMLDirective '%YAML\s\+' contained nextgroup=yamlYAMLVersion syn match yamlYAMLVersion '\d\+\.\d\+' contained nextgroup=yamlComment execute 'syn match yamlReservedDirective contained nextgroup=yamlComment '. \string('%\%(\%(TAG\|YAML\)\s\)\@!'.s:ns_directive_name) syn region yamlFlowString matchgroup=yamlFlowStringDelimiter start='"' skip='\\"' end='"' \ contains=yamlEscape \ nextgroup=yamlKeyValueDelimiter syn region yamlFlowString matchgroup=yamlFlowStringDelimiter start="'" skip="''" end="'" \ contains=yamlSingleEscape \ nextgroup=yamlKeyValueDelimiter syn match yamlEscape contained '\\\%([\\"abefnrtv\^0_ NLP\n]\|x\x\x\|u\x\{4}\|U\x\{8}\)' syn match yamlSingleEscape contained "''" syn match yamlBlockScalarHeader contained '\s\+\zs[|>]\%([+-]\=[1-9]\|[1-9]\=[+-]\)\=' syn cluster yamlFlow contains=yamlFlowString,yamlFlowMapping,yamlFlowCollection syn cluster yamlFlow add=yamlFlowMappingKey,yamlFlowMappingMerge syn cluster yamlFlow add=yamlConstant,yamlPlainScalar,yamlFloat syn cluster yamlFlow add=yamlTimestamp,yamlInteger,yamlMappingKeyStart syn cluster yamlFlow add=yamlComment syn region yamlFlowMapping matchgroup=yamlFlowIndicator start='{' end='}' contains=@yamlFlow syn region yamlFlowCollection matchgroup=yamlFlowIndicator start='\[' end='\]' contains=@yamlFlow execute 'syn match yamlPlainScalar /'.s:ns_plain_out.'/' execute 'syn match yamlPlainScalar contained /'.s:ns_plain_in.'/' syn match yamlMappingKeyStart '?\ze\s' syn match yamlMappingKeyStart '?' contained execute 'syn match yamlFlowMappingKey /\%#=1'.s:ns_plain_in.'\%(\s\+'.s:ns_plain_in.'\)*\ze\s*:/ contained '. \'nextgroup=yamlKeyValueDelimiter' syn match yamlFlowMappingMerge /<<\ze\s*:/ contained nextgroup=yamlKeyValueDelimiter syn match yamlBlockCollectionItemStart '^\s*\zs-\%(\s\+-\)*\s' nextgroup=yamlBlockMappingKey,yamlBlockMappingMerge " Use the old regexp engine, the NFA engine doesn't like all the \@ items. execute 'syn match yamlBlockMappingKey /\%#=1^\s*\zs'.s:ns_plain_out.'\%(\s\+'.s:ns_plain_out.'\)*\ze\s*:\%(\s\|$\)/ '. \'nextgroup=yamlKeyValueDelimiter' execute 'syn match yamlBlockMappingKey /\%#=1\s*\zs'.s:ns_plain_out.'\%(\s\+'.s:ns_plain_out.'\)*\ze\s*:\%(\s\|$\)/ contained '. \'nextgroup=yamlKeyValueDelimiter' syn match yamlBlockMappingMerge /^\s*\zs<<\ze:\%(\s\|$\)/ nextgroup=yamlKeyValueDelimiter syn match yamlBlockMappingMerge /<<\ze\s*:\%(\s\|$\)/ nextgroup=yamlKeyValueDelimiter contained syn match yamlKeyValueDelimiter /\s*:/ contained syn match yamlKeyValueDelimiter /\s*:/ contained syn keyword yamlConstant true True TRUE false False FALSE syn keyword yamlConstant null Null NULL syn match yamlConstant '\<\~\>' syn match yamlTimestamp /\%([\[\]{}, \t]\@!\p\)\@<!\%(\d\{4}-\d\d\=-\d\d\=\%(\%([Tt]\|\s\+\)\%(\d\d\=\):\%(\d\d\):\%(\d\d\)\%(\.\%(\d*\)\)\=\%(\s*\%(Z\|[+-]\d\d\=\%(:\d\d\)\=\)\)\=\)\=\)\%([\[\]{}, \t]\@!\p\)\@!/ syn match yamlInteger /\%([\[\]{}, \t]\@!\p\)\@<!\%([+-]\=\%(0\%(b[0-1_]\+\|[0-7_]\+\|x[0-9a-fA-F_]\+\)\=\|\%([1-9][0-9_]*\%(:[0-5]\=\d\)\+\)\)\|[1-9][0-9_]*\)\%([\[\]{}, \t]\@!\p\)\@!/ syn match yamlFloat /\%([\[\]{}, \t]\@!\p\)\@<!\%([+-]\=\%(\%(\d[0-9_]*\)\.[0-9_]*\%([eE][+-]\d\+\)\=\|\.[0-9_]\+\%([eE][-+][0-9]\+\)\=\|\d[0-9_]*\%(:[0-5]\=\d\)\+\.[0-9_]*\|\.\%(inf\|Inf\|INF\)\)\|\%(\.\%(nan\|NaN\|NAN\)\)\)\%([\[\]{}, \t]\@!\p\)\@!/ execute 'syn match yamlNodeTag '.string(s:c_ns_tag_property) execute 'syn match yamlAnchor '.string(s:c_ns_anchor_property) execute 'syn match yamlAlias '.string(s:c_ns_alias_node) syn match yamlDocumentStart '^---\ze\%(\s\|$\)' syn match yamlDocumentEnd '^\.\.\.\ze\%(\s\|$\)' hi def link yamlTodo Todo hi def link yamlComment Comment hi def link yamlDocumentStart PreProc hi def link yamlDocumentEnd PreProc hi def link yamlDirectiveName Keyword hi def link yamlTAGDirective yamlDirectiveName hi def link yamlTagHandle String hi def link yamlTagPrefix String hi def link yamlYAMLDirective yamlDirectiveName hi def link yamlReservedDirective Error hi def link yamlYAMLVersion Number hi def link yamlString String hi def link yamlFlowString yamlString hi def link yamlFlowStringDelimiter yamlString hi def link yamlEscape SpecialChar hi def link yamlSingleEscape SpecialChar hi def link yamlBlockCollectionItemStart Label hi def link yamlBlockMappingKey Identifier hi def link yamlBlockMappingMerge Special hi def link yamlFlowMappingKey Identifier hi def link yamlFlowMappingMerge Special hi def link yamlMappingKeyStart Special hi def link yamlFlowIndicator Special hi def link yamlKeyValueDelimiter Special hi def link yamlConstant Constant hi def link yamlAnchor Type hi def link yamlAlias Type hi def link yamlNodeTag Type hi def link yamlInteger Number hi def link yamlFloat Float hi def link yamlTimestamp Number let b:current_syntax = "yaml" unlet s:ns_word_char s:ns_uri_char s:c_verbatim_tag s:c_named_tag_handle s:c_secondary_tag_handle s:c_primary_tag_handle s:c_tag_handle s:ns_tag_char s:c_ns_shorthand_tag s:c_non_specific_tag s:c_ns_tag_property s:c_ns_anchor_char s:c_ns_anchor_name s:c_ns_anchor_property s:c_ns_alias_node s:ns_char s:ns_directive_name s:ns_local_tag_prefix s:ns_global_tag_prefix s:ns_tag_prefix s:c_indicator s:ns_plain_safe_out s:c_flow_indicator s:ns_plain_safe_in s:ns_plain_first_in s:ns_plain_first_out s:ns_plain_char_in s:ns_plain_char_out s:ns_plain_out s:ns_plain_in let &cpo = s:cpo_save unlet s:cpo_save PK !L�\P�*� *� vim74/syntax/tex.vimnu �[��� " Vim syntax file " Language: TeX " Maintainer: Charles E. Campbell <NdrchipO@ScampbellPfamily.AbizM> " Last Change: Jun 24, 2013 " Version: 79 " URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_TEX " " Notes: {{{1 " " 1. If you have a \begin{verbatim} that appears to overrun its boundaries, " use %stopzone. " " 2. Run-on equations ($..$ and $$..$$, particularly) can also be stopped " by suitable use of %stopzone. " " 3. If you have a slow computer, you may wish to modify " " syn sync maxlines=200 " syn sync minlines=50 " " to values that are more to your liking. " " 4. There is no match-syncing for $...$ and $$...$$; hence large " equation blocks constructed that way may exhibit syncing problems. " (there's no difference between begin/end patterns) " " 5. If you have the variable "g:tex_no_error" defined then none of the " lexical error-checking will be done. " " ie. let g:tex_no_error=1 " Version Clears: {{{1 " For version 5.x: Clear all syntax items " For version 6.x: Quit when a syntax file was already loaded if version < 600 syntax clear elseif exists("b:current_syntax") finish endif let s:keepcpo= &cpo set cpo&vim scriptencoding utf-8 " Define the default highlighting. {{{1 " 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_tex_syntax_inits") let did_tex_syntax_inits = 1 if version < 508 command -nargs=+ HiLink hi link <args> else command -nargs=+ HiLink hi def link <args> endif endif if exists("g:tex_no_error") && g:tex_no_error let s:tex_no_error= 1 endif " by default, enable all region-based highlighting let s:tex_fast= "bcmMprsSvV" if exists("g:tex_fast") if type(g:tex_fast) != 1 " g:tex_fast exists and is not a string, so " turn off all optional region-based highighting let s:tex_fast= "" else let s:tex_fast= g:tex_fast endif let s:tex_no_error= 1 else let s:tex_fast= "bcmMprsSvV" endif " let user determine which classes of concealment will be supported " a=accents/ligatures d=delimiters m=math symbols g=Greek s=superscripts/subscripts if !exists("g:tex_conceal") let s:tex_conceal= 'abdmgsS' else let s:tex_conceal= g:tex_conceal endif " Determine whether or not to use "*.sty" mode {{{1 " The user may override the normal determination by setting " g:tex_stylish to 1 (for "*.sty" mode) " or to 0 else (normal "*.tex" mode) " or on a buffer-by-buffer basis with b:tex_stylish let s:extfname=expand("%:e") if exists("g:tex_stylish") let b:tex_stylish= g:tex_stylish elseif !exists("b:tex_stylish") if s:extfname == "sty" || s:extfname == "cls" || s:extfname == "clo" || s:extfname == "dtx" || s:extfname == "ltx" let b:tex_stylish= 1 else let b:tex_stylish= 0 endif endif " handle folding {{{1 if !exists("g:tex_fold_enabled") let g:tex_fold_enabled= 0 elseif g:tex_fold_enabled && !has("folding") let g:tex_fold_enabled= 0 echomsg "Ignoring g:tex_fold_enabled=".g:tex_fold_enabled."; need to re-compile vim for +fold support" endif if g:tex_fold_enabled && &fdm == "manual" setl fdm=syntax endif " (La)TeX keywords: uses the characters 0-9,a-z,A-Z,192-255 only... {{{1 " but _ is the only one that causes problems. " One may override this iskeyword setting by providing " g:tex_isk if exists("g:tex_isk") exe "setlocal isk=".g:tex_isk else setlocal isk=48-57,a-z,A-Z,192-255 endif if b:tex_stylish setlocal isk+=@-@ endif if exists("g:tex_nospell") && g:tex_nospell && !exists("g:tex_comment_nospell") let g:tex_comment_nospell= 1 endif " Clusters: {{{1 " -------- syn cluster texCmdGroup contains=texCmdBody,texComment,texDefParm,texDelimiter,texDocType,texInput,texLength,texLigature,texMathDelim,texMathOper,texNewCmd,texNewEnv,texRefZone,texSection,texBeginEnd,texBeginEndName,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle if !exists("s:tex_no_error") syn cluster texCmdGroup add=texMathError endif syn cluster texEnvGroup contains=texMatcher,texMathDelim,texSpecialChar,texStatement syn cluster texFoldGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texInputFile,texLength,texLigature,texMatcher,texMathZoneV,texMathZoneW,texMathZoneX,texMathZoneY,texMathZoneZ,texNewCmd,texNewEnv,texOnlyMath,texOption,texParen,texRefZone,texSection,texBeginEnd,texSectionZone,texSpaceCode,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,@texMathZones,texTitle,texAbstract,texBoldStyle,texItalStyle,texNoSpell syn cluster texBoldGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texInputFile,texLength,texLigature,texMatcher,texMathZoneV,texMathZoneW,texMathZoneX,texMathZoneY,texMathZoneZ,texNewCmd,texNewEnv,texOnlyMath,texOption,texParen,texRefZone,texSection,texBeginEnd,texSectionZone,texSpaceCode,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,@texMathZones,texTitle,texAbstract,texBoldStyle,texBoldItalStyle,texNoSpell syn cluster texItalGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texInputFile,texLength,texLigature,texMatcher,texMathZoneV,texMathZoneW,texMathZoneX,texMathZoneY,texMathZoneZ,texNewCmd,texNewEnv,texOnlyMath,texOption,texParen,texRefZone,texSection,texBeginEnd,texSectionZone,texSpaceCode,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,@texMathZones,texTitle,texAbstract,texItalStyle,texItalBoldStyle,texNoSpell if !exists("g:tex_nospell") || !g:tex_nospell syn cluster texMatchGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMatcher,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,texInputFile,texOption,@Spell syn cluster texStyleGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,texInputFile,texOption,texStyleStatement,@Spell,texStyleMatcher else syn cluster texMatchGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMatcher,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,texInputFile,texOption syn cluster texStyleGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,texInputFile,texOption,texStyleStatement,texStyleMatcher endif syn cluster texPreambleMatchGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMatcher,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,texInputFile,texOption syn cluster texRefGroup contains=texMatcher,texComment,texDelimiter if !exists("tex_no_math") syn cluster texMathZones contains=texMathZoneV,texMathZoneW,texMathZoneX,texMathZoneY,texMathZoneZ syn cluster texMatchGroup add=@texMathZones syn cluster texMathDelimGroup contains=texMathDelimBad,texMathDelimKey,texMathDelimSet1,texMathDelimSet2 syn cluster texMathMatchGroup contains=@texMathZones,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMathDelim,texMathMatcher,texMathOper,texNewCmd,texNewEnv,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone syn cluster texMathZoneGroup contains=texComment,texDelimiter,texLength,texMathDelim,texMathMatcher,texMathOper,texMathSymbol,texMathText,texRefZone,texSpecialChar,texStatement,texTypeSize,texTypeStyle if !exists("s:tex_no_error") syn cluster texMathMatchGroup add=texMathError syn cluster texMathZoneGroup add=texMathError endif syn cluster texMathZoneGroup add=@NoSpell " following used in the \part \chapter \section \subsection \subsubsection " \paragraph \subparagraph \author \title highlighting syn cluster texDocGroup contains=texPartZone,@texPartGroup syn cluster texPartGroup contains=texChapterZone,texSectionZone,texParaZone syn cluster texChapterGroup contains=texSectionZone,texParaZone syn cluster texSectionGroup contains=texSubSectionZone,texParaZone syn cluster texSubSectionGroup contains=texSubSubSectionZone,texParaZone syn cluster texSubSubSectionGroup contains=texParaZone syn cluster texParaGroup contains=texSubParaZone if has("conceal") && &enc == 'utf-8' syn cluster texMathZoneGroup add=texGreek,texSuperscript,texSubscript,texMathSymbol syn cluster texMathMatchGroup add=texGreek,texSuperscript,texSubscript,texMathSymbol endif endif " Try to flag {} and () mismatches: {{{1 if s:tex_fast =~ 'm' if !exists("s:tex_no_error") syn region texMatcher matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]" end="}" contains=@texMatchGroup,texError syn region texMatcher matchgroup=Delimiter start="\[" end="]" contains=@texMatchGroup,texError,@NoSpell else syn region texMatcher matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]" end="}" contains=@texMatchGroup syn region texMatcher matchgroup=Delimiter start="\[" end="]" contains=@texMatchGroup endif if !exists("g:tex_nospell") || !g:tex_nospell syn region texParen start="(" end=")" contains=@texMatchGroup,@Spell else syn region texParen start="(" end=")" contains=@texMatchGroup endif endif if !exists("s:tex_no_error") syn match texError "[}\])]" endif if s:tex_fast =~ 'M' if !exists("tex_no_math") if !exists("s:tex_no_error") syn match texMathError "}" contained endif syn region texMathMatcher matchgroup=Delimiter start="{" skip="\\\\\|\\}" end="}" end="%stopzone\>" contained contains=@texMathMatchGroup endif endif " TeX/LaTeX keywords: {{{1 " Instead of trying to be All Knowing, I just match \..alphameric.. " Note that *.tex files may not have "@" in their \commands if exists("g:tex_tex") || b:tex_stylish syn match texStatement "\\[a-zA-Z@]\+" else syn match texStatement "\\\a\+" if !exists("s:tex_no_error") syn match texError "\\\a*@[a-zA-Z@]*" endif endif " TeX/LaTeX delimiters: {{{1 syn match texDelimiter "&" syn match texDelimiter "\\\\" syn match texDelimiter "[{}]" " Tex/Latex Options: {{{1 syn match texOption "[^\\]\zs#\d\+\|^#\d\+" " texAccent (tnx to Karim Belabas) avoids annoying highlighting for accents: {{{1 if b:tex_stylish syn match texAccent "\\[bcdvuH][^a-zA-Z@]"me=e-1 syn match texLigature "\\\([ijolL]\|ae\|oe\|ss\|AA\|AE\|OE\)[^a-zA-Z@]"me=e-1 else syn match texAccent "\\[bcdvuH]\A"me=e-1 syn match texLigature "\\\([ijolL]\|ae\|oe\|ss\|AA\|AE\|OE\)\A"me=e-1 endif syn match texAccent "\\[bcdvuH]$" syn match texAccent +\\[=^.\~"`']+ syn match texAccent +\\['=t'.c^ud"vb~Hr]{\a}+ syn match texLigature "\\\([ijolL]\|ae\|oe\|ss\|AA\|AE\|OE\)$" " \begin{}/\end{} section markers: {{{1 syn match texBeginEnd "\\begin\>\|\\end\>" nextgroup=texBeginEndName if s:tex_fast =~ 'm' syn region texBeginEndName matchgroup=Delimiter start="{" end="}" contained nextgroup=texBeginEndModifier contains=texComment syn region texBeginEndModifier matchgroup=Delimiter start="\[" end="]" contained contains=texComment,@NoSpell endif " \documentclass, \documentstyle, \usepackage: {{{1 syn match texDocType "\\documentclass\>\|\\documentstyle\>\|\\usepackage\>" nextgroup=texBeginEndName,texDocTypeArgs if s:tex_fast =~ 'm' syn region texDocTypeArgs matchgroup=Delimiter start="\[" end="]" contained nextgroup=texBeginEndName contains=texComment,@NoSpell endif " Preamble syntax-based folding support: {{{1 if g:tex_fold_enabled && has("folding") syn region texPreamble transparent fold start='\zs\\documentclass\>' end='\ze\\begin{document}' contains=texStyle,@texPreambleMatchGroup endif " TeX input: {{{1 syn match texInput "\\input\s\+[a-zA-Z/.0-9_^]\+"hs=s+7 contains=texStatement syn match texInputFile "\\include\(graphics\|list\)\=\(\[.\{-}\]\)\=\s*{.\{-}}" contains=texStatement,texInputCurlies,texInputFileOpt syn match texInputFile "\\\(epsfig\|input\|usepackage\)\s*\(\[.*\]\)\={.\{-}}" contains=texStatement,texInputCurlies,texInputFileOpt syn match texInputCurlies "[{}]" contained if s:tex_fast =~ 'm' syn region texInputFileOpt matchgroup=Delimiter start="\[" end="\]" contained contains=texComment endif " Type Styles (LaTeX 2.09): {{{1 syn match texTypeStyle "\\rm\>" syn match texTypeStyle "\\em\>" syn match texTypeStyle "\\bf\>" syn match texTypeStyle "\\it\>" syn match texTypeStyle "\\sl\>" syn match texTypeStyle "\\sf\>" syn match texTypeStyle "\\sc\>" syn match texTypeStyle "\\tt\>" " Type Styles: attributes, commands, families, etc (LaTeX2E): {{{1 if s:tex_conceal !~ 'b' syn match texTypeStyle "\\textbf\>" syn match texTypeStyle "\\textit\>" endif syn match texTypeStyle "\\textmd\>" syn match texTypeStyle "\\textrm\>" syn match texTypeStyle "\\textsc\>" syn match texTypeStyle "\\textsf\>" syn match texTypeStyle "\\textsl\>" syn match texTypeStyle "\\texttt\>" syn match texTypeStyle "\\textup\>" syn match texTypeStyle "\\emph\>" syn match texTypeStyle "\\mathbb\>" syn match texTypeStyle "\\mathbf\>" syn match texTypeStyle "\\mathcal\>" syn match texTypeStyle "\\mathfrak\>" syn match texTypeStyle "\\mathit\>" syn match texTypeStyle "\\mathnormal\>" syn match texTypeStyle "\\mathrm\>" syn match texTypeStyle "\\mathsf\>" syn match texTypeStyle "\\mathtt\>" syn match texTypeStyle "\\rmfamily\>" syn match texTypeStyle "\\sffamily\>" syn match texTypeStyle "\\ttfamily\>" syn match texTypeStyle "\\itshape\>" syn match texTypeStyle "\\scshape\>" syn match texTypeStyle "\\slshape\>" syn match texTypeStyle "\\upshape\>" syn match texTypeStyle "\\bfseries\>" syn match texTypeStyle "\\mdseries\>" " Some type sizes: {{{1 syn match texTypeSize "\\tiny\>" syn match texTypeSize "\\scriptsize\>" syn match texTypeSize "\\footnotesize\>" syn match texTypeSize "\\small\>" syn match texTypeSize "\\normalsize\>" syn match texTypeSize "\\large\>" syn match texTypeSize "\\Large\>" syn match texTypeSize "\\LARGE\>" syn match texTypeSize "\\huge\>" syn match texTypeSize "\\Huge\>" " Spacecodes (TeX'isms): {{{1 " \mathcode`\^^@="2201 \delcode`\(="028300 \sfcode`\)=0 \uccode`X=`X \lccode`x=`x syn match texSpaceCode "\\\(math\|cat\|del\|lc\|sf\|uc\)code`"me=e-1 nextgroup=texSpaceCodeChar syn match texSpaceCodeChar "`\\\=.\(\^.\)\==\(\d\|\"\x\{1,6}\|`.\)" contained " Sections, subsections, etc: {{{1 if s:tex_fast =~ 'p' if !exists("g:tex_nospell") || !g:tex_nospell if g:tex_fold_enabled && has("folding") syn region texDocZone matchgroup=texSection start='\\begin\s*{\s*document\s*}' end='\\end\s*{\s*document\s*}' fold contains=@texFoldGroup,@texDocGroup,@Spell syn region texPartZone matchgroup=texSection start='\\part\>' end='\ze\s*\\\%(part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup,@texPartGroup,@Spell syn region texChapterZone matchgroup=texSection start='\\chapter\>' end='\ze\s*\\\%(chapter\>\|part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup,@texChapterGroup,@Spell syn region texSectionZone matchgroup=texSection start='\\section\>' end='\ze\s*\\\%(section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup,@texSectionGroup,@Spell syn region texSubSectionZone matchgroup=texSection start='\\subsection\>' end='\ze\s*\\\%(\%(sub\)\=section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup,@texSubSectionGroup,@Spell syn region texSubSubSectionZone matchgroup=texSection start='\\subsubsection\>' end='\ze\s*\\\%(\%(sub\)\{,2}section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup,@texSubSubSectionGroup,@Spell syn region texParaZone matchgroup=texSection start='\\paragraph\>' end='\ze\s*\\\%(paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup,@texParaGroup,@Spell syn region texSubParaZone matchgroup=texSection start='\\subparagraph\>' end='\ze\s*\\\%(\%(sub\)\=paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup,@Spell syn region texTitle matchgroup=texSection start='\\\%(author\|title\)\>\s*{' end='}' fold contains=@texFoldGroup,@Spell syn region texAbstract matchgroup=texSection start='\\begin\s*{\s*abstract\s*}' end='\\end\s*{\s*abstract\s*}' fold contains=@texFoldGroup,@Spell else syn region texDocZone matchgroup=texSection start='\\begin\s*{\s*document\s*}' end='\\end\s*{\s*document\s*}' contains=@texFoldGroup,@texDocGroup,@Spell syn region texPartZone matchgroup=texSection start='\\part\>' end='\ze\s*\\\%(part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texPartGroup,@Spell syn region texChapterZone matchgroup=texSection start='\\chapter\>' end='\ze\s*\\\%(chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texChapterGroup,@Spell syn region texSectionZone matchgroup=texSection start='\\section\>' end='\ze\s*\\\%(section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texSectionGroup,@Spell syn region texSubSectionZone matchgroup=texSection start='\\subsection\>' end='\ze\s*\\\%(\%(sub\)\=section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texSubSectionGroup,@Spell syn region texSubSubSectionZone matchgroup=texSection start='\\subsubsection\>' end='\ze\s*\\\%(\%(sub\)\{,2}section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texSubSubSectionGroup,@Spell syn region texParaZone matchgroup=texSection start='\\paragraph\>' end='\ze\s*\\\%(paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texParaGroup,@Spell syn region texSubParaZone matchgroup=texSection start='\\subparagraph\>' end='\ze\s*\\\%(\%(sub\)\=paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@Spell syn region texTitle matchgroup=texSection start='\\\%(author\|title\)\>\s*{' end='}' contains=@texFoldGroup,@Spell syn region texAbstract matchgroup=texSection start='\\begin\s*{\s*abstract\s*}' end='\\end\s*{\s*abstract\s*}' contains=@texFoldGroup,@Spell endif else if g:tex_fold_enabled && has("folding") syn region texDocZone matchgroup=texSection start='\\begin\s*{\s*document\s*}' end='\\end\s*{\s*document\s*}' fold contains=@texFoldGroup,@texDocGroup syn region texPartZone matchgroup=texSection start='\\part\>' end='\ze\s*\\\%(part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup,@texPartGroup syn region texChapterZone matchgroup=texSection start='\\chapter\>' end='\ze\s*\\\%(chapter\>\|part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup,@texChapterGroup syn region texSectionZone matchgroup=texSection start='\\section\>' end='\ze\s*\\\%(section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup,@texSectionGroup syn region texSubSectionZone matchgroup=texSection start='\\subsection\>' end='\ze\s*\\\%(\%(sub\)\=section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup,@texSubSectionGroup syn region texSubSubSectionZone matchgroup=texSection start='\\subsubsection\>' end='\ze\s*\\\%(\%(sub\)\{,2}section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup,@texSubSubSectionGroup syn region texParaZone matchgroup=texSection start='\\paragraph\>' end='\ze\s*\\\%(paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup,@texParaGroup syn region texSubParaZone matchgroup=texSection start='\\subparagraph\>' end='\ze\s*\\\%(\%(sub\)\=paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup syn region texTitle matchgroup=texSection start='\\\%(author\|title\)\>\s*{' end='}' fold contains=@texFoldGroup syn region texAbstract matchgroup=texSection start='\\begin\s*{\s*abstract\s*}' end='\\end\s*{\s*abstract\s*}' fold contains=@texFoldGroup else syn region texDocZone matchgroup=texSection start='\\begin\s*{\s*document\s*}' end='\\end\s*{\s*document\s*}' contains=@texFoldGroup,@texDocGroup syn region texPartZone matchgroup=texSection start='\\part\>' end='\ze\s*\\\%(part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texPartGroup syn region texChapterZone matchgroup=texSection start='\\chapter\>' end='\ze\s*\\\%(chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texChapterGroup syn region texSectionZone matchgroup=texSection start='\\section\>' end='\ze\s*\\\%(section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texSectionGroup syn region texSubSectionZone matchgroup=texSection start='\\subsection\>' end='\ze\s*\\\%(\%(sub\)\=section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texSubSectionGroup syn region texSubSubSectionZone matchgroup=texSection start='\\subsubsection\>' end='\ze\s*\\\%(\%(sub\)\{,2}section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texSubSubSectionGroup syn region texParaZone matchgroup=texSection start='\\paragraph\>' end='\ze\s*\\\%(paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texParaGroup syn region texSubParaZone matchgroup=texSection start='\\subparagraph\>' end='\ze\s*\\\%(\%(sub\)\=paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup syn region texTitle matchgroup=texSection start='\\\%(author\|title\)\>\s*{' end='}' contains=@texFoldGroup syn region texAbstract matchgroup=texSection start='\\begin\s*{\s*abstract\s*}' end='\\end\s*{\s*abstract\s*}' contains=@texFoldGroup endif endif endif " particular support for bold and italic {{{1 if s:tex_fast =~ 'b' if s:tex_conceal =~ 'b' syn region texBoldStyle matchgroup=texTypeStyle start="\\textbf\s*{" end="}" concealends contains=@texBoldGroup syn region texBoldItalStyle matchgroup=texTypeStyle start="\\textit\s*{" end="}" concealends contains=@texItalGroup syn region texItalStyle matchgroup=texTypeStyle start="\\textit\s*{" end="}" concealends contains=@texItalGroup syn region texItalBoldStyle matchgroup=texTypeStyle start="\\textbf\s*{" end="}" concealends contains=@texBoldGroup endif endif " Bad Math (mismatched): {{{1 if !exists("g:tex_no_math") && !exists("s:tex_no_error") syn match texBadMath "\\end\s*{\s*\(array\|gathered\|bBpvV]matrix\|split\|subequations\|smallmatrix\|xxalignat\)\s*}" syn match texBadMath "\\end\s*{\s*\(align\|alignat\|displaymath\|displaymath\|eqnarray\|equation\|flalign\|gather\|math\|multline\|xalignat\)\*\=\s*}" syn match texBadMath "\\[\])]" endif " Math Zones: {{{1 if !exists("tex_no_math") " TexNewMathZone: function creates a mathzone with the given suffix and mathzone name. {{{2 " Starred forms are created if starform is true. Starred " forms have syntax group and synchronization groups with a " "S" appended. Handles: cluster, syntax, sync, and HiLink. fun! TexNewMathZone(sfx,mathzone,starform) let grpname = "texMathZone".a:sfx let syncname = "texSyncMathZone".a:sfx if g:tex_fold_enabled let foldcmd= " fold" else let foldcmd= "" endif exe "syn cluster texMathZones add=".grpname if s:tex_fast =~ 'M' exe 'syn region '.grpname.' start='."'".'\\begin\s*{\s*'.a:mathzone.'\s*}'."'".' end='."'".'\\end\s*{\s*'.a:mathzone.'\s*}'."'".' keepend contains=@texMathZoneGroup'.foldcmd exe 'syn sync match '.syncname.' grouphere '.grpname.' "\\begin\s*{\s*'.a:mathzone.'\*\s*}"' exe 'syn sync match '.syncname.' grouphere '.grpname.' "\\begin\s*{\s*'.a:mathzone.'\*\s*}"' endif exe 'hi def link '.grpname.' texMath' if a:starform let grpname = "texMathZone".a:sfx.'S' let syncname = "texSyncMathZone".a:sfx.'S' exe "syn cluster texMathZones add=".grpname if s:tex_fast =~ 'M' exe 'syn region '.grpname.' start='."'".'\\begin\s*{\s*'.a:mathzone.'\*\s*}'."'".' end='."'".'\\end\s*{\s*'.a:mathzone.'\*\s*}'."'".' keepend contains=@texMathZoneGroup'.foldcmd exe 'syn sync match '.syncname.' grouphere '.grpname.' "\\begin\s*{\s*'.a:mathzone.'\*\s*}"' exe 'syn sync match '.syncname.' grouphere '.grpname.' "\\begin\s*{\s*'.a:mathzone.'\*\s*}"' endif exe 'hi def link '.grpname.' texMath' endif endfun " Standard Math Zones: {{{2 call TexNewMathZone("A","align",1) call TexNewMathZone("B","alignat",1) call TexNewMathZone("C","displaymath",1) call TexNewMathZone("D","eqnarray",1) call TexNewMathZone("E","equation",1) call TexNewMathZone("F","flalign",1) call TexNewMathZone("G","gather",1) call TexNewMathZone("H","math",1) call TexNewMathZone("I","multline",1) call TexNewMathZone("J","subequations",0) call TexNewMathZone("K","xalignat",1) call TexNewMathZone("L","xxalignat",0) " Inline Math Zones: {{{2 if s:tex_fast =~ 'M' if has("conceal") && &enc == 'utf-8' && s:tex_conceal =~ 'd' syn region texMathZoneV matchgroup=Delimiter start="\\(" matchgroup=Delimiter end="\\)\|%stopzone\>" keepend concealends contains=@texMathZoneGroup syn region texMathZoneW matchgroup=Delimiter start="\\\[" matchgroup=Delimiter end="\\]\|%stopzone\>" keepend concealends contains=@texMathZoneGroup syn region texMathZoneX matchgroup=Delimiter start="\$" skip="\\\\\|\\\$" matchgroup=Delimiter end="\$" end="%stopzone\>" concealends contains=@texMathZoneGroup syn region texMathZoneY matchgroup=Delimiter start="\$\$" matchgroup=Delimiter end="\$\$" end="%stopzone\>" concealends keepend contains=@texMathZoneGroup else syn region texMathZoneV matchgroup=Delimiter start="\\(" matchgroup=Delimiter end="\\)\|%stopzone\>" keepend contains=@texMathZoneGroup syn region texMathZoneW matchgroup=Delimiter start="\\\[" matchgroup=Delimiter end="\\]\|%stopzone\>" keepend contains=@texMathZoneGroup syn region texMathZoneX matchgroup=Delimiter start="\$" skip="\\\\\|\\\$" matchgroup=Delimiter end="\$" end="%stopzone\>" contains=@texMathZoneGroup syn region texMathZoneY matchgroup=Delimiter start="\$\$" matchgroup=Delimiter end="\$\$" end="%stopzone\>" keepend contains=@texMathZoneGroup endif syn region texMathZoneZ matchgroup=texStatement start="\\ensuremath\s*{" matchgroup=texStatement end="}" end="%stopzone\>" contains=@texMathZoneGroup endif syn match texMathOper "[_^=]" contained " Text Inside Math Zones: {{{2 if s:tex_fast =~ 'M' if !exists("g:tex_nospell") || !g:tex_nospell syn region texMathText matchgroup=texStatement start='\\\(\(inter\)\=text\|mbox\)\s*{' end='}' contains=@texFoldGroup,@Spell else syn region texMathText matchgroup=texStatement start='\\\(\(inter\)\=text\|mbox\)\s*{' end='}' contains=@texFoldGroup endif endif " \left..something.. and \right..something.. support: {{{2 syn match texMathDelimBad contained "\S" if has("conceal") && &enc == 'utf-8' && s:tex_conceal =~ 'm' syn match texMathDelim contained "\\left\\{\>" skipwhite nextgroup=texMathDelimSet1,texMathDelimSet2,texMathDelimBad contains=texMathSymbol cchar={ syn match texMathDelim contained "\\right\\}\>" skipwhite nextgroup=texMathDelimSet1,texMathDelimSet2,texMathDelimBad contains=texMathSymbol cchar=} let s:texMathDelimList=[ \ ['<' , '<'] , \ ['>' , '>'] , \ ['(' , '('] , \ [')' , ')'] , \ ['\[' , '['] , \ [']' , ']'] , \ ['\\{' , '{'] , \ ['\\}' , '}'] , \ ['|' , '|'] , \ ['\\|' , '‖'] , \ ['\\backslash' , '\'] , \ ['\\downarrow' , '↓'] , \ ['\\Downarrow' , '⇓'] , \ ['\\langle' , '<'] , \ ['\\lbrace' , '['] , \ ['\\lceil' , '⌈'] , \ ['\\lfloor' , '⌊'] , \ ['\\lgroup' , '⌊'] , \ ['\\lmoustache' , '⎛'] , \ ['\\rangle' , '>'] , \ ['\\rbrace' , ']'] , \ ['\\rceil' , '⌉'] , \ ['\\rfloor' , '⌋'] , \ ['\\rgroup' , '⌋'] , \ ['\\rmoustache' , '⎞'] , \ ['\\uparrow' , '↑'] , \ ['\\Uparrow' , '↑'] , \ ['\\updownarrow', '↕'] , \ ['\\Updownarrow', '⇕']] syn match texMathDelim '\\[bB]igg\=[lr]' contained nextgroup=texMathDelimBad for texmath in s:texMathDelimList exe "syn match texMathDelim '\\\\[bB]igg\\=[lr]\\=".texmath[0]."' contained conceal cchar=".texmath[1] endfor else syn match texMathDelim contained "\\\(left\|right\)\>" skipwhite nextgroup=texMathDelimSet1,texMathDelimSet2,texMathDelimBad syn match texMathDelim contained "\\[bB]igg\=[lr]\=\>" skipwhite nextgroup=texMathDelimSet1,texMathDelimSet2,texMathDelimBad syn match texMathDelimSet2 contained "\\" nextgroup=texMathDelimKey,texMathDelimBad syn match texMathDelimSet1 contained "[<>()[\]|/.]\|\\[{}|]" syn keyword texMathDelimKey contained backslash lceil lVert rgroup uparrow syn keyword texMathDelimKey contained downarrow lfloor rangle rmoustache Uparrow syn keyword texMathDelimKey contained Downarrow lgroup rbrace rvert updownarrow syn keyword texMathDelimKey contained langle lmoustache rceil rVert Updownarrow syn keyword texMathDelimKey contained lbrace lvert rfloor endif syn match texMathDelim contained "\\\(left\|right\)arrow\>\|\<\([aA]rrow\|brace\)\=vert\>" syn match texMathDelim contained "\\lefteqn\>" endif " Special TeX characters ( \$ \& \% \# \{ \} \_ \S \P ) : {{{1 syn match texSpecialChar "\\[$&%#{}_]" if b:tex_stylish syn match texSpecialChar "\\[SP@][^a-zA-Z@]"me=e-1 else syn match texSpecialChar "\\[SP@]\A"me=e-1 endif syn match texSpecialChar "\\\\" if !exists("tex_no_math") syn match texOnlyMath "[_^]" endif syn match texSpecialChar "\^\^[0-9a-f]\{2}\|\^\^\S" if s:tex_conceal !~ 'S' syn match texSpecialChar '\\glq\>' contained conceal cchar=‚ syn match texSpecialChar '\\grq\>' contained conceal cchar=‘ syn match texSpecialChar '\\glqq\>' contained conceal cchar=„ syn match texSpecialChar '\\grqq\>' contained conceal cchar=“ syn match texSpecialChar '\\hyp\>' contained conceal cchar=- endif " Comments: {{{1 " Normal TeX LaTeX : %.... " Documented TeX Format: ^^A... -and- leading %s (only) if !exists("g:tex_comment_nospell") || !g:tex_comment_nospell syn cluster texCommentGroup contains=texTodo,@Spell else syn cluster texCommentGroup contains=texTodo,@NoSpell endif syn case ignore syn keyword texTodo contained combak fixme todo xxx syn case match if s:extfname == "dtx" syn match texComment "\^\^A.*$" contains=@texCommentGroup syn match texComment "^%\+" contains=@texCommentGroup else if g:tex_fold_enabled " allows syntax-folding of 2 or more contiguous comment lines " single-line comments are not folded syn match texComment "%.*$" contains=@texCommentGroup if s:tex_fast =~ 'c' syn region texComment start="^\zs\s*%.*\_s*%" skip="^\s*%" end='^\ze\s*[^%]' fold syn region texNoSpell contained fold matchgroup=texComment start="%\s*nospell\s*{" end="%\s*nospell\s*}" contains=@texFoldGroup,@NoSpell endif else syn match texComment "%.*$" contains=@texCommentGroup if s:tex_fast =~ 'c' syn region texNoSpell contained matchgroup=texComment start="%\s*nospell\s*{" end="%\s*nospell\s*}" contains=@texFoldGroup,@NoSpell endif endif endif " Separate lines used for verb` and verb# so that the end conditions {{{1 " will appropriately terminate. " If g:tex_verbspell exists, then verbatim texZones will permit spellchecking there. if s:tex_fast =~ 'v' if exists("g:tex_verbspell") && g:tex_verbspell syn region texZone start="\\begin{[vV]erbatim}" end="\\end{[vV]erbatim}\|%stopzone\>" contains=@Spell " listings package: syn region texZone start="\\begin{lstlisting}" end="\\end{lstlisting}\|%stopzone\>" contains=@Spell if version < 600 syn region texZone start="\\verb\*\=`" end="`\|%stopzone\>" contains=@Spell syn region texZone start="\\verb\*\=#" end="#\|%stopzone\>" contains=@Spell else if b:tex_stylish syn region texZone start="\\verb\*\=\z([^\ta-zA-Z@]\)" end="\z1\|%stopzone\>" contains=@Spell else syn region texZone start="\\verb\*\=\z([^\ta-zA-Z]\)" end="\z1\|%stopzone\>" contains=@Spell endif endif else syn region texZone start="\\begin{[vV]erbatim}" end="\\end{[vV]erbatim}\|%stopzone\>" if version < 600 syn region texZone start="\\verb\*\=`" end="`\|%stopzone\>" syn region texZone start="\\verb\*\=#" end="#\|%stopzone\>" else if b:tex_stylish syn region texZone start="\\verb\*\=\z([^\ta-zA-Z@]\)" end="\z1\|%stopzone\>" else syn region texZone start="\\verb\*\=\z([^\ta-zA-Z]\)" end="\z1\|%stopzone\>" endif endif endif endif " Tex Reference Zones: {{{1 if s:tex_fast =~ 'r' syn region texZone matchgroup=texStatement start="@samp{" end="}\|%stopzone\>" contains=@texRefGroup syn region texRefZone matchgroup=texStatement start="\\nocite{" end="}\|%stopzone\>" contains=@texRefGroup syn region texRefZone matchgroup=texStatement start="\\bibliography{" end="}\|%stopzone\>" contains=@texRefGroup syn region texRefZone matchgroup=texStatement start="\\label{" end="}\|%stopzone\>" contains=@texRefGroup syn region texRefZone matchgroup=texStatement start="\\\(page\|eq\)ref{" end="}\|%stopzone\>" contains=@texRefGroup syn region texRefZone matchgroup=texStatement start="\\v\=ref{" end="}\|%stopzone\>" contains=@texRefGroup syn region texRefOption contained matchgroup=Delimiter start='\[' end=']' contains=@texRefGroup,texRefZone nextgroup=texRefOption,texCite syn region texCite contained matchgroup=Delimiter start='{' end='}' contains=@texRefGroup,texRefZone,texCite endif syn match texRefZone '\\cite\%([tp]\*\=\)\=' nextgroup=texRefOption,texCite " Handle newcommand, newenvironment : {{{1 syn match texNewCmd "\\newcommand\>" nextgroup=texCmdName skipwhite skipnl if s:tex_fast =~ 'V' syn region texCmdName contained matchgroup=Delimiter start="{"rs=s+1 end="}" nextgroup=texCmdArgs,texCmdBody skipwhite skipnl syn region texCmdArgs contained matchgroup=Delimiter start="\["rs=s+1 end="]" nextgroup=texCmdBody skipwhite skipnl syn region texCmdBody contained matchgroup=Delimiter start="{"rs=s+1 skip="\\\\\|\\[{}]" matchgroup=Delimiter end="}" contains=@texCmdGroup endif syn match texNewEnv "\\newenvironment\>" nextgroup=texEnvName skipwhite skipnl if s:tex_fast =~ 'V' syn region texEnvName contained matchgroup=Delimiter start="{"rs=s+1 end="}" nextgroup=texEnvBgn skipwhite skipnl syn region texEnvBgn contained matchgroup=Delimiter start="{"rs=s+1 end="}" nextgroup=texEnvEnd skipwhite skipnl contains=@texEnvGroup syn region texEnvEnd contained matchgroup=Delimiter start="{"rs=s+1 end="}" skipwhite skipnl contains=@texEnvGroup endif " Definitions/Commands: {{{1 syn match texDefCmd "\\def\>" nextgroup=texDefName skipwhite skipnl if b:tex_stylish syn match texDefName contained "\\[a-zA-Z@]\+" nextgroup=texDefParms,texCmdBody skipwhite skipnl syn match texDefName contained "\\[^a-zA-Z@]" nextgroup=texDefParms,texCmdBody skipwhite skipnl else syn match texDefName contained "\\\a\+" nextgroup=texDefParms,texCmdBody skipwhite skipnl syn match texDefName contained "\\\A" nextgroup=texDefParms,texCmdBody skipwhite skipnl endif syn match texDefParms contained "#[^{]*" contains=texDefParm nextgroup=texCmdBody skipwhite skipnl syn match texDefParm contained "#\d\+" " TeX Lengths: {{{1 syn match texLength "\<\d\+\([.,]\d\+\)\=\s*\(true\)\=\s*\(bp\|cc\|cm\|dd\|em\|ex\|in\|mm\|pc\|pt\|sp\)\>" " TeX String Delimiters: {{{1 syn match texString "\(``\|''\|,,\)" " makeatletter -- makeatother sections if !exists("s:tex_no_error") if s:tex_fast =~ 'S' syn region texStyle matchgroup=texStatement start='\\makeatletter' end='\\makeatother' contains=@texStyleGroup contained endif syn match texStyleStatement "\\[a-zA-Z@]\+" contained if s:tex_fast =~ 'S' syn region texStyleMatcher matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]" end="}" contains=@texStyleGroup,texError contained syn region texStyleMatcher matchgroup=Delimiter start="\[" end="]" contains=@texStyleGroup,texError contained endif endif " Conceal mode support (supports set cole=2) {{{1 if has("conceal") && &enc == 'utf-8' " Math Symbols {{{2 " (many of these symbols were contributed by Björn Winckler) if s:tex_conceal =~ 'm' let s:texMathList=[ \ ['|' , '‖'], \ ['aleph' , 'ℵ'], \ ['amalg' , '∐'], \ ['angle' , '∠'], \ ['approx' , '≈'], \ ['ast' , '∗'], \ ['asymp' , '≍'], \ ['backepsilon' , '∍'], \ ['backsimeq' , '≃'], \ ['backslash' , '∖'], \ ['barwedge' , '⊼'], \ ['because' , '∵'], \ ['between' , '≬'], \ ['bigcap' , '∩'], \ ['bigcirc' , '○'], \ ['bigcup' , '∪'], \ ['bigodot' , '⊙'], \ ['bigoplus' , '⊕'], \ ['bigotimes' , '⊗'], \ ['bigsqcup' , '⊔'], \ ['bigtriangledown', '∇'], \ ['bigtriangleup' , '∆'], \ ['bigvee' , '⋁'], \ ['bigwedge' , '⋀'], \ ['blacksquare' , '∎'], \ ['bot' , '⊥'], \ ['bowtie' , '⋈'], \ ['boxdot' , '⊡'], \ ['boxminus' , '⊟'], \ ['boxplus' , '⊞'], \ ['boxtimes' , '⊠'], \ ['bullet' , '•'], \ ['bumpeq' , '≏'], \ ['Bumpeq' , '≎'], \ ['cap' , '∩'], \ ['Cap' , '⋒'], \ ['cdot' , '·'], \ ['cdots' , '⋯'], \ ['circ' , '∘'], \ ['circeq' , '≗'], \ ['circlearrowleft', '↺'], \ ['circlearrowright', '↻'], \ ['circledast' , '⊛'], \ ['circledcirc' , '⊚'], \ ['clubsuit' , '♣'], \ ['complement' , '∁'], \ ['cong' , '≅'], \ ['coprod' , '∐'], \ ['copyright' , '©'], \ ['cup' , '∪'], \ ['Cup' , '⋓'], \ ['curlyeqprec' , '⋞'], \ ['curlyeqsucc' , '⋟'], \ ['curlyvee' , '⋎'], \ ['curlywedge' , '⋏'], \ ['dagger' , '†'], \ ['dashv' , '⊣'], \ ['ddagger' , '‡'], \ ['ddots' , '⋱'], \ ['diamond' , '⋄'], \ ['diamondsuit' , '♢'], \ ['div' , '÷'], \ ['doteq' , '≐'], \ ['doteqdot' , '≑'], \ ['dotplus' , '∔'], \ ['dots' , '…'], \ ['dotsb' , '⋯'], \ ['dotsc' , '…'], \ ['dotsi' , '⋯'], \ ['dotso' , '…'], \ ['doublebarwedge' , '⩞'], \ ['downarrow' , '↓'], \ ['Downarrow' , '⇓'], \ ['ell' , 'ℓ'], \ ['emptyset' , '∅'], \ ['eqcirc' , '≖'], \ ['eqsim' , '≂'], \ ['eqslantgtr' , '⪖'], \ ['eqslantless' , '⪕'], \ ['equiv' , '≡'], \ ['exists' , '∃'], \ ['fallingdotseq' , '≒'], \ ['flat' , '♭'], \ ['forall' , '∀'], \ ['frown' , '⁔'], \ ['ge' , '≥'], \ ['geq' , '≥'], \ ['geqq' , '≧'], \ ['gets' , '←'], \ ['gg' , '⟫'], \ ['gneqq' , '≩'], \ ['gtrdot' , '⋗'], \ ['gtreqless' , '⋛'], \ ['gtrless' , '≷'], \ ['gtrsim' , '≳'], \ ['hbar' , 'ℏ'], \ ['heartsuit' , '♡'], \ ['hookleftarrow' , '↩'], \ ['hookrightarrow' , '↪'], \ ['iiint' , '∭'], \ ['iint' , '∬'], \ ['Im' , 'ℑ'], \ ['imath' , 'ɩ'], \ ['in' , '∈'], \ ['infty' , '∞'], \ ['int' , '∫'], \ ['lceil' , '⌈'], \ ['ldots' , '…'], \ ['le' , '≤'], \ ['leadsto' , '↝'], \ ['left(' , '('], \ ['left\[' , '['], \ ['left\\{' , '{'], \ ['leftarrow' , '⟵'], \ ['Leftarrow' , '⟸'], \ ['leftarrowtail' , '↢'], \ ['leftharpoondown', '↽'], \ ['leftharpoonup' , '↼'], \ ['leftrightarrow' , '↔'], \ ['Leftrightarrow' , '⇔'], \ ['leftrightsquigarrow', '↭'], \ ['leftthreetimes' , '⋋'], \ ['leq' , '≤'], \ ['leq' , '≤'], \ ['leqq' , '≦'], \ ['lessdot' , '⋖'], \ ['lesseqgtr' , '⋚'], \ ['lesssim' , '≲'], \ ['lfloor' , '⌊'], \ ['ll' , '≪'], \ ['lmoustache' , '╭'], \ ['lneqq' , '≨'], \ ['ltimes' , '⋉'], \ ['mapsto' , '↦'], \ ['measuredangle' , '∡'], \ ['mid' , '∣'], \ ['models' , '╞'], \ ['mp' , '∓'], \ ['nabla' , '∇'], \ ['natural' , '♮'], \ ['ncong' , '≇'], \ ['ne' , '≠'], \ ['nearrow' , '↗'], \ ['neg' , '¬'], \ ['neq' , '≠'], \ ['nexists' , '∄'], \ ['ngeq' , '≱'], \ ['ngeqq' , '≱'], \ ['ngtr' , '≯'], \ ['ni' , '∋'], \ ['nleftarrow' , '↚'], \ ['nLeftarrow' , '⇍'], \ ['nLeftrightarrow', '⇎'], \ ['nleq' , '≰'], \ ['nleqq' , '≰'], \ ['nless' , '≮'], \ ['nmid' , '∤'], \ ['notin' , '∉'], \ ['nprec' , '⊀'], \ ['nrightarrow' , '↛'], \ ['nRightarrow' , '⇏'], \ ['nsim' , '≁'], \ ['nsucc' , '⊁'], \ ['ntriangleleft' , '⋪'], \ ['ntrianglelefteq', '⋬'], \ ['ntriangleright' , '⋫'], \ ['ntrianglerighteq', '⋭'], \ ['nvdash' , '⊬'], \ ['nvDash' , '⊭'], \ ['nVdash' , '⊮'], \ ['nwarrow' , '↖'], \ ['odot' , '⊙'], \ ['oint' , '∮'], \ ['ominus' , '⊖'], \ ['oplus' , '⊕'], \ ['oslash' , '⊘'], \ ['otimes' , '⊗'], \ ['owns' , '∋'], \ ['P' , '¶'], \ ['parallel' , '║'], \ ['partial' , '∂'], \ ['perp' , '⊥'], \ ['pitchfork' , '⋔'], \ ['pm' , '±'], \ ['prec' , '≺'], \ ['precapprox' , '⪷'], \ ['preccurlyeq' , '≼'], \ ['preceq' , '⪯'], \ ['precnapprox' , '⪹'], \ ['precneqq' , '⪵'], \ ['precsim' , '≾'], \ ['prime' , '′'], \ ['prod' , '∏'], \ ['propto' , '∝'], \ ['rceil' , '⌉'], \ ['Re' , 'ℜ'], \ ['rfloor' , '⌋'], \ ['right)' , ')'], \ ['right]' , ']'], \ ['right\\}' , '}'], \ ['rightarrow' , '⟶'], \ ['Rightarrow' , '⟹'], \ ['rightarrowtail' , '↣'], \ ['rightleftharpoons', '⇌'], \ ['rightsquigarrow', '↝'], \ ['rightthreetimes', '⋌'], \ ['risingdotseq' , '≓'], \ ['rmoustache' , '╮'], \ ['rtimes' , '⋊'], \ ['S' , '§'], \ ['searrow' , '↘'], \ ['setminus' , '∖'], \ ['sharp' , '♯'], \ ['sim' , '∼'], \ ['simeq' , '⋍'], \ ['smile' , '‿'], \ ['spadesuit' , '♠'], \ ['sphericalangle' , '∢'], \ ['sqcap' , '⊓'], \ ['sqcup' , '⊔'], \ ['sqsubset' , '⊏'], \ ['sqsubseteq' , '⊑'], \ ['sqsupset' , '⊐'], \ ['sqsupseteq' , '⊒'], \ ['star' , '✫'], \ ['subset' , '⊂'], \ ['Subset' , '⋐'], \ ['subseteq' , '⊆'], \ ['subseteqq' , '⫅'], \ ['subsetneq' , '⊊'], \ ['subsetneqq' , '⫋'], \ ['succ' , '≻'], \ ['succapprox' , '⪸'], \ ['succcurlyeq' , '≽'], \ ['succeq' , '⪰'], \ ['succnapprox' , '⪺'], \ ['succneqq' , '⪶'], \ ['succsim' , '≿'], \ ['sum' , '∑'], \ ['supset' , '⊃'], \ ['Supset' , '⋑'], \ ['supseteq' , '⊇'], \ ['supseteqq' , '⫆'], \ ['supsetneq' , '⊋'], \ ['supsetneqq' , '⫌'], \ ['surd' , '√'], \ ['swarrow' , '↙'], \ ['therefore' , '∴'], \ ['times' , '×'], \ ['to' , '→'], \ ['top' , '⊤'], \ ['triangle' , '∆'], \ ['triangleleft' , '⊲'], \ ['trianglelefteq' , '⊴'], \ ['triangleq' , '≜'], \ ['triangleright' , '⊳'], \ ['trianglerighteq', '⊵'], \ ['twoheadleftarrow', '↞'], \ ['twoheadrightarrow', '↠'], \ ['uparrow' , '↑'], \ ['Uparrow' , '⇑'], \ ['updownarrow' , '↕'], \ ['Updownarrow' , '⇕'], \ ['varnothing' , '∅'], \ ['vartriangle' , '∆'], \ ['vdash' , '⊢'], \ ['vDash' , '⊨'], \ ['Vdash' , '⊩'], \ ['vdots' , '⋮'], \ ['vee' , '∨'], \ ['veebar' , '⊻'], \ ['Vvdash' , '⊪'], \ ['wedge' , '∧'], \ ['wp' , '℘'], \ ['wr' , '≀']] " \ ['jmath' , 'X'] " \ ['uminus' , 'X'] " \ ['uplus' , 'X'] for texmath in s:texMathList if texmath[0] =~ '\w$' exe "syn match texMathSymbol '\\\\".texmath[0]."\\>' contained conceal cchar=".texmath[1] else exe "syn match texMathSymbol '\\\\".texmath[0]."' contained conceal cchar=".texmath[1] endif endfor if &ambw == "double" syn match texMathSymbol '\\gg\>' contained conceal cchar=≫ syn match texMathSymbol '\\ll\>' contained conceal cchar=≪ else syn match texMathSymbol '\\gg\>' contained conceal cchar=⟫ syn match texMathSymbol '\\ll\>' contained conceal cchar=⟪ endif syn match texMathSymbol '\\hat{a}' contained conceal cchar=â syn match texMathSymbol '\\hat{A}' contained conceal cchar= syn match texMathSymbol '\\hat{c}' contained conceal cchar=ĉ syn match texMathSymbol '\\hat{C}' contained conceal cchar=Ĉ syn match texMathSymbol '\\hat{e}' contained conceal cchar=ê syn match texMathSymbol '\\hat{E}' contained conceal cchar=Ê syn match texMathSymbol '\\hat{g}' contained conceal cchar=ĝ syn match texMathSymbol '\\hat{G}' contained conceal cchar=Ĝ syn match texMathSymbol '\\hat{i}' contained conceal cchar=î syn match texMathSymbol '\\hat{I}' contained conceal cchar=Î syn match texMathSymbol '\\hat{o}' contained conceal cchar=ô syn match texMathSymbol '\\hat{O}' contained conceal cchar=Ô syn match texMathSymbol '\\hat{s}' contained conceal cchar=ŝ syn match texMathSymbol '\\hat{S}' contained conceal cchar=Ŝ syn match texMathSymbol '\\hat{u}' contained conceal cchar=û syn match texMathSymbol '\\hat{U}' contained conceal cchar=Û syn match texMathSymbol '\\hat{w}' contained conceal cchar=ŵ syn match texMathSymbol '\\hat{W}' contained conceal cchar=Ŵ syn match texMathSymbol '\\hat{y}' contained conceal cchar=ŷ syn match texMathSymbol '\\hat{Y}' contained conceal cchar=Ŷ endif " Greek {{{2 if s:tex_conceal =~ 'g' fun! s:Greek(group,pat,cchar) exe 'syn match '.a:group." '".a:pat."' contained conceal cchar=".a:cchar endfun call s:Greek('texGreek','\\alpha\>' ,'α') call s:Greek('texGreek','\\beta\>' ,'β') call s:Greek('texGreek','\\gamma\>' ,'γ') call s:Greek('texGreek','\\delta\>' ,'δ') call s:Greek('texGreek','\\epsilon\>' ,'ϵ') call s:Greek('texGreek','\\varepsilon\>' ,'ε') call s:Greek('texGreek','\\zeta\>' ,'ζ') call s:Greek('texGreek','\\eta\>' ,'η') call s:Greek('texGreek','\\theta\>' ,'θ') call s:Greek('texGreek','\\vartheta\>' ,'ϑ') call s:Greek('texGreek','\\kappa\>' ,'κ') call s:Greek('texGreek','\\lambda\>' ,'λ') call s:Greek('texGreek','\\mu\>' ,'μ') call s:Greek('texGreek','\\nu\>' ,'ν') call s:Greek('texGreek','\\xi\>' ,'ξ') call s:Greek('texGreek','\\pi\>' ,'π') call s:Greek('texGreek','\\varpi\>' ,'ϖ') call s:Greek('texGreek','\\rho\>' ,'ρ') call s:Greek('texGreek','\\varrho\>' ,'ϱ') call s:Greek('texGreek','\\sigma\>' ,'σ') call s:Greek('texGreek','\\varsigma\>' ,'ς') call s:Greek('texGreek','\\tau\>' ,'τ') call s:Greek('texGreek','\\upsilon\>' ,'υ') call s:Greek('texGreek','\\phi\>' ,'φ') call s:Greek('texGreek','\\varphi\>' ,'ϕ') call s:Greek('texGreek','\\chi\>' ,'χ') call s:Greek('texGreek','\\psi\>' ,'ψ') call s:Greek('texGreek','\\omega\>' ,'ω') call s:Greek('texGreek','\\Gamma\>' ,'Γ') call s:Greek('texGreek','\\Delta\>' ,'Δ') call s:Greek('texGreek','\\Theta\>' ,'Θ') call s:Greek('texGreek','\\Lambda\>' ,'Λ') call s:Greek('texGreek','\\Xi\>' ,'Χ') call s:Greek('texGreek','\\Pi\>' ,'Π') call s:Greek('texGreek','\\Sigma\>' ,'Σ') call s:Greek('texGreek','\\Upsilon\>' ,'Υ') call s:Greek('texGreek','\\Phi\>' ,'Φ') call s:Greek('texGreek','\\Psi\>' ,'Ψ') call s:Greek('texGreek','\\Omega\>' ,'Ω') delfun s:Greek endif " Superscripts/Subscripts {{{2 if s:tex_conceal =~ 's' if s:tex_fast =~ 's' syn region texSuperscript matchgroup=Delimiter start='\^{' skip="\\\\\|\\[{}]" end='}' contained concealends contains=texSpecialChar,texSuperscripts,texStatement,texSubscript,texSuperscript,texMathMatcher syn region texSubscript matchgroup=Delimiter start='_{' skip="\\\\\|\\[{}]" end='}' contained concealends contains=texSpecialChar,texSubscripts,texStatement,texSubscript,texSuperscript,texMathMatcher endif fun! s:SuperSub(group,leader,pat,cchar) exe 'syn match '.a:group." '".a:leader.a:pat."' contained conceal cchar=".a:cchar exe 'syn match '.a:group."s '".a:pat."' contained conceal cchar=".a:cchar.' nextgroup='.a:group.'s' endfun call s:SuperSub('texSuperscript','\^','0','⁰') call s:SuperSub('texSuperscript','\^','1','¹') call s:SuperSub('texSuperscript','\^','2','²') call s:SuperSub('texSuperscript','\^','3','³') call s:SuperSub('texSuperscript','\^','4','⁴') call s:SuperSub('texSuperscript','\^','5','⁵') call s:SuperSub('texSuperscript','\^','6','⁶') call s:SuperSub('texSuperscript','\^','7','⁷') call s:SuperSub('texSuperscript','\^','8','⁸') call s:SuperSub('texSuperscript','\^','9','⁹') call s:SuperSub('texSuperscript','\^','a','ᵃ') call s:SuperSub('texSuperscript','\^','b','ᵇ') call s:SuperSub('texSuperscript','\^','c','ᶜ') call s:SuperSub('texSuperscript','\^','d','ᵈ') call s:SuperSub('texSuperscript','\^','e','ᵉ') call s:SuperSub('texSuperscript','\^','f','ᶠ') call s:SuperSub('texSuperscript','\^','g','ᵍ') call s:SuperSub('texSuperscript','\^','h','ʰ') call s:SuperSub('texSuperscript','\^','i','ⁱ') call s:SuperSub('texSuperscript','\^','j','ʲ') call s:SuperSub('texSuperscript','\^','k','ᵏ') call s:SuperSub('texSuperscript','\^','l','ˡ') call s:SuperSub('texSuperscript','\^','m','ᵐ') call s:SuperSub('texSuperscript','\^','n','ⁿ') call s:SuperSub('texSuperscript','\^','o','ᵒ') call s:SuperSub('texSuperscript','\^','p','ᵖ') call s:SuperSub('texSuperscript','\^','r','ʳ') call s:SuperSub('texSuperscript','\^','s','ˢ') call s:SuperSub('texSuperscript','\^','t','ᵗ') call s:SuperSub('texSuperscript','\^','u','ᵘ') call s:SuperSub('texSuperscript','\^','v','ᵛ') call s:SuperSub('texSuperscript','\^','w','ʷ') call s:SuperSub('texSuperscript','\^','x','ˣ') call s:SuperSub('texSuperscript','\^','y','ʸ') call s:SuperSub('texSuperscript','\^','z','ᶻ') call s:SuperSub('texSuperscript','\^','A','ᴬ') call s:SuperSub('texSuperscript','\^','B','ᴮ') call s:SuperSub('texSuperscript','\^','D','ᴰ') call s:SuperSub('texSuperscript','\^','E','ᴱ') call s:SuperSub('texSuperscript','\^','G','ᴳ') call s:SuperSub('texSuperscript','\^','H','ᴴ') call s:SuperSub('texSuperscript','\^','I','ᴵ') call s:SuperSub('texSuperscript','\^','J','ᴶ') call s:SuperSub('texSuperscript','\^','K','ᴷ') call s:SuperSub('texSuperscript','\^','L','ᴸ') call s:SuperSub('texSuperscript','\^','M','ᴹ') call s:SuperSub('texSuperscript','\^','N','ᴺ') call s:SuperSub('texSuperscript','\^','O','ᴼ') call s:SuperSub('texSuperscript','\^','P','ᴾ') call s:SuperSub('texSuperscript','\^','R','ᴿ') call s:SuperSub('texSuperscript','\^','T','ᵀ') call s:SuperSub('texSuperscript','\^','U','ᵁ') call s:SuperSub('texSuperscript','\^','W','ᵂ') call s:SuperSub('texSuperscript','\^',',','︐') call s:SuperSub('texSuperscript','\^',':','︓') call s:SuperSub('texSuperscript','\^',';','︔') call s:SuperSub('texSuperscript','\^','+','⁺') call s:SuperSub('texSuperscript','\^','-','⁻') call s:SuperSub('texSuperscript','\^','<','˂') call s:SuperSub('texSuperscript','\^','>','˃') call s:SuperSub('texSuperscript','\^','/','ˊ') call s:SuperSub('texSuperscript','\^','(','⁽') call s:SuperSub('texSuperscript','\^',')','⁾') call s:SuperSub('texSuperscript','\^','\.','˙') call s:SuperSub('texSuperscript','\^','=','˭') call s:SuperSub('texSubscript','_','0','₀') call s:SuperSub('texSubscript','_','1','₁') call s:SuperSub('texSubscript','_','2','₂') call s:SuperSub('texSubscript','_','3','₃') call s:SuperSub('texSubscript','_','4','₄') call s:SuperSub('texSubscript','_','5','₅') call s:SuperSub('texSubscript','_','6','₆') call s:SuperSub('texSubscript','_','7','₇') call s:SuperSub('texSubscript','_','8','₈') call s:SuperSub('texSubscript','_','9','₉') call s:SuperSub('texSubscript','_','a','ₐ') call s:SuperSub('texSubscript','_','e','ₑ') call s:SuperSub('texSubscript','_','i','ᵢ') call s:SuperSub('texSubscript','_','o','ₒ') call s:SuperSub('texSubscript','_','u','ᵤ') call s:SuperSub('texSubscript','_',',','︐') call s:SuperSub('texSubscript','_','+','₊') call s:SuperSub('texSubscript','_','-','₋') call s:SuperSub('texSubscript','_','/','ˏ') call s:SuperSub('texSubscript','_','(','₍') call s:SuperSub('texSubscript','_',')','₎') call s:SuperSub('texSubscript','_','\.','‸') call s:SuperSub('texSubscript','_','r','ᵣ') call s:SuperSub('texSubscript','_','v','ᵥ') call s:SuperSub('texSubscript','_','x','ₓ') call s:SuperSub('texSubscript','_','\\beta\>' ,'ᵦ') call s:SuperSub('texSubscript','_','\\delta\>','ᵨ') call s:SuperSub('texSubscript','_','\\phi\>' ,'ᵩ') call s:SuperSub('texSubscript','_','\\gamma\>','ᵧ') call s:SuperSub('texSubscript','_','\\chi\>' ,'ᵪ') delfun s:SuperSub endif " Accented characters: {{{2 if s:tex_conceal =~ 'a' if b:tex_stylish syn match texAccent "\\[bcdvuH][^a-zA-Z@]"me=e-1 syn match texLigature "\\\([ijolL]\|ae\|oe\|ss\|AA\|AE\|OE\)[^a-zA-Z@]"me=e-1 else fun! s:Accents(chr,...) let i= 1 for accent in ["`","\\'","^",'"','\~','\.',"c","H","k","r","u","v"] if i > a:0 break endif if strlen(a:{i}) == 0 || a:{i} == ' ' || a:{i} == '?' let i= i + 1 continue endif if accent =~ '\a' exe "syn match texAccent '".'\\'.accent.'\(\s*{'.a:chr.'}\|\s\+'.a:chr.'\)'."' conceal cchar=".a:{i} else exe "syn match texAccent '".'\\'.accent.'\s*\({'.a:chr.'}\|'.a:chr.'\)'."' conceal cchar=".a:{i} endif let i= i + 1 endfor endfun " \` \' \^ \" \~ \. \c \H \k \r \u \v call s:Accents('a','à','á','â','ä','ã','ȧ',' ',' ','ą','å','ă','ă') call s:Accents('A','À','Á','Â','Ä','Ã','Ȧ',' ',' ','Ą','Å','Ă','Ă') call s:Accents('c',' ','ć','ĉ',' ',' ','ċ','ç',' ',' ',' ',' ','č') call s:Accents('C',' ','Ć','Ĉ',' ',' ','Ċ','Ç',' ',' ',' ',' ','Č') call s:Accents('d',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','ď') call s:Accents('D',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','Ď') call s:Accents('e','è','é','ê','ë','ẽ','ė','ȩ',' ','ę',' ','ĕ','ě') call s:Accents('E','È','É','Ê','Ë','Ẽ','Ė','Ȩ',' ','Ę',' ','Ĕ','Ě') call s:Accents('g',' ','ǵ','ĝ',' ',' ','ġ','ģ',' ',' ',' ','ğ',' ') call s:Accents('G',' ','Ǵ','Ĝ',' ',' ','Ġ','Ģ',' ',' ',' ','Ğ',' ') call s:Accents('h',' ',' ','ĥ',' ',' ',' ',' ',' ',' ',' ',' ','ȟ') call s:Accents('H',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','Ȟ') call s:Accents('i','ì','í','î','ï','ĩ','į',' ',' ',' ',' ','ĭ',' ') call s:Accents('I','Ì','Í','Î','Ï','Ĩ','İ',' ',' ',' ',' ','Ĭ',' ') call s:Accents('J',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','ǰ') call s:Accents('k',' ',' ',' ',' ',' ',' ','ķ',' ',' ',' ',' ',' ') call s:Accents('K',' ',' ',' ',' ',' ',' ','Ķ',' ',' ',' ',' ',' ') call s:Accents('l',' ','ĺ','ľ',' ',' ',' ','ļ',' ',' ',' ',' ','ľ') call s:Accents('L',' ','Ĺ','Ľ',' ',' ',' ','Ļ',' ',' ',' ',' ','Ľ') call s:Accents('n',' ','ń',' ',' ','ñ',' ','ņ',' ',' ',' ',' ','ň') call s:Accents('N',' ','Ń',' ',' ','Ñ',' ','Ņ',' ',' ',' ',' ','Ň') call s:Accents('o','ò','ó','ô','ö','õ','ȯ',' ','ő','ǫ',' ','ŏ',' ') call s:Accents('O','Ò','Ó','Ô','Ö','Õ','Ȯ',' ','Ő','Ǫ',' ','Ŏ',' ') call s:Accents('r',' ','ŕ',' ',' ',' ',' ','ŗ',' ',' ',' ',' ','ř') call s:Accents('R',' ','Ŕ',' ',' ',' ',' ','Ŗ',' ',' ',' ',' ','Ř') call s:Accents('s',' ','ś','ŝ',' ',' ',' ','ş',' ','ȿ',' ',' ','š') call s:Accents('S',' ','Ś','Ŝ',' ',' ',' ','Ş',' ',' ',' ',' ','Š') call s:Accents('t',' ',' ',' ',' ',' ',' ','ţ',' ',' ',' ',' ','ť') call s:Accents('T',' ',' ',' ',' ',' ',' ','Ţ',' ',' ',' ',' ','Ť') call s:Accents('u','ù','ú','û','ü','ũ',' ',' ','ű','ų','ů','ŭ','ǔ') call s:Accents('U','Ù','Ú','Û','Ü','Ũ',' ',' ','Ű','Ų','Ů','Ŭ','Ǔ') call s:Accents('w',' ',' ','ŵ',' ',' ',' ',' ',' ',' ',' ',' ',' ') call s:Accents('W',' ',' ','Ŵ',' ',' ',' ',' ',' ',' ',' ',' ',' ') call s:Accents('y','ỳ','ý','ŷ','ÿ','ỹ',' ',' ',' ',' ',' ',' ',' ') call s:Accents('Y','Ỳ','Ý','Ŷ','Ÿ','Ỹ',' ',' ',' ',' ',' ',' ',' ') call s:Accents('z',' ','ź',' ',' ',' ','ż',' ',' ',' ',' ',' ','ž') call s:Accents('Z',' ','Ź',' ',' ',' ','Ż',' ',' ',' ',' ',' ','Ž') call s:Accents('\\i','ì','í','î','ï','ĩ','į',' ',' ',' ',' ','ĭ',' ') " \` \' \^ \" \~ \. \c \H \k \r \u \v delfun s:Accents syn match texAccent '\\aa\>' conceal cchar=å syn match texAccent '\\AA\>' conceal cchar=Å syn match texAccent '\\o\>' conceal cchar=ø syn match texAccent '\\O\>' conceal cchar=Ø syn match texLigature '\\AE\>' conceal cchar=Æ syn match texLigature '\\ae\>' conceal cchar=æ syn match texLigature '\\oe\>' conceal cchar=œ syn match texLigature '\\OE\>' conceal cchar=Œ syn match texLigature '\\ss\>' conceal cchar=ß endif endif endif " --------------------------------------------------------------------- " LaTeX synchronization: {{{1 syn sync maxlines=200 syn sync minlines=50 syn sync match texSyncStop groupthere NONE "%stopzone\>" " Synchronization: {{{1 " The $..$ and $$..$$ make for impossible sync patterns " (one can't tell if a "$$" starts or stops a math zone by itself) " The following grouptheres coupled with minlines above " help improve the odds of good syncing. if !exists("tex_no_math") syn sync match texSyncMathZoneA groupthere NONE "\\end{abstract}" syn sync match texSyncMathZoneA groupthere NONE "\\end{center}" syn sync match texSyncMathZoneA groupthere NONE "\\end{description}" syn sync match texSyncMathZoneA groupthere NONE "\\end{enumerate}" syn sync match texSyncMathZoneA groupthere NONE "\\end{itemize}" syn sync match texSyncMathZoneA groupthere NONE "\\end{table}" syn sync match texSyncMathZoneA groupthere NONE "\\end{tabular}" syn sync match texSyncMathZoneA groupthere NONE "\\\(sub\)*section\>" endif " --------------------------------------------------------------------- " Highlighting: {{{1 if did_tex_syntax_inits == 1 let did_tex_syntax_inits= 2 " TeX highlighting groups which should share similar highlighting if !exists("s:tex_no_error") if !exists("g:tex_no_math") HiLink texBadMath texError HiLink texMathDelimBad texError HiLink texMathError texError if !b:tex_stylish HiLink texOnlyMath texError endif endif HiLink texError Error endif hi texBoldStyle gui=bold cterm=bold hi texItalStyle gui=italic cterm=italic hi texBoldItalStyle gui=bold,italic cterm=bold,italic hi texItalBoldStyle gui=bold,italic cterm=bold,italic HiLink texCite texRefZone HiLink texDefCmd texDef HiLink texDefName texDef HiLink texDocType texCmdName HiLink texDocTypeArgs texCmdArgs HiLink texInputFileOpt texCmdArgs HiLink texInputCurlies texDelimiter HiLink texLigature texSpecialChar if !exists("tex_no_math") HiLink texMathDelimSet1 texMathDelim HiLink texMathDelimSet2 texMathDelim HiLink texMathDelimKey texMathDelim HiLink texMathMatcher texMath HiLink texAccent texStatement HiLink texGreek texStatement HiLink texSuperscript texStatement HiLink texSubscript texStatement HiLink texSuperscripts texSuperscript HiLink texSubscripts texSubscript HiLink texMathSymbol texStatement HiLink texMathZoneV texMath HiLink texMathZoneW texMath HiLink texMathZoneX texMath HiLink texMathZoneY texMath HiLink texMathZoneV texMath HiLink texMathZoneZ texMath endif HiLink texBeginEnd texCmdName HiLink texBeginEndName texSection HiLink texSpaceCode texStatement HiLink texStyleStatement texStatement HiLink texTypeSize texType HiLink texTypeStyle texType " Basic TeX highlighting groups HiLink texCmdArgs Number HiLink texCmdName Statement HiLink texComment Comment HiLink texDef Statement HiLink texDefParm Special HiLink texDelimiter Delimiter HiLink texInput Special HiLink texInputFile Special HiLink texLength Number HiLink texMath Special HiLink texMathDelim Statement HiLink texMathOper Operator HiLink texNewCmd Statement HiLink texNewEnv Statement HiLink texOption Number HiLink texRefZone Special HiLink texSection PreCondit HiLink texSpaceCodeChar Special HiLink texSpecialChar SpecialChar HiLink texStatement Statement HiLink texString String HiLink texTodo Todo HiLink texType Type HiLink texZone PreCondit delcommand HiLink endif " Cleanup: {{{1 unlet s:extfname let b:current_syntax = "tex" let &cpo = s:keepcpo unlet s:keepcpo " vim: ts=8 fdm=marker PK !L�\B!��&