0
0
mirror of https://github.com/vim/vim.git synced 2025-07-24 10:45:12 -04:00

Update runtime files.

This commit is contained in:
Bram Moolenaar 2018-05-06 17:57:30 +02:00
parent 7ce551f317
commit 85eee130f4
26 changed files with 285 additions and 203 deletions

View File

@ -73,7 +73,8 @@ Search for "highlight_init".
If you think you have a color scheme that is good enough to be used by others, If you think you have a color scheme that is good enough to be used by others,
please check the following items: please check the following items:
- Source the tools/check_colors.vim script to check for common mistakes. - Source the $VIMRUNTIME/colors/tools/check_colors.vim script to check for
common mistakes.
- Does it work in a color terminal as well as in the GUI? - Does it work in a color terminal as well as in the GUI?
- Is "g:colors_name" set to a meaningful value? In case of doubt you can do - Is "g:colors_name" set to a meaningful value? In case of doubt you can do
it this way: it this way:

View File

@ -1,4 +1,4 @@
*autocmd.txt* For Vim version 8.0. Last change: 2018 Apr 30 *autocmd.txt* For Vim version 8.0. Last change: 2018 May 03
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar

View File

@ -1,4 +1,4 @@
*change.txt* For Vim version 8.0. Last change: 2018 Apr 17 *change.txt* For Vim version 8.0. Last change: 2018 May 06
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -110,7 +110,7 @@ is an error when 'cpoptions' includes the 'E' flag.
J Join [count] lines, with a minimum of two lines. J Join [count] lines, with a minimum of two lines.
Remove the indent and insert up to two spaces (see Remove the indent and insert up to two spaces (see
below). Fails when on the last line of the buffer. 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. lines available.
*v_J* *v_J*
@ -446,7 +446,7 @@ This depends on the 'nrformats' option:
For decimals a leading negative sign is considered for incrementing/ For decimals a leading negative sign is considered for incrementing/
decrementing, for binary, octal and hex values, it won't be considered. To 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), 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 Vim preserves the number of characters in the number when possible. CTRL-A on

View File

@ -1,4 +1,4 @@
*develop.txt* For Vim version 8.0. Last change: 2018 Apr 23 *develop.txt* For Vim version 8.0. Last change: 2018 May 02
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -18,7 +18,8 @@ See the file README.txt in the "src" directory for an overview of the source
code. code.
Vim is open source software. Everybody is encouraged to contribute to help Vim is open source software. Everybody is encouraged to contribute to help
improving Vim. For sending patches a context diff "diff -c" is preferred. improving Vim. For sending patches a unified diff "diff -u" is preferred.
You can create a pull request on github, but it's not required.
Also see http://vim.wikia.com/wiki/How_to_make_and_submit_a_patch. Also see http://vim.wikia.com/wiki/How_to_make_and_submit_a_patch.
============================================================================== ==============================================================================

View File

@ -1,4 +1,4 @@
*gui_x11.txt* For Vim version 8.0. Last change: 2017 Jul 28 *gui_x11.txt* For Vim version 8.0. Last change: 2018 May 06
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -53,6 +53,9 @@ When using "gvim -f" and then ":gui", Vim will run in the foreground. The
":gui -b". ":gui -b".
"gvim --nofork" does the same as "gvim -f". "gvim --nofork" does the same as "gvim -f".
When there are running jobs Vim will not fork, because the processes would no
longer be child processes.
*E851* *E852* *E851* *E852*
When starting the GUI fails Vim will try to continue running in the terminal. When starting the GUI fails Vim will try to continue running in the terminal.

View File

@ -1,4 +1,4 @@
*map.txt* For Vim version 8.0. Last change: 2017 Sep 23 *map.txt* For Vim version 8.0. Last change: 2018 May 06
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -542,9 +542,9 @@ scenario: >
:imap <M-C> foo :imap <M-C> foo
:set encoding=utf-8 :set encoding=utf-8
The mapping for <M-C> is defined with the latin1 encoding, resulting in a 0xc3 The mapping for <M-C> is defined with the latin1 encoding, resulting in a 0xc3
byte. If you type the character á (0xe1 <M-a>) in UTF-8 encoding this is the byte. If you type the character á (0xe1 <M-a>) in UTF-8 encoding this is the
two bytes 0xc3 0xa1. You don't want the 0xc3 byte to be mapped then or two bytes 0xc3 0xa1. You don't want the 0xc3 byte to be mapped then or
otherwise it would be impossible to type the á character. otherwise it would be impossible to type the á character.
*<Leader>* *mapleader* *<Leader>* *mapleader*
To define a mapping which uses the "mapleader" variable, the special string To define a mapping which uses the "mapleader" variable, the special string

View File

@ -1,4 +1,4 @@
*mlang.txt* For Vim version 8.0. Last change: 2017 Mar 04 *mlang.txt* For Vim version 8.0. Last change: 2018 May 06
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -190,8 +190,8 @@ you can do it without restarting Vim: >
:source $VIMRUNTIME/menu.vim :source $VIMRUNTIME/menu.vim
Each part of a menu path is translated separately. The result is that when Each part of a menu path is translated separately. The result is that when
"Help" is translated to "Hilfe" and "Overview" to "Überblick" then "Help" is translated to "Hilfe" and "Overview" to "Überblick" then
"Help.Overview" will be translated to "Hilfe.Überblick". "Help.Overview" will be translated to "Hilfe.Überblick".
============================================================================== ==============================================================================
3. Scripts *multilang-scripts* 3. Scripts *multilang-scripts*

View File

@ -1,4 +1,4 @@
*os_vms.txt* For Vim version 8.0. Last change: 2014 Aug 29 *os_vms.txt* For Vim version 8.0. Last change: 2018 May 06
VIM REFERENCE MANUAL VIM REFERENCE MANUAL
@ -702,13 +702,13 @@ In a cluster that contains nodes with different architectures like below:
$show cluster $show cluster
View of Cluster from system ID 11655 node: TOR 18-AUG-2008 11:58:31 View of Cluster from system ID 11655 node: TOR 18-AUG-2008 11:58:31
+---------------------------------+ +---------------------------------+
¦ SYSTEMS ¦ MEMBERS ¦ | SYSTEMS | MEMBERS |
+-----------------------+---------¦ +-----------------------+---------|
¦ NODE ¦ SOFTWARE ¦ STATUS ¦ | NODE | SOFTWARE | STATUS |
+--------+--------------+---------¦ +--------+--------------+---------|
¦ TOR ¦ VMS V7.3-2 ¦ MEMBER ¦ | TOR | VMS V7.3-2 | MEMBER |
¦ TITAN2 ¦ VMS V8.3 ¦ MEMBER ¦ | TITAN2 | VMS V8.3 | MEMBER |
¦ ODIN ¦ VMS V7.3-2 ¦ MEMBER ¦ | ODIN | VMS V7.3-2 | MEMBER |
+---------------------------------+ +---------------------------------+
It is convenient to have a common VIM directory but execute different It is convenient to have a common VIM directory but execute different

View File

@ -1,4 +1,4 @@
*quickfix.txt* For Vim version 8.0. Last change: 2018 Apr 28 *quickfix.txt* For Vim version 8.0. Last change: 2018 May 01
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -1257,7 +1257,7 @@ or >
to indicate the column of the error. This is to be used in a multi-line error 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. 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 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 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" text is prefixed with the "\V" atom to make it "very nomagic". The "%s"

View File

@ -1,4 +1,4 @@
*starting.txt* For Vim version 8.0. Last change: 2018 Mar 14 *starting.txt* For Vim version 8.0. Last change: 2018 May 05
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -127,7 +127,8 @@ argument.
On VMS all option arguments are assumed to be lowercase, unless preceded with On VMS all option arguments are assumed to be lowercase, unless preceded with
a slash. Thus "-R" means recovery and "-/R" readonly. a slash. Thus "-R" means recovery and "-/R" readonly.
--help *-h* *--help* --help *-h* *--help* *-?*
-?
-h Give usage (help) message and exit. {not in Vi} -h Give usage (help) message and exit. {not in Vi}
See |info-message| about capturing the text. See |info-message| about capturing the text.

View File

@ -1408,6 +1408,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
--ttyfail starting.txt /*--ttyfail* --ttyfail starting.txt /*--ttyfail*
--version starting.txt /*--version* --version starting.txt /*--version*
--windowid starting.txt /*--windowid* --windowid starting.txt /*--windowid*
-? starting.txt /*-?*
-A starting.txt /*-A* -A starting.txt /*-A*
-C starting.txt /*-C* -C starting.txt /*-C*
-D starting.txt /*-D* -D starting.txt /*-D*
@ -5285,6 +5286,7 @@ c_<C-Left> cmdline.txt /*c_<C-Left>*
c_<C-R> cmdline.txt /*c_<C-R>* c_<C-R> cmdline.txt /*c_<C-R>*
c_<C-R>_<C-A> cmdline.txt /*c_<C-R>_<C-A>* c_<C-R>_<C-A> cmdline.txt /*c_<C-R>_<C-A>*
c_<C-R>_<C-F> cmdline.txt /*c_<C-R>_<C-F>* c_<C-R>_<C-F> cmdline.txt /*c_<C-R>_<C-F>*
c_<C-R>_<C-L> cmdline.txt /*c_<C-R>_<C-L>*
c_<C-R>_<C-O> cmdline.txt /*c_<C-R>_<C-O>* c_<C-R>_<C-O> cmdline.txt /*c_<C-R>_<C-O>*
c_<C-R>_<C-P> cmdline.txt /*c_<C-R>_<C-P>* c_<C-R>_<C-P> cmdline.txt /*c_<C-R>_<C-P>*
c_<C-R>_<C-R> cmdline.txt /*c_<C-R>_<C-R>* c_<C-R>_<C-R> cmdline.txt /*c_<C-R>_<C-R>*
@ -5333,6 +5335,7 @@ c_CTRL-R cmdline.txt /*c_CTRL-R*
c_CTRL-R_= cmdline.txt /*c_CTRL-R_=* c_CTRL-R_= cmdline.txt /*c_CTRL-R_=*
c_CTRL-R_CTRL-A cmdline.txt /*c_CTRL-R_CTRL-A* c_CTRL-R_CTRL-A cmdline.txt /*c_CTRL-R_CTRL-A*
c_CTRL-R_CTRL-F cmdline.txt /*c_CTRL-R_CTRL-F* c_CTRL-R_CTRL-F cmdline.txt /*c_CTRL-R_CTRL-F*
c_CTRL-R_CTRL-L cmdline.txt /*c_CTRL-R_CTRL-L*
c_CTRL-R_CTRL-O cmdline.txt /*c_CTRL-R_CTRL-O* c_CTRL-R_CTRL-O cmdline.txt /*c_CTRL-R_CTRL-O*
c_CTRL-R_CTRL-P cmdline.txt /*c_CTRL-R_CTRL-P* c_CTRL-R_CTRL-P cmdline.txt /*c_CTRL-R_CTRL-P*
c_CTRL-R_CTRL-R cmdline.txt /*c_CTRL-R_CTRL-R* c_CTRL-R_CTRL-R cmdline.txt /*c_CTRL-R_CTRL-R*

View File

@ -1,4 +1,4 @@
*tagsrch.txt* For Vim version 8.0. Last change: 2017 Oct 20 *tagsrch.txt* For Vim version 8.0. Last change: 2018 May 04
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -36,12 +36,12 @@ An easy way back is with the CTRL-T command. Also read about the tag stack
below. below.
*:ta* *:tag* *E426* *E429* *:ta* *:tag* *E426* *E429*
:[count]ta[g][!] {ident} :[count]ta[g][!] {name}
Jump to the definition of {ident}, using the Jump to the definition of {name}, using the
information in the tags file(s). Put {ident} in the information in the tags file(s). Put {name} in the
tag stack. See |tag-!| for [!]. tag stack. See |tag-!| for [!].
{ident} can be a regexp pattern, see |tag-regexp|. {name} can be a regexp pattern, see |tag-regexp|.
When there are several matching tags for {ident}, jump When there are several matching tags for {name}, jump
to the [count] one. When [count] is omitted the to the [count] one. When [count] is omitted the
first one is jumped to. See |tag-matchlist| for first one is jumped to. See |tag-matchlist| for
jumping to other matching tags. jumping to other matching tags.
@ -49,16 +49,16 @@ below.
g<LeftMouse> *g<LeftMouse>* g<LeftMouse> *g<LeftMouse>*
<C-LeftMouse> *<C-LeftMouse>* *CTRL-]* <C-LeftMouse> *<C-LeftMouse>* *CTRL-]*
CTRL-] Jump to the definition of the keyword under the 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. 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 to the [count] one. When no [count] is given the
first one is jumped to. See |tag-matchlist| for first one is jumped to. See |tag-matchlist| for
jumping to other matching tags. jumping to other matching tags.
{Vi: identifier after the cursor} {Vi: identifier after the cursor}
*v_CTRL-]* *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. {not in Vi} is highlighted. {not in Vi}
*telnet-CTRL-]* *telnet-CTRL-]*
@ -82,7 +82,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 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 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 ignore-case matches are not found for a ":tag" command when:
- the 'ignorecase' option is off and 'tagcase' is "followic" - the 'ignorecase' option is off and 'tagcase' is "followic"
@ -167,7 +167,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 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. 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 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 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 position up (their index number is decremented by one). If the last used
@ -191,14 +191,14 @@ between them. Note that these commands don't change the tag stack, they keep
the same entry. the same entry.
*:ts* *:tselect* *: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). 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. tag stack is used.
See |tag-!| for [!]. See |tag-!| for [!].
With a '>' in the first column is indicated which is With a '>' in the first column is indicated which is
the current position in the list (if there is one). 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 See |tag-priority| for the priorities used in the
listing. {not in Vi} listing. {not in Vi}
Example output: Example output:
@ -226,7 +226,7 @@ the same entry.
type 'q' and enter the number. type 'q' and enter the number.
*:sts* *:stselect* *: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. {not in Vi} the selected tag. {not in Vi}
*g]* *g]*
@ -238,11 +238,11 @@ g] Like CTRL-], but use ":tselect" instead of ":tag".
identifier. {not in Vi} identifier. {not in Vi}
*:tj* *:tjump* *: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. {not in Vi} there is only one match. {not in Vi}
*:stj* *:stjump* *: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. {not in Vi} selected tag. {not in Vi}
*g_CTRL-]* *g_CTRL-]*
@ -277,9 +277,9 @@ g CTRL-] Like CTRL-], but use ":tjump" instead of ":tag".
in Vi} in Vi}
*:lt* *:ltag* *:lt* *:ltag*
:lt[ag][!] [ident] Jump to tag [ident] and add the matching tags to a new :lt[ag][!] [name] Jump to tag [name] and add the matching tags to a new
location list for the current window. [ident] can be location list for the current window. [name] can be
a regexp pattern, see |tag-regexp|. When [ident] is a regexp pattern, see |tag-regexp|. When [name] is
not given, the last tag name from the tag stack is not given, the last tag name from the tag stack is
used. The search pattern to locate the tag line is used. The search pattern to locate the tag line is
prefixed with "\V" to escape all the special prefixed with "\V" to escape all the special
@ -311,12 +311,12 @@ the same as above, with a "p" prepended.
{not available when compiled without the |+quickfix| feature} {not available when compiled without the |+quickfix| feature}
*:pts* *:ptselect* *: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. "Preview" window. See |:ptag| for more info.
{not in Vi} {not in Vi}
*:ptj* *:ptjump* *: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. "Preview" window. See |:ptag| for more info.
{not in Vi} {not in Vi}

View File

@ -1,4 +1,4 @@
*terminal.txt* For Vim version 8.0. Last change: 2018 Apr 20 *terminal.txt* For Vim version 8.0. Last change: 2018 May 04
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -466,6 +466,8 @@ Currently supported commands:
Let Vim open a file, like the `:drop` command. If {filename} Let Vim open a file, like the `:drop` command. If {filename}
is already open in a window, switch to that window. Otherwise is already open in a window, switch to that window. Otherwise
open a new window to edit {filename}. open a new window to edit {filename}.
Note that both the job and Vim may change the current
directory, thus it's best to use the full path.
[options] is only used when opening a new window. If present, [options] is only used when opening a new window. If present,
it must be a Dict. Similarly to |++opt|, These entries are recognized: it must be a Dict. Similarly to |++opt|, These entries are recognized:

View File

@ -1,4 +1,4 @@
*todo.txt* For Vim version 8.0. Last change: 2018 Apr 30 *todo.txt* For Vim version 8.0. Last change: 2018 May 05
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -40,6 +40,10 @@ Terminal emulator window:
Problem with sudo. #2758 Problem with sudo. #2758
Looks like an error for inserting register makes ":file other" not work.
(Tom M, 2018 Mar 28) Reset did_emsg after inserting a register.
Or at the top of the loop? (Apr 4)
Make assert_functions return non-zero on failure. Make sure they add one Make assert_functions return non-zero on failure. Make sure they add one
entry to v:errors then. entry to v:errors then.
Use WaitForAssert() in tests: give error when failed. Use WaitForAssert() in tests: give error when failed.
@ -52,23 +56,19 @@ Also see #2352, want better control over balloon, perhaps set the position.
Errors found with random data: Errors found with random data:
heap-buffer-overflow in alist_add (#2472) heap-buffer-overflow in alist_add (#2472)
Patch to shorten filenames in quickfix window. (Yegappan, 2018 Apr 28, #2851,
closes #2846)
More warnings from static analysis: More warnings from static analysis:
https://lgtm.com/projects/g/vim/vim/alerts/?mode=list https://lgtm.com/projects/g/vim/vim/alerts/?mode=list
Looks like an error for inserting register makes ":file other" not work.
(Tom M, 2018 Mar 28) Reset did_emsg after inserting a register.
Or at the top of the loop? (Apr 4)
Patch to add "module" to quickfix entries. (Marcin Szamotulski, Coot, 2017 Jun
8, #1757) Now part of #2322. Or #2327? #1757 was re-opened, include that
first.
When opening foo/x.txt and bar/x.txt get swap file warning. Should check the When opening foo/x.txt and bar/x.txt get swap file warning. Should check the
file name. (Juergen Weigert) file name. (Juergen Weigert)
Script generated by :mksession does not work well if there are windows with
modified buffers
change "silent only" into "silent only!"
change "edit fname" of first buffer to "hide edit fname"
skip "badd fname" if "fname" is already in the buffer list
remove remark about unloading buffers from documentation
Compiler warnings (geeknik, 2017 Oct 26): Compiler warnings (geeknik, 2017 Oct 26):
- signed integer overflow in do_sub() (#2249) - signed integer overflow in do_sub() (#2249)
- signed integer overflow in get_address() (#2248) - signed integer overflow in get_address() (#2248)
@ -87,9 +87,6 @@ or asyncmake:
Add a ModeChanged autocommand that has an argument indicating the old and new Add a ModeChanged autocommand that has an argument indicating the old and new
mode. Also used for switching Terminal mode. mode. Also used for switching Terminal mode.
Patch to shorten filenames in quickfix window. (Yegappan Lakshmanan, 2018
Apr 27)
Add an option with file patterns, to be used when unloading a buffer: If there Add an option with file patterns, to be used when unloading a buffer: If there
is a match, remove entries for the buffer from marks, jumplist, etc. To be is a match, remove entries for the buffer from marks, jumplist, etc. To be
used for git temp files. used for git temp files.
@ -99,9 +96,28 @@ Cursor in wrong position when line wraps. (#2540)
Add an option similar to 'lazyredraw' to skip redrawing while executing a Add an option similar to 'lazyredraw' to skip redrawing while executing a
script or function. script or function.
Alternative manpager.vim. (Enno, 2018 Jan 5, #2529) MS-Windows: write may fail if another program is reading the file.
If 'readonly' is not set but the file appears to be readonly later, try again
(wait a little while).
CreateFile() returns ERROR_SHARING_VIOLATION (Linwei, 2018 May 5)
Patch to add more flags to :ls. (Marcin Szamotulski, #2751) Should add a test for every command line argument. Check coverage for what is
missing: --nofork, -A , -b, -h, etc.
Improve the installer for MS-Windows. There are a few alternatives:
- Add silent install option. (Shane Lee, #751)
- Installer from Cream (Steve Hall).
- Modern UI 2.0 for the Nsis installer. (Guopeng Wen)
https://github.com/gpwen/vim-installer-mui2
- make it possible to do a silent install, see
http://nsis.sourceforge.net/Docs/Chapter4.html#4.12
Version from Guopeng Wen does this.
- MSI installer: https://github.com/petrkle/vim-msi/
- The one on Issue 279.
Problem: they all work slightly different (e.g. don't install vimrun.exe).
How to test that it works well for all Vim users?
Alternative manpager.vim. (Enno, 2018 Jan 5, #2529)
Does setting 'cursorline' cause syntax highlighting to slow down? Perhaps is Does setting 'cursorline' cause syntax highlighting to slow down? Perhaps is
mess up the cache? (Mike Lee Williams, 2018 Jan 27, #2539) mess up the cache? (Mike Lee Williams, 2018 Jan 27, #2539)
@ -110,6 +126,8 @@ Also: 'foldtext' is evaluated too often. (Daniel Hahler, #2773)
When using :packadd files under "later" are not used, which is inconsistent When using :packadd files under "later" are not used, which is inconsistent
with packages under "start". (xtal8, #1994) with packages under "start". (xtal8, #1994)
Patch to support "xxd -ps". (Erik Auerswald, 2018 May 1)
Column number is wrong when using 'linebreak' and 'wrap'. (Keith Smiley, 2018 Column number is wrong when using 'linebreak' and 'wrap'. (Keith Smiley, 2018
Jan 15, #2555) Jan 15, #2555)
@ -117,8 +135,9 @@ Jan 15, #2555)
Check argument of systemlist(). (Pavlov) Check argument of systemlist(). (Pavlov)
Patch to support 256 colors in Windows console. (Nobuhiro Takasaki, 2018 Apr Can we make ":unlet $VAR" use unsetenv() to delete the env var?
25, #2821) What for systems that don't have unsetenv()? (Issue #1116)
Patch in #2855, (Yasuhiro Matsumoto)
Patch to add reg_executing() and reg_recording(). (Hirohito Higashi, #2745) Patch to add reg_executing() and reg_recording(). (Hirohito Higashi, #2745)
@ -1216,9 +1235,6 @@ Idea: For a window in the middle (has window above and below it), use
right-mouse-drag on the status line to move a window up/down without changing right-mouse-drag on the status line to move a window up/down without changing
its height? It's like dragging the status bar above it at the same time. its height? It's like dragging the status bar above it at the same time.
Can we make ":unlet $VAR" use unsetenv() to delete the env var?
What for systems that don't have unsetenv()? (Issue #1116)
Patch to add a :domodeline command. (Christian Brabandt, 2014 Oct 21) Patch to add a :domodeline command. (Christian Brabandt, 2014 Oct 21)
This does not give an error: (Andre Sihera, 2014 Mar 21) This does not give an error: (Andre Sihera, 2014 Mar 21)
@ -1383,19 +1399,6 @@ optional. (2013 Jul 12)
Dialog is too big on Linux too. (David Fishburn, 2013 Sep 2) Dialog is too big on Linux too. (David Fishburn, 2013 Sep 2)
Improve the installer for MS-Windows. There are a few alternatives:
- Add silent install option. (Shane Lee, #751)
- Installer from Cream (Steve Hall).
- Modern UI 2.0 for the Nsis installer. (Guopeng Wen)
https://github.com/gpwen/vim-installer-mui2
- make it possible to do a silent install, see
http://nsis.sourceforge.net/Docs/Chapter4.html#4.12
Version from Guopeng Wen does this.
- MSI installer: https://github.com/petrkle/vim-msi/
- The one on Issue 279.
Problem: they all work slightly different (e.g. don't install vimrun.exe).
How to test that it works well for all Vim users?
Patch to make fold updates much faster. (Christian Brabandt, 2012 Dec) Patch to make fold updates much faster. (Christian Brabandt, 2012 Dec)
- Add regex for 'paragraphs' and 'sections': 'parare' and 'sectre'. Combine - Add regex for 'paragraphs' and 'sections': 'parare' and 'sectre'. Combine

View File

@ -1,7 +1,7 @@
" Vim support file to detect file types " Vim support file to detect file types
" "
" Maintainer: Bram Moolenaar <Bram@vim.org> " Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2018 Jan 28 " Last Change: 2018 May 04
" Listen very carefully, I will say this only once " Listen very carefully, I will say this only once
if exists("did_load_filetypes") if exists("did_load_filetypes")
@ -429,6 +429,13 @@ au BufNewFile,BufRead control
\| setf debcontrol \| setf debcontrol
\| endif \| endif
" Debian Copyright
au BufNewFile,BufRead */debian/copyright setf debcopyright
au BufNewFile,BufRead copyright
\ if getline(1) =~ '^Format:'
\| setf debcopyright
\| endif
" Debian Sources.list " Debian Sources.list
au BufNewFile,BufRead */etc/apt/sources.list setf debsources au BufNewFile,BufRead */etc/apt/sources.list setf debsources
au BufNewFile,BufRead */etc/apt/sources.list.d/*.list setf debsources au BufNewFile,BufRead */etc/apt/sources.list.d/*.list setf debsources

View File

@ -3,20 +3,20 @@
" Maintainer: Debian Vim Maintainers " Maintainer: Debian Vim Maintainers
" Former Maintainers: Michael Piefel <piefel@informatik.hu-berlin.de> " Former Maintainers: Michael Piefel <piefel@informatik.hu-berlin.de>
" Stefano Zacchiroli <zack@debian.org> " Stefano Zacchiroli <zack@debian.org>
" Last Change: 2018-01-06 " Last Change: 2018-01-28
" License: Vim License " License: Vim License
" URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/ftplugin/debchangelog.vim " URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/ftplugin/debchangelog.vim
" Bug completion requires apt-listbugs installed for Debian packages or " Bug completion requires apt-listbugs installed for Debian packages or
" python-launchpadlib installed for Ubuntu packages " python-launchpadlib installed for Ubuntu packages
if exists("b:did_ftplugin") if exists('b:did_ftplugin')
finish finish
endif endif
let b:did_ftplugin=1 let b:did_ftplugin=1
" {{{1 Local settings (do on every load) " {{{1 Local settings (do on every load)
if exists("g:debchangelog_fold_enable") if exists('g:debchangelog_fold_enable')
setlocal foldmethod=expr setlocal foldmethod=expr
setlocal foldexpr=DebGetChangelogFold(v:lnum) setlocal foldexpr=DebGetChangelogFold(v:lnum)
setlocal foldtext=DebChangelogFoldText() setlocal foldtext=DebChangelogFoldText()
@ -28,10 +28,10 @@ setlocal tw=78
setlocal comments=f:* setlocal comments=f:*
" Clean unloading " Clean unloading
let b:undo_ftplugin = "setlocal tw< comments< foldmethod< foldexpr< foldtext<" let b:undo_ftplugin = 'setlocal tw< comments< foldmethod< foldexpr< foldtext<'
" }}}1 " }}}1
if exists("g:did_changelog_ftplugin") if exists('g:did_changelog_ftplugin')
finish finish
endif endif
@ -44,41 +44,41 @@ let g:did_changelog_ftplugin = 1
" Returns full name, either from $DEBFULLNAME or debianfullname. " Returns full name, either from $DEBFULLNAME or debianfullname.
" TODO Is there a way to determine name from anywhere else? " TODO Is there a way to determine name from anywhere else?
function <SID>FullName() function <SID>FullName()
if exists("$DEBFULLNAME") if exists('$DEBFULLNAME')
return $DEBFULLNAME return $DEBFULLNAME
elseif exists("g:debianfullname") elseif exists('g:debianfullname')
return g:debianfullname return g:debianfullname
else else
return "Your Name" return 'Your Name'
endif endif
endfunction endfunction
" Returns email address, from $DEBEMAIL, $EMAIL or debianemail. " Returns email address, from $DEBEMAIL, $EMAIL or debianemail.
function <SID>Email() function <SID>Email()
if exists("$DEBEMAIL") if exists('$DEBEMAIL')
return $DEBEMAIL return $DEBEMAIL
elseif exists("$EMAIL") elseif exists('$EMAIL')
return $EMAIL return $EMAIL
elseif exists("g:debianemail") elseif exists('g:debianemail')
return g:debianemail return g:debianemail
else else
return "your@email.address" return 'your@email.address'
endif endif
endfunction endfunction
" Returns date in RFC822 format. " Returns date in RFC822 format.
function <SID>Date() function <SID>Date()
let savelang = v:lc_time let savelang = v:lc_time
execute "language time C" execute 'language time C'
let dateandtime = strftime("%a, %d %b %Y %X %z") let dateandtime = strftime('%a, %d %b %Y %X %z')
execute "language time " . savelang execute 'language time ' . savelang
return dateandtime return dateandtime
endfunction endfunction
function <SID>WarnIfNotUnfinalised() function <SID>WarnIfNotUnfinalised()
if match(getline("."), " -- [[:alpha:]][[:alnum:].]")!=-1 if match(getline('.'), ' -- [[:alpha:]][[:alnum:].]')!=-1
echohl WarningMsg echohl WarningMsg
echo "The entry has not been unfinalised before editing." echo 'The entry has not been unfinalised before editing.'
echohl None echohl None
return 1 return 1
endif endif
@ -86,10 +86,10 @@ function <SID>WarnIfNotUnfinalised()
endfunction endfunction
function <SID>Finalised() function <SID>Finalised()
let savelinenum = line(".") let savelinenum = line('.')
normal 1G 1
call search("^ -- ") call search('^ -- ')
if match(getline("."), " -- [[:alpha:]][[:alnum:].]")!=-1 if match(getline('.'), ' -- [[:alpha:]][[:alnum:].]')!=-1
let returnvalue = 1 let returnvalue = 1
else else
let returnvalue = 0 let returnvalue = 0
@ -109,54 +109,54 @@ function NewVersion()
amenu disable Changelog.Unfinalise amenu disable Changelog.Unfinalise
amenu enable Changelog.Finalise amenu enable Changelog.Finalise
call append(0, substitute(getline(1), '-\([[:digit:]]\+\))', '-$$\1)', '')) call append(0, substitute(getline(1), '-\([[:digit:]]\+\))', '-$$\1)', ''))
call append(1, "") call append(1, '')
call append(2, "") call append(2, '')
call append(3, " -- ") call append(3, ' -- ')
call append(4, "") call append(4, '')
call Urgency("low") call Urgency('low')
normal 1G0 normal! 1G0
call search(")") call search(')')
normal h normal! h
normal  normal! 
call setline(1, substitute(getline(1), '-\$\$', '-', '')) call setline(1, substitute(getline(1), '-\$\$', '-', ''))
if exists("g:debchangelog_fold_enable") if exists('g:debchangelog_fold_enable')
foldopen foldopen
endif endif
call AddEntry() call AddEntry()
endfunction endfunction
function AddEntry() function AddEntry()
normal 1G 1
call search("^ -- ") call search('^ -- ')
normal kk .-2
call append(".", " * ") call append('.', ' * ')
normal jjj .+3
let warn=<SID>WarnIfNotUnfinalised() let warn=<SID>WarnIfNotUnfinalised()
normal kk .-2
if warn if warn
echohl MoreMsg echohl MoreMsg
call input("Hit ENTER") call input('Hit ENTER')
echohl None echohl None
endif endif
startinsert! startinsert!
endfunction endfunction
function CloseBug() function CloseBug()
normal 1G 1
call search("^ -- ") call search('^ -- ')
let warn=<SID>WarnIfNotUnfinalised() let warn=<SID>WarnIfNotUnfinalised()
normal kk .-2
call append(".", " * (closes: #" . input("Bug number to close: ") . ")") call append('.', ' * (closes: #' . input('Bug number to close: ') . ')')
normal j^ll normal! j^ll
startinsert startinsert
endfunction endfunction
function Distribution(dist) function Distribution(dist)
call setline(1, substitute(getline(1), ') *\%(UNRELEASED\|\l\+\);', ") " . a:dist . ";", "")) call setline(1, substitute(getline(1), ') *\%(UNRELEASED\|\l\+\);', ') ' . a:dist . ';', ''))
endfunction endfunction
function Urgency(urg) function Urgency(urg)
call setline(1, substitute(getline(1), "urgency=.*$", "urgency=" . a:urg, "")) call setline(1, substitute(getline(1), 'urgency=.*$', 'urgency=' . a:urg, ''))
endfunction endfunction
function <SID>UnfinaliseMenu() function <SID>UnfinaliseMenu()
@ -172,9 +172,9 @@ endfunction
function Unfinalise() function Unfinalise()
call <SID>UnfinaliseMenu() call <SID>UnfinaliseMenu()
normal 1G 1
call search("^ -- ") call search('^ -- ')
call setline(".", " -- ") call setline('.', ' -- ')
endfunction endfunction
function <SID>FinaliseMenu() function <SID>FinaliseMenu()
@ -190,9 +190,9 @@ endfunction
function Finalise() function Finalise()
call <SID>FinaliseMenu() call <SID>FinaliseMenu()
normal 1G 1
call search("^ -- ") call search('^ -- ')
call setline(".", " -- " . <SID>FullName() . " <" . <SID>Email() . "> " . <SID>Date()) call setline('.', ' -- ' . <SID>FullName() . ' <' . <SID>Email() . '> ' . <SID>Date())
endfunction endfunction
@ -239,7 +239,7 @@ function! s:getAuthor(zonestart, zoneend)
let linepos = a:zoneend let linepos = a:zoneend
while linepos >= a:zonestart while linepos >= a:zonestart
let line = getline(linepos) let line = getline(linepos)
if line =~ '^ --' if line =~# '^ --'
return substitute(line, '^ --\s*\([^<]\+\)\s*.*', '\1', '') return substitute(line, '^ --\s*\([^<]\+\)\s*.*', '\1', '')
endif endif
let linepos -= 1 let linepos -= 1
@ -254,7 +254,7 @@ function! DebGetPkgSrcName(lineno)
let pkgname = '' let pkgname = ''
while lineidx > 0 while lineidx > 0
let curline = getline(lineidx) let curline = getline(lineidx)
if curline =~ '^\S' if curline =~# '^\S'
let pkgname = matchlist(curline, '^\(\S\+\).*$')[1] let pkgname = matchlist(curline, '^\(\S\+\).*$')[1]
break break
endif endif
@ -264,7 +264,7 @@ function! DebGetPkgSrcName(lineno)
endfunction endfunction
function! DebChangelogFoldText() function! DebChangelogFoldText()
if v:folddashes == '-' " changelog entry fold if v:folddashes ==# '-' " changelog entry fold
return foldtext() . ' -- ' . s:getAuthor(v:foldstart, v:foldend) . ' ' return foldtext() . ' -- ' . s:getAuthor(v:foldstart, v:foldend) . ' '
endif endif
return foldtext() return foldtext()
@ -272,19 +272,19 @@ endfunction
function! DebGetChangelogFold(lnum) function! DebGetChangelogFold(lnum)
let line = getline(a:lnum) let line = getline(a:lnum)
if line =~ '^\w\+' if line =~# '^\w\+'
return '>1' " beginning of a changelog entry return '>1' " beginning of a changelog entry
endif endif
if line =~ '^\s\+\[.*\]' if line =~# '^\s\+\[.*\]'
return '>2' " beginning of an author-specific chunk return '>2' " beginning of an author-specific chunk
endif endif
if line =~ '^ --' if line =~# '^ --'
return '1' return '1'
endif endif
return '=' return '='
endfunction 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) silent! foldopen! " unfold the entry the cursor is on (usually the first one)
endif endif
@ -305,13 +305,13 @@ fun! DebCompleteBugs(findstart, base)
let try_colidx = col('.') - 1 let try_colidx = col('.') - 1
let colidx = -1 " default to no-completion-possible 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 let try_colidx = try_colidx - 1
if line[try_colidx] == '#' && colidx == -1 if line[try_colidx] ==# '#' && colidx == -1
" found hash, where we complete from: " found hash, where we complete from:
let colidx = try_colidx let colidx = try_colidx
elseif line[try_colidx] == ':' elseif line[try_colidx] ==# ':'
if try_colidx > 1 && strpart(line, try_colidx - 2, 3) =~ '\clp:' if try_colidx > 1 && strpart(line, try_colidx - 2, 3) =~? '\clp:'
let g:debchangelog_complete_mode = 'lp' let g:debchangelog_complete_mode = 'lp'
endif endif
break break
@ -320,7 +320,7 @@ fun! DebCompleteBugs(findstart, base)
return colidx return colidx
else " return matches: else " return matches:
let bug_lines = [] let bug_lines = []
if g:debchangelog_complete_mode == 'lp' if g:debchangelog_complete_mode ==? 'lp'
if ! has('python') if ! has('python')
echoerr 'vim must be built with Python support to use LP bug completion' echoerr 'vim must be built with Python support to use LP bug completion'
return return
@ -363,7 +363,7 @@ EOF
for line in bug_lines for line in bug_lines
let parts = matchlist(line, '^\s*\(#\S\+\)\s*-\s*\(.*\)$') let parts = matchlist(line, '^\s*\(#\S\+\)\s*-\s*\(.*\)$')
" filter only those which match a:base: " filter only those which match a:base:
if parts[1] !~ "^" . a:base if parts[1] !~ '^' . a:base
continue continue
endif endif
let completion = {} let completion = {}

View File

@ -2,17 +2,17 @@
" Language: Debian control files " Language: Debian control files
" Maintainer: Debian Vim Maintainers " Maintainer: Debian Vim Maintainers
" Former Maintainer: Pierre Habouzit <madcoder@debian.org> " 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 " URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/ftplugin/debcontrol.vim
" Do these settings once per buffer " Do these settings once per buffer
if exists("b:did_ftplugin") if exists('b:did_ftplugin')
finish finish
endif endif
let b:did_ftplugin=1 let b:did_ftplugin=1
" {{{1 Local settings (do on every load) " {{{1 Local settings (do on every load)
if exists("g:debcontrol_fold_enable") if exists('g:debcontrol_fold_enable')
setlocal foldmethod=expr setlocal foldmethod=expr
setlocal foldexpr=DebControlFold(v:lnum) setlocal foldexpr=DebControlFold(v:lnum)
setlocal foldtext=DebControlFoldText() setlocal foldtext=DebControlFoldText()
@ -20,7 +20,7 @@ endif
setlocal textwidth=0 setlocal textwidth=0
" Clean unloading " Clean unloading
let b:undo_ftplugin = "setlocal tw< foldmethod< foldexpr< foldtext<" let b:undo_ftplugin = 'setlocal tw< foldmethod< foldexpr< foldtext<'
" }}}1 " }}}1
@ -32,7 +32,7 @@ function! s:getField(f, lnum)
while line !~ '^'.a:f.':' while line !~ '^'.a:f.':'
let fwdsteps += 1 let fwdsteps += 1
let line = getline(a:lnum + fwdsteps) let line = getline(a:lnum + fwdsteps)
if line == '' if line ==# ''
return 'unknown' return 'unknown'
endif endif
endwhile endwhile
@ -40,9 +40,9 @@ function! s:getField(f, lnum)
endfunction endfunction
function! DebControlFoldText() function! DebControlFoldText()
if v:folddashes == '-' " debcontrol entry fold if v:folddashes ==# '-' " debcontrol entry fold
let type = substitute(getline(v:foldstart), ':.*', '', '') let type = substitute(getline(v:foldstart), ':.*', '', '')
if type == 'Source' if type ==# 'Source'
let ftext = substitute(foldtext(), ' *Source: *', ' ', '') let ftext = substitute(foldtext(), ' *Source: *', ' ', '')
return ftext . ' -- ' . s:getField('Maintainer', v:foldstart) . ' ' return ftext . ' -- ' . s:getField('Maintainer', v:foldstart) . ' '
endif endif
@ -56,11 +56,11 @@ endfunction
function! DebControlFold(l) function! DebControlFold(l)
" This is for not merging blank lines around folds to them " This is for not merging blank lines around folds to them
if getline(a:l) =~ '^Source:' if getline(a:l) =~# '^Source:'
return '>1' return '>1'
endif endif
if getline(a:l) =~ '^Package:' if getline(a:l) =~# '^Package:'
return '>1' return '>1'
endif endif

View File

@ -1,7 +1,7 @@
" Vim filetype plugin file " Vim filetype plugin file
" Language: man " Language: man
" Maintainer: SungHyun Nam <goweol@gmail.com> " Maintainer: SungHyun Nam <goweol@gmail.com>
" Last Change: 2018 Jan 15 " Last Change: 2018 May 2
" To make the ":Man" command available before editing a manual page, source " To make the ":Man" command available before editing a manual page, source
" this script from your startup vimrc file. " this script from your startup vimrc file.
@ -164,7 +164,7 @@ func <SID>GetPage(...)
setl buftype=nofile noswapfile setl buftype=nofile noswapfile
setl ma nonu nornu nofen setl ma nonu nornu nofen
silent exec "norm 1GdG" silent exec "norm! 1GdG"
let unsetwidth = 0 let unsetwidth = 0
if empty($MANWIDTH) if empty($MANWIDTH)
let $MANWIDTH = winwidth(0) let $MANWIDTH = winwidth(0)
@ -188,10 +188,10 @@ func <SID>GetPage(...)
endif endif
" Remove blank lines from top and bottom. " Remove blank lines from top and bottom.
while getline(1) =~ '^\s*$' while getline(1) =~ '^\s*$'
silent keepj norm ggdd silent keepj norm! ggdd
endwhile endwhile
while getline('$') =~ '^\s*$' while getline('$') =~ '^\s*$'
silent keepj norm Gdd silent keepj norm! Gdd
endwhile endwhile
1 1
setl ft=man nomod setl ft=man nomod
@ -208,7 +208,7 @@ func <SID>PopPage()
exec "let s:man_tag_col=s:man_tag_col_".s:man_tag_depth exec "let s:man_tag_col=s:man_tag_col_".s:man_tag_depth
exec s:man_tag_buf."b" exec s:man_tag_buf."b"
exec s:man_tag_lin exec s:man_tag_lin
exec "norm ".s:man_tag_col."|" exec "norm! ".s:man_tag_col."|"
exec "unlet s:man_tag_buf_".s:man_tag_depth exec "unlet s:man_tag_buf_".s:man_tag_depth
exec "unlet s:man_tag_lin_".s:man_tag_depth exec "unlet s:man_tag_lin_".s:man_tag_depth
exec "unlet s:man_tag_col_".s:man_tag_depth exec "unlet s:man_tag_col_".s:man_tag_depth

View File

@ -1,7 +1,7 @@
" These commands create the option window. " These commands create the option window.
" "
" Maintainer: Bram Moolenaar <Bram@vim.org> " Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2018 Feb 27 " Last Change: 2018 Apr 18
" If there already is an option window, jump to that one. " If there already is an option window, jump to that one.
let buf = bufnr('option-window') let buf = bufnr('option-window')

View File

@ -1,10 +1,12 @@
" Vim syntax file " Vim syntax file
" Language: C# " Language: C#
" Maintainer: Anduin Withers <awithers@anduin.com> " Maintainer: Nick Jensen <nickspoon@gmail.com>
" Former Maintainer: Anduin Withers <awithers@anduin.com>
" Former Maintainer: Johannes Zellner <johannes@zellner.org> " Former Maintainer: Johannes Zellner <johannes@zellner.org>
" Last Change: Fri Aug 14 13:56:37 PDT 2009 " Last Change: 2018-05-02
" Filenames: *.cs " Filenames: *.cs
" $Id: cs.vim,v 1.4 2006/05/03 21:20:02 vimboss Exp $ " License: Vim (see :h license)
" Repository: https://github.com/nickspoons/vim-cs
" "
" REFERENCES: " REFERENCES:
" [1] ECMA TC39: C# Language Specification (WD13Oct01.doc) " [1] ECMA TC39: C# Language Specification (WD13Oct01.doc)
@ -17,11 +19,8 @@ let s:cs_cpo_save = &cpo
set cpo&vim set cpo&vim
" type syn keyword csType bool byte char decimal double float int long object sbyte short string T uint ulong ushort var void dynamic
syn keyword csType bool byte char decimal double float int long object sbyte short string uint ulong ushort void syn keyword csStorage delegate enum interface namespace struct
" storage
syn keyword csStorage class delegate enum interface namespace struct
" repeat / condition / label
syn keyword csRepeat break continue do for foreach goto return while syn keyword csRepeat break continue do for foreach goto return while
syn keyword csConditional else if switch syn keyword csConditional else if switch
syn keyword csLabel case default syn keyword csLabel case default
@ -29,21 +28,16 @@ syn keyword csLabel case default
syn match csOperatorError display +::+ syn match csOperatorError display +::+
" user labels (see [1] 8.6 Statements) " user labels (see [1] 8.6 Statements)
syn match csLabel display +^\s*\I\i*\s*:\([^:]\)\@=+ 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 syn keyword csModifier abstract const extern internal override private protected public readonly sealed static virtual volatile
" constant
syn keyword csConstant false null true syn keyword csConstant false null true
" exception syn keyword csException try catch finally throw when
syn keyword csException try catch finally throw 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 get in is lock nameof operator out params ref set sizeof stackalloc this typeof unchecked unsafe using
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 csUnsupportedStatement add remove value syn keyword csUnsupportedStatement add remove value
" TODO:
syn keyword csUnspecifiedKeyword explicit implicit syn keyword csUnspecifiedKeyword explicit implicit
" Contextual Keywords " Contextual Keywords
syn match csContextualStatement /\<yield[[:space:]\n]\+\(return\|break\)/me=s+5 syn match csContextualStatement /\<yield[[:space:]\n]\+\(return\|break\)/me=s+5
syn match csContextualStatement /\<partial[[:space:]\n]\+\(class\|struct\|interface\)/me=s+7 syn match csContextualStatement /\<partial[[:space:]\n]\+\(class\|struct\|interface\)/me=s+7
@ -56,7 +50,7 @@ syn match csContextualStatement /\<where\>[^:]\+:/me=s+5
" "
" TODO: include strings ? " 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 region csComment start="/\*" end="\*/" contains=@csCommentHook,csTodo,@Spell
syn match csComment "//.*$" contains=@csCommentHook,csTodo,@Spell syn match csComment "//.*$" contains=@csCommentHook,csTodo,@Spell
@ -89,8 +83,15 @@ syn region csPreCondit
\ skip="\\$" end="$" contains=csComment keepend \ skip="\\$" end="$" contains=csComment keepend
syn region csRegion matchgroup=csPreCondit start="^\s*#\s*region.*$" syn region csRegion matchgroup=csPreCondit start="^\s*#\s*region.*$"
\ end="^\s*#\s*endregion" transparent fold contains=TOP \ 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 " Strings and constants
syn match csSpecialError contained "\\." syn match csSpecialError contained "\\."
@ -113,7 +114,11 @@ syn match csNumber "\<\d\+\([eE][-+]\=\d\+\)\=[fFdD]\>"
" The default highlighting. " The default highlighting.
hi def link csType Type 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 csStorage StorageClass
hi def link csClass StorageClass
hi def link csRepeat Repeat hi def link csRepeat Repeat
hi def link csConditional Conditional hi def link csConditional Conditional
hi def link csLabel Label hi def link csLabel Label
@ -123,8 +128,13 @@ hi def link csException Exception
hi def link csUnspecifiedStatement Statement hi def link csUnspecifiedStatement Statement
hi def link csUnsupportedStatement Statement hi def link csUnsupportedStatement Statement
hi def link csUnspecifiedKeyword Keyword 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 csContextualStatement Statement
hi def link csOperatorError Error hi def link csOperatorError Error
hi def link csInterfaceDeclaration Include
hi def link csTodo Todo hi def link csTodo Todo
hi def link csComment Comment hi def link csComment Comment

View File

@ -3,11 +3,11 @@
" Maintainer: Debian Vim Maintainers " Maintainer: Debian Vim Maintainers
" Former Maintainers: Gerfried Fuchs <alfie@ist.org> " Former Maintainers: Gerfried Fuchs <alfie@ist.org>
" Wichert Akkerman <wakkerma@debian.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 " URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/syntax/debchangelog.vim
" Standard syntax initialization " Standard syntax initialization
if exists("b:current_syntax") if exists('b:current_syntax')
finish finish
endif endif
@ -21,7 +21,7 @@ let s:binNMU='binary-only=yes'
syn match debchangelogName contained "^[[:alnum:]][[:alnum:].+-]\+ " syn match debchangelogName contained "^[[:alnum:]][[:alnum:].+-]\+ "
exe 'syn match debchangelogFirstKV contained "; \('.s:urgency.'\|'.s:binNMU.'\)"' exe 'syn match debchangelogFirstKV contained "; \('.s:urgency.'\|'.s:binNMU.'\)"'
exe 'syn match debchangelogOtherKV 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 debchangelogVersion contained "(.\{-})"
syn match debchangelogCloses contained "closes:\_s*\(bug\)\=#\=\_s\=\d\+\(,\_s*\(bug\)\=#\=\_s\=\d\+\)*" syn match debchangelogCloses contained "closes:\_s*\(bug\)\=#\=\_s\=\d\+\(,\_s*\(bug\)\=#\=\_s\=\d\+\)*"
syn match debchangelogLP contained "\clp:\s\+#\d\+\(,\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 debchangelogTarget Identifier
hi def link debchangelogEmail Special hi def link debchangelogEmail Special
let b:current_syntax = "debchangelog" let b:current_syntax = 'debchangelog'
" vim: ts=8 sw=2 " vim: ts=8 sw=2

View File

@ -3,11 +3,11 @@
" Maintainer: Debian Vim Maintainers " Maintainer: Debian Vim Maintainers
" Former Maintainers: Gerfried Fuchs <alfie@ist.org> " Former Maintainers: Gerfried Fuchs <alfie@ist.org>
" Wichert Akkerman <wakkerma@debian.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 " URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/syntax/debcontrol.vim
" Standard syntax initialization " Standard syntax initialization
if exists("b:current_syntax") if exists('b:current_syntax')
finish finish
endif endif
@ -135,7 +135,7 @@ hi def link debcontrolR3 Identifier
hi def link debcontrolComment Comment hi def link debcontrolComment Comment
hi def link debcontrolElse Special hi def link debcontrolElse Special
let b:current_syntax = "debcontrol" let b:current_syntax = 'debcontrol'
let &cpo = s:cpo_save let &cpo = s:cpo_save
unlet s:cpo_save unlet s:cpo_save

View File

@ -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

View File

@ -2,11 +2,11 @@
" Language: Debian sources.list " Language: Debian sources.list
" Maintainer: Debian Vim Maintainers " Maintainer: Debian Vim Maintainers
" Former Maintainer: Matthijs Mohlmann <matthijs@cacholong.nl> " 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 " URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/syntax/debsources.vim
" Standard syntax initialization " Standard syntax initialization
if exists("b:current_syntax") if exists('b:current_syntax')
finish finish
endif endif
@ -25,7 +25,7 @@ let s:supported = [
\ 'oldstable', 'stable', 'testing', 'unstable', 'experimental', \ 'oldstable', 'stable', 'testing', 'unstable', 'experimental',
\ 'wheezy', 'jessie', 'stretch', 'sid', 'rc-buggy', \ 'wheezy', 'jessie', 'stretch', 'sid', 'rc-buggy',
\ \
\ 'trusty', 'xenial', 'zesty', 'artful', 'bionic', 'devel' \ 'trusty', 'xenial', 'artful', 'bionic', 'cosmic', 'devel'
\ ] \ ]
let s:unsupported = [ let s:unsupported = [
\ 'buzz', 'rex', 'bo', 'hamm', 'slink', 'potato', \ 'buzz', 'rex', 'bo', 'hamm', 'slink', 'potato',
@ -34,12 +34,12 @@ let s:unsupported = [
\ 'warty', 'hoary', 'breezy', 'dapper', 'edgy', 'feisty', \ 'warty', 'hoary', 'breezy', 'dapper', 'edgy', 'feisty',
\ 'gutsy', 'hardy', 'intrepid', 'jaunty', 'karmic', 'lucid', \ 'gutsy', 'hardy', 'intrepid', 'jaunty', 'karmic', 'lucid',
\ 'maverick', 'natty', 'oneiric', 'precise', 'quantal', 'raring', 'saucy', \ 'maverick', 'natty', 'oneiric', 'precise', 'quantal', 'raring', 'saucy',
\ 'utopic', 'vivid', 'wily', 'yakkety' \ 'utopic', 'vivid', 'wily', 'yakkety', 'zesty'
\ ] \ ]
let &cpo=s:cpo let &cpo=s:cpo
" Match uri's " 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 debsourcesDistrKeyword +\([[:alnum:]_./]*\)\<\('. join(s:supported, '\|'). '\)\>\([-[:alnum:]_./]*\)+'
exe 'syn match debsourcesUnsupportedDistrKeyword +\([[:alnum:]_./]*\)\<\('. join(s:unsupported, '\|') .'\)\>\([-[: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 debsourcesComment Comment
hi def link debsourcesUri Constant hi def link debsourcesUri Constant
let b:current_syntax = "debsources" let b:current_syntax = 'debsources'

View File

@ -3,7 +3,7 @@
" Maintainer: Daniel Kho <daniel.kho@tauhop.com> " Maintainer: Daniel Kho <daniel.kho@tauhop.com>
" Previous Maintainer: Czo <Olivier.Sirol@lip6.fr> " Previous Maintainer: Czo <Olivier.Sirol@lip6.fr>
" Credits: Stephan Hegel <stephan.hegel@snc.siemens.com.cn> " 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 " quit when a syntax file was already loaded
if exists("b:current_syntax") if exists("b:current_syntax")
@ -43,6 +43,8 @@ syn keyword vhdlStatement sequence strong
syn keyword vhdlStatement then to transport type syn keyword vhdlStatement then to transport type
syn keyword vhdlStatement unaffected units until use syn keyword vhdlStatement unaffected units until use
syn keyword vhdlStatement variable syn keyword vhdlStatement variable
" VHDL-2017 interface
syn keyword vhdlStatement view
syn keyword vhdlStatement vmode vprop vunit syn keyword vhdlStatement vmode vprop vunit
syn keyword vhdlStatement wait when while with syn keyword vhdlStatement wait when while with
syn keyword vhdlStatement note warning error failure syn keyword vhdlStatement note warning error failure
@ -69,9 +71,7 @@ syn match vhdlType "\<time_vector\>\'\="
syn match vhdlType "\<character\>\'\=" syn match vhdlType "\<character\>\'\="
syn match vhdlType "\<string\>\'\=" syn match vhdlType "\<string\>\'\="
"syn keyword vhdlType severity_level syn keyword vhdlType line text side width
syn keyword vhdlType line
syn keyword vhdlType text
" Predefined standard IEEE VHDL types " Predefined standard IEEE VHDL types
syn match vhdlType "\<std_ulogic\>\'\=" syn match vhdlType "\<std_ulogic\>\'\="
@ -124,6 +124,8 @@ syn match vhdlAttribute "\'succ"
syn match vhdlAttribute "\'val" syn match vhdlAttribute "\'val"
syn match vhdlAttribute "\'image" syn match vhdlAttribute "\'image"
syn match vhdlAttribute "\'value" syn match vhdlAttribute "\'value"
" VHDL-2017 interface attribute
syn match vhdlAttribute "\'converse"
syn keyword vhdlBoolean true false syn keyword vhdlBoolean true false
@ -165,6 +167,9 @@ syn match vhdlOperator "=\|\/=\|>\|<\|>="
syn match vhdlOperator "<=\|:=" 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 " VHDL-2008 conversion, matching equality/non-equality operators
syn match vhdlOperator "??\|?=\|?\/=\|?<\|?<=\|?>\|?>=" syn match vhdlOperator "??\|?=\|?\/=\|?<\|?<=\|?>\|?>="
@ -183,8 +188,11 @@ syn match vhdlError "\(<\)[&+\-\/\\]\+"
syn match vhdlError "[>=&+\-\/\\]\+\(<\)" syn match vhdlError "[>=&+\-\/\\]\+\(<\)"
" Covers most operators " Covers most operators
" support negative sign after operators. E.g. q<=-b; " support negative sign after operators. E.g. q<=-b;
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 "\(?<\|?>\)[<>&+\*\/\\?:]\+" syn match vhdlError "\(?<\|?>\)[<>&+\*\/\\?:]\+"
syn match vhdlError "\(<<\|>>\)[<>&+\*\/\\?:]\+" syn match vhdlError "\(<<\|>>\)[<>&+\*\/\\?:]\+"

View File

@ -1,3 +1,13 @@
READ THIS FIRST
===============
ccfilter is a C program to filter the output of a few compilers to a common
QuickFix format. It is provided with Vim to make quickfix useful for more
compilers.
ccfilter WILL FAIL with long lines (more than 2047 bytes).
COMPILING AND INSTALLING: COMPILING AND INSTALLING:
========================= =========================