Compare commits

...

305 Commits

Author SHA1 Message Date
PowerUser64
aa61b8a908 patch 9.1.0505: filetype: Faust files are not recognized
Problem:  filetype: Faust files are not recognized
Solution: Detect '*.lib' files as Faust filetype, add detection for
          '*.dsp' files (Faust or Make), remove '*.lib' from Cobol
          filetype (PowerUser64)

closes: #14894

Signed-off-by: PowerUser64 <blake@blakenorth.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-19 20:32:11 +02:00
Christian Brabandt
ca7f93e6f3 patch 9.1.0504: inner-tag textobject confused about ">" in attributes
Problem:  inner-tag textobject confused about ">" in attributes
Solution: Skip over quoted '>' when determining the start position

fixes: #15043
closes: #15049

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-19 20:26:51 +02:00
glepnir
43eef882ff patch 9.1.0503: cannot use fuzzy keyword completion
Problem:  cannot use fuzzy keyword completion
          (Maxim Kim)
Solution: add the "fuzzycollect" value for the 'completeopt'
          setting, to gather matches using fuzzy logic (glepnir)

fixes: #14912
closes: #14976

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-19 20:25:01 +02:00
Aliaksei Budavei
94c5d8a5e2 runtime(java): Remove the group exclusion list from @javaTop
Instances of anonymous classes can be passed as method
arguments and should be subject to line folding as well.

closes: #15048

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-19 20:10:47 +02:00
Marius Gedminas
c98bfb9f59 runtime(doc): wrong return type for execute() function
The description clearly explains that this function returns a string.  I
think the 'Number' here is a copy/paste error.

closes: #15045

Signed-off-by: Marius Gedminas <marius@gedmin.as>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-19 20:00:00 +02:00
K.Takata
56f587b3f8 patch 9.1.0502: MS-Windows: too much legacy code
Problem:  MS-Windows: too much legacy code
Solution: Clean up old code
          (Ken Takata)

* Remove very old codes for Cygwin version of GCC.
  Nowadays Cygwin GCC cannot be used for building Win32 Vim.
  (The `-mno-cygwin` option was removed in Cygwin GCC4.)
* Remove old codes for old versions of MinGW.
  Remove `__MINGW32__` as much as possible.
* Adjust makefile.

closes: #15044

Signed-off-by: K.Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-19 19:56:03 +02:00
Ubaldo Tiberi
46f2823807 patch 9.1.0501: too complicated mapping restore in termdebug
Problem:  too complicated mapping restore in termdebug
Solution: simplify unmapping logic, add a few more tests
          (Ubaldo Tiberi)

closes: #15046

Signed-off-by: Ubaldo Tiberi <ubaldo.tiberi@google.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-19 19:50:32 +02:00
Maxim Kim
aeca7176f3 runtime(nohlsearch): simplify mapping
Use <cmd> instead of <expr> with execute(...)[-1]

closes: #15047

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-19 19:42:47 +02:00
Christian Brabandt
fbc37f138a patch 9.1.0500: cannot switch buffer in a popup
Problem:  cannot switch buffer in a popup
          (Yggdroot)
Solution: add popup_setbuf() function

fixes: #15006
closes: #15026

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-18 21:01:23 +02:00
LemonBoy
23c5ebeb95 patch 9.1.0499: MS-Windows: doesn't handle symlinks properly
Problem:  MS-Windows: doesn't handle symlinks properly
          (Timothy Madden)
Solution: Implement lstat() on MS-Windows
          (author)

lstat() differs from stat() in how it handles symbolic links, the former
doesn't resolve the symlink while the latter does so.

Implement a simple yet effective fallback using Win32 APIs.

fixes #14933
closes: #15014

Co-authored-by: K.Takata <kentkt@csc.jp>
Signed-off-by: LemonBoy <thatlemon@gmail.com>
Signed-off-by: K.Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-18 20:43:51 +02:00
zeertzjq
a821b609f9 patch 9.1.0498: getcmdcompltype() interferes with cmdline completion
Problem:  getcmdcompltype() interferes with cmdline completion.
Solution: Don't set expand context when it's already set.
          (zeertzjq)

closes: #15036

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-18 20:31:08 +02:00
Ubaldo Tiberi
a48637c105 patch 9.1.0497: termdebug can be further improved
Problem:  termdebug can be further improved
Solution: refactor save/restore, update docs,
          add a new save/restore test (Ubaldo Tiberi)

closes: #15032

Signed-off-by: Ubaldo Tiberi <ubaldo.tiberi@google.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-18 20:24:54 +02:00
Afiq Nazrie
9718ed7ab9 runtime(filetype): update htmldjango detection
- update tags to detect djangohtml based on
  https://docs.djangoproject.com/en/5.0/ref/templates/builtins/#built-in-tag-reference

- increase the lines to inspect to 40 lines

  10 lines is too few and might result in high false negative.
  Increasing it to 40 lines should reduce the false negative.

closes: #15037

Signed-off-by: Afiq Nazrie <afnazrie@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-18 19:59:53 +02:00
Emir SARI
2dadf5304a translation(tr): Improve Turkish documentation
closes: #15041

Signed-off-by: Emir SARI <emir_sari@icloud.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-18 19:50:14 +02:00
Maxim Kim
1ce65e35ac runtime(csv): include a simple csv filetype and syntax plugin
fixes: #15038

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-18 19:48:15 +02:00
Maxim Kim
26de90c631 runtime(nohlsearch): include the the simple nohlsearch package
fixes: #15039
closes: #15042

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-18 19:32:39 +02:00
glepnir
f189138b39 patch 9.1.0496: matched text is highlighted case-sensitively
Problem:  matched text is highlighted case-sensitively
Solution: use MB_STRNICMP, update highlighting when the base changes
          (glepnir)

fixes: #15021
closes: #15023

Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-17 18:35:25 +02:00
zeertzjq
d8c9340fc6 patch 9.1.0495: Matched text isn't highlighted in cmdline pum
Problem:  Matched text isn't highlighted in cmdline pum.
Solution: Use cmdline completion pattern in cmdline mode.
          (zeertzjq)

closes: #15029

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-17 18:25:32 +02:00
h-east
84ac2126f4 runtime(doc): Fix typos in several documents
closes: #15034

Signed-off-by: h-east <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-17 18:12:51 +02:00
Christian Brabandt
946f61c405 runtime(doc): clarify when text properties are cleared
related: #15030

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-17 13:17:58 +02:00
Christian Brabandt
ca47114532 runtime(doc): improve the vim-shebang example
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-17 13:09:25 +02:00
Christian Brabandt
c52a856079 runtime(doc): revert unintended formatting changes for termdebug
fixes: #15028

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-17 05:30:37 +02:00
Doug Kearns
0ddab582fa runtime(java): Add a config variable for commonly used compiler options
The value of g:javac_makeprg_params, if set, is added to the value of
'makeprg' as an option string.

closes: #14999

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-16 16:58:09 +02:00
zeertzjq
63901e8963 patch 9.1.0494: Wrong matched text highlighted in pum with 'rightleft'
Problem:  Wrong matched text highlighted in pum with 'rightleft'.
Solution: Match using the original text instead of the reversed text.
          (zeertzjq)

closes: #15020

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-16 16:51:25 +02:00
Mohamed Akram
917ff8a19d runtime(html): bump length of character references in syntax script (#15022)
This allows handling longer references such as
`&CounterClockwiseContourIntegral;`.

Signed-off-by: Mohamed Akram <mohd.akram@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-16 16:47:36 +02:00
shane.xb.qian
a5af73ae34 runtime(termdebug): properly check mapping variables using null_dict
closes: #15013

Signed-off-by: shane.xb.qian <shane.qian@foxmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-16 16:44:53 +02:00
Yinzuo Jiang
79da22de75 runtime(kdl): fix KdlIndent and kdlComment in indent script (#15019)
Signed-off-by: Yinzuo Jiang <jiangyinzuo@foxmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-16 08:47:47 +02:00
zeertzjq
acc8746941 patch 9.1.0493: Test for patch 9.1.0489 doesn't fail without the fix
Problem:  Test for patch 9.1.0489 doesn't fail without the fix.
Solution: Use "!" flag of feedkeys() so that ex_normal_busy is not set
          and ins_compl_check_keys() is not skipped (zeertzjq).

closes: #15018

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-16 08:44:05 +02:00
Aliaksei Budavei
371bab0594 runtime(java): Fold multi-line comments with the syntax kind of &fdm (#15016)
Also:

- Restore the capability to mark as an error braces nested
  in parens with g:javaInParen.
- Try not to fold top-level-type bodies.  (Defining multiple
  package-private top level types in a single source file is
  not recommended as it can impose order among compilation
  units; so it is assumed that only one such top level type
  is usually defined.)
- Compose ‘method header’ highlighting and block braces
  folding.
- Do not highlight block braces whenever ‘method header’
  highlighting is requested.

This bundling of ‘method headers’ and block braces for
highlighting can be traced back to Vim v5.0; however, no
comment or documentation entry conveys any justification.
For example, it is hard to discover the connection between
block braces for "while", "if", etc., statements and method
body block braces.  The former behaviour can be attained in,
e.g. ~/.vim/after/syntax/java.vim:

------------------------------------------------------------
if exists("g:java_highlight_functions")
    syn clear javaBlock javaInParen
    syn match javaBlockOther "[{}]"
    syn region javaBlock transparent matchgroup=javaBlockStart
	\ start="\%(^\|^\S[^:]\+\)\@120<!{" end="}" fold
    hi def link javaBlockStart javaFuncDef
    hi def link javaBlockOther javaBlockStart

    if exists("g:java_mark_braces_in_parens_as_errors")
	syn match javaInParen contained "[{}]"
    endif
endif
------------------------------------------------------------

Note: Read ‘a method header omitting a _throws_ clause’ for
every ‘method header’ appellation used above.


Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-16 08:42:55 +02:00
shane.xb.qian
f127dce188 runtime(termdebug): using wrong type for PlaceSign()
Make sure to convert them to numbers.

fixes: #14994
closes: #15015

Signed-off-by: shane.xb.qian <shane.qian@foxmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-16 08:37:23 +02:00
Doug Kearns
0d4d23dac0 patch 9.1.0492: filetype: Vim-script files not detected by shebang line
Problem:  Vim-script files may not be recognised
Solution: Add shebang line detection (Doug Kearns)

closes: #15012

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-16 08:32:15 +02:00
Christian Brabandt
52f2ff0363 runtime(zip): revert unintended change to zip#Write()
This was wrongly included as of patch 1c67342912
because apparently I messed up the use of git apply :/

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-15 16:05:35 +02:00
Christian Brabandt
f4bc59c4f6 runtime(doc): add another tag for vim-shebang feature
related: #15011

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-15 15:52:53 +02:00
zeertzjq
883018feff patch 9.1.0491: Cmdline pum doesn't work properly with 'rightleft'
Problem:  Cmdline pum doesn't work properly with 'rightleft'.
Solution: Don't use curwin->w_p_rl in cmdline mode in pum_redraw().  Use
          a static variable since pum_may_redraw() may be called in any
          mode.  Also correct position of other popups with 'rightleft'.
          (zeertzjq)

closes: #15005

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-15 15:37:11 +02:00
glepnir
105f741fac patch 9.1.0490: minor style problems with patch 9.1.0487
Problem:  minor style problems with patch 9.1.0487
Solution: use shown_compl instead of after_first_compl variable
          (glepnir)

closes: #15008

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
fix(completion): use exist shown_compl instead after_first_compl
2024-06-15 15:32:22 +02:00
glepnir
aced8c2f4f patch 9.1.0489: default completion may break with fuzzy
Problem:  default completion may break with fuzzy
Solution: check that completion_match_array is not null
          (glepnir)

closes: #15010

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-15 15:27:09 +02:00
zeertzjq
a2324373eb patch 9.1.0488: Wrong padding for pum "kind" with 'rightleft'
Problem:  Wrong padding for pum "kind" with 'rightleft'.
Solution: Fix off-by-one error (zeertzjq).

The screen_fill() above is end-exclusive, and
- With 'rightleft' it fills `pum_col - pum_base_width - n + 1` to `col`,
  so the next `col` should be `pum_col - pum_base_width - n`.
- With 'norightleft' it fills `col` to `pum_col - pum_base_width + n - 1`,
  so the next `col` should be `pum_col - pum_base_width + n`.

closes: #15004

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-15 15:08:27 +02:00
dkearns
ae321b51f7 runtime(vim): Update base-syntax, match shebang lines (#15011)
Match shebang lines in Vim9 and legacy script.

Mark these as an error if they appear anywhere other than the first line
of a legacy-script file.  In Vim9 script these match as normal line
comments rather than an error.

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-15 15:06:17 +02:00
Christian Brabandt
1c67342912 runtime(zip): MS-Windows: handle files with spaces properly
This change does the following 3 things:

1) non need to quote the file to be extracted

The zipfile plugin used to quote and fnameescape() the path to the
file to be extracted. However testing with unzip showed, that while this
works on Linux on Windows you shall not escape the blanks in filenames.

As long as the pathname is properly quoted, this words on Linux and
Windows.

2) reset shellslash (MS-Windows only)

When shellslash is set, filenames to the zip archive will be forward
quoted. However since the filename is eventually handed over to the
unzip command, we need to make sure to use native paths so that the
command will understand what file to open. Therefore, if shellslash is
set (and the shell is cmd.exe), replace any forward slashes by the
expected backslashes

3) style:
Use tabs for the Header, remove a few comments in the s:Escape() and
zip#read() functions

fixes: #14998

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-15 14:51:07 +02:00
Doug Kearns
6dd5840fdf runtime(html): Restore HTML syntax file tests
Rendered element content results in test failures on macOS and FreeBSD.

The included content for these elements was incidental to the primary
intent of the test to check element tag highlighting so set
g:html_no_rendering to disable content rendering.

FreeBSD fails for even an empty <strike> element.

See #13591 and #14215.

closes: #13595

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-14 21:18:33 +02:00
glepnir
f94c9c482a patch 9.1.0487: completed item not update on fuzzy completion
Problem:  completed item not update on fuzzy completion
Solution: reset compl_shown_match when at original match position
          (glepnir)

closes: #14955

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-14 21:11:56 +02:00
Riley Bruins
82a579e15a patch 9.1.0486: filetype: Snakemake files are not recognized
Problem:  filetype: Snakemake files are not recognized
Solution: Detect '*.smk' and Snakefile files as snakemake filetype
          (Riley Bruins)

See:
https://snakemake.readthedocs.io/en/stable/snakefiles/deployment.html#distribution-and-reproducibility

closes: #14992

Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-14 20:47:05 +02:00
Damien Riegel
17e702a51a runtime(termdebug): make TermDebugSendCommand() a global function again
TermDebugSendCommand lost it's global visibility when converted to
vim9script. Restore it.

Fixes: 23f29ffc64 ("runtime(termdebug): convert termdebug plugin to
       Vim9 script")
closes: #14997

Signed-off-by: Damien Riegel <damien@riegel.io>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-14 20:42:35 +02:00
Damien Riegel
fce324f557 runtime(termdebug): close all buffers in the same way
For ASM and Variables buffer, check were done to make sure they existed
before attempting to close them, but not for debugged program or gdb
communication. The debugged program window is a user-facing one and
user might close it manually, so it's better to check if it exists.

Signed-off-by: Damien Riegel <damien@riegel.io>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-14 20:41:36 +02:00
zeertzjq
afbe5359e9 patch 9.1.0485: Matched text shouldn't be highlighted in "kind" and "menu"
Problem:  Matched text shouldn't be highlighted in "kind" and "menu".
Solution: Pass hlf_T instead of the attribute.  Fix indent.
          (zeertzjq)

closes: #14996

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-14 20:24:22 +02:00
Christian Brabandt
c509c009bb runtime(doc): fix wrong helptag for :defer
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-14 20:23:00 +02:00
Doug Kearns
262e25e5a1 runtime(vim): Update base-syntax, match :sleep arg
Match :sleep arg properly including a lone "m" with a leading count.

closes: #15003

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-14 20:16:35 +02:00
Misho
79a14c061b runtime(keymap): include Georgian keymap
closes: #15002

Signed-off-by: Misho <nnamper@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-14 20:13:39 +02:00
zeertzjq
8e56747fd2 patch 9.1.0484: Sorting of completeopt+=fuzzy is not stable
Problem:  Sorting of completeopt+=fuzzy is not stable.
Solution: Compare original indexes when scores are the same.
          (zeertzjq)

closes: #14988

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-14 20:04:42 +02:00
Christian Brabandt
440746158c runtime(netrw): correctly test for windows in NetrwGlob()
use has("win32") instead of has("win64") otherwise it
won't work on x86 systems.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-14 08:19:22 +02:00
Christian Brabandt
1487947fb6 runtime(netrw): glob() on windows fails with [] in directory name
fixes: #14952
closes: #14991

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-13 21:25:35 +02:00
Christian Brabandt
d6d4e13336 runtime(doc): rewrite mkdir() doc and simplify {flags} meaning
related: #14991

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-13 21:24:51 +02:00
Christian Brabandt
8b34aea1b0 patch 9.1.0483: glob() not sufficiently tested
Problem:  glob() not sufficiently tested
Solution: Add more tests for directory containing [] chars

related: #14991

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-13 21:20:20 +02:00
Christian Brabandt
1cd31a4501 runtime(doc): update return type for job_info()
related: #14982

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-13 20:46:23 +02:00
Patrick Brinich-Langlois
4225f28855 README.md: Update link to release archives
The releases page doesn't have anything listed.

closes: #14990

Signed-off-by: Patrick Brinich-Langlois <pbrinichlanglois@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-13 20:22:13 +02:00
Ubaldo Tiberi
ef8eab86e2 patch 9.1.0482: termdebug plugin needs more love
Problem:  termdebug plugin needs more love
Solution: start with some more Vim9 refactoring
          to improve maintenance and readability
          (Ubaldo Tiberi)

List of Changes and the Reasoning Behind Them:

1) Introduction of InitScriptVariables() Function:

Reasoning: This function has been introduced to ensure that when you open and
close Termdebug, and then open it again, there are no leftover script variable
values from the previous session. Leftover values could potentially cause
issues. The goal is for each Termdebug session to be independent of previous
sessions. At startup, all script variables are initialized. The only exception
is g:termdebug_loaded located at the very beginning of the script to prevent
sourcing the script twice. The variables are declared at script level and
defined in InitScriptVariables().

2) More Descriptive Variable Names:

Reasoning: The names of variables have been made more comprehensive. Almost
every Termdebug buffer now has a variable to indicate its name and another
variable to indicate its number, improving code readability and
maintainability. Due to the latest discussion around the &mousemodel option
save/restore mechanism, perhaps some other variables shall be prepended with
saved_.

3) Consistent Naming for GDB Terminal Buffers:

Reasoning: The name of the GDB terminal buffer now matches the name of the GDB
program being used, e.g., 'gdb', 'mygdb', 'arm-eabi-none-gdb', etc. This
ensures clarity and consistency in identifying buffers.

4) Other minor improvements:
Moved EchoErr() on top, added another test, some refactoring, mainly changed
several 0 and 1 to true and false

closes: #14980

Signed-off-by: Ubaldo Tiberi <ubaldo.tiberi@volvo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-13 19:23:07 +02:00
Christian Brabandt
1a946044fe runtime(doc): correct return types for job_start() and job_status()
fixes: #14982

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-13 19:13:28 +02:00
dkearns
a3bddb759e runtime(vim): Update base-syntax, match :catch and :throw args (#14989)
Match :catch /{pattern}/ and :throw {expr1}.

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-13 17:48:10 +02:00
Aliaksei Budavei
902b766858 runtime(java): Include element values in non-marker annotations (#14979)
Make a formal definition for normal and single-element kinds
of annotations that otherwise require for their containment
to repeat each time all syntax groups that describe element
values.

Reference:
https://docs.oracle.com/javase/specs/jls/se21/html/jls-9.html#jls-9.7

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-13 17:30:09 +02:00
Ernie Rael
a78eb25db3 patch 9.1.0481: Vim9: term_getjob() throws an exception on error
Problem:  Vim9: term_getjob() throws an exception on error
Solution: Return null_job instead, when there is no job
          (Ernie Rael)

closes: #14984

Signed-off-by: Ernie Rael <errael@raelity.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-13 17:24:54 +02:00
glepnir
1c29602662 patch 9.1.0480: fuzzy string matching executed when not needed
Problem:  fuzzy string matching executed when not needed
Solution: when no leader is available, can skip fuzzy logic, so return
          early (glepnir)

closes: #14986

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-13 17:21:24 +02:00
zeertzjq
2f95ca9fce patch 9.1.0479: fuzzy_match_str_with_pos() does unnecessary list operations
Problem:  fuzzy_match_str_with_pos() does unnecessary list operations.
Solution: Use fuzzy_match() directly (zeertzjq).

closes: #14987

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-13 17:14:27 +02:00
zeertzjq
d353d27820 runtime(doc): restore description of "$" in col() and virtcol() (#14981)
These are different from line() and getpos().

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-13 17:00:25 +02:00
zeertzjq
02f3ebacfb runtime(doc): deduplicate getpos(), line(), col(), virtcol()
Move the main description to getpos() and link to that from the other
functions.

closes: #14970

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-12 21:04:10 +02:00
Doug Kearns
31441d509a runtime(vim): Update g:vimsyn_comment_strings dump file tests
Leading whitespace is no longer matched as part of the line comment as
of #13936.

closes: #14971

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-12 20:44:10 +02:00
Yegappan Lakshmanan
83d0028026 runtime(termdebug): Use string interpolation instead of string concat
closes: #14972

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-12 20:37:05 +02:00
glepnir
7c57940e3b patch 9.1.0478: potential deref of NULL pointer in fuzzy_match_str_with_pos
Problem:  potential deref of NULL pointer in fuzzy_match_str_with_pos()
          on cleanup (after v9.1.0476)
Solution: Only free the pointer if it is non-NULL (glepnir)

closes: #14973

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-12 20:31:13 +02:00
Christian Brabandt
1fb9eae579 patch 9.1.0477: block_editing errors out when using <enter>
Problem:  block_editing errors out when using <enter>
          (Ali Rizvi-Santiago, after v9.1.0274)
Solution: Change ins_len from size_t to int so that the test
          if ins_len is negative actually works properly

Add a test, so that this doesn't regress.

fixes: #14960

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-11 20:37:59 +02:00
dkearns
959c3c887b runtime(vim): Update base-syntax, configurable comment string highlighting (#14931)
Allow highlighting of strings within comments to be disabled by setting
g:vimsyn_comment_strings to false.

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-11 20:18:08 +02:00
Ken Takata
b4e648a006 runtime(doc): fix typos in syntax.txt
Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-11 19:45:53 +02:00
glepnir
40c1c3317d patch 9.1.0476: Cannot see matched text in popup menu
Problem:  Cannot see matched text in popup menu
Solution: Introduce 2 new highlighting groups: PmenuMatch and
          PmenuMatchSel (glepnir)

ping @habamax, @neutaaaaan @romainl because vim/colorschemes may need
some updates, @lifepillar for updating vim-colortemplate

closes: #14694

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-11 19:40:50 +02:00
dkearns
059cbe8933 runtime(vim): Update base-syntax, match multiline continued comments (#13936)
Match multiline (continued) line comments.

Continued tail comments are not supported yet.

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-11 19:27:53 +02:00
Peter Aronoff
210b39c2d6 runtime(doc): clarify documentation for "v" position at line()
Problem: the previous documentation falsely states that "v" always
refers to the start of a visual area.  In fact, the reference of "v" and
"." complement each other.  If the cursor is at the start of
a (characterwise) visual area, then "v" refers to the end of the area.

Solution: be more verbose and explicit about the connection between "."
and "v" and also refer to |v_o| which many vim users will be familiar
with for visual areas.

Signed-off-by: Peter Aronoff <peter@aronoff.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-11 19:23:08 +02:00
Yegappan Lakshmanan
4877cb411f patch 9.1.0475: cmod_split modifier is always reset in term_start()
Problem:  cmod_split modifier is always reset in term_start()
Solution: only clear the WSP_VERT flag, if it is not already in
          cmdmod.cmod_split (Yegappan Lakshmanan)

closes: #14961

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-11 19:18:12 +02:00
Yegappan Lakshmanan
971378eed9 runtime(termdebug): remove line-continuation characters
Those are no longer needed for Vim9.

related: #14961

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-11 19:17:36 +02:00
Yinzuo Jiang
2e3b2a8d89 runtime(kdl): use shiftwidth() instead of &tabstop in indent script
closes: #14962

Signed-off-by: Yinzuo Jiang <jiangyinzuo@foxmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-11 19:07:16 +02:00
dkearns
6ea3dfe8de runtime(vim): Remove orphaned screen dump files (#14965)
These are no longer generated by the current test input files.

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-11 19:04:46 +02:00
inzuo Jiang
2d88210b3c runtime(kdl): include syntax, indent and ftplugin files
closes: #14956

Co-authored-by: Aram Drevekenin <aram@poor.dev>
Signed-off-by: inzuo Jiang <jiangyinzuo@foxmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-10 21:13:56 +02:00
Christian Brabandt
d03882baac patch 9.1.0474: CI: Test_ColonEight() fails on github runners
Problem:  CI: Test_ColonEight() fails on github runners
          (Ken Takata)
Solution: Run the test for files on the C: drive, where dos shortnames
          are still enabled, refactor the tests to use a single setup
          function for the preparation

fixes: #14954
closes: #14958

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-10 21:06:55 +02:00
Kentaro Hayashi
b8076f92a1 runtime(deb822sources): add missing Enabled field in syntax script
closes: #14898

It lacks the support of Enabled: boolean option field [1]:

e.g.

  Types: deb
  Uris: https://paulcarroty.gitlab.io/vscodium-deb-rpm-repo/debs/
  Components: main
  Suites: vscodium
  Architectures: amd64 i386 arm64 armhf
  Enabled: yes
  Signed-By: /var/lib/extrepo/keys/vscodium.asc

This patch was also forwarded to upstream. [2]

[1] https://manpages.debian.org/unstable/apt/sources.list.5.en.html#DEB822-STYLE_FORMAT
[2] https://salsa.debian.org/vim-team/vim-debian/-/merge_requests/16

Signed-off-by: Kentaro Hayashi <kenhys@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-10 18:22:31 +02:00
Igor
7e9a1a75b8 runtime(svelte): basic svelte ftplugin file
closes: #14949

Signed-off-by: Igor <igorlfs@ufmg.br>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-10 18:20:04 +02:00
Yegappan Lakshmanan
d603e95609 patch 9.1.0473: term_start() does not clear vertical modifier
Problem:  term_start() does not clear vertical modifier
Solution: Clear the flag after splitting the window
          (Yegappan Lakshmanan)

closes: #14953

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-10 18:16:34 +02:00
Ernie Rael
dfc21db0b0 runtime(termdebug): fix mousemodel restoration by comparing against null_string
closes: #14951

Signed-off-by: Ernie Rael <errael@raelity.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-10 18:12:07 +02:00
Ubaldo Tiberi
c593b9ead9 runtime(doc): Added definitions of Vim scripts and plugins
closes: #14935

Signed-off-by: Ubaldo Tiberi <ubaldo.tiberi@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-09 18:48:08 +02:00
Aliaksei Budavei
d6b4afb636 runtime(java): Exclude lambda expressions from _when_ _switch-case_ label clauses (#14945)
These guard clauses are always boolean expressions, whereas
lambda expressions can only appear in either an assignment,
a casting, or an invocation context.

References:
https://docs.oracle.com/javase/specs/jls/se21/html/jls-14.html#jls-14.11.1
https://docs.oracle.com/javase/specs/jls/se21/html/jls-15.html#jls-15.27

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-09 18:39:52 +02:00
laburnumT
477402ecf9 runtime(termdebug): Fix saved_mousemodel check
Fix issue introduced by 23f29ffc64 where
saved_mousemodel is introduced as a variable, so the exists check will
always be true.

Move to check the value of saved_mousemodel instead.

closes: #14946

Signed-off-by: laburnumT <laburnumtec@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-09 18:38:37 +02:00
zeertzjq
aa925eeb97 patch 9.1.0472: Inconsistencies between functions for option flags
Problem:  Inconsistencies between functions for option flags.
Solution: Consistently use "unsigned int" as return type and rename
          get_bkc_value() to get_bkc_flags() (zeertzjq).

closes: #14925

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-09 18:24:05 +02:00
zeertzjq
2d1d5c6c27 patch 9.1.0471: Crash when using autocmd_get() after removing event inside autocmd
Problem:  Crash when using autocmd_get() after removing event inside
          autocmd (Sergey Vlasov)
Solution: Check that the pattern is NULL (zeertzjq).

fixes: #14937
closes: #14939

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-09 16:44:33 +02:00
Yegappan Lakshmanan
03a3df15ca runtime(termdebug: Fix errors in using the latest termdebug.vim
closes: #14941

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-09 16:42:45 +02:00
h-east
9c4389acc3 runtime(doc): Fix small style issues
closes: #14942

Signed-off-by: h-east <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-09 16:32:48 +02:00
Christian Brabandt
5674c9a7de runtime(doc): add return type info for Vim function descriptions
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-09 00:19:16 +02:00
Antonio Giovanni Colombo
4032daaa11 translation(it): Update Italian Vim manpage
Signed-off-by: Antonio Giovanni Colombo <azc100@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-07 13:32:22 +02:00
Christian Brabandt
6dcd7f1a4d runtime(man): disable the q mapping
fixes: #8210

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-06 19:27:17 +02:00
Luc Hermitte
ce47d32b03 runtime(cpp): Change 'cms' for C++ to '// %s'
fixes: #14911
closes: #14926

Signed-off-by: Luc Hermitte <luc.hermitte@csgroup.eu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-06 18:44:52 +02:00
Lars T. Kyllingstad
d9ec676911 runtime(ccomplete): fix type mismatch error
fixes: #14927
closes: #14928

Signed-off-by: Lars T. Kyllingstad <lars.kyllingstad@sintef.no>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-06 18:39:03 +02:00
Christian Brabandt
ae4641d68e runtime(termdebug): Fix wrong email address
related: #14903

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-05 22:24:24 +02:00
Ubaldo Tiberi
23f29ffc64 runtime(termdebug): convert termdebug plugin to Vim9 script
closes: #14903

Signed-off-by: Ubaldo Tiberi <ubaldo.tiberi@volvo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-05 21:37:53 +02:00
Christian Brabandt
7cbed350f8 patch 9.1.0470: tests: Test_ColonEight_MultiByte() fails sporadically
Problem:  tests: Test_ColonEight_MultiByte() fails on MS-Windows
Solution: mark test as flaky

This single line change should have happened as part of v9.1.469 (and I
mentioned it in the Commit message), but forgot to actually include the
change :facepalm

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-05 20:34:55 +02:00
zeertzjq
529b9ad62a patch 9.1.0469: Cannot have buffer-local value for 'completeopt'
Problem:  Cannot have buffer-local value for 'completeopt'
          (Nick Jensen).
Solution: Make 'completeopt' global-local (zeertzjq).

Also for some reason test Test_ColonEight_MultiByte seems to be failing
sporadically now. Let's mark it as flaky.

fixes: #5487
closes: #14922

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-05 20:27:06 +02:00
David Wagner
84d9611b67 patch 9.1.0468: GvimExt does not consult HKEY_CURRENT_USER
Problem:  GvimExt does not consult HKEY_CURRENT_USER
Solution: Make GvimExt first consult HKEY_CURRENT_USER and then fall
          back to HKEY_LOCAL_MACHINE to find gvim (David Wagner)

fixes: #14904
closes: #14917

Signed-off-by: David Wagner <dwagner@rydia.us>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-05 20:01:19 +02:00
Philip H
9c60890518 CI: update FreeBSD runner to 14.1 (#13937)
closes: #14918

Signed-off-by: Philip H <47042125+pheiduck@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-05 19:57:48 +02:00
zeertzjq
551d8c372e patch 9.1.0467: typos in some comments
Problem:  typos in some comments
          (after v9.1.0466)
Solution: fix comments
          (zeertzjq)

closes: #14919

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-05 19:53:32 +02:00
Doug Kearns
92f4e91590 runtime(vim): Update base-syntax, allow whitespace before :substitute pattern
Allow whitespace between the :substitute command and its pattern
argument.  Although unusual, it is supported and there are examples in
the wild.

Match Vi compatible :substitute commands like :s\/{string}/.  See :help
E1270.

fixes: #14920
closes: #14923

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-05 19:47:04 +02:00
glepnir
dca57fb542 patch 9.1.0466: Missing comments for fuzzy completion
Problem:  Missing comments for fuzzy completion (after 9.1.0463)
Solution: Add more comments, adjust indentation slightly
          (glepnir)

closes: #14910

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-04 22:01:21 +02:00
Christian Brabandt
ce6fe84db2 runtime(man): update Vim manpage
fixes: #14916

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-04 21:58:32 +02:00
Christian Brabandt
98fb81846d runtime(comment): clarify the usage of 'commentstring' option value
fixes: #14905

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-04 20:59:08 +02:00
Christian Brabandt
2a2c4fffd7 runtime(doc): clarify how fuzzy 'completeopt' should work
related: #14912

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-04 20:27:18 +02:00
Christian Brabandt
98b73eb645 runtime(netrw): prevent accidental data loss
fixes: #14915

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-04 18:18:16 +02:00
Shougo Matsushita
60c8743ab6 patch 9.1.0465: missing filecopy() function
Problem:  missing filecopy() function
Solution: implement filecopy() Vim script function
          (Shougo Matsushita)

closes: #12346

Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Shougo Matsushita <Shougo.Matsu@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-03 23:01:40 +02:00
Riley Bruins
0a0830624a patch 9.1.0464: no whitespace padding in commentstring option in ftplugins
Problem:  no whitespace padding in commentstring option in ftplugins
Solution: Change default to include whitespace padding, update
          existing filetype plugins with the new default value
          (Riley Bruins)

closes: #14843

Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-03 20:40:45 +02:00
glepnir
a218cc6cda patch 9.1.0463: no fuzzy-matching support for insert-completion
Problem:  no fuzzy-matching support for insert-completion
Solution: enable insert-mode completion with fuzzy-matching
          using :set completopt+=fuzzy (glepnir).

closes: #14878

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-03 19:46:13 +02:00
Yegappan Lakshmanan
734286e4c6 patch 9.1.0462: eval5() and eval7 are too complex
Problem:  eval5() and eval7 are too complex
Solution: Refactor eval5() and eval7() in eval.c
          (Yegappan Lakshmanan)

closes: #14900

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-03 18:52:22 +02:00
John Marriott
f51ff96532 patch 9.1.0461: too many strlen() calls in drawline.c
Problem:  too many strlen() calls in drawline.c
Solution: Refactor code to avoid strlen()
          (John Marriott)

closes: #14890

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-02 19:44:11 +02:00
İlyas Akın
7577afd5ef patch 9.1.0460: filetype: lintstagedrc files are not recognized
Problem:  filetype: lintstagedrc files are not recognized
Solution: recognize '.lintstagedrc' files as json filetype
          (İlyas Akın)

see: https://github.com/lint-staged/lint-staged

closes: #14897

Signed-off-by: İlyas Akın <ilyas.akin@kuika.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-02 16:57:00 +02:00
nwounkn
36b6676719 patch 9.1.0459: Vim9: import autoload does not work with symlink
Problem:  Vim9: import autoload does not work with symlink
          (Olivier Dormond)
Solution: set sn_autoload_prefix in check_script_symlink
          (nwounkn)

fixes: #14775
closes: #14885

Signed-off-by: nwounkn <nwounkn@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-02 16:10:07 +02:00
Christian Brabandt
7737ce519b patch 9.1.0458: Coverity complains about division by zero
Problem:  Coverity complains about division by zero
Solution: Check explicitly for sw_val being zero

Shouldn't happen, since tabstop value should always be larger than zero.
So just add this as a safety measure.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-02 16:04:43 +02:00
Christian Brabandt
e5bc2e4bc9 patch 9.1.0457: tests: test_gui fails on Wayland
v:windowid is set in GUI buils with Wayland

Problem:  tests: test_gui fails on Wayland
          (after: 9.1.0064, Gary Johnson)
Solution: drop the "empty($WAYLAND_DISPLAY)" condition in the test

fixes: #14886

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-01 20:59:14 +02:00
Gary Johnson
88d4f255b7 patch 9.1.0456: Left shift is incorrect with vartabstop and shiftwidth=0
Problem:  Left shift is incorrect with vartabstop and shiftwidth=0
Solution: make tabstop_at() function aware of shift direction
          (Gary Johnson)

The problem was that with 'vartabstop' set and 'shiftwidth' equal 0,
left shifts using << were shifting the line to the wrong column.  The
tabstop to the right of the first character in the line was being used
as the shift amount instead of the tabstop to the left of that first
character.

The reason was that the tabstop_at() function always returned the value
of the tabstop to the right of the given column and was not accounting
for the direction of the shift.

The solution was to make tabstop_at() aware of the direction of the
shift and to choose the tabtop accordingly.

A test was added to check this behavior and make sure it doesn't
regress.

While at it, also fix a few indentation/alignment issues.

fixes: #14864
closes: #14887

Signed-off-by: Gary Johnson <garyjohn@spocom.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-01 20:51:33 +02:00
Christian Brabandt
e299591498 runtime(doc): clarify 'shortmess' flag "S"
fixes: #14893

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-01 20:43:47 +02:00
Mike Williams
16b63bd002 patch 9.1.0455: MS-Windows: compiler warning for size_t to int conversion
Problem:  MS-Windows: compiler warning for size_t to int conversion
Solution: Add a few type casts to resolve warning on Windows
          (Mike Williams)

closes: #14884

Signed-off-by: Mike Williams <mrmrdubya@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-01 11:33:40 +02:00
Christian Brabandt
bad9577b9a runtime(doc): include some vim9 script examples in the help
closes: #14848

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-31 15:09:42 +02:00
Christian Brabandt
f3dd6f617c patch 9.1.0454: minor issues in test_filetype with rasi test
Problem:  minor issues in test_filetype with rasi test
          (after 9.1.0453)
Solution: re-sort test_filetype, fix wrong syntax.txt help tags

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-31 12:26:12 +02:00
Pierrick Guillaume
280e5b13ca patch 9.1.0453: filetype: rasi files are not recognized
Problem:  filetype: rasi files are not recognized
Solution: regonize '*.rasi' files as rasi filetype,
          include a filetype and syntax plugin
          (Pierrick Guillaume)

ported from: https://github.com/Fymyte/rasi.vim

closes: #14821

Signed-off-by: Pierrick Guillaume <pierguill@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-31 12:00:49 +02:00
Aliaksei Budavei
7129f2ad2f runtime(java): Improve the matching of lambda expressions (#14880)
- Distinguish some formal parameters.
- Support multi-line definitions.

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-31 11:11:34 +02:00
youcai
1acc67ac44 patch 9.1.0452: Configure checks for libelf unnecessarily
Problem:  Configure checks for libelf unnecessarily
Solution: Remove configure check (youcai)

closes: #14879

Signed-off-by: youcai <omegacoleman@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-30 19:31:36 +02:00
zeertzjq
88c8c547d5 patch 9.1.0451: No test for escaping '<' with shellescape()
Problem:  No test for escaping '<' with shellescape()
Solution: Add a test.  Use memcpy() in code to make it easier to
          understand.  Fix a typo (zeertzjq).

closes: #14876

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-30 19:27:25 +02:00
Christian Brabandt
32a5faa6d7 check.vim complains about overlong comment lines
Problem:  check.vim complains about overlong comment lines
Solution: only check the length of non-commented lines

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-30 09:51:47 +02:00
Antonio Giovanni Colombo
ed43711b66 translation(it): Update Italian translation
Signed-off-by: Antonio Giovanni Colombo <azc100@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-30 09:49:40 +02:00
Yegappan Lakshmanan
51c45e89b5 patch 9.1.0450: evalc. code too complex
Problem:  eval.c code too complex
Solution: refactor eval6() and eval9() functions into several smaller
          functions (Yegappan Lakshmanan)

closes: #14875

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-30 07:52:44 +02:00
Mike Williams
51024bbc1a patch 9.1.0449: MS-Windows: Compiler warnings
Problem:  MS-Windows: Compiler warnings
Solution: Resolve size_t to int warnings

closes: #14874

A couple of warnings in ex_docmd.c have been resolved by modifying their
function argument types, followed by some changes in various function
call sites.  This also allowed removal of some casts to cope with
size_t/int conversion.

Signed-off-by: Mike Williams <mrmrdubya@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-30 07:46:30 +02:00
Yegappan Lakshmanan
8904d672be patch 9.1.0448: compiler warning in eval.c
Problem:  compiler warning in eval.c (after v9.1.0429)
Solution: refactor code (Yegappan Lakshmanan)

fixes: #14847
closes: #14867

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-29 07:51:50 +02:00
zeertzjq
0b74eeceb8 runtime(stylus): remove remaining css code (#14866)
This seems to be a forgotten fixup in 2d919d2744 (r141568461)

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-28 07:23:41 +01:00
h-east
0bdc5d8241 runtime(doc): Add ft_hare.txt to Reference Manual TOC
while at it, also re-align ft_context.txt with the rest of the
list.

closes: #14863

Signed-off-by: h-east <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-27 17:14:17 +02:00
Christian Brabandt
393708cff6 runtime(vim): re-generate vim syntax from generator
related: #14861

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-27 15:50:07 +02:00
h_east
c984b2fd9d runtime(vim): fix syntax vim bug (Close #14858) (#14861)
Signed-off-by: h-east <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-27 15:40:25 +02:00
glepnir
53387c55a1 patch 9.1.0447: completion may be wrong when deleting all chars
Problem:  completion may be wrong when deleting all chars
Solution: reset compl_shown_match

closes: #14854

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-27 15:14:51 +02:00
zeertzjq
ef73374dc3 patch 9.1.0446: getregionpos() inconsistent for partly-selected multibyte char
Problem:  getregionpos() behaves inconsistently for a partly-selected
          multibyte char.
Solution: Always use column of the first byte for a partly-selected
          multibyte char (zeertzjq).

closes: #14851

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-26 18:42:18 +02:00
Linda_pp
86071925ed runtime(typescriptreact): fix highlighting nested and escaped quotes in string props (#14852)
Signed-off-by: rhysd <lin90162@yahoo.co.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-26 18:22:26 +02:00
Christian Brabandt
76174e7110 runtime(asm): remove the indent plugin since it has too many issues
fixes: #14791

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-26 18:04:19 +02:00
James McCoy
0076ddc07d runtime(debian): update Debian runtime files (#14849)
* Add space in template for 'commentstring'
* Add 'comments' and 'commentstring' support to debcontrol
* debversions: Move Ubuntu releases outside of standard support to unsupported
  Although trust, xenial, and bionic are not EOL yet, their standard support period has ended.

Reported-by: Riley Bruins <ribru17@gmail.com>
Co-authored-by: Riley Bruins <ribru17@gmail.com>
Signed-off-by: James McCoy <jamessan@debian.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-25 20:56:49 +02:00
Yegappan Lakshmanan
dbac0da631 patch 9.1.0445: Coverity warning after 9.1.0440
Problem:  Coverity warning after 9.1.0440
Solution: Fix Coverity warning, add a test and
          reduce the calls to clear_tv()
          (Yegappan Lakshmanan).

closes: #14845

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-25 20:23:54 +02:00
zeertzjq
dff55a3358 patch 9.1.0444: Not enough tests for getregion() with multibyte chars
Problem:  Not enough tests for getregion() with multibyte chars.
Solution: Add a few more tests (zeertzjq).

closes: #14844

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-25 10:25:36 +02:00
zeertzjq
afc2295c22 patch 9.1.0443: Can't use blockwise selection with width for getregion()
Problem:  Can't use a blockwise selection with a width for getregion().
Solution: Add support for blockwise selection with width like the return
          value of getregtype() or the "regtype" value of TextYankPost
          (zeertzjq).

closes: #14842

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-24 19:07:12 +02:00
rhysd
5e45715084 runtime(typescript): update outdated syntax files
fixes: #14721
fixes: HerringtonDarkholme/yats.vim#277
closes: #14840

Signed-off-by: rhysd <lin90162@yahoo.co.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-24 19:03:03 +02:00
Josef Litoš
b1ffc52694 runtime(i3config/swayconfig): fix floating_modifier highlight (#14841)
Signed-off-by: JosefLitos <litosjos@fit.cvut.cz>
Signed-off-by: James Eapen <james.eapen@vai.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-24 17:31:36 +02:00
Amelia Clarke
35dfe58a54 patch 9.1.0442: hare runtime files outdated
Problem:  hare runtime files outdated
Solution: runtime(hare): update hare.vim to match upstream
          (Amelia Clarke)

closes: #14836

Signed-off-by: Amelia Clarke <selene@perilune.dev>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-24 08:05:00 +02:00
zeertzjq
2b09de9104 patch 9.1.0441: getregionpos() can't properly indicate positions beyond eol
Problem:  getregionpos() can't properly indicate positions beyond eol.
Solution: Add an "eol" flag that enables handling positions beyond end
          of line like getpos() does (zeertzjq).

Also fix the problem that a position still has the coladd beyond the end
of the line when its column has been clamped.  In the last test case
with TABs at the end of the line the old behavior is obviously wrong.

I decided to gate this behind a flag because returning positions that
don't correspond to actual characters in the line may lead to mistakes
for callers that want to calculate the length of the selected text, so
the behavior is only enabled if the caller wants it.

closes: #14838

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-24 07:48:51 +02:00
Yegappan Lakshmanan
44cadaa18c patch 9.1.0440: function get_lval() is too long
Problem:  function get_lval() is too long
Solution: factor out the get_lval_subscript() function
          (Yegappan Lakshmanan)

closes: #14839

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-24 07:44:10 +02:00
Christian Brabandt
42a5b5a6d0 patch 9.1.0439: Cannot filter the history
Problem:  Cannot filter the history
Solution: Implement :filter :history

closes: #14835

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-24 07:39:34 +02:00
zeertzjq
3074137542 patch 9.1.0438: Wrong Ex command executed when :g uses '?' as delimiter
Problem:  Wrong Ex command executed when :g uses '?' as delimiter and
          pattern contains escaped '?'.
Solution: Don't use "*newp" when it's not allocated (zeertzjq).

closes: #14837

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-24 07:37:36 +02:00
James Eapen
22ac941208 runtime(i3config/swayconfig): support floating_modifier none; revert broken highlighting
- fix floating_modifier $mod normal|inverse was being hightlighted as error
  reverting the floating_modifier change from dd83b63
- will currently allow invalid syntax after floating_modifier

fixes: #14826
closes: #14827

Co-authored-by: JosefLitos <litosjos@fit.cvut.cz>
Signed-off-by: James Eapen <james.eapen@vai.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-23 20:48:54 +02:00
Drew Vogel
742062f31f patch 9.1.0437: Motif requires non-const char pointer for XPM data
Problem:  Motif requires non-const char pointer for XPM data shared with
          GTK (Tony Mechelynck, after v9.1.0432)
Solution: Cast non-const to const char pointer for GTK (Drew Vogel).

closes: #14834

Signed-off-by: Drew Vogel <dvogel@github>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-23 17:49:39 +02:00
zeertzjq
789679cfc4 patch 9.1.0436: Crash when using '?' as separator for :s
Problem:  Crash when using '?' as separator for :s and pattern contains
          escaped '?'s (after 9.1.0409).
Solution: Always compute startplen. (zeertzjq).

related: neovim/neovim#28935
closes: 14832

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-23 17:41:26 +02:00
K.Takata
cd79f8fbd3 patch 9.1.0435: filetype: cygport files are not recognized
Problem:  filetype: cygport files are not recognized
Solution: Recognize '*.cygport' files as sh filetype
          (Ken Takata)

https://cygwin.github.io/cygport/cygport_in.html

closes: #14833

Signed-off-by: K.Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-23 17:31:26 +02:00
Derek Schrock
3554d9bfcc patch 9.1.0434: make errors trying to access autoload/zig
Problem:  make errors trying to access autoload/zig
Solution: Remove autoload/zig from Makefile, adjust Filelist
          (Derek Schrock)

Commit d1d9316c6 removed autoload/zig/ files and install/uninstall target
of the Makefile fail since the directory doesn't exist any longer.

closes: #14828

Signed-off-by: Derek Schrock <dereks@lifeofadishwasher.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-23 17:27:05 +02:00
zeertzjq
701ad50a9e patch 9.1.0433: Wrong yanking with exclusive selection and ve=all
Problem:  Wrong yanking with exclusive selection and virtualedit=all,
          and integer overflow when using getregion() on it.
Solution: Set coladd when decreasing column and 'virtualedit' is active.
          Add more tests for getregion() with 'virtualedit' (zeertzjq).

closes: #14830

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-23 07:47:55 +02:00
Christian Brabandt
f2d74e3b63 runtime(comment): add missing help tags file
fixes: #14829

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-23 07:24:29 +02:00
Drew Vogel
5090f838bb patch 9.1.0432: Ancient XPM preprocessor hack may cause build errors
Problem:  Ancient XPM preprocessor hack may cause build errors.
Solution: Simplify XPM includes and get rid of complicated #ifdef magic
          (Drew Vogel).

closes: #14816

Signed-off-by: Drew Vogel <dvogel@github>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-22 16:51:53 +02:00
Riley Bruins
802fc04a78 runtime(rescript): include basic rescript ftplugin file (#14822)
Reference: https://rescript-lang.org/docs/manual/latest/overview#comments

Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-22 16:49:17 +02:00
Yegappan Lakshmanan
25536f415e patch 9.1.0431: eval.c is too long
Problem:  eval.c is too long
Solution: Move garbage collection code to new gc.c file
          (Yegappan Lakshmanan)

closes: #14824

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-22 16:45:04 +02:00
zeertzjq
52a6f34887 patch 9.1.0430: getregionpos() doesn't handle one char selection
Problem:  getregionpos() doesn't handle one char selection.
Solution: Handle startspaces differently when is_oneChar is set.
          Also add a test for an exclusive charwise selection with
          multibyte chars (zeertzjq)

closes: #14825

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-22 16:42:44 +02:00
Christian Brabandt
95ff39f8e3 CI: disable -O2 for Coverity after v9.1.0429
gcc -O2 outputs this warning and turns it into an error when running
Coverity action:

```
eval.c: In function ‘echo_string_core’:
cc1: warning: function may return address of local variable [-Wreturn-local-addr]
eval.c:6495:12: note: declared here
 6495 |     char_u buf[MAX_FUNC_NAME_LEN];
      |            ^~~
```

This seems to be a false positive, so disable -O2 for Coverity
specifically.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-22 07:56:24 +02:00
Ubaldo Tiberi
62ccaa60d5 runtime(termdebug): check for gdb file/dir before using as buffer name
Add test so that this doesn't regress.

fixes: #12718
closes: #14792

Signed-off-by: Ubaldo Tiberi <ubaldo.tiberi@volvo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-21 23:33:03 +02:00
Tiseno
d1d9316c66 runtime(zig): refactor zig ftplugin, remove auto format
Refactored zig ftplugin, removed upstream comment, aucmd and
auto formatting support. Updated documentation for zig configuration
settings and added new maintainer.

closes: #13803

Signed-off-by: Tiseno <mathias.lindgren@stabelo.se>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-21 23:27:03 +02:00
Christian Brabandt
b335a9312c patch 9.1.0429: Coverity complains about eval.c refactor
Problem:  Coverity complains about eval.c refactor
          (after v9.1.0422)
Solution: Check that buf is not used un-initialized,
          add explicit conditions for save and restore
          of copyID

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-21 18:39:10 +02:00
zeertzjq
42cd192daa patch 9.1.0428: Tag guessing leaves wrong search history with very short names
Problem:  Tag guessing leaves wrong search history with very short names
          (after 9.1.0426).
Solution: Use the correct variable for pattern length (zeertzjq).

closes: #14817

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-21 17:19:58 +02:00
Ken Takata
ffed1540f3 patch 9.1.0427: tests: some issues with termdebug mapping test
Problem:  tests: some issues with termdebug mapping test
Solution: Use assert_{true,false} if suitable, change
          order of expected and actual arguments in assert() calls.
          (Ken Takata)

closes: #14818
related: 7fbbd7f

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-21 17:14:56 +02:00
Christian Brabandt
8cf29e4c4a runtime(matchit): update matchit plugin to v1.20
fixes: #14814

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-20 20:02:16 +02:00
John Marriott
8c85a2a49a patch 9.1.0426: too many strlen() calls in search.c
Problem:  too many strlen() calls in search.c
Solution: refactor code and remove more strlen() calls,
          use explicit variable to remember strlen
          (John Marriott)

closes: #14796

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-20 19:18:26 +02:00
Riley Bruins
69dff00dfb runtime(verilog): set commentstring option
closes: #14810

Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-20 18:14:25 +02:00
Michael Soyka
af2254d2f3 runtime(vb): update vb indent plugin as vim9script
Include an updated vb indent script using vim9script.
Also update the runtime indent test files

Signed-off-by: Michael Soyka <mssr953@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-20 14:38:10 +02:00
Riley Bruins
155583a5c3 patch 9.1.0425: filetype: purescript files are not recognized
Problem:  filetype: purescript files are not recognized
Solution: recognize '*.purs' files as purescript filetype,
          include basic purescript filetype plugin
          (Riley Bruins)

Reference: https://github.com/purescript/documentation/blob/master/language/Syntax.md#comments

closes: #14813

Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-20 14:21:53 +02:00
Riley Bruins
aa3104b07a patch 9.1.0424: filetype: slint files are not recognized
Problem:  filetype: slint files are not recognized
Solution: Detect '*.slint' files as slint filetype,
          include basic sling filetype plugin
          (Riley Bruins)

closes: #14808

Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-20 14:20:09 +02:00
Riley Bruins
f295050fa5 runtime(nim): basic nim ftplugin file for comments (#14812)
Reference: https://nim-by-example.github.io/comments/#:~:text=Comments%20in%20Nim%20begin%20with%20the%20hash%20character.&text=Multiline%20or%20block%20comments%20begin,line%20comments%20can%20be%20nested.

Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-20 14:16:17 +02:00
K.Takata
957d903cb7 runtime(arduino): Add Arduino ftplugin and indent files (#14811)
We already have Arduino syntax file, but we didn't have ftplugin and
indent files.

This commit adds a basic ftplugin file and a basic indent file.
Both of them are derived from {ftplugin,indent}/c.vim.

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-20 14:13:35 +02:00
Riley Bruins
c3d5c2fc87 runtime(typst): include basic typst ftplugin file (#14809)
Reference: https://typst.app/docs/reference/syntax/#comments

Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-20 14:08:49 +02:00
Riley Bruins
9c4d14dbb4 runtime(prisma): include basic prisma ftplugin file (#14807)
Reference: https://www.prisma.io/docs/orm/prisma-schema/overview#comments

Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-20 14:07:30 +02:00
Riley Bruins
1b5e3d21f6 runtime(v): include basic v ftplugin for comment support (#14806)
Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-20 14:03:46 +02:00
zeertzjq
c95e64f41f patch 9.1.0423: getregionpos() wrong with blockwise mode and multibyte
Problem:  getregionpos() wrong with blockwise mode and multibyte.
Solution: Use textcol and textlen instead of start_vcol and end_vcol.
          Handle coladd properly (zeertzjq).

Also remove unnecessary buflist_findnr() in add_regionpos_range(), as
getregionpos() has already switched buffer.

closes: #14805

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-20 14:00:31 +02:00
Yegappan Lakshmanan
22029edb6c patch 9.1.0422: function echo_string_core() is too long
Problem:  function echo_string_core() is too long
Solution: Refactor into several smaller functions
          (Yegappan Lakshmanan)

closes: #14804

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-20 13:57:11 +02:00
Riley Bruins
5f1b115afd patch 9.1.0421: filetype: hyprlang files are not recognized
Problem:  filetype: hyprlang files are not recognized
Solution: recognize 'hypr{land,paper,idle,lock}.conf' files
          as 'hyprlang' filetype, add hyprlang ftplugin
          (Riley Bruins)

closes: #14803

Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-19 11:26:44 +02:00
Riley Bruins
4d7892bfb1 runtime(dart): add basic dart ftplugin file
fixes #14793
closes #14802

Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-19 09:31:46 +02:00
Riley Bruins
36e974fdf3 runtime(graphql): basic ftplugin file for graphql
closes: #14801

Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-19 09:30:12 +02:00
Christian Brabandt
d801edfb1b runtime(doc): mention comment plugin at :h 'commentstring'
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-19 09:29:02 +02:00
Riley Bruins
df859a36d3 runtime(sql): set commentstring for sql files in ftplugin
closes: #14800

Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-19 09:24:17 +02:00
Christian Brabandt
0b0f7d6be0 patch 9.1.0420: :browse oldfiles prompts even with single entry
Problem:  :browse oldfiles prompts even with single entry
Solution: Do not prompt, but edit the file directly,
          also when using :filter /pat/ browse oldfiles

closes: #14794

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-19 09:11:09 +02:00
Yegappan Lakshmanan
4776e64e72 patch 9.1.0419: eval.c not sufficiently tested
Problem:  eval.c not sufficiently tested
Solution: Add a few more additional tests for eval.c,
          (Yegappan Lakshmanan)

closes: #14799

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-19 09:06:50 +02:00
Christian Brabandt
5f75714730 runtime(doc): clarify why E195 is returned
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-18 19:11:29 +02:00
Christian Brabandt
5cf5301e28 runtime(doc): clarify temporary file clean up
related: #14770

Co-authored-by: Enno <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-18 10:15:04 +02:00
zeertzjq
9404378019 runtime(matchparen): fix :NoMatchParen not working (#14797)
fixes: neovim/neovim#28828

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-18 08:55:49 +02:00
Christ van Willegen - van Noort
8e4c4c7d87 patch 9.1.0418: Cannot move to previous/next rare word
Problem:  Cannot move to previous/next rare word
          (Colin Kennedy)
Solution: Add the ]r and [r motions (Christ van Willegen)

fixes: #14773
closes: #14780

Signed-off-by: Christ van Willegen - van Noort <github.com@vanwillegen-vannoort.nl>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-17 18:52:45 +02:00
Yinzuo Jiang
cf78d0df51 runtime(sshdconfig): add basic ftplugin file for sshdconfig (#14790)
Signed-off-by: Yinzuo Jiang <jiangyinzuo@foxmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-17 18:39:24 +02:00
Christian Brabandt
f0905a8613 patch 9.1.0417: if_py: find_module has been removed in Python 3.12.0a7
Problem:  if_py: find_module has been removed in Python 3.12.0a7
          (@Ghost-LZW)
Solution: Do not include find_module for Python >= 3.12.0a7

fixes: #14776
closes: #14781

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-17 18:30:26 +02:00
Luuk van Baal
2e642734f4 patch 9.1.0416: some screen dump tests can be improved
Problem:  some screen dump tests can be improved (after 9.1.0414)
Solution: Make sure screen state changes properly and is captured in the
          screen dumps (Luuk van Baal)

closes: #14788

Signed-off-by: Luuk van Baal <luukvbaal@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-17 18:28:02 +02:00
Yegappan Lakshmanan
fe424d13ef patch 9.1.0415: Some functions are not tested
Problem:  Some functions are not tested
Solution: Add a few more tests, fix a few minor problems
          (Yegappan Lakshmanan)

closes: #14789

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-17 18:20:43 +02:00
Christian Brabandt
e595e9c31b runtime(doc): clarify instal instructions for comment package
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-17 17:30:04 +02:00
Luuk van Baal
b32055e504 patch 9.1.0414: Unable to leave long line with 'smoothscroll' and 'scrolloff'
Problem:  Unable to leave long line with 'smoothscroll' and 'scrolloff'.
          Corrupted screen near the end of a long line with 'scrolloff'.
          (Ernie Rael, after 9.1.0280)
Solution: Only correct cursor in case scroll_cursor_bot() was not itself
          called to make the cursor visible. Avoid adjusting for
          'scrolloff' beyond the text line height (Luuk van Baal)

fixes: #14726
closes: #14783

Signed-off-by: Luuk van Baal <luukvbaal@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-16 20:44:09 +02:00
jbm950
f5c8f520ba runtime(doc): fix typo in vim9script help file (#14782)
This commit fixes a typo in the first example of the vim9script help
file. Trying to execute the given example before resulted in a "trailing
characters" error.

Signed-off-by: jbm950 <jmilam343@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-16 19:53:39 +02:00
K.Takata
c0e038b59f runtime(doc): Remove trailing spaces (#14784)
Fix the issues introduced by #14770.
2024-05-16 12:39:01 +09:00
Enno
5faeb60480 runtime(doc): clarify {special} argument for shellescape()
closes: #14770

Signed-off-by: Enno <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-15 21:54:19 +02:00
Christian Brabandt
8314de8fd4 CI: Upload failed screendump tests when run in github actions
It's a bit of a pain to debug failing screendump tests without knowing
exactly what went wrong. Therefore include actions/upload-artifact for
the Github CI runners and have them uploaded those failing screen dump
tests automatically.

Let's add this step to each of the Linux/MacOS/Windows workflows but do
not duplicate the code, factor it out to a single file
.github/actions/screendump/action.yml and reference this one from the
main ci.yml file

Example:
https://github.com/chrisbra/vim/actions/runs/9085493619

closes: #14771

Co-authored-by: dundargoc <gocdundar@gmail.com>
Co-authored-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-15 21:48:11 +02:00
Christian Brabandt
eff20eb35d patch 9.1.0413: smoothscroll may cause infinite loop
Problem:  smoothscroll may cause infinite loop, with
          very narrow windows
          (Jaehwang Jung, after v9.1.0280)
Solution: Check for width1 being negative, verify
          that win_linetabsize does not overflow

fixes: #14750
closes: #14772

Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-15 21:35:36 +02:00
Christian Brabandt
fed01960d2 runtime(doc): add missing entries for the keys CTRL-W g<Tab> and <C-Tab>
fixes: #14777
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-15 21:05:23 +02:00
Cthulhux
93e0d2e815 runtime(doc): update vi_diff.txt: add default value for 'flash'
The "flash" option was added relatively late and seems to be exclusive
to System V. (It's not in 4.4BSD and it's not in V8 UNIX, checked [on
TUHS](https://www.tuhs.org/cgi-bin/utree.pl).) The oldest occurrence of
`flash` in "a vi" I could find is in SysV R2 for the VAX, where it
[defaults to
1](https://github.com/ryanwoodsmall/oldsysv/blob/master/sysvr2-vax/src/cmd/vi/vax/ex_data.c)
= on.

closes: #14778

Signed-off-by: Cthulhux <github@tuxproject.de>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-15 20:54:35 +02:00
Christian Brabandt
6043024cd4 patch 9.1.0412: typo in regexp_bt.c in DEBUG code
Problem:  typo in regexp_bt.c in DEBUG code, causing
          compile error (@kfleong7, after v9.1.0409)
Solution: Replace bulen by buflen

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-14 11:19:47 +02:00
Josef Litoš
679f5abb99 runtime(i3config/swayconfig): allow indented commands (#14757)
fixes: #14752

Co-authored-by: jamespeapen <jamespeapen@users.noreply.github.com>
Signed-off-by: Josef Litoš <54900518+JosefLitos@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-13 22:03:42 +02:00
Tom Picton
7961210b86 runtime(python): Fix wrong define regex in ftplugin (#14763)
Signed-off-by: Tom Picton <tom@tompicton.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-13 22:00:40 +02:00
Aliaksei Budavei
2f5ff73827 runtime(syntax-tests): Filter out non-Latin-1 characters for syntax tests (#14767)
Syntax tests are run with the LC_ALL=C environment variable
passed to "make".  Occasionally, there are CI failures for
such test files containing non-Latin-1 characters with error
messages pointing to multi-byte characters:

https://github.com/vim/vim/actions/runs/8824925004/job/24228298023#step:10:16370 ,
https://github.com/vim/vim/actions/runs/8840856619/job/24276935260#step:10:16347 ,
https://github.com/vim/vim/actions/runs/8854043458/job/24316210645#step:10:16362 ,
https://github.com/vim/vim/actions/runs/8856501136/job/24322848765#step:10:16354 ,
https://github.com/vim/vim/actions/runs/9038417238/job/24839482152#step:11:16980 .

But since the very same unchanged tests pass at other times:

https://github.com/vim/vim/actions/runs/8827593571/job/24235935458#step:10:16353 ,
https://github.com/vim/vim/actions/runs/9065214647/job/24905321661#step:11:17002 ;

these failures are unrelated to the nature of syntax tests
and should be considered false positives.

As a temporary workaround, all bytes of known non-Latin-1
characters can be replaced in memory with an arbitrary ASCII
byte (?) by applying a filter

> " To ignore part of the dump, provide a "dumps/{filename}.vim" file with
> " Vim commands to be applied to both the reference and the current dump, so
> " that parts that are irrelevant are not used for the comparison.  The result
> " is NOT written, thus "term_dumpdiff()" shows the difference anyway.

before lines are compared between files.


Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-13 21:06:05 +02:00
Christian Brabandt
43f2edc096 runtime(netrw): prefer scp over pscp
regression introduced in ce2ad9ffd7

The current logic is a bit funny, in that it checks for an executable of
scp, then pscp and if neither exists, it uses: scp :/
Anyway, let's fall back to the logic used before the above commit.

related: #14739

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-13 21:01:06 +02:00
Christian Brabandt
b7258738f8 runtime(doc): fix typo in usr_52.txt
fixes: #14758

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-12 19:04:47 +02:00
Yegappan Lakshmanan
4ceb4dc825 patch 9.1.0411: too long functions in eval.c
Problem:  too long functions in eval.c
Solution: refactor functions (Yegappan Lakshmanan)

closes: #14755

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-12 09:24:35 +02:00
John Marriott
d01e699348 patch 9.1.0410: warning about uninitialized variable
Problem:  warning about uninitialized variable
          (Tony Mechelynck, after 9.1.0409)
Solution: initialize variable (John Marriott)

closes: #14754

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-12 09:01:38 +02:00
John Marriott
82792db631 patch 9.1.0409: too many strlen() calls in the regexp engine
Problem:  too many strlen() calls in the regexp engine
Solution: refactor code to retrieve strlen differently, make use
          of bsearch() for getting the character class
          (John Marriott)

closes: #14648

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-12 00:07:17 +02:00
Tom Picton
86f6e2c2ee ftplugin(python): E16 fix, async keyword support for define (#14751)
This change includes the following changes:
- Fix "E16: Invalid range" when using a count with jump to start/end of class/method
- Update define with optional async keyword
- Update maintainer email

Signed-off-by: Tom Picton <tom@tompicton.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-11 20:26:06 +02:00
Christian Brabandt
9c0ff47098 patch 9.1.0408: configure fails on Fedora when including perl
Problem:  configure fails on Fedora when including perl
          (chesheer-smile)
Solution: Filter out -spec=<path> from $LIBS and $LDFLAGS to avoid
          linking relocation errors for unrelated autoconf tests.

closes: #14526

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-11 20:22:32 +02:00
Luuk van Baal
58448e09be patch 9.1.0407: Stuck with long line and half-page scrolling
Problem:  No scrolling happens with half-page scrolling with line
          filling entire window when 'smoothscroll' is disabled.
          (Mathias Rav, after v9.1.0285)
Solution: Adjust amount to move cursor by so that it is moved the same
          number of lines as was scrolled, even when scrolling different
          number of lines than requested with 'nosmoothscroll'.

fixes: #14743
closes: #14746

Signed-off-by: Luuk van Baal <luukvbaal@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-11 11:27:52 +02:00
zeertzjq
031a745608 patch 9.1.0406: Divide by zero with getmousepos() and 'smoothscroll'
Problem:  Divide by zero with getmousepos() and 'smoothscroll'.
Solution: Don't compute skip_lines when width1 is zero.
          (zeertzjq)

closes: #14747

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-11 11:23:37 +02:00
Christian Brabandt
1c5728e0c4 runtime(doc): update and remove some invalid links
closes: #14748

Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-11 11:16:21 +02:00
Antonio Giovanni Colombo
9e4bfb219f translation(it): update translation of xxd manpage
Signed-off-by: Antonio Giovanni Colombo <azc100@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-10 23:53:58 +02:00
Nir Lichtman
c16c4a21eb runtime(netrw): Recursively delete directories by default with netrw delete command
closes: #14742

Signed-off-by: Nir Lichtman <nir@lichtman.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-10 23:43:29 +02:00
Aliaksei Budavei
d3952e8cfe runtime(java): Strive to remain compatible for at least Vim 7.0 (#14744)
Also:

- Limit all look-behind regexp patterns.
- Cache regexp capabilities for [:upper:] and [:lower:].

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-10 23:39:31 +02:00
Christian Brabandt
b7deb1b69e patch 9.1.0405: tests: xxd buffer overflow fails on 32-bit
Problem:  tests: xxd buffer overflow fails on 32-bit
Solution: Skip test on 32-bit architecture

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-10 20:03:21 +02:00
Aliaksei Budavei
06bdac1580 runtime(java): Stop handpicking syntax groups for @javaTop (#14727)
* runtime(java): Stop handpicking syntax groups for @javaTop

Also:

- Remove the obsolete comment for g:java_allow_cpp_keywords.
- Remove the commented out groups java\%[Debug\]StringError.
- Infer and set the preferred formatting Vim options from
  the modeline.

Since vim-6-0u, non-contained syntax groups can be referred
to by using the "contains=TOP..." argument.

* Set &encoding and &termencoding to "utf-8" for test files

* Limit non-ASCII charset to [§ƒɐɘʬʭΑ-Τα-μ] for test files

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-10 14:49:06 +02:00
Lennard Hofmann
67797191e0 patch 9.1.0404: [security] xxd: buffer-overflow with specific flags
Problem:  [security] xxd: buffer-overflow with specific flags
Solution: Correctly calculate the required buffer space
          (Lennard Hofmann)

xxd writes each output line into a global buffer before printing.
The maximum size of that buffer was not calculated correctly.

This command was crashing in AddressSanitizer:
$ xxd -Ralways -g1 -c256 -d -o 9223372036854775808 /etc/passwd

This prints a line of 6680 bytes but the buffer only had room for 6549 bytes.
If the output from "-b" was colored, the line could be even longer.

closes: #14738

Co-authored-by: K.Takata <kentkt@csc.jp>
Signed-off-by: Lennard Hofmann <lennard.hofmann@web.de>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-10 14:41:18 +02:00
Yegappan Lakshmanan
8c35c26c1f patch 9.1.0403: Vim9: not able to import file from start dir
Problem:  Vim9: not able to import file from start dir
          (Danielle McLean)
Solution: Allow to import from start directory
          (Yegappan Lakshmanan)

fixes: #13313
closes: #14740

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-10 13:10:54 +02:00
Wu, Zhenyu
63f2a5b8ad patch 9.1.0402: filetype: mdd files detected as zsh filetype
Problem:  filetype: mdd files detected as zsh filetype
Solution: detect '*.mdd' files as sh filetype, add links
          to reference documentation (Wu, Zhenyu)

closes: #14741

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-10 13:01:54 +02:00
Wu, Zhenyu
887a38cee7 patch 9.1.0401: filetype: zsh module files are not recognized
Problem:  filetype: zsh module files are not recognized
Solution: Detect '*.mdh' and '*.epro' as C filetype, '*.mdd' as zsh
          filetype, determine zsh-modules '*.pro' from from it's content
          (Wu, Zhenyu)

closes: #14737

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-09 20:35:13 +02:00
Nir Lichtman
ce2ad9ffd7 runtime(netrw): Remove hardcoded private.ppk logic from netrw
closes: #14739

Signed-off-by: Nir Lichtman <nir@lichtman.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-09 20:20:36 +02:00
Yegappan Lakshmanan
1b53172901 patch 9.1.0400: Vim9: confusing error message for unknown type
Problem:  Vim9: confusing error message for unknown type
          (Doug Kearns)
Solution: For an unknown type, display only the type name in the error
          message (Yegappan Lakshmanan)

fixes: #13153
closes: #14736

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-09 09:15:02 +02:00
Christian Brabandt
d5c8c0920e patch 9.1.0399: block_editing errors out when using del
Problem:  block_editing errors out when using del
          (@Jamarley)
Solution: Change ins_len from size_t to int and
          properly check that it doesn't become negative

There is a check in os.c that verifies that `ins_len` does not become
negative:
```
if (pre_textlen >= 0 && (ins_len = len - pre_textlen - offset) > 0)
```
However this only works, if ins_len can actually become negative and
unfortunately, ins_len has been declared as `size_t` so instead of
becoming negative it will wrap around and be very large.

So let's define it as integer, after which the condition above
properly catches this condition.

fixes: #14734
closes: #14735

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-08 22:17:19 +02:00
Maxwell G
cb3691811b runtime(spec): add new items to scripts section in syntax plugin
- %generate_buildrequires — added in RPM 4.15
- %conf — added in RPM 4.18

closes: #14723

Ref: https://rpm-software-management.github.io/rpm/manual/spec.html#build-scriptlets

Signed-off-by: author
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-08 20:28:51 +02:00
Yegappan Lakshmanan
9937d8b619 patch 9.1.0398: Vim9: imported vars are not properly type checked
Problem:  Vim9: imported vars are not properly type checked
Solution: Check the imported variable type properly
          (Yegappan Lakshmanan)

closes: #14729

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-08 20:24:33 +02:00
zeertzjq
c7a8eb5ff2 patch 9.1.0397: Wrong display with 'smoothscroll' when changing quickfix list
Problem:  Wrong display with 'smoothscroll' when changing quickfix list.
Solution: Reset w_skipcol when replacing quickfix list (zeertzjq).

closes: #14730

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-08 20:22:40 +02:00
Gregory Anders
6a4ea471d2 patch 9.1.0396: filetype: jj files are not recognized
Problem:  jj files are not recognized
Solution: recognize '*.jjdescription' files as jj filetype
          (Gregory Anders)

See: https://github.com/martinvonz/jj

closes: #14733

Signed-off-by: Gregory Anders <greg@gpanders.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-08 20:17:43 +02:00
Christian Brabandt
b8ecedce79 patch 9.1.0395: getregionpos() may leak memory on error
Problem:  regionpos may leak memory on error, coverity
          complains about dereferencing Null pointer
Solution: free all list pointers (after v9.1.394),
          return early if buflist_findnr() returns NULL

closes: #14731

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-08 19:50:26 +02:00
Christian Brabandt
3ac83c7141 The CODEOWNERS File is not useful
Github is complaining about "This file has errors" and is just noisy
and for that reason does not ping maintainers if a new issue/PR is
created.
Let's just rename it to MAINTAINERS file instead and update the
documentation.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-08 19:39:54 +02:00
Nir Lichtman
1e34b95e44 runtime(netrw): Remove and cleanup Win9x legacy from netrw
closes: #14732

Signed-off-by: Nir Lichtman <nir@lichtman.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-08 19:19:34 +02:00
Christian Brabandt
fb745756db runtime(doc): add MsgArea to 'highlight' option description
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-07 21:21:30 +02:00
Shougo Matsushita
b4757e627e patch 9.1.0394: Cannot get a list of positions describing a region
Problem:  Cannot get a list of positions describing a region
          (Justin M. Keyes, after v9.1.0120)
Solution: Add the getregionpos() function
          (Shougo Matsushita)

fixes: #14609
closes: #14617

Co-authored-by: Justin M. Keyes <justinkz@gmail.com>
Signed-off-by: Shougo Matsushita <Shougo.Matsu@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-07 20:49:24 +02:00
Wu Yongwei
c5def6561d runtime(cpp): Fix digit separator in syntax script for octals and floats
Also fix the incorrect rendering of floats that start with ".".

closes: #14724

Signed-off-by: Wu Yongwei <wuyongwei@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-07 18:33:30 +02:00
Christian Brabandt
4e9adfa3d1 README.md: Update link to Wikipedia Vi page
fixes: #14725

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-07 18:17:00 +02:00
D. Ben Knoble
8d8cb45756 runtime(sh,zsh): clear $MANPAGER in ftplugin before shelling out
Say you use Vim and set MANPAGER='vim -M +MANPAGER --not-a-term -'; then
:{Zs,S}hKeywordPrg (or K) will crap out and spew terminal garbage into
less when bash's "help" fails. This was introduced by 2f25e40b1
(runtime: configure keywordpg for some file types (#5566), 2023-08-23)
and may be present in other files touched by that commit.

Make the "man" invocation sensible by unsetting MANPAGER in the
environment.

Note that changing MANPAGER for `:terminal` is not needed; Vim within
Vim is perfectly fine.

closes: #14679

Signed-off-by: D. Ben Knoble <ben.knoble+github@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-06 19:55:23 +02:00
h-east
53753f6a49 runtime(doc): Fix typos in help documents
closes: #14720

Co-authored-by: Christian Clason <c.clason@uni-graz.at>
Signed-off-by: h-east <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-05 18:42:31 +02:00
Christian Brabandt
c3e6e393cb patch 9.1.0393: 'viewdir' not respecting $XDG_CONFIG_HOME
Problem:  'viewdir' not respecting $XDG_CONFIG_HOME
          (Danilo Rezende, after v9.1.327)
Solution: adjust 'viewdir' option when enabling XDG config mode

fixes: #14680
closes: #14708

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-04 09:48:15 +02:00
Christian Brabandt
7edde3f39e patch 9.1.0392: tests: Vim9 debug tests may be flaky
Problem:  tests: Vim9 debug tests may be flaky
          (Shane-XB-Qian)
Solution: Give a few more lines so that line-wrapping won't
          cause a hit-enter prompt

The two tests Run_Test_debug_running_out_of_lines() and
Run_Test_debug_with_lambda() test debugging of Vim script functions.

Depending from what file-path the tests are run, it may cause
line wrapping to occur on the following output:

Entering Debug mode.  Type "cont" to continue.
command line..script
/home/chrisbra/code/vim-upstream/src/testdir/XdebugFunc[15]..function
<SNR>9_Crash

and if the window is too small, this will cause a hit-enter prompt and so
the WaitForAssert() fails, causing failure of the following tests.

So increase the (internal) Vim window by a few more lines, so that even
if line-wrapping occurs, no hit-enter prompts happens and so the tests
can finish.

fixes: #14596
closes: #14691

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-04 09:38:59 +02:00
zeertzjq
ad4881cb3c runtime(doc): correct getscriptinfo() example (#14718)
When "sid" is specified, it returns a List with a single item.

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-04 09:35:30 +02:00
Yegappan Lakshmanan
5715a72628 patch 9.1.0391: Vim9: could improve testing
Problem:  Vim9: could improve testing
          (Ernie Rael)
Solution: Support defcompile for test_override() to
          improve testing (Yegappan Lakshmanan)

fixes: #14553
closes: #14712

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-03 18:27:51 +02:00
ichizok
c8330b8fff CI: test_sound fails on macos-12 (#14715)
Signed-off-by: ichizok <gclient.gaap@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-03 18:22:35 +02:00
Oleg Zadorozhnyi
5bf7446ba2 translation(sr): update Serbian menu
closes: #14669
closes: #10722

Signed-off-by: Oleg Zadorozhnyi <lesorubshayan@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-02 22:17:05 +02:00
Oleg Zadorozhnyi
75c3161f8f translation(sk): update Slovak menu
closes: #14671
closes: #10721

Signed-off-by: Oleg Zadorozhnyi <lesorubshayan@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-02 22:10:41 +02:00
Oleg Zadorozhnyi
dfbf6f3ae5 translation(sl): update Slovenian menu
closes: #14673

Signed-off-by: Oleg Zadorozhnyi <lesorubshayan@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-02 22:08:13 +02:00
Oleg Zadorozhnyi
d88a39e0d6 translation(pt): update Portuguese menu
closes: #10718
closes: #10717
closes: #14674

Signed-off-by: Oleg Zadorozhnyi <lesorubshayan@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-02 22:05:45 +02:00
Oleg Zadorozhnyi
c3016a8bf0 translation(nl): update Dutch menu
closes: #14682

Signed-off-by: Oleg Zadorozhnyi <lesorubshayan@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-02 22:02:30 +02:00
Oleg Zadorozhnyi
f2211cb1ca translation(ko): update Korean menu
closes: #14683

Signed-off-by: Oleg Zadorozhnyi <lesorubshayan@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-02 21:59:58 +02:00
Oleg Zadorozhnyi
247dbd0e7b translation(is): update Icelandic menu
closes: #14685

Signed-off-by: Oleg Zadorozhnyi <lesorubshayan@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-02 21:56:45 +02:00
Oleg Zadorozhnyi
5ba554011e translation(CZ): update Czech menu
closes: #14704

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-02 21:44:56 +02:00
Oleg Zadorozhnyi
e0d0ad675e translation(af): update Afrikaans menu
closes: #14706

Signed-off-by: Oleg Zadorozhnyi <lesorubshayan@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-02 21:40:43 +02:00
Oleg Zadorozhnyi
f1d3913a80 translation(de): update German menu
closes: #14702

Signed-off-by: Oleg Zadorozhnyi <lesorubshayan@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-02 13:16:21 +02:00
Yorick Peterse
a01968448a patch 9.1.0390: filetype: inko files are not recognized
Problem:  filetype: inko files are not recognized
Solution: Detect '*.inko' as ink filetype
          (Yorick Peterse)

See:
- https://github.com/inko-lang/inko.vim
- https://inko-lang.org/

closes: #14699

Signed-off-by: Yorick Peterse <git@yorickpeterse.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-02 13:11:44 +02:00
tris203
54e79157c5 patch 9.1.0389: filetype: templ files are not recognized
Problem:  filetype: templ files are not recognized
Solution: Detect '*.templ' files as filetype templ
          (Tristan Knight)

See:
- https://github.com/a-h/templ
- https://templ.guide/

closes: #14697

Signed-off-by: tris203 <admin@snappeh.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-02 13:08:25 +02:00
zeertzjq
2ffdae7948 patch 9.1.0388: cursor() and getregion() don't handle v:maxcol well
Problem:  cursor() and getregion() don't handle v:maxcol well.
Solution: Add special handling for v:maxcol like setpos() does.
          (zeertzjq)

closes: #14698

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-02 13:06:24 +02:00
Yegappan Lakshmanan
da9d345b3d patch 9.1.0387: Vim9: null value tests not sufficient
Problem:  Vim9: null value tests not sufficient
Solution: Add a more comprehensive test for null values
          (Yegappan Lakshmanan)

closes: #14701

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-02 13:02:36 +02:00
Oleg Zadorozhnyi
3ca2ae180a translation(ca): update Catalan menu
closes: #14705

Signed-off-by: Oleg Zadorozhnyi <lesorubshayan@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-02 13:00:37 +02:00
Philip H
2d919d2744 patch 9.1.0386: filetype: stylus files not recognized
Problem:  filetype: stylus files not recognized
Solution: Detect '*.styl' and '*.stylus' as stylus filetype,
          include indent, filetype and syntax plugin
          (Philip H)

closes: #14656

Signed-off-by: Philip H <47042125+pheiduck@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-01 18:42:11 +02:00
Oleg Zadorozhnyi
94a05d5545 translation(es): update spanish menu localization
closes: #14690

Signed-off-by: Oleg Zadorozhnyi <lesorubshayan@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-01 18:08:34 +02:00
Philip H
370e36829b runtime(doc): regenerate helptags (#14695)
Signed-off-by: Philip H <47042125+pheiduck@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-01 16:52:40 +02:00
Yegappan Lakshmanan
b2e42b9be0 patch 9.1.0385: Vim9: crash with null_class and null_object
Problem:  Vim9: crash with null_class and null_object
          (Aliaksei Budavei)
Solution: Handle null_class and null_object correctly
          (Yegappan Lakshmanan)

fixes: #14678
closes: #14681

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-01 11:44:17 +02:00
K.Takata
ca4b81a7ae runtime(doc): Add tags about lazyloading of menu (#14688)
Close #14672

Also add the `g:` prefix.

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-01 11:35:32 +02:00
Christian Brabandt
83d3b3b8a4 patch 9.1.0384: tests: vt420 terminfo entry may not be found
Problem:  tests: vt420 terminfo entry may not be found
          (Shane-XB-Qian)
Solution: check existence of terminfo vt420 and infocmp command

related: #14595
closes: #14677

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-30 20:45:09 +02:00
shane.xb.qian
e35478bc9d patch 9.1.0383: filetype: .out files recognized as tex files
Problem:  filetype: .out files recognized as tex files
Solution: Do not set an explicit filetype until it is clear what this
          should be (shane.xb.qian)

closes: #14670

Signed-off-by: shane.xb.qian <shane.qian@foxmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-30 20:35:53 +02:00
Bruno BELANYI
5cbc9a69e5 patch 9.1.0382: filetype: Kbuild files are not recognized
Problem:  Kbuild files are not recognized.
Solution: Detect Kbuild files as make files.
          (Bruno Belanyi)

closes: #14676

Signed-off-by: Bruno Belanyi <bruno@belanyi.fr>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-30 20:16:01 +02:00
Christian Brabandt
652c821366 patch 9.1.0381: cbuffer and similar commands don't accept a range
Problem:  cbuffer and similar quickfix and locationlist commands don't
          accept a range, even so it is documented they should
          (ilan-schemoul, after 8.1.1241)
Solution: Define ex commands with ADDR_LINES instead of ADDR_OTHER

fixes: #14638
closes: #14657

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-29 20:36:49 +02:00
Aliaksei Budavei
c4d0c8c812 runtime(java): Improve the recognition of the "indent" method declarations (#14659)
There is a flaw in the current implementation that has been
exacerbated around v5.2.  It lies in the recognition of all
three indentation styles simultaneously: a tab, two space,
and eight space character(s).  With it, it is not uncommon
to misidentify various constructs as method declarations
when they belong to two-space indented members and other
blocks of a type and are offset at eight space characters or
a tab from the start of the line.

For example,

------------------------------------------------------------
class Test
{
  static String hello() { return "hello"; }

  public static void main(String[] args)
  {
    try {
      if (args.length > 0) {
        // FIXME: eight spaces.
        System.out.println(args[0]);
      } else {
        // FIXME: a tab.
	System.out.println(hello());
      }
    } catch (Exception e) {
      throw new Error(e);
    }
  }
}
------------------------------------------------------------

------------------------------------------------------------
:let g:java_highlight_functions = 'indent'
:doautocmd Syntax
------------------------------------------------------------

A better approach is to pick an only indentation style out
of all supported styles (so either two spaces _or_ eight
spaces _or_ a tab).  Note that tabs and spaces can still be
mixed, only the leading tab or the leading run of spaces
matters for the recognition.  And there is no reason to not
complement the set of valid styles with any number of spaces
from 1 to 8, inclusively.

Please proceed with the necessary change as follows:

- rename from "indent" to "indent2" for a 2-space run;
- rename from "indent" to "indent8" for an 8-space run;
- continue to have "indent" for a tab run;
- define an "indent" variable with a suffix number denoting
  the preferred amount of indentation for any other run of
  spaces [1-8].

As before, this alternative style of recognition of method
declarations still does not prescribe naming conventions and
still cannot recognise method declarations in nested types
that are conventionally indented.

The proposed changes also follow suit of "style" in stopping
the claiming of constructor and enum constant declarations.


Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-29 20:24:35 +02:00
UM-Li
04e1aaa94e runtime(doc): Fix a typo in usr_30.txt
closes: #14662

Signed-off-by: UM-Li <um-li@tuta.io>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-29 20:22:46 +02:00
GodFather
dc5c905541 runtime(jq): remove undefined var s:save_cpoptions and add include setting
closes: #14661
closes: #14663

Co-authored-by: itchyny <itchyny@cybozu.co.jp>
Signed-off-by: GodFather <vito.blog@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-29 20:18:26 +02:00
Marc Sven Schulte
2e9b9e9a9e runtime(asm): missing setlocal in indent plugin (#14658)
Signed-off-by: Marc Sven Schulte <167623652+msschulte@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-28 21:43:03 +02:00
Luuk van Baal
32d701f51b patch 9.1.0380: Calculating line height for unnecessary amount of lines
Problem:  Calculating line height for unnecessary amount of lines with
          half-page scrolling (zhscn, after 9.1.0280)
Solution: Replace "limit_winheight" argument with higher resolution
          "max" argument to which to limit the calculated line height
          in plines_m_win() to (Luuk van Baal)

fixes: #14650
closes: #14652

Signed-off-by: Luuk van Baal <luukvbaal@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-28 16:24:02 +02:00
ObserverOfTime
f351fd8292 runtime(ssa): improve syntax file performance (#14654)
fixes: #14653

Signed-off-by: ObserverOfTime <chronobserver@disroot.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-28 16:22:55 +02:00
zeertzjq
75a73551a1 patch 9.1.0379: There are a few typos
Problem:  There are a few typos
Solution: Fix them (zeertzjq)

closes: #14655

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-28 16:20:55 +02:00
Yegappan Lakshmanan
fe55c31752 patch 9.1.0378: Vim9: no comments allowed after class vars
Problem:  Vim9: no comments allowed after class vars
          (Christian Robinson, after 9.1.376)
Solution: Allow trailing comments after class vars
          (Yegappan Lakshmanan)

closes: #14651

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-28 09:54:09 +02:00
Christian Brabandt
1125051040 runtime(doc): CI: remove trailing white space in documentation
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-27 12:01:15 +02:00
Christian Brabandt
86ef815959 patch 9.1.0377: Formatting text wrong when 'breakindent' is set
Problem:  formatting text wrong when 'breakindent' is set
          (Gary Johnson)
Solution: temporarily disable 'breakindent' option when formatting text,
          so that the breakindent is not wrongly taken into account for
          the line length

fixes: #14630
closes: #14637

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-27 11:55:08 +02:00
Simon Quigley
92917069b1 runtime(debversions): Add oracular (24.10) as Ubuntu release name
closes: #14645

Signed-off-by: Simon Quigley <simon@tsimonq2.net>
Signed-off-by: James McCoy <jamessan@jamessan.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-27 11:51:45 +02:00
Yegappan Lakshmanan
ac7731895c patch 9.1.0376: Vim9: Trailing commands after class/enum keywords ignored
Problem:  Vim9: Trailing commands after class/enum keywords ignored
Solution: Remove EX_TRLBAR keyword from command definition
          (Yegappan Lakshmanan)

closes: #14649

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-27 11:48:26 +02:00
zeertzjq
340643e977 patch 9.1.0375: tests: 1-second delay after Test_BufEnter_botline()
Problem:  tests: 1-second delay after Test_BufEnter_botline()
          (after v9.1.0374)
Solution: Wipe the created buffers (zeertzjq).

closes: #14647

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-27 11:33:24 +02:00
Philip H
93df2285a0 runtime(doc): update helptags for jq syntax (#14646)
Signed-off-by: Philip H <47042125+pheiduck@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-27 11:31:53 +02:00
Vito
79952b9c67 runtime(jq): include syntax, ftplugin and compiler plugin
closes: #14619

Signed-off-by: Vito <vito.blog@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-26 22:39:41 +02:00
Philip H
9525f62136 runtime(doc): fix typo synconcealend -> synconcealed (#14644)
Signed-off-by: Philip H <47042125+pheiduck@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-26 19:57:20 +02:00
Maxim Kim
5400a5d426 runtime(comment): include a simple comment toggling plugin
fixes #14626
closes: #14634

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-26 19:53:13 +02:00
Christian Brabandt
00ae5c5cba runtime(doc): fix typo
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-26 18:56:21 +02:00
Jaehwang Jung
eb80b8304e patch 9.1.0374: wrong botline in BufEnter
Problem:  When :edit an existing buffer, line('w$') may return a
          wrong result.
Solution: Reset w_valid in curwin_init() (Jaehwang Jung)

`do_ecmd()` reinitializes the current window (`curwin_init()`) whose
`w_valid` field may have `VALID_BOTLINE` set. Resetting `w_botline`
without marking it as invalid makes subsequent `validate_botline()`
calls a no-op, thus resulting in wrong `line('w$')` value.

closes: #14642

Signed-off-by: Jaehwang Jung <tomtomjhj@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-26 18:48:48 +02:00
Philip H
4b9fc8247a CI: ubuntu-toolchain-r/test repository will be removed (#14641)
* CI: ubuntu-toolchain-r/test repository will be removed

The ubuntu-toolchain-r/test PPA will be removed from Ubuntu images.
The images rollout process will start on May 6 and take 3-4 days.
Mitigation ways

The repository can still be added manually in runtime by calling to following commands:

sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
sudo apt-get update -y

* fixup: add a note what this repo is for

Signed-off-by: Philip H <47042125+pheiduck@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-26 18:45:41 +02:00
Christian Brabandt
fe1e2b5e2d runtime(doc): clarify syntax vs matching mechanism
fixes: #14643

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-26 18:44:03 +02:00
Christian Brabandt
98b12ede31 runtime(asm): fix undefined variable in indent plugin
It's an indent script, so we need to set the  b:undo_indent variable
instead of the b:undo_ftplugin var.

fixes: #14602

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-25 22:42:05 +02:00
John Marriott
38b9f45253 patch 9.1.0373: ops.c code uses too many strlen() calls
Problem:  ops.c code uses too many strlen() calls
Solution: Refactor code and remove more strlen() calls
          (John Marriott)

closes: #14598

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-25 21:39:18 +02:00
zeertzjq
f68517c167 patch 9.1.0372: Calling CLEAR_FIELD() on the same struct twice
Problem:  Calling CLEAR_FIELD() on the same struct twice.
Solution: Remove the second CLEAR_FIELD().  Move the assignment of
          cookie.sourceing_lnum (zeertzjq).

closes: #14627

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-25 21:34:10 +02:00
Yegappan Lakshmanan
f6c1fb20e3 patch 9.1.0371: Vim9: compile_def_function() still too long
Problem:  Vim9: compile_def_function() still too long
Solution: Refactor the code into separate functions
          (Yegappan Lakshmanan)

closes: #14632

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-25 21:33:24 +02:00
Ivan Pešić
e679a37e17 translation(sr): Update Serbian messages (#14633)
Signed-off-by: Ivan Pešić <27575106+eevan78@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-25 21:29:58 +02:00
RestorerZ
ec67ee09d2 patch 9.1.0370: MS-Windows: patch number is zero in installer
Problem:  MS-Windows: patch number is zero in installer
          (jonathan-b-wiebe)
Solution: Set VIM_VERSION_PATCHLEVEL, fix a few typos in the installer
          (RestorerZ)

fixes: #14629
closes: #14635

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-25 21:25:19 +02:00
Christian Brabandt
addf9ed620 runtime(doc): clarify the effect of setting the shell to powershell
fixes: #14636

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-25 21:21:37 +02:00
Aliaksei Budavei
a4c085a3e6 runtime(java): Improve the recognition of the "style" method declarations
- Request the new regexp engine (v7.3.970) for [:upper:] and
  [:lower:].

- Recognise declarations of in-line annotated methods.

- Recognise declarations of _strictfp_ methods.

- Establish partial order for method modifiers as shown in
  the MethodModifier production; namely, _public_ and
  friends should be written the leftmost, possibly followed
  by _abstract_ or _default_, or possibly followed by other
  modifiers.

- Stop looking for parameterisable primitive types (void<?>,
  int<Object>, etc., are malformed).

- Stop looking for arrays of _void_.

- Acknowledge the prevailing convention for method names to
  begin with a small letter and for class/interface names to
  begin with a capital letter; and, therefore, desist from
  claiming declarations of enum constants and constructors
  with javaFuncDef.
  Rationale:
    + Constructor is distinct from method:
      * its (overloaded) name is not arbitrary;
      * its return type is implicit;
      * its _throws_ clause depends on indirect vagaries of
        instance (variable) initialisers;
      * its invocation makes other constructors of its type
        hierarchy invoked one by one, concluding with the
        primordial constructor;
      * its explicit invocation, via _this_ or _super_, can
        only appear as the first statement in a constructor
        (not anymore, see JEP 447); else, its _super_ call
        cannot appear in constructors of _record_ or _enum_;
        and neither invocation is allowed for the primordial
        constructor;
      * it is not a member of its class, like initialisers,
        and is never inherited;
      * it is never _abstract_ or _native_.
    + Constructor declarations tend to be few in number and
      merit visual recognition from method declarations.
    + Enum constants define a fixed set of type instances
      and more resemble class variable initialisers.

Note that the code duplicated for @javaFuncParams is written
keeping in mind for g:java_highlight_functions a pending 3rd
variant, which would require none of the :syn-cluster added
groups.

closes: #14620

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-24 21:04:25 +02:00
Ernie Rael
3f821d6de2 patch 9.1.0369: Vim9: problem when importing autoloaded scripts
Problem:  Vim9: problem when importing autoloaded scripts
Solution: In `:def` handle storing to vim9 autoload export
          (Ernie Rael)

Problem occurs when `import autoload ./.../autoload/...`. The autoload
in the specified path causes the use of an autoload_prefix which combines
with the `import autoload` to create trouble.

In `generate_store_var()` `case dest_script` use ISN_STOREEXPORT,
when needed, instead of ISN_STORES. When executing ISN_STOREEXPORT,
check for autoload_prefix.

fixes: #14606
closes: #14615

Signed-off-by: Ernie Rael <errael@raelity.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2024-04-24 20:07:50 +02:00
Philip H
04e8943556 CI: remove microsoft-prod.list repository (#14628)
This is added by default, and it is often broken, but we don't need anything from it.

Signed-off-by: Philip H <47042125+pheiduck@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-24 19:55:11 +02:00
RestorerZ
dc5cd1cac1 patch 9.1.0368: MS-Windows: Hard to define the Vim Patchlevel with leading zeroes
Problem:  MS-Windows: Hard to define the Vim Patchlevel with leading
          zeroes for the installer
Solution: re-define VIM_VERSION_PATCHLEVEL_STR with leading zeroes,
          interpret Patchlevel as decimal in Make_mvc.mak
          (RestorerZ)

closes: #14471

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-23 20:33:38 +02:00
Yegappan Lakshmanan
a16f251333 patch 9.1.0367: compile_def_function is too long
Problem:  compile_def_function is too long
Solution: Move out the code to compile the body of a function
          (Yegappan Lakshmanan)

closes: #14622

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-23 20:14:46 +02:00
614 changed files with 20403 additions and 7914 deletions

View File

@@ -5,9 +5,9 @@ env:
freebsd_task:
name: FreeBSD
matrix:
- name: FreeBSD 14.0
- name: FreeBSD 14.1
freebsd_instance:
image_family: freebsd-14-0
image_family: freebsd-14-1
timeout_in: 20m
install_script:
- pkg install -y gettext

View File

@@ -11,6 +11,7 @@
nsis/lang/russian.nsi @RestorerZ
runtime/autoload/freebasic.vim @dkearns
runtime/autoload/hare.vim @selenebun
runtime/autoload/haskell.vim @alx741
runtime/autoload/javascript.vim @jsit
runtime/autoload/modula2.vim @dkearns
@@ -63,13 +64,14 @@ runtime/compiler/gjs.vim @dkearns
runtime/compiler/gm2.vim @dkearns
runtime/compiler/go.vim @dbarnett
runtime/compiler/haml.vim @tpope
runtime/compiler/hare.vim @rsaihe
runtime/compiler/hare.vim @selenebun
runtime/compiler/icon.vim @dkearns
runtime/compiler/javac.vim @dkearns
runtime/compiler/jest.vim @dkearns
runtime/compiler/jjs.vim @dkearns
runtime/compiler/jshint.vim @dkearns
runtime/compiler/jsonlint.vim @dkearns
runtime/compiler/jq.vim @vito-c
runtime/compiler/lazbuild.vim @dkearns
runtime/compiler/perl.vim @petdance @heptite
runtime/compiler/perlcritic.vim @petdance @dkearns
@@ -102,9 +104,11 @@ runtime/compiler/xmllint.vim @dkearns
runtime/compiler/xo.vim @dkearns
runtime/compiler/yamllint.vim @romainl
runtime/compiler/zsh.vim @dkearns
runtime/doc/ft_hare.txt @selenebun
runtime/doc/ps1.txt @heaths
runtime/ftplugin/abaqus.vim @costerwi
runtime/ftplugin/apache.vim @dubgeiser
runtime/ftplugin/arduino.vim @k-takata
runtime/ftplugin/astro.vim @romainl
runtime/ftplugin/awk.vim @dkearns
runtime/ftplugin/basic.vim @dkearns
@@ -115,7 +119,9 @@ runtime/ftplugin/clojure.vim @axvr
runtime/ftplugin/cs.vim @nickspoons
runtime/ftplugin/csh.vim @dkearns
runtime/ftplugin/css.vim @dkearns
runtime/ftplugin/csv.vim @habamax
runtime/ftplugin/cucumber.vim @tpope
runtime/ftplugin/dart.vim @ribru17
runtime/ftplugin/deb822sources.vim @jamessan
runtime/ftplugin/debchangelog.vim @jamessan
runtime/ftplugin/debcontrol.vim @jamessan
@@ -143,15 +149,18 @@ runtime/ftplugin/gitconfig.vim @tpope
runtime/ftplugin/gitignore.vim @ObserverOfTime
runtime/ftplugin/gitrebase.vim @tpope
runtime/ftplugin/gitsendemail.vim @tpope
runtime/ftplugin/graphql.vim @ribru17
runtime/ftplugin/gyp.vim @ObserverOfTime
runtime/ftplugin/go.vim @dbarnett
runtime/ftplugin/gprof.vim @dpelle
runtime/ftplugin/haml.vim @tpope
runtime/ftplugin/hare.vim @rsaihe
runtime/ftplugin/hare.vim @selenebun
runtime/ftplugin/haredoc.vim @selenebun
runtime/ftplugin/heex.vim @cvincent
runtime/ftplugin/hgcommit.vim @k-takata
runtime/ftplugin/hog.vim @wtfbbqhax
runtime/ftplugin/html.vim @dkearns
runtime/ftplugin/hyprlang.vim @ribru17
runtime/ftplugin/i3config.vim @hiqua
runtime/ftplugin/icon.vim @dkearns
runtime/ftplugin/indent.vim @dkearns
@@ -160,15 +169,19 @@ runtime/ftplugin/j.vim @glts
runtime/ftplugin/java.vim @zzzyxwvut
runtime/ftplugin/javascript.vim @dkearns
runtime/ftplugin/javascriptreact.vim @dkearns
runtime/ftplugin/jj.vim @gpanders
runtime/ftplugin/json.vim @dbarnett
runtime/ftplugin/json5.vim @dkearns
runtime/ftplugin/jsonc.vim @izhakjakov
runtime/ftplugin/julia.vim @carlobaldassi
runtime/ftplugin/jq.vim @vito-c
runtime/ftplugin/kconfig.vim @chrisbra
runtime/ftplugin/kdl.vim @imsnif @jiangyinzuo
runtime/ftplugin/kotlin.vim @udalov
runtime/ftplugin/less.vim @genoma
runtime/ftplugin/liquid.vim @tpope
runtime/ftplugin/lua.vim @dkearns
runtime/ftplugin/lc.vim @ribru17
runtime/ftplugin/lynx.vim @dkearns
runtime/ftplugin/m3build.vim @dkearns
runtime/ftplugin/m3quake.vim @dkearns
@@ -177,6 +190,7 @@ runtime/ftplugin/meson.vim @Liambeguin
runtime/ftplugin/modula2.vim @dkearns
runtime/ftplugin/modula3.vim @dkearns
runtime/ftplugin/nginx.vim @chr4
runtime/ftplugin/nim.vim @ribru17
runtime/ftplugin/nroff.vim @a-vrma
runtime/ftplugin/nsis.vim @k-takata
runtime/ftplugin/octave.vim @dkearns
@@ -189,14 +203,18 @@ runtime/ftplugin/php.vim @dkearns
runtime/ftplugin/pod.vim @petdance @dkearns
runtime/ftplugin/poefilter.vim @ObserverOfTime
runtime/ftplugin/postscr.vim @mrdubya
runtime/ftplugin/prisma.vim @ribru17
runtime/ftplugin/ps1.vim @heaths
runtime/ftplugin/ps1xml.vim @heaths
runtime/ftplugin/purescript.vim @ribru17
runtime/ftplugin/pymanifest.vim @ObserverOfTime
runtime/ftplugin/python.vim @tpict
runtime/ftplugin/qb64.vim @dkearns
runtime/ftplugin/qml.vim @ChaseKnowlden
runtime/ftplugin/racket.vim @benknoble
runtime/ftplugin/rasi.vim @fymyte
runtime/ftplugin/readline.vim @dkearns
runtime/ftplugin/rescript.vim @ribru17
runtime/ftplugin/routeros.vim @zainin
runtime/ftplugin/rst.vim @marshallward
runtime/ftplugin/ruby.vim @tpope @dkearns
@@ -207,10 +225,14 @@ runtime/ftplugin/scss.vim @tpope
runtime/ftplugin/sdoc.vim @gpanders
runtime/ftplugin/sed.vim @dkearns
runtime/ftplugin/sh.vim @dkearns
runtime/ftplugin/slint.vim @ribru17
runtime/ftplugin/snakemake.vim @ribru17
runtime/ftplugin/solidity.vim @cothi
runtime/ftplugin/solution.vim @dkearns
runtime/ftplugin/spec.vim @ignatenkobrain
runtime/ftplugin/ssa.vim @ObserverOfTime
runtime/ftplugin/sshdconfig.vim @jiangyinzuo
runtime/ftplugin/svelte.vim @igorlfs
runtime/ftplugin/swayconfig.vim @jamespeapen
runtime/ftplugin/systemverilog.vim @Kocha
runtime/ftplugin/swig.vim @jmarrec
@@ -222,7 +244,9 @@ runtime/ftplugin/toml.vim @averms
runtime/ftplugin/tt2html.vim @petdance
runtime/ftplugin/typescript.vim @dkearns
runtime/ftplugin/typescriptreact.vim @dkearns
runtime/ftplugin/typst.vim @ribru17
runtime/ftplugin/unison.vim @chuwy
runtime/ftplugin/v.vim @ribru17
runtime/ftplugin/vdf.vim @ObserverOfTime
runtime/ftplugin/vim.vim @dkearns
runtime/ftplugin/wast.vim @rhysd
@@ -233,6 +257,7 @@ runtime/ftplugin/xml.vim @chrisbra
runtime/ftplugin/xs.vim @petdance
runtime/ftplugin/zsh.vim @chrisbra
runtime/import/dist/vimhighlight.vim @lacygoill
runtime/indent/arduino.vim @k-takata
runtime/indent/astro.vim @wuelnerdotexe
runtime/indent/basic.vim @dkearns
runtime/indent/bst.vim @tpope
@@ -261,7 +286,7 @@ runtime/indent/gitolite.vim @sitaramc
runtime/indent/go.vim @dbarnett
runtime/indent/gyp.vim @ObserverOfTime
runtime/indent/haml.vim @tpope
runtime/indent/hare.vim @rsaihe
runtime/indent/hare.vim @selenebun
runtime/indent/hog.vim @wtfbbqhax
runtime/indent/idlang.vim @dkearns
runtime/indent/j.vim @glts
@@ -270,6 +295,7 @@ runtime/indent/javascript.vim @bounceme
runtime/indent/json.vim @elzr
runtime/indent/jsonc.vim @izhakjakov
runtime/indent/julia.vim @carlobaldassi
runtime/indent/kdl.vim @imsnif @jiangyinzuo
runtime/indent/kotlin.vim @udalov
runtime/indent/krl.vim @KnoP-01
runtime/indent/ld.vim @dkearns
@@ -316,7 +342,9 @@ runtime/lang/menu_ru_ru.cp1251.vim @RestorerZ
runtime/lang/menu_ru_ru.koi8-r.vim @RestorerZ
runtime/lang/menu_ru_ru.utf-8.vim @RestorerZ
runtime/pack/dist/opt/cfilter/plugin/cfilter.vim @yegappan
runtime/pack/dist/opt/comment/ @habamax
runtime/pack/dist/opt/matchit/ @chrisbra
runtime/pack/dist/opt/nohlsearch/ @habamax
runtime/plugin/manpager.vim @Konfekt
runtime/syntax/shared/hgcommitDiff.vim @vegerot
runtime/syntax/abaqus.vim @costerwi
@@ -342,6 +370,7 @@ runtime/syntax/chatito.vim @ObserverOfTime
runtime/syntax/chuck.vim @gacallea
runtime/syntax/clojure.vim @axvr
runtime/syntax/cs.vim @nickspoons
runtime/syntax/csv.vim @habamax
runtime/syntax/cucumber.vim @tpope
runtime/syntax/d.vim @JesseKPhillips
runtime/syntax/dart.vim @pr3d4t0r
@@ -388,7 +417,8 @@ runtime/syntax/gprof.vim @dpelle
runtime/syntax/groff.vim @jmarshall
runtime/syntax/gyp.vim @ObserverOfTime
runtime/syntax/haml.vim @tpope
runtime/syntax/hare.vim @rsaihe
runtime/syntax/hare.vim @selenebun
runtime/syntax/haredoc.vim @selenebun
runtime/syntax/haskell.vim @coot
runtime/syntax/help_ru.vim @RestorerZ
runtime/syntax/hgcommit.vim @k-takata
@@ -403,10 +433,14 @@ runtime/syntax/j.vim @glts
runtime/syntax/jargon.vim @h3xx
runtime/syntax/java.vim @zzzyxwvut
runtime/syntax/javascript.vim @fleiner
runtime/syntax/jj.vim @gpanders
runtime/syntax/json.vim @vito-c
runtime/syntax/jsonc.vim @izhakjakov
runtime/syntax/julia.vim @carlobaldassi
runtime/syntax/jq.vim @vito-c
runtime/syntax/kconfig.vim @chrisbra
runtime/syntax/kotlin.vim @udalov
runtime/syntax/kdl.vim @imsnif @jiangyinzuo
runtime/syntax/krl.vim @KnoP-01
runtime/syntax/less.vim @genoma
runtime/syntax/liquid.vim @tpope
@@ -455,6 +489,7 @@ runtime/syntax/racket.vim @benknoble
runtime/syntax/raml.vim @in3d
runtime/syntax/rapid.vim @KnoP-01
runtime/syntax/ratpoison.vim @trapd00r
runtime/syntax/rasi.vim @fymyte
runtime/syntax/rc.vim @chrisbra
runtime/syntax/rcs.vim @hdima
runtime/syntax/rebol.vim @mrdubya
@@ -492,9 +527,9 @@ runtime/syntax/toml.vim @averms
runtime/syntax/tt2.vim @petdance
runtime/syntax/tt2html.vim @petdance
runtime/syntax/tt2js.vim @petdance
runtime/syntax/typescript.vim @HerringtonDarkholme
runtime/syntax/typescriptcommon.vim @HerringtonDarkholme
runtime/syntax/typescriptreact.vim @HerringtonDarkholme
runtime/syntax/typescript.vim @HerringtonDarkholme @rhysd
runtime/syntax/typescriptreact.vim @HerringtonDarkholme @rhysd
runtime/syntax/shared/typescriptcommon.vim @HerringtonDarkholme @rhysd
runtime/syntax/unison.vim @chuwy
runtime/syntax/vdf.vim @ObserverOfTime
runtime/syntax/vroom.vim @dbarnett

26
.github/actions/screendump/action.yml vendored Normal file
View File

@@ -0,0 +1,26 @@
name: 'screendump'
description: "Upload failed syntax tests"
runs:
using: "composite"
steps:
- name: Upload failed syntax tests
uses: actions/upload-artifact@v4
with:
# Name of the artifact to upload.
name: ${{ github.workflow }}-${{ github.job }}-${{ join(matrix.*, '-') }}-failed-syntax-tests
# A file, directory or wildcard pattern that describes what
# to upload.
path: |
${{ github.workspace }}/runtime/syntax/testdir/failed/*
${{ github.workspace }}/src/testdir/failed/*
# The desired behavior if no files are found using the
# provided path.
if-no-files-found: ignore
# Duration after which artifact will expire in days. 0 means
# using repository settings.
retention-days: 0
# If true, an artifact with a matching name will be deleted
overwrite: true

View File

@@ -96,6 +96,8 @@ jobs:
- name: Install packages
run: |
# This is added by default, and it is often broken, but we don't need anything from it
sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
PKGS=( \
gettext \
libgtk2.0-dev:${{ matrix.architecture }} \
@@ -129,6 +131,9 @@ jobs:
- name: Install gcc-${{ env.GCC_VER }}
if: matrix.compiler == 'gcc'
run: |
# ubuntu-toolchain-r/test PPA for gcc-13 compiler
sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
sudo apt-get update -y
sudo apt-get install -y gcc-${{ env.GCC_VER }}:${{ matrix.architecture }}
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-${{ env.GCC_VER }} 100
sudo update-alternatives --set gcc /usr/bin/gcc-${{ env.GCC_VER }}
@@ -265,6 +270,9 @@ jobs:
do_test() { sg audio "sg $(id -gn) '$*'"; }
do_test make ${SHADOWOPT} ${TEST}
- if: ${{ !cancelled() }}
uses: ./.github/actions/screendump
- name: Vim tags
if: contains(matrix.extra, 'vimtags')
run: |
@@ -325,8 +333,16 @@ jobs:
brew install lua libtool
echo "LUA_PREFIX=$(brew --prefix)" >> $GITHUB_ENV
- name: Install blackhole-2ch for macos-12
if: matrix.features == 'huge' && matrix.runner == 'macos-12'
run: |
# Install audio device for playing sound since some of macos-12 machines have no audio device installed.
if system_profiler -json SPAudioDataType | jq -er '.SPAudioDataType[]._items == []'; then
brew install blackhole-2ch
fi
- name: Grant microphone access for macos-14
if: matrix.runner == 'macos-14'
if: matrix.features == 'huge' && matrix.runner == 'macos-14'
run: |
# Temporary fix to fix microphone permission issues for macos-14 when playing sound.
sqlite3 $HOME/Library/Application\ Support/com.apple.TCC/TCC.db "INSERT OR IGNORE INTO access VALUES ('kTCCServiceMicrophone','/usr/local/opt/runner/provisioner/provisioner',1,2,4,1,NULL,NULL,0,'UNUSED',NULL,0,1687786159,NULL,NULL,'UNUSED',1687786159);"
@@ -383,6 +399,9 @@ jobs:
run: |
make ${TEST}
- if: ${{ !cancelled() }}
uses: ./.github/actions/screendump
windows:
runs-on: windows-2022
@@ -678,6 +697,9 @@ jobs:
nmake -nologo -f Make_mvc.mak tiny VIMPROG=..\vim || exit 1
)
- if: ${{ !cancelled() }}
uses: ./.github/actions/screendump
- name: Generate gcov files
if: matrix.coverage
shell: msys2 {0}

View File

@@ -63,6 +63,9 @@ jobs:
# Append various warning flags to CFLAGS.
sed -i -f ci/config.mk.sed src/auto/config.mk
sed -i -f ci/config.mk.${CC}.sed src/auto/config.mk
# -O2 gives false warning and turns it into an error:
# warning: function may return address of local variable [-Wreturn-local-addr]
sed -i 's/-O2 \?//' src/auto/config.mk
- name: Build/scan vim
if: env.TOKEN

View File

@@ -46,17 +46,30 @@ Or open [the todo file][todo list] on GitHub to see the latest version.
# Syntax, indent and other runtime files
The latest version of these files can be obtained from the repository.
They are usually not updated with numbered patches.
They are usually not updated with numbered patches. However, they may
or may not work with older Vim releases (since they may contain new features).
If you find a problem with one of these files or have a suggestion for
improvement, please first try to contact the maintainer directly.
Look in the header of the file for the name and email address.
Look in the header of the file for the name, email address, github handle and/or
upstream repository. You may also check the [MAINTAINERS][11] file.
The maintainer will take care of issues and send updates to the Vim project for
distribution with Vim.
If the maintainer does not respond, contact the [vim-dev][0] mailing list.
## Contributing new runtime files
If you want to contribute new runtime files for Vim or Neovim, please create a
PR with your changes against this repository here. For new filetypes, do not forget:
* to add a new [filetype test][12] (keep it similar to the other filetype tests).
* all configuration switches should be documented
(check [filetype.txt][13] and/or [syntax.txt][14] for filetype and syntax plugins)
* add yourself as Maintainer to the top of file (again, keep the header similar to
other runtime files)
* add yourself to the [MAINTAINERS][11] file.
# Translations
Translating messages and runtime files is very much appreciated! These things
@@ -96,3 +109,7 @@ mailing list. For other questions please use the [Vi Stack Exchange][8] website,
[8]: https://vi.stackexchange.com
[9]: http://www.vim.org/maillist.php#vim-use
[10]: https://github.com/vim/vim/discussions
[11]: https://github.com/vim/vim/blob/master/.github/MAINTAINERS
[12]: https://github.com/vim/vim/blob/master/src/testdir/test_filetype.vim
[13]: https://github.com/vim/vim/blob/master/runtime/doc/filetype.txt
[14]: https://github.com/vim/vim/blob/master/runtime/doc/syntax.txt

View File

@@ -5,11 +5,12 @@
SRC_ALL = \
.cirrus.yml \
.gitattributes \
.github/CODEOWNERS \
.github/MAINTAINERS \
.github/ISSUE_TEMPLATE/bug_report.yml \
.github/ISSUE_TEMPLATE/feature_request.md \
.github/workflows/ci.yml \
.github/workflows/codeql-analysis.yml \
.github/actions/screendump/action.yml \
.github/workflows/coverity.yml \
.github/dependabot.yml \
.gitignore \
@@ -72,6 +73,7 @@ SRC_ALL = \
src/float.c \
src/fold.c \
src/getchar.c \
src/gc.c \
src/globals.h \
src/gui.c \
src/gui.h \
@@ -263,6 +265,7 @@ SRC_ALL = \
src/proto/float.pro \
src/proto/fold.pro \
src/proto/getchar.pro \
src/proto/gc.pro \
src/proto/gui.pro \
src/proto/gui_beval.pro \
src/proto/hardcopy.pro \
@@ -755,6 +758,10 @@ RT_ALL = \
runtime/tutor/tutor.vim \
runtime/vimrc_example.vim \
runtime/pack/dist/opt/cfilter/plugin/cfilter.vim \
runtime/pack/dist/opt/comment/plugin/comment.vim \
runtime/pack/dist/opt/comment/doc/comment.txt \
runtime/pack/dist/opt/comment/doc/tags \
runtime/pack/dist/opt/comment/autoload/comment.vim \
runtime/pack/dist/opt/dvorak/plugin/dvorak.vim \
runtime/pack/dist/opt/dvorak/dvorak/enable.vim \
runtime/pack/dist/opt/dvorak/dvorak/disable.vim \
@@ -775,6 +782,7 @@ RT_ALL = \
runtime/pack/dist/opt/matchit/doc/matchit.txt \
runtime/pack/dist/opt/matchit/doc/tags \
runtime/pack/dist/opt/matchit/autoload/*.vim \
runtime/pack/dist/opt/nohlsearch/plugin/nohlsearch.vim \
runtime/pack/dist/opt/shellmenu/plugin/shellmenu.vim \
runtime/pack/dist/opt/swapmouse/plugin/swapmouse.vim \
runtime/pack/dist/opt/termdebug/plugin/termdebug.vim \
@@ -799,7 +807,6 @@ RT_SCRIPTS = \
runtime/autoload/dist/*.vim \
runtime/autoload/rust/*.vim \
runtime/autoload/xml/*.vim \
runtime/autoload/zig/*.vim \
runtime/colors/*.vim \
runtime/colors/README.txt \
runtime/colors/lists/*.vim \
@@ -830,6 +837,7 @@ RT_SCRIPTS = \
runtime/syntax/testdir/input/*.* \
runtime/syntax/testdir/input/setup/*.* \
runtime/syntax/testdir/dumps/*.dump \
runtime/syntax/testdir/dumps/*.vim \
runtime/syntax/generator/Makefile \
runtime/syntax/generator/README.md \
runtime/syntax/generator/gen_syntax_vim.vim \

View File

@@ -18,7 +18,7 @@ or one of the [Maillists](https://www.vim.org/community.php).
## What is Vim?
Vim is a greatly improved version of the good old UNIX editor
[Vi](https://en.wikipedia.org/wiki/Vi). Many new
[Vi](https://en.wikipedia.org/wiki/Vi_(text_editor)). Many new
features have been added: multi-level undo, syntax highlighting, command line
history, on-line help, spell checking, filename completion, block operations,
script language, etc. There is also a Graphical User Interface (GUI)
@@ -55,7 +55,7 @@ an overview of currently available distributions.
Some popular places to get the latest Vim:
* Check out the git repository from [GitHub](https://github.com/vim/vim).
* Get the source code as an [archive](https://github.com/vim/vim/releases).
* Get the source code as an [archive](https://github.com/vim/vim/tags).
* Get a Windows executable from the
[vim-win32-installer](https://github.com/vim/vim-win32-installer/releases) repository.

View File

@@ -48,7 +48,7 @@ MS Windows 95/98/Me/NT/2000/XP/Vista, AmigaDOS, Atari MiNT, BeOS и RISC OS.
Несколько полезных мест, где можно получить последнюю версию редактора Vim:
* Посмотрите в git-хранилище на GitHub: https://github.com/vim/vim.
* Получить исходный код в виде архива: https://github.com/vim/vim/releases.
* Получить исходный код в виде архива: https://github.com/vim/vim/tags.
* Получить исполняемый файл для ОС Windows из хранилища vim-win32-installer:
https://github.com/vim/vim-win32-installer/releases.

View File

@@ -37,7 +37,7 @@ an overview of currently available distributions.
Some popular places to get the latest Vim:
* Check out the git repository from github: https://github.com/vim/vim.
* Get the source code as an archive: https://github.com/vim/vim/releases.
* Get the source code as an archive: https://github.com/vim/vim/tags.
* Get a Windows executable from the vim-win32-installer repository:
https://github.com/vim/vim-win32-installer/releases.

View File

@@ -1,8 +1,8 @@
The Python project that creates `vimlogo.svg` can be found at
`https://github.com/ShayHill/vimlogo`. The Vim license applies.
`vimlogo.svg` is an effort to remove errors and inadvertant inconsistencies
from the original vim logo while maintaing the original design. `vimlogo.svg`
`vimlogo.svg` is an effort to remove errors and inadvertent inconsistencies
from the original vim logo while maintaining the original design. `vimlogo.svg`
is based on the `vimlogo.svg` file (previously?) found at
`https://www.vim.org/logos.php`

View File

@@ -225,7 +225,7 @@ Page custom SetCustom ValidateCustom
# Version resources
VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductName" "Vim"
VIAddVersionKey /LANG=${LANG_ENGLISH} "CompanyName" "Vim Developers"
VIAddVersionKey /LANG=${LANG_ENGLISH} "CompanyName" "The Vim Project"
VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalTrademarks" "Vim"
VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalCopyright" "Copyright (C) 1996"
VIAddVersionKey /LANG=${LANG_ENGLISH} "FileDescription" "Vi Improved - A Text Editor"

View File

@@ -3,7 +3,7 @@ vim9script noclear
# Vim completion script
# Language: C
# Maintainer: The Vim Project <https://github.com/vim/vim>
# Last Change: 2023 Aug 10
# Last Change: 2024 Jun 06
# Rewritten in Vim9 script by github user lacygoill
# Former Maintainer: Bram Moolenaar <Bram@vim.org>
@@ -210,7 +210,7 @@ export def Complete(findstart: bool, abase: string): any # {{{1
# Find the variable in the tags file(s)
var diclist: list<dict<any>> = taglist('^' .. items[0] .. '$')
# Remove members, these can't appear without something in front.
->filter((_, v: dict<string>): bool =>
->filter((_, v: dict<any>): bool =>
v->has_key('kind') ? v.kind != 'm' : true)
res = []

View File

@@ -3,7 +3,7 @@ vim9script
# Vim functions for file type detection
#
# Maintainer: The Vim Project <https://github.com/vim/vim>
# Last Change: 2024 Feb 18
# Last Change: 2024 May 23
# Former Maintainer: Bram Moolenaar <Bram@vim.org>
# These functions are moved here from runtime/filetype.vim to make startup
@@ -376,15 +376,41 @@ export def FTfs()
endif
enddef
# Recursively search for Hare source files in a directory and any
# subdirectories, up to a given depth.
def IsHareModule(dir: string, depth: number): bool
if depth <= 0
return !empty(glob(dir .. '/*.ha'))
endif
return reduce(sort(glob(dir .. '/*', true, true),
(a, b) => isdirectory(a) - isdirectory(b)),
(acc, n) => acc
|| n =~ '\.ha$'
|| isdirectory(n)
&& IsHareModule(n, depth - 1),
false)
enddef
# Determine if a README file exists within a Hare module and should be given the
# Haredoc filetype.
export def FTharedoc()
if exists('g:filetype_haredoc')
if IsHareModule('<afile>:h', get(g:, 'haredoc_search_depth', 1))
setf haredoc
endif
endif
enddef
# Distinguish between HTML, XHTML and Django
export def FThtml()
var n = 1
while n < 10 && n <= line("$")
while n < 40 && n <= line("$")
if getline(n) =~ '\<DTD\s\+XHTML\s'
setf xhtml
return
endif
if getline(n) =~ '{%\s*\(extends\|block\|load\)\>\|{#\s\+'
if getline(n) =~ '{%\s*\(autoescape\|block\|comment\|csrf_token\|cycle\|debug\|extends\|filter\|firstof\|for\|if\|ifchanged\|include\|load\|lorem\|now\|query_string\|regroup\|resetcycle\|spaceless\|templatetag\|url\|verbatim\|widthratio\|with\)\>\|{#\s\+'
setf htmldjango
return
endif
@@ -406,14 +432,18 @@ export def FTidl()
setf idl
enddef
# Distinguish between "default", Prolog and Cproto prototype file.
# Distinguish between "default", Prolog, zsh module's C and Cproto prototype file.
export def ProtoCheck(default: string)
# zsh modules use '#include "*.pro"'
# https://github.com/zsh-users/zsh/blob/63f086d167960a27ecdbcb762179e2c2bf8a29f5/Src/Modules/example.c#L31
if getline(1) =~ '/* Generated automatically */'
setf c
# Cproto files have a comment in the first line and a function prototype in
# the second line, it always ends in ";". Indent files may also have
# comments, thus we can't match comments to see the difference.
# IDL files can have a single ';' in the second line, require at least one
# chacter before the ';'.
if getline(2) =~ '.;$'
elseif getline(2) =~ '.;$'
setf cpp
else
# recognize Prolog by specific text in the first non-empty line
@@ -1235,6 +1265,56 @@ export def FTtyp()
setf typst
enddef
# Detect Microsoft Developer Studio Project files (Makefile) or Faust DSP
# files.
export def FTdsp()
if exists("g:filetype_dsp")
exe "setf " .. g:filetype_dsp
return
endif
# Test the filename
if expand('%:t') =~ '^[mM]akefile.*$'
setf make
return
endif
# Test the file contents
for line in getline(1, 200)
# Chech for comment style
if line =~ '^#.*'
setf make
return
endif
# Check for common lines
if line =~ '^.*Microsoft Developer Studio Project File.*$'
setf make
return
endif
if line =~ '^!MESSAGE This is not a valid makefile\..+$'
setf make
return
endif
# Check for keywords
if line =~ '^!(IF,ELSEIF,ENDIF).*$'
setf make
return
endif
# Check for common assignments
if line =~ '^SOURCE=.*$'
setf make
return
endif
endfor
# Otherwise, assume we have a Faust file
setf faust
enddef
# Set the filetype of a *.v file to Verilog, V or Cog based on the first 200
# lines.
export def FTv()

View File

@@ -229,6 +229,10 @@ export def Exe2filetype(name: string, line1: string): string
elseif name =~ '^execlineb\>'
return 'execline'
# Vim
elseif name =~ '^vim\>'
return 'vim'
endif
return ''

26
runtime/autoload/hare.vim Normal file
View File

@@ -0,0 +1,26 @@
" Vim autoload file.
" Language: Hare
" Maintainer: Amelia Clarke <selene@perilune.dev>
" Last Updated: 2024-05-10
" Upstream: https://git.sr.ht/~sircmpwn/hare.vim
" Attempt to find the directory for a given Hare module.
function hare#FindModule(str)
let path = substitute(trim(a:str, ':', 2), '::', '/', 'g')
let dir = finddir(path)
while !empty(path) && empty(dir)
let path = substitute(path, '/\?\h\w*$', '', '')
let dir = finddir(path)
endwhile
return dir
endfunction
" Return the value of HAREPATH if it exists. Otherwise use a reasonable default.
function hare#GetPath()
if empty($HAREPATH)
return '/usr/src/hare/stdlib,/usr/src/hare/third-party'
endif
return substitute($HAREPATH, ':', ',', 'g')
endfunction
" vim: et sts=2 sw=2 ts=8

View File

@@ -9,6 +9,12 @@
" 2024 Feb 19 by Vim Project: (announce adoption)
" 2024 Feb 29 by Vim Project: handle symlinks in tree mode correctly
" 2024 Apr 03 by Vim Project: detect filetypes for remote edited files
" 2024 May 08 by Vim Project: cleanup legacy Win9X checks
" 2024 May 09 by Vim Project: remove hard-coded private.ppk
" 2024 May 10 by Vim Project: recursively delete directories by default
" 2024 May 13 by Vim Project: prefer scp over pscp
" 2024 Jun 04 by Vim Project: set bufhidden if buffer changed, nohidden is set and buffer shall be switched (#14915)
" 2024 Jun 13 by Vim Project: glob() on Windows fails when a directory name contains [] (#14952)
" Former Maintainer: Charles E Campbell
" GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim
" Copyright: Copyright (C) 2016 Charles E. Campbell {{{1
@@ -283,20 +289,15 @@ if !exists("g:netrw_scp_cmd")
if executable("scp")
call s:NetrwInit("g:netrw_scp_cmd" , "scp -q")
elseif executable("pscp")
if (has("win32") || has("win95") || has("win64") || has("win16")) && filereadable('c:\private.ppk')
call s:NetrwInit("g:netrw_scp_cmd", 'pscp -i c:\private.ppk')
else
call s:NetrwInit("g:netrw_scp_cmd", 'pscp -q')
endif
call s:NetrwInit("g:netrw_scp_cmd", 'pscp -q')
else
call s:NetrwInit("g:netrw_scp_cmd" , "scp -q")
endif
endif
call s:NetrwInit("g:netrw_sftp_cmd" , "sftp")
call s:NetrwInit("g:netrw_ssh_cmd" , "ssh")
if (has("win32") || has("win95") || has("win64") || has("win16"))
if has("win32")
\ && exists("g:netrw_use_nt_rcp")
\ && g:netrw_use_nt_rcp
\ && executable( $SystemRoot .'/system32/rcp.exe')
@@ -311,12 +312,8 @@ endif
" Default values for netrw's global variables {{{2
" Cygwin Detection ------- {{{3
if !exists("g:netrw_cygwin")
if has("win32") || has("win95") || has("win64") || has("win16")
if has("win32unix") && &shell =~ '\%(\<bash\>\|\<zsh\>\)\%(\.exe\)\=$'
let g:netrw_cygwin= 1
else
let g:netrw_cygwin= 0
endif
if has("win32unix") && &shell =~ '\%(\<bash\>\|\<zsh\>\)\%(\.exe\)\=$'
let g:netrw_cygwin= 1
else
let g:netrw_cygwin= 0
endif
@@ -372,10 +369,6 @@ endif
call s:NetrwInit("g:netrw_keepdir",1)
if !exists("g:netrw_list_cmd")
if g:netrw_scp_cmd =~ '^pscp' && executable("pscp")
if (has("win32") || has("win95") || has("win64") || has("win16")) && filereadable("c:\\private.ppk")
" provide a pscp-based listing command
let g:netrw_scp_cmd ="pscp -i C:\\private.ppk"
endif
if exists("g:netrw_list_cmd_options")
let g:netrw_list_cmd= g:netrw_scp_cmd." -ls USEPORT HOSTNAME: ".g:netrw_list_cmd_options
else
@@ -403,7 +396,7 @@ if !exists("g:netrw_localcmdshell")
let g:netrw_localcmdshell= ""
endif
if !exists("g:netrw_localcopycmd")
if has("win32") || has("win95") || has("win64") || has("win16")
if has("win32")
if g:netrw_cygwin
let g:netrw_localcopycmd= "cp"
else
@@ -417,7 +410,7 @@ if !exists("g:netrw_localcopycmd")
endif
endif
if !exists("g:netrw_localcopydircmd")
if has("win32") || has("win95") || has("win64") || has("win16")
if has("win32")
if g:netrw_cygwin
let g:netrw_localcopydircmd = "cp"
let g:netrw_localcopydircmdopt= " -R"
@@ -439,7 +432,7 @@ if exists("g:netrw_local_mkdir")
let g:netrw_localmkdir= g:netrw_local_mkdir
call netrw#ErrorMsg(s:NOTE,"g:netrw_local_mkdir is deprecated in favor of g:netrw_localmkdir",87)
endif
if has("win32") || has("win95") || has("win64") || has("win16")
if has("win32")
if g:netrw_cygwin
call s:NetrwInit("g:netrw_localmkdir","mkdir")
else
@@ -455,7 +448,7 @@ if exists("g:netrw_local_movecmd")
call netrw#ErrorMsg(s:NOTE,"g:netrw_local_movecmd is deprecated in favor of g:netrw_localmovecmd",88)
endif
if !exists("g:netrw_localmovecmd")
if has("win32") || has("win95") || has("win64") || has("win16")
if has("win32")
if g:netrw_cygwin
let g:netrw_localmovecmd= "mv"
else
@@ -488,7 +481,7 @@ call s:NetrwInit("g:netrw_mousemaps" , (exists("+mouse") && &mouse =~# '[anh
call s:NetrwInit("g:netrw_retmap" , 0)
if has("unix") || (exists("g:netrw_cygwin") && g:netrw_cygwin)
call s:NetrwInit("g:netrw_chgperm" , "chmod PERM FILENAME")
elseif has("win32") || has("win95") || has("win64") || has("win16")
elseif has("win32")
call s:NetrwInit("g:netrw_chgperm" , "cacls FILENAME /e /p PERM")
else
call s:NetrwInit("g:netrw_chgperm" , "chmod PERM FILENAME")
@@ -547,14 +540,13 @@ if !exists("g:netrw_xstrlen")
endif
endif
call s:NetrwInit("g:NetrwTopLvlMenu","Netrw.")
call s:NetrwInit("g:netrw_win95ftp",1)
call s:NetrwInit("g:netrw_winsize",50)
call s:NetrwInit("g:netrw_wiw",1)
if g:netrw_winsize > 100|let g:netrw_winsize= 100|endif
" ---------------------------------------------------------------------
" Default values for netrw's script variables: {{{2
call s:NetrwInit("g:netrw_fname_escape",' ?&;%')
if has("win32") || has("win95") || has("win64") || has("win16")
if has("win32")
call s:NetrwInit("g:netrw_glob_escape",'*?`{[]$')
else
call s:NetrwInit("g:netrw_glob_escape",'*[]?`{~$\')
@@ -686,7 +678,7 @@ fun! netrw#Explore(indx,dosplit,style,...)
" record current directory
let curdir = simplify(b:netrw_curdir)
let curfiledir = substitute(expand("%:p"),'^\(.*[/\\]\)[^/\\]*$','\1','e')
if !exists("g:netrw_cygwin") && (has("win32") || has("win95") || has("win64") || has("win16"))
if !exists("g:netrw_cygwin") && has("win32")
let curdir= substitute(curdir,'\','/','g')
endif
" call Decho("curdir<".curdir."> curfiledir<".curfiledir.">",'~'.expand("<slnum>"))
@@ -844,7 +836,7 @@ fun! netrw#Explore(indx,dosplit,style,...)
" handle .../**/.../filepat
" call Decho("case starpat=4: Explore .../**/.../filepat",'~'.expand("<slnum>"))
let prefixdir= substitute(dirname,'^\(.\{-}\)\*\*.*$','\1','')
if prefixdir =~ '^/' || (prefixdir =~ '^\a:/' && (has("win32") || has("win95") || has("win64") || has("win16")))
if prefixdir =~ '^/' || (prefixdir =~ '^\a:/' && has("win32"))
let b:netrw_curdir = prefixdir
else
let b:netrw_curdir= getcwd().'/'.prefixdir
@@ -881,7 +873,7 @@ fun! netrw#Explore(indx,dosplit,style,...)
else
if dirname == ""
let dirname= getcwd()
elseif (has("win32") || has("win95") || has("win64") || has("win16")) && !g:netrw_cygwin
elseif has("win32") && !g:netrw_cygwin
" Windows : check for a drive specifier, or else for a remote share name ('\\Foo' or '//Foo',
" depending on whether backslashes have been converted to forward slashes by earlier code).
if dirname !~ '^[a-zA-Z]:' && dirname !~ '^\\\\\w\+' && dirname !~ '^//\w\+'
@@ -1420,7 +1412,7 @@ fun! netrw#Obtain(islocal,fname,...)
" call Decho("obtain a file from local ".b:netrw_curdir." to ".tgtdir,'~'.expand("<slnum>"))
if exists("b:netrw_curdir") && getcwd() != b:netrw_curdir
let topath= s:ComposePath(tgtdir,"")
if (has("win32") || has("win95") || has("win64") || has("win16"))
if has("win32")
" transfer files one at time
" call Decho("transfer files one at a time",'~'.expand("<slnum>"))
for fname in fnamelist
@@ -2301,7 +2293,7 @@ fun! netrw#NetRead(mode,...)
endif
" 'C' in 'C:\path\to\file' is handled as hostname on windows.
" This is workaround to avoid mis-handle windows local-path:
if g:netrw_scp_cmd =~ '^scp' && (has("win32") || has("win95") || has("win64") || has("win16"))
if g:netrw_scp_cmd =~ '^scp' && has("win32")
let tmpfile_get = substitute(tr(tmpfile, '\', '/'), '^\(\a\):[/\\]\(.*\)$', '/\1/\2', '')
else
let tmpfile_get = tmpfile
@@ -3221,7 +3213,7 @@ fun! s:NetrwMethod(choice)
if exists("s:netrw_hup[host]")
call NetUserPass("ftp:".host)
elseif (has("win32") || has("win95") || has("win64") || has("win16")) && s:netrw_ftp_cmd =~# '-[sS]:'
elseif has("win32") && s:netrw_ftp_cmd =~# '-[sS]:'
" call Decho("has -s: : s:netrw_ftp_cmd<".s:netrw_ftp_cmd.">",'~'.expand("<slnum>"))
" call Decho(" g:netrw_ftp_cmd<".g:netrw_ftp_cmd.">",'~'.expand("<slnum>"))
if g:netrw_ftp_cmd =~# '-[sS]:\S*MACHINE\>'
@@ -3336,38 +3328,6 @@ fun! s:NetrwMethod(choice)
" call Dret("s:NetrwMethod : b:netrw_method=".b:netrw_method." g:netrw_port=".g:netrw_port)
endfun
" ------------------------------------------------------------------------
" NetReadFixup: this sort of function is typically written by the user {{{2
" to handle extra junk that their system's ftp dumps
" into the transfer. This function is provided as an
" example and as a fix for a Windows 95 problem: in my
" experience, win95's ftp always dumped four blank lines
" at the end of the transfer.
if has("win95") && exists("g:netrw_win95ftp") && g:netrw_win95ftp
fun! NetReadFixup(method, line1, line2)
" call Dfunc("NetReadFixup(method<".a:method."> line1=".a:line1." line2=".a:line2.")")
" sanity checks -- attempt to convert inputs to integers
let method = a:method + 0
let line1 = a:line1 + 0
let line2 = a:line2 + 0
if type(method) != 0 || type(line1) != 0 || type(line2) != 0 || method < 0 || line1 <= 0 || line2 <= 0
" call Dret("NetReadFixup")
return
endif
if method == 3 " ftp (no <.netrc>)
let fourblanklines= line2 - 3
if fourblanklines >= line1
exe "sil NetrwKeepj ".fourblanklines.",".line2."g/^\s*$/d"
call histdel("/",-1)
endif
endif
" call Dret("NetReadFixup")
endfun
endif
" ---------------------------------------------------------------------
" NetUserPass: set username and password for subsequent ftp transfer {{{2
" Usage: :call NetUserPass() -- will prompt for userid and password
@@ -3990,7 +3950,7 @@ fun! s:NetrwBrowse(islocal,dirname)
if b:netrw_curdir =~ '[/\\]$'
let b:netrw_curdir= substitute(b:netrw_curdir,'[/\\]$','','e')
endif
if b:netrw_curdir =~ '\a:$' && (has("win32") || has("win95") || has("win64") || has("win16"))
if b:netrw_curdir =~ '\a:$' && has("win32")
let b:netrw_curdir= b:netrw_curdir."/"
endif
if b:netrw_curdir == ''
@@ -4144,7 +4104,7 @@ fun! s:NetrwFile(fname)
let b:netrw_curdir= getcwd()
endif
if !exists("g:netrw_cygwin") && (has("win32") || has("win95") || has("win64") || has("win16"))
if !exists("g:netrw_cygwin") && has("win32")
if fname =~ '^\' || fname =~ '^\a:\'
" windows, but full path given
let ret= fname
@@ -4864,7 +4824,7 @@ fun! s:NetrwBrowseChgDir(islocal,newdir,...)
call s:SavePosn(s:netrw_posn)
NetrwKeepj call s:NetrwOptionsSave("s:")
NetrwKeepj call s:NetrwOptionsSafe(a:islocal)
if (has("win32") || has("win95") || has("win64") || has("win16"))
if has("win32")
let dirname = substitute(b:netrw_curdir,'\\','/','ge')
else
let dirname = b:netrw_curdir
@@ -5111,7 +5071,7 @@ fun! s:NetrwBrowseChgDir(islocal,newdir,...)
endif
" call Decho("go-up: amiga: dirname<".dirname."> (go up one dir)",'~'.expand("<slnum>"))
elseif !g:netrw_cygwin && (has("win32") || has("win95") || has("win64") || has("win16"))
elseif !g:netrw_cygwin && has("win32")
" windows
if a:islocal
let dirname= substitute(dirname,'^\(.*\)/\([^/]\+\)/$','\1','')
@@ -5396,7 +5356,7 @@ fun! netrw#BrowseX(fname,remote)
" set up the filename
" (lower case the extension, make a local copy of a remote file)
let exten= substitute(a:fname,'.*\.\(.\{-}\)','\1','e')
if has("win32") || has("win95") || has("win64") || has("win16")
if has("win32")
let exten= substitute(exten,'^.*$','\L&\E','')
endif
if exten =~ "[\\/]"
@@ -5443,12 +5403,12 @@ fun! netrw#BrowseX(fname,remote)
" by default, g:netrw_suppress_gx_mesg is true
if g:netrw_suppress_gx_mesg
if &srr =~ "%s"
if (has("win32") || has("win95") || has("win64") || has("win16"))
if has("win32")
let redir= substitute(&srr,"%s","nul","")
else
let redir= substitute(&srr,"%s","/dev/null","")
endif
elseif (has("win32") || has("win95") || has("win64") || has("win16"))
elseif has("win32")
let redir= &srr . "nul"
else
let redir= &srr . "/dev/null"
@@ -5491,7 +5451,7 @@ fun! netrw#BrowseX(fname,remote)
call s:NetrwExe("sil !".viewer." ".viewopt.s:ShellEscape(fname,1).redir)
let ret= v:shell_error
elseif has("win32") || has("win64")
elseif has("win32")
" call Decho("(netrw#BrowseX) win".(has("win32")? "32" : "64"),'~'.expand("<slnum>"))
if executable("start")
call s:NetrwExe('sil! !start rundll32 url.dll,FileProtocolHandler '.s:ShellEscape(fname,1))
@@ -5766,6 +5726,9 @@ fun! s:NetrwEditFile(cmd,opt,fname)
exe "NetrwKeepj keepalt ".a:opt." ".a:cmd." ".fnameescape(a:fname)
else
" call Decho("exe NetrwKeepj ".a:opt." ".a:cmd." ".fnameescape(a:fname))
if a:cmd =~# 'e\%[new]!' && !&hidden && getbufvar(bufname('%'), '&modified', 0)
call setbufvar(bufname('%'), '&bufhidden', 'hide')
endif
exe "NetrwKeepj ".a:opt." ".a:cmd." ".fnameescape(a:fname)
endif
" call Dret("s:NetrwEditFile")
@@ -5836,16 +5799,20 @@ fun! s:NetrwGlob(direntry,expr,pare)
let filelist= w:netrw_treedict[a:direntry]
endif
let w:netrw_liststyle= keep_liststyle
elseif v:version > 704 || (v:version == 704 && has("patch656"))
let filelist= glob(s:ComposePath(fnameescape(a:direntry),a:expr),0,1,1)
if a:pare
let filelist= map(filelist,'substitute(v:val, "^.*/", "", "")')
endif
else
let filelist= glob(s:ComposePath(fnameescape(a:direntry),a:expr),0,1)
if a:pare
let filelist= map(filelist,'substitute(v:val, "^.*/", "", "")')
endif
let path= s:ComposePath(fnameescape(a:direntry),a:expr)
if has("win32")
" escape [ so it is not detected as wildcard character, see :h wildcard
let path= substitute(path, '[', '[[]', 'g')
endif
if v:version > 704 || (v:version == 704 && has("patch656"))
let filelist= glob(path,0,1,1)
else
let filelist= glob(path,0,1)
endif
if a:pare
let filelist= map(filelist,'substitute(v:val, "^.*/", "", "")')
endif
endif
" call Dret("s:NetrwGlob ".string(filelist))
return filelist
@@ -6006,7 +5973,7 @@ fun! s:NetrwHome()
" just pick the first directory
let home= substitute(&rtp,',.*$','','')
endif
if (has("win32") || has("win95") || has("win64") || has("win16"))
if has("win32")
let home= substitute(home,'/','\\','g')
endif
endif
@@ -7227,7 +7194,7 @@ fun! s:NetrwMarkFileCopy(islocal,...)
let args= join(map(deepcopy(s:netrwmarkfilelist_{bufnr('%')}),"s:ShellEscape(b:netrw_curdir.\"/\".v:val)"))
let tgt = s:ShellEscape(s:netrwmftgt)
endif
if !g:netrw_cygwin && (has("win32") || has("win95") || has("win64") || has("win16"))
if !g:netrw_cygwin && has("win32")
let args= substitute(args,'/','\\','g')
let tgt = substitute(tgt, '/','\\','g')
endif
@@ -7241,7 +7208,7 @@ fun! s:NetrwMarkFileCopy(islocal,...)
" call Decho("args<".args."> is a directory",'~'.expand("<slnum>"))
let copycmd= g:netrw_localcopydircmd
" call Decho("using copydircmd<".copycmd.">",'~'.expand("<slnum>"))
if !g:netrw_cygwin && (has("win32") || has("win95") || has("win64") || has("win16"))
if !g:netrw_cygwin && has("win32")
" window's xcopy doesn't copy a directory to a target properly. Instead, it copies a directory's
" contents to a target. One must append the source directory name to the target to get xcopy to
" do the right thing.
@@ -7859,7 +7826,7 @@ fun! s:NetrwMarkFileMove(islocal)
endif
let tgt = s:ShellEscape(s:netrwmftgt)
" call Decho("tgt<".tgt.">",'~'.expand("<slnum>"))
if !g:netrw_cygwin && (has("win32") || has("win95") || has("win64") || has("win16"))
if !g:netrw_cygwin && has("win32")
let tgt= substitute(tgt, '/','\\','g')
" call Decho("windows exception: tgt<".tgt.">",'~'.expand("<slnum>"))
if g:netrw_localmovecmd =~ '\s'
@@ -7880,7 +7847,7 @@ fun! s:NetrwMarkFileMove(islocal)
" Jul 19, 2022: fixing file move when g:netrw_keepdir is 1
let fname= b:netrw_curdir."/".fname
endif
if !g:netrw_cygwin && (has("win32") || has("win95") || has("win64") || has("win16"))
if !g:netrw_cygwin && has("win32")
let fname= substitute(fname,'/','\\','g')
endif
" call Decho("system(".movecmd." ".s:ShellEscape(fname)." ".tgt.")",'~'.expand("<slnum>"))
@@ -10349,7 +10316,7 @@ fun! s:NetrwRemoteFtpCmd(path,listcmd)
endif
" cleanup for Windows " {{{3
if has("win32") || has("win95") || has("win64") || has("win16")
if has("win32")
sil! NetrwKeepj %s/\r$//e
NetrwKeepj call histdel("/",-1)
endif
@@ -10857,7 +10824,7 @@ fun! netrw#FileUrlEdit(fname)
let fname= substitute(fname,'^file://localhost/','file:///','')
" call Decho("fname<".fname.">",'~'.expand("<slnum>"))
endif
if (has("win32") || has("win95") || has("win64") || has("win16"))
if has("win32")
if fname =~ '^file:///\=\a[|:]/'
" call Decho('converting file:///\a|/ -to- file://\a:/','~'.expand("<slnum>"))
let fname = substitute(fname,'^file:///\=\(\a\)[|:]/','file://\1:/','')
@@ -10867,7 +10834,7 @@ fun! netrw#FileUrlEdit(fname)
let fname2396 = netrw#RFC2396(fname)
let fname2396e= fnameescape(fname2396)
let plainfname= substitute(fname2396,'file://\(.*\)','\1',"")
if (has("win32") || has("win95") || has("win64") || has("win16"))
if has("win32")
" call Decho("windows exception for plainfname",'~'.expand("<slnum>"))
if plainfname =~ '^/\+\a:'
" call Decho('removing leading "/"s','~'.expand("<slnum>"))
@@ -11079,7 +11046,7 @@ fun! s:LocalFastBrowser()
let s:netrw_events= 1
augroup AuNetrwEvent
au!
if (has("win32") || has("win95") || has("win64") || has("win16"))
if has("win32")
" call Decho("installing autocmd: ShellCmdPost",'~'.expand("<slnum>"))
au ShellCmdPost * call s:LocalBrowseRefresh()
else
@@ -11121,7 +11088,7 @@ fun! s:LocalListing()
let filelist = filelist + s:NetrwGlob(dirname,".*",0)
" call Decho("filelist=".string(filelist),'~'.expand("<slnum>"))
if g:netrw_cygwin == 0 && (has("win32") || has("win95") || has("win64") || has("win16"))
if g:netrw_cygwin == 0 && has("win32")
" call Decho("filelist=".string(filelist),'~'.expand("<slnum>"))
elseif index(filelist,'..') == -1 && b:netrw_curdir !~ '/'
" include ../ in the glob() entry if its missing
@@ -11167,7 +11134,7 @@ fun! s:LocalListing()
let pfile= filename."/"
elseif exists("b:netrw_curdir") && b:netrw_curdir !~ '^.*://' && !isdirectory(s:NetrwFile(filename))
if (has("win32") || has("win95") || has("win64") || has("win16"))
if has("win32")
if filename =~ '\.[eE][xX][eE]$' || filename =~ '\.[cC][oO][mM]$' || filename =~ '\.[bB][aA][tT]$'
" indicate an executable
" call Decho("indicate <".filename."> is executable with trailing *",'~'.expand("<slnum>"))
@@ -11501,7 +11468,7 @@ fun! s:NetrwLocalRmFile(path,fname,all)
if !all
echohl Statement
call inputsave()
let ok= input("Confirm deletion of directory<".rmfile."> ","[{y(es)},n(o),a(ll),q(uit)] ")
let ok= input("Confirm *recursive* deletion of directory<".rmfile."> ","[{y(es)},n(o),a(ll),q(uit)] ")
call inputrestore()
let ok= substitute(ok,'\[{y(es)},n(o),a(ll),q(uit)]\s*','','e')
if ok == ""
@@ -11514,7 +11481,7 @@ fun! s:NetrwLocalRmFile(path,fname,all)
let rmfile= substitute(rmfile,'[\/]$','','e')
if all || ok =~# 'y\%[es]' || ok == ""
if delete(rmfile,"d")
if delete(rmfile,"rf")
call netrw#ErrorMsg(s:ERROR,"unable to delete directory <".rmfile.">!",103)
endif
endif
@@ -11644,7 +11611,7 @@ endfun
" netrw#WinPath: tries to insure that the path is windows-acceptable, whether cygwin is used or not {{{2
fun! netrw#WinPath(path)
" call Dfunc("netrw#WinPath(path<".a:path.">)")
if (!g:netrw_cygwin || &shell !~ '\%(\<bash\>\|\<zsh\>\)\%(\.exe\)\=$') && (has("win32") || has("win95") || has("win64") || has("win16"))
if (!g:netrw_cygwin || &shell !~ '\%(\<bash\>\|\<zsh\>\)\%(\.exe\)\=$') && has("win32")
" remove cygdrive prefix, if present
let path = substitute(a:path,g:netrw_cygdrive.'/\(.\)','\1:','')
" remove trailing slash (Win95)
@@ -11704,11 +11671,11 @@ fun! s:ComposePath(base,subdir)
endif
" COMBAK: test on windows with changing to root directory: :e C:/
elseif a:subdir =~ '^\a:[/\\]\([^/\\]\|$\)' && (has("win32") || has("win95") || has("win64") || has("win16"))
elseif a:subdir =~ '^\a:[/\\]\([^/\\]\|$\)' && has("win32")
" call Decho("windows",'~'.expand("<slnum>"))
let ret= a:subdir
elseif a:base =~ '^\a:[/\\]\([^/\\]\|$\)' && (has("win32") || has("win95") || has("win64") || has("win16"))
elseif a:base =~ '^\a:[/\\]\([^/\\]\|$\)' && has("win32")
" call Decho("windows",'~'.expand("<slnum>"))
if a:base =~ '[/\\]$'
let ret= a:base.a:subdir
@@ -11820,7 +11787,7 @@ fun! s:GetTempfile(fname)
" o/s dependencies
if g:netrw_cygwin != 0
let tmpfile = substitute(tmpfile,'^\(\a\):',g:netrw_cygdrive.'/\1','e')
elseif has("win32") || has("win95") || has("win64") || has("win16")
elseif has("win32")
if !exists("+shellslash") || !&ssl
let tmpfile = substitute(tmpfile,'/','\','g')
endif
@@ -12036,7 +12003,7 @@ fun! s:NetrwDelete(path)
" call Dfunc("s:NetrwDelete(path<".a:path.">)")
let path = netrw#WinPath(a:path)
if !g:netrw_cygwin && (has("win32") || has("win95") || has("win64") || has("win16"))
if !g:netrw_cygwin && has("win32")
if exists("+shellslash")
let sskeep= &shellslash
setl noshellslash
@@ -12227,7 +12194,7 @@ fun! s:NetrwLcd(newdir)
" 'root' (ie. '\'). The share name may start with either backslashes ('\\Foo') or
" forward slashes ('//Foo'), depending on whether backslashes have been converted to
" forward slashes by earlier code; so check for both.
if (has("win32") || has("win95") || has("win64") || has("win16")) && !g:netrw_cygwin
if has("win32") && !g:netrw_cygwin
if a:newdir =~ '^\\\\\w\+' || a:newdir =~ '^//\w\+'
let dirname = '\'
exe 'NetrwKeepj sil lcd '.fnameescape(dirname)
@@ -12700,7 +12667,7 @@ endfun
" ---------------------------------------------------------------------
" s:ShellEscape: shellescape(), or special windows handling {{{2
fun! s:ShellEscape(s, ...)
if (has('win32') || has('win64')) && $SHELL == '' && &shellslash
if has('win32') && $SHELL == '' && &shellslash
return printf('"%s"', substitute(a:s, '"', '""', 'g'))
endif
let f = a:0 > 0 ? a:1 : 0

View File

@@ -3,6 +3,8 @@
" Maintainer: This runtime file is looking for a new maintainer.
" Former Maintainer: Charles E Campbell
" Version: 18
" Last Change:
" 2024 May 08 by Vim Project: cleanup legacy Win9X checks
" Copyright: Copyright (C) 1999-2007 Charles E. Campbell {{{1
" Permission is hereby granted to use and distribute this code,
" with or without modifications, provided that this copyright
@@ -91,7 +93,6 @@ fun! netrwSettings#NetrwSettings()
put = 'let g:netrw_sshport = '.g:netrw_sshport
put = 'let g:netrw_silent = '.g:netrw_silent
put = 'let g:netrw_use_nt_rcp = '.g:netrw_use_nt_rcp
put = 'let g:netrw_win95ftp = '.g:netrw_win95ftp
let s:netrw_xfer_stop= line(".")
put =''
put ='+ Netrw Messages'

View File

@@ -1,100 +0,0 @@
" Adapted from fatih/vim-go: autoload/go/fmt.vim
"
" Copyright 2011 The Go Authors. All rights reserved.
" Use of this source code is governed by a BSD-style
" license that can be found in the LICENSE file.
"
" Upstream: https://github.com/ziglang/zig.vim
function! zig#fmt#Format() abort
" Save cursor position and many other things.
let view = winsaveview()
if !executable('zig')
echohl Error | echomsg "no zig binary found in PATH" | echohl None
return
endif
let cmdline = 'zig fmt --stdin --ast-check'
let current_buf = bufnr('')
" The formatted code is output on stdout, the errors go on stderr.
if exists('*systemlist')
silent let out = systemlist(cmdline, current_buf)
else
silent let out = split(system(cmdline, current_buf))
endif
if len(out) == 1
if out[0] == "error: unrecognized parameter: '--ast-check'"
let cmdline = 'zig fmt --stdin'
if exists('*systemlist')
silent let out = systemlist(cmdline, current_buf)
else
silent let out = split(system(cmdline, current_buf))
endif
endif
endif
let err = v:shell_error
if err == 0
" remove undo point caused via BufWritePre.
try | silent undojoin | catch | endtry
" Replace the file content with the formatted version.
if exists('*deletebufline')
call deletebufline(current_buf, len(out), line('$'))
else
silent execute ':' . len(out) . ',' . line('$') . ' delete _'
endif
call setline(1, out)
" No errors detected, close the loclist.
call setloclist(0, [], 'r')
lclose
elseif get(g:, 'zig_fmt_parse_errors', 1)
let errors = s:parse_errors(expand('%'), out)
call setloclist(0, [], 'r', {
\ 'title': 'Errors',
\ 'items': errors,
\ })
let max_win_height = get(g:, 'zig_fmt_max_window_height', 5)
" Prevent the loclist from becoming too long.
let win_height = min([max_win_height, len(errors)])
" Open the loclist, but only if there's at least one error to show.
execute 'silent! lwindow ' . win_height
endif
call winrestview(view)
if err != 0
echohl Error | echomsg "zig fmt returned error" | echohl None
return
endif
" Run the syntax highlighter on the updated content and recompute the folds if
" needed.
syntax sync fromstart
endfunction
" parse_errors parses the given errors and returns a list of parsed errors
function! s:parse_errors(filename, lines) abort
" list of errors to be put into location list
let errors = []
for line in a:lines
let tokens = matchlist(line, '^\(.\{-}\):\(\d\+\):\(\d\+\)\s*\(.*\)')
if !empty(tokens)
call add(errors,{
\"filename": a:filename,
\"lnum": tokens[2],
\"col": tokens[3],
\"text": tokens[4],
\ })
endif
endfor
return errors
endfunction
" vim: sw=2 ts=2 et

View File

@@ -4,17 +4,18 @@
" Version: 33
" Maintainer: This runtime file is looking for a new maintainer.
" Former Maintainer: Charles E Campbell
" Last Change:
" 2024 Jun 16 by Vim Project: handle whitespace on Windows properly (#14998)
" License: Vim License (see vim's :help license)
" Copyright: Copyright (C) 2005-2019 Charles E. Campbell {{{1
" Permission is hereby granted to use and distribute this code,
" with or without modifications, provided that this copyright
" notice is copied with it. Like anything else that's free,
" zip.vim and zipPlugin.vim are provided *as is* and comes with
" no warranty of any kind, either expressed or implied. By using
" this plugin, you agree that in no event will the copyright
" holder be liable for any damages resulting from the use
" of this software.
"redraw!|call DechoSep()|call inputsave()|call input("Press <cr> to continue")|call inputrestore()
" Copyright: Copyright (C) 2005-2019 Charles E. Campbell {{{1
" Permission is hereby granted to use and distribute this code,
" with or without modifications, provided that this copyright
" notice is copied with it. Like anything else that's free,
" zip.vim and zipPlugin.vim are provided *as is* and comes with
" no warranty of any kind, either expressed or implied. By using
" this plugin, you agree that in no event will the copyright
" holder be liable for any damages resulting from the use
" of this software.
" ---------------------------------------------------------------------
" Load Once: {{{1
@@ -214,7 +215,6 @@ endfun
" ---------------------------------------------------------------------
" zip#Read: {{{2
fun! zip#Read(fname,mode)
" call Dfunc("zip#Read(fname<".a:fname.">,mode=".a:mode.")")
let repkeep= &report
set report=10
@@ -226,15 +226,12 @@ fun! zip#Read(fname,mode)
let fname = substitute(a:fname,'^.\{-}zipfile://.\{-}::\([^\\].*\)$','\1','')
let fname = substitute(fname, '[', '[[]', 'g')
endif
" call Decho("zipfile<".zipfile.">")
" call Decho("fname <".fname.">")
" sanity check
if !executable(substitute(g:zip_unzipcmd,'\s\+.*$','',''))
redraw!
echohl Error | echo "***error*** (zip#Read) sorry, your system doesn't appear to have the ".g:zip_unzipcmd." program" | echohl None
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
let &report= repkeep
" call Dret("zip#Write")
return
endif
@@ -242,10 +239,8 @@ fun! zip#Read(fname,mode)
" exe "keepj sil! r! ".g:zip_unzipcmd." -p -- ".s:Escape(zipfile,1)." ".s:Escape(fnameescape(fname),1)
" but allows zipfile://... entries in quickfix lists
let temp = tempname()
" call Decho("using temp file<".temp.">")
let fn = expand('%:p')
exe "sil! !".g:zip_unzipcmd." -p -- ".s:Escape(zipfile,1)." ".s:Escape(fnameescape(fname),1).' > '.temp
" call Decho("exe sil! !".g:zip_unzipcmd." -p -- ".s:Escape(zipfile,1)." ".s:Escape(fnameescape(fname),1).' > '.temp)
exe "sil! !".g:zip_unzipcmd." -p -- ".s:Escape(zipfile,1)." ".s:Escape(fname,1).' > '.temp
sil exe 'keepalt file '.temp
sil keepj e!
sil exe 'keepalt file '.fnameescape(fn)
@@ -254,11 +249,9 @@ fun! zip#Read(fname,mode)
filetype detect
" cleanup
" keepj 0d " used to be needed for the ...r! ... method
set nomod
let &report= repkeep
" call Dret("zip#Read")
endfun
" ---------------------------------------------------------------------
@@ -422,7 +415,6 @@ endfun
" ---------------------------------------------------------------------
" s:Escape: {{{2
fun! s:Escape(fname,isfilt)
" call Dfunc("QuoteFileDir(fname<".a:fname."> isfilt=".a:isfilt.")")
if exists("*shellescape")
if a:isfilt
let qnameq= shellescape(a:fname,1)
@@ -432,7 +424,10 @@ fun! s:Escape(fname,isfilt)
else
let qnameq= g:zip_shq.escape(a:fname,g:zip_shq).g:zip_shq
endif
" call Dret("QuoteFileDir <".qnameq.">")
if exists("+shellslash") && &shellslash && &shell =~ "cmd.exe"
" renormalize directory separator on Windows
let qnameq=substitute(qnameq, '/', '\\', 'g')
endif
return qnameq
endfun

View File

@@ -1,28 +1,29 @@
" Vim compiler file
" Compiler: Hare Compiler
" Maintainer: Amelia Clarke <me@rsaihe.dev>
" Last Change: 2022-09-21
" 2024 Apr 05 by The Vim Project (removed :CompilerSet definition)
" Vim compiler file.
" Compiler: Hare
" Maintainer: Amelia Clarke <selene@perilune.dev>
" Last Change: 2024-05-23
" Upstream: https://git.sr.ht/~sircmpwn/hare.vim
if exists("g:current_compiler")
if exists('current_compiler')
finish
endif
let g:current_compiler = "hare"
let current_compiler = 'hare'
let s:cpo_save = &cpo
set cpo&vim
if filereadable("Makefile") || filereadable("makefile")
if filereadable('Makefile') || filereadable('makefile')
CompilerSet makeprg=make
else
CompilerSet makeprg=hare\ build
endif
CompilerSet errorformat=
\Error\ %f:%l:%c:\ %m,
\Syntax\ error:\ %.%#\ at\ %f:%l:%c\\,\ %m,
\%f:%l:%c:\ syntax\ error:\ %m,
\%f:%l:%c:\ error:\ %m,
\%-G%.%#
let &cpo = s:cpo_save
unlet s:cpo_save
" vim: tabstop=2 shiftwidth=2 expandtab
" vim: et sts=2 sw=2 ts=8

View File

@@ -1,7 +1,7 @@
" Vim compiler file
" Compiler: Java Development Kit Compiler
" Maintainer: Doug Kearns <dougkearns@gmail.com>
" Last Change: 2024 Apr 03
" Last Change: 2024 Jun 14
if exists("current_compiler")
finish
@@ -11,7 +11,12 @@ let current_compiler = "javac"
let s:cpo_save = &cpo
set cpo&vim
CompilerSet makeprg=javac
if exists("g:javac_makeprg_params")
execute $'CompilerSet makeprg=javac\ {escape(g:javac_makeprg_params, ' \|"')}'
else
CompilerSet makeprg=javac
endif
CompilerSet errorformat=%E%f:%l:\ error:\ %m,
\%W%f:%l:\ warning:\ %m,
\%-Z%p^,

25
runtime/compiler/jq.vim Normal file
View File

@@ -0,0 +1,25 @@
" Vim compiler file
" Compiler: jq
" Maintainer: Vito <vito.blog@gmail.com>
" Last Change: 2024 Apr 17
" Upstream: https://github.com/vito-c/jq.vim
if exists('b:current_compiler')
finish
endif
let b:current_compiler = 'jq'
let s:save_cpoptions = &cpoptions
set cpoptions&vim
if has('unix')
CompilerSet makeprg=jq\ -f\ %:S\ /dev/null
else
CompilerSet makeprg=jq\ -f\ %:S\ nul
endif
CompilerSet errorformat=%E%m\ at\ \\<%o\\>\\,\ line\ %l:,
\%Z,
\%-G%.%#
let &cpoptions = s:save_cpoptions
unlet s:save_cpoptions

View File

@@ -19,6 +19,7 @@ DOCS = \
fold.txt \
ft_ada.txt \
ft_context.txt \
ft_hare.txt \
ft_mp.txt \
ft_ps1.txt \
ft_raku.txt \
@@ -172,6 +173,7 @@ HTMLS = \
fold.html \
ft_ada.html \
ft_context.html \
ft_hare.html \
ft_mp.html \
ft_ps1.html \
ft_raku.html \

View File

@@ -1,4 +1,4 @@
*autocmd.txt* For Vim version 9.1. Last change: 2024 Mar 26
*autocmd.txt* For Vim version 9.1. Last change: 2024 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -428,8 +428,8 @@ Name triggered by ~
|SessionLoadPost| after loading a session file
|SessionWritePost| After writing the session file using
the |:mksession| command.
|SessionWritePost| after writing the session file using
the |:mksession| command
|MenuPopup| just before showing the popup menu
|CompleteChanged| after Insert mode completion menu changed

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,4 @@
*change.txt* For Vim version 9.1. Last change: 2024 Apr 14
*change.txt* For Vim version 9.1. Last change: 2024 May 18
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -623,7 +623,8 @@ Vim uses temporary files for filtering, generating diffs and also for
tempname(). For Unix, the file will be in a private directory (only
accessible by the current user) to avoid security problems (e.g., a symlink
attack or other people reading your file). When Vim exits the directory and
all files in it are deleted. When Vim has the setuid bit set this may cause
all files in it are deleted (only on Unix, on other systems you will have to
clean up yourself). When Vim has the setuid bit set this may cause
problems, the temp file is owned by the setuid user but the filter command
probably runs as the original user.
Directory for temporary files is created in the first of these directories
@@ -1346,7 +1347,7 @@ The expression must evaluate to a String. A Number is always automatically
converted to a String. For the "p" and ":put" command, if the result is a
Float it's converted into a String. If the result is a List each element is
turned into a String and used as a line. A Dictionary is converted into a
String. A FuncRef results in an error message (use string() to convert).
String. A Funcref results in an error message (use string() to convert).
If the "= register is used for the "p" command, the String is split up at <NL>
characters. If the String ends in a <NL>, it is regarded as a linewise
@@ -1412,6 +1413,8 @@ The next three commands always work on whole lines.
:[range]m[ove] {address} *:m* *:mo* *:move* *E134*
Move the lines given by [range] to below the line
given by {address}.
Any text properties in [range] are cleared
|text-prop-cleared|.
==============================================================================
6. Formatting text *formatting*

View File

@@ -1,4 +1,4 @@
*channel.txt* For Vim version 9.1. Last change: 2023 Aug 15
*channel.txt* For Vim version 9.1. Last change: 2024 Jun 13
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -502,6 +502,8 @@ ch_canread({handle}) *ch_canread()*
Can also be used as a |method|: >
GetChannel()->ch_canread()
<
Return type: |Number|
ch_close({handle}) *ch_close()*
Close {handle}. See |channel-close|.
@@ -510,6 +512,8 @@ ch_close({handle}) *ch_close()*
Can also be used as a |method|: >
GetChannel()->ch_close()
<
Return type: |Number|
ch_close_in({handle}) *ch_close_in()*
Close the "in" part of {handle}. See |channel-close-in|.
@@ -518,6 +522,8 @@ ch_close_in({handle}) *ch_close_in()*
Can also be used as a |method|: >
GetChannel()->ch_close_in()
<
Return type: |Number|
ch_evalexpr({handle}, {expr} [, {options}]) *ch_evalexpr()*
@@ -541,6 +547,8 @@ ch_evalexpr({handle}, {expr} [, {options}]) *ch_evalexpr()*
Can also be used as a |method|: >
GetChannel()->ch_evalexpr(expr)
<
Return type: dict<any> or |String|
ch_evalraw({handle}, {string} [, {options}]) *ch_evalraw()*
@@ -559,6 +567,8 @@ ch_evalraw({handle}, {string} [, {options}]) *ch_evalraw()*
Can also be used as a |method|: >
GetChannel()->ch_evalraw(rawstring)
<
Return type: dict<any> or |String|
ch_getbufnr({handle}, {what}) *ch_getbufnr()*
Get the buffer number that {handle} is using for String {what}.
@@ -569,6 +579,8 @@ ch_getbufnr({handle}, {what}) *ch_getbufnr()*
Can also be used as a |method|: >
GetChannel()->ch_getbufnr(what)
<
Return type: |Number|
ch_getjob({channel}) *ch_getjob()*
Get the Job associated with {channel}.
@@ -577,7 +589,8 @@ ch_getjob({channel}) *ch_getjob()*
Can also be used as a |method|: >
GetChannel()->ch_getjob()
<
Return type: |job| or |String|
ch_info({handle}) *ch_info()*
Returns a Dictionary with information about {handle}. The
@@ -613,7 +626,8 @@ ch_info({handle}) *ch_info()*
Can also be used as a |method|: >
GetChannel()->ch_info()
<
Return type: dict<any>
ch_log({msg} [, {handle}]) *ch_log()*
Write String {msg} in the channel log file, if it was opened
@@ -628,7 +642,8 @@ ch_log({msg} [, {handle}]) *ch_log()*
Can also be used as a |method|: >
'did something'->ch_log()
<
Return type: dict<any>
ch_logfile({fname} [, {mode}]) *ch_logfile()*
Start logging channel activity to {fname}.
@@ -655,7 +670,8 @@ ch_logfile({fname} [, {mode}]) *ch_logfile()*
Can also be used as a |method|: >
'logfile'->ch_logfile('w')
<
Return type: |Number|
ch_open({address} [, {options}]) *ch_open()*
Open a channel to {address}. See |channel|.
@@ -669,7 +685,8 @@ ch_open({address} [, {options}]) *ch_open()*
Can also be used as a |method|: >
GetAddress()->ch_open()
<
Return type: |channel|
ch_read({handle} [, {options}]) *ch_read()*
Read from {handle} and return the received message.
@@ -680,7 +697,8 @@ ch_read({handle} [, {options}]) *ch_read()*
Can also be used as a |method|: >
GetChannel()->ch_read()
<
Return type: |String|
ch_readblob({handle} [, {options}]) *ch_readblob()*
Like ch_read() but reads binary data and returns a |Blob|.
@@ -688,7 +706,8 @@ ch_readblob({handle} [, {options}]) *ch_readblob()*
Can also be used as a |method|: >
GetChannel()->ch_readblob()
<
Return type: |Blob|
ch_readraw({handle} [, {options}]) *ch_readraw()*
Like ch_read() but for a JS and JSON channel does not decode
@@ -698,7 +717,8 @@ ch_readraw({handle} [, {options}]) *ch_readraw()*
Can also be used as a |method|: >
GetChannel()->ch_readraw()
<
Return type: |String|
ch_sendexpr({handle}, {expr} [, {options}]) *ch_sendexpr()*
Send {expr} over {handle}. The {expr} is encoded
@@ -720,6 +740,8 @@ ch_sendexpr({handle}, {expr} [, {options}]) *ch_sendexpr()*
Can also be used as a |method|: >
GetChannel()->ch_sendexpr(expr)
<
Return type: dict<any> or |String|
ch_sendraw({handle}, {expr} [, {options}]) *ch_sendraw()*
@@ -733,7 +755,8 @@ ch_sendraw({handle}, {expr} [, {options}]) *ch_sendraw()*
Can also be used as a |method|: >
GetChannel()->ch_sendraw(rawexpr)
<
Return type: dict<any> or |String|
ch_setoptions({handle}, {options}) *ch_setoptions()*
Set options on {handle}:
@@ -751,7 +774,8 @@ ch_setoptions({handle}, {options}) *ch_setoptions()*
Can also be used as a |method|: >
GetChannel()->ch_setoptions(options)
<
Return type: |Number|
ch_status({handle} [, {options}]) *ch_status()*
Return the status of {handle}:
@@ -770,6 +794,8 @@ ch_status({handle} [, {options}]) *ch_status()*
<
Can also be used as a |method|: >
GetChannel()->ch_status()
<
Return type: |String|
==============================================================================
9. Starting a job with a channel *job-start* *job*
@@ -900,6 +926,8 @@ job_getchannel({job}) *job_getchannel()*
<
Can also be used as a |method|: >
GetJob()->job_getchannel()
<
Return type: |channel|
job_info([{job}]) *job_info()*
Returns a Dictionary with information about {job}:
@@ -927,6 +955,9 @@ job_info([{job}]) *job_info()*
Can also be used as a |method|: >
GetJob()->job_info()
<
Return type: dict<any> or list<job> depending on whether {job}
was given
job_setoptions({job}, {options}) *job_setoptions()*
@@ -936,6 +967,8 @@ job_setoptions({job}, {options}) *job_setoptions()*
Can also be used as a |method|: >
GetJob()->job_setoptions(options)
<
Return type: |Number|
job_start({command} [, {options}]) *job_start()*
@@ -997,6 +1030,8 @@ job_start({command} [, {options}]) *job_start()*
Can also be used as a |method|: >
BuildCommand()->job_start()
<
Return type: |job|
job_status({job}) *job_status()* *E916*
@@ -1020,6 +1055,8 @@ job_status({job}) *job_status()* *E916*
Can also be used as a |method|: >
GetJob()->job_status()
<
Return type: |String|
job_stop({job} [, {how}]) *job_stop()*
@@ -1066,6 +1103,8 @@ job_stop({job} [, {how}]) *job_stop()*
Can also be used as a |method|: >
GetJob()->job_stop()
<
Return type: |Number|
==============================================================================

View File

@@ -1,4 +1,4 @@
*cmdline.txt* For Vim version 9.1. Last change: 2023 Dec 09
*cmdline.txt* For Vim version 9.1. Last change: 2024 Apr 27
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -650,6 +650,12 @@ followed by another Vim command:
:[range]!
a user defined command without the "-bar" argument |:command|
and the following |Vim9-script| keywords:
:abstract
:class
:enum
:interface
Note that this is confusing (inherited from Vi): With ":g" the '|' is included
in the command, with ":s" it is not.

View File

@@ -1,4 +1,4 @@
*debug.txt* For Vim version 9.1. Last change: 2019 May 07
*debug.txt* For Vim version 9.1. Last change: 2024 May 11
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -160,7 +160,7 @@ In WinDbg: choose Open Crash Dump on the File menu. Follow the instructions in
3.5 Obtaining Microsoft Debugging Tools ~
The Debugging Tools for Windows (including WinDbg) can be downloaded from
http://www.microsoft.com/whdc/devtools/debugging/default.mspx
https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/debugger-download-tools
This includes the WinDbg debugger.
Visual C++ 2005 Express Edition can be downloaded for free from:

View File

@@ -1,4 +1,4 @@
*develop.txt* For Vim version 9.1. Last change: 2022 Sep 20
*develop.txt* For Vim version 9.1. Last change: 2024 May 11
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -152,7 +152,7 @@ VIM IS... NOT *design-not*
everything but the kitchen sink, but some people say that you can clean one
with it. ;-)"
To use Vim with gdb see |terminal-debugger|. Other (older) tools can be
found at http://www.agide.org and http://clewn.sf.net.
found at http://www.agide.org (link seems dead) and http://clewn.sf.net.
- Vim is not a fancy GUI editor that tries to look nice at the cost of
being less consistent over all platforms. But functional GUI features are
welcomed.

View File

@@ -1,4 +1,4 @@
*eval.txt* For Vim version 9.1. Last change: 2024 Mar 28
*eval.txt* For Vim version 9.1. Last change: 2024 Jun 01
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -2727,7 +2727,7 @@ v:vim_did_enter Zero until most of startup is done. It is set to one just
v:warningmsg Last given warning message. It's allowed to set this variable.
*v:windowid* *windowid-variable*
v:windowid When any X11 based GUI is running or when running in a
v:windowid When any X11/Wayland based GUI is running or when running in a
terminal and Vim connects to the X server (|-X|) this will be
set to the window ID.
When an MS-Windows GUI is running this will be set to the
@@ -3099,7 +3099,7 @@ text...
:cons[t] {var-name} = {expr1}
:cons[t] [{name1}, {name2}, ...] = {expr1}
:cons[t] [{name}, ..., ; {lastname}] = {expr1}
:cons[t] {var-name} =<< [trim] {marker}
:cons[t] {var-name} =<< [trim] [eval] {marker}
text...
text...
{marker}

View File

@@ -1,4 +1,4 @@
*filetype.txt* For Vim version 9.1. Last change: 2024 Apr 18
*filetype.txt* For Vim version 9.1. Last change: 2024 May 23
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -149,6 +149,7 @@ variables can be used to overrule the filetype used for certain extensions:
*.csh g:filetype_csh |ft-csh-syntax|
*.dat g:filetype_dat
*.def g:filetype_def
*.dsp g:filetype_dsp
*.f g:filetype_f |ft-forth-syntax|
*.frm g:filetype_frm |ft-form-syntax|
*.fs g:filetype_fs |ft-forth-syntax|
@@ -452,6 +453,18 @@ To disable folding everything under the title use this: >
let asciidoc_fold_under_title = 0
ARDUINO *ft-arduino-plugin*
By default the following options are set, in accordance with the default
settings of Arduino IDE: >
setlocal expandtab tabstop=2 softtabstop=2 shiftwidth=2
To disable this behavior, set the following variable in your vimrc: >
let g:arduino_recommended_style = 0
AWK *ft-awk-plugin*
Support for features specific to GNU Awk, like @include, can be enabled by
@@ -627,6 +640,12 @@ The mapping can be disabled with: >
let g:no_gprof_maps = 1
HARE *ft-hare*
Since the text for this plugin is rather long it has been put in a separate
file: |ft_hare.txt|.
JAVA *ft-java-plugin*
Whenever the variable "g:ftplugin_java_source_path" is defined and its value
@@ -877,6 +896,31 @@ The mappings can be disabled with: >
let g:no_vim_maps = 1
ZIG *ft-zig-plugin*
*g:zig_recommended_style*
By default the following indentation options are set, in accordance with Zig's
recommended style (https://ziglang.org/documentation/master/): >
setlocal expandtab shiftwidth=4 softtabstop=4 tabstop=8
<
To disable this behavior, set |g:zig_recommended_style| to 0: >
let g:zig_recommended_style = 0
<
*g:zig_std_dir*
The path to the Zig standard library. The Zig |ftplugin| reads |g:zig_std_dir|
and appends it to the 'path' for Zig files. Where the Zig standard library
is located is system and installation method dependent.
One can automatically set |g:zig_std_dir| using `zig env`: >
let g:zig_std_dir = json_decode(system('zig env'))['std_dir']
<
This can, for example, be put in a FileType |:autocmd| or user |ftplugin| to
only load when a Zig file is opened.
ZIMBU *ft-zimbu-plugin*
The Zimbu filetype plugin defines mappings to move to the start and end of

77
runtime/doc/ft_hare.txt Normal file
View File

@@ -0,0 +1,77 @@
*ft_hare.txt* Support for the Hare programming language
==============================================================================
CONTENTS *hare*
1. Introduction |hare-intro|
2. Filetype plugin |hare-plugin|
3. Settings |hare-settings|
==============================================================================
INTRODUCTION *hare-intro*
This plugin provides syntax highlighting, indentation, and other functionality
for the Hare programming language. Support is also provided for README files
inside Hare modules, but this must be enabled by setting |g:filetype_haredoc|.
==============================================================================
FILETYPE PLUGIN *hare-plugin*
This plugin automatically sets the value of 'path' to include the contents of
the HAREPATH environment variable, allowing commands such as |gf| to directly
open standard library or third-party modules. If HAREPATH is not set, it
defaults to the recommended paths for most Unix-like filesystems, namely
/usr/src/hare/stdlib and /usr/src/hare/third-party.
==============================================================================
SETTINGS *hare-settings*
This plugin provides a small number of variables that you can define in your
vimrc to configure its behavior.
*g:filetype_haredoc*
This plugin is able to automatically detect Hare modules and set the "haredoc"
filetype for any README files. As the recursive directory search used as a
heuristic has a minor performance impact, this feature is disabled by default
and must be specifically opted into: >
let g:filetype_haredoc = 1
<
See |g:haredoc_search_depth| for ways to tweak the searching behavior.
*g:hare_recommended_style*
The following options are set by default, in accordance with the official Hare
style guide: >
setlocal noexpandtab
setlocal shiftwidth=0
setlocal softtabstop=0
setlocal tabstop=8
setlocal textwidth=80
<
To disable this behavior: >
let g:hare_recommended_style = 0
<
*g:hare_space_error*
By default, trailing whitespace and tabs preceded by space characters are
highlighted as errors. This is automatically turned off when in insert mode.
To disable this highlighting completely: >
let g:hare_space_error = 0
<
*g:haredoc_search_depth*
By default, when |g:filetype_haredoc| is enabled, only the current directory
and its immediate subdirectories are searched for Hare files. The maximum
search depth may be adjusted with: >
let g:haredoc_search_depth = 2
<
Value Effect~
0 Only search the current directory.
1 Search the current directory and immediate
subdirectories.
2 Search the current directory and two levels of
subdirectories.
The maximum search depth can be set to any integer, but using values higher
than 2 is not recommended, and will likely provide no tangible benefit in most
situations.
==============================================================================
vim:tw=78:ts=8:noet:ft=help:norl:

View File

@@ -1,4 +1,4 @@
*gui.txt* For Vim version 9.1. Last change: 2024 Apr 17
*gui.txt* For Vim version 9.1. Last change: 2024 May 11
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -498,14 +498,14 @@ Starting off with the default set is a good idea. You can add more items, or,
if you don't like the defaults at all, start with removing all menus
|:unmenu-all|. You can also avoid the default menus being loaded by adding
this line to your .vimrc file (NOT your .gvimrc file!): >
:let did_install_default_menus = 1
:let g:did_install_default_menus = 1
If you also want to avoid the Syntax menu: >
:let did_install_syntax_menu = 1
:let g:did_install_syntax_menu = 1
The first item in the Syntax menu can be used to show all available filetypes
in the menu (which can take a bit of time to load). If you want to have all
filetypes already present at startup, add: >
:let do_syntax_sel_menu = 1
:let g:do_syntax_sel_menu = 1
< *menu-lazyload* *g:do_no_lazyload_menus*
The following menuitems show all available color schemes, keymaps and compiler
settings:
Edit > Color Scheme ~
@@ -515,7 +515,7 @@ However, they can also take a bit of time to load, because they search all
related files from the directories in 'runtimepath'. Therefore they are
loaded lazily (by the |CursorHold| event), or you can also load them manually.
If you want to have all these items already present at startup, add: >
:let do_no_lazyload_menus = 1
:let g:do_no_lazyload_menus = 1
Note that the menu.vim is sourced when `:syntax on` or `:filetype on` is
executed or after your .vimrc file is sourced. This means that the 'encoding'
@@ -1238,7 +1238,8 @@ This section describes other features which are related to the GUI.
endif
A recommended Japanese font is MS Mincho. You can find info here:
http://www.lexikan.com/mincho.htm
https://learn.microsoft.com/en-us/typography/font-list/ms-mincho
It should be distributed with Windows.
==============================================================================
8. Shell Commands *gui-shell*

View File

@@ -1,4 +1,4 @@
*help.txt* For Vim version 9.1. Last change: 2022 Dec 03
*help.txt* For Vim version 9.1. Last change: 2024 May 27
VIM - main help file
k
@@ -162,7 +162,8 @@ Programming language support ~
|filetype.txt| settings done specifically for a type of file
|quickfix.txt| commands for a quick edit-compile-fix cycle
|ft_ada.txt| Ada (the programming language) support
|ft_context.txt| Filetype plugin for ConTeXt
|ft_context.txt| Filetype plugin for ConTeXt
|ft_hare.txt| Filetype plugin for Hare
|ft_mp.txt| Filetype plugin for METAFONT and MetaPost
|ft_ps1.txt| Filetype plugin for Windows PowerShell
|ft_raku.txt| Filetype plugin for Raku

View File

@@ -1,4 +1,4 @@
*if_cscop.txt* For Vim version 9.1. Last change: 2022 Jan 08
*if_cscop.txt* For Vim version 9.1. Last change: 2024 May 11
VIM REFERENCE MANUAL by Andy Kahn
@@ -358,7 +358,7 @@ system calls: fork(), pipe(), execl(), waitpid(). This means it is mostly
limited to Unix systems.
Additionally Cscope support works for Win32. For more information and a
cscope version for Win32 see:
cscope version for Win32 see (link seems dead):
http://iamphet.nm.ru/cscope/index.html

View File

@@ -1,4 +1,4 @@
*if_pyth.txt* For Vim version 9.1. Last change: 2023 Oct 25
*if_pyth.txt* For Vim version 9.1. Last change: 2024 May 16
VIM REFERENCE MANUAL by Paul Moore
@@ -343,7 +343,8 @@ In python vim.VIM_SPECIAL_PATH special directory is used as a replacement for
the list of paths found in 'runtimepath': with this directory in sys.path and
vim.path_hooks in sys.path_hooks python will try to load module from
{rtp}/python2 (or python3) and {rtp}/pythonx (for both python versions) for
each {rtp} found in 'runtimepath'.
each {rtp} found in 'runtimepath' (Note: find_module() has been removed from
imp module around Python 3.12.0a7).
Implementation is similar to the following, but written in C: >
@@ -404,10 +405,12 @@ vim.VIM_SPECIAL_PATH *python-VIM_SPECIAL_PATH*
vim.find_module(...) *python-find_module*
vim.path_hook(path) *python-path_hook*
vim.find_spec(...) *python-find_spec*
Methods or objects used to implement path loading as described above.
You should not be using any of these directly except for vim.path_hook
in case you need to do something with sys.meta_path. It is not
guaranteed that any of the objects will exist in the future vim
in case you need to do something with sys.meta_path, vim.find_spec()
is available starting with Python 3.7.
It is not guaranteed that any of the objects will exist in future vim
versions.
vim._get_paths *python-_get_paths*

View File

@@ -1261,5 +1261,5 @@ By default, the yaml indent script does not try to detect multiline scalars.
If you want to enable this, set the following variable: >
let g:yaml_indent_multiline_scalar = 1
<
vim:tw=78:ts=8:noet:ft=help:norl:

View File

@@ -1,4 +1,4 @@
*map.txt* For Vim version 9.1. Last change: 2024 Jan 25
*map.txt* For Vim version 9.1. Last change: 2024 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -986,11 +986,11 @@ For the Meta modifier the "T" character is used. For example, to map Meta-b
in Insert mode: >
:imap <T-b> terrible
1.12 MAPPING SUPER-KEYS or COMMAND-KEYS *:map-super-keys* *:map-cmd-key*
1.12 MAPPING SUPER-KEYS or COMMAND-KEYS *:map-super-keys* *:map-cmd-key*
The Super modifier is available in GUI mode (when |gui_running| is 1) for
GVim on Linux and MacVim on Mac OS. If you're on a Mac, this represents the
Command key, on Linux with the GTK GUI it represents the Super key.
The Super modifier is available in GUI mode (when |gui_running| is 1) for gVim
on Linux and MacVim on Mac OS. If you're on a Mac, this represents the Command
key, on Linux with the GTK GUI it represents the Super key.
The character "D" is used for the Super / Command modifier.
For example, to map Command-b in Insert mode: >

View File

@@ -1,4 +1,4 @@
*mbyte.txt* For Vim version 9.1. Last change: 2022 Apr 03
*mbyte.txt* For Vim version 9.1. Last change: 2024 Jun 09
VIM REFERENCE MANUAL by Bram Moolenaar et al.
@@ -451,18 +451,19 @@ Useful utilities for converting the charset:
Chinese: hc
Hc is "Hanzi Converter". Hc convert a GB file to a Big5 file, or Big5
file to GB file. Hc can be found at:
https://www.freshports.org/chinese/hc
ftp://ftp.cuhk.hk/pub/chinese/ifcss/software/unix/convert/hc-30.tar.gz
Korean: hmconv
Hmconv is Korean code conversion utility especially for E-mail. It can
convert between EUC-KR and ISO-2022-KR. Hmconv can be found at:
ftp://ftp.kaist.ac.kr/pub/hangul/code/hmconv/
https://www.freshports.org/korean/hmconv/
Multilingual: lv
Lv is a Powerful Multilingual File Viewer. And it can be worked as
|charset| converter. Supported |charset|: ISO-2022-CN, ISO-2022-JP,
ISO-2022-KR, EUC-CN, EUC-JP, EUC-KR, EUC-TW, UTF-7, UTF-8, ISO-8859
series, Shift_JIS, Big5 and HZ. Lv can be found at:
series, Shift_JIS, Big5 and HZ. Lv can be found at (link seems dead):
http://www.ff.iij4u.or.jp/~nrt/lv/index.html
@@ -777,13 +778,13 @@ is suitable for complex input, such as CJK.
For example, there are xwnmo and kinput2 Japanese |IM-server|, both are
FrontEnd system. Xwnmo is distributed with Wnn (see below), kinput2 can be
found at: ftp://ftp.sra.co.jp/pub/x11/kinput2/
found at (link seems dead): ftp://ftp.sra.co.jp/pub/x11/kinput2/
For Chinese, there's a great XIM server named "xcin", you can input both
Traditional and Simplified Chinese characters. And it can accept other
locale if you make a correct input table. Xcin can be found at:
http://cle.linux.org.tw/xcin/
Others are scim: http://scim.freedesktop.org/ and fcitx:
locale if you make a correct input table. Xcin can be found at (link seems
dead): http://cle.linux.org.tw/xcin/
Others are scim: https://www.freedesktop.org/wiki/Software/scim/ and fcitx:
http://www.fcitx.org/
- Conversion Server
@@ -801,7 +802,7 @@ is suitable for complex input, such as CJK.
pronounced in Hira-gana, second, we convert Hira-gana to Kanji or Kata-Kana,
if needed. There are some Kana-Kanji conversion server: jserver
(distributed with Wnn, see below) and canna. Canna can be found at:
http://canna.sourceforge.jp/
https://osdn.net/projects/canna/
There is a good input system: Wnn4.2. Wnn 4.2 contains,
xwnmo (|IM-server|)
@@ -1355,7 +1356,7 @@ You might also want to select the font used for the menus. Unfortunately this
doesn't always work. See the system specific remarks below, and 'langmenu'.
USING UTF-8 IN X-Windows *utf-8-in-xwindows*
USING UTF-8 IN X-WINDOWS *utf-8-in-xwindows*
Note: This section does not apply to the GTK+ 2 GUI.

View File

@@ -1,4 +1,4 @@
*netbeans.txt* For Vim version 9.1. Last change: 2023 Nov 26
*netbeans.txt* For Vim version 9.1. Last change: 2024 May 11
VIM REFERENCE MANUAL by Gordon Prieur et al.
@@ -77,8 +77,8 @@ Initially just a Java IDE, NetBeans has had C, C++, and Fortran support added
in recent releases.
For more information visit the main NetBeans web site http://www.netbeans.org.
The External Editor is now, unfortunately, declared obsolete. See
http://externaleditor.netbeans.org.
The External Editor is now, unfortunately, declared obsolete. See (link seems
dead): http://externaleditor.netbeans.org.
Sun Microsystems, Inc. also ships NetBeans under the name Sun ONE Studio.
Visit http://www.sun.com for more information regarding the Sun ONE Studio
@@ -147,8 +147,9 @@ On MS-Windows:
The Win32 support is now in beta stage.
To use XPM signs on Win32 (e.g. when using with NetBeans) you can compile
XPM by yourself or use precompiled libraries from http://iamphet.nm.ru/misc/
(for MS Visual C++) or http://gnuwin32.sourceforge.net (for MinGW).
XPM by yourself or use precompiled libraries from (link seems dead):
http://iamphet.nm.ru/misc/ (for MS Visual C++) or
http://gnuwin32.sourceforge.net (for MinGW).
Enable debugging:
-----------------
@@ -946,7 +947,8 @@ for details on downloading this module if your NetBeans release does not have
it.
For C, C++, and Fortran support you will also need the cpp module. See
http://cpp.netbeans.org for information regarding this module.
http://cpp.netbeans.org (link seems dead) for information regarding this
module.
You can also download Sun ONE Studio from Sun Microsystems, Inc for a 30 day
free trial. See http://www.sun.com for further details.

View File

@@ -1,4 +1,4 @@
*options.txt* For Vim version 9.1. Last change: 2024 Mar 29
*options.txt* For Vim version 9.1. Last change: 2024 Jun 19
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1909,13 +1909,14 @@ A jump table for the options with a short description can be found at |Q_op|.
insert a space.
*'commentstring'* *'cms'* *E537*
'commentstring' 'cms' string (default "/*%s*/")
'commentstring' 'cms' string (default "/* %s */")
local to buffer
{not available when compiled without the |+folding|
feature}
A template for a comment. The "%s" in the value is replaced with the
comment text. Currently only used to add markers for folding, see
|fold-marker|.
comment text, and should be padded with a space when possible.
Currently used to add markers for folding, see |fold-marker|. Also
commonly used by commenting plugins (e.g. |comment-install|).
*'compatible'* *'cp'* *'nocompatible'* *'nocp'*
'compatible' 'cp' boolean (default on, off when a |vimrc| or |gvimrc|
@@ -2100,7 +2101,7 @@ A jump table for the options with a short description can be found at |Q_op|.
*'completeopt'* *'cot'*
'completeopt' 'cot' string (default: "menu,preview")
global
global or local to buffer |global-local|
A comma-separated list of options for Insert mode completion
|ins-completion|. The supported values are:
@@ -2143,6 +2144,19 @@ A jump table for the options with a short description can be found at |Q_op|.
select one from the menu. Only works in combination with
"menu" or "menuone".
fuzzy Enable |fuzzy-matching| for completion candidates. This
allows for more flexible and intuitive matching, where
characters can be skipped and matches can be found even
if the exact sequence is not typed. Only makes a
difference how completion candidates are reduced from the
list of alternatives, but not how the candidates are
collected (using different completion types).
fuzzycollect
Enable fuzzy collection for default keyword completion.
This allows the collection of matches using fuzzy matching
criteria, providing more comprehensive and flexible
results. Works in combination with other fuzzy options.
*'completepopup'* *'cpp'*
'completepopup' 'cpp' string (default empty)
global
@@ -4266,12 +4280,14 @@ A jump table for the options with a short description can be found at |Q_op|.
T:DiffText,>:SignColumn,-:Conceal,
B:SpellBad,P:SpellCap,R:SpellRare,
L:SpellLocal,+:Pmenu,=:PmenuSel,
k:PmenuMatch,<:PmenuMatchSel,
[:PmenuKind,]:PmenuKindSel,
{:PmenuExtra,}:PmenuExtraSel,
x:PmenuSbar,X:PmenuThumb,*:TabLine,
#:TabLineSel,_:TabLineFill,!:CursorColumn,
.:CursorLine,o:ColorColumn,q:QuickFixLine,
z:StatusLineTerm,Z:StatusLineTermNC")
z:StatusLineTerm,Z:StatusLineTermNC,
g:MsgArea")
global
This option can be used to set highlighting mode for various
occasions. It is a comma-separated list of character pairs. The
@@ -4290,6 +4306,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|hl-Search| l last search pattern highlighting (see 'hlsearch')
|hl-MoreMsg| m |more-prompt|
|hl-ModeMsg| M Mode (e.g., "-- INSERT --")
|hl-MsgArea| g |Command-line| and message area
|hl-LineNr| n line number for ":number" and ":#" commands, and
when 'number' or 'relativenumber' option is set.
|hl-LineNrAbove| a line number above the cursor for when the
@@ -4330,6 +4347,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|hl-PmenuExtraSel| } popup menu "extra" selected line
|hl-PmenuSbar| x popup menu scrollbar
|hl-PmenuThumb| X popup menu scrollbar thumb
|hl-PmenuMatch| k popup menu matched text
|hl-PmenuMatchSel| < popup menu matched text in selected line
The display modes are:
r reverse (termcap entry "mr" and "me")
@@ -6683,7 +6702,8 @@ A jump table for the options with a short description can be found at |Q_op|.
<
*'runtimepath'* *'rtp'* *vimfiles*
'runtimepath' 'rtp' string (default:
Unix: "$HOME/.vim,
Unix: "$HOME/.vim or
$XDG_CONFIG_HOME/vim,
$VIM/vimfiles,
$VIMRUNTIME,
$VIM/vimfiles/after,
@@ -6735,6 +6755,8 @@ A jump table for the options with a short description can be found at |Q_op|.
And any other file searched for with the |:runtime| command.
For $XDG_CONFIG_HOME see |xdg-base-dir|.
The defaults for most systems are setup to search five locations:
1. In your home directory, for your personal preferences.
2. In a system-wide Vim directory, for preferences from the system
@@ -7233,8 +7255,8 @@ A jump table for the options with a short description can be found at |Q_op|.
message; also for quickfix message (e.g., ":cn")
s don't give "search hit BOTTOM, continuing at TOP" or *shm-s*
"search hit TOP, continuing at BOTTOM" messages; when using
the search count do not show "W" after the count message (see
S below)
the search count do not show "W" before the count message
(see |shm-S| below)
t truncate file message at the start if it is too long *shm-t*
to fit on the command-line, "<" will appear in the left most
column; ignored in Ex mode
@@ -7256,7 +7278,11 @@ A jump table for the options with a short description can be found at |Q_op|.
`:silent` was used for the command; note that this also
affects messages from autocommands and 'autoread' reloading
S do not show search count message when searching, e.g. *shm-S*
"[1/5]"
"[1/5]". When the "S" flag is not present (e.g. search count
is shown), the "search hit BOTTOM, continuing at TOP" and
"search hit TOP, continuing at BOTTOM" messages are only
indicated by a "W" (Mnemonic: Wrapped) letter before the
search count statistics.
This gives you the opportunity to avoid that a change between buffers
requires you to hit <Enter>, but still gives as useful a message as
@@ -8986,13 +9012,15 @@ A jump table for the options with a short description can be found at |Q_op|.
*'viewdir'* *'vdir'*
'viewdir' 'vdir' string (default for Amiga: "home:vimfiles/view",
for Win32: "$HOME/vimfiles/view",
for Unix: "$HOME/.vim/view",
for Unix: "$HOME/.vim/view" or
"$XDG_CONFIG_HOME/vim/view"
for macOS: "$VIM/vimfiles/view",
for VMS: "sys$login:vimfiles/view")
global
{not available when compiled without the |+mksession|
feature}
Name of the directory where to store files for |:mkview|.
For $XDG_CONFIG_HOME see |xdg-base-dir|.
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.

View File

@@ -1,4 +1,4 @@
*os_dos.txt* For Vim version 9.1. Last change: 2006 Mar 30
*os_dos.txt* For Vim version 9.1. Last change: 2024 Apr 25
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -330,6 +330,11 @@ following values:
'shellpipe' >%s 2>&1
'shellredir' >%s 2>&1
Note: those options are only set after reading the |.vimrc| file, in
particular setting the 'shell' option via |-c| is too late to take effect for
the other shell related settings. Consider using |--cmd| to override this
option via the command line.
If you find that PowerShell commands are taking a long time to run then try
with "-NoProfile" at the beginning of the 'shellcmdflag'. Note this will
prevent any PowerShell environment setup by the profile from taking place.

View File

@@ -1,4 +1,4 @@
*os_vms.txt* For Vim version 9.1. Last change: 2023 Dec 14
*os_vms.txt* For Vim version 9.1. Last change: 2024 May 11
VIM REFERENCE MANUAL
@@ -40,7 +40,6 @@ Or use one of the mirrors:
You can download precompiled executables from:
http://www.polarhome.com/vim/
ftp://ftp.polarhome.com/pub/vim/
To use the precompiled binary version, you need one of these archives:

View File

@@ -1,4 +1,4 @@
*os_win32.txt* For Vim version 9.1. Last change: 2023 Dec 04
*os_win32.txt* For Vim version 9.1. Last change: 2024 May 11
VIM REFERENCE MANUAL by George Reilly
@@ -250,8 +250,7 @@ A. Basically what you need is to put a tee program that will copy its input
copy of tee (and a number of other GNU tools) at
http://gnuwin32.sourceforge.net or http://unxutils.sourceforge.net
Alternatively, try the more recent Cygnus version of the GNU tools at
http://www.cygwin.com Other Unix-style tools for Win32 are listed at
http://directory.google.com/Top/Computers/Software/Operating_Systems/Unix/Win32/
http://www.cygwin.com
When you do get a copy of tee, you'll need to add >
:set shellpipe=\|\ tee
< to your _vimrc.

View File

@@ -1,4 +1,4 @@
*pattern.txt* For Vim version 9.1. Last change: 2023 Oct 23
*pattern.txt* For Vim version 9.1. Last change: 2024 Jun 18
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -151,13 +151,17 @@ CTRL-C Interrupt current (search) command. Use CTRL-Break on
executing autocommands |autocmd-searchpat|.
Same thing for when invoking a user function.
While typing the search pattern the current match will be shown if the
'incsearch' option is on. Remember that you still have to finish the search
command with <CR> to actually position the cursor at the displayed match. Or
use <Esc> to abandon the search.
*nohlsearch-auto*
All matches for the last used search pattern will be highlighted if you set
the 'hlsearch' option. This can be suspended with the |:nohlsearch| command.
the 'hlsearch' option. This can be suspended with the |:nohlsearch| command
or auto suspended with nohlsearch plugin. See |nohlsearch-install|.
When 'shortmess' does not include the "S" flag, Vim will automatically show an
index, on which the cursor is. This can look like this: >
@@ -1394,6 +1398,19 @@ Finally, these constructs are unique to Perl:
==============================================================================
10. Highlighting matches *match-highlight*
*syntax-vs-match*
Note that the match highlight mechanism is independent
of |syntax-highlighting|, which is (usually) a buffer-local
highlighting, while matching is window-local, both methods
can be freely mixed. Match highlighting functions give you
a bit more flexibility in when and how to apply, but are
typically only used for temporary highlighting, without strict
rules. Both methods can be used to conceal text.
Thus the matching functions like |matchadd()| won't consider
syntax rules and functions like |synconcealed()| and the
other way around.
*:mat* *:match*
:mat[ch] {group} /{pattern}/
Define a pattern to highlight in the current window. It will
@@ -1500,5 +1517,7 @@ the matching positions and the fuzzy match scores.
The "f" flag of `:vimgrep` enables fuzzy matching.
To enable fuzzy matching for |ins-completion|, add the "fuzzy" value to the
'completeopt' option.
vim:tw=78:ts=8:noet:ft=help:norl:

View File

@@ -1,4 +1,4 @@
*pi_netrw.txt* For Vim version 9.1. Last change: 2023 Jun 19
*pi_netrw.txt* For Vim version 9.1. Last change: 2024 May 11
------------------------------------------------
NETRW REFERENCE MANUAL by Charles E. Campbell
@@ -449,10 +449,6 @@ settings are described below, in |netrw-browser-options|, and in
messages don't always seem to show up this
way, but one doesn't have to quit the window.
*g:netrw_win95ftp* =1 if using Win95, will remove four trailing blank
lines that o/s's ftp "provides" on transfers
=0 force normal ftp behavior (no trailing line removal)
*g:netrw_cygwin* =1 assume scp under windows is from cygwin. Also
permits network browsing to use ls with time and
size sorting (default if windows)
@@ -828,8 +824,6 @@ set in the user's <.vimrc> file: (see also |netrw-settings| |netrw-protocol|)
g:netrw_uid Holds current user-id for ftp.
g:netrw_use_nt_rcp =0 don't use WinNT/2K/XP's rcp (default)
=1 use WinNT/2K/XP's rcp, binary mode
g:netrw_win95ftp =0 use unix-style ftp even if win95/98/ME/etc
=1 use default method to do ftp >
-----------------------------------------------------------------------
<
*netrw-internal-variables*
@@ -958,21 +952,8 @@ messages) you may write a NetReadFixup() function:
endfunction
>
The NetReadFixup() function will be called if it exists and thus allows you to
customize your reading process. As a further example, <netrw.vim> contains
just such a function to handle Windows 95 ftp. For whatever reason, Windows
95's ftp dumps four blank lines at the end of a transfer, and so it is
desirable to automate their removal. Here's some code taken from <netrw.vim>
itself:
>
if has("win95") && g:netrw_win95ftp
fun! NetReadFixup(method, line1, line2)
if method == 3 " ftp (no <.netrc>)
let fourblanklines= line2 - 3
silent fourblanklines .. "," .. line2 .. "g/^\s*/d"
endif
endfunction
endif
>
customize your reading process.
(Related topics: |ftp| |netrw-userpass| |netrw-start|)
==============================================================================
@@ -2052,11 +2033,7 @@ passwords:
better way to do that: I can use a regular ssh account which uses a
password to access the material without the need to key-in the password
each time. It's good for security and convenience. I tried ssh public key
authorization + ssh-agent, implementing this, and it works! Here are two
links with instructions:
http://www.ibm.com/developerworks/library/l-keyc2/
http://sial.org/howto/openssh/publickey-auth/
authorization + ssh-agent, implementing this, and it works!
Ssh hints:
@@ -3412,16 +3389,7 @@ Example: Clear netrw's marked file list via a mapping on gu >
(This section is likely to grow as I get feedback)
(also see |netrw-debug|)
*netrw-p1*
P1. I use windows 95, and my ftp dumps four blank lines at the {{{2
end of every read.
See |netrw-fixup|, and put the following into your
<.vimrc> file:
let g:netrw_win95ftp= 1
*netrw-p2*
P2. I use Windows, and my network browsing with ftp doesn't sort by {{{2
P1. I use Windows, and my network browsing with ftp doesn't sort by {{{2
time or size! -or- The remote system is a Windows server; why
don't I get sorts by time or size?
@@ -3447,8 +3415,8 @@ Example: Clear netrw's marked file list via a mapping on gu >
modify its listing behavior.
*netrw-p3*
P3. I tried rcp://user@host/ (or protocol other than ftp) and netrw {{{2
*netrw-p2*
P2. I tried rcp://user@host/ (or protocol other than ftp) and netrw {{{2
used ssh! That wasn't what I asked for...
Netrw has two methods for browsing remote directories: ssh
@@ -3456,8 +3424,8 @@ Example: Clear netrw's marked file list via a mapping on gu >
When it comes time to do download a file (not just a directory
listing), netrw will use the given protocol to do so.
*netrw-p4*
P4. I would like long listings to be the default. {{{2
*netrw-p3*
P3. I would like long listings to be the default. {{{2
Put the following statement into your |.vimrc|: >
@@ -3466,8 +3434,8 @@ Example: Clear netrw's marked file list via a mapping on gu >
Check out |netrw-browser-var| for more customizations that
you can set.
*netrw-p5*
P5. My times come up oddly in local browsing {{{2
*netrw-p4*
P4. My times come up oddly in local browsing {{{2
Does your system's strftime() accept the "%c" to yield dates
such as "Sun Apr 27 11:49:23 1997"? If not, do a
@@ -3476,16 +3444,16 @@ Example: Clear netrw's marked file list via a mapping on gu >
let g:netrw_timefmt= "%X" (where X is the option)
<
*netrw-p6*
P6. I want my current directory to track my browsing. {{{2
*netrw-p5*
P5. I want my current directory to track my browsing. {{{2
How do I do that?
Put the following line in your |.vimrc|:
>
let g:netrw_keepdir= 0
<
*netrw-p7*
P7. I use Chinese (or other non-ascii) characters in my filenames, {{{2
*netrw-p6*
P6. I use Chinese (or other non-ascii) characters in my filenames, {{{2
and netrw (Explore, Sexplore, Hexplore, etc) doesn't display them!
(taken from an answer provided by Wu Yongwei on the vim
@@ -3499,8 +3467,8 @@ Example: Clear netrw's marked file list via a mapping on gu >
(...it is one more reason to recommend that people use utf-8!)
*netrw-p8*
P8. I'm getting "ssh is not executable on your system" -- what do I {{{2
*netrw-p7*
P7. I'm getting "ssh is not executable on your system" -- what do I {{{2
do?
(Dudley Fox) Most people I know use putty for windows ssh. It
@@ -3582,8 +3550,8 @@ Example: Clear netrw's marked file list via a mapping on gu >
of the others will use the string in g:netrw_ssh_cmd by
default.
*netrw-p9* *netrw-ml_get*
P9. I'm browsing, changing directory, and bang! ml_get errors {{{2
*netrw-p8* *netrw-ml_get*
P8. I'm browsing, changing directory, and bang! ml_get errors {{{2
appear and I have to kill vim. Any way around this?
Normally netrw attempts to avoid writing swapfiles for
@@ -3593,8 +3561,8 @@ Example: Clear netrw's marked file list via a mapping on gu >
in your <.vimrc>: >
let g:netrw_use_noswf= 0
<
*netrw-p10*
P10. I'm being pestered with "[something] is a directory" and {{{2
*netrw-p9*
P9. I'm being pestered with "[something] is a directory" and {{{2
"Press ENTER or type command to continue" prompts...
The "[something] is a directory" prompt is issued by Vim,
@@ -3604,8 +3572,8 @@ Example: Clear netrw's marked file list via a mapping on gu >
I also suggest that you set your |'cmdheight'| to 2 (or more) in
your <.vimrc> file.
*netrw-p11*
P11. I want to have two windows; a thin one on the left and my {{{2
*netrw-p10*
P10. I want to have two windows; a thin one on the left and my {{{2
editing window on the right. How may I accomplish this?
You probably want netrw running as in a side window. If so, you
@@ -3630,8 +3598,8 @@ Example: Clear netrw's marked file list via a mapping on gu >
<middlemouse> to select the file.
*netrw-p12*
P12. My directory isn't sorting correctly, or unwanted letters are {{{2
*netrw-p11*
P11. My directory isn't sorting correctly, or unwanted letters are {{{2
appearing in the listed filenames, or things aren't lining
up properly in the wide listing, ...
@@ -3640,8 +3608,8 @@ Example: Clear netrw's marked file list via a mapping on gu >
Multibyte encodings use two (or more) bytes per character.
You may need to change |g:netrw_sepchr| and/or |g:netrw_xstrlen|.
*netrw-p13*
P13. I'm a Windows + putty + ssh user, and when I attempt to {{{2
*netrw-p12*
P12. I'm a Windows + putty + ssh user, and when I attempt to {{{2
browse, the directories are missing trailing "/"s so netrw treats
them as file transfers instead of as attempts to browse
subdirectories. How may I fix this?
@@ -3661,8 +3629,8 @@ Example: Clear netrw's marked file list via a mapping on gu >
"let g:netrw_sftp_cmd = "d:\\dev\\putty\\PSFTP.exe"
"let g:netrw_scp_cmd = "d:\\dev\\putty\\PSCP.exe"
<
*netrw-p14*
P14. I would like to speed up writes using Nwrite and scp/ssh {{{2
*netrw-p13*
P13. I would like to speed up writes using Nwrite and scp/ssh {{{2
style connections. How? (Thomer M. Gil)
Try using ssh's ControlMaster and ControlPath (see the ssh_config
@@ -3688,8 +3656,8 @@ Example: Clear netrw's marked file list via a mapping on gu >
vim scp://host.domain.com//home/user/.bashrc
<
*netrw-p15*
P15. How may I use a double-click instead of netrw's usual single {{{2
*netrw-p14*
P14. How may I use a double-click instead of netrw's usual single {{{2
click to open a file or directory? (Ben Fritz)
First, disable netrw's mapping with >
@@ -3701,8 +3669,8 @@ Example: Clear netrw's marked file list via a mapping on gu >
all netrw's mouse mappings, not just the <leftmouse> one.
(see |g:netrw_mousemaps|)
*netrw-p16*
P16. When editing remote files (ex. :e ftp://hostname/path/file), {{{2
*netrw-p15*
P15. When editing remote files (ex. :e ftp://hostname/path/file), {{{2
under Windows I get an |E303| message complaining that its unable
to open a swap file.
@@ -3710,8 +3678,8 @@ Example: Clear netrw's marked file list via a mapping on gu >
directory. Start netrw from your $HOME or other writable
directory.
*netrw-p17*
P17. Netrw is closing buffers on its own. {{{2
*netrw-p16*
P16. Netrw is closing buffers on its own. {{{2
What steps will reproduce the problem?
1. :Explore, navigate directories, open a file
2. :Explore, open another file
@@ -3724,15 +3692,15 @@ Example: Clear netrw's marked file list via a mapping on gu >
It appears that the buffers are not exactly closed;
a ":ls!" will show them (although ":ls" does not).
*netrw-P18*
P18. How to locally edit a file that's only available via {{{2
*netrw-P17*
P17. How to locally edit a file that's only available via {{{2
another server accessible via ssh?
See http://stackoverflow.com/questions/12469645/
"Using Vim to Remotely Edit A File on ServerB Only
Accessible From ServerA"
*netrw-P19*
P19. How do I get numbering on in directory listings? {{{2
*netrw-P18*
P18. How do I get numbering on in directory listings? {{{2
With |g:netrw_bufsettings|, you can control netrw's buffer
settings; try putting >
let g:netrw_bufsettings="noma nomod nu nobl nowrap ro nornu"
@@ -3740,8 +3708,8 @@ Example: Clear netrw's marked file list via a mapping on gu >
instead, try >
let g:netrw_bufsettings="noma nomod nonu nobl nowrap ro rnu"
<
*netrw-P20*
P20. How may I have gvim start up showing a directory listing? {{{2
*netrw-P19*
P19. How may I have gvim start up showing a directory listing? {{{2
Try putting the following code snippet into your .vimrc: >
augroup VimStartup
au!
@@ -3753,8 +3721,8 @@ Example: Clear netrw's marked file list via a mapping on gu >
This snippet assumes that you have client-server enabled
(ie. a "huge" vim version).
*netrw-P21*
P21. I've made a directory (or file) with an accented character, {{{2
*netrw-P20*
P20. I've made a directory (or file) with an accented character, {{{2
but netrw isn't letting me enter that directory/read that file:
Its likely that the shell or o/s is using a different encoding
@@ -3764,8 +3732,8 @@ Example: Clear netrw's marked file list via a mapping on gu >
au FileType netrw set enc=latin1
<
*netrw-P22*
P22. I get an error message when I try to copy or move a file: {{{2
*netrw-P21*
P21. I get an error message when I try to copy or move a file: {{{2
**error** (netrw) tried using g:netrw_localcopycmd<cp>; it doesn't work!

View File

@@ -1,4 +1,4 @@
*pi_tar.txt* For Vim version 9.1. Last change: 2022 Oct 17
*pi_tar.txt* For Vim version 9.1. Last change: 2024 May 11
+====================+
| Tar File Interface |
@@ -164,7 +164,8 @@ Copyright 2005-2017: *tar-copyright*
v2 * converted to use Vim7's new autoload feature
by Bram Moolenaar
v1 (original) * Michael Toren
(see http://michael.toren.net/code/)
(see http://michael.toren.net/code/
link seems dead)
==============================================================================
vim:tw=78:ts=8:noet:ft=help

View File

@@ -1,4 +1,4 @@
*popup.txt* For Vim version 9.1. Last change: 2022 Oct 07
*popup.txt* For Vim version 9.1. Last change: 2024 Jun 16
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -186,6 +186,7 @@ Manipulating a popup window:
|popup_move()| change the position and size of a popup
|popup_setoptions()| override options of a popup
|popup_settext()| replace the popup buffer contents
|popup_setbuf()| set the buffer for the popup window
Closing popup windows:
|popup_close()| close one popup
@@ -219,6 +220,8 @@ popup_atcursor({what}, {options}) *popup_atcursor()*
Can also be used as a |method|: >
GetText()->popup_atcursor({})
<
Return type: |Number|
popup_beval({what}, {options}) *popup_beval()*
@@ -237,6 +240,8 @@ popup_beval({what}, {options}) *popup_beval()*
Can also be used as a |method|: >
GetText()->popup_beval({})
<
Return type: |Number|
*popup_clear()*
popup_clear([{force}])
Emergency solution to a misbehaving plugin: close all popup
@@ -248,6 +253,8 @@ popup_clear([{force}])
when it is the current window. If a terminal is running in a
popup it is killed.
Return type: |Number|
popup_close({id} [, {result}]) *popup_close()*
Close popup {id}. The window and the associated buffer will
@@ -260,6 +267,8 @@ popup_close({id} [, {result}]) *popup_close()*
Can also be used as a |method|: >
GetPopup()->popup_close()
<
Return type: |Number|
popup_create({what}, {options}) *popup_create()*
@@ -290,6 +299,8 @@ popup_create({what}, {options}) *popup_create()*
Can also be used as a |method|: >
GetText()->popup_create({})
<
Return type: |Number|
popup_dialog({what}, {options}) *popup_dialog()*
@@ -314,6 +325,8 @@ popup_dialog({what}, {options}) *popup_dialog()*
Can also be used as a |method|: >
GetText()->popup_dialog({})
<
Return type: |Number|
popup_filter_menu({id}, {key}) *popup_filter_menu()*
@@ -336,6 +349,8 @@ popup_filter_menu({id}, {key}) *popup_filter_menu()*
To add shortcut keys, see the example here:
|popup_menu-shortcut-example|
Return type: |Number|
popup_filter_yesno({id}, {key}) *popup_filter_yesno()*
Filter that can be used for a popup. It handles only the keys
@@ -346,12 +361,16 @@ popup_filter_yesno({id}, {key}) *popup_filter_yesno()*
keys are ignored.
See the example here: |popup_dialog-example|
Return type: |Number|
popup_findecho() *popup_findecho()*
Get the |window-ID| for the popup that shows messages for the
`:echowindow` command. Return zero if there is none.
Mainly useful to hide the popup.
Return type: |Number|
popup_findinfo() *popup_findinfo()*
Get the |window-ID| for the popup info window, as it used by
@@ -361,11 +380,16 @@ popup_findinfo() *popup_findinfo()*
the item in the popup menu.
Returns zero if there is none.
Return type: |Number|
popup_findpreview() *popup_findpreview()*
Get the |window-ID| for the popup preview window.
Return zero if there is none.
Return type: |Number|
popup_getoptions({id}) *popup_getoptions()*
Return the {options} for popup {id} in a Dict.
A zero value means the option was not set. For "zindex" the
@@ -399,6 +423,8 @@ popup_getoptions({id}) *popup_getoptions()*
Can also be used as a |method|: >
GetPopup()->popup_getoptions()
<
Return type: dict<any>
popup_getpos({id}) *popup_getpos()*
@@ -428,6 +454,8 @@ popup_getpos({id}) *popup_getpos()*
Can also be used as a |method|: >
GetPopup()->popup_getpos()
<
Return type: dict<number> or dict<any>
popup_hide({id}) *popup_hide()*
@@ -440,11 +468,15 @@ popup_hide({id}) *popup_hide()*
Can also be used as a |method|: >
GetPopup()->popup_hide()
<
Return type: |Number|
popup_list() *popup_list()*
Return a List with the |window-ID| of all existing popups.
Return type: list<number> or list<any>
popup_locate({row}, {col}) *popup_locate()*
Return the |window-ID| of the popup at screen position {row}
@@ -452,6 +484,8 @@ popup_locate({row}, {col}) *popup_locate()*
highest zindex is returned. If there are no popups at this
position then zero is returned.
Return type: |Number|
popup_menu({what}, {options}) *popup_menu()*
Show the {what} near the cursor, handle selecting one of the
@@ -484,6 +518,8 @@ popup_menu({what}, {options}) *popup_menu()*
< Can also be used as a |method|: >
GetChoices()->popup_menu({})
<
Return type: |Number|
popup_move({id}, {options}) *popup_move()*
@@ -503,6 +539,8 @@ popup_move({id}, {options}) *popup_move()*
Can also be used as a |method|: >
GetPopup()->popup_move(options)
<
Return type: |Number|
popup_notification({what}, {options}) *popup_notification()*
@@ -533,6 +571,20 @@ popup_notification({what}, {options}) *popup_notification()*
Can also be used as a |method|: >
GetText()->popup_notification({})
<
Return type: |Number|
popup_setbuf({id}, {buf}) *popup_setbuf()*
Set buffer {buf} to be displayed in popup win {id}. For the
use of {buf}, see |bufname()| function.
May change window size or position to adjust for the size
of the buffer text.
Can also be used as a |method|: >
GetPopup()->popup_setbuf(bufnr('foobar'))
<
Return type: |vim9-boolean|
popup_setoptions({id}, {options}) *popup_setoptions()*
@@ -569,17 +621,20 @@ popup_setoptions({id}, {options}) *popup_setoptions()*
Can also be used as a |method|: >
GetPopup()->popup_setoptions(options)
<
Return type: |Number|
popup_settext({id}, {text}) *popup_settext()*
Set the text of the buffer in popup win {id}. {text} is the
same as supplied to |popup_create()|, except that a buffer
number is not allowed.
Set the text of the buffer in popup win {id}. {text} is
a string or a list of strings to be displayed in the popup.
Does not change the window size or position, other than caused
by the different text.
Can also be used as a |method|: >
GetPopup()->popup_settext('hello')
<
Return type: |Number|
popup_show({id}) *popup_show()*
@@ -588,6 +643,8 @@ popup_show({id}) *popup_show()*
If {id} is the info popup it will be positioned next to the
current popup menu item.
Return type: |Number|
==============================================================================
3. Usage *popup-usage*

View File

@@ -1,4 +1,4 @@
*print.txt* For Vim version 9.1. Last change: 2022 Oct 01
*print.txt* For Vim version 9.1. Last change: 2024 May 11
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -497,10 +497,11 @@ No CJK fonts are supplied with Vim. There are some free Korean, Japanese, and
Traditional Chinese fonts available at:
http://examples.oreilly.com/cjkvinfo/adobe/samples/
https://resources.oreilly.com/examples/9781565922242/
You can find descriptions of the various fonts in the read me file at
http://examples.oreilly.de/english_examples/cjkvinfo/adobe/00README
https://resources.oreilly.com/examples/9781565922242/-/blob/master/00README
Please read your printer documentation on how to install new fonts.
@@ -591,7 +592,7 @@ There are three available versions:
- GNU Ghostscript which is available under the GNU General Public License. It
can be obtained from:
ftp://mirror.cs.wisc.edu/pub/mirrors/ghost/gnu/
https://www.gnu.org/software/ghostscript
- A commercial version for inclusion in commercial products.
@@ -616,10 +617,7 @@ X11
- Ghostview. Obtainable from:
http://www.cs.wisc.edu/~ghost/gv/
- gv. Derived from Ghostview. Obtainable from:
http://wwwthep.physik.uni-mainz.de/~plass/gv/
https://www.gnu.org/software/gv/
Copies (possibly not the most recent) can be found at:
@@ -627,7 +625,8 @@ X11
OpenVMS
- Is apparently supported in the main code now (untested). See:
- Is apparently supported in the main code now (untested).
See (link seems dead):
http://wwwthep.physik.uni-mainz.de/~plass/gv/
@@ -644,12 +643,6 @@ Linux
http://www.cs.wisc.edu/~ghost/gsview/
- BMV. Different from Ghostview and gv in that it doesn't use X but svgalib.
Obtainable from:
ftp://sunsite.unc.edu/pub/Linux/apps/graphics/viewers/svga/bmv-1.2.tgz
7.3 PSUtils
PSUtils is a collection of utility programs for manipulating PostScript

View File

@@ -1,4 +1,4 @@
*quickfix.txt* For Vim version 9.1. Last change: 2023 Apr 15
*quickfix.txt* For Vim version 9.1. Last change: 2024 Jun 16
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -287,7 +287,8 @@ processing a quickfix or location list command, it will be aborted.
current window is used instead of the quickfix list.
*:cb* *:cbuffer* *E681*
:cb[uffer][!] [bufnr] Read the error list from the current buffer.
:[range]cb[uffer][!] [bufnr]
Read the error list from the current buffer.
When [bufnr] is given it must be the number of a
loaded buffer. That buffer will then be used instead
of the current buffer.
@@ -296,26 +297,31 @@ processing a quickfix or location list command, it will be aborted.
See |:cc| for [!].
*:lb* *:lbuffer*
:lb[uffer][!] [bufnr] Same as ":cbuffer", except the location list for the
:[range]lb[uffer][!] [bufnr]
Same as ":cbuffer", except the location list for the
current window is used instead of the quickfix list.
*:cgetb* *:cgetbuffer*
:cgetb[uffer] [bufnr] Read the error list from the current buffer. Just
:[range]cgetb[uffer] [bufnr]
Read the error list from the current buffer. Just
like ":cbuffer" but don't jump to the first error.
*:lgetb* *:lgetbuffer*
:lgetb[uffer] [bufnr] Same as ":cgetbuffer", except the location list for
:[range]lgetb[uffer] [bufnr]
Same as ":cgetbuffer", except the location list for
the current window is used instead of the quickfix
list.
*:cad* *:cadd* *:caddbuffer*
:cad[dbuffer] [bufnr] Read the error list from the current buffer and add
:[range]cad[dbuffer] [bufnr]
Read the error list from the current buffer and add
the errors to the current quickfix list. If a
quickfix list is not present, then a new list is
created. Otherwise, same as ":cbuffer".
*:laddb* *:laddbuffer*
:laddb[uffer] [bufnr] Same as ":caddbuffer", except the location list for
:[range]laddb[uffer] [bufnr]
Same as ":caddbuffer", except the location list for
the current window is used instead of the quickfix
list.
@@ -1297,6 +1303,14 @@ g:compiler_gcc_ignore_unmatched_lines
positives.
JAVAC *compiler-javac*
Commonly used compiler options can be added to 'makeprg' by setting the
g:javac_makeprg_params variable. For example: >
let g:javac_makeprg_params = "-Xlint:all -encoding utf-8"
<
MANX AZTEC C *quickfix-manx* *compiler-manx*
To use Vim with Manx's Aztec C compiler on the Amiga you should do the
@@ -1329,7 +1343,7 @@ passed to make, say :make html or :make pdf.
Additional arguments can be passed to pandoc:
- either by appending them to make, say `:make html --self-contained` .
- or setting them in `b:pandoc_compiler_args` or `g:pandoc_compiler_args`
- or setting them in `b:pandoc_compiler_args` or `g:pandoc_compiler_args`.
PERL *quickfix-perl* *compiler-perl*

View File

@@ -1,4 +1,4 @@
*sign.txt* For Vim version 9.1. Last change: 2023 Feb 21
*sign.txt* For Vim version 9.1. Last change: 2024 Jun 08
VIM REFERENCE MANUAL by Gordon Prieur
@@ -435,6 +435,9 @@ sign_define({list})
<
Can also be used as a |method|: >
GetSignList()->sign_define()
<
Return type: |Number|
sign_getdefined([{name}]) *sign_getdefined()*
Get a list of defined signs and their attributes.
@@ -473,6 +476,9 @@ sign_getdefined([{name}]) *sign_getdefined()*
<
Can also be used as a |method|: >
GetSignList()->sign_getdefined()
<
Return type: list<dict<string>> or list<any>
sign_getplaced([{buf} [, {dict}]]) *sign_getplaced()*
Return a list of signs placed in a buffer or all the buffers.
@@ -537,8 +543,10 @@ sign_getplaced([{buf} [, {dict}]]) *sign_getplaced()*
Can also be used as a |method|: >
GetBufname()->sign_getplaced()
<
*sign_jump()*
sign_jump({id}, {group}, {buf})
Return type: list<dict<any>>
sign_jump({id}, {group}, {buf}) *sign_jump()*
Open the buffer {buf} or jump to the window that contains
{buf} and position the cursor at sign {id} in group {group}.
This is similar to the |:sign-jump| command.
@@ -556,6 +564,9 @@ sign_jump({id}, {group}, {buf})
Can also be used as a |method|: >
GetSignid()->sign_jump()
<
Return type: |Number|
*sign_place()*
sign_place({id}, {group}, {name}, {buf} [, {dict}])
Place the sign defined as {name} at line {lnum} in file or
@@ -608,8 +619,10 @@ sign_place({id}, {group}, {name}, {buf} [, {dict}])
Can also be used as a |method|: >
GetSignid()->sign_place(group, name, expr)
<
*sign_placelist()*
sign_placelist({list})
Return type: |Number|
sign_placelist({list}) *sign_placelist()*
Place one or more signs. This is similar to the
|sign_place()| function. The {list} argument specifies the
List of signs to place. Each list item is a dict with the
@@ -669,6 +682,9 @@ sign_placelist({list})
<
Can also be used as a |method|: >
GetSignlist()->sign_placelist()
<
Return type: |Number|
sign_undefine([{name}]) *sign_undefine()*
sign_undefine({list})
@@ -695,6 +711,9 @@ sign_undefine({list})
<
Can also be used as a |method|: >
GetSignlist()->sign_undefine()
<
Return type: |Number|
sign_unplace({group} [, {dict}]) *sign_unplace()*
Remove a previously placed sign in one or more buffers. This
@@ -741,6 +760,9 @@ sign_unplace({group} [, {dict}]) *sign_unplace()*
< Can also be used as a |method|: >
GetSigngroup()->sign_unplace()
<
Return type: |Number|
sign_unplacelist({list}) *sign_unplacelist()*
Remove previously placed signs from one or more buffers. This
is similar to the |sign_unplace()| function.
@@ -772,5 +794,6 @@ sign_unplacelist({list}) *sign_unplacelist()*
Can also be used as a |method|: >
GetSignlist()->sign_unplacelist()
<
Return type: list<number> or list<any>
vim:tw=78:ts=8:noet:ft=help:norl:

View File

@@ -1,4 +1,4 @@
*spell.txt* For Vim version 9.1. Last change: 2023 May 25
*spell.txt* For Vim version 9.1. Last change: 2024 May 17
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -62,6 +62,17 @@ To search for the next misspelled word:
*[S*
[S Like "]S" but search backwards.
*]r*
]r Move to next "rare" word after the cursor.
A count before the command can be used to repeat.
'wrapscan' applies.
*[r*
[r Like "]r" but search backwards, find the "rare"
word before the cursor. Doesn't recognize words
split over two lines, thus may stop at words that are
not highlighted as rare.
To add words to your own word list:
@@ -903,7 +914,7 @@ right encoding.
*spell-AUTHOR* *spell-EMAIL* *spell-COPYRIGHT*
NAME Name of the language
VERSION 1.0.1 with fixes
HOME http://www.myhome.eu
HOME <URL>
AUTHOR John Doe
EMAIL john AT Doe DOT net
COPYRIGHT LGPL

View File

@@ -1,4 +1,4 @@
*starting.txt* For Vim version 9.1. Last change: 2024 Apr 21
*starting.txt* For Vim version 9.1. Last change: 2024 Jun 04
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -104,9 +104,9 @@ rvim vim -Z Like "vim", but in restricted mode (see |-Z|) *rvim*
rview vim -RZ Like "view", but in restricted mode. *rview*
rgvim vim -gZ Like "gvim", but in restricted mode. *rgvim*
rgview vim -RgZ Like "gview", but in restricted mode. *rgview*
evim vim -y Easy Vim: set 'insertmode' (see |-y|) *evim*
eview vim -yR Like "evim" in read-only mode *eview*
vimdiff vim -d Start in diff mode |diff-mode|
evim vim -y Easy Vim: set 'insertmode' (see |-y|) *evim*
eview vim -yR Like "evim" in read-only mode *eview*
vimdiff vim -d Start in diff mode |diff-mode|
gvimdiff vim -gd Start in diff mode |diff-mode|
Additional characters may follow, they are ignored. For example, you can have
@@ -428,8 +428,8 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
--not-a-term Tells Vim that the user knows that the input and/or output is
not connected to a terminal. This will avoid the warning and
the two second delay that would happen.
Also avoids the "Reading from stdin..." message.
Also avoids the "N files to edit" message.
Also avoids the "Reading from stdin..." as well as the
"N files to edit" message.
--gui-dialog-file {name} *--gui-dialog-file*
When using the GUI, instead of showing a dialog, write the
@@ -812,7 +812,7 @@ accordingly. Vim proceeds in this order:
Places for your personal initializations:
Unix $HOME/.vimrc, $HOME/.vim/vimrc
or $XDG_CONFIG_HOME/vim/vimrc
or $XDG_CONFIG_HOME/vim/vimrc
MS-Windows $HOME/_vimrc, $HOME/vimfiles/vimrc
or $VIM/_vimrc
Amiga s:.vimrc, home:.vimrc, home:vimfiles:vimrc
@@ -1119,8 +1119,8 @@ feature backward compatible). However, if you want to migrate to use
and `~/.vim/vimrc` file.
*xdg-runtime*
When the |xdg-vimrc| is used the |'runtimepath'| will be modified accordingly
to respect the |xdg-base-dir|: >
When the |xdg-vimrc| is used the 'runtimepath' and 'packpath' options will be
modified accordingly to respect the |xdg-base-dir|: >
"$XDG_CONFIG_HOME/vim,$VIMRUNTIME,/after,$XDG_CONFIG_HOME/vim/after"
<
@@ -1712,7 +1712,8 @@ most of the information will be restored).
|viminfo-file-name| above).
If [!] is given, then any information that is
already set (registers, marks, |v:oldfiles|, etc.)
will be overwritten.
will be overwritten. "E195" may be given, when
'viminfofile' has been set to "NONE".
*:wv* *:wviminfo* *E137* *E138* *E574* *E886* *E929*
:wv[iminfo][!] [file] Write to viminfo file [file] (default: see

View File

@@ -1,4 +1,4 @@
*syntax.txt* For Vim version 9.1. Last change: 2024 Apr 22
*syntax.txt* For Vim version 9.1. Last change: 2024 Jun 17
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -935,18 +935,19 @@ ASTRO *astro.vim* *ft-astro-syntax*
Configuration
The following variables control certain syntax highlighting features.
You can add them to your .vimrc: >
You can add them to your .vimrc.
To enable TypeScript and TSX for ".astro" files (default "disable"): >
let g:astro_typescript = "enable"
<
Enables TypeScript and TSX for ".astro" files. Default Value: "disable" >
To enable Stylus for ".astro" files (default "disable"): >
let g:astro_stylus = "enable"
<
Enables Stylus for ".astro" files. Default Value: "disable"
NOTE: You need to install an external plugin to support stylus in astro files.
ASPPERL and ASPVBS *ft-aspperl-syntax* *ft-aspvbs-syntax*
ASPPERL *ft-aspperl-syntax*
ASPVBS *ft-aspvbs-syntax*
*.asp and *.asa files could be either Perl or Visual Basic script. Since it's
hard to detect this you can set two global variables to tell Vim what you are
@@ -1482,9 +1483,9 @@ Two syntax highlighting files exist for Euphoria. One for Euphoria
version 3.1.1, which is the default syntax highlighting file, and one for
Euphoria version 4.0.5 or later.
Euphoria version 3.1.1 (http://www.rapideuphoria.com/) is still necessary
for developing applications for the DOS platform, which Euphoria version 4
(http://www.openeuphoria.org/) does not support.
Euphoria version 3.1.1 (http://www.rapideuphoria.com/ link seems dead) is
still necessary for developing applications for the DOS platform, which
Euphoria version 4 (http://www.openeuphoria.org/) does not support.
The following file extensions are auto-detected as Euphoria file type:
@@ -1541,7 +1542,8 @@ Elixir.
FLEXWIKI *flexwiki.vim* *ft-flexwiki-syntax*
FlexWiki is an ASP.NET-based wiki package available at http://www.flexwiki.com
FlexWiki is an ASP.NET-based wiki package which used to be available at
http://www.flexwiki.com
NOTE: This site currently doesn't work, on Wikipedia is mentioned that
development stopped in 2009.
@@ -1907,7 +1909,7 @@ Note: Syntax folding might slow down syntax highlighting significantly,
especially for large files.
HTML/OS (by Aestiva) *htmlos.vim* *ft-htmlos-syntax*
HTML/OS (BY AESTIVA) *htmlos.vim* *ft-htmlos-syntax*
The coloring scheme for HTML/OS works as follows:
@@ -2014,15 +2016,25 @@ Function names are not highlighted, as the way to find functions depends on
how you write Java code. The syntax file knows two possible ways to highlight
functions:
If you write function declarations that are always indented by either
a tab, 8 spaces or 2 spaces you may want to set >
If you write function declarations that are consistently indented by either
a tab, or a space . . . or eight space character(s), you may want to set >
:let java_highlight_functions="indent"
:let java_highlight_functions="indent1"
:let java_highlight_functions="indent2"
:let java_highlight_functions="indent3"
:let java_highlight_functions="indent4"
:let java_highlight_functions="indent5"
:let java_highlight_functions="indent6"
:let java_highlight_functions="indent7"
:let java_highlight_functions="indent8"
Note that in terms of 'shiftwidth', this is the leftmost step of indentation.
However, if you follow the Java guidelines about how functions and classes are
supposed to be named (with respect to upper and lowercase), use >
supposed to be named (with respect to upper- and lowercase) and there is any
amount of indentation, you may want to set >
:let java_highlight_functions="style"
If both options do not work for you, but you would still want function
declarations to be highlighted create your own definitions by changing the
definitions in java.vim or by creating your own java.vim which includes the
If neither setting does work for you, but you would still want function
declarations to be highlighted, create your own definitions by changing the
definitions in java.vim or by creating your own java.vim that includes the
original one and then adds the code to highlight functions.
In Java 1.1 the functions System.out.println() and System.err.println() should
@@ -2086,6 +2098,15 @@ To disable syntax highlighting of errors: >
let g:vim_json_warnings = 0
JQ *jq.vim* *jq_quote_highlight* *ft-jq-syntax*
To disable numbers having their own color add the following to your vimrc: >
hi link jqNumber Normal
If you want quotes to have different highlighting than strings >
let g:jq_quote_highlight = 1
LACE *lace.vim* *ft-lace-syntax*
Lace (Language for Assembly of Classes in Eiffel) is case insensitive, but the
@@ -3027,6 +3048,13 @@ To highlight R code in knitr chunk headers, add to your |vimrc|: >
let rrst_syn_hl_chunk = 1
RASI *rasi.vim* *ft-rasi-syntax*
Rasi stands for Rofi Advanced Style Information. It is used by the program
rofi to style the rendering of the search window. The language is heavily
inspired by CSS stylesheet. Files with the following extensions are recognized
as rasi files: .rasi.
READLINE *readline.vim* *ft-readline-syntax*
The readline library is primarily used by the BASH shell, which adds quite a
@@ -3743,6 +3771,19 @@ set "tf_minlines" to the value you desire. Example: >
:let tf_minlines = your choice
<
TYPESCRIPT *typescript.vim* *ft-typescript-syntax*
*typescriptreact.vim* *ft-typescriptreact-syntax*
There is one option to control the TypeScript syntax highlighting.
*g:typescript_host_keyword*
When this variable is set to 1, host-specific APIs such as `addEventListener`
are highlighted. To disable set it to zero in your .vimrc: >
let g:typescript_host_keyword = 0
<
The default value is 1.
VIM *vim.vim* *ft-vim-syntax*
*g:vimsyn_minlines* *g:vimsyn_maxlines*
There is a trade-off between more accurate syntax highlighting versus screen
@@ -3761,35 +3802,42 @@ The g:vimsyn_embed option allows users to select what, if any, types of
embedded script highlighting they wish to have. >
g:vimsyn_embed == 0 : don't support any embedded scripts
g:vimsyn_embed =~ 'l' : support embedded lua
g:vimsyn_embed =~ 'm' : support embedded mzscheme
g:vimsyn_embed =~ 'p' : support embedded perl
g:vimsyn_embed =~ 'P' : support embedded python
g:vimsyn_embed =~ 'r' : support embedded ruby
g:vimsyn_embed =~ 't' : support embedded tcl
g:vimsyn_embed =~ 'l' : support embedded Lua
g:vimsyn_embed =~ 'm' : support embedded MzScheme
g:vimsyn_embed =~ 'p' : support embedded Perl
g:vimsyn_embed =~ 'P' : support embedded Python
g:vimsyn_embed =~ 'r' : support embedded Ruby
g:vimsyn_embed =~ 't' : support embedded Tcl
<
By default, g:vimsyn_embed is a string supporting interpreters that your vim
itself supports. Concatenate multiple characters to support multiple types
of embedded interpreters; ie. g:vimsyn_embed= "mp" supports embedded mzscheme
and embedded perl.
itself supports. Concatenate the indicated characters to support multiple
types of embedded interpreters (e.g., g:vimsyn_embed = "mp" supports embedded
mzscheme and embedded perl).
*g:vimsyn_folding*
Some folding is now supported with syntax/vim.vim: >
Some folding is now supported with when 'foldmethod' is set to "syntax": >
g:vimsyn_folding == 0 or doesn't exist: no syntax-based folding
g:vimsyn_folding =~ 'a' : augroups
g:vimsyn_folding =~ 'f' : fold functions
g:vimsyn_folding =~ 'h' : fold heredocs
g:vimsyn_folding =~ 'H' : fold Vim9-script legacy headers
g:vimsyn_folding =~ 'l' : fold lua script
g:vimsyn_folding =~ 'm' : fold mzscheme script
g:vimsyn_folding =~ 'p' : fold perl script
g:vimsyn_folding =~ 'P' : fold python script
g:vimsyn_folding =~ 'r' : fold ruby script
g:vimsyn_folding =~ 't' : fold tcl script
let g:vimsyn_folding = 'acfhlmpPrt'
g:vimsyn_folding =~ 'l' : fold Lua script
g:vimsyn_folding =~ 'm' : fold MzScheme script
g:vimsyn_folding =~ 'p' : fold Perl script
g:vimsyn_folding =~ 'P' : fold Python script
g:vimsyn_folding =~ 'r' : fold Ruby script
g:vimsyn_folding =~ 't' : fold Tcl script
<
*g:vimsyn_noerror*
By default, g:vimsyn_folding is unset. Concatenate the indicated characters
to support folding of multiple syntax constructs (e.g.,
g:vimsyn_folding = "fh" will enable folding of both functions and heredocs).
*g:vimsyn_comment_strings*
By default, strings are highlighted inside comments. This may be disabled by
setting g:vimsyn_comment_strings to false.
*g:vimsyn_noerror*
Not all error highlighting that syntax/vim.vim does may be correct; Vim script
is a difficult language to highlight correctly. A way to suppress error
highlighting is to put the following line in your |vimrc|: >
@@ -4314,7 +4362,9 @@ Whether or not it is actually concealed depends on the value of the
'conceallevel' option. The 'concealcursor' option is used to decide whether
concealable items in the current line are displayed unconcealed to be able to
edit the line.
Another way to conceal text is with |matchadd()|.
Another way to conceal text is with |matchadd()|, but internally this works a
bit differently |syntax-vs-match|.
concealends *:syn-concealends*
@@ -4322,7 +4372,9 @@ When the "concealends" argument is given, the start and end matches of
the region, but not the contents of the region, are marked as concealable.
Whether or not they are actually concealed depends on the setting on the
'conceallevel' option. The ends of a region can only be concealed separately
in this way when they have their own highlighting via "matchgroup"
in this way when they have their own highlighting via "matchgroup". The
|synconcealed()| function can be used to retrieve information about conealed
items.
cchar *:syn-cchar*
*E844*
@@ -5632,6 +5684,10 @@ PmenuExtraSel Popup menu: Selected item "extra text".
PmenuSbar Popup menu: Scrollbar.
*hl-PmenuThumb*
PmenuThumb Popup menu: Thumb of the scrollbar.
*hl-PmenuMatch*
PmenuMatch Popup menu: Matched text in normal item.
*hl-PmenuMatchSel*
PmenuMatchSel Popup menu: Matched text in selected item.
*hl-PopupNotification*
PopupNotification
Popup window created with |popup_notification()|. If not

View File

@@ -1,4 +1,4 @@
*tabpage.txt* For Vim version 9.1. Last change: 2024 Mar 25
*tabpage.txt* For Vim version 9.1. Last change: 2024 May 15
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -225,8 +225,9 @@ gT Go to the previous tab page. Wraps around from the first one
*:tabl* *:tablast*
:tabl[ast] Go to the last tab page.
*g<Tab>* *CTRL-W_g<Tab>* *<C-Tab>*
g<Tab> Go to the last accessed tab page.
<C-Tab> *g<Tab>* *CTRL-W_g<Tab>* *<C-Tab>*
g<Tab>
CTRL-W g<Tab> Go to the last accessed tab page.
Other commands:
*:tabs*

View File

@@ -2015,6 +2015,7 @@ $quote eval.txt /*$quote*
52.3 usr_52.txt /*52.3*
52.4 usr_52.txt /*52.4*
52.5 usr_52.txt /*52.5*
52.6 usr_52.txt /*52.6*
8g8 various.txt /*8g8*
90.1 usr_90.txt /*90.1*
90.2 usr_90.txt /*90.2*
@@ -5876,6 +5877,7 @@ ZZ editing.txt /*ZZ*
[p change.txt /*[p*
[pattern] pattern.txt /*[pattern]*
[quotex] intro.txt /*[quotex]*
[r spell.txt /*[r*
[range] cmdline.txt /*[range]*
[s spell.txt /*[s*
[star motion.txt /*[star*
@@ -5904,6 +5906,7 @@ ZZ editing.txt /*ZZ*
]i tagsrch.txt /*]i*
]m motion.txt /*]m*
]p change.txt /*]p*
]r spell.txt /*]r*
]s spell.txt /*]s*
]star motion.txt /*]star*
]z fold.txt /*]z*
@@ -6515,6 +6518,7 @@ command-block vim9.txt /*command-block*
command-line-functions usr_41.txt /*command-line-functions*
command-line-window cmdline.txt /*command-line-window*
command-mode intro.txt /*command-mode*
comment-install usr_05.txt /*comment-install*
compatible-default starting.txt /*compatible-default*
compile-changes-5 version5.txt /*compile-changes-5*
compile-changes-6 version6.txt /*compile-changes-6*
@@ -6528,6 +6532,7 @@ compiler-dotnet quickfix.txt /*compiler-dotnet*
compiler-gcc quickfix.txt /*compiler-gcc*
compiler-gnat ft_ada.txt /*compiler-gnat*
compiler-hpada ft_ada.txt /*compiler-hpada*
compiler-javac quickfix.txt /*compiler-javac*
compiler-manx quickfix.txt /*compiler-manx*
compiler-pandoc quickfix.txt /*compiler-pandoc*
compiler-perl quickfix.txt /*compiler-perl*
@@ -7087,6 +7092,7 @@ file-searching editing.txt /*file-searching*
file-type filetype.txt /*file-type*
file-types filetype.txt /*file-types*
file_readable() builtin.txt /*file_readable()*
filecopy() builtin.txt /*filecopy()*
fileencoding-changed version6.txt /*fileencoding-changed*
filename-backslash cmdline.txt /*filename-backslash*
filename-modifiers cmdline.txt /*filename-modifiers*
@@ -7225,6 +7231,7 @@ ft-ada-syntax ft_ada.txt /*ft-ada-syntax*
ft-ada-variables ft_ada.txt /*ft-ada-variables*
ft-ant-syntax syntax.txt /*ft-ant-syntax*
ft-apache-syntax syntax.txt /*ft-apache-syntax*
ft-arduino-plugin filetype.txt /*ft-arduino-plugin*
ft-asciidoc-plugin filetype.txt /*ft-asciidoc-plugin*
ft-asm-syntax syntax.txt /*ft-asm-syntax*
ft-asm68k-syntax syntax.txt /*ft-asm68k-syntax*
@@ -7281,6 +7288,7 @@ ft-gitcommit-plugin filetype.txt /*ft-gitcommit-plugin*
ft-gprof-plugin filetype.txt /*ft-gprof-plugin*
ft-groff-syntax syntax.txt /*ft-groff-syntax*
ft-gsp-syntax syntax.txt /*ft-gsp-syntax*
ft-hare filetype.txt /*ft-hare*
ft-haskell-syntax syntax.txt /*ft-haskell-syntax*
ft-html-indent indent.txt /*ft-html-indent*
ft-html-omni insert.txt /*ft-html-omni*
@@ -7291,6 +7299,7 @@ ft-inform-syntax syntax.txt /*ft-inform-syntax*
ft-java-plugin filetype.txt /*ft-java-plugin*
ft-java-syntax syntax.txt /*ft-java-syntax*
ft-javascript-omni insert.txt /*ft-javascript-omni*
ft-jq-syntax syntax.txt /*ft-jq-syntax*
ft-json-plugin filetype.txt /*ft-json-plugin*
ft-json-syntax syntax.txt /*ft-json-syntax*
ft-ksh-syntax syntax.txt /*ft-ksh-syntax*
@@ -7353,6 +7362,7 @@ ft-qf-plugin filetype.txt /*ft-qf-plugin*
ft-quake-syntax syntax.txt /*ft-quake-syntax*
ft-r-indent indent.txt /*ft-r-indent*
ft-r-syntax syntax.txt /*ft-r-syntax*
ft-rasi-syntax syntax.txt /*ft-rasi-syntax*
ft-readline-syntax syntax.txt /*ft-readline-syntax*
ft-rego-syntax syntax.txt /*ft-rego-syntax*
ft-rexx-syntax syntax.txt /*ft-rexx-syntax*
@@ -7386,6 +7396,8 @@ ft-termcap-syntax syntax.txt /*ft-termcap-syntax*
ft-tex-plugin filetype.txt /*ft-tex-plugin*
ft-tex-syntax syntax.txt /*ft-tex-syntax*
ft-tf-syntax syntax.txt /*ft-tf-syntax*
ft-typescript-syntax syntax.txt /*ft-typescript-syntax*
ft-typescriptreact-syntax syntax.txt /*ft-typescriptreact-syntax*
ft-vb-syntax syntax.txt /*ft-vb-syntax*
ft-verilog-indent indent.txt /*ft-verilog-indent*
ft-vhdl-indent indent.txt /*ft-vhdl-indent*
@@ -7399,10 +7411,12 @@ ft-xml-syntax syntax.txt /*ft-xml-syntax*
ft-xpm-syntax syntax.txt /*ft-xpm-syntax*
ft-yaml-indent indent.txt /*ft-yaml-indent*
ft-yaml-syntax syntax.txt /*ft-yaml-syntax*
ft-zig-plugin filetype.txt /*ft-zig-plugin*
ft-zimbu-plugin filetype.txt /*ft-zimbu-plugin*
ft-zsh-syntax syntax.txt /*ft-zsh-syntax*
ft_ada.txt ft_ada.txt /*ft_ada.txt*
ft_context.txt ft_context.txt /*ft_context.txt*
ft_hare.txt ft_hare.txt /*ft_hare.txt*
ft_mp.txt ft_mp.txt /*ft_mp.txt*
ft_ps1.txt ft_ps1.txt /*ft_ps1.txt*
ft_raku.txt ft_raku.txt /*ft_raku.txt*
@@ -7488,7 +7502,9 @@ g:decada.Error_Format ft_ada.txt /*g:decada.Error_Format*
g:decada.Make() ft_ada.txt /*g:decada.Make()*
g:decada.Make_Command ft_ada.txt /*g:decada.Make_Command*
g:decada.Unit_Name() ft_ada.txt /*g:decada.Unit_Name()*
g:do_no_lazyload_menus gui.txt /*g:do_no_lazyload_menus*
g:filetype_csh syntax.txt /*g:filetype_csh*
g:filetype_haredoc ft_hare.txt /*g:filetype_haredoc*
g:filetype_r syntax.txt /*g:filetype_r*
g:ftplugin_rust_source_path ft_rust.txt /*g:ftplugin_rust_source_path*
g:gnat ft_ada.txt /*g:gnat*
@@ -7504,6 +7520,9 @@ g:gnat.Set_Project_File() ft_ada.txt /*g:gnat.Set_Project_File()*
g:gnat.Tags() ft_ada.txt /*g:gnat.Tags()*
g:gnat.Tags_Command ft_ada.txt /*g:gnat.Tags_Command*
g:gzip_exec pi_gzip.txt /*g:gzip_exec*
g:hare_recommended_style ft_hare.txt /*g:hare_recommended_style*
g:hare_space_error ft_hare.txt /*g:hare_space_error*
g:haredoc_search_depth ft_hare.txt /*g:haredoc_search_depth*
g:html_charset_override syntax.txt /*g:html_charset_override*
g:html_diff_one_file syntax.txt /*g:html_diff_one_file*
g:html_dynamic_folds syntax.txt /*g:html_dynamic_folds*
@@ -7628,7 +7647,6 @@ g:netrw_use_errorwindow pi_netrw.txt /*g:netrw_use_errorwindow*
g:netrw_use_noswf pi_netrw.txt /*g:netrw_use_noswf*
g:netrw_use_nt_rcp pi_netrw.txt /*g:netrw_use_nt_rcp*
g:netrw_usetab pi_netrw.txt /*g:netrw_usetab*
g:netrw_win95ftp pi_netrw.txt /*g:netrw_win95ftp*
g:netrw_winsize pi_netrw.txt /*g:netrw_winsize*
g:netrw_wiw pi_netrw.txt /*g:netrw_wiw*
g:netrw_xstrlen pi_netrw.txt /*g:netrw_xstrlen*
@@ -7686,17 +7704,21 @@ g:tex_stylish syntax.txt /*g:tex_stylish*
g:tex_subscripts syntax.txt /*g:tex_subscripts*
g:tex_superscripts syntax.txt /*g:tex_superscripts*
g:tex_verbspell syntax.txt /*g:tex_verbspell*
g:typescript_host_keyword syntax.txt /*g:typescript_host_keyword*
g:var eval.txt /*g:var*
g:vim_indent indent.txt /*g:vim_indent*
g:vim_indent_cont indent.txt /*g:vim_indent_cont*
g:vimball_home pi_vimball.txt /*g:vimball_home*
g:vimball_mkdir pi_vimball.txt /*g:vimball_mkdir*
g:vimsyn_comment_strings syntax.txt /*g:vimsyn_comment_strings*
g:vimsyn_embed syntax.txt /*g:vimsyn_embed*
g:vimsyn_folding syntax.txt /*g:vimsyn_folding*
g:vimsyn_maxlines syntax.txt /*g:vimsyn_maxlines*
g:vimsyn_minlines syntax.txt /*g:vimsyn_minlines*
g:vimsyn_noerror syntax.txt /*g:vimsyn_noerror*
g:yaml_schema syntax.txt /*g:yaml_schema*
g:zig_recommended_style filetype.txt /*g:zig_recommended_style*
g:zig_std_dir filetype.txt /*g:zig_std_dir*
g:zipPlugin_ext pi_zip.txt /*g:zipPlugin_ext*
g:zip_exec pi_zip.txt /*g:zip_exec*
g:zip_extractcmd pi_zip.txt /*g:zip_extractcmd*
@@ -7796,6 +7818,7 @@ getreg() builtin.txt /*getreg()*
getreginfo() builtin.txt /*getreginfo()*
getregion() builtin.txt /*getregion()*
getregion-notes builtin.txt /*getregion-notes*
getregionpos() builtin.txt /*getregionpos()*
getregtype() builtin.txt /*getregtype()*
getscript pi_getscript.txt /*getscript*
getscript-autoinstall pi_getscript.txt /*getscript-autoinstall*
@@ -7966,6 +7989,10 @@ haiku-user-settings-dir os_haiku.txt /*haiku-user-settings-dir*
haiku-vimdir os_haiku.txt /*haiku-vimdir*
hangul hangulin.txt /*hangul*
hangulin.txt hangulin.txt /*hangulin.txt*
hare ft_hare.txt /*hare*
hare-intro ft_hare.txt /*hare-intro*
hare-plugin ft_hare.txt /*hare-plugin*
hare-settings ft_hare.txt /*hare-settings*
has() builtin.txt /*has()*
has-patch builtin.txt /*has-patch*
has-python if_pyth.txt /*has-python*
@@ -8065,6 +8092,8 @@ hl-PmenuExtra syntax.txt /*hl-PmenuExtra*
hl-PmenuExtraSel syntax.txt /*hl-PmenuExtraSel*
hl-PmenuKind syntax.txt /*hl-PmenuKind*
hl-PmenuKindSel syntax.txt /*hl-PmenuKindSel*
hl-PmenuMatch syntax.txt /*hl-PmenuMatch*
hl-PmenuMatchSel syntax.txt /*hl-PmenuMatchSel*
hl-PmenuSbar syntax.txt /*hl-PmenuSbar*
hl-PmenuSel syntax.txt /*hl-PmenuSel*
hl-PmenuThumb syntax.txt /*hl-PmenuThumb*
@@ -8408,6 +8437,8 @@ job_start() channel.txt /*job_start()*
job_status() channel.txt /*job_status()*
job_stop() channel.txt /*job_stop()*
join() builtin.txt /*join()*
jq.vim syntax.txt /*jq.vim*
jq_quote_highlight syntax.txt /*jq_quote_highlight*
js_decode() builtin.txt /*js_decode()*
js_encode() builtin.txt /*js_encode()*
jsbterm-mouse options.txt /*jsbterm-mouse*
@@ -8688,6 +8719,7 @@ mbyte-utf8 mbyte.txt /*mbyte-utf8*
mbyte.txt mbyte.txt /*mbyte.txt*
menu-changes-5.4 version5.txt /*menu-changes-5.4*
menu-examples gui.txt /*menu-examples*
menu-lazyload gui.txt /*menu-lazyload*
menu-priority gui.txt /*menu-priority*
menu-separator gui.txt /*menu-separator*
menu-shortcut gui.txt /*menu-shortcut*
@@ -8832,11 +8864,11 @@ netrw-D pi_netrw.txt /*netrw-D*
netrw-I pi_netrw.txt /*netrw-I*
netrw-O pi_netrw.txt /*netrw-O*
netrw-P pi_netrw.txt /*netrw-P*
netrw-P17 pi_netrw.txt /*netrw-P17*
netrw-P18 pi_netrw.txt /*netrw-P18*
netrw-P19 pi_netrw.txt /*netrw-P19*
netrw-P20 pi_netrw.txt /*netrw-P20*
netrw-P21 pi_netrw.txt /*netrw-P21*
netrw-P22 pi_netrw.txt /*netrw-P22*
netrw-R pi_netrw.txt /*netrw-R*
netrw-S pi_netrw.txt /*netrw-S*
netrw-Tb pi_netrw.txt /*netrw-Tb*
@@ -8966,7 +8998,6 @@ netrw-p13 pi_netrw.txt /*netrw-p13*
netrw-p14 pi_netrw.txt /*netrw-p14*
netrw-p15 pi_netrw.txt /*netrw-p15*
netrw-p16 pi_netrw.txt /*netrw-p16*
netrw-p17 pi_netrw.txt /*netrw-p17*
netrw-p2 pi_netrw.txt /*netrw-p2*
netrw-p3 pi_netrw.txt /*netrw-p3*
netrw-p4 pi_netrw.txt /*netrw-p4*
@@ -9147,6 +9178,8 @@ no_buffers_menu gui.txt /*no_buffers_menu*
no_mail_maps filetype.txt /*no_mail_maps*
no_plugin_maps filetype.txt /*no_plugin_maps*
nocombine syntax.txt /*nocombine*
nohlsearch-auto pattern.txt /*nohlsearch-auto*
nohlsearch-install usr_05.txt /*nohlsearch-install*
non-greedy pattern.txt /*non-greedy*
non-zero-arg eval.txt /*non-zero-arg*
none-function_argument userfunc.txt /*none-function_argument*
@@ -9400,6 +9433,7 @@ popup_menu() popup.txt /*popup_menu()*
popup_menu-shortcut-example popup.txt /*popup_menu-shortcut-example*
popup_move() popup.txt /*popup_move()*
popup_notification() popup.txt /*popup_notification()*
popup_setbuf() popup.txt /*popup_setbuf()*
popup_setoptions() popup.txt /*popup_setoptions()*
popup_settext() popup.txt /*popup_settext()*
popup_show() popup.txt /*popup_show()*
@@ -9513,6 +9547,7 @@ python-eval if_pyth.txt /*python-eval*
python-examples if_pyth.txt /*python-examples*
python-fchdir if_pyth.txt /*python-fchdir*
python-find_module if_pyth.txt /*python-find_module*
python-find_spec if_pyth.txt /*python-find_spec*
python-foreach_rtp if_pyth.txt /*python-foreach_rtp*
python-input if_pyth.txt /*python-input*
python-options if_pyth.txt /*python-options*
@@ -9618,6 +9653,7 @@ raku-unicode ft_raku.txt /*raku-unicode*
rand() builtin.txt /*rand()*
random builtin.txt /*random*
range() builtin.txt /*range()*
rasi.vim syntax.txt /*rasi.vim*
raw-terminal-mode term.txt /*raw-terminal-mode*
rcp pi_netrw.txt /*rcp*
read-in-close-cb channel.txt /*read-in-close-cb*
@@ -10186,6 +10222,7 @@ syntax-latex syntax.txt /*syntax-latex*
syntax-loading syntax.txt /*syntax-loading*
syntax-printing usr_06.txt /*syntax-printing*
syntax-tex syntax.txt /*syntax-tex*
syntax-vs-match pattern.txt /*syntax-vs-match*
syntax.txt syntax.txt /*syntax.txt*
syntax_cmd syntax.txt /*syntax_cmd*
sys-file-list help.txt /*sys-file-list*
@@ -10664,7 +10701,9 @@ text-functions usr_41.txt /*text-functions*
text-objects motion.txt /*text-objects*
text-objects-changed version5.txt /*text-objects-changed*
text-prop-changes textprop.txt /*text-prop-changes*
text-prop-cleared textprop.txt /*text-prop-cleared*
text-prop-functions textprop.txt /*text-prop-functions*
text-prop-functions-details textprop.txt /*text-prop-functions-details*
text-prop-intro textprop.txt /*text-prop-intro*
text-properties textprop.txt /*text-properties*
text-property-functions usr_41.txt /*text-property-functions*
@@ -10722,6 +10761,8 @@ type-inference vim9.txt /*type-inference*
type-mistakes tips.txt /*type-mistakes*
typealias vim9class.txt /*typealias*
typename() builtin.txt /*typename()*
typescript.vim syntax.txt /*typescript.vim*
typescriptreact.vim syntax.txt /*typescriptreact.vim*
u undo.txt /*u*
uganda uganda.txt /*uganda*
uganda.txt uganda.txt /*uganda.txt*
@@ -11125,6 +11166,7 @@ vim-raku ft_raku.txt /*vim-raku*
vim-script-intro usr_41.txt /*vim-script-intro*
vim-script-library eval.txt /*vim-script-library*
vim-security intro.txt /*vim-security*
vim-shebang various.txt /*vim-shebang*
vim-use intro.txt /*vim-use*
vim-variable eval.txt /*vim-variable*
vim.b if_lua.txt /*vim.b*

View File

@@ -546,7 +546,8 @@ JTags For Java, in Java. It can be found at
http://www.fleiner.com/jtags/.
ptags.py For Python, in Python. Found in your Python source
directory at Tools/scripts/ptags.py.
ptags For Perl, in Perl. It can be found at
ptags For Perl, in Perl. It can be found at (link seems
dead):
http://www.eleves.ens.fr:8080/home/nthiery/Tags/.
gnatxref For Ada. See http://www.gnuada.org/. gnatxref is
part of the gnat package.

View File

@@ -1,4 +1,4 @@
*term.txt* For Vim version 9.1. Last change: 2024 Apr 14
*term.txt* For Vim version 9.1. Last change: 2024 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -382,8 +382,8 @@ The options are listed below. The associated termcap code is always equal to
the last two characters of the option name. Only one termcap code is
required: Cursor motion, 't_cm'.
The options 't_da', 't_db', 't_ms', 't_xs', 't_xn', 't_xo' represent flags in the
termcap. When the termcap flag is present, the option will be set to "y".
The options 't_da', 't_db', 't_ms', 't_xs', 't_xn', 't_xo' represent flags in
the termcap. When the termcap flag is present, the option will be set to "y".
But any non-empty string means that the flag is set. An empty string means
that the flag is not set. 't_CS' works like this too, but it isn't a termcap
flag.

View File

@@ -1,4 +1,4 @@
*terminal.txt* For Vim version 9.1. Last change: 2024 Mar 17
*terminal.txt* For Vim version 9.1. Last change: 2024 Jun 18
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -536,8 +536,10 @@ term_dumpdiff({filename}, {filename} [, {options}])
Can also be used as a |method|: >
GetFilename()->term_dumpdiff(otherfile)
<
*term_dumpload()*
term_dumpload({filename} [, {options}])
Return type: |Number|
term_dumpload({filename} [, {options}]) *term_dumpload()*
Open a new window displaying the contents of {filename}
The file must have been created with |term_dumpwrite()|.
Returns the buffer number or zero when it fails.
@@ -548,8 +550,10 @@ term_dumpload({filename} [, {options}])
Can also be used as a |method|: >
GetFilename()->term_dumpload()
<
*term_dumpwrite()*
term_dumpwrite({buf}, {filename} [, {options}])
Return type: |Number|
term_dumpwrite({buf}, {filename} [, {options}]) *term_dumpwrite()*
Dump the contents of the terminal screen of {buf} in the file
{filename}. This uses a format that can be used with
|term_dumpload()| and |term_dumpdiff()|.
@@ -565,6 +569,9 @@ term_dumpwrite({buf}, {filename} [, {options}])
Can also be used as a |method|, the base is used for the file
name: >
GetFilename()->term_dumpwrite(bufnr)
<
Return type: |Number|
term_getaltscreen({buf}) *term_getaltscreen()*
Returns 1 if the terminal of {buf} is using the alternate
@@ -573,6 +580,8 @@ term_getaltscreen({buf}) *term_getaltscreen()*
Can also be used as a |method|: >
GetBufnr()->term_getaltscreen()
<
Return type: |Number|
term_getansicolors({buf}) *term_getansicolors()*
@@ -587,8 +596,10 @@ term_getansicolors({buf}) *term_getansicolors()*
Can also be used as a |method|: >
GetBufnr()->term_getansicolors()
<
Return type: list<string> or list<any>
< {only available when compiled with GUI enabled and/or the
{only available when compiled with GUI enabled and/or the
|+termguicolors| feature}
term_getattr({attr}, {what}) *term_getattr()*
@@ -602,6 +613,8 @@ term_getattr({attr}, {what}) *term_getattr()*
Can also be used as a |method|: >
GetAttr()->term_getattr()
<
Return type: |Number|
term_getcursor({buf}) *term_getcursor()*
@@ -627,14 +640,20 @@ term_getcursor({buf}) *term_getcursor()*
Can also be used as a |method|: >
GetBufnr()->term_getcursor()
<
Return type: list<any>
term_getjob({buf}) *term_getjob()*
Get the Job associated with terminal window {buf}.
{buf} is used as with |term_getsize()|.
Returns |v:null| when there is no job.
Returns |v:null| when there is no job. In Vim9 script, return
|null_job| when there is no job.
Can also be used as a |method|: >
GetBufnr()->term_getjob()
<
Return type: |job|
term_getline({buf}, {row}) *term_getline()*
@@ -649,6 +668,8 @@ term_getline({buf}, {row}) *term_getline()*
Can also be used as a |method|: >
GetBufnr()->term_getline(row)
<
Return type: |String|
term_getscrolled({buf}) *term_getscrolled()*
@@ -664,6 +685,8 @@ term_getscrolled({buf}) *term_getscrolled()*
Can also be used as a |method|: >
GetBufnr()->term_getscrolled()
<
Return type: |Number|
term_getsize({buf}) *term_getsize()*
@@ -677,6 +700,8 @@ term_getsize({buf}) *term_getsize()*
Can also be used as a |method|: >
GetBufnr()->term_getsize()
<
Return type: list<number> or list<any>
term_getstatus({buf}) *term_getstatus()*
@@ -693,6 +718,8 @@ term_getstatus({buf}) *term_getstatus()*
Can also be used as a |method|: >
GetBufnr()->term_getstatus()
<
Return type: |String|
term_gettitle({buf}) *term_gettitle()*
@@ -705,6 +732,8 @@ term_gettitle({buf}) *term_gettitle()*
Can also be used as a |method|: >
GetBufnr()->term_gettitle()
<
Return type: |String|
term_gettty({buf} [, {input}]) *term_gettty()*
@@ -717,12 +746,16 @@ term_gettty({buf} [, {input}]) *term_gettty()*
Can also be used as a |method|: >
GetBufnr()->term_gettty()
<
Return type: |String|
term_list() *term_list()*
Return a list with the buffer numbers of all buffers for
terminal windows.
Return type: list<number> or list<any>
term_scrape({buf}, {row}) *term_scrape()*
Get the contents of {row} of terminal screen of {buf}.
@@ -744,6 +777,8 @@ term_scrape({buf}, {row}) *term_scrape()*
Can also be used as a |method|: >
GetBufnr()->term_scrape(row)
<
Return type: list<dict<any>> or list<any>
term_sendkeys({buf}, {keys}) *term_sendkeys()*
@@ -755,6 +790,8 @@ term_sendkeys({buf}, {keys}) *term_sendkeys()*
Can also be used as a |method|: >
GetBufnr()->term_sendkeys(keys)
<
Return type: |Number|
term_setansicolors({buf}, {colors}) *term_setansicolors()*
@@ -788,8 +825,10 @@ term_setansicolors({buf}, {colors}) *term_setansicolors()*
Can also be used as a |method|: >
GetBufnr()->term_setansicolors(colors)
<
Return type: |Number|
< {only available with GUI enabled and/or the |+termguicolors|
{only available with GUI enabled and/or the |+termguicolors|
feature}
@@ -804,6 +843,8 @@ term_setapi({buf}, {expr}) *term_setapi()*
When used as a method the base is used for {buf}: >
GetBufnr()->term_setapi({expr})
<
Return type: |Number|
term_setkill({buf}, {how}) *term_setkill()*
@@ -820,6 +861,8 @@ term_setkill({buf}, {how}) *term_setkill()*
Can also be used as a |method|: >
GetBufnr()->term_setkill(how)
<
Return type: |Number|
term_setrestore({buf}, {command}) *term_setrestore()*
@@ -833,6 +876,8 @@ term_setrestore({buf}, {command}) *term_setrestore()*
Can also be used as a |method|: >
GetBufnr()->term_setrestore(command)
<
Return type: |Number|
term_setsize({buf}, {rows}, {cols}) *term_setsize()* *E955*
@@ -847,6 +892,8 @@ term_setsize({buf}, {rows}, {cols}) *term_setsize()* *E955*
Can also be used as a |method|: >
GetBufnr()->term_setsize(rows, cols)
<
Return type: |Number|
term_start({cmd} [, {options}]) *term_start()*
@@ -922,6 +969,8 @@ term_start({cmd} [, {options}]) *term_start()*
Can also be used as a |method|: >
GetCommand()->term_start()
<
Return type: |Number|
term_wait({buf} [, {time}]) *term_wait()*
@@ -932,6 +981,8 @@ term_wait({buf} [, {time}]) *term_wait()*
Can also be used as a |method|: >
GetBufnr()->term_wait()
<
Return type: |Number|
==============================================================================
3. Terminal communication *terminal-communication*
@@ -1473,6 +1524,9 @@ If there is no g:termdebug_config you can use: >
let g:termdebug_use_prompt = 1
<
Mappings ~
The termdebug plugin enables a few default mappings. All those mappings
are reset to their original values once the termdebug session concludes.
*termdebug_map_K* *termdebug-mappings*
The K key is normally mapped to |:Evaluate| unless a buffer local (|:map-local|)
mapping to K already exists. If you do not want this use: >

View File

@@ -12,11 +12,11 @@ func Test_check_URLs()
else
let s:outdev = '/dev/null'
endif
" Restorer: For Windows users. If "curl" or "weget" is installed on the system
" but not in %PATH%, add the full routes for them to this environment variable.
" Restorer: For Windows users. If "curl" or "wget" is installed on the system
" but not in %PATH%, add the full path to them to %PATH% environment variable.
if executable('curl')
" Note: does not follow redirects!
let s:command1 = 'curl --silent --fail --output ' ..s:outdev.. ' --head '
let s:command1 = 'curl --silent --max-time 5 --fail --output ' ..s:outdev.. ' --head '
let s:command2 = ""
elseif executable('wget')
" Note: only allow a couple of redirects

View File

@@ -1,4 +1,4 @@
*testing.txt* For Vim version 9.1. Last change: 2024 Apr 07
*testing.txt* For Vim version 9.1. Last change: 2024 Jun 17
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -45,12 +45,16 @@ test_alloc_fail({id}, {countdown}, {repeat}) *test_alloc_fail()*
Can also be used as a |method|: >
GetAllocId()->test_alloc_fail()
<
Return type: |Number|
test_autochdir() *test_autochdir()*
Set a flag to enable the effect of 'autochdir' before Vim
startup has finished.
Return type: |Number|
test_feedinput({string}) *test_feedinput()*
Characters in {string} are queued for processing as if they
@@ -59,6 +63,8 @@ test_feedinput({string}) *test_feedinput()*
Can also be used as a |method|: >
GetText()->test_feedinput()
<
Return type: |Number|
test_garbagecollect_now() *test_garbagecollect_now()*
@@ -69,11 +75,13 @@ test_garbagecollect_now() *test_garbagecollect_now()*
This will not work when called from a :def function, because
variables on the stack will be freed.
Return type: |Number|
test_garbagecollect_soon() *test_garbagecollect_soon()*
Set the flag to call the garbagecollector as if in the main
loop. Only to be used in tests.
Return type: |Number|
test_getvalue({name}) *test_getvalue()*
Get the value of an internal variable. These values for
@@ -83,6 +91,8 @@ test_getvalue({name}) *test_getvalue()*
Can also be used as a |method|: >
GetName()->test_getvalue()
<
Return type: |Number|
*test_gui_event()*
test_gui_event({event}, {args})
Generate a GUI {event} with arguments {args} for testing Vim
@@ -212,6 +222,8 @@ test_gui_event({event}, {args})
Can also be used as a |method|: >
GetEvent()->test_gui_event({args})
<
Return type: |vim9-boolean|
test_ignore_error({expr}) *test_ignore_error()*
Ignore any error containing {expr}. A normal message is given
instead.
@@ -224,7 +236,8 @@ test_ignore_error({expr}) *test_ignore_error()*
Can also be used as a |method|: >
GetErrorText()->test_ignore_error()
<
Return type: |Number|
test_mswin_event({event}, {args}) *test_mswin_event()*
Generate a low-level MS-Windows {event} with arguments {args}
@@ -307,40 +320,49 @@ test_mswin_event({event}, {args}) *test_mswin_event()*
Can also be used as a |method|: >
GetEvent()->test_mswin_event({args})
<
Return type: |vim9-boolean|
test_null_blob() *test_null_blob()*
Return a |Blob| that is null. Only useful for testing.
Return type: |Blob|
test_null_channel() *test_null_channel()*
Return a |Channel| that is null. Only useful for testing.
{only available when compiled with the +channel feature}
Return type: |Channel|
test_null_dict() *test_null_dict()*
Return a |Dict| that is null. Only useful for testing.
Return type: dict<any>
test_null_function() *test_null_function()*
Return a |Funcref| that is null. Only useful for testing.
Return type: func(...): unknown
test_null_job() *test_null_job()*
Return a |Job| that is null. Only useful for testing.
{only available when compiled with the +job feature}
Return type: |job|
test_null_list() *test_null_list()*
Return a |List| that is null. Only useful for testing.
Return type: list<any>
test_null_partial() *test_null_partial()*
Return a |Partial| that is null. Only useful for testing.
Return type: func(...): unknown
test_null_string() *test_null_string()*
Return a |String| that is null. Only useful for testing.
Return type: |String|
test_option_not_set({name}) *test_option_not_set()*
Reset the flag that indicates option {name} was set. Thus it
@@ -353,7 +375,8 @@ test_option_not_set({name}) *test_option_not_set()*
Can also be used as a |method|: >
GetOptionName()->test_option_not_set()
<
Return type: |Number|
test_override({name}, {val}) *test_override()*
Overrides certain parts of Vim's internal processing to be able
@@ -365,29 +388,32 @@ test_override({name}, {val}) *test_override()*
{name} effect when {val} is non-zero ~
alloc_lines make a copy of every buffer line into allocated
memory, so that memory access errors can be found
by valgrind
by valgrind.
autoload `import autoload` will load the script right
away, not postponed until an item is used
char_avail disable the char_avail() function
away, not postponed until an item is used.
char_avail disable the char_avail() function.
defcompile all the |:def| functions in a sourced script are
compiled when defined. This is similar to using
the |:defcompile| command in a script.
nfa_fail makes the NFA regexp engine fail to force a
fallback to the old engine
fallback to the old engine.
no_query_mouse do not query the mouse position for "dec"
terminals
terminals.
no_wait_return set the "no_wait_return" flag. Not restored
with "ALL".
redraw disable the redrawing() function
redraw_flag ignore the RedrawingDisabled flag
starting reset the "starting" variable, see below
redraw disable the redrawing() function.
redraw_flag ignore the RedrawingDisabled flag.
starting reset the "starting" variable, see below.
term_props reset all terminal properties when the version
string is detected
string is detected.
ui_delay time in msec to use in ui_delay(); overrules a
wait time of up to 3 seconds for messages
unreachable no error for code after `:throw` and `:return`
uptime overrules sysinfo.uptime
wait time of up to 3 seconds for messages.
unreachable no error for code after `:throw` and `:return`.
uptime overrules sysinfo.uptime.
vterm_title setting the window title by a job running in a
terminal window
terminal window.
ALL clear all overrides, except alloc_lines ({val} is
not used)
not used).
"starting" is to be used when a test should behave like
startup was done. Since the tests are run by sourcing a
@@ -406,7 +432,8 @@ test_override({name}, {val}) *test_override()*
< Can also be used as a |method|: >
GetOverrideVal()-> test_override('starting')
<
Return type: |Number|
test_refcount({expr}) *test_refcount()*
Return the reference count of {expr}. When {expr} is of a
@@ -415,7 +442,8 @@ test_refcount({expr}) *test_refcount()*
Can also be used as a |method|: >
GetVarname()->test_refcount()
<
Return type: |Number|
test_setmouse({row}, {col}) *test_setmouse()*
Set the mouse position to be used for the next mouse action.
@@ -423,6 +451,8 @@ test_setmouse({row}, {col}) *test_setmouse()*
For example: >
call test_setmouse(4, 20)
call feedkeys("\<LeftMouse>", "xt")
<
Return type: |Number|
test_settime({expr}) *test_settime()*
@@ -436,20 +466,25 @@ test_settime({expr}) *test_settime()*
Can also be used as a |method|: >
GetTime()->test_settime()
<
Return type: |Number|
test_srand_seed([{seed}]) *test_srand_seed()*
When {seed} is given this sets the seed value used by
`srand()`. When omitted the test seed is removed.
Return type: |Number|
test_unknown() *test_unknown()*
Return a value with unknown type. Only useful for testing.
Return type: unknown
test_void() *test_void()*
Return a value with void type. Only useful for testing.
Return type: void
==============================================================================
3. Assert functions *assert-functions-details*
@@ -463,6 +498,8 @@ assert_beeps({cmd}) *assert_beeps()*
Can also be used as a |method|: >
GetCmd()->assert_beeps()
<
Return type: |Number|
*assert_equal()*
assert_equal({expected}, {actual} [, {msg}])
When {expected} and {actual} are not equal an error message is
@@ -483,8 +520,10 @@ assert_equal({expected}, {actual} [, {msg}])
Can also be used as a |method|, the base is passed as the
second argument: >
mylist->assert_equal([1, 2, 3])
<
Return type: |Number|
< *assert_equalfile()*
*assert_equalfile()*
assert_equalfile({fname-one}, {fname-two} [, {msg}])
When the files {fname-one} and {fname-two} do not contain
exactly the same text an error message is added to |v:errors|.
@@ -495,6 +534,8 @@ assert_equalfile({fname-one}, {fname-two} [, {msg}])
Can also be used as a |method|: >
GetLog()->assert_equalfile('expected.log')
<
Return type: |Number|
assert_exception({error} [, {msg}]) *assert_exception()*
When v:exception does not contain the string {error} an error
@@ -509,6 +550,8 @@ assert_exception({error} [, {msg}]) *assert_exception()*
call assert_exception('E492:')
endtry
<
Return type: |Number|
*assert_fails()*
assert_fails({cmd} [, {error} [, {msg} [, {lnum} [, {context}]]]])
Run {cmd} and add an error message to |v:errors| if it does
@@ -549,6 +592,8 @@ assert_fails({cmd} [, {error} [, {msg} [, {lnum} [, {context}]]]])
Can also be used as a |method|: >
GetCmd()->assert_fails('E99:')
<
Return type: |Number|
assert_false({actual} [, {msg}]) *assert_false()*
When {actual} is not false an error message is added to
@@ -562,6 +607,8 @@ assert_false({actual} [, {msg}]) *assert_false()*
Can also be used as a |method|: >
GetResult()->assert_false()
<
Return type: |Number|
assert_inrange({lower}, {upper}, {actual} [, {msg}]) *assert_inrange()*
This asserts number and |Float| values. When {actual} is lower
@@ -571,6 +618,8 @@ assert_inrange({lower}, {upper}, {actual} [, {msg}]) *assert_inrange()*
but got {actual}". When {msg} is present it is prefixed to
that.
Return type: |Number|
*assert_match()*
assert_match({pattern}, {actual} [, {msg}])
When {pattern} does not match {actual} an error message is
@@ -594,6 +643,8 @@ assert_match({pattern}, {actual} [, {msg}])
Can also be used as a |method|: >
getFile()->assert_match('foo.*')
<
Return type: |Number|
assert_nobeep({cmd}) *assert_nobeep()*
Run {cmd} and add an error message to |v:errors| if it
produces a beep or visual bell.
@@ -602,6 +653,8 @@ assert_nobeep({cmd}) *assert_nobeep()*
Can also be used as a |method|: >
GetCmd()->assert_nobeep()
<
Return type: |Number|
*assert_notequal()*
assert_notequal({expected}, {actual} [, {msg}])
The opposite of `assert_equal()`: add an error message to
@@ -610,8 +663,10 @@ assert_notequal({expected}, {actual} [, {msg}])
Can also be used as a |method|: >
mylist->assert_notequal([1, 2, 3])
<
Return type: |Number|
< *assert_notmatch()*
*assert_notmatch()*
assert_notmatch({pattern}, {actual} [, {msg}])
The opposite of `assert_match()`: add an error message to
|v:errors| when {pattern} matches {actual}.
@@ -619,7 +674,8 @@ assert_notmatch({pattern}, {actual} [, {msg}])
Can also be used as a |method|: >
getFile()->assert_notmatch('bar.*')
<
Return type: |Number|
assert_report({msg}) *assert_report()*
Report a test failure directly, using String {msg}.
@@ -627,6 +683,8 @@ assert_report({msg}) *assert_report()*
Can also be used as a |method|: >
GetMessage()->assert_report()
<
Return type: |Number|
assert_true({actual} [, {msg}]) *assert_true()*
@@ -640,5 +698,7 @@ assert_true({actual} [, {msg}]) *assert_true()*
Can also be used as a |method|: >
GetResult()->assert_true()
<
Return type: |Number|
vim:tw=78:ts=8:noet:ft=help:norl:

View File

@@ -1,4 +1,4 @@
*textprop.txt* For Vim version 9.1. Last change: 2023 Apr 23
*textprop.txt* For Vim version 9.1. Last change: 2024 Jun 08
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -118,6 +118,8 @@ prop_list({lnum} [, {props}]) text properties in {lnum}
prop_remove({props} [, {lnum} [, {lnum-end}]])
remove a text property
*text-prop-functions-details*
*prop_add()* *E965*
prop_add({lnum}, {col}, {props})
Attach a text property at position {lnum}, {col}. {col} is
@@ -234,8 +236,10 @@ prop_add({lnum}, {col}, {props})
Can also be used as a |method|: >
GetLnum()->prop_add(col, props)
<
*prop_add_list()*
prop_add_list({props}, [{item}, ...])
Return type: |Number|
prop_add_list({props}, [{item}, ...]) *prop_add_list()*
Similar to prop_add(), but attaches a text property at
multiple positions in a buffer.
@@ -284,8 +288,10 @@ prop_clear({lnum} [, {lnum-end} [, {props}]]) *prop_clear()*
Can also be used as a |method|: >
GetLnum()->prop_clear()
<
*prop_find()*
prop_find({props} [, {direction}])
Return type: |Number|
prop_find({props} [, {direction}]) *prop_find()*
Search for a text property as specified with {props}:
id property with this ID
type property with this type name
@@ -310,6 +316,8 @@ prop_find({props} [, {direction}])
as with prop_list(), and additionally an "lnum" entry.
If no match is found then an empty Dict is returned.
Return type: dict<any>
prop_list({lnum} [, {props}]) *prop_list()*
Returns a List with all the text properties in line {lnum}.
@@ -380,6 +388,8 @@ prop_list({lnum} [, {props}]) *prop_list()*
Can also be used as a |method|: >
GetLnum()->prop_list()
<
Return type: list<dict<any>> or list<any>
*prop_remove()* *E968* *E860*
prop_remove({props} [, {lnum} [, {lnum-end}]])
Remove a matching text property from line {lnum}. When
@@ -409,6 +419,8 @@ prop_remove({props} [, {lnum} [, {lnum-end}]])
Can also be used as a |method|: >
GetProps()->prop_remove()
<
Return type: |Number|
prop_type_add({name}, {props}) *prop_type_add()* *E969* *E970*
@@ -436,6 +448,9 @@ prop_type_add({name}, {props}) *prop_type_add()* *E969* *E970*
Can also be used as a |method|: >
GetPropName()->prop_type_add(props)
<
Return type: |Number|
prop_type_change({name}, {props}) *prop_type_change()*
Change properties of an existing text property type. If a
@@ -444,6 +459,9 @@ prop_type_change({name}, {props}) *prop_type_change()*
Can also be used as a |method|: >
GetPropName()->prop_type_change(props)
<
Return type: |Number|
prop_type_delete({name} [, {props}]) *prop_type_delete()*
Remove the text property type {name}. When text properties
@@ -458,6 +476,9 @@ prop_type_delete({name} [, {props}]) *prop_type_delete()*
Can also be used as a |method|: >
GetPropName()->prop_type_delete()
<
Return type: |Number|
prop_type_get({name} [, {props}]) *prop_type_get()*
Returns the properties of property type {name}. This is a
@@ -471,6 +492,9 @@ prop_type_get({name} [, {props}]) *prop_type_get()*
Can also be used as a |method|: >
GetPropName()->prop_type_get()
<
Return type: dict<any>
prop_type_list([{props}]) *prop_type_list()*
Returns a list with all property type names.
@@ -478,6 +502,8 @@ prop_type_list([{props}]) *prop_type_list()*
{props} can contain a "bufnr" item. When it is given, use
this buffer instead of the global property types.
Return type: list<string> or list<any>
==============================================================================
3. When text changes *text-prop-changes*
@@ -504,7 +530,7 @@ callback update spelling mistakes in the changed text. Vim will move the
properties below the changed text, so that they still highlight the same text,
thus you don't need to update these.
*text-prop-cleared*
Text property columns are not updated or copied: ~
- When setting the line with |setline()| or through an interface, such as Lua,

View File

@@ -1,4 +1,4 @@
*todo.txt* For Vim version 9.1. Last change: 2024 Mar 28
*todo.txt* For Vim version 9.1. Last change: 2024 Jun 03
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -82,8 +82,6 @@ With 'smoothscroll' set and "lastline" in 'display', moving the cursor to a
wrapping line that makes the display scroll up may scroll much more than
needed, thus jump-scrolling. (part of issue 12411)
Add filecopy() ? #12346
Implement foreach() PR #12166
Errors when running tests with valgrind:
@@ -1710,7 +1708,8 @@ Also Vundle: https://github.com/gmarik/vundle
Or minpac: https://github.com/k-takata/minpac, since it leverages the builtin
package feature.
Long message about this from ZyX, 2014 Mar 23. And following replies.
Also see http://vim-wiki.mawercer.de/wiki/topic/vim%20plugin%20managment.html
Also see (link seems dead):
http://vim-wiki.mawercer.de/wiki/topic/vim%20plugin%20managment.html
User view:
- Support multiple sources, basically any http:// URL. Or a central place that
will work for everybody (github? redirects from vim.org?).
@@ -2441,7 +2440,7 @@ Problem with 'ts' set to 9 and 'showbreak' to ">>>". (Matthew Winn, 2007 Oct
Would be more consistent when an existing tab is re-used. (Tony Mechelynck)
Using Aap to build Vim: add remarks about how to set personal preferences.
Example on http://www.calmar.ws/tmp/aap.html
Example on http://www.calmar.ws/tmp/aap.html (link seems dead)
When 'diffopt' has "context:0" a single deleted line causes two folds to merge
and mess up syncing. (Austin Jennings, 2008 Jan 31)
@@ -2472,7 +2471,7 @@ Asked about latest version: 0.77.1 is on www.vim.org.
More AmigaOS4 patches. (Peter Bengtsson, Nov 9)
Amiga patches with vbcc. (Adrien Destugues, 2010 Aug 30)
http://pulkomandy.ath.cx/drop/vim73_vbcc_amiga.diff
(link seems dead): http://pulkomandy.ath.cx/drop/vim73_vbcc_amiga.diff
Problem with compound words? (Bert, 2008 May 6)
No warning for when flags are defined after they are used in an affix.
@@ -2542,8 +2541,9 @@ Win32: Patch for cscope external command. (Mike Williams, 2007 Aug 7)
Win32: XPM support only works with path without spaces. Patch by Mathias
Michaelis, 2006 Jun 9. Another patch for more path names, 2006 May 31.
New version: http://members.tcnet.ch/michaelis/vim/patches.zip (also for other
patches by Mathias, see mail Feb 22)
New version (link seems dead):
http://members.tcnet.ch/michaelis/vim/patches.zip
(also for other patches by Mathias, see mail Feb 22)
Win32: compiling with normal features and OLE fails. Patch by Mathias
Michaelis, 2006 Jun 4.
@@ -3068,7 +3068,7 @@ Win32 GUI known bugs:
the screen.
8 The -P argument doesn't work very well with many MDI applications.
The last argument of CreateWindowEx() should be used, see MSDN docs.
Tutorial: http://win32assembly.online.fr/tut32.html
Tutorial (link seems dead): http://win32assembly.online.fr/tut32.html
6 Win32 GUI: With "-u NONE -U NONE" and doing "CTRL-W v" "CTRL-W o", the ":"
of ":only" is highlighted like the cursor. (Lipelis)
8 When 'encoding' is "utf-8", should use 'guifont' for both normal and wide
@@ -3470,7 +3470,7 @@ Macintosh:
way to avoid using the builtin termcap.
8 Xterm sends ^[[H for <Home> and ^[[F for <End> in some mode. Also
recognize these keys? Mostly useful for xterm simulators, like gnometerm.
See http://dickey.his.com/xterm/xterm.faq.html#xterm_pc_style.
See https://invisible-island.net/xterm/xterm.faq.html#xterm_pc_style
8 '[ and '] should be set to start/end of line when using a linewise operator
(e.g., ":w").
8 CTRL-A can't handle big "long" numbers, they become negative. Check for
@@ -3759,8 +3759,8 @@ Spell checking:
What does MAXNGRAMSUGS do?
Is COMPLEXPREFIXES necessary when we have flags for affixes?
- There is no Finnish spell checking file. For openoffice Voikko is now
used, which is based on Malaga: http://home.arcor.de/bjoern-beutel/malaga/
(Teemu Likonen)
used, which is based on Malaga (link seems dead):
http://home.arcor.de/bjoern-beutel/malaga/ (Teemu Likonen)
8 ":mkspell" still takes much too long in Hungarian dictionary from
hunspell. Only solution appears to be to postpone secondary suffixes.
8 Handle postponed prefix with COMPOUNDPERMITFLAG or COMPOUNDFORBIDFLAG.
@@ -3816,7 +3816,7 @@ Spell checking:
syntax items (to add @Spell).
Add ":syntax contains {pattern} add=@Spell" command? A bit like ":syn
cluster" but change the contains list directly for matching syntax items.
- References: MySpell library (in OpenOffice.org).
- References: MySpell library (in OpenOffice.org), (links seem dead):
http://spellchecker.mozdev.org/source.html
http://whiteboard.openoffice.org/source/browse/whiteboard/lingucomponent/source/spellcheck/myspell/
author: Kevin Hendricks <kevin.hendricks@sympatico.ca>
@@ -3974,8 +3974,9 @@ Multi-byte characters:
could be entered. E.g., for "f" command. But not in Normal mode. Sort
of opposite of 'langmap'. Use ":amap" command?
- When breaking a line, take properties of multibyte characters into
account. The "linebreak" program from Bruno Haible can do it:
ftp://ftp.ilog.fr/pub/Users/haible/gnu/linebreak-0.1.tar.gz
account. The "linebreak" program from Bruno Haible can do it, this
is now part of gnulib module unilbrk:
https://www.gnu.org/software/gnulib/MODULES.html
But it's very complicated...
- Problem with 'langmap' being used on the rhs of a mapping. (Nikolai
Weibull, 2008 May 14).
@@ -4239,7 +4240,6 @@ Vim script language:
base64enc() base 64 encoding
base64dec() base 64 decoding
attributes() return file protection flags "drwxrwxrwx"
filecopy(from, to) Copy a file
shorten(fname) shorten a file name, like home_replace()
perl(cmd) call Perl and return string
inputrl() like input() but right-to-left
@@ -4399,7 +4399,6 @@ Code size:
left out.
8 When compiled with a GUI-only version, the termcap entries for terminals
can be removed.
8 Can the check for libelf in configure.ac be removed?
Messages:
@@ -4773,10 +4772,10 @@ Omni completion:
ctags -f $allTagsFile --fields=+aiKmnsSz --language-force=C++ --C++-kinds=+cefgmnpsut-dlux -u $files
www.vim.org script 1213 (Java Development Environment) (Fuchuan Wang)
IComplete: http://www.vim.org/scripts/script.php?script_id=1265
and http://stud4.tuwien.ac.at/~e0125672/icomplete/
http://cedet.sourceforge.net/intellisense.shtml (for Emacs)
Ivan Villanueva has something for Java.
Emacs: http://www.xref-tech.com/xrefactory/more_c_completion.html
Emacs (link seems dead):
http://www.xref-tech.com/xrefactory/more_c_completion.html
Completion in .NET framework SharpDevelop: http://www.icsharpcode.net
- Pre-expand abbreviations, show which abbrevs would match?

View File

@@ -1,4 +1,4 @@
*usr_01.txt* For Vim version 9.1. Last change: 2023 May 12
*usr_01.txt* For Vim version 9.1. Last change: 2024 May 11
VIM USER MANUAL - by Bram Moolenaar
@@ -165,7 +165,7 @@ The Vim user manual and reference manual are Copyright (c) 1988 by Bram
Moolenaar. This material may be distributed only subject to the terms and
conditions set forth in the Open Publication License, v1.0 or later. The
latest version is presently available at:
http://www.opencontent.org/openpub/
https://opencontent.org/openpub/
People who contribute to the manuals must agree with the above copyright
notice.

View File

@@ -1,4 +1,4 @@
*usr_05.txt* For Vim version 9.1. Last change: 2023 Sep 12
*usr_05.txt* For Vim version 9.1. Last change: 2024 Jun 19
VIM USER MANUAL - by Bram Moolenaar
@@ -436,6 +436,34 @@ when Vim starts, add the following line to your vimrc file: >
After restarting your Vim, the plugin is active and you can read about it at: >
:h editorconfig.txt
Adding comment package *comment-install*
Load the plugin with this command: >
packadd comment
<
This way you can use the plugin with the default key bindings `gc` and similar
for commenting (which is a well-established mapping in the Vim community).
If you add this line to your vimrc file, then you need to restart Vim to have
the package loaded. Once the package is loaded, read about it at: >
:h comment.txt
Adding nohlsearch package *nohlsearch-install*
Load the plugin with this command: >
packadd nohlsearch
<
Automatically execute |:nohlsearch| after 'updatetime' or getting into |Insert| mode.
Thus assuming default updatetime, hlsearch would be suspended/turned off after
4 seconds of idle time.
To disable the effect of the plugin after it has been loaded: >
au! nohlsearch
<
More information about packages can be found here: |packages|.
==============================================================================

View File

@@ -1,4 +1,4 @@
*usr_21.txt* For Vim version 9.1. Last change: 2019 Apr 25
*usr_21.txt* For Vim version 9.1. Last change: 2024 May 17
VIM USER MANUAL - by Bram Moolenaar
@@ -207,6 +207,23 @@ You get the same list of files as with |:oldfiles|. If you want to edit
Type "2" and press <Enter> to edit the second file.
If you know that the filename contains a pattern, you can also |:filter| the
list of files: >
:filter /resume/ :browse oldfiles
<
Since there is only one single matching filename, Vim will directly edit that
file without prompting. If the filter matches several files, you'll get
prompted for the list of matching files instead: >
:filter! /resume/ browse oldfiles
< 1: ~/.viminfo ~
3: /tmp/draft ~
Type number and <Enter> (q or empty cancels): ~
Note: this time we filtered out all files NOT matching resume.
More info at |:oldfiles|, |v:oldfiles| and |c_#<|.

View File

@@ -1,4 +1,4 @@
*usr_30.txt* For Vim version 9.1. Last change: 2007 Nov 10
*usr_30.txt* For Vim version 9.1. Last change: 2024 Apr 29
VIM USER MANUAL - by Bram Moolenaar
@@ -246,7 +246,7 @@ code block the cursor is in: >
=a{
I you have really badly indented code, you can re-indent the whole file with:
If you have really badly indented code, you can re-indent the whole file with:
>
gg=G

View File

@@ -1,4 +1,4 @@
*usr_41.txt* For Vim version 9.1. Last change: 2024 Feb 25
*usr_41.txt* For Vim version 9.1. Last change: 2024 Jun 09
VIM USER MANUAL - by Bram Moolenaar
@@ -29,6 +29,22 @@ Table of contents: |usr_toc.txt|
==============================================================================
*41.1* Introduction *vim-script-intro* *script*
Let's start with some nomenclature. A Vim script is any file that Vim can
interpret and execute. This includes files written in Vim's scripting language
like for example .vim files or configuration files like .vimrc and .gvimrc.
These scripts may define functions, commands and settings that Vim uses to
customize and extend its behavior.
With a slight abuse of nomenclature, we will use "Vim script" to refer to the
Vim scripting language throughout this documentation. This shorthand helps to
streamline explanations and discussions about scripting with Vim.
A Vim plugin is a collection of one or more Vim scripts, along with additional
files like help documentation, configuration files, and other resources,
designed to add specific features or functionalities to Vim. A plugin can
provide new commands, enhance existing capabilities, and integrate external
tools or services into the Vim environment.
Your first experience with Vim scripts is the vimrc file. Vim reads it when
it starts up and executes the commands. You can set options to the values you
prefer, define mappings, select plugins and much more. You can use any colon
@@ -930,6 +946,7 @@ Cursor and mark position: *cursor-functions* *mark-functions*
Working with text in the current buffer: *text-functions*
getline() get a line or list of lines from the buffer
getregion() get a region of text from the buffer
getregionpos() get a list of positions for a region
setline() replace a line in the buffer
append() append line or list of lines in the buffer
indent() indent of a specific line
@@ -992,6 +1009,7 @@ System functions and manipulation of files:
readdir() get a List of file names in a directory
readdirex() get a List of file information in a directory
writefile() write a List of lines or Blob into a file
filecopy() copy a file {from} to {to}
Date and Time: *date-functions* *time-functions*
getftime() get last modification time of a file
@@ -1096,7 +1114,7 @@ Syntax and highlighting: *syntax-functions* *highlighting-functions*
synIDattr() get a specific attribute of a syntax ID
synIDtrans() get translated syntax ID
synstack() get list of syntax IDs at a specific position
synconcealed() get info about concealing
synconcealed() get info about (syntax) concealing
diff_hlID() get highlight ID for diff mode at a position
matchadd() define a pattern to highlight (a "match")
matchaddpos() define a list of positions to highlight
@@ -1301,6 +1319,7 @@ Popup window: *popup-window-functions*
popup_move() change the position and size of a popup
popup_setoptions() override options of a popup
popup_settext() replace the popup buffer contents
popup_setbuf() set the popup buffer
popup_close() close one popup
popup_clear() close all popups
popup_filter_menu() select from a list of items

View File

@@ -1,4 +1,4 @@
*usr_52.txt* For Vim version 9.1. Last change: 2022 Jun 04
*usr_52.txt* For Vim version 9.1. Last change: 2024 Jun 09
VIM USER MANUAL - by Bram Moolenaar
@@ -13,6 +13,7 @@ smaller parts.
|52.3| Autoloading without import/export
|52.4| Other mechanisms to use
|52.5| Using a Vim9 script from legacy script
|52.6| Vim9 script examples: comment package, highlight-yank plugin
Next chapter: |usr_90.txt| Installing Vim
Previous chapter: |usr_51.txt| Create a plugin
@@ -45,7 +46,7 @@ private function: >
def GetReply(nr: number): string
if nr == 42
return 'yes'
elseif nr = 22
elseif nr == 22
return 'maybe'
else
return 'no'
@@ -155,7 +156,7 @@ AUTOLOAD DIRECTORY
Another form is to use autoload with a script name that is not an absolute or
relative path: >
import autload "monthlib.vim"
import autoload "monthlib.vim"
This will search for the script "monthlib.vim" in the autoload directories of
'runtimepath'. With Unix one of the directories often is "~/.vim/autoload".
@@ -336,6 +337,46 @@ will have to make sure to use a unique name for these global items. Example: >
call g:NicePluginTest()
==============================================================================
*52.6* Vim9 script examples: comment package, highlight-yank plugin
COMMENT PACKAGE
Vim comes with a comment plugin, written in Vim9 script. |comment-install|
Have a look at the package located at $VIMRUNTIME/pack/dist/opt/comment/
HIGHLIGHT YANK PLUGIN
Here is an example for highlighting the yanked region. It makes use of the
|getregionpos()| function, available since Vim 9.1.0446.
Copy the following example into a new file and place it into your plugin directory
and it will be active next time you start Vim. |add-plugin|: >
vim9script
def HighlightedYank(hlgroup = 'IncSearch', duration = 300, in_visual = true)
if v:event.operator ==? 'y'
if !in_visual && visualmode() != null_string
visualmode(1)
return
endif
var [beg, end] = [getpos("'["), getpos("']")]
var type = v:event.regtype ?? 'v'
var pos = getregionpos(beg, end, {type: type})
var end_offset = (type == 'V' || v:event.inclusive) ? 1 : 0
var m = matchaddpos(hlgroup, pos->mapnew((_, v) => {
var col_beg = v[0][2] + v[0][3]
var col_end = v[1][2] + v[1][3] + end_offset
return [v[0][1], col_beg, col_end - col_beg]
}))
var winid = win_getid()
timer_start(duration, (_) => m->matchdelete(winid))
endif
enddef
autocmd TextYankPost * HighlightedYank()
<
==============================================================================
Next chapter: |usr_90.txt| Installing Vim

View File

@@ -1,4 +1,4 @@
*various.txt* For Vim version 9.1. Last change: 2023 Sep 27
*various.txt* For Vim version 9.1. Last change: 2024 Jun 17
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -138,12 +138,18 @@ g8 Print the hex values of the bytes used in the
:[range]# [count] [flags]
synonym for :number.
*:#!*
*:#!* *vim-shebang*
:#!{anything} Ignored, so that you can start a Vim script with: >
#!vim -S
echo "this is a Vim script"
quit
let mylogbook='$HOME/logbook.md'
exe $':e {mylogbook}'
$
put ='## ' .. strftime('%d. %b %Y')
norm! o
<
Make that script executable and run it to create a
new diary entry.
*:z* *E144*
:[range]z[+-^.=][count] Display several lines of text surrounding the line
specified with [range], or around the current line
@@ -608,6 +614,7 @@ N *+X11* Unix only: can restore window title |X11|
|:command| - filter by command name
|:files| - filter by file name
|:highlight| - filter by highlight group
|:history| - filter by history commands
|:jumps| - filter by file name
|:let| - filter by variable name
|:list| - filter whole line

View File

@@ -1,4 +1,4 @@
*version9.txt* For Vim version 9.1. Last change: 2024 Apr 14
*version9.txt* For Vim version 9.1. Last change: 2024 Jun 19
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -31694,7 +31694,7 @@ The release 9.1 is dedicated to Vim's Benevolent dictator for life
This release has hundreds of bug fixes, there are a few new features and there
are many minor improvements.
Vim9 classes
Vim9 classes ~
------------
Support for classes and objects in a Vim9 script are added. This is described
in |vim9-class|. The following features are supported:
@@ -31711,12 +31711,12 @@ in |vim9-class|. The following features are supported:
Support for creating a type alias for an existing type is added.
Virtual text
Virtual text ~
------------
Support for adding |virtual-text| to a buffer is added. This is useful for
language server features (e.g. inlay hints)
Smooth Scroll
Smooth Scroll ~
-------------
Support for scrolling text using screen lines instead of file lines is added.
Refer to the 'smoothscroll' option.
@@ -31726,7 +31726,8 @@ The EditorConfig (|editorconfig-install|) and the JSON formatting
OpenVMS x86_64 platform port: http://www.polarhome.com/vim/
Other improvements *new-other-9.1*
*new-other-9.1*
Other improvements ~
------------------
- Support for undercurl (|t_Ce|), double underline (|t_Us|), dotted underline
(|t_ds|) and dashed underline (|t_Ds|) termcap entries and
@@ -31783,7 +31784,8 @@ Other improvements *new-other-9.1*
- xxd: reversing a bit dump (xxd -r).
- xxd: customize the variable name used in the C include output (xxd -n).
Changed *changed-9.1*
*changed-9.1*
Changed ~
-------
- The features |++builtin_terms|, |+cmdline_info|, |+cmdwin|, |+file_in_path|,
|+float|, |+path_extra|, |+textobjects|, |+wildignore| and |+wildmenu| are
@@ -31815,7 +31817,8 @@ Changed *changed-9.1*
- Migrate to autoconf 2.71.
- Start using C99 feature (declare variable in for loops).
Added *added-9.1*
*added-9.1*
Added ~
-----
Various syntax, indent and other plugins were added.
@@ -32090,7 +32093,7 @@ Solution: Store the text column when drawing text.
Patch 9.0.0049
Problem: Csv and tsv files are not recognized.
Solution: Add patterns fo csv and tsv files. (Leandro Lourenci,
Solution: Add patterns for csv and tsv files. (Leandro Lourenci,
closes #10680)
Patch 9.0.0050
@@ -40641,7 +40644,7 @@ Solution: Use the class-related grow array for storing the
Patch 9.0.1989
Problem: Vim9: double error message given
Solution: Only give second error message, if ther
Solution: Only give second error message, if there
wasn't one given before
Patch 9.0.1990
@@ -40687,7 +40690,7 @@ Solution: Mention the defining class for variable access error message
Patch 9.0.2000
Problem: Vim9: use-after-free in deep call stack
Solution: Get the objct pointer from execution stack
Solution: Get the object pointer from execution stack
Patch 9.0.2001
Problem: Vim9: segfault with islocked()
@@ -41541,38 +41544,49 @@ VERSION 9.2 *version-9.2* *version9.2* *vim-9.2*
This section is about improvements made between version 9.1 and 9.2
and is a work in progress.
Support for Wayland UI.
Support for the XDG Desktop Specification |xdg-base-dir|
Vim9 script
Vim9 script ~
-----------
Add support for internal builtin functions with vim9 objects, see
|builtin-object-methods|
Enum support for Vim9 script |:enum|
Other improvements *new-other-9.2*
*new-other-9.2*
Other new features ~
------------------
The new plugins |comment-install| and |nohlsearch-install| are included.
Changed *changed-9.2*
Support for Wayland UI.
Support for the XDG Desktop Specification |xdg-base-dir|
Support highlighting the matched text for insert-mode completion and
command-line completion in |ins-completion-menu|.
*changed-9.2*
Changed~
-------
- use 'smoothscroll' logic for CTRL-F and CTRL-B for pagewise scrolling
- use 'smoothscroll' logic for CTRL-D and CTRL-U for half-pagewise scrolling
- the default for 'commentstring' contains whitespace padding to have
automatic comments look nicer |comment-install|
- 'completeopt' is now a |global-local| option.
Added *added-9.2*
*added-9.2*
Added ~
-----
Various syntax, indent and other plugins were added.
Functions: ~
|diff()| diff two Lists of strings
|filecopy()| copy a file {from} to {to}
|foreach()| apply function to List items
|getregion()| get a region of text from a buffer
|getregionpos()| get a list of positions for a region
|matchbufline()| all the matches of a pattern in a buffer
|matchstrlist()| all the matches of a pattern in a List of strings
|getregion()| get a region of text from a buffer
|popup_setbuf()| switch to a different buffer in a popup
Autocommands: ~
@@ -41585,44 +41599,53 @@ Autocommands: ~
Highlighting: ~
|hl-MsgArea| highlighting of the Command-line and messages area.
|hl-MsgArea| highlighting of the Command-line and messages area
|hl-PmenuMatch| Popup menu: highlighting of matched text
|hl-PmenuMatchSel| Popup menu: highlighting of matched text in selected
line
Commands: ~
|[r| and |]r| to move the cursor to previous/next rare word
Options: ~
'winfixbuf' Keep buffer focused in a window
't_xo' Terminal uses XON/XOFF handshaking (e.g. vt420).
't_xo' Terminal uses XON/XOFF handshaking (e.g. vt420)
't_CF' Support for alternate font highlighting terminal code
==============================================================================
INCOMPATIBLE CHANGES *incompatible-9.2*
INCOMPATIBLE CHANGES *incompatible-9.2*
Improved/Different MS-Windows mapping support
|w32-experimental-keycode-trans-strategy|
==============================================================================
IMPROVEMENTS *improvements-9.2*
IMPROVEMENTS *improvements-9.2*
Support for command-line completion of 'keymap' option values.
Support for compiling all the methods in a Vim9 class using |:defcompile|.
Support for alternate font highlighting using |t_CF| terminal code.
Support for Super key mappings in GTK using <D-Key>.
Improved visual highlighting.
Python3 support in OpenVMS.
Support for |fuzzy-matching| during |ins-completion| with the "fuzzy" and
"fuzzycollect" values of the 'completeopt' setting
==============================================================================
COMPILE TIME CHANGES *compile-changes-9.2*
COMPILE TIME CHANGES *compile-changes-9.2*
Support for building with Ruby 3.3.
Support for building Vim 9 in z/OS (MVS).
Clean-up old MS-Windows code.
==============================================================================
PATCHES *patches-9.2* *bug-fixes-9.2*
*patches-after-9.1*

View File

@@ -1,4 +1,4 @@
*vi_diff.txt* For Vim version 9.1. Last change: 2022 Apr 03
*vi_diff.txt* For Vim version 9.1. Last change: 2024 May 15
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -49,7 +49,7 @@ printed.
autoprint (ap) boolean (default on) *'autoprint'* *'ap'*
beautify (bf) boolean (default off) *'beautify'* *'bf'*
flash (fl) boolean (default ??) *'flash'* *'fl'*
flash (fl) boolean (default on) *'flash'* *'fl'*
graphic (gr) boolean (default off) *'graphic'* *'gr'*
hardtabs (ht) number (default 8) *'hardtabs'* *'ht'*
number of spaces that a <Tab> moves on the display

View File

@@ -1,4 +1,4 @@
.TH VIM 1 "13 giugno 2022"
.TH VIM 1 "4 giugno 2024"
.SH NOME
vim \- VI Migliorato, un editor di testi per programmatori
.SH SINTASSI
@@ -42,9 +42,9 @@ Vedere ":help vi_diff.txt" per un sommario delle differenze fra
.B Vim
e Vi.
.PP
Mentre usate
Mentre si usa
.B Vim
potete ricevere molto aiuto dal sistema di help online, col comando
si può ricevere molto aiuto dal sistema di help online, col comando
":help".
Vedere qui sotto la sezione AIUTO ONLINE.
.PP
@@ -68,18 +68,18 @@ nome_file ..
Una lista di nomi di file.
Il primo di questi sarà il file corrente, e verrà letto nel buffer.
Il cursore sarà posizionato sulla prima linea del buffer.
Potete arrivare agli altri file col comando ":next".
Si può arrivare agli altri file col comando ":next".
Per editare un file il cui nome inizia per "\-" premettete "\-\-" alla lista_file.
.TP
\-
Il file da editare è letto dallo "stdin"-
I comandi sono letti da "stderr", che dovrebbe essere un terminale [tty].
Il file da editare è letto dallo stdin.
I comandi sono letti da stderr, che dovrebbe essere un terminale [tty].
.TP
\-t {tag}
Il file da editare e la posizione iniziale del cursore dipendono da "tag",
una specie di "etichetta" a cui saltare.
{tag} viene cercata nel file "tags", e il file a essa associato diventa
quello corrente, ed il comando ad essa associato viene eseguito.
quello corrente, e il comando a essa associato viene eseguito.
Di solito si usa per programmi C, nel qual caso {tag} potrebbe essere un
nome di funzione.
L'effetto è che il file contenente quella funzione diventa il file corrente
@@ -97,10 +97,10 @@ Vedere ":help quickfix".
.PP
.B Vim
si comporta in modo diverso se invocato con nomi differenti (il programma
eseguibile "sottostante" può essere sempre lo stesso).
eseguibile "soggiacente" può essere sempre lo stesso).
.TP 10
vim
Modo Normal, comportamento normale.
Modo Normal, comportamento predefinito.
.TP
ex
Inizia in Modo "Ex".
@@ -108,7 +108,7 @@ Si pu
Si può invocare il Modo "Ex" anche con l'argomento "\-e".
.TP
view
Inizia in Modo Read-only (Sola Lettura). Non potete modificare i file.
Inizia in Modo Read-only (Sola Lettura). Non si possono modificare i file.
Si può invocare il Modo Read-only anche con l'argomento "\-R".
.TP
gvim gview
@@ -131,11 +131,11 @@ Le opzioni possono essere in un ordine qualsiasi, prima o dopo i nomi di file.
Opzioni che non hanno un argomento si possono specificare dietro a un solo "\-".
.TP 12
+[numero]
Per il primo file il cursore sarà posizionato sulla linea "numero".
Nel primo file il cursore sarà posizionato sulla linea "numero".
Se "numero" manca, il cursore sarà posizionato sull'ultima linea del file.
.TP
+/{espressione}
Per il primo file il cursore sarà posizionato alla
Nel primo file il cursore sarà posizionato alla
prima occorrenza di {espressione}.
Vedere ":help search\-pattern" per come specificare l'espressione.
.TP
@@ -166,7 +166,7 @@ Si possono usare fino a 10 di questi comandi, indipendentemente dai comandi "\-c
Se
.B Vim
è stato compilato con supporto ARABIC per editare file con orientamento
destra-sinistra e tastiera con mappatura araba, questa opzione inizia
destra-sinistra e tastiera con mappatura araba, quest'opzione inizia
.B Vim
in Modo Arabic, cioè impostando 'arabic'.
Altrimenti viene dato un messaggio di errore e
@@ -176,7 +176,7 @@ termina in modo anormale.
\-b
Modo Binary (binario).
Vengono impostate alcune opzioni che permettono di modificare un file
binario o un programma eseguibile.
binario o un file che contiene un programma eseguibile.
.TP
\-C
Compatibile. Imposta l'opzione 'compatible'.
@@ -186,12 +186,12 @@ ha quasi lo stesso comportamento di Vi, anche in presenza di un file .vimrc.
.TP
\-d
Inizia in Modo Diff [differenze].
Dovrebbero esserci come argomenti due o tre o quattro nomi di file.
Dovrebbero esserci come argomenti da due o otto nomi di file.
.B Vim
aprirà tutti i file evidenziando le differenze fra gli stessi.
Funziona come vimdiff(1).
.TP
\-d {dispositivo}
\-d {dispositivo}, \-dev {dispositivo}
Apre {dispositivo} per usarlo come terminale.
Solo per l'Amiga.
Esempio:
@@ -221,7 +221,7 @@ non
Opzione da usare quando
.B Vim
è eseguito da un programma che attende la fine della
sessione di edit (ad es. mail).
sessione di edit (p.es., mail).
Sull'Amiga i comandi ":sh" e ":!" non sono disponibili.
.TP
\-\-nofork
@@ -233,7 +233,7 @@ non crea [fork] una nuova finestra, indipendente dalla shell di invocazione.
Se
.B Vim
è stato compilato con supporto FKMAP per editare file con orientamento
destra-sinistra e tastiera con mappatura Farsi, questa opzione inizia
destra-sinistra e tastiera con mappatura Farsi, quest'opzione inizia
.B Vim
in Modo Farsi, cioè impostando 'fkmap' e 'rightleft'.
Altrimenti viene dato un messaggio di errore e
@@ -243,12 +243,19 @@ termina in modo anormale.
\-g
Se
.B Vim
è stato compilato con supporto GUI, questa opzione chiede di usarla.
è stato compilato con supporto GUI, quest'opzione chiede di usarla.
Se Vim è stato compilato senza supporto GUI viene dato un messaggio di errore e
.B Vim
termina in modo anormale.
.TP
\-h
\-\-gui-dialog-file {nome}
Quando si usa la GUI, invece di visualizzare un dialogo, il titolo e il
messaggio del dialogo sono scritti sul file {nome}. Il file viene creato o,
se già esistente, viene esteso. Quest'opzione serve solo in fase di test,
per evitare di restare bloccati da un dialogo che non si riesce a visualizzare.
Se si sta lavorando senza la GUI l'argomento viene ignorato.
.TP
\-\-help, \-h, \-?
Un po' di aiuto su opzioni e argomenti che si possono dare invocando Vim.
Subito dopo
.B Vim
@@ -258,7 +265,7 @@ esce.
Se
.B Vim
è stato compilato col supporto RIGHTLEFT per editare file con orientamento
destra-sinistra e tastiera con mappatura Ebraica, questa opzione inizia
destra-sinistra e tastiera con mappatura Ebraica, quest'opzione inizia
.B Vim
in Modo Ebraico, cioè impostando 'hkmap' e 'rightleft'.
Altrimenti viene dato un messaggio di errore e
@@ -266,7 +273,7 @@ Altrimenti viene dato un messaggio di errore e
termina in modo anormale.
.TP
\-i {viminfo}
Se è abilitato l'uso di un file viminfo, questa opzione indica il nome
Se è abilitato l'uso di un file viminfo, quest'opzione indica il nome
del file da usare invece di quello predefinito "~/.viminfo".
Si può anche evitare l'uso di un file .viminfo, dando come nome
"NONE".
@@ -292,13 +299,13 @@ opzioni possono essere abilitate in seguito, permettendo cos
Modo "Non-compatibile". Annulla l'opzione 'compatible'.
Così
.B Vim
va un po' meglio, ma è meno compatibile con Vi, anche in assenza di un
si comporta un po' meglio, ma è meno compatibile con Vi, anche in assenza di un
file .vimrc.
.TP
\-n
Inibisce l'uso di un file di swap.
Il recupero dopo una caduta di macchina diventa impossibile.
Utile per editare un file su un supporto molto lento (ad es. floppy).
Utile per editare un file su un supporto molto lento (p.es., floppy).
Il comando ":set uc=0" ha lo stesso effetto.
Per abilitare il recupero usare ":set uc=200".
.TP
@@ -306,16 +313,23 @@ Per abilitare il recupero usare ":set uc=200".
Diviene un Editor server per NetBeans. Vedere la documentazione per dettagli.
.TP
\-o[N]
Apri N finestre in orizzontale.
Se N manca, apri una finestra per ciascun file.
Apre N finestre in orizzontale.
Se N manca, apre una finestra per ciascun file.
.TP
\-O[N]
Apri N finestre, in verticale.
Se N manca, apri una finestra per ciascun file.
Apre N finestre, in verticale.
Se N manca, apre una finestra per ciascun file.
.TP
\-p[N]
Apri N pagine di linguette.
Quando N è omesso, apri una pagine di linguette per ciascun file.
Apre N pagine di linguette.
Quando N è omesso, apre una pagine di linguette per ciascun file.
.TP
\-P {titolo-padre}
Solo per GUI Win32: Specifica il titolo dell'applicazione-padre. Se possibile,
Vim viene eseguito in una finestra MDI (Multiple-Document Interface).
{titolo-padre} deve apparire nel titolo della applicazione-padre. Accertatevi
che sia sufficientemente esplicativo. Notare che l'implementazione è ancora
rudimentale. Non funziona per tutte le applicazioni, e il menù non funziona.
.TP
\-R
Modo Read-only (Sola Lettura).
@@ -324,7 +338,7 @@ Si pu
involontaria.
Se si vuole davvero riscrivere il file, occorre aggiungere un punto esclamativo
al comando Ex, come in ":w!".
L'opzione \-R implica anche l'opzione \-n (vedere sotto).
L'opzione \-R implica anche l'opzione \-n (vedere sopra).
L'opzione 'readonly' può essere annullata con ":set noro".
Vedere ":help 'readonly'".
.TP
@@ -342,10 +356,10 @@ Vedere ":help recovery".
Modo silenzioso. Solo quando invocato come "Ex" o quando l'opzione
"\-e" è stata data prima dell'opzione "\-s".
.TP
\-s {scriptin}
Lo script file {scriptin} è letto.
\-s {script_in_input}
Lo script file {script_in_input} è letto.
I caratteri nel file sono interpretati come se immessi da terminale.
Lo stesso risultato si può ottenere col comando ":source! {scriptin}".
Lo stesso risultato si può ottenere col comando ":source! {script_in_input}".
Se la fine del file di input viene raggiunta prima che Vim termini,
l'ulteriore input verrà preso dalla tastiera.
.TP
@@ -356,12 +370,22 @@ quale tipo di terminale state usando.
Utile solo se il terminale non viene riconosciuto correttamente da Vim.
Dovrebbe essere un terminale noto a
.B Vim
(internamente) o definito nei file termcap o terminfo.
(predefinito) o definito nei file termcap o terminfo.
.TP
\-\-not-a-term
Da usare per specifica a
.B Vim
che l'utente è consapevole che l'input e l'output non avvengono con un terminale
vero e proprio. Ciò serve per evitare il messaggio di avvertimento e il ritardo
di due secondi che avverrebbero in assenza di questo argomento.
.TP
\-\-ttyfail
Quando stdin o stdout non sono un terminale (tty) esci subito da Vim.
.TP
\-u {vimrc}
Usa i comandi nel file {vimrc} per inizializzazioni.
Tutte le altre inizializzazioni non sono eseguite.
Usate questa opzione per editare qualche file di tipo speciale.
Usare quest'opzione per editare qualche file di tipo speciale.
Si possono anche omettere tutte le inizializzazioni dando come nome "NONE".
Vedere ":help initialization" da vim per ulteriori dettagli.
.TP
@@ -376,21 +400,37 @@ Verboso. Vim manda messaggi relativi ai file di script che esegue
e quando legge o scrive un file viminfo. Il numero opzionale N è il valore
dell'opzione 'verbose'. Il valore predefinito è 10.
.TP
\-V[N]{nome_file}
Comw \-V imposta 'verbosefile' a {nome_file}. Il risultato è che i messaggi
non sono visualizzati, ma scritti sul file {nome_file}. Il {nome_file} non
deve iniziare con un numero.
.TP
\-\-log {nome_file}
Se
.B Vim
è stato compilato con le funzionalità eval e channel, inizia a registrare
e scrive le registrazioni a {nome_file}. Ciò equivale a chiamare
.I ch_logfile({nome_file}, 'ao')
in una fase molto iniziale dell'avvio del programma.
.TP
\-v
Inizia
.B Vim
in Modo Vi, come se il programma eseguibile fosse "vi". Questo ha
effetto solo quando Vim viene invocato con il nome "ex".
.TP
\-w {scriptout}
Ogni carattere immesso viene registrato nel file {scriptout},
\-w{numero}
Imposta l'opzione 'window' a {numero}.
.TP
\-w {script_file}
Ogni carattere immesso viene registrato nel file {script_file},
finché non si esce da
.B Vim.
Utile se si vuole creare uno script file da usare con "vim \-s" o
":source!".
Se il file {scriptout} esiste, quel che immettete viene aggiunto in fondo.
Se il file {script_file} esiste, il testo immesso viene aggiunto in fondo.
.TP
\-W {scriptout}
\-W {script_file}
Come \-w, ma uno script file esistente viene sovrascritto.
.TP
\-x
@@ -421,10 +461,7 @@ Richiede di non usare alcun file di personalizzazione (vimrc, plugin, etc.).
Utile per verificare se un problema persiste invocando Vim "originale".
.TP
\-\-echo\-wid
Solo per GUI GTK: Visualizza Window ID su "stdout".
.TP
\-\-help
Vim dà un messaggio ed esce, come con l'argomento "\-h".
Solo per GUI GTK: Visualizza ID di Window su stdout.
.TP
\-\-literal
Considera i nomi passati come argomenti letterali, senza espandere metacaratteri.
@@ -439,7 +476,7 @@ argomenti. Se non si trova un server viene dato un messaggio e i file sono
editati nel Vim corrente.
.TP
\-\-remote\-expr {expr}
Connettersi a un server Vim, valutare {expr} e stampare il risultato su "stdout".
Connettersi a un server Vim, valutare {expr} e stampare il risultato su stdout.
.TP
\-\-remote\-send {chiavi}
Connettersi a un server Vim e spedirgli {chiavi}.
@@ -467,7 +504,11 @@ Solo per GUI GTK: Usa meccanismo GtkPlug per eseguire gvim in un'altra finestra.
Durante la fase iniziale, scrive messaggi di log al file {nome_file}.
.TP
\-\-version
Stampa la versione di Vim ed esci.
Stampa la versione di Vim ed esce.
.TP
\-\-windowid {id}
Solo per GUI Win32: Chiede a gvim di provare a user l'ID di window {id}
come padre, in modo da venir eseguito all'interno della finestra specificata.
.SH AIUTO ONLINE
Battere ":help" in
.B Vim
@@ -481,53 +522,57 @@ Tutti i file di documentazione possono essere navigati cos
":help syntax.txt".
.SH FILE
.TP 15
/usr/local/lib/vim/doc/*.txt
/usr/local/share/vim/vim??/doc/*.txt
I file di documentazione di
.B Vim
.
Usare ":help doc\-file\-list" per avere la lista completa.
.br
.I vim??
è il numero di versione corto, p.es., vim91 per indicare
.B Vim 9.1
.TP
/usr/local/lib/vim/doc/tags
/usr/local/share/vim/vim??/doc/tags
Il file di tags usato per trovare informazioni nei file di documentazione.
.TP
/usr/local/lib/vim/syntax/syntax.vim
/usr/local/share/vim/vim??/syntax/syntax.vim
Inizializzazioni sintattiche a livello di sistema.
.TP
/usr/local/lib/vim/syntax/*.vim
/usr/local/share/vim/vim??/syntax/*.vim
File di colorazione sintattica per vari linguaggi.
.TP
/usr/local/lib/vim/vimrc
/usr/local/share/vim/vimrc
Inizializzazioni
.B Vim
a livello di sistema.
.TP
~/.vimrc
~/.vimrc, ~/.vim/vimrc, $XDG_CONFIG_HOME/vim/vimrc
Inizializzazioni personali di
.B Vim
.
(viene utilizzata la prima trovata).
.TP
/usr/local/lib/vim/gvimrc
/usr/local/share/vim/gvimrc
Inizializzazioni gvim a livello di sistema.
.TP
~/.gvimrc
Inizializzazioni personali di
~/.gvimrc, ~/.vim/gvimrc, $XDG_CONFIG_HOME/vim/gvimrc
Inizializzazioni personali di gvim (viene utilizzata la prima trovata).
.TP
/usr/local/lib/vim/optwin.vim
Script Vim usato dal comando ":options", da usare per visualizzare e impostare opzioni.
/usr/local/share/vim/optwin.vim
Script Vim usato dal comando ":options", maniera elegante per visualizzare e impostare opzioni.
.TP
/usr/local/lib/vim/menu.vim
/usr/local/share/vim/vim??/menu.vim
Inizializzazioni del menù gvim a livello di sistema.
.TP
/usr/local/lib/vim/bugreport.vim
/usr/local/share/vim/vim??/bugreport.vim
Script Vim per generare una segnalazione di errore. Vedere ":help bugs".
.TP
/usr/local/lib/vim/filetype.vim
/usr/local/share/vim/vim??/filetype.vim
Script Vim per determinare il tipo di un file dal suo nome. Vedere ":help 'filetype'".
.TP
/usr/local/lib/vim/scripts.vim
/usr/local/share/vim/vim??/scripts.vim
Script Vim per determinare il tipo di un file dal suo contenuto. Vedere ":help 'filetype'".
.TP
/usr/local/lib/vim/print/*.ps
/usr/local/share/vim/vim??/print/*.ps
File usati per stampa PostScript.
.PP
Per informazioni aggiornate [in inglese \- NdT] vedere la home page di Vim:
@@ -546,8 +591,8 @@ Vedere ":help credits" in
è basato su Stevie, scritto da: Tim Thompson,
Tony Andrews e G.R. (Fred) Walter.
In verità, poco o nulla è rimasto del loro codice originale.
.SH BACHI
Probabili.
.SH BUG
Probabilmente.
Vedere ":help todo" per una lista di problemi noti.
.PP
Si noti che un certo numero di comportamenti che possono essere considerati errori

View File

@@ -1,4 +1,4 @@
.TH VIM 1 "13 giugno 2022"
.TH VIM 1 "4 giugno 2024"
.SH NOME
vim \- VI Migliorato, un editor di testi per programmatori
.SH SINTASSI
@@ -42,9 +42,9 @@ Vedere ":help vi_diff.txt" per un sommario delle differenze fra
.B Vim
e Vi.
.PP
Mentre usate
Mentre si usa
.B Vim
potete ricevere molto aiuto dal sistema di help online, col comando
si può ricevere molto aiuto dal sistema di help online, col comando
":help".
Vedere qui sotto la sezione AIUTO ONLINE.
.PP
@@ -68,18 +68,18 @@ nome_file ..
Una lista di nomi di file.
Il primo di questi sarà il file corrente, e verrà letto nel buffer.
Il cursore sarà posizionato sulla prima linea del buffer.
Potete arrivare agli altri file col comando ":next".
Si può arrivare agli altri file col comando ":next".
Per editare un file il cui nome inizia per "\-" premettete "\-\-" alla lista_file.
.TP
\-
Il file da editare è letto dallo "stdin"-
I comandi sono letti da "stderr", che dovrebbe essere un terminale [tty].
Il file da editare è letto dallo stdin.
I comandi sono letti da stderr, che dovrebbe essere un terminale [tty].
.TP
\-t {tag}
Il file da editare e la posizione iniziale del cursore dipendono da "tag",
una specie di "etichetta" a cui saltare.
{tag} viene cercata nel file "tags", e il file a essa associato diventa
quello corrente, ed il comando ad essa associato viene eseguito.
quello corrente, e il comando a essa associato viene eseguito.
Di solito si usa per programmi C, nel qual caso {tag} potrebbe essere un
nome di funzione.
L'effetto è che il file contenente quella funzione diventa il file corrente
@@ -97,10 +97,10 @@ Vedere ":help quickfix".
.PP
.B Vim
si comporta in modo diverso se invocato con nomi differenti (il programma
eseguibile "sottostante" può essere sempre lo stesso).
eseguibile "soggiacente" può essere sempre lo stesso).
.TP 10
vim
Modo Normal, comportamento normale.
Modo Normal, comportamento predefinito.
.TP
ex
Inizia in Modo "Ex".
@@ -108,7 +108,7 @@ Si può passare in Modo Normal col comando ":vi".
Si può invocare il Modo "Ex" anche con l'argomento "\-e".
.TP
view
Inizia in Modo Read-only (Sola Lettura). Non potete modificare i file.
Inizia in Modo Read-only (Sola Lettura). Non si possono modificare i file.
Si può invocare il Modo Read-only anche con l'argomento "\-R".
.TP
gvim gview
@@ -131,11 +131,11 @@ Le opzioni possono essere in un ordine qualsiasi, prima o dopo i nomi di file.
Opzioni che non hanno un argomento si possono specificare dietro a un solo "\-".
.TP 12
+[numero]
Per il primo file il cursore sarà posizionato sulla linea "numero".
Nel primo file il cursore sarà posizionato sulla linea "numero".
Se "numero" manca, il cursore sarà posizionato sull'ultima linea del file.
.TP
+/{espressione}
Per il primo file il cursore sarà posizionato alla
Nel primo file il cursore sarà posizionato alla
prima occorrenza di {espressione}.
Vedere ":help search\-pattern" per come specificare l'espressione.
.TP
@@ -166,7 +166,7 @@ Si possono usare fino a 10 di questi comandi, indipendentemente dai comandi "\-c
Se
.B Vim
è stato compilato con supporto ARABIC per editare file con orientamento
destra-sinistra e tastiera con mappatura araba, questa opzione inizia
destra-sinistra e tastiera con mappatura araba, quest'opzione inizia
.B Vim
in Modo Arabic, cioè impostando 'arabic'.
Altrimenti viene dato un messaggio di errore e
@@ -176,7 +176,7 @@ termina in modo anormale.
\-b
Modo Binary (binario).
Vengono impostate alcune opzioni che permettono di modificare un file
binario o un programma eseguibile.
binario o un file che contiene un programma eseguibile.
.TP
\-C
Compatibile. Imposta l'opzione 'compatible'.
@@ -186,12 +186,12 @@ ha quasi lo stesso comportamento di Vi, anche in presenza di un file .vimrc.
.TP
\-d
Inizia in Modo Diff [differenze].
Dovrebbero esserci come argomenti due o tre o quattro nomi di file.
Dovrebbero esserci come argomenti da due o otto nomi di file.
.B Vim
aprirà tutti i file evidenziando le differenze fra gli stessi.
Funziona come vimdiff(1).
.TP
\-d {dispositivo}
\-d {dispositivo}, \-dev {dispositivo}
Apre {dispositivo} per usarlo come terminale.
Solo per l'Amiga.
Esempio:
@@ -221,7 +221,7 @@ non è fatto ripartire per aprire una nuova finestra.
Opzione da usare quando
.B Vim
è eseguito da un programma che attende la fine della
sessione di edit (ad es. mail).
sessione di edit (p.es., mail).
Sull'Amiga i comandi ":sh" e ":!" non sono disponibili.
.TP
\-\-nofork
@@ -233,7 +233,7 @@ non crea [fork] una nuova finestra, indipendente dalla shell di invocazione.
Se
.B Vim
è stato compilato con supporto FKMAP per editare file con orientamento
destra-sinistra e tastiera con mappatura Farsi, questa opzione inizia
destra-sinistra e tastiera con mappatura Farsi, quest'opzione inizia
.B Vim
in Modo Farsi, cioè impostando 'fkmap' e 'rightleft'.
Altrimenti viene dato un messaggio di errore e
@@ -243,12 +243,19 @@ termina in modo anormale.
\-g
Se
.B Vim
è stato compilato con supporto GUI, questa opzione chiede di usarla.
è stato compilato con supporto GUI, quest'opzione chiede di usarla.
Se Vim è stato compilato senza supporto GUI viene dato un messaggio di errore e
.B Vim
termina in modo anormale.
.TP
\-h
\-\-gui-dialog-file {nome}
Quando si usa la GUI, invece di visualizzare un dialogo, il titolo e il
messaggio del dialogo sono scritti sul file {nome}. Il file viene creato o,
se già esistente, viene esteso. Quest'opzione serve solo in fase di test,
per evitare di restare bloccati da un dialogo che non si riesce a visualizzare.
Se si sta lavorando senza la GUI l'argomento viene ignorato.
.TP
\-\-help, \-h, \-?
Un po' di aiuto su opzioni e argomenti che si possono dare invocando Vim.
Subito dopo
.B Vim
@@ -258,7 +265,7 @@ esce.
Se
.B Vim
è stato compilato col supporto RIGHTLEFT per editare file con orientamento
destra-sinistra e tastiera con mappatura Ebraica, questa opzione inizia
destra-sinistra e tastiera con mappatura Ebraica, quest'opzione inizia
.B Vim
in Modo Ebraico, cioè impostando 'hkmap' e 'rightleft'.
Altrimenti viene dato un messaggio di errore e
@@ -266,7 +273,7 @@ Altrimenti viene dato un messaggio di errore e
termina in modo anormale.
.TP
\-i {viminfo}
Se è abilitato l'uso di un file viminfo, questa opzione indica il nome
Se è abilitato l'uso di un file viminfo, quest'opzione indica il nome
del file da usare invece di quello predefinito "~/.viminfo".
Si può anche evitare l'uso di un file .viminfo, dando come nome
"NONE".
@@ -292,13 +299,13 @@ opzioni possono essere abilitate in seguito, permettendo così modifiche.
Modo "Non-compatibile". Annulla l'opzione 'compatible'.
Così
.B Vim
va un po' meglio, ma è meno compatibile con Vi, anche in assenza di un
si comporta un po' meglio, ma è meno compatibile con Vi, anche in assenza di un
file .vimrc.
.TP
\-n
Inibisce l'uso di un file di swap.
Il recupero dopo una caduta di macchina diventa impossibile.
Utile per editare un file su un supporto molto lento (ad es. floppy).
Utile per editare un file su un supporto molto lento (p.es., floppy).
Il comando ":set uc=0" ha lo stesso effetto.
Per abilitare il recupero usare ":set uc=200".
.TP
@@ -306,16 +313,23 @@ Per abilitare il recupero usare ":set uc=200".
Diviene un Editor server per NetBeans. Vedere la documentazione per dettagli.
.TP
\-o[N]
Apri N finestre in orizzontale.
Se N manca, apri una finestra per ciascun file.
Apre N finestre in orizzontale.
Se N manca, apre una finestra per ciascun file.
.TP
\-O[N]
Apri N finestre, in verticale.
Se N manca, apri una finestra per ciascun file.
Apre N finestre, in verticale.
Se N manca, apre una finestra per ciascun file.
.TP
\-p[N]
Apri N pagine di linguette.
Quando N è omesso, apri una pagine di linguette per ciascun file.
Apre N pagine di linguette.
Quando N è omesso, apre una pagine di linguette per ciascun file.
.TP
\-P {titolo-padre}
Solo per GUI Win32: Specifica il titolo dell'applicazione-padre. Se possibile,
Vim viene eseguito in una finestra MDI (Multiple-Document Interface).
{titolo-padre} deve apparire nel titolo della applicazione-padre. Accertatevi
che sia sufficientemente esplicativo. Notare che l'implementazione è ancora
rudimentale. Non funziona per tutte le applicazioni, e il menù non funziona.
.TP
\-R
Modo Read-only (Sola Lettura).
@@ -324,7 +338,7 @@ Si può ancora modificare il buffer, ma il file è protetto da una riscrittura
involontaria.
Se si vuole davvero riscrivere il file, occorre aggiungere un punto esclamativo
al comando Ex, come in ":w!".
L'opzione \-R implica anche l'opzione \-n (vedere sotto).
L'opzione \-R implica anche l'opzione \-n (vedere sopra).
L'opzione 'readonly' può essere annullata con ":set noro".
Vedere ":help 'readonly'".
.TP
@@ -342,10 +356,10 @@ Vedere ":help recovery".
Modo silenzioso. Solo quando invocato come "Ex" o quando l'opzione
"\-e" è stata data prima dell'opzione "\-s".
.TP
\-s {scriptin}
Lo script file {scriptin} è letto.
\-s {script_in_input}
Lo script file {script_in_input} è letto.
I caratteri nel file sono interpretati come se immessi da terminale.
Lo stesso risultato si può ottenere col comando ":source! {scriptin}".
Lo stesso risultato si può ottenere col comando ":source! {script_in_input}".
Se la fine del file di input viene raggiunta prima che Vim termini,
l'ulteriore input verrà preso dalla tastiera.
.TP
@@ -356,12 +370,22 @@ quale tipo di terminale state usando.
Utile solo se il terminale non viene riconosciuto correttamente da Vim.
Dovrebbe essere un terminale noto a
.B Vim
(internamente) o definito nei file termcap o terminfo.
(predefinito) o definito nei file termcap o terminfo.
.TP
\-\-not-a-term
Da usare per specifica a
.B Vim
che l'utente è consapevole che l'input e l'output non avvengono con un terminale
vero e proprio. Ciò serve per evitare il messaggio di avvertimento e il ritardo
di due secondi che avverrebbero in assenza di questo argomento.
.TP
\-\-ttyfail
Quando stdin o stdout non sono un terminale (tty) esci subito da Vim.
.TP
\-u {vimrc}
Usa i comandi nel file {vimrc} per inizializzazioni.
Tutte le altre inizializzazioni non sono eseguite.
Usate questa opzione per editare qualche file di tipo speciale.
Usare quest'opzione per editare qualche file di tipo speciale.
Si possono anche omettere tutte le inizializzazioni dando come nome "NONE".
Vedere ":help initialization" da vim per ulteriori dettagli.
.TP
@@ -376,21 +400,37 @@ Verboso. Vim manda messaggi relativi ai file di script che esegue
e quando legge o scrive un file viminfo. Il numero opzionale N è il valore
dell'opzione 'verbose'. Il valore predefinito è 10.
.TP
\-V[N]{nome_file}
Comw \-V imposta 'verbosefile' a {nome_file}. Il risultato è che i messaggi
non sono visualizzati, ma scritti sul file {nome_file}. Il {nome_file} non
deve iniziare con un numero.
.TP
\-\-log {nome_file}
Se
.B Vim
è stato compilato con le funzionalità eval e channel, inizia a registrare
e scrive le registrazioni a {nome_file}. Ciò equivale a chiamare
.I ch_logfile({nome_file}, 'ao')
in una fase molto iniziale dell'avvio del programma.
.TP
\-v
Inizia
.B Vim
in Modo Vi, come se il programma eseguibile fosse "vi". Questo ha
effetto solo quando Vim viene invocato con il nome "ex".
.TP
\-w {scriptout}
Ogni carattere immesso viene registrato nel file {scriptout},
\-w{numero}
Imposta l'opzione 'window' a {numero}.
.TP
\-w {script_file}
Ogni carattere immesso viene registrato nel file {script_file},
finché non si esce da
.B Vim.
Utile se si vuole creare uno script file da usare con "vim \-s" o
":source!".
Se il file {scriptout} esiste, quel che immettete viene aggiunto in fondo.
Se il file {script_file} esiste, il testo immesso viene aggiunto in fondo.
.TP
\-W {scriptout}
\-W {script_file}
Come \-w, ma uno script file esistente viene sovrascritto.
.TP
\-x
@@ -421,10 +461,7 @@ Richiede di non usare alcun file di personalizzazione (vimrc, plugin, etc.).
Utile per verificare se un problema persiste invocando Vim "originale".
.TP
\-\-echo\-wid
Solo per GUI GTK: Visualizza Window ID su "stdout".
.TP
\-\-help
Vim dà un messaggio ed esce, come con l'argomento "\-h".
Solo per GUI GTK: Visualizza ID di Window su stdout.
.TP
\-\-literal
Considera i nomi passati come argomenti letterali, senza espandere metacaratteri.
@@ -439,7 +476,7 @@ argomenti. Se non si trova un server viene dato un messaggio e i file sono
editati nel Vim corrente.
.TP
\-\-remote\-expr {expr}
Connettersi a un server Vim, valutare {expr} e stampare il risultato su "stdout".
Connettersi a un server Vim, valutare {expr} e stampare il risultato su stdout.
.TP
\-\-remote\-send {chiavi}
Connettersi a un server Vim e spedirgli {chiavi}.
@@ -467,7 +504,11 @@ Solo per GUI GTK: Usa meccanismo GtkPlug per eseguire gvim in un'altra finestra.
Durante la fase iniziale, scrive messaggi di log al file {nome_file}.
.TP
\-\-version
Stampa la versione di Vim ed esci.
Stampa la versione di Vim ed esce.
.TP
\-\-windowid {id}
Solo per GUI Win32: Chiede a gvim di provare a user l'ID di window {id}
come padre, in modo da venir eseguito all'interno della finestra specificata.
.SH AIUTO ONLINE
Battere ":help" in
.B Vim
@@ -481,53 +522,57 @@ Tutti i file di documentazione possono essere navigati così. Ad es.:
":help syntax.txt".
.SH FILE
.TP 15
/usr/local/lib/vim/doc/*.txt
/usr/local/share/vim/vim??/doc/*.txt
I file di documentazione di
.B Vim
.
Usare ":help doc\-file\-list" per avere la lista completa.
.br
.I vim??
è il numero di versione corto, p.es., vim91 per indicare
.B Vim 9.1
.TP
/usr/local/lib/vim/doc/tags
/usr/local/share/vim/vim??/doc/tags
Il file di tags usato per trovare informazioni nei file di documentazione.
.TP
/usr/local/lib/vim/syntax/syntax.vim
/usr/local/share/vim/vim??/syntax/syntax.vim
Inizializzazioni sintattiche a livello di sistema.
.TP
/usr/local/lib/vim/syntax/*.vim
/usr/local/share/vim/vim??/syntax/*.vim
File di colorazione sintattica per vari linguaggi.
.TP
/usr/local/lib/vim/vimrc
/usr/local/share/vim/vimrc
Inizializzazioni
.B Vim
a livello di sistema.
.TP
~/.vimrc
~/.vimrc, ~/.vim/vimrc, $XDG_CONFIG_HOME/vim/vimrc
Inizializzazioni personali di
.B Vim
.
(viene utilizzata la prima trovata).
.TP
/usr/local/lib/vim/gvimrc
/usr/local/share/vim/gvimrc
Inizializzazioni gvim a livello di sistema.
.TP
~/.gvimrc
Inizializzazioni personali di
~/.gvimrc, ~/.vim/gvimrc, $XDG_CONFIG_HOME/vim/gvimrc
Inizializzazioni personali di gvim (viene utilizzata la prima trovata).
.TP
/usr/local/lib/vim/optwin.vim
Script Vim usato dal comando ":options", da usare per visualizzare e impostare opzioni.
/usr/local/share/vim/optwin.vim
Script Vim usato dal comando ":options", maniera elegante per visualizzare e impostare opzioni.
.TP
/usr/local/lib/vim/menu.vim
/usr/local/share/vim/vim??/menu.vim
Inizializzazioni del menù gvim a livello di sistema.
.TP
/usr/local/lib/vim/bugreport.vim
/usr/local/share/vim/vim??/bugreport.vim
Script Vim per generare una segnalazione di errore. Vedere ":help bugs".
.TP
/usr/local/lib/vim/filetype.vim
/usr/local/share/vim/vim??/filetype.vim
Script Vim per determinare il tipo di un file dal suo nome. Vedere ":help 'filetype'".
.TP
/usr/local/lib/vim/scripts.vim
/usr/local/share/vim/vim??/scripts.vim
Script Vim per determinare il tipo di un file dal suo contenuto. Vedere ":help 'filetype'".
.TP
/usr/local/lib/vim/print/*.ps
/usr/local/share/vim/vim??/print/*.ps
File usati per stampa PostScript.
.PP
Per informazioni aggiornate [in inglese \- NdT] vedere la home page di Vim:
@@ -546,8 +591,8 @@ Vedere ":help credits" in
è basato su Stevie, scritto da: Tim Thompson,
Tony Andrews e G.R. (Fred) Walter.
In verità, poco o nulla è rimasto del loro codice originale.
.SH BACHI
Probabili.
.SH BUG
Probabilmente.
Vedere ":help todo" per una lista di problemi noti.
.PP
Si noti che un certo numero di comportamenti che possono essere considerati errori

View File

@@ -1,4 +1,4 @@
.TH VIM 1 "2021 Jun 13"
.TH VIM 1 "2024 Jun 04"
.SH NAME
vim \- Vi IMproved, a programmer's text editor
.SH SYNOPSIS
@@ -191,7 +191,7 @@ There should between two to eight file name arguments.
will open all the files and show differences between them.
Works like vimdiff(1).
.TP
\-d {device}
\-d {device}, \-dev {device}
Open {device} for use as a terminal.
Only on the Amiga.
Example:
@@ -248,7 +248,13 @@ If no GUI support was compiled in, an error message is given and
.B Vim
aborts.
.TP
\-h
\-\-gui-dialog-file {name}
When using the GUI, instead of showing a dialog, write the title and message of
the dialog to file {name}. The file is created or appended to. Only useful
for testing, to avoid that the test gets stuck on a dialog that can't be seen.
Without the GUI the argument is ignored.
.TP
\-\-help, \-h, \-?
Give a bit of help about the command line arguments and options.
After this
.B Vim
@@ -317,6 +323,13 @@ When N is omitted, open one window for each file.
Open N tab pages.
When N is omitted, open one tab page for each file.
.TP
\-P {parent-title}
Win32 GUI only: Specify the title of the parent application. When possible, Vim
will run in an MDI window inside the application. {parent-title} must appear in
the window title of the parent application. Make sure that it is specific
enough. Note that the implementation is still primitive. It won't work with
all applications and the menu doesn't work.
.TP
\-R
Read-only mode.
The 'readonly' option will be set.
@@ -358,6 +371,16 @@ Should be a terminal known to
.B Vim
(builtin) or defined in the termcap or terminfo file.
.TP
\-\-not-a-term
Tells
.B Vim
that the user knows that the input and/or output is not connected to a
terminal. This will avoid the warning and the two second delay that would
happen.
.TP
\-\-ttyfail
When stdin or stdout is not a a terminal (tty) then exit right away.
.TP
\-u {vimrc}
Use the commands in the file {vimrc} for initializations.
All the other initializations are skipped.
@@ -376,12 +399,28 @@ Verbose. Give messages about which files are sourced and for reading and
writing a viminfo file. The optional number N is the value for 'verbose'.
Default is 10.
.TP
\-V[N]{filename}
Like \-V and set 'verbosefile' to {filename}. The result is that messages are
not displayed but written to the file {filename}. {filename} must not start
with a digit.
.TP
\-\-log {filename}
If
.B Vim
has been compiled with eval and channel feature, start logging and write
entries to {filename}. This works like calling
.I ch_logfile({filename}, 'ao')
very early during startup.
.TP
\-v
Start
.B Vim
in Vi mode, just like the executable was called "vi". This only has effect
when the executable is called "ex".
.TP
\-w{number}
Set the 'window' option to {number}.
.TP
\-w {scriptout}
All the characters that you type are recorded in the file
{scriptout}, until you exit
@@ -423,9 +462,6 @@ a problem reproduces with a clean Vim setup.
\-\-echo\-wid
GTK GUI only: Echo the Window ID on stdout.
.TP
\-\-help
Give a help message and exit, just like "\-h".
.TP
\-\-literal
Take file name arguments literally, do not expand wildcards. This has no
effect on Unix where the shell expands wildcards.
@@ -468,6 +504,10 @@ During startup write timing messages to the file {fname}.
.TP
\-\-version
Print version information and exit.
.TP
\-\-windowid {id}
Win32 GUI only: Make gvim try to use the window {id} as a parent, so that it
runs inside that window.
.SH ON-LINE HELP
Type ":help" in
.B Vim
@@ -481,53 +521,57 @@ All documentation files can be viewed in this way, for example
":help syntax.txt".
.SH FILES
.TP 15
/usr/local/lib/vim/doc/*.txt
/usr/local/share/vim/vim??/doc/*.txt
The
.B Vim
documentation files.
Use ":help doc\-file\-list" to get the complete list.
.br
.I vim??
is short version number, like vim91 for
.B Vim 9.1
.TP
/usr/local/lib/vim/doc/tags
/usr/local/share/vim/vim??/doc/tags
The tags file used for finding information in the documentation files.
.TP
/usr/local/lib/vim/syntax/syntax.vim
/usr/local/share/vim/vim??/syntax/syntax.vim
System wide syntax initializations.
.TP
/usr/local/lib/vim/syntax/*.vim
/usr/local/share/vim/vim??/syntax/*.vim
Syntax files for various languages.
.TP
/usr/local/lib/vim/vimrc
/usr/local/share/vim/vimrc
System wide
.B Vim
initializations.
.TP
~/.vimrc
~/.vimrc, ~/.vim/vimrc, $XDG_CONFIG_HOME/vim/vimrc
Your personal
.B Vim
initializations.
initializations (first one found is used).
.TP
/usr/local/lib/vim/gvimrc
/usr/local/share/vim/gvimrc
System wide gvim initializations.
.TP
~/.gvimrc
Your personal gvim initializations.
~/.gvimrc, ~/.vim/gvimrc, $XDG_CONFIG_HOME/vim/gvimrc
Your personal gvim initializations (first one found is used).
.TP
/usr/local/lib/vim/optwin.vim
/usr/local/share/vim/vim??/optwin.vim
Script used for the ":options" command, a nice way to view and set options.
.TP
/usr/local/lib/vim/menu.vim
/usr/local/share/vim/vim??/menu.vim
System wide menu initializations for gvim.
.TP
/usr/local/lib/vim/bugreport.vim
/usr/local/share/vim/vim??/bugreport.vim
Script to generate a bug report. See ":help bugs".
.TP
/usr/local/lib/vim/filetype.vim
/usr/local/share/vim/vim??/filetype.vim
Script to detect the type of a file by its name. See ":help 'filetype'".
.TP
/usr/local/lib/vim/scripts.vim
/usr/local/share/vim/vim??/scripts.vim
Script to detect the type of a file by its contents. See ":help 'filetype'".
.TP
/usr/local/lib/vim/print/*.ps
/usr/local/share/vim/vim??/print/*.ps
Files used for PostScript printing.
.PP
For recent info read the VIM home page:

View File

@@ -139,7 +139,8 @@ OPTIONS
name arguments. Vim will open all the files and show dif
ferences between them. Works like vimdiff(1).
-d {device} Open {device} for use as a terminal. Only on the Amiga.
-d {device}, -dev {device}
Open {device} for use as a terminal. Only on the Amiga.
Example: "-d con:20/30/600/150".
-D Debugging. Go to debugging mode when executing the first
@@ -171,7 +172,15 @@ OPTIONS
ables the GUI. If no GUI support was compiled in, an error
message is given and Vim aborts.
-h Give a bit of help about the command line arguments and op
--gui-dialog-file {name}
When using the GUI, instead of showing a dialog, write the
title and message of the dialog to file {name}. The file
is created or appended to. Only useful for testing, to
avoid that the test gets stuck on a dialog that can't be
seen. Without the GUI the argument is ignored.
--help, -h, -?
Give a bit of help about the command line arguments and op
tions. After this Vim exits.
-H If Vim has been compiled with RIGHTLEFT support for editing
@@ -220,6 +229,15 @@ OPTIONS
-p[N] Open N tab pages. When N is omitted, open one tab page for
each file.
-P {parent-title}
Win32 GUI only: Specify the title of the parent applica
tion. When possible, Vim will run in an MDI window inside
the application. {parent-title} must appear in the window
title of the parent application. Make sure that it is spe
cific enough. Note that the implementation is still primi
tive. It won't work with all applications and the menu
doesn't work.
-R Read-only mode. The 'readonly' option will be set. You
can still edit the buffer, but will be prevented from acci
dentally overwriting a file. If you do want to overwrite a
@@ -252,26 +270,47 @@ OPTIONS
terminal known to Vim (builtin) or defined in the termcap
or terminfo file.
-u {vimrc} Use the commands in the file {vimrc} for initializations.
All the other initializations are skipped. Use this to
edit a special kind of files. It can also be used to skip
all initializations by giving the name "NONE". See ":help
--not-a-term
Tells Vim that the user knows that the input and/or output
is not connected to a terminal. This will avoid the warn
ing and the two second delay that would happen.
--ttyfail When stdin or stdout is not a a terminal (tty) then exit
right away.
-u {vimrc} Use the commands in the file {vimrc} for initializations.
All the other initializations are skipped. Use this to
edit a special kind of files. It can also be used to skip
all initializations by giving the name "NONE". See ":help
initialization" within vim for more details.
-U {gvimrc} Use the commands in the file {gvimrc} for GUI initializa
tions. All the other GUI initializations are skipped. It
can also be used to skip all GUI initializations by giving
the name "NONE". See ":help gui-init" within vim for more
-U {gvimrc} Use the commands in the file {gvimrc} for GUI initializa
tions. All the other GUI initializations are skipped. It
can also be used to skip all GUI initializations by giving
the name "NONE". See ":help gui-init" within vim for more
details.
-V[N] Verbose. Give messages about which files are sourced and
for reading and writing a viminfo file. The optional num
-V[N] Verbose. Give messages about which files are sourced and
for reading and writing a viminfo file. The optional num
ber N is the value for 'verbose'. Default is 10.
-V[N]{filename}
Like -V and set 'verbosefile' to {filename}. The result is
that messages are not displayed but written to the file
{filename}. {filename} must not start with a digit.
--log {filename}
If Vim has been compiled with eval and channel feature,
start logging and write entries to {filename}. This works
like calling ch_logfile({filename}, 'ao') very early during
startup.
-v Start Vim in Vi mode, just like the executable was called
"vi". This only has effect when the executable is called
"ex".
-w{number} Set the 'window' option to {number}.
-w {scriptout}
All the characters that you type are recorded in the file
{scriptout}, until you exit Vim. This is useful if you
@@ -306,8 +345,6 @@ OPTIONS
--echo-wid GTK GUI only: Echo the Window ID on stdout.
--help Give a help message and exit, just like "-h".
--literal Take file name arguments literally, do not expand wild
cards. This has no effect on Unix where the shell expands
wildcards.
@@ -354,58 +391,67 @@ OPTIONS
--version Print version information and exit.
--windowid {id}
Win32 GUI only: Make gvim try to use the window {id} as a
parent, so that it runs inside that window.
ON-LINE HELP
Type ":help" in Vim to get started. Type ":help subject" to get help
on a specific subject. For example: ":help ZZ" to get help for the
"ZZ" command. Use <Tab> and CTRL-D to complete subjects (":help cmd
line-completion"). Tags are present to jump from one place to another
Type ":help" in Vim to get started. Type ":help subject" to get help
on a specific subject. For example: ":help ZZ" to get help for the
"ZZ" command. Use <Tab> and CTRL-D to complete subjects (":help cmd
line-completion"). Tags are present to jump from one place to another
(sort of hypertext links, see ":help"). All documentation files can be
viewed in this way, for example ":help syntax.txt".
FILES
/usr/local/lib/vim/doc/*.txt
The Vim documentation files. Use ":help doc-file-list"
/usr/local/share/vim/vim??/doc/*.txt
The Vim documentation files. Use ":help doc-file-list"
to get the complete list.
vim?? is short version number, like vim91 for Vim 9.1
/usr/local/lib/vim/doc/tags
The tags file used for finding information in the docu
/usr/local/share/vim/vim??/doc/tags
The tags file used for finding information in the docu
mentation files.
/usr/local/lib/vim/syntax/syntax.vim
/usr/local/share/vim/vim??/syntax/syntax.vim
System wide syntax initializations.
/usr/local/lib/vim/syntax/*.vim
/usr/local/share/vim/vim??/syntax/*.vim
Syntax files for various languages.
/usr/local/lib/vim/vimrc
/usr/local/share/vim/vimrc
System wide Vim initializations.
~/.vimrc Your personal Vim initializations.
~/.vimrc, ~/.vim/vimrc, $XDG_CONFIG_HOME/vim/vimrc
Your personal Vim initializations (first one found is
used).
/usr/local/lib/vim/gvimrc
/usr/local/share/vim/gvimrc
System wide gvim initializations.
~/.gvimrc Your personal gvim initializations.
~/.gvimrc, ~/.vim/gvimrc, $XDG_CONFIG_HOME/vim/gvimrc
Your personal gvim initializations (first one found is
used).
/usr/local/lib/vim/optwin.vim
Script used for the ":options" command, a nice way to
/usr/local/share/vim/vim??/optwin.vim
Script used for the ":options" command, a nice way to
view and set options.
/usr/local/lib/vim/menu.vim
/usr/local/share/vim/vim??/menu.vim
System wide menu initializations for gvim.
/usr/local/lib/vim/bugreport.vim
/usr/local/share/vim/vim??/bugreport.vim
Script to generate a bug report. See ":help bugs".
/usr/local/lib/vim/filetype.vim
Script to detect the type of a file by its name. See
/usr/local/share/vim/vim??/filetype.vim
Script to detect the type of a file by its name. See
":help 'filetype'".
/usr/local/lib/vim/scripts.vim
Script to detect the type of a file by its contents.
/usr/local/share/vim/vim??/scripts.vim
Script to detect the type of a file by its contents.
See ":help 'filetype'".
/usr/local/lib/vim/print/*.ps
/usr/local/share/vim/vim??/print/*.ps
Files used for PostScript printing.
For recent info read the VIM home page:
@@ -417,19 +463,19 @@ SEE ALSO
AUTHOR
Most of Vim was made by Bram Moolenaar, with a lot of help from others.
See ":help credits" in Vim.
Vim is based on Stevie, worked on by: Tim Thompson, Tony Andrews and
Vim is based on Stevie, worked on by: Tim Thompson, Tony Andrews and
G.R. (Fred) Walter. Although hardly any of the original code remains.
BUGS
Probably. See ":help todo" for a list of known problems.
Note that a number of things that may be regarded as bugs by some, are
in fact caused by a too-faithful reproduction of Vi's behaviour. And
if you think other things are bugs "because Vi does it differently",
you should take a closer look at the vi_diff.txt file (or type :help
vi_diff.txt when in Vim). Also have a look at the 'compatible' and
Note that a number of things that may be regarded as bugs by some, are
in fact caused by a too-faithful reproduction of Vi's behaviour. And
if you think other things are bugs "because Vi does it differently",
you should take a closer look at the vi_diff.txt file (or type :help
vi_diff.txt when in Vim). Also have a look at the 'compatible' and
'cpoptions' options.
2021 Jun 13 VIM(1)
2024 Jun 04 VIM(1)

View File

@@ -1,4 +1,4 @@
*vim9.txt* For Vim version 9.1. Last change: 2024 Apr 13
*vim9.txt* For Vim version 9.1. Last change: 2024 May 31
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -67,6 +67,7 @@ rewrite old scripts, they keep working as before. You may want to use a few
Note that {cmd} cannot use local variables, since it is parsed
with legacy expression syntax.
See some examples of Vim9 script at |52.6|.
==============================================================================
2. Differences from legacy Vim script *vim9-differences*

View File

@@ -75,6 +75,9 @@ Non c'
.IR \-C " | " \-capitalize
Mette in maiuscolo i nomi di variabili nello stile delle `include' C, se si usa \-i.
.TP
.I \-d
Mostra spostamenti usando numeri decimali invece che esadecimali.
.TP
.IR \-E " | " \-EBCDIC
Cambia la codifica della colonna di destra da ASCII a EBCDIC.
Questo non modifica la rappresentazione esadecimale. Non ha senso
@@ -143,7 +146,7 @@ lo stesso colore, a seconda del valore esadecimale. Utile soprattutto a
distinguere i caratteri stampabili da quelli non stampabili.
.I quando
può assumere i valori
.BR never ", " always ", o " auto .
.BR never ", " always ", o " auto " (default: auto).
Quando la variabile d'ambiente
.BR $NO_COLOR
è impostata, la colorazione viene disabilitata.

View File

@@ -75,6 +75,9 @@ Non c'è un valore massimo per \-ps; se si specifica 0 viene scritta un'unica lu
.IR \-C " | " \-capitalize
Mette in maiuscolo i nomi di variabili nello stile delle `include' C, se si usa \-i.
.TP
.I \-d
Mostra spostamenti usando numeri decimali invece che esadecimali.
.TP
.IR \-E " | " \-EBCDIC
Cambia la codifica della colonna di destra da ASCII a EBCDIC.
Questo non modifica la rappresentazione esadecimale. Non ha senso
@@ -143,7 +146,7 @@ lo stesso colore, a seconda del valore esadecimale. Utile soprattutto a
distinguere i caratteri stampabili da quelli non stampabili.
.I quando
può assumere i valori
.BR never ", " always ", o " auto .
.BR never ", " always ", o " auto " (default: auto).
Quando la variabile d'ambiente
.BR $NO_COLOR
è impostata, la colorazione viene disabilitata.

View File

@@ -75,6 +75,9 @@ No maximum for \-ps. With \-ps, 0 results in one long line of output.
.IR \-C " | " \-capitalize
Capitalize variable names in C include file style, when using \-i.
.TP
.I \-d
show offset in decimal instead of hex.
.TP
.IR \-E " | " \-EBCDIC
Change the character encoding in the righthand column from ASCII to EBCDIC.
This does not change the hexadecimal representation. The option is
@@ -138,12 +141,12 @@ anywhere. Use the combination
to read a bits dump instead of a hex dump.
.TP
.IR \-R " " when
In output the hex-value and the value are both colored with the same color
In the output the hex-value and the value are both colored with the same color
depending on the hex-value. Mostly helping to differentiate printable and
non-printable characters.
.I \fIwhen\fP
is
.BR never ", " always ", or " auto .
.BR never ", " always ", or " auto " (default: auto).
When the
.BR $NO_COLOR
environment variable is set, colorization will be disabled.

View File

@@ -49,6 +49,8 @@ OPTIONS
Capitalize variable names in C include file style, when using
-i.
-d show offset in decimal instead of hex.
-E | -EBCDIC
Change the character encoding in the righthand column from ASCII
to EBCDIC. This does not change the hexadecimal representation.
@@ -97,15 +99,15 @@ OPTIONS
truncating it. Use the combination -r -p to read plain hexadeci
mal dumps without line number information and without a particu
lar column layout. Additional whitespace and line breaks are al
lowed anywhere. Use the combination -r -b to read a bits dump
lowed anywhere. Use the combination -r -b to read a bits dump
instead of a hex dump.
-R when
In output the hex-value and the value are both colored with the
same color depending on the hex-value. Mostly helping to differ
entiate printable and non-printable characters. when is never,
always, or auto. When the $NO_COLOR environment variable is
set, colorization will be disabled.
In the output the hex-value and the value are both colored with
the same color depending on the hex-value. Mostly helping to
differentiate printable and non-printable characters. when is
never, always, or auto (default: auto). When the $NO_COLOR en
vironment variable is set, colorization will be disabled.
-seek offset
When used after -r: revert with <offset> added to file positions
@@ -113,9 +115,9 @@ OPTIONS
-s [+][-]seek
Start at <seek> bytes abs. (or rel.) infile offset. + indicates
that the seek is relative to the current stdin file position
that the seek is relative to the current stdin file position
(meaningless when not reading from stdin). - indicates that the
seek should be that many characters from the end of the input
seek should be that many characters from the end of the input
(or if combined with +: before the current stdin file position).
Without -s option, xxd starts at the current file position.
@@ -125,20 +127,20 @@ OPTIONS
Show version string.
CAVEATS
xxd -r has some built-in magic while evaluating line number informa
tion. If the output file is seekable, then the line numbers at the
start of each hex dump line may be out of order, lines may be missing,
or overlapping. In these cases xxd will lseek(2) to the next position.
If the output file is not seekable, only gaps are allowed, which will
xxd -r has some built-in magic while evaluating line number informa
tion. If the output file is seekable, then the line numbers at the
start of each hex dump line may be out of order, lines may be missing,
or overlapping. In these cases xxd will lseek(2) to the next position.
If the output file is not seekable, only gaps are allowed, which will
be filled by null-bytes.
xxd -r never generates parse errors. Garbage is silently skipped.
When editing hex dumps, please note that xxd -r skips everything on the
input line after reading enough columns of hexadecimal data (see option
-c). This also means that changes to the printable ASCII (or EBCDIC)
-c). This also means that changes to the printable ASCII (or EBCDIC)
columns are always ignored. Reverting a plain (or PostScript) style hex
dump with xxd -r -p does not depend on the correct number of columns.
dump with xxd -r -p does not depend on the correct number of columns.
Here, anything that looks like a pair of hex digits is interpreted.
Note the difference between
@@ -146,28 +148,28 @@ CAVEATS
and
% xxd -i < file
xxd -s +seek may be different from xxd -s seek, as lseek(2) is used to
xxd -s +seek may be different from xxd -s seek, as lseek(2) is used to
"rewind" input. A '+' makes a difference if the input source is stdin,
and if stdin's file position is not at the start of the file by the
time xxd is started and given its input. The following examples may
and if stdin's file position is not at the start of the file by the
time xxd is started and given its input. The following examples may
help to clarify (or further confuse!):
Rewind stdin before reading; needed because the `cat' has already read
Rewind stdin before reading; needed because the `cat' has already read
to the end of stdin.
% sh -c "cat > plain_copy; xxd -s 0 > hex_copy" < file
Hex dump from file position 0x480 (=1024+128) onwards. The `+' sign
Hex dump from file position 0x480 (=1024+128) onwards. The `+' sign
means "relative to the current position", thus the `128' adds to the 1k
where dd left off.
% sh -c "dd of=plain_snippet bs=1k count=1; xxd -s +128 > hex_snippet"
% sh -c "dd of=plain_snippet bs=1k count=1; xxd -s +128 > hex_snippet"
< file
Hex dump from file position 0x100 (=1024-768) onwards.
% sh -c "dd of=plain_snippet bs=1k count=1; xxd -s +-768 > hex_snippet"
< file
However, this is a rare situation and the use of `+' is rarely needed.
The author prefers to monitor the effect of xxd with strace(1) or
However, this is a rare situation and the use of `+' is rarely needed.
The author prefers to monitor the effect of xxd with strace(1) or
truss(1), whenever -s is used.
EXAMPLES
@@ -211,7 +213,7 @@ EXAMPLES
% xxd -s 0x36 -l 13 -c 13 xxd.1
0000036: 3235 7468 204d 6179 2031 3939 36 25th May 1996
Create a 65537 byte file with all bytes 0x00, except for the last one
Create a 65537 byte file with all bytes 0x00, except for the last one
which is 'A' (hex 0x41).
% echo "010000: 41" | xxd -r > file
@@ -222,11 +224,11 @@ EXAMPLES
000fffc: 0000 0000 40 ....A
Create a 1 byte file containing a single 'A' character. The number af
ter '-r -s' adds to the line numbers found in the file; in effect, the
ter '-r -s' adds to the line numbers found in the file; in effect, the
leading bytes are suppressed.
% echo "010000: 41" | xxd -r -s -0x10000 > file
Use xxd as a filter within an editor such as vim(1) to hex dump a re
Use xxd as a filter within an editor such as vim(1) to hex dump a re
gion marked between `a' and `z'.
:'a,'z!xxd

View File

@@ -1,7 +1,7 @@
" Vim support file to detect file types
"
" Maintainer: The Vim Project <https://github.com/vim/vim>
" Last Change: 2023 Dec 06
" Last Change: 2024 May 31
" Former Maintainer: Bram Moolenaar <Bram@vim.org>
" Listen very carefully, I will say this only once
@@ -457,7 +457,7 @@ au BufNewFile,BufRead */.cmus/{autosave,rc,command-history,*.theme} setf cmusrc
au BufNewFile,BufRead */cmus/{rc,*.theme} setf cmusrc
" Cobol
au BufNewFile,BufRead *.cbl,*.cob,*.lib setf cobol
au BufNewFile,BufRead *.cbl,*.cob setf cobol
" cobol or zope form controller python script? (heuristic)
au BufNewFile,BufRead *.cpy
\ if getline(1) =~ '^##' |
@@ -532,6 +532,10 @@ au BufNewFile,BufRead s6-* setf execline
" Fontconfig config files
au BufNewFile,BufRead fonts.conf setf xml
" Faust
au BufNewFile,BufRead *.lib setf faust
au BufNewFile,BufRead *.dsp call dist#ft#FTdsp()
" Libreoffice config files
au BufNewFile,BufRead *.xcu,*.xlb,*.xlc,*.xba setf xml
au BufNewFile,BufRead psprint.conf,sofficerc setf dosini
@@ -972,6 +976,7 @@ au BufNewFile,BufRead *.hbs setf handlebars
" Hare
au BufNewFile,BufRead *.ha setf hare
au BufNewFile,BufRead README call dist#ft#FTharedoc()
" Haskell
au BufNewFile,BufRead *.hs,*.hsc,*.hs-boot,*.hsig setf haskell
@@ -1044,6 +1049,9 @@ au BufRead,BufNewFile *.hurl setf hurl
" Hyper Builder
au BufNewFile,BufRead *.hb setf hb
" Hyprlang
au BufNewFile,BufRead hypr\(land\|paper\|idle\|lock\).conf setf hyprlang
" Httest
au BufNewFile,BufRead *.htt,*.htb setf httest
@@ -1072,7 +1080,7 @@ au BufNewFile,BufRead */.icewm/menu setf icemenu
au BufNewFile,BufRead .indent.pro setf indent
au BufNewFile,BufRead indent.pro call dist#ft#ProtoCheck('indent')
" IDL (Interactive Data Language)
" IDL (Interactive Data Language), Prolog, Cproto or zsh module C
au BufNewFile,BufRead *.pro call dist#ft#ProtoCheck('idlang')
" Indent RC
@@ -1103,6 +1111,9 @@ au BufNewFile,BufRead *.ini,*.INI setf dosini
" SysV Inittab
au BufNewFile,BufRead inittab setf inittab
" Inko
au BufNewFile,BufRead *.inko setf inko
" Inno Setup
au BufNewFile,BufRead *.iss setf iss
@@ -1145,6 +1156,9 @@ au BufNewFile,BufRead *.clp setf jess
" Jgraph
au BufNewFile,BufRead *.jgr setf jgraph
" Jujutsu
au BufNewFile,BufRead *.jjdescription setf jj
" Jovial
au BufNewFile,BufRead *.jov,*.j73,*.jovial setf jovial
@@ -1167,7 +1181,7 @@ au BufNewFile,BufRead *.ipynb,*.jupyterlab-settings setf json
au BufNewFile,BufRead *.sublime-project,*.sublime-settings,*.sublime-workspace setf json
" Other files that look like json
au BufNewFile,BufRead .prettierrc,.firebaserc,.stylelintrc,flake.lock setf json
au BufNewFile,BufRead .prettierrc,.firebaserc,.stylelintrc,.lintstagedrc,flake.lock setf json
" JSONC (JSON with comments)
au BufNewFile,BufRead *.jsonc,.babelrc,.eslintrc,.jsfmtrc setf jsonc
@@ -1355,7 +1369,8 @@ au BufNewFile,BufRead */etc/mail/aliases,*/etc/aliases setf mailaliases
au BufNewFile,BufRead .mailcap,mailcap setf mailcap
" Makefile
au BufNewFile,BufRead *[mM]akefile,*.mk,*.mak,*.dsp setf make
au BufNewFile,BufRead *[mM]akefile,*.mk,*.mak setf make
au BufNewFile,BufRead Kbuild setf make
" MakeIndex
au BufNewFile,BufRead *.ist,*.mst setf ist
@@ -1856,6 +1871,9 @@ au BufNewFile,BufRead *.pk setf poke
" Protocols
au BufNewFile,BufRead */etc/protocols setf protocols
" Purescript
au BufNewFile,BufRead *.purs setf purescript
" PyPA manifest files
au BufNewFile,BufRead MANIFEST.in setf pymanifest
@@ -2050,6 +2068,9 @@ au BufNewFile,BufRead *.scala setf scala
" SBT - Scala Build Tool
au BufNewFile,BufRead *.sbt setf sbt
" Slint
au BufNewFile,BufRead *.slint setf slint
" SuperCollider
au BufNewFile,BufRead *.sc call dist#ft#FTsc()
@@ -2133,7 +2154,7 @@ au BufNewFile,BufRead catalog setf catalog
" Gentoo ebuilds, Arch Linux PKGBUILDs and Alpine Linux APKBUILDs are actually
" bash scripts.
" NOTE: Patterns ending in a star are further down, these have lower priority.
au BufNewFile,BufRead .bashrc,bashrc,bash.bashrc,.bash[_-]profile,.bash[_-]logout,.bash[_-]aliases,.bash[_-]history,bash-fc[-.],*.ebuild,*.bash,*.eclass,PKGBUILD,APKBUILD,*.bats call dist#ft#SetFileTypeSH("bash")
au BufNewFile,BufRead .bashrc,bashrc,bash.bashrc,.bash[_-]profile,.bash[_-]logout,.bash[_-]aliases,.bash[_-]history,bash-fc[-.],*.ebuild,*.bash,*.eclass,PKGBUILD,APKBUILD,*.bats,*.cygport call dist#ft#SetFileTypeSH("bash")
au BufNewFile,BufRead .kshrc,*.ksh call dist#ft#SetFileTypeSH("ksh")
au BufNewFile,BufRead */etc/profile,.profile,*.sh,*.env call dist#ft#SetFileTypeSH(getline(1))
@@ -2226,6 +2247,9 @@ au BufNewFile,BufRead *.smt,*.smith setf smith
" Smithy
au BufNewFile,BufRead *.smithy setf smithy
" Snakemake
au BufNewFile,BufRead Snakefile,*.smk setf snakemake
" Snobol4 and spitbol
au BufNewFile,BufRead *.sno,*.spt setf snobol4
@@ -2382,6 +2406,9 @@ au BufNewFile,BufRead *.tcl,*.tm,*.tk,*.itcl,*.itk,*.jacl,.tclshrc,.wishrc,.tcls
" Xilinx's xsct and xsdb use tcl
au BufNewFile,BufRead .xsctcmdhistory,.xsdbcmdhistory setf tcl
" templ
au BufNewFile,BufRead *.templ setf templ
" Teal
au BufRead,BufNewFile *.tl setf teal
@@ -2413,7 +2440,7 @@ au BufNewFile,BufRead texdoc.cnf setf conf
" LaTeX packages will generate some medium LaTeX files during compiling
" They should be ignored by .gitignore https://github.com/github/gitignore/blob/main/TeX.gitignore
" Sometime we need to view its content for debugging
au BufNewFile,BufRead *.{pgf,nlo,nls,out,thm,eps_tex,pygtex,pygstyle,clo,aux,brf,ind,lof,loe,nav,vrb,ins,tikz,bbx,cbx,beamer} setf tex
au BufNewFile,BufRead *.{pgf,nlo,nls,thm,eps_tex,pygtex,pygstyle,clo,aux,brf,ind,lof,loe,nav,vrb,ins,tikz,bbx,cbx,beamer} setf tex
" ConTeXt
au BufNewFile,BufRead *.mkii,*.mkiv,*.mkvi,*.mkxl,*.mklx setf context
@@ -2839,6 +2866,10 @@ au StdinReadPost * if !did_filetype() | runtime! scripts.vim | endif
" But before patterns matching everything in a directory.
au BufNewFile,BufRead *.text,README,LICENSE,COPYING,AUTHORS setf text
" What should *.out files be? Text?
" Disabled until it is clear, to what this should be set
"au BufNewFile,BufRead *.out setf text
" Extra checks for when no filetype has been detected now. Mostly used for
" patterns that end in "*". E.g., "zsh*" matches "zsh.vim", but that's a Vim
@@ -3010,6 +3041,9 @@ au BufNewFile,BufRead .reminders* call s:StarSetf('remind')
" SGML catalog file
au BufNewFile,BufRead sgml.catalog* call s:StarSetf('catalog')
" Stylus
au BufNewFile,BufReadPost *.styl,*.stylus setf stylus
" avoid doc files being recognized a shell files
au BufNewFile,BufRead */doc/{,.}bash[_-]completion{,.d,.sh}{,/*} setf text
@@ -3076,6 +3110,15 @@ au BufNewFile,BufRead */etc/yum.repos.d/* call s:StarSetf('dosini')
au BufNewFile,BufRead .zsh*,.zlog*,.zcompdump* call s:StarSetf('zsh')
au BufNewFile,BufRead zsh*,zlog* call s:StarSetf('zsh')
" Zsh module
" mdd: https://github.com/zsh-users/zsh/blob/57248b88830ce56adc243a40c7773fb3825cab34/Etc/zsh-development-guide#L285-L288
" mdh, pro: https://github.com/zsh-users/zsh/blob/57248b88830ce56adc243a40c7773fb3825cab34/Etc/zsh-development-guide#L268-L271
" *.mdd will generate *.mdh, *.pro and *.epro.
" module's *.c will #include *.mdh containing module dependency information and
" *.pro containing all static declarations of *.c
" *.epro contains all external declarations of *.c
au BufNewFile,BufRead *.mdh,*.epro setf c
au BufNewFile,BufRead *.mdd setf sh
" Help files match *.txt but should have a last line that is a modeline.
au BufNewFile,BufRead *.txt
@@ -3114,6 +3157,9 @@ au BufNewFile,BufRead yarn.lock setf yaml
" Zathurarc
au BufNewFile,BufRead zathurarc setf zathurarc
" Rofi stylesheet
au BufNewFile,BufRead *.rasi setf rasi
" If the GUI is already running, may still need to install the Syntax menu.
" Don't do it when the 'M' flag is included in 'guioptions'.
if has("menu") && has("gui_running")

View File

@@ -3,6 +3,7 @@
" Maintainer: Carl Osterwisch <costerwi@gmail.com>
" Last Change: 2022 Oct 08
" 2024 Jan 14 by Vim Project (browsefilter)
" 2024 May 23 by Riley Bruins <ribru17@gmail.com> ('commentstring')
" Only do this when not done yet for this buffer
if exists("b:did_ftplugin") | finish | endif
@@ -27,7 +28,7 @@ setlocal isfname-=,
" Define format of comment lines (see 'formatoptions' for uses)
setlocal comments=:**
setlocal commentstring=**%s
setlocal commentstring=**\ %s
" Definitions start with a * and assign a NAME, NSET, or ELSET
" Used in [d ^wd and other commands

View File

@@ -0,0 +1,67 @@
" Vim filetype plugin file
" Language: Arduino
" Maintainer: The Vim Project <https://github.com/vim/vim>
" Ken Takata <https://github.com/k-takata>
" Last Change: 2024 Apr 12
" 2024 Jun 02 by Riley Bruins <ribru17@gmail.com> ('commentstring')
"
" Most of the part was copied from c.vim.
" Only do this when not done yet for this buffer
if exists("b:did_ftplugin")
finish
endif
" Don't load another plugin for this buffer
let b:did_ftplugin = 1
" Using line continuation here.
let s:cpo_save = &cpo
set cpo-=C
let b:undo_ftplugin = "setl fo< com< ofu< cms< def< inc<"
if !exists("g:arduino_recommended_style") || g:arduino_recommended_style != 0
" Use the default setting of Arduino IDE.
setlocal expandtab tabstop=2 softtabstop=2 shiftwidth=2
let b:undo_ftplugin ..= " et< ts< sts< sw<"
endif
" Set 'formatoptions' to break comment lines but not other lines,
" and insert the comment leader when hitting <CR> or using "o".
setlocal fo-=t fo+=croql
" These options have the right value as default, but the user may have
" overruled that.
setlocal commentstring=/*\ %s\ */ define& include&
" Set completion with CTRL-X CTRL-O to autoloaded function.
if exists('&ofu')
setlocal ofu=ccomplete#Complete
endif
" Set 'comments' to format dashed lists in comments.
" Also include ///, used for Doxygen.
setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,:///,://
" When the matchit plugin is loaded, this makes the % command skip parens and
" braces in comments properly.
if !exists("b:match_words")
let b:match_words = '^\s*#\s*if\(\|def\|ndef\)\>:^\s*#\s*elif\>:^\s*#\s*else\>:^\s*#\s*endif\>'
let b:match_skip = 's:comment\|string\|character\|special'
let b:undo_ftplugin ..= " | unlet! b:match_skip b:match_words"
endif
" Win32 and GTK can filter files in the browse dialog
if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
let b:browsefilter = "Arduino Source Files (*.ino, *.pde)\t*.ino;*.pde\n"
if has("win32")
let b:browsefilter ..= "All Files (*.*)\t*\n"
else
let b:browsefilter ..= "All Files (*)\t*\n"
endif
let b:undo_ftplugin ..= " | unlet! b:browsefilter"
endif
let &cpo = s:cpo_save
unlet s:cpo_save

View File

@@ -4,13 +4,14 @@
" Last Change: 2020 May 23
" 2023 Aug 28 by Vim Project (undo_ftplugin)
" 2024 Apr 09 by Vim Project (add Matchit support)
" 2024 May 23 by Riley Bruins <ribru17@gmail.com> ('commentstring')
if exists("b:did_ftplugin") | finish | endif
let b:did_ftplugin = 1
setl include=^\\s*%\\s*include
setl comments=:;,s1:/*,mb:*,ex:*/,://
setl commentstring=;%s
setl commentstring=;\ %s
let b:undo_ftplugin = "setl commentstring< comments< include<"

View File

@@ -2,6 +2,7 @@
" Language: Astro
" Maintainer: Romain Lafourcade <romainlafourcade@gmail.com>
" Last Change: 2024 Apr 21
" 2024 May 24 by Riley Bruins <ribru17@gmail.com> ('commentstring')
if exists("b:did_ftplugin")
finish
@@ -25,17 +26,17 @@ function! s:AstroComments() abort
\ || s:IdentifyScope('^\s*<script', '^\s*<\/script>')
" ECMAScript comments
setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,://
setlocal commentstring=//%s
setlocal commentstring=//\ %s
elseif s:IdentifyScope('^\s*<style', '^\s*<\/style>')
" CSS comments
setlocal comments=s1:/*,mb:*,ex:*/
setlocal commentstring=/*%s*/
setlocal commentstring=/*\ %s\ */
else
" HTML comments
setlocal comments=s:<!--,m:\ \ \ \ ,e:-->
setlocal commentstring=<!--%s-->
setlocal commentstring=<!--\ %s\ -->
endif
endfunction

View File

@@ -3,13 +3,14 @@
" Maintainer: Gregory Anders <greg@gpanders.com>
" Repository: https://github.com/openembedded/bitbake
" Latest Revision: 2022-07-23
" 2024-05-23 by Riley Bruins <ribru17@gmail.com> ('commentstring')
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
setlocal commentstring=#%s
setlocal commentstring=#\ %s
setlocal comments=:#
setlocal suffixesadd=.bb,.bbclass

View File

@@ -2,6 +2,7 @@
" Language: C
" Maintainer: The Vim Project <https://github.com/vim/vim>
" Last Change: 2023 Aug 22
" 2024 Jun 02 by Riley Bruins <ribru17@gmail.com> ('commentstring')
" Former Maintainer: Bram Moolenaar <Bram@vim.org>
" Only do this when not done yet for this buffer
@@ -24,7 +25,7 @@ setlocal fo-=t fo+=croql
" These options have the right value as default, but the user may have
" overruled that.
setlocal commentstring& define& include&
setlocal commentstring=/*\ %s\ */ define& include&
" Set completion with CTRL-X CTRL-O to autoloaded function.
if exists('&ofu')

View File

@@ -2,6 +2,7 @@
" Language: calendar(1) input file
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2008-07-09
" 2024-06-02 by Riley Bruins <ribru17@gmail.com> ('commentstring')
if exists("b:did_ftplugin")
finish
@@ -13,7 +14,7 @@ set cpo&vim
let b:undo_ftplugin = "setl com< cms< inc< fo<"
setlocal comments=s1:/*,mb:*,ex:*/ commentstring& include&
setlocal comments=s1:/*,mb:*,ex:*/ commentstring=/*\ %s\ */ include&
setlocal formatoptions-=t formatoptions+=croql
let &cpo = s:cpo_save

View File

@@ -3,6 +3,7 @@
" Maintainer: Wu, Zhenyu <wuzhenyu@ustc.edu>
" Documentation: https://cgdb.github.io/docs/Configuring-CGDB.html
" Latest Revision: 2024-04-09
" 2024-05-23 by Riley Bruins <ribru17@gmail.com> ('commentstring')
if exists('b:did_ftplugin')
finish
@@ -14,7 +15,7 @@ set cpoptions&vim
let b:undo_ftplugin = 'setl com< cms<'
setlocal commentstring=#%s
setlocal commentstring=#\ %s
setlocal comments=:#
let &cpoptions = s:save_cpoptions

View File

@@ -1,7 +1,7 @@
" Vim filetype plugin file
" Language: C++
" Maintainer: The Vim Project <https://github.com/vim/vim>
" Last Change: 2023 Aug 10
" Last Change: 2024 Jun 06
" Former Maintainer: Bram Moolenaar <Bram@vim.org>
" Only do this when not done yet for this buffer
@@ -12,6 +12,10 @@ endif
" Behaves mostly just like C
runtime! ftplugin/c.vim ftplugin/c_*.vim ftplugin/c/*.vim
" Change 'commentstring' to "C++ style"/"mono-line" comments
setlocal commentstring=//\ %s
let b:undo_ftplugin ..= ' | setl commentstring<'
" C++ uses templates with <things>
" Disabled, because it gives an error for typing an unmatched ">".
" set matchpairs+=<:>

View File

@@ -4,6 +4,7 @@
" Previous Maintainer: Dan Sharp
" Contributor: Johannes Zellner <johannes@zellner.org>
" Last Change: 2024 Jan 14
" 2024 May 23 by Riley Bruins ('commentstring')
if exists("b:did_ftplugin")
finish
@@ -14,7 +15,7 @@ let s:save_cpo = &cpo
set cpo-=C
setlocal comments=:#
setlocal commentstring=#%s
setlocal commentstring=#\ %s
setlocal formatoptions-=t
setlocal formatoptions+=crql

View File

@@ -3,6 +3,7 @@
" Maintainer: Doug Kearns <dougkearns@gmail.com>
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
" Last Change: 2020 Dec 21
" 2024 Jun 02 by Riley Bruins <ribru17@gmail.com> ('commentstring')
if exists("b:did_ftplugin")
finish
@@ -14,7 +15,7 @@ set cpo&vim
let b:undo_ftplugin = "setl com< cms< inc< fo< ofu< isk<"
setlocal comments=s1:/*,mb:*,ex:*/ commentstring&
setlocal comments=s1:/*,mb:*,ex:*/ commentstring=/*\ %s\ */
setlocal formatoptions-=t formatoptions+=croql
setlocal omnifunc=csscomplete#CompleteCSS
setlocal iskeyword+=-

23
runtime/ftplugin/csv.vim Normal file
View File

@@ -0,0 +1,23 @@
vim9script
# Maintainer: Maxim Kim <habamax@gmail.com>
# Last Update: 2024-06-18
if !exists("b:csv_delimiter")
# detect delimiter
var delimiters = ",;\t|"
var max = 0
for d in delimiters
var count = getline(1)->split(d)->len() + getline(2)->split(d)->len()
if count > max
max = count
b:csv_delimiter = d
endif
endfor
endif
if exists("b:did_ftplugin")
finish
endif
b:did_ftplugin = 1

15
runtime/ftplugin/dart.vim Normal file
View File

@@ -0,0 +1,15 @@
" Vim filetype plugin
" Language: dart
" Maintainer: Riley Bruins <ribru17@gmail.com>
" Last Change: 2024 May 18
if exists('b:did_ftplugin')
finish
endif
let b:did_ftplugin = 1
" Set 'comments' to format dashed lists in comments.
" Also include ///, used for Doxygen.
setl comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,:///,:// commentstring=//\ %s
let b:undo_ftplugin = 'setl com< cms<'

View File

@@ -1,6 +1,6 @@
" Language: Debian sources.list
" Maintainer: Debian Vim Maintainers <team+vim@tracker.debian.org>
" Last Change: 2024 Mar 20
" Last Change: 2024 May 25
" License: Vim License
" URL: https://salsa.debian.org/vim-team/vim-debian/blob/main/ftplugin/deb822sources.vim
@@ -10,7 +10,7 @@ endif
let b:did_ftplugin=1
setlocal comments=:#
setlocal commentstring=#%s
setlocal commentstring=#\ %s
setlocal formatoptions-=t
let b:undo_ftplugin = 'setlocal comments< commentstring< formatoptions<'

View File

@@ -2,7 +2,7 @@
" Language: Debian control files
" Maintainer: Debian Vim Maintainers
" Former Maintainer: Pierre Habouzit <madcoder@debian.org>
" Last Change: 2023 Jan 16
" Last Change: 2024 May 25
" URL: https://salsa.debian.org/vim-team/vim-debian/blob/main/ftplugin/debcontrol.vim
" Do these settings once per buffer
@@ -19,8 +19,11 @@ if exists('g:debcontrol_fold_enable')
endif
setlocal textwidth=0
setlocal comments=:#
setlocal commentstring=#\ %s
" Clean unloading
let b:undo_ftplugin = 'setlocal tw< foldmethod< foldexpr< foldtext<'
let b:undo_ftplugin = 'setlocal tw< foldmethod< foldexpr< foldtext< comments< commentstring<'
" }}}1

View File

@@ -1,6 +1,6 @@
" Language: Debian sources.list
" Maintainer: Debian Vim Maintainers <team+vim@tracker.debian.org>
" Last Change: 2023 Aug 30
" Last Change: 2024 May 25
" License: Vim License
" URL: https://salsa.debian.org/vim-team/vim-debian/blob/main/ftplugin/debsources.vim
@@ -10,7 +10,7 @@ endif
let b:did_ftplugin=1
setlocal comments=:#
setlocal commentstring=#%s
setlocal commentstring=#\ %s
setlocal formatoptions-=t
let b:undo_ftplugin = 'setlocal comments< commentstring< formatoptions<'

Some files were not shown because too many files have changed in this diff Show More