]> granicus.if.org Git - vim/commitdiff
Update runtime files
authorBram Moolenaar <Bram@vim.org>
Sun, 25 Nov 2018 02:56:26 +0000 (03:56 +0100)
committerBram Moolenaar <Bram@vim.org>
Sun, 25 Nov 2018 02:56:26 +0000 (03:56 +0100)
runtime/doc/options.txt
runtime/doc/syntax.txt
runtime/doc/todo.txt
runtime/doc/usr_41.txt
runtime/indent/testdir/matlab.in [new file with mode: 0644]
runtime/indent/testdir/matlab.ok [new file with mode: 0644]
runtime/syntax/sh.vim
runtime/syntax/tex.vim
runtime/syntax/vim.vim

index 8a106e16ff2fc2c0a2bdf64f18fe354b4c6e524c..774e782270c5c67daab121eacecae62c6e1df65f 100644 (file)
@@ -7339,8 +7339,8 @@ A jump table for the options with a short description can be found at |Q_op|.
 
        After this option has been set successfully, Vim will source the files
        "spell/LANG.vim" in 'runtimepath'.  "LANG" is the value of 'spelllang'
-       up to the first character that is not an ASCII letter and not a dash.
-       Also see |set-spc-auto|.
+       up to the first character that is not an ASCII letter or number and
+       not a dash.  Also see |set-spc-auto|.
 
 
                                                *'spellsuggest'* *'sps'*
index 00a016a0cccdc1ad41782e9c104b94f36bcea336..d1875fc6280a37f81c344403b65766211f404834 100644 (file)
@@ -774,8 +774,6 @@ When 1, generate XHTML 1.0 instead (XML compliant HTML).
     :let g:html_use_xhtml = 1
 <
 
- vim:tw=78:sw=4:ts=8:sts=4:ft=help:norl:ai:noet:
-
 ABEL                                           *abel.vim* *ft-abel-syntax*
 
 ABEL highlighting provides some user-defined options.  To enable them, assign
index 909dc774ed305cbb48e50feb3cc033a2df9eb0de..043e6d57ef5d221151ff06034ec44697312b8f77 100644 (file)
@@ -38,7 +38,11 @@ browser use: https://github.com/vim/vim/issues/1234
                                                        *known-bugs*
 -------------------- Known bugs and current work -----------------------
 
-runtest: for flaky test, try more often if error message changes (5 times)
+Make ":script 40" edit the script listed with number 40.  Actually use
+":scriptnames".
+
+Download page: "A 64 bit version" link is wrong, use this one instead:
+https://github.com/vim/vim-win32-installer/releases/latest
 
 'incsearch' with :s: (#3321)
 - :s/foo  using CTRL-G moves to another line, should not happen, or use the
@@ -52,9 +56,12 @@ runtest: for flaky test, try more often if error message changes (5 times)
 Prompt buffer:
 - Add a command line history.
 - delay next prompt until plugin gives OK?
+- add prompt_addtext({buf}, {expr})    none    add text to a prompt buffer
 
 Terminal debugger:
 - Make prompt-buffer variant work better.
+- If breakpoints are deleted with "delete" in gdb the response is not parsed
+  properly and the breakpoints in Vim are not removed.
 - Add option to not open the program window.  It's not used when attaching to
   an already running program. (M. Kelly)
 - When only gdb window exists, on "quit" edit another buffer.
@@ -62,6 +69,10 @@ Terminal debugger:
   after "run".  Everything else works, including communication channel.  Not
   initializing mzscheme avoid the problem, thus it's not some #ifdef.
 - Add support for lldb?  #3565
+- Could we do something similar for debugging Vim scripts?  At least see the
+  script while stepping through it.  Simple version would use an extra window.
+  More complete solution would actually run Vim in a Terminal an control it
+  with another Vim instance.
 
 Terminal emulator window:
 - GUI: When using ":set go+=!" a system() call causes the hit-enter prompt.
@@ -102,10 +113,13 @@ catch actual errors, overwriting a function from another script.
 Update for German spell files: https://github.com/chrisbra/vim/compare/5e021c990f8817a50d3264782a5...3b27c92f297540761ebbd92d04fb3
 (Christian Brabandt, 2018 Nov 4)
 
-Patch for comparing quickfix and location stacks. (Yegappan, 2018 Nov 15)
+Patch for nsis/README.txt and uninstal.txt (Ken Takata, 2018 Nov 17, #3614)
+
+Patch to add commandline completion tests. (Dominique, #3622)
 
-Patch to fix visual block problem. (Tom M, tommm, 2018 Nov 14)
-Also will write a test.
+Problem with Visual yank when 'linebreak' and 'showbreak' are set.
+Patch with tests, but it's not clear how it is supposed to work. (tommm, 2018
+Nov 17)
 
 Key mapping times out when using a timer in Gvim. (Michael Henry, 2018 Sep 9,
 #3417)
@@ -114,6 +128,13 @@ Does not build with MinGW out of the box:
 - _stat64 is not defined, need to use "struct stat" in vim.h
 - WINVER conflict, should use 0x0600 by default?
 
+Adding a fold with a marker in a C file doesn't add the comment /* */ if the
+line contains a * somewhere.  Patch with a fix (Hirohito Higashi, 2018 Nov 22)
+
+Crash in terminal with long multi-byte sequence. (2018 Nov 17, #3619)
+Dominique cannot reproduce. Update Nov 18.
+Suggested solution by Yasuhiro Matsumoto, 2018 Nov 18.
+
 Crash when mixing matchadd and substitute()? (Max Christian Pohle, 2018 May
 13, #2910)  Can't reproduce?
 
@@ -123,6 +144,9 @@ Errors found with random data:
 Win32 key codes are messy.  Mike Williams tried to fix that, but now old
 mappings no longer work.  Create a new terminal for the better solution?
 
+Patch to fix that appending makes items to be "recognized".
+(Yegappan, 2018 Nov 23). Reported by Daniel Hahler, #3633.
+
 Improve fallback for menu translations, to avoid having to create lots of
 files that source the actual file.  E.g. menu_da_de -> menu_da
 Include part of #3242?
@@ -130,9 +154,10 @@ Include part of #3242?
 When a terminal exit_cb closes the window, a following typed key is lost, if
 it's in a mapping. (2018 Oct 6, #2302, #3522)
 
-Patch for dos installer to use logic instead of $HOME.  (Ken Takata, Nov 5,
-#3564)
+Patch to add FOR_ALL_FRAMES. (Yegappan, 2018 Nov 18)
 
+Patch to resize to fit parent position when using ---windowid. ( Agorgianitis
+Loukas, 2018 Nov 17, #3616)
 Completion mixes results from the current buffer with tags and other files.
 Happens when typing CTRL-N while still search for results.  E.g., type "b_" in
 terminal.c and then CTRL-N twice.
@@ -144,9 +169,6 @@ Williams, 2018 Oct 30)
 
 Problem with :tlmenu: Detach item added with all modes?  Issue #3563.
 
-Patch to avoid that increment or decrement gets interrupted by updating folds.
-(Christian Brabandt, 2018 Nov 6, #3599)
-
 C syntax: {} inside () causes following {} to be highlighted as error.
 (Michalis Giannakidis, 2006 Jun 1)
 
@@ -162,9 +184,18 @@ Patch for this: (Aron Widforss, 2018 Oct 13, #3539)
     quickfix window, for example. (Gary Holloway)
     Also do 'sidescrolloff'.
 
+Patch for ConPTY support, #3474: What is the status?
+
 Pasting foo} causes Vim to behave weird. (John Little, 2018 Jun 17)
 Related to bracketed paste.  I cannot reproduce it.
 
+Using CTRL-L to add a character to the search string doesn't work for the last
+character in the file. (Smylers, 2018 Nov 17, #3620)
+Suggested patch by Hirohito Higashi, 2018 Nov 18.
+
+Using CTRL-L to add a character to the search string that contains \v,
+punctiuation is repeated. (Smylers, 2018 Nov 17, #3621)
+
 ":mksession" cannot handle a very long 'runtimepath'. (Timothy Madden, 21 Sep
 2018, #3466)  Patch from Christian, 2018 Oct 30 (with comments).
 
@@ -321,6 +352,8 @@ Patch to fix that executable() may fail on very long filename in MS-Windows.
 
 Patch to be able to use hex numbers with :digraph. (Lcd, 2015 Sep 6)
 Update Sep 7.  Update by Christian Brabandt, 2015 Sep 8, 2016 Feb 1.
+Patch to be able to disable default digraphs (incomplete) (Eric Pruitt, 2018
+Nov 22).
 
 Make balloon_show() work outside of 'balloonexpr'?  Users expect it to work:
 #2948. (related to #1512?)
index 7c3f358aa9f660035764bfee965c8db9a9820e5a..c7e595586abc251e83f45f545affa44fe5bfcc6e 100644 (file)
@@ -612,6 +612,7 @@ String manipulation:                                        *string-functions*
        repeat()                repeat a string multiple times
        eval()                  evaluate a string expression
        execute()               execute an Ex command and get the output
+       trim()                  trim characters from a string
 
 List manipulation:                                     *list-functions*
        get()                   get an item without error for wrong index
@@ -799,6 +800,9 @@ Buffers, windows and the argument list:
        bufwinnr()              get the window number of a specific buffer
        winbufnr()              get the buffer number of a specific window
        getbufline()            get a list of lines from the specified buffer
+       setbufline()            replace a line in the specified buffer
+       appendbufline()         append a list of lines in the specified buffer
+       deletebufline()         delete lines from a specified buffer
        win_findbuf()           find windows containing a buffer
        win_getid()             get window ID of a window
        win_gotoid()            go to window with ID
@@ -810,6 +814,7 @@ Buffers, windows and the argument list:
        getchangelist()         get a list of change list entries
        getjumplist()           get a list of jump list entries
        swapinfo()              information about a swap file
+       swapname()              get the swap file path of a buffer
 
 Command line:                                  *command-line-functions*
        getcmdline()            get the current command line
@@ -907,6 +912,7 @@ Window size and position:                   *window-size-functions*
        winheight()             get height of a specific window
        winwidth()              get width of a specific window
        win_screenpos()         get screen position of a window
+       winlayout()             get layout of windows in a tab page
        winrestcmd()            return command to restore window sizes
        winsaveview()           get view of current window
        winrestview()           restore saved view of current window
@@ -919,6 +925,7 @@ Mappings:                               *mapping-functions*
 
 Testing:                                   *test-functions*
        assert_equal()          assert that two expressions values are equal
+       assert_equalfile()      assert that two file contents are equal
        assert_notequal()       assert that two expressions values are not equal
        assert_inrange()        assert that an expression is inside a range
        assert_match()          assert that a pattern matches the value
@@ -941,6 +948,9 @@ Testing:                                *test-functions*
        test_null_partial()     return a null Partial function
        test_null_string()      return a null String
        test_settime()          set the time Vim uses internally
+       test_feedinput()        add key sequence to input buffer
+       test_option_not_set()   reset flag indicating option was set
+       test_scrollbar()        simulate scrollbar movement in the GUI
 
 Inter-process communication:               *channel-functions*
        ch_canread()            check if there is something to read
@@ -991,6 +1001,12 @@ Terminal window:                          *terminal-functions*
        term_gettty()           get the tty name of a terminal
        term_setansicolors()    set 16 ANSI colors, used for GUI
        term_getansicolors()    get 16 ANSI colors, used for GUI
+       term_dumpdiff()         display difference between two screen dumps
+       term_dumpload()         load a terminal screen dump in a window
+       term_dumpwrite()        dump contents of a terminal screen to a file
+       term_setkill()          set signal to stop job in a terminal
+       term_setrestore()       set command to restore a terminal
+       term_setsize()          set the size of a terminal
 
 Timers:                                                *timer-functions*
        timer_start()           create a timer
@@ -999,6 +1015,17 @@ Timers:                                           *timer-functions*
        timer_stopall()         stop all timers
        timer_info()            get information about timers
 
+Tags:                                          *tag-functions*
+       taglist()               get list of matching tags
+       tagfiles()              get a list of tags files
+       gettagstack()           get the tag stack of a window
+       settagstack()           modify the tag stack of a window
+
+Prompt Buffer:                                 *promptbuffer-functions*
+       prompt_setcallback()    set prompt callback for a buffer
+       prompt_setinterrupt()   set interrupt callback for a buffer
+       prompt_setprompt()      set the prompt text for a buffer
+
 Various:                                       *various-functions*
        mode()                  get current editing mode
        visualmode()            last visual mode used
@@ -1026,17 +1053,13 @@ Various:                                        *various-functions*
 
        wordcount()             get byte/word/char count of buffer
 
-       taglist()               get list of matching tags
-       tagfiles()              get a list of tags files
-       gettagstack()           get the tag stack
-       settagstack()           modify the tag stack
-
        luaeval()               evaluate Lua expression
        mzeval()                evaluate |MzScheme| expression
        perleval()              evaluate Perl expression (|+perl|)
        py3eval()               evaluate Python expression (|+python3|)
        pyeval()                evaluate Python expression (|+python|)
        pyxeval()               evaluate |python_x| expression
+       debugbreak()            interrupt a program  being debugged
 
 ==============================================================================
 *41.7* Defining a function
diff --git a/runtime/indent/testdir/matlab.in b/runtime/indent/testdir/matlab.in
new file mode 100644 (file)
index 0000000..1a2bc83
--- /dev/null
@@ -0,0 +1,17 @@
+% vim: set ft=matlab sw=4 :
+
+% START_INDENT
+if true
+disp foo
+elseif false
+disp bar
+end
+% END_INDENT
+
+% START_INDENT
+try
+statements
+catch exception
+statements
+end
+% END_INDENT
diff --git a/runtime/indent/testdir/matlab.ok b/runtime/indent/testdir/matlab.ok
new file mode 100644 (file)
index 0000000..88e1d86
--- /dev/null
@@ -0,0 +1,17 @@
+% vim: set ft=matlab sw=4 :
+
+% START_INDENT
+if true
+    disp foo
+elseif false
+    disp bar
+end
+% END_INDENT
+
+% START_INDENT
+try
+    statements
+catch exception
+    statements
+end
+% END_INDENT
index 5e0d1fd76a10c4cfe766008804fe9b4ca4a3840b..9eed594b8c8f1b60ce5d1ee80e163c14bd2c6bc8 100644 (file)
@@ -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:         Sep 04, 2018
-" Version:             182
+" Last Change:         Nov 23, 2018
+" Version:             185
 " 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)
@@ -144,12 +144,12 @@ endif
 syn cluster shHereBeginList    contains=@shCommandSubList
 syn cluster shHereList contains=shBeginHere,shHerePayload
 syn cluster shHereListDQ       contains=shBeginHere,@shDblQuoteList,shHerePayload
-syn cluster shIdList   contains=shCommandSub,shCommandSubBQ,shWrapLineOperator,shSetOption,shComment,shDeref,shDerefSimple,shHereString,shRedir,shExSingleQuote,shExDoubleQuote,shSingleQuote,shDoubleQuote,shExpr,shCtrlSeq,shStringSpecial,shAtExpr
+syn cluster shIdList   contains=shCommandSub,shCommandSubBQ,shWrapLineOperator,shSetOption,shComment,shDeref,shDerefSimple,shHereString,shNumber,shOperator,shRedir,shExSingleQuote,shExDoubleQuote,shSingleQuote,shDoubleQuote,shExpr,shCtrlSeq,shStringSpecial,shAtExpr
 syn cluster shIfList   contains=@shLoopList,shDblBrace,shDblParen,shFunctionKey,shFunctionOne,shFunctionTwo
 syn cluster shLoopList contains=@shCaseList,@shErrorList,shCaseEsac,shConditional,shDblBrace,shExpr,shFor,shForPP,shIf,shOption,shSet,shTest,shTestOpr,shTouch
 syn cluster shPPSRightList     contains=shComment,shDeref,shDerefSimple,shEscape,shPosnParm
 syn cluster shSubShList        contains=@shCommandSubList,shCommandSubBQ,shCaseEsac,shColon,shCommandSub,shComment,shDo,shEcho,shExpr,shFor,shIf,shHereString,shRedir,shSetList,shSource,shStatement,shVariable,shCtrlSeq,shOperator
-syn cluster shTestList contains=shCharClass,shCommandSub,shCommandSubBQ,shCtrlSeq,shDeref,shDerefSimple,shDoubleQuote,shSpecialDQ,shExDoubleQuote,shExpr,shExSingleQuote,shNumber,shOperator,shSingleQuote,shTest,shTestOpr
+syn cluster shTestList contains=shArithmetic,shCharClass,shCommandSub,shCommandSubBQ,shCtrlSeq,shDeref,shDerefSimple,shDoubleQuote,shSpecialDQ,shExDoubleQuote,shExpr,shExSingleQuote,shNumber,shOperator,shSingleQuote,shTest,shTestOpr
 syn cluster shNoZSList contains=shSpecialNoZS
 syn cluster shForList  contains=shTestOpr,shNumber,shDerefSimple,shDeref,shCommandSub,shCommandSubBQ,shArithmetic
 
@@ -292,7 +292,9 @@ endif
 "======
 syn match   shWrapLineOperator "\\$"
 syn region  shCommandSubBQ     start="`" skip="\\\\\|\\." end="`"      contains=shBQComment,@shCommandSubList
-syn match   shEscape   contained       '\%(^\)\@!\%(\\\\\)*\\.'        nextgroup=shSingleQuote,shDoubleQuote,shComment
+"see ksh13
+"syn match   shEscape  contained       '\%(^\)\@!\%(\\\\\)*\\.'        nextgroup=shSingleQuote,shDoubleQuote,shComment
+syn match   shEscape   contained       '\%(^\)\@!\%(\\\\\)*\\.'        nextgroup=shComment
 
 " $() and $(()): {{{1
 " $(..) is not supported by sh (Bourne shell).  However, apparently
@@ -379,22 +381,22 @@ syn match shBQComment     contained       "#.\{-}\ze`"    contains=@shCommentGroup
 
 " Here Documents: {{{1
 " =========================================
-ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc01 start="<<\s*\\\=\z([^ \t0-9|>]\+\)"          matchgroup=shHereDoc01 end="^\z1\s*$"   contains=@shDblQuoteList
-ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc02 start="<<\s*\"\z([^ \t|>]\+\)\""             matchgroup=shHereDoc02 end="^\z1\s*$"
-ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc03 start="<<-\s*\z([^ \t0-9|>]\+\)"             matchgroup=shHereDoc03 end="^\s*\z1\s*$"        contains=@shDblQuoteList
+ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc01 start="<<\s*\\\=\z([^ \t|>]\+\)"             matchgroup=shHereDoc01 end="^\z1\s*$"   contains=@shDblQuoteList
+ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc02 start="<<\s*\"\z([^"]\+\)\""         matchgroup=shHereDoc02 end="^\z1\s*$"
+ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc03 start="<<-\s*\z([^ \t|>]\+\)"                matchgroup=shHereDoc03 end="^\s*\z1\s*$"        contains=@shDblQuoteList
 ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc04 start="<<-\s*'\z([^']\+\)'"          matchgroup=shHereDoc04 end="^\s*\z1\s*$"
 ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc05 start="<<\s*'\z([^']\+\)'"           matchgroup=shHereDoc05 end="^\z1\s*$"
-ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc06 start="<<-\s*\"\z([^ \t|>]\+\)\""            matchgroup=shHereDoc06 end="^\s*\z1\s*$"
-ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc07 start="<<\s*\\\_$\_s*\z([^ \t0-9|>]\+\)"     matchgroup=shHereDoc07 end="^\z1\s*$"           contains=@shDblQuoteList
-ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc08 start="<<\s*\\\_$\_s*'\z([^ \t0-9|>]\+\)'"   matchgroup=shHereDoc08 end="^\z1\s*$"
-ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc09 start="<<\s*\\\_$\_s*\"\z([^ \t0-9|>]\+\)\"" matchgroup=shHereDoc09 end="^\z1\s*$"
-ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc10 start="<<-\s*\\\_$\_s*\z([^ \t0-9|>]\+\)"    matchgroup=shHereDoc10 end="^\s*\z1\s*$"
-ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc11 start="<<-\s*\\\_$\_s*\\\z([^ \t0-9|>]\+\)"  matchgroup=shHereDoc11 end="^\s*\z1\s*$"
-ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc12 start="<<-\s*\\\_$\_s*'\z([^ \t|>]\+\)'"     matchgroup=shHereDoc12 end="^\s*\z1\s*$"
-ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc13 start="<<-\s*\\\_$\_s*\"\z([^ \t|>]\+\)\""   matchgroup=shHereDoc13 end="^\s*\z1\s*$"
-ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc14 start="<<\\\z([^ \t0-9|>]\+\)"               matchgroup=shHereDoc14 end="^\z1\s*$"
-ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc15 start="<<-\s*\\\z([^ \t0-9|>]\+\)"           matchgroup=shHereDoc15 end="^\s*\z1\s*$"
-ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc16 start="<<-\s*\\\z([^ \t0-9|>]\+\)"           matchgroup=shHereDoc15 end="^\s*\z1\s*$"
+ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc06 start="<<-\s*\"\z([^"]\+\)\""                matchgroup=shHereDoc06 end="^\s*\z1\s*$"
+ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc07 start="<<\s*\\\_$\_s*\z([^ \t|>]\+\)"                matchgroup=shHereDoc07 end="^\z1\s*$"           contains=@shDblQuoteList
+ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc08 start="<<\s*\\\_$\_s*'\z([^ \t|>]\+\)'"      matchgroup=shHereDoc08 end="^\z1\s*$"
+ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc09 start="<<\s*\\\_$\_s*\"\z([^ \t|>]\+\)\""    matchgroup=shHereDoc09 end="^\z1\s*$"
+ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc10 start="<<-\s*\\\_$\_s*\z([^ \t|>]\+\)"       matchgroup=shHereDoc10 end="^\s*\z1\s*$"
+ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc11 start="<<-\s*\\\_$\_s*\\\z([^ \t|>]\+\)"     matchgroup=shHereDoc11 end="^\s*\z1\s*$"
+ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc12 start="<<-\s*\\\_$\_s*'\z([^']\+\)'"         matchgroup=shHereDoc12 end="^\s*\z1\s*$"
+ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc13 start="<<-\s*\\\_$\_s*\"\z([^"]\+\)\""       matchgroup=shHereDoc13 end="^\s*\z1\s*$"
+ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc14 start="<<\\\z([^ \t|>]\+\)"          matchgroup=shHereDoc14 end="^\z1\s*$"
+ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc15 start="<<-\s*\\\z([^ \t|>]\+\)"              matchgroup=shHereDoc15 end="^\s*\z1\s*$"
+ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc16 start="<<-\s*\\\z([^ \t|>]\+\)"              matchgroup=shHereDoc15 end="^\s*\z1\s*$"
 
 " Here Strings: {{{1
 " =============
@@ -407,18 +409,19 @@ endif
 "=============
 syn match  shSetOption "\s\zs[-+][a-zA-Z0-9]\+\>"      contained
 syn match  shVariable  "\<\([bwglsav]:\)\=[a-zA-Z0-9.!@_%+,]*\ze="     nextgroup=shVarAssign
-syn match  shVarAssign "="             contained       nextgroup=shCmdParenRegion,shPattern,shDeref,shDerefSimple,shDoubleQuote,shExDoubleQuote,shSingleQuote,shExSingleQuote
+syn match  shVarAssign "="             contained       nextgroup=shCmdParenRegion,shPattern,shDeref,shDerefSimple,shDoubleQuote,shExDoubleQuote,shSingleQuote,shExSingleQuote,shVar
+syn match  shVar       contained       "\h\w*"
 syn region shAtExpr    contained       start="@(" end=")" contains=@shIdList
 if exists("b:is_bash")
- syn match  shSet "^\s*set\ze\s*$"
- syn region shSetList oneline matchgroup=shSet start="\<\(declare\|typeset\|local\|export\|unset\)\>\ze[^/]" end="$"   matchgroup=shSetListDelim end="\ze[}|);&]" matchgroup=NONE end="\ze\s\+#\|="    contains=@shIdList
- syn region shSetList oneline matchgroup=shSet start="\<set\>\ze[^/]" end="\ze[;|#)]\|$"                       matchgroup=shSetListDelim end="\ze[}|);&]" matchgroup=NONE end="\ze\s\+="       contains=@shIdList nextgroup=shComment
+ syn match  shSet "^\s*set\ze\s\+$"
+ syn region shSetList oneline matchgroup=shSet start="\<\%(declare\|local\|export\)\>\ze[/a-zA-Z_]\@!" end="$" matchgroup=shSetListDelim end="\ze[}|);&]" matchgroup=NONE end="\ze\s\+#\|="    contains=@shIdList
+ syn region shSetList oneline matchgroup=shSet start="\<\%(set\|unset\)\>[/a-zA-Z_]\@!" end="\ze[;|#)]\|$"             matchgroup=shSetListDelim end="\ze[}|);&]" matchgroup=NONE end="\ze\s\+="       contains=@shIdList nextgroup=shComment
 elseif exists("b:is_kornshell") || exists("b:is_posix")
- syn match  shSet "^\s*set\ze\s*$"
- syn region shSetList oneline matchgroup=shSet start="\<\(typeset\|export\|unset\)\>\ze[^/]" end="$"           matchgroup=shSetListDelim end="\ze[}|);&]" matchgroup=NONE end="\ze\s\+[#=]"    contains=@shIdList
- syn region shSetList oneline matchgroup=shSet start="\<set\>\ze[^/]" end="$"                          matchgroup=shSetListDelim end="\ze[}|);&]" matchgroup=NONE end="\ze\s\+[#=]"    contains=@shIdList
+ syn match  shSet "^\s*set\ze\s\+$"
+ syn region shSetList oneline matchgroup=shSet start="\<\(export\)\>\ze[/]\@!" end="$"         matchgroup=shSetListDelim end="\ze[}|);&]" matchgroup=NONE end="\ze\s\+[#=]"    contains=@shIdList
+ syn region shSetList oneline matchgroup=shSet start="\<\%(set\|unset\>\)\ze[/a-zA-Z_]\@!" end="\ze[;|#)]\|$"          matchgroup=shSetListDelim end="\ze[}|);&]" matchgroup=NONE end="\ze\s\+[#=]"    contains=@shIdList nextgroup=shComment
 else
- syn region shSetList oneline matchgroup=shSet start="\<\(set\|export\|unset\)\>\ze[^/]" end="$"               matchgroup=shSetListDelim end="\ze[}|);&]" matchgroup=NONE end="\ze\s\+[#=]"    contains=@shIdList
+ syn region shSetList oneline matchgroup=shSet start="\<\(set\|export\|unset\)\>\ze[/a-zA-Z_]\@!" end="\ze[;|#)]\|$"   matchgroup=shSetListDelim end="\ze[}|);&]" matchgroup=NONE end="\ze\s\+[#=]"    contains=@shIdList
 endif
 
 " Functions: {{{1
@@ -523,12 +526,12 @@ if exists("b:is_bash")
  " bash : ${parameter//pattern/string}
  " bash : ${parameter//pattern}
  syn match  shDerefPPS contained       '/\{1,2}'       nextgroup=shDerefPPSleft
- syn region shDerefPPSleft     contained       start='.'       skip=@\%(\\\\\)*\\/@ matchgroup=shDerefOp       end='/' end='\ze}' nextgroup=shDerefPPSright contains=@shCommandSubList
- syn region shDerefPPSright    contained       start='.'       skip=@\%(\\\\\)\+@              end='\ze}'      contains=@shPPSRightList
+ syn region shDerefPPSleft     contained       start='.'       skip=@\%(\\\\\)*\\/@ matchgroup=shDerefOp       end='/' end='\ze}'      nextgroup=shDerefPPSright       contains=@shCommandSubList
+ syn region shDerefPPSright    contained       start='.'       skip=@\%(\\\\\)\+@              end='\ze}'                              contains=@shPPSRightList
 
  " bash : ${parameter/#substring/replacement}
  syn match  shDerefPSR contained       '/#'    nextgroup=shDerefPSRleft,shDoubleQuote,shSingleQuote
- syn region shDerefPSRleft     contained       start='[^"']'   skip=@\%(\\\\\)*\\/@ matchgroup=shDerefOp       end='/' end='\ze}' nextgroup=shDerefPSRright
+ syn region shDerefPSRleft     contained       start='[^"']'   skip=@\%(\\\\\)*\\/@ matchgroup=shDerefOp       end='/' end='\ze}'      nextgroup=shDerefPSRright
  syn region shDerefPSRright    contained       start='.'       skip=@\%(\\\\\)\+@              end='\ze}'
 endif
 
@@ -546,8 +549,9 @@ endif
 
 " Additional ksh Keywords and Aliases: {{{1
 " ===================================
-if exists("b:is_kornshell") || exists("b:is_bash") || exists("b:is_posix")
- syn keyword shStatement bg builtin disown enum export false fg getconf getopts hist jobs let printf sleep true typeset unalias unset whence
+if exists("b:is_kornshell") || exists("b:is_posix")
+ syn keyword shStatement bg builtin disown enum export false fg getconf getopts hist jobs let printf sleep true unalias whence
+ syn keyword shStatement typeset skipwhite nextgroup=shSetOption
  syn keyword shStatement autoload compound fc float functions hash history integer nameref nohup r redirect source stop suspend times type
  if exists("b:is_posix")
   syn keyword shStatement command
@@ -557,12 +561,13 @@ if exists("b:is_kornshell") || exists("b:is_bash") || exists("b:is_posix")
 
 " Additional bash Keywords: {{{1
 " =====================
- if exists("b:is_bash")
-"  syn keyword shStatement bind builtin dirs disown enable help logout popd pushd shopt source
-syn keyword shStatement bind builtin caller compopt declare dirs disown enable export help local logout mapfile popd pushd readarray shopt source typeset unset
- else
-  syn keyword shStatement login newgrp
- endif
+elseif exists("b:is_bash")
+ syn keyword shStatement bg builtin disown export false fg getopts jobs let printf sleep true unalias
+ syn keyword shStatement typeset nextgroup=shSetOption
+ syn keyword shStatement fc hash history source suspend times type
+ syn keyword shStatement bind builtin caller compopt declare dirs disown enable export help logout mapfile popd pushd readarray shopt source typeset
+else
+ syn keyword shStatement login newgrp
 endif
 
 " Synchronization: {{{1
index 18c3a048772d2c79cbc2cab4555e468c20bf4cdc..3969cd47772d5f7201cff9d3ac82292a22493f15 100644 (file)
@@ -1,8 +1,8 @@
 " Vim syntax file
 " Language:    TeX
 " Maintainer:  Charles E. Campbell <NdrchipO@ScampbellPfamily.AbizM>
-" Last Change: Sep 09, 2018
-" Version:     110
+" Last Change: Nov 02, 2018
+" Version:     111
 " URL:         http://www.drchip.org/astronaut/vim/index.html#SYNTAX_TEX
 "
 " Notes: {{{1
@@ -159,9 +159,9 @@ syn cluster texFoldGroup            contains=texAccent,texBadMath,texComment,texDefCmd,tex
 syn cluster texBoldGroup               contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texInputFile,texLength,texLigature,texMatcher,texMathZoneV,texMathZoneW,texMathZoneX,texMathZoneY,texMathZoneZ,texNewCmd,texNewEnv,texOnlyMath,texOption,texParen,texRefZone,texSection,texBeginEnd,texSectionZone,texSpaceCode,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,@texMathZones,texTitle,texAbstract,texBoldStyle,texBoldItalStyle,texNoSpell
 syn cluster texItalGroup               contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texInputFile,texLength,texLigature,texMatcher,texMathZoneV,texMathZoneW,texMathZoneX,texMathZoneY,texMathZoneZ,texNewCmd,texNewEnv,texOnlyMath,texOption,texParen,texRefZone,texSection,texBeginEnd,texSectionZone,texSpaceCode,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,@texMathZones,texTitle,texAbstract,texItalStyle,texItalBoldStyle,texNoSpell
 if !s:tex_nospell
- syn cluster texMatchGroup             contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMatcher,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,texInputFile,texOption,@Spell
- syn cluster texMatchNMGroup           contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMatcherNM,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,texInputFile,texOption,@Spell
- syn cluster texStyleGroup             contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,texInputFile,texOption,texStyleStatement,@Spell,texStyleMatcher
+ syn cluster texMatchGroup             contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMatcher,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texBoldStyle,texBoldItalStyle,texItalStyle,texItalBoldStyle,texZone,texInputFile,texOption,@Spell
+ syn cluster texMatchNMGroup           contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMatcherNM,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texBoldStyle,texBoldItalStyle,texItalStyle,texItalBoldStyle,texZone,texInputFile,texOption,@Spell
+ syn cluster texStyleGroup             contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texBoldStyle,texBoldItalStyle,texItalStyle,texItalBoldStyle,texZone,texInputFile,texOption,texStyleStatement,texStyleMatcher,@Spell
 else
  syn cluster texMatchGroup             contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMatcher,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,texInputFile,texOption
  syn cluster texMatchNMGroup           contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMatcherNM,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,texInputFile,texOption
index abd2d180189575b593c87755cc7ea6b927c08320..ae7983fdbaf93ddb54422b17890eb1b8307ebf79 100644 (file)
@@ -1,8 +1,8 @@
 " Vim syntax file
 " Language:    Vim 8.0 script
 " Maintainer:  Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz>
-" Last Change: July 31, 2018
-" Version:     8.0-19
+" Last Change: Sep 26, 2018
+" Version:     8.0-20
 " URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_VIM
 " Automatically generated keyword lists: {{{1
 
@@ -297,7 +297,7 @@ syn match   vimEnvvar       "\${\I\i*}"
 syn region     vimEscapeBrace  oneline   contained transparent start="[^\\]\(\\\\\)*\[\zs\^\=\]\=" skip="\\\\\|\\\]" end="]"me=e-1
 syn match      vimPatSepErr    contained       "\\)"
 syn match      vimPatSep       contained       "\\|"
-syn region     vimPatSepZone   oneline   contained   matchgroup=vimPatSepZ start="\\%\=\ze(" skip="\\\\" end="\\)\|[^\]['"]"   contains=@vimStringGroup
+syn region     vimPatSepZone   oneline   contained   matchgroup=vimPatSepZ start="\\%\=\ze(" skip="\\\\" end="\\)\|[^\\]['"]"  contains=@vimStringGroup
 syn region     vimPatRegion    contained transparent matchgroup=vimPatSepR start="\\[z%]\=(" end="\\)" contains=@vimSubstList oneline
 syn match      vimNotPatSep    contained       "\\\\"
 syn cluster    vimStringGroup  contains=vimEscapeBrace,vimPatSep,vimNotPatSep,vimPatSepErr,vimPatSepZone,@Spell
@@ -407,7 +407,7 @@ syn case match
 " Menus {{{2
 " =====
 syn cluster    vimMenuList contains=vimMenuBang,vimMenuPriority,vimMenuName,vimMenuMod
-syn keyword    vimCommand      am[enu] an[oremenu] aun[menu] cme[nu] cnoreme[nu] cunme[nu] ime[nu] inoreme[nu] iunme[nu] me[nu] nme[nu] nnoreme[nu] noreme[nu] nunme[nu] ome[nu] onoreme[nu] ounme[nu] tlm[enu] tln[oremenu] tlu[nmenu] unme[nu] vme[nu] vnoreme[nu] vunme[nu] skipwhite nextgroup=@vimMenuList
+syn keyword    vimCommand      am[enu] an[oremenu] aun[menu] cme[nu] cnoreme[nu] cunme[nu] ime[nu] inoreme[nu] iunme[nu] me[nu] nme[nu] nnoreme[nu] noreme[nu] nunme[nu] ome[nu] onoreme[nu] ounme[nu] unme[nu] vme[nu] vnoreme[nu] vunme[nu] skipwhite nextgroup=@vimMenuList
 syn match      vimMenuName     "[^ \t\\<]\+"   contained nextgroup=vimMenuNameMore,vimMenuMap
 syn match      vimMenuPriority "\d\+\(\.\d\+\)*"       contained skipwhite nextgroup=vimMenuName
 syn match      vimMenuNameMore "\c\\\s\|<tab>\|\\\."   contained nextgroup=vimMenuName,vimMenuNameMore contains=vimNotation