]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
Update runtime files.
authorBram Moolenaar <Bram@vim.org>
Sat, 25 Jan 2020 12:27:42 +0000 (13:27 +0100)
committerBram Moolenaar <Bram@vim.org>
Sat, 25 Jan 2020 12:27:42 +0000 (13:27 +0100)
26 files changed:
runtime/doc/options.txt
runtime/doc/todo.txt
runtime/doc/usr_02.txt
runtime/filetype.vim
runtime/ftplugin/swift.vim [new file with mode: 0755]
runtime/ftplugin/swiftgyb.vim [new file with mode: 0755]
runtime/syntax/amiga.vim
runtime/syntax/csh.vim
runtime/syntax/dcl.vim
runtime/syntax/elmfilt.vim
runtime/syntax/exports.vim
runtime/syntax/lex.vim
runtime/syntax/lisp.vim
runtime/syntax/maple.vim
runtime/syntax/rpcgen.vim
runtime/syntax/sh.vim
runtime/syntax/sil.vim [new file with mode: 0755]
runtime/syntax/sm.vim
runtime/syntax/swift.vim [new file with mode: 0755]
runtime/syntax/swiftgyb.vim [new file with mode: 0755]
runtime/syntax/tags.vim
runtime/syntax/tex.vim
runtime/syntax/vim.vim
runtime/syntax/xmath.vim
runtime/syntax/xxd.vim
runtime/syntax/yacc.vim

index 1393e62586e46801ffa7408a1c1f13f4d83bcaf7..876ddf3588a48cf6c7e09d5df61afaae781d550f 100644 (file)
@@ -1,4 +1,4 @@
-*options.txt*  For Vim version 8.2.  Last change: 2020 Jan 18
+*options.txt*  For Vim version 8.2.  Last change: 2020 Jan 24
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -5253,7 +5253,7 @@ A jump table for the options with a short description can be found at |Q_op|.
        default because it makes using the pull down menus a little goofy, as
        a pointer transit may activate a window unintentionally.
        MS-Windows: Also see 'scrollfocus' for what window is scrolled when
-       using the mouse scroll whel.
+       using the mouse scroll wheel.
 
                        *'mousehide'* *'mh'* *'nomousehide'* *'nomh'*
 'mousehide' 'mh'       boolean (default on)
index 5c88918da1e5bdf1fa12203051c8102b031227f9..9a51915a2326790899c8fbcd4c632c84e9f37b33 100644 (file)
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 8.2.  Last change: 2020 Jan 20
+*todo.txt*      For Vim version 8.2.  Last change: 2020 Jan 23
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -121,7 +121,7 @@ Terminal emulator window:
   conversions.
 
 Error numbers available:
-E366, E450, E451, E452,
+E450, E451, E452,
 E453, E454, E460, E489, E491, E565, E578, E610, E611, E653,
 E654, E856, E857, E860, E861, E863, E889, E900
 
@@ -171,12 +171,12 @@ in terminal.c and then CTRL-N twice.
 Should do current file first and not split it up when more results are found.
 (Also #1890)
 
+Undo history wrong when ":next file" re-uses a buffer. (#5426)
+ex_next() should pass flag to do_argfile(), then to do_ecmd().
+
 Adding "10" to 'spellsuggest' causes spell suggestions to become very slow.
 (#4087)
 
-Instead of using a syntax error, use #error to fail early when something is
-wrong.  E.g. in vim.h "Error:", and blowfish.c "error!". (#5299)
-
 ":helptags ALL" should skip directories where "tags" cannot be written.
 (MatÄ›j Cepl, #5026)
 
index 83ec2066a38ae5c0009b5697a32924172933012e..a866b7abbf09becc9410ae9c9b4a42009aa44dbd 100644 (file)
@@ -509,14 +509,14 @@ Summary:                                  *help-summary*  >
 
 1) Use Ctrl-D after typing a topic and let Vim show all available topics.
    Or press Tab to complete: >
-       :help some<Tab>
+       :help some<Tab>
 <   More information on how to use the help: >
        :help helphelp
 
 2) Follow the links in bars to related help.  You can go from the detailed
    help to the user documentation, which describes certain commands more from
    a user perspective and less detailed.  E.g. after: >
-       :help pattern.txt
+       :help pattern.txt
 <   You can see the user guide topics |03.9| and |usr_27.txt| in the
    introduction.
 
@@ -528,27 +528,27 @@ Summary:                                  *help-summary*  >
 <   to open the help page which describes all option handling and then search
    using regular expressions, e.g. textwidth.
    Certain options have their own namespace, e.g.: >
-       :help cpo-<letter>
+       :help cpo-<letter>
 <   for the corresponding flag of the 'cpoptions' settings, substitute <letter>
    by a specific flag, e.g.: >
-       :help cpo-;
+       :help cpo-;
 <   And for the guioption flags: >
-       :help go-<letter>
+       :help go-<letter>
 
 4) Normal mode commands do not have a prefix. To go to the help page for the
    "gt" command: >
-       :help gt
+       :help gt
 
 5) Insert mode commands start with i_.  Help for deleting a word: >
-       :help i_CTRL-W
+       :help i_CTRL-W
 
 6) Visual mode commands start with v_.  Help for jumping to the other side of
    the Visual area: >
-       :help v_o
+       :help v_o
 
 7) Command line editing and arguments start with c_.  Help for using the
    command argument %: >
-       :help c_%
+       :help c_%
 
 8) Ex-commands always start with ":", so to go to the ":s" command help: >
        :help :s
@@ -559,56 +559,56 @@ Summary:                                  *help-summary*  >
 
 10) Key combinations.  They usually start with a single letter indicating
     the mode for which they can be used.  E.g.: >
-       :help i_CTRL-X
+       :help i_CTRL-X
 <    takes you to the family of CTRL-X commands for insert mode which can be
     used to auto-complete different things.  Note, that certain keys will
     always be written the same, e.g. Control will always be CTRL.
     For normal mode commands there is no prefix and the topic is available at
     :h CTRL-<Letter>. E.g.  >
-       :help CTRL-W
+       :help CTRL-W
 <    In contrast >
        :help c_CTRL-R
 <    will describe what the CTRL-R does when entering commands in the Command
     line and >
-       :help v_CTRL-A
+       :help v_CTRL-A
 <    talks about incrementing numbers in visual mode and >
        :help g_CTRL-A
 <    talks about the "g<C-A>" command (e.g. you have to press "g" then
-    <CTRL-A>).  Here the "g" stand for the normal command "g" which always
+    <CTRL-A>).  Here the "g" stands for the normal command "g" which always
     expects a second key before doing something similar to the commands
-    starting with "z"
+    starting with "z".
 
 11) Regexp items always start with /.  So to get help for the "\+" quantifier
     in Vim regexes: >
-       :help /\+
+       :help /\+
 <    If you need to know everything about regular expressions, start reading
     at: >
-       :help pattern.txt
+       :help pattern.txt
 
 12) Registers always start with "quote". To find out about the special ":"
     register: >
-       :help quote:
+       :help quote:
 
 13) Vim script is available at >
        :help eval.txt
-<   Certain aspects of the language are available at :h expr-X where "X" is a
-   single letter. E.g.  >
-       :help expr-!
-<   will take you to the topic describing the "!" (Not) operator for
-   VimScript.
-   Also important is >
-       :help function-list
-<   to find a short description of all functions available.  Help topics for
-   Vim script functions always include the "()", so: >
-       :help append()
-<   talks about the append Vim script function rather than how to append text
-   in the current buffer.
+<    Certain aspects of the language are available at :h expr-X where "X" is a
+    single letter. E.g.  >
+       :help expr-!
+<    will take you to the topic describing the "!" (Not) operator for Vim
+    script.
+    Also important is >
+       :help function-list
+<    to find a short description of all functions available.  Help topics for
+    Vim script functions always include the "()", so: >
+       :help append()
+<    talks about the append Vim script function rather than how to append text
+    in the current buffer.
 
 14) Mappings are talked about in the help page :h |map.txt|. Use >
-       :help mapmode-i
+       :help mapmode-i
 <    to find out about the |:imap| command.  Also use :map-topic
     to find out about certain subtopics particular for mappings.  e.g: >
-       :help :map-local
+       :help :map-local
 <    for buffer-local mappings or >
        :help map-bar
 <    for how the '|' is handled in mappings.
@@ -619,7 +619,7 @@ Summary:                                    *help-summary*  >
 
 16) Window management commands always start with CTRL-W, so you find the
     corresponding help at :h CTRL-W_letter.  E.g. >
-       :help CTRL-W_p
+       :help CTRL-W_p
 <    for moving the previous accessed window.  You can also access >
        :help windows.txt
 <    and read your way through if you are looking for window handling
@@ -628,30 +628,30 @@ Summary:                                  *help-summary*  >
 17) Use |:helpgrep| to search in all help pages (and also of any installed
     plugins).  See |:helpgrep| for how to use it.
     To search for a topic: >
-       :helpgrep topic
+       :helpgrep topic
 <    This takes you to the first match.  To go to the next one: >
        :cnext
 <    All matches are available in the quickfix window which can be opened
     with: >
-       :copen
+       :copen
 <    Move around to the match you like and press Enter to jump to that help.
 
 18) The user manual.  This describes help topics for beginners in a rather
     friendly way.  Start at |usr_toc.txt| to find the table of content (as you
     might have guessed): >
-       :help usr_toc.txt
+       :help usr_toc.txt
 <    Skim over the contents to find interesting topics. The "Digraphs" and
     "Entering special characters" items are in chapter 24, so to go to that
     particular help page: >
-       :help usr_24.txt
+       :help usr_24.txt
 <    Also if you want to access a certain chapter in the help, the chapter
     number can be accessed directly like this: >
-       :help 10.1
+       :help 10.1
 <    which goes to chapter 10.1 in |usr_10.txt| and talks about recording
     macros.
 
 19) Highlighting groups.  Always start with hl-groupname.  E.g. >
-       :help hl-WarningMsg
+       :help hl-WarningMsg
 <    talks about the WarningMsg highlighting group.
 
 20) Syntax highlighting is namespaced to :syn-topic.  E.g. >
@@ -662,24 +662,24 @@ Summary:                                  *help-summary*  >
     usually start with :l
 
 22) Autocommand events can be found by their name: >
-       :help BufWinLeave
+       :help BufWinLeave
 <    To see all possible events: >
        :help autocommand-events
 
 23) Command-line switches always start with "-".  So for the help of the -f
     command switch of Vim use: >
-       :help -f
+       :help -f
 
 24) Optional features always start with "+".  To find out about the
     conceal feature use: >
-       :help +conceal
+       :help +conceal
 
 25) Documentation for included filetype specific functionality is usually
-    available  in the form ft-<filetype>-<functionality>.  So >
-       :help ft-c-syntax
+    available in the form ft-<filetype>-<functionality>.  So >
+       :help ft-c-syntax
 <    talks about the C syntax file and the option it provides.  Sometimes,
     additional sections for omni completion >
-       :help ft-php-omni
+       :help ft-php-omni
 <    or filetype plugins >
        :help ft-tex-plugin
 <    are available.
@@ -691,7 +691,7 @@ Summary:                                    *help-summary*  >
 <    talks about the warning "Changing a readonly file".
     Sometimes, however, those error codes are not described, but rather are
     listed at the Vim command that usually causes this.  So: >
-       :help E128
+       :help E128
 <    takes you to the |:function| command
 
 
index 53f670831581a090214166f0a5e7fd7b7c98cbf9..d8184faee522b0e463d25cc95ad2f080b5db03f8 100644 (file)
@@ -1,7 +1,7 @@
 " Vim support file to detect file types
 "
 " Maintainer:  Bram Moolenaar <Bram@vim.org>
-" Last Change: 2019 Nov 26
+" Last Change: 2020 Jan 22
 
 " Listen very carefully, I will say this only once
 if exists("did_load_filetypes")
diff --git a/runtime/ftplugin/swift.vim b/runtime/ftplugin/swift.vim
new file mode 100755 (executable)
index 0000000..26d04eb
--- /dev/null
@@ -0,0 +1,15 @@
+" This source file is part of the Swift.org open source project
+"
+" Copyright (c) 2014 - 2020 Apple Inc. and the Swift project authors
+" Licensed under Apache License v2.0 with Runtime Library Exception
+"
+" See https://swift.org/LICENSE.txt for license information
+" See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
+"
+" Vim maintainer: Emir SARI <bitigchi@me.com>
+
+setlocal comments=s1:/*,mb:*,ex:*/,:///,://
+setlocal expandtab
+setlocal ts=2
+setlocal sw=2
+setlocal smartindent
diff --git a/runtime/ftplugin/swiftgyb.vim b/runtime/ftplugin/swiftgyb.vim
new file mode 100755 (executable)
index 0000000..8e8fc2b
--- /dev/null
@@ -0,0 +1,11 @@
+" This source file is part of the Swift.org open source project
+"
+" Copyright (c) 2014 - 2020 Apple Inc. and the Swift project authors
+" Licensed under Apache License v2.0 with Runtime Library Exception
+"
+" See https://swift.org/LICENSE.txt for license information
+" See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
+"
+" Vim maintainer: Emir SARI <bitigchi@me.com>
+
+runtime! ftplugin/swift.vim
index eab9f66169a6873d5efb2a2fa1d9c0441f259e0f..5a664c4f608a93865b33948af4ab6d907457c172 100644 (file)
@@ -1,8 +1,8 @@
 " Vim syntax file
 " Language:    AmigaDos
-" Maintainer:  Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz>
+" Maintainer:  Charles E. Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
 " Last Change: Aug 31, 2016
-" Version:     9
+" Version:     10
 " URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_AMIGA
 
 " quit when a syntax file was already loaded
index c134aa7ef399e42541913160a71df3a278438724..6a056c7004747f814f625e0d3225a4fe847ab528 100644 (file)
@@ -1,8 +1,8 @@
 " Vim syntax file
 " Language:    C-shell (csh)
-" Maintainer:  Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz>
+" Maintainer:  Charles E. Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
 " Last Change: Aug 31, 2016
-" Version:     13
+" Version:     14
 " URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_CSH
 
 " quit when a syntax file was already loaded
index 73df8e1bac57db21ef86604023047e28017b9d10..530fbdb59929becbbad0016ba8d9bc8adcfcacdb 100644 (file)
@@ -1,8 +1,8 @@
 " Vim syntax file
 " Language:    DCL (Digital Command Language - vms)
-" Maintainer:  Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz>
+" Maintainer:  Charles E. Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
 " Last Change: Mar 26, 2019
-" Version:     12
+" Version:     13
 " URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_DCL
 
 " quit when a syntax file was already loaded
index ec97af038df8f4042cb890bff64f58c143663812..d995853e8e2e4511eee30eb5766346526d44683a 100644 (file)
@@ -1,8 +1,8 @@
 " Vim syntax file
 " Language:    Elm Filter rules
-" Maintainer:  Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz>
+" Maintainer:  Charles E. Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
 " Last Change: Aug 31, 2016
-" Version:     8
+" Version:     9
 " URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_ELMFILT
 
 " quit when a syntax file was already loaded
index 55efbb1e5095c71952e0f544eed6650b607737ae..05a3f1acfe3f9b554d7806cda089d3c5fb6e2a7e 100644 (file)
@@ -1,8 +1,8 @@
 " Vim syntax file
 " Language:    exports
-" Maintainer:  Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz>
+" Maintainer:  Charles E. Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
 " Last Change: Aug 31, 2016
-" Version:     7
+" Version:     8
 " Notes:               This file includes both SysV and BSD 'isms
 " URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_EXPORTS
 
index 560aa44be3dd4393f8ed89119ce279a59b69eec8..9e0b307d682519659f0936e53762e7809d9020fc 100644 (file)
@@ -1,8 +1,8 @@
 " Vim syntax file
 " Language:    Lex
-" Maintainer:  Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz>
+" Maintainer:  Charles E. Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
 " Last Change: Aug 31, 2016
-" Version:     16
+" Version:     17
 " URL: http://mysite.verizon.net/astronaut/vim/index.html#SYNTAX_LEX
 "
 " Option:
index 17c54d1a4fb4a1e2e9f8725b6fb16e24e0451e3f..434150ab265327d5f7ded3fddb02309f497f65b4 100644 (file)
@@ -1,8 +1,8 @@
 " Vim syntax file
 " Language:    Lisp
-" Maintainer:  Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz>
+" Maintainer:  Charles E. Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
 " Last Change: Jul 11, 2019
-" Version:     29
+" Version:     30
 " URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_LISP
 "
 "  Thanks to F Xavier Noria for a list of 978 Common Lisp symbols taken from HyperSpec
index f14cf79cf41bfdf925a949eed4c3bd0a6874b0bf..78f2b4e09e42f34de90b87d665b393a117f77202 100644 (file)
@@ -1,8 +1,8 @@
 " Vim syntax file
 " Language:    Maple V (based on release 4)
-" Maintainer:  Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz>
+" Maintainer:  Charles E. Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
 " Last Change: Mar 26, 2019
-" Version:     16
+" Version:     17
 " URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_MAPLE
 "
 " Package Function Selection: {{{1
index 08183d43a45dbc6791faaeb7d101bc0d3e7b5eb7..60c9b8cdda493f05a1b88866c3a6b0e08949a09c 100644 (file)
@@ -1,8 +1,8 @@
 " Vim syntax file
 " Language:    rpcgen
-" Maintainer:  Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz>
+" Maintainer:  Charles E. Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
 " Last Change: Aug 31, 2016
-" Version:     12
+" Version:     13
 " URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_RPCGEN
 
 if exists("b:current_syntax")
index ae62e195a4e8989830e00ed08a82cbcfe87434e0..0f4406d3e12d8bde518e0efccbffd5b2a37b990f 100644 (file)
@@ -1,9 +1,9 @@
 " Vim syntax file
 " Language:            shell (sh) Korn shell (ksh) bash (sh)
-" Maintainer:          Charles E. Campbell  <NdrOchipS@PcampbellAfamily.Mbiz>
+" Maintainer:          Charles E. Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
 " Previous Maintainer: Lennart Schultz <Lennart.Schultz@ecmwf.int>
-" Last Change:         Jun 16, 2019
-" Version:             188
+" Last Change:         Oct 16, 2019
+" Version:             189
 " 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)
@@ -124,13 +124,14 @@ syn cluster shErrorList   contains=shDoError,shIfError,shInError,shCaseError,shEsa
 if exists("b:is_kornshell") || exists("b:is_bash")
  syn cluster ErrorList add=shDTestError
 endif
-syn cluster shArithParenList   contains=shArithmetic,shCaseEsac,shComment,shDeref,shDo,shDerefSimple,shEcho,shEscape,shNumber,shOperator,shPosnParm,shExSingleQuote,shExDoubleQuote,shHereString,shRedir,shSingleQuote,shDoubleQuote,shStatement,shVariable,shAlias,shTest,shCtrlSeq,shSpecial,shParen,bashSpecialVariables,bashStatement,shIf,shFor
+syn cluster shArithParenList   contains=shArithmetic,shCaseEsac,shComment,shDeref,shDo,shDerefSimple,shEcho,shEscape,shNumber,shOperator,shPosnParm,shExSingleQuote,shExDoubleQuote,shHereString,shRedir,shSingleQuote,shDoubleQuote,shStatement,shVariable,shAlias,shTest,shCtrlSeq,shSpecial,shParen,bashSpecialVariables,bashStatement,shIf,shFor,shFunctionKey,shFunctionOne,shFunctionTwo
 syn cluster shArithList        contains=@shArithParenList,shParenError
 syn cluster shCaseEsacList     contains=shCaseStart,shCaseLabel,shCase,shCaseBar,shCaseIn,shComment,shDeref,shDerefSimple,shCaseCommandSub,shCaseExSingleQuote,shCaseSingleQuote,shCaseDoubleQuote,shCtrlSeq,@shErrorList,shStringSpecial,shCaseRange
 syn cluster shCaseList contains=@shCommandSubList,shCaseEsac,shColon,shCommandSub,shCommandSubBQ,shComment,shDo,shEcho,shExpr,shFor,shForPP,shHereDoc,shIf,shHereString,shRedir,shSetList,shSource,shStatement,shVariable,shCtrlSeq
 syn cluster shCommandSubList   contains=shAlias,shArithmetic,shCmdParenRegion,shCommandSub,shComment,shCtrlSeq,shDeref,shDerefSimple,shDoubleQuote,shEcho,shEscape,shExDoubleQuote,shExpr,shExSingleQuote,shHereDoc,shNumber,shOperator,shOption,shPosnParm,shHereString,shRedir,shSingleQuote,shSpecial,shStatement,shSubSh,shTest,shVariable
 syn cluster shCurlyList        contains=shNumber,shComma,shDeref,shDerefSimple,shDerefSpecial
-syn cluster shDblQuoteList     contains=shArithmetic,shCommandSub,shCommandSubBQ,shDeref,shDerefSimple,shEscape,shPosnParm,shCtrlSeq,shSpecial,shSpecialDQ
+" COMBAK: removing shEscape fromshDblQuoteList fails ksh04:43
+syn cluster shDblQuoteList     contains=shArithmetic,shCommandSub,shCommandSubBQ,shDeref,shDerefSimple,shPosnParm,shCtrlSeq,shSpecial,shSpecialDQ
 syn cluster shDerefList        contains=shDeref,shDerefSimple,shDerefVar,shDerefSpecial,shDerefWordError,shDerefPSR,shDerefPPS
 syn cluster shDerefVarList     contains=shDerefOff,shDerefOp,shDerefVarArray,shDerefOpError
 syn cluster shEchoList contains=shArithmetic,shCommandSub,shCommandSubBQ,shDeref,shDerefSimple,shEscape,shExSingleQuote,shExDoubleQuote,shSingleQuote,shDoubleQuote,shCtrlSeq,shEchoQuote
@@ -147,6 +148,7 @@ syn cluster shHereListDQ    contains=shBeginHere,@shDblQuoteList,shHerePayload
 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 shPPSLeftList      contains=shAlias,shArithmetic,shCmdParenRegion,shCommandSub,shCtrlSeq,shDeref,shDerefSimple,shDoubleQuote,shEcho,shEscape,shExDoubleQuote,shExpr,shExSingleQuote,shHereDoc,shNumber,shOperator,shOption,shPosnParm,shHereString,shRedir,shSingleQuote,shSpecial,shStatement,shSubSh,shTest,shVariable
 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=shArithmetic,shCharClass,shCommandSub,shCommandSubBQ,shCtrlSeq,shDeref,shDerefSimple,shDoubleQuote,shSpecialDQ,shExDoubleQuote,shExpr,shExSingleQuote,shNumber,shOperator,shSingleQuote,shTest,shTestOpr
@@ -156,8 +158,8 @@ syn cluster shForList       contains=shTestOpr,shNumber,shDerefSimple,shDeref,shComman
 " Echo: {{{1
 " ====
 " This one is needed INSIDE a CommandSub, so that `echo bla` be correct
-syn region shEcho matchgroup=shStatement start="\<echo\>"  skip="\\$" matchgroup=shEchoDelim end="$" matchgroup=NONE end="[<>;&|()`]"me=e-1 end="\d[<>]"me=e-2 end="\s#"me=e-2 contains=@shEchoList skipwhite nextgroup=shQuickComment
-syn region shEcho matchgroup=shStatement start="\<print\>" skip="\\$" matchgroup=shEchoDelim end="$" matchgroup=NONE end="[<>;&|()`]"me=e-1 end="\d[<>]"me=e-2 end="\s#"me=e-2 contains=@shEchoList skipwhite nextgroup=shQuickComment
+syn region shEcho matchgroup=shStatement start="\<echo\>"  skip="\\$" matchgroup=shEchoDelim end="$" matchgroup=NONE end="[<>;&|()`]"me=e-1 end="\d[<>]"me=e-2 end="#"me=e-1 contains=@shEchoList skipwhite nextgroup=shQuickComment
+syn region shEcho matchgroup=shStatement start="\<print\>" skip="\\$" matchgroup=shEchoDelim end="$" matchgroup=NONE end="[<>;&|()`]"me=e-1 end="\d[<>]"me=e-2 end="#"me=e-1 contains=@shEchoList skipwhite nextgroup=shQuickComment
 syn match  shEchoQuote contained       '\%(\\\\\)*\\["`'()]'
 
 " This must be after the strings, so that ... \" will be correct
@@ -196,7 +198,7 @@ endif
 " Options: {{{1
 " ====================
 syn match   shOption   "\s\zs[-+][-_a-zA-Z#@]\+"
-syn match   shOption   "\s\zs--[^ \t$`'"|);]\+"
+syn match   shOption   "\s\zs--[^ \t$=`'"|);]\+"
 
 " File Redirection Highlighted As Operators: {{{1
 "===========================================
@@ -292,9 +294,12 @@ endif
 "======
 syn match   shWrapLineOperator "\\$"
 syn region  shCommandSubBQ     start="`" skip="\\\\\|\\." end="`"      contains=shBQComment,@shCommandSubList
-"see ksh13
+"COMBAK: see ksh13:50
 "syn match   shEscape  contained       '\%(^\)\@!\%(\\\\\)*\\.'        nextgroup=shSingleQuote,shDoubleQuote,shComment
+"COMBAK: see sh11:27
 syn match   shEscape   contained       '\%(^\)\@!\%(\\\\\)*\\.'        nextgroup=shComment
+"COMBAK: see ksh13:53
+"syn match   shEscape  contained       '\%(^\)\@!\%(\\\\\)*\\.'
 
 " $() and $(()): {{{1
 " $(..) is not supported by sh (Bourne shell).  However, apparently
@@ -356,6 +361,7 @@ syn region  shDoubleQuote   matchgroup=shQuote start=+\%(\%(\\\\\)*\\\)\@<!"+ skip
 syn region  shDoubleQuote      matchgroup=shQuote start=+"+ skip=+\\"+ end=+"+         contained contains=@shDblQuoteList,shStringSpecial,@Spell       nextgroup=shSpecialStart
 syn match   shStringSpecial    "[^[:print:] \t]"                       contained
 syn match   shStringSpecial    "[^\\]\zs\%(\\\\\)*\\[\\"'`$()#]"                       nextgroup=shComment
+syn match   shStringSpecial    "[^\\]\zs\%(\\\\\)*\\[\\"'`$()#]"
 syn match   shSpecialSQ        "[^\\]\zs\%(\\\\\)*\\[\\"'`$()#]"               contained       nextgroup=shBkslshSnglQuote,@shNoZSList
 syn match   shSpecialDQ        "[^\\]\zs\%(\\\\\)*\\[\\"'`$()#]"               contained       nextgroup=shBkslshDblQuote,@shNoZSList
 syn match   shSpecialStart     "\%(\\\\\)*\\[\\"'`$()#]"                       contained       nextgroup=shBkslshSnglQuote,shBkslshDblQuote,@shNoZSList
@@ -527,7 +533,7 @@ 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 shDerefPPSleft     contained       start='.'       skip=@\%(\\\\\)*\\/@ matchgroup=shDerefOp       end='/' end='\ze}'      nextgroup=shDerefPPSright       contains=@shPPSLeftList
  syn region shDerefPPSright    contained       start='.'       skip=@\%(\\\\\)\+@              end='\ze}'                              contains=@shPPSRightList
 
  " bash : ${parameter/#substring/replacement}
diff --git a/runtime/syntax/sil.vim b/runtime/syntax/sil.vim
new file mode 100755 (executable)
index 0000000..5583497
--- /dev/null
@@ -0,0 +1,178 @@
+" This source file is part of the Swift.org open source project
+"
+" Copyright (c) 2014 - 2020 Apple Inc. and the Swift project authors
+" Licensed under Apache License v2.0 with Runtime Library Exception
+"
+" See https://swift.org/LICENSE.txt for license information
+" See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
+"
+" Vim syntax file
+" Language: sil
+"
+" Vim maintainer: Emir SARI <bitigchi@me.com>
+
+if exists("b:current_syntax")
+    finish
+endif
+
+let s:keepcpo = &cpo
+set cpo&vim
+
+syn keyword silStage skipwhite nextgroup=silStages
+      \ sil_stage
+syn keyword silStages
+      \ canonical
+      \ raw
+
+syn match silIdentifier skipwhite
+      \ /@\<[A-Za-z_0-9]\+\>/
+
+syn match silConvention skipwhite
+      \ /$\?@convention/
+syn region silConvention contained contains=silConventions
+      \ start="@convention(" end=")"
+syn keyword silConventions
+      \ block
+      \ c
+      \ method
+      \ objc_method
+      \ thick
+      \ thin
+      \ witness_method
+
+syn match silFunctionType skipwhite
+      \ /@\(\<autoreleased\>\|\<callee_guaranteed\>\|\<callee_owned\>\|\<error\>\|\<guaranteed\>\|\<in\>\|\<in_constant\>\|\<in_guaranteed\>\|\<inout\>\|\<inout_aliasable\>\|\<noescape\>\|\<out\>\|\<owned\>\)/
+syn match silMetatypeType skipwhite
+      \ /@\(\<thick\>\|\<thin\>\|\<objc\>\)/
+
+" TODO: handle [tail_elems sil-type * sil-operand]
+syn region silAttribute contains=silAttributes
+      \ start="\[" end="\]"
+syn keyword silAttributes contained containedin=silAttribute
+      \ abort
+      \ deinit
+      \ delegatingself
+      \ derivedself
+      \ derivedselfonly
+      \ dynamic
+      \ exact
+      \ init
+      \ modify
+      \ mutating
+      \ objc
+      \ open
+      \ read
+      \ rootself
+      \ stack
+      \ static
+      \ strict
+      \ unknown
+      \ unsafe
+      \ var
+
+syn keyword swiftImport import skipwhite nextgroup=swiftImportModule
+syn match swiftImportModule /\<[A-Za-z_][A-Za-z_0-9]*\>/ contained nextgroup=swiftImportComponent
+syn match swiftImportComponent /\.\<[A-Za-z_][A-Za-z_0-9]*\>/ contained nextgroup=swiftImportComponent
+
+syn region swiftComment start="/\*" end="\*/" contains=swiftComment,swiftTodo
+syn region swiftLineComment start="//" end="$" contains=swiftTodo
+
+syn match swiftLineComment   /^#!.*/
+syn match swiftTypeName  /\<[A-Z][a-zA-Z_0-9]*\>/
+syn match swiftDecimal /\<[-]\?[0-9]\+\>/
+syn match swiftDecimal /\<[-+]\?[0-9]\+\>/
+
+syn match swiftTypeName /\$\*\<\?[A-Z][a-zA-Z0-9_]*\>/
+syn match swiftVarName /%\<[A-z[a-z_0-9]\+\(#[0-9]\+\)\?\>/
+
+syn keyword swiftKeyword break case continue default do else for if in static switch repeat return where while skipwhite
+
+syn keyword swiftKeyword sil internal thunk skipwhite
+syn keyword swiftKeyword public hidden private shared public_external hidden_external skipwhite
+syn keyword swiftKeyword getter setter allocator initializer enumelt destroyer globalaccessor objc skipwhite
+syn keyword swiftKeyword alloc_global alloc_stack alloc_ref alloc_ref_dynamic alloc_box alloc_existential_box alloc_value_buffer dealloc_stack dealloc_box dealloc_existential_box dealloc_ref dealloc_partial_ref dealloc_value_buffer skipwhite
+syn keyword swiftKeyword debug_value debug_value_addr skipwhite
+syn keyword swiftKeyword load load_unowned store assign mark_uninitialized mark_function_escape copy_addr destroy_addr index_addr index_raw_pointer bind_memory to skipwhite
+syn keyword swiftKeyword strong_retain strong_release strong_retain_unowned ref_to_unowned unowned_to_ref unowned_retain unowned_release load_weak store_unowned store_weak fix_lifetime autorelease_value set_deallocating is_unique is_escaping_closure skipwhite
+syn keyword swiftKeyword function_ref integer_literal float_literal string_literal global_addr skipwhite
+syn keyword swiftKeyword class_method super_method witness_method objc_method objc_super_method skipwhite
+syn keyword swiftKeyword partial_apply builtin skipwhite
+syn keyword swiftApplyKeyword apply try_apply skipwhite
+syn keyword swiftKeyword metatype value_metatype existential_metatype skipwhite
+syn keyword swiftKeyword retain_value release_value retain_value_addr release_value_addr tuple tuple_extract tuple_element_addr struct struct_extract struct_element_addr ref_element_addr skipwhite
+syn keyword swiftKeyword init_enum_data_addr unchecked_enum_data unchecked_take_enum_data_addr inject_enum_addr skipwhite
+syn keyword swiftKeyword init_existential_addr init_existential_value init_existential_metatype deinit_existential_addr deinit_existential_value open_existential_addr open_existential_box open_existential_box_value open_existential_metatype init_existential_ref open_existential_ref open_existential_value skipwhite
+syn keyword swiftKeyword upcast address_to_pointer pointer_to_address pointer_to_thin_function unchecked_addr_cast unchecked_ref_cast unchecked_ref_cast_addr ref_to_raw_pointer ref_to_bridge_object ref_to_unmanaged unmanaged_to_ref raw_pointer_to_ref skipwhite
+syn keyword swiftKeyword convert_function thick_to_objc_metatype thin_function_to_pointer objc_to_thick_metatype thin_to_thick_function unchecked_ref_bit_cast unchecked_trivial_bit_cast bridge_object_to_ref bridge_object_to_word unchecked_bitwise_cast skipwhite
+syn keyword swiftKeyword objc_existential_metatype_to_object objc_metatype_to_object objc_protocol skipwhite
+syn keyword swiftKeyword unconditional_checked_cast unconditional_checked_cast_addr unconditional_checked_cast_value skipwhite
+syn keyword swiftKeyword cond_fail skipwhite
+syn keyword swiftKeyword unreachable return throw br cond_br switch_value select_enum select_enum_addr select_value switch_enum switch_enum_addr dynamic_method_br checked_cast_br checked_cast_value_br checked_cast_addr_br skipwhite
+syn keyword swiftKeyword project_box project_existential_box project_value_buffer project_block_storage init_block_storage_header copy_block mark_dependence skipwhite
+
+syn keyword swiftTypeDefinition class extension protocol struct typealias enum skipwhite nextgroup=swiftTypeName
+syn region swiftTypeAttributes start="\[" end="\]" skipwhite contained nextgroup=swiftTypeName
+syn match swiftTypeName /\<[A-Za-z_][A-Za-z_0-9\.]*\>/ contained nextgroup=swiftTypeParameters
+
+syn region swiftTypeParameters start="<" end=">" skipwhite contained
+
+syn keyword swiftFuncDefinition func skipwhite nextgroup=swiftFuncAttributes,swiftFuncName,swiftOperator
+syn region swiftFuncAttributes start="\[" end="\]" skipwhite contained nextgroup=swiftFuncName,swiftOperator
+syn match swiftFuncName /\<[A-Za-z_][A-Za-z_0-9]*\>/ skipwhite contained nextgroup=swiftTypeParameters
+syn keyword swiftFuncKeyword subscript init destructor nextgroup=swiftTypeParameters
+
+syn keyword swiftVarDefinition var skipwhite nextgroup=swiftVarName
+syn keyword swiftVarDefinition let skipwhite nextgroup=swiftVarName
+syn match swiftVarName /\<[A-Za-z_][A-Za-z_0-9]*\>/ skipwhite contained
+
+syn keyword swiftDefinitionModifier static
+
+syn match swiftImplicitVarName /\$\<[A-Za-z_0-9]\+\>/
+
+hi def link swiftImport Include
+hi def link swiftImportModule Title
+hi def link swiftImportComponent Identifier
+hi def link swiftApplyKeyword Statement
+hi def link swiftKeyword Statement
+hi def link swiftTypeDefinition Define
+hi def link swiftTypeName Type
+hi def link swiftTypeParameters Special
+hi def link swiftTypeAttributes PreProc
+hi def link swiftFuncDefinition Define
+hi def link swiftDefinitionModifier Define
+hi def link swiftFuncName Function
+hi def link swiftFuncAttributes PreProc
+hi def link swiftFuncKeyword Function
+hi def link swiftVarDefinition Define
+hi def link swiftVarName Identifier
+hi def link swiftImplicitVarName Identifier
+hi def link swiftIdentifierKeyword Identifier
+hi def link swiftTypeDeclaration Delimiter
+hi def link swiftBoolean Boolean
+hi def link swiftString String
+hi def link swiftInterpolation Special
+hi def link swiftComment Comment
+hi def link swiftLineComment Comment
+hi def link swiftDecimal Number
+hi def link swiftHex Number
+hi def link swiftOct Number
+hi def link swiftBin Number
+hi def link swiftOperator Function
+hi def link swiftChar Character
+hi def link swiftLabel Label
+hi def link swiftNew Operator
+
+hi def link silStage Special
+hi def link silStages Type
+hi def link silConvention Special
+hi def link silConventionParameter Special
+hi def link silConventions Type
+hi def link silIdentifier Identifier
+hi def link silFunctionType Special
+hi def link silMetatypeType Special
+hi def link silAttribute PreProc
+
+let b:current_syntax = "sil"
+
+let &cpo = s:keepcpo
+unlet s:keepcpo
index 0ecc96875fb7f6ec59e1b8f4fc1d890196a24f7d..a16575c519cd260b4ff1ed37bed221f37376463c 100644 (file)
@@ -1,8 +1,8 @@
 " Vim syntax file
 " Language:    sendmail
-" Maintainer:  Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz>
+" Maintainer:  Charles E. Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
 " Last Change: Oct 25, 2016
-" Version:     8
+" Version:     9
 " URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_SM
 if exists("b:current_syntax")
   finish
diff --git a/runtime/syntax/swift.vim b/runtime/syntax/swift.vim
new file mode 100755 (executable)
index 0000000..533d3fb
--- /dev/null
@@ -0,0 +1,277 @@
+" This source file is part of the Swift.org open source project
+"
+" Copyright (c) 2014 - 2020 Apple Inc. and the Swift project authors
+" Licensed under Apache License v2.0 with Runtime Library Exception
+"
+" See https://swift.org/LICENSE.txt for license information
+" See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
+"
+" Vim syntax file
+" Language: swift
+" Maintainer: Joe Groff <jgroff@apple.com>
+" Last Change: 2018 Jan 21
+"
+" Vim maintainer: Emir SARI <bitigchi@me.com>
+
+if exists("b:current_syntax")
+    finish
+endif
+
+let s:keepcpo = &cpo
+set cpo&vim
+
+syn keyword swiftKeyword
+      \ associatedtype
+      \ break
+      \ catch
+      \ continue
+      \ defer
+      \ do
+      \ else
+      \ fallthrough
+      \ for
+      \ guard
+      \ if
+      \ in
+      \ repeat
+      \ return
+      \ switch
+      \ throw
+      \ try
+      \ where
+      \ while
+syn match swiftMultiwordKeyword
+      \ "indirect case"
+
+syn keyword swiftImport skipwhite skipempty nextgroup=swiftImportModule
+      \ import
+
+syn keyword swiftDefinitionModifier
+      \ convenience
+      \ dynamic
+      \ fileprivate
+      \ final
+      \ internal
+      \ lazy
+      \ nonmutating
+      \ open
+      \ override
+      \ prefix
+      \ private
+      \ public
+      \ required
+      \ rethrows
+      \ static
+      \ throws
+      \ weak
+
+syn keyword swiftInOutKeyword skipwhite skipempty nextgroup=swiftTypeName
+      \ inout
+
+syn keyword swiftIdentifierKeyword
+      \ Self
+      \ metatype
+      \ self
+      \ super
+
+syn keyword swiftFuncKeywordGeneral skipwhite skipempty nextgroup=swiftTypeParameters
+      \ init
+
+syn keyword swiftFuncKeyword
+      \ deinit
+      \ subscript
+
+syn keyword swiftScope
+      \ autoreleasepool
+
+syn keyword swiftMutating skipwhite skipempty nextgroup=swiftFuncDefinition
+      \ mutating
+syn keyword swiftFuncDefinition skipwhite skipempty nextgroup=swiftTypeName,swiftOperator
+      \ func
+
+syn keyword swiftTypeDefinition skipwhite skipempty nextgroup=swiftTypeName
+      \ class
+      \ enum
+      \ extension
+      \ protocol
+      \ struct
+
+syn keyword swiftTypeAliasDefinition skipwhite skipempty nextgroup=swiftTypeAliasName
+      \ typealias
+
+syn match swiftMultiwordTypeDefinition skipwhite skipempty nextgroup=swiftTypeName
+      \ "indirect enum"
+
+syn keyword swiftVarDefinition skipwhite skipempty nextgroup=swiftVarName
+      \ let
+      \ var
+
+syn keyword swiftLabel
+      \ get
+      \ set
+      \ didSet
+      \ willSet
+
+syn keyword swiftBoolean
+      \ false
+      \ true
+
+syn keyword swiftNil
+      \ nil
+
+syn match swiftImportModule contained nextgroup=swiftImportComponent
+      \ /\<[A-Za-z_][A-Za-z_0-9]*\>/
+syn match swiftImportComponent contained nextgroup=swiftImportComponent
+      \ /\.\<[A-Za-z_][A-Za-z_0-9]*\>/
+
+syn match swiftTypeAliasName contained skipwhite skipempty nextgroup=swiftTypeAliasValue
+      \ /\<[A-Za-z_][A-Za-z_0-9]*\>/
+syn match swiftTypeName contained skipwhite skipempty nextgroup=swiftTypeParameters
+      \ /\<[A-Za-z_][A-Za-z_0-9\.]*\>/
+syn match swiftVarName contained skipwhite skipempty nextgroup=swiftTypeDeclaration
+      \ /\<[A-Za-z_][A-Za-z_0-9]*\>/
+syn match swiftImplicitVarName
+      \ /\$\<[A-Za-z_0-9]\+\>/
+
+" TypeName[Optionality]?
+syn match swiftType contained skipwhite skipempty nextgroup=swiftTypeParameters
+      \ /\<[A-Za-z_][A-Za-z_0-9\.]*\>[!?]\?/
+" [Type:Type] (dictionary) or [Type] (array)
+syn region swiftType contained contains=swiftTypePair,swiftType
+      \ matchgroup=Delimiter start=/\[/ end=/\]/
+syn match swiftTypePair contained skipwhite skipempty nextgroup=swiftTypeParameters,swiftTypeDeclaration
+      \ /\<[A-Za-z_][A-Za-z_0-9\.]*\>[!?]\?/
+" (Type[, Type]) (tuple)
+" FIXME: we should be able to use skip="," and drop swiftParamDelim
+syn region swiftType contained contains=swiftType,swiftParamDelim
+      \ matchgroup=Delimiter start="[^@]\?(" end=")" matchgroup=NONE skip=","
+syn match swiftParamDelim contained
+      \ /,/
+" <Generic Clause> (generics)
+syn region swiftTypeParameters contained contains=swiftVarName,swiftConstraint
+      \ matchgroup=Delimiter start="<" end=">" matchgroup=NONE skip=","
+syn keyword swiftConstraint contained
+      \ where
+
+syn match swiftTypeAliasValue skipwhite skipempty nextgroup=swiftType
+      \ /=/
+syn match swiftTypeDeclaration skipwhite skipempty nextgroup=swiftType,swiftInOutKeyword
+      \ /:/
+syn match swiftTypeDeclaration skipwhite skipempty nextgroup=swiftType
+      \ /->/
+
+syn match swiftKeyword
+      \ /\<case\>/
+syn region swiftCaseLabelRegion
+      \ matchgroup=swiftKeyword start=/\<case\>/ matchgroup=Delimiter end=/:/ oneline contains=TOP
+syn region swiftDefaultLabelRegion
+      \ matchgroup=swiftKeyword start=/\<default\>/ matchgroup=Delimiter end=/:/ oneline
+
+syn region swiftParenthesisRegion contains=TOP
+      \ matchgroup=NONE start=/(/ end=/)/
+
+syn region swiftString contains=swiftInterpolationRegion
+      \ start=/"/ skip=/\\\\\|\\"/ end=/"/
+syn region swiftInterpolationRegion contained contains=TOP
+      \ matchgroup=swiftInterpolation start=/\\(/ end=/)/
+syn region swiftComment contains=swiftComment,swiftLineComment,swiftTodo
+      \ start="/\*" end="\*/"
+syn region swiftLineComment contains=swiftComment,swiftTodo
+      \ start="//" end="$"
+
+syn match swiftDecimal
+      \ /[+\-]\?\<\([0-9][0-9_]*\)\([.][0-9_]*\)\?\([eE][+\-]\?[0-9][0-9_]*\)\?\>/
+syn match swiftHex
+      \ /[+\-]\?\<0x[0-9A-Fa-f][0-9A-Fa-f_]*\(\([.][0-9A-Fa-f_]*\)\?[pP][+\-]\?[0-9][0-9_]*\)\?\>/
+syn match swiftOct
+      \ /[+\-]\?\<0o[0-7][0-7_]*\>/
+syn match swiftBin
+      \ /[+\-]\?\<0b[01][01_]*\>/
+
+syn match swiftOperator skipwhite skipempty nextgroup=swiftTypeParameters
+      \ "\.\@<!\.\.\.\@!\|[/=\-+*%<>!&|^~]\@<!\(/[/*]\@![/=\-+*%<>!&|^~]*\|*/\@![/=\-+*%<>!&|^~]*\|->\@![/=\-+*%<>!&|^~]*\|[=+%<>!&|^~][/=\-+*%<>!&|^~]*\)"
+syn match swiftOperator skipwhite skipempty nextgroup=swiftTypeParameters
+      \ "\.\.[<.]"
+
+syn match swiftChar
+      \ /'\([^'\\]\|\\\(["'tnr0\\]\|x[0-9a-fA-F]\{2}\|u[0-9a-fA-F]\{4}\|U[0-9a-fA-F]\{8}\)\)'/
+
+syn match swiftTupleIndexNumber contains=swiftDecimal
+      \ /\.[0-9]\+/
+syn match swiftDecimal contained
+      \ /[0-9]\+/
+
+syn match swiftPreproc
+      \ /#\(\<file\>\|\<line\>\|\<function\>\)/
+syn match swiftPreproc
+      \ /^\s*#\(\<if\>\|\<else\>\|\<elseif\>\|\<endif\>\|\<error\>\|\<warning\>\)/
+syn region swiftPreprocFalse
+      \ start="^\s*#\<if\>\s\+\<false\>" end="^\s*#\(\<else\>\|\<elseif\>\|\<endif\>\)"
+
+syn match swiftAttribute
+      \ /@\<\w\+\>/ skipwhite skipempty nextgroup=swiftType,swiftTypeDefinition
+
+syn keyword swiftTodo MARK TODO FIXME contained
+
+syn match swiftCastOp skipwhite skipempty nextgroup=swiftType
+      \ "\<is\>"
+syn match swiftCastOp skipwhite skipempty nextgroup=swiftType
+      \ "\<as\>[!?]\?"
+
+syn match swiftNilOps
+      \ "??"
+
+syn region swiftReservedIdentifier oneline
+      \ start=/`/ end=/`/
+
+hi def link swiftImport Include
+hi def link swiftImportModule Title
+hi def link swiftImportComponent Identifier
+hi def link swiftKeyword Statement
+hi def link swiftMultiwordKeyword Statement
+hi def link swiftTypeDefinition Define
+hi def link swiftMultiwordTypeDefinition Define
+hi def link swiftType Type
+hi def link swiftTypePair Type
+hi def link swiftTypeAliasName Identifier
+hi def link swiftTypeName Function
+hi def link swiftConstraint Special
+hi def link swiftFuncDefinition Define
+hi def link swiftDefinitionModifier Operator
+hi def link swiftInOutKeyword Define
+hi def link swiftFuncKeyword Function
+hi def link swiftFuncKeywordGeneral Function
+hi def link swiftTypeAliasDefinition Define
+hi def link swiftVarDefinition Define
+hi def link swiftVarName Identifier
+hi def link swiftImplicitVarName Identifier
+hi def link swiftIdentifierKeyword Identifier
+hi def link swiftTypeAliasValue Delimiter
+hi def link swiftTypeDeclaration Delimiter
+hi def link swiftTypeParameters Delimiter
+hi def link swiftBoolean Boolean
+hi def link swiftString String
+hi def link swiftInterpolation Special
+hi def link swiftComment Comment
+hi def link swiftLineComment Comment
+hi def link swiftDecimal Number
+hi def link swiftHex Number
+hi def link swiftOct Number
+hi def link swiftBin Number
+hi def link swiftOperator Function
+hi def link swiftChar Character
+hi def link swiftLabel Operator
+hi def link swiftMutating Statement
+hi def link swiftPreproc PreCondit
+hi def link swiftPreprocFalse Comment
+hi def link swiftAttribute Type
+hi def link swiftTodo Todo
+hi def link swiftNil Constant
+hi def link swiftCastOp Operator
+hi def link swiftNilOps Operator
+hi def link swiftScope PreProc
+
+let b:current_syntax = "swift"
+
+let &cpo = s:keepcpo
+unlet s:keepcpo
diff --git a/runtime/syntax/swiftgyb.vim b/runtime/syntax/swiftgyb.vim
new file mode 100755 (executable)
index 0000000..566b75b
--- /dev/null
@@ -0,0 +1,24 @@
+" This source file is part of the Swift.org open source project
+"
+" Copyright (c) 2014 - 2020 Apple Inc. and the Swift project authors
+" Licensed under Apache License v2.0 with Runtime Library Exception
+"
+" See https://swift.org/LICENSE.txt for license information
+" See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
+"
+" Vim syntax file
+" Language: gyb on swift
+"
+" Vim maintainer: Emir SARI <bitigchi@me.com>
+
+runtime! syntax/swift.vim
+unlet b:current_syntax
+
+syn include @Python syntax/python.vim
+syn region pythonCode matchgroup=gybPythonCode start=+^ *%+ end=+$+ contains=@Python keepend
+syn region pythonCode matchgroup=gybPythonCode start=+%{+ end=+}%+ contains=@Python keepend
+syn match gybPythonCode /\${[^}]*}/
+hi def link gybPythonCode CursorLineNr
+
+let b:current_syntax = "swiftgyb"
+
index f34696d4b06b197895db865e3ef280c29f0c5553..4c06dc1df8226c8ae36fc4e46727330e4d6c29c4 100644 (file)
@@ -1,7 +1,7 @@
 " Language:            tags
-" Maintainer:  Charles E. Campbell  <NdrOchip@PcampbellAfamily.Mbiz>
+" Maintainer:  Charles E. Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
 " Last Change: Oct 26, 2016
-" Version:             7
+" Version:             8
 " URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_TAGS
 
 " quit when a syntax file was already loaded
index 363c781d0f448cbf0bcf9f1ddfeb4847bac73f08..83f6f82547684c4273e353ab952d669602018236 100644 (file)
@@ -1,8 +1,8 @@
 " Vim syntax file
 " Language:    TeX
-" Maintainer:  Charles E. Campbell <NdrchipO@ScampbellPfamily.AbizM>
-" Last Change: May 14, 2019
-" Version:     114
+" Maintainer:  Charles E. Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
+" Last Change: Jan 24, 2020
+" Version:     116
 " URL:         http://www.drchip.org/astronaut/vim/index.html#SYNTAX_TEX
 "
 " Notes: {{{1
@@ -147,6 +147,11 @@ if exists("g:tex_nospell") && g:tex_nospell
 else
  let s:tex_nospell = 0
 endif
+if exists("g:tex_excludematcher")
+ let s:tex_excludematcher= g:tex_excludematcher
+else
+ let s:tex_excludematcher= 0
+endif
 
 " Clusters: {{{1
 " --------
@@ -156,8 +161,12 @@ if !s:tex_no_error
 endif
 syn cluster texEnvGroup                        contains=texMatcher,texMathDelim,texSpecialChar,texStatement
 syn cluster texFoldGroup               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,texItalStyle,texEmphStyle,texNoSpell
-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,texEmphStyle,texItalBoldStyle,texNoSpell
+syn cluster texBoldGroup               contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texInputFile,texLength,texLigature,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,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,texEmphStyle,texItalBoldStyle,texNoSpell
+if !s:tex_excludematcher
+ syn cluster texBoldGroup add=texMatcher
+ syn cluster texItalGroup add=texMatcher
+endif
 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,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
@@ -305,11 +314,6 @@ if s:tex_conceal !~# 'b'
 endif
 syn match texTypeStyle         "\\textmd\>"
 syn match texTypeStyle         "\\textrm\>"
-syn match texTypeStyle         "\\textsc\>"
-syn match texTypeStyle         "\\textsf\>"
-syn match texTypeStyle         "\\textsl\>"
-syn match texTypeStyle         "\\texttt\>"
-syn match texTypeStyle         "\\textup\>"
 
 syn match texTypeStyle         "\\mathbb\>"
 syn match texTypeStyle         "\\mathbf\>"
@@ -386,12 +390,18 @@ if s:tex_fast =~# 'b'
     syn region texItalStyle    matchgroup=texTypeStyle start="\\textit\s*{" matchgroup=texTypeStyle  end="}" concealends contains=@texItalGroup,@Spell
     syn region texItalBoldStyle        matchgroup=texTypeStyle start="\\textbf\s*{" matchgroup=texTypeStyle  end="}" concealends contains=@texBoldGroup,@Spell
     syn region texEmphStyle    matchgroup=texTypeStyle start="\\emph\s*{"   matchgroup=texTypeStyle  end="}" concealends contains=@texItalGroup,@Spell
+    syn region texEmphStyle    matchgroup=texTypeStyle start="\\texts[cfl]\s*{" matchgroup=texTypeStyle  end="}" concealends contains=@texBoldGroup,@Spell
+    syn region texEmphStyle    matchgroup=texTypeStyle start="\\textup\s*{" matchgroup=texTypeStyle  end="}" concealends contains=@texBoldGroup,@Spell
+    syn region texEmphStyle    matchgroup=texTypeStyle start="\\texttt\s*{" matchgroup=texTypeStyle  end="}" concealends contains=@texBoldGroup,@Spell
    else                                                                                              
     syn region texBoldStyle    matchgroup=texTypeStyle start="\\textbf\s*{" matchgroup=texTypeStyle  end="}" concealends contains=@texBoldGroup
     syn region texBoldItalStyle        matchgroup=texTypeStyle start="\\textit\s*{" matchgroup=texTypeStyle  end="}" concealends contains=@texItalGroup
     syn region texItalStyle    matchgroup=texTypeStyle start="\\textit\s*{" matchgroup=texTypeStyle  end="}" concealends contains=@texItalGroup
     syn region texItalBoldStyle        matchgroup=texTypeStyle start="\\textbf\s*{" matchgroup=texTypeStyle  end="}" concealends contains=@texBoldGroup
     syn region texEmphStyle    matchgroup=texTypeStyle start="\\emph\s*{"   matchgroup=texTypeStyle  end="}" concealends contains=@texItalGroup
+    syn region texEmphStyle    matchgroup=texTypeStyle start="\\texts[cfl]\s*{" matchgroup=texTypeStyle  end="}" concealends contains=@texEmphGroup
+    syn region texEmphStyle    matchgroup=texTypeStyle start="\\textup\s*{" matchgroup=texTypeStyle  end="}" concealends contains=@texEmphGroup
+    syn region texEmphStyle    matchgroup=texTypeStyle start="\\texttt\s*{" matchgroup=texTypeStyle  end="}" concealends contains=@texEmphGroup
    endif
   endif
 endif
@@ -624,7 +634,7 @@ if s:tex_fast =~# 'r'
   syn region texRefOption      contained       matchgroup=Delimiter start='\[' end=']'         contains=@texRefGroup,texRefZone        nextgroup=texRefOption,texCite
   syn region texCite           contained       matchgroup=Delimiter start='{' end='}'          contains=@texRefGroup,texRefZone,texCite
 endif
-syn match  texRefZone          '\\cite\%([tp]\*\=\)\=' nextgroup=texRefOption,texCite
+syn match  texRefZone          '\\cite\%([tp]\*\=\)\=\>' nextgroup=texRefOption,texCite
 
 " Handle newcommand, newenvironment : {{{1
 syn match  texNewCmd                           "\\newcommand\>"                        nextgroup=texCmdName skipwhite skipnl
index ae53bd254c7d8f804dfc6be0734d843315de3173..b7988178ba65e7072e651691da600ee82be9ee5b 100644 (file)
@@ -1,8 +1,8 @@
 " Vim syntax file
 " Language:    Vim 8.0 script
-" Maintainer:  Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz>
+" Maintainer:  Charles E. Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
 " Last Change: November 29, 2019
-" Version:     8.0-28
+" Version:     8.0-29
 " URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_VIM
 " Automatically generated keyword lists: {{{1
 
index 22b3e85daea0646eaafeef1d49d69c2170615597..37ae95111292cb86fdf7aa95e3d6c481948bf4f2 100644 (file)
@@ -1,8 +1,8 @@
 " Vim syntax file
 " Language:    xmath (a simulation tool)
-" Maintainer:  Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz>
+" Maintainer:  Charles E. Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
 " Last Change: Aug 31, 2016
-" Version:     9
+" Version:     10
 " URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_XMATH
 
 " For version 5.x: Clear all syntax items
index f3c43e816ca7caef2ba7f4f599a0a21e1edf6a92..2f90b6b0bd7dbf18509b2765b7a4a2d6aa663a96 100644 (file)
@@ -1,8 +1,8 @@
 " Vim syntax file
 " Language:            bin using xxd
-" Maintainer:  Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz>
+" Maintainer:  Charles E. Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
 " Last Change: Aug 31, 2016
-" Version:             10
+" Version:             11
 " Notes:               use :help xxd   to see how to invoke it
 " URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_XXD
 
index 8e4a225ff422e96e6568e083c1d65a41e2226561..3aa01e8841389c1e810c4ff38b1e3cbbedd84372 100644 (file)
@@ -1,8 +1,8 @@
 " Vim syntax file
 " Language:    Yacc
-" Maintainer:  Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz>
+" Maintainer:  Charles E. Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
 " Last Change: Mar 25, 2019
-" Version:     16
+" Version:     17
 " URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_YACC
 "
 " Options: {{{1