aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2018-10-29 08:43:13 +0100
committerJustin M. Keyes <justinkz@gmail.com>2018-10-29 09:17:43 +0100
commitc05b0d8ec7a29b29ca36a78041cb67eefc146b30 (patch)
tree6d4397f7f59f29ca6a8986b68b6fec50d9447662
parent875a1bcf0adb2c223e80c492ee102d322774fd46 (diff)
downloadrneovim-c05b0d8ec7a29b29ca36a78041cb67eefc146b30.tar.gz
rneovim-c05b0d8ec7a29b29ca36a78041cb67eefc146b30.tar.bz2
rneovim-c05b0d8ec7a29b29ca36a78041cb67eefc146b30.zip
vim-patch:85eee130f44a
Update runtime files. https://github.com/vim/vim/commit/85eee130f44a2201d88ca2aeff0af3b11dd75fa9
-rw-r--r--runtime/doc/change.txt4
-rw-r--r--runtime/doc/quickfix.txt2
-rw-r--r--runtime/doc/tagsrch.txt42
-rw-r--r--runtime/filetype.vim7
-rw-r--r--runtime/ftplugin/debchangelog.vim128
-rw-r--r--runtime/ftplugin/debcontrol.vim18
-rw-r--r--runtime/syntax/cs.vim50
-rw-r--r--runtime/syntax/debchangelog.vim8
-rw-r--r--runtime/syntax/debcontrol.vim6
-rw-r--r--runtime/syntax/debcopyright.vim33
-rw-r--r--runtime/syntax/debsources.vim12
-rw-r--r--runtime/syntax/vhdl.vim20
12 files changed, 194 insertions, 136 deletions
diff --git a/runtime/doc/change.txt b/runtime/doc/change.txt
index 028599880b..1846b562aa 100644
--- a/runtime/doc/change.txt
+++ b/runtime/doc/change.txt
@@ -99,7 +99,7 @@ is an error when 'cpoptions' includes the 'E' flag.
J Join [count] lines, with a minimum of two lines.
Remove the indent and insert up to two spaces (see
below). Fails when on the last line of the buffer.
- If [count] is too big it is reduce to the number of
+ If [count] is too big it is reduced to the number of
lines available.
*v_J*
@@ -416,7 +416,7 @@ This depends on the 'nrformats' option:
For decimals a leading negative sign is considered for incrementing or
decrementing, for binary, octal and hex values, it won't be considered. To
-ignore the sign Visually select the number before using CTRL-A or CTRL-X.
+ignore the sign Visually select the number before using CTRL-A or CTRL-X.
For numbers with leading zeros (including all octal and hexadecimal numbers),
Vim preserves the number of characters in the number when possible. CTRL-A on
diff --git a/runtime/doc/quickfix.txt b/runtime/doc/quickfix.txt
index bedea92167..c6b2653d87 100644
--- a/runtime/doc/quickfix.txt
+++ b/runtime/doc/quickfix.txt
@@ -1240,7 +1240,7 @@ or >
to indicate the column of the error. This is to be used in a multi-line error
message. See |errorformat-javac| for a useful example.
-The "%s" conversion specifies the text to search for to locate the error line.
+The "%s" conversion specifies the text to search for, to locate the error line.
The text is used as a literal string. The anchors "^" and "$" are added to
the text to locate the error line exactly matching the search text and the
text is prefixed with the "\V" atom to make it "very nomagic". The "%s"
diff --git a/runtime/doc/tagsrch.txt b/runtime/doc/tagsrch.txt
index f0ad2cfd43..4d6da4cf9d 100644
--- a/runtime/doc/tagsrch.txt
+++ b/runtime/doc/tagsrch.txt
@@ -31,12 +31,12 @@ An easy way back is with the CTRL-T command. Also read about the tag stack
below.
*:ta* *:tag* *E426* *E429*
-:[count]ta[g][!] {ident}
- Jump to the definition of {ident}, using the
- information in the tags file(s). Put {ident} in the
+:[count]ta[g][!] {name}
+ Jump to the definition of {name}, using the
+ information in the tags file(s). Put {name} in the
tag stack. See |tag-!| for [!].
- {ident} can be a regexp pattern, see |tag-regexp|.
- When there are several matching tags for {ident}, jump
+ {name} can be a regexp pattern, see |tag-regexp|.
+ When there are several matching tags for {name}, jump
to the [count] one. When [count] is omitted the
first one is jumped to. See |tag-matchlist| for
jumping to other matching tags.
@@ -44,15 +44,15 @@ below.
g<LeftMouse> *g<LeftMouse>*
<C-LeftMouse> *<C-LeftMouse>* *CTRL-]*
CTRL-] Jump to the definition of the keyword under the
- cursor. Same as ":tag {ident}", where {ident} is the
+ cursor. Same as ":tag {name}", where {name} is the
keyword under or after cursor.
- When there are several matching tags for {ident}, jump
+ When there are several matching tags for {name}, jump
to the [count] one. When no [count] is given the
first one is jumped to. See |tag-matchlist| for
jumping to other matching tags.
*v_CTRL-]*
-{Visual}CTRL-] Same as ":tag {ident}", where {ident} is the text that
+{Visual}CTRL-] Same as ":tag {name}", where {name} is the text that
is highlighted.
*telnet-CTRL-]*
@@ -76,7 +76,7 @@ When there are multiple matches for a tag, this priority is used:
Note that when the current file changes, the priority list is mostly not
changed, to avoid confusion when using ":tnext". It is changed when using
-":tag {ident}".
+":tag {name}".
The ignore-case matches are not found for a ":tag" command when:
- the 'ignorecase' option is off and 'tagcase' is "followic"
@@ -161,7 +161,7 @@ You can get from main to FuncA by using CTRL-] on the call to FuncA. Then
you can CTRL-] to get to FuncC. If you now want to go back to main you can
use CTRL-T twice. Then you can CTRL-] to FuncB.
-If you issue a ":ta {ident}" or CTRL-] command, this tag is inserted at the
+If you issue a ":ta {name}" or CTRL-] command, this tag is inserted at the
current position in the stack. If the stack was full (it can hold up to 20
entries), the oldest entry is deleted and the older entries shift one
position up (their index number is decremented by one). If the last used
@@ -185,14 +185,14 @@ between them. Note that these commands don't change the tag stack, they keep
the same entry.
*:ts* *:tselect*
-:ts[elect][!] [ident] List the tags that match [ident], using the
+:ts[elect][!] [name] List the tags that match [name], using the
information in the tags file(s).
- When [ident] is not given, the last tag name from the
+ When [name] is not given, the last tag name from the
tag stack is used.
See |tag-!| for [!].
With a '>' in the first column is indicated which is
the current position in the list (if there is one).
- [ident] can be a regexp pattern, see |tag-regexp|.
+ [name] can be a regexp pattern, see |tag-regexp|.
See |tag-priority| for the priorities used in the
listing.
Example output:
@@ -220,7 +220,7 @@ the same entry.
type 'q' and enter the number.
*:sts* *:stselect*
-:sts[elect][!] [ident] Does ":tselect[!] [ident]" and splits the window for
+:sts[elect][!] [name] Does ":tselect[!] [name]" and splits the window for
the selected tag.
*g]*
@@ -231,11 +231,11 @@ g] Like CTRL-], but use ":tselect" instead of ":tag".
identifier.
*:tj* *:tjump*
-:tj[ump][!] [ident] Like ":tselect", but jump to the tag directly when
+:tj[ump][!] [name] Like ":tselect", but jump to the tag directly when
there is only one match.
*:stj* *:stjump*
-:stj[ump][!] [ident] Does ":tjump[!] [ident]" and splits the window for the
+:stj[ump][!] [name] Does ":tjump[!] [name]" and splits the window for the
selected tag.
*g_CTRL-]*
@@ -267,9 +267,9 @@ g CTRL-] Like CTRL-], but use ":tjump" instead of ":tag".
:tl[ast][!] Jump to last matching tag. See |tag-!| for [!].
*:lt* *:ltag*
-:lt[ag][!] [ident] Jump to tag [ident] and add the matching tags to a new
- location list for the current window. [ident] can be
- a regexp pattern, see |tag-regexp|. When [ident] is
+:lt[ag][!] [name] Jump to tag [name] and add the matching tags to a new
+ location list for the current window. [name] can be
+ a regexp pattern, see |tag-regexp|. When [name] is
not given, the last tag name from the tag stack is
used. The search pattern to locate the tag line is
prefixed with "\V" to escape all the special
@@ -300,11 +300,11 @@ the same as above, with a "p" prepended.
{not available when compiled without the |+quickfix| feature}
*:pts* *:ptselect*
-:pts[elect][!] [ident] Does ":tselect[!] [ident]" and shows the new tag in a
+:pts[elect][!] [name] Does ":tselect[!] [name]" and shows the new tag in a
"Preview" window. See |:ptag| for more info.
*:ptj* *:ptjump*
-:ptj[ump][!] [ident] Does ":tjump[!] [ident]" and shows the new tag in a
+:ptj[ump][!] [name] Does ":tjump[!] [name]" and shows the new tag in a
"Preview" window. See |:ptag| for more info.
*:ptn* *:ptnext*
diff --git a/runtime/filetype.vim b/runtime/filetype.vim
index a45c0be810..068c9092ee 100644
--- a/runtime/filetype.vim
+++ b/runtime/filetype.vim
@@ -425,6 +425,13 @@ au BufNewFile,BufRead control
\| setf debcontrol
\| endif
+" Debian Copyright
+au BufNewFile,BufRead */debian/copyright setf debcopyright
+au BufNewFile,BufRead copyright
+ \ if getline(1) =~ '^Format:'
+ \| setf debcopyright
+ \| endif
+
" Debian Sources.list
au BufNewFile,BufRead */etc/apt/sources.list setf debsources
au BufNewFile,BufRead */etc/apt/sources.list.d/*.list setf debsources
diff --git a/runtime/ftplugin/debchangelog.vim b/runtime/ftplugin/debchangelog.vim
index 32f683109d..a78f7811f1 100644
--- a/runtime/ftplugin/debchangelog.vim
+++ b/runtime/ftplugin/debchangelog.vim
@@ -3,20 +3,20 @@
" Maintainer: Debian Vim Maintainers
" Former Maintainers: Michael Piefel <piefel@informatik.hu-berlin.de>
" Stefano Zacchiroli <zack@debian.org>
-" Last Change: 2018-01-06
+" Last Change: 2018-01-28
" License: Vim License
" URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/ftplugin/debchangelog.vim
" Bug completion requires apt-listbugs installed for Debian packages or
" python-launchpadlib installed for Ubuntu packages
-if exists("b:did_ftplugin")
+if exists('b:did_ftplugin')
finish
endif
let b:did_ftplugin=1
" {{{1 Local settings (do on every load)
-if exists("g:debchangelog_fold_enable")
+if exists('g:debchangelog_fold_enable')
setlocal foldmethod=expr
setlocal foldexpr=DebGetChangelogFold(v:lnum)
setlocal foldtext=DebChangelogFoldText()
@@ -28,10 +28,10 @@ setlocal tw=78
setlocal comments=f:*
" Clean unloading
-let b:undo_ftplugin = "setlocal tw< comments< foldmethod< foldexpr< foldtext<"
+let b:undo_ftplugin = 'setlocal tw< comments< foldmethod< foldexpr< foldtext<'
" }}}1
-if exists("g:did_changelog_ftplugin")
+if exists('g:did_changelog_ftplugin')
finish
endif
@@ -44,41 +44,41 @@ let g:did_changelog_ftplugin = 1
" Returns full name, either from $DEBFULLNAME or debianfullname.
" TODO Is there a way to determine name from anywhere else?
function <SID>FullName()
- if exists("$DEBFULLNAME")
+ if exists('$DEBFULLNAME')
return $DEBFULLNAME
- elseif exists("g:debianfullname")
+ elseif exists('g:debianfullname')
return g:debianfullname
else
- return "Your Name"
+ return 'Your Name'
endif
endfunction
" Returns email address, from $DEBEMAIL, $EMAIL or debianemail.
function <SID>Email()
- if exists("$DEBEMAIL")
+ if exists('$DEBEMAIL')
return $DEBEMAIL
- elseif exists("$EMAIL")
+ elseif exists('$EMAIL')
return $EMAIL
- elseif exists("g:debianemail")
+ elseif exists('g:debianemail')
return g:debianemail
else
- return "your@email.address"
+ return 'your@email.address'
endif
endfunction
" Returns date in RFC822 format.
function <SID>Date()
let savelang = v:lc_time
- execute "language time C"
- let dateandtime = strftime("%a, %d %b %Y %X %z")
- execute "language time " . savelang
+ execute 'language time C'
+ let dateandtime = strftime('%a, %d %b %Y %X %z')
+ execute 'language time ' . savelang
return dateandtime
endfunction
function <SID>WarnIfNotUnfinalised()
- if match(getline("."), " -- [[:alpha:]][[:alnum:].]")!=-1
+ if match(getline('.'), ' -- [[:alpha:]][[:alnum:].]')!=-1
echohl WarningMsg
- echo "The entry has not been unfinalised before editing."
+ echo 'The entry has not been unfinalised before editing.'
echohl None
return 1
endif
@@ -86,10 +86,10 @@ function <SID>WarnIfNotUnfinalised()
endfunction
function <SID>Finalised()
- let savelinenum = line(".")
- normal 1G
- call search("^ -- ")
- if match(getline("."), " -- [[:alpha:]][[:alnum:].]")!=-1
+ let savelinenum = line('.')
+ 1
+ call search('^ -- ')
+ if match(getline('.'), ' -- [[:alpha:]][[:alnum:].]')!=-1
let returnvalue = 1
else
let returnvalue = 0
@@ -109,54 +109,54 @@ function NewVersion()
amenu disable Changelog.Unfinalise
amenu enable Changelog.Finalise
call append(0, substitute(getline(1), '-\([[:digit:]]\+\))', '-$$\1)', ''))
- call append(1, "")
- call append(2, "")
- call append(3, " -- ")
- call append(4, "")
- call Urgency("low")
- normal 1G0
- call search(")")
- normal h
- normal 
+ call append(1, '')
+ call append(2, '')
+ call append(3, ' -- ')
+ call append(4, '')
+ call Urgency('low')
+ normal! 1G0
+ call search(')')
+ normal! h
+ normal! 
call setline(1, substitute(getline(1), '-\$\$', '-', ''))
- if exists("g:debchangelog_fold_enable")
+ if exists('g:debchangelog_fold_enable')
foldopen
endif
call AddEntry()
endfunction
function AddEntry()
- normal 1G
- call search("^ -- ")
- normal kk
- call append(".", " * ")
- normal jjj
+ 1
+ call search('^ -- ')
+ .-2
+ call append('.', ' * ')
+ .+3
let warn=<SID>WarnIfNotUnfinalised()
- normal kk
+ .-2
if warn
echohl MoreMsg
- call input("Hit ENTER")
+ call input('Hit ENTER')
echohl None
endif
startinsert!
endfunction
function CloseBug()
- normal 1G
- call search("^ -- ")
+ 1
+ call search('^ -- ')
let warn=<SID>WarnIfNotUnfinalised()
- normal kk
- call append(".", " * (closes: #" . input("Bug number to close: ") . ")")
- normal j^ll
+ .-2
+ call append('.', ' * (closes: #' . input('Bug number to close: ') . ')')
+ normal! j^ll
startinsert
endfunction
function Distribution(dist)
- call setline(1, substitute(getline(1), ') *\%(UNRELEASED\|\l\+\);', ") " . a:dist . ";", ""))
+ call setline(1, substitute(getline(1), ') *\%(UNRELEASED\|\l\+\);', ') ' . a:dist . ';', ''))
endfunction
function Urgency(urg)
- call setline(1, substitute(getline(1), "urgency=.*$", "urgency=" . a:urg, ""))
+ call setline(1, substitute(getline(1), 'urgency=.*$', 'urgency=' . a:urg, ''))
endfunction
function <SID>UnfinaliseMenu()
@@ -172,9 +172,9 @@ endfunction
function Unfinalise()
call <SID>UnfinaliseMenu()
- normal 1G
- call search("^ -- ")
- call setline(".", " -- ")
+ 1
+ call search('^ -- ')
+ call setline('.', ' -- ')
endfunction
function <SID>FinaliseMenu()
@@ -190,9 +190,9 @@ endfunction
function Finalise()
call <SID>FinaliseMenu()
- normal 1G
- call search("^ -- ")
- call setline(".", " -- " . <SID>FullName() . " <" . <SID>Email() . "> " . <SID>Date())
+ 1
+ call search('^ -- ')
+ call setline('.', ' -- ' . <SID>FullName() . ' <' . <SID>Email() . '> ' . <SID>Date())
endfunction
@@ -239,7 +239,7 @@ function! s:getAuthor(zonestart, zoneend)
let linepos = a:zoneend
while linepos >= a:zonestart
let line = getline(linepos)
- if line =~ '^ --'
+ if line =~# '^ --'
return substitute(line, '^ --\s*\([^<]\+\)\s*.*', '\1', '')
endif
let linepos -= 1
@@ -254,7 +254,7 @@ function! DebGetPkgSrcName(lineno)
let pkgname = ''
while lineidx > 0
let curline = getline(lineidx)
- if curline =~ '^\S'
+ if curline =~# '^\S'
let pkgname = matchlist(curline, '^\(\S\+\).*$')[1]
break
endif
@@ -264,7 +264,7 @@ function! DebGetPkgSrcName(lineno)
endfunction
function! DebChangelogFoldText()
- if v:folddashes == '-' " changelog entry fold
+ if v:folddashes ==# '-' " changelog entry fold
return foldtext() . ' -- ' . s:getAuthor(v:foldstart, v:foldend) . ' '
endif
return foldtext()
@@ -272,19 +272,19 @@ endfunction
function! DebGetChangelogFold(lnum)
let line = getline(a:lnum)
- if line =~ '^\w\+'
+ if line =~# '^\w\+'
return '>1' " beginning of a changelog entry
endif
- if line =~ '^\s\+\[.*\]'
+ if line =~# '^\s\+\[.*\]'
return '>2' " beginning of an author-specific chunk
endif
- if line =~ '^ --'
+ if line =~# '^ --'
return '1'
endif
return '='
endfunction
-if exists("g:debchangelog_fold_enable")
+if exists('g:debchangelog_fold_enable')
silent! foldopen! " unfold the entry the cursor is on (usually the first one)
endif
@@ -305,13 +305,13 @@ fun! DebCompleteBugs(findstart, base)
let try_colidx = col('.') - 1
let colidx = -1 " default to no-completion-possible
- while try_colidx > 0 && line[try_colidx - 1] =~ '\s\|\d\|#\|,\|:'
+ while try_colidx > 0 && line[try_colidx - 1] =~# '\s\|\d\|#\|,\|:'
let try_colidx = try_colidx - 1
- if line[try_colidx] == '#' && colidx == -1
+ if line[try_colidx] ==# '#' && colidx == -1
" found hash, where we complete from:
let colidx = try_colidx
- elseif line[try_colidx] == ':'
- if try_colidx > 1 && strpart(line, try_colidx - 2, 3) =~ '\clp:'
+ elseif line[try_colidx] ==# ':'
+ if try_colidx > 1 && strpart(line, try_colidx - 2, 3) =~? '\clp:'
let g:debchangelog_complete_mode = 'lp'
endif
break
@@ -320,7 +320,7 @@ fun! DebCompleteBugs(findstart, base)
return colidx
else " return matches:
let bug_lines = []
- if g:debchangelog_complete_mode == 'lp'
+ if g:debchangelog_complete_mode ==? 'lp'
if ! has('python')
echoerr 'vim must be built with Python support to use LP bug completion'
return
@@ -363,7 +363,7 @@ EOF
for line in bug_lines
let parts = matchlist(line, '^\s*\(#\S\+\)\s*-\s*\(.*\)$')
" filter only those which match a:base:
- if parts[1] !~ "^" . a:base
+ if parts[1] !~ '^' . a:base
continue
endif
let completion = {}
diff --git a/runtime/ftplugin/debcontrol.vim b/runtime/ftplugin/debcontrol.vim
index 9643d16c28..3a6e39a682 100644
--- a/runtime/ftplugin/debcontrol.vim
+++ b/runtime/ftplugin/debcontrol.vim
@@ -2,17 +2,17 @@
" Language: Debian control files
" Maintainer: Debian Vim Maintainers
" Former Maintainer: Pierre Habouzit <madcoder@debian.org>
-" Last Change: 2018-01-06
+" Last Change: 2018-01-28
" URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/ftplugin/debcontrol.vim
" Do these settings once per buffer
-if exists("b:did_ftplugin")
+if exists('b:did_ftplugin')
finish
endif
let b:did_ftplugin=1
" {{{1 Local settings (do on every load)
-if exists("g:debcontrol_fold_enable")
+if exists('g:debcontrol_fold_enable')
setlocal foldmethod=expr
setlocal foldexpr=DebControlFold(v:lnum)
setlocal foldtext=DebControlFoldText()
@@ -20,7 +20,7 @@ endif
setlocal textwidth=0
" Clean unloading
-let b:undo_ftplugin = "setlocal tw< foldmethod< foldexpr< foldtext<"
+let b:undo_ftplugin = 'setlocal tw< foldmethod< foldexpr< foldtext<'
" }}}1
@@ -32,7 +32,7 @@ function! s:getField(f, lnum)
while line !~ '^'.a:f.':'
let fwdsteps += 1
let line = getline(a:lnum + fwdsteps)
- if line == ''
+ if line ==# ''
return 'unknown'
endif
endwhile
@@ -40,9 +40,9 @@ function! s:getField(f, lnum)
endfunction
function! DebControlFoldText()
- if v:folddashes == '-' " debcontrol entry fold
+ if v:folddashes ==# '-' " debcontrol entry fold
let type = substitute(getline(v:foldstart), ':.*', '', '')
- if type == 'Source'
+ if type ==# 'Source'
let ftext = substitute(foldtext(), ' *Source: *', ' ', '')
return ftext . ' -- ' . s:getField('Maintainer', v:foldstart) . ' '
endif
@@ -56,11 +56,11 @@ endfunction
function! DebControlFold(l)
" This is for not merging blank lines around folds to them
- if getline(a:l) =~ '^Source:'
+ if getline(a:l) =~# '^Source:'
return '>1'
endif
- if getline(a:l) =~ '^Package:'
+ if getline(a:l) =~# '^Package:'
return '>1'
endif
diff --git a/runtime/syntax/cs.vim b/runtime/syntax/cs.vim
index 0443a1ff3d..9977ec03e3 100644
--- a/runtime/syntax/cs.vim
+++ b/runtime/syntax/cs.vim
@@ -1,10 +1,12 @@
" Vim syntax file
-" Language: C#
-" Maintainer: Anduin Withers <awithers@anduin.com>
+" Language: C#
+" Maintainer: Nick Jensen <nickspoon@gmail.com>
+" Former Maintainer: Anduin Withers <awithers@anduin.com>
" Former Maintainer: Johannes Zellner <johannes@zellner.org>
-" Last Change: Fri Aug 14 13:56:37 PDT 2009
-" Filenames: *.cs
-" $Id: cs.vim,v 1.4 2006/05/03 21:20:02 vimboss Exp $
+" Last Change: 2018-05-02
+" Filenames: *.cs
+" License: Vim (see :h license)
+" Repository: https://github.com/nickspoons/vim-cs
"
" REFERENCES:
" [1] ECMA TC39: C# Language Specification (WD13Oct01.doc)
@@ -17,31 +19,23 @@ let s:cs_cpo_save = &cpo
set cpo&vim
-" type
-syn keyword csType bool byte char decimal double float int long object sbyte short string uint ulong ushort void
-" storage
-syn keyword csStorage class delegate enum interface namespace struct
-" repeat / condition / label
+syn keyword csType bool byte char decimal double float int long object sbyte short string T uint ulong ushort var void dynamic
+syn keyword csStorage delegate enum interface namespace struct
syn keyword csRepeat break continue do for foreach goto return while
syn keyword csConditional else if switch
syn keyword csLabel case default
" user labels (see [1] 8.6 Statements)
syn match csLabel display +^\s*\I\i*\s*:\([^:]\)\@=+
-" modifier
syn keyword csModifier abstract const extern internal override private protected public readonly sealed static virtual volatile
-" constant
syn keyword csConstant false null true
-" exception
-syn keyword csException try catch finally throw
+syn keyword csException try catch finally throw when
+syn keyword csLinq ascending by descending equals from group in into join let on orderby select where
+syn keyword csAsync async await
-" TODO:
-syn keyword csUnspecifiedStatement as base checked event fixed in is lock new operator out params ref sizeof stackalloc this typeof unchecked unsafe using
-" TODO:
+syn keyword csUnspecifiedStatement as base checked event fixed get in is lock nameof operator out params ref set sizeof stackalloc this typeof unchecked unsafe using
syn keyword csUnsupportedStatement add remove value
-" TODO:
syn keyword csUnspecifiedKeyword explicit implicit
-
" Contextual Keywords
syn match csContextualStatement /\<yield[[:space:]\n]\+\(return\|break\)/me=s+5
syn match csContextualStatement /\<partial[[:space:]\n]\+\(class\|struct\|interface\)/me=s+7
@@ -54,7 +48,7 @@ syn match csContextualStatement /\<where\>[^:]\+:/me=s+5
"
" TODO: include strings ?
"
-syn keyword csTodo contained TODO FIXME XXX NOTE
+syn keyword csTodo contained TODO FIXME XXX NOTE HACK
syn region csComment start="/\*" end="\*/" contains=@csCommentHook,csTodo,@Spell
syn match csComment "//.*$" contains=@csCommentHook,csTodo,@Spell
@@ -87,8 +81,15 @@ syn region csPreCondit
\ skip="\\$" end="$" contains=csComment keepend
syn region csRegion matchgroup=csPreCondit start="^\s*#\s*region.*$"
\ end="^\s*#\s*endregion" transparent fold contains=TOP
+syn region csSummary start="^\s*/// <summary" end="^\(\s*///\)\@!" transparent fold keepend
+syn region csClassType start="\(@\)\@<!class\>"hs=s+6 end="[:\n{]"he=e-1 contains=csClass
+syn region csNewType start="\(@\)\@<!new\>"hs=s+4 end="[\(\<{\[]"he=e-1 contains=csNew contains=csNewType
+syn region csIsType start="\v (is|as) "hs=s+4 end="\v[A-Za-z0-9]+" oneline contains=csIsAs
+syn keyword csNew new contained
+syn keyword csClass class contained
+syn keyword csIsAs is as
" Strings and constants
syn match csSpecialError contained "\\."
@@ -111,7 +112,11 @@ syn match csNumber "\<\d\+\([eE][-+]\=\d\+\)\=[fFdD]\>"
" The default highlighting.
hi def link csType Type
+hi def link csNewType Type
+hi def link csClassType Type
+hi def link csIsType Type
hi def link csStorage StorageClass
+hi def link csClass StorageClass
hi def link csRepeat Repeat
hi def link csConditional Conditional
hi def link csLabel Label
@@ -121,8 +126,13 @@ hi def link csException Exception
hi def link csUnspecifiedStatement Statement
hi def link csUnsupportedStatement Statement
hi def link csUnspecifiedKeyword Keyword
+hi def link csNew Statement
+hi def link csLinq Statement
+hi def link csIsAs Keyword
+hi def link csAsync Keyword
hi def link csContextualStatement Statement
hi def link csOperatorError Error
+hi def link csInterfaceDeclaration Include
hi def link csTodo Todo
hi def link csComment Comment
diff --git a/runtime/syntax/debchangelog.vim b/runtime/syntax/debchangelog.vim
index e79fc9a31b..edaaf6128f 100644
--- a/runtime/syntax/debchangelog.vim
+++ b/runtime/syntax/debchangelog.vim
@@ -3,11 +3,11 @@
" Maintainer: Debian Vim Maintainers
" Former Maintainers: Gerfried Fuchs <alfie@ist.org>
" Wichert Akkerman <wakkerma@debian.org>
-" Last Change: 2018 Jan 06
+" Last Change: 2018 May 03
" URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/syntax/debchangelog.vim
" Standard syntax initialization
-if exists("b:current_syntax")
+if exists('b:current_syntax')
finish
endif
@@ -21,7 +21,7 @@ let s:binNMU='binary-only=yes'
syn match debchangelogName contained "^[[:alnum:]][[:alnum:].+-]\+ "
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|bionic)%(-%(security|proposed|updates|backports|commercial|partner))=)+"
+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|bionic|cosmic)%(-%(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\+\)*"
@@ -46,6 +46,6 @@ hi def link debchangelogVersion Identifier
hi def link debchangelogTarget Identifier
hi def link debchangelogEmail Special
-let b:current_syntax = "debchangelog"
+let b:current_syntax = 'debchangelog'
" vim: ts=8 sw=2
diff --git a/runtime/syntax/debcontrol.vim b/runtime/syntax/debcontrol.vim
index 945812f25c..3504780445 100644
--- a/runtime/syntax/debcontrol.vim
+++ b/runtime/syntax/debcontrol.vim
@@ -3,11 +3,11 @@
" Maintainer: Debian Vim Maintainers
" Former Maintainers: Gerfried Fuchs <alfie@ist.org>
" Wichert Akkerman <wakkerma@debian.org>
-" Last Change: 2018 Jan 06
+" Last Change: 2018 Jan 28
" URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/syntax/debcontrol.vim
" Standard syntax initialization
-if exists("b:current_syntax")
+if exists('b:current_syntax')
finish
endif
@@ -135,7 +135,7 @@ hi def link debcontrolR3 Identifier
hi def link debcontrolComment Comment
hi def link debcontrolElse Special
-let b:current_syntax = "debcontrol"
+let b:current_syntax = 'debcontrol'
let &cpo = s:cpo_save
unlet s:cpo_save
diff --git a/runtime/syntax/debcopyright.vim b/runtime/syntax/debcopyright.vim
new file mode 100644
index 0000000000..c85ca372d0
--- /dev/null
+++ b/runtime/syntax/debcopyright.vim
@@ -0,0 +1,33 @@
+" Vim syntax file
+" Language: Debian copyright file
+" Maintainer: Debian Vim Maintainers
+" Last Change: 2018 Feb 05
+" URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/syntax/debcopyright.vim
+
+" Standard syntax initialization
+if exists('b:current_syntax')
+ finish
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+syn case match
+
+syn match debcopyrightUrl "\vhttps?://[[:alnum:]][-[:alnum:]]*[[:alnum:]]?(\.[[:alnum:]][-[:alnum:]]*[[:alnum:]]?)*\.[[:alpha:]][-[:alnum:]]*[[:alpha:]]?(:\d+)?(/[^[:space:]]*)?$"
+syn match debcopyrightKey "^\%(Format\|Upstream-Name\|Upstream-Contact\|Disclaimer\|Source\|Comment\|Files\|Copyright\|License\): *"
+syn match debcopyrightEmail "[_=[:alnum:]\.+-]\+@[[:alnum:]\./\-]\+"
+syn match debcopyrightEmail "<.\{-}>"
+syn match debcopyrightComment "^#.*$" contains=@Spell
+
+hi def link debcopyrightUrl Identifier
+hi def link debcopyrightKey Keyword
+hi def link debcopyrightEmail Identifier
+hi def link debcopyrightComment Comment
+
+let b:current_syntax = 'debcopyright'
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
+
+" vim: ts=8 sw=2
diff --git a/runtime/syntax/debsources.vim b/runtime/syntax/debsources.vim
index 4e136fa9e3..c7960c161b 100644
--- a/runtime/syntax/debsources.vim
+++ b/runtime/syntax/debsources.vim
@@ -2,11 +2,11 @@
" Language: Debian sources.list
" Maintainer: Debian Vim Maintainers
" Former Maintainer: Matthijs Mohlmann <matthijs@cacholong.nl>
-" Last Change: 2018 Jan 06
+" Last Change: 2018 May 03
" URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/syntax/debsources.vim
" Standard syntax initialization
-if exists("b:current_syntax")
+if exists('b:current_syntax')
finish
endif
@@ -25,7 +25,7 @@ let s:supported = [
\ 'oldstable', 'stable', 'testing', 'unstable', 'experimental',
\ 'wheezy', 'jessie', 'stretch', 'sid', 'rc-buggy',
\
- \ 'trusty', 'xenial', 'zesty', 'artful', 'bionic', 'devel'
+ \ 'trusty', 'xenial', 'artful', 'bionic', 'cosmic', 'devel'
\ ]
let s:unsupported = [
\ 'buzz', 'rex', 'bo', 'hamm', 'slink', 'potato',
@@ -34,12 +34,12 @@ let s:unsupported = [
\ 'warty', 'hoary', 'breezy', 'dapper', 'edgy', 'feisty',
\ 'gutsy', 'hardy', 'intrepid', 'jaunty', 'karmic', 'lucid',
\ 'maverick', 'natty', 'oneiric', 'precise', 'quantal', 'raring', 'saucy',
- \ 'utopic', 'vivid', 'wily', 'yakkety'
+ \ 'utopic', 'vivid', 'wily', 'yakkety', 'zesty'
\ ]
let &cpo=s:cpo
" Match uri's
-syn match debsourcesUri +\(https\?://\|ftp://\|[rs]sh://\|debtorrent://\|\(cdrom\|copy\|file\):\)[^' <>"]\++
+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:]_./]*\)+'
@@ -51,4 +51,4 @@ hi def link debsourcesUnsupportedDistrKeyword WarningMsg
hi def link debsourcesComment Comment
hi def link debsourcesUri Constant
-let b:current_syntax = "debsources"
+let b:current_syntax = 'debsources'
diff --git a/runtime/syntax/vhdl.vim b/runtime/syntax/vhdl.vim
index f4b11ff5dd..efcb840284 100644
--- a/runtime/syntax/vhdl.vim
+++ b/runtime/syntax/vhdl.vim
@@ -3,7 +3,7 @@
" Maintainer: Daniel Kho <daniel.kho@tauhop.com>
" Previous Maintainer: Czo <Olivier.Sirol@lip6.fr>
" Credits: Stephan Hegel <stephan.hegel@snc.siemens.com.cn>
-" Last Changed: 2016 Mar 05 by Daniel Kho
+" Last Changed: 2018 May 06 by Daniel Kho
" quit when a syntax file was already loaded
if exists("b:current_syntax")
@@ -43,6 +43,8 @@ syn keyword vhdlStatement sequence strong
syn keyword vhdlStatement then to transport type
syn keyword vhdlStatement unaffected units until use
syn keyword vhdlStatement variable
+" VHDL-2017 interface
+syn keyword vhdlStatement view
syn keyword vhdlStatement vmode vprop vunit
syn keyword vhdlStatement wait when while with
syn keyword vhdlStatement note warning error failure
@@ -69,9 +71,7 @@ syn match vhdlType "\<time_vector\>\'\="
syn match vhdlType "\<character\>\'\="
syn match vhdlType "\<string\>\'\="
-"syn keyword vhdlType severity_level
-syn keyword vhdlType line
-syn keyword vhdlType text
+syn keyword vhdlType line text side width
" Predefined standard IEEE VHDL types
syn match vhdlType "\<std_ulogic\>\'\="
@@ -124,6 +124,8 @@ syn match vhdlAttribute "\'succ"
syn match vhdlAttribute "\'val"
syn match vhdlAttribute "\'image"
syn match vhdlAttribute "\'value"
+" VHDL-2017 interface attribute
+syn match vhdlAttribute "\'converse"
syn keyword vhdlBoolean true false
@@ -165,6 +167,9 @@ syn match vhdlOperator "=\|\/=\|>\|<\|>="
syn match vhdlOperator "<=\|:="
syn match vhdlOperator "=>"
+" VHDL-2017 concurrent signal association (spaceship) operator
+syn match vhdlOperator "<=>"
+
" VHDL-2008 conversion, matching equality/non-equality operators
syn match vhdlOperator "??\|?=\|?\/=\|?<\|?<=\|?>\|?>="
@@ -183,8 +188,11 @@ syn match vhdlError "\(<\)[&+\-\/\\]\+"
syn match vhdlError "[>=&+\-\/\\]\+\(<\)"
" Covers most operators
" support negative sign after operators. E.g. q<=-b;
-syn match vhdlError "\(&\|+\|\-\|\*\*\|\/=\|??\|?=\|?\/=\|?<=\|?>=\|>=\|<=\|:=\|=>\)[<>=&+\*\\?:]\+"
-syn match vhdlError "[<>=&+\-\*\\:]\+\(&\|+\|\*\*\|\/=\|??\|?=\|?\/=\|?<\|?<=\|?>\|?>=\|>=\|<=\|:=\|=>\)"
+" Supports VHDL-2017 spaceship (concurrent simple signal association).
+syn match vhdlError "\(<=\)[<=&+\*\\?:]\+"
+syn match vhdlError "[>=&+\-\*\\:]\+\(=>\)"
+syn match vhdlError "\(&\|+\|\-\|\*\*\|\/=\|??\|?=\|?\/=\|?<=\|?>=\|>=\|:=\|=>\)[<>=&+\*\\?:]\+"
+syn match vhdlError "[<>=&+\-\*\\:]\+\(&\|+\|\*\*\|\/=\|??\|?=\|?\/=\|?<\|?<=\|?>\|?>=\|>=\|<=\|:=\)"
syn match vhdlError "\(?<\|?>\)[<>&+\*\/\\?:]\+"
syn match vhdlError "\(<<\|>>\)[<>&+\*\/\\?:]\+"