summaryrefslogtreecommitdiffstats
path: root/runtime
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2020-01-25 13:27:42 +0100
committerBram Moolenaar <Bram@vim.org>2020-01-25 13:27:42 +0100
commit1d9215b9aaa120b9d78fee49488556f73007ce78 (patch)
treee22bd6772e3424e2c4934ce3f28e0f2f8e2fb90e /runtime
parent7f51bbe0d19f1f0cb0321326f45a17b4f5155f89 (diff)
Update runtime files.
Diffstat (limited to 'runtime')
-rw-r--r--runtime/doc/options.txt4
-rw-r--r--runtime/doc/todo.txt10
-rw-r--r--runtime/doc/usr_02.txt90
-rw-r--r--runtime/filetype.vim2
-rwxr-xr-xruntime/ftplugin/swift.vim15
-rwxr-xr-xruntime/ftplugin/swiftgyb.vim11
-rw-r--r--runtime/syntax/amiga.vim4
-rw-r--r--runtime/syntax/csh.vim4
-rw-r--r--runtime/syntax/dcl.vim4
-rw-r--r--runtime/syntax/elmfilt.vim4
-rw-r--r--runtime/syntax/exports.vim4
-rw-r--r--runtime/syntax/lex.vim4
-rw-r--r--runtime/syntax/lisp.vim4
-rw-r--r--runtime/syntax/maple.vim4
-rw-r--r--runtime/syntax/rpcgen.vim4
-rw-r--r--runtime/syntax/sh.vim26
-rwxr-xr-xruntime/syntax/sil.vim178
-rw-r--r--runtime/syntax/sm.vim4
-rwxr-xr-xruntime/syntax/swift.vim277
-rwxr-xr-xruntime/syntax/swiftgyb.vim24
-rw-r--r--runtime/syntax/tags.vim4
-rw-r--r--runtime/syntax/tex.vim32
-rw-r--r--runtime/syntax/vim.vim4
-rw-r--r--runtime/syntax/xmath.vim4
-rw-r--r--runtime/syntax/xxd.vim4
-rw-r--r--runtime/syntax/yacc.vim4
26 files changed, 625 insertions, 104 deletions
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 1393e62586..876ddf3588 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -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)
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 5c88918da1..9a51915a23 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -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)
diff --git a/runtime/doc/usr_02.txt b/runtime/doc/usr_02.txt
index 83ec2066a3..a866b7abbf 100644
--- a/runtime/doc/usr_02.txt
+++ b/runtime/doc/usr_02.txt
@@ -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
diff --git a/runtime/filetype.vim b/runtime/filetype.vim
index 53f6708315..d8184faee5 100644
--- a/runtime/filetype.vim
+++ b/runtime/filetype.vim
@@ -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
index 0000000000..26d04eb5fa
--- /dev/null
+++ b/runtime/ftplugin/swift.vim
@@ -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
index 0000000000..8e8fc2b791
--- /dev/null
+++ b/runtime/ftplugin/swiftgyb.vim
@@ -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
diff --git a/runtime/syntax/amiga.vim b/runtime/syntax/amiga.vim
index eab9f66169..5a664c4f60 100644
--- a/runtime/syntax/amiga.vim
+++ b/runtime/syntax/amiga.vim
@@ -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
diff --git a/runtime/syntax/csh.vim b/runtime/syntax/csh.vim
index c134aa7ef3..6a056c7004 100644
--- a/runtime/syntax/csh.vim
+++ b/runtime/syntax/csh.vim
@@ -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
diff --git a/runtime/syntax/dcl.vim b/runtime/syntax/dcl.vim
index 73df8e1bac..530fbdb599 100644
--- a/runtime/syntax/dcl.vim
+++ b/runtime/syntax/dcl.vim
@@ -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
diff --git a/runtime/syntax/elmfilt.vim b/runtime/syntax/elmfilt.vim
index ec97af038d..d995853e8e 100644
--- a/runtime/syntax/elmfilt.vim
+++ b/runtime/syntax/elmfilt.vim
@@ -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
diff --git a/runtime/syntax/exports.vim b/runtime/syntax/exports.vim
index 55efbb1e50..05a3f1acfe 100644
--- a/runtime/syntax/exports.vim
+++ b/runtime/syntax/exports.vim
@@ -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
diff --git a/runtime/syntax/lex.vim b/runtime/syntax/lex.vim
index 560aa44be3..9e0b307d68 100644
--- a/runtime/syntax/lex.vim
+++ b/runtime/syntax/lex.vim
@@ -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:
diff --git a/runtime/syntax/lisp.vim b/runtime/syntax/lisp.vim
index 17c54d1a4f..434150ab26 100644
--- a/runtime/syntax/lisp.vim
+++ b/runtime/syntax/lisp.vim
@@ -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
diff --git a/runtime/syntax/maple.vim b/runtime/syntax/maple.vim
index f14cf79cf4..78f2b4e09e 100644
--- a/runtime/syntax/maple.vim
+++ b/runtime/syntax/maple.vim
@@ -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
diff --git a/runtime/syntax/rpcgen.vim b/runtime/syntax/rpcgen.vim
index 08183d43a4..60c9b8cdda 100644
--- a/runtime/syntax/rpcgen.vim
+++ b/runtime/syntax/rpcgen.vim
@@ -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")
diff --git a/runtime/syntax/sh.vim b/runtime/syntax/sh.vim
index ae62e195a4..0f4406d3e1 100644
--- a/runtime/syntax/sh.vim
+++ b/runtime/syntax/sh.vim
@@ -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
index 0000000000..5583497f1e
--- /dev/null
+++ b/runtime/syntax/sil.vim
@@ -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