diff options
author | Bram Moolenaar <Bram@vim.org> | 2016-02-25 00:00:01 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2016-02-25 00:00:01 +0100 |
commit | f391327adbbffb11180cf6038a92af1ed144e907 (patch) | |
tree | db1b98159a3f1960dc7df8157fc9fd5cbf40435a /runtime | |
parent | 84f4996d2ab2982006d79ee69df4688c966bf8e8 (diff) |
Updated runtime files.
Diffstat (limited to 'runtime')
-rw-r--r-- | runtime/doc/channel.txt | 15 | ||||
-rw-r--r-- | runtime/doc/eval.txt | 10 | ||||
-rw-r--r-- | runtime/doc/help.txt | 3 | ||||
-rw-r--r-- | runtime/doc/index.txt | 3 | ||||
-rw-r--r-- | runtime/doc/options.txt | 16 | ||||
-rw-r--r-- | runtime/doc/quickref.txt | 5 | ||||
-rw-r--r-- | runtime/doc/repeat.txt | 4 | ||||
-rw-r--r-- | runtime/doc/syntax.txt | 9 | ||||
-rw-r--r-- | runtime/doc/tags | 6 | ||||
-rw-r--r-- | runtime/doc/todo.txt | 98 | ||||
-rw-r--r-- | runtime/ftplugin/eiffel.vim | 96 | ||||
-rw-r--r-- | runtime/indent/sh.vim | 8 | ||||
-rw-r--r-- | runtime/syntax/sh.vim | 4 | ||||
-rw-r--r-- | runtime/syntax/tex.vim | 64 | ||||
-rw-r--r-- | runtime/syntax/vim.vim | 48 | ||||
-rw-r--r-- | runtime/syntax/zsh.vim | 25 |
16 files changed, 260 insertions, 154 deletions
diff --git a/runtime/doc/channel.txt b/runtime/doc/channel.txt index aa31816fcb..0f329648a3 100644 --- a/runtime/doc/channel.txt +++ b/runtime/doc/channel.txt @@ -1,4 +1,4 @@ -*channel.txt* For Vim version 7.4. Last change: 2016 Feb 21 +*channel.txt* For Vim version 7.4. Last change: 2016 Feb 23 VIM REFERENCE MANUAL by Bram Moolenaar @@ -160,9 +160,13 @@ Use |ch_status()| to see if the channel could be opened. func MyCloseHandler(channel) < *waittime* "waittime" The time to wait for the connection to be made in - milliseconds. The default is zero, don't wait, which is - useful if the server is supposed to be running already. A - negative number waits forever. + milliseconds. A negative number waits forever. + + The default is zero, don't wait, which is useful if a local + server is supposed to be running already. On Unix Vim + actually uses a 1 msec timeout, that is required on many + systems. Use a larger value for a remote server, e.g. 10 + msec at least. "timeout" The time to wait for a request when blocking, E.g. when using ch_sendexpr(). In milliseconds. The default is 2000 (2 @@ -253,7 +257,8 @@ Then channel handler will then get {response} converted to Vim types. If the channel does not have a handler the message is dropped. On read error or ch_close(), when using a socket, the string "DETACH" is sent, -if still possible. The channel will then be inactive. +if still possible. The channel will then be inactive. For a JSON and JS mode +channel quotes are used around DETACH, otherwise there are no quotes. It is also possible to use ch_sendraw() on a JSON or JS channel. The caller is then completely responsible for correct encoding and decoding. diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt index abc022d392..8fc0d1ef05 100644 --- a/runtime/doc/eval.txt +++ b/runtime/doc/eval.txt @@ -1,4 +1,4 @@ -*eval.txt* For Vim version 7.4. Last change: 2016 Feb 21 +*eval.txt* For Vim version 7.4. Last change: 2016 Feb 23 VIM REFERENCE MANUAL by Bram Moolenaar @@ -1961,6 +1961,7 @@ insert( {list}, {item} [, {idx}]) List insert {item} in {list} [before {idx}] invert( {expr}) Number bitwise invert isdirectory( {directory}) Number TRUE if {directory} is a directory islocked( {expr}) Number TRUE if {expr} is locked +isnan( {expr}) Number TRUE if {expr} is NaN items( {dict}) List key-value pairs in {dict} job_getchannel( {job}) Channel get the channel handle for {job} job_setoptions( {job}, {options}) none set options for {job} @@ -4397,6 +4398,13 @@ islocked({expr}) *islocked()* *E786* < When {expr} is a variable that does not exist you get an error message. Use |exists()| to check for existence. +isnan({expr}) *isnan()* + Return non-zero if {expr} is a float with value NaN. > + echo isnan(0.0 / 0.0) +< 1 ~ + + {only available when compiled with the |+float| feature} + items({dict}) *items()* Return a |List| with all the key-value pairs of {dict}. Each |List| item is a list with two items: the key of a {dict} diff --git a/runtime/doc/help.txt b/runtime/doc/help.txt index 23ad1dc9a3..968636379d 100644 --- a/runtime/doc/help.txt +++ b/runtime/doc/help.txt @@ -1,4 +1,4 @@ -*help.txt* For Vim version 7.4. Last change: 2016 Jan 10 +*help.txt* For Vim version 7.4. Last change: 2016 Feb 22 VIM - main help file k @@ -155,7 +155,6 @@ Special issues ~ GUI ~ |gui.txt| Graphical User Interface (GUI) -|gui_w16.txt| Windows 3.1 GUI |gui_w32.txt| Win32 GUI |gui_x11.txt| X11 GUI diff --git a/runtime/doc/index.txt b/runtime/doc/index.txt index d23edd0196..fe4184aea3 100644 --- a/runtime/doc/index.txt +++ b/runtime/doc/index.txt @@ -1,4 +1,4 @@ -*index.txt* For Vim version 7.4. Last change: 2016 Jan 19 +*index.txt* For Vim version 7.4. Last change: 2016 Feb 24 VIM REFERENCE MANUAL by Bram Moolenaar @@ -1324,6 +1324,7 @@ tag command action ~ |:lnfile| :lnf[ile] go to first location in next file |:lnoremap| :ln[oremap] like ":noremap!" but includes Lang-Arg mode |:loadkeymap| :loadk[eymap] load the following keymaps until EOF +|:loadplugin| :loadp[lugin] load a plugin from 'packpath' |:loadview| :lo[adview] load view for current window from a file |:lockmarks| :loc[kmarks] following command keeps marks where they are |:lockvar| :lockv[ar] lock variables diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt index 2378aa9c33..09518c0578 100644 --- a/runtime/doc/options.txt +++ b/runtime/doc/options.txt @@ -1,4 +1,4 @@ -*options.txt* For Vim version 7.4. Last change: 2016 Feb 21 +*options.txt* For Vim version 7.4. Last change: 2016 Feb 24 VIM REFERENCE MANUAL by Bram Moolenaar @@ -1211,10 +1211,7 @@ A jump table for the options with a short description can be found at |Q_op|. 'bioskey' 'biosk' boolean (default on) global {not in Vi} {only for MS-DOS} - When on the BIOS is called to obtain a keyboard character. This works - better to detect CTRL-C, but only works for the console. When using a - terminal over a serial port reset this option. - Also see |'conskey'|. + This was for MS-DOS and is no longer supported. *'bomb'* *'nobomb'* 'bomb' boolean (default off) @@ -1946,13 +1943,7 @@ A jump table for the options with a short description can be found at |Q_op|. 'conskey' 'consk' boolean (default off) global {not in Vi} {only for MS-DOS} - When on direct console I/O is used to obtain a keyboard character. - This should work in most cases. Also see |'bioskey'|. Together, - three methods of console input are available: - 'conskey' 'bioskey' action ~ - on on or off direct console input - off on BIOS - off off STDIN + This was for MS-DOS and is no longer supported. *'copyindent'* *'ci'* *'nocopyindent'* *'noci'* 'copyindent' 'ci' boolean (default off) @@ -5412,7 +5403,6 @@ A jump table for the options with a short description can be found at |Q_op|. *'packpath'* *'pp'* 'packpath' 'pp' string (default: see 'runtimepath') {not in Vi} - {not available without the |+packages| feature} Directories used to find packages. See |packages|. diff --git a/runtime/doc/quickref.txt b/runtime/doc/quickref.txt index 8450cdd89c..8d415ae82d 100644 --- a/runtime/doc/quickref.txt +++ b/runtime/doc/quickref.txt @@ -1,4 +1,4 @@ -*quickref.txt* For Vim version 7.4. Last change: 2015 Nov 10 +*quickref.txt* For Vim version 7.4. Last change: 2016 Feb 24 VIM REFERENCE MANUAL by Bram Moolenaar @@ -810,7 +810,8 @@ Short explanation of each option: *option-list* 'omnifunc' 'ofu' function for filetype-specific completion 'opendevice' 'odev' allow reading/writing devices on MS-Windows 'operatorfunc' 'opfunc' function to be called for |g@| operator -'osfiletype' 'oft' no longer supported +'osfiletype' 'oft' no longer supported +'packpath' 'pp' list of directories used for packages 'paragraphs' 'para' nroff macros that separate paragraphs 'paste' allow pasting text 'pastetoggle' 'pt' key code that causes 'paste' to toggle diff --git a/runtime/doc/repeat.txt b/runtime/doc/repeat.txt index 1ea72536fd..db1ec9bad0 100644 --- a/runtime/doc/repeat.txt +++ b/runtime/doc/repeat.txt @@ -1,4 +1,4 @@ -*repeat.txt* For Vim version 7.4. Last change: 2016 Feb 21 +*repeat.txt* For Vim version 7.4. Last change: 2016 Feb 24 VIM REFERENCE MANUAL by Bram Moolenaar @@ -227,8 +227,6 @@ For writing a Vim script, see chapter 41 of the user manual |usr_41.txt|. Also see |load-plugin|. - {not available without the |+packages| feature} - :scripte[ncoding] [encoding] *:scripte* *:scriptencoding* *E167* Specify the character encoding used in the script. The following lines will be converted from [encoding] diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt index 45d4a08c42..59caa1ad7c 100644 --- a/runtime/doc/syntax.txt +++ b/runtime/doc/syntax.txt @@ -1,4 +1,4 @@ -*syntax.txt* For Vim version 7.4. Last change: 2016 Jan 28 +*syntax.txt* For Vim version 7.4. Last change: 2016 Feb 24 VIM REFERENCE MANUAL by Bram Moolenaar @@ -3361,6 +3361,13 @@ Note that schemas are not actually limited to plain scalars, but this is the only difference between schemas defined in YAML specification and the only difference defined in the syntax file. + +ZSH *zsh.vim* *ft-zsh-syntax* + +The syntax script for zsh allows for syntax-based folding: > + + :let g:zsh_fold_enable = 1 + ============================================================================== 5. Defining a syntax *:syn-define* *E410* diff --git a/runtime/doc/tags b/runtime/doc/tags index af27b78861..e28ee71815 100644 --- a/runtime/doc/tags +++ b/runtime/doc/tags @@ -2446,6 +2446,8 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX* :lo starting.txt /*:lo* :loadk mbyte.txt /*:loadk* :loadkeymap mbyte.txt /*:loadkeymap* +:loadp repeat.txt /*:loadp* +:loadplugin repeat.txt /*:loadplugin* :loadview starting.txt /*:loadview* :loc motion.txt /*:loc* :lockmarks motion.txt /*:lockmarks* @@ -6038,6 +6040,7 @@ ft-xml-omni insert.txt /*ft-xml-omni* ft-xml-syntax syntax.txt /*ft-xml-syntax* ft-xpm-syntax syntax.txt /*ft-xpm-syntax* ft-yaml-syntax syntax.txt /*ft-yaml-syntax* +ft-zsh-syntax syntax.txt /*ft-zsh-syntax* ft_ada.txt ft_ada.txt /*ft_ada.txt* ft_sql.txt ft_sql.txt /*ft_sql.txt* ftdetect filetype.txt /*ftdetect* @@ -6829,6 +6832,7 @@ iquote motion.txt /*iquote* is motion.txt /*is* isdirectory() eval.txt /*isdirectory()* islocked() eval.txt /*islocked()* +isnan() eval.txt /*isnan()* it motion.txt /*it* italic syntax.txt /*italic* items() eval.txt /*items()* @@ -6950,6 +6954,7 @@ list-repeat windows.txt /*list-repeat* lite.vim syntax.txt /*lite.vim* literal-string eval.txt /*literal-string* lnum-variable eval.txt /*lnum-variable* +load-plugin repeat.txt /*load-plugin* load-plugins starting.txt /*load-plugins* load-vim-script repeat.txt /*load-vim-script* local-additions help.txt /*local-additions* @@ -9193,6 +9198,7 @@ zn fold.txt /*zn* zo fold.txt /*zo* zr fold.txt /*zr* zs scroll.txt /*zs* +zsh.vim syntax.txt /*zsh.vim* zt scroll.txt /*zt* zuG spell.txt /*zuG* zuW spell.txt /*zuW* diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt index aece38c271..f8f9104d8c 100644 --- a/runtime/doc/todo.txt +++ b/runtime/doc/todo.txt @@ -1,4 +1,4 @@ -*todo.txt* For Vim version 7.4. Last change: 2016 Feb 20 +*todo.txt* For Vim version 7.4. Last change: 2016 Feb 24 VIM REFERENCE MANUAL by Bram Moolenaar @@ -35,41 +35,35 @@ not be repeated below, unless there is extra information. -------------------- Known bugs and current work ----------------------- +channel: -- channel needs both stdout and stderr (GUI implementation, queues) - - ch_read() for stderr -- implement TODO items in ":help channel": - - implement ch_setoptions(handle, {options}) - - job_setoptions(job, {options}) - - ch_close() closes stdin/stdout/stderr - - out-cb - - err-cb - - exit-cb move code from mch_clear_job() - - job argument: killonexit - - ch_getjob(handle) - - ch_read(handle [, timeout]) - - ch_readall(handle [, timeout]) - - job_info() should remove usable info: process ID, run/dead, etc. - - job_maystart() - - job_gethandle(), job_sethandle() - - add ch_status(): Whether channel is open. Perhaps also mode, timeout. - - When channel closes invoke "close-cb". -- Add "call" to call a function with a list of arguments. (Damien) - merge "expr" and "eval", send something back if there is a third arg? +- don't free channel if there are callbacks. + netbeans channel leaks? +- job_stop() on MS-Windows: "term" should probably do the same as "kill". +- Make JSON encode and decode NaN and Infinity. - A callback on ch_sendraw() should be put at the end of the list of callback handlers. When a message arrives invoke the first one and remove it. -- Support channel without socket support. Useful for starting a job with - pipes. Need another feature, +socket ? +- implement TODO items in ":help channel": + - job_start() options: + term + in-io + in-file + out-io + out-file + out-buffer + err-io + err-file + err-buffer + existing channel to use + - job_maystart() + - add job_info(): process ID, run/dead, etc. + - add ch_info(): in/out/err mode, timeout, callbacks, etc. - Move more details from eval.txt to channel.txt. Add tags in eval.txt. - When receiving malformed json starting with a quote it doesn't get discarded. -- When message in queue but there is no callback, drop it after a while? -- Crash when closing channel after ch_sendexpr() with callback and outstanding - request (Christian Robinson). +- When a message in the queue but there is no callback, drop it after a while? + Add timestamp to queued messages and callbacks with ID, remove after a + minute. - cleanup on exit? in mch_getout() and getout(). -- On Mac a 1 msec waittime is needed in ch_open(), why? - Add more log calls, basically at every branch, before every callback, etc. -- Add timestamp to queued messages and callbacks with ID, remove after a - minute. - add remark about undo sync, is there a way to force it? - When starting a job, have an option to open the server socket, so we know the port, and pass it to the command with --socket-fd {nr}. (Olaf Dabrunz, @@ -82,6 +76,8 @@ not be repeated below, unless there is extra information. - For connection to server, a "keep open" flag would be useful. Retry connecting in the main loop with zero timeout. +Remove the sniff interface? Looks like it's dead. + More plugin support: - Have a way to install a callback from the main loop. Called every second or so. @@ -94,9 +90,8 @@ More plugin support: gettabnr({id}) tab page nr of {id} or -1 if not open gotowin({id}) Make it so that the window ID can be used where currently a window nr is used - -Patch on #608: (Ken Takata) -https://bitbucket.org/k_takata/vim-ktakata-mq/src/479934b94fd56b064c9e4bd8737585c5df69d56a/fix-gvimext-loadlibrary.patch?fileviewer=file-view-default + Patch from Anton Lindqvist, 2016 Feb 21, to make bufwinnr() return a list. + Perhaps add bufwinid() instead. This difference is unexpected: echo v:true == 1 @@ -109,25 +104,11 @@ Compiler warnings. (John Marriott, Feb 17) Compiler warnings in if_ole.cpp. Patch by Ken Takata, Feb 18. -Add "runtime/bundles" ? - runtime/bundles/netrw/spec.vim - runtime/bundles/netrw/autoload/netrw.vim - runtime/bundles/netrw/syntax/netrw.vim - etc. -Need an alternative for 'runtimepath' that tells where bundles are to be -found. 'bundlepath' ? -The plugins under 'bundlepath' would always be loaded. Also have a path for -optional plugins? 'optbundlepath'? Or have directories "bundlesdef" and -"bundlesopt"? -Then use a command "loadplugin" to find a plugin in "optional". -"bundles" is used by some plugin managers, need another name. "packages"? -Add a "requires" / "provides" mechanism? - if my_feature_enabled - require +python - endif - require my_other_plugin -~/vim/packages/netrw/def/netrw/plugin/netrw.vim -~/vim/packages/netrw/opt/nwdebug/plugin/nwdebug.vim +When running "make install" don't overwrite the doc/tags file, generate it +elsewhere, so that the distributed file doesn't change. + +Fix to support --nofork for Windows batch files. (Kevin CantĂș, 2016 Feb 23, +#658) Patch to add GTK 3 support. (Kazunobu Kuriyama, 2016 Feb 13) @@ -199,6 +180,14 @@ Patch for test86 and test87. (Roland Puntaier, #622) Patch for Python: #622. (Roland Puntaier, 2016 Feb 2) What does it change? +Win32: patch to use 64 bit stat() if possible. (Ken Takata, 2014 May 12) +More tests May 14. Update May 29. Update Aug 10. +Now part of large file patches. (Ken Takata, 2016 Feb 1) +Two patches now? New update Feb 24. + +Patch to support 64 bit ints for Number. (Ken Takata, 2016 Jan 21) +Also in update of Feb 24? + Need to try out instructions in INSSTALLpc.txt about how to install all interfaces and how to build Vim with them. Appveyor build with self-installing executable, includes getting most @@ -251,12 +240,7 @@ directory exists. (Sergio Gallelli, 2013 Dec 29) Patch to avoid redrawing tabline when the popup menu is visible. (Christian Brabandt, 2016 Jan 28) -Win32: patch to use 64 bit stat() if possible. (Ken Takata, 2014 May 12) -More tests May 14. Update May 29. Update Aug 10. -Now part of large file patches. (Ken Takata, 2016 Feb 1) -Two patches now? - -Patch to support 64 bit ints for Number. (Ken Takata, 2016 Jan 21) +Patch to add {skip} argument to search(). (Christian Brabandt, 2016 Feb 24) 7 Add a watchpoint in the debug mode: An expression that breaks execution when evaluating to non-zero. Add the "watchadd expr" command, stop when diff --git a/runtime/ftplugin/eiffel.vim b/runtime/ftplugin/eiffel.vim new file mode 100644 index 0000000000..216fdde162 --- /dev/null +++ b/runtime/ftplugin/eiffel.vim @@ -0,0 +1,96 @@ +" Vim filetype plugin +" Language: Eiffel +" Maintainer: Doug Kearns <dougkearns@gmail.com> +" Last Change: 2010 Aug 29 + +if (exists("b:did_ftplugin")) + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +setlocal comments=:-- +setlocal commentstring=--\ %s + +setlocal formatoptions-=t formatoptions+=croql + +if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter") + let b:browsefilter = "Eiffel Source Files (*.e)\t*.e\n" . + \ "Eiffel Control Files (*.ecf, *.ace, *.xace)\t*.ecf;*.ace;*.xace\n" . + \ "All Files (*.*)\t*.*\n" +endif + +if exists("loaded_matchit") && !exists("b:match_words") + let b:match_ignorecase = 0 + " Silly \%^ trick to match note at head of pair and in middle prevents + " 'g%' wrapping from 'note' to 'end' + let b:match_words = '\%^:' . + \ '\<\%(^note\|indexing\|class\|^obsolete\|inherit\|insert\|^create\|convert\|feature\|^invariant\)\>:' . + \ '^end\>,' . + \ '\<\%(do\|deferred\|external\|once\%(\s\+"\)\@!\|check\|debug\|if\|inspect\|from\|across\)\>:' . + \ '\%(\%(^\s\+\)\@<=\%(then\|until\|loop\)\|\%(then\|until\|loop\)\s\+[^ -]\|' . + \ '\<\%(ensure\%(\s\+then\)\=\|rescue\|_then\|elseif\|else\|when\|\s\@<=invariant\|_until\|_loop\|variant\|_as\|alias\)\>\):' . + \ '\s\@<=end\>' + let b:match_skip = 's:\<eiffel\%(Comment\|String\|Operator\)\>' + noremap [% <Nop> + noremap ]% <Nop> + vnoremap a% <Nop> +endif + +let b:undo_ftplugin = "setl fo< com< cms<" . + \ "| unlet! b:browsefilter b:match_ignorecase b:match_words b:match_skip" + +if !exists("g:no_plugin_maps") && !exists("g:no_eiffel_maps") + function! s:DoMotion(pattern, count, flags) abort + normal! m' + for i in range(a:count) + call search(a:pattern, a:flags) + endfor + endfunction + + let sections = '^\%(note\|indexing\|' . + \ '\%(\%(deferred\|expanded\|external\|frozen\)\s\+\)*class\|' . + \ 'obsolete\|inherit\|insert\|create\|convert\|feature\|' . + \ 'invariant\|end\)\>' + + nnoremap <silent> <buffer> ]] :<C-U>call <SID>DoMotion(sections, v:count1, 'W')<CR> + xnoremap <silent> <buffer> ]] :<C-U>exe "normal! gv"<Bar>call <SID>DoMotion(sections, v:count1, 'W')<CR> + nnoremap <silent> <buffer> [[ :<C-U>call <SID>DoMotion(sections, v:count1, 'Wb')<CR> + xnoremap <silent> <buffer> [[ :<C-U>exe "normal! gv"<Bar>call <SID>DoMotion(sections, v:count1, 'Wb')<CR> + + function! s:DoFeatureMotion(count, flags) + let view = winsaveview() + call cursor(1, 1) + let [features_start, _] = searchpos('^feature\>') + call search('^\s\+\a') " find the first feature + let spaces = indent(line('.')) + let [features_end, _] = searchpos('^\%(invariant\|note\|end\)\>') + call winrestview(view) + call s:DoMotion('\%>' . features_start . 'l\%<' . features_end . 'l^\s*\%' . (spaces + 1) . 'v\zs\a', a:count, a:flags) + endfunction + + nnoremap <silent> <buffer> ]m :<C-U>call <SID>DoFeatureMotion(v:count1, 'W')<CR> + xnoremap <silent> <buffer> ]m :<C-U>exe "normal! gv"<Bar>call <SID>DoFeatureMotion(v:count1, 'W')<CR> + nnoremap <silent> <buffer> [m :<C-U>call <SID>DoFeatureMotion(v:count1, 'Wb')<CR> + xnoremap <silent> <buffer> [m :<C-U>exe "normal! gv"<Bar>call <SID>DoFeatureMotion(v:count1, 'Wb')<CR> + + let comment_block_start = '^\%(\s\+--.*\n\)\@<!\s\+--' + let comment_block_end = '^\s\+--.*\n\%(\s\+--\)\@!' + + nnoremap <silent> <buffer> ]- :<C-U>call <SID>DoMotion(comment_block_start, 1, 'W')<CR> + xnoremap <silent> <buffer> ]- :<C-U>exe "normal! gv"<Bar>call <SID>DoMotion(comment_block_start, 1, 'W')<CR> + nnoremap <silent> <buffer> [- :<C-U>call <SID>DoMotion(comment_block_end, 1, 'Wb')<CR> + xnoremap <silent> <buffer> [- :<C-U>exe "normal! gv"<Bar>call <SID>DoMotion(comment_block_end, 1, 'Wb')<CR> + + let b:undo_ftplugin = b:undo_ftplugin . + \ "| silent! execute 'unmap <buffer> [[' | silent! execute 'unmap <buffer> ]]'" . + \ "| silent! execute 'unmap <buffer> [m' | silent! execute 'unmap <buffer> ]m'" . + \ "| silent! execute 'unmap <buffer> [-' | silent! execute 'unmap <buffer> ]-'" +endif + +let &cpo = s:cpo_save +unlet s:cpo_save + +" vim: nowrap sw=2 sts=2 ts=8 diff --git a/runtime/indent/sh.vim b/runtime/indent/sh.vim index 2d603b0afa..d05bb3770f 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: 2016-01-15 +" Latest Revision: 2016-02-15 " License: Vim (see :h license) " Repository: https://github.com/chrisbra/vim-sh-indent @@ -12,14 +12,14 @@ 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 setlocal indentkeys-=:,0# setlocal nosmartindent +let b:undo_indent = 'setlocal indentexpr< indentkeys< smartindent<' + if exists("*GetShIndent") finish endif @@ -67,7 +67,7 @@ function! GetShIndent() if !s:is_case_ended(line) let ind += s:indent_value('case-statements') endif - elseif line =~ '^\s*\<\k\+\>\s*()\s*{' || line =~ '^\s*{' + elseif line =~ '^\s*\<\k\+\>\s*()\s*{' || line =~ '^\s*{' || line =~ '^\s*function\s*\w\S\+\s*\%(()\)\?\s*{' if line !~ '}\s*\%(#.*\)\=$' let ind += s:indent_value('default') endif diff --git a/runtime/syntax/sh.vim b/runtime/syntax/sh.vim index 15a00eb516..3fc236f033 100644 --- a/runtime/syntax/sh.vim +++ b/runtime/syntax/sh.vim @@ -2,8 +2,8 @@ " Language: shell (sh) Korn shell (ksh) bash (sh) " Maintainer: Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz> " Previous Maintainer: Lennart Schultz <Lennart.Schultz@ecmwf.int> -" Last Change: Feb 16, 2016 -" Version: 144 +" Last Change: Feb 18, 2016 +" Version: 145 " URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_SH " For options and settings, please use: :help ft-sh-syntax " This file includes many ideas from Eric Brunet (eric.brunet@ens.fr) diff --git a/runtime/syntax/tex.vim b/runtime/syntax/tex.vim index 40013b5b99..cef28d65ed 100644 --- a/runtime/syntax/tex.vim +++ b/runtime/syntax/tex.vim @@ -1,8 +1,8 @@ " Vim syntax file " Language: TeX " Maintainer: Charles E. Campbell <NdrchipO@ScampbellPfamily.AbizM> -" Last Change: Jan 20, 2016 -" Version: 91 +" Last Change: Feb 18, 2016 +" Version: 92 " URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_TEX " " Notes: {{{1 @@ -200,7 +200,7 @@ if !exists("g:tex_no_math") endif " Try to flag {} and () mismatches: {{{1 -if s:tex_fast =~ 'm' +if s:tex_fast =~# 'm' if !s:tex_no_error syn region texMatcher matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]" end="}" transparent contains=@texMatchGroup,texError syn region texMatcher matchgroup=Delimiter start="\[" end="]" transparent contains=@texMatchGroup,texError,@NoSpell @@ -217,7 +217,7 @@ endif if !s:tex_no_error syn match texError "[}\])]" endif -if s:tex_fast =~ 'M' +if s:tex_fast =~# 'M' if !exists("g:tex_no_math") if !s:tex_no_error syn match texMathError "}" contained @@ -260,14 +260,14 @@ syn match texLigature "\\\([ijolL]\|ae\|oe\|ss\|AA\|AE\|OE\)$" " \begin{}/\end{} section markers: {{{1 syn match texBeginEnd "\\begin\>\|\\end\>" nextgroup=texBeginEndName -if s:tex_fast =~ 'm' +if s:tex_fast =~# 'm' syn region texBeginEndName matchgroup=Delimiter start="{" end="}" contained nextgroup=texBeginEndModifier contains=texComment syn region texBeginEndModifier matchgroup=Delimiter start="\[" end="]" contained contains=texComment,@NoSpell endif " \documentclass, \documentstyle, \usepackage: {{{1 syn match texDocType "\\documentclass\>\|\\documentstyle\>\|\\usepackage\>" nextgroup=texBeginEndName,texDocTypeArgs -if s:tex_fast =~ 'm' +if s:tex_fast =~# 'm' syn region texDocTypeArgs matchgroup=Delimiter start="\[" end="]" contained nextgroup=texBeginEndName contains=texComment,@NoSpell endif @@ -281,7 +281,7 @@ syn match texInput "\\input\s\+[a-zA-Z/.0-9_^]\+"hs=s+7 contains=texStatemen syn match texInputFile "\\include\(graphics\|list\)\=\(\[.\{-}\]\)\=\s*{.\{-}}" contains=texStatement,texInputCurlies,texInputFileOpt syn match texInputFile "\\\(epsfig\|input\|usepackage\)\s*\(\[.*\]\)\={.\{-}}" contains=texStatement,texInputCurlies,texInputFileOpt syn match texInputCurlies "[{}]" contained -if s:tex_fast =~ 'm' +if s:tex_fast =~# 'm' syn region texInputFileOpt matchgroup=Delimiter start="\[" end="\]" contained contains=texComment endif @@ -349,7 +349,7 @@ syn match texSpaceCode "\\\(math\|cat\|del\|lc\|sf\|uc\)code`"me=e-1 nextgroup= syn match texSpaceCodeChar "`\\\=.\(\^.\)\==\(\d\|\"\x\{1,6}\|`.\)" contained " Sections, subsections, etc: {{{1 -if s:tex_fast =~ 'p' +if s:tex_fast =~# 'p' if !s:tex_nospell TexFold syn region texDocZone matchgroup=texSection start='\\begin\s*{\s*document\s*}' end='\\end\s*{\s*document\s*}' contains=@texFoldGroup,@texDocGroup,@Spell TexFold syn region texPartZone matchgroup=texSection start='\\part\>' end='\ze\s*\\\%(part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texPartGroup,@Spell @@ -376,8 +376,8 @@ if s:tex_fast =~ 'p' endif " particular support for bold and italic {{{1 -if s:tex_fast =~ 'b' - if s:tex_conceal =~ 'b' +if s:tex_fast =~# 'b' + if s:tex_conceal =~# 'b' if !exists("g:tex_nospell") || !g:tex_nospell syn region texBoldStyle matchgroup=texTypeStyle start="\\textbf\s*{" matchgroup=texTypeStyle end="}" concealends contains=@texBoldGroup,@Spell syn region texBoldItalStyle matchgroup=texTypeStyle start="\\textit\s*{" matchgroup=texTypeStyle end="}" concealends contains=@texItalGroup,@Spell @@ -414,7 +414,7 @@ if !exists("g:tex_no_math") let foldcmd= "" endif exe "syn cluster texMathZones add=".grpname - if s:tex_fast =~ 'M' + if s:tex_fast =~# 'M' exe 'syn region '.grpname.' start='."'".'\\begin\s*{\s*'.a:mathzone.'\s*}'."'".' end='."'".'\\end\s*{\s*'.a:mathzone.'\s*}'."'".' keepend contains=@texMathZoneGroup'.foldcmd exe 'syn sync match '.syncname.' grouphere '.grpname.' "\\begin\s*{\s*'.a:mathzone.'\*\s*}"' exe 'syn sync match '.syncname.' grouphere '.grpname.' "\\begin\s*{\s*'.a:mathzone.'\*\s*}"' @@ -424,7 +424,7 @@ if !exists("g:tex_no_math") let grpname = "texMathZone".a:sfx.'S' let syncname = "texSyncMathZone".a:sfx.'S' exe "syn cluster texMathZones add=".grpname - if s:tex_fast =~ 'M' + if s:tex_fast =~# 'M' exe 'syn region '.grpname.' start='."'".'\\begin\s*{\s*'.a:mathzone.'\*\s*}'."'".' end='."'".'\\end\s*{\s*'.a:mathzone.'\*\s*}'."'".' keepend contains=@texMathZoneGroup'.foldcmd exe 'syn sync match '.syncname.' grouphere '.grpname.' "\\begin\s*{\s*'.a:mathzone.'\*\s*}"' exe 'syn sync match '.syncname.' grouphere '.grpname.' "\\begin\s*{\s*'.a:mathzone.'\*\s*}"' @@ -448,8 +448,8 @@ if !exists("g:tex_no_math") call TexNewMathZone("L","xxalignat",0) " Inline Math Zones: {{{2 - if s:tex_fast =~ 'M' - if has("conceal") && &enc == 'utf-8' && s:tex_conceal =~ 'd' + if s:tex_fast =~# 'M' + if has("conceal") && &enc == 'utf-8' && s:tex_conceal =~# 'd' syn region texMathZoneV matchgroup=Delimiter start="\\(" matchgroup=Delimiter end="\\)\|%stopzone\>" keepend concealends contains=@texMathZoneGroup syn region texMathZoneW matchgroup=Delimiter start="\\\[" matchgroup=Delimiter end="\\]\|%stopzone\>" keepend concealends contains=@texMathZoneGroup syn region texMathZoneX matchgroup=Delimiter start="\$" skip="\\\\\|\\\$" matchgroup=Delimiter end="\$" end="%stopzone\>" concealends contains=@texMathZoneGroup @@ -466,7 +466,7 @@ if !exists("g:tex_no_math") syn match texMathOper "[_^=]" contained " Text Inside Math Zones: {{{2 - if s:tex_fast =~ 'M' + if s:tex_fast =~# 'M' if !exists("g:tex_nospell") || !g:tex_nospell syn region texMathText matchgroup=texStatement start='\\\(\(inter\)\=text\|mbox\)\s*{' end='}' contains=@texFoldGroup,@Spell else @@ -476,7 +476,7 @@ if !exists("g:tex_no_math") " \left..something.. and \right..something.. support: {{{2 syn match texMathDelimBad contained "\S" - if has("conceal") && &enc == 'utf-8' && s:tex_conceal =~ 'm' + if has("conceal") && &enc == 'utf-8' && s:tex_conceal =~# 'm' syn match texMathDelim contained "\\left\\{\>" skipwhite nextgroup=texMathDelimSet1,texMathDelimSet2,texMathDelimBad contains=texMathSymbol cchar={ syn match texMathDelim contained "\\right\\}\>" skipwhite nextgroup=texMathDelimSet1,texMathDelimSet2,texMathDelimBad contains=texMathSymbol cchar=} let s:texMathDelimList=[ @@ -568,13 +568,13 @@ else " allows syntax-folding of 2 or more contiguous comment lines " single-line comments are not folded syn match texComment "%.*$" contains=@texCommentGroup - if s:tex_fast =~ 'c' + if s:tex_fast =~# 'c' TexFold syn region texComment start="^\zs\s*%.*\_s*%" skip="^\s*%" end='^\ze\s*[^%]' contains=@texCommentGroup TexFold syn region texNoSpell contained matchgroup=texComment start="%\s*nospell\s*{" end="%\s*nospell\s*}" contains=@texFoldGroup,@NoSpell endif else syn match texComment "%.*$" contains=@texCommentGroup - if s:tex_fast =~ 'c' + if s:tex_fast =~# 'c' syn region texNoSpell contained matchgroup=texComment start="%\s*nospell\s*{" end="%\s*nospell\s*}" contains=@texFoldGroup,@NoSpell endif endif @@ -583,7 +583,7 @@ endif " Separate lines used for verb` and verb# so that the end conditions {{{1 " will appropriately terminate. " If g:tex_verbspell exists, then verbatim texZones will permit spellchecking there. -if s:tex_fast =~ 'v' +if s:tex_fast =~# 'v' if exists("g:tex_verbspell") && g:tex_verbspell syn region texZone start="\\begin{[vV]erbatim}" end="\\end{[vV]erbatim}\|%stopzone\>" contains=@Spell " listings package: @@ -614,7 +614,7 @@ if s:tex_fast =~ 'v' endif " Tex Reference Zones: {{{1 -if s:tex_fast =~ 'r' +if s:tex_fast =~# 'r' syn region texZone matchgroup=texStatement start="@samp{" end="}\|%stopzone\>" contains=@texRefGroup syn region texRefZone matchgroup=texStatement start="\\nocite{" end="}\|%stopzone\>" contains=@texRefGroup syn region texRefZone matchgroup=texStatement start="\\bibliography{" end="}\|%stopzone\>" contains=@texRefGroup @@ -628,13 +628,13 @@ syn match texRefZone '\\cite\%([tp]\*\=\)\=' nextgroup=texRefOption,texCite " Handle newcommand, newenvironment : {{{1 syn match texNewCmd "\\newcommand\>" nextgroup=texCmdName skipwhite skipnl -if s:tex_fast =~ 'V' +if s:tex_fast =~# 'V' syn region texCmdName contained matchgroup=Delimiter start="{"rs=s+1 end="}" nextgroup=texCmdArgs,texCmdBody skipwhite skipnl syn region texCmdArgs contained matchgroup=Delimiter start="\["rs=s+1 end="]" nextgroup=texCmdBody skipwhite skipnl syn region texCmdBody contained matchgroup=Delimiter start="{"rs=s+1 skip="\\\\\|\\[{}]" matchgroup=Delimiter end="}" contains=@texCmdGroup endif syn match texNewEnv "\\newenvironment\>" nextgroup=texEnvName skipwhite skipnl -if s:tex_fast =~ 'V' +if s:tex_fast =~# 'V' syn region texEnvName contained matchgroup=Delimiter start="{"rs=s+1 end="}" nextgroup=texEnvBgn skipwhite skipnl syn region texEnvBgn contained matchgroup=Delimiter start="{"rs=s+1 end="}" nextgroup=texEnvEnd skipwhite skipnl contains=@texEnvGroup syn region texEnvEnd contained matchgroup=Delimiter start="{"rs=s+1 end="}" skipwhite skipnl contains=@texEnvGroup @@ -660,11 +660,11 @@ syn match texString "\(``\|''\|,,\)" " makeatletter -- makeatother sections if !s:tex_no_error - if s:tex_fast =~ 'S' + if s:tex_fast =~# 'S' syn region texStyle matchgroup=texStatement start='\\makeatletter' end='\\makeatother' contains=@texStyleGroup contained endif syn match texStyleStatement "\\[a-zA-Z@]\+" contained - if s:tex_fast =~ 'S' + if s:tex_fast =~# 'S' syn region texStyleMatcher matchgrou |