diff options
author | Bram Moolenaar <Bram@vim.org> | 2012-05-18 13:46:39 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2012-05-18 13:46:39 +0200 |
commit | 1aeaf8c0e0421f34e51ef674f0c9a182debe77ae (patch) | |
tree | ac823e8259ccfd8c536bc34b1d1132e1538f1856 | |
parent | dbb4a42cdc63933b11bcb9988d926421b3f5028d (diff) | |
download | vim-1aeaf8c0e0421f34e51ef674f0c9a182debe77ae.zip |
Updated runtime files.
38 files changed, 901 insertions, 327 deletions
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt index 91ee7f497..0df4ba4b3 100644 --- a/runtime/doc/eval.txt +++ b/runtime/doc/eval.txt @@ -1,4 +1,4 @@ -*eval.txt* For Vim version 7.3. Last change: 2012 Apr 30 +*eval.txt* For Vim version 7.3. Last change: 2012 May 18 VIM REFERENCE MANUAL by Bram Moolenaar @@ -2317,7 +2317,7 @@ col({expr}) The result is a Number, which is the byte index of the column position given with {expr}. The accepted positions are: . the cursor position $ the end of the cursor line (the result is the - number of characters in the cursor line plus one) + number of bytes in the cursor line plus one) 'x position of mark x (if the mark is not set, 0 is returned) Additionally {expr} can be [lnum, col]: a |List| with the line @@ -4874,7 +4874,7 @@ search({pattern} [, {flags} [, {stopline} [, {timeout}]]]) *search()* A zero value is equal to not giving the argument. When the {timeout} argument is given the search stops when - more than this many milli seconds have passed. Thus when + more than this many milliseconds have passed. Thus when {timeout} is 500 the search stops after half a second. The value must not be negative. A zero value is like not giving the argument. diff --git a/runtime/doc/evim-fr.1 b/runtime/doc/evim-fr.1 index 792c1bc30..ab19a9094 100644 --- a/runtime/doc/evim-fr.1 +++ b/runtime/doc/evim-fr.1 @@ -54,3 +54,4 @@ Voir le menu Aide/Remerciements ou ":help credits" dans .SH TRADUCTION Cette page de manuel a été traduite David Blanchet. <david.blanchet@free.fr> 2005-03-26. +Mise à jour 2012-05-06, Dominique Pellé <dominique.pelle@gmail.com> diff --git a/runtime/doc/evim-fr.UTF-8.1 b/runtime/doc/evim-fr.UTF-8.1 index 95941610e..267366ff5 100644 --- a/runtime/doc/evim-fr.UTF-8.1 +++ b/runtime/doc/evim-fr.UTF-8.1 @@ -54,3 +54,4 @@ Voir le menu Aide/Remerciements ou ":help credits" dans .SH TRADUCTION Cette page de manuel a été traduite David Blanchet. <david.blanchet@free.fr> 2005-03-26. +Mise à jour 2012-05-06, Dominique Pellé <dominique.pelle@gmail.com> diff --git a/runtime/doc/helphelp.txt b/runtime/doc/helphelp.txt index 25bf03aa0..437964d1e 100644 --- a/runtime/doc/helphelp.txt +++ b/runtime/doc/helphelp.txt @@ -1,4 +1,4 @@ -*helphelp.txt* For Vim version 7.3. Last change: 2010 Sep 14 +*helphelp.txt* For Vim version 7.3. Last change: 2012 May 18 VIM REFERENCE MANUAL by Bram Moolenaar @@ -218,11 +218,12 @@ files. Vim will search for all help in "doc" directories in 'runtimepath'. This is only available when compiled with the |+multi_lang| feature. At this moment translations are available for: - Chinese - multiple authors - French - translated by David Blanchet - Italian - translated by Antonio Colombo - Polish - translated by Mikolaj Machowski - Russian - translated by Vassily Ragosin + Chinese - multiple authors + French - translated by David Blanchet + Italian - translated by Antonio Colombo + Japanese - multiple authors + Polish - translated by Mikolaj Machowski + Russian - translated by Vassily Ragosin See the Vim website to find them: http://www.vim.org/translations.php A set of translated help files consists of these files: diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt index b5360edb3..fcecab080 100644 --- a/runtime/doc/options.txt +++ b/runtime/doc/options.txt @@ -1,4 +1,4 @@ -*options.txt* For Vim version 7.3. Last change: 2012 Apr 28 +*options.txt* For Vim version 7.3. Last change: 2012 May 16 VIM REFERENCE MANUAL by Bram Moolenaar @@ -1047,6 +1047,11 @@ A jump table for the options with a short description can be found at |Q_op|. When $TMPDIR, $TMP or $TEMP is not defined, it is not used for the default value. "/tmp/*" is only used for Unix. + WARNING: Not having a backup file means that when Vim fails to write + your buffer correctly and then, for whatever reason, Vim exits, you + lose both the original file and what you were writing. Only disable + backups if you don't care about losing the file. + Note that environment variables are not expanded. If you want to use $HOME you must expand it explicitly, e.g.: > :let backupskip = escape(expand('$HOME'), '\') . '/tmp/*' @@ -8140,8 +8145,13 @@ A jump table for the options with a short description can be found at |Q_op|. {not in Vi} Make a backup before overwriting a file. The backup is removed after the file was successfully written, unless the 'backup' option is - also on. Reset this option if your file system is almost full. See - |backup-table| for another explanation. + also on. + WARNING: Switching this option off means that when Vim fails to write + your buffer correctly and then, for whatever reason, Vim exits, you + lose both the original file and what you were writing. Only reset + this option if your file system is almost full and it makes the write + fail (and make sure not to exit Vim until the write was successful). + See |backup-table| for another explanation. When the 'backupskip' pattern matches, a backup is not made anyway. NOTE: This option is set to the default value when 'compatible' is set. diff --git a/runtime/doc/os_win32.txt b/runtime/doc/os_win32.txt index 0452bfae0..4e1a02b4b 100644 --- a/runtime/doc/os_win32.txt +++ b/runtime/doc/os_win32.txt @@ -1,4 +1,4 @@ -*os_win32.txt* For Vim version 7.3. Last change: 2011 Aug 14 +*os_win32.txt* For Vim version 7.3. Last change: 2012 May 18 VIM REFERENCE MANUAL by George Reilly @@ -314,8 +314,8 @@ A. When using :! to run an external command, you can run it with "start": > not have to be closed before Vim. To avoid this special treatment, use ":! start". There are two optional arguments (see the next Q): - /min the window will be minimized. - /b" no console window will be opened + /min the window will be minimized + /b no console window will be opened You can use only one of these flags at a time. A second one will be treated as the start of the command. diff --git a/runtime/doc/pattern.txt b/runtime/doc/pattern.txt index 4283320c4..5c4a79020 100644 --- a/runtime/doc/pattern.txt +++ b/runtime/doc/pattern.txt @@ -1,4 +1,4 @@ -*pattern.txt* For Vim version 7.3. Last change: 2011 Nov 26 +*pattern.txt* For Vim version 7.3. Last change: 2012 May 18 VIM REFERENCE MANUAL by Bram Moolenaar @@ -637,10 +637,10 @@ overview. */\@!* \@! Matches with zero width if the preceding atom does NOT match at the current position. |/zero-width| {not in Vi} - Like '(?!pattern)" in Perl. + Like "(?!pattern)" in Perl. Example matches ~ foo\(bar\)\@! any "foo" not followed by "bar" - a.\{-}p\@! "a", "ap", "aap", "app", etc. not immediately + a.\{-}p\@! "a", "ap", "app", "appp", etc. not immediately followed by a "p" if \(\(then\)\@!.\)*$ "if " not followed by "then" @@ -648,7 +648,7 @@ overview. does not match. "a.*p\@!" will match from an "a" to the end of the line, because ".*" can match all characters in the line and the "p" doesn't match at the end of the line. "a.\{-}p\@!" will match any - "a", "ap", "aap", etc. that isn't followed by a "p", because the "." + "a", "ap", "app", etc. that isn't followed by a "p", because the "." can match a "p" and "p\@!" doesn't match after that. You can't use "\@!" to look for a non-match before the matching @@ -667,7 +667,7 @@ overview. */\@<=* \@<= Matches with zero width if the preceding atom matches just before what follows. |/zero-width| {not in Vi} - Like '(?<=pattern)" in Perl, but Vim allows non-fixed-width patterns. + Like "(?<=pattern)" in Perl, but Vim allows non-fixed-width patterns. Example matches ~ \(an\_s\+\)\@<=file "file" after "an" and white space or an end-of-line @@ -691,7 +691,7 @@ overview. before what follows. Thus this matches if there is no position in the current or previous line where the atom matches such that it ends just before what follows. |/zero-width| {not in Vi} - Like '(?<!pattern)" in Perl, but Vim allows non-fixed-width patterns. + Like "(?<!pattern)" in Perl, but Vim allows non-fixed-width patterns. The match with the preceding atom is made to end just before the match with what follows, thus an atom that ends in ".*" will work. Warning: This can be slow (because many positions need to be checked diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt index ac8e62c07..9804c5d28 100644 --- a/runtime/doc/todo.txt +++ b/runtime/doc/todo.txt @@ -1,4 +1,4 @@ -*todo.txt* For Vim version 7.3. Last change: 2012 May 01 +*todo.txt* For Vim version 7.3. Last change: 2012 May 18 VIM REFERENCE MANUAL by Bram Moolenaar @@ -34,28 +34,49 @@ not be repeated below, unless there is extra information. *known-bugs* -------------------- Known bugs and current work ----------------------- -patch to fix helphelp.txt from Ken Takata. https://gist.github.com/2559599 - Go through more coverity reports. Discussion about canonicalization of Hebrew. (Ron Aaron, 2011 April 10) -Stack trace of crash: http://vpaste.net/GBt9S -(Alexandre Provencio) +Bug caused by patch 7.3.449. (Alex Afros, May 16) + +Add link to i/OS version on download page: +http://applidium.com/en/applications/vim/ + +Patch to fix helptags for multi-byte encoding. (Yasuhiro Matsumoto, 2012 May +10) GTK: problem with 'L' in 'guioptions' changing the window width. (Aaron Cornelius, 2012 Feb 6) +Patch for completefunction. (Mtsushita Shougo, 2012 May 11) + Patch: home_replace() does not work whtn 8.3 filename. (Yasuhiro Matsumoto, 2012 Apr 18) Asked for another version of the patch. +Javascript file where indent gets stuck on: GalaxyMaster, 2012 May 3. + +Gvim startup hangs in Ubuntu 12.04. (Yasuhiro Matsumoto, 2012 May 2) +Patch available on github. Updated May 8 and May 9?. + +Spell checking: "zg" doesn't pick up the "ß" character. (Axel Bender, 2012 May +1) Christian Brabandt reports a crash when doing something similar. (May 2) +Fix for this: Christian Brabandt, 2012 May 9. + +Patch to avoid a crash when using MEM_PROFILE. (Dominique Pelle, 2012 May 14) + 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) Issue 54: document behavior of -complete, also expands arg. +Patch to make ":diffupdate" check for buffers changed outside of Vim. +(Christian Brabandt, 2012 May 13, update later) + Cursor on wrong line after ":copen". (John Beckett, 2012 Apr 30) +Fix by Christian Brabandt, 2012 May 2. But calling changed_window_setting() +would be a simpler solution. Syntax update problem in one buffer opened in two windows, bottom window is not correctly updated. (Paul Harris, 2012 Feb 27) @@ -72,6 +93,13 @@ URXVT: - Use urxvt mouse support also in xterm. Explanations: http://www.midnight-commander.org/ticket/2662 +Patches from Debian for python ftplugin. (Thilo Six, 2012 May 6) +Also patches from Debian for Spanish translations. + +Patch for IBM z/OS makefile. (Stephen Bovy, 2012 Apr 26) +Patch for configure (Stephen Bovy, 2012 Apr 28) +Updates later. Context diff May 7. + When running Vim in silent ex mode, an existing swapfile causes Vim to wait for a user action without a prompt. (Maarten Billemont, 2012 Feb 3) Do give the prompt? Quit with an error? @@ -106,8 +134,8 @@ Patch Sep 18. Patch for has('unnamedplus') docs. (Tony Mechelynck, 2011 Sep 27) And one for gui_x11.txt. -Patch for Python: add pyeval()(zyx, 2012 Apr 15, update Apr 16) -Also changes for Lua. Update Apr 19. Update Apr 22. +Patch for Python: add pyeval() and vim.bindeval() (zyx, 2012 Apr 15, update +Apr 16) Also changes for Lua. Update Apr 19. Update Apr 22. ":cd" doesn't work when current directory path contains "**". finddir() has the same problem. (Yukihiro Nakadaira, 2012 Jan 10) @@ -153,6 +181,9 @@ Needs more work. Pinged 2012 Jan 4. 'list' is set. (Dennis Preiser) Patch 7.3.116 was the wrong solution. Christian Brabandt has another incomplete patch. (2011 Jul 13) +Also: Alignment in help with tabs gets messed up, esp. at ":help index". +Probably need to make a tab work like there was no concealing. Possibly with +an option. Like line wrapping works as if there is no concealing. 'cursorline' is drawn incorrectly in diff mode. Patch by Christian Brabandt, 2012 Apr 2. @@ -271,10 +302,6 @@ When setting a local option value from the global value, add a script ID that indicates this, so that ":verbose set" can give a hint. Check with options in the help file. -Patch for IBM z/OS makefile. (Stephen Bovy, 2012 Apr 26) -Patch for configure (Stephen Bovy, 2012 Apr 28) -Updates later. - After patch 7.3.097 still get E15. (Yukihiro Nakadaira, 2011 Jan 18) Also for another example (ZyX, 2011 Jan 24) diff --git a/runtime/doc/vim-fr.1 b/runtime/doc/vim-fr.1 index 5a5a871b3..fcdae0d55 100644 --- a/runtime/doc/vim-fr.1 +++ b/runtime/doc/vim-fr.1 @@ -586,3 +586,4 @@ Cette page de manuel a été traduite par Richard Hitier. .br Cette page de manuel a été mise à jour par David Blanchet. <david.blanchet@free.fr> 2006-04-10. +Mise à jour 2012-05-06, Dominique Pellé <dominique.pelle@gmail.com> diff --git a/runtime/doc/vim-fr.UTF-8.1 b/runtime/doc/vim-fr.UTF-8.1 index 9a8bea66c..b1dcf76c6 100644 --- a/runtime/doc/vim-fr.UTF-8.1 +++ b/runtime/doc/vim-fr.UTF-8.1 @@ -586,3 +586,4 @@ Cette page de manuel a été traduite par Richard Hitier. .br Cette page de manuel a été mise à jour par David Blanchet. <david.blanchet@free.fr> 2006-04-10. +Mise à jour 2012-05-06, Dominique Pellé <dominique.pelle@gmail.com> diff --git a/runtime/doc/vimdiff-fr.1 b/runtime/doc/vimdiff-fr.1 index 494812675..67a64e381 100644 --- a/runtime/doc/vimdiff-fr.1 +++ b/runtime/doc/vimdiff-fr.1 @@ -14,7 +14,7 @@ démarre .B Vim avec deux (ou trois ou quatre) fichiers. Chaque fichier est ouvert dans sa propre fenêtre. -Les différences entres ces fichiers sont mises en surbrillance. +Les différences entre ces fichiers sont mises en surbrillance. C'est un outil très pratique pour visualiser et reporter les changements entre deux versions d'un même fichier. .PP @@ -51,3 +51,4 @@ Voir ":help credits" dans .SH TRADUCTION Cette page de manuel a été traduite par David Blanchet <david.blanchet@free.fr> 2005-03-12. +Mise à jour 2012-05-06, Dominique Pellé <dominique.pelle@gmail.com> diff --git a/runtime/doc/vimdiff-fr.UTF-8.1 b/runtime/doc/vimdiff-fr.UTF-8.1 index d143588cd..3b44a3dd5 100644 --- a/runtime/doc/vimdiff-fr.UTF-8.1 +++ b/runtime/doc/vimdiff-fr.UTF-8.1 @@ -14,7 +14,7 @@ démarre .B Vim avec deux (ou trois ou quatre) fichiers. Chaque fichier est ouvert dans sa propre fenêtre. -Les différences entres ces fichiers sont mises en surbrillance. +Les différences entre ces fichiers sont mises en surbrillance. C'est un outil très pratique pour visualiser et reporter les changements entre deux versions d'un même fichier. .PP @@ -51,3 +51,4 @@ Voir ":help credits" dans .SH TRADUCTION Cette page de manuel a été traduite par David Blanchet <david.blanchet@free.fr> 2005-03-12. +Mise à jour 2012-05-06, Dominique Pellé <dominique.pelle@gmail.com> diff --git a/runtime/doc/vimtutor-fr.1 b/runtime/doc/vimtutor-fr.1 index 836719011..06e03fbef 100644 --- a/runtime/doc/vimtutor-fr.1 +++ b/runtime/doc/vimtutor-fr.1 @@ -3,7 +3,7 @@ vimtutor \- tutoriel Vim .SH SYNOPSIS .br -.B vimtutor [-g] [langue] +.B vimtutor [\-g] [langue] .SH DESCRIPTION .B Vimtutor lance le tutoriel @@ -17,7 +17,7 @@ est utile pour les personnes souhaitant apprendre leurs premières commandes .B Vim \. .PP -L'argument optionnel -g lance vimtutor avec gvim plutôt qu'avec vim, si l'IHM +L'argument optionnel \-g lance vimtutor avec gvim plutôt qu'avec vim, si l'IHM graphique de vim est disponible, ou le lance avec vim si gvim n'est pas disponible. .PP @@ -57,3 +57,4 @@ vim(1) .SH TRADUCTION Cette page de manuel a été traduite par David Blanchet <david.blanchet@free.fr> 2004-12-27. +Mise à jour 2012-05-06, Dominique Pellé <dominique.pelle@gmail.com> diff --git a/runtime/doc/vimtutor-fr.UTF-8.1 b/runtime/doc/vimtutor-fr.UTF-8.1 index 9bf474d8f..f47f840ec 100644 --- a/runtime/doc/vimtutor-fr.UTF-8.1 +++ b/runtime/doc/vimtutor-fr.UTF-8.1 @@ -3,7 +3,7 @@ vimtutor \- tutoriel Vim .SH SYNOPSIS .br -.B vimtutor [-g] [langue] +.B vimtutor [\-g] [langue] .SH DESCRIPTION .B Vimtutor lance le tutoriel @@ -17,7 +17,7 @@ est utile pour les personnes souhaitant apprendre leurs premières commandes .B Vim \. .PP -L'argument optionnel -g lance vimtutor avec gvim plutôt qu'avec vim, si l'IHM +L'argument optionnel \-g lance vimtutor avec gvim plutôt qu'avec vim, si l'IHM graphique de vim est disponible, ou le lance avec vim si gvim n'est pas disponible. .PP @@ -57,3 +57,4 @@ vim(1) .SH TRADUCTION Cette page de manuel a été traduite par David Blanchet <david.blanchet@free.fr> 2004-12-27. +Mise à jour 2012-05-06, Dominique Pellé <dominique.pelle@gmail.com> diff --git a/runtime/doc/xxd-fr.1 b/runtime/doc/xxd-fr.1 index 0b25da437..541880bd2 100644 --- a/runtime/doc/xxd-fr.1 +++ b/runtime/doc/xxd-fr.1 @@ -393,3 +393,4 @@ Modifications mineures par Bram Moolenaar. .SH TRADUCTION Cette page de manuel a été traduite par David Blanchet <david.blanchet@free.fr> 2004-12-24. +Mise à jour 2012-05-06, Dominique Pellé <dominique.pelle@gmail.com> diff --git a/runtime/doc/xxd-fr.UTF-8.1 b/runtime/doc/xxd-fr.UTF-8.1 index 9fc47d3ac..84a84291f 100644 --- a/runtime/doc/xxd-fr.UTF-8.1 +++ b/runtime/doc/xxd-fr.UTF-8.1 @@ -393,3 +393,4 @@ Modifications mineures par Bram Moolenaar. .SH TRADUCTION Cette page de manuel a été traduite par David Blanchet <david.blanchet@free.fr> 2004-12-24. +Mise à jour 2012-05-06, Dominique Pellé <dominique.pelle@gmail.com> diff --git a/runtime/filetype.vim b/runtime/filetype.vim index 7ed7d57d4..6dae50f6f 100644 --- a/runtime/filetype.vim +++ b/runtime/filetype.vim @@ -1,7 +1,7 @@ " Vim support file to detect file types " " Maintainer: Bram Moolenaar <Bram@vim.org> -" Last Change: 2012 Apr 18 +" Last Change: 2012 May 18 " Listen very carefully, I will say this only once if exists("did_load_filetypes") @@ -1842,7 +1842,7 @@ au BufNewFile,BufRead .zsh*,.zlog*,.zcompdump* call s:StarSetf('zsh') au BufNewFile,BufRead *.zsh setf zsh " Scheme -au BufNewFile,BufRead *.scm,*.ss setf scheme +au BufNewFile,BufRead *.scm,*.ss,*.rkt setf scheme " Screen RC au BufNewFile,BufRead .screenrc,screenrc setf screen @@ -2371,6 +2371,9 @@ au BufNewFile,BufRead *.yaml,*.yml setf yaml " yum conf (close enough to dosini) au BufNewFile,BufRead */etc/yum.conf setf dosini +" Zimbu +au BufNewFile,BufRead *.zu setf zimbu + " Zope " dtml (zope dynamic template markup language), pt (zope page template), " cpt (zope form controller page template) diff --git a/runtime/ftplugin/dosbatch.vim b/runtime/ftplugin/dosbatch.vim index d83dc3b79..dbc02d80f 100644 --- a/runtime/ftplugin/dosbatch.vim +++ b/runtime/ftplugin/dosbatch.vim @@ -1,7 +1,7 @@ " Vim filetype plugin file " Language: MS-DOS .bat files " Maintainer: Mike Williams <mrw@eandem.co.uk> -" Last Change: 24th April 2012 +" Last Change: 8th May 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 + " BAT comment formatting setlocal comments=b:rem,b:@rem,b:REM,b:@REM,::: setlocal formatoptions-=t formatoptions+=rol @@ -20,4 +23,8 @@ if has("gui_win32") && !exists("b:browsefilter") let b:browsefilter = "DOS Batch Files (*.bat, *.cmd)\t*.bat;*.cmd\nAll Files (*.*)\t*.*\n" endif -let b:undo_ftplugin = "setlocal comments< formatoptions< | unlet! b:browsefiler" +let b:undo_ftplugin = "setlocal comments< formatoptions<" + \ . "| unlet! b:browsefiler" + +let &cpo = s:cpo_save +unlet s:cpo_save diff --git a/runtime/ftplugin/zimbu.vim b/runtime/ftplugin/zimbu.vim new file mode 100644 index 000000000..e50c1b65b --- /dev/null +++ b/runtime/ftplugin/zimbu.vim @@ -0,0 +1,146 @@ +" Vim filetype plugin file +" Language: Zimbu +" Maintainer: Bram Moolenaar <Bram@vim.org> +" Last Change: 2012 May 17 + +" Only do this when not done yet for this buffer +if exists("b:did_ftplugin") + finish +endif + +" Don't load another plugin for this buffer +let b:did_ftplugin = 1 + +" Using line continuation here. +let s:cpo_save = &cpo +set cpo-=C + +let b:undo_ftplugin = "setl fo< com< ofu< | if has('vms') | setl isk< | endif" + +" Set 'formatoptions' to break comment lines but not other lines, +" and insert the comment leader when hitting <CR> or using "o". +setlocal fo-=t fo+=croql + +" Set completion with CTRL-X CTRL-O to autoloaded function. +if exists('&ofu') + setlocal ofu=ccomplete#Complete +endif + +" Set 'comments' to format dashed lists in comments. +" And to keep Zudocu comment characters. +setlocal comments=sO:#\ -,mO:#\ \ ,:#=,:#-,:#%,:# + +setlocal errorformat^=%f\ line\ %l\ col\ %c:\ %m,ERROR:\ %m + +" When the matchit plugin is loaded, this makes the % command skip parens and +" braces in comments. +let b:match_words = '\(^\s*\)\@<=\(MODULE\|CLASS\|INTERFACE\|BITS\|ENUM\|SHARED\|FUNC\|REPLACE\|DEFINE\|PROC\|EQUAL\|MAIN\|IF\|GENERATE_IF\|WHILE\|REPEAT\|WITH\|DO\|FOR\|SWITCH\|TRY\)\>\|{\s*$:\(^\s*\)\@<=\(ELSE\|ELSEIF\|GENERATE_ELSE\|GENERATE_ELSEIF\|CATCH\|FINALLY\)\>:\(^\s*\)\@<=}\|\<UNTIL\>' + +let b:match_skip = 's:comment\|string\|zimbuchar' + +setlocal tw=78 +setlocal et sts=2 sw=2 + +" Does replace when a dot, space or closing brace is typed. +func! GCUpperDot(what) + let col = col(".") - strlen(a:what) + if v:char != ' ' && v:char != "\r" && v:char != "\x1b" && v:char != '.' && v:char != ')' && v:char != '}' + " no space or dot after the typed text + let g:got_char = v:char + return a:what + endif + if col > 1 && getline('.')[col - 2] != ' ' + " no space before the typed text + let g:got_char = 999 + return a:what + endif + let synName = synIDattr(synID(line("."), col(".") - 2, 1), "name") + if synName =~ 'Comment\|String\|zimbuCregion\|\<c' + " inside a comment or C code + let g:got_char = 777 + return a:what + endif + let g:got_char = 1111 + return toupper(a:what) +endfunc + +" Does not replace when a dot is typed. +func! GCUpper(what) + if v:char != ' ' && v:char != "\r" && v:char != "\x1b" && v:char != ')' + " no space after the typed text + let g:got_char = v:char + return a:what + endif + return GCUpperDot(a:what) +endfunc + +" Only replaces when a space is typed. +func! GCUpperSpace(what) + if v:char != ' ' + " no space after the typed text + let g:got_char = v:char + return a:what + endif + return GCUpperDot(a:what) +endfunc + +iabbr <buffer> <expr> alias GCUpperSpace("alias") +iabbr <buffer> <expr> arg GCUpperDot("arg") +iabbr <buffer> <expr> bad GCUpper("bad") +iabbr <buffer> <expr> break GCUpper("break") +iabbr <buffer> <expr> case GCUpperSpace("case") +iabbr <buffer> <expr> catch GCUpperSpace("catch") +iabbr <buffer> <expr> check GCUpperDot("check") +iabbr <buffer> <expr> class GCUpperSpace("class") +iabbr <buffer> <expr> shared GCUpperSpace("shared") +iabbr <buffer> <expr> continue GCUpper("continue") +iabbr <buffer> <expr> default GCUpper("default") +iabbr <buffer> <expr> extends GCUpper("extends") +iabbr <buffer> <expr> do GCUpper("do") +iabbr <buffer> <expr> else GCUpper("else") +iabbr <buffer> <expr> elseif GCUpperSpace("elseif") +iabbr <buffer> <expr> enum GCUpperSpace("enum") +iabbr <buffer> <expr> exit GCUpper("exit") +iabbr <buffer> <expr> false GCUpper("false") +iabbr <buffer> <expr> fail GCUpper("fail") +iabbr <buffer> <expr> finally GCUpper("finally") +iabbr <buffer> <expr> for GCUpperSpace("for") +iabbr <buffer> <expr> func GCUpperSpace("func") +iabbr <buffer> <expr> if GCUpperSpace("if") +iabbr <buffer> <expr> import GCUpperSpace("import") +iabbr <buffer> <expr> in GCUpperSpace("in") +iabbr <buffer> <expr> io GCUpperDot("io") +iabbr <buffer> <expr> main GCUpper("main") +iabbr <buffer> <expr> module GCUpperSpace("module") +iabbr <buffer> <expr> new GCUpper("new") +iabbr <buffer> <expr> nil GCUpper("nil") +iabbr <buffer> <expr> ok GCUpper("ok") +iabbr <buffer> <expr> proc GCUpperSpace("proc") +iabbr <buffer> <expr> proceed GCUpper("proceed") +iabbr <buffer> <expr> return GCUpper("return") +iabbr <buffer> <expr> step GCUpperSpace("step") +iabbr <buffer> <expr> switch GCUpperSpace("switch") +iabbr <buffer> <expr> sys GCUpperDot("sys") +iabbr <buffer> <expr> this GCUpperDot("this") +iabbr <buffer> <expr> throw GCUpperSpace("throw") +iabbr <buffer> <expr> try GCUpper("try") +iabbr <buffer> <expr> to GCUpperSpace("to") +iabbr <buffer> <expr> true GCUpper("true") +iabbr <buffer> <expr> until GCUpperSpace("until") +iabbr <buffer> <expr> while GCUpperSpace("while") +iabbr <buffer> <expr> repeat GCUpper("repeat") + +nnoremap <silent> <buffer> [[ m`:call ZimbuGoStartBlock()<CR> +nnoremap <silent> <buffer> ]] m`:call ZimbuGoEndBlock()<CR> + +" Using a function makes sure the search pattern is restored +func! ZimbuGoStartBlock() + ?^\s*\(FUNC\|PROC\|MAIN\|ENUM\|CLASS\|INTERFACE\)\> +endfunc +func! ZimbuGoEndBlock() + /^\s*\(FUNC\|PROC\|MAIN\|ENUM\|CLASS\|INTERFACE\)\> +endfunc + + +let &cpo = s:cpo_save +unlet s:cpo_save diff --git a/runtime/indent/liquid.vim b/runtime/indent/liquid.vim index 08341b04f..df43f40cc 100644 --- a/runtime/indent/liquid.vim +++ b/runtime/indent/liquid.vim @@ -1,7 +1,7 @@ " Vim indent file " Language: Liquid " Maintainer: Tim Pope <vimNOSPAM@tpope.org> -" Last Change: 2010 May 21 +" Last Change: 2012 May 07 if exists('b:did_indent') finish @@ -54,9 +54,8 @@ function! GetLiquidIndent(...) let line = substitute(line,'\C^\%(\s*{%\s*end\w*\s*%}\)\+','','') let line .= matchstr(cline,'\C^\%(\s*{%\s*end\w*\s*%}\)\+') let cline = substitute(cline,'\C^\%(\s*{%\s*end\w*\s*%}\)\+','','') - let ind += &sw * s:count(line,'{%\s*\%(if\|elsif\|else\|unless\|ifchanged\|case\|when\|for\|tablerow\|capture\)\>') + let ind += &sw * s:count(line,'{%\s*\%(if\|elsif\|else\|unless\|ifchanged\|case\|when\|for\|empty\|tablerow\|capture\)\>') let ind -= &sw * s:count(line,'{%\s*end\%(if\|unless\|ifchanged\|case\|for\|tablerow\|capture\)\>') - let ind += &sw * s:count(line,'{%\s*\%(elsif\|else\|when\|empty\)\>') let ind -= &sw * s:count(cline,'{%\s*\%(elsif\|else\|when\|empty\)\>') let ind -= &sw * s:count(cline,'{%\s*end\w*$') return ind diff --git a/runtime/indent/zimbu.vim b/runtime/indent/zimbu.vim new file mode 100644 index 000000000..a01510ded --- /dev/null +++ b/runtime/indent/zimbu.vim @@ -0,0 +1,123 @@ +" Vim indent file +" Language: Zimbu +" Maintainer: Bram Moolenaar <Bram@vim.org> +" Last Change: 2012 May 17 + +" Only load this indent file when no other was loaded. +if exists("b:did_indent") + finish +endif +let b:did_indent = 1 + +setlocal ai nolisp nocin +setlocal indentexpr=GetZimbuIndent(v:lnum) +setlocal indentkeys=0{,0},!^F,o,O,0=ELSE,0=ELSEIF,0=CASE,0=DEFAULT,0=FINALLY + +" We impose recommended defaults: no Tabs, 'shiftwidth' = 2 +setlocal sw=2 et + +let b:undo_indent = "setl et< ai< indentexpr=" + +" Only define the function once. +if exists("*GetZimbuIndent") + finish +endif + +" Come here when loading the script the first time. + +let s:maxoff = 50 " maximum number of lines to look backwards for () + +func GetZimbuIndent(lnum) + let prevLnum = prevnonblank(a:lnum - 1) + if prevLnum == 0 + " This is the first non-empty line, use zero indent. + return 0 + endif + + " Taken from Python indenting: + " If the previous line is inside parenthesis, use the indent of the starting + " line. + " Trick: use the non-existing "dummy" variable to break out of the loop when + " going too far back. + call cursor(prevLnum, 1) + let parlnum = searchpair('(\|{\|\[', '', ')\|}\|\]', 'nbW', + \ "line('.') < " . (prevLnum - s:maxoff) . " ? dummy :" + \ . " synIDattr(synID(line('.'), col('.'), 1), 'name')" + \ . " =~ '\\(Comment\\|String\\|Char\\)$'") + if parlnum > 0 + let plindent = indent(parlnum) + let plnumstart = parlnum + else + let plindent = indent(prevLnum) + let plnumstart = prevLnum + endif + + + " When inside parenthesis: If at the first line below the parenthesis add + " two 'shiftwidth', otherwise same as previous line. + " i = (a + " + b + " + c) + call cursor(a:lnum, 1) + let p = searchpair('(\|{\|\[', '', ')\|}\|\]', 'bW', + \ "line('.') < " . (a:lnum - s:maxoff) . " ? dummy :" + \ . " synIDattr(synID(line('.'), col('.'), 1), 'name')" + \ . " =~ '\\(Comment\\|String\\|Char\\)$'") + if p > 0 + if p == prevLnum + " When the start is inside parenthesis, only indent one 'shiftwidth'. + let pp = searchpair('(\|{\|\[', '', ')\|}\|\]', 'bW', + \ "line('.') < " . (a:lnum - s:maxoff) . " ? dummy :" + \ . " synIDattr(synID(line('.'), col('.'), 1), 'name')" + \ . " =~ '\\(Comment\\|String\\|Char\\)$'") + if pp > 0 + return indent(prevLnum) + &sw + endif + return indent(prevLnum) + &sw * 2 + endif + if plnumstart == p + return indent(prevLnum) + endif + return plindent + endif + + let prevline = getline(prevLnum) + let thisline = getline(a:lnum) + + " If this line is not a comment and the previous one is then move the + " previous line further back. + if thisline !~ '^\s*#' + while prevline =~ '^\s*#' + let prevLnum = prevnonblank(prevLnum - 1) + if prevLnum == 0 + " Only comment lines before this, no indent + return 0 + endif + let prevline = getline(prevLnum) + let plindent = indent(prevLnum) + endwhile + endif + + if prevline =~ '^\s*\(IF\|\|ELSEIF\|ELSE\|GENERATE_IF\|\|GENERATE_ELSEIF\|GENERATE_ELSE\|WHILE\|REPEAT\|TRY\|CATCH\|FINALLY\|FOR\|DO\|SWITCH\|CASE\|DEFAULT\|FUNC\|VIRTUAL\|ABSTRACT\|DEFINE\|REPLACE\|FINAL\|PROC\|MAIN\|NEW\|ENUM\|CLASS\|BITS\|MODULE\|SHARED\)\>' + let plindent += &sw + endif + if thisline =~ '^\s*\(}\|ELSEIF\>\|ELSE\>\|CATCH\|FINALLY\|GENERATE_ELSEIF\>\|GENERATE_ELSE\>\|UNTIL\>\)' + let plindent -= &sw + endif + if thisline =~ '^\s*\(CASE\>\|DEFAULT\>\)' && prevline !~ '^\s*SWITCH\>' + let plindent -= &sw + endif + + " line up continued comment that started after some code + " String something # comment comment + " # comment + if a:lnum == prevLnum + 1 && thisline =~ '^\s*#' && prevline !~ '^\s*#' + let n = match(prevline, '#') + if n > 1 + let plindent = n + endif + endif + + return plindent +endfunc + diff --git a/runtime/macros/less.bat b/runtime/macros/less.bat new file mode 100644 index 000000000..bbe619bc9 --- /dev/null +++ b/runtime/macros/less.bat @@ -0,0 +1,10 @@ +@echo off +rem batch file to start Vim with less.vim. +rem Read stdin if no arguments were given. +rem Written by Ken Takata. + +if "%1"=="" ( + vim --cmd "let no_plugin_maps = 1" -c "runtime! macros/less.vim" - +) else ( + vim --cmd "let no_plugin_maps = 1" -c "runtime! macros/less.vim" %* +) diff --git a/runtime/macros/less.sh b/runtime/macros/less.sh index 484c714ce..e29958f7a 100755 --- a/runtime/macros/less.sh +++ b/runtime/macros/less.sh @@ -1,16 +1,24 @@ #!/bin/sh # Shell script to start Vim with less.vim. -# Read stdin if no arguments were given. +# Read stdin if no arguments were given and stdin was redirected. if test -t 1; then - if test $# = 0; then - vim --cmd 'let no_plugin_maps = 1' -c 'runtime! macros/less.vim' - + if test $# = 0; then + if test -t 0; then + echo "Missing filename" 1>&2 + exit + fi + vim --cmd 'let no_plugin_maps = 1' -c 'runtime! macros/less.vim' - else - vim --cmd 'let no_plugin_maps = 1' -c 'runtime! macros/less.vim' "$@" + vim --cmd 'let no_plugin_maps = 1' -c 'runtime! macros/less.vim' "$@" fi else # Output is not a terminal, cat arguments or stdin if test $# = 0; then + if test -t 0; then + echo "Missing filename" 1>&2 + exit + fi cat else cat "$@" diff --git a/runtime/macros/less.vim b/runtime/macros/less.vim index 959a5d735..4888ed2b8 100644 --- a/runtime/macros/less.vim +++ b/runtime/macros/less.vim @@ -92,7 +92,8 @@ map <Esc><Space> <Space> fun! s:NextPage() if line(".") == line("$") if argidx() + 1 >= argc() - quit + " Don't quit at the end of the last file + return endif next 1 diff --git a/runtime/syntax/awk.vim b/runtime/syntax/awk.vim index 6f1f56142..f80a58222 100644 --- a/runtime/syntax/awk.vim +++ b/runtime/syntax/awk.vim @@ -1,7 +1,7 @@ " Vim syntax file " Language: awk, nawk, gawk, mawk " Maintainer: Antonio Colombo <azc100@gmail.com> -" Last Change: 2012 Jan 31 +" Last Change: 2012 May 18 " AWK ref. is: Alfred V. Aho, Brian W. Kernighan, Peter J. Weinberger " The AWK Programming Language, Addison-Wesley, 1988 @@ -90,7 +90,7 @@ syn match awkRegExp contained "[?.*{}|+]" " String and Character constants " Highlight special characters (those which have a backslash) differently -syn region awkString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=awkSpecialCharacter,awkSpecialPrintf +syn region awkString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=@Spell,awkSpecialCharacter,awkSpecialPrintf syn match awkSpecialCharacter contained "\\." " Some of these combinations may seem weird, but they work. @@ -132,7 +132,7 @@ syn case match " Put this above those to override them. " Put this in a 'match "\<printf\=\>.*;\="' to make it not override " less/greater than (most of the time), but it won't work yet because -" keywords allways have precedence over match & region. +" keywords always have precedence over match & region. " File I/O: (print foo, bar > "filename") & for nawk (getline < "filename") "syn match awkFileIO contained ">" "syn match awkFileIO contained "<" @@ -141,7 +141,7 @@ syn case match syn match awkSemicolon ";" syn match awkComma "," -syn match awkComment "#.*" contains=awkTodo +syn match awkComment "#.*" contains=@Spell,awkTodo syn match awkLineSkip "\\$" @@ -158,7 +158,7 @@ syn sync ccomment awkArray maxlines=10 " 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 highlightling yet +" For version 5.8 and later: only when an item doesn't have highlighting yet if version >= 508 || !exists("did_awk_syn_inits") if version < 508 let did_awk_syn_inits = 1 diff --git a/runtime/syntax/c.vim b/runtime/syntax/c.vim index 4553519b0..6f99004e3 100644 --- a/runtime/syntax/c.vim +++ b/runtime/syntax/c.vim @@ -1,7 +1,7 @@ " Vim syntax file " Language: C " Maintainer: Bram Moolenaar <Bram@vim.org> -" Last Change: 2012 Jan 14 +" Last Change: 2012 May 03 " Quit when a (custom) syntax file was already loaded if exists("b:current_syntax") @@ -34,7 +34,7 @@ if !exists("c_no_utf") syn match cSpecial display contained "\\\(u\x\{4}\|U\x\{8}\)" endif if exists("c_no_cformat") - syn region cString start=+L\="+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,@Spell + syn region cString start=+L\="+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,@Spell extend " cCppString: same as cString, but ends at end of line syn region cCppString start=+L\="+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end='$' contains=cSpecial,@Spell else @@ -44,7 +44,7 @@ else syn match cFormat display "%\(\d\+\$\)\=[-+' #0*]*\(\d*\|\*\|\*\d\+\$\)\(\.\(\d*\|\*\|\*\d\+\$\)\)\=\([hlL]\|ll\)\=\([bdiuoxXDOUfeEgGcCsSpn]\|\[\^\=.[^]]*\]\)" contained endif syn match cFormat display "%%" contained - syn region cString start=+L\="+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,cFormat,@Spell + syn region cString start=+L\="+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,cFormat,@Spell extend " cCppString: same as cString, but ends at end of line syn region cCppString start=+L\="+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end='$' contains=cSpecial,cFormat,@Spell endif @@ -64,9 +64,9 @@ 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 + syn region cString start=+\%(U\|u8\=\)"+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,@Spell extend else - syn region cString start=+\%(U\|u8\=\)"+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,cFormat,@Spell + syn region cString start=+\%(U\|u8\=\)"+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,cFormat,@Spell extend endif syn match cCharacter "[Uu]'[^\\]'" syn match cCharacter "[Uu]'[^']*'" contains=cSpecial @@ -127,7 +127,7 @@ else syn match cErrInBracket display contained "[);{}]\|<%\|%>" endif -syntax region cBadBlock keepend extend start="{" end="}" contained containedin=cParen,cBracket,cBadBlock transparent fold +syntax region cBadBlock keepend start="{" end="}" contained containedin=cParen,cBracket,cBadBlock transparent fold "integer number, or floating point number without a dot and with "f". syn case ignore @@ -331,7 +331,7 @@ syn region cIncluded display contained start=+"+ skip=+\\\\\|\\"+ end=+"+ syn match cIncluded display contained "<[^>]*>" syn match cInclude display "^\s*\(%:\|#\)\s*include\>\s*["<]" contains=cIncluded "syn match cLineSkip "\\$" -syn cluster cPreProcGroup contains=cPreCondit,cIncluded,cInclude,cDefine,cErrInParen,cErrInBracket,cUserLabel,cSpecial,cOctalZero,cCppOutWrapper,cCppInWrapper,@cCppOutInGroup,cFormat,cNumber,cFloat,cOctal,cOctalError,cNumbersCom,cString,cCommentSkip,cCommentString,cComment2String,@cCommentGroup,cCommentStartError,cParen,cBracket,cMulti +syn cluster cPreProcGroup contains=cPreCondit,cIncluded,cInclude,cDefine,cErrInParen,cErrInBracket,cUserLabel,cSpecial,cOctalZero,cCppOutWrapper,cCppInWrapper,@cCppOutInGroup,cFormat,cNumber,cFloat,cOctal,cOctalError,cNumbersCom,cString,cCommentSkip,cCommentString,cComment2String,@cCommentGroup,cCommentStartError,cParen,cBracket,cMulti,cBadBlock syn region cDefine start="^\s*\(%:\|#\)\s*\(define\|undef\)\>" skip="\\$" end="$" keepend contains=ALLBUT,@cPreProcGroup,@Spell syn region cPreProc start="^\s*\(%:\|#\)\s*\(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" end="$" keepend contains=ALLBUT,@cPreProcGroup,@Spell diff --git a/runtime/syntax/cl.vim b/runtime/syntax/cl.vim index b278eca31..343d2601d 100644 --- a/runtime/syntax/cl.vim +++ b/runtime/syntax/cl.vim @@ -1,22 +1,25 @@ " Vim syntax file -" Language: cl ("Clever Language" by Multibase, http://www.mbase.com.au) -" Filename extensions: *.ent, *.eni -" Maintainer: Philip Uren <philuSPAX@ieee.org> - Remove SPAX spam block -" Last update: Wed Apr 12 08:47:18 EST 2006 -" $Id: cl.vim,v 1.3 2006/04/12 21:43:28 vimboss Exp $ +" Language: CL +" (pronounced alphabetically, and NOT known as Clever) +" (CL was created by Multibase, http://www.mbase.com.au) +" Filename extensions: *.ent +" *.eni +" Maintainer: Philip Uren <philuSPAX@ieee.org> Remove SPAX spam block +" Version: 4 +" Last Change: May 11 2012 " 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 + syntax clear elseif exists("b:current_syntax") - finish + finish endif if version >= 600 - setlocal iskeyword=@,48-57,_,-, + setlocal iskeyword=@,48-57,_,-, else - set iskeyword=@,48-57,_,-, + set iskeyword=@,48-57,_,-, endif syn case ignore @@ -24,87 +27,87 @@ syn case ignore syn sync lines=300 "If/else/elsif/endif and while/wend mismatch errors -syn match clifError "\<wend\>" -syn match clifError "\<elsif\>" -syn match clifError "\<else\>" -syn match clifError "\<endif\>" +syn match clifError "\<wend\>" +syn match clifError "\<elsif\>" +syn match clifError "\<else\>" +syn match clifError "\<endif\>" -syn match clSpaceError "\s\+$" +syn match clSpaceError "\s\+$" " If and while regions -syn region clLoop transparent matchgroup=clWhile start="\<while\>" matchgroup=clWhile end="\<wend\>" contains=ALLBUT,clBreak,clProcedure -syn region clIf transparent matchgroup=clConditional start="\<if\>" matchgroup=clConditional end="\<endif\>" contains=ALLBUT,clBreak,clProcedure +syn region clLoop transparent matchgroup=clWhile start="\<while\>" matchgroup=clWhile end="\<wend\>" contains=ALLBUT,clBreak,clProcedure +syn region clIf transparent matchgroup=clConditional start="\<if\>" matchgroup=clConditional end="\<endif\>" contains=ALLBUT,clBreak,clProcedure " Make those TODO notes and debugging stand out! -syn keyword clTodo contained TODO BUG DEBUG FIX -syn match clNeedsWork contained "NEED[S]*\s\s*WORK" -syn keyword clDebug contained debug +syn keyword clTodo contained TODO BUG DEBUG FIX +syn match clNeedsWork contained "NEED[S]*\s\s*WORK" +syn keyword clDebug contained debug -syn match clComment "#.*$" contains=clTodo,clNeedsWork -syn region clProcedure oneline start="^\s*[{}]" end="$" -syn match clInclude "^\s*include\s.*" +syn match clComment "#.*$" contains=clTodo,clNeedsWork +syn region clProcedure oneline start="^\s*[{}]" end="$" +syn match clInclude "^\s*include\s.*" " We don't put "debug" in the clSetOptions; " we contain it in clSet so we can make it stand out. -syn keyword clSetOptions transparent aauto abort align convert E fill fnum goback hangup justify null_exit output rauto rawprint rawdisplay repeat skip tab trim -syn match clSet "^\s*set\s.*" contains=clSetOptions,clDebug +syn keyword clSetOptions transparent aauto abort align convert E fill fnum goback hangup justify null_exit output rauto rawprint rawdisplay repeat skip tab trim +syn match clSet "^\s*set\s.*" contains=clSetOptions,clDebug -syn match clPreProc "^\s*#P.*" +syn match clPreProc "^\s*#P.*" -syn keyword clConditional else elsif -syn keyword clWhile continue endloop +syn keyword clConditional else elsif +syn keyword clWhile continue endloop " 'break' needs to be a region so we can sync on it above. -syn region clBreak oneline start="^\s*break" end="$" +syn region clBreak oneline start="^\s*break" end="$" -syn match clOperator "[!;|)(:.><+*=-]" +syn match clOperator "[!;|)(:.><+*=-]" -syn match clNumber "\<\d\+\(u\=l\=\|lu\|f\)\>" +syn match clNumber "\<\d\+\(u\=l\=\|lu\|f\)\>" -syn region clString matchgroup=clQuote start=+"+ end=+"+ skip=+\\"+ -syn region clString matchgroup=clQuote start=+'+ end=+'+ skip=+\\'+ +syn region clString matchgroup=clQuote start=+"+ end=+"+ skip=+\\"+ +syn region clString matchgroup=clQuote start=+'+ end=+'+ skip=+\\'+ -syn keyword clReserved ERROR EXIT INTERRUPT LOCKED LREPLY MODE MCOL MLINE MREPLY NULL REPLY V1 V2 V3 V4 V5 V6 V7 V8 V9 ZERO BYPASS GOING_BACK AAUTO ABORT ABORT ALIGN BIGE CONVERT FNUM GOBACK HANGUP JUSTIFY NEXIT OUTPUT RAUTO RAWDISPLAY RAWPRINT REPEAT SKIP TAB TRIM LCOUNT PCOUNT PLINES SLINES SCOLS MATCH LMATCH +syn keyword clReserved ERROR EXIT INTERRUPT LOCKED LREPLY MODE MCOL MLINE MREPLY NULL REPLY V1 V2 V3 V4 V5 V6 V7 V8 V9 ZERO BYPASS GOING_BACK AAUTO ABORT ABORT ALIGN BIGE CONVERT FNUM GOBACK HANGUP JUSTIFY NEXIT OUTPUT RAUTO RAWDISPLAY RAWPRINT REPEAT SKIP TAB TRIM LCOUNT PCOUNT PLINES SLINES SCOLS MATCH LMATCH -syn keyword clFunction asc asize chr name random slen srandom day getarg getcgi getenv lcase scat sconv sdel skey smult srep substr sword trim ucase match +syn keyword clFunction asc asize chr name random slen srandom day getarg getcgi getenv lcase scat sconv sdel skey smult srep substr sword trim ucase match -syn keyword clStatement clear clear_eol clear_eos close copy create unique with where empty define define ldefine delay_form delete escape exit_block exit_do exit_process field fork format get getfile getnext getprev goto head join maintain message no_join on_eop on_key on_exit on_delete openin openout openapp pause popenin popenout popenio print put range read redisplay refresh restart_block screen select sleep text unlock write and not or do +syn keyword clStatement clear clear_eol clear_eos close copy create unique with where empty define define ldefine delay_form delete escape exit_block exit_do exit_process field fork format get getfile getnext getprev goto head join maintain message no_join on_eop on_key on_exit on_delete openin openout openapp pause popenin popenout popenio print put range read redisplay refresh restart_block screen select sleep text unlock write and not or do " 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_cl_syntax_inits") - if version < 508 - let did_cl_syntax_inits = 1 - command -nargs=+ HiLink hi link <args> - else - command -nargs=+ HiLink hi def link <args> - endif - - HiLink clifError Error - HiLink clSpaceError Error - HiLink clWhile Repeat - HiLink clConditional Conditional - HiLink clDebug Debug - HiLink clNeedsWork Todo - HiLink clTodo Todo - HiLink clComment Comment - HiLink clProcedure Procedure - HiLink clBreak Procedure - HiLink clInclude Include - HiLink clSetOption Statement - HiLink clSet Identifier - HiLink clPreProc PreProc - HiLink clOperator Operator - HiLink clNumber Number - HiLink clString String - HiLink clQuote Delimiter - HiLink clReserved Identifier - HiLink clFunction Function - HiLink clStatement Statement - - delcommand HiLink +if version >= 508 || !exists("did_cl_syntax_inits") + if version < 508 + let did_cl_syntax_inits = 1 + command -nargs=+ HiLink hi link <args> + else + command -nargs=+ HiLink hi def link <args> + endif + + HiLink clifError Error + HiLink clSpaceError Error + HiLink clWhile Repeat + HiLink clConditional Conditional + HiLink clDebug Debug + HiLink clNeedsWork Todo + HiLink clTodo Todo + HiLink clComment Comment + HiLink clProcedure Procedure + HiLink clBreak Procedure + HiLink clInclude Include + HiLink clSetOption Statement + HiLink clSet Identifier + HiLink clPreProc PreProc + HiLink clOperator Operator + HiLink clNumber Number + HiLink clString String + HiLink clQuote Delimiter + HiLink clReserved Identifier + HiLink clFunction Function + HiLink clStatement Statement + + delcommand HiLink endif let b:current_syntax = "cl" -" vim: ts=8 sw=8 +" vim: ts=8 sw=4 diff --git a/runtime/syntax/crontab.vim b/runtime/syntax/crontab.vim index 74ab5615c..36d75c4d1 100644 --- a/runtime/syntax/crontab.vim +++ b/runtime/syntax/crontab.vim @@ -5,7 +5,7 @@ " License: This file can be redistribued and/or modified under the same terms " as Vim itself. " Filenames: /tmp/crontab.* used by "crontab -e" -" Last Change: 2011-04-21 +" Last Change: 2012-05-16 " " crontab line format: " Minutes Hours Days Months Days_of_Week Commands # comments @@ -22,16 +22,14 @@ syntax match crontabMin "^\s*[-0-9/,.*]\+" nextgroup=crontabHr skipwhite syntax match crontabHr "\s[-0-9/,.*]\+" nextgroup=crontabDay skipwhite contained syntax match crontabDay "\s[-0-9/,.*]\+" nextgroup=crontabMnth skipwhite contained -syntax case ignore syntax match crontabMnth "\s[-a-z0-9/,.*]\+" nextgroup=crontabDow skipwhite contained syntax keyword crontabMnth12 contained jan feb mar apr may jun jul aug sep oct nov dec syntax match crontabDow "\s[-a-z0-9/,.*]\+" nextgroup=crontabCmd skipwhite contained syntax keyword crontabDow7 contained sun mon tue wed thu fri sat -syntax case match syntax region crontabCmd start="\S" end="$" skipwhite contained keepend contains=crontabPercent -syntax match crontabCmnt "^\s*#.*" +syntax match crontabCmnt "^\s*#.*" contains=@Spell syntax match crontabPercent "[^\\]%.*"lc=1 contained syntax match crontabNick "^\s*@\(reboot\|yearly\|annually\|monthly\|weekly\|daily\|midnight\|hourly\)\>" nextgroup=crontabCmd skipwhite diff --git a/runtime/syntax/debchangelog.vim b/runtime/syntax/debchangelog.vim index ae9c4b7f4..4ccb7658d 100644 --- a/runtime/syntax/debchangelog.vim +++ b/runtime/syntax/debchangelog.vim @@ -3,7 +3,7 @@ " Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org> " Former Maintainers: Gerfried Fuchs <alfie@ist.org> " Wichert Akkerman <wakkerma@debian.org> -" Last Change: 2011 June 01 +" Last Change: 2012 April 29 " URL: http://anonscm.debian.org/hg/pkg-vim/vim/raw-file/unstable/runtime/syntax/debchangelog.vim " Standard syntax initialization @@ -19,7 +19,7 @@ syn case ignore " Define some common expressions we can use later on syn match debchangelogName contained "^[[:alnum:]][[:alnum:].+-]\+ " syn match debchangelogUrgency contained "; urgency=\(low\|medium\|high\|critical\|emergency\)\( \S.*\)\=" -syn match debchangelogTarget contained "\v %(frozen|unstable|%(testing|%(old)=stable)%(-proposed-updates|-security)=|experimental|%(lenny|squeeze)-%(backports%(-sloppy)=|volatile)|%(hardy|lucid|maverick|natty|oneiric)%(-%(security|proposed|updates|backports|commercial|partner))=)+" +syn match debchangelogTarget contained "\v %(frozen|unstable|%(testing|%(old)=stable)%(-proposed-updates|-security)=|experimental|%(squeeze)-%(backports%(-sloppy)=|volatile)|%(hardy|lucid|natty|oneiric|precise|quantal)%(-%(security|proposed|updates|backports|commercial|partner))=)+" syn match debchangelogVersion contained "(.\{-})" syn match debchangelogCloses contained "closes:\_s*\(bug\)\=#\=\_s\=\d\+\(,\_s*\(bug\)\=#\=\_s\=\d\+\)*" syn match debchangelogLP contained "\clp:\s\+#\d\+\(,\s*#\d\+\)*" diff --git a/runtime/syntax/debcontrol.vim b/runtime/syntax/debcontrol.vim index 20f1a3d7b..7875b3c97 100644 --- a/runtime/syntax/debcontrol.vim +++ b/runtime/syntax/debcontrol.vim @@ -3,7 +3,7 @@ " Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org> " Former Maintainers: Gerfried Fuchs <alfie@ist.org> " Wichert Akkerman <wakkerma@debian.org> -" Last Change: 2011 Sep 17 +" Last Change: 2011 Dec 09 " URL: http://anonscm.debian.org/hg/pkg-vim/vim/raw-file/unstable/runtime/syntax/debcontrol.vim " Standard syntax initialization @@ -28,7 +28,7 @@ syn match debcontrolArchitecture contained "\%(all\|linux-any\|\%(any-\)\=\%(alp syn match debcontrolMultiArch contained "\%(no\|foreign\|allowed\|same\)" syn match debcontrolName contained "[a-z0-9][a-z0-9+.-]\+" syn match debcontrolPriority contained "\(extra\|important\|optional\|required\|standard\)" -syn match debcontrolSection contained "\v((contrib|non-free|non-US/main|non-US/contrib|non-US/non-free|restricted|universe|multiverse)/)?(admin|cli-mono|comm|database|debian-installer|debug|devel|doc|editors|electronics|embedded|fonts|games|gnome|gnustep|gnu-r|graphics|hamradio|haskell|httpd|interpreters|java|kde|kernel|libs|libdevel|lisp|localization|mail|math|metapackages|misc|net|news|ocaml|oldlibs|otherosfs|perl|php|python|ruby|science|shells|sound|text|tex|utils|vcs|video|web|x11|xfce|zope)" +syn match debcontrolSection contained "\v((contrib|non-free|non-US/main|non-US/contrib|non-US/non-free|restricted|universe|multiverse)/)?(admin|cli-mono|comm|database|debian-installer|debug|devel|doc|editors|education|electronics|embedded|fonts|games|gnome|gnustep|gnu-r|graphics|hamradio|haskell|httpd|interpreters|introspection|java|kde|kernel|libs|libdevel|lisp|localization|mail|math|metapackages|misc|net|news|ocaml|oldlibs|otherosfs|perl|php|python|ruby|science|shells|sound|text|tex|utils|vcs|video|web|x11|xfce|zope)" syn match debcontrolPackageType contained "u\?deb" syn match debcontrolVariable contained "\${.\{-}}" syn match debcontrolDmUpload contained "\cyes" diff --git a/runtime/syntax/debsources.vim b/runtime/syntax/debsources.vim index 448beb709..0a645dd66 100644 --- a/runtime/syntax/debsources.vim +++ b/runtime/syntax/debsources.vim @@ -2,7 +2,7 @@ " Language: Debian sources.list " Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org> " Former Maintainer: Matthijs Mohlmann <matthijs@cacholong.nl> -" Last Change: 2011 June 01 +" Last Change: 2012 April 29 " URL: http://anonscm.debian.org/hg/pkg-vim/vim/raw-file/unstable/runtime/syntax/debsources.vim " Standard syntax initialization @@ -23,7 +23,7 @@ syn match debsourcesComment /#.*/ contains=@Spell " Match uri's syn match debsourcesUri +\(http://\|ftp://\|[rs]sh://\|debtorrent://\|\(cdrom\|copy\|file\):\)[^' <>"]\++ -syn match debsourcesDistrKeyword +\([[:alnum:]_./]*\)\(lenny\|squeeze\|wheezy\|\(old\)\=stable\|testing\|unstable\|sid\|rc-buggy\|experimental\|hardy\|lucid\|maverick\|natty\|oneiric\)\([-[:alnum:]_./]*\)+ +syn match debsourcesDistrKeyword +\([[:alnum:]_./]*\)\(squeeze\|wheezy\|\(old\)\=stable\|testing\|unstable\|sid\|rc-buggy\|experimental\|hardy\|lucid\|natty\|oneiric\|precise\|quantal\)\([-[:alnum:]_./]*\)+ " Associate our matches and regions with pretty colours hi def link debsourcesLine Error diff --git a/runtime/syntax/ninja.vim b/runtime/syntax/ninja.vim index 22ef4a02e..c042464f9 100644 --- a/runtime/syntax/ninja.vim +++ b/runtime/syntax/ninja.vim @@ -1,8 +1,8 @@ " ninja build file syntax. " Language: ninja build file as described at " http://martine.github.com/ninja/manual.html -" Version: 1.0 -" Last Change: 2012 Jan 04 +" Version: 1.1 +" Last Change: 2012/05/13 " Maintainer: Nicolas Weber <nicolasweber@gmx.de> " ninja lexer and parser are at @@ -15,6 +15,8 @@ endif syn case match +syn match ninjaComment /#.*/ + " Toplevel statements are the ones listed here and " toplevel variable assignments (ident '=' value). " lexer.in.cc, ReadToken() and parsers.cc, Parse() @@ -53,6 +55,7 @@ syn match ninjaVar "\${[a-zA-Z0-9_.-]\+}" " order-only dependency || syn match ninjaOperator "\(=\|:\||\|||\)\ze\s" +hi def link ninjaComment Comment hi def link ninjaKeyword Keyword hi def link ninjaRuleCommand Statement hi def link ninjaWrapLineOperator ninjaOperator diff --git a/runtime/syntax/progress.vim b/runtime/syntax/progress.vim index 6816548a8..3ff772345 100644 --- a/runtime/syntax/progress.vim +++ b/runtime/syntax/progress.vim @@ -3,21 +3,25 @@ " Filename extensions: *.p (collides with Pascal), " *.i (collides with assembler) " *.w (collides with cweb) -" Maintainer: Philip Uren <philuSPAX@ieee.org> Remove "SPAX" spam block -" Contributors: Chris Ruprecht <chrup@mac.com> (Chris, where are you now?) -" Mikhail Kuperblum <mikhail@whasup.com> -" John Florian <jflorian@voyager.net> -" Last Change: Wed Apr 12 08:55:35 EST 2006 -" $Id: progress.vim,v 1.3 2006/04/12 21:48:47 vimboss Exp $ - -" For version 5.x: Clear all syntax items +" Maintainer: Philip Uren <philuSPAX@ieee.org> Remove SPAX spam block +" Contributors: Chris Ruprecht <chris@ruprecht.org> +" Philip Uren <philu@computer.org> +" Mikhail Kuperblum <mikhail@whasup.com> +" John Florian <jflorian@voyager.net> +" Version: 11 +" Last Change: May 11 2012 + +" For version 5.x: Clear all syntax item " For version 6.x: Quit when a syntax file was already loaded if version < 600 - syntax clear + syntax clear elseif exists("b:current_syntax") - finish + finish endif +let s:cpo_save = &cpo +set cpo&vim + if version >= 600 setlocal iskeyword=@,48-57,_,-,!,#,$,% else @@ -30,159 +34,250 @@ set expandtab syn case ignore " Progress Blocks of code and mismatched "end." errors. -syn match ProgressEndError "\<end\>" -syn region ProgressDoBlock transparent matchgroup=ProgressDo start="\<do\>" matchgroup=ProgressDo end="\<end\>" contains=ALLBUT,ProgressProcedure,ProgressFunction -syn region ProgressForBlock transparent matchgroup=ProgressFor start="\<for\>" matchgroup=ProgressFor end="\<end\>" contains=ALLBUT,ProgressProcedure,ProgressFunction -syn region ProgressRepeatBlock transparent matchgroup=ProgressRepeat start="\<repeat\>" matchgroup=ProgressRepeat end="\<end\>" contains=ALLBUT,ProgressProcedure,ProgressFunction -syn region ProgressCaseBlock transparent matchgroup=ProgressCase start="\<case\>" matchgroup=ProgressCase end="\<end\scase\>\|\<end\>" contains=ALLBUT,ProgressProcedure,ProgressFunction +syn match ProgressEndError "\<end\>" +syn region ProgressDoBlock transparent matchgroup=ProgressDo start="\<do\>" matchgroup=ProgressDo end="\<end\>" contains=ALLBUT,ProgressProcedure,ProgressFunction +syn region ProgressForBlock transparent matchgroup=ProgressFor start="\<for\>" matchgroup=ProgressFor end="\<end\>" contains=ALLBUT,ProgressProcedure,ProgressFunction +syn region ProgressRepeatBlock transparent matchgroup=ProgressRepeat start="\<repeat\>" matchgroup=ProgressRepeat end="\<end\>" contains=ALLBUT,ProgressProcedure,ProgressFunction +syn region ProgressCaseBlock transparent matchgroup=ProgressCase start="\<case\>" matchgroup=ProgressCase end="\<end\scase\>\|\<end\>" contains=ALLBUT,ProgressProcedure,ProgressFunction " These are Progress reserved words, " and they could go in ProgressReserved, " but I found it more helpful to highlight them in a different color. -syn keyword ProgressConditional if else then when otherwise -syn keyword ProgressFor each where +syn keyword ProgressConditional if else then when otherwise +syn keyword ProgressFor each where " Make those TODO and debugging notes stand out! -syn keyword ProgressTodo contained TODO BUG FIX -syn keyword ProgressDebug contained DEBUG -syn keyword ProgressDebug debugger -syn match ProgressTodo contained "NEED[S]*\s\s*WORK" +syn keyword ProgressTodo contained TODO BUG FIX +syn keyword ProgressDebug contained DEBUG +syn keyword ProgressDebug debugger " If you like to highlight the whole line of " the start and end of procedures " to make the whole block of code stand out: -syn match ProgressProcedure "^\s*procedure.*" -syn match ProgressProcedure "^\s*end\s\s*procedure.*" -syn match ProgressFunction "^\s*function.*" -syn match ProgressFunction "^\s*end\s\s*function.*" +syn match ProgressProcedure "^\s*procedure.*" +syn match ProgressProcedure "^\s*end\s\s*procedure.*" +syn match ProgressFunction "^\s*function.*" +syn match ProgressFunction "^\s*end\s\s*function.*" " ... otherwise use this: " syn keyword ProgressFunction procedure function -syn keyword ProgressReserved accum[ulate] active-window add alias all alter ambig[uous] analyz[e] and any apply as asc[ending] assign at attr[-space] -syn keyword ProgressReserved authorization auto-ret[urn] avail[able] back[ground] before-h[ide] begins bell between blank break btos by call can-do can-find -syn keyword ProgressReserved center[ed] character check chr clear clipboard col colon color col[umn] column-lab[el] col[umns] compiler connected control count-of -syn keyword ProgressReserved cpstream create ctos current current-changed current-lang[uage] current-window current_date curs[or] database dataservers -syn keyword ProgressReserved dbcodepage dbcollation dbname dbrest[rictions] dbtaskid dbtype dbvers[ion] dde deblank debug-list debugger decimal decimals declare -syn keyword ProgressReserved def default default-noxl[ate] default-window def[ine] delete delimiter desc[ending] dict[ionary] disable discon[nect] disp -syn keyword ProgressReserved disp[lay] distinct dos down drop editing enable encode entry error-stat[us] escape etime except exclusive -syn keyword ProgressReserved exclusive[-lock] exclusive-web-us[er] exists export false fetch field field[s] file-info[rmation] fill find find-case-sensitive -syn keyword ProgressReserved find-global find-next-occurrence find-prev-occurrence find-select find-wrap-around first first-of focus font form form[at] -syn keyword ProgressReserved fram[e] frame-col frame-db frame-down frame-field frame-file frame-inde[x] frame-line frame-name frame-row frame-val[ue] -syn keyword ProgressReserved from from-c[hars] from-p[ixels] gateway[s] get-byte get-codepage[s] get-coll[ations] get-key-val[ue] getbyte global go-on -syn keyword ProgressReserved go-pend[ing] grant graphic-e[dge] group having header help hide import in index indicator input input-o[utput] insert -syn keyword ProgressReserved integer into is is-attr[-space] join kblabel key-code key-func[tion] key-label keycode keyfunc[tion] keylabel keys keyword label -syn keyword ProgressReserved last last-even[t] last-key last-of lastkey ldbname leave library like line-count[er] listi[ng] locked lookup machine-class -syn keyword ProgressReserved map member message message-lines mouse mpe new next next-prompt no no-attr[-space] no-error no-f[ill] no-help no-hide no-label[s] -syn keyword ProgressReserved no-lock no-map no-mes[sage] no-pause no-prefe[tch] no-undo no-val[idate] no-wait not null num-ali[ases] num-dbs num-entries -syn keyword ProgressReserved of off old on open opsys option or os-append os-command os-copy os-create-dir os-delete os-dir os-drive[s] os-error os-rename -syn keyword ProgressReserved os2 os400 output overlay page page-bot[tom] page-num[ber] page-top param[eter] pause pdbname persist[ent] pixels -syn keyword ProgressReserved preproc[ess] privileges proc-ha[ndle] proc-st[atus] process program-name Progress prompt prompt[-for] promsgs propath provers[ion] -syn keyword ProgressReserved put put-byte put-key-val[ue] putbyte query query-tuning quit r-index rcode-informatio[n] readkey recid record-len[gth] rect[angle] -syn keyword ProgressReserved release reposition retain retry return return-val[ue] revert revoke run save schema screen screen-io screen-lines -syn keyword ProgressReserved scroll sdbname search seek select self session set setuser[id] share[-lock] shared show-stat[s] skip some space status stream -syn keyword ProgressReserved stream-io string-xref system-dialog table term term[inal] text text-cursor text-seg[-growth] this-procedure time title -syn keyword ProgressReserved to today top-only trans trans[action] trigger triggers trim true underl[ine] undo unform[atted] union unique unix up update -syn keyword ProgressReserved use-index use-revvideo use-underline user user[id] using v6frame value values variable view view-as vms wait-for web-con[text] -syn keyword ProgressReserved window window-maxim[ized] window-minim[ized] window-normal with work-tab[le] workfile write xcode xref yes _cbit -syn keyword ProgressReserved _control _list _memory _msg _pcontrol _serial[-num] _trace +syn keyword ProgressReserved accum[ulate] active-form active-window add alias all alter ambig[uous] analyz[e] and any apply as asc[ending] +syn keyword ProgressReserved assign asynchronous at attr[-space] audit-control audit-policy authorization auto-ret[urn] avail[able] back[ground] +syn keyword ProgressReserved before-h[ide] begins bell between big-endian blank break buffer-comp[are] buffer-copy by by-pointer by-variant-point[er] call +syn keyword ProgressReserved can-do can-find case case-sen[sitive] cast center[ed] check chr clear clipboard codebase-locator colon color column-lab[el] +syn keyword ProgressReserved col[umns] com-self compiler connected control copy-lob count-of cpstream create current current-changed current-lang[uage] +syn keyword ProgressReserved current-window current_date curs[or] database dataservers dataset dataset-handle db-remote-host dbcodepage dbcollation dbname +syn keyword ProgressReserved dbparam dbrest[rictions] dbtaskid dbtype dbvers[ion] dde deblank debug-list debugger decimals declare default +syn keyword ProgressReserved default-noxl[ate] default-window def[ine] delete delimiter desc[ending] dict[ionary] disable discon[nect] disp[lay] distinct do dos +syn keyword ProgressReserved down drop dynamic-cast dynamic-func[tion] dynamic-new each editing else enable encode end entry error-stat[us] escape +syn keyword ProgressReserved etime event-procedure except exclusive[-lock] exclusive-web[-user] exists export false fetch field[s] file-info[rmation] +syn keyword ProgressReserved fill find find-case-sensitive find-global find-next-occurrence find-prev-occurrence find-select find-wrap-around first +syn keyword ProgressReserved first-of focus font for form[at] fram[e] frame-col frame-db frame-down frame-field frame-file frame-inde[x] frame-line +syn keyword ProgressReserved frame-name frame-row frame-val[ue] from from-c[hars] from-p[ixels] function-call-type gateway[s] get-attr-call-type get-byte +syn keyword ProgressReserved get-codepage[s] get-coll[ations] get-column get-error-column get-error-row get-file-name get-file-offse[t] get-key-val[ue] +syn keyword ProgressReserved get-message-type get-row getbyte global go-on go-pend[ing] grant graphic-e[dge] group having header help hide host-byte-order if +syn keyword ProgressReserved import in index indicator input input-o[utput] insert into is is-attr[-space] join kblabel key-code key-func[tion] key-label +syn keyword ProgressReserved keycode keyfunc[tion] keylabel keys keyword label last last-even[t] last-key last-of lastkey ldbname leave library like +syn keyword ProgressReserved like-sequential line-count[er] listi[ng] little-endian locked log-manager lookup machine-class map member message message-lines mouse +syn keyword ProgressReserved mpe new next next-prompt no no-attr[-space] no-error no-f[ill] no-help no-hide no-label[s] no-lobs no-lock no-map +syn keyword ProgressReserved no-mes[sage] no-pause no-prefe[tch] no-return-val[ue] no-undo no-val[idate] no-wait not now null num-ali[ases] num-dbs num-entries +syn keyword ProgressReserved of off old on open opsys option or os-append os-command os-copy os-create-dir os-delete os-dir os-drive[s] os-error +syn keyword ProgressReserved os-rename otherwise output overlay page page-bot[tom] page-num[ber] page-top param[eter] password-field pause pdbname +syn keyword ProgressReserved persist[ent] pixels preproc[ess] privileges proc-ha[ndle] proc-st[atus] procedure-call-type process profiler program-name progress +syn keyword ProgressReserved prompt[-for] promsgs propath provers[ion] publish put put-byte put-key-val[ue] putbyte query query-tuning quit r-index +syn keyword ProgressReserved rcode-info[rmation] read-available read-exact-num readkey recid record-len[gth] rect[angle] release repeat reposition retain retry return +syn keyword ProgressReserved return-val[ue] revert revoke row-created row-deleted row-modified row-unmodified run save sax-comple[te] sax-parser-error +syn keyword ProgressReserved sax-running sax-uninitialized sax-write-begin sax-write-complete sax-write-content sax-write-element sax-write-error +syn keyword ProgressReserved sax-write-idle sax-write-tag schema screen screen-io screen-lines scroll sdbname search search-self search-target security-policy +syn keyword ProgressReserved seek select self session set set-attr-call-type setuser[id] share[-lock] shared show-stat[s] skip some source-procedure +syn keyword ProgressReserved space status stream stream-handle stream-io string-xref subscribe super system-dialog table table-handle target-procedure +syn keyword ProgressReserved term[inal] text text-cursor text-seg[-grow] then this-object this-procedure time title to today top-only trans[action] trigger +syn keyword ProgressReserved triggers trim true underl[ine] undo unform[atted] union unique unix unless-hidden unsubscribe up update use-index use-revvideo +syn keyword ProgressReserved use-underline user[id] using value values view view-as wait-for web-con[text] when where while window window-delayed-min[imize] +syn keyword ProgressReserved window-maxim[ized] window-minim[ized] window-normal with work-tab[le] workfile write xcode xcode-session-key xref xref-xml yes " Strings. Handles embedded quotes. " Note that, for some reason, Progress doesn't use the backslash, "\" " as the escape character; it uses tilde, "~". -syn region ProgressString matchgroup=ProgressQuote start=+"+ end=+"+ skip=+\~'\|\~\~+ -syn region ProgressString matchgroup=ProgressQuote start=+'+ end=+'+ skip=+\~'\|\~\~+ +syn region ProgressString matchgroup=ProgressQuote start=+"+ end=+"+ skip=+\~'\|\~\~+ +syn region ProgressString matchgroup=ProgressQuote start=+'+ end=+'+ skip=+\~'\|\~\~+ -syn match ProgressIdentifier "\<[a-zA-Z_%#]+\>()" +syn match ProgressIdentifier "\<[a-zA-Z_][a-zA-Z0-9_]*\>()" -" syn match ProgressDelimiter "()" +" syn match ProgressDelimiter "()" -syn match ProgressMatrixDelimiter "[][]" -" If you prefer you can highlight the range -"syn match ProgressMatrixDelimiter "[\d\+\.\.\d\+]" +syn match ProgressMatrixDelimiter "[][]" +" If you prefer you can highlight the range: +"syn match ProgressMatrixDelimiter "[\d\+\.\.\d\+]" -syn match ProgressNumber "\<\-\=\d\+\(u\=l\=\|lu\|f\)\>" -syn match ProgressByte "\$[0-9a-fA-F]\+" +syn match ProgressNumber "\<\-\=\d\+\(u\=l\=\|lu\|f\)\>" +syn match ProgressByte "\$[0-9a-fA-F]\+" " More values: Logicals, and Progress's unknown value, ?. -syn match ProgressNumber "?" -syn keyword ProgressNumber true false yes no +syn match ProgressNumber "?" +syn keyword ProgressNumber true false yes no " If you don't like tabs: -syn match ProgressShowTab "\t" +syn match ProgressShowTab "\t" -" If you don't like white space on the end of lines: -" syn match ProgressSpaceError "\s\+$" +" If you don't like white space on the end of lines, uncomment this: +" syn match ProgressSpaceError "\s\+$" -syn region ProgressComment start="/\*" end="\*/" contains=ProgressComment,ProgressTodo,ProgressDebug -syn region ProgressInclude start="^[ ]*[{][^&]" end="[}]" contains=ProgressPreProc,ProgressOperator,ProgressString,ProgressComment -syn region ProgressPreProc start="&" end="\>" contained +syn region ProgressComment start="/\*" end="\*/" contains=ProgressComment,ProgressTodo,ProgressDebug +syn region ProgressInclude start="^[ ]*[{]" end="[}]" contains=ProgressPreProc,ProgressOperator,ProgressString,ProgressComment +syn region ProgressPreProc start="&" end="\>" contained " This next line works reasonably well. -" syn match ProgressOperator "[!;|)(:.><+*=-]" +" syn match ProgressOperator "[!;|)(:.><+*=-]" " " Progress allows a '-' to be part of an identifier. To be considered " the subtraction/negation operation operator it needs a non-word " character on either side. Also valid are cases where the minus " operation appears at the beginning or end of a line. " This next line trips up on "no-undo" etc. -" syn match ProgressOperator "[!;|)(:.><+*=]\|\W-\W\|^-\W\|\W-$" -syn match ProgressOperator "[!;|)(:.><+*=]\|\s-\s\|^-\s\|\s-$" - -syn keyword ProgressOperator <= <> >= abs[olute] accelerator across add-first add-last advise alert-box allow-replication ansi-only anywhere append appl-alert[-boxes] application as-cursor ask-overwrite -syn keyword ProgressOperator attach[ment] auto-end-key auto-endkey auto-go auto-ind[ent] auto-resize auto-z[ap] available-formats ave[rage] avg backward[s] base-key batch[-mode] bgc[olor] binary -syn keyword ProgressOperator bind-where block-iteration-display border-bottom border-bottom-ch[ars] border-bottom-pi[xels] border-left border-left-char[s] border-left-pixe[ls] border-right border-right-cha[rs] -syn keyword ProgressOperator border-right-pix[els] border-t[op] border-t[op-chars] border-top-pixel[s] both bottom box box-select[able] browse browse-header buffer buffer-chars buffer-lines -syn keyword ProgressOperator button button[s] byte cache cache-size can-query can-set cancel-break cancel-button caps careful-paint case-sensitive cdecl char[acter] character_length charset -syn keyword ProgressOperator checked choose clear-select[ion] close code codepage codepage-convert col-of colon-align[ed] color-table column-bgc[olor] column-dcolor column-fgc[olor] column-font -syn keyword ProgressOperator column-label-bgc[olor] column-label-dcolor column-label-fgc[olor] column-label-font column-of column-pfc[olor] column-sc[rolling] combo-box command compile complete -syn keyword ProgressOperator connect constrained contents context context-pop[up] control-containe[r] c[ontrol-form] convert-to-offse[t] convert count cpcase cpcoll cpint[ernal] cplog -syn keyword ProgressOperator cpprint cprcodein cprcodeout cpterm crc-val[ue] c[reate-control] create-result-list-entry create-test-file current-column current-environm[ent] current-iteration -syn keyword ProgressOperator current-result-row current-row-modified current-value cursor-char cursor-line cursor-offset data-entry-retur[n] data-t[ype] date date-f[ormat] day db-references -syn keyword ProgressOperator dcolor dde-error dde-i[d] dde-item dde-name dde-topic debu[g] dec[imal] default-b[utton] default-extensio[n] defer-lob-fetch define defined delete-char delete-current-row -syn keyword ProgressOperator delete-line delete-selected-row delete-selected-rows deselect-focused-row deselect-rows deselect-selected-row d[esign-mode] dialog-box dialog-help dir disabled display-message -syn keyword ProgressOperator display-t[ype] double drag-enabled drop-down drop-down-list dump dynamic echo edge edge[-chars] edge-p[ixels] editor empty end-key endkey entered eq error error-col[umn] -syn keyword ProgressOperator error-row event-t[ype] event[s] exclusive-id execute exp expand extended extent external extract fetch-selected-row fgc[olor] file file-name file-off[set] file-type -syn keyword ProgressOperator filename fill-in filled filters first-child first-column first-proc[edure] first-tab-i[tem] fixed-only float focused-row font-based-layout font-table force-file -syn keyword ProgressOperator fore[ground] form-input forward[s] frame-spa[cing] frame-x frame-y frequency from-cur[rent] full-height full-height-char[s] full-height-pixe[ls] full-pathn[ame] -syn keyword ProgressOperator full-width full-width[-chars] full-width-pixel[s] ge get get-blue[-value] g[et-char-property] get-double get-dynamic get-file get-float get-green[-value] -syn keyword ProgressOperator get-iteration get-license get-long get-message get-number get-pointer-value get-red[-value] get-repositioned-row get-selected-wid[get] get-short get-signature get-size -syn keyword ProgressOperator get-string get-tab-item get-text-height get-text-height-char[s] get-text-height-pixe[ls] get-text-width get-text-width-c[hars] get-text-width-pixel[s] get-unsigned-short -syn keyword ProgressOperator grayed grid-factor-horizont[al] grid-factor-vert[ical] grid-set grid-snap grid-unit-height grid-unit-height-cha[rs] grid-unit-height-pix[els] grid-unit-width grid-unit-width-char[s] -syn keyword ProgressOperator grid-unit-width-pixe[ls] grid-visible gt handle height height[-chars] height-p[ixels] help-con[text] helpfile-n[ame] hidden hint hori[zontal] hwnd image image-down -syn keyword ProgressOperator image-insensitive image-size image-size-c[hars] image-size-pixel[s] image-up immediate-display index-hint indexed-reposition info[rmation] init init[ial] initial-dir -syn keyword ProgressOperator initial-filter initiate inner inner-chars inner-lines insert-b[acktab] insert-file insert-row insert-string insert-t[ab] int[eger] internal-entries is-lead-byte -syn keyword ProgressOperator is-row-selected is-selected item items-per-row join-by-sqldb keep-frame-z-ord[er] keep-messages keep-tab-order key keyword-all label-bgc[olor] label-dc[olor] label-fgc[olor] -syn keyword ProgressOperator label-font label-pfc[olor] labels language[s] large large-to-small last-child last-tab-i[tem] last-proce[dure] lc le leading left left-align[ed] left-trim length -syn keyword ProgressOperator line list-events list-items list-query-attrs list-set-attrs list-widgets load l[oad-control] load-icon load-image load-image-down load-image-insensitive load-image-up -syn keyword ProgressOperator load-mouse-point[er] load-small-icon log logical lookahead lower lt manual-highlight margin-extra margin-height margin-height-ch[ars] margin-height-pi[xels] margin-width -syn keyword ProgressOperator margin-width-cha[rs] margin-width-pix[els] matches max max-chars max-data-guess max-height max-height[-chars] max-height-pixel[s] max-rows max-size max-val[ue] max-width -syn keyword ProgressOperator max-width[-chars] max-width-p[ixels] maximize max[imum] memory menu menu-bar menu-item menu-k[ey] menu-m[ouse] menubar message-area message-area-font message-line -syn keyword ProgressOperator min min-height min-height[-chars] min-height-pixel[s] min-size min-val[ue] min-width min-width[-chars] min-width-p[ixels] min[imum] mod modified mod[ulo] month mouse-p[ointer] -syn keyword ProgressOperator movable move-after-tab-i[tem] move-before-tab-[item] move-col[umn] move-to-b[ottom] move-to-eof move-to-t[op] multiple multiple-key multitasking-interval must-exist -syn keyword ProgressOperator name native ne new-row next-col[umn] next-sibling next-tab-ite[m] next-value no-apply no-assign no-bind-where no-box no-column-scroll[ing] no-convert no-current-value -syn keyword ProgressOperator no-debug no-drag no-echo no-index-hint no-join-by-sqldb no-lookahead no-row-markers no-scrolling no-separate-connection no-separators no-und[erline] no-word-wrap -syn keyword ProgressOperator none num-but[tons] num-col[umns] num-copies num-formats num-items num-iterations num-lines num-locked-colum[ns] num-messages num-results num-selected num-selected-rows -syn keyword ProgressOperator num-selected-widgets num-tabs num-to-retain numeric numeric-f[ormat] octet_length ok ok-cancel on-frame[-border] ordered-join ordinal orientation os-getenv outer -syn keyword ProgressOperator outer-join override owner page-size page-wid[th] paged parent partial-key pascal pathname pfc[olor] pinnable pixels-per-colum[n] pixels-per-row popup-m[enu] popup-o[nly] -syn keyword ProgressOperator position precision presel[ect] prev prev-col[umn] prev-sibling prev-tab-i[tem] primary printer-control-handle printer-setup private-d[ata] profiler Progress-s[ource] -syn keyword ProgressOperator publish put-double put-float put-long put-short put-string put-unsigned-short query-off-end question radio-buttons radio-set random raw raw-transfer read-file read-only -syn keyword ProgressOperator real recursive refresh refreshable replace replace-selection-text replication-create replication-delete replication-write request resiza[ble] resize retry-cancel -syn keyword ProgressOperator return-ins[erted] return-to-start-di[r] reverse-from right right-align[ed] right-trim round row row-ma[rkers] row-of rowid rule rule-row rule-y save-as save-file -syn keyword ProgressOperator screen-val[ue] scroll-bars scroll-delta scroll-horiz-value scroll-offset scroll-to-current-row scroll-to-i[tem] scroll-to-selected-row scroll-vert-value scrollable -syn keyword ProgressOperator scrollbar-horizo[ntal] scrollbar-vertic[al] scrolled-row-positio[n] scrolling se-check-pools se-enable-of[f] se-enable-on se-num-pools se-use-messa[ge] section select-focused-row -syn keyword ProgressOperator select-next-row select-prev-row select-repositioned-row select-row selectable selected selected-items selection-end selection-list selection-start selection-text -syn keyword ProgressOperator send sensitive separate-connection separators set-blue[-value] set-break set-cell-focus set-contents set-dynamic set-green[-value] set-leakpoint set-pointer-valu[e] -syn keyword ProgressOperator s[et-property] set-red[-value] set-repositioned-row set-selection set-size set-wait[-state] side-lab side-lab[e] side-lab[el] side-label-handl[e] side-lab[els] silent -syn keyword ProgressOperator simple single size size-c[hars] size-p[ixels] slider smallint sort source source-procedure sql sqrt start status-area status-area-font status-bar stdcall stenciled stop stoppe[d] -syn keyword ProgressOperator stored-proc[edure] string sub-ave[rage] sub-count sub-max[imum] sub-me[nu] sub-menu-help sub-min[imum] sub-total subscribe subst[itute] substr[ing] subtype sum super suppress-warning[s] -syn keyword ProgressOperator system-alert-box[es] system-help tab-position tabbable target target-procedure temp-dir[ectory] temp-table terminate text-selected three-d through thru tic-marks time-source title-bgc[olor] -syn keyword ProgressOperator title-dc[olor] title-fgc[olor] title-fo[nt] to-rowid toggle-box tool-bar top topic total trailing trunc[ate] type unbuff[ered] unique-id unload unsubscribe upper use use-dic[t-exps] -syn keyword ProgressOperator use-filename use-text v6display valid-event valid-handle validate validate-condition validate-message var[iable] vert[ical] virtual-height virtual-height-c[hars] -syn keyword ProgressOperator virtual-height-pixel[s] virtual-width virtual-width-ch[ars] virtual-width-pi[xels] visible wait warning weekday widget widget-e[nter] widget-h[andle] widget-l[eave] -syn keyword ProgressOperator widget-pool width width[-chars] width-p[ixels] window-name window-sta[te] window-sys[tem] word-wrap x-of y-of year yes-no yes-no-cancel _dcm - -syn keyword ProgressType char[acter] int[eger] format -syn keyword ProgressType var[iable] log[ical] da[te] +" syn match ProgressOperator "[!;|)(:.><+*=]\|\W-\W\|^-\W\|\W-$" +syn match ProgressOperator "[!;|)(:.><+*=]\|\s-\s\|^-\s\|\s-$" + +syn keyword ProgressOperator <= <> >= +syn keyword ProgressOperator abs[olute] accelerator accept-changes accept-row-changes across active actor add-buffer add-calc-col[umn] +syn keyword ProgressOperator add-columns-from add-events-proc[edure] add-fields-from add-first add-header-entry add-index-field add-interval add-last +syn keyword ProgressOperator add-like-col[umn] add-like-field add-like-index add-new-field add-new-index add-rel[ation] add-schema-location add-source-buffer +syn keyword ProgressOperator add-super-proc[edure] adm-data advise after-buffer after-rowid after-table alert-box allow-column-searching allow-replication alternate-key +syn keyword ProgressOperator always-on-top ansi-only anywhere append append-child appl-alert[-boxes] appl-context-id application apply-callback appserver-info +syn keyword ProgressOperator appserver-password appserver-userid array-m[essage] ask-overwrite assembly async-request-count async-request-handle attach-data-source +syn keyword ProgressOperator attached-pairlist attach attribute-names audit-enabled audit-event-context authentication-failed auto-comp[letion] auto-delete +syn keyword ProgressOperator auto-delete-xml auto-end-key auto-endkey auto-go auto-ind[ent] auto-resize auto-synchronize auto-val[idate] auto-z[ap] automatic +syn keyword ProgressOperator available-formats ave[rage] avg backward[s] base-ade base-key basic-logging batch[-mode] batch-size before-buffer before-rowid +syn keyword ProgressOperator before-table begin-event-group bgc[olor] binary bind bind-where blob block-iteration-display border-b[ottom-chars] +syn keyword ProgressOperator border-bottom-p[ixels] border-l[eft-chars] border-left-p[ixels] border-r[ight-chars] border-right-p[ixels] border-t[op-chars] +syn keyword ProgressOperator border-top-p[ixels] both bottom box box-select[able] browse buffer buffer-chars buffer-create buffer-delete buffer-field buffer-handle +syn keyword ProgressOperator buffer-lines buffer-n[ame] buffer-releas[e] buffer-validate buffer-value button[s] by-reference by-value byte bytes-read +syn keyword ProgressOperator bytes-written cache cache-size call-name call-type can-crea[te] can-dele[te] can-query can-read can-set can-writ[e] cancel-break +syn keyword ProgressOperator cancel-button cancel-requests cancelled caps careful-paint catch cdecl chained char[acter] character_length charset checked +syn keyword ProgressOperator child-buffer child-num choose class class-type clear-appl-context clear-log clear-select[ion] clear-sort-arrow[s] +syn keyword ProgressOperator client-connection-id client-principal client-tty client-type client-workstation clob clone-node close close-log code codepage +syn keyword ProgressOperator codepage-convert col-of collate colon-align[ed] color-table column-bgc[olor] column-codepage column-dcolor column-fgc[olor] +syn keyword ProgressOperator column-font column-movable column-of column-pfc[olor] column-read-only column-resizable column-sc[rolling] com-handle combo-box +syn keyword ProgressOperator command compare[s] compile complete config-name connect constructor contents context context-help context-help-file +syn keyword ProgressOperator context-help-id context-pop[up] control-box control-fram[e] convert convert-to-offs[et] copy-dataset copy-sax-attributes +syn keyword ProgressOperator copy-temp-table count cpcase cpcoll cpint[ernal] cplog cpprint cprcodein cprcodeout cpterm crc-val[ue] create-like +syn keyword ProgressOperator create-like-sequential create-node create-node-namespace create-result-list-entry create-test-file current-column current-env[ironment] +syn keyword ProgressOperator current-iteration current-query current-result-row current-row-modified current-value cursor-char cursor-line cursor-offset data-b[ind] +syn keyword ProgressOperator data-entry-ret[urn] data-rel[ation] data-source data-source-complete-map data-source-modified data-source-rowid data-t[ype] date +syn keyword ProgressOperator date-f[ormat] day db-references dcolor dde-error dde-i[d] dde-item dde-name dde-topic debu[g] debug-alert +syn keyword ProgressOperator declare-namespace decrypt default-buffer-handle default-but[ton] default-commit default-ex[tension] default-string +syn keyword ProgressOperator default-value define-user-event-manager defined delete-char delete-current-row delete-header-entry delete-line delete-node +syn keyword ProgressOperator delete-result-list-entry delete-selected-row delete-selected-rows descript[ion] deselect-focused-row deselect-rows deselect-selected-row +syn keyword ProgressOperator destructor detach-data-source dialog-box dir directory disable-auto-zap disable-connections disable-dump-triggers +syn keyword ProgressOperator disable-load-triggers disabled display-message display-timezone display-t[ype] domain-description domain-name domain-type double +syn keyword ProgressOperator drag-enabled drop-down drop-down-list drop-target dump dump-logging-now dynamic dynamic-current-value dynamic-next-value echo +syn keyword ProgressOperator edge[-chars] edge-p[ixels] edit-can-paste edit-can-undo edit-clear edit-copy edit-cut edit-paste edit-undo editor empty +syn keyword ProgressOperator empty-dataset empty-temp-table enable-connections enabled encoding encrypt encrypt-audit-mac-key encryption-salt end-document +syn keyword ProgressOperator end-element end-event-group end-file-drop end-key end-user-prompt endkey entered entry-types-list eq error error-col[umn] +syn keyword ProgressOperator error-object-detail error-row error-stack-trace error-string event-group-id event-procedure-context event-t[ype] events exclusive-id +syn keyword ProgressOperator execute execution-log exp expand expandable expire explicit export-principal extended extent external extract +syn keyword ProgressOperator fetch-selected-row fgc[olor] file file-create-d[ate] file-create-t[ime] file-mod-d[ate] file-mod-t[ime] file-name file-off[set] +syn keyword ProgressOperator file-size file-type filename fill-in fill-mode fill-where-string filled filters final finally find-by-rowid find-current +syn keyword ProgressOperator find-first find-last find-unique finder first-async[-request] first-buffer first-child first-column first-data-source +syn keyword ProgressOperator first-dataset first-form first-object first-proc[edure] first-query first-serv[er] first-server-socket first-socket +syn keyword ProgressOperator first-tab-i[tem] fit-last-column fix-codepage fixed-only flat-button float focused-row focused-row-selected font-table force-file +syn keyword ProgressOperator fore[ground] foreign-key-hidden form-input form-long-input formatte[d] forward-only forward[s] fragmen[t] frame-spa[cing] frame-x +syn keyword ProgressOperator frame-y frequency from-cur[rent] full-height[-chars] full-height-p[ixels] full-pathn[ame] full-width[-chars] +syn keyword ProgressOperator full-width-p[ixels] function ge generate-pbe-key generate-pbe-salt generate-random-key generate-uuid get get-attribute get-attribute-node +syn keyword ProgressOperator get-binary-data get-bits get-blue[-value] get-browse-col[umn] get-buffer-handle get-byte-order get-bytes get-bytes-available +syn keyword ProgressOperator get-callback-proc-context get-callback-proc-name get-cgi-list get-cgi-long-value get-cgi-value get-changes get-child get-child-rel[ation] +syn keyword ProgressOperator get-config-value get-curr[ent] get-dataset-buffer get-dir get-document-element get-double get-dropped-file get-dynamic get-file +syn keyword ProgressOperator get-firs[t] get-float get-green[-value] get-header-entr[y] get-index-by-namespace-name get-index-by-qname get-iteration get-last +syn keyword ProgressOperator get-localname-by-index get-long get-message get-next get-node get-number get-parent get-pointer-value get-prev get-printers get-property +syn keyword ProgressOperator get-qname-by-index get-red[-value] get-rel[ation] get-repositioned-row get-rgb[-value] get-selected[-widget] get-serialized get-short +syn keyword ProgressOperator get-signature get-size get-socket-option get-source-buffer get-string get-tab-item get-text-height[-chars] get-text-height-p[ixels] +syn keyword ProgressOperator get-text-width[-chars] get-text-width-p[ixels] get-top-buffer get-type-by-index get-type-by-namespace-name get-type-by-qname +syn keyword ProgressOperator get-unsigned-long get-unsigned-short get-uri-by-index get-value-by-index get-value-by-namespace-name get-value-by-qname +syn keyword ProgressOperator get-wait[-state] grayed grid-factor-h[orizontal] grid-factor-v[ertical] grid-snap grid-unit-height[-chars] grid-unit-height-p[ixels] +syn keyword ProgressOperator grid-unit-width[-chars] grid-unit-width-p[ixels] grid-visible group-box gt guid handle handler has-lobs has-records height[-chars] +syn keyword ProgressOperator height-p[ixels] help-topic hex-decode hex-encode hidden hint hori[zontal] html-charset html-end-of-line html-end-of-page +syn keyword ProgressOperator html-frame-begin html-frame-end html-header-begin html-header-end html-title-begin html-title-end hwnd icfparam[eter] icon +syn keyword ProgressOperator ignore-current-mod[ified] image image-down image-insensitive image-size image-size-c[hars] image-size-p[ixels] image-up immediate-display +syn keyword ProgressOperator implements import-node import-principal in-handle increment-exclusive-id index-hint index-info[rmation] indexed-reposition +syn keyword ProgressOperator info[rmation] inherit-bgc[olor] inherit-fgc[olor] inherits init[ial] initial-dir initial-filter initialize-document-type initiate +syn keyword ProgressOperator inner inner-chars inner-lines input-value insert-attribute insert-b[acktab] insert-before insert-file insert-row +syn keyword ProgressOperator insert-string insert-t[ab] instantiating-procedure int[eger] interface internal-entries interval invoke is-clas[s] +syn keyword ProgressOperator is-codepage-fixed is-column-codepage is-lead-byte is-open is-parameter-set is-row-selected is-selected is-xml iso-date item +syn keyword ProgressOperator items-per-row join-by-sqldb keep-connection-open keep-frame-z[-order] keep-messages keep-security-cache keep-tab-order key +syn keyword ProgressOperator keyword-all label-bgc[olor] label-dc[olor] label-fgc[olor] label-font label-pfc[olor] labels landscape language[s] large +syn keyword ProgressOperator large-to-small last-async[-request] last-batch last-child last-form last-object last-proce[dure] last-serv[er] last-server-socket +syn keyword ProgressOperator last-socket last-tab-i[tem] lc le leading left left-align[ed] left-trim length line list-events list-item-pairs list-items +syn keyword ProgressOperator list-property-names list-query-attrs list-set-attrs list-widgets literal-question load load-domains load-icon load-image load-image-down +syn keyword ProgressOperator load-image-insensitive load-image-up load-mouse-p[ointer] load-picture load-small-icon lob-dir local-host local-name local-port +syn keyword ProgressOperator locator-column-number locator-line-number locator-public-id locator-system-id locator-type lock-registration log log-audit-event +syn keyword ProgressOperator log-entry-types log-threshold logfile-name logging-level logical login-expiration-timestamp login-host login-state logout long[char] +syn keyword ProgressOperator longchar-to-node-value lookahead lower lt mandatory manual-highlight margin-extra margin-height[-chars] margin-height-p[ixels] +syn keyword ProgressOperator margin-width[-chars] margin-width-p[ixels] mark-new mark-row-state matches max-button max-chars max-data-guess max-height[-chars] +syn keyword ProgressOperator max-height-p[ixels] max-rows max-size max-val[ue] max-width[-chars] max-width-p[ixels] maximize max[imum] maximum-level memory memptr +syn keyword ProgressOperator memptr-to-node-value menu menu-bar menu-item menu-k[ey] menu-m[ouse] menubar merge-by-field merge-changes merge-row-changes message-area +syn keyword ProgressOperator message-area-font method min-button min-column-width-c[hars] min-column-width-p[ixels] min-height[-chars] min-height-p[ixels] +syn keyword ProgressOperator min-schema-marshal min-size min-val[ue] min-width[-chars] min-width-p[ixels] min[imum] modified mod[ulo] month mouse-p[ointer] movable +syn keyword ProgressOperator move-after[-tab-item] move-befor[e-tab-item] move-col[umn] move-to-b[ottom] move-to-eof move-to-t[op] mtime multi-compile multiple +syn keyword ProgressOperator multiple-key multitasking-interval must-exist must-understand name namespace-prefix namespace-uri native ne needs-appserver-prompt +syn keyword ProgressOperator needs-prompt nested new-instance new-row next-col[umn] next-rowid next-sibling next-tab-ite[m] next-value no-apply +syn keyword ProgressOperator no-array-m[essage] no-assign no-attr-l[ist] no-auto-validate no-bind-where no-box no-console no-convert no-current-value no-debug +syn keyword ProgressOperator no-drag no-echo no-empty-space no-focus no-index-hint no-inherit-bgc[olor] no-inherit-fgc[olor] no-join-by-sqldb no-lookahead +syn keyword ProgressOperator no-row-markers no-schema-marshal no-scrollbar-v[ertical] no-separate-connection no-separators no-tab[-stop] no-und[erline] +syn keyword ProgressOperator no-word-wrap node-value node-value-to-longchar node-value-to-memptr nonamespace-schema-location none normalize not-active +syn keyword ProgressOperator num-buffers num-but[tons] num-child-relations num-children num-col[umns] num-copies num-dropped-files num-fields num-formats +syn keyword ProgressOperator num-header-entries num-items num-iterations num-lines num-locked-col[umns] num-log-files num-messages num-parameters num-references +syn keyword ProgressOperator num-relations num-repl[aced] num-results num-selected-rows num-selected[-widgets] num-source-buffers num-tabs num-to-retain +syn keyword ProgressOperator num-top-buffers num-visible-col[umns] numeric numeric-dec[imal-point] numeric-f[ormat] numeric-sep[arator] object ok ok-cancel +syn keyword ProgressOperator on-frame[-border] ordered-join ordinal orientation origin-handle origin-rowid os-getenv outer outer-join override owner owner-document +syn keyword ProgressOperator page-size page-wid[th] paged parent parent-buffer parent-rel[ation] parse-status partial-key pascal pathname +syn keyword ProgressOperator pbe-hash-alg[orithm] pbe-key-rounds perf[ormance] persistent-cache-disabled persistent-procedure pfc[olor] pixels-per-col[umn] +syn keyword ProgressOperator pixels-per-row popup-m[enu] popup-o[nly] portrait position precision prefer-dataset prepare-string prepared presel[ect] prev +syn keyword ProgressOperator prev-col[umn] prev-sibling prev-tab-i[tem] primary printer printer-control-handle printer-hdc printer-name printer-port +syn keyword ProgressOperator printer-setup private private-d[ata] proce[dure] procedure-name progress-s[ource] property protected proxy proxy-password +syn keyword ProgressOperator proxy-userid public public-id published-events put-bits put-bytes put-double put-float put-long put-short put-string +syn keyword ProgressOperator put-unsigned-long put-unsigned-short query-close query-off-end query-open query-prepare question quoter radio-buttons radio-set random +syn keyword ProgressOperator raw raw-transfer read read-file read-only read-xml read-xmlschema real recursive reference-only refresh +syn keyword ProgressOperator refresh-audit-policy refreshable register-domain reject-changes reject-row-changes rejected relation-fi[elds] relations-active remote +syn keyword ProgressOperator remote-host remote-port remove-attribute remove-child remove-events-proc[edure] remove-super-proc[edure] replace replace-child +syn keyword ProgressOperator replace-selection-text replication-create replication-delete replication-write reposition-back[ward] reposition-forw[ard] reposition-to-row +syn keyword ProgressOperator reposition-to-rowid request reset resiza[ble] resize restart-row restart-rowid result retain-s[hape] retry-cancel return-ins[erted] +syn keyword ProgressOperator return-to-start-di[r] return-value-data-type returns reverse-from rgb-v[alue] right right-align[ed] right-trim roles round rounded +syn keyword ProgressOperator routine-level row row-height[-chars] row-height-p[ixels] row-ma[rkers] row-of row-resizable row-state rowid rule run-proc[edure] +syn keyword ProgressOperator save-as save-file save-row-changes save-where-string sax-attributes sax-parse sax-parse-first sax-parse-next sax-reader +syn keyword ProgressOperator sax-writer schema-change schema-location schema-marshal schema-path screen-val[ue] scroll-bars scroll-delta scroll-offset +syn keyword ProgressOperator scroll-to-current-row scroll-to-i[tem] scroll-to-selected-row scrollable scrollbar-h[orizontal] scrollbar-v[ertical] +syn keyword ProgressOperator scrolled-row-pos[ition] scrolling seal seal-timestamp section select-all select-focused-row select-next-row select-prev-row select-row +syn keyword ProgressOperator selectable selected selection-end selection-list selection-start selection-text send sensitive separate-connection +syn keyword ProgressOperator separator-fgc[olor] separators server server-connection-bo[und] server-connection-bound-re[quest] server-connection-co[ntext] +syn keyword ProgressOperator server-connection-id server-operating-mode server-socket session-end session-id set-actor set-appl-context set-attribute +syn keyword ProgressOperator set-attribute-node set-blue[-value] set-break set-buffers set-byte-order set-callback set-callback-procedure set-client set-commit +syn keyword ProgressOperator set-connect-procedure set-contents set-db-client set-dynamic set-green[-value] set-input-source set-must-understand set-node +syn keyword ProgressOperator set-numeric-form[at] set-option set-output-destination set-parameter set-pointer-val[ue] set-property set-read-response-procedure +syn keyword ProgressOperator set-red[-value] set-repositioned-row set-rgb[-value] set-rollback set-selection set-serialized set-size set-socket-option +syn keyword ProgressOperator set-sort-arrow set-wait[-state] short show-in-task[bar] side-label-h[andle] side-lab[els] silent simple single single-character size +syn keyword ProgressOperator size-c[hars] size-p[ixels] skip-deleted-rec[ord] slider small-icon small-title smallint soap-fault soap-fault-actor +syn keyword ProgressOperator soap-fault-code soap-fault-detail soap-fault-string soap-header soap-header-entryref socket sort sort-ascending sort-number source +syn keyword ProgressOperator sql sqrt ssl-server-name standalone start-document start-element start[ing] startup-parameters state-detail static +syn keyword ProgressOperator status-area status-area-font stdcall stop stop-parsing stoppe[d] stored-proc[edure] stretch-to-fit strict string string-value +syn keyword ProgressOperator sub-ave[rage] sub-count sub-max[imum] sub-menu sub-menu-help sub-min[imum] sub-total subst[itute] substr[ing] subtype sum +syn keyword ProgressOperator super-proc[edures] suppress-namespace-processing suppress-w[arnings] suspend symmetric-encryption-algorithm symmetric-encryption-iv +syn keyword ProgressOperator symmetric-encryption-key symmetric-support synchronize system-alert[-boxes] system-help system-id tab-position tab-stop table-crc-list +syn keyword ProgressOperator table-list table-num[ber] target temp-dir[ectory] temp-table temp-table-prepar[e] terminate text-selected three-d through throw +syn keyword ProgressOperator thru tic-marks time-source timezone title-bgc[olor] title-dc[olor] title-fgc[olor] title-fo[nt] to-rowid toggle-box +syn keyword ProgressOperator tooltip tooltips top top-nav-query topic total tracking-changes trailing trans-init-proc[edure] transaction-mode +syn keyword ProgressOperator transpar[ent] trunc[ate] ttcodepage type type-of unbox unbuff[ered] unique-id unique-match unload unsigned-byte unsigned-integer +syn keyword ProgressOperator unsigned-long unsigned-short update-attribute upper url url-decode url-encode url-password url-userid use use-dic[t-exps] +syn keyword ProgressOperator use-filename use-text use-widget-pool user-id valid-event valid-handle valid-object validate validate-expressio[n] +syn keyword ProgressOperator validate-message validate-seal validate-xml validation-enabled var[iable] verb[ose] version vert[ical] view-first-column-on-reopen +syn keyword ProgressOperator virtual-height[-chars] virtual-height-p[ixels] virtual-width[-chars] virtual-width-p[ixels] visible void wait warning weekday where-string +syn keyword ProgressOperator widget widget-e[nter] widget-h[andle] widget-id widget-l[eave] widget-pool width[-chars] width-p[ixels] window-name +syn keyword ProgressOperator window-sta[te] window-sys[tem] word-index word-wrap work-area-height-p[ixels] work-area-width-p[ixels] work-area-x work-area-y +syn keyword ProgressOperator write-cdata write-characters write-comment write-data-element write-empty-element write-entity-ref write-external-dtd +syn keyword ProgressOperator write-fragment write-message write-processing-instruction write-status write-xml write-xmlschema x x-document x-noderef x-of +syn keyword ProgressOperator xml-data-type xml-node-name xml-node-type xml-schema-pat[h] xml-suppress-namespace-processing y y-of year year-offset yes-no +syn keyword ProgressOperator yes-no-cancel + +syn keyword ProgressType char[acter] int[eger] int64 dec[imal] log[ical] da[te] datetime datetime-tz syn sync lines=800 @@ -190,42 +285,45 @@ syn sync lines=800 " 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_progress_syntax_inits") - if version < 508 + if version < 508 let did_progress_syntax_inits = 1 command -nargs=+ HiLink hi link <args> - else + else command -nargs=+ HiLink hi def link <args> - endif - - " The default methods for highlighting. Can be overridden later. - HiLink ProgressByte Number - HiLink ProgressCase Repeat - HiLink ProgressComment Comment - HiLink ProgressConditional Conditional - HiLink ProgressDebug Debug - HiLink ProgressDo Repeat - HiLink ProgressEndError Error - HiLink ProgressFor Repeat - HiLink ProgressFunction Procedure - HiLink ProgressIdentifier Identifier - HiLink ProgressInclude Include - HiLink ProgressMatrixDelimiter Identifier - HiLink ProgressNumber Number - HiLink ProgressOperator Operator - HiLink ProgressPreProc PreProc - HiLink ProgressProcedure Procedure - HiLink ProgressQuote Delimiter - HiLink ProgressRepeat Repeat - HiLink ProgressReserved Statement - HiLink ProgressSpaceError Error - HiLink ProgressString String - HiLink ProgressTodo Todo - HiLink ProgressType Statement - HiLink ProgressShowTab Error - - delcommand HiLink + endif + + " The default methods for highlighting. Can be overridden later. + HiLink ProgressByte Number + HiLink ProgressCase Repeat + HiLink ProgressComment Comment + HiLink ProgressConditional Conditional + HiLink ProgressDebug Debug + HiLink ProgressDo Repeat + HiLink ProgressEndError Error + HiLink ProgressFor Repeat + HiLink ProgressFunction Procedure + HiLink ProgressIdentifier Identifier + HiLink ProgressInclude Include + HiLink ProgressMatrixDelimiter Identifier + HiLink ProgressNumber Number + HiLink ProgressOperator Operator + HiLink ProgressPreProc PreProc + HiLink ProgressProcedure Procedure + HiLink ProgressQuote Delimiter + HiLink ProgressRepeat Repeat + HiLink ProgressReserved Statement + HiLink ProgressSpaceError Error + HiLink ProgressString String + HiLink ProgressTodo Todo + HiLink ProgressType Statement + HiLink ProgressShowTab Error + + delcommand HiLink endif let b:current_syntax = "progress" -" vim: ts=8 sw=8 +let &cpo = s:cpo_save +unlet s:cpo_save + +" vim: ts=8 sw=4 diff --git a/runtime/syntax/resolv.vim b/runtime/syntax/resolv.vim index 1c0f8467d..4892b83af 100644 --- a/runtime/syntax/resolv.vim +++ b/runtime/syntax/resolv.vim @@ -2,9 +2,9 @@ " Language: resolver configuration file " Maintainer: David Necas (Yeti) <yeti@physics.muni.cz> " Original Maintaner: Radu Dineiu <littledragon@altern.org> -" License: This file can be redistribued and/or modified under the same terms +" License: This file can be redistributed and/or modified under the same terms " as Vim itself. -" Last Change: 2012-02-21 +" Last Change: 2012-05-15 if version < 600 syntax clear @@ -14,7 +14,7 @@ endif " Errors, comments and operators syn match resolvError /./ -syn match resolvComment /\s*[#;].*$/ +syn match resolvComment /\s*[#;].*$/ contains=@Spell syn match resolvOperator /[\/:]/ contained " IP @@ -25,8 +25,7 @@ syn match resolvIPSpecial /\%(127\.\d\{1,3}\.\d\{1,3}\.\d\{1,3}\)/ contained " General syn match resolvIP contained /\%(\d\{1,4}\.\)\{3}\d\{1,4}/ contains=@resolvIPCluster syn match resolvIPNetmask contained /\%(\d\{1,4}\.\)\{3}\d\{1,4}\%(\/\%(\%(\d\{1,4}\.\)\{,3}\d\{1,4}\)\)\?/ contains=resolvOperator,@resolvIPCluster -syn match resolvHostname contained /\w\{-}\.[-0-9A-Za-z_.]*/ -syn match resolvDomainname contained /[-0-9A-Za-z_.]\+/ +syn match resolvHostname contained /\w\{-}\.[-0-9A-Za-z_\.]*/ " Particular syn match resolvIPNameserver contained /\%(\%(\d\{1,4}\.\)\{3}\d\{1,4}\%(\s\|$\)\)\+/ contains=@resolvIPCluster @@ -36,7 +35,7 @@ syn match resolvIPNetmaskSortList contained /\%(\%(\d\{1,4}\.\)\{3}\d\{1,4}\%(\/ " Identifiers syn match resolvNameserver /^\s*nameserver\>/ nextgroup=resolvIPNameserver skipwhite syn match resolvLwserver /^\s*lwserver\>/ nextgroup=resolvIPNameserver skipwhite -syn match resolvDomain /^\s*domain\>/ nextgroup=resolvDomainname skipwhite +syn match resolvDomain /^\s*domain\>/ nextgroup=resolvHostname skipwhite syn match resolvSearch /^\s*search\>/ nextgroup=resolvHostnameSearch skipwhite syn match resolvSortList /^\s*sortlist\>/ nextgroup=resolvIPNetmaskSortList skipwhite syn match resolvOptions /^\s*options\>/ nextgroup=resolvOption skipwhite @@ -61,7 +60,6 @@ if version >= 508 || !exists("did_config_syntax_inits") HiLink resolvIP Number HiLink resolvIPNetmask Number HiLink resolvHostname String - HiLink resolvDomainname String HiLink resolvOption String HiLink resolvIPNameserver Number diff --git a/runtime/syntax/scheme.vim b/runtime/syntax/scheme.vim index 0adaaa50e..a210b0c72 100644 --- a/runtime/syntax/scheme.vim +++ b/runtime/syntax/scheme.vim @@ -1,6 +1,6 @@ " Vim syntax file " Language: Scheme (R5RS + some R6RS extras) -" Last Change: 2012 Feb 04 +" Last Change: 2012 May 13 " Maintainer: Sergey Khorev <sergey.khorev@gmail.com> " Original author: Dirk van Deun <dirk@igwe.vub.ac.be> @@ -157,11 +157,11 @@ syn region schemeStruc matchgroup=Delimiter start="\[" matchgroup=Delimiter end= syn region schemeStruc matchgroup=Delimiter start="#\[" matchgroup=Delimiter end="\]" contains=ALL " Simple literals: -syn region schemeString start=+\%(\\\)\@<!"+ skip=+\\[\\"]+ end=+"+ +syn region schemeString start=+\%(\\\)\@<!"+ skip=+\\[\\"]+ end=+"+ contains=@Spell " Comments: -syn match schemeComment ";.*$" +syn match schemeComment ";.*$" contains=@Spell " Writing out the complete description of Scheme numerals without @@ -192,7 +192,7 @@ syn match schemeCharacter "#\\x[0-9a-fA-F]\+" if exists("b:is_mzscheme") || exists("is_mzscheme") " MzScheme extensions " multiline comment - syn region schemeComment start="#|" end="|#" + syn region schemeComment start="#|" end="|#" contains=@Spell " #%xxx are the special MzScheme identifiers syn match schemeOther "#%[-a-z!$%&*/:<=>?^_~0-9+.@#%]\+" @@ -250,7 +250,7 @@ endif if exists("b:is_chicken") || exists("is_chicken") " multiline comment - syntax region schemeMultilineComment start=/#|/ end=/|#/ contains=schemeMultilineComment + syntax region schemeMultilineComment start=/#|/ end=/|#/ contains=@Spell,schemeMultilineComment syn match schemeOther "##[-a-z!$%&*/:<=>?^_~0-9+.@#%]\+" syn match schemeExtSyntax "#:[-a-z!$%&*/:<=>?^_~0-9+.@#%]\+" @@ -265,7 +265,7 @@ if exists("b:is_chicken") || exists("is_chicken") syn keyword schemeExtFunc ##core#inline ##sys#error ##sys#update-errno " here-string - syn region schemeString start=+#<<\s*\z(.*\)+ end=+^\z1$+ + syn region schemeString start=+#<<\s*\z(.*\)+ end=+^\z1$+ contains=@Spell if filereadable(expand("<sfile>:p:h")."/cpp.vim") unlet! b:current_syntax @@ -285,7 +285,7 @@ if exists("b:is_chicken") || exists("is_chicken") " suggested by Alex Queiroz syn match schemeExtSyntax "#![-a-z!$%&*/:<=>?^_~0-9+.@#%]\+" - syn region schemeString start=+#<#\s*\z(.*\)+ end=+^\z1$+ + syn region schemeString start=+#<#\s*\z(.*\)+ end=+^\z1$+ contains=@Spell endif " Synchronization and the wrapping up... diff --git a/runtime/syntax/uil.vim b/runtime/syntax/uil.vim index a4399844a..87de427c3 100644 --- a/runtime/syntax/uil.vim +++ b/runtime/syntax/uil.vim @@ -1,10 +1,9 @@ " Vim syntax file " Language: Motif UIL (User Interface Language) " Maintainer: Thomas Koehler <jean-luc@picard.franken.de> -" Last Change: 2009 Dec 04 +" Last Change: 2012 May 14 " URL: http://gott-gehabt.de/800_wer_wir_sind/thomas/Homepage/Computer/vim/syntax/uil.vim - " Quit when a syntax file was already loaded if version < 600 syntax clear @@ -21,22 +20,22 @@ syn keyword uilType user_defined xbitmapfile syn keyword uilTodo contained TODO -" String and Character contstants +" String and Character constants " Highlight special characters (those which have a backslash) differently syn match uilSpecial contained "\\\d\d\d\|\\." -syn region uilString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=uilSpecial +syn region uilString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=@Spell,uilSpecial syn match uilCharacter "'[^\\]'" -syn region uilString start=+'+ skip=+\\\\\|\\"+ end=+'+ contains=uilSpecial +syn region uilString start=+'+ skip=+\\\\\|\\"+ end=+'+ contains=@Spell,uilSpecial syn match uilSpecialCharacter "'\\.'" syn match uilSpecialStatement "Xm[^ =(){}]*" syn match uilSpecialFunction "MrmNcreateCallback" syn match uilRessource "XmN[^ =(){}]*" syn match uilNumber "-\=\<\d*\.\=\d\+\(e\=f\=\|[uU]\=[lL]\=\)\>" -syn match uilNumber "0[xX][0-9a-fA-F]\+\>" +syn match uilNumber "0[xX]\x\+\>" -syn region uilComment start="/\*" end="\*/" contains=uilTodo -syn match uilComment "!.*" contains=uilTodo +syn region uilComment start="/\*" end="\*/" contains=@Spell,uilTodo +syn match uilComment "!.*" contains=@Spell,uilTodo syn match uilCommentError "\*/" syn region uilPreCondit start="^#\s*\(if\>\|ifdef\>\|ifndef\>\|elif\>\|else\>\|endif\>\)" skip="\\$" end="$" contains=uilComment,uilString,uilCharacter,uilNumber,uilCommentError diff --git a/runtime/syntax/xdefaults.vim b/runtime/syntax/xdefaults.vim index d7f11723f..5e38952a7 100644 --- a/runtime/syntax/xdefaults.vim +++ b/runtime/syntax/xdefaults.vim @@ -33,7 +33,7 @@ endif " syn region xdefaultsLabel start=+^[^:]\{-}:+he=e-1 skip=+\\+ end="$" -syn match xdefaultsLabel +[^:]\{-}:+he=e-1 contains=xdefaultsPunct,xdefaultsSpecial,xdefaultsLineEnd +syn match xdefaultsLabel +^[^:]\{-}:+he=e-1 contains=xdefaultsPunct,xdefaultsSpecial,xdefaultsLineEnd syn region xdefaultsValue keepend start=+:+lc=1 skip=+\\+ end=+$+ contains=xdefaultsSpecial,xdefaultsLabel,xdefaultsLineEnd syn match xdefaultsSpecial contained +#override+ @@ -75,9 +75,9 @@ endif syn region xdefaultsIncluded contained start=+"+ skip=+\\\\\|\\"+ end=+"+ syn match xdefaultsIncluded contained "<[^>]*>" syn match xdefaultsInclude "^\s*#\s*include\>\s*["<]" contains=xdefaultsIncluded -syn cluster xdefaultsPreProcGroup contains=xdefaultsPreProc,xdefaultsIncluded,xdefaultsInclude,xdefaultsDefine -syn region xdefaultsDefine start="^\s*#\s*\(define\|undef\)\>" skip="\\$" end="$" contains=ALLBUT,@xdefaultsPreProcGroup,xdefaultsCommentH,xdefaultsErrorLine -syn region xdefaultsPreProc start="^\s*#\s*\(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" end="$" keepend contains=ALLBUT,@xdefaultsPreProcGroup,xdefaultsCommentH,xdefaultsErrorLine +syn cluster xdefaultsPreProcGroup contains=xdefaultsPreProc,xdefaultsIncluded,xdefaultsInclude,xdefaultsDefine,xdefaultsCppOut,xdefaultsCppOut2,xdefaultsCppSkip +syn region xdefaultsDefine start="^\s*#\s*\(define\|undef\)\>" skip="\\$" end="$" contains=ALLBUT,@xdefaultsPreProcGroup,xdefaultsCommentH,xdefaultsErrorLine,xdefaultsLabel,xdefaultsValue +syn region xdefaultsPreProc start="^\s*#\s*\(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" end="$" keepend contains=ALLBUT,@xdefaultsPreProcGroup,xdefaultsCommentH,xdefaultsErrorLine,xdefaultsLabel,xdefaultsValue diff --git a/runtime/syntax/zimbu.vim b/runtime/syntax/zimbu.vim new file mode 100644 index 000000000..210c69467 --- /dev/null +++ b/runtime/syntax/zimbu.vim @@ -0,0 +1,130 @@ +" Vim syntax file +" Language: Zimbu +" Maintainer: Bram Moolenaar +" Last Change: 2012 May 17 + +if exists("b:current_syntax") + finish +endif + +syn include @Ccode syntax/c.vim + +syn keyword zimbuTodo TODO FIXME XXX contained +syn match zimbuNoBar "|" contained +syn match zimbuParam "|[^| ]\+|" contained contains=zimbuNoBar +syn match zimbuComment "#.*$" contains=zimbuTodo,zimbuParam,@Spell + +syn match zimbuChar "'\\\=.'" + +syn keyword zimbuBasicType bool status +syn keyword zimbuBasicType int1 int2 int3 int4 int5 int6 int7 +syn keyword zimbuBasicType int9 int10 int11 int12 int13 int14 int15 +syn keyword zimbuBasicType int int8 int16 int32 int64 bigInt +syn keyword zimbuBasicType nat nat8 byte nat16 nat32 nat64 bigNat +syn keyword zimbuBasicType nat1 nat2 nat3 nat4 nat5 nat6 nat7 +syn keyword zimbuBasicType nat9 nat10 nat11 nat12 nat13 nat14 nat15 +syn keyword zimbuBasicType float float32 float64 float80 float128 +syn keyword zimbuBasicType fixed1 fixed2 fixed3 fixed4 fixed5 fixed6 +syn keyword zimbuBasicType fixed7 fixed8 fixed9 fixed10 fixed11 fixed12 +syn keyword zimbuBasicType fixed13 fixed14 fixed15 + +syn keyword zimbuCompType string stringval cstring varstring +syn keyword zimbuCompType bytes varbytes +syn keyword zimbuCompType tuple array list dict multiDict set multiSet +syn keyword zimbuCompType complex complex32 complex64 complex80 complex128 +syn keyword zimbuCompType proc func def thread evalThread lock cond pipe + +syn keyword zimbuType VAR ANY USE GET +syn match zimbuType "IO.File" +syn match zimbuType "IO.Stat" + +syn keyword zimbuStatement IF ELSE ELSEIF WHILE REPEAT FOR IN TO STEP +syn keyword zimbuStatement DO UNTIL SWITCH WITH +syn keyword zimbuStatement TRY CATCH FINALLY +syn keyword zimbuStatement GENERATE_IF GENERATE_ELSE GENERATE_ELSEIF +syn keyword zimbuStatement CASE DEFAULT FINAL ABSTRACT VIRTUAL DEFINE REPLACE +syn keyword zimbuStatement IMPLEMENTS EXTENDS PARENT LOCAL +syn keyword zimbuStatement PART ALIAS CONNECT WRAP +syn keyword zimbuStatement BREAK CONTINUE PROCEED +syn keyword zimbuStatement RETURN EXIT THROW +syn keyword zimbuStatement IMPORT AS OPTIONS MAIN +syn keyword zimbuStatement INTERFACE MODULE ENUM BITS SHARED +syn match zimbuStatement "\<\(FUNC\|PROC\|DEF\)\>" +syn match zimbuStatement "\<CLASS\>" +syn match zimbuStatement "}" + +syn match zimbuAttribute "@backtrace=no\>" +syn match zimbuAttribute "@backtrace=yes\>" +syn match zimbuAttribute "@abstract\>" +syn match zimbuAttribute "@earlyInit\>" +syn match zimbuAttribute "@default\>" +syn match zimbuAttribute "@define\>" +syn match zimbuAttribute "@replace\>" +syn match zimbuAttribute "@final\>" + +syn match zimbuAttribute "@private\>" +syn match zimbuAttribute "@protected\>" +syn match zimbuAttribute "@public\>" +syn match zimbuAttribute "@file\>" +syn match zimbuAttribute "@directory\>" +syn match zimbuAttribute "@read=private\>" +syn match zimbuAttribute "@read=protected\>" +syn match zimbuAttribute "@read=public\>" +syn match zimbuAttribute "@read=file\>" +syn match zimbuAttribute "@read=directory\>" +syn match zimbuAttribute "@items=private\>" +syn match zimbuAttribute "@items=protected\>" +syn match zimbuAttribute "@items=public\>" +syn match zimbuAttribute "@items=file\>" +syn match zimbuAttribute "@items=directory\>" + +syn keyword zimbuMethod NEW EQUAL COPY COMPARE SIZE GET SET + +syn keyword zimbuOperator IS ISNOT ISA ISNOTA + +syn keyword zimbuModule ARG CHECK E IO PROTO SYS HTTP ZC ZWT TIME THREAD + +syn match zimbuString +"\([^"\\]\|\\.\)*\("\|$\)+ +syn match zimbuString +R"\([^"]\|""\)*\("\|$\)+ +syn region zimbuString start=+'''+ end=+'''+ + +syn keyword zimbuFixed TRUE FALSE NIL THIS THISTYPE FAIL OK +syn keyword zimbuError NULL + +" trailing whitespace +syn match zimbuSpaceError display excludenl "\S\s\+$"ms=s+1 +" mixed tabs and spaces +syn match zimbuSpaceError display " \+\t" +syn match zimbuSpaceError display "\t\+ " + +syn match zimbuUses contained "uses([a-zA-Z_ ,]*)" +syn match zimbuBlockComment contained " #.*" + +syn region zimbuCregion matchgroup=zimbuCblock start="^>>>" end="^<<<.*" contains=@Ccode,zimbuUses,zimbuBlockComment keepend + +syn sync minlines=2000 + +hi def link zimbuBasicType Type +hi def link zimbuCompType Type +hi def link zimbuType Type +hi def link zimbuStatement Statement +hi def link zimbuOperator Statement +hi def link zimbuMethod PreProc +hi def link zimbuModule PreProc +hi def link zimbuUses PreProc +hi def link zimbuAttribute PreProc +hi def link zimbuString Constant +hi def link zimbuChar Constant +hi def link zimbuFixed Constant +hi def link zimbuComment Comment +hi def link zimbuBlockComment Comment +hi def link zimbuCblock Comment +hi def link zimbuTodo Todo +hi def link zimbuParam Constant +hi def link zimbuNoBar Ignore +hi def link zimbuSpaceError Error +hi def link zimbuError Error + +let b:current_syntax = "zimbu" + +" vim: ts=8 |