# HG changeset patch # User Bram Moolenaar # Date 1370547400 -7200 # Node ID 2b11ac90d9e9dce99ad30d576712571898256273 # Parent 5df5676c880fe2aa215005c916632a908784d2b8 Updated runtime files. diff --git a/runtime/compiler/haml.vim b/runtime/compiler/haml.vim --- a/runtime/compiler/haml.vim +++ b/runtime/compiler/haml.vim @@ -1,3 +1,8 @@ +" Vim compiler file +" Compiler: Haml +" Maintainer: Tim Pope +" Last Change: 2013 May 30 + if exists("current_compiler") finish endif diff --git a/runtime/compiler/sass.vim b/runtime/compiler/sass.vim --- a/runtime/compiler/sass.vim +++ b/runtime/compiler/sass.vim @@ -1,3 +1,8 @@ +" Vim compiler file +" Compiler: Sass +" Maintainer: Tim Pope +" 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 --- 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 --- 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 --- 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 shor 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 shor 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 --- 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 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 --- 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 sl 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 --- a/runtime/doc/tags +++ b/runtime/doc/tags @@ -2876,6 +2876,7 @@ 90.5 usr_90.txt /*90.5* :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-bin 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-dyna 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 --- 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,34 +34,18 @@ not be repeated below, unless there is e *known-bugs* -------------------- Known bugs and current work ----------------------- +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) + +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." + --- 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. - -Mac: OS/X 10.4 with Python 2.5 installed: configure finds an extra argument -that breaks the build. (Brian Victor, 2008 Sep 1) - -Patch to access screen under Python. (Marko Mahni, 2010 Jul 18) - Python: ":py raw_input('prompt')" doesn't work. (Manu Hack) Win32: The Python interface only works with one version of Python, selected at @@ -71,8 +55,19 @@ Python: Be able to define a Python funct 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 Patch for JavaScript syntax. (Kevin Locke, 2013 May 9) Claudio didn't respond yet. ---- Fast regexp engine - -Error in HTML highlighting. (Hiroshi Shirosaki) - -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. - -Allow "^*" as a literal "*". - -Need more testing for \1 back references. +upstream_dat, usserver_log et al. syntax files. (Rob Owens, 2013 Jun 5) + +--- New regexp engine + +Does not work (yet) with NFA: +- \%u, \%x, \%o, \%d followed by a composing character + +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. (Na 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 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 proces "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 --- a/runtime/indent/erlang.vim +++ b/runtime/indent/erlang.vim @@ -4,7 +4,7 @@ " Contributors: Edwin Fine " Pawel 'kTT' Salata " Ricardo Catalinas Jiménez -" 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, stac endif endif - elseif token == 'end' - let [lnum_new, col_new] = s:SearchEndPair(lnum, curr_col) + elseif index(['end', ')', ']', '}', '>>'], token) != -1 + + " 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) + + " We don't have searchpair optimization for '>>' + elseif token == '>>' + 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"') + elseif token == 'end' + let [lnum_new, col_new] = s:SearchEndPair(lnum, curr_col) + + 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 - 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 + else " token is one of the following: ')', ']', '}' - elseif index([')', ']', '}'], token) != -1 + call s:Push(stack, token) - call s:Push(stack, token) + " We have to escape '[', because this string will be interpreted as a + " regexp + let open_paren = (token == ')' ? '(' : + \token == ']' ? '\[' : + \ '{') - " We have to escape '[', because this string will be interpreted as a - " regexp - let open_paren = (token == ')' ? '(' : - \token == ']' ? '\[' : - \ '{') - - let [lnum_new, col_new] = s:SearchPair(lnum, curr_col, - \open_paren, '', token) + let [lnum_new, col_new] = s:SearchPair(lnum, curr_col, + \open_paren, '', 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 + 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])) + 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 + " 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 --- 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 -" Last Change: 26 Apr 2004 +" Maintainer: Sergey Alyoshin +" Previous Maintainer: vassily ragosin +" 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 , @@ -50,6 +51,7 @@ menutrans &About & " File menu menutrans &Open\.\.\.:e &\.\.\.:e menutrans Sp&lit-Open\.\.\.:sp &\ \.\.\.:sp +menutrans Open\ Tab\.\.\.:tabnew \ &\.\.\.:tabnew menutrans &New:enew &:enew menutrans &Close:close &:close "-------------------- @@ -77,51 +79,57 @@ menutrans Put\ &After]p \ &]p menutrans &Deletex &x menutrans &Select\ AllggVG &\ ӣggVG "-------------------- +" Athena GUI only +menutrans &Find/ &/ +menutrans Find\ and\ Rep&lace:%s \ \ &:%s +" End Athena GUI only menutrans &Find\.\.\./ &\.\.\./ menutrans Find\ and\ Rep&lace\.\.\. \ \ &\.\.\. menutrans Find\ and\ Rep&lace\.\.\.:%s \ \ &\.\.\.:%s -menutrans Find\ and\ Rep&lace\.\.\.:s \ \ &\.\.\.:s +menutrans Find\ and\ Rep&lace\.\.\.:s \ \ &\.\.\.: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:set\ hls! \ &\ :set\ hls! -menutrans Toggle\ &Ignore-case:set\ ic! &\ :set\ ic! -menutrans Toggle\ &Showmatch:set\ sm! \ \ &:set\ sm! -menutrans &Context\ lines &\ \ -menutrans &Virtual\ Edit &\ -menutrans Toggle\ Insert\ &Mode:set\ im! \ &:set\ im! -menutrans Toggle\ Vi\ C&ompatible:set\ cp! &\ \ Vi:set\ cp! -menutrans Search\ &Path\.\.\. &\ \ \ \.\.\. -menutrans Ta&g\ Files\.\.\. \ &\.\.\. +menutrans Toggle\ Pattern\ &Highlight:set\ hls! \ &\ :set\ hls! +menutrans Toggle\ &Ignore-case:set\ ic! &\ :set\ ic! +menutrans Toggle\ &Showmatch:set\ sm! \ \ &:set\ sm! +menutrans &Context\ lines &\ \ +menutrans &Virtual\ Edit &\ +menutrans Toggle\ Insert\ &Mode:set\ im! \ &:set\ im! +menutrans Toggle\ Vi\ C&ompatible:set\ cp! &\ \ Vi: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\ &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:set\ nu! &\ :set\ nu! -menutrans Toggle\ &List\ Mode:set\ list! &\ \ :set\ list! -menutrans Toggle\ Line\ &Wrap:set\ wrap! &\ \ :set\ wrap! -menutrans Toggle\ W&rap\ at\ word:set\ lbr! \ &\ :set\ lbr! -menutrans Toggle\ &expand-tab:set\ et! &\ \ :set\ et! -menutrans Toggle\ &auto-indent:set\ ai! \ \ &:set\ ai! -menutrans Toggle\ &C-indenting:set\ cin! \ \ \ &\ C:set\ cin! +menutrans Toggle\ Line\ &Numbering:set\ nu! &\ :set\ nu! +menutrans Toggle\ relati&ve\ Line\ Numbering:set\ rnu! &\ \ :set\ nru! +menutrans Toggle\ &List\ Mode:set\ list! &\ \ :set\ list! +menutrans Toggle\ Line\ &Wrap:set\ wrap! &\ \ :set\ wrap! +menutrans Toggle\ W&rap\ at\ word:set\ lbr! \ &\ :set\ lbr! +menutrans Toggle\ &expand-tab:set\ et! &\ \ :set\ et! +menutrans Toggle\ &auto-indent:set\ ai! \ \ &:set\ ai! +menutrans Toggle\ &C-indenting:set\ cin! \ \ \ &\ C: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^T &\ ^T menutrans Build\ &Tags\ File \ &\ "------------------- menutrans &Folding \ \ & +menutrans &Spelling & menutrans &Diff &\ (diff) "------------------- menutrans &Make:make &:make @@ -141,10 +150,26 @@ menutrans &Previous\ Error:cp &\ :cp menutrans &Older\ List:cold \ &\ \ :cold menutrans N&ewer\ List:cnew \ &\ \ :cnew menutrans Error\ &Window &\ -menutrans &Set\ Compiler \ & +menutrans Se&T\ Compiler \ & "------------------- menutrans &Convert\ to\ HEX:%!xxd &\ \ HEX:%!xxd menutrans Conve&rt\ back:%!xxd\ -r \ &\ HEX:%!xxd\ -r +">>>---------------- Tools/Spelling +menutrans &Spell\ Check\ On &\ \ +menutrans Spell\ Check\ &Off &\ \ +menutrans To\ &Next\ error]s &\ +menutrans To\ &Previous\ error[s &\ +menutrans Suggest\ &Correctionsz= \ & +menutrans &Repeat\ correction: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\ foldszi /\ &zi menutrans &View\ Cursor\ Linezv \ \ \ &zv @@ -219,7 +244,7 @@ menutrans M&in\ Height^W1_ \ &^W1_ menutrans Max\ &Width^W\| \ &^W\| menutrans Min\ Widt&h^W1\| &\ ^W1\| ">>>----------------- Window/Move To -menutrans &Top^WK &^WK +menutrans &Top^WK &^WK menutrans &Bottom^WJ &^WJ menutrans &Left\ side^WH &^WH menutrans &Right\ side^WL &^WL diff --git a/runtime/lang/menu_ru_ru.vim b/runtime/lang/menu_ru_ru.vim --- a/runtime/lang/menu_ru_ru.vim +++ b/runtime/lang/menu_ru_ru.vim @@ -1,6 +1,7 @@ " Menu Translations: Russian -" Maintainer: vassily ragosin -" Last Change: 26 Apr 2004 +" Maintainer: Sergey Alyoshin +" Previous Maintainer: vassily ragosin +" 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\.\.\.:e &Открыть\.\.\.:e menutrans Sp&lit-Open\.\.\.:sp По&делить\ окно\.\.\.:sp +menutrans Open\ Tab\.\.\.:tabnew Открыть\ в&кладку\.\.\.:tabnew menutrans &New:enew &Новый:enew menutrans &Close:close &Закрыть:close "-------------------- @@ -77,51 +79,57 @@ menutrans Put\ &After]p Вклеить\ по&сле]p menutrans &Deletex &Удалитьx menutrans &Select\ AllggVG В&ыделить\ всёggVG "-------------------- +" Athena GUI only +menutrans &Find/ &Поиск/ +menutrans Find\ and\ Rep&lace:%s Поиск\ и\ &замена:%s +" End Athena GUI only menutrans &Find\.\.\./ &Поиск\.\.\./ -menutrans Find\ and\ Rep&lace\.\.\. Поиск\ и\ &замена\.\.\. -menutrans Find\ and\ Rep&lace\.\.\.:%s Поиск\ и\ &замена\.\.\.:%s -menutrans Find\ and\ Rep&lace\.\.\.:s Поиск\ и\ &замена\.\.\.:s +menutrans Find\ and\ Rep&lace\.\.\. Поиск\ и\ &замена\.\.\. +menutrans Find\ and\ Rep&lace\.\.\.:%s Поиск\ и\ &замена\.\.\.:%s +menutrans Find\ and\ Rep&lace\.\.\.:s Поиск\ и\ &замена\.\.\.: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:set\ hls! Подсветка\ &найденных\ соответствий:set\ hls! -menutrans Toggle\ &Ignore-case:set\ ic! &Регистронезависимый\ поиск:set\ ic! -menutrans Toggle\ &Showmatch:set\ sm! Показывать\ парные\ &элементы:set\ sm! -menutrans &Context\ lines Стр&ок\ вокруг\ курсора -menutrans &Virtual\ Edit Вир&туальное\ редактирование -menutrans Toggle\ Insert\ &Mode:set\ im! Режим\ &Вставки:set\ im! -menutrans Toggle\ Vi\ C&ompatible:set\ cp! &Совместимость\ с\ Vi:set\ cp! -menutrans Search\ &Path\.\.\. &Путь\ для\ поиска\ файлов\.\.\. -menutrans Ta&g\ Files\.\.\. Файлы\ &меток\.\.\. +menutrans Toggle\ Pattern\ &Highlight:set\ hls! Подсветка\ &найденных\ соответствий:set\ hls! +menutrans Toggle\ &Ignore-case:set\ ic! &Регистронезависимый\ поиск:set\ ic! +menutrans Toggle\ &Showmatch:set\ sm! Показывать\ парные\ &элементы:set\ sm! +menutrans &Context\ lines Стр&ок\ вокруг\ курсора +menutrans &Virtual\ Edit Вир&туальное\ редактирование +menutrans Toggle\ Insert\ &Mode:set\ im! Режим\ &Вставки:set\ im! +menutrans Toggle\ Vi\ C&ompatible:set\ cp! &Совместимость\ с\ Vi: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\ &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:set\ nu! &Нумерация\ строк:set\ nu! -menutrans Toggle\ &List\ Mode:set\ list! Отобра&жение\ невидимых\ символов:set\ list! -menutrans Toggle\ Line\ &Wrap:set\ wrap! &Перенос\ длинных\ строк:set\ wrap! -menutrans Toggle\ W&rap\ at\ word:set\ lbr! Перенос\ &целых\ слов:set\ lbr! -menutrans Toggle\ &expand-tab:set\ et! Про&белы\ вместо\ табуляции:set\ et! -menutrans Toggle\ &auto-indent:set\ ai! Автоматическое\ форматирование\ &отступов:set\ ai! -menutrans Toggle\ &C-indenting:set\ cin! Форматирование\ отступов\ в\ &стиле\ C:set\ cin! +menutrans Toggle\ Line\ &Numbering:set\ nu! &Нумерация\ строк:set\ nu! +menutrans Toggle\ relati&ve\ Line\ Numbering:set\ rnu! Относите&льная\ нумерация\ строк:set\ nru! +menutrans Toggle\ &List\ Mode:set\ list! Отобра&жение\ невидимых\ символов:set\ list! +menutrans Toggle\ Line\ &Wrap:set\ wrap! &Перенос\ длинных\ строк:set\ wrap! +menutrans Toggle\ W&rap\ at\ word:set\ lbr! Перенос\ &целых\ слов:set\ lbr! +menutrans Toggle\ &expand-tab:set\ et! Про&белы\ вместо\ табуляции:set\ et! +menutrans Toggle\ &auto-indent:set\ ai! Автоматическое\ форматирование\ &отступов:set\ ai! +menutrans Toggle\ &C-indenting:set\ cin! Форматирование\ отступов\ в\ &стиле\ C: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^T &Вернуться\ назад^T menutrans Build\ &Tags\ File Создать\ &файл\ меток "------------------- menutrans &Folding Работа\ со\ &складками +menutrans &Spelling Пр&авописание menutrans &Diff &Отличия\ (diff) "------------------- menutrans &Make:make Ко&мпиляция:make @@ -141,10 +150,26 @@ menutrans &Previous\ Error:cp П&редыдущая\ ошибка:cp menutrans &Older\ List:cold Более\ стар&ый\ список\ ошибок:cold menutrans N&ewer\ List:cnew Более\ све&жий\ список\ ошибок:cnew menutrans Error\ &Window Ок&но\ ошибок -menutrans &Set\ Compiler Выбор\ &компилятора +menutrans Se&T\ Compiler Выбор\ &компилятора "------------------- menutrans &Convert\ to\ HEX:%!xxd П&еревести\ в\ HEX:%!xxd menutrans Conve&rt\ back:%!xxd\ -r Перевести\ и&з\ HEX:%!xxd\ -r +">>>---------------- Tools/Spelling +menutrans &Spell\ Check\ On &Вкл\ проверку\ правописания +menutrans Spell\ Check\ &Off Вы&кл\ проверку\ правописания +menutrans To\ &Next\ error]s &Следующая\ ошибка +menutrans To\ &Previous\ error[s &Предыдущая\ ошибка +menutrans Suggest\ &Correctionsz= Предложить\ исп&равления +menutrans &Repeat\ correction: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\ foldszi Вкл/выкл\ &складкиzi menutrans &View\ Cursor\ Linezv Открыть\ строку\ с\ &курсоромzv @@ -219,7 +244,7 @@ menutrans M&in\ Height^W1_ Минимальная\ высо&та^W1_ menutrans Max\ &Width^W\| Максимальная\ &ширина^W\| menutrans Min\ Widt&h^W1\| Минимал&ьная\ ширина^W1\| ">>>----------------- Window/Move To -menutrans &Top^WK На&верх^WK +menutrans &Top^WK В&верх^WK menutrans &Bottom^WJ В&низ^WJ menutrans &Left\ side^WH В&лево^WH menutrans &Right\ side^WL В&право^WL diff --git a/runtime/scripts.vim b/runtime/scripts.vim --- 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 --- a/runtime/syntax/c.vim +++ b/runtime/syntax/c.vim @@ -1,7 +1,7 @@ " Vim syntax file " Language: C " Maintainer: Bram Moolenaar -" 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 --- 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 -" Former Maintainer: Kreąimir Marľić (Kresimir Marzic) -" 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) +" [2]: Csaba Hoch +" [3]: https://github.com/jimenezrick/vimerl +" [4]: Oscar Hellström (http://oscar.hellstrom.st) +" [5]: Ricardo Catalinas Jiménez + " Customization: " -" There are two optional sets of highlighting: +" To use the old highlighting style, add this to your .vimrc: " -" 1. The BIFs (built-in functions) are highlighted by default. To disable -" this, put the following line in your vimrc: +" let g:erlang_old_style_highlight = 1 " -" let g:erlang_highlight_bifs = 0 +" To highlight further module attributes, add them to +" ~/.vim/after/syntax/erlang.vim: " -" 2. To enable highlighting some special atoms, put this in your vimrc: -" -" 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\+}\|\^.\|.\)\)' +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 '->' -" Operators -syn match erlangOperator '==\|=:=\|/=\|=/=\|<\|=<\|>\|>=\|++\|--\|=\|!\|<-\|+\|-\|\*\|\/' -syn keyword erlangOperator div rem or xor bor bxor bsl bsr and band not bnot andalso orelse +" 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 -" Separators -syn match erlangSeparator '(\|)\|{\|}\|\[\|]\||\|||\|;\|,\|?\|#' -syn match erlangRightArrow '->' +" Variables, macros, records +syn match erlangVariable '\<[A-Z_][[:alnum:]_@]*' +syn match erlangMacro '??\=[[:alnum:]_@]\+' +syn match erlangMacro '\%(-define(\)\@<=[[:alnum:]_@]\+' +syn match erlangRecord '#\s*\l[[:alnum:]_@]*' -" Functions call -syn match erlangFCall '\<\%(\a[[:alnum:]@]*\s*\.\s*\)*\a[[:alnum:]@]*\s*:\s*\a[[: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 +syn keyword erlangKeyword after begin case catch cond end fun if let of query +syn keyword erlangKeyword receive when try - " 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 +" 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. +" 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) + " 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 @@ -130,46 +153,106 @@ if version >= 508 || !exists ("did_erlan command -nargs=+ HiLink hi def link 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 - HiLink erlangString String - HiLink erlangStringModifier Special - - HiLink erlangStartQuotedAtom Type - HiLink erlangQuotedAtom Type - HiLink erlangQuotedAtomModifier Special - + " Numbers HiLink erlangNumberInteger Number HiLink erlangNumberFloat Float - HiLink erlangNumberHex Number + + " Strings, atoms, characters + HiLink erlangString String + if s:old_style + HiLink erlangQuotedAtom Type + else + HiLink erlangQuotedAtom String + endif + + HiLink erlangStringModifier Special + HiLink erlangQuotedAtomModifier Special HiLink erlangModifier Special - " erlang_functions - HiLink erlangFCall Function + " 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 + + " 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 + + " 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 + + " Keywords + HiLink erlangKeyword Keyword + + " Build-in-functions (BIFs) HiLink erlangBIF Function - " erlang_keywords - HiLink erlangDirective Type - HiLink erlangKeyword Keyword - HiLink erlangProcess Special - HiLink erlangPort Special - HiLink erlangNode Special - HiLink erlangReserved Statement - HiLink erlangExtra Statement - HiLink erlangSignal Statement + 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 --- a/runtime/syntax/falcon.vim +++ b/runtime/syntax/falcon.vim @@ -3,8 +3,8 @@ " Maintainer: Steven Oliver " 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*(\)\@!" " Comments syn match falconCommentSkip contained "^\s*\*\($\|\s\+\)" @@ -116,6 +117,47 @@ syn region falconString start=+\%(\%(cla syn region falconString start=+\%(\%(class\s*\|\%([]}).]\|::\)\)\_s*\|\w\)\@ " Former Maintainers: Vaidotas Zemlys " Tom Payne -" 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 --- a/runtime/syntax/rst.vim +++ b/runtime/syntax/rst.vim @@ -1,7 +1,7 @@ " Vim syntax file " Language: reStructuredText documentation format " Maintainer: Nikolai Weibull -" 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