diff options
-rw-r--r-- | runtime/doc/autocmd.txt | 5 | ||||
-rw-r--r-- | runtime/doc/cmdline.txt | 7 | ||||
-rw-r--r-- | runtime/doc/eval.txt | 6 | ||||
-rw-r--r-- | runtime/doc/filetype.txt | 5 | ||||
-rw-r--r-- | runtime/doc/pattern.txt | 10 | ||||
-rw-r--r-- | runtime/doc/syntax.txt | 41 | ||||
-rw-r--r-- | runtime/doc/tags | 1 | ||||
-rw-r--r-- | runtime/doc/todo.txt | 112 | ||||
-rw-r--r-- | runtime/doc/usr_03.txt | 9 | ||||
-rw-r--r-- | runtime/ftplugin/fortran.vim | 25 | ||||
-rw-r--r-- | runtime/indent/fortran.vim | 27 | ||||
-rw-r--r-- | runtime/indent/sh.vim | 4 | ||||
-rw-r--r-- | runtime/plugin/matchparen.vim | 11 | ||||
-rw-r--r-- | runtime/syntax/cmake.vim | 6 | ||||
-rw-r--r-- | runtime/syntax/debchangelog.vim | 6 | ||||
-rw-r--r-- | runtime/syntax/debcontrol.vim | 4 | ||||
-rw-r--r-- | runtime/syntax/debsources.vim | 9 | ||||
-rw-r--r-- | runtime/syntax/fortran.vim | 22 | ||||
-rw-r--r-- | runtime/syntax/objc.vim | 132 | ||||
-rw-r--r-- | runtime/syntax/php.vim | 4 | ||||
-rw-r--r-- | runtime/syntax/sshconfig.vim | 14 | ||||
-rw-r--r-- | runtime/syntax/sshdconfig.vim | 78 |
22 files changed, 380 insertions, 158 deletions
diff --git a/runtime/doc/autocmd.txt b/runtime/doc/autocmd.txt index 0e61c2ddfd..4de5b16194 100644 --- a/runtime/doc/autocmd.txt +++ b/runtime/doc/autocmd.txt @@ -1,4 +1,4 @@ -*autocmd.txt* For Vim version 7.4. Last change: 2015 Aug 18 +*autocmd.txt* For Vim version 7.4. Last change: 2015 Dec 05 VIM REFERENCE MANUAL by Bram Moolenaar @@ -1131,6 +1131,9 @@ name! :aug[roup] {name} Define the autocmd group name for the following ":autocmd" commands. The name "end" or "END" selects the default group. + To avoid confusion, the name should be + different from existing {event} names, as this + most likely will not do what you intended. *:augroup-delete* *E367* :aug[roup]! {name} Delete the autocmd group {name}. Don't use diff --git a/runtime/doc/cmdline.txt b/runtime/doc/cmdline.txt index 6197171023..818667876c 100644 --- a/runtime/doc/cmdline.txt +++ b/runtime/doc/cmdline.txt @@ -1,4 +1,4 @@ -*cmdline.txt* For Vim version 7.4. Last change: 2015 Sep 25 +*cmdline.txt* For Vim version 7.4. Last change: 2015 Dec 17 VIM REFERENCE MANUAL by Bram Moolenaar @@ -101,6 +101,11 @@ CTRL-E or <End> *c_CTRL-E* *c_<End>* *c_End* *c_<LeftMouse>* <LeftMouse> Move the cursor to the position of the mouse click. + *c_<MiddleMouse>* +<MiddleMouse> Paste the contents of the clipboard (for X11 the primary + selection). This is similar to using CTRL-R *, but no CR + characters are inserted between lines. + CTRL-H *c_<BS>* *c_CTRL-H* *c_BS* <BS> Delete the character in front of the cursor (see |:fixdel| if your <BS> key does not do what you want). diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt index cb612caaaf..9a09060a74 100644 --- a/runtime/doc/eval.txt +++ b/runtime/doc/eval.txt @@ -1,4 +1,4 @@ -*eval.txt* For Vim version 7.4. Last change: 2015 Dec 28 +*eval.txt* For Vim version 7.4. Last change: 2015 Dec 29 VIM REFERENCE MANUAL by Bram Moolenaar @@ -865,8 +865,8 @@ expr1'th single byte from expr8. expr8 is used as a String, expr1 as a Number. This doesn't recognize multi-byte encodings, see |byteidx()| for an alternative. -Index zero gives the first character. This is like it works in C. Careful: -text column numbers start with one! Example, to get the character under the +Index zero gives the first byte. This is like it works in C. Careful: +text column numbers start with one! Example, to get the byte under the cursor: > :let c = getline(".")[col(".") - 1] diff --git a/runtime/doc/filetype.txt b/runtime/doc/filetype.txt index 540ebb476b..11ccdc5058 100644 --- a/runtime/doc/filetype.txt +++ b/runtime/doc/filetype.txt @@ -1,4 +1,4 @@ -*filetype.txt* For Vim version 7.4. Last change: 2015 Nov 28 +*filetype.txt* For Vim version 7.4. Last change: 2015 Dec 06 VIM REFERENCE MANUAL by Bram Moolenaar @@ -581,6 +581,9 @@ q Same as ":quit" To enable folding use this: > let g:ft_man_folding_enable = 1 +If you do not like the default folding, use an autocommand to add your desired +folding style instead. For example: > + autocmd FileType man setlocal foldmethod=indent foldenable PDF *ft-pdf-plugin* diff --git a/runtime/doc/pattern.txt b/runtime/doc/pattern.txt index 300262ddbd..0a85322b61 100644 --- a/runtime/doc/pattern.txt +++ b/runtime/doc/pattern.txt @@ -1,4 +1,4 @@ -*pattern.txt* For Vim version 7.4. Last change: 2015 Mar 16 +*pattern.txt* For Vim version 7.4. Last change: 2015 Dec 26 VIM REFERENCE MANUAL by Bram Moolenaar @@ -393,8 +393,8 @@ Use of "\M" makes the pattern after it be interpreted as if 'nomagic' is used. Use of "\v" means that in the pattern after it all ASCII characters except '0'-'9', 'a'-'z', 'A'-'Z' and '_' have a special meaning. "very magic" -Use of "\V" means that in the pattern after it only the backslash has a -special meaning. "very nomagic" +Use of "\V" means that in the pattern after it only the backslash and the +terminating character (/ or ?) has a special meaning. "very nomagic" Examples: after: \v \m \M \V matches ~ @@ -402,6 +402,7 @@ after: \v \m \M \V matches ~ $ $ $ \$ matches end-of-line . . \. \. matches any character * * \* \* any number of the previous atom + ~ ~ \~ \~ latest substitute string () \(\) \(\) \(\) grouping into an atom | \| \| \| separating alternatives \a \a \a \a alphabetic character @@ -480,6 +481,7 @@ More explanation and examples below, follow the links. |/\%v| \%23v \%23v in virtual column 23 |/zero-width| Character classes {not in Vi}: */character-classes* + magic nomagic matches ~ |/\i| \i \i identifier character (see 'isident' option) |/\I| \I \I like "\i", but excluding digits |/\k| \k \k keyword character (see 'iskeyword' option) @@ -510,6 +512,7 @@ Character classes {not in Vi}: */character-classes* class with end-of-line included (end of character classes) + magic nomagic matches ~ |/\e| \e \e <Esc> |/\t| \t \t <Tab> |/\r| \r \r <CR> @@ -535,6 +538,7 @@ Character classes {not in Vi}: */character-classes* |/\Z| \Z \Z ignore differences in Unicode "combining characters". Useful when searching voweled Hebrew or Arabic text. + magic nomagic matches ~ |/\m| \m \m 'magic' on for the following chars in the pattern |/\M| \M \M 'magic' off for the following chars in the pattern |/\v| \v \v the following chars in the pattern are "very magic" diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt index 7c676db99d..6886422cea 100644 --- a/runtime/doc/syntax.txt +++ b/runtime/doc/syntax.txt @@ -1,4 +1,4 @@ -*syntax.txt* For Vim version 7.4. Last change: 2015 Nov 05 +*syntax.txt* For Vim version 7.4. Last change: 2015 Dec 19 VIM REFERENCE MANUAL by Bram Moolenaar @@ -1438,34 +1438,27 @@ form, then > :let fortran_fixed_source=1 in your .vimrc prior to the :syntax on command. -If the form of the source code depends upon the file extension, then it is -most convenient to set fortran_free_source in a ftplugin file. For more -information on ftplugin files, see |ftplugin|. For example, if all your -fortran files with an .f90 extension are written in free source form and the -rest in fixed source form, add the following code to your ftplugin file > - let s:extfname = expand("%:e") - if s:extfname ==? "f90" - let fortran_free_source=1 - unlet! fortran_fixed_source - else - let fortran_fixed_source=1 - unlet! fortran_free_source - endif -Note that this will work only if the "filetype plugin indent on" command -precedes the "syntax on" command in your .vimrc file. +If the form of the source code depends, in a non-standard way, upon the file +extension, then it is most convenient to set fortran_free_source in a ftplugin +file. For more information on ftplugin files, see |ftplugin|. Note that this +will work only if the "filetype plugin indent on" command precedes the "syntax +on" command in your .vimrc file. When you edit an existing fortran file, the syntax script will assume free source form if the fortran_free_source variable has been set, and assumes fixed source form if the fortran_fixed_source variable has been set. If neither of these variables have been set, the syntax script attempts to -determine which source form has been used by examining the first five columns -of the first 250 lines of your file. If no signs of free source form are -detected, then the file is assumed to be in fixed source form. The algorithm -should work in the vast majority of cases. In some cases, such as a file that -begins with 250 or more full-line comments, the script may incorrectly decide -that the fortran code is in fixed form. If that happens, just add a -non-comment statement beginning anywhere in the first five columns of the -first twenty five lines, save (:w) and then reload (:e!) the file. +determine which source form has been used by examining the file extension +using conventions common to the ifort, gfortran, Cray, NAG, and PathScale +compilers (.f, .for, .f77 for fixed-source, .f90, .f95, .f03, .f08 for +free-source). If none of this works, then the script examines the first five +columns of the first 500 lines of your file. If no signs of free source form +are detected, then the file is assumed to be in fixed source form. The +algorithm should work in the vast majority of cases. In some cases, such as a +file that begins with 500 or more full-line comments, the script may +incorrectly decide that the fortran code is in fixed form. If that happens, +just add a non-comment statement beginning anywhere in the first five columns +of the first twenty five lines, save (:w) and then reload (:e!) the file. Tabs in fortran files ~ Tabs are not recognized by the Fortran standards. Tabs are not a good idea in diff --git a/runtime/doc/tags b/runtime/doc/tags index 04fcd24979..50f5b9a558 100644 --- a/runtime/doc/tags +++ b/runtime/doc/tags @@ -5060,6 +5060,7 @@ c_<Home> cmdline.txt /*c_<Home>* c_<Insert> cmdline.txt /*c_<Insert>* c_<Left> cmdline.txt /*c_<Left>* c_<LeftMouse> cmdline.txt /*c_<LeftMouse>* +c_<MiddleMouse> cmdline.txt /*c_<MiddleMouse>* c_<NL> cmdline.txt /*c_<NL>* c_<PageDown> cmdline.txt /*c_<PageDown>* c_<PageUp> cmdline.txt /*c_<PageUp>* diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt index f2650007cf..d6503cc4a5 100644 --- a/runtime/doc/todo.txt +++ b/runtime/doc/todo.txt @@ -1,4 +1,4 @@ -*todo.txt* For Vim version 7.4. Last change: 2015 Dec 05 +*todo.txt* For Vim version 7.4. Last change: 2015 Dec 29 VIM REFERENCE MANUAL by Bram Moolenaar @@ -74,18 +74,38 @@ Regexp problems: out the \& works. Seems any column check after \& fails. - The pattern "\1" with the old engine gives E65, with the new engine it matches the empty string. (Dominique Pelle, 2015 Oct 2, Nov 24) +- Search for \\~ causes error E874. + +Poor mans runtime file updater: +- Generate a content file of all included runtime files: + $VIMRUNTIME/CONTENTS + With lines: + runtime/syntax/ada.vim hexchecksum hexchecksum-with-CR-LF + runtime/syntax/old.vim DELETED +- Use a command to trigger a script: + :RuntimeUpdate + Gets the new contents file from + https://raw.githubusercontent.com/vim/vim/master/runtime/CONTENTS + Goes over each line, compares the checksum and gets the file if it differs. +- Include a minimal required Vim version? +- For an installation, use "sudo" after getting all the files, only copy them. + need a temp directory tree. +- For Windows generate a .bat file with "runas" (see StackOverflow). +- Include a wget.exe or curl.exe in the distribution? +- Also update vim.exe and gvim.exe this way? English spell file has an encoding error in the affix file. +(Dominique Pelle, 2015 Oct 15) Perhaps use the files from here: https://github.com/marcoagpinto/aoo-mozilla-en-dict - -Patch to enable clipboard with MSYS2. (Ken Takata, 2015 Nov 26) +Hint for new URL: Christian Brabandt, 2015 Oct 15. +But that file looks old. Still using freed memory after using setloclist(). (lcd, 2014 Jul 23) More info Jul 24. Not clear why. Problem that a previous silent ":throw" causes a following try/catch not to -work. (ZyX, 2013 Sep 28) +work. (ZyX, 2013 Sep 28) With examples: (Malcolm Rowe, 2015 Dec 24) Problem using ":try" inside ":execute". (ZyX, 2013 Sep 15) @@ -96,7 +116,12 @@ Should use /usr/local/share/applications or /usr/share/applications. Or use $XDG_DATA_DIRS. Also need to run update-desktop-database (Kuriyama Kazunobu, 2015 Nov 4) -test107 fails when run in the GUI on Linux. +Patch to test shadow. James McCoy, 2015 Dec 7, #520 + +Patch to support strawberry Perl. (Ken Takata, 2015 Dec 21) + +Change the travis config to also run autoconf on the huge build. +(James McCoy, 2015 Dec 4) Access to uninitialized memory in match_backref() regexp_nda.c:4882 (Dominique Pelle, 2015 Nov 6) @@ -106,14 +131,16 @@ Patch to fix test_listchars for MingW. (Christian Brabandt, 2015 Nov 29) Patch to not set the python home if $PYTHONHOME is set. (Kazuki Sakamoto, 2015 Nov 24) +Patch to add tests for what 7.3.192 fixed. (Elias Diem, 2015 Dec 22) + Patch to use local value of 'errorformat' in :cexpr. (Christian Brabandt, 2015 Oct 16) Only do this for :lexpr ? ":cd C:\Windows\System32\drivers\etc*" does not work, even though the directory exists. (Sergio Gallelli, 2013 Dec 29) -Patch to make fnamemodify() work better with Cygwin. (Wily Wampa, 2015 Nov 28, -issue 505) +Patch to make fnamemodify() work better with Cygwin. (Wily Wampa == Jacob +Niehus, 2015 Nov 28, issue 505) Patch to fix mc_FullName() on root directory. (Milly, 2015 Nov 24, Issue 501) @@ -123,18 +150,27 @@ Nov 26) Test 17 does not clean up the directory it creates. (Michael Soyka, 2015 Nov 28) -English spell checking has an error. Updating doesn't work. -(Dominique Pelle, 2015 Oct 15) -Hint for new URL: Christian Brabandt, 2015 Oct 15. -But that file looks old. +Patch to add binary support for nrformat. (Jason Schulz, 2015 Dec 28) + +Patch to make assert_false() error message look better. (Watiko, 2015 Dec 14) Using ":windo" to set options in all windows has the side effect that it changes the window layout and the current window. Make a variant that saves and restores. Use in the matchparen plugin. -Perhaps we can use ":silent window"? +Perhaps we can use "window <restore> {cmd}"? + +Patch to estimate available memory on MS-Windows. (Mike Williams, 2015 Dec 18) +Last version that day. Illegal memory access, requires ASAN to see. (Dominique Pelle, 2015 Jul 28) +Patch for testing 'backspace'. Also changes behavior of ":set bs=0", do we +want that? (Hirohito Higashi, 2015 Dec 17) +New patch Dec 26. + +Patch to adjust an Ex range only if it's about line numbers. (Christian +Brabandt, 2015 Dec 13) + Gvim: when both Tab and CTRL-I are mapped, use CTRL-I not for Tab. Unexpected delay when using CTRL-O u. It's not timeoutlen. @@ -153,8 +189,11 @@ github? This URL works: Can src/GvimExt/Make_cyg.mak be removed? Same for src/xxd/Make_cyg.mak -Patch to replace deprecated gdk_pixbuf_new_from_inline(). (Kazunobu Kuriyama, -2015 Nov 30, PR #507) +":q!" should reset modified flag for current buffer, if another buffer is +modified no need to abandon it again. +Patch from Yasuhiro Matsumoto, 2014 Nov 21. +Update from Hirohito Higashi, 2014 Nov 21. +With test, Nov 23. Update 2015 Dec 15. Updated Fortran files. (Ajit Thakkar, 2015 Nov 30, second one) @@ -181,14 +220,34 @@ specifically? First try with the parens, then without. Patch to fix "." after CTRL-A in Visual block mode. (Ozaki Kiichi, 2015 Oct 24) +Half-finished patch to fix the Problem using cgn to change a search hit when +replacement includes hit. Reported by John Beckett, fix by Christian Brabandt, +2015 Dec 14, Update Dec 15. + +Patch to fix pointer cast warning in VS2015. (Mike Williams, 2015 Dec 13) +Patch to make building GVimExt with VS2015. (Mike Williams, 2015 Dec 13) + Value returned by virtcol() changes depending on how lines wrap. This is inconsistent with the documentation. +Patch to add perleval(). (Damien, 2015 Dec 8) + +Can we cache the syntax attributes, so that updates for 'relativenumber' and +'cursorline'/'cursorcolumn' are a lot faster? + Patch to add window and tab arguments to getcwd(). (Thinca, 2015 Nov 15) +Patch to check PYTHONHOME first. #500 + Patch to build with Python using MSYS2. (Yasuhiro Matsumoto, 2015 Nov 26) Updated Nov 29. +Build with Python on Mac does not always use the right library. +(Kazunobu Kuriyama, 2015 Mar 28) + +Patch to support Python 'None' value in pyeval(). (Damien, 2015 Nov 21) +Need a Vim equivalent of None and a way to test for it. + To support Thai (and other languages) word boundaries, include the ICU library: http://userguide.icu-project.org/boundaryanalysis @@ -224,11 +283,17 @@ effects for when set by the user, on init and when reset to default. The argument for "-S" is not taken literally, the ":so" command expands wildcards. Add a ":nowild" command modifier? (ZyX, 2015 March 4) +Patch to support sorting on floating point number. (Alex Jakushev, 2010 Oct +30) + Proposal to make options.txt easier to read. (Arnaud Decara, 2015 Aug 5) Update Aug 14. Crash in :cnext on MS-Windows. (Ben Fritz, 2015 Oct 27) +When using --remote-tab on MS-Windows 'encoding' hasn't been initialized yet, +the file name ends up encoded wrong. (Raul Coronado, 2015 Dec 21) + Patch to add GUI colors to the terminal, when it supports it. (ZyX, 2013 Jan 26, update 2013 Dec 14, another 2014 Nov 22) @@ -238,9 +303,6 @@ Sep 10) Patch to be able to use hex numbers with :digraph. (Lcd, 2015 Sep 6) Update Sep 7. Update by Christian Brabandt, 2015 Sep 8. -Build with Python on Mac does not always use the right library. -(Kazunobu Kuriyama, 2015 Mar 28) - Example in editing.txt uses $HOME with the expectating that it ends in a slash. For me it does, but perhaps not for everybody. Add a function that inserts a slash when needed? pathconcat(dir, path) (Thilo Six, 2015 Aug 12) @@ -253,9 +315,6 @@ ml_updatechunk() is slow when retrying for another encoding. (John Little, Patch to fix checking global option value when not using it. (Arnaud Decara, 2015 Jul 23) -Patch to support Python 'None' value in pyeval(). (Damien, 2015 Nov 21) -Need a Vim equivalent of None and a way to test for it. - When 'showbreak' is set repeating a Visual operation counts the size of the 'showbreak' text as part of the operation. (Axel Bender, 2015 Jul 20) @@ -345,12 +404,6 @@ Plugins need to make a lot of effort, lots of mappings, to know what happened before pressing the key that triggers a plugin action. How about keeping the last N pressed keys, so that they do not need to be mapped? -":q!" should reset modified flag for current buffer, if another buffer is -modified no need to abandon it again. -Patch from Yasuhiro Matsumoto, 2014 Nov 21. -Update from Hirohito Higashi, 2014 Nov 21. -With test, Nov 23. - Wrong scrolling when using incsearch. Patch by Christian Brabandt, 2014 Dec 4. Is this a good solution? @@ -518,9 +571,6 @@ Patch to skip sort if no line matches the expression. Patch to add sortuniq(). (Cade Forester, 2014 Mar 19) Or add uniq() instead? Patch by lcd47, but it has problems. -Patch to support sorting on floating point number. (Alex Jakushev, 2010 Oct -30) - Patch to support expression argument to sort() instead of a function name. Yasuhiro Matsumoto, 2013 May 31. Or should we add a more general mechanism, like a lambda() function? @@ -1540,6 +1590,10 @@ Win32: A --remote command that has a directory name starting with a ( doesn't work, the backslash is removed, assuming that it escapes the (. (Valery Kondakoff, 2009 May 13) +Win32: Using "gvim --remote-tab-silent elŝuti.txt" doesn't work, the +multi-byte character isn't passed and edits elsuti.txt. +(Raúl Núñez de Arenas Coronado, 2015 Dec 18) + Problem with 'langmap' being used on the rhs of a mapping. (Nikolai Weibull, 2008 May 14) Possibly related problem: Alexey Muranov, 2015 Apr 2 diff --git a/runtime/doc/usr_03.txt b/runtime/doc/usr_03.txt index 8cbcf13a14..a4eebc3bbf 100644 --- a/runtime/doc/usr_03.txt +++ b/runtime/doc/usr_03.txt @@ -1,4 +1,4 @@ -*usr_03.txt* For Vim version 7.4. Last change: 2006 Jun 21 +*usr_03.txt* For Vim version 7.4. Last change: 2015 Dec 12 VIM USER MANUAL - by Bram Moolenaar @@ -57,8 +57,11 @@ paragraph, much faster than using "l". "b" does the same in the other direction. A word ends at a non-word character, such as a ".", "-" or ")". To change -what Vim considers to be a word, see the 'iskeyword' option. - It is also possible to move by white-space separated WORDs. This is not a +what Vim considers to be a word, see the 'iskeyword' option. If you try this +out in the help directly, 'iskeyword' needs to be reset for the examples to +work: > + :set iskeyword& +It is also possible to move by white-space separated WORDs. This is not a word in the normal sense, that's why the uppercase is used. The commands for moving by WORDs are also uppercase, as this figure shows: diff --git a/runtime/ftplugin/fortran.vim b/runtime/ftplugin/fortran.vim index 7591edd821..5d42409fd4 100644 --- a/runtime/ftplugin/fortran.vim +++ b/runtime/ftplugin/fortran.vim @@ -1,9 +1,9 @@ " Vim settings file " Language: Fortran 2008 (and older: Fortran 2003, 95, 90, 77, 66) -" Version: 0.49 -" Last Change: 2013 Oct. 01 +" Version: 0.50 +" Last Change: 2015 Nov. 30 " Maintainer: Ajit J. Thakkar <ajit@unb.ca>; <http://www2.unb.ca/~ajit/> -" Usage: Do :help fortran-plugin from Vim +" Usage: For instructions, do :help fortran-plugin from Vim " Credits: " Useful suggestions were made by Stefano Zacchiroli, Hendrik Merx, Ben " Fritz, and David Barnett. @@ -20,7 +20,10 @@ set cpoptions&vim let b:did_ftplugin = 1 " Determine whether this is a fixed or free format source file -" if this hasn't been done yet +" if this hasn't been done yet using the priority: +" buffer-local value +" > global value +" > file extension as in Intel ifort, gcc (gfortran), NAG, Pathscale, and Cray compilers if !exists("b:fortran_fixed_source") if exists("fortran_free_source") " User guarantees free source form @@ -28,13 +31,19 @@ if !exists("b:fortran_fixed_source") elseif exists("fortran_fixed_source") " User guarantees fixed source form let b:fortran_fixed_source = 1 + elseif expand("%:e") ==? "f\<90\|95\|03\|08\>" + " Free-form file extension defaults as in Intel ifort, gcc(gfortran), NAG, Pathscale, and Cray compilers + let b:fortran_fixed_source = 0 + elseif expand("%:e") ==? "f\|f77\|for" + " Fixed-form file extension defaults + let b:fortran_fixed_source = 1 else - " Modern Fortran allows both fixed and free source form - " assume fixed source form unless signs of free source form - " are detected in the first five columns of the first s:lmax lines + " Modern fortran still allows both fixed and free source form + " Assume fixed source form unless signs of free source form + " are detected in the first five columns of the first s:lmax lines. " Detection becomes more accurate and time-consuming if more lines " are checked. Increase the limit below if you keep lots of comments at - " the very top of each file and you have a fast computer + " the very top of each file and you have a fast computer. let s:lmax = 500 if ( s:lmax > line("$") ) let s:lmax = line("$") diff --git a/runtime/indent/fortran.vim b/runtime/indent/fortran.vim index 2c83f26b58..d492889fc7 100644 --- a/runtime/indent/fortran.vim +++ b/runtime/indent/fortran.vim @@ -1,9 +1,9 @@ " Vim indent file -" Language: Fortran 2008 (and earlier versions: 2003, 95, 90, and 77) -" Version: 0.41 -" Last Change: 2015 Jan. 15 +" Language: Fortran 2008 (and older: Fortran 2003, 95, 90, and 77) +" Version: 0.42 +" Last Change: 2015 Nov. 30 " Maintainer: Ajit J. Thakkar <ajit@unb.ca>; <http://www2.unb.ca/~ajit/> -" Usage: Do :help fortran-indent from Vim +" Usage: For instructions, do :help fortran-indent from Vim " Credits: " Useful suggestions were made by: Albert Oliver Serra. @@ -27,7 +27,10 @@ if exists("b:fortran_indent_more") || exists("g:fortran_indent_more") endif " Determine whether this is a fixed or free format source file -" if this hasn't been done yet +" if this hasn't been done yet using the priority: +" buffer-local value +" > global value +" > file extension as in Intel ifort, gcc (gfortran), NAG, Pathscale, and Cray compilers if !exists("b:fortran_fixed_source") if exists("fortran_free_source") " User guarantees free source form @@ -35,13 +38,19 @@ if !exists("b:fortran_fixed_source") elseif exists("fortran_fixed_source") " User guarantees fixed source form let b:fortran_fixed_source = 1 + elseif expand("%:e") ==? "f\<90\|95\|03\|08\>" + " Free-form file extension defaults as in Intel ifort, gcc(gfortran), NAG, Pathscale, and Cray compilers + let b:fortran_fixed_source = 0 + elseif expand("%:e") ==? "f\|f77\|for" + " Fixed-form file extension defaults + let b:fortran_fixed_source = 1 else - " f90 and f95 allow both fixed and free source form - " assume fixed source form unless signs of free source form + " Modern fortran still allows both fixed and free source form + " Assume fixed source form unless signs of free source form " are detected in the first five columns of the first s:lmax lines. - " Detection becomes more accurate and more time-consuming if more lines + " Detection becomes more accurate and time-consuming if more lines " are checked. Increase the limit below if you keep lots of comments at - " the very top of each file and you have a fast computer + " the very top of each file and you have a fast computer. let s:lmax = 500 if ( s:lmax > line("$") ) let s:lmax = line("$") diff --git a/runtime/indent/sh.vim b/runtime/indent/sh.vim index b2f35b23a7..5bd8c77fab 100644 --- a/runtime/indent/sh.vim +++ b/runtime/indent/sh.vim @@ -3,7 +3,7 @@ " Maintainer: Christian Brabandt <cb@256bit.org> " Previous Maintainer: Peter Aronoff <telemachus@arpinum.org> " Original Author: Nikolai Weibull <now@bitwi.se> -" Latest Revision: 2015-07-28 +" Latest Revision: 2015-12-15 " License: Vim (see :h license) " Repository: https://github.com/chrisbra/vim-sh-indent @@ -12,6 +12,8 @@ if exists("b:did_indent") endif let b:did_indent = 1 +let b:undo_indent = 'setlocal indentexpr< indentkeys< smartindent<' + setlocal indentexpr=GetShIndent() setlocal indentkeys+=0=then,0=do,0=else,0=elif,0=fi,0=esac,0=done,0=end,),0=;;,0=;& setlocal indentkeys+=0=fin,0=fil,0=fip,0=fir,0=fix diff --git a/runtime/plugin/matchparen.vim b/runtime/plugin/matchparen.vim index 3804ab949a..2a5a16a57e 100644 --- a/runtime/plugin/matchparen.vim +++ b/runtime/plugin/matchparen.vim @@ -55,14 +55,19 @@ function! s:Highlight_Matching_Pair() let before = 0 let text = getline(c_lnum) - let c = text[c_col - 1] + let matches = matchlist(text, '\(.\)\=\%'.c_col.'c\(.\)') + if empty(matches) + let [c_before, c] = ['', ''] + else + let [c_before, c] = matches[1:2] + endif let plist = split(&matchpairs, '.\zs[:,]') let i = index(plist, c) if i < 0 " not found, in Insert mode try character before the cursor if c_col > 1 && (mode() == 'i' || mode() == 'R') - let before = 1 - let c = text[c_col - 2] + let before = strlen(c_before) + let c = c_before let i = index(plist, c) endif if i < 0 diff --git a/runtime/syntax/cmake.vim b/runtime/syntax/cmake.vim index 68b2198de7..4586940c5e 100644 --- a/runtime/syntax/cmake.vim +++ b/runtime/syntax/cmake.vim @@ -2,10 +2,10 @@ " Program: CMake - Cross-Platform Makefile Generator " Module: $RCSfile: cmake-syntax.vim,v $ " Language: CMake -" Maintainer: Karthik Krishnan <karthik.krishnan@kitware.com> -" Former Maintainer: Dimitri Merejkowsky <d.merej@gmail.com> +" Maintainer: Dimitri Merejkowsky <d.merej@gmail.com> +" Former Maintainer: Karthik Krishnan <karthik.krishnan@kitware.com> " Author: Andy Cedilnik <andy.cedilnik@kitware.com> -" Last Change: 2015 Sep 29 +" Last Change: 2015 Dec 17 " Version: $Revision: 1.10 $ " " Licence: The CMake license applies to this file. See diff --git a/runtime/syntax/debchangelog.vim b/runtime/syntax/debchangelog.vim index ed3d024499..4f1d6d4b11 100644 --- a/runtime/syntax/debchangelog.vim +++ b/runtime/syntax/debchangelog.vim @@ -3,8 +3,8 @@ " Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org> " Former Maintainers: Gerfried Fuchs <alfie@ist.org> " Wichert Akkerman <wakkerma@debian.org> -" Last Change: 2015 Apr 30 -" URL: http://anonscm.debian.org/hg/pkg-vim/vim/raw-file/unstable/runtime/syntax/debchangelog.vim +" Last Change: 2015 Oct 24 +" URL: https://anonscm.debian.org/cgit/pkg-vim/vim.git/plain/runtime/syntax/debchangelog.vim " Standard syntax initialization if version < 600 @@ -23,7 +23,7 @@ let binNMU='binary-only=yes' syn match debchangelogName contained "^[[:alnum:]][[:alnum:].+-]\+ " exe 'syn match debchangelogFirstKV contained "; \('.urgency.'\|'.binNMU.'\)"' exe 'syn match debchangelogOtherKV contained ", \('.urgency.'\|'.binNMU.'\)"' -syn match debchangelogTarget contained "\v %(frozen|unstable|sid|%(testing|%(old)=stable)%(-proposed-updates|-security)=|experimental|squeeze-%(backports%(-sloppy)=|volatile|lts|security)|wheezy-%(backports%(-sloppy)=|security)|jessie%(-backports|-security)=|stretch|%(devel|lucid|precise|trusty|utopic)%(-%(security|proposed|updates|backports|commercial|partner))=)+" +syn match debchangelogTarget contained "\v %(frozen|unstable|sid|%(testing|%(old)=stable)%(-proposed-updates|-security)=|experimental|squeeze-%(backports%(-sloppy)=|volatile|lts|security)|wheezy-%(backports%(-sloppy)=|security)|jessie%(-backports|-security)=|stretch|%(devel|precise|trusty|vivid|wily|xenial)%(-%(security|proposed|updates|backports|commercial|partner))=)+" syn match debchangelogVersion contained "(.\{-})" syn match debchangelogCloses contained "closes:\_s*\(bug\)\=#\=\_s\=\d\+\(,\_s*\(bug\)\=#\=\_s\=\d\+\)*" syn match debchangelogLP contained "\clp:\s\+#\d\+\(,\s*#\d\+\)*" diff --git a/runtime/syntax/debcontrol.vim b/runtime/syntax/debcontrol.vim index 6d140d9bd9..4fb53a55ca 100644 --- a/runtime/syntax/debcontrol.vim +++ b/runtime/syntax/debcontrol.vim @@ -3,8 +3,8 @@ " Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org> " Former Maintainers: Gerfried Fuchs <alfie@ist.org> " Wichert Akkerman <wakkerma@debian.org> -" Last Change: 2014 Oct 08 -" URL: http://anonscm.debian.org/hg/pkg-vim/vim/raw-file/unstable/runtime/syntax/debcontrol.vim +" Last Change: 2015 Oct 24 +" URL: https://anonscm.debian.org/cgit/pkg-vim/vim.git/plain/runtime/syntax/debcontrol.vim " Standard syntax initialization if version < 600 diff --git a/runtime/syntax/debsources.vim b/runtime/syntax/debsources.vim index c8d110c77b..e0c5f4075f 100644 --- a/runtime/syntax/debsources.vim +++ b/runtime/syntax/debsources.vim @@ -2,8 +2,8 @@ " Language: Debian sources.list " Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org> " Former Maintainer: Matthijs Mohlmann <matthijs@cacholong.nl> -" Last Change: 2015 May 25 -" URL: http://anonscm.debian.org/hg/pkg-vim/vim/raw-file/unstable/runtime/syntax/debsources.vim +" Last Change: 2015 Oct 24 +" URL: https://anonscm.debian.org/cgit/pkg-vim/vim.git/plain/runtime/syntax/debsources.vim " Standard syntax initialization if version < 600 @@ -27,7 +27,7 @@ let s:supported = [ \ 'oldstable', 'stable', 'testing', 'unstable', 'experimental', \ 'squeeze', 'wheezy', 'jessie', 'stretch', 'sid', 'rc-buggy', \ - \ 'precise', 'trusty', 'utopic', 'vivid', 'wily', 'devel' + \ 'precise', 'trusty', 'vivid', 'wily', 'xenial', 'devel' \ ] let s:unsupported = [ \ 'buzz', 'rex', 'bo', 'hamm', 'slink', 'potato', @@ -35,7 +35,8 @@ let s:unsupported = [ \ \ 'warty', 'hoary', 'breezy', 'dapper', 'edgy', 'feisty', \ 'gutsy', 'hardy', 'intrepid', 'jaunty', 'karmic', 'lucid', - \ 'maverick', 'natty', 'oneiric', 'quantal', 'raring', 'saucy' + \ 'maverick', 'natty', 'oneiric', 'quantal', 'raring', 'saucy', + \ 'utopic' \ ] let &cpo=s:cpo diff --git a/runtime/syntax/fortran.vim b/runtime/syntax/fortran.vim index 120a999404..26d063524e 100644 --- a/runtime/syntax/fortran.vim +++ b/runtime/syntax/fortran.vim @@ -1,12 +1,12 @@ " Vim syntax file -" Language: Fortran 2008 (and earlier versions: 2003, 95, 90, and 77) -" Version: 0.95 -" Last Change: 2015 Jan. 15 +" Language: Fortran 2008 (and older: Fortran 2003, 95, 90, and 77) +" Version: 0.96 +" Last Change: 2015 Nov. 30 " Maintainer: Ajit J. Thakkar <ajit@unb.ca>; <http://www2.unb.ca/~ajit/> " Usage: For instructions, do :help fortran-syntax from Vim " Credits: " Version 0.1 was based on the fortran 77 syntax file by Mario Eusebio and -" Preben Guldberg. Useful suggestions were made by: Andrej Panjkov, +" Preben Guldberg. Useful suggestions and contributions were made by: Andrej Panjkov, " Bram Moolenaar, Thomas Olsen, Michael Sternberg, Christian Reile, " Walter Dieudonn, Alexander Wagner, Roman Bertle, Charles Rendleman, " Andrew Griffiths, Joe Krahn, Hendrik Merx, and Matt Thompson. @@ -19,8 +19,8 @@ let s:cpo_save = &cpo set cpo&vim " Choose fortran_dialect using the priority: -" source file directive > buffer-local value > global value > default -" try using directive in first three lines of file +" source file directive > buffer-local value > global value > file extension +" first try using directive in firs |