mirror of
https://github.com/macvim-dev/macvim.git
synced 2026-06-11 15:37:29 +02:00
Merge remote-tracking branch 'vim/master'
This commit is contained in:
+1
-1
@@ -23,7 +23,7 @@ freebsd_task:
|
||||
- sudo -u cirrus make test
|
||||
on_failure:
|
||||
test_artifacts:
|
||||
name: "Cirrus-CI-freebsd-failed-tests"
|
||||
name: "Cirrus-${CIRRUS_BUILD_ID}-freebsd-failed-tests"
|
||||
path: |
|
||||
runtime/indent/testdir/*.fail
|
||||
runtime/syntax/testdir/failed/*
|
||||
|
||||
@@ -7,7 +7,7 @@ runs:
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
# Name of the artifact to upload.
|
||||
name: ${{ github.workflow }}-${{ github.job }}-${{ join(matrix.*, '-') }}-failed-tests
|
||||
name: GH-${{ github.run_id }}-${{ github.run_attempt }}-${{ github.job }}-${{ join(matrix.*, '-') }}-failed-tests
|
||||
|
||||
# A file, directory or wildcard pattern that describes what
|
||||
# to upload.
|
||||
|
||||
@@ -3,7 +3,7 @@ vim9script noclear
|
||||
# Vim completion script
|
||||
# Language: C
|
||||
# Maintainer: The Vim Project <https://github.com/vim/vim>
|
||||
# Last Change: 2024 Jun 06
|
||||
# Last Change: 2025 Jul 24
|
||||
# Rewritten in Vim9 script by github user lacygoill
|
||||
# Former Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
|
||||
@@ -121,6 +121,10 @@ export def Complete(findstart: bool, abase: string): any # {{{1
|
||||
endif
|
||||
endwhile
|
||||
|
||||
if complete_check()
|
||||
return v:none
|
||||
endif
|
||||
|
||||
# Find the variable items[0].
|
||||
# 1. in current function (like with "gd")
|
||||
# 2. in tags file(s) (like with ":tag")
|
||||
@@ -135,6 +139,9 @@ export def Complete(findstart: bool, abase: string): any # {{{1
|
||||
# Handle multiple declarations on the same line.
|
||||
var col2: number = col - 1
|
||||
while line[col2] != ';'
|
||||
if complete_check()
|
||||
return res
|
||||
endif
|
||||
--col2
|
||||
endwhile
|
||||
line = line[col2 + 1 :]
|
||||
@@ -145,6 +152,9 @@ export def Complete(findstart: bool, abase: string): any # {{{1
|
||||
# declaration.
|
||||
var col2: number = col - 1
|
||||
while line[col2] != ','
|
||||
if complete_check()
|
||||
return res
|
||||
endif
|
||||
--col2
|
||||
endwhile
|
||||
if line[col2 + 1 : col - 1] =~ ' *[^ ][^ ]* *[^ ]'
|
||||
@@ -215,6 +225,9 @@ export def Complete(findstart: bool, abase: string): any # {{{1
|
||||
|
||||
res = []
|
||||
for i: number in len(diclist)->range()
|
||||
if complete_check()
|
||||
return res
|
||||
endif
|
||||
# New ctags has the "typeref" field. Patched version has "typename".
|
||||
if diclist[i]->has_key('typename')
|
||||
res = res->extend(diclist[i]['typename']->StructMembers(items[1 :], true))
|
||||
@@ -246,6 +259,9 @@ export def Complete(findstart: bool, abase: string): any # {{{1
|
||||
var last: number = len(items) - 1
|
||||
var brackets: string = ''
|
||||
while last >= 0
|
||||
if complete_check()
|
||||
return res
|
||||
endif
|
||||
if items[last][0] != '['
|
||||
break
|
||||
endif
|
||||
@@ -311,6 +327,9 @@ def Dict2info(dict: dict<any>): string # {{{1
|
||||
# Use all the items in dictionary for the "info" entry.
|
||||
var info: string = ''
|
||||
for k: string in dict->keys()->sort()
|
||||
if complete_check()
|
||||
return info
|
||||
endif
|
||||
info ..= k .. repeat(' ', 10 - strlen(k))
|
||||
if k == 'cmd'
|
||||
info ..= dict['cmd']
|
||||
@@ -346,6 +365,9 @@ def ParseTagline(line: string): dict<any> # {{{1
|
||||
endwhile
|
||||
endif
|
||||
for i: number in range(n + 1, len(l) - 1)
|
||||
if complete_check()
|
||||
return d
|
||||
endif
|
||||
if l[i] == 'file:'
|
||||
d['static'] = 1
|
||||
elseif l[i] !~ ':'
|
||||
@@ -441,6 +463,9 @@ def Nextitem( # {{{1
|
||||
# Try to recognize the type of the variable. This is rough guessing...
|
||||
var res: list<dict<string>>
|
||||
for tidx: number in len(tokens)->range()
|
||||
if complete_check()
|
||||
return res
|
||||
endif
|
||||
|
||||
# Skip tokens starting with a non-ID character.
|
||||
if tokens[tidx] !~ '^\h'
|
||||
@@ -467,6 +492,11 @@ def Nextitem( # {{{1
|
||||
# Use the tags file to find out if this is a typedef.
|
||||
var diclist: list<dict<any>> = taglist('^' .. tokens[tidx] .. '$')
|
||||
for tagidx: number in len(diclist)->range()
|
||||
|
||||
if complete_check()
|
||||
return res
|
||||
endif
|
||||
|
||||
var item: dict<any> = diclist[tagidx]
|
||||
|
||||
# New ctags has the "typeref" field. Patched version has "typename".
|
||||
@@ -559,6 +589,9 @@ def StructMembers( # {{{1
|
||||
endif
|
||||
if !cached
|
||||
while 1
|
||||
if complete_check()
|
||||
return []
|
||||
endif
|
||||
execute 'silent! keepjumps noautocmd '
|
||||
.. n .. 'vimgrep ' .. '/\t' .. typename .. '\(\t\|$\)/j '
|
||||
.. fnames
|
||||
@@ -581,6 +614,9 @@ def StructMembers( # {{{1
|
||||
var idx: number = 0
|
||||
var target: string
|
||||
while 1
|
||||
if complete_check()
|
||||
return []
|
||||
endif
|
||||
if idx >= len(items)
|
||||
target = '' # No further items, matching all members
|
||||
break
|
||||
@@ -619,6 +655,9 @@ def StructMembers( # {{{1
|
||||
# Skip over next [...] items
|
||||
++idx
|
||||
while 1
|
||||
if complete_check()
|
||||
return matches
|
||||
endif
|
||||
if idx >= len(items)
|
||||
return matches # No further items, return the result.
|
||||
endif
|
||||
@@ -646,6 +685,9 @@ def SearchMembers( # {{{1
|
||||
# When "all" is true find all, otherwise just return 1 if there is any member.
|
||||
var res: list<dict<string>>
|
||||
for i: number in len(matches)->range()
|
||||
if complete_check()
|
||||
return res
|
||||
endif
|
||||
var typename: string = ''
|
||||
var line: string
|
||||
if matches[i]->has_key('dict')
|
||||
|
||||
Vendored
+31
-36
@@ -2,12 +2,9 @@ vim9script
|
||||
|
||||
# Language: Vim script
|
||||
# Maintainer: github user lacygoill
|
||||
# Last Change: 2025 Apr 13
|
||||
# Last Change: 2025 Jul 25
|
||||
#
|
||||
# Includes changes from The Vim Project:
|
||||
# - 2024 Feb 09: Fix indent after literal Dict (A. Radev via #13966)
|
||||
# - 2024 Nov 08: Fix indent after :silent! function (D. Kearns via #16009)
|
||||
# - 2024 Dec 26: Fix indent for enums (Jim Zhou via #16293)
|
||||
|
||||
# NOTE: Whenever you change the code, make sure the tests are still passing:
|
||||
#
|
||||
@@ -23,9 +20,8 @@ def IndentMoreInBracketBlock(): number # {{{2
|
||||
if get(g:, 'vim_indent', {})
|
||||
->get('more_in_bracket_block', false)
|
||||
return shiftwidth()
|
||||
else
|
||||
return 0
|
||||
endif
|
||||
return 0
|
||||
enddef
|
||||
|
||||
def IndentMoreLineContinuation(): number # {{{2
|
||||
@@ -35,9 +31,8 @@ def IndentMoreLineContinuation(): number # {{{2
|
||||
|
||||
if n->typename() == 'string'
|
||||
return n->eval()
|
||||
else
|
||||
return n
|
||||
endif
|
||||
return n
|
||||
enddef
|
||||
# }}}2
|
||||
|
||||
@@ -145,7 +140,7 @@ const HEREDOC_OPERATOR: string = '\s=<<\s\@=\%(\s\+\%(trim\|eval\)\)\{,2}'
|
||||
|
||||
# A better regex would be:
|
||||
#
|
||||
# [^-+*/%.:# \t[:alnum:]\"|]\@=.\|->\@!\%(=\s\)\@!\|[+*/%]\%(=\s\)\@!
|
||||
# [^-+*/%.:#[:blank:][:alnum:]\"|]\|->\@!\%(=\s\)\@!\|[+*/%]\%(=\s\)\@!
|
||||
#
|
||||
# But sometimes, it can be too costly and cause `E363` to be given.
|
||||
const PATTERN_DELIMITER: string = '[-+*/%]\%(=\s\)\@!'
|
||||
@@ -193,10 +188,9 @@ const MODIFIERS: dict<string> = {
|
||||
patterns =<< trim eval END
|
||||
argdo\>!\=
|
||||
bufdo\>!\=
|
||||
cdo\>!\=
|
||||
[cl]f\=do\>!\=
|
||||
folddoc\%[losed]\>
|
||||
foldd\%[oopen]\>
|
||||
ldo\=\>!\=
|
||||
tabdo\=\>
|
||||
windo\>
|
||||
au\%[tocmd]\>!\=.*
|
||||
@@ -290,9 +284,9 @@ patterns = []
|
||||
for kwds: list<string> in BLOCKS
|
||||
for kwd: string in kwds[0 : -2]
|
||||
if MODIFIERS->has_key(kwd->Unshorten())
|
||||
patterns += [$'\%({MODIFIERS[kwd]}\)\={kwd}']
|
||||
patterns->add($'\%({MODIFIERS[kwd]}\)\={kwd}')
|
||||
else
|
||||
patterns += [kwd]
|
||||
patterns->add(kwd)
|
||||
endif
|
||||
endfor
|
||||
endfor
|
||||
@@ -348,7 +342,8 @@ patterns =<< trim eval END
|
||||
{'\'}<argd\%[elete]\s\+\*\s*$
|
||||
\<[lt]\=cd!\=\s\+-\s*$
|
||||
\<norm\%[al]!\=\s*\S\+$
|
||||
\%(\<sil\%[ent]!\=\s\+\)\=\<[nvxsoilct]\=\%(nore\|un\)map!\=\s
|
||||
\%(\<sil\%[ent]!\=\s\+\)\=\<[nvxsoilct]\=\%(nore\|un\)\=map!\=\s
|
||||
\<set\%(\%[global]\|\%[local]\)\>.*,$
|
||||
{PLUS_MINUS_COMMAND}
|
||||
END
|
||||
|
||||
@@ -430,6 +425,9 @@ export def Expr(lnum = v:lnum): number # {{{2
|
||||
elseif line_A.lnum->IsRightBelow('HereDoc')
|
||||
var ind: number = b:vimindent.startindent
|
||||
unlet! b:vimindent
|
||||
if line_A.text =~ ENDS_BLOCK_OR_CLAUSE
|
||||
return ind - shiftwidth()
|
||||
endif
|
||||
return ind
|
||||
endif
|
||||
|
||||
@@ -444,9 +442,8 @@ export def Expr(lnum = v:lnum): number # {{{2
|
||||
if line_A.text =~ BACKSLASH_AT_SOL
|
||||
if line_B.text =~ BACKSLASH_AT_SOL
|
||||
return Indent(line_B.lnum)
|
||||
else
|
||||
return Indent(line_B.lnum) + IndentMoreLineContinuation()
|
||||
endif
|
||||
return Indent(line_B.lnum) + IndentMoreLineContinuation()
|
||||
endif
|
||||
|
||||
if line_A->AtStartOf('FuncHeader')
|
||||
@@ -459,9 +456,8 @@ export def Expr(lnum = v:lnum): number # {{{2
|
||||
unlet! b:vimindent
|
||||
if line_A.text =~ ENDS_FUNCTION
|
||||
return startindent
|
||||
else
|
||||
return startindent + shiftwidth()
|
||||
endif
|
||||
return startindent + shiftwidth()
|
||||
endif
|
||||
|
||||
var past_bracket_block: dict<any>
|
||||
@@ -542,8 +538,9 @@ export def Expr(lnum = v:lnum): number # {{{2
|
||||
|
||||
if line_B.text =~ STARTS_CURLY_BLOCK
|
||||
return Indent(line_B.lnum) + shiftwidth() + IndentMoreInBracketBlock()
|
||||
endif
|
||||
|
||||
elseif line_A.text =~ CLOSING_BRACKET_AT_SOL
|
||||
if line_A.text =~ CLOSING_BRACKET_AT_SOL
|
||||
var start: number = MatchingOpenBracket(line_A)
|
||||
if start <= 0
|
||||
return -1
|
||||
@@ -565,9 +562,8 @@ export def Expr(lnum = v:lnum): number # {{{2
|
||||
var block_start: number = SearchPairStart(start, middle, end)
|
||||
if block_start > 0
|
||||
return Indent(block_start)
|
||||
else
|
||||
return -1
|
||||
endif
|
||||
return -1
|
||||
endif
|
||||
|
||||
var base_ind: number
|
||||
@@ -591,8 +587,7 @@ export def Expr(lnum = v:lnum): number # {{{2
|
||||
endif
|
||||
endif
|
||||
|
||||
var ind: number = base_ind + Offset(line_A, line_B)
|
||||
return [ind, 0]->max()
|
||||
return base_ind + Offset(line_A, line_B)
|
||||
enddef
|
||||
|
||||
def g:GetVimIndent(): number # {{{2
|
||||
@@ -611,29 +606,31 @@ def Offset( # {{{2
|
||||
if line_B->AtStartOf('FuncHeader')
|
||||
&& IsInInterface()
|
||||
return 0
|
||||
endif
|
||||
|
||||
# increase indentation inside a block
|
||||
elseif line_B.text =~ STARTS_NAMED_BLOCK
|
||||
if line_B.text =~ STARTS_NAMED_BLOCK
|
||||
|| line_B->EndsWithCurlyBlock()
|
||||
# But don't indent if the line starting the block also closes it.
|
||||
if line_B->AlsoClosesBlock()
|
||||
return 0
|
||||
endif
|
||||
# Indent twice for a line continuation in the block header itself, so that
|
||||
# we can easily distinguish the end of the block header from the start of
|
||||
# the block body.
|
||||
elseif (line_B->EndsWithLineContinuation()
|
||||
if (line_B->EndsWithLineContinuation()
|
||||
&& !line_A.isfirst)
|
||||
|| (line_A.text =~ LINE_CONTINUATION_AT_SOL
|
||||
&& line_A.text !~ PLUS_MINUS_COMMAND)
|
||||
|| line_A.text->Is_IN_KeywordForLoop(line_B.text)
|
||||
return 2 * shiftwidth()
|
||||
else
|
||||
return shiftwidth()
|
||||
endif
|
||||
return shiftwidth()
|
||||
endif
|
||||
|
||||
# increase indentation of a line if it's the continuation of a command which
|
||||
# started on a previous line
|
||||
elseif !line_A.isfirst
|
||||
if !line_A.isfirst
|
||||
&& (line_B->EndsWithLineContinuation()
|
||||
|| line_A.text =~ LINE_CONTINUATION_AT_SOL)
|
||||
&& !(line_B->EndsWithComma() && line_A.lnum->IsInside('EnumBlock'))
|
||||
@@ -653,12 +650,11 @@ def HereDocIndent(line_A: string): number # {{{2
|
||||
# will need to be indented relative to the start of the heredoc. It
|
||||
# must know where it starts; it needs the cache.
|
||||
return 0
|
||||
else
|
||||
var ind: number = b:vimindent.startindent
|
||||
# invalidate the cache so that it's not used for the next heredoc
|
||||
unlet! b:vimindent
|
||||
return ind
|
||||
endif
|
||||
var ind: number = b:vimindent.startindent
|
||||
# invalidate the cache so that it's not used for the next heredoc
|
||||
unlet! b:vimindent
|
||||
return ind
|
||||
endif
|
||||
|
||||
# In a non-trimmed heredoc, all of leading whitespace is semantic.
|
||||
@@ -700,7 +696,7 @@ def HereDocIndent(line_A: string): number # {{{2
|
||||
b:vimindent.startindent = new_startindent
|
||||
endif
|
||||
|
||||
return [0, Indent(v:lnum) + b:vimindent.offset]->max()
|
||||
return Indent(v:lnum) + b:vimindent.offset
|
||||
enddef
|
||||
|
||||
def CommentIndent(): number # {{{2
|
||||
@@ -727,9 +723,8 @@ def CommentIndent(): number # {{{2
|
||||
endif
|
||||
if getline(next) =~ ENDS_BLOCK
|
||||
return ind + shiftwidth()
|
||||
else
|
||||
return ind
|
||||
endif
|
||||
return ind
|
||||
enddef
|
||||
|
||||
def BracketBlockIndent(line_A: dict<any>, block: dict<any>): number # {{{2
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*builtin.txt* For Vim version 9.1. Last change: 2025 Jul 21
|
||||
*builtin.txt* For Vim version 9.1. Last change: 2025 Jul 22
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -12370,7 +12370,7 @@ wildtrigger() *wildtrigger()*
|
||||
produce a beep when no matches are found and generally
|
||||
operates more quietly. This makes it suitable for triggering
|
||||
completion automatically, such as from an |:autocmd|.
|
||||
*cmdline-autocompletion*
|
||||
*cmdline-autocompletion*
|
||||
Example: To make the completion menu pop up automatically as
|
||||
you type on the command line, use: >
|
||||
autocmd CmdlineChanged [:/?] call wildtrigger()
|
||||
|
||||
+15
-16
@@ -1,4 +1,4 @@
|
||||
*develop.txt* For Vim version 9.1. Last change: 2025 Jul 21
|
||||
*develop.txt* For Vim version 9.1. Last change: 2025 Jul 22
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -297,16 +297,16 @@ count.
|
||||
==============================================================================
|
||||
3. Assumptions *design-assumptions*
|
||||
|
||||
The following sections define the portability and compatibility constraints that
|
||||
all Vim code and build tools must adhere to.
|
||||
The following sections define the portability and compatibility constraints
|
||||
that all Vim code and build tools must adhere to.
|
||||
|
||||
|
||||
MAKEFILES *assumptions-makefiles*
|
||||
*POSIX.1-2001*
|
||||
|
||||
Vim’s main Makefiles target maximum portability, relying solely on features
|
||||
defined in POSIX.1-2001 `make` and ignoring later POSIX standards or
|
||||
GNU/BSD extensions. In practical terms, avoid:
|
||||
Vim's main Makefiles target maximum portability, relying solely on features
|
||||
defined in POSIX.1-2001 `make` and ignoring later POSIX standards or GNU/BSD
|
||||
extensions. In practical terms, avoid:
|
||||
|
||||
– % pattern rules
|
||||
– modern assignment (`:=`, `::=`) outside POSIX.1-2001
|
||||
@@ -314,19 +314,18 @@ GNU/BSD extensions. In practical terms, avoid:
|
||||
– order-only prerequisites (`|`) or automatic directory creation
|
||||
– GNU/BSD conditionals (`ifdef`, `ifndef`, `.for`/`.endfor`, …)
|
||||
|
||||
Since POSIX.1-2001 supports only traditional suffix rules, every object
|
||||
built in a separate directory must have an explicit rule. For example:
|
||||
Since POSIX.1-2001 supports only traditional suffix rules, every object built
|
||||
in a separate directory must have an explicit rule. For example:
|
||||
|
||||
objects/evalbuffer.o: evalbuffer.c
|
||||
$(CCC) -o $@ evalbuffer.c
|
||||
|
||||
This verbosity ensures that the same Makefile builds Vim unchanged with
|
||||
the default `make` on Linux, *BSD, macOS, Solaris, AIX, HP-UX and virtually
|
||||
any Unix-like OS.
|
||||
This verbosity ensures that the same Makefile builds Vim unchanged with the
|
||||
default `make` on Linux, *BSD, macOS, Solaris, AIX, HP-UX and virtually any
|
||||
Unix-like OS.
|
||||
|
||||
Some platform-specific Makefiles (e.g., for Windows, NSIS, or Cygwin) may
|
||||
use more advanced features when compatibility with basic make is not
|
||||
required.
|
||||
Some platform-specific Makefiles (e.g., for Windows, NSIS, or Cygwin) may use
|
||||
more advanced features when compatibility with basic make is not required.
|
||||
|
||||
|
||||
C COMPILER *assumptions-C-compiler*
|
||||
@@ -343,8 +342,8 @@ In addition, the following two `C99` features are explicitly allowed:
|
||||
– `//` comments, as required by |style-comments|;
|
||||
– the `_Bool` type.
|
||||
|
||||
Platform-specific code may use any newer compiler features supported on
|
||||
that platform.
|
||||
Platform-specific code may use any newer compiler features supported on that
|
||||
platform.
|
||||
|
||||
|
||||
SIZE OF VARIABLES *assumptions-variables*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*eval.txt* For Vim version 9.1. Last change: 2025 Jul 20
|
||||
*eval.txt* For Vim version 9.1. Last change: 2025 Jul 22
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -3327,7 +3327,7 @@ text...
|
||||
CODE
|
||||
<
|
||||
*E121*
|
||||
:let {var-name} .. List the value of variable {var-name}. Multiple
|
||||
:let {var-name} ... List the value of variable {var-name}. Multiple
|
||||
variable names may be given. Special names recognized
|
||||
here: *E738*
|
||||
g: global variables
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*gui_x11.txt* For Vim version 9.1. Last change: 2024 Nov 17
|
||||
*gui_x11.txt* For Vim version 9.1. Last change: 2025 Jul 23
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -658,9 +658,8 @@ X11R5 with a library for X11R6 probably doesn't work (although the linking
|
||||
won't give an error message, Vim will crash later).
|
||||
|
||||
*gui-wayland*
|
||||
Initial support for the Wayland display server protocol has landed in patch
|
||||
9.1.0064. To enable it, you need to set the environment variable
|
||||
"$GVIM_ENABLE_WAYLAND" in your shell.
|
||||
Support for the Wayland display server protocol has landed in patch
|
||||
9.1.0064.
|
||||
|
||||
Note: The Wayland protocol is subject to some restrictions, so the following
|
||||
functions won't work: |getwinpos()|, |getwinposx()|, |getwinposy()| and the
|
||||
|
||||
+18
-2
@@ -1,4 +1,4 @@
|
||||
*insert.txt* For Vim version 9.1. Last change: 2025 Jul 17
|
||||
*insert.txt* For Vim version 9.1. Last change: 2025 Jul 25
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1133,6 +1133,22 @@ Stop completion *compl-stop*
|
||||
CTRL-X CTRL-Z Stop completion without changing the text.
|
||||
|
||||
|
||||
AUTOCOMPLETION *ins-autocompletion*
|
||||
|
||||
Vim can display a completion menu as you type, similar to using |i_CTRL-N|,
|
||||
but triggered automatically. See |'autocomplete'|. The menu items are
|
||||
collected from the sources listed in the |'complete'| option.
|
||||
|
||||
Unlike manual |i_CTRL-N| completion, this mode uses a decaying timeout to keep
|
||||
Vim responsive. Sources earlier in the |'complete'| list are given more time
|
||||
(higher priority), but every source is guaranteed a time slice, however small.
|
||||
|
||||
This mode is fully compatible with other completion modes. You can invoke
|
||||
any of them at any time by typing |CTRL-X|, which temporarily suspends
|
||||
autocompletion. To use |i_CTRL-N| specifically, press |CTRL-E| first to
|
||||
dismiss the popup menu (see |complete_CTRL-E|).
|
||||
|
||||
|
||||
FUNCTIONS FOR FINDING COMPLETIONS *complete-functions*
|
||||
|
||||
This applies to 'completefunc', 'thesaurusfunc' and 'omnifunc'.
|
||||
@@ -1475,7 +1491,7 @@ Universal Ctags is preferred, Exuberant Ctags is no longer being developed.
|
||||
|
||||
For Exuberant ctags, version 5.6 or later is recommended. For version 5.5.4
|
||||
you should add a patch that adds the "typename:" field:
|
||||
ftp://ftp.vim.org/pub/vim/unstable/patches/ctags-5.5.4.patch
|
||||
https://ftp.nluug.nl/pub/vim/unstable/patches/ctags-5.5.4.patch
|
||||
A compiled .exe for MS-Windows can be found at:
|
||||
http://ctags.sourceforge.net/
|
||||
https://github.com/universal-ctags/ctags-win32
|
||||
|
||||
+14
-4
@@ -1,4 +1,4 @@
|
||||
*options.txt* For Vim version 9.1. Last change: 2025 Jul 21
|
||||
*options.txt* For Vim version 9.1. Last change: 2025 Jul 25
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -908,6 +908,13 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
the current directory won't change when navigating to it.
|
||||
Note: When this option is on some plugins may not work.
|
||||
|
||||
*'autocomplete'* *'ac'* *'noautocomplete'* *'noac'*
|
||||
'autocomplete' 'ac' boolean (default off)
|
||||
global
|
||||
{only available on platforms with timing support}
|
||||
When on, Vim shows a completion menu as you type, similar to using
|
||||
|i_CTRL-N|, but triggered automatically. See |ins-autocompletion|.
|
||||
|
||||
*'autoindent'* *'ai'* *'noautoindent'* *'noai'*
|
||||
'autoindent' 'ai' boolean (default off)
|
||||
local to buffer
|
||||
@@ -2144,9 +2151,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
If the Dict returned by the {func} includes {"refresh": "always"},
|
||||
the function will be invoked again whenever the leading text
|
||||
changes.
|
||||
If generating matches is potentially slow, |complete_check()|
|
||||
should be used to avoid blocking and preserve editor
|
||||
responsiveness.
|
||||
If generating matches is potentially slow, call
|
||||
|complete_check()| periodically to keep Vim responsive. This
|
||||
is especially important for |ins-autocompletion|.
|
||||
F equivalent to using "F{func}", where the function is taken from
|
||||
the 'completefunc' option.
|
||||
o equivalent to using "F{func}", where the function is taken from
|
||||
@@ -2293,6 +2300,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
completion in the preview window. Only works in
|
||||
combination with "menu" or "menuone".
|
||||
|
||||
Only "fuzzy", "popup", "popuphidden" and "preview" have an effect when
|
||||
'autocomplete' is enabled.
|
||||
|
||||
This option does not apply to |cmdline-completion|. See 'wildoptions'
|
||||
for that.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*os_amiga.txt* For Vim version 9.1. Last change: 2010 Aug 14
|
||||
*os_amiga.txt* For Vim version 9.1. Last change: 2025 Jul 22
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -111,12 +111,12 @@ would be better to enter:
|
||||
vim --noplugins <of course you can add a file>
|
||||
|
||||
|
||||
Installation ~
|
||||
Installation of a binary archive ~
|
||||
|
||||
1) Please copy the binary 'VIM' file to c:
|
||||
2) Get the Vim runtime package from:
|
||||
2) Get the Vim runtime package from (Note: that server is no longer updated):
|
||||
|
||||
ftp://ftp.vim.org/pub/vim/amiga/vim62rt.tgz
|
||||
https://ftp.nluug.nl/pub/vim/amiga/vim90src.tgz
|
||||
|
||||
and unpack it in your 'Apps' directory of the MorphOS installation. For me
|
||||
this would create following directory hierarchy:
|
||||
@@ -143,5 +143,13 @@ Installation ~
|
||||
Cls
|
||||
;End VIM
|
||||
|
||||
Compiling~
|
||||
|
||||
You can download the Vim source code from the official Vim site:
|
||||
https://github.com/vim/vim/archive/refs/heads/master.zip
|
||||
Or using git: >
|
||||
git clone https://github.com/vim/vim.git
|
||||
|
||||
For compiling see "src/INSTALLami.txt"
|
||||
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
+12
-4
@@ -1,4 +1,4 @@
|
||||
*os_vms.txt* For Vim version 9.1. Last change: 2024 May 11
|
||||
*os_vms.txt* For Vim version 9.1. Last change: 2025 Jul 22
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL
|
||||
@@ -33,10 +33,18 @@ Vim on other operating systems.
|
||||
|
||||
2. Download files *vms-download*
|
||||
|
||||
You can download the Vim source code by ftp from the official Vim site:
|
||||
ftp://ftp.vim.org/pub/vim/
|
||||
You can download the Vim source code from the official Vim site:
|
||||
https://github.com/vim/vim/archive/refs/heads/master.zip
|
||||
Or using git: >
|
||||
git clone https://github.com/vim/vim.git
|
||||
|
||||
Older release archives are also available at:
|
||||
https://ftp.nluug.nl/pub/vim/
|
||||
ftp://ftp.nluug.nl/pub/vim/
|
||||
Or use one of the mirrors:
|
||||
ftp://ftp.vim.org/pub/vim/MIRRORS
|
||||
https://ftp.nluug.nl/pub/vim/MIRRORS
|
||||
|
||||
Note: the ftp server has been retired and is no longer updated.
|
||||
|
||||
You can download precompiled executables from:
|
||||
http://www.polarhome.com/vim/
|
||||
|
||||
@@ -90,7 +90,6 @@ Copyright: Copyright (C) 2017 Charles E Campbell *netrw-copyright*
|
||||
Marked Files: Grep..................................|netrw-mg|
|
||||
Marked Files: Hiding and Unhiding by Suffix.........|netrw-mh|
|
||||
Marked Files: Moving................................|netrw-mm|
|
||||
Marked Files: Printing..............................|netrw-mp|
|
||||
Marked Files: Sourcing..............................|netrw-ms|
|
||||
Marked Files: Setting the Target Directory..........|netrw-mt|
|
||||
Marked Files: Tagging...............................|netrw-mT|
|
||||
@@ -1066,7 +1065,6 @@ QUICK REFERENCE: MAPS *netrw-browse-maps* {{{2
|
||||
mg Apply vimgrep to marked files |netrw-mg|
|
||||
mh Toggle marked file suffices' presence on hiding list |netrw-mh|
|
||||
mm Move marked files to marked-file target directory |netrw-mm|
|
||||
mp Print marked files |netrw-mp|
|
||||
mr Mark files using a shell-style |regexp| |netrw-mr|
|
||||
mt Current browsing directory becomes markfile target |netrw-mt|
|
||||
mT Apply ctags to marked files |netrw-mT|
|
||||
@@ -2001,7 +1999,6 @@ The following netrw maps make use of marked files:
|
||||
|netrw-mF| Unmark marked files
|
||||
|netrw-mg| Apply vimgrep to marked files
|
||||
|netrw-mm| Move marked files to target
|
||||
|netrw-mp| Print marked files
|
||||
|netrw-ms| Netrw will source marked files
|
||||
|netrw-mt| Set target for |netrw-mm| and |netrw-mc|
|
||||
|netrw-mT| Generate tags using marked files
|
||||
@@ -2266,15 +2263,6 @@ from the current window (where one does the mf) to the target.
|
||||
|
||||
Associated setting variable: |g:netrw_localmovecmd| |g:netrw_ssh_cmd|
|
||||
|
||||
MARKED FILES: PRINTING *netrw-mp* {{{2
|
||||
(See |netrw-mf| and |netrw-mr| for how to mark files)
|
||||
(uses the local marked file list)
|
||||
|
||||
When "mp" is used, netrw will apply the |:hardcopy| command to marked files.
|
||||
What netrw does is open each file in a one-line window, execute hardcopy, then
|
||||
close the one-line window.
|
||||
|
||||
|
||||
MARKED FILES: SOURCING *netrw-ms* {{{2
|
||||
(See |netrw-mf| and |netrw-mr| for how to mark files)
|
||||
(uses the local marked file list)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*quickref.txt* For Vim version 9.1. Last change: 2025 Jul 16
|
||||
*quickref.txt* For Vim version 9.1. Last change: 2025 Jul 25
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -607,6 +607,7 @@ Short explanation of each option: *option-list*
|
||||
'arabic' 'arab' for Arabic as a default second language
|
||||
'arabicshape' 'arshape' do shaping for Arabic characters
|
||||
'autochdir' 'acd' change directory to the file in the current window
|
||||
'autocomplete' 'ac' automatic completion in insert mode
|
||||
'autoindent' 'ai' take indent for new line from previous line
|
||||
'autoread' 'ar' autom. read file when changed outside of Vim
|
||||
'autoshelldir' 'asd' change directory to the shell's current directory
|
||||
|
||||
+7
-1
@@ -41,6 +41,7 @@ $quote eval.txt /*$quote*
|
||||
'] motion.txt /*']*
|
||||
'^ motion.txt /*'^*
|
||||
'a motion.txt /*'a*
|
||||
'ac' options.txt /*'ac'*
|
||||
'acd' options.txt /*'acd'*
|
||||
'ai' options.txt /*'ai'*
|
||||
'akm' options.txt /*'akm'*
|
||||
@@ -62,6 +63,7 @@ $quote eval.txt /*$quote*
|
||||
'as' todo.txt /*'as'*
|
||||
'asd' options.txt /*'asd'*
|
||||
'autochdir' options.txt /*'autochdir'*
|
||||
'autocomplete' options.txt /*'autocomplete'*
|
||||
'autoindent' options.txt /*'autoindent'*
|
||||
'autoprint' vi_diff.txt /*'autoprint'*
|
||||
'autoread' options.txt /*'autoread'*
|
||||
@@ -567,6 +569,7 @@ $quote eval.txt /*$quote*
|
||||
'mzschemedll' options.txt /*'mzschemedll'*
|
||||
'mzschemegcdll' options.txt /*'mzschemegcdll'*
|
||||
'nf' options.txt /*'nf'*
|
||||
'noac' options.txt /*'noac'*
|
||||
'noacd' options.txt /*'noacd'*
|
||||
'noai' options.txt /*'noai'*
|
||||
'noakm' options.txt /*'noakm'*
|
||||
@@ -583,6 +586,7 @@ $quote eval.txt /*$quote*
|
||||
'noas' todo.txt /*'noas'*
|
||||
'noasd' options.txt /*'noasd'*
|
||||
'noautochdir' options.txt /*'noautochdir'*
|
||||
'noautocomplete' options.txt /*'noautocomplete'*
|
||||
'noautoindent' options.txt /*'noautoindent'*
|
||||
'noautoread' options.txt /*'noautoread'*
|
||||
'noautosave' todo.txt /*'noautosave'*
|
||||
@@ -4671,6 +4675,8 @@ E143 autocmd.txt /*E143*
|
||||
E1432 vim9.txt /*E1432*
|
||||
E1433 vim9.txt /*E1433*
|
||||
E1434 vim9.txt /*E1434*
|
||||
E1435 vim9class.txt /*E1435*
|
||||
E1436 vim9class.txt /*E1436*
|
||||
E144 various.txt /*E144*
|
||||
E145 starting.txt /*E145*
|
||||
E146 change.txt /*E146*
|
||||
@@ -8693,6 +8699,7 @@ inputlist() builtin.txt /*inputlist()*
|
||||
inputrestore() builtin.txt /*inputrestore()*
|
||||
inputsave() builtin.txt /*inputsave()*
|
||||
inputsecret() builtin.txt /*inputsecret()*
|
||||
ins-autocompletion insert.txt /*ins-autocompletion*
|
||||
ins-completion insert.txt /*ins-completion*
|
||||
ins-completion-menu insert.txt /*ins-completion-menu*
|
||||
ins-expandtab insert.txt /*ins-expandtab*
|
||||
@@ -9371,7 +9378,6 @@ netrw-mm pi_netrw.txt /*netrw-mm*
|
||||
netrw-modify pi_netrw.txt /*netrw-modify*
|
||||
netrw-mouse pi_netrw.txt /*netrw-mouse*
|
||||
netrw-move pi_netrw.txt /*netrw-move*
|
||||
netrw-mp pi_netrw.txt /*netrw-mp*
|
||||
netrw-mr pi_netrw.txt /*netrw-mr*
|
||||
netrw-ms pi_netrw.txt /*netrw-ms*
|
||||
netrw-mt pi_netrw.txt /*netrw-mt*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*usr_02.txt* For Vim version 9.1. Last change: 2025 Jun 03
|
||||
*usr_02.txt* For Vim version 9.1. Last change: 2025 Jul 22
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@@ -614,7 +614,7 @@ Summary: *help-summary* >
|
||||
< for how the '|' is handled in mappings.
|
||||
|
||||
15) Command definitions are talked about :h command-topic, so use >
|
||||
:help command-bar
|
||||
:help command-bang
|
||||
< to find out about the '!' argument for custom commands.
|
||||
|
||||
16) Window management commands always start with CTRL-W, so you find the
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*usr_23.txt* For Vim version 9.1. Last change: 2020 Dec 19
|
||||
*usr_23.txt* For Vim version 9.1. Last change: 2025 Jul 22
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@@ -118,7 +118,7 @@ Someone sends you an e-mail message, which refers to a file by its URL. For
|
||||
example:
|
||||
|
||||
You can find the information here: ~
|
||||
ftp://ftp.vim.org/pub/vim/README ~
|
||||
https://ftp.nluug.nl/pub/vim/README
|
||||
|
||||
You could start a program to download the file, save it on your local disk and
|
||||
then start Vim to edit it.
|
||||
|
||||
+25
-45
@@ -1,4 +1,4 @@
|
||||
*usr_90.txt* For Vim version 9.1. Last change: 2025 Mar 03
|
||||
*usr_90.txt* For Vim version 9.1. Last change: 2025 Jul 24
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@@ -189,69 +189,49 @@ source code yourself!
|
||||
==============================================================================
|
||||
*90.2* MS-Windows
|
||||
|
||||
There are two ways to install the Vim program for Microsoft Windows. You can
|
||||
uncompress several archives, or use a self-installing big archive. Most users
|
||||
with fairly recent computers will prefer the second method. For the first
|
||||
one, you will need:
|
||||
There are several ways to install the Vim program for Microsoft Windows:
|
||||
|
||||
- An archive with binaries for Vim.
|
||||
- The Vim runtime archive.
|
||||
- A program to unpack the zip files.
|
||||
1. Official Website Download (Stable)~
|
||||
|
||||
To get the Vim archives, look in this file for a mirror near you, this should
|
||||
provide the fastest download:
|
||||
Visit the official Vim website at https://www.vim.org to download the latest
|
||||
stable version. The site links to the Windows installer that works out of the
|
||||
box for most users.
|
||||
|
||||
ftp://ftp.vim.org/pub/vim/MIRRORS
|
||||
2. Using winget (Windows Package Manager) ~
|
||||
|
||||
Or use the home site ftp.vim.org, if you think it's fast enough. Go to the
|
||||
"pc" directory and you'll find a list of files there. The version number is
|
||||
embedded in the file name. You will want to get the most recent version.
|
||||
We will use "82" here, which is version 8.2.
|
||||
If you prefer using the command line, you can quickly install Vim using
|
||||
Windows' built-in package manager for the stable version: >
|
||||
|
||||
gvim82.exe The self-installing archive.
|
||||
winget install vim.vim
|
||||
|
||||
This is all you need for the second method. Just launch the executable, and
|
||||
follow the prompts.
|
||||
Or to download the latest nightly version, use: >
|
||||
|
||||
For the first method you must choose one of the binary archives. These are
|
||||
available:
|
||||
winget install vim.vim.nightly
|
||||
|
||||
gvim82.zip The normal MS-Windows GUI version.
|
||||
gvim82ole.zip The MS-Windows GUI version with OLE support.
|
||||
Uses more memory, supports interfacing with
|
||||
other OLE applications.
|
||||
vim82w32.zip 32 bit MS-Windows console version.
|
||||
This method ensures you get an up-to-date version with minimal hassle.
|
||||
|
||||
You only need one of them. Although you could install both a GUI and a
|
||||
console version. You always need to get the archive with runtime files.
|
||||
3. GitHub Installer (All Architectures) ~
|
||||
|
||||
vim82rt.zip The runtime files.
|
||||
For more control over the installation (or if you're using a specific CPU
|
||||
architecture like ARM), visit the official GitHub repository:
|
||||
|
||||
Use your un-zip program to unpack the files. For example, using the "unzip"
|
||||
program: >
|
||||
https://github.com/vim/vim-win32-installer/
|
||||
|
||||
cd c:\
|
||||
unzip path\gvim82.zip
|
||||
unzip path\vim82rt.zip
|
||||
This repo provides daily installer and portable zip archives for:
|
||||
|
||||
This will unpack the files in the directory "c:\vim\vim82". If you already
|
||||
have a "vim" directory somewhere, you will want to move to the directory just
|
||||
above it.
|
||||
Now change to the "vim\vim82" directory and run the install program: >
|
||||
- x86 (32-bit)
|
||||
- x64 (64-bit)
|
||||
- ARM64
|
||||
|
||||
install
|
||||
|
||||
Carefully look through the messages and select the options you want to use.
|
||||
If you finally select "do it" the install program will carry out the actions
|
||||
you selected.
|
||||
The install program doesn't move the runtime files. They remain where you
|
||||
unpacked them.
|
||||
It's a great option if you want nightly builds or specific configuration
|
||||
|
||||
In case you are not satisfied with the features included in the supplied
|
||||
binaries, you could try compiling Vim yourself. Get the source archive from
|
||||
the same location as where the binaries are. You need a compiler for which a
|
||||
makefile exists. Microsoft Visual C, MinGW and Cygwin compilers can be used.
|
||||
Check the file src/INSTALLpc.txt for hints.
|
||||
Check the file src/INSTALLpc.txt for hints. You can get the source from:
|
||||
|
||||
https://github.com/vim/vim
|
||||
|
||||
==============================================================================
|
||||
*90.3* Upgrading
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*version6.txt* For Vim version 9.1. Last change: 2022 Apr 06
|
||||
*version6.txt* For Vim version 9.1. Last change: 2025 Jul 22
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -12624,7 +12624,7 @@ Solution: Use ":compiler!" to set a compiler globally, otherwise it's local
|
||||
to the buffer and "b:current_compiler" is used. Give an error
|
||||
when no compiler script could be found.
|
||||
Note: updated compiler plugins can be found at
|
||||
ftp://ftp.vim.org/pub/vim/runtime/compiler/
|
||||
https://github.com/vim/vim/tree/master/runtime/compiler
|
||||
Files: runtime/compiler/msvc.vim, runtime/doc/quickfix.txt, src/eval.c,
|
||||
src/ex_cmds2.c
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*version9.txt* For Vim version 9.1. Last change: 2025 Jul 21
|
||||
*version9.txt* For Vim version 9.1. Last change: 2025 Jul 25
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -41604,6 +41604,7 @@ Completion~
|
||||
"preinsert" - highlight to be inserted values
|
||||
"nearest" - sort completion results by distance to cursor
|
||||
- new function |wildtrigger()| to trigger wildcard expansion
|
||||
- Support for Autocompletion has been added |ins-autocompletion|
|
||||
|
||||
Platform specific~
|
||||
-----------------
|
||||
@@ -41809,6 +41810,7 @@ Ex-Commands: ~
|
||||
|
||||
Options: ~
|
||||
|
||||
'autocompletion' Enable auto completion |ins-autocompletion|
|
||||
'chistory' Size of the quickfix stack |quickfix-stack|.
|
||||
'completefuzzycollect' Enable fuzzy collection of candidates for (some)
|
||||
|ins-completion| modes
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*vim9class.txt* For Vim version 9.1. Last change: 2025 Apr 21
|
||||
*vim9class.txt* For Vim version 9.1. Last change: 2025 Jul 24
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -584,6 +584,8 @@ protected object methods, class variables and class methods.
|
||||
An interface can extend another interface using "extends". The sub-interface
|
||||
inherits all the instance variables and methods from the super interface.
|
||||
|
||||
An interface cannot be defined inside a function. *E1436*
|
||||
|
||||
==============================================================================
|
||||
|
||||
6. More class details *Vim9-class* *Class* *class*
|
||||
@@ -971,7 +973,7 @@ of that class. Unlike typical object instantiation with the |new()| method,
|
||||
enum instances cannot be created this way.
|
||||
|
||||
An enum can only be defined in a |Vim9| script file. *E1414*
|
||||
An enum cannot be defined inside a function.
|
||||
An enum cannot be defined inside a function. *E1435*
|
||||
|
||||
*E1415*
|
||||
An enum name must start with an uppercase letter. The name of an enum value
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: gpg(1) configuration file
|
||||
" Maintainer: This runtime file is looking for a new maintainer.
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2024-09-19 (simplify keywordprg #15696)
|
||||
" Latest Revision: 2025-07-22 (use :hor term #17822)
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
@@ -17,7 +18,7 @@ setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
|
||||
|
||||
if has('unix') && executable('less') && exists(':terminal') == 2
|
||||
command -buffer -nargs=1 GpgKeywordPrg
|
||||
\ silent exe ':term ' . 'env LESS= MANPAGER="less --pattern=''' . escape('^\s+--' . <q-args> . '\b', '\') . ''' --hilite-search" man ' . 'gpg'
|
||||
\ silent exe ':hor term ' . 'env LESS= MANPAGER="less --pattern=''' . escape('^\s+--' . <q-args> . '\b', '\') . ''' --hilite-search" man ' . 'gpg'
|
||||
setlocal iskeyword+=-
|
||||
setlocal keywordprg=:GpgKeywordPrg
|
||||
let b:undo_ftplugin .= '| setlocal keywordprg< iskeyword< | sil! delc -buffer GpgKeywordPrg'
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" Language: modules.conf(5) configuration file
|
||||
" Maintainer: This runtime file is looking for a new maintainer.
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2024-09-20 (remove erroneous endif)
|
||||
" Latest Revision: 2025-07-22 (use :hor term #17822)
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
@@ -19,7 +19,7 @@ setlocal formatoptions-=t formatoptions+=croql
|
||||
|
||||
if has('unix') && executable('less') && exists(':terminal') == 2
|
||||
command -buffer -nargs=1 ModconfKeywordPrg
|
||||
\ silent exe ':term ' . 'env LESS= MANPAGER="less --pattern=''' . escape('^\s{,8}' . <q-args> . '\b', '\') . ''' --hilite-search" man ' . 'modprobe.d'
|
||||
\ silent exe ':hor term ' . 'env LESS= MANPAGER="less --pattern=''' . escape('^\s{,8}' . <q-args> . '\b', '\') . ''' --hilite-search" man ' . 'modprobe.d'
|
||||
setlocal iskeyword+=-
|
||||
setlocal keywordprg=:ModconfKeywordPrg
|
||||
let b:undo_ftplugin .= '| setlocal keywordprg< iskeyword< | sil! delc -buffer ModconfKeywordPrg'
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: mutt RC File
|
||||
" Maintainer: This runtime file is looking for a new maintainer.
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2024-09-19 (simplify keywordprg #15696)
|
||||
" Latest Revision: 2025-07-22 (use :hor term #17822)
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
@@ -20,7 +21,7 @@ let &l:include = '^\s*source\>'
|
||||
|
||||
if has('unix') && executable('less') && exists(':terminal') == 2
|
||||
command -buffer -nargs=1 MuttrcKeywordPrg
|
||||
\ silent exe 'term ' . 'env LESS= MANPAGER="less --pattern=''' . escape('^\s+' . <q-args> . '\b', '\') . ''' --hilite-search" man ' . 'muttrc'
|
||||
\ silent exe 'hor term ' . 'env LESS= MANPAGER="less --pattern=''' . escape('^\s+' . <q-args> . '\b', '\') . ''' --hilite-search" man ' . 'muttrc'
|
||||
setlocal iskeyword+=-
|
||||
setlocal keywordprg=:MuttrcKeywordPrg
|
||||
let b:undo_ftplugin .= '| setlocal keywordprg< iskeyword< | sil! delc -buffer MuttrcKeywordPrg'
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
" 2024 Jan 14 by Vim Project (browsefilter)
|
||||
" 2024 May 23 by Riley Bruins <ribru17@gmail.com> ('commentstring')
|
||||
" 2024 Sep 19 by Konfekt (simplify keywordprg #15696)
|
||||
" 2025 Jul 22 by phanium (use :hor term #17822)
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if exists("b:did_ftplugin") | finish | endif
|
||||
@@ -51,7 +52,7 @@ endif
|
||||
|
||||
if exists('s:pwsh_cmd')
|
||||
if exists(':terminal') == 2
|
||||
command! -buffer -nargs=1 GetHelp silent exe 'term ' . s:pwsh_cmd . ' -NoLogo -NoProfile -NonInteractive -ExecutionPolicy RemoteSigned -Command Get-Help -Full "<args>"' . (executable('less') ? ' | less' : '')
|
||||
command! -buffer -nargs=1 GetHelp silent exe 'hor term ' . s:pwsh_cmd . ' -NoLogo -NoProfile -NonInteractive -ExecutionPolicy RemoteSigned -Command Get-Help -Full "<args>"' . (executable('less') ? ' | less' : '')
|
||||
else
|
||||
command! -buffer -nargs=1 GetHelp echo system(s:pwsh_cmd . ' -NoLogo -NoProfile -NonInteractive -ExecutionPolicy RemoteSigned -Command Get-Help -Full <args>')
|
||||
endif
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Last Change: 2024 Sep 19 (simplify keywordprg #15696)
|
||||
" 2024 Jul 22 by Vim project (use :hor term #17822)
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
@@ -36,7 +37,7 @@ endif
|
||||
|
||||
if has('unix') && executable('less') && exists(':terminal') == 2
|
||||
command -buffer -nargs=1 ReadlineKeywordPrg
|
||||
\ silent exe 'term ' . 'env LESS= MANPAGER="less --pattern=''' . escape('^\s+' . <q-args> . '\b', '\') . ''' --hilite-search" man ' . '3 readline'
|
||||
\ silent exe 'hor term ' . 'env LESS= MANPAGER="less --pattern=''' . escape('^\s+' . <q-args> . '\b', '\') . ''' --hilite-search" man ' . '3 readline'
|
||||
setlocal iskeyword+=-
|
||||
setlocal keywordprg=:ReadlineKeywordPrg
|
||||
let b:undo_ftplugin .= '| setlocal keywordprg< iskeyword< | sil! delc -buffer ReadlineKeywordPrg'
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
" Last Change: 2024 Sep 19 by Vim Project (compiler shellcheck)
|
||||
" 2024 Dec 29 by Vim Project (improve setting shellcheck compiler)
|
||||
" 2025 Mar 09 by Vim Project (set b:match_skip)
|
||||
" 2025 Jul 22 by phanium (use :hor term #17822)
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
@@ -53,7 +54,7 @@ let s:is_kornshell = get(b:, "is_kornshell", get(g:, "is_kornshell", 0))
|
||||
|
||||
if s:is_bash
|
||||
if exists(':terminal') == 2
|
||||
command! -buffer -nargs=1 ShKeywordPrg silent exe ':term bash -c "help "<args>" 2>/dev/null || man "<args>""'
|
||||
command! -buffer -nargs=1 ShKeywordPrg silent exe ':hor term bash -c "help "<args>" 2>/dev/null || man "<args>""'
|
||||
else
|
||||
command! -buffer -nargs=1 ShKeywordPrg echo system('bash -c "help <args>" 2>/dev/null || MANPAGER= man "<args>"')
|
||||
endif
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" Language: OpenSSH client configuration file
|
||||
" Maintainer: This runtime file is looking for a new maintainer.
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2024-09-19 (simplify keywordprg #15696)
|
||||
" Latest Revision: 2025-07-22 (use :hor term #17822)
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
@@ -17,7 +17,7 @@ let b:undo_ftplugin = 'setlocal com< cms< fo<'
|
||||
|
||||
if has('unix') && executable('less') && exists(':terminal') == 2
|
||||
command -buffer -nargs=1 SshconfigKeywordPrg
|
||||
\ silent exe 'term ' . 'env LESS= MANPAGER="less --pattern=''' . escape('^\s+' . <q-args> . '$', '\') . ''' --hilite-search" man ' . 'ssh_config'
|
||||
\ silent exe 'hor term ' . 'env LESS= MANPAGER="less --pattern=''' . escape('^\s+' . <q-args> . '$', '\') . ''' --hilite-search" man ' . 'ssh_config'
|
||||
setlocal iskeyword+=-
|
||||
setlocal keywordprg=:SshconfigKeywordPrg
|
||||
let b:undo_ftplugin .= '| setlocal keywordprg< iskeyword< | sil! delc -buffer SshconfigKeywordPrg'
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" Language: sudoers(5) configuration files
|
||||
" Maintainer: This runtime file is looking for a new maintainer.
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2024-09-19 (simplify keywordprg #15696)
|
||||
" Latest Revision: 2025-07-22 (use :hor term #17822)
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
@@ -18,7 +18,7 @@ setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
|
||||
|
||||
if has('unix') && executable('less') && exists(':terminal') == 2
|
||||
command -buffer -nargs=1 SudoersKeywordPrg
|
||||
\ silent exe ':term ' . 'env LESS= MANPAGER="less --pattern=''' . escape('\b' . <q-args> . '\b', '\') . ''' --hilite-search" man ' . 'sudoers'
|
||||
\ silent exe ':hor term ' . 'env LESS= MANPAGER="less --pattern=''' . escape('\b' . <q-args> . '\b', '\') . ''' --hilite-search" man ' . 'sudoers'
|
||||
setlocal iskeyword+=-
|
||||
setlocal keywordprg=:SudoersKeywordPrg
|
||||
let b:undo_ftplugin .= '| setlocal keywordprg< iskeyword< | sil! delc -buffer SudoersKeywordPrg'
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" Language: udev(8) rules file
|
||||
" Maintainer: This runtime file is looking for a new maintainer.
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2024-09-19 (simplify keywordprg #15696)
|
||||
" Latest Revision: 2025-07-22 (use :hor term #17822)
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
@@ -18,7 +18,7 @@ setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
|
||||
|
||||
if has('unix') && executable('less') && exists(':terminal') == 2
|
||||
command -buffer -nargs=1 UdevrulesKeywordPrg
|
||||
\ silent exe ':term ' . 'env LESS= MANPAGER="less --pattern=''' . escape('^\s{,8}' . <q-args> . '\b', '\') . ''' --hilite-search" man ' . 'udev'
|
||||
\ silent exe ':hor term ' . 'env LESS= MANPAGER="less --pattern=''' . escape('^\s{,8}' . <q-args> . '\b', '\') . ''' --hilite-search" man ' . 'udev'
|
||||
setlocal iskeyword+=-
|
||||
setlocal keywordprg=:UdevrulesKeywordPrg
|
||||
let b:undo_ftplugin .= '| setlocal keywordprg< iskeyword< | sil! delc -buffer UdevrulesKeywordPrg'
|
||||
|
||||
@@ -5,6 +5,8 @@
|
||||
" Latest Revision: 2024 Sep 19
|
||||
" License: Vim (see :h license)
|
||||
" Repository: https://github.com/chrisbra/vim-zsh
|
||||
" Last Change:
|
||||
" 2025 Jul 23 by Vim Project (use :hor term #17822)
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
@@ -20,7 +22,7 @@ let b:undo_ftplugin = "setl com< cms< fo< "
|
||||
|
||||
if executable('zsh') && &shell !~# '/\%(nologin\|false\)$'
|
||||
if exists(':terminal') == 2
|
||||
command! -buffer -nargs=1 ZshKeywordPrg silent exe ':term zsh -c "autoload -Uz run-help; run-help <args>"'
|
||||
command! -buffer -nargs=1 ZshKeywordPrg silent exe ':hor term zsh -c "autoload -Uz run-help; run-help <args>"'
|
||||
else
|
||||
command! -buffer -nargs=1 ZshKeywordPrg echo system('MANPAGER= zsh -c "autoload -Uz run-help; run-help <args> 2>/dev/null"')
|
||||
endif
|
||||
|
||||
@@ -196,3 +196,25 @@ silent! function Bar()
|
||||
return 42
|
||||
endfunction
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
if true
|
||||
nmap xxx,
|
||||
else
|
||||
endif
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
if true
|
||||
var heredoc =<< END
|
||||
foo
|
||||
bar
|
||||
baz
|
||||
END
|
||||
endif
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
set path=.,,
|
||||
set clipboard=unnamed,unnamedplus
|
||||
" END_INDENT
|
||||
|
||||
@@ -196,3 +196,25 @@ silent! function Bar()
|
||||
return 42
|
||||
endfunction
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
if true
|
||||
nmap xxx,
|
||||
else
|
||||
endif
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
if true
|
||||
var heredoc =<< END
|
||||
foo
|
||||
bar
|
||||
baz
|
||||
END
|
||||
endif
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
set path=.,,
|
||||
set clipboard=unnamed,unnamedplus
|
||||
" END_INDENT
|
||||
|
||||
+5
-3
@@ -1,7 +1,7 @@
|
||||
" These commands create the option window.
|
||||
"
|
||||
" Maintainer: The Vim Project <https://github.com/vim/vim>
|
||||
" Last Change: 2025 Jul 16
|
||||
" Last Change: 2025 Jul 25
|
||||
" Former Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
|
||||
" If there already is an option window, jump to that one.
|
||||
@@ -892,13 +892,15 @@ endif
|
||||
if has("insert_expand")
|
||||
call <SID>AddOption("complete", gettext("specifies how Insert mode completion works for CTRL-N and CTRL-P"))
|
||||
call append("$", "\t" .. s:local_to_buffer)
|
||||
call <SID>OptionL("cfc")
|
||||
call <SID>AddOption("completefuzzycollect", gettext("use fuzzy collection for specific completion modes"))
|
||||
call <SID>OptionL("cpt")
|
||||
call <SID>AddOption("autocomplete", gettext("automatic completion in insert mode"))
|
||||
call <SID>BinOptionG("ac", &ac)
|
||||
call <SID>AddOption("completeopt", gettext("whether to use a popup menu for Insert mode completion"))
|
||||
call <SID>OptionL("cot")
|
||||
call <SID>AddOption("completeitemalign", gettext("popup menu item align order"))
|
||||
call <SID>OptionG("cia", &cia)
|
||||
call <SID>AddOption("completefuzzycollect", gettext("use fuzzy collection for specific completion modes"))
|
||||
call <SID>OptionL("cfc")
|
||||
if exists("+completepopup")
|
||||
call <SID>AddOption("completepopup", gettext("options for the Insert mode completion info popup"))
|
||||
call <SID>OptionG("cpp", &cpp)
|
||||
|
||||
-3
@@ -1,3 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
zip -r editorconfig-vim-$*.zip autoload/* doc/* ftdetect/* plugin/*
|
||||
+10
-63
@@ -19,7 +19,7 @@ if &cp || exists("g:loaded_netrw")
|
||||
finish
|
||||
endif
|
||||
|
||||
let g:loaded_netrw = "v183"
|
||||
let g:loaded_netrw = "v184"
|
||||
|
||||
if !has("patch-9.1.1054") && !has('nvim')
|
||||
echoerr 'netrw needs Vim v9.1.1054'
|
||||
@@ -4861,7 +4861,6 @@ function s:NetrwMaps(islocal)
|
||||
nnoremap <buffer> <silent> <nowait> mg :<c-u>call <SID>NetrwMarkFileGrep(1)<cr>
|
||||
nnoremap <buffer> <silent> <nowait> mh :<c-u>call <SID>NetrwMarkHideSfx(1)<cr>
|
||||
nnoremap <buffer> <silent> <nowait> mm :<c-u>call <SID>NetrwMarkFileMove(1)<cr>
|
||||
nnoremap <buffer> <silent> <nowait> mp :<c-u>call <SID>NetrwMarkFilePrint(1)<cr>
|
||||
nnoremap <buffer> <silent> <nowait> mr :<c-u>call <SID>NetrwMarkFileRegexp(1)<cr>
|
||||
nnoremap <buffer> <silent> <nowait> ms :<c-u>call <SID>NetrwMarkFileSource(1)<cr>
|
||||
nnoremap <buffer> <silent> <nowait> mT :<c-u>call <SID>NetrwMarkFileTag(1)<cr>
|
||||
@@ -4973,7 +4972,6 @@ function s:NetrwMaps(islocal)
|
||||
nnoremap <buffer> <silent> <nowait> mg :<c-u>call <SID>NetrwMarkFileGrep(0)<cr>
|
||||
nnoremap <buffer> <silent> <nowait> mh :<c-u>call <SID>NetrwMarkHideSfx(0)<cr>
|
||||
nnoremap <buffer> <silent> <nowait> mm :<c-u>call <SID>NetrwMarkFileMove(0)<cr>
|
||||
nnoremap <buffer> <silent> <nowait> mp :<c-u>call <SID>NetrwMarkFilePrint(0)<cr>
|
||||
nnoremap <buffer> <silent> <nowait> mr :<c-u>call <SID>NetrwMarkFileRegexp(0)<cr>
|
||||
nnoremap <buffer> <silent> <nowait> ms :<c-u>call <SID>NetrwMarkFileSource(0)<cr>
|
||||
nnoremap <buffer> <silent> <nowait> mT :<c-u>call <SID>NetrwMarkFileTag(0)<cr>
|
||||
@@ -5932,39 +5930,6 @@ function s:NetrwMarkFileMove(islocal)
|
||||
|
||||
endfunction
|
||||
|
||||
" s:NetrwMarkFilePrint: (invoked by mp) This function prints marked files {{{2
|
||||
" using the hardcopy command. Local marked-file list only.
|
||||
function s:NetrwMarkFilePrint(islocal)
|
||||
let curbufnr= bufnr("%")
|
||||
|
||||
" sanity check
|
||||
if !exists("s:netrwmarkfilelist_{curbufnr}") || empty(s:netrwmarkfilelist_{curbufnr})
|
||||
call netrw#msg#Notify('ERROR', 'there are no marked files in this window (:help netrw-mf)')
|
||||
return
|
||||
endif
|
||||
let curdir= s:NetrwGetCurdir(a:islocal)
|
||||
|
||||
if exists("s:netrwmarkfilelist_{curbufnr}")
|
||||
let netrwmarkfilelist = s:netrwmarkfilelist_{curbufnr}
|
||||
call s:NetrwUnmarkList(curbufnr,curdir)
|
||||
for fname in netrwmarkfilelist
|
||||
if a:islocal
|
||||
if g:netrw_keepdir
|
||||
let fname= netrw#fs#ComposePath(curdir,fname)
|
||||
endif
|
||||
else
|
||||
let fname= curdir.fname
|
||||
endif
|
||||
1split
|
||||
" the autocmds will handle both local and remote files
|
||||
exe "sil NetrwKeepj e ".fnameescape(fname)
|
||||
hardcopy
|
||||
q
|
||||
endfor
|
||||
2match none
|
||||
endif
|
||||
endfunction
|
||||
|
||||
" s:NetrwMarkFileRegexp: (invoked by mr) This function is used to mark {{{2
|
||||
" files when given a regexp (for which a prompt is
|
||||
" issued) (matches to name of files).
|
||||
@@ -6195,37 +6160,20 @@ endfunction
|
||||
|
||||
" s:NetrwOpenFile: query user for a filename and open it {{{2
|
||||
function s:NetrwOpenFile(islocal)
|
||||
let ykeep= @@
|
||||
call inputsave()
|
||||
let fname= input("Enter filename: ")
|
||||
let fname = input("Enter filename: ")
|
||||
call inputrestore()
|
||||
|
||||
" determine if Lexplore is in use
|
||||
if exists("t:netrw_lexbufnr")
|
||||
" check if t:netrw_lexbufnr refers to a netrw window
|
||||
let lexwinnr = bufwinnr(t:netrw_lexbufnr)
|
||||
if lexwinnr != -1 && exists("g:netrw_chgwin") && g:netrw_chgwin != -1
|
||||
exe "NetrwKeepj keepalt ".g:netrw_chgwin."wincmd w"
|
||||
exe "NetrwKeepj e ".fnameescape(fname)
|
||||
let @@= ykeep
|
||||
endif
|
||||
if empty(fname)
|
||||
return
|
||||
endif
|
||||
|
||||
" Does the filename contain a path?
|
||||
if fname !~ '[/\\]'
|
||||
if exists("b:netrw_curdir")
|
||||
" save position for benefit of Rexplore
|
||||
let s:rexposn_{bufnr("%")}= winsaveview()
|
||||
if b:netrw_curdir =~ '/$'
|
||||
exe "NetrwKeepj e ".fnameescape(b:netrw_curdir.fname)
|
||||
else
|
||||
exe "e ".fnameescape(b:netrw_curdir."/".fname)
|
||||
endif
|
||||
endif
|
||||
else
|
||||
exe "NetrwKeepj e ".fnameescape(fname)
|
||||
endif
|
||||
let @@= ykeep
|
||||
" save position for benefit of Rexplore
|
||||
let s:rexposn_{bufnr("%")}= winsaveview()
|
||||
|
||||
execute "NetrwKeepj e " . fnameescape(!isabsolutepath(fname)
|
||||
\ ? netrw#fs#ComposePath(b:netrw_curdir, fname)
|
||||
\ : fname)
|
||||
endfunction
|
||||
|
||||
" netrw#Shrink: shrinks/expands a netrw or Lexplorer window {{{2
|
||||
@@ -6425,7 +6373,6 @@ function s:NetrwMenu(domenu)
|
||||
exe 'sil! menu '.g:NetrwMenuPriority.'.14.8 '.g:NetrwTopLvlMenu.'Marked\ Files.Exe\ Cmd<tab>mx mx'
|
||||
exe 'sil! menu '.g:NetrwMenuPriority.'.14.9 '.g:NetrwTopLvlMenu.'Marked\ Files.Move\ To\ Target<tab>mm mm'
|
||||
exe 'sil! menu '.g:NetrwMenuPriority.'.14.10 '.g:NetrwTopLvlMenu.'Marked\ Files.Obtain<tab>O O'
|
||||
exe 'sil! menu '.g:NetrwMenuPriority.'.14.11 '.g:NetrwTopLvlMenu.'Marked\ Files.Print<tab>mp mp'
|
||||
exe 'sil! menu '.g:NetrwMenuPriority.'.14.12 '.g:NetrwTopLvlMenu.'Marked\ Files.Replace<tab>R R'
|
||||
exe 'sil! menu '.g:NetrwMenuPriority.'.14.13 '.g:NetrwTopLvlMenu.'Marked\ Files.Set\ Target<tab>mt mt'
|
||||
exe 'sil! menu '.g:NetrwMenuPriority.'.14.14 '.g:NetrwTopLvlMenu.'Marked\ Files.Tag<tab>mT mT'
|
||||
|
||||
-12
@@ -90,7 +90,6 @@ Copyright: Copyright (C) 2017 Charles E Campbell *netrw-copyright*
|
||||
Marked Files: Grep..................................|netrw-mg|
|
||||
Marked Files: Hiding and Unhiding by Suffix.........|netrw-mh|
|
||||
Marked Files: Moving................................|netrw-mm|
|
||||
Marked Files: Printing..............................|netrw-mp|
|
||||
Marked Files: Sourcing..............................|netrw-ms|
|
||||
Marked Files: Setting the Target Directory..........|netrw-mt|
|
||||
Marked Files: Tagging...............................|netrw-mT|
|
||||
@@ -1066,7 +1065,6 @@ QUICK REFERENCE: MAPS *netrw-browse-maps* {{{2
|
||||
mg Apply vimgrep to marked files |netrw-mg|
|
||||
mh Toggle marked file suffices' presence on hiding list |netrw-mh|
|
||||
mm Move marked files to marked-file target directory |netrw-mm|
|
||||
mp Print marked files |netrw-mp|
|
||||
mr Mark files using a shell-style |regexp| |netrw-mr|
|
||||
mt Current browsing directory becomes markfile target |netrw-mt|
|
||||
mT Apply ctags to marked files |netrw-mT|
|
||||
@@ -2001,7 +1999,6 @@ The following netrw maps make use of marked files:
|
||||
|netrw-mF| Unmark marked files
|
||||
|netrw-mg| Apply vimgrep to marked files
|
||||
|netrw-mm| Move marked files to target
|
||||
|netrw-mp| Print marked files
|
||||
|netrw-ms| Netrw will source marked files
|
||||
|netrw-mt| Set target for |netrw-mm| and |netrw-mc|
|
||||
|netrw-mT| Generate tags using marked files
|
||||
@@ -2266,15 +2263,6 @@ from the current window (where one does the mf) to the target.
|
||||
|
||||
Associated setting variable: |g:netrw_localmovecmd| |g:netrw_ssh_cmd|
|
||||
|
||||
MARKED FILES: PRINTING *netrw-mp* {{{2
|
||||
(See |netrw-mf| and |netrw-mr| for how to mark files)
|
||||
(uses the local marked file list)
|
||||
|
||||
When "mp" is used, netrw will apply the |:hardcopy| command to marked files.
|
||||
What netrw does is open each file in a one-line window, execute hardcopy, then
|
||||
close the one-line window.
|
||||
|
||||
|
||||
MARKED FILES: SOURCING *netrw-ms* {{{2
|
||||
(See |netrw-mf| and |netrw-mr| for how to mark files)
|
||||
(uses the local marked file list)
|
||||
|
||||
+1
-1
@@ -15,7 +15,7 @@ if &cp || exists("g:loaded_netrwPlugin")
|
||||
finish
|
||||
endif
|
||||
|
||||
let g:loaded_netrwPlugin = "v183"
|
||||
let g:loaded_netrwPlugin = "v184"
|
||||
|
||||
let s:keepcpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# Aap recipe for Portuguese Vim spell files.
|
||||
# See ftp://ftp.vim.org/pub/vim/runtime/spell/README.txt
|
||||
# See https://github.com/vim/vim/blob/master/runtime/spell/README.txt
|
||||
|
||||
# Use a freshly compiled Vim if it exists.
|
||||
@if os.path.exists('../../../src/vim'):
|
||||
|
||||
@@ -13,7 +13,7 @@ VIMRUNTIME = ../..
|
||||
# Uncomment this line to use valgrind for memory leaks and extra warnings.
|
||||
# VALGRIND = valgrind --tool=memcheck --leak-check=yes --num-callers=45 --log-file=valgrind.$*
|
||||
|
||||
# Trace ruler liveness on demand.
|
||||
# Trace liveness on demand.
|
||||
# VIM_SYNTAX_TEST_LOG = `pwd`/testdir/failed/00-TRACE_LOG
|
||||
|
||||
# ENVVARS = LC_ALL=C VIM_SYNTAX_TEST_LOG="$(VIM_SYNTAX_TEST_LOG)"
|
||||
@@ -39,7 +39,7 @@ test:
|
||||
@# the "vimcmd" file is used by the screendump utils
|
||||
@echo "../$(VIMPROG)" > testdir/vimcmd
|
||||
@echo "$(RUN_VIMTEST)" >> testdir/vimcmd
|
||||
@# Trace ruler liveness on demand.
|
||||
@# Trace liveness on demand.
|
||||
@#mkdir -p testdir/failed
|
||||
@#touch "$(VIM_SYNTAX_TEST_LOG)"
|
||||
VIMRUNTIME=$(VIMRUNTIME) $(ENVVARS) $(VIMPROG) --clean --not-a-term $(DEBUGLOG) -u testdir/runtest.vim > /dev/null
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" Language: Vim script
|
||||
" Maintainer: Hirohito Higashi <h.east.727 ATMARK gmail.com>
|
||||
" Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2025 Jul 18
|
||||
" Last Change: 2025 Aug 01
|
||||
" Former Maintainer: Charles E. Campbell
|
||||
|
||||
" DO NOT CHANGE DIRECTLY.
|
||||
@@ -109,6 +109,7 @@ syn case match
|
||||
|
||||
" Function Names {{{2
|
||||
" GEN_SYN_VIM: vimFuncName, START_STR='syn keyword vimFuncName contained', END_STR=''
|
||||
|
||||
" Predefined variable names {{{2
|
||||
" GEN_SYN_VIM: vimVarName, START_STR='syn keyword vimVimVarName contained', END_STR=''
|
||||
|
||||
@@ -120,6 +121,8 @@ syn case match
|
||||
|
||||
if s:has("nvim")
|
||||
syn keyword vimOptionVarName contained channel inccommand mousescroll pumblend redrawdebug scrollback shada shadafile statuscolumn termpastefilter termsync winbar winblend winhighlight
|
||||
syn keyword vimFuncName contained api_info buffer_exists buffer_name buffer_number chanclose chansend ctxget ctxpop ctxpush ctxset ctxsize dictwatcheradd dictwatcherdel file_readable highlight_exists highlightID jobclose jobpid jobresize jobsend jobstart jobstop jobwait last_buffer_nr menu_get msgpackdump msgpackparse reg_recorded rpcnotify rpcrequest rpcstart rpcstop serverstart serverstop sockconnect stdioopen stdpath termopen test_write_list_log wait
|
||||
syn match vimFuncName contained "\<nvim_\w\+\>"
|
||||
syn keyword vimVimVarName contained lua msgpack_types relnum stderr termrequest virtnum
|
||||
endif
|
||||
|
||||
@@ -267,6 +270,8 @@ syn match vimVimVar "\<v:" nextgroup=vimSubscript,vimVimVarName,vimVarNameError
|
||||
syn match vimOptionVar "&\%([lg]:\)\=" nextgroup=vimSubscript,vimOptionVarName,vimVarNameError
|
||||
syn cluster vimSpecialVar contains=vimEnvvar,vimLetRegister,vimOptionVar,vimVimVar
|
||||
|
||||
Vim9 syn match vimVar contained "\<\h\w*\ze<" nextgroup=vim9TypeArgs
|
||||
|
||||
Vim9 syn match vim9LhsVariable "\s\=\h[a-zA-Z0-9#_]*\ze\s\+[-+/*%]\=="
|
||||
Vim9 syn match vim9LhsVariable "\s\=\h[a-zA-Z0-9#_]*\ze\s\+\.\.="
|
||||
Vim9 syn match vim9LhsVariable "\s\=\%([bwgt]:\)\=\h[a-zA-Z0-9#_]*\ze\s\+=<<" skipwhite nextgroup=vimLetHeredoc contains=vimVarScope
|
||||
@@ -468,7 +473,7 @@ syn match vimFunctionName contained
|
||||
\ contains=vimFunctionError,vimFunctionScope,vimFunctionSID,Tag
|
||||
syn match vimDefName contained
|
||||
\ "\%(<[sS][iI][dD]>\|[bwglstav]:\)\=\%([[:alnum:]_#.]\+\|{.\{-1,}}\)\+"
|
||||
\ nextgroup=vimDefParams,vimCmdSep,vimComment,vim9Comment
|
||||
\ nextgroup=vimDefTypeParams,vimDefParams,vimCmdSep,vimComment,vim9Comment
|
||||
\ contains=vimFunctionError,vimFunctionScope,vimFunctionSID,Tag
|
||||
|
||||
syn match vimFunction "\<fu\%[nction]\>" skipwhite nextgroup=vimFunctionBang,vimFunctionName,vimFunctionPattern,vimCmdSep,vimComment
|
||||
@@ -498,8 +503,15 @@ syn region vimDefParams contained
|
||||
\ end=")"
|
||||
\ skipwhite skipempty nextgroup=vimDefBody,vimDefComment,vimEnddef,vimReturnType,vimCommentError
|
||||
\ contains=vimDefParam,vim9Comment,vimFunctionParamEquals,vimOperParen
|
||||
syn region vimDefTypeParams contained
|
||||
\ matchgroup=Delimiter
|
||||
\ start="<"
|
||||
\ end=">"
|
||||
\ nextgroup=vimDefParams
|
||||
\ contains=vim9DefTypeParam
|
||||
syn match vimFunctionParam contained "\<\h\w*\>\|\.\.\." skipwhite nextgroup=vimFunctionParamEquals
|
||||
syn match vimDefParam contained "\<\h\w*\>" skipwhite nextgroup=vimParamType,vimFunctionParamEquals
|
||||
syn match vim9DefTypeParam contained "\<\u\w*\>"
|
||||
|
||||
syn match vimFunctionParamEquals contained "=" skipwhite nextgroup=@vimExprList
|
||||
syn match vimFunctionMod contained "\<\%(abort\|closure\|dict\|range\)\>" skipwhite skipempty nextgroup=vimFunctionBody,vimFunctionComment,vimEndfunction,vimFunctionMod,vim9CommentError
|
||||
@@ -531,7 +543,7 @@ if exists("g:vimsyn_folding") && g:vimsyn_folding =~# 'f'
|
||||
syn region vimDefFold
|
||||
\ start="\<def!"
|
||||
"\ assume no dict literal in curly-brace name expressions
|
||||
\ start="\<def\>\s*\%([[:alnum:]_:<>.#]\+\|{.\{-1,}}\)\+("
|
||||
\ start="\<def\>\s*\%([[:alnum:]_:<>.#]\+\|{.\{-1,}}\)\+[<(]"
|
||||
\ end="^\s*:\=\s*enddef\>"
|
||||
\ contains=vimDef
|
||||
\ extend fold keepend transparent
|
||||
@@ -573,14 +585,20 @@ if s:vim9script
|
||||
|
||||
" Methods {{{3
|
||||
syn match vim9MethodDef contained "\<def\>" skipwhite nextgroup=vim9MethodDefName,vim9ConstructorDefName
|
||||
syn match vim9MethodDefName contained "\<\h\w*\>" nextgroup=vim9MethodDefParams contains=@vim9MethodName
|
||||
syn match vim9MethodDefName contained "\<\h\w*\>" nextgroup=vim9MethodDefParams,vim9MethodDefTypeParams contains=@vim9MethodName
|
||||
syn region vim9MethodDefParams contained
|
||||
\ matchgroup=Delimiter start="(" end=")"
|
||||
\ skipwhite skipnl nextgroup=vim9MethodDefBody,vim9MethodDefComment,vimEnddef,vim9MethodDefReturnType,vimCommentError
|
||||
\ contains=vimDefParam,vim9Comment,vimFunctionParamEquals
|
||||
syn region vim9MethodDefTypeParams contained
|
||||
\ matchgroup=Delimiter
|
||||
\ start="<"
|
||||
\ end=">"
|
||||
\ nextgroup=vim9MethodDefParams
|
||||
\ contains=vim9DefTypeParam
|
||||
|
||||
syn match vim9ConstructorDefName contained "\<_\=new\w*\>"
|
||||
\ nextgroup=vim9ConstructorDefParams
|
||||
\ nextgroup=vim9ConstructorDefParams,vim9ConstuctorDefTypeParams
|
||||
\ contains=@vim9MethodName
|
||||
syn match vim9ConstructorDefParam contained "\<\%(this\.\)\=\h\w*\>"
|
||||
\ skipwhite nextgroup=vimParamType,vimFunctionParamEquals
|
||||
@@ -589,6 +607,12 @@ if s:vim9script
|
||||
\ matchgroup=Delimiter start="(" end=")"
|
||||
\ skipwhite skipnl nextgroup=vim9MethodDefBody,vim9MethodDefComment,vimEnddef,vimCommentError
|
||||
\ contains=vim9ConstructorDefParam,vim9Comment,vimFunctionParamEquals
|
||||
syn region vim9ConstuctorDefTypeParams contained
|
||||
\ matchgroup=Delimiter
|
||||
\ start="<"
|
||||
\ end=">"
|
||||
\ nextgroup=vim9ConstructorDefParams
|
||||
\ contains=vim9DefTypeParam
|
||||
|
||||
syn region vim9MethodDefReturnType contained
|
||||
\ start=":\%(\s\|\n\)\@="
|
||||
@@ -622,8 +646,11 @@ if s:vim9script
|
||||
syn cluster vim9MethodName contains=vim9MethodName,vim9MethodNameError
|
||||
|
||||
if exists("g:vimsyn_folding") && g:vimsyn_folding =~# 'f'
|
||||
syn region vim9MethodDefFold contained start="\%(^\s*\%(:\=static\s\+\)\=\)\@16<=:\=def\s\+\h\i*(" end="^\s*:\=enddef\>" contains=vim9MethodDef fold keepend extend transparent
|
||||
syn region vim9MethodDefFold contained start="^\s*:\=def\s\+_\=new\i*(" end="^\s*:\=enddef\>" contains=vim9MethodDef fold keepend extend transparent
|
||||
syn region vim9MethodDefFold contained
|
||||
\ start="\%(^\s*\%(:\=static\s\+\)\=\)\@16<=:\=def\s\+\h\w*[<(]"
|
||||
\ end="^\s*:\=enddef\>"
|
||||
\ contains=vim9MethodDef
|
||||
\ fold keepend extend transparent
|
||||
endif
|
||||
|
||||
syn cluster vim9MethodDef contains=vim9MethodDef,vim9MethodDefFold
|
||||
@@ -674,12 +701,19 @@ if s:vim9script
|
||||
syn cluster vim9EnumNameContinue contains=vim9EnumNameContinue,vim9EnumNameContinueComment
|
||||
|
||||
" enforce enum value list location
|
||||
syn match vim9EnumValue contained "\<\a\w*\>" nextgroup=vim9EnumValueArgList,vim9EnumValueListComma,vim9Comment
|
||||
syn match vim9EnumValue contained "\<\a\w*\>" nextgroup=vim9EnumValueTypeArgs,vim9EnumValueArgList,vim9EnumValueListComma,vim9Comment
|
||||
syn match vim9EnumValueListComma contained "," skipwhite skipempty nextgroup=vim9EnumValue,vim9EnumValueListCommaComment
|
||||
syn region vim9EnumValueListCommaComment contained
|
||||
\ start="#" skip="\n\s*\%(\\\|#\\ \)" end="$"
|
||||
\ skipwhite skipempty nextgroup=vim9EnumValueListCommaComment,vim9EnumValue
|
||||
\ contains=@vimCommentGroup,vimCommentString
|
||||
syn region vim9EnumValueTypeArgs contained
|
||||
\ matchgroup=Delimiter
|
||||
\ start="<\ze\a"
|
||||
\ end=">"
|
||||
\ nextgroup=vim9EnumValueArgList
|
||||
\ contains=@vimType
|
||||
\ oneline
|
||||
syn region vim9EnumValueArgList contained
|
||||
\ matchgroup=vimParenSep start="(" end=")"
|
||||
\ nextgroup=vim9EnumValueListComma
|
||||
@@ -703,7 +737,7 @@ if s:vim9script
|
||||
syn match vim9InterfaceName contained "\<\u\w*\>" skipwhite skipnl nextgroup=vim9Extends
|
||||
|
||||
syn keyword vim9AbstractDef contained def skipwhite nextgroup=vim9AbstractDefName
|
||||
syn match vim9AbstractDefName contained "\<\h\w*\>" skipwhite nextgroup=vim9AbstractDefParams contains=@vim9MethodName
|
||||
syn match vim9AbstractDefName contained "\<\h\w*\>" skipwhite nextgroup=vim9AbstractDefParams,vim9AbstractDefTypeParams contains=@vim9MethodName
|
||||
syn region vim9AbstractDefParams contained
|
||||
\ matchgroup=Delimiter start="(" end=")"
|
||||
\ skipwhite skipnl nextgroup=vimDefComment,vim9AbstractDefReturnType,vimCommentError
|
||||
@@ -713,6 +747,12 @@ if s:vim9script
|
||||
\ skipwhite skipnl nextgroup=vimDefComment,vimCommentError
|
||||
\ contains=vimTypeSep
|
||||
\ transparent
|
||||
syn region vim9AbstractDefTypeParams contained
|
||||
\ matchgroup=Delimiter
|
||||
\ start="<"
|
||||
\ end=">"
|
||||
\ nextgroup=vim9AbstractDefParams
|
||||
\ contains=vim9DefTypeParam
|
||||
|
||||
VimFoldi syn region vim9InterfaceBody start="\<interface\>" matchgroup=vimCommand end="\<endinterface\>" contains=@vim9InterfaceBodyList transparent
|
||||
|
||||
@@ -1368,9 +1408,20 @@ syn match vimMapLhs contained "\%(.\|\S\)\+" contains=vimCtrlChar,vimNotation,
|
||||
syn match vimMapLhs contained "\%(.\|\S\)\+\ze\s*$" contains=vimCtrlChar,vimNotation,vimMapLeader skipwhite skipnl nextgroup=vimMapRhsContinue
|
||||
syn match vimMapBang contained "\a\@1<=!" skipwhite nextgroup=vimMapMod,vimMapLhs
|
||||
syn match vimMapMod contained "\%#=1<\%(buffer\|expr\|nowait\|script\|silent\|special\|unique\)\+>" contains=vimMapModKey,vimMapModErr skipwhite nextgroup=vimMapMod,vimMapLhs
|
||||
syn region vimMapRhs contained start="\S" skip=+\\|\|\@1<=|\|\n\s*\\\|\n\s*"\\ + end="|" end="$" contains=@vimContinue,vimCtrlChar,vimNotation,vimMapLeader skipnl nextgroup=vimMapRhsContinue
|
||||
" assume a continuation comment introduces the RHS
|
||||
syn region vimMapRhsContinue contained start=+^\s*\%(\\\|"\\ \)+ skip=+\\|\|\@1<=|\|\n\s*\\\|\n\s*"\\ + end="|" end="$" contains=@vimContinue,vimCtrlChar,vimNotation,vimMapLeader
|
||||
syn region vimMapRhs contained
|
||||
\ start="\S"
|
||||
\ skip=+\\|\|\@1<=|\|\n\s*\%(\\\|["#]\\ \)+
|
||||
\ end="\ze|"
|
||||
\ end="$"
|
||||
\ nextgroup=vimCmdSep
|
||||
\ contains=@vimContinue,vimCtrlChar,vimNotation,vimMapLeader
|
||||
syn region vimMapRhsContinue contained
|
||||
\ start=+^\s*\%(\\\|["#]\\ \)+
|
||||
\ skip=+\\|\|\@1<=|\|\n\s*\%(\\\|["#]\\ \)+
|
||||
\ end="\ze|"
|
||||
\ end="$"
|
||||
\ nextgroup=vimCmdSep
|
||||
\ contains=@vimContinue,vimCtrlChar,vimNotation,vimMapLeader
|
||||
syn match vimMapLeader contained "\%#=1\c<\%(local\)\=leader>" contains=vimMapLeaderKey
|
||||
syn keyword vimMapModKey contained buffer expr nowait script silent special unique
|
||||
syn case ignore
|
||||
@@ -1431,7 +1482,7 @@ syn match vimBracket contained "[\\<>]"
|
||||
syn case match
|
||||
|
||||
" User Command Highlighting: {{{2
|
||||
syn match vimUsrCmd '^\s*\zs\u\%(\w*\)\@>\%([.(#[]\|\s\+\%([-+*/%]\=\|\.\.\)=\)\@!'
|
||||
syn match vimUsrCmd '^\s*\zs\u\%(\w*\)\@>\%([<.(#[]\|\s\+\%([-+*/%]\=\|\.\.\)=\)\@!'
|
||||
|
||||
" Vim user commands
|
||||
|
||||
@@ -2088,18 +2139,26 @@ unlet s:interfaces
|
||||
" Function Call Highlighting: {{{2
|
||||
" (following Gautam Iyer's suggestion)
|
||||
" ==========================
|
||||
syn match vimFunc contained "\<\l\w*\ze\s*(" skipwhite nextgroup=vimOperParen contains=vimFuncName
|
||||
syn match vimUserFunc contained "\.\@1<=\l\w*\ze\s*(" skipwhite nextgroup=vimOperParen
|
||||
syn match vimUserFunc contained "\<\%([[:upper:]_]\|\%(\h\w*\.\)\+\h\)\w*\ze\s*(" skipwhite nextgroup=vimOperParen contains=vim9MethodName,vim9Super,vim9This
|
||||
syn match vimUserFunc contained "\<\%(g:\)\=\%(\h\w*#\)\+\h\w*\ze\s*(" skipwhite nextgroup=vimOperParen contains=vimVarScope
|
||||
syn match vimUserFunc contained "\%(\<[sgbwtlav]:\|<[sS][iI][dD]>\)\%(\h\w*\.\)*\h\w*\ze\s*(" skipwhite nextgroup=vimOperParen contains=vimVarScope,vimNotation
|
||||
syn match vimFunc contained "\<\l\w*\ze\s*(" skipwhite nextgroup=vimOperParen contains=vimFuncName
|
||||
syn match vimUserFunc contained "\.\@1<=\l\w*\ze\%(\s*(\|<.*>(\)" skipwhite nextgroup=vimOperParen,vim9TypeArgs
|
||||
syn match vimUserFunc contained "\<\%([[:upper:]_]\|\%(\h\w*\.\)\+\h\)\w*\ze\%(\s*(\|<.*>(\)" skipwhite nextgroup=vimOperParen,vim9TypeArgs contains=vim9MethodName,vim9Super,vim9This
|
||||
syn match vimUserFunc contained "\<\%(g:\)\=\%(\h\w*#\)\+\h\w*\ze\%(\s*(\|<.*>(\)" skipwhite nextgroup=vimOperParen contains=vimVarScope
|
||||
syn match vimUserFunc contained "\%(\<[sgbwtlav]:\|<[sS][iI][dD]>\)\%(\h\w*\.\)*\h\w*\ze\%(\s*(\|<.*>(\)" skipwhite nextgroup=vimOperParen,vim9TypeArgs contains=vimVarScope,vimNotation
|
||||
|
||||
Vim9 syn match vim9UserFunc "^\s*\zs\%([sgbwtv]:\|<[sS][iI][dD]>\)\=\%(\h\w*[.#]\)*\h\w*\ze(" skipwhite nextgroup=vimOperParen contains=vimVarScope,vimNotation,vim9MethodName,vim9Super,vim9This
|
||||
Vim9 syn match vim9Func "^\s*\zs\l\w*\ze(" skipwhite nextgroup=vimOperParen contains=vimFuncName
|
||||
Vim9 syn match vim9UserFunc "^\s*\zs\%([sgbwtv]:\|<[sS][iI][dD]>\)\=\%(\h\w*[.#]\)*\h\w*\ze[<(]" skipwhite nextgroup=vimOperParen,vim9TypeArgs contains=vimVarScope,vimNotation,vim9MethodName,vim9Super,vim9This
|
||||
Vim9 syn match vim9Func "^\s*\zs\l\w*\ze(" skipwhite nextgroup=vimOperParen contains=vimFuncName
|
||||
|
||||
syn cluster vimFunc contains=vimFunc,vimUserFunc
|
||||
syn cluster vim9Func contains=vim9Func,vim9UserFunc
|
||||
|
||||
syn region vim9TypeArgs contained
|
||||
\ matchgroup=Delimiter
|
||||
\ start="<\ze\a"
|
||||
\ end=">"
|
||||
\ nextgroup=vimOperParen
|
||||
\ contains=@vimType
|
||||
\ oneline
|
||||
|
||||
" Beginners - Patterns that involve ^ {{{2
|
||||
" =========
|
||||
Vim9 syn region vim9LineComment start=+^[ \t:]*\zs#.*$+ skip=+\n\s*\\\|\n\s*#\\ + end="$" contains=@vimCommentGroup,vimCommentString,vim9CommentTitle extend
|
||||
|
||||
@@ -61,8 +61,6 @@ an "input/setup/java.vim" script file with the following lines:
|
||||
Both inline setup commands and setup scripts may be used at the same time, the
|
||||
script file will be sourced before any VIM_TEST_SETUP commands are executed.
|
||||
|
||||
Every line of a source file must not be longer than 1425 (19 x 75) characters.
|
||||
|
||||
If there is no further setup required, you can now run all tests:
|
||||
|
||||
make test
|
||||
@@ -112,6 +110,20 @@ If they look OK, move them to the "dumps" directory:
|
||||
If you now run the test again, it will succeed.
|
||||
|
||||
|
||||
Limitations for syntax plugin tests
|
||||
-----------------------------------
|
||||
|
||||
Do not compose ASCII lines that do not fit a 19 by 75 window (1425 columns).
|
||||
|
||||
Use multibyte characters, if at all, sparingly (see #16559). When possible,
|
||||
move multibyte characters closer to the end of a line and keep the line short:
|
||||
no more than a 75-byte total of displayed characters. A poorly rendered line
|
||||
may otherwise become wrapped when enough of spurious U+FFFD (0xEF 0xBF 0xBD)
|
||||
characters claim more columns than are available (75) and then invalidate line
|
||||
correspondence under test. Refrain from mixing non-spurious U+FFFD characters
|
||||
with other multibyte characters in the same line.
|
||||
|
||||
|
||||
Adjusting a syntax plugin test
|
||||
------------------------------
|
||||
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
" Replace known non-Latin-1 characters.
|
||||
%s+[🍌猫�]+?+ge
|
||||
@@ -1,2 +0,0 @@
|
||||
" Replace known non-Latin-1 characters.
|
||||
%s+[🍌猫�]+?+ge
|
||||
@@ -1,2 +0,0 @@
|
||||
" Replace known non-Latin-1 characters.
|
||||
%s+[🍌猫�]+?+ge
|
||||
@@ -1,2 +0,0 @@
|
||||
" Replace known non-Latin-1 characters.
|
||||
%s+[🍌猫�]+?+ge
|
||||
@@ -1,2 +0,0 @@
|
||||
" Replace known non-Latin-1 characters.
|
||||
%s+[🍌猫�]+?+ge
|
||||
@@ -1,2 +0,0 @@
|
||||
" Replace known non-Latin-1 characters.
|
||||
%s+[🍌猫�]+?+ge
|
||||
@@ -1,2 +0,0 @@
|
||||
" Replace known non-Latin-1 characters.
|
||||
%s+[🍌猫�]+?+ge
|
||||
@@ -1,2 +0,0 @@
|
||||
" Replace known non-Latin-1 characters.
|
||||
%s+[ƒɐɘʬʭΑ-Ωα-ω�]+?+Ige
|
||||
@@ -1,2 +0,0 @@
|
||||
" Replace known non-Latin-1 characters.
|
||||
%s+[ƒɐɘʬʭΑ-Ωα-ω�]+?+Ige
|
||||
@@ -1,2 +0,0 @@
|
||||
" Replace known non-Latin-1 characters.
|
||||
%s+[ƒɐɘʬʭΑ-Ωα-ω�]+?+Ige
|
||||
@@ -1,2 +0,0 @@
|
||||
" Replace known non-Latin-1 characters.
|
||||
%s+[ƒɐɘʬʭΑ-Ωα-ω�]+?+Ige
|
||||
@@ -1,2 +0,0 @@
|
||||
" Replace known non-Latin-1 characters.
|
||||
%s+[ƒɐɘʬʭΑ-Ωα-ω�]+?+Ige
|
||||
@@ -1,2 +0,0 @@
|
||||
" Replace known non-Latin-1 characters.
|
||||
%s+[ƒɐɘʬʭΑ-Ωα-ω�]+?+Ige
|
||||
@@ -1,2 +0,0 @@
|
||||
" Replace known non-Latin-1 characters.
|
||||
%s+[ƒɐɘʬʭΑ-Ωα-ω�]+?+Ige
|
||||
@@ -1,2 +0,0 @@
|
||||
" Replace known non-Latin-1 characters.
|
||||
%s+[ƒɐɘʬʭΑ-Ωα-ω�]+?+Ige
|
||||
@@ -1,2 +0,0 @@
|
||||
" Replace known non-Latin-1 characters.
|
||||
%s+[ƒɐɘʬʭΑ-Ωα-ω�]+?+Ige
|
||||
@@ -1,2 +0,0 @@
|
||||
" Replace known non-Latin-1 characters.
|
||||
%s+[ƒɐɘʬʭΑ-Ωα-ω�]+?+Ige
|
||||
@@ -1,2 +0,0 @@
|
||||
" Replace known non-Latin-1 characters.
|
||||
%s+[ƒɐɘʬʭΑ-Ωα-ω�]+?+Ige
|
||||
@@ -1,2 +0,0 @@
|
||||
" Replace known non-Latin-1 characters.
|
||||
%s+[ƒɐɘʬʭΑ-Ωα-ω�]+?+Ige
|
||||
@@ -1,2 +0,0 @@
|
||||
" Replace known non-Latin-1 characters.
|
||||
%s+[ƒɐɘʬʭΑ-Ωα-ω�]+?+Ige
|
||||
@@ -1,2 +0,0 @@
|
||||
" Replace known non-Latin-1 characters.
|
||||
%s+[ƒɐɘʬʭΑ-Ωα-ω�]+?+Ige
|
||||
@@ -1,2 +0,0 @@
|
||||
" Replace known non-Latin-1 characters.
|
||||
%s+[ƒɐɘʬʭΑ-Ωα-ω�]+?+Ige
|
||||
@@ -1,2 +0,0 @@
|
||||
" Replace known non-Latin-1 characters.
|
||||
%s+[ƒɐɘʬʭΑ-Ωα-ω�]+?+Ige
|
||||
@@ -1,2 +0,0 @@
|
||||
" Replace known non-Latin-1 characters.
|
||||
%s+[ƒɐɘʬʭΑ-Ωα-ω�]+?+Ige
|
||||
@@ -1,2 +0,0 @@
|
||||
" Replace known non-Latin-1 characters.
|
||||
%s+[ƒɐɘʬʭΑ-Ωα-ω�]+?+Ige
|
||||
@@ -1,2 +0,0 @@
|
||||
" Replace known non-Latin-1 characters.
|
||||
%s+[ƒɐɘʬʭΑ-Ωα-ω�]+?+Ige
|
||||
@@ -1,2 +0,0 @@
|
||||
" Replace known non-Latin-1 characters.
|
||||
%s+[ƒɐɘʬʭΑ-Ωα-ω�]+?+Ige
|
||||
@@ -1,2 +0,0 @@
|
||||
" Replace known non-Latin-1 characters.
|
||||
%s+[ƒɐɘʬʭΑ-Ωα-ω�]+?+Ige
|
||||
@@ -1,2 +0,0 @@
|
||||
" Replace known non-Latin-1 characters.
|
||||
%s+[ƒɐɘʬʭΑ-Ωα-ω�]+?+Ige
|
||||
@@ -1,2 +0,0 @@
|
||||
" Replace known non-Latin-1 characters.
|
||||
%s+[ƒɐɘʬʭΑ-Ωα-ω�]+?+Ige
|
||||
@@ -1,2 +0,0 @@
|
||||
" Replace known non-Latin-1 characters.
|
||||
%s+[ƒɐɘʬʭΑ-Ωα-ω�]+?+Ige
|
||||
@@ -1,2 +0,0 @@
|
||||
" Replace known non-Latin-1 characters.
|
||||
%s+[ƒɐɘʬʭΑ-Ωα-ω�]+?+Ige
|
||||
@@ -1,2 +0,0 @@
|
||||
" Replace known non-Latin-1 characters.
|
||||
%s+[ƒɐɘʬʭΑ-Ωα-ω�]+?+Ige
|
||||
@@ -1,2 +0,0 @@
|
||||
" Replace known non-Latin-1 characters.
|
||||
%s+[ƒɐɘʬʭΑ-Ωα-ω�]+?+Ige
|
||||
@@ -1,2 +0,0 @@
|
||||
" Replace known non-Latin-1 characters.
|
||||
%s+[ƒɐɘʬʭΑ-Ωα-ω�]+?+Ige
|
||||
@@ -1,2 +0,0 @@
|
||||
" Replace known non-Latin-1 characters.
|
||||
%s+[ƒɐɘʬʭΑ-Ωα-ω�]+?+Ige
|
||||
@@ -1,2 +0,0 @@
|
||||
" Replace known non-Latin-1 characters.
|
||||
%s+[ƒɐɘʬʭΑ-Ωα-ω�]+?+Ige
|
||||
@@ -1,2 +0,0 @@
|
||||
" Replace known non-Latin-1 characters.
|
||||
%s+[ƒɐɘʬʭΑ-Ωα-ω�]+?+Ige
|
||||
@@ -1,2 +0,0 @@
|
||||
" Replace known non-Latin-1 characters.
|
||||
%s+[ƒɐɘʬʭΑ-Ωα-ω�]+?+Ige
|
||||
@@ -1,2 +0,0 @@
|
||||
" Replace known non-Latin-1 characters.
|
||||
%s+[ƒɐɘʬʭΑ-Ωα-ω�]+?+Ige
|
||||
@@ -1,2 +0,0 @@
|
||||
" Replace known non-Latin-1 characters.
|
||||
%s+[ƒɐɘʬʭΑ-Ωα-ω�]+?+Ige
|
||||
@@ -1,2 +0,0 @@
|
||||
" Replace known non-Latin-1 characters.
|
||||
%s+[ƒɐɘʬʭΑ-Ωα-ω�]+?+Ige
|
||||
@@ -1,2 +0,0 @@
|
||||
" Replace known non-Latin-1 characters.
|
||||
%s+[ƒɐɘʬʭΑ-Ωα-ω�]+?+Ige
|
||||
@@ -1,2 +0,0 @@
|
||||
" Replace known non-Latin-1 characters.
|
||||
%s+[ƒɐɘʬʭΑ-Ωα-ω�]+?+Ige
|
||||
@@ -1,2 +0,0 @@
|
||||
" Replace known non-Latin-1 characters.
|
||||
%s+[ƒɐɘʬʭΑ-Ωα-ω�]+?+Ige
|
||||
@@ -1,2 +0,0 @@
|
||||
" Replace known non-Latin-1 characters.
|
||||
%s+[ƒɐɘʬʭΑ-Ωα-ω�]+?+Ige
|
||||
@@ -1,2 +0,0 @@
|
||||
" Replace known non-Latin-1 characters.
|
||||
%s+[ƒɐɘʬʭΑ-Ωα-ω�]+?+Ige
|
||||
@@ -1,2 +0,0 @@
|
||||
" Replace known non-Latin-1 characters.
|
||||
%s+[ƒɐɘʬʭΑ-Ωα-ω�]+?+Ige
|
||||
@@ -1,2 +0,0 @@
|
||||
" Replace known non-Latin-1 characters.
|
||||
%s+[ƒɐɘʬʭΑ-Ωα-ω�]+?+Ige
|
||||
@@ -1,2 +0,0 @@
|
||||
" Replace known non-Latin-1 characters.
|
||||
%s+[ƒɐɘʬʭΑ-Ωα-ω�]+?+Ige
|
||||
@@ -1,2 +0,0 @@
|
||||
" Replace known non-Latin-1 characters.
|
||||
%s+[ƒɐɘʬʭΑ-Ωα-ω�]+?+Ige
|
||||
@@ -1,2 +0,0 @@
|
||||
" Replace known non-Latin-1 characters.
|
||||
%s+[ƒɐɘʬʭΑ-Ωα-ω�]+?+Ige
|
||||
@@ -1,2 +0,0 @@
|
||||
" Replace known non-Latin-1 characters.
|
||||
%s+[ƒɐɘʬʭΑ-Ωα-ω�]+?+Ige
|
||||
@@ -1,2 +0,0 @@
|
||||
" Replace known non-Latin-1 characters.
|
||||
%s+[ƒɐɘʬʭΑ-Ωα-ω�]+?+Ige
|
||||
+2
-2
@@ -1,7 +1,6 @@
|
||||
>v+0#af5f00255#ffffff0|i|m|9|s|c|r|i|p|t| +0#0000000&@64
|
||||
|#+0#0000e05&| |V|i|m|9| |b|l|o|c|k|s| +0#0000000&@61
|
||||
|#+0#0000e05&| |V|I|M|_|T|E|S|T|S|E|T|U|P| |s|e|t| |l|i|s|t| |l|i|s|t|c|h|a|r|s|=|t|a|b|:|>| |,|t|r|a|i|l|:|-|,|e|x|t|e|n|d|s|:|>|,|p|r|e|c|e|d|e|s|:|<|,|n|b|s|p
|
||||
|:|+| +0#0000000&@72
|
||||
|#+0#0000e05&| |V|I|M|_|T|E|S|T|S|E|T|U|P| |s|e|t| |l|i|s|t| |l|i|s|t|c|h|a|r|s|=|t|r|a|i|l|:|-| +0#0000000&@32
|
||||
@75
|
||||
@75
|
||||
|{+0#e000e06&| +0#0000000&@73
|
||||
@@ -17,4 +16,5 @@
|
||||
@6|}+0#e000e06&| +0#0000000&@67
|
||||
@6|v+0#af5f00255&|a|r| +0#0000000&|f+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|4+0#e000002&|2| +0#0000000&@56
|
||||
@4|}+0#e000e06&| +0#0000000&@69
|
||||
@4|v+0#af5f00255&|a|r| +0#0000000&|f+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|4+0#e000002&|2| +0#0000000&@58
|
||||
@57|1|,|1| @10|T|o|p|
|
||||
+5
-5
@@ -1,10 +1,9 @@
|
||||
| +0&#ffffff0@3|{+0#e000e06&| +0#0000000&@69
|
||||
@6|{+0#e000e06&| +0#0000000&@67
|
||||
| +0&#ffffff0@5|{+0#e000e06&| +0#0000000&@67
|
||||
@8|v+0#af5f00255&|a|r| +0#0000000&|f+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|4+0#e000002&|2| +0#0000000&@54
|
||||
@6|}+0#e000e06&| +0#0000000&@67
|
||||
@6|v+0#af5f00255&|a|r| +0#0000000&|f+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|4+0#e000002&|2| +0#0000000&@56
|
||||
@4>}+0#e000e06&| +0#0000000&@69
|
||||
@4|v+0#af5f00255&|a|r| +0#0000000&|f+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|4+0#e000002&|2| +0#0000000&@58
|
||||
@4|}+0#e000e06&| +0#0000000&@69
|
||||
@4>v+0#af5f00255&|a|r| +0#0000000&|f+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|4+0#e000002&|2| +0#0000000&@58
|
||||
@2|}+0#e000e06&| +0#0000000&@71
|
||||
@2|v+0#af5f00255&|a|r| +0#0000000&|f+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|4+0#e000002&|2| +0#0000000&@60
|
||||
|}+0#e000e06&| +0#0000000&@73
|
||||
@@ -17,4 +16,5 @@
|
||||
@2|}+0#e000e06&| +0#0000000&@71
|
||||
|e+0#af5f00255&|n|d@1|e|f| +0#0000000&@68
|
||||
@75
|
||||
@57|1|8|,|5| @9|4|0|%|
|
||||
@75
|
||||
@57|1|9|,|5| @9|4|3|%|
|
||||
+4
-4
@@ -1,10 +1,9 @@
|
||||
| +0&#ffffff0@74
|
||||
@75
|
||||
|#+0#0000e05&| |s|t|a|r|t|/|e|n|d| |p|a|t@1|e|r|n|s| +0#0000000&@54
|
||||
@75
|
||||
|{+0#e000e06&| +0#0000000&@73
|
||||
@2>v+0#af5f00255&|a|r| +0#0000000&|f+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|4+0#e000002&|2| +0#0000000&@60
|
||||
|}+0#e000e06&| +0#0000000&@73
|
||||
@2|v+0#af5f00255&|a|r| +0#0000000&|f+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|4+0#e000002&|2| +0#0000000&@60
|
||||
>}+0#e000e06&| +0#0000000&@73
|
||||
@75
|
||||
|{+0#e000e06&| +0#0000000&|#+0#0000e05&| |c|o|m@1|e|n|t| +0#0000000&@63
|
||||
@2|v+0#af5f00255&|a|r| +0#0000000&|f+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|4+0#e000002&|2| +0#0000000&@60
|
||||
@@ -17,4 +16,5 @@
|
||||
|#+0#0000e05&| |d|i|c|t|i|o|n|a|r|y| +0#0000000&@62
|
||||
|{+0#e000e06&|}|-+0#af5f00255&|>|i+0#00e0e07&|t|e|m|s|(+0#e000e06&|)| +0#0000000&@63
|
||||
@75
|
||||
@57|3|6|,|3| @9|B|o|t|
|
||||
|~+0#4040ff13&| @73
|
||||
| +0#0000000&@56|3|7|,|1| @9|B|o|t|
|
||||
+2
-2
@@ -1,10 +1,9 @@
|
||||
>v+0#af5f00255#ffffff0|i|m|9|s|c|r|i|p|t| +0#0000000&@64
|
||||
@75
|
||||
|#+0#0000e05&| |V|i|m| |||b|u|i|l|t|i|n|-|o|b|j|e|c|t|-|m|e|t|h|o|d|s||| |a|n|d| |n|a|m|e|s|a|k|e| |b|u|i|l|t|i|n| |f|u|n|c|t|i|o|n|s| +0#0000000&@13
|
||||
|#+0#0000e05&| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |h|i| |l|i|n|k| |v|i|m|9|M|e|t|h|o|d|N|a|m|e| |S|p|e|c|i|a|l| +0#0000000&@27
|
||||
|#+0#0000e05&| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |h|i| |l|i|n|k| |v|i|m|9|T|h|i|s| |T|o|d|o| +0#0000000&@36
|
||||
@75
|
||||
@75
|
||||
|#+0#0000e05&| |V|i|m| |||b|u|i|l|t|i|n|-|o|b|j|e|c|t|-|m|e|t|h|o|d|s||| |a|n|d| |n|a|m|e|s|a|k|e| |b|u|i|l|t|i|n| |f|u|n|c|t|i|o|n|s|.| +0#0000000&@12
|
||||
|c+0#af5f00255&|l|a|s@1| +0#0000000&|P|a|i|r|C|l|a|s@1|T|e|s|t| @55
|
||||
@8|p+0#af5f00255&|u|b|l|i|c| +0#0000000&|c+0#af5f00255&|o|n|s|t| +0#0000000&|a+0#00e0e07&|:+0#0000000&| |a+0#00e0003&|n|y| +0#0000000&@47
|
||||
@8|p+0#af5f00255&|u|b|l|i|c| +0#0000000&|c+0#af5f00255&|o|n|s|t| +0#0000000&|b+0#00e0e07&|:+0#0000000&| |a+0#00e0003&|n|y| +0#0000000&@47
|
||||
@@ -17,4 +16,5 @@
|
||||
@8|d+0#af5f00255&|e|f| +0#0000000&|e+0#e000e06&|m|p|t|y|(|)|:+0#0000000&| |b+0#00e0003&|o@1|l| +0#0000000&@49
|
||||
@16|r+0#af5f00255&|e|t|u|r|n| +0#0000000&|f+0#e000002&|a|l|s|e| +0#0000000&@46
|
||||
@8|e+0#af5f00255&|n|d@1|e|f| +0#0000000&@60
|
||||
@8|d+0#af5f00255&|e|f| +0#0000000&|l+0#e000e06&|e|n|(|)|:+0#0000000&| |n+0#00e0003&|u|m|b|e|r| +0#0000000&@49
|
||||
@57|1|,|1| @10|T|o|p|
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user