Update runtime files.

This commit is contained in:
Bram Moolenaar
2012-01-20 21:08:56 +01:00
parent 90b280059f
commit 6be7f8733f
41 changed files with 1422 additions and 1221 deletions

View File

@ -1,8 +1,8 @@
" ---------------------------------------------------------------------
" getscript.vim
" Author: Charles E. Campbell, Jr.
" Date: May 31, 2011
" Version: 33
" Date: Jan 17, 2012
" Version: 34
" Installing: :help glvs-install
" Usage: :help glvs
"
@ -15,7 +15,7 @@
if exists("g:loaded_getscript")
finish
endif
let g:loaded_getscript= "v33"
let g:loaded_getscript= "v34"
if &cp
echoerr "GetLatestVimScripts is not vi-compatible; not loaded (you need to set nocp)"
finish
@ -550,30 +550,42 @@ fun! s:GetOneScript(...)
" decompress
if sname =~ '\.bz2$'
" call Decho("decompress: attempt to bunzip2 ".sname)
exe "silent !bunzip2 ".shellescape(sname)
exe "sil !bunzip2 ".shellescape(sname)
let sname= substitute(sname,'\.bz2$','','')
" call Decho("decompress: new sname<".sname."> after bunzip2")
elseif sname =~ '\.gz$'
" call Decho("decompress: attempt to gunzip ".sname)
exe "silent !gunzip ".shellescape(sname)
exe "sil !gunzip ".shellescape(sname)
let sname= substitute(sname,'\.gz$','','')
" call Decho("decompress: new sname<".sname."> after gunzip")
elseif sname =~ '\.xz$'
" call Decho("decompress: attempt to unxz ".sname)
exe "silent !unxz ".shellescape(sname)
exe "sil !unxz ".shellescape(sname)
let sname= substitute(sname,'\.xz$','','')
" call Decho("decompress: new sname<".sname."> after unxz")
else
" call Decho("no decompression needed")
endif
" distribute archive(.zip, .tar, .vba) contents
" distribute archive(.zip, .tar, .vba, ...) contents
if sname =~ '\.zip$'
" call Decho("dearchive: attempt to unzip ".sname)
exe "silent !unzip -o ".shellescape(sname)
elseif sname =~ '\.tar$'
" call Decho("dearchive: attempt to untar ".sname)
exe "silent !tar -xvf ".shellescape(sname)
elseif sname =~ '\.tgz$'
" call Decho("dearchive: attempt to untar+gunzip ".sname)
exe "silent !tar -zxvf ".shellescape(sname)
elseif sname =~ '\.taz$'
" call Decho("dearchive: attempt to untar+uncompress ".sname)
exe "silent !tar -Zxvf ".shellescape(sname)
elseif sname =~ '\.tbz$'
" call Decho("dearchive: attempt to untar+bunzip2 ".sname)
exe "silent !tar -jxvf ".shellescape(sname)
elseif sname =~ '\.txz$'
" call Decho("dearchive: attempt to untar+xz ".sname)
exe "silent !tar -Jxvf ".shellescape(sname)
elseif sname =~ '\.vba$'
" call Decho("dearchive: attempt to handle a vimball: ".sname)
silent 1split

View File

@ -1,7 +1,7 @@
" tar.vim: Handles browsing tarfiles
" AUTOLOAD PORTION
" Date: May 31, 2011
" Version: 27
" Date: Jan 17, 2012
" Version: 28
" Maintainer: Charles E Campbell, Jr <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
" License: Vim License (see vim's :help license)
"
@ -22,7 +22,7 @@
if &cp || exists("g:loaded_tar")
finish
endif
let g:loaded_tar= "v27"
let g:loaded_tar= "v28"
if v:version < 702
echohl WarningMsg
echo "***warning*** this version of tar needs vim 7.2"
@ -143,7 +143,7 @@ fun! tar#Browse(tarfile)
call setline(lastline+2,'" Browsing tarfile '.a:tarfile)
call setline(lastline+3,'" Select a file with cursor and press ENTER')
keepj $put =''
keepj 0d
keepj sil! 0d
keepj $
let tarfile= a:tarfile
@ -158,10 +158,10 @@ fun! tar#Browse(tarfile)
elseif tarfile =~# '\.lrp'
" call Decho("2: exe silent r! cat -- ".shellescape(tarfile,1)."|gzip -d -c -|".g:tar_cmd." -".g:tar_browseoptions." - ")
exe "sil! r! cat -- ".shellescape(tarfile,1)."|gzip -d -c -|".g:tar_cmd." -".g:tar_browseoptions." - "
elseif tarfile =~# '\.bz2$'
elseif tarfile =~# '\.\(bz2\|tbz\|tb2\)$'
" call Decho("3: exe silent r! bzip2 -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - ")
exe "sil! r! bzip2 -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
elseif tarfile =~# '\.lzma$'
elseif tarfile =~# '\.\(lzma\|tlz\)$'
" call Decho("3: exe silent r! lzma -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - ")
exe "sil! r! lzma -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
elseif tarfile =~# '\.\(xz\|txz\)$'

View File

@ -1,7 +1,7 @@
" vimball.vim : construct a file containing both paths and files
" Author: Charles E. Campbell, Jr.
" Date: Sep 26, 2011
" Version: 34
" Date: Jan 17, 2012
" Version: 35
" GetLatestVimScripts: 1502 1 :AutoInstall: vimball.vim
" Copyright: (c) 2004-2011 by Charles E. Campbell, Jr.
" The VIM LICENSE applies to Vimball.vim, and Vimball.txt
@ -14,7 +14,7 @@
if &cp || exists("g:loaded_vimball")
finish
endif
let g:loaded_vimball = "v34"
let g:loaded_vimball = "v35"
if v:version < 702
echohl WarningMsg
echo "***warning*** this version of vimball needs vim 7.2"
@ -767,6 +767,9 @@ fun! vimball#RestoreSettings()
" call Dret("RestoreSettings")
endfun
let &cpo = s:keepcpo
unlet s:keepcpo
" ---------------------------------------------------------------------
" Modelines: {{{1
" vim: fdm=marker

View File

@ -1,10 +1,10 @@
" zip.vim: Handles browsing zipfiles
" AUTOLOAD PORTION
" Date: May 24, 2011
" Version: 24
" Date: Jan 17, 2012
" Version: 25
" Maintainer: Charles E Campbell, Jr <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
" License: Vim License (see vim's :help license)
" Copyright: Copyright (C) 2005-2011 Charles E. Campbell, Jr. {{{1
" Copyright: Copyright (C) 2005-2012 Charles E. Campbell, Jr. {{{1
" Permission is hereby granted to use and distribute this code,
" with or without modifications, provided that this copyright
" notice is copied with it. Like anything else that's free,
@ -19,7 +19,7 @@
if &cp || exists("g:loaded_zip")
finish
endif
let g:loaded_zip= "v24"
let g:loaded_zip= "v25"
if v:version < 702
echohl WarningMsg
echo "***warning*** this version of zip needs vim 7.2"
@ -104,12 +104,12 @@ fun! zip#Browse(zipfile)
" give header
call append(0, ['" zip.vim version '.g:loaded_zip,
\ '" Browsing zipfile '.a:zipfile,
\ '" Select a file with cursor and press ENTER'])
\ '" Browsing zipfile '.a:zipfile,
\ '" Select a file with cursor and press ENTER'])
keepj $
" call Decho("exe silent r! ".g:zip_unzipcmd." -l -- ".s:Escape(a:zipfile,1))
exe "silent r! ".g:zip_unzipcmd." -Z -1 -- ".s:Escape(a:zipfile,1)
exe "keepj sil! r! ".g:zip_unzipcmd." -Z -1 -- ".s:Escape(a:zipfile,1)
if v:shell_error != 0
redraw!
echohl WarningMsg | echo "***warning*** (zip#Browse) ".fnameescape(a:zipfile)." is not a zip file" | echohl None

View File

@ -0,0 +1,11 @@
" Vim compiler file
" Compiler: Erlang
" Maintainer: none, please volunteer!
" Last Change: 2012 Jan 20
if exists("current_compiler")
finish
endif
let current_compiler = "erlang"
" TODO

View File

@ -1,4 +1,4 @@
*autocmd.txt* For Vim version 7.3. Last change: 2011 Oct 26
*autocmd.txt* For Vim version 7.3. Last change: 2012 Jan 20
VIM REFERENCE MANUAL by Bram Moolenaar
@ -699,7 +699,8 @@ MenuPopup Just before showing the popup menu (under the
QuickFixCmdPre Before a quickfix command is run (|:make|,
|:lmake|, |:grep|, |:lgrep|, |:grepadd|,
|:lgrepadd|, |:vimgrep|, |:lvimgrep|,
|:vimgrepadd|, |:lvimgrepadd|, |:cscope|).
|:vimgrepadd|, |:lvimgrepadd|, |:cscope|,
|:helpgrep|, |:lhelpgrep|).
The pattern is matched against the command
being run. When |:grep| is used but 'grepprg'
is set to "internal" it still matches "grep".

View File

@ -1,4 +1,4 @@
*develop.txt* For Vim version 7.3. Last change: 2008 Dec 17
*develop.txt* For Vim version 7.3. Last change: 2012 Jan 10
VIM REFERENCE MANUAL by Bram Moolenaar
@ -232,6 +232,17 @@ time shadows global declaration
new C++ reserved keyword
try Borland C++ doesn't like it to be used as a variable.
clear Mac curses.h
echo Mac curses.h
instr Mac curses.h
meta Mac curses.h
newwin Mac curses.h
nl Mac curses.h
overwrite Mac curses.h
refresh Mac curses.h
scroll Mac curses.h
typeahead Mac curses.h
basename() GNU string function
dirname() GNU string function
get_env_value() Linux system function

View File

@ -1,4 +1,4 @@
*mlang.txt* For Vim version 7.3. Last change: 2010 Dec 11
*mlang.txt* For Vim version 7.3. Last change: 2012 Jan 15
VIM REFERENCE MANUAL by Bram Moolenaar
@ -59,7 +59,7 @@ use of "-" and "_".
system. Some systems accept aliases like "en" or
"en_US", but some only accept the full specification
like "en_US.ISO_8859-1". On Unix systems you can use
the this command to see what locales are supported: >
this command to see what locales are supported: >
:!locale -a
< With the "messages" argument the language used for
messages is set. This can be different when you want,

View File

@ -1,4 +1,4 @@
*options.txt* For Vim version 7.3. Last change: 2011 Dec 15
*options.txt* For Vim version 7.3. Last change: 2012 Jan 13
VIM REFERENCE MANUAL by Bram Moolenaar
@ -301,9 +301,8 @@ You will not get back the 'list' value as it was the last time you edited
copying the value.
{not in Vi}
:se[t] {option}< Set the local value of {option} to its global value by
making it empty. Only makes sense for |global-local|
options.
:se[t] {option}< For |global-local| options: Remove the local value of
{option}, so that the global value will be used.
{not in Vi}
*:setg* *:setglobal*

View File

@ -1,15 +1,21 @@
*pi_getscript.txt* For Vim version 7.0. Last change: 2011 May 31
*pi_getscript.txt* For Vim version 7.0. Last change: 2011 Jun 23
>
GETSCRIPT REFERENCE MANUAL by Charles E. Campbell, Jr.
<
Authors: Charles E. Campbell, Jr. <NdrOchip@ScampbellPfamilyA.Mbiz>
(remove NOSPAM from the email address)
*GetLatestVimScripts-copyright*
Copyright: (c) 2004-2010 by Charles E. Campbell, Jr. *glvs-copyright*
The VIM LICENSE applies to getscript.vim and
pi_getscript.txt (see |copyright|) except use
"getscript" instead of "Vim". No warranty, express or implied.
Use At-Your-Own-Risk.
Copyright: (c) 2004-2012 by Charles E. Campbell, Jr. *glvs-copyright*
The VIM LICENSE (see |copyright|) applies to the files in this
package, including getscriptPlugin.vim, getscript.vim,
GetLatestVimScripts.dist, and pi_getscript.txt, except use "getscript"
instead of "VIM". Like anything else that's free, getscript and its
associated files are provided *as is* and comes with no warranty of
any kind, either expressed or implied. No guarantees of
merchantability. No guarantees of suitability for any purpose. By
using this plugin, you agree that in no event will the copyright
holder be liable for any damages resulting from the use of this
software. Use at your own risk!
Getscript is a plugin that simplifies retrieval of the latest versions of the
scripts that you yourself use! Typing |:GLVS| will invoke getscript; it will
@ -374,6 +380,8 @@ The AutoInstall process will:
==============================================================================
9. GetLatestVimScripts History *getscript-history* *glvs-hist* {{{1
v44 Jun 23, 2011 : * handles additional decompression options for tarballs
(tgz taz tbz txz)
v33 May 31, 2011 : * using fnameescape() instead of escape()
* *.xz support
v32 Jun 19, 2010 : * (Jan Steffens) added support for xz compression

View File

@ -1,4 +1,4 @@
*pi_tar.txt* For Vim version 7.3. Last change: 2011 May 31
*pi_tar.txt* For Vim version 7.3. Last change: 2012 Jan 17
+====================+
| Tar File Interface |
@ -6,9 +6,16 @@
Author: Charles E. Campbell, Jr. <NdrOchip@ScampbellPfamily.AbizM>
(remove NOSPAM from Campbell's email first)
Copyright 2005-2010: The GPL (gnu public license) applies to *tar-copyright*
tar.vim, tarPlugin.vim, and pi_tar.txt.
No warranty, express or implied. Use At-Your-Own-Risk.
Copyright 2005-2012: *tar-copyright*
The VIM LICENSE (see |copyright|) applies to the files in this
package, including tarPlugin.vim, tar.vim, and pi_tar.txt. Like
anything else that's except use "tar.vim" instead of "VIM". Like
anything else that's free, tar.vim and its associated files are
provided *as is* and comes with no warranty of any kind, either
expressed or implied. No guarantees of merchantability. No
guarantees of suitability for any purpose. By using this plugin, you
agree that in no event will the copyright holder be liable for any
damages resulting from the use of this software. Use at your own risk!
==============================================================================
1. Contents *tar* *tar-contents*
@ -83,6 +90,7 @@ Copyright 2005-2010: The GPL (gnu public license) applies to *tar-copyright*
4. History *tar-history*
v28 Jun 23, 2011 * a few more decompression options (tbz tb2 txz)
v27 May 31, 2011 * moved cygwin detection before g:tar_copycmd handling
* inserted additional |:keepj| modifiers
* changed silent to sil! (|:silent|)

View File

@ -1,4 +1,4 @@
*pi_vimball.txt* For Vim version 7.3. Last change: 2011 Sep 26
*pi_vimball.txt* For Vim version 7.3. Last change: 2012 Jan 17
----------------
Vimball Archiver
@ -6,11 +6,16 @@
Author: Charles E. Campbell, Jr. <NdrOchip@ScampbellPfamily.AbizM>
(remove NOSPAM from Campbell's email first)
Copyright: (c) 2004-2011 by Charles E. Campbell, Jr. *Vimball-copyright*
The VIM LICENSE applies to Vimball.vim, and Vimball.txt
(see |copyright|) except use "Vimball" instead of "Vim".
No warranty, express or implied.
Use At-Your-Own-Risk!
Copyright: (c) 2004-2012 by Charles E. Campbell, Jr. *Vimball-copyright*
The VIM LICENSE (see |copyright|) applies to the files in this
package, including vimballPlugin.vim, vimball.vim, and pi_vimball.txt.
except use "vimball" instead of "VIM". Like anything else that's free,
vimball.vim and its associated files are provided *as is* and comes with
no warranty of any kind, either expressed or implied. No guarantees
of merchantability. No guarantees of suitability for any purpose. By
using this plugin, you agree that in no event will the copyright
holder be liable for any damages resulting from the use of this
software. Use at your own risk!
==============================================================================
1. Contents *vba* *vimball* *vimball-contents*

View File

@ -1,4 +1,4 @@
*pi_zip.txt* For Vim version 7.3. Last change: 2011 Aug 14
*pi_zip.txt* For Vim version 7.3. Last change: 2012 Jan 17
+====================+
| Zip File Interface |
@ -7,14 +7,15 @@
Author: Charles E. Campbell, Jr. <NdrOchip@ScampbellPfamily.AbizM>
(remove NOSPAM from Campbell's email first)
Copyright: Copyright (C) 2005-2011 Charles E Campbell, Jr *zip-copyright*
Permission is hereby granted to use and distribute this code,
with or without modifications, provided that this copyright
notice is copied with it. Like anything else that's free,
zip.vim, zipPlugin.vim, and pi_zip.txt are provided *as is*
and it comes with no warranty of any kind, either expressed or
implied. By using this plugin, you agree that in no event will
the copyright holder be liable for any damages resulting from
the use of this software.
The VIM LICENSE (see |copyright|) applies to the files in this
package, including zipPlugin.vim, zip.vim, and pi_zip.vim. except use
"zip.vim" instead of "VIM". Like anything else that's free, zip.vim
and its associated files are provided *as is* and comes with no
warranty of any kind, either expressed or implied. No guarantees of
merchantability. No guarantees of suitability for any purpose. By
using this plugin, you agree that in no event will the copyright
holder be liable for any damages resulting from the use of this
software. Use at your own risk!
==============================================================================
1. Contents *zip* *zip-contents*
@ -73,7 +74,7 @@ Copyright: Copyright (C) 2005-2011 Charles E Campbell, Jr *zip-copyright*
==============================================================================
3. Additional Extensions *zip-extension*
Apparently there are a number of archivers who generate zip files that
Apparently there are a number of archivers which generate zip files that
don't use the .zip extension (.jar, .xpi, etc). To handle such files,
place a line in your <.vimrc> file: >
@ -84,6 +85,8 @@ Copyright: Copyright (C) 2005-2011 Charles E Campbell, Jr *zip-copyright*
==============================================================================
4. History *zip-history* {{{1
v25 Jun 27, 2011 * using keepj with unzip -Z
(consistent with the -p variant)
v24 Jun 21, 2010 * (Cédric Bosdonnat) unzip seems to need its filenames
fnameescape'd as well as shellquote'd
* (Motoya Kurotsu) inserted keepj before 0d to protect

View File

@ -1,4 +1,4 @@
*syntax.txt* For Vim version 7.3. Last change: 2012 Jan 04
*syntax.txt* For Vim version 7.3. Last change: 2012 Jan 20
VIM REFERENCE MANUAL by Bram Moolenaar
@ -1161,7 +1161,7 @@ should be appropriate for most users most of the time because Fortran 2008 is
almost a superset of previous versions (Fortran 2003, 95, 90, and 77).
Fortran source code form ~
Fortran 9x code can be in either fixed or free source form. Note that the
Fortran code can be in either fixed or free source form. Note that the
syntax highlighting will not be correct if the form is incorrectly set.
When you create a new fortran file, the syntax script assumes fixed source
@ -1242,54 +1242,54 @@ recognized, as will construct names at the end of a do, if, select or forall
construct.
Non-default fortran dialects ~
The syntax script supports five Fortran dialects: f95, f90, f77, the Lahey
subset elf90, and the Imagine1 subset F. However, these dialects are outdated;
the next version of the syntax script will support only two variants: modern
Fortran and legacy Fortran.
The syntax script supports two Fortran dialects: f08 and F. You will probably
find the default highlighting (f08) satisfactory. A few legacy constructs
deleted or declared obsolescent in the 2008 standard are highlighted as todo
items.
If you use f77 with extensions, even common ones like do/enddo loops, do/while
loops and free source form that are supported by most f77 compilers including
g77 (GNU Fortran), then you will probably find the default highlighting
satisfactory. However, if you use strict f77 with no extensions, not even free
source form or the MIL STD 1753 extensions, then the advantages of setting the
dialect to f77 are that names such as SUM are recognized as user variable
names and not highlighted as f9x intrinsic functions, that obsolete constructs
such as ASSIGN statements are not highlighted as todo items, and that fixed
source form will be assumed.
If you use F, the advantage of setting the dialect appropriately is that
other legacy features excluded from F will be highlighted as todo items and
that free source form will be assumed.
If you use elf90 or F, the advantage of setting the dialect appropriately is
that f90 features excluded from these dialects will be highlighted as todo
items and that free source form will be assumed as required for these
dialects.
The dialect can be selected in various ways. If all your fortran files use
the same dialect, set the global variable fortran_dialect in your .vimrc prior
to your syntax on statement. The case-sensitive, permissible values of
fortran_dialect are "f08" or "F". Invalid values of fortran_dialect are
ignored.
The dialect can be selected by setting the variable fortran_dialect. The
permissible values of fortran_dialect are case-sensitive and must be "f95",
"f90", "f77", "elf" or "F". Invalid values of fortran_dialect are ignored.
If all your fortran files use the same dialect, set fortran_dialect in your
.vimrc prior to your syntax on statement. If the dialect depends upon the file
extension, then it is most convenient to set it in a ftplugin file. For more
information on ftplugin files, see |ftplugin|. For example, if all your
fortran files with an .f90 extension are written in the elf subset, your
ftplugin file should contain the code >
If the dialect depends upon the file extension, then it is most convenient to
set a buffer-local variable in a ftplugin file. For more information on
ftplugin files, see |ftplugin|. For example, if all your fortran files with
an .f90 extension are written in the F subset, your ftplugin file should
contain the code >
let s:extfname = expand("%:e")
if s:extfname ==? "f90"
let fortran_dialect="elf"
let b:fortran_dialect="F"
else
unlet! fortran_dialect
unlet! b:fortran_dialect
endif
Note that this will work only if the "filetype plugin indent on" command
precedes the "syntax on" command in your .vimrc file.
Finer control is necessary if the file extension does not uniquely identify
the dialect. You can override the default dialect, on a file-by-file basis, by
including a comment with the directive "fortran_dialect=xx" (where xx=f77 or
elf or F or f90 or f95) in one of the first three lines in your file. For
example, your older .f files may be written in extended f77 but your newer
ones may be F codes, and you would identify the latter by including in the
first three lines of those files a Fortran comment of the form >
the dialect. You can override the default dialect, on a file-by-file basis,
by including a comment with the directive "fortran_dialect=xx" (where xx=F or
f08) in one of the first three lines in your file. For example, your older .f
files may be legacy code but your newer ones may be F codes, and you would
identify the latter by including in the first three lines of those files a
Fortran comment of the form >
! fortran_dialect=F
F overrides elf if both directives are present.
For previous versions of the syntax, you may have set fortran_dialect to the
now-obsolete values "f77", "f90", "f95", or "elf". Such settings will be
silently handled as "f08". Users of "elf" may wish to experiment with "F"
instead.
The syntax/fortran.vim script contains embedded comments that tell you how to
comment and/or uncomment some lines to (a) activate recognition of some
non-standard, vendor-supplied intrinsics and (b) to prevent features deleted
or declared obsolescent in the 2008 standard from being highlighted as todo
items.
Limitations ~
Parenthesis checking does not catch too few closing parentheses. Hollerith

View File

@ -1243,6 +1243,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
+writebackup various.txt /*+writebackup*
+xfontset various.txt /*+xfontset*
+xim various.txt /*+xim*
+xpm_w32 various.txt /*+xpm_w32*
+xsmp various.txt /*+xsmp*
+xsmp_interact various.txt /*+xsmp_interact*
+xterm_clipboard various.txt /*+xterm_clipboard*
@ -4791,6 +4792,7 @@ beval_col-variable eval.txt /*beval_col-variable*
beval_lnum-variable eval.txt /*beval_lnum-variable*
beval_text-variable eval.txt /*beval_text-variable*
beval_winnr-variable eval.txt /*beval_winnr-variable*
bitwise-function usr_41.txt /*bitwise-function*
blockwise-examples visual.txt /*blockwise-examples*
blockwise-operators visual.txt /*blockwise-operators*
blockwise-register change.txt /*blockwise-register*
@ -7041,8 +7043,8 @@ objects index.txt /*objects*
obtaining-exted netbeans.txt /*obtaining-exted*
ocaml.vim syntax.txt /*ocaml.vim*
octal eval.txt /*octal*
octal-nrformats options.txt /*octal-nrformats*
octal-number eval.txt /*octal-number*
octal-number options.txt /*octal-number*
oldfiles-variable eval.txt /*oldfiles-variable*
ole-activation if_ole.txt /*ole-activation*
ole-eval if_ole.txt /*ole-eval*
@ -8357,13 +8359,27 @@ vimdev intro.txt /*vimdev*
vimdiff diff.txt /*vimdiff*
vimfiles options.txt /*vimfiles*
viminfo starting.txt /*viminfo*
viminfo-! options.txt /*viminfo-!*
viminfo-% options.txt /*viminfo-%*
viminfo-' options.txt /*viminfo-'*
viminfo-/ options.txt /*viminfo-\/*
viminfo-: options.txt /*viminfo-:*
viminfo-< options.txt /*viminfo-<*
viminfo-@ options.txt /*viminfo-@*
viminfo-c options.txt /*viminfo-c*
viminfo-encoding starting.txt /*viminfo-encoding*
viminfo-errors starting.txt /*viminfo-errors*
viminfo-f options.txt /*viminfo-f*
viminfo-file starting.txt /*viminfo-file*
viminfo-file-marks starting.txt /*viminfo-file-marks*
viminfo-file-name starting.txt /*viminfo-file-name*
viminfo-h options.txt /*viminfo-h*
viminfo-n options.txt /*viminfo-n*
viminfo-quote options.txt /*viminfo-quote*
viminfo-r options.txt /*viminfo-r*
viminfo-read starting.txt /*viminfo-read*
viminfo-read-write starting.txt /*viminfo-read-write*
viminfo-s options.txt /*viminfo-s*
viminfo-write starting.txt /*viminfo-write*
vimrc starting.txt /*vimrc*
vimrc-filetype usr_05.txt /*vimrc-filetype*

View File

@ -1,4 +1,4 @@
*todo.txt* For Vim version 7.3. Last change: 2012 Jan 10
*todo.txt* For Vim version 7.3. Last change: 2012 Jan 20
VIM REFERENCE MANUAL by Bram Moolenaar
@ -38,32 +38,35 @@ Go through more coverity reports.
Discussion about canonicalization of Hebrew. (Ron Aaron, 2011 April 10)
Compilation problem on z/OS, POUND is equal to '#', duplicate case.
(Stephen Bovy, 2011 Dec 16)
Once syntax and other runtime files have been fixed: add "set cp" to
check.vim. Use a function to run both with 'cp' and 'nocp'.
Patch to fix regression caused by 7.3.251. (Christian Brabandt, 2012 Jan 5)
Win32: When the taskbar is at the top of the screen creating the tabbar causes
the window to move unnecessarily. (William E. Skeith III, 2012 Jan 12)
Patch: 2012 Jan 13
Patch to make ":helpgrep" work with non-UTF-8 encoding. (Yasuhiro Matsumoto,
2011 Nov 28, update later that day)
Patch for using DBCS encoding in user command. (Yasuhiro Matsumoto, 2012 Jan
15) Update Jan 17.
Patch to fix messing up terminal when redrawing too early. (Christian
Brabandt, 2012 Jan 5)
Repeating search history entries. (Edwin Steiner, 2012 Jan 17)
Jan 18: Caused by patch 7.3.265?
Patch to fix member confusion in Lua interface. (Taro Muraoka, 2012 Jan 8)
Update Jan 9.
Carvalho will merge the patch.
Hang in using VimEnter. (Alex Efros, 2012 Jan 14)
Possible quickfix bug: Audrius Kažukauskas, 2012 Jan 6
Problem reading german spell file? (Jan Stocker, 2012 Jan 5)
":cd" doesn't work when current directory path contains wildcards.
finddir() has the same problem. (Yukihiro Nakadaira, 2012 Jan 10)
Win32: When a directory name contains an exclamation mark, completion doesn't
complete the contents of the directory. No escaping for the "!"? (Jan
Stocker, 2012 Jan 5)
Patch to add support for Solaris ZFS ACLs. (Danek Duvall, 2012 Jan 13)
Patch to make continued lines work faster. (Yasuhiro Matsumoto, 2012 Jan 11)
Also an idea to make join() faster. (Yasuhiro Matsumoto, 2012 Jan 11)
Another one from Taro Muraoka, 2012 Jan 12.
":doau" says it triggers modeline. Should this only happen for events used
when loading a buffer? (Kana Natsuno, 2011 Nov 7)
@ -103,6 +106,10 @@ overwritten. (Felipe G. Nievinski, 2011 Dec 22)
side effect.
Patch by Kana Natsuno, 2011 Nov 12.
Patch to fix member confusion in Lua interface. (Taro Muraoka, 2012 Jan 8)
Update Jan 9.
Carvalho merged the patch: New version 2012 Jan 19.
Patch for option in 'cino' to specify more indent for continued conditions.
(Lech Lorens, 2011 Nov 27)
Isn't this already possible?
@ -136,6 +143,8 @@ And one for gui_x11.txt.
Problem with l: dictionary being locked in a function. (ZyX, 2011 Jul 21)
Issue 48: foldopen error can't be caught by try/catch
Patch to sort functions starting with '<' after others. Omit dict functions,
they can't be called. (Yasuhiro Matsumoto, 2011 Oct 11)
@ -180,6 +189,9 @@ New feature, requires testing. Made some remarks.
Win32: Patch for alpha-blended icons and toolbar height. (Sergiu Dotenco, 2011
Sep 17) Asked for feedback from others.
Win32: Cannot cd into a directory that starts with a space. (Andy Wokula, 2012
Jan 19)
Need to escape $HOME on Windows? (ZyX, 2011 Jul 21)
"2" in 'formatopions' not working in comments. (Christian Corneliussen, 2011
@ -803,8 +815,6 @@ the buffer to be unmodified.
Unfinished patch by Ian Kelling, 2008 Jul 11. Followup Jul 14, need to have
another look at it.
Patch for c.vim and cpp.vim syntax files. (Chung-chieh Shan, 2008 Nov 26)
c.vim: XXX in a comment is colored yellow, but not when it's after "#if 0".
(Ilya Dogolazky, 2009 Aug 7)

View File

@ -1,4 +1,4 @@
*various.txt* For Vim version 7.3. Last change: 2012 Jan 04
*various.txt* For Vim version 7.3. Last change: 2012 Jan 15
VIM REFERENCE MANUAL by Bram Moolenaar
@ -363,30 +363,30 @@ N *+multi_lang* non-English language support |multi-lang|
m *+mzscheme* Mzscheme interface |mzscheme|
m *+mzscheme/dyn* Mzscheme interface |mzscheme-dynamic| |/dyn|
m *+netbeans_intg* |netbeans|
m *+ole* Win32 GUI only: |ole-interface|
N *+path_extra* Up/downwards search in 'path' and 'tags'
m *+ole* Win32 GUI only: |ole-interface|
N *+path_extra* Up/downwards search in 'path' and 'tags'
m *+perl* Perl interface |perl|
m *+perl/dyn* Perl interface |perl-dynamic| |/dyn|
N *+persistent_undo* Persistent undo |undo-persistence|
*+postscript* |:hardcopy| writes a PostScript file
*+postscript* |:hardcopy| writes a PostScript file
N *+printer* |:hardcopy| command
H *+profile* |:profile| command
m *+python* Python 2 interface |python|
m *+python/dyn* Python 2 interface |python-dynamic| |/dyn|
m *+python/dyn* Python 2 interface |python-dynamic| |/dyn|
m *+python3* Python 3 interface |python|
m *+python3/dyn* Python 3 interface |python-dynamic| |/dyn|
m *+python3/dyn* Python 3 interface |python-dynamic| |/dyn|
N *+quickfix* |:make| and |quickfix| commands
N *+reltime* |reltime()| function, 'hlsearch'/'incsearch' timeout,
'redrawtime' option
B *+rightleft* Right to left typing |'rightleft'|
m *+ruby* Ruby interface |ruby|
m *+ruby/dyn* Ruby interface |ruby-dynamic| |/dyn|
N *+scrollbind* |'scrollbind'|
N *+scrollbind* |'scrollbind'|
B *+signs* |:sign|
N *+smartindent* |'smartindent'|
N *+smartindent* |'smartindent'|
m *+sniff* SniFF interface |sniff|
N *+startuptime* |--startuptime| argument
N *+statusline* Options 'statusline', 'rulerformat' and special
N *+startuptime* |--startuptime| argument
N *+statusline* Options 'statusline', 'rulerformat' and special
formats of 'titlestring' and 'iconstring'
m *+sun_workshop* |workshop|
N *+syntax* Syntax highlighting |syntax|

150
runtime/ftplugin/erlang.vim Normal file
View File

@ -0,0 +1,150 @@
" Vim ftplugin file
" Language: Erlang
" Author: Oscar Hellström <oscar@oscarh.net>
" Contributors: Ricardo Catalinas Jiménez <jimenezrick@gmail.com>
" Eduardo Lopez (http://github.com/tapichu)
" License: Vim license
" Version: 2011/11/21
if exists('b:did_ftplugin')
finish
else
let b:did_ftplugin = 1
endif
if exists('s:did_function_definitions')
call s:SetErlangOptions()
finish
else
let s:did_function_definitions = 1
endif
if !exists('g:erlang_keywordprg')
let g:erlang_keywordprg = 'erl -man'
endif
if !exists('g:erlang_folding')
let g:erlang_folding = 0
endif
" Local settings
function s:SetErlangOptions()
compiler erlang
if version >= 700
setlocal omnifunc=erlang_complete#Complete
endif
if g:erlang_folding
setlocal foldmethod=expr
setlocal foldexpr=GetErlangFold(v:lnum)
setlocal foldtext=ErlangFoldText()
endif
setlocal comments=:%%%,:%%,:%
setlocal commentstring=%%s
setlocal formatoptions+=ro
let &l:keywordprg = g:erlang_keywordprg
endfunction
" Define folding functions
if !exists('*GetErlangFold')
" Folding params
let s:erlang_fun_begin = '^\a\w*(.*$'
let s:erlang_fun_end = '^[^%]*\.\s*\(%.*\)\?$'
let s:erlang_blank_line = '^\s*\(%.*\)\?$'
" Auxiliary fold functions
function s:GetNextNonBlank(lnum)
let lnum = nextnonblank(a:lnum + 1)
let line = getline(lnum)
while line =~ s:erlang_blank_line && 0 != lnum
let lnum = nextnonblank(lnum + 1)
let line = getline(lnum)
endwhile
return lnum
endfunction
function s:GetFunName(str)
return matchstr(a:str, '^\a\w*(\@=')
endfunction
function s:GetFunArgs(str, lnum)
let str = a:str
let lnum = a:lnum
while str !~ '->\s*\(%.*\)\?$'
let lnum = s:GetNextNonBlank(lnum)
if 0 == lnum " EOF
return ''
endif
let str .= getline(lnum)
endwhile
return matchstr(str,
\ '\(^(\s*\)\@<=.*\(\s*)\(\s\+when\s\+.*\)\?\s\+->\s*\(%.*\)\?$\)\@=')
endfunction
function s:CountFunArgs(arguments)
let pos = 0
let ac = 0 " arg count
let arguments = a:arguments
" Change list / tuples into just one A(rgument)
let erlang_tuple = '{\([A-Za-z_,|=\-\[\]]\|\s\)*}'
let erlang_list = '\[\([A-Za-z_,|=\-{}]\|\s\)*\]'
" FIXME: Use searchpair?
while arguments =~ erlang_tuple
let arguments = substitute(arguments, erlang_tuple, 'A', 'g')
endwhile
" FIXME: Use searchpair?
while arguments =~ erlang_list
let arguments = substitute(arguments, erlang_list, 'A', 'g')
endwhile
let len = strlen(arguments)
while pos < len && pos > -1
let ac += 1
let pos = matchend(arguments, ',\s*', pos)
endwhile
return ac
endfunction
" Main fold function
function GetErlangFold(lnum)
let lnum = a:lnum
let line = getline(lnum)
if line =~ s:erlang_fun_end
return '<1'
endif
if line =~ s:erlang_fun_begin && foldlevel(lnum - 1) == 1
return '1'
endif
if line =~ s:erlang_fun_begin
return '>1'
endif
return '='
endfunction
" Erlang fold description (foldtext function)
function ErlangFoldText()
let foldlen = v:foldend - v:foldstart
if 1 < foldlen
let lines = 'lines'
else
let lines = 'line'
endif
let line = getline(v:foldstart)
let name = s:GetFunName(line)
let arguments = s:GetFunArgs(strpart(line, strlen(name)), v:foldstart)
let argcount = s:CountFunArgs(arguments)
let retval = '+' . v:folddashes . ' ' . name . '/' . argcount
let retval .= ' (' . foldlen . ' ' . lines . ')'
return retval
endfunction
endif
call s:SetErlangOptions()

View File

@ -1,8 +1,8 @@
" Vim filetype plugin file
" Language: Logcheck
" Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
" Last Change: 2010 Jul 29
" License: GNU GPL, version 2.0
" Last Change: 2012 Jan 15
" License: Vim License
" URL: http://hg.debian.org/hg/pkg-vim/vim/file/unstable/runtime/ftplugin/logcheck.vim
if exists("b:did_ftplugin")

View File

@ -1,7 +1,7 @@
" Vim filetype plugin file
" Language: PostScript
" Maintainer: Mike Williams <mrw@eandem.co.uk>
" Last Change: 27th June 2002
" Language: PostScript
" Maintainer: Mike Williams <mrw@eandem.co.uk>
" Last Change: 16th January 2012
" Only do this when not done yet for this buffer
if exists("b:did_ftplugin")
@ -11,6 +11,9 @@ endif
" Don't load another plugin for this buffer
let b:did_ftplugin = 1
let s:cpo_save = &cpo
set cpo&vim
" PS comment formatting
setlocal comments=b:%
setlocal formatoptions-=t formatoptions+=rol
@ -21,11 +24,12 @@ if !exists("b:match_words")
let b:match_words = '<<:>>,\<begin\>:\<end\>,\<save\>:\<restore\>,\<gsave\>:\<grestore\>'
endif
set cpo-=C
" Define patterns for the browse file filter
if has("gui_win32") && !exists("b:browsefilter")
let b:browsefilter = "PostScript Files (*.ps)\t*.ps\n" .
\ "EPS Files (*.eps)\t*.eps\n" .
\ "All Files (*.*)\t*.*\n"
endif
let &cpo = s:cpo_save
unlet s:cpo_save

View File

@ -1,128 +1,144 @@
" Vim indent file
" Language: Erlang
" Maintainer: Csaba Hoch <csaba.hoch@gmail.com>
" Contributor: Edwin Fine <efine145_nospam01 at usa dot net>
" Last Change: 2008 Mar 12
" Author: Csaba Hoch <csaba.hoch@gmail.com>
" Contributors: Edwin Fine <efine145_nospam01 at usa dot net>
" Pawel 'kTT' Salata <rockplayer.pl@gmail.com>
" Ricardo Catalinas Jiménez <jimenezrick@gmail.com>
" License: Vim license
" Version: 2011/09/06
" Only load this indent file when no other was loaded.
" Only load this indent file when no other was loaded
if exists("b:did_indent")
finish
finish
else
let b:did_indent = 1
endif
let b:did_indent = 1
setlocal indentexpr=ErlangIndent()
setlocal indentkeys+==after,=end,=catch,=),=],=}
" Only define the functions once.
" Only define the functions once
if exists("*ErlangIndent")
finish
finish
endif
" The function go through the whole line, analyses it and sets the indentation
" (ind variable).
" l: the number of the line to be examined.
function s:ErlangIndentAtferLine(l)
let i = 0 " the index of the current character in the line
let length = strlen(a:l) " the length of the line
" The function goes through the whole line, analyses it and returns the
" indentation level.
"
" line: the line to be examined
" return: the indentation level of the examined line
function s:ErlangIndentAfterLine(line)
let linelen = strlen(a:line) " the length of the line
let i = 0 " the index of the current character in the line
let ind = 0 " how much should be the difference between the indentation of
" the current line and the indentation of the next line?
" e.g. +1: the indentation of the next line should be equal to
" the indentation of the current line plus one shiftwidth
let lastFun = 0 " the last token was a 'fun'
let lastReceive = 0 " the last token was a 'receive'; needed for 'after'
let lastHashMark = 0 " the last token was a 'hashmark'
let last_fun = 0 " the last token was a 'fun'
let last_receive = 0 " the last token was a 'receive'; needed for 'after'
let last_hash_sym = 0 " the last token was a '#'
while 0<= i && i < length
" Ignore comments
if a:line =~# '^\s*%'
return 0
endif
" Partial function head where the guard is missing
if a:line =~# "\\(^\\l[[:alnum:]_]*\\)\\|\\(^'[^']\\+'\\)(" && a:line !~# '->'
return 2
endif
" The missing guard from the split function head
if a:line =~# '^\s*when\s\+.*->'
return -1
endif
while 0<=i && i<linelen
" m: the next value of the i
if a:l[i] == '%'
break
elseif a:l[i] == '"'
let m = matchend(a:l,'"\%([^"\\]\|\\.\)*"',i)
let lastReceive = 0
elseif a:l[i] == "'"
let m = matchend(a:l,"'[^']*'",i)
let lastReceive = 0
elseif a:l[i] =~# "[a-z]"
let m = matchend(a:l,".[[:alnum:]_]*",i)
if lastFun
if a:line[i] == '"'
let m = matchend(a:line,'"\%([^"\\]\|\\.\)*"',i)
let last_receive = 0
elseif a:line[i] == "'"
let m = matchend(a:line,"'[^']*'",i)
let last_receive = 0
elseif a:line[i] =~# "[a-z]"
let m = matchend(a:line,".[[:alnum:]_]*",i)
if last_fun
let ind = ind - 1
let lastFun = 0
let lastReceive = 0
elseif a:l[(i):(m-1)] =~# '^\%(case\|if\|try\)$'
let last_fun = 0
let last_receive = 0
elseif a:line[(i):(m-1)] =~# '^\%(case\|if\|try\)$'
let ind = ind + 1
elseif a:l[(i):(m-1)] =~# '^receive$'
elseif a:line[(i):(m-1)] =~# '^receive$'
let ind = ind + 1
let lastReceive = 1
elseif a:l[(i):(m-1)] =~# '^begin$'
let last_receive = 1
elseif a:line[(i):(m-1)] =~# '^begin$'
let ind = ind + 2
let lastReceive = 0
elseif a:l[(i):(m-1)] =~# '^end$'
let last_receive = 0
elseif a:line[(i):(m-1)] =~# '^end$'
let ind = ind - 2
let lastReceive = 0
elseif a:l[(i):(m-1)] =~# '^after$'
if lastReceive == 0
let last_receive = 0
elseif a:line[(i):(m-1)] =~# '^after$'
if last_receive == 0
let ind = ind - 1
else
let ind = ind + 0
end
let lastReceive = 0
elseif a:l[(i):(m-1)] =~# '^fun$'
endif
let last_receive = 0
elseif a:line[(i):(m-1)] =~# '^fun$'
let ind = ind + 1
let lastFun = 1
let lastReceive = 0
let last_fun = 1
let last_receive = 0
endif
elseif a:l[i] =~# "[A-Z_]"
let m = matchend(a:l,".[[:alnum:]_]*",i)
let lastReceive = 0
elseif a:l[i] == '$'
elseif a:line[i] =~# "[A-Z_]"
let m = matchend(a:line,".[[:alnum:]_]*",i)
let last_receive = 0
elseif a:line[i] == '$'
let m = i+2
let lastReceive = 0
elseif a:l[i] == "." && (i+1>=length || a:l[i+1]!~ "[0-9]")
let last_receive = 0
elseif a:line[i] == "." && (i+1>=linelen || a:line[i+1]!~ "[0-9]")
let m = i+1
if lastHashMark
let lastHashMark = 0
if last_hash_sym
let last_hash_sym = 0
else
let ind = ind - 1
end
let lastReceive = 0
elseif a:l[i] == '-' && (i+1<length && a:l[i+1]=='>')
endif
let last_receive = 0
elseif a:line[i] == '-' && (i+1<linelen && a:line[i+1]=='>')
let m = i+2
let ind = ind + 1
let lastReceive = 0
elseif a:l[i] == ';'
let last_receive = 0
elseif a:line[i] == ';' && a:line[(i):(linelen)] !~# '.*->.*'
let m = i+1
let ind = ind - 1
let lastReceive = 0
elseif a:l[i] == '#'
let last_receive = 0
elseif a:line[i] == '#'
let m = i+1
let lastHashMark = 1
elseif a:l[i] =~# '[({[]'
let last_hash_sym = 1
elseif a:line[i] =~# '[({[]'
let m = i+1
let ind = ind + 1
let lastFun = 0
let lastReceive = 0
let lastHashMark = 0
elseif a:l[i] =~# '[)}\]]'
let last_fun = 0
let last_receive = 0
let last_hash_sym = 0
elseif a:line[i] =~# '[)}\]]'
let m = i+1
let ind = ind - 1
let lastReceive = 0
let last_receive = 0
else
let m = i+1
endif
let i = m
endwhile
return ind
endfunction
function s:FindPrevNonBlankNonComment(lnum)
let lnum = prevnonblank(a:lnum)
let line = getline(lnum)
" continue to search above if the current line begins with a '%'
" Continue to search above if the current line begins with a '%'
while line =~# '^\s*%.*$'
let lnum = prevnonblank(lnum - 1)
if 0 == lnum
@ -133,12 +149,20 @@ function s:FindPrevNonBlankNonComment(lnum)
return lnum
endfunction
function ErlangIndent()
" The function returns the indentation level of the line adjusted to a mutiple
" of 'shiftwidth' option.
"
" lnum: line number
" return: the indentation level of the line
function s:GetLineIndent(lnum)
return (indent(a:lnum) / &sw) * &sw
endfunction
" Find a non-blank line above the current line.
function ErlangIndent()
" Find a non-blank line above the current line
let lnum = prevnonblank(v:lnum - 1)
" Hit the start of the file, use zero indent.
" Hit the start of the file, use zero indent
if lnum == 0
return 0
endif
@ -146,9 +170,14 @@ function ErlangIndent()
let prevline = getline(lnum)
let currline = getline(v:lnum)
let ind = indent(lnum) + &sw * s:ErlangIndentAtferLine(prevline)
let ind_after = s:ErlangIndentAfterLine(prevline)
if ind_after != 0
let ind = s:GetLineIndent(lnum) + ind_after * &sw
else
let ind = indent(lnum) + ind_after * &sw
endif
" special cases:
" Special cases:
if prevline =~# '^\s*\%(after\|end\)\>'
let ind = ind + 2*&sw
endif
@ -158,8 +187,8 @@ function ErlangIndent()
if currline =~# '^\s*after\>'
let plnum = s:FindPrevNonBlankNonComment(v:lnum-1)
if getline(plnum) =~# '^[^%]*\<receive\>\s*\%(%.*\)\=$'
let ind = ind - 1*&sw
" If the 'receive' is not in the same line as the 'after'
let ind = ind - 1*&sw
else
let ind = ind - 2*&sw
endif
@ -181,26 +210,4 @@ function ErlangIndent()
let ind = 0
endif
return ind
endfunction
" TODO:
"
" f() ->
" x("foo
" bar")
" ,
" bad_indent.
"
" fun
" init/0,
" bad_indent
"
" #rec
" .field,
" bad_indent
"
" case X of
" 1 when A; B ->
" bad_indent

View File

@ -1,7 +1,12 @@
" Vim indent file
" Language: Java
" Maintainer: Toby Allsopp <toby.allsopp@peace.com> (resigned)
" Last Change: 2005 Mar 28
" Previous Maintainer: Toby Allsopp <toby.allsopp@peace.com>
" Current Maintainer: Hong Xu <xuhdev@gmail.com>
" Last Change: 2012 Jan 20
" Version: 1.0
" License: Same as Vim.
" Copyright (c) 2012 Hong Xu
" Before 2012, this file is maintained by Toby Allsopp.
" Only load this indent file when no other was loaded.
if exists("b:did_indent")
@ -60,6 +65,13 @@ function GetJavaIndent()
" find start of previous line, in case it was a continuation line
let lnum = SkipJavaBlanksAndComments(v:lnum - 1)
" If the previous line starts with '@', we should have the same indent as
" the previous one
if getline(lnum) =~ '^\s*@\S\+\s*$'
return indent(lnum)
endif
let prev = lnum
while prev > 1
let next_prev = SkipJavaBlanksAndComments(prev - 1)

View File

@ -19,7 +19,7 @@ if &cp || exists("g:loaded_getscriptPlugin")
endif
finish
endif
let g:loaded_getscriptPlugin = "v33"
let g:loaded_getscriptPlugin = "v34"
let s:keepcpo = &cpo
set cpo&vim

View File

@ -14,7 +14,7 @@
if &cp || exists("g:loaded_tarPlugin")
finish
endif
let g:loaded_tarPlugin = "v27"
let g:loaded_tarPlugin = "v28"
let s:keepcpo = &cpo
set cpo&vim

View File

@ -16,7 +16,7 @@
if &cp || exists("g:loaded_vimballPlugin")
finish
endif
let g:loaded_vimballPlugin = "v34"
let g:loaded_vimballPlugin = "v35"
let s:keepcpo = &cpo
set cpo&vim

View File

@ -1,9 +1,9 @@
" zipPlugin.vim: Handles browsing zipfiles
" PLUGIN PORTION
" Date: Oct 05, 2007
" Date: Aug 15, 2011
" Maintainer: Charles E Campbell, Jr <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
" License: Vim License (see vim's :help license)
" Copyright: Copyright (C) 2005,2006 Charles E. Campbell, Jr. {{{1
" Copyright: Copyright (C) 2005-2011 Charles E. Campbell, Jr. {{{1
" Permission is hereby granted to use and distribute this code,
" with or without modifications, provided that this copyright
" notice is copied with it. Like anything else that's free,
@ -20,7 +20,7 @@
if &cp || exists("g:loaded_zipPlugin")
finish
endif
let g:loaded_zipPlugin = "v24"
let g:loaded_zipPlugin = "v25"
let s:keepcpo = &cpo
set cpo&vim
@ -40,7 +40,7 @@ augroup zip
au FileWriteCmd zipfile:*/* call zip#Write(expand("<amatch>"))
endif
au BufReadCmd *.zip,*.jar,*.xpi,*.war,*.ear,*.celzip call zip#Browse(expand("<amatch>"))
au BufReadCmd *.zip,*.jar,*.xpi,*.war,*.ear,*.celzip,*.oxt call zip#Browse(expand("<amatch>"))
augroup END
" ---------------------------------------------------------------------

View File

@ -29,7 +29,7 @@
+ # soundslike mapping from Aspell
+ # Aspell phonetics for Irish, by Kevin Scannell <scannell@slu.edu>
+ # Copyright 2002, 2003 Kevin P. Scannell, distributed under GNU GPL
+ # version 2.0
+ # version 2.0 or the Vim license (attribution by Kevin Scannell, Jan 2012)
+
+ SAL followup 0 # else breaks QU^, e.g.
+ SAL collapse_result 1 # no double letters in resulting strings

View File

@ -25,7 +25,7 @@
+ # soundslike mapping from Aspell
+ # Aspell phonetics for Irish, by Kevin Scannell <scannell@slu.edu>
+ # Copyright 2002, 2003 Kevin P. Scannell, distributed under GNU GPL
+ # version 2.0
+ # version 2.0 or the Vim license (attribution by Kevin Scannell, Jan 2012)
+
+ SAL followup 0 # else breaks QU^, e.g.
+ SAL collapse_result 1 # no double letters in resulting strings

View File

@ -27,7 +27,7 @@
+ # soundslike mapping from Aspell
+ # swedish_phonet.dat - Swedish phonetic transformation rules for aspell
+ # Copyright (C) 2000 Martin Norb<72>ck <d95mback@dtek.chalmers.se>
+ # distributed under GNU GPL
+ # distributed under GNU GPL or the Vim license, at your choice.
+ # version 0.2
+
+ SAL & &

View File

@ -1,7 +1,7 @@
" Vim syntax file
" Language: C
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2012 Jan 04
" Last Change: 2012 Jan 14
" Quit when a (custom) syntax file was already loaded
if exists("b:current_syntax")
@ -62,6 +62,25 @@ syn match cSpecialCharacter display "L\='\\\o\{1,3}'"
syn match cSpecialCharacter display "'\\x\x\{1,2}'"
syn match cSpecialCharacter display "L'\\x\x\+'"
if !exists("c_no_c11") " ISO C11
if exists("c_no_cformat")
syn region cString start=+\%(U\|u8\=\)"+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,@Spell
else
syn region cString start=+\%(U\|u8\=\)"+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,cFormat,@Spell
endif
syn match cCharacter "[Uu]'[^\\]'"
syn match cCharacter "[Uu]'[^']*'" contains=cSpecial
if exists("c_gnu")
syn match cSpecialError "[Uu]'\\[^'\"?\\abefnrtv]'"
syn match cSpecialCharacter "[Uu]'\\['\"?\\abefnrtv]'"
else
syn match cSpecialError "[Uu]'\\[^'\"?\\abfnrtv]'"
syn match cSpecialCharacter "[Uu]'\\['\"?\\abfnrtv]'"
endif
syn match cSpecialCharacter display "[Uu]'\\\o\{1,3}'"
syn match cSpecialCharacter display "[Uu]'\\x\x\+'"
endif
"when wanted, highlight trailing white space
if exists("c_space_errors")
if !exists("c_no_trail_space_error")
@ -211,6 +230,7 @@ if !exists("c_no_c11")
syn keyword cStorageClass _Noreturn noreturn
syn keyword cOperator _Static_assert static_assert
syn keyword cStorageClass _Thread_local thread_local
syn keyword cType char16_t char32_t
endif
if !exists("c_no_ansi") || exists("c_ansi_constants") || exists("c_gnu")

View File

@ -2,20 +2,21 @@
"
" Language: D
" Maintainer: Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
" Last Change: 2010 Sep 21
" Version: 0.22
" Last Change: 2012 Jan 11
" Version: 0.24
"
" Contributors:
" - Jason Mills <jasonmills@nf.sympatico.ca>: original Maintainer
" - Kirk McDonald: version 0.17 updates, with minor modifications
" (http://paste.dprogramming.com/dplmb7qx?view=hidelines)
" - Tim Keating: patch to fix a bug in highlighting the `\` literal
" - Frank Benoit: Fixed a bug that caused some identifiers and numbers to highlight as octal number errors.
" - Shougo Matsushita <Shougo.Matsu@gmail.com>: updates for latest 2.047 highlighting
" - Ellery Newcomer: Fixed some highlighting bugs.
" - Steven N. Oliver: #! highlighting
" - Kirk McDonald
" - Tim Keating
" - Frank Benoit
" - Shougo Matsushita <Shougo.Matsu@gmail.com>
" - Ellery Newcomer
" - Steven N. Oliver
" - Sohgo Takeuchi
"
" Please email me with bugs, comments, and suggestions.
" Please submit bugs/comments/suggestions to the github repo:
" https://github.com/he-the-great/d.vim
"
" Options:
" d_comment_strings - Set to highlight strings and numbers in comments.
@ -23,34 +24,23 @@
" d_hl_operator_overload - Set to highlight D's specially named functions
" that when overloaded implement unary and binary operators (e.g. opCmp).
"
" Todo:
" - Determine a better method of sync'ing than simply setting minlines
" to a large number.
"
" - Several keywords (e.g., in, out, inout) are both storage class and
" statements, depending on their context. Perhaps use pattern matching to
" figure out which and highlight appropriately. For now I have made such
" keywords storage classes so their highlighting is consistent with other
" keywords that are commonly used with them, but are true storage classes,
" such as lazy. Similarly, I made some statement keywords (e.g. body) storage
" classes.
"
" - Mark contents of the asm statement body as special
"
" - Maybe highlight the 'exit', 'failure', and 'success' parts of the
" scope() statement.
"
" - Highlighting DDoc comments.
"
" d_hl_object_types - Set to highlight some common types from object.di.
" Quit when a syntax file was already loaded
if exists("b:current_syntax")
finish
endif
" Support cpoptions
let s:cpo_save = &cpo
set cpo&vim
" Set the current syntax to be known as d
let b:current_syntax = "d"
" Keyword definitions
"
syn keyword dExternal import package module extern
syn keyword dExternal import module
syn keyword dConditional if else switch
syn keyword dBranch goto break continue
syn keyword dRepeat while for do foreach foreach_reverse
@ -77,21 +67,34 @@ if exists("d_hl_operator_overload")
syn keyword dOpOverload opCall opSlice opSliceAssign opSliceOpAssign
syn keyword dOpOverload opPos opAdd_r opMul_r opAnd_r opOr_r opXor_r
syn keyword dOpOverload opIn opIn_r opPow opDispatch opStar opDot
syn keyword dOpOverload opApply opApplyReverse
syn keyword dOpOverload opApply opApplyReverse opDollar
syn keyword dOpOverload opUnary opIndexUnary opSliceUnary
syn keyword dOpOverload opBinary opBinaryRight
endif
syn keyword dType void ushort int uint long ulong float
syn keyword dType byte ubyte double bit char wchar ucent cent
syn keyword dType short bool dchar wstring dstring
syn keyword dType real ireal ifloat idouble
syn keyword dType creal cfloat cdouble
syn keyword dType byte ubyte short ushort int uint long ulong cent ucent
syn keyword dType void bool bit
syn keyword dType float double real
syn keyword dType ushort int uint long ulong float
syn keyword dType char wchar dchar string wstring dstring
syn keyword dType ireal ifloat idouble creal cfloat cdouble
syn keyword dType size_t ptrdiff_t sizediff_t equals_t hash_t
if exists("d_hl_object_types")
syn keyword dType Object Throwable AssociativeArray Error Exception
syn keyword dType Interface OffsetTypeInfo TypeInfo TypeInfo_Typedef
syn keyword dType TypeInfo_Enum TypeInfo_Pointer TypeInfo_Array
syn keyword dType TypeInfo_StaticArray TypeInfo_AssociativeArray
syn keyword dType TypeInfo_Function TypeInfo_Delegate TypeInfo_Class
syn keyword dType ClassInfo TypeInfo_Interface TypeInfo_Struct
syn keyword dType TypeInfo_Tuple TypeInfo_Const TypeInfo_Invariant
syn keyword dType TypeInfo_Shared TypeInfo_Inout MemberInfo
syn keyword dType MemberInfo_field MemberInfo_function ModuleInfo
endif
syn keyword dDebug deprecated unittest invariant
syn keyword dExceptions throw try catch finally
syn keyword dScopeDecl public protected private export
syn keyword dScopeDecl public protected private export package
syn keyword dStatement debug return with
syn keyword dStatement function delegate __traits mixin macro
syn keyword dStatement function delegate __ctfe mixin macro
syn keyword dStorageClass in out inout ref lazy body
syn keyword dStorageClass pure nothrow
syn keyword dStorageClass auto static override final abstract volatile
@ -100,15 +103,26 @@ syn keyword dStorageClass synchronized shared immutable const lazy
syn keyword dPragma pragma
syn keyword dIdentifier _arguments _argptr __vptr __monitor _ctor _dtor
syn keyword dScopeIdentifier contained exit success failure
syn keyword dTraitsIdentifier contained isAbstractClass isArithmetic isAssociativeArray
syn keyword dTraitsIdentifier contained isFinalClass isFloating isIntegral isScalar
syn keyword dTraitsIdentifier contained isStaticArray isUnsigned isVirtualFunction
syn keyword dTraitsIdentifier contained isAbstractFunction isFinalFunction isStaticFunction
syn keyword dTraitsIdentifier contained isRef isOut isLazy hasMember identifier getMember
syn keyword dTraitsIdentifier contained getOverloads getVirtualFunctions parent compiles
syn keyword dTraitsIdentifier contained classInstanceSize allMembers derivedMembers isSame
syn keyword dExternIdentifier contained Windows Pascal Java System D
syn keyword dAttribute contained safe trusted system
syn keyword dAttribute contained property disable
syn keyword dVersionIdentifier contained DigitalMars GNU LDC LLVM
syn keyword dVersionIdentifier contained X86 X86_64 Windows Win32 Win64
syn keyword dVersionIdentifier contained linux Posix OSX FreeBSD
syn keyword dVersionIdentifier contained LittleEndian BigEndian D_Coverage
syn keyword dVersionIdentifier contained D_Ddoc D_InlineAsm_X86
syn keyword dVersionIdentifier contained D_InlineAsm_X86_64 D_LP64 D_PIC
syn keyword dVersionIdentifier contained unittest D_Version2 none all
syn keyword dVersionIdentifier contained DigitalMars GNU LDC SDC D_NET
syn keyword dVersionIdentifier contained X86 X86_64 ARM PPC PPC64 IA64 MIPS MIPS64 Alpha
syn keyword dVersionIdentifier contained SPARC SPARC64 S390 S390X HPPA HPPA64 SH SH64
syn keyword dVersionIdentifier contained linux Posix OSX FreeBSD Windows Win32 Win64
syn keyword dVersionIdentifier contained OpenBSD BSD Solaris AIX SkyOS SysV3 SysV4 Hurd
syn keyword dVersionIdentifier contained Cygwin MinGW
syn keyword dVersionIdentifier contained LittleEndian BigEndian
syn keyword dVersionIdentifier contained D_InlineAsm_X86 D_InlineAsm_X86_64
syn keyword dVersionIdentifier contained D_Version2 D_Coverage D_Ddoc D_LP64 D_PIC
syn keyword dVersionIdentifier contained unittest none all
" Highlight the sharpbang
syn match dSharpBang "\%^#!.*" display
@ -117,23 +131,38 @@ syn match dSharpBang "\%^#!.*" display
syn match dAnnotation "@[_$a-zA-Z][_$a-zA-Z0-9_]*\>" contains=dAttribute
" Version Identifiers
syn match dVersion "[^.]version" nextgroup=dVersionInside
syn match dVersion "^version" nextgroup=dVersionInside
syn match dVersionInside "([_a-zA-Z][_a-zA-Z0-9]*\>" transparent contained contains=dVersionIdentifier
syn match dVersion "[^.]\<version\>"hs=s+1 nextgroup=dVersionInside
syn match dVersion "^\<version\>" nextgroup=dVersionInside
syn match dVersionInside "\s*([_a-zA-Z][_a-zA-Z0-9]*\>" transparent contained contains=dVersionIdentifier
" Scope StorageClass
syn match dStorageClass "scope"
syn match dStorageClass "\<scope\>"
" Traits Expression
syn match dStatement "\<__traits\>"
" Extern Modifier
syn match dExternal "\<extern\>"
" Scope Identifiers
syn match dScope "scope\s*([_a-zA-Z][_a-zA-Z0-9]*\>"he=s+5 contains=dScopeIdentifier
syn match dScope "\<scope\s*([_a-zA-Z][_a-zA-Z0-9]*\>"he=s+5 contains=dScopeIdentifier
" Traits Identifiers
syn match dTraits "\<__traits\s*([_a-zA-Z][_a-zA-Z0-9]*\>"he=s+8 contains=dTraitsIdentifier
" Necessary to highlight C++ in extern modifiers.
syn match dExternIdentifier "C\(++\)\?" contained
" Extern Identifiers
syn match dExtern "\<extern\s*([_a-zA-Z][_a-zA-Z0-9\+]*\>"he=s+6 contains=dExternIdentifier
" String is a statement and a module name.
syn match dType "^string"
syn match dType "[^.]\s*\<string\>"ms=s+1
syn match dType "[^.]\<string\>"ms=s+1
syn match dType "^\<string\>"
" Assert is a statement and a module name.
syn match dAssert "^assert"
syn match dAssert "[^.]\s*\<assert\>"ms=s+1
syn match dAssert "[^.]\<assert\>"ms=s+1
syn match dAssert "^\<assert\>"
" dTokens is used by the token string highlighting
syn cluster dTokens contains=dExternal,dConditional,dBranch,dRepeat,dBoolean
@ -161,12 +190,12 @@ if exists("d_comment_strings")
syn region dBlockCommentString contained start=+"+ end=+"+ end=+\*/+me=s-1,he=s-1 contains=dCommentStar,dUnicode,dEscSequence,@Spell
syn region dNestedCommentString contained start=+"+ end=+"+ end="+"me=s-1,he=s-1 contains=dCommentPlus,dUnicode,dEscSequence,@Spell
syn region dLineCommentString contained start=+"+ end=+$\|"+ contains=dUnicode,dEscSequence,@Spell
syn region dBlockComment start="/\*" end="\*/" contains=dBlockCommentString,dTodo,@Spell
syn region dNestedComment start="/+" end="+/" contains=dNestedComment,dNestedCommentString,dTodo,@Spell
syn region dBlockComment start="/\*" end="\*/" contains=dBlockCommentString,dTodo,@Spell fold
syn region dNestedComment start="/+" end="+/" contains=dNestedComment,dNestedCommentString,dTodo,@Spell fold
syn match dLineComment "//.*" contains=dLineCommentString,dTodo,@Spell
else
syn region dBlockComment start="/\*" end="\*/" contains=dBlockCommentString,dTodo,@Spell
syn region dNestedComment start="/+" end="+/" contains=dNestedComment,dNestedCommentString,dTodo,@Spell
syn region dBlockComment start="/\*" end="\*/" contains=dBlockCommentString,dTodo,@Spell fold
syn region dNestedComment start="/+" end="+/" contains=dNestedComment,dNestedCommentString,dTodo,@Spell fold
syn match dLineComment "//.*" contains=dLineCommentString,dTodo,@Spell
endif
@ -280,6 +309,10 @@ syn case match
" TODO: Highlight following Integer and optional Filespec.
syn region dPragma start="#\s*\(line\>\)" skip="\\$" end="$"
" Block
"
syn region dBlock start="{" end="}" transparent fold
" The default highlighting.
"
@ -330,12 +363,14 @@ hi def link dAnnotation PreProc
hi def link dSharpBang PreProc
hi def link dAttribute StorageClass
hi def link dIdentifier Identifier
hi def link dVersionIdentifier Identifier
hi def link dVersion dStatement
hi def link dScopeIdentifier dStatement
hi def link dVersionIdentifier Identifier
hi def link dScope dStorageClass
let b:current_syntax = "d"
hi def link dScopeIdentifier Identifier
hi def link dTraits dStatement
hi def link dTraitsIdentifier Identifier
hi def link dExtern dExternal
hi def link dExternIdentifier Identifier
" Marks contents of the asm statment body as special
@ -464,3 +499,5 @@ syn keyword dAsmOpCode contained pfnacc pfpnacc pfrcp pfrcpit1 pfrcpit2
syn keyword dAsmOpCode contained pfrsqit1 pfrsqrt pfsub pfsubr pi2fd
syn keyword dAsmOpCode contained pmulhrw pswapd
let &cpo = s:cpo_save
unlet s:cpo_save

View File

@ -1,229 +1,126 @@
" Vim syntax file
" Language: erlang (ERicsson LANGuage)
" http://www.erlang.se
" http://www.erlang.org
" Maintainer: Csaba Hoch <csaba.hoch@gmail.com>
" Former Maintainer: Kreąimir Marľić (Kresimir Marzic) <kmarzic@fly.srk.fer.hr>
" Last update: 12-Mar-2008
" Filenames: .erl
" Language: Erlang
" Author: Oscar Hellstr<74>m <oscar@oscarh.net> (http://oscar.hellstrom.st)
" Contributors: Ricardo Catalinas Jim<69>nez <jimenezrick@gmail.com>
" License: Vim license
" Version: 2011/09/11
" There are three sets of highlighting in here:
" One is "erlang_characters", second is "erlang_functions" and third
" is "erlang_keywords".
" If you want to disable keywords highlighting, put in your .vimrc:
" let erlang_keywords=1
" If you want to disable erlang BIF highlighting, put in your .vimrc
" this:
" let erlang_functions=1
" If you want to disable special characters highlighting, put in
" your .vimrc:
" let erlang_characters=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
if exists("b:current_syntax")
finish
else
let b:current_syntax = "erlang"
endif
if !exists("g:erlang_highlight_bif")
let g:erlang_highlight_bif = 1
endif
" Case sensitive
" Erlang is case sensitive
syn case match
" Match groups
syn match erlangStringModifier /\\./ contained
syn match erlangStringModifier /\~\%(-\?[0-9*]\+\)\?\%(\.[0-9*]\+\..\?\)\?\%(c\|f\|e\|g\|s\|w\|p\|W\|P\|B\|X\|#\|b\|+\|n\|i\)/ contained
syn match erlangModifier /\$\\\?./
if ! exists ("erlang_characters")
syn match erlangInteger /\<\%([0-9]\+#[0-9a-fA-F]\+\|[0-9]\+\)\>/
syn match erlangFloat /\<[0-9]\+\.[0-9]\+\%(e-\?[0-9]\+\)\?\>/
" Basic elements
syn match erlangComment "%.*$" contains=erlangAnnotation,erlangTodo
syn match erlangAnnotation " \@<=@\%(clear\|docfile\|end\|headerfile\|todo\|TODO\|type\|author\|copyright\|doc\|reference\|see\|since\|title\|version\|deprecated\|hidden\|private\|equiv\|spec\|throws\)" contained
syn match erlangAnnotation "`[^']*'" contained
syn keyword erlangTodo TODO FIXME XXX contained
syn match erlangModifier "\~\a\|\\\a\|\\\\" contained
syn match erlangSpecialCharacter ":\|_\|@\|\\\|\"\|\."
syn match erlangSeparator "(\|)\|{\|}\|\[\|]\||\|||\|;\|,\|?\|->\|#" contained
syn region erlangString start=+"+ skip=+\\.+ end=+"+ contains=erlangModifier
syn region erlangAtom start=+'+ skip=+\\'+ end=+'+
syn keyword erlangTodo TODO FIXME XXX contained
syn match erlangComment /%.*$/ contains=@Spell,erlangTodo,erlangAnnotation
syn match erlangAnnotation /\%(%\s\)\@<=@\%(author\|clear\|copyright\|deprecated\|doc\|docfile\|end\|equiv\|headerfile\|hidden\|private\|reference\|see\|since\|spec\|throws\|title\|todo\|TODO\|type\|version\)/ contained
syn match erlangAnnotation /`[^']\+'/ contained
" Operators
syn match erlangOperator "+\|-\|\*\|\/"
syn keyword erlangOperator div rem or xor bor bxor bsl bsr
syn keyword erlangOperator and band not bnot andalso orelse
syn match erlangOperator "==\|/=\|=:=\|=/=\|<\|=<\|>\|>="
syn match erlangOperator "++\|--\|=\|!\|<-"
syn keyword erlangKeyword band bor bnot bsl bsr bxor div rem xor
syn keyword erlangKeyword try catch begin receive after cond fun let query
" Numbers
syn match erlangNumberInteger "\d\+" contains=erlangSeparator
syn match erlangNumberFloat1 "\d\+\.\d\+" contains=erlangSeparator
syn match erlangNumberFloat2 "\d\+\(\.\d\+\)\=[eE][+-]\=\d\+\(\.\d\+\)\=" contains=erlangSeparator
syn match erlangNumberFloat3 "\d\+[#]\x\+" contains=erlangSeparator
syn match erlangNumberHex "$\x\+" contains=erlangSeparator
syn keyword erlangConditional case if of end
syn keyword erlangConditional not and or andalso orelse
syn keyword erlangConditional when
" Ignore '_' and '-' in words
syn match erlangWord "\h\+\w*"
syn keyword erlangBoolean true false
syn match erlangChar /\$./
syn keyword erlangGuard is_list is_alive is_atom is_binary is_bitstring is_boolean is_tuple is_number is_integer is_float is_function is_constant is_pid is_port is_reference is_record is_process_alive
syn match erlangOperator /\/\|*\|+\|-\|++\|--/
syn match erlangOperator /->\|<-\|||\||\|!\|=/
syn match erlangOperator /=:=\|==\|\/=\|=\/=\|<\|>\|=<\|>=/
syn keyword erlangOperator div rem
syn region erlangString start=/"/ end=/"/ skip=/\\/ contains=@Spell,erlangStringModifier
syn match erlangVariable /\<[A-Z_]\w*\>/
syn match erlangAtom /\%(\%(^-\)\|#\)\@<!\<[a-z][A-Za-z0-9_]*\>\%(\s*[(:]\)\@!/
syn match erlangAtom /\\\@<!'[^']*\\\@<!'/
syn match erlangRecord /#\w\+/
syn match erlangTuple /{\|}/
syn match erlangList /\[\|\]/
syn match erlangAttribute /^-\%(vsn\|author\|copyright\|compile\|deprecated\|module\|export\|import\|behaviour\|behavior\|export_type\|ignore_xref\|on_load\)\s*(\@=/
syn match erlangInclude /^-include\%(_lib\)\?\s*(\@=/
syn match erlangRecordDef /^-record\s*(\@=/
syn match erlangDefine /^-\%(define\|undef\)\s*(\@=/
syn match erlangPreCondit /^-\%(ifdef\|ifndef\|else\|endif\)\%(\s*(\@=\)\?/
syn match erlangType /^-\%(spec\|type\)[( ]\@=/
syn match erlangMacro /\%(-define(\)\@<=\w\+/
syn match erlangMacro /?\??\w\+/
syn match erlangBitType /\%(\/\|-\)\@<=\%(bits\|bitstring\|binary\|integer\|float\|unit\)\>/
syn match erlangBitSize /:\@<=[0-9]\+/
syn match erlangBinary /<<\|>>/
" BIFs
syn match erlangBIF /\%([^:0-9A-Za-z_]\|\<erlang:\)\@<=\%(abs\|apply\|atom_to_binary\|atom_to_list\|binary_part\|binary_to_atom\|binary_to_existing_atom\|binary_to_list\|binary_to_term\|bit_size\|bitstring_to_list\|byte_size\|check_process_code\|date\|delete_module\|demonitor\|disconnect_node\|element\|erase\|exit\|float\|float_to_list\|garbage_collect\|get\|get_keys\|group_leader\|hd\|integer_to_list\|iolist_size\|iolist_to_binary\|is_alive\|is_atom\|is_binary\|is_bitstring\|is_boolean\|is_float\|is_function\|is_integer\|is_list\|is_number\|is_pid\|is_port\|is_process_alive\|is_record\|is_reference\|is_tuple\|length\|link\|list_to_atom\|list_to_binary\|list_to_bitstring\|list_to_existing_atom\|list_to_float\|list_to_integer\|list_to_pid\|list_to_tuple\|load_module\|make_ref\|max\|min\|module_loaded\|monitor\|monitor_node\|node\|nodes\|now\|open_port\|pid_to_list\|port_close\|port_command\|port_connect\|port_control\|pre_loaded\|processes\|process_flag\|process_info\|purge_module\|put\|register\|registered\|round\|self\|setelement\|size\|spawn\|spawn_link\|spawn_monitor\|spawn_opt\|split_binary\|statistics\|term_to_binary\|time\|tl\|trunc\|tuple_size\|tuple_to_list\|unlink\|unregister\|whereis\)\%((\|\/[0-9]\)\@=/
syn match erlangBIF /\<\%(erlang:\)\@<=\%(append_element\|bump_reductions\|cancel_timer\|decode_packet\|display\|function_exported\|fun_info\|fun_to_list\|get_cookie\|get_stacktrace\|hash\|is_builtin\|loaded\|load_nif\|localtime\|localtime_to_universaltime\|make_tuple\|memory\|monitor_node\|phash\|port_call\|port_info\|ports\|port_to_list\|process_display\|read_timer\|ref_to_list\|resume_process\|send\|send_after\|send_nosuspend\|set_cookie\|start_timer\|suspend_process\|system_flag\|system_info\|system_monitor\|system_profile\|trace\|trace_delivered\|trace_info\|trace_pattern\|universaltime\|universaltime_to_localtime\|yield\)(\@=/
syn match erlangGBIF /erlang\%(:\w\)\@=/
" Link Erlang stuff to Vim groups
hi link erlangTodo Todo
hi link erlangString String
hi link erlangNoSpellString String
hi link erlangModifier SpecialChar
hi link erlangStringModifier SpecialChar
hi link erlangComment Comment
hi link erlangAnnotation Special
hi link erlangVariable Identifier
hi link erlangInclude Include
hi link erlangRecordDef Keyword
hi link erlangAttribute Keyword
hi link erlangKeyword Keyword
hi link erlangMacro Macro
hi link erlangDefine Define
hi link erlangPreCondit PreCondit
hi link erlangPreProc PreProc
hi link erlangDelimiter Delimiter
hi link erlangBitDelimiter Normal
hi link erlangOperator Operator
hi link erlangConditional Conditional
hi link erlangGuard Conditional
hi link erlangBoolean Boolean
hi link erlangAtom Constant
hi link erlangRecord Structure
hi link erlangInteger Number
hi link erlangFloat Number
hi link erlangFloat Number
hi link erlangFloat Number
hi link erlangFloat Number
hi link erlangHex Number
hi link erlangFun Keyword
hi link erlangList Delimiter
hi link erlangTuple Delimiter
hi link erlangBinary Keyword
hi link erlangBitVariable Identifier
hi link erlangBitType Type
hi link erlangType Type
hi link erlangBitSize Number
" Optional highlighting
if g:erlang_highlight_bif
hi link erlangBIF Keyword
hi link erlangGBIF Keyword
endif
if ! exists ("erlang_functions")
" Functions call
syn match erlangFCall "\%(\w\+\s*\.\s*\)*\w\+\s*[:@]\s*\w\+"
" build-in-functions (BIFs)
syn keyword erlangBIF abs alive apply atom_to_list
syn keyword erlangBIF binary_to_list binary_to_term
syn keyword erlangBIF concat_binary
syn keyword erlangBIF date disconnect_node
syn keyword erlangBIF element erase exit
syn keyword erlangBIF float float_to_list
syn keyword erlangBIF get get_keys group_leader
syn keyword erlangBIF halt hd
syn keyword erlangBIF integer_to_list is_alive
syn keyword erlangBIF length link list_to_atom list_to_binary
syn keyword erlangBIF list_to_float list_to_integer list_to_pid
syn keyword erlangBIF list_to_tuple load_module
syn keyword erlangBIF make_ref monitor_node
syn keyword erlangBIF node nodes now
syn keyword erlangBIF open_port
syn keyword erlangBIF pid_to_list process_flag
syn keyword erlangBIF process_info process put
syn keyword erlangBIF register registered round
syn keyword erlangBIF self setelement size spawn
syn keyword erlangBIF spawn_link split_binary statistics
syn keyword erlangBIF term_to_binary throw time tl trunc
syn keyword erlangBIF tuple_to_list
syn keyword erlangBIF unlink unregister
syn keyword erlangBIF whereis
" Other BIFs
syn keyword erlangBIF atom binary constant function integer
syn keyword erlangBIF list number pid ports port_close port_info
syn keyword erlangBIF reference record
" erlang:BIFs
syn keyword erlangBIF check_process_code delete_module
syn keyword erlangBIF get_cookie hash math module_loaded
syn keyword erlangBIF preloaded processes purge_module set_cookie
syn keyword erlangBIF set_node
" functions of math library
syn keyword erlangFunction acos asin atan atan2 cos cosh exp
syn keyword erlangFunction log log10 pi pow power sin sinh sqrt
syn keyword erlangFunction tan tanh
" Other functions
syn keyword erlangFunction call module_info parse_transform
syn keyword erlangFunction undefined_function
" Modules
syn keyword erlangModule error_handler
endif
if ! exists ("erlang_keywords")
" Constants and Directives
syn match erlangDirective "-behaviour\|-behavior"
syn match erlangDirective "-compile\|-define\|-else\|-endif\|-export\|-file"
syn match erlangDirective "-ifdef\|-ifndef\|-import\|-include_lib\|-include"
syn match erlangDirective "-module\|-record\|-undef"
syn match erlangConstant "-author\|-copyright\|-doc\|-vsn"
" Keywords
syn keyword erlangKeyword after begin case catch
syn keyword erlangKeyword cond end fun if
syn keyword erlangKeyword let of query receive
syn keyword erlangKeyword when
syn keyword erlangKeyword try
" Processes
syn keyword erlangProcess creation current_function dictionary
syn keyword erlangProcess group_leader heap_size high initial_call
syn keyword erlangProcess linked low memory_in_use message_queue
syn keyword erlangProcess net_kernel node normal priority
syn keyword erlangProcess reductions registered_name runnable
syn keyword erlangProcess running stack_trace status timer
syn keyword erlangProcess trap_exit waiting
" Ports
syn keyword erlangPort command count_in count_out creation in
syn keyword erlangPort in_format linked node out owner packeting
" Nodes
syn keyword erlangNode atom_tables communicating creation
syn keyword erlangNode current_gc current_reductions current_runtime
syn keyword erlangNode current_wall_clock distribution_port
syn keyword erlangNode entry_points error_handler friends
syn keyword erlangNode garbage_collection magic_cookie magic_cookies
syn keyword erlangNode module_table monitored_nodes name next_ref
syn keyword erlangNode ports preloaded processes reductions
syn keyword erlangNode ref_state registry runtime wall_clock
" Reserved
syn keyword erlangReserved apply_lambda module_info module_lambdas
syn keyword erlangReserved record record_index record_info
" Extras
syn keyword erlangExtra badarg nocookie false fun true
" Signals
syn keyword erlangSignal badsig kill killed exit normal
endif
" Define the default highlighting.
" For version 5.7 and earlier: only when not done already
" For version 5.8 and later: only when an item doesn't have highlighting yet
if version >= 508 || !exists ("did_erlang_inits")
if version < 508
let did_erlang_inits = 1
command -nargs=+ HiLink hi link <args>
else
command -nargs=+ HiLink hi def link <args>
endif
" erlang_characters
HiLink erlangComment Comment
HiLink erlangAnnotation Special
HiLink erlangTodo Todo
HiLink erlangSpecialCharacter Special
HiLink erlangSeparator Normal
HiLink erlangModifier Special
HiLink erlangOperator Operator
HiLink erlangString String
HiLink erlangAtom Type
HiLink erlangNumberInteger Number
HiLink erlangNumberFloat1 Float
HiLink erlangNumberFloat2 Float
HiLink erlangNumberFloat3 Float
HiLink erlangNumberFloat4 Float
HiLink erlangNumberHex Number
HiLink erlangWord Normal
" erlang_functions
HiLink erlangFCall Function
HiLink erlangBIF Function
HiLink erlangFunction Function
HiLink erlangModuleFunction Function
" erlang_keywords
HiLink erlangDirective Type
HiLink erlangConstant Type
HiLink erlangKeyword Keyword
HiLink erlangProcess Special
HiLink erlangPort Special
HiLink erlangNode Special
HiLink erlangReserved Statement
HiLink erlangExtra Statement
HiLink erlangSignal Statement
delcommand HiLink
endif
let b:current_syntax = "erlang"

View File

@ -1,7 +1,7 @@
" Vim syntax file
" Language: Fortran 2008 (and earlier versions including 2003, 95, 90, and 77)
" Version: 0.91
" Last Change: 2012 Jan. 02
" Language: Fortran 2008 (and earlier versions: 2003, 95, 90, and 77)
" Version: 0.93
" Last Change: 2012 Jan. 18
" Maintainer: Ajit J. Thakkar (ajit AT unb.ca); <http://www.unb.ca/chem/ajit/>
" Usage: For instructions, do :help fortran-syntax from Vim
" Credits:
@ -11,66 +11,48 @@
" Walter Dieudonn<6E>, Alexander Wagner, Roman Bertle, Charles Rendleman,
" Andrew Griffiths, Joe Krahn, and Hendrik Merx.
" For version 5.x: Clear all syntax items
" For version 6.x: Quit if a syntax file is already loaded
if version < 600
syntax clear
elseif exists("b:current_syntax")
if exists("b:current_syntax")
finish
endif
let s:cpo_save = &cpo
set cpo&vim
" let b:fortran_dialect = fortran_dialect if set correctly by user
if exists("fortran_dialect")
if fortran_dialect =~ '\<\(f\(9[05]\|77\)\|elf\|F\)\>'
let b:fortran_dialect = matchstr(fortran_dialect,'\<\(f\(9[05]\|77\)\|elf\|F\)\>')
else
echohl WarningMsg | echo "Unknown value of fortran_dialect" | echohl None
let b:fortran_dialect = "unknown"
" Choose fortran_dialect using the priority:
" source file directive > buffer-local value > global value > default
" try using directive in first three lines of file
let b:fortran_retype = getline(1)." ".getline(2)." ".getline(3)
if b:fortran_retype =~? '\<fortran_dialect\s*=\s*F\>'
let b:fortran_dialect = "F"
elseif b:fortran_retype =~? '\<fortran_dialect\s*=\s*f08\>'
let b:fortran_dialect = "f08"
elseif !exists("b:fortran_dialect")
if exists("g:fortran_dialect") && g:fortran_dialect =~# '\<F\|f08\>'
" try global variable
let b:fortran_dialect = g:fortran_dialect
else " nothing found, so use default
let b:fortran_dialect = "f08"
endif
else
let b:fortran_dialect = "unknown"
endif
" fortran_dialect not set or set incorrectly by user,
if b:fortran_dialect == "unknown"
" set b:fortran_dialect from directive in first three lines of file
let b:fortran_retype = getline(1)." ".getline(2)." ".getline(3)
if b:fortran_retype =~ '\<fortran_dialect\s*=\s*F\>'
let b:fortran_dialect = "F"
elseif b:fortran_retype =~ '\<fortran_dialect\s*=\s*elf\>'
let b:fortran_dialect = "elf"
elseif b:fortran_retype =~ '\<fortran_dialect\s*=\s*f90\>'
let b:fortran_dialect = "f90"
elseif b:fortran_retype =~ '\<fortran_dialect\s*=\s*f95\>'
let b:fortran_dialect = "f95"
elseif b:fortran_retype =~ '\<fortran_dialect\s*=\s*f77\>'
let b:fortran_dialect = "f77"
else
" no directive found, so assume f95
let b:fortran_dialect = "f95"
endif
unlet b:fortran_retype
unlet! b:fortran_retype
" make sure buffer-local value is not invalid
if b:fortran_dialect !~# '\<F\|f08\>'
let b:fortran_dialect = "f08"
endif
" Choose between fixed and free source form if this hasn't been done yet
if !exists("b:fortran_fixed_source")
if b:fortran_dialect == "elf" || b:fortran_dialect == "F"
" elf and F require free source form
if b:fortran_dialect == "F"
" F requires free source form
let b:fortran_fixed_source = 0
elseif b:fortran_dialect == "f77"
" f77 requires fixed source form
let b:fortran_fixed_source = 1
elseif exists("fortran_free_source")
" User guarantees free source form for all f90 and f95 files
" User guarantees free source form for all fortran files
let b:fortran_fixed_source = 0
elseif exists("fortran_fixed_source")
" User guarantees fixed source form for all f90 and f95 files
" User guarantees fixed source form for all fortran files
let b:fortran_fixed_source = 1
else
" f90 and f95 allow both fixed and free source form.
" Modern fortran still allows both free and fixed source form.
" Assume fixed source form unless signs of free source form
" are detected in the first five columns of the first s:lmax lines.
" Detection becomes more accurate and time-consuming if more lines
@ -96,29 +78,18 @@ endif
syn case ignore
if b:fortran_dialect !=? "f77"
if version >= 600
if b:fortran_fixed_source == 1
syn match fortranConstructName "^\s\{6,}\zs\a\w*\ze\s*:"
else
syn match fortranConstructName "^\s*\zs\a\w*\ze\s*:"
endif
if exists("fortran_more_precise")
syn match fortranConstructName "\(\<end\s*do\s\+\)\@<=\a\w*"
syn match fortranConstructName "\(\<end\s*if\s\+\)\@<=\a\w*"
syn match fortranConstructName "\(\<end\s*select\s\+\)\@<=\a\w*"
endif
else
if b:fortran_fixed_source == 1
syn match fortranConstructName "^\s\{6,}\a\w*\s*:"
else
syn match fortranConstructName "^\s*\a\w*\s*:"
endif
endif
if b:fortran_fixed_source == 1
syn match fortranConstructName "^\s\{6,}\zs\a\w*\ze\s*:"
else
syn match fortranConstructName "^\s*\zs\a\w*\ze\s*:"
endif
if exists("fortran_more_precise")
syn match fortranConstructName "\(\<end\s*do\s\+\)\@<=\a\w*"
syn match fortranConstructName "\(\<end\s*if\s\+\)\@<=\a\w*"
syn match fortranConstructName "\(\<end\s*select\s\+\)\@<=\a\w*"
endif
syn match fortranUnitHeader "\<end\>"
syn match fortranUnitHeader "\<end\>"
syn match fortranType "\<character\>"
syn match fortranType "\<complex\>"
syn match fortranType "\<integer\>"
@ -145,7 +116,7 @@ syn match fortranParenError ")"
syn match fortranOperator "\.\s*n\=eqv\s*\."
syn match fortranOperator "\.\s*\(and\|or\|not\)\s*\."
syn match fortranOperator "\(+\|-\|/\|\*\)"
syn match fortranTypeOb "\<character\>\@<=\s*\*"
syn match fortranTypeOb "\<character\s*\*"
syn match fortranBoolean "\.\s*\(true\|false\)\s*\."
@ -160,17 +131,17 @@ endif
syn keyword fortranIO access blank direct exist file fmt form formatted iostat name named nextrec number opened rec recl sequential status unformatted unit
syn keyword fortran66Intrinsic alog alog10 amax0 amax1 amin0 amin1 amod cabs ccos cexp clog csin csqrt dabs dacos dasin datan datan2 dcos dcosh ddim dexp dint dlog dlog10 dmax1 dmin1 dmod dnint dsign dsin dsinh dsqrt dtan dtanh float iabs idim idint idnint ifix isign max0 max1 min0 min1 sngl
syn keyword fortranIntrinsicR alog alog10 amax0 amax1 amin0 amin1 amod cabs ccos cexp clog csin csqrt dabs dacos dasin datan datan2 dcos dcosh ddim dexp dint dlog dlog10 dmax1 dmin1 dmod dnint dsign dsin dsinh dsqrt dtan dtanh float iabs idim idint idnint ifix isign max0 max1 min0 min1 sngl
" Intrinsics provided by some vendors
syn keyword fortranExtraIntrinsic algama cdabs cdcos cdexp cdlog cdsin cdsqrt cqabs cqcos cqexp cqlog cqsin cqsqrt dcmplx dconjg derf derfc dfloat dgamma dimag dlgama iqint qabs qacos qasin qatan qatan2 qcmplx qconjg qcos qcosh qdim qerf qerfc qexp qgamma qimag qlgama qlog qlog10 qmax1 qmin1 qmod qnint qsign qsin qsinh qsqrt qtan qtanh
syn keyword fortran77Intrinsic abs acos aimag aint anint asin atan atan2 char cmplx conjg cos cosh exp ichar index int log log10 max min nint sign sin sinh sqrt tan tanh
syn match fortran77Intrinsic "\<len\s*[(,]"me=s+3
syn match fortran77Intrinsic "\<real\s*("me=s+4
syn keyword fortranIntrinsic abs acos aimag aint anint asin atan atan2 char cmplx conjg cos cosh exp ichar index int log log10 max min nint sign sin sinh sqrt tan tanh
syn match fortranIntrinsic "\<len\s*[(,]"me=s+3
syn match fortranIntrinsic "\<real\s*("me=s+4
syn match fortranType "\<implicit\s\+real"
syn match fortranType "^\s*real\>"
syn match fortran90Intrinsic "\<logical\s*("me=s+7
syn match fortranIntrinsic "\<logical\s*("me=s+7
syn match fortranType "\<implicit\s\+logical"
syn match fortranType "^\s*logical\>"
@ -178,13 +149,13 @@ syn match fortranType "^\s*logical\>"
" Integers
syn match fortranNumber display "\<\d\+\(_\a\w*\)\=\>"
" floating point number, without a decimal point
syn match fortranFloatNoDec display "\<\d\+[deq][-+]\=\d\+\(_\a\w*\)\=\>"
syn match fortranFloatIll display "\<\d\+[deq][-+]\=\d\+\(_\a\w*\)\=\>"
" floating point number, starting with a decimal point
syn match fortranFloatIniDec display "\.\d\+\([deq][-+]\=\d\+\)\=\(_\a\w*\)\=\>"
syn match fortranFloatIll display "\.\d\+\([deq][-+]\=\d\+\)\=\(_\a\w*\)\=\>"
" floating point number, no digits after decimal
syn match fortranFloatEndDec display "\<\d\+\.\([deq][-+]\=\d\+\)\=\(_\a\w*\)\=\>"
syn match fortranFloatIll display "\<\d\+\.\([deq][-+]\=\d\+\)\=\(_\a\w*\)\=\>"
" floating point number, D or Q exponents
syn match fortranFloatDExp display "\<\d\+\.\d\+\([dq][-+]\=\d\+\)\=\(_\a\w*\)\=\>"
syn match fortranFloatIll display "\<\d\+\.\d\+\([dq][-+]\=\d\+\)\=\(_\a\w*\)\=\>"
" floating point number
syn match fortranFloat display "\<\d\+\.\d\+\(e[-+]\=\d\+\)\=\(_\a\w*\)\=\>"
" Numbers in formats
@ -202,76 +173,73 @@ syn match fortranLabelNumber display "^ \d\{1,3}\s"ms=s+2,me=e-1
syn match fortranLabelNumber display "^ \d\d\=\s"ms=s+3,me=e-1
syn match fortranLabelNumber display "^ \d\s"ms=s+4,me=e-1
if version >= 600 && exists("fortran_more_precise")
if exists("fortran_more_precise")
" Numbers as targets
syn match fortranTarget display "\(\<if\s*(.\+)\s*\)\@<=\(\d\+\s*,\s*\)\{2}\d\+\>"
syn match fortranTarget display "\(\<do\s\+\)\@<=\d\+\>"
syn match fortranTarget display "\(\<go\s*to\s*(\=\)\@<=\(\d\+\s*,\s*\)*\d\+\>"
endif
syn keyword fortranTypeEx external
syn keyword fortranIOEx format
syn match fortranKeywordEx "\<continue\>"
syn keyword fortranTypeR external
syn keyword fortranIOR format
syn match fortranKeywordR "\<continue\>"
syn match fortranKeyword "^\s*\d\+\s\+continue\>"
syn match fortranKeyword "\<go\s*to\>"
syn match fortranKeywordDel "\<go\s*to\ze\s\+.*,\s*(.*$"
syn match fortranKeywordOb "\<go\s*to\ze\s*(\d\+.*$"
syn region fortranStringEx start=+'+ end=+'+ contains=fortranContinueMark,fortranLeftMargin,fortranSerialNumber
syn keyword fortran77IntrinsicEx dim lge lgt lle llt mod
syn region fortranStringR start=+'+ end=+'+ contains=fortranContinueMark,fortranLeftMargin,fortranSerialNumber
syn keyword fortranIntrinsicR dim lge lgt lle llt mod
syn keyword fortranKeywordDel assign pause
if b:fortran_dialect != "f77"
syn match fortranType "\<type\>"
syn keyword fortranType none
syn match fortranType "\<type\>"
syn keyword fortranType none
syn keyword fortranStructure private public intent optional
syn keyword fortranStructure pointer target allocatable
syn keyword fortranStorageClass in out
syn match fortranStorageClass "\<kind\s*="me=s+4
syn match fortranStorageClass "\<len\s*="me=s+3
syn keyword fortranStructure private public intent optional
syn keyword fortranStructure pointer target allocatable
syn keyword fortranStorageClass in out
syn match fortranStorageClass "\<kind\s*="me=s+4
syn match fortranStorageClass "\<len\s*="me=s+3
syn match fortranUnitHeader "\<module\>"
syn keyword fortranUnitHeader use only contains
syn keyword fortranUnitHeader result operator assignment
syn match fortranUnitHeader "\<interface\>"
syn match fortranUnitHeader "\<recursive\>"
syn keyword fortranKeyword allocate deallocate nullify cycle exit
syn match fortranConditional "\<select\>"
syn keyword fortranConditional case default where elsewhere
syn match fortranUnitHeader "\<module\>"
syn keyword fortranUnitHeader use only contains
syn keyword fortranUnitHeader result operator assignment
syn match fortranUnitHeader "\<interface\>"
syn match fortranUnitHeader "\<recursive\>"
syn keyword fortranKeyword allocate deallocate nullify cycle exit
syn match fortranConditional "\<select\>"
syn keyword fortranConditional case default where elsewhere
syn match fortranOperator "\(\(>\|<\)=\=\|==\|/=\|=\)"
syn match fortranOperator "=>"
syn match fortranOperator "\(\(>\|<\)=\=\|==\|/=\|=\)"
syn match fortranOperator "=>"
syn region fortranString start=+"+ end=+"+ contains=fortranLeftMargin,fortranContinueMark,fortranSerialNumber
syn keyword fortranIO pad position action delim readwrite
syn keyword fortranIO eor advance nml
syn region fortranString start=+"+ end=+"+ contains=fortranLeftMargin,fortranContinueMark,fortranSerialNumber
syn keyword fortranIO pad position action delim readwrite
syn keyword fortranIO eor advance nml
syn keyword fortranIntrinsic adjustl adjustr all allocated any associated bit_size btest ceiling count cshift date_and_time digits dot_product eoshift epsilon exponent floor fraction huge iand ibclr ibits ibset ieor ior ishft ishftc lbound len_trim matmul maxexponent maxloc maxval merge minexponent minloc minval modulo mvbits nearest pack precision present product radix random_number random_seed range repeat reshape rrspacing
syn keyword fortranIntrinsic scale scan selected_int_kind selected_real_kind set_exponent shape size spacing spread sum system_clock tiny transpose trim ubound unpack verify
syn match fortranIntrinsic "\<not\>\(\s*\.\)\@!"me=s+3
syn match fortranIntrinsic "\<kind\>\s*[(,]"me=s+4
syn keyword fortran90Intrinsic adjustl adjustr all allocated any associated bit_size btest ceiling count cshift date_and_time digits dot_product eoshift epsilon exponent floor fraction huge iand ibclr ibits ibset ieor ior ishft ishftc lbound len_trim matmul maxexponent maxloc maxval merge minexponent minloc minval modulo mvbits nearest pack precision present product radix random_number random_seed range repeat reshape rrspacing
syn keyword fortran90Intrinsic scale scan selected_int_kind selected_real_kind set_exponent shape size spacing spread sum system_clock tiny transpose trim ubound unpack verify
syn match fortran90Intrinsic "\<not\>\(\s*\.\)\@!"me=s+3
syn match fortran90Intrinsic "\<kind\>\s*[(,]"me=s+4
syn match fortranUnitHeader "\<end\s*function"
syn match fortranUnitHeader "\<end\s*interface"
syn match fortranUnitHeader "\<end\s*module"
syn match fortranUnitHeader "\<end\s*program"
syn match fortranUnitHeader "\<end\s*subroutine"
syn match fortranRepeat "\<end\s*do"
syn match fortranConditional "\<end\s*where"
syn match fortranConditional "\<select\s*case"
syn match fortranConditional "\<end\s*select"
syn match fortranType "\<end\s*type"
syn match fortranType "\<in\s*out"
syn match fortranUnitHeader "\<end\s*function"
syn match fortranUnitHeader "\<end\s*interface"
syn match fortranUnitHeader "\<end\s*module"
syn match fortranUnitHeader "\<end\s*program"
syn match fortranUnitHeader "\<end\s*subroutine"
syn match fortranRepeat "\<end\s*do"
syn match fortranConditional "\<end\s*where"
syn match fortranConditional "\<select\s*case"
syn match fortranConditional "\<end\s*select"
syn match fortranType "\<end\s*type"
syn match fortranType "\<in\s*out"
syn keyword fortranType procedure
syn keyword fortranIOR namelist
syn keyword fortranConditionalR while
syn keyword fortranIntrinsicR achar iachar transfer
syn keyword fortranType procedure
syn keyword fortranIOEx namelist
syn keyword fortranConditionalEx while
syn keyword fortran90IntrinsicEx achar iachar transfer
syn keyword fortranInclude include
syn keyword fortran90StorageClassR sequence
endif
syn keyword fortranInclude include
syn keyword fortranStorageClassR sequence
syn match fortranConditional "\<end\s*if"
syn match fortranIO contains=fortranOperator "\<e\(nd\|rr\)\s*=\s*\d\+"
@ -282,55 +250,53 @@ syn match fortranTypeR display "double\s\+precision"
syn match fortranTypeR display "double\s\+complex"
syn match fortranUnitHeaderR display "block\s\+data"
syn keyword fortranStorageClassR common equivalence data
syn keyword fortran77IntrinsicR dble dprod
syn match fortran77OperatorR "\.\s*[gl][et]\s*\."
syn match fortran77OperatorR "\.\s*\(eq\|ne\)\s*\."
syn keyword fortranIntrinsicR dble dprod
syn match fortranOperatorR "\.\s*[gl][et]\s*\."
syn match fortranOperatorR "\.\s*\(eq\|ne\)\s*\."
if b:fortran_dialect == "f95" || b:fortran_dialect == "F"
syn keyword fortranRepeat forall
syn match fortranRepeat "\<end\s*forall"
syn keyword fortran95Intrinsic null cpu_time
syn match fortranType "\<elemental\>"
syn match fortranType "\<pure\>"
if exists("fortran_more_precise")
syn match fortranConstructName "\(\<end\s*forall\s\+\)\@<=\a\w*\>"
endif
syn keyword fortranRepeat forall
syn match fortranRepeat "\<end\s*forall"
syn keyword fortranIntrinsic null cpu_time
syn match fortranType "\<elemental\>"
syn match fortranType "\<pure\>"
if exists("fortran_more_precise")
syn match fortranConstructName "\(\<end\s*forall\s\+\)\@<=\a\w*\>"
endif
if b:fortran_dialect == "f95"
if b:fortran_dialect == "f08"
" F2003
syn keyword fortran03Intrinsic command_argument_count get_command get_command_argument get_environment_variable is_iostat_end is_iostat_eor move_alloc new_line selected_char_kind same_type_as extends_type_of
syn keyword fortranIntrinsic command_argument_count get_command get_command_argument get_environment_variable is_iostat_end is_iostat_eor move_alloc new_line selected_char_kind same_type_as extends_type_of
" ISO_C_binding
syn keyword fortran03Constant c_null_char c_alert c_backspace c_form_feed c_new_line c_carriage_return c_horizontal_tab c_vertical_tab
syn keyword fortran03Constant c_int c_short c_long c_long_long c_signed_char c_size_t c_int8_t c_int16_t c_int32_t c_int64_t c_int_least8_t c_int_least16_t c_int_least32_t c_int_least64_t c_int_fast8_t c_int_fast16_t c_int_fast32_t c_int_fast64_t c_intmax_t C_intptr_t c_float c_double c_long_double c_float_complex c_double_complex c_long_double_complex c_bool c_char c_null_ptr c_null_funptr
syn keyword fortran03Intrinsic iso_c_binding c_loc c_funloc c_associated c_f_pointer c_f_procpointer
syn keyword fortran03Type c_ptr c_funptr
syn keyword fortranConstant c_null_char c_alert c_backspace c_form_feed c_new_line c_carriage_return c_horizontal_tab c_vertical_tab
syn keyword fortranConstant c_int c_short c_long c_long_long c_signed_char c_size_t c_int8_t c_int16_t c_int32_t c_int64_t c_int_least8_t c_int_least16_t c_int_least32_t c_int_least64_t c_int_fast8_t c_int_fast16_t c_int_fast32_t c_int_fast64_t c_intmax_t C_intptr_t c_float c_double c_long_double c_float_complex c_double_complex c_long_double_complex c_bool c_char c_null_ptr c_null_funptr
syn keyword fortranIntrinsic iso_c_binding c_loc c_funloc c_associated c_f_pointer c_f_procpointer
syn keyword fortranType c_ptr c_funptr
" ISO_Fortran_env
syn keyword fortran03Constant iso_fortran_env character_storage_size error_unit file_storage_size input_unit iostat_end iostat_eor numeric_storage_size output_unit
syn keyword fortranConstant iso_fortran_env character_storage_size error_unit file_storage_size input_unit iostat_end iostat_eor numeric_storage_size output_unit
" IEEE_arithmetic
syn keyword fortran03Intrinsic ieee_arithmetic ieee_support_underflow_control ieee_get_underflow_mode ieee_set_underflow_mode
syn keyword fortranIntrinsic ieee_arithmetic ieee_support_underflow_control ieee_get_underflow_mode ieee_set_underflow_mode
syn keyword fortran03ReadWrite flush wait
syn keyword fortran03IO decimal round iomsg
syn keyword fortran03Type asynchronous nopass non_overridable pass protected volatile abstract extends import
syn keyword fortran03Type non_intrinsic value bind deferred generic final enumerator
syn match fortran03Type "\<class\>"
syn match fortran03Type "\<associate\>"
syn match fortran03Type "\<end\s*associate"
syn match fortran03Type "\<enum\s*,\s*bind\s*(\s*c\s*)"
syn match fortran03Type "\<end\s*enum"
syn match fortran03Conditional "\<select\s*type"
syn match fortran03Conditional "\<type\s*is\>"
syn match fortran03Conditional "\<class\s*is\>"
syn match fortran03UnitHeader "\<abstract\s*interface\>"
syn match fortran03Operator "\([\|]\)"
syn keyword fortranReadWrite flush wait
syn keyword fortranIO decimal round iomsg
syn keyword fortranType asynchronous nopass non_overridable pass protected volatile abstract extends import
syn keyword fortranType non_intrinsic value bind deferred generic final enumerator
syn match fortranType "\<class\>"
syn match fortranType "\<associate\>"
syn match fortranType "\<end\s*associate"
syn match fortranType "\<enum\s*,\s*bind\s*(\s*c\s*)"
syn match fortranType "\<end\s*enum"
syn match fortranConditional "\<select\s*type"
syn match fortranConditional "\<type\s*is\>"
syn match fortranConditional "\<class\s*is\>"
syn match fortranUnitHeader "\<abstract\s*interface\>"
syn match fortranOperator "\([\|]\)"
" F2008
syn keyword fortran08Intrinsic acosh asinh atanh bessel_j0 bessel_j1 bessel_jn bessel_y0 bessel_y1 bessel_yn erf erfc erfc_scaled gamma log_gamma hypot norm2
syn keyword fortran08Intrinsic atomic_define atomic_ref execute_command_line leadz trailz storage_size merge_bits
syn keyword fortran08Intrinsic bge bgt ble blt dshiftl dshiftr findloc iall iany iparity image_index lcobound ucobound maskl maskr num_images parity popcnt poppar shifta shiftl shiftr this_image
syn keyword fortran08IO newunit
syn keyword fortran08Type contiguous
syn keyword fortranIntrinsic acosh asinh atanh bessel_j0 bessel_j1 bessel_jn bessel_y0 bessel_y1 bessel_yn erf erfc erfc_scaled gamma log_gamma hypot norm2
syn keyword fortranIntrinsic atomic_define atomic_ref execute_command_line leadz trailz storage_size merge_bits
syn keyword fortranIntrinsic bge bgt ble blt dshiftl dshiftr findloc iall iany iparity image_index lcobound ucobound maskl maskr num_images parity popcnt poppar shifta shiftl shiftr this_image
syn keyword fortranIO newunit
syn keyword fortranType contiguous
endif
syn cluster fortranCommentGroup contains=fortranTodo
@ -350,9 +316,7 @@ else
syn match fortranContinueMark display "&"
endif
if b:fortran_dialect != "f77"
syn match fortranComment excludenl "!.*$" contains=@fortranCommentGroup,@spell
endif
syn match fortranComment excludenl "!.*$" contains=@fortranCommentGroup,@spell
"cpp is often used with Fortran
syn match cPreProc "^\s*#\s*\(define\|ifdef\)\>.*"
@ -372,7 +336,7 @@ else
syn sync minlines=30
endif
if version >= 600 && exists("fortran_fold")
if exists("fortran_fold")
if (b:fortran_fixed_source == 1)
syn region fortranProgram transparent fold keepend start="^\s*program\s\+\z(\a\w*\)" skip="^\([!c*]\|\s*#\).*$" excludenl end="\<end\s*\(program\(\s\+\z1\>\)\=\|$\)" contains=ALLBUT,fortranModule
@ -416,148 +380,93 @@ if version >= 600 && exists("fortran_fold")
endif
" Define the default highlighting.
" For version 5.7 and earlier: only when not done already
" For version 5.8 and later: only when an item doesn't have highlighting yet
if version >= 508 || !exists("did_fortran_syn_inits")
if version < 508
let did_fortran_syn_inits = 1
command -nargs=+ HiLink hi link <args>
else
command -nargs=+ HiLink hi def link <args>
endif
" The default highlighting differs for each dialect.
" Transparent groups:
" fortranParen, fortranLeftMargin
" fortranProgram, fortranModule, fortranSubroutine, fortranFunction,
" fortranBlockData
" fortran77Loop, fortran90Loop, fortranIfBlock, fortranCase
" fortranMultiCommentLines
hi def link fortranKeyword Keyword
hi def link fortranConstructName Identifier
hi def link fortranConditional Conditional
hi def link fortranRepeat Repeat
hi def link fortranTodo Todo
hi def link fortranContinueMark Special
hi def link fortranString String
hi def link fortranNumber Number
hi def link fortranOperator Operator
hi def link fortranBoolean Boolean
hi def link fortranLabelError Error
hi def link fortranObsolete Todo
hi def link fortranType Type
hi def link fortranStructure Type
hi def link fortranStorageClass StorageClass
hi def link fortranCall Function
hi def link fortranUnitHeader fortranPreCondit
hi def link fortranReadWrite Keyword
hi def link fortranIO Keyword
hi def link fortranIntrinsic Function
hi def link fortranConstant Constant
" The default highlighting differs for each dialect.
" Transparent groups:
" fortranParen, fortranLeftMargin
" fortranProgram, fortranModule, fortranSubroutine, fortranFunction,
" fortranBlockData
" fortran77Loop, fortran90Loop, fortranIfBlock, fortranCase
" fortranMultiCommentLines
HiLink fortranKeyword Keyword
HiLink fortranConstructName Identifier
HiLink fortran03Conditional fortranConditional
HiLink fortranConditional Conditional
HiLink fortranRepeat Repeat
HiLink fortranTodo Todo
if (b:fortran_fixed_source == 1)
HiLink fortranContinueMark Todo
else
HiLink fortranContinueMark Keyword
endif
HiLink fortranString String
HiLink fortranNumber Number
HiLink fortran03Operator fortranOperator
HiLink fortranOperator Operator
HiLink fortranBoolean Boolean
HiLink fortranLabelError Error
HiLink fortranObsolete Todo
HiLink fortran03Type fortranType
HiLink fortran08Type fortranType
HiLink fortranType Type
HiLink fortranStructure Type
HiLink fortranStorageClass StorageClass
HiLink fortranCall Function
HiLink fortran03UnitHeader fortranUnitHeader
HiLink fortranUnitHeader fortranPreCondit
HiLink fortran03ReadWrite fortranReadWrite
HiLink fortranReadWrite Keyword
HiLink fortran03IO fortranIO
HiLink fortran08IO fortranIO
HiLink fortranIO Keyword
HiLink fortran95Intrinsic fortran90Intrinsic
HiLink fortran77Intrinsic fortran90Intrinsic
HiLink fortran90Intrinsic Function
HiLink fortran03Intrinsic Function
HiLink fortran08Intrinsic Function
HiLink fortran03Constant Function
" To stop deleted & obsolescent features being highlighted as Todo items,
" comment out the next 5 lines and uncomment the 5 lines after that
hi def link fortranUnitHeaderOb fortranObsolete
hi def link fortranKeywordOb fortranObsolete
hi def link fortranConditionalOb fortranObsolete
hi def link fortranTypeOb fortranObsolete
hi def link fortranKeywordDel fortranObsolete
"hi def link fortranUnitHeaderOb fortranUnitHeader
"hi def link fortranKeywordOb fortranKeyword
"hi def link fortranConditionalOb fortranConditional
"hi def link fortranTypeOb fortranType
"hi def link fortranKeywordDel fortranKeyword
if b:fortran_dialect != "f77"
HiLink fortranUnitHeaderOb Todo
HiLink fortranKeywordOb Todo
HiLink fortranConditionalOb Todo
HiLink fortranTypeOb Todo
HiLink fortranKeywordDel Todo
else
HiLink fortranUnitHeaderOb fortranUnitHeader
HiLink fortranKeywordOb fortranKeyword
HiLink fortranConditionalOb fortranConditional
HiLink fortranTypeOb fortranType
HiLink fortranKeywordDel fortranKeyword
endif
if ( b:fortran_dialect == "elf" || b:fortran_dialect == "F" )
HiLink fortranKeywordOb fortranObsolete
HiLink fortran66Intrinsic fortranObsolete
HiLink fortran77IntrinsicR fortranObsolete
HiLink fortranUnitHeaderR fortranObsolete
HiLink fortranTypeR fortranObsolete
HiLink fortranStorageClassR fortranObsolete
HiLink fortran90StorageClassR fortranObsolete
HiLink fortran77OperatorR fortranObsolete
HiLink fortranInclude fortranObsolete
else
HiLink fortranKeywordOb fortranKeyword
HiLink fortran66Intrinsic fortran90Intrinsic
HiLink fortran77IntrinsicR fortran90Intrinsic
HiLink fortranUnitHeaderR fortranPreCondit
HiLink fortranTypeR fortranType
HiLink fortranStorageClassR fortranStorageClass
HiLink fortran77OperatorR fortranOperator
HiLink fortranInclude Include
HiLink fortran90StorageClassR fortranStorageClass
endif
if ( b:fortran_dialect == "F" )
HiLink fortranLabelNumber fortranObsolete
HiLink fortranTarget fortranObsolete
HiLink fortranFormatSpec fortranObsolete
HiLink fortranFloatDExp fortranObsolete
HiLink fortranFloatNoDec fortranObsolete
HiLink fortranFloatIniDec fortranObsolete
HiLink fortranFloatEndDec fortranObsolete
HiLink fortranTypeEx fortranObsolete
HiLink fortranIOEx fortranObsolete
HiLink fortranKeywordEx fortranObsolete
HiLink fortranStringEx fortranObsolete
HiLink fortran77IntrinsicEx fortranObsolete
HiLink fortranUnitHeaderEx fortranObsolete
HiLink fortranConditionalEx fortranObsolete
HiLink fortran90IntrinsicEx fortranObsolete
else
HiLink fortranLabelNumber Special
HiLink fortranTarget Special
HiLink fortranFormatSpec Identifier
HiLink fortranFloatDExp fortranFloat
HiLink fortranFloatNoDec fortranFloat
HiLink fortranFloatIniDec fortranFloat
HiLink fortranFloatEndDec fortranFloat
HiLink fortranTypeEx fortranType
HiLink fortranIOEx fortranIO
HiLink fortranKeywordEx fortranKeyword
HiLink fortranStringEx fortranString
HiLink fortran77IntrinsicEx fortran90Intrinsic
HiLink fortranUnitHeaderEx fortranUnitHeader
HiLink fortranConditionalEx fortranConditional
HiLink fortran90IntrinsicEx fortran90Intrinsic
endif
HiLink fortranFloat Float
HiLink fortranPreCondit PreCondit
HiLink fortranInclude Include
HiLink cIncluded fortranString
HiLink cInclude Include
HiLink cPreProc PreProc
HiLink cPreCondit PreCondit
HiLink fortranParenError Error
HiLink fortranComment Comment
HiLink fortranSerialNumber Todo
HiLink fortranTab Error
" Vendor extensions
HiLink fortranExtraIntrinsic Function
delcommand HiLink
if b:fortran_dialect == "F"
hi! def link fortranIntrinsicR fortranObsolete
hi! def link fortranUnitHeaderR fortranObsolete
hi! def link fortranTypeR fortranObsolete
hi! def link fortranStorageClassR fortranObsolete
hi! def link fortranOperatorR fortranObsolete
hi! def link fortranInclude fortranObsolete
hi! def link fortranLabelNumber fortranObsolete
hi! def link fortranTarget fortranObsolete
hi! def link fortranFloatIll fortranObsolete
hi! def link fortranIOR fortranObsolete
hi! def link fortranKeywordR fortranObsolete
hi! def link fortranStringR fortranObsolete
hi! def link fortranConditionalR fortranObsolete
else
hi! def link fortranIntrinsicR fortranIntrinsic
hi! def link fortranUnitHeaderR fortranPreCondit
hi! def link fortranTypeR fortranType
hi! def link fortranStorageClassR fortranStorageClass
hi! def link fortranOperatorR fortranOperator
hi! def link fortranInclude Include
hi! def link fortranLabelNumber Special
hi! def link fortranTarget Special
hi! def link fortranFloatIll fortranFloat
hi! def link fortranIOR fortranIO
hi! def link fortranKeywordR fortranKeyword
hi! def link fortranStringR fortranString
hi! def link fortranConditionalR fortranConditional
endif
hi def link fortranFormatSpec Identifier
hi def link fortranFloat Float
hi def link fortranPreCondit PreCondit
hi def link cIncluded fortranString
hi def link cInclude Include
hi def link cPreProc PreProc
hi def link cPreCondit PreCondit
hi def link fortranParenError Error
hi def link fortranComment Comment
hi def link fortranSerialNumber Todo
hi def link fortranTab Error
" Uncomment the next line if you use extra intrinsics provided by vendors
"hi def link fortranExtraIntrinsic Function
let b:current_syntax = "fortran"
let &cpo = s:cpo_save

View File

@ -1,7 +1,7 @@
" Vim syntax file
" Language: gp (version 2.4)
" Language: gp (version 2.5)
" Maintainer: Karim Belabas <Karim.Belabas@math.u-bordeaux.fr>
" Last change: 2007 Oct 1
" Last change: 2012 Jan 08
" URL: http://pari.math.u-bordeaux.fr
if version < 600
@ -10,21 +10,30 @@ elseif exists("b:current_syntax")
finish
endif
let s:cpo_save = &cpo
set cpo&vim
" control statements
syntax keyword gpStatement break return next
syntax keyword gpConditional if
syntax keyword gpRepeat until while for fordiv forprime forstep forvec
syntax keyword gpRepeat until while for fordiv forell forprime
syntax keyword gpRepeat forsubgroup forstep forvec
" storage class
syntax keyword gpScope my local global
" defaults
syntax keyword gpInterfaceKey colors compatible datadir debug debugfiles
syntax keyword gpInterfaceKey debugmem echo factor_add_primes format help
syntax keyword gpInterfaceKey histsize lines log logfile new_galois_format
syntax keyword gpInterfaceKey breakloop colors compatible
syntax keyword gpInterfaceKey datadir debug debugfiles debugmem
syntax keyword gpInterfaceKey echo factor_add_primes factor_proven format
syntax keyword gpInterfaceKey graphcolormap graphcolors
syntax keyword gpInterfaceKey help histfile histsize
syntax keyword gpInterfaceKey lines linewrap log logfile new_galois_format
syntax keyword gpInterfaceKey output parisize path prettyprinter primelimit
syntax keyword gpInterfaceKey prompt prompt_cont psfile realprecision secure
syntax keyword gpInterfaceKey seriesprecision simplify strictmatch TeXstyle timer
syntax keyword gpInterfaceKey prompt prompt_cont psfile
syntax keyword gpInterfaceKey readline realprecision recover
syntax keyword gpInterfaceKey secure seriesprecision simplify strictmatch
syntax keyword gpInterfaceKey TeXstyle timer
syntax match gpInterface "^\s*\\[a-z].*"
syntax match gpInterface "^\s*\\[a-z].*"
syntax keyword gpInterface default
syntax keyword gpInput read input
@ -79,4 +88,6 @@ if version >= 508 || !exists("did_gp_syn_inits")
endif
let b:current_syntax = "gp"
let &cpo = s:cpo_save
unlet s:cpo_save
" vim: ts=8

View File

@ -2,15 +2,15 @@
" Language: Groovy
" Original Author: Alessio Pace <billy.corgan@tiscali.it>
" Maintainer: Tobias Rapp <yahuxo@gmx.de>
" Version: 0.1.10
" URL: http://www.vim.org/scripts/script.php?script_id=945
" Last Change: 2010 Nov 29
" Version: 0.1.11
" URL: http://www.vim.org/scripts/script.php?script_id=945
" Last Change: 2012 Jan 08
" THE ORIGINAL AUTHOR'S NOTES:
"
" This is my very first vim script, I hope to have
" done it the right way.
"
"
" I must directly or indirectly thank the author of java.vim and ruby.vim:
" I copied from them most of the stuff :-)
"
@ -22,7 +22,7 @@
" HOWTO USE IT (INSTALL) when not part of the distribution:
"
" 1) copy the file in the (global or user's $HOME/.vim/syntax/) syntax folder
"
"
" 2) add this line to recognize groovy files by filename extension:
"
" au BufNewFile,BufRead *.groovy setf groovy
@ -38,7 +38,7 @@
" endif
"
" in the global scripts.vim file or in $HOME/.vim/scripts.vim
"
"
" 4) open/write a .groovy file or a groovy script :-)
"
" Let me know if you like it or send me patches, so that I can improve it
@ -55,6 +55,9 @@ if !exists("main_syntax")
let main_syntax='groovy'
endif
let s:cpo_save = &cpo
set cpo&vim
" don't use standard HiLink, it will not work with included syntax files
if version < 508
command! -nargs=+ GroovyHiLink hi link <args>
@ -101,11 +104,11 @@ syn keyword groovyScopeDecl public protected private abstract
if exists("groovy_highlight_groovy_lang_ids") || exists("groovy_highlight_groovy_lang") || exists("groovy_highlight_all")
" groovy.lang.*
syn keyword groovyLangClass Closure MetaMethod GroovyObject
syn match groovyJavaLangClass "\<System\>"
syn keyword groovyJavaLangClass Cloneable Comparable Runnable Serializable Boolean Byte Class Object
syn keyword groovyJavaLangClass Character CharSequence ClassLoader Compiler
" syn keyword groovyJavaLangClass Integer Double Float Long
" syn keyword groovyJavaLangClass Integer Double Float Long
syn keyword groovyJavaLangClass InheritableThreadLocal Math Number Object Package Process
syn keyword groovyJavaLangClass Runtime RuntimePermission InheritableThreadLocal
syn keyword groovyJavaLangClass SecurityManager Short StrictMath StackTraceElement
@ -159,18 +162,18 @@ syn match groovyExceptions "\<Exception\>\|\<[A-Z]\{1,}[a-zA-Z0-9]*Except
" Groovy JDK stuff
syn keyword groovyJDKBuiltin as def in
syn keyword groovyJDKOperOverl div minus plus abs round power multiply
syn keyword groovyJDKMethods each call inject sort print println
syn keyword groovyJDKOperOverl div minus plus abs round power multiply
syn keyword groovyJDKMethods each call inject sort print println
syn keyword groovyJDKMethods getAt putAt size push pop toList getText writeLine eachLine readLines
syn keyword groovyJDKMethods withReader withStream withWriter withPrintWriter write read leftShift
syn keyword groovyJDKMethods withReader withStream withWriter withPrintWriter write read leftShift
syn keyword groovyJDKMethods withWriterAppend readBytes splitEachLine
syn keyword groovyJDKMethods newInputStream newOutputStream newPrintWriter newReader newWriter
syn keyword groovyJDKMethods compareTo next previous isCase
syn keyword groovyJDKMethods newInputStream newOutputStream newPrintWriter newReader newWriter
syn keyword groovyJDKMethods compareTo next previous isCase
syn keyword groovyJDKMethods times step toInteger upto any collect dump every find findAll grep
syn keyword groovyJDKMethods inspect invokeMethods join
syn keyword groovyJDKMethods inspect invokeMethods join
syn keyword groovyJDKMethods getErr getIn getOut waitForOrKill
syn keyword groovyJDKMethods count tokenize asList flatten immutable intersect reverse reverseEach
syn keyword groovyJDKMethods subMap append asWritable eachByte eachLine eachFile
syn keyword groovyJDKMethods subMap append asWritable eachByte eachLine eachFile
syn cluster groovyTop add=groovyJDKBuiltin,groovyJDKOperOverl,groovyJDKMethods
" no useful I think, so I comment it..
@ -331,7 +334,7 @@ if exists("groovy_highlight_debug")
GroovyHiLink groovyDebugSpecialCharacter DebugSpecial
GroovyHiLink groovyDebugCharacter DebugString
GroovyHiLink groovyDebugParen Debug
GroovyHiLink DebugString String
GroovyHiLink DebugSpecial Special
GroovyHiLink DebugBoolean Boolean
@ -339,7 +342,7 @@ if exists("groovy_highlight_debug")
endif
endif
" Match all Exception classes
" Match all Exception classes
syn match groovyExceptions "\<Exception\>\|\<[A-Z]\{1,}[a-zA-Z0-9]*Exception\>"
@ -349,7 +352,7 @@ endif
exec "syn sync ccomment groovyComment minlines=" . groovy_minlines
" ###################
" ###################
" Groovy stuff
" syn match groovyOperator "|[ ,a-zA-Z0-9_*]\+|"
@ -425,15 +428,15 @@ if version >= 508 || !exists("did_groovy_syn_inits")
GroovyHiLink groovyConstant Constant
GroovyHiLink groovyTypedef Typedef
GroovyHiLink groovyTodo Todo
GroovyHiLink groovyCommentTitle SpecialComment
GroovyHiLink groovyDocTags Special
GroovyHiLink groovyDocParam Function
GroovyHiLink groovyCommentStar groovyComment
GroovyHiLink groovyType Type
GroovyHiLink groovyExternal Include
GroovyHiLink htmlComment Special
GroovyHiLink htmlCommentPart Special
GroovyHiLink groovySpaceError Error
@ -452,4 +455,7 @@ endif
let b:spell_options="contained"
let &cpo = s:cpo_save
unlet s:cpo_save
" vim: ts=8

View File

@ -2,7 +2,7 @@
" Language: IDL (Interface Description Language)
" Created By: Jody Goldberg
" Maintainer: Michael Geddes <vim@frog.wheelycreek.net>
" Last Change: Thu Apr 13 2006
" Last Change: 2012 Jan 11
" This is an experiment. IDL's structure is simple enough to permit a full
@ -17,303 +17,310 @@
" History:
" 2.0: Michael's new version
" 2.1: Support for Vim 7 spell (Anduin Withers)
"
"
if exists("b:current_syntax")
finish
endif
if exists("idlsyntax_showerror")
syn match idlError +\S+ skipwhite skipempty nextgroup=idlError
endif
syn region idlCppQuote start='\<cpp_quote\s*(' end=')' contains=idlString
" Misc basic
syn match idlId contained "[a-zA-Z][a-zA-Z0-9_]*" skipwhite skipempty nextgroup=idlEnumComma,idlEnumNumber
syn match idlEnumComma contained ","
syn match idlEnumNumber contained "=" skipwhite skipempty nextgroup=idlString,idlLiteral
syn match idlSemiColon contained ";"
syn match idlCommaArg contained "," skipempty skipwhite nextgroup=idlSimpDecl
syn region idlArraySize1 contained start=:\[: end=:\]: skipempty skipwhite nextgroup=idlArraySize1,idlError,idlSemiColon,idlCommaArg contains=idlArraySize1,idlLiteral
syn match idlSimpDecl contained "[a-zA-Z][a-zA-Z0-9_]*" skipempty skipwhite nextgroup=idlError,idlSemiColon,idlCommaArg,idlArraySize1
syn region idlString contained start=+"+ skip=+\\\(\\\\\)*"+ end=+"+ contains=@Spell
syn match idlLiteral contained "[1-9]\d*\(\.\d*\)\="
syn match idlLiteral contained "0"
syn match idlLiteral contained "\.\d\+"
syn match idlLiteral contained "0x[0-9A-Fa-f]\+"
syn match idlLiteral contained "0[0-7]\+"
syn keyword idlLiteral contained TRUE FALSE
" Comments
syn keyword idlTodo contained TODO FIXME XXX
syn region idlComment start="/\*" end="\*/" contains=idlTodo,@Spell
syn match idlComment "//.*" contains=idlTodo,@Spell
syn match idlCommentError "\*/"
" C style Preprocessor
syn region idlIncluded contained start=+"+ skip=+\\\(\\\\\)*"+ end=+"+
syn match idlIncluded contained "<[^>]*>"
syn match idlInclude "^[ \t]*#[ \t]*include\>[ \t]*["<]" contains=idlIncluded,idlString
syn region idlPreCondit start="^[ \t]*#[ \t]*\(if\>\|ifdef\>\|ifndef\>\|elif\>\|else\>\|endif\>\)" skip="\\$" end="$" contains=idlComment,idlCommentError
syn region idlDefine start="^[ \t]*#[ \t]*\(define\>\|undef\>\)" skip="\\$" end="$" contains=idlLiteral,idlString
" Constants
syn keyword idlConst const skipempty skipwhite nextgroup=idlBaseType,idlBaseTypeInt
" Attribute
syn keyword idlROAttr readonly skipempty skipwhite nextgroup=idlAttr
syn keyword idlAttr attribute skipempty skipwhite nextgroup=idlBaseTypeInt,idlBaseType
" Types
syn region idlD4 contained start="<" end=">" skipempty skipwhite nextgroup=idlSimpDecl contains=idlSeqType,idlBaseTypeInt,idlBaseType,idlLiteral
syn keyword idlSeqType contained sequence skipempty skipwhite nextgroup=idlD4
syn keyword idlBaseType contained float double char boolean octet any skipempty skipwhite nextgroup=idlSimpDecl
syn keyword idlBaseTypeInt contained short long skipempty skipwhite nextgroup=idlSimpDecl
syn keyword idlBaseType contained unsigned skipempty skipwhite nextgroup=idlBaseTypeInt
syn region idlD1 contained start="<" end=">" skipempty skipwhite nextgroup=idlSimpDecl contains=idlString,idlLiteral
syn keyword idlBaseType contained string skipempty skipwhite nextgroup=idlD1,idlSimpDecl
syn match idlBaseType contained "[a-zA-Z0-9_]\+[ \t]*\(::[ \t]*[a-zA-Z0-9_]\+\)*" skipempty skipwhite nextgroup=idlSimpDecl
" Modules
syn region idlModuleContent contained start="{" end="}" skipempty skipwhite nextgroup=idlError,idlSemiColon contains=idlUnion,idlStruct,idlEnum,idlInterface,idlComment,idlTypedef,idlConst,idlException,idlModule
syn match idlModuleName contained "[a-zA-Z0-9_]\+" skipempty skipwhite nextgroup=idlModuleContent,idlError,idlSemiColon
syn keyword idlModule module skipempty skipwhite nextgroup=idlModuleName
" Interfaces
syn cluster idlCommentable contains=idlComment
syn cluster idlContentCluster contains=idlUnion,idlStruct,idlEnum,idlROAttr,idlAttr,idlOp,idlOneWayOp,idlException,idlConst,idlTypedef,idlAttributes,idlErrorSquareBracket,idlErrorBracket,idlInterfaceSections
syn region idlInterfaceContent contained start="{" end="}" skipempty skipwhite nextgroup=idlError,idlSemiColon contains=@idlContentCluster,@idlCommentable
syn match idlInheritFrom2 contained "," skipempty skipwhite nextgroup=idlInheritFrom
syn match idlInheritFrom contained "[a-zA-Z0-9_]\+[ \t]*\(::[ \t]*[a-zA-Z0-9_]\+\)*" skipempty skipwhite nextgroup=idlInheritFrom2,idlInterfaceContent
syn match idlInherit contained ":" skipempty skipwhite nextgroup=idlInheritFrom
syn match idlInterfaceName contained "[a-zA-Z0-9_]\+" skipempty skipwhite nextgroup=idlInterfaceContent,idlInherit,idlError,idlSemiColon
syn keyword idlInterface interface dispinterface skipempty skipwhite nextgroup=idlInterfaceName
syn keyword idlInterfaceSections contained properties methods skipempty skipwhite nextgroup=idlSectionColon,idlError
syn match idlSectionColon contained ":"
syn match idlLibraryName contained "[a-zA-Z0-9_]\+" skipempty skipwhite nextgroup=idlLibraryContent,idlError,idlSemiColon
syn keyword idlLibrary library skipempty skipwhite nextgroup=idlLibraryName
syn region idlLibraryContent contained start="{" end="}" skipempty skipwhite nextgroup=idlError,idlSemiColon contains=@idlCommentable,idlAttributes,idlErrorSquareBracket,idlErrorBracket,idlImportlib,idlCoclass,idlTypedef,idlInterface
syn keyword idlImportlib contained importlib skipempty skipwhite nextgroup=idlStringArg
syn region idlStringArg contained start="(" end=")" contains=idlString nextgroup=idlError,idlSemiColon,idlErrorBrace,idlErrorSquareBracket
syn keyword idlCoclass coclass contained skipempty skipwhite nextgroup=idlCoclassName
syn match idlCoclassName "[a-zA-Z0-9_]\+" contained skipempty skipwhite nextgroup=idlCoclassDefinition,idlError,idlSemiColon
syn region idlCoclassDefinition contained start="{" end="}" contains=idlCoclassAttributes,idlInterface,idlErrorBracket,idlErrorSquareBracket skipempty skipwhite nextgroup=idlError,idlSemiColon
syn region idlCoclassAttributes contained start=+\[+ end=+]+ skipempty skipwhite nextgroup=idlInterface contains=idlErrorBracket,idlErrorBrace,idlCoclassAttribute
syn keyword idlCoclassAttribute contained default source
"syn keyword idlInterface interface skipempty skipwhite nextgroup=idlInterfaceStubName
syn match idlImportString +"\f\+"+ skipempty skipwhite nextgroup=idlError,idlSemiColon
syn keyword idlImport import skipempty skipwhite nextgroup=idlImportString
syn region idlAttributes start="\[" end="\]" contains=idlAttribute,idlAttributeParam,idlErrorBracket,idlErrorBrace,idlComment
syn keyword idlAttribute contained propput propget propputref id helpstring object uuid pointer_default
if !exists('idl_no_ms_extensions')
syn keyword idlAttribute contained nonextensible dual version aggregatable restricted hidden noncreatable oleautomation
endif
syn region idlAttributeParam contained start="(" end=")" contains=idlString,idlUuid,idlLiteral,idlErrorBrace,idlErrorSquareBracket
" skipwhite nextgroup=idlArraySize,idlParmList contains=idlArraySize,idlLiteral
syn match idlErrorBrace contained "}"
syn match idlErrorBracket contained ")"
syn match idlErrorSquareBracket contained "\]"
syn match idlUuid contained +[0-9a-zA-Z]\{8}-\([0-9a-zA-Z]\{4}-\)\{3}[0-9a-zA-Z]\{12}+
" Raises
syn keyword idlRaises contained raises skipempty skipwhite nextgroup=idlRaises,idlContext,idlError,idlSemiColon
" Context
syn keyword idlContext contained context skipempty skipwhite nextgroup=idlRaises,idlContext,idlError,idlSemiColon
" Operation
syn match idlParmList contained "," skipempty skipwhite nextgroup=idlOpParms
syn region idlArraySize contained start="\[" end="\]" skipempty skipwhite nextgroup=idlArraySize,idlParmList contains=idlArraySize,idlLiteral
syn match idlParmName contained "[a-zA-Z0-9_]\+" skipempty skipwhite nextgroup=idlParmList,idlArraySize
syn keyword idlParmInt contained short long skipempty skipwhite nextgroup=idlParmName
syn keyword idlParmType contained unsigned skipempty skipwhite nextgroup=idlParmInt
syn region idlD3 contained start="<" end=">" skipempty skipwhite nextgroup=idlParmName contains=idlString,idlLiteral
syn keyword idlParmType contained string skipempty skipwhite nextgroup=idlD3,idlParmName
syn keyword idlParmType contained void float double char boolean octet any skipempty skipwhite nextgroup=idlParmName
syn match idlParmType contained "[a-zA-Z0-9_]\+[ \t]*\(::[ \t]*[a-zA-Z0-9_]\+\)*" skipempty skipwhite nextgroup=idlParmName
syn keyword idlOpParms contained in out inout skipempty skipwhite nextgroup=idlParmType
if !exists('idl_no_ms_extensions')
syn keyword idlOpParms contained retval optional skipempty skipwhite nextgroup=idlParmType
syn match idlOpParms contained +\<\(iid_is\|defaultvalue\)\s*([^)]*)+ skipempty skipwhite nextgroup=idlParamType
syn keyword idlVariantType contained BSTR VARIANT VARIANT_BOOL long short unsigned double CURRENCY DATE
syn region idlSafeArray contained matchgroup=idlVariantType start=+SAFEARRAY(\s*+ end=+)+ contains=idlVariantType
endif
syn region idlOpContents contained start="(" end=")" skipempty skipwhite nextgroup=idlRaises,idlContext,idlError,idlSemiColon contains=idlOpParms,idlSafeArray,idlVariantType,@idlCommentable
syn match idlOpName contained "[a-zA-Z0-9_]\+" skipempty skipwhite nextgroup=idlOpContents
syn keyword idlOpInt contained short long skipempty skipwhite nextgroup=idlOpName
syn region idlD2 contained start="<" end=">" skipempty skipwhite nextgroup=idlOpName contains=idlString,idlLiteral
syn keyword idlOp contained unsigned skipempty skipwhite nextgroup=idlOpInt
syn keyword idlOp contained string skipempty skipwhite nextgroup=idlD2,idlOpName
syn keyword idlOp contained void float double char boolean octet any skipempty skipwhite nextgroup=idlOpName
syn match idlOp contained "[a-zA-Z0-9_]\+[ \t]*\(::[ \t]*[a-zA-Z0-9_]\+\)*" skipempty skipwhite nextgroup=idlOpName
syn keyword idlOp contained void skipempty skipwhite nextgroup=idlOpName
syn keyword idlOneWayOp contained oneway skipempty skipwhite nextgroup=idOp
" Enum
syn region idlEnumContents contained start="{" end="}" skipempty skipwhite nextgroup=idlError,idlSemiColon,idlSimpDecl contains=idlId,idlAttributes,@idlCommentable
syn match idlEnumName contained "[a-zA-Z0-9_]\+" skipempty skipwhite nextgroup=idlEnumContents
syn keyword idlEnum enum skipempty skipwhite nextgroup=idlEnumName,idlEnumContents
" Typedef
syn keyword idlTypedef typedef skipempty skipwhite nextgroup=idlTypedefOtherTypeQualifier,idlDefBaseType,idlDefBaseTypeInt,idlDefSeqType,idlDefv1Enum,idlDefEnum,idlDefOtherType,idlDefAttributes,idlError
if !exists('idl_no_extensions')
syn keyword idlTypedefOtherTypeQualifier contained struct enum interface nextgroup=idlDefBaseType,idlDefBaseTypeInt,idlDefSeqType,idlDefv1Enum,idlDefEnum,idlDefOtherType,idlDefAttributes,idlError skipwhite
syn region idlDefAttributes contained start="\[" end="\]" contains=idlAttribute,idlAttributeParam,idlErrorBracket,idlErrorBrace skipempty skipwhite nextgroup=idlDefBaseType,idlDefBaseTypeInt,idlDefSeqType,idlDefv1Enum,idlDefEnum,idlDefOtherType,idlError
syn keyword idlDefBaseType contained float double char boolean octet any skipempty skipwhite nextgroup=idlTypedefDecl,idlError
syn keyword idlDefBaseTypeInt contained short long skipempty skipwhite nextgroup=idlTypedefDecl,idlError
syn match idlDefOtherType contained +\<\k\+\>+ skipempty nextgroup=idlTypedefDecl,idlError
" syn keyword idlDefSeqType contained sequence skipempty skipwhite nextgroup=idlD4
" Enum typedef
syn keyword idlDefEnum contained enum skipempty skipwhite nextgroup=idlDefEnumName,idlDefEnumContents
syn match idlDefEnumName contained "[a-zA-Z0-9_]\+" skipempty skipwhite nextgroup=idlDefEnumContents,idlTypedefDecl
syn region idlDefEnumContents contained start="{" end="}" skipempty skipwhite nextgroup=idlError,idlTypedefDecl contains=idlId,idlAttributes
syn match idlTypedefDecl contained "[a-zA-Z0-9_]\+" skipempty skipwhite nextgroup=idlError,idlSemiColon
endif
" Struct
syn region idlStructContent contained start="{" end="}" skipempty skipwhite nextgroup=idlError,idlSemiColon,idlSimpDecl contains=idlBaseType,idlBaseTypeInt,idlSeqType,@idlCommentable,idlEnum,idlUnion
syn match idlStructName contained "[a-zA-Z0-9_]\+" skipempty skipwhite nextgroup=idlStructContent
syn keyword idlStruct struct skipempty skipwhite nextgroup=idlStructName
" Exception
syn keyword idlException exception skipempty skipwhite nextgroup=idlStructName
" Union
syn match idlColon contained ":" skipempty skipwhite nextgroup=idlCase,idlSeqType,idlBaseType,idlBaseTypeInt
syn region idlCaseLabel contained start="" skip="::" end=":"me=e-1 skipempty skipwhite nextgroup=idlColon contains=idlLiteral,idlString
syn keyword idlCase contained case skipempty skipwhite nextgroup=idlCaseLabel
syn keyword idlCase contained default skipempty skipwhite nextgroup=idlColon
syn region idlUnionContent contained start="{" end="}" skipempty skipwhite nextgroup=idlError,idlSemiColon,idlSimpDecl contains=idlCase
syn region idlSwitchType contained start="(" end=")" skipempty skipwhite nextgroup=idlUnionContent
syn keyword idlUnionSwitch contained switch skipempty skipwhite nextgroup=idlSwitchType
syn match idlUnionName contained "[a-zA-Z0-9_]\+" skipempty skipwhite nextgroup=idlUnionSwitch
syn keyword idlUnion union skipempty skipwhite nextgroup=idlUnionName
if !exists('idl_no_extensions')
syn sync match idlInterfaceSync grouphere idlInterfaceContent "\<\(disp\)\=interface\>\s\+\k\+\s*:\s*\k\+\_s*{" skipempty skipwhite nextgroup=idlError,idlSemiColon contains=@idlContentCluster,@idlCommentable
syn sync maxlines=1000 minlines=100
else
syn sync lines=200
endif
" syn sync fromstart
if !exists("did_idl_syntax_inits")
let did_idl_syntax_inits = 1
" The default methods for highlighting. Can be overridden later
command -nargs=+ HiLink hi def link <args>
HiLink idlInclude Include
HiLink idlPreProc PreProc
HiLink idlPreCondit PreCondit
HiLink idlDefine Macro
HiLink idlIncluded String
HiLink idlString String
HiLink idlComment Comment
HiLink idlTodo Todo
HiLink idlLiteral Number
HiLink idlUuid Number
HiLink idlType Type
HiLink idlVariantType idlType
HiLink idlModule Keyword
HiLink idlInterface Keyword
HiLink idlEnum Keyword
HiLink idlStruct Keyword
HiLink idlUnion Keyword
HiLink idlTypedef Keyword
HiLink idlException Keyword
HiLink idlTypedefOtherTypeQualifier keyword
HiLink idlModuleName Typedef
HiLink idlInterfaceName Typedef
HiLink idlEnumName Typedef
HiLink idlStructName Typedef
HiLink idlUnionName Typedef
HiLink idlBaseTypeInt idlType
HiLink idlBaseType idlType
HiLink idlSeqType idlType
HiLink idlD1 Paren
HiLink idlD2 Paren
HiLink idlD3 Paren
HiLink idlD4 Paren
"HiLink idlArraySize Paren
"HiLink idlArraySize1 Paren
HiLink idlModuleContent Paren
HiLink idlUnionContent Paren
HiLink idlStructContent Paren
HiLink idlEnumContents Paren
HiLink idlInterfaceContent Paren
HiLink idlSimpDecl Identifier
HiLink idlROAttr StorageClass
HiLink idlAttr Keyword
HiLink idlConst StorageClass
HiLink idlOneWayOp StorageClass
HiLink idlOp idlType
HiLink idlParmType idlType
HiLink idlOpName Function
HiLink idlOpParms SpecialComment
HiLink idlParmName Identifier
HiLink idlInheritFrom Identifier
HiLink idlAttribute SpecialComment
HiLink idlId Constant
"HiLink idlCase Keyword
HiLink idlCaseLabel Constant
HiLink idlErrorBracket Error
HiLink idlErrorBrace Error
HiLink idlErrorSquareBracket Error
HiLink idlImport Keyword
HiLink idlImportString idlString
HiLink idlCoclassAttribute StorageClass
HiLink idlLibrary Keyword
HiLink idlImportlib Keyword
HiLink idlCoclass Keyword
HiLink idlLibraryName Typedef
HiLink idlCoclassName Typedef
" hi idlLibraryContent guifg=red
HiLink idlTypedefDecl Typedef
HiLink idlDefEnum Keyword
HiLink idlDefv1Enum Keyword
HiLink idlDefEnumName Typedef
HiLink idlDefEnumContents Paren
HiLink idlDefBaseTypeInt idlType
HiLink idlDefBaseType idlType
HiLink idlDefSeqType idlType
HiLink idlInterfaceSections Label
let s:cpo_save = &cpo
try
set cpo&vim
if exists("idlsyntax_showerror")
if exists("idlsyntax_showerror_soft")
hi default idlError guibg=#d0ffd0
else
HiLink idlError Error
endif
syn match idlError +\S+ skipwhite skipempty nextgroup=idlError
endif
delcommand HiLink
endif
let b:current_syntax = "idl"
syn region idlCppQuote start='\<cpp_quote\s*(' end=')' contains=idlString
" Misc basic
syn match idlId contained "[a-zA-Z][a-zA-Z0-9_]*" skipwhite skipempty nextgroup=idlEnumComma,idlEnumNumber
syn match idlEnumComma contained ","
syn match idlEnumNumber contained "=" skipwhite skipempty nextgroup=idlString,idlLiteral
syn match idlSemiColon contained ";"
syn match idlCommaArg contained "," skipempty skipwhite nextgroup=idlSimpDecl
syn region idlArraySize1 contained start=:\[: end=:\]: skipempty skipwhite nextgroup=idlArraySize1,idlError,idlSemiColon,idlCommaArg contains=idlArraySize1,idlLiteral
syn match idlSimpDecl contained "[a-zA-Z][a-zA-Z0-9_]*" skipempty skipwhite nextgroup=idlError,idlSemiColon,idlCommaArg,idlArraySize1
syn region idlString contained start=+"+ skip=+\\\(\\\\\)*"+ end=+"+ contains=@Spell
syn match idlLiteral contained "[1-9]\d*\(\.\d*\)\="
syn match idlLiteral contained "0"
syn match idlLiteral contained "\.\d\+"
syn match idlLiteral contained "0x[0-9A-Fa-f]\+"
syn match idlLiteral contained "0[0-7]\+"
syn keyword idlLiteral contained TRUE FALSE
" Comments
syn keyword idlTodo contained TODO FIXME XXX
syn region idlComment start="/\*" end="\*/" contains=idlTodo,@Spell
syn match idlComment "//.*" contains=idlTodo,@Spell
syn match idlCommentError "\*/"
" C style Preprocessor
syn region idlIncluded contained start=+"+ skip=+\\\(\\\\\)*"+ end=+"+
syn match idlIncluded contained "<[^>]*>"
syn match idlInclude "^[ \t]*#[ \t]*include\>[ \t]*["<]" contains=idlIncluded,idlString
syn region idlPreCondit start="^[ \t]*#[ \t]*\(if\>\|ifdef\>\|ifndef\>\|elif\>\|else\>\|endif\>\)" skip="\\$" end="$" contains=idlComment,idlCommentError
syn region idlDefine start="^[ \t]*#[ \t]*\(define\>\|undef\>\)" skip="\\$" end="$" contains=idlLiteral,idlString
" Constants
syn keyword idlConst const skipempty skipwhite nextgroup=idlBaseType,idlBaseTypeInt
" Attribute
syn keyword idlROAttr readonly skipempty skipwhite nextgroup=idlAttr
syn keyword idlAttr attribute skipempty skipwhite nextgroup=idlBaseTypeInt,idlBaseType
" Types
syn region idlD4 contained start="<" end=">" skipempty skipwhite nextgroup=idlSimpDecl contains=idlSeqType,idlBaseTypeInt,idlBaseType,idlLiteral
syn keyword idlSeqType contained sequence skipempty skipwhite nextgroup=idlD4
syn keyword idlBaseType contained float double char boolean octet any skipempty skipwhite nextgroup=idlSimpDecl
syn keyword idlBaseTypeInt contained short long skipempty skipwhite nextgroup=idlSimpDecl
syn keyword idlBaseType contained unsigned skipempty skipwhite nextgroup=idlBaseTypeInt
syn region idlD1 contained start="<" end=">" skipempty skipwhite nextgroup=idlSimpDecl contains=idlString,idlLiteral
syn keyword idlBaseType contained string skipempty skipwhite nextgroup=idlD1,idlSimpDecl
syn match idlBaseType contained "[a-zA-Z0-9_]\+[ \t]*\(::[ \t]*[a-zA-Z0-9_]\+\)*" skipempty skipwhite nextgroup=idlSimpDecl
" Modules
syn region idlModuleContent contained start="{" end="}" skipempty skipwhite nextgroup=idlError,idlSemiColon contains=idlUnion,idlStruct,idlEnum,idlInterface,idlComment,idlTypedef,idlConst,idlException,idlModule
syn match idlModuleName contained "[a-zA-Z0-9_]\+" skipempty skipwhite nextgroup=idlModuleContent,idlError,idlSemiColon
syn keyword idlModule module skipempty skipwhite nextgroup=idlModuleName
" Interfaces
syn cluster idlCommentable contains=idlComment
syn cluster idlContentCluster contains=idlUnion,idlStruct,idlEnum,idlROAttr,idlAttr,idlOp,idlOneWayOp,idlException,idlConst,idlTypedef,idlAttributes,idlErrorSquareBracket,idlErrorBracket,idlInterfaceSections
syn region idlInterfaceContent contained start="{" end="}" skipempty skipwhite nextgroup=idlError,idlSemiColon contains=@idlContentCluster,@idlCommentable
syn match idlInheritFrom2 contained "," skipempty skipwhite nextgroup=idlInheritFrom
syn match idlInheritFrom contained "[a-zA-Z0-9_]\+[ \t]*\(::[ \t]*[a-zA-Z0-9_]\+\)*" skipempty skipwhite nextgroup=idlInheritFrom2,idlInterfaceContent
syn match idlInherit contained ":" skipempty skipwhite nextgroup=idlInheritFrom
syn match idlInterfaceName contained "[a-zA-Z0-9_]\+" skipempty skipwhite nextgroup=idlInterfaceContent,idlInherit,idlError,idlSemiColon
syn keyword idlInterface interface dispinterface skipempty skipwhite nextgroup=idlInterfaceName
syn keyword idlInterfaceSections contained properties methods skipempty skipwhite nextgroup=idlSectionColon,idlError
syn match idlSectionColon contained ":"
syn match idlLibraryName contained "[a-zA-Z0-9_]\+" skipempty skipwhite nextgroup=idlLibraryContent,idlError,idlSemiColon
syn keyword idlLibrary library skipempty skipwhite nextgroup=idlLibraryName
syn region idlLibraryContent contained start="{" end="}" skipempty skipwhite nextgroup=idlError,idlSemiColon contains=@idlCommentable,idlAttributes,idlErrorSquareBracket,idlErrorBracket,idlImportlib,idlCoclass,idlTypedef,idlInterface
syn keyword idlImportlib contained importlib skipempty skipwhite nextgroup=idlStringArg
syn region idlStringArg contained start="(" end=")" contains=idlString nextgroup=idlError,idlSemiColon,idlErrorBrace,idlErrorSquareBracket
syn keyword idlCoclass coclass contained skipempty skipwhite nextgroup=idlCoclassName
syn match idlCoclassName "[a-zA-Z0-9_]\+" contained skipempty skipwhite nextgroup=idlCoclassDefinition,idlError,idlSemiColon
syn region idlCoclassDefinition contained start="{" end="}" contains=idlCoclassAttributes,idlInterface,idlErrorBracket,idlErrorSquareBracket skipempty skipwhite nextgroup=idlError,idlSemiColon
syn region idlCoclassAttributes contained start=+\[+ end=+]+ skipempty skipwhite nextgroup=idlInterface contains=idlErrorBracket,idlErrorBrace,idlCoclassAttribute
syn keyword idlCoclassAttribute contained default source
"syn keyword idlInterface interface skipempty skipwhite nextgroup=idlInterfaceStubName
syn match idlImportString +"\f\+"+ skipempty skipwhite nextgroup=idlError,idlSemiColon
syn keyword idlImport import skipempty skipwhite nextgroup=idlImportString
syn region idlAttributes start="\[" end="\]" contains=idlAttribute,idlAttributeParam,idlErrorBracket,idlErrorBrace,idlComment
syn keyword idlAttribute contained propput propget propputref id helpstring object uuid pointer_default
if !exists('idl_no_ms_extensions')
syn keyword idlAttribute contained nonextensible dual version aggregatable restricted hidden noncreatable oleautomation
endif
syn region idlAttributeParam contained start="(" end=")" contains=idlString,idlUuid,idlLiteral,idlErrorBrace,idlErrorSquareBracket
" skipwhite nextgroup=idlArraySize,idlParmList contains=idlArraySize,idlLiteral
syn match idlErrorBrace contained "}"
syn match idlErrorBracket contained ")"
syn match idlErrorSquareBracket contained "\]"
syn match idlUuid contained +[0-9a-zA-Z]\{8}-\([0-9a-zA-Z]\{4}-\)\{3}[0-9a-zA-Z]\{12}+
" Raises
syn keyword idlRaises contained raises skipempty skipwhite nextgroup=idlRaises,idlContext,idlError,idlSemiColon
" Context
syn keyword idlContext contained context skipempty skipwhite nextgroup=idlRaises,idlContext,idlError,idlSemiColon
" Operation
syn match idlParmList contained "," skipempty skipwhite nextgroup=idlOpParms
syn region idlArraySize contained start="\[" end="\]" skipempty skipwhite nextgroup=idlArraySize,idlParmList contains=idlArraySize,idlLiteral
syn match idlParmName contained "[a-zA-Z0-9_]\+" skipempty skipwhite nextgroup=idlParmList,idlArraySize
syn keyword idlParmInt contained short long skipempty skipwhite nextgroup=idlParmName
syn keyword idlParmType contained unsigned skipempty skipwhite nextgroup=idlParmInt
syn region idlD3 contained start="<" end=">" skipempty skipwhite nextgroup=idlParmName contains=idlString,idlLiteral
syn keyword idlParmType contained string skipempty skipwhite nextgroup=idlD3,idlParmName
syn keyword idlParmType contained void float double char boolean octet any skipempty skipwhite nextgroup=idlParmName
syn match idlParmType contained "[a-zA-Z0-9_]\+[ \t]*\(::[ \t]*[a-zA-Z0-9_]\+\)*" skipempty skipwhite nextgroup=idlParmName
syn keyword idlOpParms contained in out inout skipempty skipwhite nextgroup=idlParmType
if !exists('idl_no_ms_extensions')
syn keyword idlOpParms contained retval optional skipempty skipwhite nextgroup=idlParmType
syn match idlOpParms contained +\<\(iid_is\|defaultvalue\)\s*([^)]*)+ skipempty skipwhite nextgroup=idlParamType
syn keyword idlVariantType contained BSTR VARIANT VARIANT_BOOL long short unsigned double CURRENCY DATE
syn region idlSafeArray contained matchgroup=idlVariantType start=+SAFEARRAY(\s*+ end=+)+ contains=idlVariantType
endif
syn region idlOpContents contained start="(" end=")" skipempty skipwhite nextgroup=idlRaises,idlContext,idlError,idlSemiColon contains=idlOpParms,idlSafeArray,idlVariantType,@idlCommentable
syn match idlOpName contained "[a-zA-Z0-9_]\+" skipempty skipwhite nextgroup=idlOpContents
syn keyword idlOpInt contained short long skipempty skipwhite nextgroup=idlOpName
syn region idlD2 contained start="<" end=">" skipempty skipwhite nextgroup=idlOpName contains=idlString,idlLiteral
syn keyword idlOp contained unsigned skipempty skipwhite nextgroup=idlOpInt
syn keyword idlOp contained string skipempty skipwhite nextgroup=idlD2,idlOpName
syn keyword idlOp contained void float double char boolean octet any skipempty skipwhite nextgroup=idlOpName
syn match idlOp contained "[a-zA-Z0-9_]\+[ \t]*\(::[ \t]*[a-zA-Z0-9_]\+\)*" skipempty skipwhite nextgroup=idlOpName
syn keyword idlOp contained void skipempty skipwhite nextgroup=idlOpName
syn keyword idlOneWayOp contained oneway skipempty skipwhite nextgroup=idOp
" Enum
syn region idlEnumContents contained start="{" end="}" skipempty skipwhite nextgroup=idlError,idlSemiColon,idlSimpDecl contains=idlId,idlAttributes,@idlCommentable
syn match idlEnumName contained "[a-zA-Z0-9_]\+" skipempty skipwhite nextgroup=idlEnumContents
syn keyword idlEnum enum skipempty skipwhite nextgroup=idlEnumName,idlEnumContents
" Typedef
syn keyword idlTypedef typedef skipempty skipwhite nextgroup=idlTypedefOtherTypeQualifier,idlDefBaseType,idlDefBaseTypeInt,idlDefSeqType,idlDefv1Enum,idlDefEnum,idlDefOtherType,idlDefAttributes,idlError
if !exists('idl_no_extensions')
syn keyword idlTypedefOtherTypeQualifier contained struct enum interface nextgroup=idlDefBaseType,idlDefBaseTypeInt,idlDefSeqType,idlDefv1Enum,idlDefEnum,idlDefOtherType,idlDefAttributes,idlError skipwhite
syn region idlDefAttributes contained start="\[" end="\]" contains=idlAttribute,idlAttributeParam,idlErrorBracket,idlErrorBrace skipempty skipwhite nextgroup=idlDefBaseType,idlDefBaseTypeInt,idlDefSeqType,idlDefv1Enum,idlDefEnum,idlDefOtherType,idlError
syn keyword idlDefBaseType contained float double char boolean octet any skipempty skipwhite nextgroup=idlTypedefDecl,idlError
syn keyword idlDefBaseTypeInt contained short long skipempty skipwhite nextgroup=idlTypedefDecl,idlError
syn match idlDefOtherType contained +\<\k\+\>+ skipempty nextgroup=idlTypedefDecl,idlError
" syn keyword idlDefSeqType contained sequence skipempty skipwhite nextgroup=idlD4
" Enum typedef
syn keyword idlDefEnum contained enum skipempty skipwhite nextgroup=idlDefEnumName,idlDefEnumContents
syn match idlDefEnumName contained "[a-zA-Z0-9_]\+" skipempty skipwhite nextgroup=idlDefEnumContents,idlTypedefDecl
syn region idlDefEnumContents contained start="{" end="}" skipempty skipwhite nextgroup=idlError,idlTypedefDecl contains=idlId,idlAttributes
syn match idlTypedefDecl contained "[a-zA-Z0-9_]\+" skipempty skipwhite nextgroup=idlError,idlSemiColon
endif
" Struct
syn region idlStructContent contained start="{" end="}" skipempty skipwhite nextgroup=idlError,idlSemiColon,idlSimpDecl contains=idlBaseType,idlBaseTypeInt,idlSeqType,@idlCommentable,idlEnum,idlUnion
syn match idlStructName contained "[a-zA-Z0-9_]\+" skipempty skipwhite nextgroup=idlStructContent
syn keyword idlStruct struct skipempty skipwhite nextgroup=idlStructName
" Exception
syn keyword idlException exception skipempty skipwhite nextgroup=idlStructName
" Union
syn match idlColon contained ":" skipempty skipwhite nextgroup=idlCase,idlSeqType,idlBaseType,idlBaseTypeInt
syn region idlCaseLabel contained start="" skip="::" end=":"me=e-1 skipempty skipwhite nextgroup=idlColon contains=idlLiteral,idlString
syn keyword idlCase contained case skipempty skipwhite nextgroup=idlCaseLabel
syn keyword idlCase contained default skipempty skipwhite nextgroup=idlColon
syn region idlUnionContent contained start="{" end="}" skipempty skipwhite nextgroup=idlError,idlSemiColon,idlSimpDecl contains=idlCase
syn region idlSwitchType contained start="(" end=")" skipempty skipwhite nextgroup=idlUnionContent
syn keyword idlUnionSwitch contained switch skipempty skipwhite nextgroup=idlSwitchType
syn match idlUnionName contained "[a-zA-Z0-9_]\+" skipempty skipwhite nextgroup=idlUnionSwitch
syn keyword idlUnion union skipempty skipwhite nextgroup=idlUnionName
if !exists('idl_no_extensions')
syn sync match idlInterfaceSync grouphere idlInterfaceContent "\<\(disp\)\=interface\>\s\+\k\+\s*:\s*\k\+\_s*{" skipempty skipwhite nextgroup=idlError,idlSemiColon contains=@idlContentCluster,@idlCommentable
syn sync maxlines=1000 minlines=100
else
syn sync lines=200
endif
" syn sync fromstart
if !exists("did_idl_syntax_inits")
let did_idl_syntax_inits = 1
" The default methods for highlighting. Can be overridden later
command -nargs=+ HiLink hi def link <args>
HiLink idlInclude Include
HiLink idlPreProc PreProc
HiLink idlPreCondit PreCondit
HiLink idlDefine Macro
HiLink idlIncluded String
HiLink idlString String
HiLink idlComment Comment
HiLink idlTodo Todo
HiLink idlLiteral Number
HiLink idlUuid Number
HiLink idlType Type
HiLink idlVariantType idlType
HiLink idlModule Keyword
HiLink idlInterface Keyword
HiLink idlEnum Keyword
HiLink idlStruct Keyword
HiLink idlUnion Keyword
HiLink idlTypedef Keyword
HiLink idlException Keyword
HiLink idlTypedefOtherTypeQualifier keyword
HiLink idlModuleName Typedef
HiLink idlInterfaceName Typedef
HiLink idlEnumName Typedef
HiLink idlStructName Typedef
HiLink idlUnionName Typedef
HiLink idlBaseTypeInt idlType
HiLink idlBaseType idlType
HiLink idlSeqType idlType
HiLink idlD1 Paren
HiLink idlD2 Paren
HiLink idlD3 Paren
HiLink idlD4 Paren
"HiLink idlArraySize Paren
"HiLink idlArraySize1 Paren
HiLink idlModuleContent Paren
HiLink idlUnionContent Paren
HiLink idlStructContent Paren
HiLink idlEnumContents Paren
HiLink idlInterfaceContent Paren
HiLink idlSimpDecl Identifier
HiLink idlROAttr StorageClass
HiLink idlAttr Keyword
HiLink idlConst StorageClass
HiLink idlOneWayOp StorageClass
HiLink idlOp idlType
HiLink idlParmType idlType
HiLink idlOpName Function
HiLink idlOpParms SpecialComment
HiLink idlParmName Identifier
HiLink idlInheritFrom Identifier
HiLink idlAttribute SpecialComment
HiLink idlId Constant
"HiLink idlCase Keyword
HiLink idlCaseLabel Constant
HiLink idlErrorBracket Error
HiLink idlErrorBrace Error
HiLink idlErrorSquareBracket Error
HiLink idlImport Keyword
HiLink idlImportString idlString
HiLink idlCoclassAttribute StorageClass
HiLink idlLibrary Keyword
HiLink idlImportlib Keyword
HiLink idlCoclass Keyword
HiLink idlLibraryName Typedef
HiLink idlCoclassName Typedef
" hi idlLibraryContent guifg=red
HiLink idlTypedefDecl Typedef
HiLink idlDefEnum Keyword
HiLink idlDefv1Enum Keyword
HiLink idlDefEnumName Typedef
HiLink idlDefEnumContents Paren
HiLink idlDefBaseTypeInt idlType
HiLink idlDefBaseType idlType
HiLink idlDefSeqType idlType
HiLink idlInterfaceSections Label
if exists("idlsyntax_showerror")
if exists("idlsyntax_showerror_soft")
hi default idlError guibg=#d0ffd0
else
HiLink idlError Error
endif
endif
delcommand HiLink
endif
let b:current_syntax = "idl"
finally
let &cpo = s:cpo_save
unlet s:cpo_save
endtry
" vim: sw=2 et

View File

@ -40,7 +40,7 @@ syn match mailHeaderKey contained contains=mailHeaderEmail,mailEmail,@NoSpell "\
syn region mailHeaderKey contained contains=mailHeaderEmail,mailEmail,@mailQuoteExps,@NoSpell start="\v(^(\> ?)*)@<=(to|b?cc):" skip=",$" end="$"
syn match mailHeaderKey contained contains=mailHeaderEmail,mailEmail,@NoSpell "\v(^(\> ?)*)@<=(from|reply-to):.*$" fold
syn match mailHeaderKey contained contains=@NoSpell "\v(^(\> ?)*)@<=date:"
syn match mailSubject contained "\v^subject:.*$" fold
syn match mailSubject contained contains=@NoSpell "\v^subject:.*$" fold
syn match mailSubject contained contains=@NoSpell "\v(^(\> ?)+)@<=subject:.*$"
" Anything in the header between < and > is an email address

View File

@ -2,8 +2,8 @@
" Language: shell (sh) Korn shell (ksh) bash (sh)
" Maintainer: Dr. Charles E. Campbell, Jr. <NdrOchipS@PcampbellAfamily.Mbiz>
" Previous Maintainer: Lennart Schultz <Lennart.Schultz@ecmwf.int>
" Last Change: Aug 16, 2011
" Version: 118
" Last Change: Dec 09, 2011
" Version: 121
" URL: http://mysite.verizon.net/astronaut/vim/index.html#vimlinks_syntax
" For options and settings, please use: :help ft-sh-syntax
" This file includes many ideas from ?ric Brunet (eric.brunet@ens.fr)
@ -101,7 +101,7 @@ syn cluster shArithParenList contains=shArithmetic,shCaseEsac,shDeref,shDerefSim
syn cluster shArithList contains=@shArithParenList,shParenError
syn cluster shCaseEsacList contains=shCaseStart,shCase,shCaseBar,shCaseIn,shComment,shDeref,shDerefSimple,shCaseCommandSub,shCaseExSingleQuote,shCaseSingleQuote,shCaseDoubleQuote,shCtrlSeq,@shErrorList,shStringSpecial,shCaseRange
syn cluster shCaseList contains=@shCommandSubList,shCaseEsac,shColon,shCommandSub,shComment,shDo,shEcho,shExpr,shFor,shHereDoc,shIf,shRedir,shSetList,shSource,shStatement,shVariable,shCtrlSeq
syn cluster shColonList contains=@shCaseList
"syn cluster shColonList contains=@shCaseList
syn cluster shCommandSubList contains=shArithmetic,shDeref,shDerefSimple,shEscape,shNumber,shOperator,shPosnParm,shExSingleQuote,shSingleQuote,shExDoubleQuote,shDoubleQuote,shStatement,shVariable,shSubSh,shAlias,shTest,shCtrlSeq,shSpecial
syn cluster shCurlyList contains=shNumber,shComma,shDeref,shDerefSimple,shDerefSpecial
syn cluster shDblQuoteList contains=shCommandSub,shDeref,shDerefSimple,shPosnParm,shCtrlSeq,shSpecial
@ -119,10 +119,10 @@ syn cluster shHereBeginList contains=@shCommandSubList
syn cluster shHereList contains=shBeginHere,shHerePayload
syn cluster shHereListDQ contains=shBeginHere,@shDblQuoteList,shHerePayload
syn cluster shIdList contains=shCommandSub,shWrapLineOperator,shSetOption,shDeref,shDerefSimple,shRedir,shExSingleQuote,shExDoubleQuote,shSingleQuote,shDoubleQuote,shExpr,shCtrlSeq,shStringSpecial
syn cluster shLoopList contains=@shCaseList,shTestOpr,shExpr,shDblBrace,shConditional,shCaseEsac,shTest,@shErrorList,shSet
syn cluster shIfList contains=@shLoopList,shDblBrace,shDblParen,shFunctionKey,shFunctionOne,shFunctionTwo
syn cluster shLoopList contains=@shCaseList,shTestOpr,shExpr,shDblBrace,shConditional,shCaseEsac,shTest,@shErrorList,shSet,shOption
syn cluster shSubShList contains=@shCommandSubList,shCaseEsac,shColon,shCommandSub,shComment,shDo,shEcho,shExpr,shFor,shIf,shRedir,shSetList,shSource,shStatement,shVariable,shCtrlSeq,shOperator
syn cluster shTestList contains=shCharClass,shComment,shCommandSub,shDeref,shDerefSimple,shExDoubleQuote,shDoubleQuote,shExpr,shNumber,shOperator,shExSingleQuote,shSingleQuote,shTestOpr,shTest,shCtrlSeq
" Echo: {{{1
" ====
" This one is needed INSIDE a CommandSub, so that `echo bla` be correct
@ -143,18 +143,20 @@ endif
" Error Codes: {{{1
" ============
syn match shDoError "\<done\>"
syn match shIfError "\<fi\>"
syn match shInError "\<in\>"
syn match shCaseError ";;"
syn match shEsacError "\<esac\>"
syn match shCurlyError "}"
syn match shParenError ")"
syn match shOK '\.\(done\|fi\|in\|esac\)'
if exists("b:is_kornshell")
syn match shDTestError "]]"
if !exists("g:sh_no_error")
syn match shDoError "\<done\>"
syn match shIfError "\<fi\>"
syn match shInError "\<in\>"
syn match shCaseError ";;"
syn match shEsacError "\<esac\>"
syn match shCurlyError "}"
syn match shParenError ")"
syn match shOK '\.\(done\|fi\|in\|esac\)'
if exists("b:is_kornshell")
syn match shDTestError "]]"
endif
syn match shTestError "]"
endif
syn match shTestError "]"
" Options: {{{1
" ====================
@ -204,11 +206,11 @@ syn match shCharClass contained "\[:\(backspace\|escape\|return\|xdigit\|alnum
" ======
if (g:sh_fold_enabled % (s:sh_fold_ifdofor * 2))/s:sh_fold_ifdofor
syn region shDo fold transparent matchgroup=shConditional start="\<do\>" matchgroup=shConditional end="\<done\>" contains=@shLoopList
syn region shIf fold transparent matchgroup=shConditional start="\<if\_s" matchgroup=shConditional end="\<;\_s*then\>" end="\<fi\>" contains=@shLoopList,shDblBrace,shDblParen,shFunctionKey,shFunctionOne,shFunctionTwo
syn region shIf fold transparent matchgroup=shConditional start="\<if\_s" matchgroup=shConditional skip=+-fi\>+ end="\<;\_s*then\>" end="\<fi\>" contains=@shIfList
syn region shFor fold matchgroup=shLoop start="\<for\_s" end="\<in\_s" end="\<do\>"me=e-2 contains=@shLoopList,shDblParen skipwhite nextgroup=shCurlyIn
else
syn region shDo transparent matchgroup=shConditional start="\<do\>" matchgroup=shConditional end="\<done\>" contains=@shLoopList
syn region shIf transparent matchgroup=shConditional start="\<if\_s" matchgroup=shConditional end="\<;\_s*then\>" end="\<fi\>" contains=@shLoopList,shDblBrace,shDblParen,shFunctionKey,shFunctionOne,shFunctionTwo
syn region shIf transparent matchgroup=shConditional start="\<if\_s" matchgroup=shConditional skip=+-fi\>+ end="\<;\_s*then\>" end="\<fi\>" contains=@shIfList
syn region shFor matchgroup=shLoop start="\<for\_s" end="\<in\>" end="\<do\>"me=e-2 contains=@shLoopList,shDblParen skipwhite nextgroup=shCurlyIn
endif
if exists("b:is_kornshell") || exists("b:is_bash")
@ -238,7 +240,7 @@ endif
syn keyword shCaseIn contained skipwhite skipnl in nextgroup=shCase,shCaseStart,shCaseBar,shComment,shCaseExSingleQuote,shCaseSingleQuote,shCaseDoubleQuote
if exists("b:is_bash")
syn region shCaseExSingleQuote matchgroup=shQuote start=+\$'+ skip=+\\\\\|\\.+ end=+'+ contains=shStringSpecial,shSpecial skipwhite skipnl nextgroup=shCaseBar contained
else
elseif !exists("g:sh_no_error")
syn region shCaseExSingleQuote matchgroup=Error start=+\$'+ skip=+\\\\\|\\.+ end=+'+ contains=shStringSpecial skipwhite skipnl nextgroup=shCaseBar contained
endif
syn region shCaseSingleQuote matchgroup=shQuote start=+'+ end=+'+ contains=shStringSpecial skipwhite skipnl nextgroup=shCaseBar contained
@ -262,7 +264,7 @@ if exists("b:is_kornshell") || exists("b:is_bash")
syn region shCommandSub matchgroup=shCmdSubRegion start="\$(" skip='\\\\\|\\.' end=")" contains=@shCommandSubList
syn region shArithmetic matchgroup=shArithRegion start="\$((" skip='\\\\\|\\.' end="))" contains=@shArithList
syn match shSkipInitWS contained "^\s\+"
else
elseif !exists("g:sh_no_error")
syn region shCommandSub matchgroup=Error start="\$(" end=")" contains=@shCommandSubList
endif
@ -284,7 +286,8 @@ endif
syn match shSource "^\.\s"
syn match shSource "\s\.\s"
"syn region shColon start="^\s*:" end="$" end="\s#"me=e-2 contains=@shColonList
syn region shColon start="^\s*\zs:" end="$" end="\s#"me=e-2
"syn region shColon start="^\s*\zs:" end="$" end="\s#"me=e-2
syn match shColon '^\s*\zs:'
" String And Character Constants: {{{1
"================================
@ -296,7 +299,7 @@ endif
if exists("b:is_bash")
syn region shExSingleQuote matchgroup=shQuote start=+\$'+ skip=+\\\\\|\\.+ end=+'+ contains=shStringSpecial,shSpecial
syn region shExDoubleQuote matchgroup=shQuote start=+\$"+ skip=+\\\\\|\\.\|\\"+ end=+"+ contains=@shDblQuoteList,shStringSpecial,shSpecial
else
elseif !exists("g:sh_no_error")
syn region shExSingleQuote matchGroup=Error start=+\$'+ skip=+\\\\\|\\.+ end=+'+ contains=shStringSpecial
syn region shExDoubleQuote matchGroup=Error start=+\$"+ skip=+\\\\\|\\.+ end=+"+ contains=shStringSpecial
endif
@ -407,7 +410,9 @@ endif
" ========================
syn match shDerefSimple "\$\%(\h\w*\|\d\)"
syn region shDeref matchgroup=PreProc start="\${" end="}" contains=@shDerefList,shDerefVarArray
syn match shDerefWordError "[^}$[]" contained
if !exists("g:sh_no_error")
syn match shDerefWordError "[^}$[]" contained
endif
syn match shDerefSimple "\$[-#*@!?]"
syn match shDerefSimple "\$\$"
if exists("b:is_bash") || exists("b:is_kornshell")
@ -443,7 +448,9 @@ syn region shDerefVarArray contained matchgroup=shDeref start="\[" end="]" co
" bash : ${parameter,pattern} Case modification
" bash : ${parameter,,pattern} Case modification
syn cluster shDerefPatternList contains=shDerefPattern,shDerefString
syn match shDerefOpError contained ":[[:punct:]]"
if !exists("g:sh_no_error")
syn match shDerefOpError contained ":[[:punct:]]"
endif
syn match shDerefOp contained ":\=[-=?]" nextgroup=@shDerefPatternList
syn match shDerefOp contained ":\=+" nextgroup=@shDerefPatternList
if exists("b:is_bash") || exists("b:is_kornshell")
@ -480,7 +487,9 @@ syn region shParen matchgroup=shArithRegion start='(\%(\ze[^(]\|$\)' end=')' con
" ===================
syn keyword shStatement break cd chdir continue eval exec exit kill newgrp pwd read readonly return shift test trap ulimit umask wait
syn keyword shConditional contained elif else then
syn keyword shCondError elif else then
if !exists("g:sh_no_error")
syn keyword shCondError elif else then
endif
" Useful ksh Keywords: {{{1
" ====================
@ -589,20 +598,22 @@ if exists("b:is_kornshell")
hi def link shFunctionParen Delimiter
endif
hi def link shCaseError Error
hi def link shCondError Error
hi def link shCurlyError Error
hi def link shDerefError Error
hi def link shDerefOpError Error
hi def link shDerefWordError Error
hi def link shDoError Error
hi def link shEsacError Error
hi def link shIfError Error
hi def link shInError Error
hi def link shParenError Error
hi def link shTestError Error
if exists("b:is_kornshell")
hi def link shDTestError Error
if !exists("g:sh_no_error")
hi def link shCaseError Error
hi def link shCondError Error
hi def link shCurlyError Error
hi def link shDerefError Error
hi def link shDerefOpError Error
hi def link shDerefWordError Error
hi def link shDoError Error
hi def link shEsacError Error
hi def link shIfError Error
hi def link shInError Error
hi def link shParenError Error
hi def link shTestError Error
if exists("b:is_kornshell")
hi def link shDTestError Error
endif
endif
hi def link shArithmetic Special

View File

@ -1,8 +1,8 @@
" Vim syntax file
" Language: TeX
" Maintainer: Dr. Charles E. Campbell, Jr. <NdrchipO@ScampbellPfamily.AbizM>
" Last Change: Oct 12, 2011
" Version: 69
" Last Change: Jan 10, 2012
" Version: 72
" URL: http://mysite.verizon.net/astronaut/vim/index.html#vimlinks_syntax
"
" Notes: {{{1
@ -603,6 +603,7 @@ if has("conceal") && &enc == 'utf-8'
let s:texMathList=[
\ ['|' , '‖'],
\ ['aleph' , 'ℵ'],
\ ['amalg' , '∐'],
\ ['angle' , '∠'],
\ ['approx' , '≈'],
\ ['ast' , ''],
@ -614,20 +615,24 @@ if has("conceal") && &enc == 'utf-8'
\ ['because' , '∵'],
\ ['between' , '≬'],
\ ['bigcap' , '∩'],
\ ['bigcirc' , '○'],
\ ['bigcup' , ''],
\ ['bigodot' , '⊙'],
\ ['bigoplus' , '⊕'],
\ ['bigotimes' , '⊗'],
\ ['bigsqcup' , '⊔'],
\ ['bigtriangledown', '∇'],
\ ['bigtriangleup' , '∆'],
\ ['bigvee' , ''],
\ ['bigwedge' , '⋀'],
\ ['blacksquare' , '∎'],
\ ['bot' , '⊥'],
\ ['bowtie' , '⋈'],
\ ['boxdot' , '⊡'],
\ ['boxminus' , '⊟'],
\ ['boxplus' , '⊞'],
\ ['boxtimes' , '⊠'],
\ ['bullet' , '•'],
\ ['bumpeq' , '≏'],
\ ['Bumpeq' , '≎'],
\ ['cap' , '∩'],
@ -651,36 +656,41 @@ if has("conceal") && &enc == 'utf-8'
\ ['curlyeqsucc' , '⋟'],
\ ['curlyvee' , '⋎'],
\ ['curlywedge' , '⋏'],
\ ['dagger' , '†'],
\ ['dashv' , '⊣'],
\ ['ddagger' , '‡'],
\ ['ddots' , '⋱'],
\ ['diamond' , '⋄'],
\ ['diamondsuit' , '♢'],
\ ['div' , '÷'],
\ ['doteq' , '≐'],
\ ['doteqdot' , '≑'],
\ ['dotplus' , '∔'],
\ ['dots' , '…'],
\ ['dotsb' , '⋯'],
\ ['dotsc' , '…'],
\ ['dots' , '…'],
\ ['dotsi' , '⋯'],
\ ['dotso' , '…'],
\ ['doublebarwedge' , '⩞'],
\ ['downarrow' , '↓'],
\ ['Downarrow' , '⇓'],
\ ['ell' , ''],
\ ['emptyset' , '∅'],
\ ['eqcirc' , '≖'],
\ ['eqsim' , '≂'],
\ ['eqslantgtr' , '⪖'],
\ ['eqslantless' , '⪕'],
\ ['equiv' , '≡'],
\ ['ell' , ''],
\ ['exists' , '∃'],
\ ['fallingdotseq' , '≒'],
\ ['flat' , '♭'],
\ ['forall' , '∀'],
\ ['frown' , '⁔'],
\ ['ge' , '≥'],
\ ['geq' , '≥'],
\ ['geqq' , '≧'],
\ ['gets' , '←'],
\ ['gg' , '⟫'],
\ ['gneqq' , '≩'],
\ ['gtrdot' , '⋗'],
\ ['gtreqless' , '⋛'],
@ -700,33 +710,40 @@ if has("conceal") && &enc == 'utf-8'
\ ['lceil' , '⌈'],
\ ['ldots' , '…'],
\ ['le' , '≤'],
\ ['leftarrow' , ''],
\ ['Leftarrow' , '⟸'],
\ ['leftarrowtail' , '↢'],
\ ['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' , '≇'],
\ ['nearrow' , '↗'],
\ ['ne' , '≠'],
\ ['nearrow' , '↗'],
\ ['neg' , '¬'],
\ ['neq' , '≠'],
\ ['nexists' , '∄'],
@ -763,12 +780,13 @@ if has("conceal") && &enc == 'utf-8'
\ ['otimes' , '⊗'],
\ ['owns' , '∋'],
\ ['P' , '¶'],
\ ['parallel' , '║'],
\ ['partial' , '∂'],
\ ['perp' , '⊥'],
\ ['pitchfork' , '⋔'],
\ ['pm' , '±'],
\ ['precapprox' , '⪷'],
\ ['prec' , '≺'],
\ ['precapprox' , '⪷'],
\ ['preccurlyeq' , '≼'],
\ ['preceq' , '⪯'],
\ ['precnapprox' , '⪹'],
@ -780,12 +798,13 @@ if has("conceal") && &enc == 'utf-8'
\ ['rceil' , '⌉'],
\ ['Re' , ''],
\ ['rfloor' , '⌋'],
\ ['rightarrow' , '⟶'],
\ ['Rightarrow' , '⟹'],
\ ['rightarrowtail' , '↣'],
\ ['right)' , ')'],
\ ['right]' , ']'],
\ ['right\\}' , '}'],
\ ['rightarrow' , '⟶'],
\ ['Rightarrow' , '⟹'],
\ ['rightarrowtail' , '↣'],
\ ['rightleftharpoons', '⇌'],
\ ['rightsquigarrow', '↝'],
\ ['rightthreetimes', '⋌'],
\ ['risingdotseq' , '≓'],
@ -796,6 +815,8 @@ if has("conceal") && &enc == 'utf-8'
\ ['setminus' , ''],
\ ['sharp' , '♯'],
\ ['sim' , ''],
\ ['simeq' , '⋍'],
\ ['smile' , '‿'],
\ ['spadesuit' , '♠'],
\ ['sphericalangle' , '∢'],
\ ['sqcap' , '⊓'],
@ -804,20 +825,22 @@ if has("conceal") && &enc == 'utf-8'
\ ['sqsubseteq' , '⊑'],
\ ['sqsupset' , '⊐'],
\ ['sqsupseteq' , '⊒'],
\ ['star' , '✫'],
\ ['subset' , '⊂'],
\ ['Subset' , '⋐'],
\ ['subseteq' , '⊆'],
\ ['subseteqq' , '⫅'],
\ ['subsetneq' , '⊊'],
\ ['subsetneqq' , '⫋'],
\ ['succapprox' , '⪸'],
\ ['succ' , '≻'],
\ ['succapprox' , '⪸'],
\ ['succcurlyeq' , '≽'],
\ ['succeq' , '⪰'],
\ ['succnapprox' , '⪺'],
\ ['succneqq' , '⪶'],
\ ['succsim' , '≿'],
\ ['sum' , '∑'],
\ ['supset' , '⊃'],
\ ['Supset' , '⋑'],
\ ['supseteq' , '⊇'],
\ ['supseteqq' , '⫆'],
@ -847,12 +870,15 @@ if has("conceal") && &enc == 'utf-8'
\ ['vDash' , '⊨'],
\ ['Vdash' , '⊩'],
\ ['vdots' , '⋮'],
\ ['veebar' , '⊻'],
\ ['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]
@ -999,6 +1025,9 @@ if has("conceal") && &enc == 'utf-8'
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','\^','<','˂')
@ -1023,6 +1052,7 @@ if has("conceal") && &enc == 'utf-8'
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','_','/','ˏ')
@ -1175,6 +1205,8 @@ if did_tex_syntax_inits == 1
HiLink texGreek texStatement
HiLink texSuperscript texStatement
HiLink texSubscript texStatement
HiLink texSuperscripts texSuperscript
HiLink texSubscripts texSubscript
HiLink texMathSymbol texStatement
HiLink texMathZoneV texMath
HiLink texMathZoneW texMath

View File

@ -2,8 +2,8 @@
" Language: Upstart job files
" Maintainer: Michael Biebl <biebl@debian.org>
" James Hunt <james.hunt@ubuntu.com>
" Last Change: 2011 Mar 22
" License: GPL v2
" Last Change: 2012 Jan 16
" License: The Vim license
" Version: 0.4
" Remark: Syntax highlighting for Upstart (init(8)) job files.
"

View File

@ -1,14 +1,16 @@
" Vim syntax file
" Language: Vim 7.3 script
" Maintainer: Dr. Charles E. Campbell, Jr. <NdrOchipS@PcampbellAfamily.Mbiz>
" Last Change: Jul 18, 2011
" Version: 7.3-08
" Last Change: Jan 11, 2012
" Version: 7.3-13
" Automatically generated keyword lists: {{{1
" Quit when a syntax file was already loaded {{{2
if exists("b:current_syntax")
finish
endif
let s:keepcpo= &cpo
set cpo&vim
" vimTodo: contains common special-notices for comments {{{2
" Use the vimCommentGroup cluster to add your own.
@ -118,14 +120,14 @@ syn region vimInsert matchgroup=vimCommand start="^[: \t]*\(\d\+\(,\d\+\)\=\)\=i
" =======
syn match vimBehave "\<be\%[have]\>" skipwhite nextgroup=vimBehaveModel,vimBehaveError
syn keyword vimBehaveModel contained mswin xterm
if !exists("g:vimsyn_noerror")
if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_nobehaveerror")
syn match vimBehaveError contained "[^ ]\+"
endif
" Filetypes {{{2
" =========
syn match vimFiletype "\<filet\%[ype]\(\s\+\I\i*\)*" skipwhite contains=vimFTCmd,vimFTOption,vimFTError
if !exists("g:vimsyn_noerror")
if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_vimFTError")
syn match vimFTError contained "\I\i*"
endif
syn keyword vimFTCmd contained filet[ype]
@ -140,7 +142,7 @@ else
syn region vimAugroup start="\<aug\%[roup]\>\s\+\K\k*" end="\<aug\%[roup]\>\s\+[eE][nN][dD]\>" contains=vimAugroupKey,vimAutoCmd,@vimAugroupList keepend
endif
syn match vimAugroup "aug\%[roup]!" contains=vimAugroupKey
if !exists("g:vimsyn_noerror")
if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_noaugrouperror")
syn match vimAugroupError "\<aug\%[roup]\>\s\+[eE][nN][dD]\>"
endif
syn keyword vimAugroupKey contained aug[roup]
@ -152,7 +154,7 @@ syn match vimOper "\(==\|!=\|>=\|<=\|=\~\|!\~\|>\|<\|=\)[?#]\{0,2}" skipwhite ne
syn match vimOper "||\|&&\|[-+.]" skipwhite nextgroup=vimString,vimSpecFile
syn region vimOperParen oneline matchgroup=vimParenSep start="(" end=")" contains=@vimOperGroup
syn region vimOperParen oneline matchgroup=vimSep start="{" end="}" contains=@vimOperGroup nextgroup=vimVar,vimFuncVar
if !exists("g:vimsyn_noerror")
if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_noopererror")
syn match vimOperError ")"
endif
@ -196,7 +198,7 @@ syn match vimUserAttrb contained "-cou\%[nt]=\d\+" contains=vimNumber,vimOper,vi
syn match vimUserAttrb contained "-bang\=\>" contains=vimOper,vimUserAttrbKey
syn match vimUserAttrb contained "-bar\>" contains=vimOper,vimUserAttrbKey
syn match vimUserAttrb contained "-re\%[gister]\>" contains=vimOper,vimUserAttrbKey
if !exists("g:vimsyn_noerror")
if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_nousercmderror")
syn match vimUserCmdError contained "\S\+\>"
endif
syn case ignore
@ -269,7 +271,7 @@ syn match vimMark "\<norm\%[al]\s\zs'[a-zA-Z0-9]" nextgroup=vimOper,vimMarkNumbe
syn match vimMarkNumber "[-+]\d\+" nextgroup=vimSubst contained contains=vimOper
syn match vimPlainMark contained "'[a-zA-Z0-9]"
syn match vimRegister '[^,;[{]\zs"[a-zA-Z0-9.%#:_\-/]\ze[^a-zA-Z_":]'
syn match vimRegister '[^,;[{]\zs"[a-zA-Z0-9.%#:_\-/]\ze[^a-zA-Z_":0-9]'
syn match vimRegister '\<norm\s\+\zs"[a-zA-Z0-9]'
syn match vimRegister '\<normal\s\+\zs"[a-zA-Z0-9]'
syn match vimRegister '@"'
@ -282,8 +284,8 @@ syn match vimFilter contained "^!.\{-}\(|\|$\)" contains=vimSpecFile
syn match vimFilter contained "\A!.\{-}\(|\|$\)"ms=s+1 contains=vimSpecFile,vimFunction,vimFuncName,vimOperParen
" Complex repeats (:h complex-repeat) {{{2
syn match vimCmplxRepeat '[^a-zA-Z_/\\()]q[0-9a-zA-Z"]'lc=1
syn match vimCmplxRepeat '@[0-9a-z".=@:]\ze\($\|[^a-zA-Z]\)'
syn match vimCmplxRepeat '[^a-zA-Z_/\\()]q[0-9a-zA-Z"]\>'lc=1
syn match vimCmplxRepeat '@[0-9a-z".=@:]\ze\($\|[^a-zA-Z]\>\)'
" Set command and associated set-options (vimOptions) with comment {{{2
syn region vimSet matchgroup=vimCommand start="\<\%(setl\%[ocal]\|setg\%[lobal]\|se\%[t]\)\>" skip="\%(\\\\\)*\\." end="$" matchgroup=vimNotation end="<[cC][rR]>" keepend oneline contains=vimSetEqual,vimOption,vimErrSetting,vimComment,vimSetString,vimSetMod
@ -364,7 +366,7 @@ syn match vimNotFunc "\<if\>\|\<el\%[seif]\>\|\<return\>\|\<while\>"
" Errors And Warnings: {{{2
" ====================
if !exists("g:vimsyn_noerror")
if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_novimfunctionerror")
syn match vimFunctionError "\s\zs[a-z0-9]\i\{-}\ze\s*(" contained contains=vimFuncKey,vimFuncBlank
" syn match vimFunctionError "\s\zs\%(<[sS][iI][dD]>\|[sSgGbBwWtTlL]:\)[0-9]\i\{-}\ze\s*(" contained contains=vimFuncKey,vimFuncBlank
syn match vimElseIfErr "\<else\s\+if\>"
@ -381,7 +383,7 @@ syn match vimNormCmds contained ".*$"
syn match vimGroupList contained "@\=[^ \t,]*" contains=vimGroupSpecial,vimPatSep
syn match vimGroupList contained "@\=[^ \t,]*," nextgroup=vimGroupList contains=vimGroupSpecial,vimPatSep
syn keyword vimGroupSpecial contained ALL ALLBUT CONTAINED TOP
if !exists("g:vimsyn_noerror")
if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_novimsynerror")
syn match vimSynError contained "\i\+"
syn match vimSynError contained "\i\+=" nextgroup=vimGroupList
endif
@ -395,7 +397,7 @@ syn cluster vimFuncBodyList add=vimSyntax
" Syntax: case {{{2
syn keyword vimSynType contained case skipwhite nextgroup=vimSynCase,vimSynCaseError
if !exists("g:vimsyn_noerror")
if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_novimsyncaseerror")
syn match vimSynCaseError contained "\i\+"
endif
syn keyword vimSynCase contained ignore match
@ -456,7 +458,7 @@ syn cluster vimFuncBodyList add=vimSynType
" Syntax: sync {{{2
" ============
syn keyword vimSynType contained sync skipwhite nextgroup=vimSyncC,vimSyncLines,vimSyncMatch,vimSyncError,vimSyncLinebreak,vimSyncLinecont,vimSyncRegion
if !exists("g:vimsyn_noerror")
if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_novimsyncerror")
syn match vimSyncError contained "\i\+"
endif
syn keyword vimSyncC contained ccomment clear fromstart
@ -477,6 +479,9 @@ syn match vimIsCommand "<Bar>\s*\a\+" transparent contains=vimCommand,vimNotatio
" Highlighting {{{2
" ============
syn cluster vimHighlightCluster contains=vimHiLink,vimHiClear,vimHiKeyList,vimComment
if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_novimhictermerror")
syn match vimHiCtermError contained "[^0-9]\i*"
endif
syn match vimHighlight "\<hi\%[ghlight]\>" skipwhite nextgroup=vimHiBang,@vimHighlightCluster
syn match vimHiBang contained "!" skipwhite nextgroup=@vimHighlightCluster
@ -488,20 +493,18 @@ syn case match
syn match vimHiAttribList contained "\i\+" contains=vimHiAttrib
syn match vimHiAttribList contained "\i\+,"he=e-1 contains=vimHiAttrib nextgroup=vimHiAttribList
syn case ignore
syn keyword vimHiCtermColor contained black blue brown cyan darkBlue darkcyan darkgray darkgreen darkgrey darkmagenta darkred darkyellow gray green grey lightblue lightcyan lightgray lightgreen lightgrey lightmagenta lightred magenta red white yellow
syn keyword vimHiCtermColor contained black blue brown cyan darkblue darkcyan darkgray darkgreen darkgrey darkmagenta darkred darkyellow gray green grey lightblue lightcyan lightgray lightgreen lightgrey lightmagenta lightred magenta red white yellow
syn match vimHiCtermColor contained "\<color\d\{1,3}\>"
syn case match
syn match vimHiFontname contained "[a-zA-Z\-*]\+"
syn match vimHiGuiFontname contained "'[a-zA-Z\-* ]\+'"
syn match vimHiGuiRgb contained "#\x\{6}"
if !exists("g:vimsyn_noerror")
syn match vimHiCtermError contained "[^0-9]\i*"
endif
" Highlighting: hi group key=arg ... {{{2
syn cluster vimHiCluster contains=vimGroup,vimHiGroup,vimHiTerm,vimHiCTerm,vimHiStartStop,vimHiCtermFgBg,vimHiGui,vimHiGuiFont,vimHiGuiFgBg,vimHiKeyError,vimNotation
syn region vimHiKeyList contained oneline start="\i\+" skip="\\\\\|\\|" end="$\||" contains=@vimHiCluster
if !exists("g:vimsyn_noerror")
if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_vimhikeyerror")
syn match vimHiKeyError contained "\i\+="he=e-1
endif
syn match vimHiTerm contained "\cterm="he=e-1 nextgroup=vimHiAttribList
@ -757,7 +760,9 @@ hi def link vimFTCmd vimCommand
hi def link vimFTOption vimSynType
hi def link vimFuncKey vimCommand
hi def link vimGroupAdd vimSynOption
hi def link vimGroupName vimGroup
hi def link vimGroupRem vimSynOption
hi def link vimHiClear vimHighlight
hi def link vimHiCtermFgBg vimHiTerm
hi def link vimHiCTerm vimHiTerm
hi def link vimHighlight vimCommand
@ -872,8 +877,14 @@ hi def link vimTodo Todo
hi def link vimUserAttrbCmpltFunc Special
hi def link vimUserCmdError Error
hi def link vimUserFunc Normal
hi def link vimVar Identifier
hi def link vimWarn WarningMsg
" Current Syntax Variable: {{{2
let b:current_syntax = "vim"
" ---------------------------------------------------------------------
" Cleanup: {{{1
let &cpo = s:keepcpo
unlet s:keepcpo
" vim:ts=18 fdm=marker