]> granicus.if.org Git - vim/commitdiff
Updated runtime files.
authorBram Moolenaar <Bram@vim.org>
Thu, 6 Jun 2013 19:36:40 +0000 (21:36 +0200)
committerBram Moolenaar <Bram@vim.org>
Thu, 6 Jun 2013 19:36:40 +0000 (21:36 +0200)
19 files changed:
runtime/compiler/haml.vim
runtime/compiler/sass.vim
runtime/doc/if_pyth.txt
runtime/doc/index.txt
runtime/doc/options.txt
runtime/doc/pattern.txt
runtime/doc/syntax.txt
runtime/doc/tags
runtime/doc/todo.txt
runtime/indent/erlang.vim
runtime/lang/menu_ru_ru.koi8-r.vim
runtime/lang/menu_ru_ru.vim
runtime/scripts.vim
runtime/syntax/c.vim
runtime/syntax/erlang.vim
runtime/syntax/falcon.vim
runtime/syntax/help.vim
runtime/syntax/r.vim
runtime/syntax/rst.vim

index faa1fd9780b968cb690bbb44c5e3920444d5d9cf..b06a672df720673717f96f2dd006454b2331fde5 100644 (file)
@@ -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
index 8340b9c7de98b64c4b2c2ac6efe2e9758cc564b3..376a52b303e403f61055f44e84f3d7e3fef3646e 100644 (file)
@@ -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
index 7bd9b377e4c885e439810f18e22b626ddd0de348..165131e64be6643e0025f8fc40303425aa5fc175 100644 (file)
@@ -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.
index 6b8d445e47af4593ec61c21432d430a0b9006c80..c2b1ca160028900d645af76bd4738a5d6f37c6a0 100644 (file)
@@ -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
index 6b01d7c179005e7891bb27656912f42f53611367..d7f9db011f6a13f0398e34e6bc51ca74c3bdd210 100644 (file)
@@ -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)
index e90e38839104b255a508a628eb0c6bc935c099b2..69b4a9f220be1924c7ba3d0e4b89b9fca8b4e439 100644 (file)
@@ -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)
index 7f296d142afa3a1191847df5c2540bbd859cc0ba..3779de12e3225ffe8d68550259d2362691032c51 100644 (file)
@@ -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
index f02c4c296740e303420754067022bfd0fe3db293..69ed5336d0c5af22466f9bbffa8a416eac10c7f5 100644 (file)
@@ -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*
index e77fb55c52726a427b3f4bfd5d3fa71177375b39..5f0160323403fc0728a13b69967c9e54cb7d5fbb 100644 (file)
@@ -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.
index 416c40e9358f74bb2daf5f6a605b4eb3a1dfbf34..c11bbeb4b7eff5cc96a16690a554d0ae703d3730 100644 (file)
@@ -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
index 0d4fbaa2ab3bfa52f59437ce5a75808c56b4e6b3..e66b728e7d71301164623e7ac2f34f48fe7e117b 100644 (file)
@@ -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                
 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                                &
 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                        
 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_                             
 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
index 23a111ab759d0868ed58241197996d0569975cb2..69616083b0e9510b328c177c6867d57a8dc75bfc 100644 (file)
@@ -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                                 Ð\9dа&верх<Tab>^WK
+menutrans &Top<Tab>^WK                                 Ð\92&верх<Tab>^WK
 menutrans &Bottom<Tab>^WJ                              В&низ<Tab>^WJ
 menutrans &Left\ side<Tab>^WH                          В&лево<Tab>^WH
 menutrans &Right\ side<Tab>^WL                         В&право<Tab>^WL
index 459b03064bca5ed9a5050f8f4f98989d4c0398fd..251e4c8f0862f0fa96a6bba61fbbd73c0b4cf307 100644 (file)
@@ -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
index ceb14103b9defd81c7606a55c5adda4b446988cd..6a62fe3762e9c7e38e6377495fa8eb993d1c8da0 100644 (file)
@@ -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")
index f34a004df6d2a7a4b68c895dd4e204b13eb378ad..5eb61440ccf59646800d7347729ffeb37b59c7c8 100644 (file)
@@ -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
index 0ff500ccc93e62ea9b945e81d7105dd145beaac1..1f6fefa9ffa83536c6ab912455aa719eb67e6fca 100644 (file)
@@ -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 :
+
index 68e0a1a7f48d6546f87ad5bce28e4e3f20252a57..ee5563e6bdfb32ecaea85c86636e6208974cebe1 100644 (file)
@@ -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")
index d92f5c5bd0412fccdffad777325606074e36587d..5e76e7af7f92ecf521b1a9678eb4f0df07f25434 100644 (file)
@@ -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"
 
index b68089720bc8f1ade0aa10d1301ea1361cbdd346..159d14ef3718acabeb5448452830358878c6818b 100644 (file)
@@ -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