Compare commits

...

266 Commits

Author SHA1 Message Date
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
Jon Parise
ea999037a4 patch 9.1.0366: filetype: ondir files are not recognized
Problem:  filetype: ondir files are not recognized
Solution: Detect '.ondirrc' as ondir filetype
          (Jon Parise)

closes: #14604

Signed-off-by: Jon Parise <jon@indelible.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-22 21:07:41 +02:00
zeertzjq
6b13e3d4e4 patch 9.1.0365: Crash when typing many keys with D- modifier
Problem:  Crash when typing many keys with D- modifier (after 9.1.0227).
Solution: Don't treat a 0x80 byte inside a special sequence as the start
          of a special sequence (zeertzjq).

closes: #14613

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-22 21:04:29 +02:00
Yegappan Lakshmanan
22697b6179 patch 9.1.0364: tests: test_vim9_builtin is a bit slow
Problem:  tests: test_vim9_builtin is a bit slow
Solution: source tests from a buffer instead of
          writing and sourcing a file (Yegappan Lakshmanan)

closes: #14614

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-22 20:58:24 +02:00
RestorerZ
f7a38650ea runtime(doc): update documentation
closes: #14616

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-22 20:55:32 +02:00
Restorer
fbeea681ce CI: change the download URL of "libsodium" (#14618)
Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-22 20:48:43 +02:00
Yegappan Lakshmanan
4baf908d60 patch 9.1.0363: tests: test_winfixbuf is a bit slow
Problem:  tests: test_winfixbuf is a bit slow
Solution: use defer if possible, reset hidden option, use --not-a-term
          when starting Vim using system() (Yegappan Lakshmanan)

closes: #14611

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-21 19:50:21 +02:00
Philip H
d3ff129ce8 runtime(astro): Add filetype, syntax and indent plugin
related: #14558
closes: #14561

ported from: https://github.com/wuelnerdotexe/vim-astro

Signed-off-by: Philip H <47042125+pheiduck@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-21 15:50:31 +02:00
Christian Brabandt
b09fa35a04 patch 9.1.0362: expanding rc config files does not work well
Problem:  expanding rc config files does not work well
          (Michał Sieroń, after v9.1.0327)
Solution: initialize chartab option, required to expand
          evironment variables

fixes: #14597

Co-authored-by: author
Signed-off-by: author
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-21 14:55:36 +02:00
Yegappan Lakshmanan
5eaa4d98f7 patch 9.1.0361: Vim9: vim9type.c is too complicated
Problem:  Vim9: vim9type.c is too complicated
Solution: Refactor a few functions in vim9type.c
          (Yegappan Lakshmanan)

closes: #14605

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-21 14:48:57 +02:00
Ernie Rael
84f6dc7ed2 patch 9.1.0360: Vim9: does not handle autoloaded variables well
Problem:  Vim9: does not handle autoloaded variables well
Solution: Better handle script-level exported variable references from
          autoload files (Ernie Rael).

fixes: #14591
closes: #14607

Signed-off-by: Ernie Rael <errael@raelity.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-21 14:45:48 +02:00
Diego Viola
158673680f runtime(doc): minor spell fix in starting.txt
closes: #14608

Signed-off-by: Diego Viola <diego.viola@gmail.com>
2024-04-21 14:40:42 +02:00
Yegappan Lakshmanan
f135fa28e4 patch 9.1.0359: MS-Windows: relative import in a script sourced from a buffer doesn't work
Problem:  MS-Windows: Relative import in a script sourced from a buffer
          doesn't work (Ernie Rael)
Solution: Set a filename, so that we are not trying to use
          script-relative filename (Yegappan Lakshmanan)

When a script is sourced from a buffer, the file name is set to ":source
buffer=". In MS-Windows, the ":" is a path separator character (used
after a drive letter). This results in the code trying to use the ":"
prefix to import the script on MS-Windows. To fix this, when importing a
script from a script sourced from a buffer with nofile, don't use
a script relative path name.

fixes #14588
closes: #14603

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-20 18:31:21 +02:00
h-east
8927c9b720 patch 9.1.0358: wrong drawing in GUI with setcellwidth()
Problem:  wrong drawing in GUI with setcellwidth()
          (after v9.1.0344)
Solution: move gui.in_use condition (h-east)

closes: #14600

Signed-off-by: h-east <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-20 18:04:06 +02:00
Wu, Zhenyu
564166f681 ftplugin(cmake): Add include and suffixesadd
closes: #14520

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-20 17:55:05 +02:00
Luuk van Baal
4b6b0c4024 patch 9.1.0357: Page scrolling should place cursor at window boundaries
Problem:  Page scrolling does not always place the cursor at the top or
          bottom of the window (Mathias Rav)
Solution: Place the cursor at the top or bottom of the window.
          (Luuk van Baal)

fixes: #14585
closes: #14586

Signed-off-by: Luuk van Baal <luukvbaal@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-20 17:38:20 +02:00
Christian Brabandt
59356019eb runtime(doc): align command line table
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-20 17:12:59 +02:00
Diego Viola
a13290f823 runtime(doc): minor fixes to starting.txt
closes: #14593

Signed-off-by: Diego Viola <diego.viola@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-19 15:51:44 +02:00
Christian Brabandt
349f5cd818 patch 9.1.0356: MS-Windows: --remote may change working directory
Problem:  MS-Windows: --remote may change working directory when
          'shellslash' is set
Solution: normalize directory separators on MS-Windows

fixes: #14549
closes: #14587

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-19 15:26:21 +02:00
Bruno BELANYI
cee034112d runtime(bp): fix comment definition in filetype plugin (#14594)
I somehow messed up the previous patch, I think a copy-paste error when
creating the file.

Blueprint files have C and C++ style comments, not shell-like '#'
comments.

Signed-off-by: Bruno BELANYI <bruno@belanyi.fr>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-19 15:19:31 +02:00
Riley Bruins
ce736033ae patch 9.1.0355: filetype: flake.lock files are not recognized
Problem:  filetype: flake.lock files are not recognized
Solution: Detect 'flake.lock' as json filetype
          (Riley Bruins)

closes: #14589

Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-19 15:13:38 +02:00
Colin Caine
4b3fab14db patch 9.1.0354: runtime(uci): No support for uci file types
Problem:  runtime(uci): No support for uci file types
          (Wu, Zhenyu)
Solution: include basic uci ftplugin and syntax plugins
          (Colin Caine)

closes: #14575

Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Colin Caine <complaints@cmcaine.co.uk>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-18 23:53:02 +02:00
Aliaksei Budavei
36e667ab83 runtime(java): Support "g:ftplugin_java_source_path" with archived files
Also, document for "g:ftplugin_java_source_path" its current
modification of the local value of the 'path' option.

closes: #14570

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-18 23:08:59 +02:00
Ernie Rael
6f1d05b85a patch 9.1.0353: tests: Test_autoload_import_relative_compiled fails on Windows
Problem:  tests: Test_autoload_import_relative_compiled fails on Windows
Solution: Disable on Windows for now, add missing :bw for clean-up (Ernie Rael)

closes: #14579

Signed-off-by: Ernie Rael <errael@raelity.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-18 22:53:33 +02:00
John Marriott
ed908f760d patch 9.1.0352: Finding cmd modifiers and cmdline-specials is inefficient
Problem:  Finding cmd modifiers and cmdline-specials is inefficient
Solution: Use binary search to find ex command modifiers and
          cmdline-special characters and reduce the number of strlen()
          (John Marriott)

closes: #14534

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-18 22:46:56 +02:00
zeertzjq
094c4390bd patch 9.1.0351: No test that completing a partial mapping clears 'showcmd'
Problem:  No test that completing a partial mapping clears 'showcmd'.
Solution: Complete partial mappings in Test_showcmd_part_map() instead
          of using :echo.  Adjust some comments (zeertzjq).

closes: #14580

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-18 22:09:37 +02:00
Julio B
1fa22e3ad6 patch 9.1.0350: tests: test_vim9_dissamble may fail
Problem:  tests: test_vim9_dissamble may fail
Solution: Instead of hard-coding the lambda number, accept
          just any number (Julio B)

closes: #14581

Signed-off-by: Julio B <julio.bacel@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-18 22:05:12 +02:00
Yegappan Lakshmanan
76ba252e61 patch 9.1.0349: Vim9: need static type for typealias
Problem:  Vim9: need static type for typealias
Solution: Refactor the typval2type() function and add a static type for
          typealias (Yegappan Lakshmanan)

closes: #14582

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-18 21:33:27 +02:00
lilydjwg
baedc998b0 patch 9.1.0348: X11 does not ignore smooth scroll event
Problem:  X11 does not ignore smooth scroll event
          (laniakea64)
Solution: Correctly ignore unwanted smooth scroll events on X11
          (lilydjwg)

fixes #14578
closes: #14583

Signed-off-by: lilydjwg <lilydjwg@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-18 21:25:36 +02:00
Diego Viola
133ed2a592 patch 9.1.0347: A few typos in test_xdg when testing gvimrc
Problem:  A few typos in test_xdg when testing gvimrc
Solution: Fix them (Diego Viola)

closes: #14584

Signed-off-by: Diego Viola <diego.viola@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-18 20:58:02 +02:00
Ernie Rael
1433ac93eb patch 9.1.0346: Patch v9.1.0338 fixed sourcing a script with import
Problem:  Patch v9.1.0338 fixed sourcing a script with import
Solution: Add test `import './file.vim' and verify it works with `:source`
          so it does not regress (Ernie Rael)

closes: #14577

Signed-off-by: Ernie Rael <errael@raelity.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-17 22:39:34 +02:00
Maxim Kim
a34ba82107 patch 9.1.0345: Problem: gvimrc not sourced from XDG_CONFIG_HOME
Problem:  gvimrc not sourced from XDG_CONFIG_HOME (after v9.1.0327)
Solution: Also try to source from ~/.config/vim/gvimrc and
          $XDG_CONFIG_HOME/vim/gvimrc (Maxim Kim)

fixes: #14567
closes: #14568

Signed-off-by: Maxim Kim <habamax@haba-debian.habamax>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-17 22:30:50 +02:00
mikoto2000
e20fa59903 patch 9.1.0344: Cursor wrong after using setcellwidth() in terminal
Problem:  Cursor wrong after using setcellwidth() in terminal
          (mikoto2000)
Solution: output additional spaces, so the behaviour matches the GUI
          (mikoto2000)

fixes: #14539
closes: #14540

Signed-off-by: mikoto2000 <mikoto2000@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Fix CUI `setcellwidths` characters draw behavior to same GUI behavior.
2024-04-17 22:06:54 +02:00
zeertzjq
acdfb8a979 patch 9.1.0343: 'showcmd' wrong for partial mapping with multibyte
Problem:  'showcmd' is wrong for partial mapping with multibyte char,
          and isn't very readable with modifyOtherKeys.
Solution: Decode multibyte char and merge modifiers into the char.
          (zeertzjq)

This improves the following situations:
- Multibyte chars whose individual bytes are considered unprintable are
  now shown properly in 'showcmd' area.
- Ctrl-W with modifyOtherKeys now shows ^W in 'showcmd' area.

The following situation may still need improvement:
- If the char is a special key or has modifiers that cannot be merged
  into it, internal keycodes are shown in 'showcmd' area like before.
  This applies to keys typed in Normal mode commands as well, and it's
  hard to decide how to make it more readable due to the limited space
  taken by 'showcmd', so I'll leave it for later.

closes: #14572

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-17 21:28:54 +02:00
Julio B
ae7e61c928 patch 9.1.0342: tests: test_taglist fails when 'helplang' contains non-english
Problem:  tests: test_taglist fails when 'helplang' contains non-english
Solution: Allow 1 or 2 tagfiles for now (Julio B)

related: #14312
closes: #14566

Signed-off-by: Julio B <julio.bacel@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-16 22:59:31 +02:00
Christian Brabandt
29269a71b5 patch 9.1.0341: Problem: a few memory leaks are found
Problem:  a few memory leaks are found
          (LuMingYinDetect )
Solution: properly free the memory

Fixes the following problems:
- Memory leak in f_maplist()
  fixes: #14486

- Memory leak in option.c
  fixes: #14485

- Memory leak in f_resolve()
  fixes: #14484

- Memory leak in f_autocmd_get()
  related: #14474

- Memory leak in dict_extend_func()
  fixes: #14477
  fixes: #14238

closes: #14517

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-16 22:44:31 +02:00
Christian Brabandt
f7d31adcc2 patch 9.1.0340: Problem: Error with matchaddpos() and empty list
Problem:  Error with matchaddpos() and empty list
          (@rickhow)
Solution: Return early for an empty list

fixes: #14525
closes: #14563

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-16 22:23:17 +02:00
Yegappan Lakshmanan
8560e6cf97 patch 9.1.0339: tests: xdg test uses screen dumps
Problem:  tests: xdg test uses screen dumps
Solution: Convert screen dump to normal test
          (Yegappan Lakshmanan)

closes: #14564

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-16 22:19:38 +02:00
Ernie Rael
9a90179a11 patch 9.1.0338: Vim9: import through symlinks not correctly handled
Problem:  Vim9: import through symlinks not correctly handled
Solution: Check for script being a symlink but only once
          (Ernie Rael)

closes: #14565

Signed-off-by: Ernie Rael <errael@raelity.com>
Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-16 22:11:56 +02:00
Diego Viola
d1068a2bb0 patch 9.1.0337: Missing entry for XDG vimrc file in :version
Problem:  Missing entry for XDG vimrc file in :version
Solution: Add 4th user vimrc entry to :version output
          (Diego Viola)

related: #14182
closes: #14569

Signed-off-by: Diego Viola <diego.viola@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-16 21:50:33 +02:00
Diego Viola
2da68c8b61 patch 9.1.0336: tests: typo in test_xdg
Problem:  tests: typo in test_xdg
Solution: fix typo (Diego Viola)

closes: #14562

Signed-off-by: Diego Viola <diego.viola@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-15 20:08:38 +02:00
Josef Litoš
dd83b63eb5 runtime(i3config/swayconfig): update syntax scripts
modifications with the goals of:
- simplifying structure by using group `cluster`s
- improving visual highlighting responsiveness by using `nextgroup`
- improving recursive wm-msg command highlighting
- separating command variants meant for runtime and for config only

closes: #14544

Signed-off-by: Josef Litoš <54900518+JosefLitos@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-15 19:38:04 +02:00
Konfekt
fb8f31ea7d runtime(doc): document pandoc compiler and enable configuring arguments
closes: #14550

Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-15 19:33:33 +02:00
Yegappan Lakshmanan
bce51d9005 patch 9.1.0335: String interpolation fails for List type
Problem:  String interpolation fails for List type
Solution: use implicit string(list) for string interpolation and :put =
          (Yegappan Lakshmanan)

related: #14529
closes: #14556

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-15 19:19:52 +02:00
zeertzjq
a59e031aa0 patch 9.1.0334: No test for highlight behavior with 'ambiwidth'
Problem:  No test for highlight behavior with 'ambiwidth'.
Solution: Add a screendump test for 'ambiwidth' with 'cursorline'.
          (zeertzjq)

closes: #14554

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-15 19:14:38 +02:00
Christian Brabandt
29358d2a18 patch 9.1.0333: tests: test_xdg fails on the appimage repo
Problem:  tests: test_xdg fails on the appimage repo
Solution: compare only the last 30 right characters of $MYVIMRC

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-15 19:11:15 +02:00
zeertzjq
757f32141b patch 9.1.0332: tests: some assert_equal() calls have wrong order of args
Problem:  tests: some assert_equal() calls have wrong order of args
Solution: Correct the order (zeertzjq).

closes: #14555

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-15 19:01:04 +02:00
Matt Hammerly
fc1dabd77b patch 9.1.0331: make install does not install all files
Problem:  make install does not install all files (Nick Jensen)
Solution: Adjust the Makefile rule to install and uninstall cargo and
          rust directories (Matt Hammerly)

fixes: #14551
closes: #14552
closes: #14557

Signed-off-by: Matt Hammerly <hammerly.matt@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-15 18:54:38 +02:00
Diego Viola
014b7759e3 runtime(doc): fix typos in starting.txt
closes: #14559

Signed-off-by: Diego Viola <diego.viola@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-15 18:51:58 +02:00
Christian Brabandt
f231934965 patch 9.1.0330: v9.1.0327 contains an unrelated change
Problem:  v9.1.0327 contains an unrelated change
Solution: Revert back $USR_VIMRC_FILE to $HOME instead of ~

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-14 23:45:16 +02:00
Yegappan Lakshmanan
f01493c550 patch 9.1.0329: String interpolation fails for Dict type
Problem:  String interpolation fails for Dict type
Solution: Support Dict data type properly, also support :put =Dict
          (without having to convert it to string() first)
          (Yegappan Lakshmanan)

fixes: #14529
closes: #14541

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-14 23:21:02 +02:00
Christian Brabandt
0d87e3c711 patch 9.1.0328: CI fails with t_?? test
Problem:  CI fails with t_?? test
Solution: use assert_match instead of assert_equal
          and test only until t_xo, depending on system
          there may be several more termcap codes coming

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-14 23:15:05 +02:00
Luca Saccarola
c9df1fb35a patch 9.1.0327: No support for using $XDG_CONFIG_HOME
Problem:  No support for using $XDG_CONFIG_HOME
Solution: optionally source $XDG_CONFIG_HOME/vim/vimrc
          (Luca Saccarola)

fixes: #2034
closes: #14182

Signed-off-by: Luca Saccarola <github.e41mv@aleeas.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-14 22:57:50 +02:00
Wu, Zhenyu
f9f5424d3e patch 9.1.0326: filetype: some requirements files are not recognized
Problem:  filetype: some requirements files are not recognized
Solution: Detect '*-requirements.txt', 'constraints.txt',
          'requirements.in', 'requirements/*.txt' and 'requires/*.txt'
          as requirements filetype, include pip compiler, include
          requirements filetype and syntax plugin
          (Wu, Zhenyu, @raimon49)

closes: #14379

Co-authored-by: raimon <raimon49@hotmail.com>
Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-14 20:43:27 +02:00
Wu, Zhenyu
62c09e032c patch 9.1.0325: filetype: CMakeCache.txt files not recognized
Problem:  filetype: CMakeCache.txt files not recognized
Solution: Detect 'CMakeCache.txt' files as cmakecache filetype,
          include basic syntax script for cmakecache
          (Wu, Zhenyu, @bfrg)

closes: #14384

Co-authored-by: bfrg <bfrg@users.noreply.github.com>
Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-14 20:34:22 +02:00
dkearns
4ba70cab37 runtime(vim): Update base-syntax, fix nested function folding (#14397)
Only match function folding start and end patterns at the start of a
line, excluding heredocs and :append/:change/:insert commands.

Fixes #14393

Signed-off-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
2024-04-14 20:32:56 +02:00
Wu, Zhenyu
c59a8648b2 patch 9.1.0324: filetype: some json files are not recognized
Problem:  filetype: some json files are not recognized
Solution: Detect '.jscsrc' and '.vsconfig' as jsonc filetype
          (Wu, Zhenyu)

See:
- https://github.com/microsoft/PowerToys/blob/main/.vsconfig
- https://jscs-dev.github.io/

closes: #14452

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-14 20:29:43 +02:00
wzy
8a31de6dd2 compiler(rime_deployer): include new compiler, use it for '*.custom.yaml' files (#14460)
Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-14 20:28:29 +02:00
Wu, Zhenyu
799dedec0e patch 9.1.0323: filetype: cabal config files may not be recognized
Problem:  filetype: cabal config files may not be recognized
Solution: Change filetype pattern to '*/{,.}cabal/config'
          (Wu Zhenyu)

closes: #14498

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-14 20:22:19 +02:00
Shane-XB-Qian
e92ed1b45c runtime(vim): don't set compiler, update a comment for vimdoc compiler (#14532)
Signed-off-by: shane.xb.qian <shane.qian@foxmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-14 20:20:01 +02:00
shane.xb.qian
a7a9a476cf patch 9.1.0322: filetype: some mail tools not recognized
Problem:  filetype: some mail tools not recognized
Solution: Detect '.mbsncrc' as conf, '.msmtprc' as msmtp
          and '.notmuch-config' as ini filetype
          (Shane-XB-Qian)

closes: #14533

Signed-off-by: shane.xb.qian <shane.qian@foxmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-14 20:17:14 +02:00
Anton Sharonov
49528da8a6 patch 9.1.0321: Garbled output on serial terminals with XON/XOFF flow control
Problem:  When used terminal with XON/XOFF flow control, vim tries to
          still make CTRL-S mapping available, which results in severe
          screen corruption, especially on large redraws, and even
          spurious inputs (John Tsiombikas)
Solution: Disallow CTRL-S mapping if such terminal is recognized.
          Don't remove IXON from the bitmask inversion.
          (Anton Sharonov)

*** When started like this:

    TERM=vt420 vim

:set termcap

    shows "t_xon=y"

map <C-S> :echo "abc"<CR>

    does nothing (after <C-S> output freezes and subsequent <C-Q>
    unfreezes it)

*** When started like this:

    TERM=xterm vim

:set termcap

    shows "t_xon="

map <C-S> :echo "abc"<CR>

    works (after <C-S> one see "abc" string echo-ed)

fixes: #12674
closes: #14542

Signed-off-by: Anton Sharonov <anton.sharonov@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-14 20:02:50 +02:00
Aliaksei Budavei
4052474a1b runtime(java): Recognise non-ASCII identifiers (#14543)
* runtime(java): Recognise non-ASCII identifiers

Also:

- Remove the already commented out and less general in its
  definition javaFuncDef alternative.

- Stop recognising some bespoke {p,trace} debugging API.

Non-ASCII identifiers have been supported from the outset
of the Java language.

> An _identifier_ is an unlimited-length sequence of _Java
> letters_ and _Java digits_, the first of which must be a
> Java letter.  An identifier cannot have the same spelling
> (Unicode character sequence) as a keyword . . . Boolean
> literal . . . or the null literal . . .
> . . . . . . . .
> Letters and digits may be drawn from the entire Unicode
> character set . . .
> . . . . . . . .
> A Java letter is a character for which the method
> Character.isJavaLetter . . . returns true.  A Java
> letter-or-digit is a character for which the method
> Character.isJavaLetterOrDigit . . . returns true.
> . . . . . . . .
> The Java letters include . . . for historical reasons, the
> ASCII underscore (_) . . . and dollar sign ($) . . .

(Separate syntax tests will be written when particular parts
now touched will have been further improved.)

Reference:
https://javaalmanac.io/jdk/1.0/langspec.pdf [§3.8]

* Take on the maintenance of Java filetype and syntax files


Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-14 18:57:00 +02:00
zeertzjq
05aacec6ab patch 9.1.0320: Wrong cursor position after using setcellwidths()
Problem:  Wrong cursor position after using setcellwidths().
Solution: Invalidate cursor position in addition to redrawing.
          (zeertzjq)

closes: #14545

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-14 18:52:49 +02:00
zeertzjq
3d93630605 patch 9.1.0319: Using heredoc in string not tested with :execute
Problem:  Using heredoc in string not tested with :execute.
Solution: Test with both :execute and execute() (zeertzjq).

closes: #14546

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-14 18:49:56 +02:00
Philip H
acba5af957 CI: use explicit version tags for macos runners (#14548)
as we do on others like ubuntu

Signed-off-by: Philip H <47042125+pheiduck@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-14 18:48:34 +02:00
Wu, Zhenyu
4b5cd7257e patch 9.1.0318: filetype: translate shell config files are not recognized
Problem:  filetype: translate shell config files are not recognized
Solution: Detect 'init.trans', 'translate-shell' and '.trans' files as
          clojure (Wu, Zhenyu)

See: https://github.com/soimort/translate-shell/wiki/Configuration

closes: #14499

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-13 18:28:28 +02:00
Wu, Zhenyu
55d4f3c006 patch 9.1.0317: filetype: matplotlibrc files are not recognized
Problem:  filetype: matplotlibrc files are not recognized
Solution: Detect 'matplotlibrc' file as yaml filetype
          (Wu, Zhenyu)

See: https://matplotlib.org/stable/users/explain/customizing.html#the-matplotlibrc-file

closes: #14501

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-13 18:25:38 +02:00
Doug Kearns
ce06493aeb runtime(vim): Update base-syntax, add legacy header folding
Allow for syntax-based folding of Vim9 script legacy header regions.

This is enabled with the "H" flag of the g:vimsyn_folding config variable.

closes: #14530

Signed-off-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
2024-04-13 18:24:01 +02:00
Wu, Zhenyu
5a9f7e6750 patch 9.1.0316: filetype: some sh and confini files not recognized
Problem:  filetype: some sh and confini files not recognized
Solution: Detect neofetch, '.xprofile', XDG-User-Dirs files,
          paru and makepkg config files
          (Wu, Zhenyu)

See:
- https://github.com/dylanaraps/neofetch/wiki/Customizing-Info#config-file-location
- https://www.freedesktop.org/wiki/Software/xdg-user-dirs/

closes: #14505

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-13 18:19:20 +02:00
Wu, Zhenyu
0881329d12 patch 9.1.0315: filetype: a few more dosini files are not recognized
Problem:  filetype: a few more dosini files are not recognized
Solution: Detect wakatime, reply config files, flatpak, nfs config files
          and a few more python tools as dosini (or toml)
          (Wu, Zhenyu)

Refer:
- https://packaging.python.org/en/latest/specifications/pypirc/
- https://jorisroovers.com/gitlint/latest/configuration/
- https://pylint.pycqa.org/en/latest/user_guide/usage/run.html#command-line-options
- https://docs.bpython-interpreter.org/en/latest/configuration.html
- https://mypy.readthedocs.io/en/stable/config_file.html#the-mypy-configuration-file
- https://black.readthedocs.io/en/stable/usage_and_configuration/the_basics.html#configuration-via-a-file
- https://github.com/wakatime/wakatime-cli?tab=readme-ov-file#usage
- https://metacpan.org/dist/Reply/view/bin/reply#-cfg-~/.replyrc

close: #14512

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-13 18:13:42 +02:00
julio-b
5392970921 runtime(i3config): Line continuation is not detected for 'set' command (#14531)
Problem:  Valid i3config syntax is highlighted as error.
Solution: Skip over line-breaks correctly.

Signed-off-by: Julio B <julio.bacel@gmail.com>
Signed-off-by: Josef Litoš <54900518+JosefLitos@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-13 18:10:10 +02:00
Yegappan Lakshmanan
c51578fed8 patch 9.1.0314: Vim9: Can define a class in a function
Problem:  Vim9: Can define a class in a function
          (Doug Kearns)
Solution: Give an error for a class defined in a function,
          slightly reword some public error messages
          (Yegappan Lakshmanan)

fixes: #13184
fixes: #13326
closes: #14537

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-13 18:04:53 +02:00
Linda_pp
122d068585 runtime(go): fix highlighting import string followed by some comment (#14538)
Signed-off-by: rhysd <lin90162@yahoo.co.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-13 17:56:17 +02:00
zeertzjq
1f5175d9af patch 9.1.0313: Crash when using heredoc with comment in command block
Problem:  Crash when using heredoc with comment in command block.
Solution: Handle a newline more like the end of the line, fix coverity
          warning (zeertzjq).

closes: #14535

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-13 17:52:26 +02:00
Yegappan Lakshmanan
e74cad3321 patch 9.1.0312: heredocs are not supported for :commands
Problem:  heredocs are not supported for :commands
          (@balki)
Solution: Add heredoc support
          (Yegappan Lakshmanan)

fixes: #14491
closes: #14528

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-12 18:53:08 +02:00
Wu, Zhenyu
a1dcd76ce7 patch 9.1.0311: filetype: Some config files are not recognized
Problem:  Some config files are not recognized
Solution: Add some patterns for chktex, ripgreprc and ctags config
          files.

See: https://www.nongnu.org/chktex/
See: https://github.com/BurntSushi/ripgrep/blob/master/GUIDE.md#configuration-file
See: https://docs.ctags.io/en/latest/option-file.html#order-of-loading-option-files

closes: #14506

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-12 18:46:05 +02:00
zeertzjq
9232554087 patch 9.1.0310: Filler lines not checked properly in get_scroll_overlap()
Problem:  Filler lines not checked properly in get_scroll_overlap().
Solution: Add missing parentheses (zeertzjq).

The missing parentheses causes the second argument to diff_check_fill()
to always be 0 as it is the result of a comparison between a positive
integer and -1 (the value of BACKWARD), in which case diff_check_fill()
always returns 0 instead of the number of filler lines above a line.

It's very hard to add a test for this, because this mistake at most
leads to 2 screen lines of difference in scrolling behavior, and in
cases where it may indeed lead to a difference in behavior, neither
behavior achieves complete symmetry between CTRL-F and CTRL-B.

closes: #14527

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-12 18:38:38 +02:00
wzy
0549c503ba runtime(dts): include ftplugin support (#14522)
Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-12 18:36:57 +02:00
Christian Brabandt
159dc0fcf9 runtime(kconfig): add include to ftplugin (#14524)
related: #14521

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-12 18:33:48 +02:00
Christian Brabandt
83424105cb runtime(doc): mention :argded for :argedit
related: #14464

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-12 10:17:57 +02:00
Christian Brabandt
c858382482 Problem: Commit 6f585d breaks CI
Problem:  Commit 6f585d breaks CI
Solution: Don't error out, simply return an error message.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-11 23:10:54 +02:00
Christian Brabandt
bba79808cb patch 9.1.0309: crash when 'textwidth' > MAX_INT
Problem:  crash when 'textwidth' > MAX_INT (after vv9.1.0055)
          (Zoltan Balogh)
Solution: limit textwidth to MAX_INT

fixes: #14482
closes: #14489

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-11 22:54:44 +02:00
Antonio Giovanni Colombo
7b0c4b64e3 runtime(doc): typo in intro.txt 2024-04-11 22:11:21 +02:00
Christian Brabandt
6f585da00b Overlong translation files may cause repo to become "dirty"
Problem:  Overlong translation files may cause repo to become "dirty"
Solution: Add a test into check.vim to warn for lines being longer than
          80 virt columns

related: #14490

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-11 22:05:11 +02:00
Vladimír Marek
87319173ba patch 9.1.0308: configure: msgfmt hardcoded
Problem:  configure: msgfmt hardcoded (after v9.1.0173)
Solution: use $MSGFMT instead of msgfmt in configure script,
          regenerate the configure script
          (Vladimír Marek)

fixes: #14515

Signed-off-by: Vladimír Marek <vlmarek13@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-11 21:57:02 +02:00
Wu, Zhenyu
fcbefe74f1 runtime(compiler): add vimdoc
closes: #14459

https://github.com/google/vimdoc generates vim help files from vimscript files

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-11 21:25:39 +02:00
Christian Brabandt
3cb2b37767 runtime(doc): clarify behaviour or :argadd and :argedit
related: #14464

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-11 21:21:51 +02:00
Wu, Zhenyu
7fdbd1bb58 patch 9.1.0307: filetype: texdoc config files is not recognized
Problem:  filetype: texdoc config files is not recognized
Solution: Detect 'texdoc.cnf' as conf filetype
          (Wu, Zhenyu)

See: https://github.com/TeX-Live/texdoc/blob/master/texdoc.cnf

closes: #14507

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-11 20:53:33 +02:00
Wu, Zhenyu
58ce78ad43 patch 9.1.0306: filetype: x11vnc config file is not recognized
Problem:  filetype: x11vnc config file is not recognized
Solution: Detect '.x11vncrc' as conf filetype
          (Wu, Zhenyu)

See: https://linux.die.net/man/1/x11vnc

closes: #14511

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-11 20:47:45 +02:00
Wu, Zhenyu
da70feabea patch 9.1.0305: filetype: some history files are not recognized
Problem:  filetype: some history files are not recognized
Solution: Add some history patterns to filetype.vim
          (Wu, Zhenyu)

closes: #14513

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-11 20:43:00 +02:00
Wu, Zhenyu
dbca7d8045 ftplugin(asm): add Matchit support
closes: #14461

Refer https://github.com/vim/vim/blob/master/runtime/ftplugin/masm.vim#L18-L29

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-10 22:58:03 +02:00
Wu, Zhenyu
1492fe6903 patch 9.1.0304: filetype: cgdb config file is not recognized
Problem:  filetype: cgdb config file is not recognized
Solution: Detect cgdbrc files as cgdbrc filetype
          (Wu, Zhenyu)

closes: #14458

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-10 22:52:40 +02:00
Wu, Zhenyu
27f17a6d34 runtime(asm): add basic indent support
closes: #14383

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-10 22:48:57 +02:00
Wu, Zhenyu
556c621659 ftplugin(gdb): add matchit support
closes: #14462

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-10 22:44:21 +02:00
Bruno BELANYI
e54a8e7c73 patch 9.1.0303: filetype: some protocol buffer files not recognized
Problem:  filetype: some protocol buffer files not recognized
Solution: Detect '*.textproto', '*.textpb', '*.txtpb' as pbtxt files
          (Bruno Belanyi)

See: https://protobuf.dev/reference/protobuf/textformat-spec/#text-format-files

closes: #14463

Signed-off-by: Bruno BELANYI <bruno@belanyi.fr>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-10 22:34:42 +02:00
Bruno BELANYI
6be7ef5bc7 patch 9.1.0302: filetype: blueprint files are not recognized
Problem:  filetype: blueprint files are not recognized
Solution: Detect '*.bp' files as blueprint files, add
          a minimal filetype plugin (Bruno Belanyi)

See: https://source.android.com/docs/setup/build

closes: #14488

Signed-off-by: Bruno BELANYI <bruno@belanyi.fr>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-10 22:28:28 +02:00
dkearns
04e5363b82 runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
This is a first-pass attempt to limit matching of Vim9 and legacy-script
comments to the appropriate syntactic contexts.

Vim9-script comments are highlighted at top level in a Vim9-script file,
in all :def functions, and in all :autocmd and :commmand command blocks.
Legacy-script comments are highlighted at top level in a legacy script
file, in all :func functions and in the Vim9-script preamble before the
:vim9script marker command.

Fixes #13047, #11307 and #9587.

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-10 22:18:37 +02:00
zeertzjq
1817ccdb10 patch 9.1.0301: Vim9: heredoc start may be recognized in string
Problem:  Vim9: heredoc start may be recognized in string.
Solution: Don't skip to closing bracket for invalid list assignment.
          (zeertzjq)

closes: #14472

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-10 17:37:47 +02:00
Luuk van Baal
aa8e22b035 patch 9.1.0300: Missing test for what patch v9.1.0285 fixes
Problem:  Missing test for what patch v9.1.0285 fixes
Solution: Add a test for cursor movement at buffer boundaries.
          (Luuk van Baal)

closes: #14470

Signed-off-by: Luuk van Baal <luukvbaal@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-10 17:33:43 +02:00
Yegappan Lakshmanan
7f5202143b patch 9.1.0299: Vim9: return type not set for a lambda assigned to script var
Problem:  Vim9: return type not set for a lambda assigned to script var
          (Ernie Rael)
Solution: Correctly determine the return type (Yegappan Lakshmanan)

fixes: #14445
closes: #14473

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-10 17:18:19 +02:00
shane.xb.qian
b988c7a95f add runtime/doc/tags-* to ignore files (#14479)
closes: #14479

Signed-off-by: shane.xb.qian <shane.qian@foxmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-10 17:15:34 +02:00
Restorer
8fcc129773 translation(ru): Updated translation (#14481)
Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-10 17:05:24 +02:00
RestorerZ
c9ec20d94e runtime(doc): Update documentation
- Add security e-mail for private bugreports
- Remove mentioning of the voting feature

closes: #14483

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Co-authored-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-10 16:57:46 +02:00
Cthulhux
2f27c65410 patch 9.1.0298: MS-Windows: GETTEXT_PATH hard-coded in src/po/Make_mvc.mak
Problem:  MS-Windows: GETTEXT_PATH hard-coded in src/po/Make_mvc.mak
Solution: Add IFNDEF/ENDIF around the definition of GETTEXT_PATH
          (Cthulhux)

It makes no sense to enforce modifying Vim source files just because
your build stuff is not where it's expected. My change is supposed to
add support for a locally-defined %GETTEXT_PATH%.

closes: #14480

Signed-off-by: Cthulhux <github@tuxproject.de>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-10 16:34:49 +02:00
Christian Brabandt
c97f4d61cd patch 9.1.0297: Patch 9.1.0296 causes too many issues
Problem:  Patch 9.1.0296 causes too many issues
          (Tony Mechelynck, @chdiza, CI)
Solution: Back out the change for now

Revert "patch 9.1.0296: regexp: engines do not handle case-folding well"

This reverts commit 7a27c108e0 it causes
issues with syntax highlighting and breaks the FreeBSD and MacOS CI. It
needs more work.

fixes: #14487

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-10 16:22:17 +02:00
RestorerZ
49f1e1979f NSIS: Fix a few issues with gvim.nsi
- correctly find libsodium.dll
- disable inclusion of libgcc_s_sjlj-1.dll
- generate PATCHLEVEL correctly

related: #14214
closes: #14465

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-09 23:04:44 +02:00
Christian Brabandt
7a27c108e0 patch 9.1.0296: regexp: engines do not handle case-folding well
Problem:  Regex engines do not handle case-folding well
Solution: Correctly calculate byte length of characters to skip

When the regexp engine compares two utf-8 codepoints case insensitively
it may match an adjacent character, because it assumes it can step over
as many bytes as the pattern contains.

This however is not necessarily true because of case-folding, a
multi-byte UTF-8 character can be considered equal to some single-byte
value.

Let's consider the pattern 'ſ' and the string 's'. When comparing and
ignoring case, the single character 's' matches, and since it matches
Vim will try to step over the match (by the amount of bytes of the
pattern), assuming that since it matches, the length of both strings is
the same.

However in that case, it should only step over the single byte
value 's' so by 1 byte and try to start matching after it again. So for the
backtracking engine we need to ensure:
- we try to match the correct length for the pattern and the text
- in case of a match, we step over it correctly

The same thing can happen for the NFA engine, when skipping to the next
character to test for a match. We are skipping over the regstart
pointer, however we do not consider the case that because of
case-folding we may need to adjust the number of bytes to skip over. So
this needs to be adjusted in find_match_text() as well.

A related issue turned out, when prog->match_text is actually empty. In
that case we should try to find the next match and skip this condition.

fixes: #14294
closes: #14433

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-09 22:53:19 +02:00
Wu, Zhenyu
d2b95b8446 patch 9.1.0295: filetype: pip config files are not recognized
Problem:  filetype: pip config files are not recognized
Solution: detect pip.conf as dosini filetype
          (Wu, Zhenyu)

closes: #14448

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-09 22:49:19 +02:00
Luuk van Baal
08b0f632c1 patch 9.1.0294: Text height function does not respect it's argument
Problem:  plines_m_win() does not take into account it's "limit_winheight"
          argument for filler lines below the last line of the buffer.
          (after v9.1.0280)
Solution: Check window height when "limit_winheight" is TRUE.
          (Luuk van Baal)

closes: #14449

Signed-off-by: Luuk van Baal <luukvbaal@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-09 22:43:49 +02:00
Wu, Zhenyu
41208884b8 patch 9.1.0293: filetype: lxqt config files are not recognized
Problem:  filetype: lxqt config files are not recognized
Solution: Detect {lxqt,screengrab}/*.conf files as dosini,
          fix failing filetype test for */tex/latex/**.cfg
          (Wu, Zhenyu)

closes: #14450

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-09 22:39:53 +02:00
Wu, Zhenyu
efd752ec38 patch 9.1.0292: filetype: XDG mimeapps.list file is not recognized
Problem:  filetype: XDG mimeapps.list file is not recognized
Solution: Detect mimeapps.list as dosini filetype
          (Wu, Zhenyu)

Refer: https://wiki.archlinux.org/title/XDG_MIME_Applications#Format

closes: #14451

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-09 22:25:41 +02:00
Wu, Zhenyu
73c89bcf79 patch 9.1.0291: filetype: libreoffice config files are not recognized
Problem:  filetype: libreoffice config files are not recognized
Solution: Detect Libreoffice config fils as xml/dosini
          (Wu, Zhenyu)

closes: #14453

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-09 22:20:55 +02:00
Wu, Zhenyu
614691ceef patch 9.1.0290: filetype: xilinx files are not recognized
Problem:  filetype: xilinx files are not recognized
Solution: Add a few xilinx specific file patterns,
          inspect lpr files for being xml/pascal
          (Wu, Zhenyu)

closes: #14454

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-09 22:14:37 +02:00
Wu, Zhenyu
61ee833a50 patch 9.1.0289: filetype: some TeX files are not recognized
Problem:  filetype: some TeX files are not recognized
Solution: Add more patterns for TeX files and inspect
          a few more files for being TeX files
          (Wu, Zhenyu)

closes: #14456

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-09 22:09:30 +02:00
Mike Williams
72a156b4ed patch 9.1.0288: MS-Windows: compiler warning for size_t to int conversion
Problem:  MS-Windows: compiler warning for size_t to int conversion
          (after  v9.1.0282)
Solution: Use size_t instead of int in highlight_set_termgui_attr
          (Mike Williams)

closes: #14457

Signed-off-by: Mike Williams <mrmrdubya@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-09 22:04:54 +02:00
zeertzjq
9a91d2b72c patch 9.1.0287: Vim9: comment may be treated as heredoc start
Problem:  Vim9: comment may be treated as heredoc start.
          (Ernie Rael)
Solution: Use skip_var_list() instead of find_name_end().
          (zeertzjq)

fixes: #14444
closes: #14446

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-09 21:47:10 +02:00
Yegappan Lakshmanan
1af0fbf955 patch 9.1.0286: Vim9: E1027 with defcompile for abstract methods
Problem:  Vim9: E1027 with defcompile for abstract methods with
          non-void return types, but still compiles it
          (zzzyxwvut)
Solution: Don't compile abstract methods
          (Yegappan Lakshmanan)

fixes: #14443
closes: #14447

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-09 21:39:27 +02:00
Luuk van Baal
78c51500f1 patch 9.1.0285: Still problems with cursor position for CTRL-D/U
Problem:  Problems with cursor position when scrolling half a page.
Solution: Rework the cursor logic. (Luuk van Baal)

closes: #14455

Signed-off-by: Luuk van Baal <luukvbaal@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-09 21:30:19 +02:00
Enno
6ce07edd60 runtime(compiler): fix inaccuracies in pandoc compiler (#14467)
as kindly pointed out by @Freed-Wu

Signed-off-by: Enno <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-09 21:26:55 +02:00
Julio B
e20c7d7f44 patch 9.1.0284: make testclean is not able to delete failed screendumps
Problem:  make testclean is not able to delete failed screendumps.
Solution: Remove the "failed" directory when necessary.
          (Julio B)

Patch 8.1.1080 changed the way that failed screendumps are saved, but
the "rm -rf *.failed" clean command was not ported correctly.

closes: #14468

Signed-off-by: Julio B <julio.bacel@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-09 21:22:41 +02:00
dkearns
e43ace558a runtime(vim): Update base-syntax, no curly-brace names in Vim9 script (#14466)
Remove curly-brace name matching for :def functions.  This is not
supported in Vim9 script.

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-09 21:19:41 +02:00
Christian Brabandt
a040019be6 patch 9.1.0282: Several small issues in doc and tests
Problem:  Wrong doc style for pandoc syntax description,
          Test_diff_eob_halfpage() may fail depending on
          screen size, using braces in highlight.c when
          not necessary
Solution: Fix pandoc documentation, make sure the window
          for the test has 7 lines, remove the braces.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-09 08:06:52 +02:00
John Marriott
34f00dd4ab patch 9.1.0282: Finding highlighting attributes is inefficient
Problem:  Finding highlighting attributes is inefficient
Solution: Use binary search to find highlighting attributes and color
          names (John Marriott)

closes: #14426

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-08 23:32:30 +02:00
Christian Brabandt
d33cb3f65e patch 9.1.0281: CI: fails Test_compiler_completion
Problem:  CI: fails Test_compiler_completion
Solution: Add pandoc compiler

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-08 22:55:25 +02:00
jiangyinzuo
a2385c2334 runtime(cuda): Update cuda keywords, remove uncommonly used enumeration constants
closes: #14406

Signed-off-by: jiangyinzuo <jiangyinzuo@foxmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-08 22:50:51 +02:00
Luuk van Baal
9148ba8a46 patch 9.1.0280: several issues with 'smoothscroll' support
Problem:  Logic to make sure cursor is in visible part of the screen after
          scrolling the text with 'smoothscroll' is scattered, asymmetric
          and contains bugs.
Solution: Adjust and create helper function for 'smoothscroll' cursor logic.
          (Luuk van Baal)

closes: #14410

Signed-off-by: Luuk van Baal <luukvbaal@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-08 22:27:41 +02:00
nat-418
196b6678c5 patch 9.1.0279: filetype: roc files are not recognized
Problem:  filetype: roc files are not recognized
Solution: Detect '*.roc' files as roc filetype,
          add a basic filetype plugin (nat-418)

closes: #14416

Signed-off-by: nat-418 <93013864+nat-418@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-08 22:23:22 +02:00
Wu, Zhenyu
72d81a66ed patch 9.1.0278: filetype: zathurarc files not recognized
Problem:  filetype: zathurarc files not recognized
Solution: Detect '.zathurarc' files as zathurarc filetype,
          add zathurarc filetype (Wu, Zhenyu)

closes: #14380

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-08 22:19:06 +02:00
Shougo Matsushita
be2b03c6ee patch 9.1.0277: Cannot highlight the Command-line
Problem:  Cannot highlight the Command-line
Solution: Add the MsgArea highlighting group
          (Shougo Matsushita)

closes: #14327

Signed-off-by: Shougo Matsushita <Shougo.Matsu@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-08 22:16:33 +02:00
Wu, Zhenyu
7005b7ee7f patch 9.1.0276: No pandoc syntax support
Problem:  No pandoc syntax support
Solution: Add pandoc syntax and compiler plugins
          (Wu, Zhenyu, Konfekt)

closes: #14389

Co-authored-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-08 21:45:40 +02:00
Wu, Zhenyu
fc21b6437c patch 9.1.0275: filetype: R history files are not recognized
Problem:  filetype: R history files are not recognized
Solution: Detect '.Rhistory' files as r filetype
          (Wu, Zhenyu)

closes: #14440

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-08 20:26:29 +02:00
Mike Williams
aca8f55596 patch 9.1.0274: MS-Windows: a few compiler warnings
Problem:  MS-Windows: a few compiler warnings
Solution: Change variable types to resolve compiler warnings
          (Mike Williams)

Windows compiles were reporting a few size_t to signed integer
conversion warnings that can be resolved by changing the variable
declarations to be size_t to start with.

closes: #14429

Signed-off-by: Mike Williams <mrmrdubya@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-07 18:26:22 +02:00
0xadk
b78753db5f patch 9.1.0273: filetype: keymap files are not recognized
Problem:  filetype: keymap files are not recognized
Solution: Detect '*.keymap' files as Device Tree Files
          (0xadk)

closes: #14434

Signed-off-by: 0xadk <0xadk@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-07 18:22:41 +02:00
zeertzjq
9d956ee8ea patch 9.1.0272: autocmd may change cwd after :tcd and :lcd
Problem:  Autocommand may change currect directory after :tcd and :lcd.
Solution: Also clear tp_localdir and w_localdir when using aucmd_win.
          (zeertzjq)

closes: #14435

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-07 18:16:10 +02:00
Doug Kearns
a44ced5763 runtime(vim): Update syntax generator, autocmd event list parsing
Track changes to the autocommand event list introduced in commit
78d742a (Patch 9.1.0256).

closes: #14430

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-07 17:49:57 +02:00
Doug Kearns
9cd9e759ab runtime(doc): Normalise builtin-function optional parameter formatting
These should generally be formatted as func([{arg}]) and referenced as
{arg} in the description.

closes: #14438

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-07 17:42:17 +02:00
Christian Brabandt
3c4d2e7a09 patch 9.1.0271: CI sound test aborts with undefined variable
Problem:  CI sound test aborts with undefined variable
Solution: initialize g:result in test_sound.vim

closes: #14424

Signed-off-by:
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-05 20:16:46 +02:00
Christian Brabandt
19ecb46c55 NSIS: Correctly distribute libsodium with the installer (#14422)
closes: vim/vim-win32-installer#337

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-05 20:14:46 +02:00
Christian Brabandt
915f3bf4c1 patch 9.1.0270: a few minor issues to fix
The following is a collection of some small fixes:

- Problem:  Vim9: funcref pointer pt leaks, when function is not found
  Solution: Free funcref pointer in case of error (fixes: #14254)

- Problem:  memory leak of crypt state pointer allocation fails
  Solution: free crypt state pointer properly (fixes: #14253)

- Problem:  Vim9: Leaking memory when compiling dict fails
  Solution: Free the memory in case of error (fixes: #14252)

- Problem:  Coverity complains about derefencing obj_members pointer
            (after v9.1.0261)
  Solution: Verify that obj_members ptr is non-null before accessing it

  References: https://scan5.scan.coverity.com/#/project-view/41242/10101?selectedIssue=1596133

closes: #14412

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-05 20:12:19 +02:00
zeertzjq
e9ff79a7c9 patch 9.1.0269: Test for TextChanged is still flaky with ASAN
Problem:  Test for TextChanged is still flaky with ASAN.
Solution: Don't index the result of readfile().
          (zeertzjq)

It turns out that with ASAN the file may become empty during a write
even if it's non-empty both before and after the write, in which case
indexing the result of readfile() will error, so use join() instead.

Also don't delete the file halfway the test, just in case it may cause
errors on the next read.

closes: #14421

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-05 20:07:39 +02:00
zeertzjq
83cd2c7bf0 patch 9.1.0268: Two tests in test_filechanged.vim are slow
Problem:  Two tests in test_filechanged.vim are slow.
Solution: Sleep for shorter if the +nanotime feature is available.
          (zeertzjq)

closes: #14418

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-05 20:05:11 +02:00
429 changed files with 15753 additions and 5803 deletions

View File

@@ -70,6 +70,7 @@ 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
@@ -105,6 +106,7 @@ runtime/compiler/zsh.vim @dkearns
runtime/doc/ps1.txt @heaths
runtime/ftplugin/abaqus.vim @costerwi
runtime/ftplugin/apache.vim @dubgeiser
runtime/ftplugin/astro.vim @romainl
runtime/ftplugin/awk.vim @dkearns
runtime/ftplugin/basic.vim @dkearns
runtime/ftplugin/bst.vim @tpope
@@ -115,6 +117,7 @@ runtime/ftplugin/cs.vim @nickspoons
runtime/ftplugin/csh.vim @dkearns
runtime/ftplugin/css.vim @dkearns
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
@@ -142,6 +145,7 @@ 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
@@ -151,17 +155,21 @@ 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
runtime/ftplugin/ishd.vim @dkearns
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/kotlin.vim @udalov
runtime/ftplugin/less.vim @genoma
@@ -209,6 +217,7 @@ 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/swayconfig.vim @jamespeapen
runtime/ftplugin/systemverilog.vim @Kocha
runtime/ftplugin/swig.vim @jmarrec
@@ -222,6 +231,7 @@ runtime/ftplugin/typescript.vim @dkearns
runtime/ftplugin/typescriptreact.vim @dkearns
runtime/ftplugin/unison.vim @chuwy
runtime/ftplugin/vdf.vim @ObserverOfTime
runtime/ftplugin/vim.vim @dkearns
runtime/ftplugin/wast.vim @rhysd
runtime/ftplugin/wget.vim @dkearns
runtime/ftplugin/wget2.vim @dkearns
@@ -230,6 +240,7 @@ runtime/ftplugin/xml.vim @chrisbra
runtime/ftplugin/xs.vim @petdance
runtime/ftplugin/zsh.vim @chrisbra
runtime/import/dist/vimhighlight.vim @lacygoill
runtime/indent/astro.vim @wuelnerdotexe
runtime/indent/basic.vim @dkearns
runtime/indent/bst.vim @tpope
runtime/indent/cdl.vim @dkearns
@@ -312,6 +323,7 @@ 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/plugin/manpager.vim @Konfekt
runtime/syntax/shared/hgcommitDiff.vim @vegerot
@@ -323,6 +335,7 @@ runtime/syntax/asciidoc.vim @aerostitch
runtime/syntax/asm.vim @dkearns
runtime/syntax/asmh8300.vim @dkearns
runtime/syntax/asterisk.vim @jaunis
runtime/syntax/astro.vim @wuelnerdotexe
runtime/syntax/autohotkey.vim @mmikeww
runtime/syntax/awk.vim @dkearns
runtime/syntax/basic.vim @dkearns
@@ -396,10 +409,13 @@ runtime/syntax/icon.vim @dkearns
runtime/syntax/indent.vim @dkearns
runtime/syntax/j.vim @glts
runtime/syntax/jargon.vim @h3xx
runtime/syntax/java.vim @fleiner
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/krl.vim @KnoP-01

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: |
@@ -313,7 +321,7 @@ jobs:
fail-fast: false
matrix:
features: [tiny, normal, huge]
runner: [macos-latest, macos-14]
runner: [macos-12, macos-14]
steps:
- name: Checkout repository from github
@@ -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
@@ -409,9 +428,11 @@ jobs:
WINPTY_URL: https://github.com/rprichard/winpty/releases/download/0.4.3/winpty-0.4.3-msvc2015.zip
# libsodium
SODIUM_VER: '1.0.19'
SODIUM_MSVC_URL: https://download.libsodium.org/libsodium/releases/libsodium-%SODIUM_VER%-stable-msvc.zip
# SODIUM_MSVC_URL: https://download.libsodium.org/libsodium/releases/libsodium-%SODIUM_VER%-stable-msvc.zip
SODIUM_MSVC_URL: https://github.com/jedisct1/libsodium/releases/download/%SODIUM_VER%-RELEASE/libsodium-%SODIUM_VER%-msvc.zip
SODIUM_MSVC_VER: v143
SODIUM_MINGW_URL: https://download.libsodium.org/libsodium/releases/libsodium-%SODIUM_VER%-stable-mingw.tar.gz
# SODIUM_MINGW_URL: https://download.libsodium.org/libsodium/releases/libsodium-%SODIUM_VER%-stable-mingw.tar.gz
SODIUM_MINGW_URL: https://github.com/jedisct1/libsodium/releases/download/%SODIUM_VER%-RELEASE/libsodium-%SODIUM_VER%-mingw.tar.gz
SODIUM_MINGW_VER: 26
# Escape sequences
COL_RED: "\x1b[31m"
@@ -676,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}

1
.gitignore vendored
View File

@@ -96,6 +96,7 @@ src/kword_test
# Generated by "make install"
runtime/doc/doctags
runtime/doc/tags-*
# Temporarily generated by "runtime/syntax/generator/make"
runtime/syntax/generator/generator.err

View File

@@ -98,6 +98,7 @@ src/kword_test
# Generated by "make install"
runtime/doc/doctags
runtime/doc/tags-*
# Generated by "make shadow". The directory names could be anything but we
# restrict them to shadow (the default) or shadow-*

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 \
@@ -755,6 +756,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 \
@@ -830,6 +835,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)

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"
@@ -728,12 +728,12 @@ Section "$(str_section_nls)" id_section_nls
!insertmacro InstallLib DLL NOTSHARED REBOOT_NOTPROTECTED \
"${GETTEXT}\gettext${BIT}\libiconv-2.dll" \
"$0\libiconv-2.dll" "$0"
!if /FileExists "${GETTEXT}\gettext${BIT}\libgcc_s_sjlj-1.dll"
# Install libgcc_s_sjlj-1.dll only if it is needed.
!insertmacro InstallLib DLL NOTSHARED REBOOT_NOTPROTECTED \
"${GETTEXT}\gettext${BIT}\libgcc_s_sjlj-1.dll" \
"$0\libgcc_s_sjlj-1.dll" "$0"
!endif
# Install libgcc_s_sjlj-1.dll only if it is needed.
# !if /FileExists "${GETTEXT}\gettext${BIT}\libgcc_s_sjlj-1.dll"
# !insertmacro InstallLib DLL NOTSHARED REBOOT_NOTPROTECTED \
# "${GETTEXT}\gettext${BIT}\libgcc_s_sjlj-1.dll" \
# "$0\libgcc_s_sjlj-1.dll" "$0"
# !endif
${If} ${SectionIsSelected} ${id_section_editwith}
${If} ${RunningX64}
@@ -759,12 +759,12 @@ Section "$(str_section_nls)" id_section_nls
!insertmacro InstallLib DLL NOTSHARED REBOOT_NOTPROTECTED \
"${GETTEXT}\gettext32\libiconv-2.dll" \
"$0\GvimExt32\libiconv-2.dll" "$0\GvimExt32"
!if /FileExists "${GETTEXT}\gettext32\libgcc_s_sjlj-1.dll"
# Install libgcc_s_sjlj-1.dll only if it is needed.
!insertmacro InstallLib DLL NOTSHARED REBOOT_NOTPROTECTED \
"${GETTEXT}\gettext32\libgcc_s_sjlj-1.dll" \
"$0\GvimExt32\libgcc_s_sjlj-1.dll" "$0\GvimExt32"
!endif
# Install libgcc_s_sjlj-1.dll only if it is needed.
# !if /FileExists "${GETTEXT}\gettext32\libgcc_s_sjlj-1.dll"
# !insertmacro InstallLib DLL NOTSHARED REBOOT_NOTPROTECTED \
# "${GETTEXT}\gettext32\libgcc_s_sjlj-1.dll" \
# "$0\GvimExt32\libgcc_s_sjlj-1.dll" "$0\GvimExt32"
# !endif
${EndIf}
SectionEnd
!endif

View File

@@ -10,7 +10,9 @@ vim9script
# faster.
export def Check_inp()
if getline(1) =~ '^\*'
if getline(1) =~ '%%'
setf tex
elseif getline(1) =~ '^\*'
setf abaqus
else
var n = 1
@@ -280,6 +282,10 @@ export def DtraceCheck()
enddef
export def FTdef()
# LaTeX def files are usually generated by docstrip, which will output '%%' in first line
if getline(1) =~ '%%'
setf tex
endif
if get(g:, "filetype_def", "") == "modula2" || IsModula2()
SetFiletypeModula2()
return
@@ -400,14 +406,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
@@ -1292,5 +1302,21 @@ export def FTvba()
endif
enddef
export def Detect_UCI_statements(): bool
# Match a config or package statement at the start of the line.
const config_or_package_statement = '^\s*\(\(c\|config\)\|\(p\|package\)\)\s\+\S'
# Match a line that is either all blank or blank followed by a comment
const comment_or_blank = '^\s*\(#.*\)\?$'
# Return true iff the file has a config or package statement near the
# top of the file and all preceding lines were comments or blank.
return getline(1) =~# config_or_package_statement
\ || getline(1) =~# comment_or_blank
\ && ( getline(2) =~# config_or_package_statement
\ || getline(2) =~# comment_or_blank
\ && getline(3) =~# config_or_package_statement
\ )
enddef
# Uncomment this line to check for compilation errors early
# defcompile

View File

@@ -9,6 +9,10 @@
" 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
" Former Maintainer: Charles E Campbell
" GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim
" Copyright: Copyright (C) 2016 Charles E. Campbell {{{1
@@ -283,20 +287,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 +310,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 +367,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 +394,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 +408,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 +430,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 +446,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 +479,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 +538,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 +676,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 +834,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 +871,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 +1410,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 +2291,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 +3211,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 +3326,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 +3948,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 +4102,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 +4822,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 +5069,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 +5354,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 +5401,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 +5449,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))
@@ -6006,7 +5964,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 +7185,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 +7199,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 +7817,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 +7838,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 +10307,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 +10815,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 +10825,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 +11037,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 +11079,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 +11125,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 +11459,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 +11472,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 +11602,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 +11662,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 +11778,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 +11994,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 +12185,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 +12658,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'

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

@@ -0,0 +1,55 @@
" Vim compiler file
" Compiler: Pandoc
" Maintainer: Konfekt
"
" Expects output file extension, say `:make html` or `:make pdf`.
" Passes additional arguments to pandoc, say `:make html --self-contained`.
if exists("current_compiler")
finish
endif
let s:keepcpo = &cpo
set cpo&vim
let current_compiler = 'pandoc'
" As of 2024-04-08 pandoc supports the following text input formats with
" an ftplugin on Github:
let s:supported_filetypes =
\ [ 'bibtex', 'markdown', 'creole', 'json', 'csv', 'tsv', 'docbook',
\ 'xml', 'fb2', 'html', 'jira', 'tex', 'mediawiki', 'nroff', 'org',
\ 'rtf', 'rst', 't2t', 'textile', 'twiki', 'typst', 'vimwiki' ]
" .. and out of those the following are included in Vim's runtime:
" 'xml', 'tex', 'html', 'rst', 'json', 'nroff', 'markdown'
silent! function s:PandocFiletype(filetype) abort
let ft = a:filetype
if ft ==# 'pandoc'
return 'markdown'
elseif ft ==# 'tex'
return 'latex'
elseif ft ==# 'xml'
" Pandoc does not support XML as a generic input format, but it does support
" EndNote XML and Jats XML out of which the latter seems more universal.
return 'jats'
elseif ft ==# 'text' || empty(ft)
return 'markdown'
elseif index(s:supported_filetypes, &ft) >= 0
return ft
else
echomsg 'Unsupported filetype: ' . ft . ', falling back to Markdown as input format!'
return 'markdown'
endif
endfunction
execute 'CompilerSet makeprg=pandoc\ --standalone' .
\ '\ --metadata\ title=%:t:r:S' .
\ '\ --metadata\ lang=' . matchstr(&spelllang, '^\a\a') .
\ '\ --from=' . s:PandocFiletype(&filetype) .
\ '\ ' . escape(get(b:, 'pandoc_compiler_args', get(g:, 'pandoc_compiler_args', '')), ' ') .
\ '\ --output\ %:r:S.$*\ %:S'
CompilerSet errorformat="%f",\ line\ %l:\ %m
let &cpo = s:keepcpo
unlet s:keepcpo

View File

@@ -0,0 +1,43 @@
" the Requirements File Format syntax support for Vim
" Version: 1.8.0
" Author: raimon <raimon49@hotmail.com>
" Upstream: https://github.com/raimon49/requirements.txt.vim
" License: MIT LICENSE
" The MIT License (MIT)
"
" Copyright (c) 2015 raimon
"
" Permission is hereby granted, free of charge, to any person obtaining a copy
" of this software and associated documentation files (the "Software"), to deal
" in the Software without restriction, including without limitation the rights
" to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
" copies of the Software, and to permit persons to whom the Software is
" furnished to do so, subject to the following conditions:
"
" The above copyright notice and this permission notice shall be included in all
" copies or substantial portions of the Software.
"
" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
" AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
" OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
" SOFTWARE.
if exists('b:current_compiler')
finish
endif
let b:current_compiler = 'pip_compile'
let s:save_cpoptions = &cpoptions
set cpoptions&vim
CompilerSet makeprg=pip-compile\ %:S
CompilerSet errorformat=%ECould\ not\ find\ a\ version\ that\ matches\ %o\ (from\ -r\ %f\ (line\ %l)),
\%C%m,
\%Z,
\%-G%.%#
let &cpoptions = s:save_cpoptions
unlet s:save_cpoptions
" vim: et sw=4 ts=4 sts=4:

View File

@@ -0,0 +1,30 @@
" Vim Compiler File
" Language: rime_deployer
" Maintainer: Wu, Zhenyu <wuzhenyu@ustc.edu>
" URL: https://rime.im
" Latest Revision: 2024-04-09
if exists('b:current_compiler')
finish
endif
let b:current_compiler = 'rime_deployer'
let s:save_cpoptions = &cpoptions
set cpoptions&vim
" Android Termux
let s:prefix = getenv('PREFIX')
if s:prefix == v:null
let s:prefix = '/usr'
endif
" Android, NixOS, GNU/Linux, BSD
for s:shared_data_dir in ['/sdcard/rime-data', '/run/current-system/sw/share/rime-data', '/usr/local/share/rime-data', s:prefix . '/share/rime-data']
if isdirectory(s:shared_data_dir)
break
endif
endfor
execute 'CompilerSet makeprg=rime_deployer\ --build\ %:p:h:S\' s:shared_data_dir
unlet s:prefix s:shared_data_dir
let &cpoptions = s:save_cpoptions
unlet s:save_cpoptions

View File

@@ -0,0 +1,20 @@
" Vim Compiler File
" Language: vimdoc
" Maintainer: Wu, Zhenyu <wuzhenyu@ustc.edu>
" Latest Revision: 2024-04-13
"
" If you can not find 'vimdoc' in the package manager of your distribution e.g
" 'pip', then you may need to build it from its source.
if exists('b:current_compiler')
finish
endif
let b:current_compiler = 'vimdoc'
let s:save_cpoptions = &cpoptions
set cpoptions&vim
CompilerSet makeprg=vimdoc
let &cpoptions = s:save_cpoptions
unlet s:save_cpoptions

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

View File

@@ -1,4 +1,4 @@
*builtin.txt* For Vim version 9.1. Last change: 2024 Apr 04
*builtin.txt* For Vim version 9.1. Last change: 2024 May 18
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -220,12 +220,12 @@ getbufvar({buf}, {varname} [, {def}])
any variable {varname} in buffer {buf}
getcellwidths() List get character cell width overrides
getchangelist([{buf}]) List list of change list items
getchar([expr]) Number or String
getchar([{expr}]) Number or String
get one character from the user
getcharmod() Number modifiers for the last typed character
getcharpos({expr}) List position of cursor, mark, etc.
getcharsearch() Dict last character search
getcharstr([expr]) String get one character from the user
getcharstr([{expr}]) String get one character from the user
getcmdcompltype() String return the type of the current
command-line completion
getcmdline() String return the current command-line
@@ -265,6 +265,8 @@ getreg([{regname} [, 1 [, {list}]]])
getreginfo([{regname}]) Dict information about a register
getregion({pos1}, {pos2} [, {opts}])
List get the text from {pos1} to {pos2}
getregionpos({pos1}, {pos2} [, {opts}])
List get a list of positions for a region
getregtype([{regname}]) String type of a register
getscriptinfo([{opts}]) List list of sourced scripts
gettabinfo([{expr}]) List list of tab pages
@@ -398,7 +400,7 @@ menu_info({name} [, {mode}]) Dict get menu item information
min({expr}) Number minimum value of items in {expr}
mkdir({name} [, {flags} [, {prot}]])
Number create directory {name}
mode([expr]) String current editing mode
mode([{expr}]) String current editing mode
mzeval({expr}) any evaluate |MzScheme| expression
nextnonblank({lnum}) Number line nr of non-blank line >= {lnum}
nr2char({expr} [, {utf8}]) String single char with ASCII/UTF-8 value {expr}
@@ -699,7 +701,7 @@ test_override({expr}, {val}) none test with Vim internal overrides
test_refcount({expr}) Number get the reference count of {expr}
test_setmouse({row}, {col}) none set the mouse position for testing
test_settime({expr}) none set current time for testing
test_srand_seed([seed]) none set seed for testing srand()
test_srand_seed([{seed}]) none set seed for testing srand()
test_unknown() any unknown value for testing
test_void() any void value for testing
timer_info([{id}]) List information about timers
@@ -729,7 +731,7 @@ virtcol({expr} [, {list} [, {winid}])
screen column of cursor or mark
virtcol2col({winid}, {lnum}, {col})
Number byte index of a character on screen
visualmode([expr]) String last visual mode used
visualmode([{expr}]) String last visual mode used
wildmenumode() Number whether 'wildmenu' mode is active
win_execute({id}, {command} [, {silent}])
String execute {command} in window {id}
@@ -2544,7 +2546,7 @@ expand({string} [, {nosuf} [, {list}]]) *expand()*
not start with '%', '#' or '<', see below.
For a |:terminal| window '%' expands to a '!' followed by
the command or shell that is run |terminal-bufname|
the command or shell that is run. |terminal-bufname|
When {string} starts with '%', '#' or '<', the expansion is
done like for the |cmdline-special| variables with their
@@ -3455,16 +3457,16 @@ getchangelist([{buf}]) *getchangelist()*
Can also be used as a |method|: >
GetBufnr()->getchangelist()
getchar([expr]) *getchar()*
getchar([{expr}]) *getchar()*
Get a single character from the user or input stream.
If [expr] is omitted, wait until a character is available.
If [expr] is 0, only get a character when one is available.
If {expr} is omitted, wait until a character is available.
If {expr} is 0, only get a character when one is available.
Return zero otherwise.
If [expr] is 1, only check if a character is available, it is
If {expr} is 1, only check if a character is available, it is
not consumed. Return zero if no character available.
If you prefer always getting a string use |getcharstr()|.
Without [expr] and when [expr] is 0 a whole character or
Without {expr} and when {expr} is 0 a whole character or
special key is returned. If it is a single character, the
result is a Number. Use |nr2char()| to convert it to a String.
Otherwise a String is returned with the encoded character.
@@ -3474,11 +3476,11 @@ getchar([expr]) *getchar()*
also a String when a modifier (shift, control, alt) was used
that is not included in the character.
When [expr] is 0 and Esc is typed, there will be a short delay
When {expr} is 0 and Esc is typed, there will be a short delay
while Vim waits to see if this is the start of an escape
sequence.
When [expr] is 1 only the first byte is returned. For a
When {expr} is 1 only the first byte is returned. For a
one-byte character it is the character itself as a number.
Use nr2char() to convert it to a String.
@@ -3589,13 +3591,13 @@ getcharsearch() *getcharsearch()*
< Also see |setcharsearch()|.
getcharstr([expr]) *getcharstr()*
getcharstr([{expr}]) *getcharstr()*
Get a single character from the user or input stream as a
string.
If [expr] is omitted, wait until a character is available.
If [expr] is 0 or false, only get a character when one is
If {expr} is omitted, wait until a character is available.
If {expr} is 0 or false, only get a character when one is
available. Return an empty string otherwise.
If [expr] is 1 or true, only check if a character is
If {expr} is 1 or true, only check if a character is
available, it is not consumed. Return an empty string
if no character is available.
Otherwise this works like |getchar()|, except that a number
@@ -4327,6 +4329,26 @@ getregion({pos1}, {pos2} [, {opts}]) *getregion()*
Can also be used as a |method|: >
getpos('.')->getregion(getpos("'a"))
<
getregionpos({pos1}, {pos2} [, {opts}]) *getregionpos()*
Same as |getregion()|, but returns a list of positions
describing the buffer text segments bound by {pos1} and
{pos2}.
The segments are a pair of positions for every line: >
[[{start_pos}, {end_pos}], ...]
<
The position is a |List| with four numbers:
[bufnum, lnum, col, off]
"bufnum" is the buffer number.
"lnum" and "col" are the position in the buffer. The first
column is 1.
The "off" number is zero, unless 'virtualedit' is used. Then
it is the offset in screen columns from the start of the
character. E.g., a position within a <Tab> or after the last
character.
Can also be used as a |method|: >
getpos('.')->getregionpos(getpos("'a"))
<
getregtype([{regname}]) *getregtype()*
The result is a String, which is type of register {regname}.
The value will be one of:
@@ -4382,7 +4404,7 @@ getscriptinfo([{opts}]) *getscriptinfo()*
Examples: >
:echo getscriptinfo({'name': 'myscript'})
:echo getscriptinfo({'sid': 15}).variables
:echo getscriptinfo({'sid': 15})[0].variables
<
gettabinfo([{tabnr}]) *gettabinfo()*
If {tabnr} is not specified, then information about all the
@@ -6648,8 +6670,8 @@ mkdir({name} [, {flags} [, {prot}]])
GetName()->mkdir()
<
*mode()*
mode([expr]) Return a string that indicates the current mode.
If [expr] is supplied and it evaluates to a non-zero Number or
mode([{expr}]) Return a string that indicates the current mode.
If {expr} is supplied and it evaluates to a non-zero Number or
a non-empty String (|non-zero-arg|), then the full mode is
returned, otherwise only the first letter is returned.
Also see |state()|.
@@ -8969,11 +8991,12 @@ shellescape({string} [, {special}]) *shellescape()*
Otherwise it will enclose {string} in single quotes and
replace all "'" with "'\''".
When the {special} argument is present and it's a non-zero
Number or a non-empty String (|non-zero-arg|), then special
items such as "!", "%", "#" and "<cword>" will be preceded by
a backslash. This backslash will be removed again by the |:!|
command.
The {special} argument adds additional escaping of keywords
used in Vim commands. When it is not omitted and a non-zero
number or a non-empty String (|non-zero-arg|), then special
items such as "!", "%", "#" and "<cword>" (as listed in
|expand()|) will be preceded by a backslash.
This backslash will be removed again by the |:!| command.
The "!" character will be escaped (again with a |non-zero-arg|
{special}) when 'shell' contains "csh" in the tail. That is
@@ -9980,6 +10003,10 @@ synconcealed({lnum}, {col}) *synconcealed()*
synconcealed(lnum, 5) [1, 'X', 2]
synconcealed(lnum, 6) [0, '', 0]
Note: Doesn't consider |matchadd()| highlighting items,
since syntax and matching highlighting are two different
mechanisms |syntax-vs-match|.
synstack({lnum}, {col}) *synstack()*
Return a |List|, which is the stack of syntax items at the
@@ -10216,7 +10243,9 @@ tempname() *tempname()* *temp-file-name*
is different for at least 26 consecutive calls. Example: >
:let tmpfile = tempname()
:exe "redir > " .. tmpfile
< For Unix, the file will be in a private directory |tempfile|.
< For Unix, the file will be in a private directory |tempfile|
that is recursively deleted when Vim exits, on other systems
temporary files are not cleaned up automatically on exit.
For MS-Windows forward slashes are used when the 'shellslash'
option is set, or when 'shellcmdflag' starts with '-' and
'shell' does not contain powershell or pwsh.

View File

@@ -1,4 +1,4 @@
*change.txt* For Vim version 9.1. Last change: 2023 Dec 19
*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
@@ -1345,8 +1346,8 @@ expression (like with the "/" command).
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 or FuncRef results in
an error message (use string() to convert).
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).
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

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 @@
*editing.txt* For Vim version 9.1. Last change: 2024 Jan 14
*editing.txt* For Vim version 9.1. Last change: 2024 Apr 12
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -658,9 +658,12 @@ list of the current window.
:[count]arge[dit][!] [++opt] [+cmd] {name} .. *:arge* *:argedit*
Add {name}s to the argument list and edit it.
When {name} already exists in the argument list, this
entry is edited.
This is like using |:argadd| and then |:edit|.
There is no check for duplicates, it is possible to
add a file to the argument list twice |:argded|.
This is like using |:argadd| and then |:edit| (with
the small exception that |:edit| does not change the
argument list, so the argument list pointer isn't
changed).
Spaces in filenames have to be escaped with "\".
[count] is used like with |:argadd|.
If the current file cannot be |abandon|ed {name}s will
@@ -679,12 +682,12 @@ list of the current window.
If the argument list is "a b c", and "b" is the
current argument, then these commands result in:
command new argument list ~
:argadd x a b x c
:0argadd x x a b c
:1argadd x a x b c
:$argadd x a b c x
:argadd x a [b] x c
:0argadd x x a [b] c
:1argadd x a x [b] c
:$argadd x a [b] c x
And after the last one:
:+2argadd y a b c x y
:+2argadd y a [b] c x y
There is no check for duplicates, it is possible to
add a file to the argument list twice. You can use
|:argdedupe| to fix it afterwards: >

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 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -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 03
*filetype.txt* For Vim version 9.1. Last change: 2024 Apr 18
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -157,6 +157,8 @@ variables can be used to overrule the filetype used for certain extensions:
*.inc g:filetype_inc
*.lsl g:filetype_lsl
*.m g:filetype_m |ft-mathematica-syntax|
*.markdown,*.mdown,*.mkd,*.mkdn,*.mdwn,*.md
g:filetype_md |ft-pandoc-syntax|
*.mod g:filetype_mod
*.p g:filetype_p |ft-pascal-syntax|
*.pl g:filetype_pl
@@ -625,6 +627,37 @@ The mapping can be disabled with: >
let g:no_gprof_maps = 1
JAVA *ft-java-plugin*
Whenever the variable "g:ftplugin_java_source_path" is defined and its value
is a filename whose extension is either ".jar" or ".zip", e.g.: >
let g:ftplugin_java_source_path = '/path/to/src.jar'
let g:ftplugin_java_source_path = '/path/to/src.zip'
<
and the |zip| plugin has already been sourced, the |gf| command can be used to
open the archive and the |n| command can be used to look for the selected type
and the <Return> key can be used to load a listed file.
Note that the effect of using the "gf" command WITHIN a buffer loaded with the
Zip plugin depends on the version of the Zip plugin. For the Zip plugin
versions that do not support Jar type archives, consider creating symbolic
links with the ".zip" extension for each Jar archive of interest and assigning
any such file to the variable from now on.
Otherwise, for the defined variable "g:ftplugin_java_source_path", the local
value of the 'path' option will be further modified by prefixing the value of
the variable, e.g.: >
let g:ftplugin_java_source_path = $JDK_SRC_PATH
let &l:path = g:ftplugin_java_source_path . ',' . &l:path
<
and the "gf" command can be used on a fully-qualified type to look for a file
in the "path" and to try to load it.
Remember to manually trigger the |FileType| event from a buffer with a Java
file loaded in it each time after assigning a new value to the variable: >
doautocmd FileType
<
JSON-FORMAT *ft-json-plugin*
JSON filetype can be extended to use 'formatexpr' and "json.FormatExpr()"

View File

@@ -1,4 +1,4 @@
*gui.txt* For Vim version 9.1. Last change: 2023 Apr 29
*gui.txt* For Vim version 9.1. Last change: 2024 May 11
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -70,6 +70,8 @@ When the GUI starts up initializations are carried out, in this order:
- For Win32, $HOME is set by Vim if needed, see |$HOME-windows|.
- When a "_gvimrc" file is not found, ".gvimrc" is tried too. And vice
versa.
- On Unix, if "~/.config/vim/gvimrc" or "$XDG_CONFIG_HOME/vim/gvimrc"
exists, it is sourced. You can check this with ":version".
The name of the first file found is stored in $MYGVIMRC, unless it was
already set.
- If the 'exrc' option is set (which is NOT the default) the file ./.gvimrc
@@ -496,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 ~
@@ -513,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'
@@ -1236,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 @@
*gui_x11.txt* For Vim version 9.1. Last change: 2024 Jan 30
*gui_x11.txt* For Vim version 9.1. Last change: 2024 Apr 22
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -636,8 +636,8 @@ that version.
For Motif, you need at least Motif version 1.2 and/or X11R5. Motif 2.0 and
X11R6 are OK. Motif 1.1 and X11R4 might work, no guarantee (there may be a
few problems, but you might make it compile and run with a bit of work, please
send me the patches if you do). The newest releases of LessTif have been
reported to work fine too.
send patches if you do). The newest releases of LessTif have been reported to
work fine too.
*gui-x11-athena* *gui-x11-neXtaw*
Support for the Athena GUI and neXtaw was removed in patch 8.2.4677.

View File

@@ -1,4 +1,4 @@
*helphelp.txt* For Vim version 9.1. Last change: 2022 Jan 08
*helphelp.txt* For Vim version 9.1. Last change: 2024 Apr 10
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -315,7 +315,7 @@ Hints for translators:
using the "tag@en" notation.
- Make a package with all the files and the tags file available for download.
Users can drop it in one of the "doc" directories and start use it.
Report this to Bram, so that he can add a link on www.vim.org.
Report to the development team, so they can add a link on www.vim.org.
- Use the |:helptags| command to generate the tags files. It will find all
languages in the specified directory.

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 @@
*intro.txt* For Vim version 9.1. Last change: 2024 Jan 25
*intro.txt* For Vim version 9.1. Last change: 2024 Apr 11
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -132,9 +132,9 @@ There are three ways to report bugs:
3. Send bug reports to: Vim Developers <vim-dev@vim.org>
This is a maillist, you need to become a member first and many people will
see the message. If you don't want that, e.g. because it is a security
issue, please contact any of the current Vim maintainers
https://github.com/orgs/vim/people (but not Bram or the vim-dev ML).
In the future, a proper process for handling security issues will be setup.
issue, please contact the current Vim maintainers at the e-mail address
<vim-security@googlegroups.com> or create a security advisory at Github:
https://github.com/vim/vim/security/advisories
Please be brief; all the time that is spent on answering mail is subtracted
from the time that is spent on improving Vim! Always give a reproducible
@@ -145,7 +145,7 @@ Preferably start Vim with: >
Where reproduce.vim is a script that reproduces the problem. Try different
machines, if relevant (is this an MS-Windows specific bug perhaps?).
Send me patches if you can! If you create a pull request on
Send patches if you can! If you create a pull request on
https://github.com/vim/vim then the automated checks will run and report any
obvious problems. But you can also send the patch by email (use an attachment
to avoid white space changes).

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 May 11
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
@@ -800,8 +801,8 @@ is suitable for complex input, such as CJK.
number of Hira-gana characters are 76. So, first, we pre-input text as
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/
(distributed with Wnn, see below) and canna.Canna can be found at:
https://osdn.net/projects/canna/
There is a good input system: Wnn4.2. Wnn 4.2 contains,
xwnmo (|IM-server|)

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 May 19
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1915,7 +1915,7 @@ A jump table for the options with a short description can be found at |Q_op|.
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|.
|fold-marker|. Also used by comment plugins |comment-install|.
*'compatible'* *'cp'* *'nocompatible'* *'nocp'*
'compatible' 'cp' boolean (default on, off when a |vimrc| or |gvimrc|
@@ -4271,7 +4271,8 @@ A jump table for the options with a short description can be found at |Q_op|.
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 +4291,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
@@ -6683,7 +6685,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 +6738,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
@@ -8986,13 +8991,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 Apr 26
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1394,6 +1394,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

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 @@
*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 Jan 18
*quickfix.txt* For Vim version 9.1. Last change: 2024 Apr 28
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.
@@ -1321,6 +1327,15 @@ If Vim was started from the compiler, the :sh and some :! commands will not
work, because Vim is then running in the same process as the compiler and
stdin (standard input) will not be interactive.
PANDOC *quickfix-pandoc* *compiler-pandoc*
The Pandoc compiler plugin expects that an output file type extension is
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`
PERL *quickfix-perl* *compiler-perl*

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 @@
*sponsor.txt* For Vim version 9.1. Last change: 2023 Mar 24
*sponsor.txt* For Vim version 9.1. Last change: 2024 Apr 22
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -8,11 +8,12 @@
SPONSOR VIM DEVELOPMENT *sponsor*
Fixing bugs and adding new features takes a lot of time and effort. To show
your appreciation for the work and motivate Bram and others to continue
working on Vim please send a donation.
your appreciation for the work and motivate developers to continue working on
Vim please send a donation.
Since Bram does not need the money it will be used to help children in Uganda,
see |uganda|. Donations increase Bram's motivation to keep working on Vim!
The money you donated will be mainly used to help children in Uganda. See
|uganda|. But at the same time donations increase the development team
motivation to keep working on Vim!
For the most recent information about sponsoring look on the Vim web site:
@@ -33,22 +34,12 @@ More explanations can be found in the |register-faq|.
VOTE FOR FEATURES *vote-for-features*
To give registered Vim users and sponsors an advantage over lurkers they can
vote for the items Bram should work on. How does this voting work?
Note: Voting for features has been discontinued since the passing of |Bram| in
2023. The following two links still work, but they are no longer updated. So
they now only provide a historic view as of summer 2023.
1. You send at least 10 euro. See below for ways to transfer money
|send-money|.
2. You will be e-mailed a registration key. Enter this key on your account
page on the Vim website. You can easily create an account if you don't
have one yet.
3. You can enter your votes on the voting page. There is a link to that page
on your account page after entering a registration key. Your votes will
be counted for two years.
4. The voting results appear on the results page, which is visible for
everybody: http://www.vim.org/sponsor/vote_results.php
The voting results appear on the results page, which is visible for everybody:
http://www.vim.org/sponsor/vote_results.php
Additionally, once you have sent 100 euro or more in total, your name appears
in the "Vim hall of honour": http://www.vim.org/sponsor/hall_of_honour.php
@@ -69,17 +60,16 @@ Credit card Through PayPal, see the PayPal site for information:
Other methods See |iccf-donations|.
Include "Vim sponsor" or "Vim registration" in the comment of
your money transfer. Send me an e-mail that mentions the
amount you transferred if you want to vote for features and
show others you are a registered Vim user or sponsor.
your money transfer.
QUESTIONS AND ANSWERS *sponsor-faq* *register-faq*
Why should I give money?
If you do not show your appreciation for Vim then Bram will be less motivated
to fix bugs and add new features. He will do something else instead.
If you do not show your appreciation for Vim, the development team will be
less motivated to fix bugs and add new features. They will do something else
instead.
How much money should I send?
@@ -90,18 +80,6 @@ professional use: 30 Euro per year per person. Send at least 10 euro to be
able to vote for features.
What do I get in return?
Each registered Vim user and sponsor who donates at least 10 euro will be able
to vote for new features. These votes will give priority to the work on Vim.
The votes are valid for two years. The more money you send the more your
votes count |votes-counted|.
If you send 100 Euro or more in total you will be mentioned on the "Vim hall
of honour" page on the Vim web site. But only if you enable this on your
account page. You can also select whether the amount will be visible.
How do I become a Vim sponsor or registered Vim user?
Send money, as explained above |send-money| and include your e-mail address.
@@ -146,29 +124,6 @@ No, suggestions for improving Vim can always be given. For improvements use
the developer |maillist|, for reporting bugs see |bugs|.
How are my votes counted? *votes-counted*
You may vote when you send 10 euro or more. You can enter up to ten votes.
You can select the same item several times to give it more points. You can
also enter three counter votes, these count as negative points.
When you send 30 euro or more the points are doubled. Above 100 euro they
count four times, above 300 euro they count six times, above 1000 euro ten
times.
Can I change my votes?
You can change your votes any time you like, up to two years after you
sent money. The points will be counted right away.
Can I add an item to vote on?
Not directly. You can suggest items to vote on to Bram. He will consider
fitting your item into the list.
How about Charityware?
Currently the Vim donations go to |uganda| anyway. Thus it doesn't matter if
@@ -178,18 +133,17 @@ for features.
I donated $$$, now please add feature XYZ!
There is no direct relation between your donation and the work Bram does.
There is no direct relation between your donation and the work developers do.
Otherwise you would be paying for work and we would have to pay tax over the
donation. If you want to hire Bram for specific work, contact him directly,
don't use the donation system.
donation. If you want to hire one of the developers for specific work,
contact them directly, don't use the donation system.
Are the donations tax deductible?
That depends on your country. The donations to help the children in |Uganda|
are tax deductible in Holland, Germany, Canada and in the USA. See the ICCF
website http://iccf-holland.org/donate.html. You must send an e-mail to Bram
to let him know that the donation is done because of the use of Vim.
website http://iccf-holland.org/donate.html.
Can you send me a bill?

View File

@@ -1,4 +1,4 @@
*starting.txt* For Vim version 9.1. Last change: 2024 Mar 13
*starting.txt* For Vim version 9.1. Last change: 2024 May 18
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -93,20 +93,20 @@ filename One or more file names. The first one will be the current
The startup mode can be changed by using another name instead of "vim", which
is equal to giving options:
ex vim -e Start in Ex mode (see |Ex-mode|). *ex*
exim vim -E Start in improved Ex mode (see |Ex-mode|). *exim*
(normally not installed)
view vim -R Start in read-only mode (see |-R|). *view*
gvim vim -g Start the GUI (see |gui|). *gvim*
gex vim -eg Start the GUI in Ex mode. *gex*
gview vim -Rg Start the GUI in read-only mode. *gview*
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|
ex vim -e Start in Ex mode (see |Ex-mode|). *ex*
exim vim -E Start in improved Ex mode (see |Ex-mode|). *exim*
(normally not installed)
view vim -R Start in read-only mode (see |-R|). *view*
gvim vim -g Start the GUI (see |gui|). *gvim*
gex vim -eg Start the GUI in Ex mode. *gex*
gview vim -Rg Start the GUI in read-only mode. *gview*
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|
gvimdiff vim -gd Start in diff mode |diff-mode|
Additional characters may follow, they are ignored. For example, you can have
@@ -811,7 +811,8 @@ accordingly. Vim proceeds in this order:
name. Also see |vimrc-intro|.
Places for your personal initializations:
Unix $HOME/.vimrc or $HOME/.vim/vimrc
Unix $HOME/.vimrc, $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
@@ -853,15 +854,16 @@ accordingly. Vim proceeds in this order:
I The environment variable VIMINIT (see also |compatible-default|) (*)
The value of $VIMINIT is used as an Ex command line.
II The user vimrc file(s):
"$HOME/.vimrc" (for Unix) (*)
"$HOME/.vim/vimrc" (for Unix) (*)
"s:.vimrc" (for Amiga) (*)
"home:.vimrc" (for Amiga) (*)
"home:vimfiles:vimrc" (for Amiga) (*)
"$VIM/.vimrc" (for Amiga) (*)
"$HOME/_vimrc" (for Win32) (*)
"$HOME/vimfiles/vimrc" (for Win32) (*)
"$VIM/_vimrc" (for Win32) (*)
"$HOME/.vimrc" (for Unix) (*)
"$HOME/.vim/vimrc" (for Unix) (*)
"$HOME/.config/vim/vimrc" (for Unix) (*)
"s:.vimrc" (for Amiga) (*)
"home:.vimrc" (for Amiga) (*)
"home:vimfiles:vimrc" (for Amiga) (*)
"$VIM/.vimrc" (for Amiga) (*)
"$HOME/_vimrc" (for Win32) (*)
"$HOME/vimfiles/vimrc" (for Win32) (*)
"$VIM/_vimrc" (for Win32) (*)
"$HOME/config/settings/vim/vimrc" (for Haiku) (*)
Note: For Unix and Amiga, when ".vimrc" does not exist,
@@ -1085,6 +1087,44 @@ defaults.vim from your .vimrc, first unlet skip_defaults_vim, as in the
example above.
*xdg-base-dir* *$XDG_CONFIG_HOME*
XDG Base Directory Specification ~
The XDG Base Directory Specification aims to define a standard location for
configuration files used by applications. This is mainly done to prevent
the legacy behavior of dumping everything into the user's home directory.
The specification can be found online at
https://specifications.freedesktop.org/basedir-spec/latest/
The location of this standard configuration directory is configurable by the
user, using an environment variable but should also give fallback in case those
variables weren't set.
This is not an exhaustive list of those directories:
Environment var Default location Description ~
`$XDG_CACHE_HOME` $HOME/.cache Ephemeral data files
`$XDG_CONFIG_HOME` $HOME/.config Configuration files
`$XDG_DATA_HOME` $HOME/.local/share Persistent data files
`$XDG_STATE_HOME` $HOME/.local/state State data files
Vim will only use the `$XDG_CONFIG_HOME` directory, the others are not
(yet) used for its various configuration and state files.
*xdg-vimrc*
Vim, on Unix systems, will look at `$XDG_CONFIG_HOME/vim/vimrc` for its
configuration (see |vimrc|) but it will source it only if no other
initialization file is found in `$HOME` or `$HOME/.vim` (thus making this
feature backward compatible). However, if you want to migrate to use
`$XDG_CONFIG_HOME/vim/` directory, you will have to move away your `~/.vimrc`
and `~/.vim/vimrc` file.
*xdg-runtime*
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"
<
Avoiding trojan horses ~
*trojan-horse*
While reading the "vimrc" or the "exrc" file in the current directory, some
@@ -1672,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 Mar 10
*syntax.txt* For Vim version 9.1. Last change: 2024 May 11
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -930,8 +930,24 @@ nasm_loose_syntax unofficial parser allowed syntax not as Error
nasm_ctx_outside_macro contexts outside macro not as Error
nasm_no_warn potentially risky syntax not as ToDo
ASTRO *astro.vim* *ft-astro-syntax*
ASPPERL and ASPVBS *ft-aspperl-syntax* *ft-aspvbs-syntax*
Configuration
The following variables control certain syntax highlighting features.
You can add them to your .vimrc: >
let g:astro_typescript = "enable"
<
Enables TypeScript and TSX for ".astro" files. Default Value: "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 *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
@@ -1467,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:
@@ -1526,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.
@@ -1999,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
@@ -2071,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
@@ -2467,6 +2503,95 @@ by the camlp4 preprocessor. Setting the variable >
prevents highlighting of "end" as error, which is useful when sources
contain very long structures that Vim does not synchronize anymore.
PANDOC *ft-pandoc-syntax*
By default, markdown files will be detected as filetype "markdown".
Alternatively, you may want them to be detected as filetype "pandoc" instead.
To do so, set the following: >
:let g:markdown_md = 'pandoc'
The pandoc syntax plugin uses |conceal| for pretty highlighting. Default is 1 >
:let g:pandoc#syntax#conceal#use = 1
To specify elements that should not be concealed, set the following variable: >
:let g:pandoc#syntax#conceal#blacklist = []
This is a list of the rules wich can be used here:
- titleblock
- image
- block
- subscript
- superscript
- strikeout
- atx
- codeblock_start
- codeblock_delim
- footnote
- definition
- list
- newline
- dashes
- ellipses
- quotes
- inlinecode
- inlinemath
You can customize the way concealing works. For example, if you prefer to mark
footnotes with the `*` symbol: >
:let g:pandoc#syntax#conceal#cchar_overrides = {"footnote" : "*"}
To conceal the urls in links, use: >
:let g:pandoc#syntax#conceal#urls = 1
Prevent highlighting specific codeblock types so that they remain Normal.
Codeblock types include "definition" for codeblocks inside definition blocks
and "delimited" for delimited codeblocks. Default = [] >
:let g:pandoc#syntax#codeblocks#ignore = ['definition']
Use embedded highlighting for delimited codeblocks where a language is
specified. Default = 1 >
:let g:pandoc#syntax#codeblocks#embeds#use = 1
For specify what languages and using what syntax files to highlight embeds. This is a
list of language names. When the language pandoc and vim use don't match, you
can use the "PANDOC=VIM" syntax. For example: >
:let g:pandoc#syntax#codeblocks#embeds#langs = ["ruby", "bash=sh"]
To use italics and strong in emphases. Default = 1 >
:let g:pandoc#syntax#style#emphases = 1
"0" will add "block" to g:pandoc#syntax#conceal#blacklist, because otherwise
you couldn't tell where the styles are applied.
To add underline subscript, superscript and strikeout text styles. Default = 1 >
:let g:pandoc#syntax#style#underline_special = 1
Detect and highlight definition lists. Disabling this can improve performance.
Default = 1 (i.e., enabled by default) >
:let g:pandoc#syntax#style#use_definition_lists = 1
The pandoc syntax script also comes with the following commands: >
:PandocHighlight LANG
Enables embedded highlighting for language LANG in codeblocks. Uses the
syntax for items in g:pandoc#syntax#codeblocks#embeds#langs. >
:PandocUnhighlight LANG
Disables embedded highlighting for language LANG in codeblocks.
PAPP *papp.vim* *ft-papp-syntax*
@@ -2581,8 +2706,8 @@ perl_string_as_statement, it will be highlighted as in the second line.
The syncing has 3 options. The first two switch off some triggering of
synchronization and should only be needed in case it fails to work properly.
If while scrolling all of a sudden the whole screen changes color completely
then you should try and switch off one of those. Let me know if you can
figure out the line that causes the mistake.
then you should try and switch off one of those. Let the developer know if
you can figure out the line that causes the mistake.
One triggers on "^\s*sub\s*" and the other on "^[$@%]" more or less. >
@@ -3675,12 +3800,15 @@ Some folding is now supported with syntax/vim.vim: >
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_noerror*
Not all error highlighting that syntax/vim.vim does may be correct; Vim script
@@ -4207,7 +4335,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*
@@ -4215,7 +4345,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*
@@ -5496,6 +5628,9 @@ MessageWindow Messages popup window used by `:echowindow`. If not defined
|hl-WarningMsg| is used.
*hl-ModeMsg*
ModeMsg 'showmode' message (e.g., "-- INSERT --").
*hl-MsgArea*
MsgArea Command-line area, also used for outputting messages, see also
'cmdheight'
*hl-MoreMsg*
MoreMsg |more-prompt|
*hl-NonText*

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

@@ -12,6 +12,7 @@ $VIM starting.txt /*$VIM*
$VIM-use version5.txt /*$VIM-use*
$VIMRUNTIME starting.txt /*$VIMRUNTIME*
$VIM_POSIX vi_diff.txt /*$VIM_POSIX*
$XDG_CONFIG_HOME starting.txt /*$XDG_CONFIG_HOME*
$quote eval.txt /*$quote*
% motion.txt /*%*
%:. cmdline.txt /*%:.*
@@ -1157,6 +1158,7 @@ $quote eval.txt /*$quote*
't_vi' term.txt /*'t_vi'*
't_vs' term.txt /*'t_vs'*
't_xn' term.txt /*'t_xn'*
't_xo' term.txt /*'t_xo'*
't_xs' term.txt /*'t_xs'*
'ta' options.txt /*'ta'*
'tabline' options.txt /*'tabline'*
@@ -4534,6 +4536,7 @@ E1423 vim9class.txt /*E1423*
E1424 vim9class.txt /*E1424*
E1425 vim9class.txt /*E1425*
E1426 vim9class.txt /*E1426*
E1429 vim9class.txt /*E1429*
E143 autocmd.txt /*E143*
E144 various.txt /*E144*
E145 starting.txt /*E145*
@@ -5873,6 +5876,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*
@@ -5901,6 +5905,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*
@@ -6048,6 +6053,7 @@ assert_notequal() testing.txt /*assert_notequal()*
assert_notmatch() testing.txt /*assert_notmatch()*
assert_report() testing.txt /*assert_report()*
assert_true() testing.txt /*assert_true()*
astro.vim syntax.txt /*astro.vim*
at motion.txt /*at*
atan() builtin.txt /*atan()*
atan2() builtin.txt /*atan2()*
@@ -6511,6 +6517,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*
@@ -6525,6 +6532,7 @@ compiler-gcc quickfix.txt /*compiler-gcc*
compiler-gnat ft_ada.txt /*compiler-gnat*
compiler-hpada ft_ada.txt /*compiler-hpada*
compiler-manx quickfix.txt /*compiler-manx*
compiler-pandoc quickfix.txt /*compiler-pandoc*
compiler-perl quickfix.txt /*compiler-perl*
compiler-pyunit quickfix.txt /*compiler-pyunit*
compiler-select quickfix.txt /*compiler-select*
@@ -7226,6 +7234,7 @@ ft-asm68k-syntax syntax.txt /*ft-asm68k-syntax*
ft-asmh8300-syntax syntax.txt /*ft-asmh8300-syntax*
ft-aspperl-syntax syntax.txt /*ft-aspperl-syntax*
ft-aspvbs-syntax syntax.txt /*ft-aspvbs-syntax*
ft-astro-syntax syntax.txt /*ft-astro-syntax*
ft-awk-plugin filetype.txt /*ft-awk-plugin*
ft-bash-syntax syntax.txt /*ft-bash-syntax*
ft-basic-syntax syntax.txt /*ft-basic-syntax*
@@ -7282,8 +7291,10 @@ ft-html-syntax syntax.txt /*ft-html-syntax*
ft-htmlos-syntax syntax.txt /*ft-htmlos-syntax*
ft-ia64-syntax syntax.txt /*ft-ia64-syntax*
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*
@@ -7322,6 +7333,7 @@ ft-nasm-syntax syntax.txt /*ft-nasm-syntax*
ft-ncf-syntax syntax.txt /*ft-ncf-syntax*
ft-nroff-syntax syntax.txt /*ft-nroff-syntax*
ft-ocaml-syntax syntax.txt /*ft-ocaml-syntax*
ft-pandoc-syntax syntax.txt /*ft-pandoc-syntax*
ft-papp-syntax syntax.txt /*ft-papp-syntax*
ft-pascal-syntax syntax.txt /*ft-pascal-syntax*
ft-pdf-plugin filetype.txt /*ft-pdf-plugin*
@@ -7480,6 +7492,7 @@ 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_r syntax.txt /*g:filetype_r*
g:ftplugin_rust_source_path ft_rust.txt /*g:ftplugin_rust_source_path*
@@ -7620,7 +7633,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*
@@ -7788,6 +7800,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*
@@ -8049,6 +8062,7 @@ hl-Menu syntax.txt /*hl-Menu*
hl-MessageWindow syntax.txt /*hl-MessageWindow*
hl-ModeMsg syntax.txt /*hl-ModeMsg*
hl-MoreMsg syntax.txt /*hl-MoreMsg*
hl-MsgArea syntax.txt /*hl-MsgArea*
hl-NonText syntax.txt /*hl-NonText*
hl-Normal syntax.txt /*hl-Normal*
hl-Pmenu syntax.txt /*hl-Pmenu*
@@ -8399,6 +8413,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*
@@ -8679,6 +8695,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*
@@ -8823,11 +8840,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*
@@ -8957,7 +8974,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*
@@ -9504,6 +9520,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*
@@ -9556,6 +9573,7 @@ quickfix-functions usr_41.txt /*quickfix-functions*
quickfix-gcc quickfix.txt /*quickfix-gcc*
quickfix-index quickfix.txt /*quickfix-index*
quickfix-manx quickfix.txt /*quickfix-manx*
quickfix-pandoc quickfix.txt /*quickfix-pandoc*
quickfix-parse quickfix.txt /*quickfix-parse*
quickfix-perl quickfix.txt /*quickfix-perl*
quickfix-size quickfix.txt /*quickfix-size*
@@ -10176,6 +10194,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*
@@ -10400,6 +10419,7 @@ t_ve term.txt /*t_ve*
t_vi term.txt /*t_vi*
t_vs term.txt /*t_vs*
t_xn term.txt /*t_xn*
t_xo term.txt /*t_xo*
t_xs term.txt /*t_xs*
tab intro.txt /*tab*
tab-page tabpage.txt /*tab-page*
@@ -11240,7 +11260,6 @@ vms-problems os_vms.txt /*vms-problems*
vms-started os_vms.txt /*vms-started*
vms-usage os_vms.txt /*vms-usage*
vote-for-features sponsor.txt /*vote-for-features*
votes-counted sponsor.txt /*votes-counted*
votes-for-changes todo.txt /*votes-for-changes*
vreplace-mode insert.txt /*vreplace-mode*
vt100-cursor-keys term.txt /*vt100-cursor-keys*
@@ -11367,6 +11386,9 @@ x11-clientserver remote.txt /*x11-clientserver*
x11-cut-buffer gui_x11.txt /*x11-cut-buffer*
x11-selection gui_x11.txt /*x11-selection*
xattr editing.txt /*xattr*
xdg-base-dir starting.txt /*xdg-base-dir*
xdg-runtime starting.txt /*xdg-runtime*
xdg-vimrc starting.txt /*xdg-vimrc*
xf86conf.vim syntax.txt /*xf86conf.vim*
xfontset mbyte.txt /*xfontset*
xfree-xterm syntax.txt /*xfree-xterm*

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 Feb 28
*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' 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.
@@ -441,6 +441,11 @@ OUTPUT CODES *terminal-output-codes*
*t_xn* *'t_xn'*
t_xn if non-empty, writing a character at the last screen cell
does not cause scrolling
*t_xo* *'t_xo'*
t_xo if non-empty, terminal uses xon/xoff handshaking, mapping
CTRL-S will not be possible then, since it is used for flow
control (used by vt420 terminal). Setting this flag has only
an effect when starting Vim.
t_ZH italics mode *t_ZH* *'t_ZH'*
t_ZR italics end *t_ZR* *'t_ZR'*

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 Feb 18
*testing.txt* For Vim version 9.1. Last change: 2024 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -365,29 +365,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
@@ -438,8 +441,8 @@ test_settime({expr}) *test_settime()*
GetTime()->test_settime()
test_srand_seed([seed]) *test_srand_seed()*
When [seed] is given this sets the seed value used by
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.

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 May 11
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1710,7 +1710,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 +2442,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 +2473,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 +2543,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 +3070,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 +3472,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 +3761,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 +3818,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 +3976,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).
@@ -4773,10 +4776,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 @@
*uganda.txt* For Vim version 9.1. Last change: 2022 Mar 02
*uganda.txt* For Vim version 9.1. Last change: 2024 Apr 22
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -203,7 +203,7 @@ visited about once a year to check the progress (at our own cost). I have
visited the centre myself many times, starting in 1993. The visit reports are
on the ICCF web site.
If you have any further questions, send me e-mail: <Bram@vim.org>.
If you have any further questions, send e-mail: <Bram@vim.org>.
The address of the centre is:
Kibaale Children's Centre
@@ -223,9 +223,8 @@ Canada: Contact Kuwasha in Surrey, Canada. They take care of the
Canadian sponsors for the children in Kibaale. Kuwasha
forwards 100% of the money to the project in Uganda. You can
send them a one time donation directly.
Please send me a note so that I know what has been donated
because of Vim. Look on their site for information about
sponsorship: https://www.kuwasha.net/
Look on their site for information about sponsorship:
https://www.kuwasha.net/
If you make a donation to Kuwasha you will receive a tax
receipt which can be submitted with your tax return.

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 May 17
VIM USER MANUAL - by Bram Moolenaar
@@ -436,6 +436,19 @@ 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
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 May 07
VIM USER MANUAL - by Bram Moolenaar
@@ -930,6 +930,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
@@ -1096,7 +1097,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

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 May 16
VIM USER MANUAL - by Bram Moolenaar
@@ -45,7 +45,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 +155,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".

View File

@@ -1,4 +1,4 @@
*version9.txt* For Vim version 9.1. Last change: 2024 Mar 28
*version9.txt* For Vim version 9.1. Last change: 2024 May 17
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -32090,7 +32090,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 +40641,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 +40687,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()
@@ -41543,6 +41543,8 @@ and is a work in progress.
Support for Wayland UI.
Support for the XDG Desktop Specification |xdg-base-dir|
Vim9 script
-----------
Add support for internal builtin functions with vim9 objects, see
@@ -41552,6 +41554,7 @@ Enum support for Vim9 script |:enum|
Other improvements *new-other-9.2*
------------------
The comment plugin |comment-install| is included.
Changed *changed-9.2*
-------
@@ -41571,6 +41574,7 @@ Functions: ~
|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
|getregionpos()| get a list of positions for a region
Autocommands: ~
@@ -41581,12 +41585,19 @@ Autocommands: ~
|WinNewPre| before creating a new window
Highlighting: ~
|hl-MsgArea| highlighting of the Command-line and messages area
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)
==============================================================================
INCOMPATIBLE CHANGES *incompatible-9.2*

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 @@
*vim9.txt* For Vim version 9.1. Last change: 2024 Jan 12
*vim9.txt* For Vim version 9.1. Last change: 2024 Apr 13
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -641,6 +641,14 @@ No command can follow the "{", only a comment can be used there.
The block can also be used for defining a user command. Inside the block Vim9
syntax will be used.
This is an example of using here-docs: >
com SomeCommand {
g:someVar =<< trim eval END
ccc
ddd
END
}
If the statements include a dictionary, its closing bracket must not be
written at the start of a line. Otherwise, it would be parsed as the end of
the block. This does not work: >
@@ -1513,7 +1521,6 @@ Custom types can be defined with `:type`: >
:type MyList list<string>
Custom types must start with a capital letter, to avoid name clashes with
builtin types added later, similarly to user functions.
{not implemented yet}
And classes and interfaces can be used as types: >
:class MyClass

View File

@@ -1,4 +1,4 @@
*vim9class.txt* For Vim version 9.1. Last change: 2024 Apr 04
*vim9class.txt* For Vim version 9.1. Last change: 2024 Apr 13
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -593,7 +593,7 @@ A class is defined between `:class` and `:endclass`. The whole class is
defined in one script file. It is not possible to add to a class later.
A class can only be defined in a |Vim9| script file. *E1316*
A class cannot be defined inside a function.
A class cannot be defined inside a function. *E1429*
It is possible to define more than one class in a script file. Although it
usually is better to export only one main class. It can be useful to define

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

@@ -101,6 +101,9 @@ au BufNewFile,BufRead build.xml setf ant
" Arduino
au BufNewFile,BufRead *.ino,*.pde setf arduino
" Ash of busybox
au BufNewFile,BufRead .ash_history setf sh
" Apache config file
au BufNewFile,BufRead .htaccess,*/etc/httpd/*.conf setf apache
au BufNewFile,BufRead */etc/apache2/sites-*/*.com setf apache
@@ -296,17 +299,24 @@ au BufNewFile,BufRead calendar setf calendar
" Cap'n Proto
au BufNewFile,BufRead *.capnp setf capnp
" Cgdb config file
au BufNewFile,BufRead cgdbrc setf cgdbrc
" C#
au BufNewFile,BufRead *.cs,*.csx setf cs
" CSDL
au BufNewFile,BufRead *.csdl setf csdl
" Ctags
au BufNewFile,BufRead *.ctags setf conf
" Cabal
au BufNewFile,BufRead *.cabal setf cabal
" Cdrdao TOC
au BufNewFile,BufRead *.toc setf cdrtoc
" Cdrdao TOC or LaTeX \tableofcontents files
au BufNewFile,BufRead *.toc
\ if getline(1) =~# '\\contentsline' |setf tex|else|setf cdrtoc|endif
" Cdrdao config
au BufNewFile,BufRead */etc/cdrdao.conf,*/etc/defaults/cdrdao,*/etc/default/cdrdao,.cdrdao setf cdrdaoconf
@@ -320,6 +330,9 @@ au BufRead,BufNewFile *.chai setf chaiscript
" Chatito
au BufNewFile,BufRead *.chatito setf chatito
" Chktex
au BufRead,BufNewFile .chktexrc setf conf
" Chuck
au BufNewFile,BufRead *.ck setf chuck
@@ -412,8 +425,8 @@ au BufNewFile,BufRead .clang-format setf yaml
" Clang-tidy
au BufNewFile,BufRead .clang-tidy setf yaml
" Matplotlib style
au BufNewFile,BufRead *.mplstyle setf yaml
" Matplotlib
au BufNewFile,BufRead *.mplstyle,matplotlibrc setf yaml
" Clean
au BufNewFile,BufRead *.dcl,*.icl setf clean
@@ -424,6 +437,9 @@ au BufNewFile,BufRead *.eni setf cl
" Clever or dtd
au BufNewFile,BufRead *.ent call dist#ft#FTent()
" Cling
au BufNewFile,BufRead .cling_history setf cpp
" Clipper, FoxPro, ABB RAPID or eviews
au BufNewFile,BufRead *.prg\c call dist#ft#FTprg()
@@ -433,6 +449,9 @@ au BufNewFile,BufRead *.clj,*.cljs,*.cljx,*.cljc setf clojure
" Cmake
au BufNewFile,BufRead CMakeLists.txt,*.cmake,*.cmake.in setf cmake
" CmakeCache
autocmd BufRead,BufNewFile CMakeCache.txt setf cmakecache
" Cmusrc
au BufNewFile,BufRead */.cmus/{autosave,rc,command-history,*.theme} setf cmusrc
au BufNewFile,BufRead */cmus/{rc,*.theme} setf cmusrc
@@ -513,6 +532,10 @@ au BufNewFile,BufRead s6-* setf execline
" Fontconfig config files
au BufNewFile,BufRead fonts.conf setf xml
" Libreoffice config files
au BufNewFile,BufRead *.xcu,*.xlb,*.xlc,*.xba setf xml
au BufNewFile,BufRead psprint.conf,sofficerc setf dosini
" Lynx config files
au BufNewFile,BufRead lynx.cfg setf lynx
@@ -523,9 +546,24 @@ au BufNewFile,BufRead *.lrc setf lyrics
au BufNewFile,BufRead *.quake,cm3.cfg setf m3quake
au BufNewFile,BufRead m3makefile,m3overrides setf m3build
" Many Python tools use dosini as their config, like setuptools, pudb, coverage
" XDG mimeapps.list
au BufNewFile,BufRead mimeapps.list setf dosini
" Many tools written in Python use dosini as their config
" like setuptools, pudb, coverage, pypi, gitlint, oelint-adv, pylint, bpython, mypy
" (must be before *.cfg)
au BufNewFile,BufRead setup.cfg,pudb.cfg,.coveragerc setf dosini
au BufNewFile,BufRead pip.conf,setup.cfg,pudb.cfg,.coveragerc,.pypirc,.gitlint,.oelint.cfg setf dosini
au BufNewFile,BufRead {.,}pylintrc,*/bpython/config,*/mypy/config setf dosini
" Many tools written in Python use toml as their config, like black
au BufNewFile,BufRead .black setf toml
au BufNewFile,BufRead black
\ if getline(1) =~ 'tool.back'
\| setf toml
\| endif
" LXQt's programs use dosini as their config
au BufNewFile,BufRead */{lxqt,screengrab}/*.conf setf dosini
" Quake
au BufNewFile,BufRead *baseq[2-3]/*.cfg,*id1/*.cfg setf quake
@@ -534,6 +572,14 @@ au BufNewFile,BufRead *quake[1-3]/*.cfg setf quake
" Quake C
au BufNewFile,BufRead *.qc setf c
" LaTeX packages use LaTeX as their configuration, such as:
" ~/.texlive/texmf-config/tex/latex/hyperref/hyperref.cfg
" ~/.texlive/texmf-config/tex/latex/docstrip/docstrip.cfg
au BufNewFile,BufRead */tex/latex/**.cfg setf tex
" Wakatime config
au BufNewFile,BufRead .wakatime.cfg setf dosini
" Configure files
au BufNewFile,BufRead *.cfg\c call dist#ft#FTcfg()
@@ -663,7 +709,7 @@ au BufNewFile,BufRead *.dsl
au BufNewFile,BufRead *.dtd setf dtd
" DTS/DSTI/DTSO (device tree files)
au BufNewFile,BufRead *.dts,*.dtsi,*.dtso,*.its setf dts
au BufNewFile,BufRead *.dts,*.dtsi,*.dtso,*.its,*.keymap setf dts
" Earthfile
au BufNewFile,BufRead Earthfile setf earthfile
@@ -746,6 +792,9 @@ au BufNewFile,BufRead *.fir setf firrtl
" Fish shell
au BufNewFile,BufRead *.fish setf fish
" Flatpak config
au BufNewFile,BufRead */flatpak/repo/config setf dosini
" FlexWiki - disabled, because it has side effects when a .wiki file
" is not actually FlexWiki
"au BufNewFile,BufRead *.wiki setf flexwiki
@@ -929,11 +978,7 @@ au BufNewFile,BufRead *.hs,*.hsc,*.hs-boot,*.hsig setf haskell
au BufNewFile,BufRead *.lhs setf lhaskell
au BufNewFile,BufRead *.chs setf chaskell
au BufNewFile,BufRead cabal.project setf cabalproject
au BufNewFile,BufRead $HOME/.cabal/config setf cabalconfig
if exists('$XDG_CONFIG_HOME')
au BufNewFile,BufRead $XDG_CONFIG_HOME/cabal/config setf cabalconfig
endif
au BufNewFile,BufRead $HOME/.config/cabal/config setf cabalconfig
au BufNewFile,BufRead */{.,}cabal/config setf cabalconfig
au BufNewFile,BufRead cabal.config setf cabalconfig
au BufNewFile,BufRead *.persistentmodels setf haskellpersistent
@@ -971,6 +1016,9 @@ au BufRead,BufNewFile *.hoon setf hoon
" Tilde (must be before HTML)
au BufNewFile,BufRead *.t.html setf tilde
" Translate shell
au BufNewFile,BufRead init.trans,*/etc/translate-shell,.trans setf clojure
" HTML (.shtml and .stm for server side)
au BufNewFile,BufRead *.html,*.htm,*.shtml,*.stm call dist#ft#FThtml()
au BufNewFile,BufRead *.cshtml setf html
@@ -996,6 +1044,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
@@ -1024,7 +1075,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
@@ -1055,6 +1106,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
@@ -1078,6 +1132,7 @@ au BufNewFile,BufRead *.jj,*.jjt setf javacc
" JavaScript, ECMAScript, ES module script, CommonJS script
au BufNewFile,BufRead *.js,*.jsm,*.javascript,*.es,*.mjs,*.cjs setf javascript
au BufNewFile,BufRead .node_repl_history setf javascript
" JavaScript with React
au BufNewFile,BufRead *.jsx setf javascriptreact
@@ -1096,6 +1151,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
@@ -1118,11 +1176,11 @@ 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 setf json
au BufNewFile,BufRead .prettierrc,.firebaserc,.stylelintrc,flake.lock setf json
" JSONC (JSON with comments)
au BufNewFile,BufRead *.jsonc,.babelrc,.eslintrc,.jsfmtrc setf jsonc
au BufNewFile,BufRead .jshintrc,.hintrc,.swrc,[jt]sconfig*.json setf jsonc
au BufNewFile,BufRead .jshintrc,.jscsrc,.vsconfig,.hintrc,.swrc,[jt]sconfig*.json setf jsonc
" JSON
au BufNewFile,BufRead *.json,*.jsonp,*.webmanifest setf json
@@ -1258,13 +1316,17 @@ au BufNewFile,BufRead */etc/login.defs setf logindefs
au BufNewFile,BufRead *.lgt setf logtalk
" LOTOS
au BufNewFile,BufRead *.lot,*.lotos setf lotos
au BufNewFile,BufRead *.lotos setf lotos
" LOTOS or LaTeX \listoftables files
au BufNewFile,BufRead *.lot
\ if getline(1) =~# '\\contentsline' |setf tex|else|setf lotos|endif
" Lout (also: *.lt)
au BufNewFile,BufRead *.lou,*.lout setf lout
" Lua, Texlua
au BufNewFile,BufRead *.lua,*.tlu setf lua
au BufNewFile,BufRead *.lua,*.tlu,.lua_history setf lua
" Luau
au BufNewFile,BufRead *.luau setf luau
@@ -1287,6 +1349,7 @@ au BufNewFile,BufRead *.lss setf lss
" M4
au BufNewFile,BufRead *.m4
\ if expand("<afile>") !~? 'html.m4$\|fvwm2rc' | setf m4 | endif
au BufNewFile,BufRead .m4_history setf m4
" MaGic Point
au BufNewFile,BufRead *.mgp setf mgp
@@ -1302,6 +1365,7 @@ au BufNewFile,BufRead .mailcap,mailcap setf mailcap
" Makefile
au BufNewFile,BufRead *[mM]akefile,*.mk,*.mak,*.dsp setf make
au BufNewFile,BufRead Kbuild setf make
" MakeIndex
au BufNewFile,BufRead *.ist,*.mst setf ist
@@ -1322,7 +1386,12 @@ au BufNewFile,BufRead *.mv,*.mpl,*.mws setf maple
au BufNewFile,BufRead *.map setf map
" Markdown
au BufNewFile,BufRead *.markdown,*.mdown,*.mkd,*.mkdn,*.mdwn,*.md setf markdown
au BufNewFile,BufRead *.markdown,*.mdown,*.mkd,*.mkdn,*.mdwn,*.md
\ if exists("g:filetype_md") |
\ exe "setf " . g:filetype_md |
\ else |
\ setf markdown |
\ endif
" Mason
au BufNewFile,BufRead *.mason,*.mhtml,*.comp setf mason
@@ -1336,6 +1405,9 @@ au BufNewFile,BufRead *.nb setf mma
" Maya Extension Language
au BufNewFile,BufRead *.mel setf mel
" mbsync
au BufNewFile,BufRead .mbsyncrc setf conf
" Mercurial (hg) commit file
au BufNewFile,BufRead hg-editor-*.txt setf hgcommit
@@ -1368,6 +1440,9 @@ au BufNewFile,BufRead *.mix,*.mixal setf mix
" MMIX or VMS makefile
au BufNewFile,BufRead *.mms call dist#ft#FTmms()
" msmtp
au BufNewFile,BufRead .msmtprc setf msmtp
" Symbian meta-makefile definition (MMP)
au BufNewFile,BufRead *.mmp setf mmp
@@ -1457,6 +1532,9 @@ au BufNewFile,BufRead Neomuttrc setf neomuttrc
" Netrc
au BufNewFile,BufRead .netrc setf netrc
" Neofetch
au BufNewFile,BufRead */neofetch/config.conf setf sh
" Nginx
au BufNewFile,BufRead *.nginx,nginx*.conf,*nginx.conf,*/etc/nginx/*,*/usr/local/nginx/conf/*,*/nginx/*.conf setf nginx
@@ -1492,6 +1570,9 @@ au BufNewFile,BufRead *.mm call dist#ft#FTmm()
" Not Quite C
au BufNewFile,BufRead *.nqc setf nqc
" notmuch
au BufNewFile,BufRead .notmuch-config setf dosini
" NSE - Nmap Script Engine - uses Lua syntax
au BufNewFile,BufRead *.nse setf lua
@@ -1522,6 +1603,9 @@ au BufNewFile,BufRead *.odin setf odin
" Omnimark
au BufNewFile,BufRead *.xom,*.xin setf omnimark
" ondir
au BufNewFile,BufRead .ondirrc setf ondir
" OPAM
au BufNewFile,BufRead opam,*.opam,*.opam.template setf opam
@@ -1547,9 +1631,10 @@ au BufNewFile,BufRead *.org,*.org_archive setf org
au BufNewFile,BufRead pf.conf setf pf
" ini style config files, using # comments
au BufNewFile,BufRead */etc/pacman.conf,mpv.conf setf confini
au BufNewFile,BufRead pacman.conf,mpv.conf setf confini
au BufNewFile,BufRead */.aws/config,*/.aws/credentials setf confini
au BufNewFile,BufRead *.nmconnection setf confini
au BufNewFile,BufRead paru.conf setf confini
" Pacman hooks
au BufNewFile,BufRead *.hook
@@ -1557,6 +1642,9 @@ au BufNewFile,BufRead *.hook
\ setf confini |
\ endif
" Pacman makepkg
au BufNewFile,BufRead {.,}makepkg.conf setf sh
" Pacman log
au BufNewFile,BufRead pacman.log setf pacmanlog
@@ -1578,8 +1666,16 @@ au BufNewFile,BufRead *.pas setf pascal
" Pascal or Puppet manifest
au BufNewFile,BufRead *.pp call dist#ft#FTpp()
" Delphi or Lazarus program file
au BufNewFile,BufRead *.dpr,*.lpr setf pascal
" Delphi
au BufNewFile,BufRead *.dpr setf pascal
" Xilinx labtools project file or Lazarus program file
au BufNewFile,BufRead *.lpr
\ if getline(1) =~# "<?xml" |
\ setf xml |
\ else |
\ setf pascal |
\ endif
" Free Pascal makefile definition file
au BufNewFile,BufRead *.fpc setf fpcmake
@@ -1604,6 +1700,9 @@ else
endif
au BufNewFile,BufRead *.plx,*.al,*.psgi setf perl
" Perl Reply
au BufNewFile,BufRead .replyrc setf dosini
" Perl, XPM or XPM2
au BufNewFile,BufRead *.pm
\ if getline(1) =~ "XPM2" |
@@ -1643,6 +1742,11 @@ au BufNewFile,BufRead .pinerc,pinerc,.pinercex,pinercex setf pine
" Pip requirements
au BufNewFile,BufRead *.pip setf requirements
au BufNewFile,BufRead requirements.txt setf requirements
au BufNewFile,BufRead *-requirements.txt setf requirements
au BufNewFile,BufRead constraints.txt setf requirements
au BufNewFile,BufRead requirements.in setf requirements
au BufNewFile,BufRead requirements/*.txt setf requirements
au BufNewFile,BufRead requires/*.txt setf requirements
" Pipenv Pipfiles
au BufNewFile,BufRead Pipfile setf toml
@@ -1754,7 +1858,7 @@ au BufNewFile,BufRead *.psl setf psl
" Google protocol buffers
au BufNewFile,BufRead *.proto setf proto
au BufNewFile,BufRead *.pbtxt setf pbtxt
au BufNewFile,BufRead *.txtpb,*.textproto,*.textpb,*.pbtxt setf pbtxt
" Poke
au BufNewFile,BufRead *.pk setf poke
@@ -1773,7 +1877,7 @@ au BufNewFile,BufRead *.pyx,*.pxd setf pyrex
" Python, Python Shell Startup and Python Stub Files
" Quixote (Python-based web framework)
au BufNewFile,BufRead *.py,*.pyw,.pythonstartup,.pythonrc setf python
au BufNewFile,BufRead *.py,*.pyw,.pythonstartup,.pythonrc,.python_history,.jline-jython.history setf python
au BufNewFile,BufRead *.ptl,*.pyi,SConstruct setf python
" QL
@@ -1819,6 +1923,9 @@ au BufNewFile,BufRead *.rego setf rego
" Rexx
au BufNewFile,BufRead *.rex,*.orx,*.rxo,*.rxj,*.jrexx,*.rexxj,*.rexx,*.testGroup,*.testUnit setf rexx
" Ripgrep rc
au BufNewFile,BufRead {.,}ripgreprc setf conf
" R Help file
if has("fname_case")
au BufNewFile,BufRead *.rd,*.Rd setf rhelp
@@ -1841,7 +1948,7 @@ else
endif
" R profile file
au BufNewFile,BufRead .Rprofile,Rprofile,Rprofile.site setf r
au BufNewFile,BufRead .Rhistory,.Rprofile,Rprofile,Rprofile.site setf r
" RSS looks like XML
au BufNewFile,BufRead *.rss setf xml
@@ -1883,6 +1990,9 @@ au BufNewFile,BufRead *.robot,*.resource setf robot
" Robots.txt
au BufNewFile,BufRead robots.txt setf robots
" Roc
au BufNewFile,BufRead *.roc setf roc
" RON (Rusty Object Notation)
au BufNewFile,BufRead *.ron setf ron
@@ -1899,7 +2009,7 @@ au BufNewFile,BufRead *.rst setf rst
au BufNewFile,BufRead *.rtf setf rtf
" Interactive Ruby shell
au BufNewFile,BufRead .irbrc,irbrc setf ruby
au BufNewFile,BufRead .irbrc,irbrc,.irb_history,irb_history setf ruby
" Ruby
au BufNewFile,BufRead *.rb,*.rbw setf ruby
@@ -2172,6 +2282,7 @@ au BufNewFile,BufRead *.typ call dist#ft#FTtyp()
" SQL
au BufNewFile,BufRead *.sql call dist#ft#SQL()
au BufNewFile,BufRead .sqlite_history setf sql
" SQLJ
au BufNewFile,BufRead *.sqlj setf sqlj
@@ -2276,7 +2387,13 @@ au BufRead,BufNewFile {pending,completed,undo}.data setf taskdata
au BufRead,BufNewFile *.task setf taskedit
" Tcl (JACL too)
au BufNewFile,BufRead *.tcl,*.tm,*.tk,*.itcl,*.itk,*.jacl,.tclshrc,.wishrc setf tcl
au BufNewFile,BufRead *.tcl,*.tm,*.tk,*.itcl,*.itk,*.jacl,.tclshrc,.wishrc,.tclsh-history setf tcl
" 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
@@ -2304,6 +2421,12 @@ au BufRead,BufNewFile *.tfvars setf terraform-vars
" TeX
au BufNewFile,BufRead *.latex,*.sty,*.dtx,*.ltx,*.bbl setf tex
au BufNewFile,BufRead *.tex call dist#ft#FTtex()
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,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
@@ -2369,6 +2492,7 @@ au BufNewFile,BufReadPost *.ts
\ else |
\ setf typescript |
\ endif
au BufNewFile,BufRead .ts_node_repl_history setf typescript
" TypeScript module and common
au BufNewFile,BufRead *.mts,*.cts setf typescript
@@ -2555,9 +2679,18 @@ au BufNewFile,BufRead *.web
" Windows Scripting Host and Windows Script Component
au BufNewFile,BufRead *.ws[fc] setf wsh
" Xdg-user-dirs
au BufNewFile,BufRead user-dirs.dirs,user-dirs.defaults setf sh
" XHTML
au BufNewFile,BufRead *.xhtml,*.xht setf xhtml
" X11vnc
au BufNewFile,BufRead .x11vncrc setf conf
" Xprofile
au BufNewFile,BufRead .xprofile setf sh
" X Pixmap (dynamically sets colors, this used to trigger on BufEnter to make
" it work better, but that breaks setting 'filetype' manually)
au BufNewFile,BufRead *.xpm
@@ -2584,6 +2717,10 @@ au BufNewFile,BufRead xorg.conf,xorg.conf-4 let b:xf86conf_xfree86_version = 4 |
" Xinetd conf
au BufNewFile,BufRead */etc/xinetd.conf setf xinetd
" Xilinx Vivado/Vitis project files and block design files
au BufNewFile,BufRead *.xpr,*.xpfm,*.spfm,*.bxml setf xml
au BufNewFile,BufRead *.bd,*.bda,*.xci setf json
" XS Perl extension interface language
au BufNewFile,BufRead *.xs setf xs
@@ -2715,6 +2852,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
@@ -2851,6 +2992,9 @@ au BufNewFile,BufRead mutt{ng,}rc*,Mutt{ng,}rc* call s:StarSetf('muttrc')
au BufNewFile,BufRead .neomuttrc*,*/.neomutt/neomuttrc* call s:StarSetf('neomuttrc')
au BufNewFile,BufRead neomuttrc*,Neomuttrc* call s:StarSetf('neomuttrc')
" Nfs
au BufNewFile,BufRead nfs.conf,nfsmount.conf setf dosini
" Nroff macros
au BufNewFile,BufRead tmac.* call s:StarSetf('nroff')
@@ -2860,6 +3004,9 @@ au BufNewFile,BufRead */etc/hostname.* call s:StarSetf('config')
" Pam conf
au BufNewFile,BufRead */etc/pam.d/* call s:StarSetf('pamconf')
" Pandoc
au BufNewFile,BufRead,BufFilePost *.pandoc,*.pdk,*.pd,*.pdc setf pandoc
" Printcap and Termcap
au BufNewFile,BufRead *printcap*
\ if !did_filetype()
@@ -2880,6 +3027,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
@@ -2903,6 +3053,12 @@ au BufNewFile,BufRead {.,}tmux*.conf* setf tmux
" Universal Scene Description
au BufNewFile,BufRead *.usda,*.usd setf usd
" UCI
" UCI files are normally in /etc/config, but that might be mounted over sshfs or similar, so we match more loosely.
" There was some concern[1] that this pattern would match too much, so now we check the file content as well.
" [1]: https://github.com/vim/vim/pull/14385#discussion_r1558878741
au BufNewFile,BufRead */etc/config/* if dist#ft#Detect_UCI_statements() | call s:StarSetf('uci') | endif
" VHDL
au BufNewFile,BufRead *.vhdl_[0-9]* call s:StarSetf('vhdl')
@@ -2940,6 +3096,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
@@ -2950,6 +3115,9 @@ au BufNewFile,BufRead *.txt
" Blueprint markup files
au BufNewFile,BufRead *.blp setf blueprint
" Blueprint build system file
au BufNewFile,BufRead *.bp setf bp
" Use the filetype detect plugins. They may overrule any of the previously
" detected filetypes.
runtime! ftdetect/*.vim
@@ -2972,6 +3140,8 @@ au filetypedetect BufNewFile,BufRead,StdinReadPost *
" Yarn lock
au BufNewFile,BufRead yarn.lock setf yaml
" Zathurarc
au BufNewFile,BufRead zathurarc setf zathurarc
" 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'.
@@ -2998,3 +3168,5 @@ endfunc
" Restore 'cpoptions'
let &cpo = s:cpo_save
unlet s:cpo_save
" vim: ts=8

View File

@@ -1,13 +1,23 @@
" Vim filetype plugin file
" Language: asm
" Maintainer: Colin Caine <cmcaine at the common googlemail domain>
" Last Change: 23 May 2020
" Last Change: 2020 May 23
" 2023 Aug 28 by Vim Project (undo_ftplugin)
" 2024 Apr 09 by Vim Project (add Matchit support)
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
let b:undo_ftplugin = "setl commentstring< comments<"
let b:undo_ftplugin = "setl commentstring< comments< include<"
" Matchit support
if !exists('b:match_words')
let b:match_skip = 's:comment\|string\|character\|special'
let b:match_words = '^\s*%\s*if\%(\|num\|idn\|nidn\)\>:^\s*%\s*elif\>:^\s*%\s*else\>:^\s*%\s*endif\>,^\s*%\s*macro\>:^\s*%\s*endmacro\>,^\s*%\s*rep\>:^\s*%\s*endrep\>'
let b:match_ignorecase = 1
let b:undo_ftplugin ..= " | unlet! b:match_ignorecase b:match_words b:match_skip"
endif

186
runtime/ftplugin/astro.vim Normal file
View File

@@ -0,0 +1,186 @@
" Vim filetype plugin file
" Language: Astro
" Maintainer: Romain Lafourcade <romainlafourcade@gmail.com>
" Last Change: 2024 Apr 21
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let s:cpo_save = &cpo
set cpo-=C
function! s:IdentifyScope(start, end) abort
let pos_start = searchpairpos(a:start, '', a:end, 'bnW')
let pos_end = searchpairpos(a:start, '', a:end, 'nW')
return pos_start != [0, 0]
\ && pos_end != [0, 0]
\ && pos_start[0] != getpos('.')[1]
endfunction
function! s:AstroComments() abort
if s:IdentifyScope('^---\n\s*\S', '^---\n\n')
\ || s:IdentifyScope('^\s*<script', '^\s*<\/script>')
" ECMAScript comments
setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,://
setlocal commentstring=//%s
elseif s:IdentifyScope('^\s*<style', '^\s*<\/style>')
" CSS comments
setlocal comments=s1:/*,mb:*,ex:*/
setlocal commentstring=/*%s*/
else
" HTML comments
setlocal comments=s:<!--,m:\ \ \ \ ,e:-->
setlocal commentstring=<!--%s-->
endif
endfunction
" https://code.visualstudio.com/docs/languages/jsconfig
function! s:CollectPathsFromConfig() abort
let config_json = findfile('tsconfig.json', '.;')
if empty(config_json)
let config_json = findfile('jsconfig.json', '.;')
if empty(config_json)
return
endif
endif
let paths_from_config = config_json
\ ->readfile()
\ ->filter({ _, val -> val =~ '^\s*[\[\]{}"0-9]' })
\ ->join()
\ ->json_decode()
\ ->get('compilerOptions', {})
\ ->get('paths', {})
if !empty(paths_from_config)
let b:astro_paths = paths_from_config
\ ->map({key, val -> [
\ key->glob2regpat(),
\ val[0]->substitute('\/\*$', '', '')
\ ]})
\ ->values()
endif
let b:undo_ftplugin ..= " | unlet! b:astro_paths"
endfunction
function! s:AstroInclude(filename) abort
let decorated_filename = a:filename
\ ->substitute("^", "@", "")
let found_path = b:
\ ->get("astro_paths", [])
\ ->indexof({ key, val -> decorated_filename =~ val[0]})
if found_path != -1
let alias = b:astro_paths[found_path][0]
let path = b:astro_paths[found_path][1]
\ ->substitute('\(\/\)*$', '/', '')
return decorated_filename
\ ->substitute(alias, path, '')
endif
return a:filename
endfunction
let b:undo_ftplugin = "setlocal"
\ .. " formatoptions<"
\ .. " path<"
\ .. " suffixesadd<"
\ .. " matchpairs<"
\ .. " comments<"
\ .. " commentstring<"
\ .. " iskeyword<"
\ .. " define<"
\ .. " include<"
\ .. " includeexpr<"
" Create self-resetting autocommand group
augroup Astro
autocmd! * <buffer>
augroup END
" Set 'formatoptions' to break comment lines but not other lines,
" and insert the comment leader when hitting <CR> or using "o".
setlocal formatoptions-=t
setlocal formatoptions+=croql
" Remove irrelevant part of 'path'.
setlocal path-=/usr/include
" Seed 'path' with default directories for :find, gf, etc.
setlocal path+=src/**
setlocal path+=public/**
" Help Vim find extension-less filenames
let &l:suffixesadd =
\ ".astro"
\ .. ",.js,.jsx,.es,.es6,.cjs,.mjs,.jsm"
\ .. ",.json"
\ .. ",.scss,.sass,.css"
\ .. ",.svelte"
\ .. ",.ts,.tsx,.d.ts"
\ .. ",.vue"
" From $VIMRUNTIME/ftplugin/html.vim
setlocal matchpairs+=<:>
" Matchit configuration
if exists("loaded_matchit")
let b:match_ignorecase = 0
" From $VIMRUNTIME/ftplugin/javascript.vim
let b:match_words =
\ '\<do\>:\<while\>,'
\ .. '<\@<=\([^ \t>/]\+\)\%(\s\+[^>]*\%([^/]>\|$\)\|>\|$\):<\@<=/\1>,'
\ .. '<\@<=\%([^ \t>/]\+\)\%(\s\+[^/>]*\|$\):/>'
" From $VIMRUNTIME/ftplugin/html.vim
let b:match_words ..=
\ '<!--:-->,'
\ .. '<:>,'
\ .. '<\@<=[ou]l\>[^>]*\%(>\|$\):<\@<=li\>:<\@<=/[ou]l>,'
\ .. '<\@<=dl\>[^>]*\%(>\|$\):<\@<=d[td]\>:<\@<=/dl>,'
\ .. '<\@<=\([^/!][^ \t>]*\)[^>]*\%(>\|$\):<\@<=/\1>'
let b:undo_ftplugin ..= " | unlet! b:match_ignorecase b:match_words"
endif
" Change what constitutes a word, mainly useful for CSS/SASS
setlocal iskeyword+=-
setlocal iskeyword+=$
setlocal iskeyword+=%
" Define paths/aliases for module resolution
call s:CollectPathsFromConfig()
" Find ESM imports
setlocal include=^\\s*\\(import\\\|import\\s\\+[^\/]\\+from\\)\\s\\+['\"]
" Process aliases if file can't be found
setlocal includeexpr=s:AstroInclude(v:fname)
" Set 'define' to a comprehensive value
" From $VIMRUNTIME/ftplugin/javascript.vim and
" $VIMRUNTIME/ftplugin/sass.vim
let &l:define =
\ '\(^\s*(*async\s\+function\|(*function\)'
\ .. '\|^\s*\(\*\|static\|async\|get\|set\|\i\+\.\)'
\ .. '\|^\s*\(\ze\i\+\)\(([^)]*).*{$\|\s*[:=,]\)'
" Set &comments and &commentstring according to current scope
autocmd Astro CursorMoved <buffer> call s:AstroComments()
let &cpo = s:cpo_save
unlet s:cpo_save
" vim: textwidth=78 tabstop=8 shiftwidth=4 softtabstop=4 expandtab

14
runtime/ftplugin/bp.vim Normal file
View File

@@ -0,0 +1,14 @@
" Blueprint build system filetype plugin file
" Language: Blueprint
" Maintainer: Bruno BELANYI <bruno.vim@belanyi.fr>
" Latest Revision: 2024-04-19
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
setlocal comments=b://,s1:/*,mb:*,ex:*/
setlocal commentstring=//\ %s
let b:undo_ftplugin = "setlocal comments< commentstring<"

View File

@@ -0,0 +1,21 @@
" Vim filetype plugin file
" Language: cgdbrc
" Maintainer: Wu, Zhenyu <wuzhenyu@ustc.edu>
" Documentation: https://cgdb.github.io/docs/Configuring-CGDB.html
" Latest Revision: 2024-04-09
if exists('b:did_ftplugin')
finish
endif
let b:did_ftplugin = 1
let s:save_cpoptions = &cpoptions
set cpoptions&vim
let b:undo_ftplugin = 'setl com< cms<'
setlocal commentstring=#%s
setlocal comments=:#
let &cpoptions = s:save_cpoptions
unlet s:save_cpoptions

View File

@@ -2,6 +2,7 @@
" Language: CMake
" Maintainer: Keith Smiley <keithbsmiley@gmail.com>
" Last Change: 2018 Aug 30
" 2024 Apr 20 - add include and suffixadd (Vim Project)
" Only do this when not done yet for this buffer
if exists("b:did_ftplugin")
@@ -15,7 +16,7 @@ set cpo&vim
" Don't load another plugin for this buffer
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl commentstring<"
let b:undo_ftplugin = "setl inc< sua< commentstring<"
if exists('loaded_matchit')
let b:match_words = '\<if\>:\<elseif\>\|\<else\>:\<endif\>'
@@ -27,6 +28,8 @@ if exists('loaded_matchit')
let b:undo_ftplugin .= "| unlet b:match_words"
endif
setlocal include=\s*include
setlocal suffixesadd=.cmake,-config.cmake
setlocal commentstring=#\ %s
" restore 'cpo' and clean up buffer variable

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

16
runtime/ftplugin/dts.vim Normal file
View File

@@ -0,0 +1,16 @@
" Vim filetype plugin file
" Language: dts/dtsi (device tree files)
" Maintainer: Wu, Zhenyu <wuzhenyu@ustc.edu>
" Latest Revision: 2024 Apr 12
if exists('b:did_ftplugin')
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = 'setl inc< cms< com<'
setlocal include=^\\%(#include\\\|/include/\\)
" same as C
setlocal commentstring&
setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,:///,://

View File

@@ -1,12 +1,20 @@
" Vim filetype plugin file
" Language: gdb
" Maintainer: Michaël Peeters <NOSPAMm.vim@noekeon.org>
" Last Changed: 26 Oct 2017
" Last Changed: 2017-10-26
" 2024-04-10: - add Matchit support (by Vim Project)
if exists("b:did_ftplugin") | finish | endif
let b:did_ftplugin = 1
setlocal commentstring=#%s
setlocal include=^\\s*source
" Undo the stuff we changed.
let b:undo_ftplugin = "setlocal cms<"
let b:undo_ftplugin = "setlocal cms< include<"
" Matchit support
if !exists('b:match_words')
let b:match_words = '\<\%(if\|while\|define\|document\)\>:\<else\>:\<end\>'
let b:undo_ftplugin ..= " | unlet! b:match_words"
endif

View File

@@ -0,0 +1,13 @@
" Vim filetype plugin
" Language: graphql
" Maintainer: Riley Bruins <ribru17@gmail.com>
" Last Change: 2024 May 18
if exists('b:did_ftplugin')
finish
endif
let b:did_ftplugin = 1
setl comments=:# commentstring=#\ %s
let b:undo_ftplugin = 'setl com< cms<'

View File

@@ -0,0 +1,13 @@
" Vim filetype plugin
" Language: hyprlang
" Maintainer: ribru17 <ribru17@gmail.com>
" Last Change: 2024 May 18
if exists('b:did_ftplugin')
finish
endif
let b:did_ftplugin = 1
setl comments=:# commentstring=#\ %s
let b:undo_ftplugin = 'setl com< cms<'

View File

@@ -1,10 +1,9 @@
" Vim filetype plugin file
" Language: Java
"
" This runtime file is looking for a new maintainer.
"
" Former maintainer: Dan Sharp
" Last Change: 2012 Mar 11
" Maintainer: Aliaksei Budavei <0x000c70 AT gmail DOT com>
" Former Maintainer: Dan Sharp
" Repository: https://github.com/zzzyxwvut/java-vim.git
" Last Change: 2024 Apr 18
" 2024 Jan 14 by Vim Project (browsefilter)
if exists("b:did_ftplugin") | finish | endif
@@ -23,8 +22,36 @@ set suffixes+=.class
" name to / and append .java to the name, then search the path.
setlocal includeexpr=substitute(v:fname,'\\.','/','g')
setlocal suffixesadd=.java
if exists("g:ftplugin_java_source_path")
let &l:path=g:ftplugin_java_source_path . ',' . &l:path
" Clean up in case this file is sourced again.
unlet! s:zip_func_upgradable
" Documented in ":help ft-java-plugin".
if exists("g:ftplugin_java_source_path") &&
\ type(g:ftplugin_java_source_path) == type("")
if filereadable(g:ftplugin_java_source_path)
if exists("#zip") &&
\ g:ftplugin_java_source_path =~# '.\.\%(jar\|zip\)$'
if !exists("s:zip_files")
let s:zip_files = {}
endif
let s:zip_files[bufnr('%')] = g:ftplugin_java_source_path
let s:zip_files[0] = g:ftplugin_java_source_path
let s:zip_func_upgradable = 1
function! JavaFileTypeZipFile() abort
let @/ = substitute(v:fname, '\.', '\\/', 'g') . '.java'
return get(s:zip_files, bufnr('%'), s:zip_files[0])
endfunction
" E120 for "inex=s:JavaFileTypeZipFile()" before v8.2.3900.
setlocal includeexpr=JavaFileTypeZipFile()
setlocal suffixesadd<
endif
else
let &l:path = g:ftplugin_java_source_path . ',' . &l:path
endif
endif
" Set 'formatoptions' to break comment lines but not other lines,
@@ -53,6 +80,25 @@ let b:undo_ftplugin = "setlocal suffixes< suffixesadd<" .
\ " formatoptions< comments< commentstring< path< includeexpr<" .
\ " | unlet! b:browsefilter"
" See ":help vim9-mix".
if !has("vim9script")
let &cpo = s:save_cpo
unlet s:save_cpo
finish
endif
if exists("s:zip_func_upgradable")
delfunction! JavaFileTypeZipFile
def! s:JavaFileTypeZipFile(): string
@/ = substitute(v:fname, '\.', '\\/', 'g') .. '.java'
return get(zip_files, bufnr('%'), zip_files[0])
enddef
setlocal includeexpr=s:JavaFileTypeZipFile()
setlocal suffixesadd<
endif
" Restore the saved compatibility options.
let &cpo = s:save_cpo
unlet s:save_cpo

19
runtime/ftplugin/jj.vim Normal file
View File

@@ -0,0 +1,19 @@
" Vim filetype plugin
" Language: jj description
" Maintainer: Gregory Anders <greg@gpanders.com>
" Last Change: 2024 May 8
if exists('b:did_ftplugin')
finish
endif
let b:did_ftplugin = 1
" Use the same formatoptions and textwidth as the gitcommit ftplugin
setlocal nomodeline formatoptions+=tl textwidth=72
setlocal formatoptions-=c formatoptions-=r formatoptions-=o formatoptions-=q formatoptions+=n
setlocal formatlistpat=^\\s*\\d\\+[\\]:.)}]\\s\\+\\\|^\\s*[-*+]\\s\\+
setlocal comments=b:JJ:
setlocal commentstring=JJ:\ %s
let b:undo_ftplugin = 'setl modeline< formatoptions< textwidth< formatlistpat< comments< commentstring<'

16
runtime/ftplugin/jq.vim Normal file
View File

@@ -0,0 +1,16 @@
" Vim compiler file
" Language: jq
" Maintainer: Vito <vito.blog@gmail.com>
" Last Change: 2024 Apr 29
" Upstream: https://github.com/vito-c/jq.vim
if exists('b:did_ftplugin')
finish
endif
let b:did_ftplugin = 1
setlocal include=^\\s*\\%(import\\\|include\\)
setlocal commentstring=#%s
compiler jq
let b:undo_ftplugin = 'setl commentstring< include<'

View File

@@ -1,9 +1,9 @@
" Vim filetype plugin file
" Vim syntax file
" Maintainer: Christian Brabandt <cb@256bit.org>
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2015-05-29
" License: Vim (see :h license)
" Maintainer: Christian Brabandt <cb@256bit.org>
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2024-04-12
" License: Vim (see :h license)
" Repository: https://github.com/chrisbra/vim-kconfig
if exists("b:did_ftplugin")
@@ -11,17 +11,12 @@ if exists("b:did_ftplugin")
endif
let b:did_ftplugin = 1
let s:cpo_save = &cpo
set cpo&vim
let b:undo_ftplugin = "setl com< cms< fo<"
let b:undo_ftplugin = "setl inc< com< cms< fo<"
setlocal include=source\\s\\+
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
" For matchit.vim
if exists("loaded_matchit")
let b:match_words = '^\<menu\>:\<endmenu\>,^\<if\>:\<endif\>,^\<choice\>:\<endchoice\>'
endif
let &cpo = s:cpo_save
unlet s:cpo_save

View File

@@ -0,0 +1,18 @@
" Vim filetype plugin file
" Language: ondir <https://github.com/alecthomas/ondir>
" Maintainer: Jon Parise <jon@indelible.org>
if exists('b:did_ftplugin')
finish
endif
let s:cpo_save = &cpoptions
setlocal comments=:# commentstring=#\ %s
let b:undo_ftplugin = 'setl comments< commentstring<'
let &cpoptions = s:cpo_save
unlet s:cpo_save
" vim: et ts=4 sw=2 sts=2:

View File

@@ -1,10 +1,9 @@
" Vim filetype plugin file
" Language: python
" Maintainer: Tom Picton <tom@tompicton.co.uk>
" Maintainer: Tom Picton <tom@tompicton.com>
" Previous Maintainer: James Sully <sullyj3@gmail.com>
" Previous Maintainer: Johannes Zellner <johannes@zellner.org>
" Last Change: Mon, 5 October 2020
" 2024 Jan 14 by Vim Project (browsefilter)
" Last Change: 2024/05/13
" https://github.com/tpict/vim-ftplugin-python
if exists("b:did_ftplugin") | finish | endif
@@ -15,7 +14,7 @@ set cpo&vim
setlocal cinkeys-=0#
setlocal indentkeys-=0#
setlocal include=^\\s*\\(from\\\|import\\)
setlocal define=^\\s*\\(def\\\|class\\)
setlocal define=^\\s*\\(\\(async\\s\\+\\)\\?def\\\|class\\)
" For imports with leading .., append / and replace additional .s with ../
let b:grandparent_match = '^\(.\.\)\(\.*\)'
@@ -57,14 +56,14 @@ let b:next_end='\v\S\n*(%$\|^(\s*\n*)*(class\|def\|async def)\|^\S)'
let b:prev_end='\v\S\n*(^(\s*\n*)*(class\|def\|async def)\|^\S)'
if !exists('g:no_plugin_maps') && !exists('g:no_python_maps')
execute "nnoremap <silent> <buffer> ]] :call <SID>Python_jump('n', '". b:next_toplevel."', 'W', v:count1)<cr>"
execute "nnoremap <silent> <buffer> [[ :call <SID>Python_jump('n', '". b:prev_toplevel."', 'Wb', v:count1)<cr>"
execute "nnoremap <silent> <buffer> ][ :call <SID>Python_jump('n', '". b:next_endtoplevel."', 'W', v:count1, 0)<cr>"
execute "nnoremap <silent> <buffer> [] :call <SID>Python_jump('n', '". b:prev_endtoplevel."', 'Wb', v:count1, 0)<cr>"
execute "nnoremap <silent> <buffer> ]m :call <SID>Python_jump('n', '". b:next."', 'W', v:count1)<cr>"
execute "nnoremap <silent> <buffer> [m :call <SID>Python_jump('n', '". b:prev."', 'Wb', v:count1)<cr>"
execute "nnoremap <silent> <buffer> ]M :call <SID>Python_jump('n', '". b:next_end."', 'W', v:count1, 0)<cr>"
execute "nnoremap <silent> <buffer> [M :call <SID>Python_jump('n', '". b:prev_end."', 'Wb', v:count1, 0)<cr>"
execute "nnoremap <silent> <buffer> ]] :<C-U>call <SID>Python_jump('n', '". b:next_toplevel."', 'W', v:count1)<cr>"
execute "nnoremap <silent> <buffer> [[ :<C-U>call <SID>Python_jump('n', '". b:prev_toplevel."', 'Wb', v:count1)<cr>"
execute "nnoremap <silent> <buffer> ][ :<C-U>call <SID>Python_jump('n', '". b:next_endtoplevel."', 'W', v:count1, 0)<cr>"
execute "nnoremap <silent> <buffer> [] :<C-U>call <SID>Python_jump('n', '". b:prev_endtoplevel."', 'Wb', v:count1, 0)<cr>"
execute "nnoremap <silent> <buffer> ]m :<C-U>call <SID>Python_jump('n', '". b:next."', 'W', v:count1)<cr>"
execute "nnoremap <silent> <buffer> [m :<C-U>call <SID>Python_jump('n', '". b:prev."', 'Wb', v:count1)<cr>"
execute "nnoremap <silent> <buffer> ]M :<C-U>call <SID>Python_jump('n', '". b:next_end."', 'W', v:count1, 0)<cr>"
execute "nnoremap <silent> <buffer> [M :<C-U>call <SID>Python_jump('n', '". b:prev_end."', 'Wb', v:count1, 0)<cr>"
execute "onoremap <silent> <buffer> ]] :call <SID>Python_jump('o', '". b:next_toplevel."', 'W', v:count1)<cr>"
execute "onoremap <silent> <buffer> [[ :call <SID>Python_jump('o', '". b:prev_toplevel."', 'Wb', v:count1)<cr>"

View File

@@ -0,0 +1,43 @@
" the Requirements File Format syntax support for Vim
" Version: 1.8.0
" Author: raimon <raimon49@hotmail.com>
" Upstream: https://github.com/raimon49/requirements.txt.vim
" License: MIT LICENSE
" The MIT License (MIT)
"
" Copyright (c) 2015 raimon
"
" Permission is hereby granted, free of charge, to any person obtaining a copy
" of this software and associated documentation files (the "Software"), to deal
" in the Software without restriction, including without limitation the rights
" to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
" copies of the Software, and to permit persons to whom the Software is
" furnished to do so, subject to the following conditions:
"
" The above copyright notice and this permission notice shall be included in all
" copies or substantial portions of the Software.
"
" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
" AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
" OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
" SOFTWARE.
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let s:save_cpoptions = &cpoptions
set cpoptions&vim
let b:undo_ftplugin = "setl iskeyword< commentstring<"
" pip options contain "-"
setlocal iskeyword+=-
setlocal commentstring=#\ %s
compiler pip_compile
let &cpoptions = s:save_cpoptions
unlet s:save_cpoptions
" vim: et sw=4 ts=4 sts=4:

14
runtime/ftplugin/roc.vim Normal file
View File

@@ -0,0 +1,14 @@
" Roc filetype plugin file
" Language: Roc
" Maintainer: nat-418 <93013864+nat-418@users.noreply.github.com>
" Latest Revision: 2024-04-5
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
setlocal comments=:##,:#
setlocal commentstring=#\ %s
let b:undo_ftplugin = "setl com< cms<"

View File

@@ -4,7 +4,7 @@
" Previous Maintainer: Dan Sharp
" Contributor: Enno Nagel <ennonagel+vim@gmail.com>
" Eisuke Kawashima
" Last Change: 2024 Feb 27
" Last Change: 2024 May 06 by Vim Project (MANPAGER=)
if exists("b:did_ftplugin")
finish
@@ -46,11 +46,11 @@ endif
if get(b:, "is_bash", 0)
if !has("gui_running") && executable("less")
command! -buffer -nargs=1 ShKeywordPrg silent exe '!bash -c "{ help "<args>" 2>/dev/null || man "<args>"; } | LESS= less"' | redraw!
command! -buffer -nargs=1 ShKeywordPrg silent exe '!bash -c "{ help "<args>" 2>/dev/null || MANPAGER= man "<args>"; } | LESS= less"' | redraw!
elseif has("terminal")
command! -buffer -nargs=1 ShKeywordPrg silent exe ':term bash -c "help "<args>" 2>/dev/null || man "<args>""'
else
command! -buffer -nargs=1 ShKeywordPrg echo system('bash -c "help <args>" 2>/dev/null || man "<args>"')
command! -buffer -nargs=1 ShKeywordPrg echo system('bash -c "help <args>" 2>/dev/null || MANPAGER= man "<args>"')
endif
setlocal keywordprg=:ShKeywordPrg
let b:undo_ftplugin ..= " | setl kp< | sil! delc -buffer ShKeywordPrg"

View File

@@ -4,6 +4,7 @@
" Maintainer: David Fishburn <dfishburn dot vim at gmail dot com>
" Last Change: 2017 Mar 07
" 2024 Jan 14 by Vim Project (browsefilter)
" 2024 May 18 by Vim Project (set comment options)
" Download: http://vim.sourceforge.net/script.php?script_id=454
" For more details please use:
@@ -105,6 +106,8 @@ set cpo&vim
setlocal formatoptions-=t
setlocal formatoptions+=c
setlocal comments=:-- commentstring=--\ %s
" Functions/Commands to allow the user to change SQL syntax dialects
" through the use of :SQLSetType <tab> for completion.
" This works with both Vim 6 and 7.
@@ -266,7 +269,7 @@ if exists("b:did_ftplugin") && exists("b:current_ftplugin") && b:current_ftplugi
finish
endif
let b:undo_ftplugin = "setl comments< formatoptions< define< omnifunc<" .
let b:undo_ftplugin = "setl comments< commentstring< formatoptions< define< omnifunc<" .
\ " | unlet! b:browsefilter b:match_words"
" Don't load another plugin for this buffer

View File

@@ -0,0 +1,10 @@
" Vim filetype plugin file
" Language: OpenSSH server configuration file
" Maintainer: Yinzuo Jiang <jiangyinzuo@foxmail.com>
" Latest Revision: 2024-05-17
if exists("b:did_ftplugin")
finish
endif
runtime! ftplugin/conf.vim

View File

@@ -0,0 +1,54 @@
" Vim filetype plugin
" Language: Stylus
" Maintainer: Marc Harter
" Credits: Tim Pope
" Only do this when not done yet for this buffer
if exists("b:did_ftplugin")
finish
endif
let s:save_cpo = &cpo
set cpo-=C
" Define some defaults in case the included ftplugins don't set them.
let s:undo_ftplugin = ""
let s:browsefilter = "All Files (*.*)\t*.*\n"
runtime! ftplugin/html.vim ftplugin/html_*.vim ftplugin/html/*.vim
unlet! b:did_ftplugin
" Override our defaults if these were set by an included ftplugin.
if exists("b:undo_ftplugin")
let s:undo_ftplugin = b:undo_ftplugin
unlet b:undo_ftplugin
endif
if exists("b:browsefilter")
let s:browsefilter = b:browsefilter
unlet b:browsefilter
endif
" Change the browse dialog on Win32 to show mainly Styl-related files
if has("gui_win32")
let b:browsefilter="Stylus Files (*.styl)\t*.styl\n" . s:browsefilter
endif
setlocal comments= commentstring=//\ %s
setlocal suffixesadd=.styl
setlocal formatoptions+=r
" Add '-' and '#' to the what makes up a keyword.
" This means that 'e' and 'w' work properly now, for properties
" and valid variable names.
setl iskeyword+=#,-
" Add a Stylus command (to see if it's valid)
command -buffer Stylus !clear; cat % |stylus
let b:undo_ftplugin = "setl sua< isk< cms< com< fo< "
\ " | unlet! b:browsefilter b:match_words | " . s:undo_ftplugin
let &cpo = s:save_cpo
" vim:set sw=2:

21
runtime/ftplugin/uci.vim Normal file
View File

@@ -0,0 +1,21 @@
" Vim ftplugin file
" Language: OpenWrt Unified Configuration Interface
" Maintainer: Colin Caine <complaints@cmcaine.co.uk>
" Upstream: https://github.com/cmcaine/vim-uci
" Last Change: 2024 Apr 17
"
" For more information on uci, see https://openwrt.org/docs/guide-user/base-system/uci
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
" UCI files are indented with tabs.
setl noexpandtab
setl shiftwidth=0
setl softtabstop=0
setl commentstring=#\ %s
let b:undo_ftplugin = "setlocal et< cms< sts< sw<"

View File

@@ -1,7 +1,7 @@
" Vim filetype plugin
" Language: Vim
" Maintainer: The Vim Project <https://github.com/vim/vim>
" Last Change: 2023 Aug 10
" Language: Vim
" Maintainer: Doug Kearns <dougkearns@gmail.com>
" Last Change: 2024 Apr 13
" Former Maintainer: Bram Moolenaar <Bram@vim.org>
" Only do this when not done yet for this buffer
@@ -50,7 +50,7 @@ setlocal isk+=#
setlocal keywordprg=:help
" Comments starts with # in Vim9 script. We have to guess which one to use.
if "\n" .. getline(1, 10)->join("\n") =~# '\n\s*vim9\%[script]\>'
if "\n" .. getline(1, 32)->join("\n") =~# '\n\s*vim9\%[script]\>'
setlocal commentstring=#%s
else
setlocal commentstring=\"%s

View File

@@ -16,6 +16,13 @@ let b:undo_ftplugin = "setl com< cms< et< fo<"
setlocal comments=:# commentstring=#\ %s expandtab
setlocal formatoptions-=t formatoptions+=croql
" rime input method engine uses `*.custom.yaml` as its config files
if expand('%:r:e') ==# 'custom'
compiler rime_deployer
setlocal include=__include:\\s*
let b:undo_ftplugin ..= " inc<"
endif
if !exists("g:yaml_recommended_style") || g:yaml_recommended_style != 0
let b:undo_ftplugin ..= " sw< sts<"
setlocal shiftwidth=2 softtabstop=2

View File

@@ -0,0 +1,22 @@
" Vim filetype plugin file
" Language: Zathurarc
" Maintainer: Wu, Zhenyu <wuzhenyu@ustc.edu>
" Documentation: https://pwmt.org/projects/zathura/documentation/
" Upstream: https://github.com/Freed-Wu/zathurarc.vim
" Latest Revision: 2024-04-02
if exists('b:did_ftplugin')
finish
endif
let b:did_ftplugin = 1
let s:save_cpoptions = &cpoptions
set cpoptions&vim
let b:undo_ftplugin = 'setlocal comments< commentstring< include<'
setlocal comments=:#
setlocal commentstring=#\ %s
setlocal include=^\sinclude
let &cpoptions = s:save_cpoptions
unlet s:save_cpoptions

View File

@@ -2,7 +2,7 @@
" Language: Zsh shell script
" Maintainer: Christian Brabandt <cb@256bit.org>
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2023-10-07
" Latest Revision: 2024 May 06 by Vim Project (MANPAGER=)
" License: Vim (see :h license)
" Repository: https://github.com/chrisbra/vim-zsh
@@ -24,7 +24,7 @@ if executable('zsh') && &shell !~# '/\%(nologin\|false\)$'
elseif has('terminal')
command! -buffer -nargs=1 ZshKeywordPrg silent exe ':term zsh -c "autoload -Uz run-help; run-help <args>"'
else
command! -buffer -nargs=1 ZshKeywordPrg echo system('zsh -c "autoload -Uz run-help; run-help <args> 2>/dev/null"')
command! -buffer -nargs=1 ZshKeywordPrg echo system('MANPAGER= zsh -c "autoload -Uz run-help; run-help <args> 2>/dev/null"')
endif
if !exists('current_compiler')
compiler zsh

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