diff options
-rw-r--r-- | runtime/compiler/haml.vim | 5 | ||||
-rw-r--r-- | runtime/compiler/sass.vim | 5 | ||||
-rw-r--r-- | runtime/doc/if_pyth.txt | 8 | ||||
-rw-r--r-- | runtime/doc/index.txt | 3 | ||||
-rw-r--r-- | runtime/doc/options.txt | 20 | ||||
-rw-r--r-- | runtime/doc/pattern.txt | 4 | ||||
-rw-r--r-- | runtime/doc/syntax.txt | 7 | ||||
-rw-r--r-- | runtime/doc/tags | 6 | ||||
-rw-r--r-- | runtime/doc/todo.txt | 113 | ||||
-rw-r--r-- | runtime/indent/erlang.vim | 109 | ||||
-rw-r--r-- | runtime/lang/menu_ru_ru.koi8-r.vim | 97 | ||||
-rw-r--r-- | runtime/lang/menu_ru_ru.vim | 99 | ||||
-rw-r--r-- | runtime/scripts.vim | 9 | ||||
-rw-r--r-- | runtime/syntax/c.vim | 2 | ||||
-rw-r--r-- | runtime/syntax/erlang.vim | 297 | ||||
-rw-r--r-- | runtime/syntax/falcon.vim | 46 | ||||
-rw-r--r-- | runtime/syntax/help.vim | 2 | ||||
-rw-r--r-- | runtime/syntax/r.vim | 32 | ||||
-rw-r--r-- | runtime/syntax/rst.vim | 9 |
19 files changed, 561 insertions, 312 deletions
diff --git a/runtime/compiler/haml.vim b/runtime/compiler/haml.vim index faa1fd978..b06a672df 100644 --- a/runtime/compiler/haml.vim +++ b/runtime/compiler/haml.vim @@ -1,3 +1,8 @@ +" Vim compiler file +" Compiler: Haml +" Maintainer: Tim Pope <vimNOSPAM@tpope.org> +" Last Change: 2013 May 30 + if exists("current_compiler") finish endif diff --git a/runtime/compiler/sass.vim b/runtime/compiler/sass.vim index 8340b9c7d..376a52b30 100644 --- a/runtime/compiler/sass.vim +++ b/runtime/compiler/sass.vim @@ -1,3 +1,8 @@ +" Vim compiler file +" Compiler: Sass +" Maintainer: Tim Pope <vimNOSPAM@tpope.org> +" Last Change: 2013 May 30 + if exists("current_compiler") finish endif diff --git a/runtime/doc/if_pyth.txt b/runtime/doc/if_pyth.txt index 7bd9b377e..165131e64 100644 --- a/runtime/doc/if_pyth.txt +++ b/runtime/doc/if_pyth.txt @@ -1,4 +1,4 @@ -*if_pyth.txt* For Vim version 7.3. Last change: 2013 May 25 +*if_pyth.txt* For Vim version 7.3. Last change: 2013 Jun 02 VIM REFERENCE MANUAL by Paul Moore @@ -340,7 +340,7 @@ The buffer object attributes are: |BufFilePost| autocommands are launched. b.number Buffer number. Can be used as |python-buffers| key. Read-only. - b.valid True or False. Buffer object becames invalid when + b.valid True or False. Buffer object becomes invalid when corresponding buffer is wiped out. The buffer object methods are: @@ -446,7 +446,7 @@ Window attributes are: row, col (read-only) On-screen window position in display cells. First position is zero. tabpage (read-only) Window tab page. - valid (read-write) True or False. Window object becames invalid + valid (read-write) True or False. Window object becomes invalid when corresponding window is closed. The height attribute is writable only if the screen is split horizontally. @@ -471,7 +471,7 @@ Tab page attributes are: windows Like |python-windows|, but for current tab page. vars The tab page |t:| variables. window Current tabpage window. - valid True or False. Tab page object becames invalid when + valid True or False. Tab page object becomes invalid when corresponding tab page is closed. TabPage object type is available using "TabPage" attribute of vim module. diff --git a/runtime/doc/index.txt b/runtime/doc/index.txt index 6b8d445e4..c2b1ca160 100644 --- a/runtime/doc/index.txt +++ b/runtime/doc/index.txt @@ -1,4 +1,4 @@ -*index.txt* For Vim version 7.3. Last change: 2013 May 17 +*index.txt* For Vim version 7.3. Last change: 2013 Jun 06 VIM REFERENCE MANUAL by Bram Moolenaar @@ -1510,6 +1510,7 @@ tag command action ~ |:sview| :sv[iew] split window and edit file read-only |:swapname| :sw[apname] show the name of the current swap file |:syntax| :sy[ntax] syntax highlighting +|:syntime| :synti[me] measure syntax highlighting speed |:syncbind| :sync[bind] sync scroll binding |:t| :t same as ":copy" |:tNext| :tN[ext] jump to previous matching tag diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt index 6b01d7c17..d7f9db011 100644 --- a/runtime/doc/options.txt +++ b/runtime/doc/options.txt @@ -1,4 +1,4 @@ -*options.txt* For Vim version 7.3. Last change: 2013 May 23 +*options.txt* For Vim version 7.3. Last change: 2013 Jun 04 VIM REFERENCE MANUAL by Bram Moolenaar @@ -5132,7 +5132,18 @@ A jump table for the options with a short description can be found at |Q_op|. characters are put before the number. See |hl-LineNr| and |hl-CursorLineNr| for the highlighting used for the number. - When setting this option, 'relativenumber' is reset. + *number_relativenumber* + The 'relativenumber' option changes the displayed number to be + relative to the cursor. Together with 'number' there are these + four combinations (cursor in line 3): + + 'nonu' 'nu' 'nonu' 'nu' + 'nornu' 'nornu' 'rnu' 'rnu' + + |apple | 1 apple | 2 apple | 2 apple + |pear | 2 pear | 1 pear | 1 pear + |nobody | 3 nobody | 0 nobody |3 nobody + |there | 4 there | 1 there | 1 there *'numberwidth'* *'nuw'* 'numberwidth' 'nuw' number (Vim default: 4 Vi default: 8) @@ -5547,7 +5558,10 @@ A jump table for the options with a short description can be found at |Q_op|. characters are put before the number. See |hl-LineNr| and |hl-CursorLineNr| for the highlighting used for the number. - When setting this option, 'number' is reset. + + The number in front of the cursor line also depends on the value of + 'number', see |number_relativenumber| for all combinations of the two + options. *'remap'* *'noremap'* 'remap' boolean (default on) diff --git a/runtime/doc/pattern.txt b/runtime/doc/pattern.txt index e90e38839..69b4a9f22 100644 --- a/runtime/doc/pattern.txt +++ b/runtime/doc/pattern.txt @@ -1,4 +1,4 @@ -*pattern.txt* For Vim version 7.3. Last change: 2013 May 29 +*pattern.txt* For Vim version 7.3. Last change: 2013 Jun 02 VIM REFERENCE MANUAL by Bram Moolenaar @@ -1232,7 +1232,7 @@ Suppose B is a base character and x and y are composing characters: Bxy Byx yes (order ignored) Bxy By no (x missing) Bxy Bx no (y missing) - Bx Bx yes (perfect mach) + Bx Bx yes (perfect match) Bx By no (x missing) Bx Bxy yes (extra y ignored) Bx Byx yes (extra y ignored) diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt index 7f296d142..3779de12e 100644 --- a/runtime/doc/syntax.txt +++ b/runtime/doc/syntax.txt @@ -1,4 +1,4 @@ -*syntax.txt* For Vim version 7.3. Last change: 2013 May 31 +*syntax.txt* For Vim version 7.3. Last change: 2013 Jun 06 VIM REFERENCE MANUAL by Bram Moolenaar @@ -3957,7 +3957,7 @@ External matches *:syn-ext-match* These extra regular expression items are available in region patterns: - */\z(* */\z(\)* *E50* *E52* + */\z(* */\z(\)* *E50* *E52* *E879* \z(\) Marks the sub-expression as "external", meaning that it can be accessed from another pattern match. Currently only usable in defining a syntax region start pattern. @@ -5097,6 +5097,9 @@ If your syntax causes redrawing to be slow, here are a few hints on making it faster. To see slowness switch on some features that usually interfere, such as 'relativenumber' and |folding|. +Note: this is only available when compiled with the |+profile| feature. +You many need to build Vim with "huge" features. + To find out what patterns are consuming most time, get an overview with this sequence: > :syntime on diff --git a/runtime/doc/tags b/runtime/doc/tags index f02c4c296..69ed5336d 100644 --- a/runtime/doc/tags +++ b/runtime/doc/tags @@ -2876,6 +2876,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME* :syntax-enable syntax.txt /*:syntax-enable* :syntax-on syntax.txt /*:syntax-on* :syntax-reset syntax.txt /*:syntax-reset* +:syntime syntax.txt /*:syntime* :t change.txt /*:t* :tN tagsrch.txt /*:tN* :tNext tagsrch.txt /*:tNext* @@ -4281,6 +4282,7 @@ E875 pattern.txt /*E875* E876 pattern.txt /*E876* E877 pattern.txt /*E877* E878 pattern.txt /*E878* +E879 syntax.txt /*E879* E88 windows.txt /*E88* E89 message.txt /*E89* E90 message.txt /*E90* @@ -7159,6 +7161,7 @@ notation intro.txt /*notation* notepad gui_w32.txt /*notepad* nr2char() eval.txt /*nr2char()* nroff.vim syntax.txt /*nroff.vim* +number_relativenumber options.txt /*number_relativenumber* numbered-function eval.txt /*numbered-function* o insert.txt /*o* o_CTRL-V motion.txt /*o_CTRL-V* @@ -7353,6 +7356,7 @@ python-bindeval if_pyth.txt /*python-bindeval* python-bindeval-objects if_pyth.txt /*python-bindeval-objects* python-buffer if_pyth.txt /*python-buffer* python-buffers if_pyth.txt /*python-buffers* +python-chdir if_pyth.txt /*python-chdir* python-command if_pyth.txt /*python-command* python-commands if_pyth.txt /*python-commands* python-current if_pyth.txt /*python-current* @@ -7360,11 +7364,13 @@ python-dynamic if_pyth.txt /*python-dynamic* python-error if_pyth.txt /*python-error* python-eval if_pyth.txt /*python-eval* python-examples if_pyth.txt /*python-examples* +python-fchdir if_pyth.txt /*python-fchdir* python-input if_pyth.txt /*python-input* python-options if_pyth.txt /*python-options* python-output if_pyth.txt /*python-output* python-pyeval if_pyth.txt /*python-pyeval* python-range if_pyth.txt /*python-range* +python-strwidth if_pyth.txt /*python-strwidth* python-tabpage if_pyth.txt /*python-tabpage* python-tabpages if_pyth.txt /*python-tabpages* python-vars if_pyth.txt /*python-vars* diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt index e77fb55c5..5f0160323 100644 --- a/runtime/doc/todo.txt +++ b/runtime/doc/todo.txt @@ -1,4 +1,4 @@ -*todo.txt* For Vim version 7.3. Last change: 2013 Jun 01 +*todo.txt* For Vim version 7.3. Last change: 2013 Jun 06 VIM REFERENCE MANUAL by Bram Moolenaar @@ -34,33 +34,17 @@ not be repeated below, unless there is extra information. *known-bugs* -------------------- Known bugs and current work ----------------------- ---- Python interface - -Patch from ZyX, May 30: Fix some possible memory problems - -Check: docs for .valid patch by ZyX, May 30 -Correction by Roland Eggner, May 31. - -Tests are disabled because they fail. - -Configure doesn't find Python 3 on Ubuntu 13.04. (Ken Takata, Apr 13) - -Python SystemExit exception is not handled properly. Patch to catch the -exception and give an error. (Yasuhiro Matsumoto) -Does not work, tests fail. - -Patch to complete after :py3. (Taro Muraoka, 2013 May 31) - -":python os.chdir('/tmp')" makes short buffer names invalid. (Xavier de Gaye) -Patch to make os.chdir() handle side effects. (Xavier de Gaye, 2013 May 17) -Update May 19, also for os.fchdir(). -Adds a $VIMRUNTIME/python directory. -ZyX: OK to add python and python3 directory. +Make it possible to test the status line: add screenchar(col, row). +Use screen_getbytes(). +Could also add screenattr(col, row), but value is unpredictable. +Functions to read the actual contents of the screen, so that things like +conceal can be tested. (Nazri Ramliy, 2013 Feb 18) -Mac: OS/X 10.4 with Python 2.5 installed: configure finds an extra argument -that breaks the build. (Brian Victor, 2008 Sep 1) +function() does not work like before. (lilydjwg, 2013 Jun 4) +I guess this is caused by patch 7.3.1058: +"Call of funcref does not succeed in other script." -Patch to access screen under Python. (Marko Mahni, 2010 Jul 18) +--- Python interface Python: ":py raw_input('prompt')" doesn't work. (Manu Hack) @@ -71,8 +55,19 @@ Python: Be able to define a Python function that can be called directly from Vim script. Requires converting the arguments and return value, like with vim.bindeval(). +Python SystemExit exception is not handled properly. Patch to catch the +exception and give an error. (Yasuhiro Matsumoto) +Does not work, tests fail. + +Python: crash in test 86 because of int/size_t mixup? (Jun Takimoto, 2013 Jun +6) + +Add a $VIMRUNTIME/python and $VIMRUNTIME/python3 directories? + --- runtime files +Alternate html indent file by Andy Wokula, script 2075. + Syntax file for protocol buffers. (Feng Xiao, 2013 May 9) Has an ugly copyright notice. Add statement that it does not conflict with Vim license. @@ -80,32 +75,22 @@ Add statement that it does not conflict with Vim license. Patch for JavaScript syntax. (Kevin Locke, 2013 May 9) Claudio didn't respond yet. ---- Fast regexp engine - -Error in HTML highlighting. (Hiroshi Shirosaki) +upstream_dat, usserver_log et al. syntax files. (Rob Owens, 2013 Jun 5) -Tests for \{-} : Requires trying to start at every position? -If so, rename nfa_has_backref to nfa_dup_states and re-use it for this. +--- New regexp engine -Allow "^*" as a literal "*". +Does not work (yet) with NFA: +- \%u, \%x, \%o, \%d followed by a composing character -Need more testing for \1 back references. +Don't call nfa_regmatch() recursively if the "out" state is not going to be +added anyway. In run log: + > Not adding state 6 to list 4. char -971: NFA_SKIP Profiling: + ./vim -s ~/vim/test/alsa.vim + ./vim -s ~/vim/test/todo.vim ./vim -s ~/vim/test/loop.vim - ./vim -s ~/vim/test/xml.vim (Fix: Uses the old engine, see - bt_regexp_debug.log) - Need \@<= - NFA engine could not handle "[<]\@<=[^ /!?<>"']\+" - NFA engine could not handle "<!--\_.\{-}-->" - -setting cpo_lit and cpo_bsl can be slow. Make them global. - -Get example files for many languages. Compare syntax highlighting with old and -new regexp, find regexp constructs where NFA does not work correctly. -source ~/vim/regexp/runold.vim to update the "old" files. -source ~/vim/regexp/runnew.vim to update the "new" files -source ~/vim/regexp/diff.vim to find differences + ./vim -s ~/vim/test/xml.vim More test files from the src/pkg/regexp/testdata directory in the Go repo. @@ -127,18 +112,14 @@ Performance tests: - When lists are empty in nfa_regmatch() and match is true, it keeps looping without doing anything. -Does not work (yet) with NFA: -- \z() \z1 .. "\z9": Previously matched text in syn HL. -- ~: previous substitute pattern. Requires recursive compilation? -- \%u, \%x, \%o, \%d followed by a composing character -- \%V Visual -- \%[abc] -- \%' mark -- \@< match before zero-width -- \@> match whole pattern +BT engine: After \@> match and failing submatches are not cleared. +See test64. --- bug fixes +:wviminfo does not write old history entries. (Roland Eggner, 2013 Jun 5) +Another message Jun 6. + Patch to avoid wrong error message for 1.0[0]. (Yasuhiro Matsumoto, 2013 May 1) @@ -190,6 +171,9 @@ Patch by Christian Brabandt, Feb 16. Issue 134: pasting in visual selection in empty buffer. Patch by Christian Brabandt, 2013 May 22. +Patch to fix "gn" on single character matches. (Christian Brabandt, 2013 Jun +2) + 'cursorline' is drawn incorrectly in diff mode. Patch by Christian Brabandt, 2012 Apr 2. @@ -202,6 +186,12 @@ line. ":diffoff" does not restore options from before starting diff mode. Patch by Christian Brabandt, 2013 May 26. +Can't use multi-byte fill character in custom status line. +Patch by Christian Wellenbrock, 2013 Jun 2. Update Jun 3 (second one). + +Patch to fix glob() and globpath() with escaped special characters. +(Adnan Zafar, 2013 Jun 2, tests Jun 3) + --- slightly incompatible changes Patch to load ~/.vim/vimrc when ~/.vimrc isn't found. (Lech Lorens, 2013 Apr @@ -264,6 +254,9 @@ Patch to view coverage of the tests. (Nazri Ramliy, 2013 Feb 15) Patch to invert characters differently in GTK. (Yukihiro Nakadaira, 2013 May 5) +Bug with 'cursorline' in diff mode. Line being scrolled into view gets +highlighted as the cursor line. (Alessandro Ivaldi, 2013 Jun 4) + Patch to add the bufferlist() function. (Yegappan Lakshmanan, 2013 May 5) May 17: with winlist() and tabpagelist(). May 19: with local variables. @@ -356,6 +349,9 @@ Szamotulski, 2012 Nov 8) Crash in autocmd that unloads buffers in a BufUnload event. (Andrew Pimlott, 2012 Aug 11) Disallow :new when BufUnload is being handled? +Patch to add ":ldo" and ":cdo", execute commands over quickfix list and +location list. (Yegappan Lakshmanan, 2013 Jun 2) + MS-Windows resizing problems: - Windows window on screen positioning: Patch by Yukihiro Nakadaira, 2012 Jun 20. Uses getWindowRect() instead of GetWindowPlacement() @@ -549,6 +545,8 @@ Patch to make "z=" work when 'spell' is off. Does this have nasty side effects? (Christian Brabandt, 2012 Aug 5) Would also need to do this for spellbadword() and spellsuggest(). +Patch for variable tabstops. + On 64 bit MS-Windows "long" is only 32 bits, but we sometimes need to store a 64 bits value. Change all number options to use nropt_T and define it to the right type. @@ -657,9 +655,6 @@ New esperanto spell file can't be processed. (Dominique Pelle, 2011 Jan 30) "L'Italie" noted as a spell error at start of the sentence. (Dominique Pelle, 2011 Feb 27) -Functions to read the actual contents of the screen, so that things like -conceal can be tested. (Nazri Ramliy, 2013 Feb 18) - Copy/paste between Vim and Google chrome doesn't work well for multi-byte characters. (Ben Haskell, 2010 Sep 17) When putting text in the cut buffer (when exiting) and conversion doesn't work @@ -4336,7 +4331,7 @@ More advanced repeating commands: - Add "." command for visual mode: redo last visual command (e.g. ":fmt"). 7 Repeating "d:{cmd}" with "." doesn't work. (Benji Fisher) Somehow remember the command line so that it can be repeated? -- Add "gn": repeat last movement command. Including count. +- Add command to repeat last movement. Including count. - Add "." command after operator: repeat last command of same operator. E.g. "c." will repeat last change, also when "x" used since then (Webb). "y." will repeat last yank. diff --git a/runtime/indent/erlang.vim b/runtime/indent/erlang.vim index 416c40e93..c11bbeb4b 100644 --- a/runtime/indent/erlang.vim +++ b/runtime/indent/erlang.vim @@ -4,7 +4,7 @@ " Contributors: Edwin Fine <efine145_nospam01 at usa dot net> " Pawel 'kTT' Salata <rockplayer.pl@gmail.com> " Ricardo Catalinas Jiménez <jimenezrick@gmail.com> -" Last Update: 2013-Mar-05 +" Last Update: 2013-Jun-01 " License: Vim license " URL: https://github.com/hcs42/vim-erlang @@ -1086,62 +1086,74 @@ function! s:ErlangCalcIndent2(lnum, stack) endif endif - elseif token == 'end' - let [lnum_new, col_new] = s:SearchEndPair(lnum, curr_col) + elseif index(['end', ')', ']', '}', '>>'], token) != -1 - if lnum_new == 0 - return s:IndentError('Matching token for "end" not found', - \token, stack) - else - if lnum_new != lnum - call s:Log(' Tokenize for "end" <<<<') - let [lnum, indtokens] = s:TokenizeLine(lnum_new, 'up') - call s:Log(' >>>> Tokenize for "end"') - endif + " If we can be sure that there is synchronization in the Erlang + " syntax, we use searchpair to make the script quicker. Otherwise we + " just push the token onto the stack and keep parsing. + + " No synchronization -> no searchpair optimization + if !exists('b:erlang_syntax_synced') + call s:Push(stack, token) - let [success, i] = s:GetIndtokenAtCol(indtokens, col_new) - if !success | return i | endif - let [token, curr_vcol, curr_col] = indtokens[i] - call s:Log(' Match for "end" in line ' . lnum_new . ': ' . - \string(indtokens[i])) - endif + " We don't have searchpair optimization for '>>' + elseif token == '>>' + call s:Push(stack, token) - elseif index([')', ']', '}'], token) != -1 + elseif token == 'end' + let [lnum_new, col_new] = s:SearchEndPair(lnum, curr_col) - call s:Push(stack, token) + if lnum_new == 0 + return s:IndentError('Matching token for "end" not found', + \token, stack) + else + if lnum_new != lnum + call s:Log(' Tokenize for "end" <<<<') + let [lnum, indtokens] = s:TokenizeLine(lnum_new, 'up') + call s:Log(' >>>> Tokenize for "end"') + endif + + let [success, i] = s:GetIndtokenAtCol(indtokens, col_new) + if !success | return i | endif + let [token, curr_vcol, curr_col] = indtokens[i] + call s:Log(' Match for "end" in line ' . lnum_new . ': ' . + \string(indtokens[i])) + endif - " We have to escape '[', because this string will be interpreted as a - " regexp - let open_paren = (token == ')' ? '(' : - \token == ']' ? '\[' : - \ '{') + else " token is one of the following: ')', ']', '}' - let [lnum_new, col_new] = s:SearchPair(lnum, curr_col, - \open_paren, '', token) + call s:Push(stack, token) - if lnum_new == 0 - return s:IndentError('Matching token not found', - \token, stack) - else - if lnum_new != lnum - call s:Log(' Tokenize the opening paren <<<<') - let [lnum, indtokens] = s:TokenizeLine(lnum_new, 'up') - call s:Log(' >>>>') - endif + " We have to escape '[', because this string will be interpreted as a + " regexp + let open_paren = (token == ')' ? '(' : + \token == ']' ? '\[' : + \ '{') - let [success, i] = s:GetIndtokenAtCol(indtokens, col_new) - if !success | return i | endif - let [token, curr_vcol, curr_col] = indtokens[i] - call s:Log(' Match in line ' . lnum_new . ': ' . - \string(indtokens[i])) + let [lnum_new, col_new] = s:SearchPair(lnum, curr_col, + \open_paren, '', token) - " Go back to the beginning of the loop and handle the opening paren - continue + if lnum_new == 0 + return s:IndentError('Matching token not found', + \token, stack) + else + if lnum_new != lnum + call s:Log(' Tokenize the opening paren <<<<') + let [lnum, indtokens] = s:TokenizeLine(lnum_new, 'up') + call s:Log(' >>>>') + endif + + let [success, i] = s:GetIndtokenAtCol(indtokens, col_new) + if !success | return i | endif + let [token, curr_vcol, curr_col] = indtokens[i] + call s:Log(' Match in line ' . lnum_new . ': ' . + \string(indtokens[i])) + + " Go back to the beginning of the loop and handle the opening paren + continue + endif endif - elseif token == '>>' - call s:Push(stack, token) - elseif token == ';' if empty(stack) @@ -1323,7 +1335,10 @@ function! ErlangIndent() let curr_col = len(ml[1]) - if ml[2] == 'end' + " If we can be sure that there is synchronization in the Erlang + " syntax, we use searchpair to make the script quicker. + if ml[2] == 'end' && exists('b:erlang_syntax_synced') + let [lnum, col] = s:SearchEndPair(v:lnum, curr_col) if lnum == 0 diff --git a/runtime/lang/menu_ru_ru.koi8-r.vim b/runtime/lang/menu_ru_ru.koi8-r.vim index 0d4fbaa2a..e66b728e7 100644 --- a/runtime/lang/menu_ru_ru.koi8-r.vim +++ b/runtime/lang/menu_ru_ru.koi8-r.vim @@ -1,9 +1,10 @@ " Menu Translations: Russian -" Maintainer: vassily ragosin <vrr[at]users.sourceforge.net> -" Last Change: 26 Apr 2004 +" Maintainer: Sergey Alyoshin <alyoshin.s@gmail.com> +" Previous Maintainer: vassily ragosin <vrr[at]users.sourceforge.net> +" Last Change: 29 May 2013 " URL: cvs://cvs.sf.net:/cvsroot/ruvim/extras/menu/menu_ru_ru.vim " -" $Id: menu_ru_ru.koi8-r.vim,v 1.2 2004/06/16 11:19:21 vimboss Exp $ +" $Id: menu_ru_ru.vim,v 1.1 2004/06/13 16:09:10 vimboss Exp $ " " Adopted for RuVim project by Vassily Ragosin. " First translation: Tim Alexeevsky <realtim [at] mail.ru>, @@ -50,6 +51,7 @@ menutrans &About & " File menu menutrans &Open\.\.\.<Tab>:e &\.\.\.<Tab>:e menutrans Sp&lit-Open\.\.\.<Tab>:sp &\ \.\.\.<Tab>:sp +menutrans Open\ Tab\.\.\.<Tab>:tabnew \ &\.\.\.<Tab>:tabnew menutrans &New<Tab>:enew &<Tab>:enew menutrans &Close<Tab>:close &<Tab>:close "-------------------- @@ -77,51 +79,57 @@ menutrans Put\ &After<Tab>]p \ &<Tab>]p menutrans &Delete<Tab>x &<Tab>x menutrans &Select\ All<Tab>ggVG &\ ӣ<Tab>ggVG "-------------------- +" Athena GUI only +menutrans &Find<Tab>/ &<Tab>/ +menutrans Find\ and\ Rep&lace<Tab>:%s \ \ &<Tab>:%s +" End Athena GUI only menutrans &Find\.\.\.<Tab>/ &\.\.\.<Tab>/ menutrans Find\ and\ Rep&lace\.\.\. \ \ &\.\.\. menutrans Find\ and\ Rep&lace\.\.\.<Tab>:%s \ \ &\.\.\.<Tab>:%s -menutrans Find\ and\ Rep&lace\.\.\.<Tab>:s \ \ &\.\.\.<Tab>:s +menutrans Find\ and\ Rep&lace\.\.\.<Tab>:s \ \ &\.\.\.<Tab>:s "-------------------- menutrans Settings\ &Window \ \ & +menutrans Startup\ &Settings \ & menutrans &Global\ Settings &\ menutrans F&ile\ Settings \ & menutrans C&olor\ Scheme &\ menutrans &Keymap \ & menutrans Select\ Fo&nt\.\.\. \ &\.\.\. ">>>----------------- Edit/Global settings -menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls! \ &\ <Tab>:set\ hls! -menutrans Toggle\ &Ignore-case<Tab>:set\ ic! &\ <Tab>:set\ ic! -menutrans Toggle\ &Showmatch<Tab>:set\ sm! \ \ &<Tab>:set\ sm! -menutrans &Context\ lines &\ \ -menutrans &Virtual\ Edit &\ -menutrans Toggle\ Insert\ &Mode<Tab>:set\ im! \ &<Tab>:set\ im! -menutrans Toggle\ Vi\ C&ompatible<Tab>:set\ cp! &\ \ Vi<Tab>:set\ cp! -menutrans Search\ &Path\.\.\. &\ \ \ \.\.\. -menutrans Ta&g\ Files\.\.\. \ &\.\.\. -" -menutrans Toggle\ &Toolbar &\ -menutrans Toggle\ &Bottom\ Scrollbar \ \ & -menutrans Toggle\ &Left\ Scrollbar \ \ & -menutrans Toggle\ &Right\ Scrollbar \ \ & +menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls! \ &\ <Tab>:set\ hls! +menutrans Toggle\ &Ignore-case<Tab>:set\ ic! &\ <Tab>:set\ ic! +menutrans Toggle\ &Showmatch<Tab>:set\ sm! \ \ &<Tab>:set\ sm! +menutrans &Context\ lines &\ \ +menutrans &Virtual\ Edit &\ +menutrans Toggle\ Insert\ &Mode<Tab>:set\ im! \ &<Tab>:set\ im! +menutrans Toggle\ Vi\ C&ompatible<Tab>:set\ cp! &\ \ Vi<Tab>:set\ cp! +menutrans Search\ &Path\.\.\. &\ \ \ \.\.\. +menutrans Ta&g\ Files\.\.\. \ &\.\.\. +" +menutrans Toggle\ &Toolbar &\ +menutrans Toggle\ &Bottom\ Scrollbar \ \ & +menutrans Toggle\ &Left\ Scrollbar \ \ & +menutrans Toggle\ &Right\ Scrollbar \ \ & ">>>->>>------------- Edit/Global settings/Virtual edit -menutrans Never -menutrans Block\ Selection \ \ -menutrans Insert\ mode \ \ -menutrans Block\ and\ Insert \ \ \ \ \ \ -menutrans Always \ +menutrans Never +menutrans Block\ Selection \ \ +menutrans Insert\ mode \ \ +menutrans Block\ and\ Insert \ \ \ \ \ \ +menutrans Always \ ">>>----------------- Edit/File settings -menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu! &\ <Tab>:set\ nu! -menutrans Toggle\ &List\ Mode<Tab>:set\ list! &\ \ <Tab>:set\ list! -menutrans Toggle\ Line\ &Wrap<Tab>:set\ wrap! &\ \ <Tab>:set\ wrap! -menutrans Toggle\ W&rap\ at\ word<Tab>:set\ lbr! \ &\ <Tab>:set\ lbr! -menutrans Toggle\ &expand-tab<Tab>:set\ et! &\ \ <Tab>:set\ et! -menutrans Toggle\ &auto-indent<Tab>:set\ ai! \ \ &<Tab>:set\ ai! -menutrans Toggle\ &C-indenting<Tab>:set\ cin! \ \ \ &\ C<Tab>:set\ cin! +menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu! &\ <Tab>:set\ nu! +menutrans Toggle\ relati&ve\ Line\ Numbering<Tab>:set\ rnu! &\ \ <Tab>:set\ nru! +menutrans Toggle\ &List\ Mode<Tab>:set\ list! &\ \ <Tab>:set\ list! +menutrans Toggle\ Line\ &Wrap<Tab>:set\ wrap! &\ \ <Tab>:set\ wrap! +menutrans Toggle\ W&rap\ at\ word<Tab>:set\ lbr! \ &\ <Tab>:set\ lbr! +menutrans Toggle\ &expand-tab<Tab>:set\ et! &\ \ <Tab>:set\ et! +menutrans Toggle\ &auto-indent<Tab>:set\ ai! \ \ &<Tab>:set\ ai! +menutrans Toggle\ &C-indenting<Tab>:set\ cin! \ \ \ &\ C<Tab>:set\ cin! ">>>--- -menutrans &Shiftwidth &\ -menutrans Soft\ &Tabstop \ & -menutrans Te&xt\ Width\.\.\. &\ \.\.\. -menutrans &File\ Format\.\.\. &\ \.\.\. +menutrans &Shiftwidth &\ +menutrans Soft\ &Tabstop \ & +menutrans Te&xt\ Width\.\.\. &\ \.\.\. +menutrans &File\ Format\.\.\. &\ \.\.\. " " " @@ -131,6 +139,7 @@ menutrans Jump\ &back<Tab>^T &\ <Tab>^T menutrans Build\ &Tags\ File \ &\ "------------------- menutrans &Folding \ \ & +menutrans &Spelling & menutrans &Diff &\ (diff) "------------------- menutrans &Make<Tab>:make &<Tab>:make @@ -141,10 +150,26 @@ menutrans &Previous\ Error<Tab>:cp &\ <Tab>:cp menutrans &Older\ List<Tab>:cold \ &\ \ <Tab>:cold menutrans N&ewer\ List<Tab>:cnew \ &\ \ <Tab>:cnew menutrans Error\ &Window &\ -menutrans &Set\ Compiler \ & +menutrans Se&T\ Compiler \ & "------------------- menutrans &Convert\ to\ HEX<Tab>:%!xxd &\ \ HEX<Tab>:%!xxd menutrans Conve&rt\ back<Tab>:%!xxd\ -r \ &\ HEX<Tab>:%!xxd\ -r +">>>---------------- Tools/Spelling +menutrans &Spell\ Check\ On &\ \ +menutrans Spell\ Check\ &Off &\ \ +menutrans To\ &Next\ error<Tab>]s &\ +menutrans To\ &Previous\ error<Tab>[s &\ +menutrans Suggest\ &Corrections<Tab>z= \ & +menutrans &Repeat\ correction<Tab>:spellrepall &\ \ \ +"------------------- +menutrans Set\ language\ to\ "en" \ \ "en" +menutrans Set\ language\ to\ "en_au" \ \ "en_au" +menutrans Set\ language\ to\ "en_ca" \ \ "en_ca" +menutrans Set\ language\ to\ "en_gb" \ \ "en_gb" +menutrans Set\ language\ to\ "en_nz" \ \ "en_nz" +menutrans Set\ language\ to\ "en_us" \ \ "en_us" +menutrans &Find\ More\ Languages &\ \ +let g:menutrans_set_lang_to = ' ' ">>>---------------- Folds menutrans &Enable/Disable\ folds<Tab>zi /\ &<Tab>zi menutrans &View\ Cursor\ Line<Tab>zv \ \ \ &<Tab>zv @@ -219,7 +244,7 @@ menutrans M&in\ Height<Tab>^W1_ \ &<Tab>^W1_ menutrans Max\ &Width<Tab>^W\| \ &<Tab>^W\| menutrans Min\ Widt&h<Tab>^W1\| &\ <Tab>^W1\| ">>>----------------- Window/Move To -menutrans &Top<Tab>^WK &<Tab>^WK +menutrans &Top<Tab>^WK &<Tab>^WK menutrans &Bottom<Tab>^WJ &<Tab>^WJ menutrans &Left\ side<Tab>^WH &<Tab>^WH menutrans &Right\ side<Tab>^WL &<Tab>^WL diff --git a/runtime/lang/menu_ru_ru.vim b/runtime/lang/menu_ru_ru.vim index 23a111ab7..69616083b 100644 --- a/runtime/lang/menu_ru_ru.vim +++ b/runtime/lang/menu_ru_ru.vim @@ -1,6 +1,7 @@ " Menu Translations: Russian -" Maintainer: vassily ragosin <vrr[at]users.sourceforge.net> -" Last Change: 26 Apr 2004 +" Maintainer: Sergey Alyoshin <alyoshin.s@gmail.com> +" Previous Maintainer: vassily ragosin <vrr[at]users.sourceforge.net> +" Last Change: 29 May 2013 " URL: cvs://cvs.sf.net:/cvsroot/ruvim/extras/menu/menu_ru_ru.vim " " $Id: menu_ru_ru.vim,v 1.1 2004/06/13 16:09:10 vimboss Exp $ @@ -50,6 +51,7 @@ menutrans &About &Заставка " File menu menutrans &Open\.\.\.<Tab>:e &Открыть\.\.\.<Tab>:e menutrans Sp&lit-Open\.\.\.<Tab>:sp По&делить\ окно\.\.\.<Tab>:sp +menutrans Open\ Tab\.\.\.<Tab>:tabnew Открыть\ в&кладку\.\.\.<Tab>:tabnew menutrans &New<Tab>:enew &Новый<Tab>:enew menutrans &Close<Tab>:close &Закрыть<Tab>:close "-------------------- @@ -77,51 +79,57 @@ menutrans Put\ &After<Tab>]p Вклеить\ по&сле<Tab>]p menutrans &Delete<Tab>x &Удалить<Tab>x menutrans &Select\ All<Tab>ggVG В&ыделить\ всё<Tab>ggVG "-------------------- +" Athena GUI only +menutrans &Find<Tab>/ &Поиск<Tab>/ +menutrans Find\ and\ Rep&lace<Tab>:%s Поиск\ и\ &замена<Tab>:%s +" End Athena GUI only menutrans &Find\.\.\.<Tab>/ &Поиск\.\.\.<Tab>/ -menutrans Find\ and\ Rep&lace\.\.\. Поиск\ и\ &замена\.\.\. -menutrans Find\ and\ Rep&lace\.\.\.<Tab>:%s Поиск\ и\ &замена\.\.\.<Tab>:%s -menutrans Find\ and\ Rep&lace\.\.\.<Tab>:s Поиск\ и\ &замена\.\.\.<Tab>:s +menutrans Find\ and\ Rep&lace\.\.\. Поиск\ и\ &замена\.\.\. +menutrans Find\ and\ Rep&lace\.\.\.<Tab>:%s Поиск\ и\ &замена\.\.\.<Tab>:%s +menutrans Find\ and\ Rep&lace\.\.\.<Tab>:s Поиск\ и\ &замена\.\.\.<Tab>:s "-------------------- menutrans Settings\ &Window Окно\ настройки\ &опций +menutrans Startup\ &Settings Настройки\ запус&ка menutrans &Global\ Settings &Глобальные\ настройки menutrans F&ile\ Settings Настройки\ &файлов menutrans C&olor\ Scheme &Цветовая\ схема menutrans &Keymap Раскладка\ кл&авиатуры menutrans Select\ Fo&nt\.\.\. Выбор\ &шрифта\.\.\. ">>>----------------- Edit/Global settings -menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls! Подсветка\ &найденных\ соответствий<Tab>:set\ hls! -menutrans Toggle\ &Ignore-case<Tab>:set\ ic! &Регистронезависимый\ поиск<Tab>:set\ ic! -menutrans Toggle\ &Showmatch<Tab>:set\ sm! Показывать\ парные\ &элементы<Tab>:set\ sm! -menutrans &Context\ lines Стр&ок\ вокруг\ курсора -menutrans &Virtual\ Edit Вир&туальное\ редактирование -menutrans Toggle\ Insert\ &Mode<Tab>:set\ im! Режим\ &Вставки<Tab>:set\ im! -menutrans Toggle\ Vi\ C&ompatible<Tab>:set\ cp! &Совместимость\ с\ Vi<Tab>:set\ cp! -menutrans Search\ &Path\.\.\. &Путь\ для\ поиска\ файлов\.\.\. -menutrans Ta&g\ Files\.\.\. Файлы\ &меток\.\.\. -" -menutrans Toggle\ &Toolbar &Инструментальная\ панель -menutrans Toggle\ &Bottom\ Scrollbar Полоса\ прокрутки\ вни&зу -menutrans Toggle\ &Left\ Scrollbar Полоса\ прокрутки\ с&лева -menutrans Toggle\ &Right\ Scrollbar Полоса\ прокрутки\ спр&ава +menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls! Подсветка\ &найденных\ соответствий<Tab>:set\ hls! +menutrans Toggle\ &Ignore-case<Tab>:set\ ic! &Регистронезависимый\ поиск<Tab>:set\ ic! +menutrans Toggle\ &Showmatch<Tab>:set\ sm! Показывать\ парные\ &элементы<Tab>:set\ sm! +menutrans &Context\ lines Стр&ок\ вокруг\ курсора +menutrans &Virtual\ Edit Вир&туальное\ редактирование +menutrans Toggle\ Insert\ &Mode<Tab>:set\ im! Режим\ &Вставки<Tab>:set\ im! +menutrans Toggle\ Vi\ C&ompatible<Tab>:set\ cp! &Совместимость\ с\ Vi<Tab>:set\ cp! +menutrans Search\ &Path\.\.\. &Путь\ для\ поиска\ файлов\.\.\. +menutrans Ta&g\ Files\.\.\. Файлы\ &меток\.\.\. +" +menutrans Toggle\ &Toolbar &Инструментальная\ панель +menutrans Toggle\ &Bottom\ Scrollbar Полоса\ прокрутки\ вни&зу +menutrans Toggle\ &Left\ Scrollbar Полоса\ прокрутки\ с&лева +menutrans Toggle\ &Right\ Scrollbar Полоса\ прокрутки\ спр&ава ">>>->>>------------- Edit/Global settings/Virtual edit -menutrans Never Выключено -menutrans Block\ Selection При\ выделении\ блока -menutrans Insert\ mode В\ режиме\ Вставки -menutrans Block\ and\ Insert При\ выделении\ блока\ и\ в\ режиме\ Вставки -menutrans Always Включено\ всегда +menutrans Never Выключено +menutrans Block\ Selection При\ выделении\ блока +menutrans Insert\ mode В\ режиме\ Вставки +menutrans Block\ and\ Insert При\ выделении\ блока\ и\ в\ режиме\ Вставки +menutrans Always Включено\ всегда ">>>----------------- Edit/File settings -menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu! &Нумерация\ строк<Tab>:set\ nu! -menutrans Toggle\ &List\ Mode<Tab>:set\ list! Отобра&жение\ невидимых\ символов<Tab>:set\ list! -menutrans Toggle\ Line\ &Wrap<Tab>:set\ wrap! &Перенос\ длинных\ строк<Tab>:set\ wrap! -menutrans Toggle\ W&rap\ at\ word<Tab>:set\ lbr! Перенос\ &целых\ слов<Tab>:set\ lbr! -menutrans Toggle\ &expand-tab<Tab>:set\ et! Про&белы\ вместо\ табуляции<Tab>:set\ et! -menutrans Toggle\ &auto-indent<Tab>:set\ ai! Автоматическое\ форматирование\ &отступов<Tab>:set\ ai! -menutrans Toggle\ &C-indenting<Tab>:set\ cin! Форматирование\ отступов\ в\ &стиле\ C<Tab>:set\ cin! +menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu! &Нумерация\ строк<Tab>:set\ nu! +menutrans Toggle\ relati&ve\ Line\ Numbering<Tab>:set\ rnu! Относите&льная\ нумерация\ строк<Tab>:set\ nru! +menutrans Toggle\ &List\ Mode<Tab>:set\ list! Отобра&жение\ невидимых\ символов<Tab>:set\ list! +menutrans Toggle\ Line\ &Wrap<Tab>:set\ wrap! &Перенос\ длинных\ строк<Tab>:set\ wrap! +menutrans Toggle\ W&rap\ at\ word<Tab>:set\ lbr! Перенос\ &целых\ слов<Tab>:set\ lbr! +menutrans Toggle\ &expand-tab<Tab>:set\ et! Про&белы\ вместо\ табуляции<Tab>:set\ et! +menutrans Toggle\ &auto-indent<Tab>:set\ ai! Автоматическое\ форматирование\ &отступов<Tab>:set\ ai! +menutrans Toggle\ &C-indenting<Tab>:set\ cin! Форматирование\ отступов\ в\ &стиле\ C<Tab>:set\ cin! ">>>--- -menutrans &Shiftwidth Вели&чина\ отступа -menutrans Soft\ &Tabstop Ширина\ &табуляции -menutrans Te&xt\ Width\.\.\. &Ширина\ текста\.\.\. -menutrans &File\ Format\.\.\. &Формат\ файла\.\.\. +menutrans &Shiftwidth Вели&чина\ отступа +menutrans Soft\ &Tabstop Ширина\ &табуляции +menutrans Te&xt\ Width\.\.\. &Ширина\ текста\.\.\. +menutrans &File\ Format\.\.\. &Формат\ файла\.\.\. " " " @@ -131,6 +139,7 @@ menutrans Jump\ &back<Tab>^T &Вернуться\ назад<Tab>^T menutrans Build\ &Tags\ File Создать\ &файл\ меток "------------------- menutrans &Folding Работа\ со\ &складками +menutrans &Spelling Пр&авописание menutrans &Diff &Отличия\ (diff) "------------------- menutrans &Make<Tab>:make Ко&мпиляция<Tab>:make @@ -141,10 +150,26 @@ menutrans &Previous\ Error<Tab>:cp П&редыдущая\ ошибка<Tab>:cp menutrans &Older\ List<Tab>:cold Более\ стар&ый\ список\ ошибок<Tab>:cold menutrans N&ewer\ List<Tab>:cnew Более\ све&жий\ список\ ошибок<Tab>:cnew menutrans Error\ &Window Ок&но\ ошибок -menutrans &Set\ Compiler Выбор\ &компилятора +menutrans Se&T\ Compiler Выбор\ &компилятора "------------------- menutrans &Convert\ to\ HEX<Tab>:%!xxd П&еревести\ в\ HEX<Tab>:%!xxd menutrans Conve&rt\ back<Tab>:%!xxd\ -r Перевести\ и&з\ HEX<Tab>:%!xxd\ -r +">>>---------------- Tools/Spelling +menutrans &Spell\ Check\ On &Вкл\ проверку\ правописания +menutrans Spell\ Check\ &Off Вы&кл\ проверку\ правописания +menutrans To\ &Next\ error<Tab>]s &Следующая\ ошибка +menutrans To\ &Previous\ error<Tab>[s &Предыдущая\ ошибка +menutrans Suggest\ &Corrections<Tab>z= Предложить\ исп&равления +menutrans &Repeat\ correction<Tab>:spellrepall Пов&торить\ исправление\ для\ всех +"------------------- +menutrans Set\ language\ to\ "en" Установить\ язык\ "en" +menutrans Set\ language\ to\ "en_au" Установить\ язык\ "en_au" +menutrans Set\ language\ to\ "en_ca" Установить\ язык\ "en_ca" +menutrans Set\ language\ to\ "en_gb" Установить\ язык\ "en_gb" +menutrans Set\ language\ to\ "en_nz" Установить\ язык\ "en_nz" +menutrans Set\ language\ to\ "en_us" Установить\ язык\ "en_us" +menutrans &Find\ More\ Languages &Найти\ больше\ языков +let g:menutrans_set_lang_to = 'Установить язык' ">>>---------------- Folds menutrans &Enable/Disable\ folds<Tab>zi Вкл/выкл\ &складки<Tab>zi menutrans &View\ Cursor\ Line<Tab>zv Открыть\ строку\ с\ &курсором<Tab>zv @@ -219,7 +244,7 @@ menutrans M&in\ Height<Tab>^W1_ Минимальная\ высо&та<Tab>^W1 menutrans Max\ &Width<Tab>^W\| Максимальная\ &ширина<Tab>^W\| menutrans Min\ Widt&h<Tab>^W1\| Минимал&ьная\ ширина<Tab>^W1\| ">>>----------------- Window/Move To -menutrans &Top<Tab>^WK На&верх<Tab>^WK +menutrans &Top<Tab>^WK В&верх<Tab>^WK menutrans &Bottom<Tab>^WJ В&низ<Tab>^WJ menutrans &Left\ side<Tab>^WH В&лево<Tab>^WH menutrans &Right\ side<Tab>^WL В&право<Tab>^WL diff --git a/runtime/scripts.vim b/runtime/scripts.vim index 459b03064..251e4c8f0 100644 --- a/runtime/scripts.vim +++ b/runtime/scripts.vim @@ -152,6 +152,10 @@ if s:line1 =~ "^#!" elseif s:name =~ 'cfengine' set ft=cfengine + " Erlang scripts + elseif s:name =~ 'escript' + set ft=erlang + endif unlet s:name @@ -333,6 +337,11 @@ else \ && s:line3 =~ '^Each sample counts as .* seconds.$' set ft=gprof + " Erlang terms + " (See also: http://www.gnu.org/software/emacs/manual/html_node/emacs/Choosing-Modes.html#Choosing-Modes) + elseif s:line1 =~? '-\*-.*erlang.*-\*-' + set ft=erlang + " CVS diff else let s:lnum = 1 diff --git a/runtime/syntax/c.vim b/runtime/syntax/c.vim index ceb14103b..6a62fe376 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: 2013 Mar 13 +" Last Change: 2013 Jun 06 " Quit when a (custom) syntax file was already loaded if exists("b:current_syntax") diff --git a/runtime/syntax/erlang.vim b/runtime/syntax/erlang.vim index f34a004df..5eb61440c 100644 --- a/runtime/syntax/erlang.vim +++ b/runtime/syntax/erlang.vim @@ -1,23 +1,32 @@ " Vim syntax file " Language: Erlang (http://www.erlang.org) " Maintainer: Csaba Hoch <csaba.hoch@gmail.com> -" Former Maintainer: Kreąimir Marľić (Kresimir Marzic) <kmarzic@fly.srk.fer.hr> -" Last Update: 2013-Mar-07 +" Last Update: 2013-Jun-01 " License: Vim license " URL: https://github.com/hcs42/vim-erlang +" Acknowledgements: This script was originally created by Kresimir Marzic [1]. +" The script was then revamped by Csaba Hoch [2]. During the revamp, the new +" highlighting style and some code was taken from the Erlang syntax script +" that is part of vimerl [3], created by Oscar Hellström [4] and improved by +" Ricardo Catalinas Jiménez [5]. + +" [1]: Kreąimir Marľić (Kresimir Marzic) <kmarzic@fly.srk.fer.hr> +" [2]: Csaba Hoch <csaba.hoch@gmail.com> +" [3]: https://github.com/jimenezrick/vimerl +" [4]: Oscar Hellström <oscar@oscarh.net> (http://oscar.hellstrom.st) +" [5]: Ricardo Catalinas Jiménez <jimenezrick@gmail.com> + " Customization: " -" There are two optional sets of highlighting: -" -" 1. The BIFs (built-in functions) are highlighted by default. To disable -" this, put the following line in your vimrc: +" To use the old highlighting style, add this to your .vimrc: " -" let g:erlang_highlight_bifs = 0 +" let g:erlang_old_style_highlight = 1 " -" 2. To enable highlighting some special atoms, put this in your vimrc: +" To highlight further module attributes, add them to +" ~/.vim/after/syntax/erlang.vim: " -" let g:erlang_highlight_special_atoms = 1 +" syn keyword erlangAttribute myattr1 myattr2 contained " For version 5.x: Clear all syntax items " For version 6.x: Quit when a syntax file was already loaded @@ -35,94 +44,108 @@ if version >= 600 endif " Comments -syn match erlangComment '%.*$' contains=erlangCommentAnnotation,erlangTodo -syn match erlangCommentAnnotation ' \@<=@\%(clear\|docfile\|end\|headerfile\|todo\|TODO\|type\|author\|copyright\|doc\|reference\|see\|since\|title\|version\|deprecated\|hidden\|private\|equiv\|spec\|throws\)' contained -syn match erlangCommentAnnotation /`[^']*'/ contained -syn keyword erlangTodo TODO FIXME XXX contained +syn match erlangComment '%.*$' contains=erlangCommentAnnotation,erlangTodo +syn match erlangCommentAnnotation ' \@<=@\%(clear\|docfile\|end\|headerfile\|todo\|TODO\|type\|author\|copyright\|doc\|reference\|see\|since\|title\|version\|deprecated\|hidden\|private\|equiv\|spec\|throws\)' contained +syn match erlangCommentAnnotation /`[^']*'/ contained +syn keyword erlangTodo TODO FIXME XXX contained +syn match erlangShebang '^#!.*' " Numbers (minimum base is 2, maximum is 36.) -syn match erlangNumberInteger '\<\d\+\>' -syn match erlangNumberInteger '\<\%([2-9]\|[12]\d\|3[0-6]\)\+#[[:alnum:]]\+\>' -syn match erlangNumberFloat '\<\d\+\.\d\+\%([eE][+-]\=\d\+\)\=\>' +syn match erlangNumberInteger '\<\d\+\>' +syn match erlangNumberInteger '\<\%([2-9]\|[12]\d\|3[0-6]\)\+#[[:alnum:]]\+\>' +syn match erlangNumberFloat '\<\d\+\.\d\+\%([eE][+-]\=\d\+\)\=\>' " Strings, atoms, characters -syn region erlangString start=/"/ end=/"/ contains=erlangStringModifier -syn region erlangQuotedAtom start=/'/ end=/'/ contains=erlangQuotedAtomModifier -syn match erlangStringModifier '\~\a\|\\\%(\o\{1,3}\|x\x\x\|x{\x\+}\|\^.\|.\)' contained -syn match erlangQuotedAtomModifier '\~\a\|\\\%(\o\{1,3}\|x\x\x\|x{\x\+}\|\^.\|.\)' contained -syn match erlangModifier '\$\%([^\\]\|\\\%(\o\{1,3}\|x\x\x\|x{\x\+}\|\^.\|.\)\)' - -" Operators -syn match erlangOperator '==\|=:=\|/=\|=/=\|<\|=<\|>\|>=\|++\|--\|=\|!\|<-\|+\|-\|\*\|\/' -syn keyword erlangOperator div rem or xor bor bxor bsl bsr and band not bnot andalso orelse - -" Separators -syn match erlangSeparator '(\|)\|{\|}\|\[\|]\||\|||\|;\|,\|?\|#' -syn match erlangRightArrow '->' - -" Functions call -syn match erlangFCall '\<\%(\a[[:alnum:]@]*\s*\.\s*\)*\a[[:alnum:]@]*\s*:\s*\a[[:alnum:]@]*\>' +syn region erlangString start=/"/ end=/"/ contains=erlangStringModifier +syn region erlangQuotedAtom start=/'/ end=/'/ contains=erlangQuotedAtomModifier +syn match erlangStringModifier '\~\a\|\\\%(\o\{1,3}\|x\x\x\|x{\x\+}\|\^.\|.\)' contained +syn match erlangQuotedAtomModifier '\~\a\|\\\%(\o\{1,3}\|x\x\x\|x{\x\+}\|\^.\|.\)' contained +syn match erlangModifier '\$\%([^\\]\|\\\%(\o\{1,3}\|x\x\x\|x{\x\+}\|\^.\|.\)\)' + +" Operators, separators +syn match erlangOperator '==\|=:=\|/=\|=/=\|<\|=<\|>\|>=\|++\|--\|=\|!\|<-\|+\|-\|\*\|\/' +syn keyword erlangOperator div rem or xor bor bxor bsl bsr and band not bnot andalso orelse +syn match erlangBracket '{\|}\|\[\|]\||\|||' +syn match erlangPipe '|' +syn match erlangRightArrow '->' + +" Atoms, function calls (order is important) +syn match erlangAtom '\<\l[[:alnum:]_@]*' contains=erlangBoolean +syn keyword erlangBoolean true false contained +syn match erlangLocalFuncCall '\<\a[[:alnum:]_@]*\>\%(\%(\s\|\n\|%.*\n\)*(\)\@=' contains=erlangBIF +syn match erlangLocalFuncRef '\<\a[[:alnum:]_@]*\>\%(\%(\s\|\n\|%.*\n\)*/\)\@=' +syn match erlangGlobalFuncCall '\<\%(\a[[:alnum:]_@]*\%(\s\|\n\|%.*\n\)*\.\%(\s\|\n\|%.*\n\)*\)*\a[[:alnum:]_@]*\%(\s\|\n\|%.*\n\)*:\%(\s\|\n\|%.*\n\)*\a[[:alnum:]_@]*\>\%(\%(\s\|\n\|%.*\n\)*(\)\@=' contains=erlangComment +syn match erlangGlobalFuncRef '\<\%(\a[[:alnum:]_@]*\%(\s\|\n\|%.*\n\)*\.\%(\s\|\n\|%.*\n\)*\)*\a[[:alnum:]_@]*\%(\s\|\n\|%.*\n\)*:\%(\s\|\n\|%.*\n\)*\a[[:alnum:]_@]*\>\%(\%(\s\|\n\|%.*\n\)*/\)\@=' contains=erlangComment + +" Variables, macros, records +syn match erlangVariable '\<[A-Z_][[:alnum:]_@]*' +syn match erlangMacro '??\=[[:alnum:]_@]\+' +syn match erlangMacro '\%(-define(\)\@<=[[:alnum:]_@]\+' +syn match erlangRecord '#\s*\l[[:alnum:]_@]*' + +" Bitstrings +syn match erlangBitType '\%(\/\%(\s\|\n\|%.*\n\)*\)\@<=\%(integer\|float\|binary\|bytes\|bitstring\|bits\|binary\|utf8\|utf16\|utf32\|signed\|unsigned\|big\|little\|native\|unit\)\%(\%(\s\|\n\|%.*\n\)*-\%(\s\|\n\|%.*\n\)*\%(integer\|float\|binary\|bytes\|bitstring\|bits\|binary\|utf8\|utf16\|utf32\|signed\|unsigned\|big\|little\|native\|unit\)\)*' contains=erlangComment " Constants and Directives -syn match erlangDirective '-\%(behaviour\|behavior\|compile\|define\|else\|endif\|export\|file\|ifdef\|ifndef\|import\|include_lib\|include\|module\|record\|undef\|author\|copyright\|doc\|vsn\|on_load\|export_type\)\>' +syn match erlangUnknownAttribute '-\%(\s\|\n\|%.*\n\)*\l[[:alnum:]_@]*' contains=erlangComment +syn match erlangAttribute '-\%(\s\|\n\|%.*\n\)*\%(behaviou\=r\|compile\|export\|file\|import\|module\|author\|copyright\|doc\|vsn\|on_load\|export_type\)' contains=erlangComment +syn match erlangInclude '-\%(\s\|\n\|%.*\n\)*\%(include\|include_lib\)\>' contains=erlangComment +syn match erlangRecordDef '-\%(\s\|\n\|%.*\n\)*record\>' contains=erlangComment +syn match erlangDefine '-\%(\s\|\n\|%.*\n\)*\%(define\|undef\)\>' contains=erlangComment +syn match erlangPreCondit '-\%(\s\|\n\|%.*\n\)*\%(ifdef\|ifndef\|else\|endif\)\>' contains=erlangComment +syn match erlangType '-\%(\s\|\n\|%.*\n\)*\%(spec\|type\|opaque\|callback\)\>' contains=erlangComment " Keywords -syn keyword erlangKeyword after begin case catch cond end fun if let of query receive when try -syn keyword erlangExtra true false - - -if !exists("g:erlang_highlight_bifs") || g:erlang_highlight_bifs == 1 - - " build-in-functions (BIFs) - syn keyword erlangBIF abs alive apply atom_to_binary atom_to_list binary_part binary_to_atom binary_to_existing_atom binary_to_float binary_to_integer bitstring_to_list binary_to_list binary_to_term bit_size byte_size check_old_code check_process_code concat_binary date delete_module demonitor disconnect_node element erase error exit float float_to_binary float_to_list garbage_collect get get_keys group_leader halt hd integer_to_binary integer_to_list iolist_to_binary iolist_size is_alive is_atom is_binary is_bitstring is_boolean is_float is_function is_integer is_list is_number is_pid is_port is_process_alive is_record is_reference is_tuple length link list_to_atom list_to_binary list_to_bitstring list_to_existing_atom list_to_float list_to_integer list_to_pid list_to_tuple load_module make_ref max min module_loaded monitor monitor_node node nodes now open_port pid_to_list port_close port_command port_connect pre_loaded process_flag process_flag process_info process purge_module put register registered round self setelement size spawn spawn_link spawn_monitor spawn_opt split_binary statistics term_to_binary throw time tl trunc tuple_size tuple_to_list unlink unregister whereis - -endif - - -if exists("g:erlang_highlight_special_atoms") && g:erlang_highlight_special_atoms == 1 - - " Processes - syn keyword erlangProcess creation current_function dictionary - syn keyword erlangProcess group_leader heap_size high initial_call - syn keyword erlangProcess linked low memory_in_use message_queue - syn keyword erlangProcess net_kernel node normal priority - syn keyword erlangProcess reductions registered_name runnable - syn keyword erlangProcess running stack_trace status timer - syn keyword erlangProcess trap_exit waiting - - " Ports - syn keyword erlangPort command count_in count_out creation in - syn keyword erlangPort in_format linked node out owner packeting - - " Nodes - syn keyword erlangNode atom_tables communicating creation - syn keyword erlangNode current_gc current_reductions current_runtime - syn keyword erlangNode current_wall_clock distribution_port - syn keyword erlangNode entry_points error_handler friends - syn keyword erlangNode garbage_collection magic_cookie magic_cookies - syn keyword erlangNode module_table monitored_nodes name next_ref - syn keyword erlangNode ports preloaded processes reductions - syn keyword erlangNode ref_state registry runtime wall_clock - - " Reserved - syn keyword erlangReserved apply_lambda module_info module_lambdas - syn keyword erlangReserved record record_index record_info - - " Extras - syn keyword erlangExtra badarg nocookie - - " Signals - syn keyword erlangSignal badsig kill killed exit normal -endif +syn keyword erlangKeyword after begin case catch cond end fun if let of query +syn keyword erlangKeyword receive when try + +" Build-in-functions (BIFs) +syn keyword erlangBIF abs alive apply atom_to_binary atom_to_list contained +syn keyword erlangBIF binary_part binary_to_atom contained +syn keyword erlangBIF binary_to_existing_atom binary_to_float contained +syn keyword erlangBIF binary_to_integer bitstring_to_list contained +syn keyword erlangBIF binary_to_list binary_to_term bit_size contained +syn keyword erlangBIF byte_size check_old_code check_process_code contained +syn keyword erlangBIF concat_binary date delete_module demonitor contained +syn keyword erlangBIF disconnect_node element erase error exit contained +syn keyword erlangBIF float float_to_binary float_to_list contained +syn keyword erlangBIF garbage_collect get get_keys group_leader contained +syn keyword erlangBIF halt hd integer_to_binary integer_to_list contained +syn keyword erlangBIF iolist_to_binary iolist_size is_alive contained +syn keyword erlangBIF is_atom is_binary is_bitstring is_boolean contained +syn keyword erlangBIF is_float is_function is_integer is_list contained +syn keyword erlangBIF is_number is_pid is_port is_process_alive contained +syn keyword erlangBIF is_record is_reference is_tuple length link contained +syn keyword erlangBIF list_to_atom list_to_binary contained +syn keyword erlangBIF list_to_bitstring list_to_existing_atom contained +syn keyword erlangBIF list_to_float list_to_integer list_to_pid contained +syn keyword erlangBIF list_to_tuple load_module make_ref max min contained +syn keyword erlangBIF module_loaded monitor monitor_node node contained +syn keyword erlangBIF nodes now open_port pid_to_list port_close contained +syn keyword erlangBIF port_command port_connect pre_loaded contained +syn keyword erlangBIF process_flag process_flag process_info contained +syn keyword erlangBIF process purge_module put register registered contained +syn keyword erlangBIF round self setelement size spawn spawn_link contained +syn keyword erlangBIF spawn_monitor spawn_opt split_binary contained +syn keyword erlangBIF statistics term_to_binary throw time tl contained +syn keyword erlangBIF trunc tuple_size tuple_to_list unlink contained +syn keyword erlangBIF unregister whereis contained " Sync at the beginning of functions: if this is not used, multiline string -" are not always recognized +" are not always recognized, and the indentation script cannot use the +" "searchpair" (because it would not always skip strings and comments when +" looking for keywords and opening parens/brackets). syn sync match erlangSync grouphere NONE "^[a-z]\s*(" +let b:erlang_syntax_synced = 1 + +" Define the default highlighting. See ":help group-name" for the groups and +" their colors. + +let s:old_style = (exists("g:erlang_old_style_highlight") && g:erlang_old_style_highlight == 1) -" Define the default highlighting. " For version 5.7 and earlier: only when not done already " For version 5.8 and later: only when an item doesn't have highlighting yet -if version >= 508 || !exists ("did_erlang_inits") +if version >= 508 || !exists("did_erlang_inits") if version < 508 let did_erlang_inits = 1 command -nargs=+ HiLink hi link <args> @@ -130,46 +153,106 @@ if version >= 508 || !exists ("did_erlang_inits") command -nargs=+ HiLink hi def link <args> endif - " erlang_characters + " Comments HiLink erlangComment Comment HiLink erlangCommentAnnotation Special HiLink erlangTodo Todo - HiLink erlangSeparator Normal - HiLink erlangOperator Operator - HiLink erlangRightArrow Operator + HiLink erlangShebang Comment - HiLink erlangStartString String + " Numbers + HiLink erlangNumberInteger Number + HiLink erlangNumberFloat Float + + " Strings, atoms, characters HiLink erlangString String - HiLink erlangStringModifier Special - HiLink erlangStartQuotedAtom Type - HiLink erlangQuotedAtom Type + if s:old_style + HiLink erlangQuotedAtom Type + else + HiLink erlangQuotedAtom String + endif + + HiLink erlangStringModifier Special HiLink erlangQuotedAtomModifier Special + HiLink erlangModifier Special - HiLink erlangNumberInteger Number - HiLink erlangNumberFloat Float - HiLink erlangNumberHex Number + " Operators, separators + HiLink erlangOperator Operator + HiLink erlangRightArrow Operator + if s:old_style + HiLink erlangBracket Normal + HiLink erlangPipe Normal + else + HiLink erlangBracket Delimiter + HiLink erlangPipe Delimiter + endif - HiLink erlangModifier Special + " Atoms, functions, variables, macros + if s:old_style + HiLink erlangAtom Normal + HiLink erlangLocalFuncCall Normal + HiLink erlangLocalFuncRef Normal + HiLink erlangGlobalFuncCall Function + HiLink erlangGlobalFuncRef Function + HiLink erlangVariable Normal + HiLink erlangMacro Normal + HiLink erlangRecord Normal + else + HiLink erlangAtom String + HiLink erlangLocalFuncCall Normal + HiLink erlangLocalFuncRef Normal + HiLink erlangGlobalFuncCall Normal + HiLink erlangGlobalFuncRef Normal + HiLink erlangVariable Identifier + HiLink erlangMacro Macro + HiLink erlangRecord Structure + endif - " erlang_functions - HiLink erlangFCall Function - HiLink erlangBIF Function + " Bitstrings + if !s:old_style + HiLink erlangBitType Type + endif + + " Constants and Directives + if s:old_style + HiLink erlangAttribute Type + HiLink erlangMacroDef Type + HiLink erlangUnknownAttribute Normal + HiLink erlangInclude Type + HiLink erlangRecordDef Type + HiLink erlangDefine Type + HiLink erlangPreCondit Type + HiLink erlangType Type + else + HiLink erlangAttribute Keyword + HiLink erlangMacroDef Macro + HiLink erlangUnknownAttribute Normal + HiLink erlangInclude Include + HiLink erlangRecordDef Keyword + HiLink erlangDefine Define + HiLink erlangPreCondit PreCondit + HiLink erlangType Type + endif - " erlang_keywords - HiLink erlangDirective Type + " Keywords HiLink erlangKeyword Keyword - HiLink erlangProcess Special - HiLink erlangPort Special - HiLink erlangNode Special - HiLink erlangReserved Statement - HiLink erlangExtra Statement - HiLink erlangSignal Statement + + " Build-in-functions (BIFs) + HiLink erlangBIF Function + + if s:old_style + HiLink erlangBoolean Statement + HiLink erlangExtra Statement + HiLink erlangSignal Statement + else + HiLink erlangBoolean Boolean + HiLink erlangExtra Statement + HiLink erlangSignal Statement + endif delcommand HiLink endif - let b:current_syntax = "erlang" " vim: sw=2 et diff --git a/runtime/syntax/falcon.vim b/runtime/syntax/falcon.vim index 0ff500ccc..1f6fefa9f 100644 --- a/runtime/syntax/falcon.vim +++ b/runtime/syntax/falcon.vim @@ -3,8 +3,8 @@ " Maintainer: Steven Oliver <oliver.steven@gmail.com> " Website: http://github.com/steveno/vim-files/blob/master/syntax/falcon.vim " Credits: Thanks the ruby.vim authors, I borrowed a lot! +" Thanks to the lisp authors for the rainbow code! " ------------------------------------------------------------------------------- -" GetLatestVimScripts: 2745 1 :AutoInstall: falcon.vim " When wanted, highlight the trailing whitespace. if exists("c_space_errors") @@ -56,6 +56,7 @@ syn keyword falconBool true false " Constants syn keyword falconConst PI E nil +syn match falconConstant "\%(\%([.@$]\@<!\.\)\@<!\<\|::\)\_s*\zs\u\w*\%(\>\|::\)\@=\%(\s*(\)\@!" " Comments syn match falconCommentSkip contained "^\s*\*\($\|\s\+\)" @@ -116,6 +117,47 @@ syn region falconString start=+\%(\%(class\s*\|\%([]}).]\|::\)\)\_s*\|\w\)\@<!<< syn region falconString start=+\%(\%(class\s*\|\%([]}).]\|::\)\)\_s*\|\w\)\@<!<<-'\z([^']*\)'\ze+hs=s+3 matchgroup=falconStringDelimiter end=+^\s*\zs\z1$+ fold keepend syn region falconString start=+\%(\%(class\s*\|\%([]}).]\|::\)\)\_s*\|\w\)\@<!<<-`\z([^`]*\)`\ze+hs=s+3 matchgroup=falconStringDelimiter end=+^\s*\zs\z1$+ contains=falconStringEscape fold keepend +" Falcon rainbox to highlight parens in varying colors +if exists("g:falcon_rainbow") && g:falcon_rainbow != 0 + syn region falconParen0 matchgroup=hlLevel0 start="`\=(" end=")" skip="|.\{-}|" contains=@falconListCluster,falconParen1 + syn region falconParen1 contained matchgroup=hlLevel1 start="`\=(" end=")" skip="|.\{-}|" contains=@falconListCluster,falconParen2 + syn region falconParen2 contained matchgroup=hlLevel2 start="`\=(" end=")" skip="|.\{-}|" contains=@falconListCluster,falconParen3 + syn region falconParen3 contained matchgroup=hlLevel3 start="`\=(" end=")" skip="|.\{-}|" contains=@falconListCluster,falconParen4 + syn region falconParen4 contained matchgroup=hlLevel4 start="`\=(" end=")" skip="|.\{-}|" contains=@falconListCluster,falconParen5 + syn region falconParen5 contained matchgroup=hlLevel5 start="`\=(" end=")" skip="|.\{-}|" contains=@falconListCluster,falconParen6 + syn region falconParen6 contained matchgroup=hlLevel6 start="`\=(" end=")" skip="|.\{-}|" contains=@falconListCluster,falconParen7 + syn region falconParen7 contained matchgroup=hlLevel7 start="`\=(" end=")" skip="|.\{-}|" contains=@falconListCluster,falconParen8 + syn region falconParen8 contained matchgroup=hlLevel8 start="`\=(" end=")" skip="|.\{-}|" contains=@falconListCluster,falconParen9 + syn region falconParen9 contained matchgroup=hlLevel9 start="`\=(" end=")" skip="|.\{-}|" contains=@falconListCluster,falconParen0 +endif + +" Setup the colors for the rainbox +if exists("g:falcon_rainbow") && g:falcon_rainbow != 0 + if &bg == "dark" + hi def hlLevel0 ctermfg=red guifg=red1 + hi def hlLevel1 ctermfg=yellow guifg=orange1 + hi def hlLevel2 ctermfg=green guifg=yellow1 + hi def hlLevel3 ctermfg=cyan guifg=greenyellow + hi def hlLevel4 ctermfg=magenta guifg=green1 + hi def hlLevel5 ctermfg=red guifg=springgreen1 + hi def hlLevel6 ctermfg=yellow guifg=cyan1 + hi def hlLevel7 ctermfg=green guifg=slateblue1 + hi def hlLevel8 ctermfg=cyan guifg=magenta1 + hi def hlLevel9 ctermfg=magenta guifg=purple1 + else + hi def hlLevel0 ctermfg=red guifg=red3 + hi def hlLevel1 ctermfg=darkyellow guifg=orangered3 + hi def hlLevel2 ctermfg=darkgreen guifg=orange2 + hi def hlLevel3 ctermfg=blue guifg=yellow3 + hi def hlLevel4 ctermfg=darkmagenta guifg=olivedrab4 + hi def hlLevel5 ctermfg=red guifg=green4 + hi def hlLevel6 ctermfg=darkyellow guifg=paleturquoise3 + hi def hlLevel7 ctermfg=darkgreen guifg=deepskyblue4 + hi def hlLevel8 ctermfg=blue guifg=darkslateblue + hi def hlLevel9 ctermfg=darkmagenta guifg=darkviolet + endif +endif + " Syntax Synchronizing syn sync minlines=10 maxlines=100 @@ -132,6 +174,7 @@ if !exists("did_falcon_syn_inits") HiLink falconComment Comment HiLink falconCommentL Comment HiLink falconConst Constant + HiLink falconConstants Constant HiLink falconOperator Operator HiLink falconSymbol Normal HiLink falconSpaceError Error @@ -153,3 +196,4 @@ endif let b:current_syntax = "falcon" " vim: set sw=4 sts=4 et tw=80 : + diff --git a/runtime/syntax/help.vim b/runtime/syntax/help.vim index 68e0a1a7f..ee5563e6b 100644 --- a/runtime/syntax/help.vim +++ b/runtime/syntax/help.vim @@ -1,7 +1,7 @@ " Vim syntax file " Language: Vim help file " Maintainer: Bram Moolenaar (Bram@vim.org) -" Last Change: 2013 Apr 07 +" Last Change: 2013 Jun 02 " Quit when a (custom) syntax file was already loaded if exists("b:current_syntax") diff --git a/runtime/syntax/r.vim b/runtime/syntax/r.vim index d92f5c5bd..5e76e7af7 100644 --- a/runtime/syntax/r.vim +++ b/runtime/syntax/r.vim @@ -3,7 +3,7 @@ " Maintainer: Jakson Aquino <jalvesaq@gmail.com> " Former Maintainers: Vaidotas Zemlys <zemlys@gmail.com> " Tom Payne <tom@tompayne.org> -" Last Change: Sun Feb 20, 2011 12:06PM +" Last Change: Sun May 19, 2013 05:59PM " Filenames: *.R *.r *.Rhistory *.Rt " " NOTE: The highlighting of R functions is defined in the @@ -30,7 +30,16 @@ endif syn case match " Comment -syn match rComment contains=@Spell "\#.*" +syn match rComment contains=@Spell "#.*" + +" Roxygen +syn match rOKeyword contained "@\(param\|return\|name\|rdname\|examples\|include\|docType\)" +syn match rOKeyword contained "@\(S3method\|TODO\|aliases\|alias\|assignee\|author\|callGraphDepth\|callGraph\)" +syn match rOKeyword contained "@\(callGraphPrimitives\|concept\|exportClass\|exportMethod\|exportPattern\|export\|formals\)" +syn match rOKeyword contained "@\(format\|importClassesFrom\|importFrom\|importMethodsFrom\|import\|keywords\)" +syn match rOKeyword contained "@\(method\|nord\|note\|references\|seealso\|setClass\|slot\|source\|title\|usage\)" +syn match rOComment contains=@Spell,rOKeyword "#'.*" + if &filetype == "rhelp" " string enclosed in double quotes @@ -65,7 +74,7 @@ syn keyword rConditional if else syn keyword rRepeat for in repeat while " Constant (not really) -syn keyword rConstant T F LETTERS letters month.ab month.name pi +syn keyword rConstant T F LETTERS letters month.abb month.name pi syn keyword rConstant R.version.string syn keyword rNumber NA_integer_ NA_real_ NA_complex_ NA_character_ @@ -105,8 +114,13 @@ syn match rOperator '-' syn match rOperator '\*' syn match rOperator '+' syn match rOperator '=' -syn match rOperator "[|!<>^~`/:@]" -syn match rOperator "%\{2}\|%\*%\|%\/%\|%in%\|%o%\|%x%" +if &filetype != "rmd" && &filetype != "rrst" + syn match rOperator "[|!<>^~/:]" +else + syn match rOperator "[|!<>^~`/:]" +endif +syn match rOperator "%\{2}\|%\S*%" +syn match rOpError '\*\{3}' syn match rOpError '//' syn match rOpError '&&&' syn match rOpError '|||' @@ -140,9 +154,11 @@ syn match rParenError "[\]}]" contained runtime r-plugin/functions.vim syn match rDollar display contained "\$" +syn match rDollar display contained "@" " List elements will not be highlighted as functions: syn match rLstElmt "\$[a-zA-Z0-9\\._]*" contains=rDollar +syn match rLstElmt "@[a-zA-Z0-9\\._]*" contains=rDollar " Functions that may add new objects syn keyword rPreProc library require attach detach source @@ -156,7 +172,9 @@ endif syn keyword rType array category character complex double function integer list logical matrix numeric vector data.frame " Name of object with spaces -syn region rNameWSpace start="`" end="`" +if &filetype != "rmd" && &filetype != "rrst" + syn region rNameWSpace start="`" end="`" +endif if &filetype == "rhelp" syn match rhPreProc "^#ifdef.*" @@ -169,6 +187,7 @@ hi def link rArrow Statement hi def link rBoolean Boolean hi def link rBraceError Error hi def link rComment Comment +hi def link rOComment Comment hi def link rComplex Number hi def link rConditional Conditional hi def link rConstant Constant @@ -195,6 +214,7 @@ hi def link rStatement Statement hi def link rString String hi def link rStrError Error hi def link rType Type +hi def link rOKeyword Title let b:current_syntax="r" diff --git a/runtime/syntax/rst.vim b/runtime/syntax/rst.vim index b68089720..159d14ef3 100644 --- a/runtime/syntax/rst.vim +++ b/runtime/syntax/rst.vim @@ -1,7 +1,7 @@ " Vim syntax file " Language: reStructuredText documentation format " Maintainer: Nikolai Weibull <now@bitwi.se> -" Latest Revision: 2012-11-01 +" Latest Revision: 2013-06-03 if exists("b:current_syntax") finish @@ -135,10 +135,6 @@ execute 'syn match rstHyperlinkReference' . syn match rstStandaloneHyperlink contains=@NoSpell \ "\<\%(\%(\%(https\=\|file\|ftp\|gopher\)://\|\%(mailto\|news\):\)[^[:space:]'\"<>]\+\|www[[:alnum:]_-]*\.[[:alnum:]_-]\+\.[^[:space:]'\"<>]\+\)[[:alnum:]/]" -" TODO: Use better syncing. I don’t know the specifics of syncing well enough, -" though. -syn sync minlines=50 linebreaks=1 - syn region rstCodeBlock contained matchgroup=rstDirective \ start=+\%(sourcecode\|code\%(-block\)\=\)::\s+ \ skip=+^$+ @@ -160,6 +156,9 @@ for code in g:rst_syntax_code_list exe 'syn cluster rstDirectives add=rstDirective'.code endfor +" TODO: Use better syncing. +syn sync minlines=50 linebreaks=2 + hi def link rstTodo Todo hi def link rstComment Comment hi def link rstSections Title |