aboutsummaryrefslogtreecommitdiff
path: root/runtime/syntax
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2017-11-07 02:49:08 +0100
committerGitHub <noreply@github.com>2017-11-07 02:49:08 +0100
commitad527392abb60e19954d5e8dba05af282d67d15b (patch)
tree5a8ad20c8cc49b37593e8f1089420446b731b0d0 /runtime/syntax
parentdc9290109481e5e0d0c224fecb217ceb5a4c978d (diff)
parent20e317e22abeef20891eb70a18435559f7b09212 (diff)
downloadrneovim-ad527392abb60e19954d5e8dba05af282d67d15b.tar.gz
rneovim-ad527392abb60e19954d5e8dba05af282d67d15b.tar.bz2
rneovim-ad527392abb60e19954d5e8dba05af282d67d15b.zip
Merge #7499 'vim-patch: runtime'
Diffstat (limited to 'runtime/syntax')
-rw-r--r--runtime/syntax/autohotkey.vim14
-rw-r--r--runtime/syntax/c.vim58
-rw-r--r--runtime/syntax/cpp.vim4
-rw-r--r--runtime/syntax/debchangelog.vim12
-rw-r--r--runtime/syntax/debsources.vim10
-rw-r--r--runtime/syntax/haskell.vim4
-rw-r--r--runtime/syntax/help.vim6
-rw-r--r--runtime/syntax/murphi.vim127
-rw-r--r--runtime/syntax/php.vim559
-rw-r--r--runtime/syntax/r.vim177
-rw-r--r--runtime/syntax/rmd.vim92
-rw-r--r--runtime/syntax/rust.vim295
-rw-r--r--runtime/syntax/sas.vim508
-rw-r--r--runtime/syntax/sbt.vim32
-rw-r--r--runtime/syntax/sisu.vim4
-rw-r--r--runtime/syntax/zsh.vim228
16 files changed, 1271 insertions, 859 deletions
diff --git a/runtime/syntax/autohotkey.vim b/runtime/syntax/autohotkey.vim
index 3b826af6f5..c6a68f7a21 100644
--- a/runtime/syntax/autohotkey.vim
+++ b/runtime/syntax/autohotkey.vim
@@ -2,7 +2,7 @@
" Language: AutoHotkey script file
" Maintainer: Michael Wong
" https://github.com/mmikeww/autohotkey.vim
-" Latest Revision: 2017-01-23
+" Latest Revision: 2017-04-03
" Previous Maintainers: SungHyun Nam <goweol@gmail.com>
" Nikolai Weibull <now@bitwi.se>
@@ -106,6 +106,7 @@ syn keyword autohotkeyCommand
\ FormatTime IfInString IfNotInString Sort StringCaseSense StringGetPos
\ StringLeft StringRight StringLower StringUpper StringMid StringReplace
\ StringSplit StringTrimLeft StringTrimRight StringLen
+ \ StrSplit StrReplace Throw
\ Control ControlClick ControlFocus ControlGet ControlGetFocus
\ ControlGetPos ControlGetText ControlMove ControlSend ControlSendRaw
\ ControlSetText Menu PostMessage SendMessage SetControlDelay
@@ -119,17 +120,18 @@ syn keyword autohotkeyCommand
\ SetCapsLockState SetNumLockState SetScrollLockState
syn keyword autohotkeyFunction
- \ InStr RegExMatch RegExReplace StrLen SubStr Asc Chr
+ \ InStr RegExMatch RegExReplace StrLen SubStr Asc Chr Func
\ DllCall VarSetCapacity WinActive WinExist IsLabel OnMessage
\ Abs Ceil Exp Floor Log Ln Mod Round Sqrt Sin Cos Tan ASin ACos ATan
\ FileExist GetKeyState NumGet NumPut StrGet StrPut RegisterCallback
\ IsFunc Trim LTrim RTrim IsObject Object Array FileOpen
\ ComObjActive ComObjArray ComObjConnect ComObjCreate ComObjGet
\ ComObjError ComObjFlags ComObjQuery ComObjType ComObjValue ComObject
+ \ Format Exception
syn keyword autohotkeyStatement
\ Break Continue Exit ExitApp Gosub Goto OnExit Pause Return
- \ Suspend Reload
+ \ Suspend Reload new class extends
syn keyword autohotkeyRepeat
\ Loop
@@ -138,7 +140,7 @@ syn keyword autohotkeyConditional
\ IfExist IfNotExist If IfEqual IfLess IfGreater Else
\ IfWinExist IfWinNotExist IfWinActive IfWinNotActive
\ IfNotEqual IfLessOrEqual IfGreaterOrEqual
- \ while until for in
+ \ while until for in try catch finally
syn match autohotkeyPreProcStart
\ nextgroup=
@@ -178,7 +180,7 @@ syn keyword autohotkeyPreProc
\ Warn
syn keyword autohotkeyMatchClass
- \ ahk_group ahk_class ahk_id ahk_pid
+ \ ahk_group ahk_class ahk_id ahk_pid ahk_exe
syn match autohotkeyNumbers
\ display
@@ -217,7 +219,7 @@ syn match autohotkeyHotkey
\ contains=autohotkeyKey,
\ autohotkeyHotkeyDelimiter
\ display
- \ '^.\{-}::'
+ \ '^\s*\S*\%( Up\)\?::'
syn match autohotkeyKey
\ contained
diff --git a/runtime/syntax/c.vim b/runtime/syntax/c.vim
index 16c7ce4d92..f659a87b71 100644
--- a/runtime/syntax/c.vim
+++ b/runtime/syntax/c.vim
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: C
" Maintainer: Bram Moolenaar <Bram@vim.org>
-" Last Change: 2016 Nov 18
+" Last Change: 2017 Apr 30
" Quit when a (custom) syntax file was already loaded
if exists("b:current_syntax")
@@ -311,44 +311,32 @@ if !exists("c_no_ansi") || exists("c_ansi_constants") || exists("c_gnu")
syn keyword cConstant PTRDIFF_MIN PTRDIFF_MAX SIG_ATOMIC_MIN SIG_ATOMIC_MAX
syn keyword cConstant SIZE_MAX WCHAR_MIN WCHAR_MAX WINT_MIN WINT_MAX
endif
- syn keyword cConstant FLT_RADIX FLT_ROUNDS
- syn keyword cConstant FLT_DIG FLT_MANT_DIG FLT_EPSILON
- syn keyword cConstant DBL_DIG DBL_MANT_DIG DBL_EPSILON
- syn keyword cConstant LDBL_DIG LDBL_MANT_DIG LDBL_EPSILON
- syn keyword cConstant FLT_MIN FLT_MAX FLT_MIN_EXP FLT_MAX_EXP
- syn keyword cConstant FLT_MIN_10_EXP FLT_MAX_10_EXP
- syn keyword cConstant DBL_MIN DBL_MAX DBL_MIN_EXP DBL_MAX_EXP
- syn keyword cConstant DBL_MIN_10_EXP DBL_MAX_10_EXP
- syn keyword cConstant LDBL_MIN LDBL_MAX LDBL_MIN_EXP LDBL_MAX_EXP
- syn keyword cConstant LDBL_MIN_10_EXP LDBL_MAX_10_EXP
- syn keyword cConstant HUGE_VAL CLOCKS_PER_SEC NULL
- syn keyword cConstant LC_ALL LC_COLLATE LC_CTYPE LC_MONETARY
- syn keyword cConstant LC_NUMERIC LC_TIME
- syn keyword cConstant SIG_DFL SIG_ERR SIG_IGN
- syn keyword cConstant SIGABRT SIGFPE SIGILL SIGHUP SIGINT SIGSEGV SIGTERM
+ syn keyword cConstant FLT_RADIX FLT_ROUNDS FLT_DIG FLT_MANT_DIG FLT_EPSILON DBL_DIG DBL_MANT_DIG DBL_EPSILON
+ syn keyword cConstant LDBL_DIG LDBL_MANT_DIG LDBL_EPSILON FLT_MIN FLT_MAX FLT_MIN_EXP FLT_MAX_EXP FLT_MIN_10_EXP FLT_MAX_10_EXP
+ syn keyword cConstant DBL_MIN DBL_MAX DBL_MIN_EXP DBL_MAX_EXP DBL_MIN_10_EXP DBL_MAX_10_EXP LDBL_MIN LDBL_MAX LDBL_MIN_EXP LDBL_MAX_EXP
+ syn keyword cConstant LDBL_MIN_10_EXP LDBL_MAX_10_EXP HUGE_VAL CLOCKS_PER_SEC NULL LC_ALL LC_COLLATE LC_CTYPE LC_MONETARY
+ syn keyword cConstant LC_NUMERIC LC_TIME SIG_DFL SIG_ERR SIG_IGN SIGABRT SIGFPE SIGILL SIGHUP SIGINT SIGSEGV SIGTERM
" Add POSIX signals as well...
- syn keyword cConstant SIGABRT SIGALRM SIGCHLD SIGCONT SIGFPE SIGHUP
- syn keyword cConstant SIGILL SIGINT SIGKILL SIGPIPE SIGQUIT SIGSEGV
- syn keyword cConstant SIGSTOP SIGTERM SIGTRAP SIGTSTP SIGTTIN SIGTTOU
- syn keyword cConstant SIGUSR1 SIGUSR2
- syn keyword cConstant _IOFBF _IOLBF _IONBF BUFSIZ EOF WEOF
- syn keyword cConstant FOPEN_MAX FILENAME_MAX L_tmpnam
- syn keyword cConstant SEEK_CUR SEEK_END SEEK_SET
- syn keyword cConstant TMP_MAX stderr stdin stdout
- syn keyword cConstant EXIT_FAILURE EXIT_SUCCESS RAND_MAX
+ syn keyword cConstant SIGABRT SIGALRM SIGCHLD SIGCONT SIGFPE SIGHUP SIGILL SIGINT SIGKILL SIGPIPE SIGQUIT SIGSEGV
+ syn keyword cConstant SIGSTOP SIGTERM SIGTRAP SIGTSTP SIGTTIN SIGTTOU SIGUSR1 SIGUSR2
+ syn keyword cConstant _IOFBF _IOLBF _IONBF BUFSIZ EOF WEOF FOPEN_MAX FILENAME_MAX L_tmpnam
+ syn keyword cConstant SEEK_CUR SEEK_END SEEK_SET TMP_MAX stderr stdin stdout EXIT_FAILURE EXIT_SUCCESS RAND_MAX
" POSIX 2001
- syn keyword cConstant SIGBUS SIGPOLL SIGPROF SIGSYS SIGURG
- syn keyword cConstant SIGVTALRM SIGXCPU SIGXFSZ
+ syn keyword cConstant SIGBUS SIGPOLL SIGPROF SIGSYS SIGURG SIGVTALRM SIGXCPU SIGXFSZ
" non-POSIX signals
syn keyword cConstant SIGWINCH SIGINFO
- " Add POSIX errors as well
- syn keyword cConstant E2BIG EACCES EAGAIN EBADF EBADMSG EBUSY
- syn keyword cConstant ECANCELED ECHILD EDEADLK EDOM EEXIST EFAULT
- syn keyword cConstant EFBIG EILSEQ EINPROGRESS EINTR EINVAL EIO EISDIR
- syn keyword cConstant EMFILE EMLINK EMSGSIZE ENAMETOOLONG ENFILE ENODEV
- syn keyword cConstant ENOENT ENOEXEC ENOLCK ENOMEM ENOSPC ENOSYS
- syn keyword cConstant ENOTDIR ENOTEMPTY ENOTSUP ENOTTY ENXIO EPERM
- syn keyword cConstant EPIPE ERANGE EROFS ESPIPE ESRCH ETIMEDOUT EXDEV
+ " Add POSIX errors as well. List comes from:
+ " http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/errno.h.html
+ syn keyword cConstant E2BIG EACCES EADDRINUSE EADDRNOTAVAIL EAFNOSUPPORT EAGAIN EALREADY EBADF
+ syn keyword cConstant EBADMSG EBUSY ECANCELED ECHILD ECONNABORTED ECONNREFUSED ECONNRESET EDEADLK
+ syn keyword cConstant EDESTADDRREQ EDOM EDQUOT EEXIST EFAULT EFBIG EHOSTUNREACH EIDRM EILSEQ
+ syn keyword cConstant EINPROGRESS EINTR EINVAL EIO EISCONN EISDIR ELOOP EMFILE EMLINK EMSGSIZE
+ syn keyword cConstant EMULTIHOP ENAMETOOLONG ENETDOWN ENETRESET ENETUNREACH ENFILE ENOBUFS ENODATA
+ syn keyword cConstant ENODEV ENOENT ENOEXEC ENOLCK ENOLINK ENOMEM ENOMSG ENOPROTOOPT ENOSPC ENOSR
+ syn keyword cConstant ENOSTR ENOSYS ENOTCONN ENOTDIR ENOTEMPTY ENOTRECOVERABLE ENOTSOCK ENOTSUP
+ syn keyword cConstant ENOTTY ENXIO EOPNOTSUPP EOVERFLOW EOWNERDEAD EPERM EPIPE EPROTO
+ syn keyword cConstant EPROTONOSUPPORT EPROTOTYPE ERANGE EROFS ESPIPE ESRCH ESTALE ETIME ETIMEDOUT
+ syn keyword cConstant ETXTBSY EWOULDBLOCK EXDEV
" math.h
syn keyword cConstant M_E M_LOG2E M_LOG10E M_LN2 M_LN10 M_PI M_PI_2 M_PI_4
syn keyword cConstant M_1_PI M_2_PI M_2_SQRTPI M_SQRT2 M_SQRT1_2
diff --git a/runtime/syntax/cpp.vim b/runtime/syntax/cpp.vim
index 5a478fb77d..9cb0860e84 100644
--- a/runtime/syntax/cpp.vim
+++ b/runtime/syntax/cpp.vim
@@ -2,7 +2,7 @@
" Language: C++
" Current Maintainer: vim-jp (https://github.com/vim-jp/vim-cpp)
" Previous Maintainer: Ken Shan <ccshan@post.harvard.edu>
-" Last Change: 2016 Oct 28
+" Last Change: 2017 Jun 05
" quit when a syntax file was already loaded
if exists("b:current_syntax")
@@ -48,7 +48,7 @@ endif
if !exists("cpp_no_cpp14")
syn case ignore
syn match cppNumber display "\<0b[01]\('\=[01]\+\)*\(u\=l\{0,2}\|ll\=u\)\>"
- syn match cppNumber display "\<[1-9]\('\=\d\+\)*\(u\=l\{0,2}\|ll\=u\)\>"
+ syn match cppNumber display "\<[1-9]\('\=\d\+\)*\(u\=l\{0,2}\|ll\=u\)\>" contains=cFloat
syn match cppNumber display "\<0x\x\('\=\x\+\)*\(u\=l\{0,2}\|ll\=u\)\>"
syn case match
endif
diff --git a/runtime/syntax/debchangelog.vim b/runtime/syntax/debchangelog.vim
index eb02aaf4af..6e6ed1951a 100644
--- a/runtime/syntax/debchangelog.vim
+++ b/runtime/syntax/debchangelog.vim
@@ -3,7 +3,7 @@
" Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
" Former Maintainers: Gerfried Fuchs <alfie@ist.org>
" Wichert Akkerman <wakkerma@debian.org>
-" Last Change: 2016 Nov 12
+" Last Change: 2017 Apr 23
" URL: https://anonscm.debian.org/cgit/pkg-vim/vim.git/plain/runtime/syntax/debchangelog.vim
" Standard syntax initialization
@@ -14,14 +14,14 @@ endif
" Case doesn't matter for us
syn case ignore
-let urgency='urgency=\(low\|medium\|high\|critical\)\( [^[:space:],][^,]*\)\='
-let binNMU='binary-only=yes'
+let s:urgency='urgency=\(low\|medium\|high\|critical\)\( [^[:space:],][^,]*\)\='
+let s:binNMU='binary-only=yes'
" Define some common expressions we can use later on
syn match debchangelogName contained "^[[:alnum:]][[:alnum:].+-]\+ "
-exe 'syn match debchangelogFirstKV contained "; \('.urgency.'\|'.binNMU.'\)"'
-exe 'syn match debchangelogOtherKV contained ", \('.urgency.'\|'.binNMU.'\)"'
-syn match debchangelogTarget contained "\v %(frozen|unstable|sid|%(testing|%(old)=stable)%(-proposed-updates|-security)=|experimental|squeeze-%(backports%(-sloppy)=|volatile|lts|security)|wheezy-%(backports%(-sloppy)=|security)|jessie%(-backports|-security)=|stretch|%(devel|precise|trusty|vivid|wily|xenial|yakkety|zesty)%(-%(security|proposed|updates|backports|commercial|partner))=)+"
+exe 'syn match debchangelogFirstKV contained "; \('.s:urgency.'\|'.s:binNMU.'\)"'
+exe 'syn match debchangelogOtherKV contained ", \('.s:urgency.'\|'.s:binNMU.'\)"'
+syn match debchangelogTarget contained "\v %(frozen|unstable|sid|%(testing|%(old)=stable)%(-proposed-updates|-security)=|experimental|squeeze-%(backports%(-sloppy)=|volatile|lts|security)|%(wheezy|jessie)%(-backports%(-sloppy)=|-security)=|stretch%(-backports|-security)=|%(devel|precise|trusty|vivid|wily|xenial|yakkety|zesty|artful)%(-%(security|proposed|updates|backports|commercial|partner))=)+"
syn match debchangelogVersion contained "(.\{-})"
syn match debchangelogCloses contained "closes:\_s*\(bug\)\=#\=\_s\=\d\+\(,\_s*\(bug\)\=#\=\_s\=\d\+\)*"
syn match debchangelogLP contained "\clp:\s\+#\d\+\(,\s*#\d\+\)*"
diff --git a/runtime/syntax/debsources.vim b/runtime/syntax/debsources.vim
index 390c43035e..4fa80debec 100644
--- a/runtime/syntax/debsources.vim
+++ b/runtime/syntax/debsources.vim
@@ -2,7 +2,7 @@
" Language: Debian sources.list
" Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
" Former Maintainer: Matthijs Mohlmann <matthijs@cacholong.nl>
-" Last Change: 2016 Nov 12
+" Last Change: 2017 Apr 22
" URL: https://anonscm.debian.org/cgit/pkg-vim/vim.git/plain/runtime/syntax/debsources.vim
" Standard syntax initialization
@@ -25,7 +25,7 @@ let s:supported = [
\ 'oldstable', 'stable', 'testing', 'unstable', 'experimental',
\ 'squeeze', 'wheezy', 'jessie', 'stretch', 'sid', 'rc-buggy',
\
- \ 'precise', 'trusty', 'xenial', 'yakkety', 'zesty', 'devel'
+ \ 'trusty', 'xenial', 'yakkety', 'zesty', 'artful', 'devel'
\ ]
let s:unsupported = [
\ 'buzz', 'rex', 'bo', 'hamm', 'slink', 'potato',
@@ -33,15 +33,15 @@ let s:unsupported = [
\
\ 'warty', 'hoary', 'breezy', 'dapper', 'edgy', 'feisty',
\ 'gutsy', 'hardy', 'intrepid', 'jaunty', 'karmic', 'lucid',
- \ 'maverick', 'natty', 'oneiric', 'quantal', 'raring', 'saucy',
+ \ 'maverick', 'natty', 'oneiric', 'precise', 'quantal', 'raring', 'saucy',
\ 'utopic', 'vivid', 'wily'
\ ]
let &cpo=s:cpo
" Match uri's
syn match debsourcesUri +\(https\?://\|ftp://\|[rs]sh://\|debtorrent://\|\(cdrom\|copy\|file\):\)[^' <>"]\++
-exe 'syn match debsourcesDistrKeyword +\([[:alnum:]_./]*\)\('. join(s:supported, '\|'). '\)\([-[:alnum:]_./]*\)+'
-exe 'syn match debsourcesUnsupportedDistrKeyword +\([[:alnum:]_./]*\)\('. join(s:unsupported, '\|') .'\)\([-[:alnum:]_./]*\)+'
+exe 'syn match debsourcesDistrKeyword +\([[:alnum:]_./]*\)\<\('. join(s:supported, '\|'). '\)\>\([-[:alnum:]_./]*\)+'
+exe 'syn match debsourcesUnsupportedDistrKeyword +\([[:alnum:]_./]*\)\<\('. join(s:unsupported, '\|') .'\)\>\([-[:alnum:]_./]*\)+'
" Associate our matches and regions with pretty colours
hi def link debsourcesLine Error
diff --git a/runtime/syntax/haskell.vim b/runtime/syntax/haskell.vim
index 11f4c35a58..e398085ba8 100644
--- a/runtime/syntax/haskell.vim
+++ b/runtime/syntax/haskell.vim
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: Haskell
" Maintainer: Haskell Cafe mailinglist <haskell-cafe@haskell.org>
-" Last Change: 2008 Dec 15
+" Last Change: 2017 Jun 04
" Original Author: John Williams <jrw@pobox.com>
"
" Thanks to Ryan Crumley for suggestions and John Meacham for
@@ -62,7 +62,7 @@ syn match hsCharacter "^'\([^\\]\|\\[^']\+\|\\'\)'" contains=hsSpecialChar,hs
syn match hsNumber "\<[0-9]\+\>\|\<0[xX][0-9a-fA-F]\+\>\|\<0[oO][0-7]\+\>"
syn match hsFloat "\<[0-9]\+\.[0-9]\+\([eE][-+]\=[0-9]\+\)\=\>"
-" Keyword definitions. These must be patters instead of keywords
+" Keyword definitions. These must be patterns instead of keywords
" because otherwise they would match as keywords at the start of a
" "literate" comment (see lhs.vim).
syn match hsModule "\<module\>"
diff --git a/runtime/syntax/help.vim b/runtime/syntax/help.vim
index 98ab7f4b23..4a2bde8763 100644
--- a/runtime/syntax/help.vim
+++ b/runtime/syntax/help.vim
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: Vim help file
" Maintainer: Bram Moolenaar (Bram@vim.org)
-" Last Change: 2016 Sep 02
+" Last Change: 2017 Jun 13
" Quit when a (custom) syntax file was already loaded
if exists("b:current_syntax")
@@ -50,7 +50,8 @@ else
syn match helpIgnore "." contained
endif
syn keyword helpNote note Note NOTE note: Note: NOTE: Notes Notes:
-syn keyword helpWarning WARNING: Warning:
+syn keyword helpWarning WARNING WARNING: Warning:
+syn keyword helpDeprecated DEPRECATED DEPRECATED: Deprecated:
syn match helpSpecial "\<N\>"
syn match helpSpecial "\<N\.$"me=e-1
syn match helpSpecial "\<N\.\s"me=e-2
@@ -165,6 +166,7 @@ hi def link helpOption Type
hi def link helpSpecial Special
hi def link helpNote Todo
hi def link helpWarning Todo
+hi def link helpDeprecated Todo
hi def link helpComment Comment
hi def link helpConstant Constant
diff --git a/runtime/syntax/murphi.vim b/runtime/syntax/murphi.vim
new file mode 100644
index 0000000000..5620010f9a
--- /dev/null
+++ b/runtime/syntax/murphi.vim
@@ -0,0 +1,127 @@
+" Vim syntax file
+" Language: Murphi model checking language
+" Maintainer: Matthew Fernandez <matthew.fernandez@gmail.com>
+" Last Change: 2017 May 3
+" Version: 2
+" Remark: Originally authored by Diego Ongaro <ongaro@cs.stanford.edu>
+
+if version < 600
+ syntax clear
+elseif exists("b:current_syntax")
+ finish
+endif
+
+" Keywords are case insensitive.
+" Keep these in alphabetical order.
+syntax case ignore
+syn keyword murphiKeyword alias
+syn keyword murphiStructure array
+syn keyword murphiKeyword assert
+syn keyword murphiKeyword begin
+syn keyword murphiType boolean
+syn keyword murphiKeyword by
+syn keyword murphiLabel case
+syn keyword murphiKeyword clear
+syn keyword murphiLabel const
+syn keyword murphiRepeat do
+syn keyword murphiConditional else
+syn keyword murphiConditional elsif
+syn keyword murphiKeyword end
+syn keyword murphiKeyword endalias
+syn keyword murphiRepeat endexists
+syn keyword murphiRepeat endfor
+syn keyword murphiRepeat endforall
+syn keyword murphiKeyword endfunction
+syn keyword murphiConditional endif
+syn keyword murphiKeyword endprocedure
+syn keyword murphiStructure endrecord
+syn keyword murphiKeyword endrule
+syn keyword murphiKeyword endruleset
+syn keyword murphiKeyword endstartstate
+syn keyword murphiConditional endswitch
+syn keyword murphiRepeat endwhile
+syn keyword murphiStructure enum
+syn keyword murphiKeyword error
+syn keyword murphiRepeat exists
+syn keyword murphiBoolean false
+syn keyword murphiRepeat for
+syn keyword murphiRepeat forall
+syn keyword murphiKeyword function
+syn keyword murphiConditional if
+syn keyword murphiKeyword in
+syn keyword murphiKeyword interleaved
+syn keyword murphiLabel invariant
+syn keyword murphiFunction ismember
+syn keyword murphiFunction isundefined
+syn keyword murphiKeyword log
+syn keyword murphiStructure of
+syn keyword murphiType multiset
+syn keyword murphiFunction multisetadd
+syn keyword murphiFunction multisetcount
+syn keyword murphiFunction multisetremove
+syn keyword murphiFunction multisetremovepred
+syn keyword murphiKeyword procedure
+syn keyword murphiKeyword process
+syn keyword murphiKeyword program
+syn keyword murphiKeyword put
+syn keyword murphiStructure record
+syn keyword murphiKeyword return
+syn keyword murphiLabel rule
+syn keyword murphiLabel ruleset
+syn keyword murphiType scalarset
+syn keyword murphiLabel startstate
+syn keyword murphiConditional switch
+syn keyword murphiConditional then
+syn keyword murphiRepeat to
+syn keyword murphiKeyword traceuntil
+syn keyword murphiBoolean true
+syn keyword murphiLabel type
+syn keyword murphiKeyword undefine
+syn keyword murphiStructure union
+syn keyword murphiLabel var
+syn keyword murphiRepeat while
+
+syn keyword murphiTodo contained todo xxx fixme
+syntax case match
+
+" Integers.
+syn match murphiNumber "\<\d\+\>"
+
+" Operators and special characters.
+syn match murphiOperator "[\+\-\*\/%&|=!<>:\?]\|\."
+syn match murphiDelimiter "\(:[^=]\|[;,]\)"
+syn match murphiSpecial "[()\[\]]"
+
+" Double equal sign is a common error: use one equal sign for equality testing.
+syn match murphiError "==[^>]"he=e-1
+" Double && and || are errors.
+syn match murphiError "&&\|||"
+
+" Strings. This is defined so late so that it overrides previous matches.
+syn region murphiString start=+"+ end=+"+
+
+" Comments. This is defined so late so that it overrides previous matches.
+syn region murphiComment start="--" end="$" contains=murphiTodo
+syn region murphiComment start="/\*" end="\*/" contains=murphiTodo
+
+" Link the rules to some groups.
+highlight link murphiComment Comment
+highlight link murphiString String
+highlight link murphiNumber Number
+highlight link murphiBoolean Boolean
+highlight link murphiIdentifier Identifier
+highlight link murphiFunction Function
+highlight link murphiStatement Statement
+highlight link murphiConditional Conditional
+highlight link murphiRepeat Repeat
+highlight link murphiLabel Label
+highlight link murphiOperator Operator
+highlight link murphiKeyword Keyword
+highlight link murphiType Type
+highlight link murphiStructure Structure
+highlight link murphiSpecial Special
+highlight link murphiDelimiter Delimiter
+highlight link murphiError Error
+highlight link murphiTodo Todo
+
+let b:current_syntax = "murphi"
diff --git a/runtime/syntax/php.vim b/runtime/syntax/php.vim
index 278fc1358c..6a81b8c631 100644
--- a/runtime/syntax/php.vim
+++ b/runtime/syntax/php.vim
@@ -1,42 +1,38 @@
" Vim syntax file
" Language: php PHP 3/4/5/7
" Maintainer: Jason Woofenden <jason@jasonwoof.com>
-" Last Change: Dec 11, 2016
+" Last Change: Jul 14, 2017
" URL: https://jasonwoof.com/gitweb/?p=vim-syntax.git;a=blob;f=php.vim;hb=HEAD
" Former Maintainers: Peter Hodge <toomuchphp-vim@yahoo.com>
" Debian VIM Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
"
-" Note: If you are using a colour terminal with dark background, you will probably find
-" the 'elflord' colorscheme is much better for PHP's syntax than the default
-" colourscheme, because elflord's colours will better highlight the break-points
-" (Statements) in your code.
+" Note: If you are using a colour terminal with dark background, you will
+" probably find the 'elflord' colorscheme is much better for PHP's syntax
+" than the default colourscheme, because elflord's colours will better
+" highlight the break-points (Statements) in your code.
"
-" Options: php_sql_query = 1 for SQL syntax highlighting inside strings
-" php_htmlInStrings = 1 for HTML syntax highlighting inside strings
-" php_baselib = 1 for highlighting baselib functions
-" php_asp_tags = 1 for highlighting ASP-style short tags
-" php_parent_error_close = 1 for highlighting parent error ] or )
-" php_parent_error_open = 1 for skipping an php end tag, if there exists an open ( or [ without a closing one
-" php_oldStyle = 1 for using old colorstyle
-" php_noShortTags = 1 don't sync <? ?> as php
-" php_folding = 1 for folding classes and functions
-" php_folding = 2 for folding all { } regions
-" php_sync_method = x
-" x=-1 to sync by search ( default )
-" x>0 to sync at least x lines backwards
-" x=0 to sync from start
-"
-" Added by Peter Hodge On June 9, 2006:
-" php_special_functions = 1|0 to highlight functions with abnormal behaviour
-" php_alt_comparisons = 1|0 to highlight comparison operators in an alternate colour
-" php_alt_assignByReference = 1|0 to highlight '= &' in an alternate colour
-"
-" Note: these all default to 1 (On), so you would set them to '0' to turn them off.
-" E.g., in your .vimrc or _vimrc file:
-" let php_special_functions = 0
-" let php_alt_comparisons = 0
-" let php_alt_assignByReference = 0
-" Unletting these variables will revert back to their default (On).
+" Options:
+" Set to anything to enable:
+" php_sql_query SQL syntax highlighting inside strings
+" php_htmlInStrings HTML syntax highlighting inside strings
+" php_baselib highlighting baselib functions
+" php_asp_tags highlighting ASP-style short tags
+" php_parent_error_close highlighting parent error ] or )
+" php_parent_error_open skipping an php end tag, if there exists
+" an open ( or [ without a closing one
+" php_oldStyle use old colorstyle
+" php_noShortTags don't sync <? ?> as php
+" Set to a specific value:
+" php_folding = 1 fold classes and functions
+" php_folding = 2 fold all { } regions
+" php_sync_method = x where x is an integer:
+" -1 sync by search ( default )
+" >0 sync at least x lines backwards
+" 0 sync from start
+" Set to 0 to _disable_: (Added by Peter Hodge On June 9, 2006)
+" php_special_functions = 0 highlight functions with abnormal behaviour
+" php_alt_comparisons = 0 comparison operators in an alternate colour
+" php_alt_assignByReference = 0 '= &' in an alternate colour
"
"
" Note:
@@ -105,7 +101,7 @@ syn case match
syn keyword phpEnvVar GATEWAY_INTERFACE SERVER_NAME SERVER_SOFTWARE SERVER_PROTOCOL REQUEST_METHOD QUERY_STRING DOCUMENT_ROOT HTTP_ACCEPT HTTP_ACCEPT_CHARSET HTTP_ENCODING HTTP_ACCEPT_LANGUAGE HTTP_CONNECTION HTTP_HOST HTTP_REFERER HTTP_USER_AGENT REMOTE_ADDR REMOTE_PORT SCRIPT_FILENAME SERVER_ADMIN SERVER_PORT SERVER_SIGNATURE PATH_TRANSLATED SCRIPT_NAME REQUEST_URI contained
" Internal Variables
-syn keyword phpIntVar GLOBALS PHP_ERRMSG PHP_SELF HTTP_GET_VARS HTTP_POST_VARS HTTP_COOKIE_VARS HTTP_POST_FILES HTTP_ENV_VARS HTTP_SERVER_VARS HTTP_SESSION_VARS HTTP_RAW_POST_DATA HTTP_STATE_VARS _GET _POST _COOKIE _FILES _SERVER _ENV _SERVER _REQUEST _SESSION contained
+syn keyword phpIntVar GLOBALS PHP_ERRMSG PHP_SELF HTTP_GET_VARS HTTP_POST_VARS HTTP_COOKIE_VARS HTTP_POST_FILES HTTP_ENV_VARS HTTP_SERVER_VARS HTTP_SESSION_VARS HTTP_RAW_POST_DATA HTTP_STATE_VARS _GET _POST _COOKIE _FILES _SERVER _ENV _SERVER _REQUEST _SESSION contained
" Constants
syn keyword phpCoreConstant PHP_VERSION PHP_OS DEFAULT_INCLUDE_PATH PEAR_INSTALL_DIR PEAR_EXTENSION_DIR PHP_EXTENSION_DIR PHP_BINDIR PHP_LIBDIR PHP_DATADIR PHP_SYSCONFDIR PHP_LOCALSTATEDIR PHP_CONFIG_FILE_PATH PHP_OUTPUT_HANDLER_START PHP_OUTPUT_HANDLER_CONT PHP_OUTPUT_HANDLER_END contained
@@ -116,185 +112,185 @@ syn keyword phpCoreConstant E_ALL E_COMPILE_ERROR E_COMPILE_WARNING E_CORE_ERROR
syn case ignore
-syn keyword phpConstant __LINE__ __FILE__ __FUNCTION__ __METHOD__ __CLASS__ __DIR__ __NAMESPACE__ contained
+syn keyword phpConstant __LINE__ __FILE__ __FUNCTION__ __METHOD__ __CLASS__ __DIR__ __NAMESPACE__ __TRAIT__ contained
" Function and Methods ripped from php_manual_de.tar.gz Jan 2003
-syn keyword phpFunctions apache_child_terminate apache_get_modules apache_get_version apache_getenv apache_lookup_uri apache_note apache_request_headers apache_response_headers apache_setenv ascii2ebcdic ebcdic2ascii getallheaders virtual contained
-syn keyword phpFunctions array_change_key_case array_chunk array_column array_combine array_count_values array_diff_assoc array_diff_key array_diff_uassoc array_diff_ukey array_diff array_fill_keys array_fill array_filter array_flip array_intersect_assoc array_intersect_key array_intersect_uassoc array_intersect_ukey array_intersect array_key_exists array_keys array_map array_merge_recursive array_merge array_multisort array_pad array_pop array_product array_push array_rand array_reduce array_replace_recursive array_replace array_reverse array_search array_shift array_slice array_splice array_sum array_udiff_assoc array_udiff_uassoc array_udiff array_uintersect_assoc array_uintersect_uassoc array_uintersect array_unique array_unshift array_values array_walk_recursive array_walk arsort asort count current each end in_array key_exists key krsort ksort natcasesort natsort next pos prev range reset rsort shuffle sizeof sort uasort uksort usort contained
-syn keyword phpFunctions aspell_check aspell_new aspell_suggest contained
-syn keyword phpFunctions bcadd bccomp bcdiv bcmod bcmul bcpow bcpowmod bcscale bcsqrt bcsub contained
-syn keyword phpFunctions bzclose bzcompress bzdecompress bzerrno bzerror bzerrstr bzflush bzopen bzread bzwrite contained
-syn keyword phpFunctions cal_days_in_month cal_from_jd cal_info cal_to_jd easter_date easter_days frenchtojd gregoriantojd jddayofweek jdmonthname jdtofrench jdtogregorian jdtojewish jdtojulian jdtounix jewishtojd juliantojd unixtojd contained
-syn keyword phpFunctions ccvs_add ccvs_auth ccvs_command ccvs_count ccvs_delete ccvs_done ccvs_init ccvs_lookup ccvs_new ccvs_report ccvs_return ccvs_reverse ccvs_sale ccvs_status ccvs_textvalue ccvs_void contained
-syn keyword phpFunctions call_user_method_array call_user_method class_exists get_class_methods get_class_vars get_class get_declared_classes get_object_vars get_parent_class is_a is_subclass_of method_exists contained
-syn keyword phpFunctions com VARIANT com_addref com_get com_invoke com_isenum com_load_typelib com_load com_propget com_propput com_propset com_release com_set contained
-syn keyword phpFunctions cpdf_add_annotation cpdf_add_outline cpdf_arc cpdf_begin_text cpdf_circle cpdf_clip cpdf_close cpdf_closepath_fill_stroke cpdf_closepath_stroke cpdf_closepath cpdf_continue_text cpdf_curveto cpdf_end_text cpdf_fill_stroke cpdf_fill cpdf_finalize_page cpdf_finalize cpdf_global_set_document_limits cpdf_import_jpeg cpdf_lineto cpdf_moveto cpdf_newpath cpdf_open cpdf_output_buffer cpdf_page_init cpdf_place_inline_image cpdf_rect cpdf_restore cpdf_rlineto cpdf_rmoveto cpdf_rotate_text cpdf_rotate cpdf_save_to_file cpdf_save cpdf_scale cpdf_set_action_url cpdf_set_char_spacing cpdf_set_creator cpdf_set_current_page cpdf_set_font_directories cpdf_set_font_map_file cpdf_set_font cpdf_set_horiz_scaling cpdf_set_keywords cpdf_set_leading cpdf_set_page_animation cpdf_set_subject cpdf_set_text_matrix cpdf_set_text_pos cpdf_set_text_rendering cpdf_set_text_rise cpdf_set_title cpdf_set_viewer_preferences cpdf_set_word_spacing cpdf_setdash cpdf_setflat cpdf_setgray_fill cpdf_setgray_stroke cpdf_setgray cpdf_setlinecap cpdf_setlinejoin cpdf_setlinewidth cpdf_setmiterlimit cpdf_setrgbcolor_fill cpdf_setrgbcolor_stroke cpdf_setrgbcolor cpdf_show_xy cpdf_show cpdf_stringwidth cpdf_stroke cpdf_text cpdf_translate contained
-syn keyword phpFunctions crack_check crack_closedict crack_getlastmessage crack_opendict contained
-syn keyword phpFunctions ctype_alnum ctype_alpha ctype_cntrl ctype_digit ctype_graph ctype_lower ctype_print ctype_punct ctype_space ctype_upper ctype_xdigit contained
-syn keyword phpFunctions curl_close curl_errno curl_error curl_exec curl_getinfo curl_init curl_multi_add_handle curl_multi_close curl_multi_exec curl_multi_getcontent curl_multi_info_read curl_multi_init curl_multi_remove_handle curl_multi_select curl_setopt curl_version contained
-syn keyword phpFunctions cybercash_base64_decode cybercash_base64_encode cybercash_decr cybercash_encr contained
-syn keyword phpFunctions cyrus_authenticate cyrus_bind cyrus_close cyrus_connect cyrus_query cyrus_unbind contained
-syn keyword phpFunctions checkdate date getdate gettimeofday gmdate gmmktime gmstrftime localtime microtime mktime strftime strtotime time contained
-syn keyword phpFunctions dba_close dba_delete dba_exists dba_fetch dba_firstkey dba_handlers dba_insert dba_key_split dba_list dba_nextkey dba_open dba_optimize dba_popen dba_replace dba_sync contained
-syn keyword phpFunctions dbase_add_record dbase_close dbase_create dbase_delete_record dbase_get_header_info dbase_get_record_with_names dbase_get_record dbase_numfields dbase_numrecords dbase_open dbase_pack dbase_replace_record contained
-syn keyword phpFunctions dblist dbmclose dbmdelete dbmexists dbmfetch dbmfirstkey dbminsert dbmnextkey dbmopen dbmreplace contained
-syn keyword phpFunctions dbplus_add dbplus_aql dbplus_chdir dbplus_close dbplus_curr dbplus_errcode dbplus_errno dbplus_find dbplus_first dbplus_flush dbplus_freealllocks dbplus_freelock dbplus_freerlocks dbplus_getlock dbplus_getunique dbplus_info dbplus_last dbplus_lockrel dbplus_next dbplus_open dbplus_prev dbplus_rchperm dbplus_rcreate dbplus_rcrtexact dbplus_rcrtlike dbplus_resolve dbplus_restorepos dbplus_rkeys dbplus_ropen dbplus_rquery dbplus_rrename dbplus_rsecindex dbplus_runlink dbplus_rzap dbplus_savepos dbplus_setindex dbplus_setindexbynumber dbplus_sql dbplus_tcl dbplus_tremove dbplus_undo dbplus_undoprepare dbplus_unlockrel dbplus_unselect dbplus_update dbplus_xlockrel dbplus_xunlockrel contained
-syn keyword phpFunctions dbx_close dbx_compare dbx_connect dbx_error dbx_escape_string dbx_fetch_row dbx_query dbx_sort contained
-syn keyword phpFunctions dio_close dio_fcntl dio_open dio_read dio_seek dio_stat dio_tcsetattr dio_truncate dio_write contained
-syn keyword phpFunctions chdir chroot dir closedir getcwd opendir readdir rewinddir scandir contained
-syn keyword phpFunctions domxml_new_doc domxml_open_file domxml_open_mem domxml_version domxml_xmltree domxml_xslt_stylesheet_doc domxml_xslt_stylesheet_file domxml_xslt_stylesheet xpath_eval_expression xpath_eval xpath_new_context xptr_eval xptr_new_context contained
-syn keyword phpMethods name specified value create_attribute create_cdata_section create_comment create_element_ns create_element create_entity_reference create_processing_instruction create_text_node doctype document_element dump_file dump_mem get_element_by_id get_elements_by_tagname html_dump_mem xinclude entities internal_subset name notations public_id system_id get_attribute_node get_attribute get_elements_by_tagname has_attribute remove_attribute set_attribute tagname add_namespace append_child append_sibling attributes child_nodes clone_node dump_node first_child get_content has_attributes has_child_nodes insert_before is_blank_node last_child next_sibling node_name node_type node_value owner_document parent_node prefix previous_sibling remove_child replace_child replace_node set_content set_name set_namespace unlink_node data target process result_dump_file result_dump_mem contained
-syn keyword phpFunctions dotnet_load contained
-syn keyword phpFunctions debug_backtrace debug_print_backtrace error_log error_reporting restore_error_handler set_error_handler trigger_error user_error contained
-syn keyword phpFunctions escapeshellarg escapeshellcmd exec passthru proc_close proc_get_status proc_nice proc_open proc_terminate shell_exec system contained
-syn keyword phpFunctions fam_cancel_monitor fam_close fam_monitor_collection fam_monitor_directory fam_monitor_file fam_next_event fam_open fam_pending fam_resume_monitor fam_suspend_monitor contained
-syn keyword phpFunctions fbsql_affected_rows fbsql_autocommit fbsql_change_user fbsql_close fbsql_commit fbsql_connect fbsql_create_blob fbsql_create_clob fbsql_create_db fbsql_data_seek fbsql_database_password fbsql_database fbsql_db_query fbsql_db_status fbsql_drop_db fbsql_errno fbsql_error fbsql_fetch_array fbsql_fetch_assoc fbsql_fetch_field fbsql_fetch_lengths fbsql_fetch_object fbsql_fetch_row fbsql_field_flags fbsql_field_len fbsql_field_name fbsql_field_seek fbsql_field_table fbsql_field_type fbsql_free_result fbsql_get_autostart_info fbsql_hostname fbsql_insert_id fbsql_list_dbs fbsql_list_fields fbsql_list_tables fbsql_next_result fbsql_num_fields fbsql_num_rows fbsql_password fbsql_pconnect fbsql_query fbsql_read_blob fbsql_read_clob fbsql_result fbsql_rollback fbsql_select_db fbsql_set_lob_mode fbsql_set_transaction fbsql_start_db fbsql_stop_db fbsql_tablename fbsql_username fbsql_warnings contained
-syn keyword phpFunctions fdf_add_doc_javascript fdf_add_template fdf_close fdf_create fdf_enum_values fdf_errno fdf_error fdf_get_ap fdf_get_attachment fdf_get_encoding fdf_get_file fdf_get_flags fdf_get_opt fdf_get_status fdf_get_value fdf_get_version fdf_header fdf_next_field_name fdf_open_string fdf_open fdf_remove_item fdf_save_string fdf_save fdf_set_ap fdf_set_encoding fdf_set_file fdf_set_flags fdf_set_javascript_action fdf_set_opt fdf_set_status fdf_set_submit_form_action fdf_set_target_frame fdf_set_value fdf_set_version contained
-syn keyword phpFunctions filepro_fieldcount filepro_fieldname filepro_fieldtype filepro_fieldwidth filepro_retrieve filepro_rowcount filepro contained
-syn keyword phpFunctions basename chgrp chmod chown clearstatcache copy delete dirname disk_free_space disk_total_space diskfreespace fclose feof fflush fgetc fgetcsv fgets fgetss file_exists file_get_contents file_put_contents file fileatime filectime filegroup fileinode filemtime fileowner fileperms filesize filetype flock fnmatch fopen fpassthru fputs fread fscanf fseek fstat ftell ftruncate fwrite glob is_dir is_executable is_file is_link is_readable is_uploaded_file is_writable is_writeable link linkinfo lstat mkdir move_uploaded_file parse_ini_file pathinfo pclose popen readfile readlink realpath rename rewind rmdir set_file_buffer stat symlink tempnam tmpfile touch umask unlink contained
-syn keyword phpFunctions fribidi_log2vis contained
-syn keyword phpFunctions ftp_alloc ftp_cdup ftp_chdir ftp_chmod ftp_close ftp_connect ftp_delete ftp_exec ftp_fget ftp_fput ftp_get_option ftp_get ftp_login ftp_mdtm ftp_mkdir ftp_nb_continue ftp_nb_fget ftp_nb_fput ftp_nb_get ftp_nb_put ftp_nlist ftp_pasv ftp_put ftp_pwd ftp_quit ftp_raw ftp_rawlist ftp_rename ftp_rmdir ftp_set_option ftp_site ftp_size ftp_ssl_connect ftp_systype contained
-syn keyword phpFunctions call_user_func_array call_user_func create_function func_get_arg func_get_args func_num_args function_exists get_defined_functions register_shutdown_function register_tick_function unregister_tick_function contained
-syn keyword phpFunctions bind_textdomain_codeset bindtextdomain dcgettext dcngettext dgettext dngettext gettext ngettext textdomain contained
-syn keyword phpFunctio