mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
vim-patch:2f0936cb9a2e (#17007)
* vim-patch:2f0936cb9a2e
Update runtime files
2f0936cb9a
This commit is contained in:
parent
25eb7692d8
commit
e866da12ee
@ -697,7 +697,8 @@ Line numbers may be specified with: *:range* *{address}*
|
|||||||
|
|
||||||
Each may be followed (several times) by '+' or '-' and an optional number.
|
Each may be followed (several times) by '+' or '-' and an optional number.
|
||||||
This number is added or subtracted from the preceding line number. If the
|
This number is added or subtracted from the preceding line number. If the
|
||||||
number is omitted, 1 is used.
|
number is omitted, 1 is used. If there is nothing before the '+' or '-' then
|
||||||
|
the current line is used.
|
||||||
|
|
||||||
The "/" and "?" after {pattern} are required to separate the pattern from
|
The "/" and "?" after {pattern} are required to separate the pattern from
|
||||||
anything that follows.
|
anything that follows.
|
||||||
@ -727,7 +728,7 @@ Some commands allow for a count after the command. This count is used as the
|
|||||||
number of lines to be used, starting with the line given in the last line
|
number of lines to be used, starting with the line given in the last line
|
||||||
specifier (the default is the cursor line). The commands that accept a count
|
specifier (the default is the cursor line). The commands that accept a count
|
||||||
are the ones that use a range but do not have a file name argument (because
|
are the ones that use a range but do not have a file name argument (because
|
||||||
a file name can also be a number).
|
a file name can also be a number). The count cannot be negative.
|
||||||
|
|
||||||
Examples: >
|
Examples: >
|
||||||
:s/x/X/g 5 substitute 'x' by 'X' in the current line and four
|
:s/x/X/g 5 substitute 'x' by 'X' in the current line and four
|
||||||
|
@ -111,7 +111,7 @@ When mixing Number and Float the Number is converted to Float. Otherwise
|
|||||||
there is no automatic conversion of Float. You can use str2float() for String
|
there is no automatic conversion of Float. You can use str2float() for String
|
||||||
to Float, printf() for Float to String and float2nr() for Float to Number.
|
to Float, printf() for Float to String and float2nr() for Float to Number.
|
||||||
|
|
||||||
*E891* *E892* *E893* *E894*
|
*E362* *E891* *E892* *E893* *E894* *E907*
|
||||||
When expecting a Float a Number can also be used, but nothing else.
|
When expecting a Float a Number can also be used, but nothing else.
|
||||||
|
|
||||||
*no-type-checking*
|
*no-type-checking*
|
||||||
@ -1195,6 +1195,7 @@ When expr8 is a |Funcref| type variable, invoke the function it refers to.
|
|||||||
expr8->name([args]) method call *method* *->*
|
expr8->name([args]) method call *method* *->*
|
||||||
expr8->{lambda}([args])
|
expr8->{lambda}([args])
|
||||||
|
|
||||||
|
*E260* *E276*
|
||||||
For methods that are also available as global functions this is the same as: >
|
For methods that are also available as global functions this is the same as: >
|
||||||
name(expr8 [, args])
|
name(expr8 [, args])
|
||||||
There can also be methods specifically for the type of "expr8".
|
There can also be methods specifically for the type of "expr8".
|
||||||
@ -4574,8 +4575,10 @@ funcref({name} [, {arglist}] [, {dict}])
|
|||||||
function {name} is redefined later.
|
function {name} is redefined later.
|
||||||
|
|
||||||
Unlike |function()|, {name} must be an existing user function.
|
Unlike |function()|, {name} must be an existing user function.
|
||||||
Also for autoloaded functions. {name} cannot be a builtin
|
It only works for an autoloaded function if it has already
|
||||||
function.
|
been loaded (to avoid mistakenly loading the autoload script
|
||||||
|
when only intending to use the function name, use |function()|
|
||||||
|
instead). {name} cannot be a builtin function.
|
||||||
|
|
||||||
Can also be used as a |method|: >
|
Can also be used as a |method|: >
|
||||||
GetFuncname()->funcref([arg])
|
GetFuncname()->funcref([arg])
|
||||||
@ -6892,7 +6895,7 @@ match({expr}, {pat} [, {start} [, {count}]]) *match()*
|
|||||||
GetText()->match('word')
|
GetText()->match('word')
|
||||||
GetList()->match('word')
|
GetList()->match('word')
|
||||||
<
|
<
|
||||||
*matchadd()* *E798* *E799* *E801* *E957*
|
*matchadd()* *E798* *E799* *E801* *E957*
|
||||||
matchadd({group}, {pattern}[, {priority}[, {id} [, {dict}]]])
|
matchadd({group}, {pattern}[, {priority}[, {id} [, {dict}]]])
|
||||||
Defines a pattern to be highlighted in the current window (a
|
Defines a pattern to be highlighted in the current window (a
|
||||||
"match"). It will be highlighted with {group}. Returns an
|
"match"). It will be highlighted with {group}. Returns an
|
||||||
@ -11063,7 +11066,7 @@ See |:verbose-cmd| for more information.
|
|||||||
command, use line breaks instead of |:bar|: >
|
command, use line breaks instead of |:bar|: >
|
||||||
:exe "func Foo()\necho 'foo'\nendfunc"
|
:exe "func Foo()\necho 'foo'\nendfunc"
|
||||||
<
|
<
|
||||||
*:delf* *:delfunction* *E130* *E131* *E933*
|
*:delf* *:delfunction* *E131* *E933*
|
||||||
:delf[unction][!] {name}
|
:delf[unction][!] {name}
|
||||||
Delete function {name}.
|
Delete function {name}.
|
||||||
{name} can also be a |Dictionary| entry that is a
|
{name} can also be a |Dictionary| entry that is a
|
||||||
@ -13153,7 +13156,7 @@ code can be used: >
|
|||||||
unlet scriptnames_output
|
unlet scriptnames_output
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
The sandbox *eval-sandbox* *sandbox* *E48*
|
The sandbox *eval-sandbox* *sandbox*
|
||||||
|
|
||||||
The 'foldexpr', 'formatexpr', 'includeexpr', 'indentexpr', 'statusline' and
|
The 'foldexpr', 'formatexpr', 'includeexpr', 'indentexpr', 'statusline' and
|
||||||
'foldtext' options may be evaluated in a sandbox. This means that you are
|
'foldtext' options may be evaluated in a sandbox. This means that you are
|
||||||
@ -13162,6 +13165,7 @@ safety for when these options are set from a modeline. It is also used when
|
|||||||
the command from a tags file is executed and for CTRL-R = in the command line.
|
the command from a tags file is executed and for CTRL-R = in the command line.
|
||||||
The sandbox is also used for the |:sandbox| command.
|
The sandbox is also used for the |:sandbox| command.
|
||||||
|
|
||||||
|
*E48*
|
||||||
These items are not allowed in the sandbox:
|
These items are not allowed in the sandbox:
|
||||||
- changing the buffer text
|
- changing the buffer text
|
||||||
- defining or changing mapping, autocommands, user commands
|
- defining or changing mapping, autocommands, user commands
|
||||||
|
@ -219,7 +219,7 @@ command: >
|
|||||||
<
|
<
|
||||||
|
|
||||||
*:helpt* *:helptags*
|
*:helpt* *:helptags*
|
||||||
*E154* *E150* *E151* *E152* *E153* *E670* *E856*
|
*E150* *E151* *E152* *E153* *E154* *E670* *E856*
|
||||||
:helpt[ags] [++t] {dir}
|
:helpt[ags] [++t] {dir}
|
||||||
Generate the help tags file(s) for directory {dir}.
|
Generate the help tags file(s) for directory {dir}.
|
||||||
When {dir} is ALL then all "doc" directories in
|
When {dir} is ALL then all "doc" directories in
|
||||||
|
@ -40,7 +40,7 @@ See |cscope-usage| to get started.
|
|||||||
==============================================================================
|
==============================================================================
|
||||||
Cscope commands *cscope-commands*
|
Cscope commands *cscope-commands*
|
||||||
|
|
||||||
*:cscope* *:cs* *:scs* *:scscope* *E259* *E262* *E561* *E560*
|
*:cscope* *:cs* *:scs* *:scscope* *E259* *E262* *E560* *E561*
|
||||||
All cscope commands are accessed through suboptions to the cscope commands.
|
All cscope commands are accessed through suboptions to the cscope commands.
|
||||||
`:cscope` or `:cs` is the main command
|
`:cscope` or `:cs` is the main command
|
||||||
`:scscope` or `:scs` does the same and splits the window
|
`:scscope` or `:scs` does the same and splits the window
|
||||||
|
@ -872,7 +872,7 @@ For example, with N = 1, this will give:
|
|||||||
*PHP_outdentphpescape*
|
*PHP_outdentphpescape*
|
||||||
To indent PHP escape tags as the surrounding non-PHP code (only affects the
|
To indent PHP escape tags as the surrounding non-PHP code (only affects the
|
||||||
PHP escape tags): >
|
PHP escape tags): >
|
||||||
:let g:PHP_outdentphpescape = 0
|
:let g:PHP_outdentphpescape = 0
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
*PHP_removeCRwhenUnix*
|
*PHP_removeCRwhenUnix*
|
||||||
@ -1199,7 +1199,7 @@ comments will be indented according to the correctly indented code.
|
|||||||
|
|
||||||
|
|
||||||
VIM *ft-vim-indent*
|
VIM *ft-vim-indent*
|
||||||
|
*g:vim_indent_cont*
|
||||||
For indenting Vim scripts there is one variable that specifies the amount of
|
For indenting Vim scripts there is one variable that specifies the amount of
|
||||||
indent for a continuation line, a line that starts with a backslash: >
|
indent for a continuation line, a line that starts with a backslash: >
|
||||||
|
|
||||||
|
@ -830,7 +830,7 @@ space is preferred). Maximum line length is 510 bytes.
|
|||||||
|
|
||||||
For an example, imagine the 'thesaurus' file has a line like this: >
|
For an example, imagine the 'thesaurus' file has a line like this: >
|
||||||
angry furious mad enraged
|
angry furious mad enraged
|
||||||
<Placing the cursor after the letters "ang" and typing CTRL-X CTRL-T would
|
Placing the cursor after the letters "ang" and typing CTRL-X CTRL-T would
|
||||||
complete the word "angry"; subsequent presses would change the word to
|
complete the word "angry"; subsequent presses would change the word to
|
||||||
"furious", "mad" etc.
|
"furious", "mad" etc.
|
||||||
|
|
||||||
@ -842,7 +842,7 @@ https://github.com/vim/vim/issues/629#issuecomment-443293282
|
|||||||
Unpack thesaurus_pkg.zip, put the thesaurus.txt file somewhere, e.g.
|
Unpack thesaurus_pkg.zip, put the thesaurus.txt file somewhere, e.g.
|
||||||
~/.vim/thesaurus/english.txt, and the 'thesaurus' option to this file name.
|
~/.vim/thesaurus/english.txt, and the 'thesaurus' option to this file name.
|
||||||
|
|
||||||
|
|
||||||
Completing keywords with 'thesaurusfunc' *compl-thesaurusfunc*
|
Completing keywords with 'thesaurusfunc' *compl-thesaurusfunc*
|
||||||
|
|
||||||
If the 'thesaurusfunc' option is set, then the user specified function is
|
If the 'thesaurusfunc' option is set, then the user specified function is
|
||||||
|
@ -82,8 +82,7 @@ modes.
|
|||||||
map command applies. The mapping may remain defined
|
map command applies. The mapping may remain defined
|
||||||
for other modes where it applies.
|
for other modes where it applies.
|
||||||
It also works when {lhs} matches the {rhs} of a
|
It also works when {lhs} matches the {rhs} of a
|
||||||
mapping. This is for when when an abbreviation
|
mapping. This is for when an abbreviation applied.
|
||||||
applied.
|
|
||||||
Note: Trailing spaces are included in the {lhs}. This
|
Note: Trailing spaces are included in the {lhs}. This
|
||||||
unmap does NOT work: >
|
unmap does NOT work: >
|
||||||
:map @@ foo
|
:map @@ foo
|
||||||
|
@ -489,8 +489,8 @@ Use the RPM or port for your system.
|
|||||||
window specific to the input method.
|
window specific to the input method.
|
||||||
|
|
||||||
|
|
||||||
USING XIM *multibyte-input* *E284* *E286* *E287* *E288*
|
USING XIM *multibyte-input* *E284* *E285* *E286* *E287*
|
||||||
*E285* *E289*
|
*E288* *E289*
|
||||||
|
|
||||||
Note that Display and Input are independent. It is possible to see your
|
Note that Display and Input are independent. It is possible to see your
|
||||||
language even though you have no input method for it. But when your Display
|
language even though you have no input method for it. But when your Display
|
||||||
|
@ -112,7 +112,8 @@ wiped out a buffer which contains a mark or is referenced in another way.
|
|||||||
*E95* >
|
*E95* >
|
||||||
Buffer with this name already exists
|
Buffer with this name already exists
|
||||||
|
|
||||||
You cannot have two buffers with the same name.
|
You cannot have two buffers with exactly the same name. This includes the
|
||||||
|
path leading to the file.
|
||||||
|
|
||||||
*E72* >
|
*E72* >
|
||||||
Close error on swap file
|
Close error on swap file
|
||||||
@ -513,10 +514,10 @@ If you type "gq", it will execute this mapping, which will call "gq" again.
|
|||||||
*E22* >
|
*E22* >
|
||||||
Scripts nested too deep
|
Scripts nested too deep
|
||||||
|
|
||||||
Scripts can be read with the "-s" command-line argument and with the ":source"
|
Scripts can be read with the "-s" command-line argument and with the
|
||||||
command. The script can then again read another script. This can continue
|
`:source!` command. The script can then again read another script. This can
|
||||||
for about 14 levels. When more nesting is done, Vim assumes that there is a
|
continue for about 14 levels. When more nesting is done, Vim assumes that
|
||||||
recursive loop somewhere and stops with this error message.
|
there is a recursive loop and stops with this error message.
|
||||||
|
|
||||||
*E300* >
|
*E300* >
|
||||||
Swap file already exists (symlink attack?)
|
Swap file already exists (symlink attack?)
|
||||||
@ -686,6 +687,7 @@ Ex command or function was given an invalid argument. Or |jobstart()| or
|
|||||||
Trailing characters
|
Trailing characters
|
||||||
|
|
||||||
An argument was given to an Ex command that does not permit one.
|
An argument was given to an Ex command that does not permit one.
|
||||||
|
Or the argument has invalid characters and has not been recognized.
|
||||||
|
|
||||||
*E477* *E478* >
|
*E477* *E478* >
|
||||||
No ! allowed
|
No ! allowed
|
||||||
|
@ -304,7 +304,7 @@ value to the local value, it doesn't switch back to using the global value
|
|||||||
This will make the local value of 'path' empty, so that the global value is
|
This will make the local value of 'path' empty, so that the global value is
|
||||||
used. Thus it does the same as: >
|
used. Thus it does the same as: >
|
||||||
:setlocal path=
|
:setlocal path=
|
||||||
Note: In the future more global options can be made global-local. Using
|
Note: In the future more global options can be made |global-local|. Using
|
||||||
":setlocal" on a global option might work differently then.
|
":setlocal" on a global option might work differently then.
|
||||||
|
|
||||||
|
|
||||||
@ -686,10 +686,10 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
Write the contents of the file, if it has been modified, on each
|
Write the contents of the file, if it has been modified, on each
|
||||||
`:next`, `:rewind`, `:last`, `:first`, `:previous`, `:stop`,
|
`:next`, `:rewind`, `:last`, `:first`, `:previous`, `:stop`,
|
||||||
`:suspend`, `:tag`, `:!`, `:make`, CTRL-] and CTRL-^ command; and when
|
`:suspend`, `:tag`, `:!`, `:make`, CTRL-] and CTRL-^ command; and when
|
||||||
a :buffer, CTRL-O, CTRL-I, '{A-Z0-9}, or `{A-Z0-9} command takes one
|
a `:buffer`, CTRL-O, CTRL-I, '{A-Z0-9}, or `{A-Z0-9} command takes one
|
||||||
to another file.
|
to another file.
|
||||||
A buffer is not written if it becomes hidden, e.g. when 'bufhidden' is
|
A buffer is not written if it becomes hidden, e.g. when 'bufhidden' is
|
||||||
set to "hide" and `:next` is used
|
set to "hide" and `:next` is used.
|
||||||
Note that for some commands the 'autowrite' option is not used, see
|
Note that for some commands the 'autowrite' option is not used, see
|
||||||
'autowriteall' for that.
|
'autowriteall' for that.
|
||||||
Some buffers will not be written, specifically when 'buftype' is
|
Some buffers will not be written, specifically when 'buftype' is
|
||||||
@ -5131,7 +5131,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
|
|
||||||
Don't include both "curdir" and "sesdir". When neither is included
|
Don't include both "curdir" and "sesdir". When neither is included
|
||||||
filenames are stored as absolute paths.
|
filenames are stored as absolute paths.
|
||||||
|
If you leave out "options" many things won't work well after restoring
|
||||||
|
the session.
|
||||||
*'shada'* *'sd'* *E526* *E527* *E528*
|
*'shada'* *'sd'* *E526* *E527* *E528*
|
||||||
'shada' 'sd' string (Vim default for
|
'shada' 'sd' string (Vim default for
|
||||||
Win32: !,'100,<50,s10,h,rA:,rB:
|
Win32: !,'100,<50,s10,h,rA:,rB:
|
||||||
|
@ -304,7 +304,7 @@ the pattern.
|
|||||||
==============================================================================
|
==============================================================================
|
||||||
2. The definition of a pattern *search-pattern* *pattern* *[pattern]*
|
2. The definition of a pattern *search-pattern* *pattern* *[pattern]*
|
||||||
*regular-expression* *regexp* *Pattern*
|
*regular-expression* *regexp* *Pattern*
|
||||||
*E76* *E383* *E476*
|
*E383* *E476*
|
||||||
|
|
||||||
For starters, read chapter 27 of the user manual |usr_27.txt|.
|
For starters, read chapter 27 of the user manual |usr_27.txt|.
|
||||||
|
|
||||||
@ -1036,6 +1036,8 @@ match ASCII characters, as indicated by the range.
|
|||||||
|
|
||||||
\(\) A pattern enclosed by escaped parentheses. */\(* */\(\)* */\)*
|
\(\) A pattern enclosed by escaped parentheses. */\(* */\(\)* */\)*
|
||||||
E.g., "\(^a\)" matches 'a' at the start of a line.
|
E.g., "\(^a\)" matches 'a' at the start of a line.
|
||||||
|
There can only be ten of these. You can use "\%(" to add more, but
|
||||||
|
not counting it as a sub-expression.
|
||||||
*E51* *E54* *E55* *E872* *E873*
|
*E51* *E54* *E55* *E872* *E873*
|
||||||
|
|
||||||
\1 Matches the same string that was matched by */\1* *E65*
|
\1 Matches the same string that was matched by */\1* *E65*
|
||||||
@ -1058,7 +1060,7 @@ x A single character, with no special meaning, matches itself
|
|||||||
\x A backslash followed by a single character, with no special meaning,
|
\x A backslash followed by a single character, with no special meaning,
|
||||||
is reserved for future expansions
|
is reserved for future expansions
|
||||||
|
|
||||||
[] (with 'nomagic': \[]) */[]* */\[]* */\_[]* */collection*
|
[] (with 'nomagic': \[]) */[]* */\[]* */\_[]* */collection* *E76*
|
||||||
\_[]
|
\_[]
|
||||||
A collection. This is a sequence of characters enclosed in square
|
A collection. This is a sequence of characters enclosed in square
|
||||||
brackets. It matches any single character in the collection.
|
brackets. It matches any single character in the collection.
|
||||||
|
@ -232,7 +232,7 @@ processing a quickfix or location list command, it will be aborted.
|
|||||||
":qall!" |:qall|, except that Nvim exits non-zero or
|
":qall!" |:qall|, except that Nvim exits non-zero or
|
||||||
[count].
|
[count].
|
||||||
|
|
||||||
*:cf* *:cfile*
|
*:cf* *:cfi* *:cfile*
|
||||||
:cf[ile][!] [errorfile] Read the error file and jump to the first error.
|
:cf[ile][!] [errorfile] Read the error file and jump to the first error.
|
||||||
This is done automatically when Vim is started with
|
This is done automatically when Vim is started with
|
||||||
the -q option. You can use this command when you
|
the -q option. You can use this command when you
|
||||||
|
@ -1406,7 +1406,7 @@ add the following line to your startup file: >
|
|||||||
|
|
||||||
:let g:filetype_euphoria = "euphoria4"
|
:let g:filetype_euphoria = "euphoria4"
|
||||||
|
|
||||||
Elixir and Euphoria share the *.ex file extension. If the filetype is
|
Elixir and Euphoria share the *.ex file extension. If the filetype is
|
||||||
specifically set as Euphoria with the g:filetype_euphoria variable, or the
|
specifically set as Euphoria with the g:filetype_euphoria variable, or the
|
||||||
file is determined to be Euphoria based on keywords in the file, then the
|
file is determined to be Euphoria based on keywords in the file, then the
|
||||||
filetype will be set as Euphoria. Otherwise, the filetype will default to
|
filetype will be set as Euphoria. Otherwise, the filetype will default to
|
||||||
@ -1437,7 +1437,7 @@ The following file extensions are auto-detected as Elixir file types:
|
|||||||
|
|
||||||
*.ex, *.exs, *.eex, *.leex, *.lock
|
*.ex, *.exs, *.eex, *.leex, *.lock
|
||||||
|
|
||||||
Elixir and Euphoria share the *.ex file extension. If the filetype is
|
Elixir and Euphoria share the *.ex file extension. If the filetype is
|
||||||
specifically set as Euphoria with the g:filetype_euphoria variable, or the
|
specifically set as Euphoria with the g:filetype_euphoria variable, or the
|
||||||
file is determined to be Euphoria based on keywords in the file, then the
|
file is determined to be Euphoria based on keywords in the file, then the
|
||||||
filetype will be set as Euphoria. Otherwise, the filetype will default to
|
filetype will be set as Euphoria. Otherwise, the filetype will default to
|
||||||
|
@ -249,7 +249,7 @@ g8 Print the hex values of the bytes used in the
|
|||||||
To enter |Terminal-mode| automatically: >
|
To enter |Terminal-mode| automatically: >
|
||||||
autocmd TermOpen * startinsert
|
autocmd TermOpen * startinsert
|
||||||
<
|
<
|
||||||
*:!cmd* *:!* *E34*
|
*:!cmd* *:!*
|
||||||
:!{cmd} Execute {cmd} with 'shell'. See also |:terminal|.
|
:!{cmd} Execute {cmd} with 'shell'. See also |:terminal|.
|
||||||
|
|
||||||
The command runs in a non-interactive shell connected
|
The command runs in a non-interactive shell connected
|
||||||
@ -261,6 +261,7 @@ g8 Print the hex values of the bytes used in the
|
|||||||
Use |jobstart()| instead. >
|
Use |jobstart()| instead. >
|
||||||
:call jobstart('foo', {'detach':1})
|
:call jobstart('foo', {'detach':1})
|
||||||
<
|
<
|
||||||
|
*E34*
|
||||||
Any "!" in {cmd} is replaced with the previous
|
Any "!" in {cmd} is replaced with the previous
|
||||||
external command (see also 'cpoptions'), unless
|
external command (see also 'cpoptions'), unless
|
||||||
escaped by a backslash. Example: ":!ls" followed by
|
escaped by a backslash. Example: ":!ls" followed by
|
||||||
|
@ -124,7 +124,7 @@ highlight group (|hl-EndOfBuffer|) can be used to change the highlighting of
|
|||||||
the filler characters.
|
the filler characters.
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
3. Opening and closing a window *opening-window* *E36*
|
3. Opening and closing a window *opening-window*
|
||||||
|
|
||||||
CTRL-W s *CTRL-W_s*
|
CTRL-W s *CTRL-W_s*
|
||||||
CTRL-W S *CTRL-W_S*
|
CTRL-W S *CTRL-W_S*
|
||||||
@ -223,6 +223,10 @@ CTRL-W ge *CTRL-W_ge*
|
|||||||
|
|
||||||
Note that the 'splitbelow' and 'splitright' options influence where a new
|
Note that the 'splitbelow' and 'splitright' options influence where a new
|
||||||
window will appear.
|
window will appear.
|
||||||
|
*E36*
|
||||||
|
Creating a window will fail if there is not enough room. Every window needs
|
||||||
|
at least one screen line and column, sometimes more. Options 'winminheight'
|
||||||
|
and 'winminwidth' are relevant.
|
||||||
|
|
||||||
*:vert* *:vertical*
|
*:vert* *:vertical*
|
||||||
:vert[ical] {cmd}
|
:vert[ical] {cmd}
|
||||||
|
@ -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: 2021 Dec 27
|
" Last Change: 2022 Jan 05
|
||||||
|
|
||||||
" 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")
|
||||||
|
@ -1,41 +0,0 @@
|
|||||||
" Vim filetype plugin
|
|
||||||
" Language: generic git output
|
|
||||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
|
||||||
" Last Change: 2019 Dec 05
|
|
||||||
|
|
||||||
" Only do this when not done yet for this buffer
|
|
||||||
if (exists("b:did_ftplugin"))
|
|
||||||
finish
|
|
||||||
endif
|
|
||||||
let b:did_ftplugin = 1
|
|
||||||
|
|
||||||
if !exists('b:git_dir')
|
|
||||||
if expand('%:p') =~# '[\/]\.git[\/]modules[\/]\|:[\/][\/]\|^\a\a\+:'
|
|
||||||
" Stay out of the way
|
|
||||||
elseif expand('%:p') =~# '[\/]\.git[\/]worktrees'
|
|
||||||
let b:git_dir = matchstr(expand('%:p'),'.*\.git[\/]worktrees[\/][^\/]\+\>')
|
|
||||||
elseif expand('%:p') =~# '\.git\>'
|
|
||||||
let b:git_dir = matchstr(expand('%:p'),'.*\.git\>')
|
|
||||||
elseif $GIT_DIR != ''
|
|
||||||
let b:git_dir = $GIT_DIR
|
|
||||||
endif
|
|
||||||
if (has('win32') || has('win64')) && exists('b:git_dir')
|
|
||||||
let b:git_dir = substitute(b:git_dir,'\\','/','g')
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
if exists('*shellescape') && exists('b:git_dir') && b:git_dir != ''
|
|
||||||
if b:git_dir =~# '/\.git$' " Not a bare repository
|
|
||||||
let &l:path = escape(fnamemodify(b:git_dir,':h'),'\, ').','.&l:path
|
|
||||||
endif
|
|
||||||
let &l:path = escape(b:git_dir,'\, ').','.&l:path
|
|
||||||
let &l:keywordprg = 'git --git-dir='.shellescape(b:git_dir).' show'
|
|
||||||
else
|
|
||||||
setlocal keywordprg=git\ show
|
|
||||||
endif
|
|
||||||
if has('gui_running')
|
|
||||||
let &l:keywordprg = substitute(&l:keywordprg,'^git\>','git --no-pager','')
|
|
||||||
endif
|
|
||||||
|
|
||||||
setlocal includeexpr=substitute(v:fname,'^[^/]\\+/','','')
|
|
||||||
let b:undo_ftplugin = "setl keywordprg< path< includeexpr<"
|
|
@ -1,66 +1,57 @@
|
|||||||
" Vim filetype plugin
|
" Vim filetype plugin
|
||||||
" Language: git commit file
|
" Language: git commit file
|
||||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||||
" Last Change: 2019 Dec 05
|
" Last Change: 2022 Jan 05
|
||||||
|
|
||||||
" Only do this when not done yet for this buffer
|
" Only do this when not done yet for this buffer
|
||||||
if (exists("b:did_ftplugin"))
|
if (exists("b:did_ftplugin"))
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
|
|
||||||
runtime! ftplugin/git.vim
|
|
||||||
let b:did_ftplugin = 1
|
let b:did_ftplugin = 1
|
||||||
|
|
||||||
setlocal comments=:# commentstring=#\ %s
|
|
||||||
setlocal nomodeline tabstop=8 formatoptions+=tl textwidth=72
|
setlocal nomodeline tabstop=8 formatoptions+=tl textwidth=72
|
||||||
setlocal formatoptions-=c formatoptions-=r formatoptions-=o formatoptions-=q formatoptions+=n
|
setlocal formatoptions-=c formatoptions-=r formatoptions-=o formatoptions-=q formatoptions+=n
|
||||||
setlocal formatlistpat+=\\\|^\\s*[-*+]\\s\\+
|
setlocal formatlistpat+=\\\|^\\s*[-*+]\\s\\+
|
||||||
|
setlocal include=^+++
|
||||||
|
setlocal includeexpr=substitute(v:fname,'^[bi]/','','')
|
||||||
|
|
||||||
let b:undo_ftplugin = 'setl modeline< tabstop< formatoptions< tw< com< cms< formatlistpat<'
|
let b:undo_ftplugin = 'setl modeline< tabstop< formatoptions< tw< com< cms< formatlistpat< inc< inex<'
|
||||||
|
|
||||||
if exists("g:no_gitcommit_commands") || v:version < 700
|
let s:l = search('\C\m^[#;@!$%^&|:] -\{24,\} >8 -\{24,\}$', 'cnW', '', 100)
|
||||||
|
let &l:comments = ':' . (matchstr(getline(s:l ? s:l : '$'), '^[#;@!$%^&|:]\S\@!') . '#')[0]
|
||||||
|
let &l:commentstring = &l:comments[1] . ' %s'
|
||||||
|
unlet s:l
|
||||||
|
|
||||||
|
if exists("g:no_gitcommit_commands")
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if !exists("b:git_dir")
|
command! -bang -bar -buffer -complete=custom,s:diffcomplete -nargs=* DiffGitCached :call s:gitdiffcached(<bang>0, <f-args>)
|
||||||
let b:git_dir = expand("%:p:h")
|
|
||||||
endif
|
|
||||||
|
|
||||||
command! -bang -bar -buffer -complete=custom,s:diffcomplete -nargs=* DiffGitCached :call s:gitdiffcached(<bang>0,b:git_dir,<f-args>)
|
|
||||||
|
|
||||||
let b:undo_ftplugin = b:undo_ftplugin . "|delc DiffGitCached"
|
let b:undo_ftplugin = b:undo_ftplugin . "|delc DiffGitCached"
|
||||||
|
|
||||||
function! s:diffcomplete(A,L,P)
|
function! s:diffcomplete(A, L, P) abort
|
||||||
let args = ""
|
let args = ""
|
||||||
if a:P <= match(a:L." -- "," -- ")+3
|
if a:P <= match(a:L." -- "," -- ")+3
|
||||||
let args = args . "-p\n--stat\n--shortstat\n--summary\n--patch-with-stat\n--no-renames\n-B\n-M\n-C\n"
|
let args = args . "-p\n--stat\n--shortstat\n--summary\n--patch-with-stat\n--no-renames\n-B\n-M\n-C\n"
|
||||||
end
|
end
|
||||||
if exists("b:git_dir") && a:A !~ '^-'
|
if a:A !~ '^-' && !empty(getftype('.git'))
|
||||||
let tree = fnamemodify(b:git_dir,':h')
|
let args = args."\n".system("git diff --cached --name-only")
|
||||||
if strpart(getcwd(),0,strlen(tree)) == tree
|
|
||||||
let args = args."\n".system("git diff --cached --name-only")
|
|
||||||
endif
|
|
||||||
endif
|
endif
|
||||||
return args
|
return args
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! s:gitdiffcached(bang,gitdir,...)
|
function! s:gitdiffcached(bang, ...) abort
|
||||||
let tree = fnamemodify(a:gitdir,':h')
|
|
||||||
let name = tempname()
|
let name = tempname()
|
||||||
let git = "git"
|
|
||||||
if strpart(getcwd(),0,strlen(tree)) != tree
|
|
||||||
let git .= " --git-dir=".(exists("*shellescape") ? shellescape(a:gitdir) : '"'.a:gitdir.'"')
|
|
||||||
endif
|
|
||||||
if a:0
|
if a:0
|
||||||
let extra = join(map(copy(a:000),exists("*shellescape") ? 'shellescape(v:val)' : "'\"'.v:val.'\"'"))
|
let extra = join(map(copy(a:000), 'shellescape(v:val)'))
|
||||||
else
|
else
|
||||||
let extra = "-p --stat=".&columns
|
let extra = "-p --stat=".&columns
|
||||||
endif
|
endif
|
||||||
call system(git." diff --cached --no-color --no-ext-diff ".extra." > ".(exists("*shellescape") ? shellescape(name) : name))
|
call system("git diff --cached --no-color --no-ext-diff ".extra." > ".shellescape(name))
|
||||||
exe "pedit ".(exists("*fnameescape") ? fnameescape(name) : name)
|
exe "pedit " . fnameescape(name)
|
||||||
wincmd P
|
wincmd P
|
||||||
let b:git_dir = a:gitdir
|
command! -bang -bar -buffer -complete=custom,s:diffcomplete -nargs=* DiffGitCached :call s:gitdiffcached(<bang>0, <f-args>)
|
||||||
command! -bang -bar -buffer -complete=custom,s:diffcomplete -nargs=* DiffGitCached :call s:gitdiffcached(<bang>0,b:git_dir,<f-args>)
|
|
||||||
nnoremap <buffer> <silent> q :q<CR>
|
|
||||||
setlocal buftype=nowrite nobuflisted noswapfile nomodifiable filetype=git
|
setlocal buftype=nowrite nobuflisted noswapfile nomodifiable filetype=git
|
||||||
endfunction
|
endfunction
|
||||||
|
@ -1,22 +1,20 @@
|
|||||||
" Vim filetype plugin
|
" Vim filetype plugin
|
||||||
" Language: git rebase --interactive
|
" Language: git rebase --interactive
|
||||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||||
" Last Change: 2019 Dec 05
|
" Last Change: 2022 Jan 05
|
||||||
|
|
||||||
" Only do this when not done yet for this buffer
|
" Only do this when not done yet for this buffer
|
||||||
if (exists("b:did_ftplugin"))
|
if (exists("b:did_ftplugin"))
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
|
|
||||||
runtime! ftplugin/git.vim
|
|
||||||
let b:did_ftplugin = 1
|
let b:did_ftplugin = 1
|
||||||
|
|
||||||
setlocal comments=:# commentstring=#\ %s formatoptions-=t
|
let &l:comments = ':' . (matchstr(getline('$'), '^[#;@!$%^&|:]\S\@!') . '#')[0]
|
||||||
|
let &l:commentstring = &l:comments[1] . ' %s'
|
||||||
|
setlocal formatoptions-=t
|
||||||
setlocal nomodeline
|
setlocal nomodeline
|
||||||
if !exists("b:undo_ftplugin")
|
let b:undo_ftplugin = "setl com< cms< fo< ml<"
|
||||||
let b:undo_ftplugin = ""
|
|
||||||
endif
|
|
||||||
let b:undo_ftplugin = b:undo_ftplugin."|setl com< cms< fo< ml<"
|
|
||||||
|
|
||||||
function! s:choose(word) abort
|
function! s:choose(word) abort
|
||||||
s/^\(\w\+\>\)\=\(\s*\)\ze\x\{4,40\}\>/\=(strlen(submatch(1)) == 1 ? a:word[0] : a:word) . substitute(submatch(2),'^$',' ','')/e
|
s/^\(\w\+\>\)\=\(\s*\)\ze\x\{4,40\}\>/\=(strlen(submatch(1)) == 1 ? a:word[0] : a:word) . substitute(submatch(2),'^$',' ','')/e
|
||||||
@ -41,8 +39,7 @@ if exists("g:no_plugin_maps") || exists("g:no_gitrebase_maps")
|
|||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
|
|
||||||
nnoremap <buffer> <expr> K col('.') < 7 && expand('<Lt>cword>') =~ '\X' && getline('.') =~ '^\w\+\s\+\x\+\>' ? 'wK' : 'K'
|
|
||||||
nnoremap <buffer> <silent> <C-A> :<C-U><C-R>=v:count1<CR>Cycle<CR>
|
nnoremap <buffer> <silent> <C-A> :<C-U><C-R>=v:count1<CR>Cycle<CR>
|
||||||
nnoremap <buffer> <silent> <C-X> :<C-U><C-R>=v:count1<CR>Cycle!<CR>
|
nnoremap <buffer> <silent> <C-X> :<C-U><C-R>=v:count1<CR>Cycle!<CR>
|
||||||
|
|
||||||
let b:undo_ftplugin = b:undo_ftplugin . "|exe 'nunmap <buffer> K'|exe 'nunmap <buffer> <C-A>'|exe 'nunmap <buffer> <C-X>'"
|
let b:undo_ftplugin = b:undo_ftplugin . "|exe 'nunmap <buffer> <C-A>'|exe 'nunmap <buffer> <C-X>'"
|
||||||
|
@ -153,7 +153,7 @@ func s:StartDebug_internal(dict)
|
|||||||
if &columns < g:termdebug_wide
|
if &columns < g:termdebug_wide
|
||||||
let s:save_columns = &columns
|
let s:save_columns = &columns
|
||||||
let &columns = g:termdebug_wide
|
let &columns = g:termdebug_wide
|
||||||
" If we make the Vim window wider, use the whole left halve for the debug
|
" If we make the Vim window wider, use the whole left half for the debug
|
||||||
" windows.
|
" windows.
|
||||||
let s:allleft = 1
|
let s:allleft = 1
|
||||||
endif
|
endif
|
||||||
@ -1051,10 +1051,10 @@ func s:GetEvaluationExpression(range, arg)
|
|||||||
return expr
|
return expr
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
" clean up expression that may got in because of range
|
" clean up expression that may get in because of range
|
||||||
" (newlines and surrounding whitespace)
|
" (newlines and surrounding whitespace)
|
||||||
" As it can also be specified via ex-command for assignments this function
|
" As it can also be specified via ex-command for assignments this function
|
||||||
" may not change the "content" parts (like replacing contained spaces
|
" may not change the "content" parts (like replacing contained spaces)
|
||||||
func s:CleanupExpr(expr)
|
func s:CleanupExpr(expr)
|
||||||
" replace all embedded newlines/tabs/...
|
" replace all embedded newlines/tabs/...
|
||||||
let expr = substitute(a:expr, '\_s', ' ', 'g')
|
let expr = substitute(a:expr, '\_s', ' ', 'g')
|
||||||
@ -1084,7 +1084,7 @@ func s:HandleEvaluate(msg)
|
|||||||
\ ->substitute('.*value="\(.*\)"', '\1', '')
|
\ ->substitute('.*value="\(.*\)"', '\1', '')
|
||||||
\ ->substitute('\\"', '"', 'g')
|
\ ->substitute('\\"', '"', 'g')
|
||||||
\ ->substitute('\\\\', '\\', 'g')
|
\ ->substitute('\\\\', '\\', 'g')
|
||||||
"\ multi-byte characters arrive in octal form, replace everthing but NULL values
|
"\ multi-byte characters arrive in octal form, replace everything but NULL values
|
||||||
\ ->substitute('\\000', s:NullRepl, 'g')
|
\ ->substitute('\\000', s:NullRepl, 'g')
|
||||||
\ ->substitute('\\\o\o\o', {-> eval('"' .. submatch(0) .. '"')}, 'g')
|
\ ->substitute('\\\o\o\o', {-> eval('"' .. submatch(0) .. '"')}, 'g')
|
||||||
"\ Note: GDB docs also mention hex encodings - the translations below work
|
"\ Note: GDB docs also mention hex encodings - the translations below work
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
" Vim syntax file
|
" Vim syntax file
|
||||||
" Language: generic git output
|
" Language: generic git output
|
||||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||||
" Last Change: 2019 Dec 05
|
" Last Change: 2022 Jan 05
|
||||||
|
|
||||||
if exists("b:current_syntax")
|
if exists("b:current_syntax")
|
||||||
finish
|
finish
|
||||||
@ -12,12 +12,28 @@ syn sync minlines=50
|
|||||||
|
|
||||||
syn include @gitDiff syntax/diff.vim
|
syn include @gitDiff syntax/diff.vim
|
||||||
|
|
||||||
syn region gitHead start=/\%^/ end=/^$/
|
syn region gitHead start=/\%^\%(tag \|tree \|object \)\@=/ end=/^$/ contains=@NoSpell
|
||||||
syn region gitHead start=/\%(^commit\%( \x\{40\}\)\{1,\}\%(\s*(.*)\)\=$\)\@=/ end=/^$/
|
syn region gitHead start=/\%(^commit\%( \x\{4,\}\)\{1,\}\%(\s*(.*)\)\=$\)\@=/ end=/^$/ contains=@NoSpell
|
||||||
|
" git log --oneline
|
||||||
" For git reflog and git show ...^{tree}, avoid sync issues
|
" minimize false positives by verifying contents of buffer
|
||||||
syn match gitHead /^\d\{6\} \%(\w\{4} \)\=\x\{40\}\%( [0-3]\)\=\t.*/
|
if getline(1) =~# '^\x\{7,\} ' && getline('$') =~# '^\x\{7,\} '
|
||||||
syn match gitHead /^\x\{40\} \x\{40}\t.*/
|
syn match gitHashAbbrev /^\x\{7,\} \@=/ contains=@NoSpell
|
||||||
|
elseif getline(1) =~# '^[|\/\\_ ]\{-\}\*[|\/\\_ ]\{-\} \x\{7,\} '
|
||||||
|
syn match gitHashAbbrev /^[|\/\\_ ]\{-\}\*[|\/\\_ ]\{-\} \zs\x\{7,\} \@=/ contains=@NoSpell
|
||||||
|
endif
|
||||||
|
" git log --graph
|
||||||
|
syn region gitGraph start=/\%(^[|\/\\_ ]*\*[|\/\\_ ]\{-\} commit\%( \x\{4,\}\)\{1,\}\%(\s*(.*)\)\=$\)\@=/ end=/^\%([|\/\\_ ]*$\)\@=/ contains=@NoSpell
|
||||||
|
" git blame --porcelain
|
||||||
|
syn region gitHead start=/\%(^\x\{40,\} \d\+ \d\+\%( \d\+\)\=$\)\@=/ end=/^\t\@=/ contains=@NoSpell
|
||||||
|
" git ls-tree
|
||||||
|
syn match gitMode /^\d\{6\}\%( \%(blob\|tree\) \x\{4,\}\t\)\@=/ nextgroup=gitType skipwhite contains=@NoSpell
|
||||||
|
" git ls-files --stage
|
||||||
|
syn match gitMode /^\d\{6\}\%( \x\{4,\} [0-3]\t\)\@=/ nextgroup=gitHashStage skipwhite contains=@NoSpell
|
||||||
|
" .git/HEAD, .git/refs/
|
||||||
|
syn match gitKeyword /\%^ref: \@=/ nextgroup=gitReference skipwhite contains=@NoSpell
|
||||||
|
syn match gitHash /\%^\x\{40,}\%$/ skipwhite contains=@NoSpell
|
||||||
|
" .git/logs/
|
||||||
|
syn match gitReflog /^\x\{40,\} \x\{40,\} .\{-\}\d\+\s-\d\{4\}\t.*/ skipwhite contains=@NoSpell,gitReflogOld
|
||||||
|
|
||||||
syn region gitDiff start=/^\%(diff --git \)\@=/ end=/^\%(diff --\|$\)\@=/ contains=@gitDiff fold
|
syn region gitDiff start=/^\%(diff --git \)\@=/ end=/^\%(diff --\|$\)\@=/ contains=@gitDiff fold
|
||||||
syn region gitDiff start=/^\%(@@ -\)\@=/ end=/^\%(diff --\%(git\|cc\|combined\) \|$\)\@=/ contains=@gitDiff
|
syn region gitDiff start=/^\%(@@ -\)\@=/ end=/^\%(diff --\%(git\|cc\|combined\) \|$\)\@=/ contains=@gitDiff
|
||||||
@ -25,35 +41,47 @@ syn region gitDiff start=/^\%(@@ -\)\@=/ end=/^\%(diff --\%(git\|cc\|combined\)
|
|||||||
syn region gitDiffMerge start=/^\%(diff --\%(cc\|combined\) \)\@=/ end=/^\%(diff --\|$\)\@=/ contains=@gitDiff
|
syn region gitDiffMerge start=/^\%(diff --\%(cc\|combined\) \)\@=/ end=/^\%(diff --\|$\)\@=/ contains=@gitDiff
|
||||||
syn region gitDiffMerge start=/^\%(@@@@* -\)\@=/ end=/^\%(diff --\|$\)\@=/ contains=@gitDiff
|
syn region gitDiffMerge start=/^\%(@@@@* -\)\@=/ end=/^\%(diff --\|$\)\@=/ contains=@gitDiff
|
||||||
syn match gitDiffAdded "^ \++.*" contained containedin=gitDiffMerge
|
syn match gitDiffAdded "^ \++.*" contained containedin=gitDiffMerge
|
||||||
syn match gitDiffAdded "{+.*+}" contained containedin=gitDiff
|
syn match gitDiffAdded "{+[^}]*+}" contained containedin=gitDiff
|
||||||
syn match gitDiffRemoved "^ \+-.*" contained containedin=gitDiffMerge
|
syn match gitDiffRemoved "^ \+-.*" contained containedin=gitDiffMerge
|
||||||
syn match gitDiffRemoved "\[-.*-\]" contained containedin=gitDiff
|
syn match gitDiffRemoved "\[-[^]]*-\]" contained containedin=gitDiff
|
||||||
|
|
||||||
syn match gitKeyword /^\%(object\|type\|tag\|commit\|tree\|parent\|encoding\)\>/ contained containedin=gitHead nextgroup=gitHash,gitType skipwhite
|
syn match gitKeyword /^commit \@=/ contained containedin=gitHead nextgroup=gitHashAbbrev skipwhite contains=@NoSpell
|
||||||
syn match gitKeyword /^\%(tag\>\|ref:\)/ contained containedin=gitHead nextgroup=gitReference skipwhite
|
syn match gitKeyword /^\%(object\|tree\|parent\|encoding\|gpgsig\%(-\w\+\)\=\|previous\) \@=/ contained containedin=gitHead nextgroup=gitHash skipwhite contains=@NoSpell
|
||||||
syn match gitKeyword /^Merge:/ contained containedin=gitHead nextgroup=gitHashAbbrev skipwhite
|
syn match gitKeyword /^Merge:/ contained containedin=gitHead nextgroup=gitHashAbbrev skipwhite contains=@NoSpell
|
||||||
syn match gitMode /^\d\{6\}\>/ contained containedin=gitHead nextgroup=gitType,gitHash skipwhite
|
syn match gitIdentityKeyword /^\%(author\|committer\|tagger\) \@=/ contained containedin=gitHead nextgroup=gitIdentity skipwhite contains=@NoSpell
|
||||||
syn match gitIdentityKeyword /^\%(author\|committer\|tagger\)\>/ contained containedin=gitHead nextgroup=gitIdentity skipwhite
|
syn match gitIdentityHeader /^\%(Author\|Commit\|Tagger\):/ contained containedin=gitHead nextgroup=gitIdentity skipwhite contains=@NoSpell
|
||||||
syn match gitIdentityHeader /^\%(Author\|Commit\|Tagger\):/ contained containedin=gitHead nextgroup=gitIdentity skipwhite
|
syn match gitDateHeader /^\%(AuthorDate\|CommitDate\|Date\):/ contained containedin=gitHead nextgroup=gitDate skipwhite contains=@NoSpell
|
||||||
syn match gitDateHeader /^\%(AuthorDate\|CommitDate\|Date\):/ contained containedin=gitHead nextgroup=gitDate skipwhite
|
|
||||||
|
|
||||||
syn match gitReflogHeader /^Reflog:/ contained containedin=gitHead nextgroup=gitReflogMiddle skipwhite
|
syn match gitKeyword /^[*|\/\\_ ]\+\zscommit \@=/ contained containedin=gitGraph nextgroup=gitHashAbbrev skipwhite contains=@NoSpell
|
||||||
syn match gitReflogHeader /^Reflog message:/ contained containedin=gitHead skipwhite
|
syn match gitKeyword /^[|\/\\_ ]\+\zs\%(object\|tree\|parent\|encoding\|gpgsig\%(-\w\+\)\=\|previous\) \@=/ contained containedin=gitGraph nextgroup=gitHash skipwhite contains=@NoSpell
|
||||||
syn match gitReflogMiddle /\S\+@{\d\+} (/he=e-2 nextgroup=gitIdentity
|
syn match gitKeyword /^[|\/\\_ ]\+\zsMerge:/ contained containedin=gitGraph nextgroup=gitHashAbbrev skipwhite contains=@NoSpell
|
||||||
|
syn match gitIdentityKeyword /^[|\/\\_ ]\+\zs\%(author\|committer\|tagger\) \@=/ contained containedin=gitGraph nextgroup=gitIdentity skipwhite contains=@NoSpell
|
||||||
|
syn match gitIdentityHeader /^[|\/\\_ ]\+\zs\%(Author\|Commit\|Tagger\):/ contained containedin=gitGraph nextgroup=gitIdentity skipwhite contains=@NoSpell
|
||||||
|
syn match gitDateHeader /^[|\/\\_ ]\+\zs\%(AuthorDate\|CommitDate\|Date\):/ contained containedin=gitGraph nextgroup=gitDate skipwhite contains=@NoSpell
|
||||||
|
|
||||||
syn match gitDate /\<\u\l\l \u\l\l \d\=\d \d\d:\d\d:\d\d \d\d\d\d [+-]\d\d\d\d/ contained
|
syn match gitKeyword /^type \@=/ contained containedin=gitHead nextgroup=gitType skipwhite contains=@NoSpell
|
||||||
syn match gitDate /-\=\d\+ [+-]\d\d\d\d\>/ contained
|
syn match gitKeyword /^\%(summary\|boundary\|filename\|\%(author\|committer\)-\%(time\|tz\)\) \@=/ contained containedin=gitHead skipwhite contains=@NoSpell
|
||||||
syn match gitDate /\<\d\+ \l\+ ago\>/ contained
|
syn match gitKeyword /^tag \@=/ contained containedin=gitHead nextgroup=gitReference skipwhite contains=@NoSpell
|
||||||
syn match gitType /\<\%(tag\|commit\|tree\|blob\)\>/ contained nextgroup=gitHash skipwhite
|
syn match gitIdentityKeyword /^\%(author\|committer\)-mail \@=/ contained containedin=gitHead nextgroup=gitEmail skipwhite contains=@NoSpell
|
||||||
syn match gitStage /\<\d\t\@=/ contained
|
syn match gitReflogHeader /^Reflog:/ contained containedin=gitHead nextgroup=gitReflogMiddle skipwhite contains=@NoSpell
|
||||||
syn match gitReference /\S\+\S\@!/ contained
|
syn match gitReflogHeader /^Reflog message:/ contained containedin=gitHead skipwhite contains=@NoSpell
|
||||||
syn match gitHash /\<\x\{40\}\>/ contained nextgroup=gitIdentity,gitStage,gitHash skipwhite
|
syn match gitReflogMiddle /\S\+@{\d\+} (/he=e-2 nextgroup=gitIdentity contains=@NoSpell
|
||||||
syn match gitHash /^\<\x\{40\}\>/ containedin=gitHead contained nextgroup=gitHash skipwhite
|
|
||||||
syn match gitHashAbbrev /\<\x\{4,40\}\>/ contained nextgroup=gitHashAbbrev skipwhite
|
syn match gitIdentity /\S.\{-\} <[^>]*>/ contained nextgroup=gitDate skipwhite contains=@NoSpell
|
||||||
syn match gitHashAbbrev /\<\x\{4,39\}\.\.\./he=e-3 contained nextgroup=gitHashAbbrev skipwhite
|
syn region gitEmail matchgroup=gitEmailDelimiter start=/</ end=/>/ keepend oneline contained containedin=gitIdentity contains=@NoSpell
|
||||||
|
syn match gitDate /\<\u\l\l \u\l\l \d\=\d \d\d:\d\d:\d\d \d\d\d\d [+-]\d\d\d\d/ contained contains=@NoSpell
|
||||||
|
syn match gitDate /-\=\d\+ [+-]\d\d\d\d\>/ contained contains=@NoSpell
|
||||||
|
syn match gitDate /\<\d\+ \l\+ ago\>/ contained contains=@NoSpell
|
||||||
|
syn match gitType /\<\%(tag\|commit\|tree\|blob\)\>/ contained nextgroup=gitHashAbbrev skipwhite contains=@NoSpell
|
||||||
|
syn match gitReference /\S\+\S\@!/ contained contains=@NoSpell
|
||||||
|
syn match gitHash /\<\x\{40,\}\>/ contained nextgroup=gitIdentity,gitHash skipwhite contains=@NoSpell
|
||||||
|
syn match gitReflogOld /^\x\{40,\} \@=/ contained nextgroup=gitReflogNew skipwhite contains=@NoSpell
|
||||||
|
syn match gitReflogNew /\<\x\{40,\} \@=/ contained nextgroup=gitIdentity skipwhite contains=@NoSpell
|
||||||
|
syn match gitHashAbbrev /\<\x\{4,\}\>/ contained nextgroup=gitHashAbbrev skipwhite contains=@NoSpell
|
||||||
|
syn match gitHashAbbrev /\<\x\{4,39\}\.\.\./he=e-3 contained nextgroup=gitHashAbbrev skipwhite contains=@NoSpell
|
||||||
|
syn match gitHashStage /\<\x\{4,\}\>/ contained nextgroup=gitStage skipwhite contains=@NoSpell
|
||||||
|
syn match gitStage /\<\d\t\@=/ contained contains=@NoSpell
|
||||||
|
|
||||||
syn match gitIdentity /\S.\{-\} <[^>]*>/ contained nextgroup=gitDate skipwhite
|
|
||||||
syn region gitEmail matchgroup=gitEmailDelimiter start=/</ end=/>/ keepend oneline contained containedin=gitIdentity
|
|
||||||
|
|
||||||
syn match gitNotesHeader /^Notes:\ze\n /
|
syn match gitNotesHeader /^Notes:\ze\n /
|
||||||
|
|
||||||
@ -68,7 +96,10 @@ hi def link gitEmailDelimiter Delimiter
|
|||||||
hi def link gitEmail Special
|
hi def link gitEmail Special
|
||||||
hi def link gitDate Number
|
hi def link gitDate Number
|
||||||
hi def link gitMode Number
|
hi def link gitMode Number
|
||||||
|
hi def link gitHashStage gitHash
|
||||||
hi def link gitHashAbbrev gitHash
|
hi def link gitHashAbbrev gitHash
|
||||||
|
hi def link gitReflogOld gitHash
|
||||||
|
hi def link gitReflogNew gitHash
|
||||||
hi def link gitHash Identifier
|
hi def link gitHash Identifier
|
||||||
hi def link gitReflogMiddle gitReference
|
hi def link gitReflogMiddle gitReference
|
||||||
hi def link gitReference Function
|
hi def link gitReference Function
|
||||||
|
@ -2,71 +2,87 @@
|
|||||||
" Language: git commit file
|
" Language: git commit file
|
||||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||||
" Filenames: *.git/COMMIT_EDITMSG
|
" Filenames: *.git/COMMIT_EDITMSG
|
||||||
" Last Change: 2019 Dec 05
|
" Last Change: 2022 Jan 05
|
||||||
|
|
||||||
if exists("b:current_syntax")
|
if exists("b:current_syntax")
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
scriptencoding utf-8
|
||||||
|
|
||||||
syn case match
|
syn case match
|
||||||
syn sync minlines=50
|
syn sync minlines=50
|
||||||
|
syn sync linebreaks=1
|
||||||
|
|
||||||
if has("spell")
|
if has("spell")
|
||||||
syn spell toplevel
|
syn spell toplevel
|
||||||
endif
|
endif
|
||||||
|
|
||||||
syn include @gitcommitDiff syntax/diff.vim
|
syn include @gitcommitDiff syntax/diff.vim
|
||||||
syn region gitcommitDiff start=/\%(^diff --\%(git\|cc\|combined\) \)\@=/ end=/^\%(diff --\|$\|#\)\@=/ fold contains=@gitcommitDiff
|
syn region gitcommitDiff start=/\%(^diff --\%(git\|cc\|combined\) \)\@=/ end=/^\%(diff --\|$\|@@\@!\|[^[:alnum:]\ +-]\S\@!\)\@=/ fold contains=@gitcommitDiff
|
||||||
|
|
||||||
syn match gitcommitSummary "^.*\%<51v." contained containedin=gitcommitFirstLine nextgroup=gitcommitOverflow contains=@Spell
|
syn match gitcommitSummary "^.*\%<51v." contained containedin=gitcommitFirstLine nextgroup=gitcommitOverflow contains=@Spell
|
||||||
syn match gitcommitOverflow ".*" contained contains=@Spell
|
syn match gitcommitOverflow ".*" contained contains=@Spell
|
||||||
syn match gitcommitBlank "^[^#].*" contained contains=@Spell
|
syn match gitcommitBlank "^.\+" contained contains=@Spell
|
||||||
|
syn match gitcommitFirstLine "\%^.*" nextgroup=gitcommitBlank,gitcommitComment skipnl
|
||||||
|
|
||||||
if get(g:, "gitcommit_cleanup") is# "scissors"
|
let s:scissors = 0
|
||||||
syn match gitcommitFirstLine "\%^.*" nextgroup=gitcommitBlank skipnl
|
let s:l = search('^[#;@!$%^&|:] -\{24,\} >8 -\{24,\}$', 'cnW', '', 100)
|
||||||
syn region gitcommitComment start=/^# -\+ >8 -\+$/ end=/\%$/ contains=gitcommitDiff
|
if s:l == 0
|
||||||
else
|
let s:l = line('$')
|
||||||
syn match gitcommitFirstLine "\%^[^#].*" nextgroup=gitcommitBlank skipnl
|
elseif getline(s:l)[0] !=# getline(s:l - 1)[0]
|
||||||
syn match gitcommitComment "^#.*"
|
let s:scissors = 1
|
||||||
endif
|
endif
|
||||||
|
let s:comment = escape((matchstr(getline(s:l), '^[#;@!$%^&|:]\S\@!') . '#')[0], '^$.*[]~\"/')
|
||||||
|
|
||||||
syn match gitcommitHead "^\%(# .*\n\)\+#$" contained transparent
|
if s:scissors
|
||||||
syn match gitcommitOnBranch "\%(^# \)\@<=On branch" contained containedin=gitcommitComment nextgroup=gitcommitBranch skipwhite
|
let s:comment .= ' -\{24,\} >8 -\{24,\}$'
|
||||||
syn match gitcommitOnBranch "\%(^# \)\@<=Your branch .\{-\} '" contained containedin=gitcommitComment nextgroup=gitcommitBranch skipwhite
|
exe 'syn region gitcommitComment start="^' . s:comment . '" end="\%$" contains=gitcommitDiff'
|
||||||
|
else
|
||||||
|
exe 'syn match gitcommitComment "^' . s:comment . '.*"'
|
||||||
|
endif
|
||||||
|
exe 'syn match gitcommitTrailers "\n\@<=\n\%([[:alnum:]-]\+\s*:.*\|(cherry picked from commit .*\)\%(\n\s.*\|\n[[:alnum:]-]\+\s*:.*\|\n(cherry picked from commit .*\)*\%(\n\n*\%(' . s:comment . '\)\|\n*\%$\)\@="'
|
||||||
|
|
||||||
|
unlet s:l s:comment s:scissors
|
||||||
|
|
||||||
|
syn match gitcommitTrailerToken "^[[:alnum:]-]\+\s*:" contained containedin=gitcommitTrailers
|
||||||
|
|
||||||
|
syn match gitcommitHash "\<\x\{40,}\>" contains=@NoSpell display
|
||||||
|
syn match gitcommitOnBranch "\%(^. \)\@<=On branch" contained containedin=gitcommitComment nextgroup=gitcommitBranch skipwhite
|
||||||
|
syn match gitcommitOnBranch "\%(^. \)\@<=Your branch .\{-\} '" contained containedin=gitcommitComment nextgroup=gitcommitBranch skipwhite
|
||||||
syn match gitcommitBranch "[^ ']\+" contained
|
syn match gitcommitBranch "[^ ']\+" contained
|
||||||
syn match gitcommitNoBranch "\%(^# \)\@<=Not currently on any branch." contained containedin=gitcommitComment
|
syn match gitcommitNoBranch "\%(^. \)\@<=Not currently on any branch." contained containedin=gitcommitComment
|
||||||
syn match gitcommitHeader "\%(^# \)\@<=.*:$" contained containedin=gitcommitComment
|
syn match gitcommitHeader "\%(^. \)\@<=\S.*[::]\%(\n^$\)\@!$" contained containedin=gitcommitComment
|
||||||
syn region gitcommitAuthor matchgroup=gitCommitHeader start=/\%(^# \)\@<=\%(Author\|Committer\):/ end=/$/ keepend oneline contained containedin=gitcommitComment transparent
|
syn region gitcommitAuthor matchgroup=gitCommitHeader start=/\%(^. \)\@<=\%(Author\|Committer\|Date\):/ end=/$/ keepend oneline contained containedin=gitcommitComment transparent
|
||||||
syn match gitcommitNoChanges "\%(^# \)\@<=No changes$" contained containedin=gitcommitComment
|
syn match gitcommitHeader "\%(^. \)\@<=commit\%( \x\{40,\}$\)\@=" contained containedin=gitcommitComment nextgroup=gitcommitHash skipwhite
|
||||||
|
syn match gitcommitNoChanges "\%(^. \)\@<=No changes$" contained containedin=gitcommitComment
|
||||||
|
|
||||||
syn region gitcommitUntracked start=/^# Untracked files:/ end=/^#$\|^#\@!/ contains=gitcommitHeader,gitcommitHead,gitcommitUntrackedFile fold
|
syn match gitcommitType "\%(^.\t\)\@<=[^[:punct:][:space:]][^/::]*[^[:punct:][:space:]][::]\ze "he=e-1 contained containedin=gitcommitComment nextgroup=gitcommitFile skipwhite
|
||||||
syn match gitcommitUntrackedFile "\t\@<=.*" contained
|
syn match gitcommitFile ".\{-\}\%($\| -> \)\@=" contained nextgroup=gitcommitArrow
|
||||||
|
syn match gitcommitArrow " -> " contained nextgroup=gitcommitFile
|
||||||
|
syn match gitcommitUntrackedFile "\%(^.\t\)\@<=[^::/]*\%(/.*\)\=$" contained containedin=gitcommitComment
|
||||||
|
|
||||||
syn region gitcommitDiscarded start=/^# Change\%(s not staged for commit\|d but not updated\):/ end=/^#$\|^#\@!/ contains=gitcommitHeader,gitcommitHead,gitcommitDiscardedType fold
|
syn region gitcommitUntracked start=/^\z(.\) Untracked files:$/ end=/^\z1\=$\|^\z1\@!/ contains=gitcommitHeader containedin=gitcommitComment containedin=gitcommitComment contained transparent fold
|
||||||
syn region gitcommitSelected start=/^# Changes to be committed:/ end=/^#$\|^#\@!/ contains=gitcommitHeader,gitcommitHead,gitcommitSelectedType fold
|
syn region gitcommitDiscarded start=/^\z(.\) Change\%(s not staged for commit\|d but not updated\):$/ end=/^\z1\=$\|^\z1\@!/ contains=gitcommitHeader,gitcommitDiscardedType containedin=gitcommitComment containedin=gitcommitComment contained transparent fold
|
||||||
syn region gitcommitUnmerged start=/^# Unmerged paths:/ end=/^#$\|^#\@!/ contains=gitcommitHeader,gitcommitHead,gitcommitUnmergedType fold
|
syn region gitcommitSelected start=/^\z(.\) Changes to be committed:$/ end=/^\z1$\|^\z1\@!/ contains=gitcommitHeader,gitcommitSelectedType containedin=gitcommitComment containedin=gitcommitComment contained transparent fold
|
||||||
|
syn region gitcommitUnmerged start=/^\z(.\) Unmerged paths:$/ end=/^\z1\=$\|^\z1\@!/ contains=gitcommitHeader,gitcommitUnmergedType containedin=gitcommitComment containedin=gitcommitComment contained transparent fold
|
||||||
|
|
||||||
|
syn match gitcommitUntrackedFile "\%(^.\t\)\@<=.*" contained containedin=gitcommitUntracked
|
||||||
|
|
||||||
syn match gitcommitDiscardedType "\t\@<=[[:lower:]][^:]*[[:lower:]]: "he=e-2 contained containedin=gitcommitComment nextgroup=gitcommitDiscardedFile skipwhite
|
syn match gitcommitDiscardedType "\%(^.\t\)\@<=[^[:punct:][:space:]][^/::]*[^[:punct:][:space:]][::]\ze "he=e-1 contained nextgroup=gitcommitDiscardedFile skipwhite
|
||||||
syn match gitcommitSelectedType "\t\@<=[[:lower:]][^:]*[[:lower:]]: "he=e-2 contained containedin=gitcommitComment nextgroup=gitcommitSelectedFile skipwhite
|
syn match gitcommitSelectedType "\%(^.\t\)\@<=[^[:punct:][:space:]][^/::]*[^[:punct:][:space:]][::]\ze "he=e-1 contained nextgroup=gitcommitSelectedFile skipwhite
|
||||||
syn match gitcommitUnmergedType "\t\@<=[[:lower:]][^:]*[[:lower:]]: "he=e-2 contained containedin=gitcommitComment nextgroup=gitcommitUnmergedFile skipwhite
|
syn match gitcommitUnmergedType "\%(^.\t\)\@<=[^[:punct:][:space:]][^/::]*[^[:punct:][:space:]][::]\ze "he=e-1 contained nextgroup=gitcommitUnmergedFile skipwhite
|
||||||
syn match gitcommitDiscardedFile ".\{-\}\%($\| -> \)\@=" contained nextgroup=gitcommitDiscardedArrow
|
syn match gitcommitDiscardedFile "\S.\{-\}\%($\| -> \)\@=" contained nextgroup=gitcommitDiscardedArrow
|
||||||
syn match gitcommitSelectedFile ".\{-\}\%($\| -> \)\@=" contained nextgroup=gitcommitSelectedArrow
|
syn match gitcommitSelectedFile "\S.\{-\}\%($\| -> \)\@=" contained nextgroup=gitcommitSelectedArrow
|
||||||
syn match gitcommitUnmergedFile ".\{-\}\%($\| -> \)\@=" contained nextgroup=gitcommitSelectedArrow
|
syn match gitcommitUnmergedFile "\S.\{-\}\%($\| -> \)\@=" contained nextgroup=gitcommitUnmergedArrow
|
||||||
syn match gitcommitDiscardedArrow " -> " contained nextgroup=gitcommitDiscardedFile
|
syn match gitcommitDiscardedArrow " -> " contained nextgroup=gitcommitDiscardedFile
|
||||||
syn match gitcommitSelectedArrow " -> " contained nextgroup=gitcommitSelectedFile
|
syn match gitcommitSelectedArrow " -> " contained nextgroup=gitcommitSelectedFile
|
||||||
syn match gitcommitUnmergedArrow " -> " contained nextgroup=gitcommitSelectedFile
|
syn match gitcommitUnmergedArrow " -> " contained nextgroup=gitcommitUnmergedFile
|
||||||
|
|
||||||
syn match gitcommitWarning "\%^[^#].*: needs merge$" nextgroup=gitcommitWarning skipnl
|
|
||||||
syn match gitcommitWarning "^[^#].*: needs merge$" nextgroup=gitcommitWarning skipnl contained
|
|
||||||
syn match gitcommitWarning "^\%(no changes added to commit\|nothing \%(added \)\=to commit\)\>.*\%$"
|
|
||||||
|
|
||||||
hi def link gitcommitSummary Keyword
|
hi def link gitcommitSummary Keyword
|
||||||
|
hi def link gitcommitTrailerToken Label
|
||||||
hi def link gitcommitComment Comment
|
hi def link gitcommitComment Comment
|
||||||
hi def link gitcommitUntracked gitcommitComment
|
hi def link gitcommitHash Identifier
|
||||||
hi def link gitcommitDiscarded gitcommitComment
|
|
||||||
hi def link gitcommitSelected gitcommitComment
|
|
||||||
hi def link gitcommitUnmerged gitcommitComment
|
|
||||||
hi def link gitcommitOnBranch Comment
|
hi def link gitcommitOnBranch Comment
|
||||||
hi def link gitcommitBranch Special
|
hi def link gitcommitBranch Special
|
||||||
hi def link gitcommitNoBranch gitCommitBranch
|
hi def link gitcommitNoBranch gitCommitBranch
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
" Language: git rebase --interactive
|
" Language: git rebase --interactive
|
||||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||||
" Filenames: git-rebase-todo
|
" Filenames: git-rebase-todo
|
||||||
" Last Change: 2019 Dec 06
|
" Last Change: 2022 Jan 05
|
||||||
|
|
||||||
if exists("b:current_syntax")
|
if exists("b:current_syntax")
|
||||||
finish
|
finish
|
||||||
@ -10,8 +10,10 @@ endif
|
|||||||
|
|
||||||
syn case match
|
syn case match
|
||||||
|
|
||||||
syn match gitrebaseHash "\v<\x{7,}>" contained
|
let s:c = escape((matchstr(getline('$'), '^[#;@!$%^&|:]\S\@!') . '#')[0], '^$.*[]~\"/')
|
||||||
syn match gitrebaseCommit "\v<\x{7,}>" nextgroup=gitrebaseSummary skipwhite
|
|
||||||
|
syn match gitrebaseHash "\v<\x{7,}>" contained contains=@NoSpell
|
||||||
|
syn match gitrebaseCommit "\v<\x{7,}>" nextgroup=gitrebaseSummary skipwhite contains=@NoSpell
|
||||||
syn match gitrebasePick "\v^p%(ick)=>" nextgroup=gitrebaseCommit skipwhite
|
syn match gitrebasePick "\v^p%(ick)=>" nextgroup=gitrebaseCommit skipwhite
|
||||||
syn match gitrebaseReword "\v^r%(eword)=>" nextgroup=gitrebaseCommit skipwhite
|
syn match gitrebaseReword "\v^r%(eword)=>" nextgroup=gitrebaseCommit skipwhite
|
||||||
syn match gitrebaseEdit "\v^e%(dit)=>" nextgroup=gitrebaseCommit skipwhite
|
syn match gitrebaseEdit "\v^e%(dit)=>" nextgroup=gitrebaseCommit skipwhite
|
||||||
@ -26,12 +28,15 @@ syn match gitrebaseLabel "\v^l(abel)=>" nextgroup=gitrebaseName skipwhite
|
|||||||
syn match gitrebaseReset "\v^(t|reset)=>" nextgroup=gitrebaseName skipwhite
|
syn match gitrebaseReset "\v^(t|reset)=>" nextgroup=gitrebaseName skipwhite
|
||||||
syn match gitrebaseSummary ".*" contains=gitrebaseHash contained
|
syn match gitrebaseSummary ".*" contains=gitrebaseHash contained
|
||||||
syn match gitrebaseCommand ".*" contained
|
syn match gitrebaseCommand ".*" contained
|
||||||
syn match gitrebaseComment "^\s*#.*" contains=gitrebaseHash
|
exe 'syn match gitrebaseComment " \@<=' . s:c . ' empty$" containedin=gitrebaseSummary contained'
|
||||||
|
exe 'syn match gitrebaseComment "^\s*' . s:c . '.*" contains=gitrebaseHash'
|
||||||
syn match gitrebaseSquashError "\v%^%(s%(quash)=>|f%(ixup)=>)" nextgroup=gitrebaseCommit skipwhite
|
syn match gitrebaseSquashError "\v%^%(s%(quash)=>|f%(ixup)=>)" nextgroup=gitrebaseCommit skipwhite
|
||||||
syn match gitrebaseMergeOption "\v-[Cc]>" nextgroup=gitrebaseMergeCommit skipwhite contained
|
syn match gitrebaseMergeOption "\v-[Cc]>" nextgroup=gitrebaseMergeCommit skipwhite contained
|
||||||
syn match gitrebaseMergeCommit "\v<\x{7,}>" nextgroup=gitrebaseName skipwhite contained
|
syn match gitrebaseMergeCommit "\v<\x{7,}>" nextgroup=gitrebaseName skipwhite contained
|
||||||
syn match gitrebaseName "\v[^[:space:].*?i:^~/-]\S+" nextgroup=gitrebaseMergeComment skipwhite contained
|
syn match gitrebaseName "\v[^[:space:].*?i:^~/-]\S+" nextgroup=gitrebaseMergeComment skipwhite contained
|
||||||
syn match gitrebaseMergeComment "#" nextgroup=gitrebaseSummary skipwhite contained
|
exe 'syn match gitrebaseMergeComment "' . s:c . '" nextgroup=gitrebaseSummary skipwhite contained'
|
||||||
|
|
||||||
|
unlet s:c
|
||||||
|
|
||||||
hi def link gitrebaseCommit gitrebaseHash
|
hi def link gitrebaseCommit gitrebaseHash
|
||||||
hi def link gitrebaseHash Identifier
|
hi def link gitrebaseHash Identifier
|
||||||
|
@ -1,8 +1,9 @@
|
|||||||
" Vim syntax file
|
" Vim syntax file
|
||||||
" Language: i3 config file
|
" Language: i3 config file
|
||||||
" Maintainer: Mohamed Boughaba <mohamed dot bgb at gmail dot com>
|
" Original Author: Mohamed Boughaba <mohamed dot bgb at gmail dot com>
|
||||||
|
" Maintainer: Quentin Hibon (github user hiqua)
|
||||||
" Version: 0.4
|
" Version: 0.4
|
||||||
" Last Change: 2021 Dec 14
|
" Last Change: 2022 Jan 04
|
||||||
|
|
||||||
" References:
|
" References:
|
||||||
" http://i3wm.org/docs/userguide.html#configuring
|
" http://i3wm.org/docs/userguide.html#configuring
|
||||||
|
Loading…
Reference in New Issue
Block a user