Compare commits
146 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
300ea1133f | ||
|
|
6a2b5b2246 | ||
|
|
f78629b9af | ||
|
|
be6225976c | ||
|
|
cb7cbfcc12 | ||
|
|
c4dc4d8f1e | ||
|
|
1e54023673 | ||
|
|
69075d35be | ||
|
|
949e3be916 | ||
|
|
8ddbd31c18 | ||
|
|
28fd7e7702 | ||
|
|
b694561b4d | ||
|
|
fc00006777 | ||
|
|
4023bd270a | ||
|
|
a378c722a2 | ||
|
|
5516fc534e | ||
|
|
0e0cb8520c | ||
|
|
a9711b5395 | ||
|
|
ccb7b43365 | ||
|
|
27e5d95edf | ||
|
|
cf8e378f4e | ||
|
|
a3d4b895ae | ||
|
|
63d53de72d | ||
|
|
335aecd98f | ||
|
|
e80a4ed845 | ||
|
|
8e079085d2 | ||
|
|
4936e761a5 | ||
|
|
a71e52a0b1 | ||
|
|
d8558fdf4f | ||
|
|
7d632a0a77 | ||
|
|
aa58f1fe44 | ||
|
|
9179ddc060 | ||
|
|
4895ae8c0c | ||
|
|
0084e4bd16 | ||
|
|
536ee91189 | ||
|
|
4ba3dadd68 | ||
|
|
5eb10c5359 | ||
|
|
c45e16a939 | ||
|
|
46cc91ecbf | ||
|
|
5e37e31496 | ||
|
|
da1c431309 | ||
|
|
e7bb907c24 | ||
|
|
08953f7113 | ||
|
|
6c30628392 | ||
|
|
8d0fcff002 | ||
|
|
969a4a0ba5 | ||
|
|
b084b8f1db | ||
|
|
88f3ac34ea | ||
|
|
ac5c8ab6cc | ||
|
|
4157787be8 | ||
|
|
254f844dda | ||
|
|
d5560fd395 | ||
|
|
416d1a5e28 | ||
|
|
a735e44b3c | ||
|
|
3ac486b8a6 | ||
|
|
1aa5ca4ecb | ||
|
|
0ed8ba3079 | ||
|
|
77a59be594 | ||
|
|
eb577f9206 | ||
|
|
2a3b608355 | ||
|
|
a5b19603e4 | ||
|
|
679c2c01fa | ||
|
|
6625ba359e | ||
|
|
4a9967bddf | ||
|
|
997952a512 | ||
|
|
bfd4f75b5a | ||
|
|
8be4610588 | ||
|
|
93eb081eee | ||
|
|
57352b279d | ||
|
|
0115da33b4 | ||
|
|
5beb6b58c9 | ||
|
|
bc12a938d9 | ||
|
|
a7e671fbb9 | ||
|
|
96a1caac6b | ||
|
|
0f93c988e9 | ||
|
|
7f5c60b31e | ||
|
|
19442ad118 | ||
|
|
cc71684ab0 | ||
|
|
871d2cc2ef | ||
|
|
4fe7301df9 | ||
|
|
62d8f3dab5 | ||
|
|
a722da29c1 | ||
|
|
eea85983cb | ||
|
|
a025a46d41 | ||
|
|
2f689d5abd | ||
|
|
6b652a7850 | ||
|
|
ea189a6f4d | ||
|
|
9c87af5c3c | ||
|
|
9d71fdaf3a | ||
|
|
83fc7c4d8e | ||
|
|
10dc693ea0 | ||
|
|
5c2b594d0e | ||
|
|
d09be15847 | ||
|
|
ce1636548d | ||
|
|
7a6d9454c8 | ||
|
|
1bc3610b0a | ||
|
|
6df5360691 | ||
|
|
32b801abc3 | ||
|
|
1dd301a4b3 | ||
|
|
e74e40dc43 | ||
|
|
ea2b98b9e9 | ||
|
|
e426245bb3 | ||
|
|
f99de42a9f | ||
|
|
ee3f10af87 | ||
|
|
dab78ec4a2 | ||
|
|
a7f703c215 | ||
|
|
4e722fdfdd | ||
|
|
78046cc539 | ||
|
|
9f5b09ea1f | ||
|
|
4d5b303726 | ||
|
|
9266a2a197 | ||
|
|
1ff2239053 | ||
|
|
08aaa7ae19 | ||
|
|
43b87938f5 | ||
|
|
538da34ad3 | ||
|
|
ffd5c52d23 | ||
|
|
b91b30643a | ||
|
|
c721b69e88 | ||
|
|
a8a0ee5004 | ||
|
|
491f0fa457 | ||
|
|
eb3007b417 | ||
|
|
e6a11d45e5 | ||
|
|
2006415016 | ||
|
|
6d211bc4f0 | ||
|
|
519dc391d8 | ||
|
|
aded55463a | ||
|
|
8ea0e7205c | ||
|
|
9d661b057e | ||
|
|
60c87056b4 | ||
|
|
11c3c62aa8 | ||
|
|
90e17110c4 | ||
|
|
cbcc5babba | ||
|
|
5e577c7aa8 | ||
|
|
bb10f71402 | ||
|
|
a90e80411a | ||
|
|
7982966f3e | ||
|
|
de37e7430a | ||
|
|
9c9982240a | ||
|
|
b571034a8f | ||
|
|
f2814754c0 | ||
|
|
86855ea8ee | ||
|
|
3913f13a7d | ||
|
|
49e0f833dd | ||
|
|
bd686d85dc | ||
|
|
e09ff34129 | ||
|
|
fa2fca1ebf |
15
.gitattributes
vendored
15
.gitattributes
vendored
@@ -1,4 +1,13 @@
|
||||
src/testdir/test42.in diff
|
||||
# The old test .ok files are expected to use LF line endings, even on Windows.
|
||||
# In src/testdir/Make_mvc.mak and src/testdir/Make_ming.mak, the test result
|
||||
# files .out are converted to LF line endings before being compared.
|
||||
# Therefore, if the .ok files' line endings are not specified and are
|
||||
# converted to CRLF, the comparison between .ok and .out will fail.
|
||||
src/testdir/test*.ok text eol=lf
|
||||
|
||||
# This ok file contains literal CR LF endings. Should not be touched by git,
|
||||
# so handle as binary
|
||||
src/testdir/test21.ok -text
|
||||
|
||||
# `vim.pot` is updated every time any of the *.c files are modified. And as it
|
||||
# contains line numbers for strings from *.c files, inserting a line into a
|
||||
@@ -24,8 +33,10 @@ src/po/vim.pot -diff
|
||||
src/po/vim.pot diff=ignore_vim_pot
|
||||
|
||||
# GitHub reacts to the `linguist-generated` attribute, by ignoring marked files
|
||||
# for the repository's language statistics and hiddning changes in these files
|
||||
# for the repository's language statistics and hiding changes in these files
|
||||
# by default in diffs.
|
||||
#
|
||||
# https://docs.github.com/en/repositories/working-with-files/managing-files/customizing-how-changed-files-appear-on-github
|
||||
src/po/vim.pot linguist-generated=true
|
||||
|
||||
runtime/syntax/testdir/input/vim_ex_help.vim -text diff linguist-language=vim linguist-detectable=true
|
||||
|
||||
20
.github/MAINTAINERS
vendored
20
.github/MAINTAINERS
vendored
@@ -10,6 +10,7 @@
|
||||
# will be requested to review.
|
||||
|
||||
nsis/lang/russian.nsi @RestorerZ
|
||||
runtime/autoload/context.vim @lifepillar
|
||||
runtime/autoload/freebasic.vim @dkearns
|
||||
runtime/autoload/hare.vim @selenebun
|
||||
runtime/autoload/hcl.vim @gpanders
|
||||
@@ -17,6 +18,7 @@ runtime/autoload/javascriptcomplete.vim @jsit
|
||||
runtime/autoload/modula2.vim @dkearns
|
||||
runtime/autoload/rubycomplete.vim @segfault @dkearns
|
||||
runtime/autoload/rust.vim @lilyball
|
||||
runtime/autoload/typeset.vim @lifepillar
|
||||
runtime/autoload/xmlformat.vim @chrisbra
|
||||
runtime/autoload/dist/json.vim @habamax
|
||||
runtime/colors/blue.vim @habamax @romainl @neutaaaaan
|
||||
@@ -48,6 +50,7 @@ runtime/colors/zellner.vim @habamax @romainl @neutaaaaan
|
||||
runtime/compiler/biome.vim @Konfekt
|
||||
runtime/compiler/checkstyle.vim @dkearns
|
||||
runtime/compiler/cm3.vim @dkearns
|
||||
runtime/compiler/context.vim @lifepillar
|
||||
runtime/compiler/cucumber.vim @tpope
|
||||
runtime/compiler/dart.vim @dkearns
|
||||
runtime/compiler/dart2js.vim @dkearns
|
||||
@@ -127,6 +130,8 @@ runtime/ftplugin/asy.vim @avidseeker
|
||||
runtime/ftplugin/autohotkey.vim @telemachus
|
||||
runtime/ftplugin/awk.vim @dkearns
|
||||
runtime/ftplugin/basic.vim @dkearns
|
||||
runtime/ftplugin/bicep.vim @scottmckendry
|
||||
runtime/ftplugin/bicep-params.vim @scottmckendry
|
||||
runtime/ftplugin/brighterscript.vim @ribru17
|
||||
runtime/ftplugin/brightscript.vim @ribru17
|
||||
runtime/ftplugin/bst.vim @tpope
|
||||
@@ -140,6 +145,7 @@ runtime/ftplugin/chicken.vim @evhan
|
||||
runtime/ftplugin/clojure.vim @axvr
|
||||
runtime/ftplugin/cmakecache.vim @ribru17
|
||||
runtime/ftplugin/codeowners.vim @jparise
|
||||
runtime/ftplugin/context.vim @lifepillar
|
||||
runtime/ftplugin/cook.vim @ribru17
|
||||
runtime/ftplugin/cs.vim @nickspoons
|
||||
runtime/ftplugin/csh.vim @dkearns
|
||||
@@ -228,6 +234,8 @@ runtime/ftplugin/less.vim @genoma
|
||||
runtime/ftplugin/lex.vim @ribru17
|
||||
runtime/ftplugin/lf.vim @andis-sprinkis
|
||||
runtime/ftplugin/liquid.vim @tpope
|
||||
runtime/ftplugin/logtalk.dict @pmoura
|
||||
runtime/ftplugin/logtalk.vim @pmoura
|
||||
runtime/ftplugin/lua.vim @dkearns
|
||||
runtime/ftplugin/lynx.vim @dkearns
|
||||
runtime/ftplugin/m17ndb.vim @dseomn
|
||||
@@ -237,9 +245,11 @@ runtime/ftplugin/markdown.vim @tpope
|
||||
runtime/ftplugin/mbsync.vim @fymyte
|
||||
runtime/ftplugin/mediawiki.vim @avidseeker
|
||||
runtime/ftplugin/meson.vim @Liambeguin
|
||||
runtime/ftplugin/mf.vim @lifepillar
|
||||
runtime/ftplugin/modula2.vim @dkearns
|
||||
runtime/ftplugin/modula3.vim @dkearns
|
||||
runtime/ftplugin/mojo.vim @ribru17
|
||||
runtime/ftplugin/mp.vim @lifepillar
|
||||
runtime/ftplugin/mss.vim @Freed-Wu
|
||||
runtime/ftplugin/nginx.vim @chr4
|
||||
runtime/ftplugin/nim.vim @ribru17
|
||||
@@ -336,11 +346,13 @@ runtime/import/dist/vimhighlight.vim @lacygoill
|
||||
runtime/indent/arduino.vim @k-takata
|
||||
runtime/indent/astro.vim @wuelnerdotexe
|
||||
runtime/indent/basic.vim @dkearns
|
||||
runtime/indent/bpftrace.vim @sgruszka
|
||||
runtime/indent/bst.vim @tpope
|
||||
runtime/indent/cdl.vim @dkearns
|
||||
runtime/indent/chatito.vim @ObserverOfTime
|
||||
runtime/indent/clojure.vim @axvr
|
||||
runtime/indent/config.vim @dkearns
|
||||
runtime/indent/context.vim @lifepillar
|
||||
runtime/indent/cs.vim @nickspoons
|
||||
runtime/indent/css.vim @dkearns
|
||||
runtime/indent/cucumber.vim @tpope
|
||||
@@ -382,12 +394,15 @@ runtime/indent/ld.vim @dkearns
|
||||
runtime/indent/lf.vim @andis-sprinkis
|
||||
runtime/indent/less.vim @genoma
|
||||
runtime/indent/liquid.vim @tpope
|
||||
runtime/indent/logtalk.vim @pmoura
|
||||
runtime/indent/lua.vim @marcuscf
|
||||
runtime/indent/m17ndb.vim @dseomn
|
||||
runtime/indent/make.vim @dkearns
|
||||
runtime/indent/meson.vim @Liambeguin
|
||||
runtime/indent/mf.vim @lifepillar
|
||||
runtime/indent/mma.vim @dkearns
|
||||
runtime/indent/mojo.vim @ribru17
|
||||
runtime/indent/mp.vim @lifepillar
|
||||
runtime/indent/nginx.vim @chr4
|
||||
runtime/indent/nsis.vim @k-takata
|
||||
runtime/indent/nu.vim @elkasztano
|
||||
@@ -454,6 +469,7 @@ runtime/syntax/asy.vim @avidseeker
|
||||
runtime/syntax/autohotkey.vim @mmikeww
|
||||
runtime/syntax/awk.vim @dkearns
|
||||
runtime/syntax/basic.vim @dkearns
|
||||
runtime/syntax/bpftrace.vim @sgruszka
|
||||
runtime/syntax/bst.vim @tpope
|
||||
runtime/syntax/bzl.vim @dbarnett
|
||||
runtime/syntax/bzr.vim @hdima
|
||||
@@ -467,6 +483,7 @@ runtime/syntax/chicken.vim @evhan
|
||||
runtime/syntax/chuck.vim @andreacfromtheapp
|
||||
runtime/syntax/clojure.vim @axvr
|
||||
runtime/syntax/codeowners.vim @jparise
|
||||
runtime/syntax/context.vim @lifepillar
|
||||
runtime/syntax/cs.vim @nickspoons
|
||||
runtime/syntax/css.vim @jsit
|
||||
runtime/syntax/csv.vim @habamax
|
||||
@@ -558,6 +575,7 @@ runtime/syntax/less.vim @genoma
|
||||
runtime/syntax/lf.vim @andis-sprinkis
|
||||
runtime/syntax/liquid.vim @tpope
|
||||
runtime/syntax/log.vim @mao-yining
|
||||
runtime/syntax/logtalk.vim @pmoura
|
||||
runtime/syntax/lua.vim @marcuscf
|
||||
runtime/syntax/lynx.vim @dkearns
|
||||
runtime/syntax/lyrics.vim @ObserverOfTime
|
||||
@@ -572,11 +590,13 @@ runtime/syntax/mbsync.vim @fymyte
|
||||
runtime/syntax/mason.vim @petdance
|
||||
runtime/syntax/mediawiki.vim @avidseeker
|
||||
runtime/syntax/meson.vim @Liambeguin
|
||||
runtime/syntax/mf.vim @lifepillar
|
||||
runtime/syntax/modula2.vim @dkearns
|
||||
runtime/syntax/modula2/opt/iso.vim @trijezdci
|
||||
runtime/syntax/modula2/opt/pim.vim @trijezdci
|
||||
runtime/syntax/modula2/opt/r10.vim @trijezdci
|
||||
runtime/syntax/modula3.vim @dkearns
|
||||
runtime/syntax/mp.vim @lifepillar
|
||||
runtime/syntax/mss.vim @Freed-Wu
|
||||
runtime/syntax/n1ql.vim @pr3d4t0r
|
||||
runtime/syntax/nginx.vim @chr4
|
||||
|
||||
15
.github/workflows/ci.yml
vendored
15
.github/workflows/ci.yml
vendored
@@ -522,6 +522,7 @@ jobs:
|
||||
- { features: HUGE, toolchain: mingw, VIMDLL: yes, GUI: yes, arch: x86, python3: stable, coverage: yes }
|
||||
- { features: HUGE, toolchain: msvc, VIMDLL: no, GUI: yes, arch: x86 }
|
||||
- { features: HUGE, toolchain: mingw, VIMDLL: yes, GUI: no, arch: x64, coverage: yes }
|
||||
- { features: HUGE, toolchain: msvc, VIMDLL: no, GUI: no, arch: x64, ttytype: conpty }
|
||||
- { features: NORMAL, toolchain: msvc, VIMDLL: yes, GUI: no, arch: x86 }
|
||||
- { features: NORMAL, toolchain: mingw, VIMDLL: no, GUI: yes, arch: x64 }
|
||||
- { features: TINY, toolchain: msvc, VIMDLL: yes, GUI: yes, arch: x64 }
|
||||
@@ -535,8 +536,6 @@ jobs:
|
||||
# Show Windows version
|
||||
cmd /c ver
|
||||
|
||||
git config --global core.autocrlf input
|
||||
|
||||
if ${{ matrix.arch == 'x64' }}; then
|
||||
cygreg=registry
|
||||
pyreg=
|
||||
@@ -616,11 +615,13 @@ jobs:
|
||||
call :downloadfile %LUA${{ env.BITS }}_URL% downloads\lua.zip
|
||||
7z x downloads\lua.zip -o%LUA_DIR% > nul || exit 1
|
||||
|
||||
echo %COL_GREEN%Download winpty%COL_RESET%
|
||||
call :downloadfile %WINPTY_URL% downloads\winpty.zip
|
||||
7z x -y downloads\winpty.zip -oD:\winpty > nul || exit 1
|
||||
copy /Y D:\winpty\%WARCH%\bin\winpty.dll src\winpty%BITS%.dll
|
||||
copy /Y D:\winpty\%WARCH%\bin\winpty-agent.exe src\
|
||||
if not "${{ matrix.ttytype }}" == "conpty" (
|
||||
echo %COL_GREEN%Download winpty%COL_RESET%
|
||||
call :downloadfile %WINPTY_URL% downloads\winpty.zip
|
||||
7z x -y downloads\winpty.zip -oD:\winpty > nul || exit 1
|
||||
copy /Y D:\winpty\%WARCH%\bin\winpty.dll src\winpty%BITS%.dll
|
||||
copy /Y D:\winpty\%WARCH%\bin\winpty-agent.exe src\
|
||||
)
|
||||
|
||||
echo %COL_GREEN%Download libsodium%COL_RESET%
|
||||
if "${{ matrix.toolchain }}"=="msvc" (
|
||||
|
||||
@@ -12,10 +12,10 @@ A pull request has the advantage that it will trigger the Continuous
|
||||
Integration tests, you will be warned of problems (you can ignore the coverage
|
||||
warning, it's noisy).
|
||||
|
||||
Please consider adding a test. All new functionality should be tested and bug
|
||||
fixes should be tested for regressions: the test should fail before the fix and
|
||||
pass after the fix. Look through recent patches for examples and find help
|
||||
with ":help testing". The tests are located under "src/testdir".
|
||||
Please always add a test, if possible. All new functionality should be tested
|
||||
and bug fixes should be tested for regressions: the test should fail before the
|
||||
fix and pass after the fix. Look through recent patches for examples and find
|
||||
help with ":help testing". The tests are located under "src/testdir".
|
||||
|
||||
Contributions will be distributed with Vim under the Vim license. Providing a
|
||||
change to be included implies that you agree with this and your contribution
|
||||
@@ -46,6 +46,15 @@ When merging PRs into Vim, the current maintainer @chrisbra usually adds missing
|
||||
anybody that explicitly *ACK*s a pull request as a statement that those
|
||||
approvers are happy with that particular change.
|
||||
|
||||
## Using AI
|
||||
|
||||
When using AI for contributions, please disclose this. Any AI-generated code
|
||||
must follow the Vim code style. In particular, [test_codestyle.vim][18]
|
||||
must not report any failures. Check the CI output for any test failures.
|
||||
|
||||
Ensure that changes are properly tested. Do not submit a single PR that
|
||||
addresses multiple unrelated issues.
|
||||
|
||||
# Reporting issues
|
||||
|
||||
We use GitHub [issues][17], but that is not a requirement. Writing to the Vim
|
||||
@@ -160,3 +169,4 @@ mailing list. For other questions please use the [Vi Stack Exchange][8] website,
|
||||
[15]: https://en.wikipedia.org/wiki/Developer_Certificate_of_Origin
|
||||
[16]: https://github.com/vim/vim/blob/master/runtime/doc/helphelp.txt
|
||||
[17]: https://github.com/vim/vim/issues
|
||||
[18]: https://github.com/vim/vim/blob/master/src/testdir/test_codestyle.vim
|
||||
|
||||
1
Filelist
1
Filelist
@@ -248,6 +248,7 @@ SRC_ALL = \
|
||||
src/testdir/util/view_util.vim \
|
||||
src/testdir/util/vim9.vim \
|
||||
src/testdir/util/window_manager.vim \
|
||||
src/testdir/util/socketserver.vim \
|
||||
src/testdir/viewdumps.vim \
|
||||
src/proto.h \
|
||||
src/protodef.h \
|
||||
|
||||
13
README.md
13
README.md
@@ -1,16 +1,3 @@
|
||||
<div align="center" markdown="1">
|
||||
<sup>Special thanks for supporting Vim by donating to the <a href="https://iccf-holland.org/">ICCF</a>:</sup>
|
||||
<br>
|
||||
<br>
|
||||
<a href="https://go.warp.dev/vim">
|
||||
<img alt="Warp sponsorship" width="400" src="https://raw.githubusercontent.com/warpdotdev/brand-assets/refs/heads/main/Github/Sponsor/Warp-Github-LG-03.png">
|
||||
</a>
|
||||
|
||||
### [Warp, built for coding with multiple AI agents.](https://www.warp.dev/vim)
|
||||
[Available for MacOS, Linux, & Windows](https://www.warp.dev/vim)<br>
|
||||
</div>
|
||||
<hr>
|
||||
|
||||
# [](https://www.vim.org)
|
||||
|
||||
[](https://github.com/vim/vim/actions?query=workflow%3A%22GitHub+CI%22)
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
/^CFLAGS[[:blank:]]*=/s/$/ -Wall -Wextra -Wshadow -Wstrict-prototypes -Wmissing-prototypes -Werror -Wno-deprecated-declarations/
|
||||
/^PERL_CFLAGS_EXTRA[[:blank:]]*=/s/$/ -Wno-error=unused-function -Wno-shadow/
|
||||
/^PERL_CFLAGS_EXTRA[[:blank:]]*=/s/$/ -Wno-error=unused-function -Wno-strict-prototypes -Wno-shadow/
|
||||
/^RUBY_CFLAGS_EXTRA[[:blank:]]*=/s/$/ -Wno-error=unused-parameter -Wno-strict-prototypes/
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
Примечание. Данный текст перевода лицензии Vim предоставляется с целью
|
||||
ознакомления и не является юридически значимым. Переводчик не несёт
|
||||
ответственности за возможные неточности и ошибки при переводе лицензии.
|
||||
Единственно юридически значимым является текст лицензии Vim на английском языке.
|
||||
|
||||
ЛИЦЕНЗИЯ VIM
|
||||
|
||||
I) Неизменённые копии программы Vim могут распространяться без ограничения
|
||||
@@ -29,15 +34,15 @@ II) Изменённую (или дополненную) версию прогр
|
||||
будут распространяться на условиях настоящей лицензии или более
|
||||
поздней её версии. Лица, в данное время являющиеся ответственными
|
||||
за разработку, указаны в перечне, размещённом по адресу:
|
||||
https://github.com/orgs/vim/people. В случае изменения этой
|
||||
информации, актуальные данные будут опубликованы на
|
||||
соответствующих ресурсах (вероятнее всего по интернет‐адресам
|
||||
vim.sf.net, www.vim.org и/или comp.editors). В случае полной
|
||||
невозможности установить контакт с ответственным разработчиком,
|
||||
обязательства по отправке изменений утрачивают силу. После
|
||||
передачи подтверждения о получении изменений от ответственного
|
||||
разработчика, необходимость в повторной отправке копии изменённой
|
||||
программы Vim неприменима.
|
||||
https://github.com/orgs/vim/people.
|
||||
При изменении этой информации, актуальные данные будут
|
||||
опубликованы на соответствующих ресурсах (вероятнее всего
|
||||
по интернет‐адресам vim.sf.net, www.vim.org и/или comp.editors).
|
||||
В случае полной невозможности связаться с ответственным
|
||||
разработчиком, обязательства по отправке изменений утрачивают
|
||||
силу. После передачи подтверждения о получении изменений
|
||||
от ответственного разработчика, необходимость в повторной
|
||||
отправке копии изменённой программы Vim неприменима.
|
||||
b) Если лицом получена изменённая версия программа Vim,
|
||||
распространяющаяся на условиях, указанных в ч. II) п. 2) пп. а)
|
||||
допускается дальнейшее её распространение этим лицом без внесения
|
||||
|
||||
@@ -3,7 +3,7 @@ vim9script
|
||||
# Language: ConTeXt typesetting engine
|
||||
# Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
||||
# Former Maintainers: Nikolai Weibull <now@bitwi.se>
|
||||
# Latest Revision: 2023 Dec 26
|
||||
# Latest Revision: 2026 Jan 10
|
||||
|
||||
# Typesetting {{{
|
||||
import autoload './typeset.vim'
|
||||
@@ -30,14 +30,21 @@ export def StopJobs()
|
||||
enddef
|
||||
|
||||
export def Log(bufname: string)
|
||||
execute 'edit' typeset.LogPath(bufname)
|
||||
var logpath = typeset.LogPath(bufname)
|
||||
|
||||
if filereadable(logpath)
|
||||
execute 'edit' typeset.LogPath(bufname)
|
||||
return
|
||||
endif
|
||||
|
||||
echomsg $'[ConTeXt] No log file found ({logpath})'
|
||||
enddef
|
||||
# }}}
|
||||
|
||||
# Completion {{{
|
||||
def BinarySearch(base: string, keywords: list<string>): list<string>
|
||||
const pat = '^' .. base
|
||||
const len = len(keywords)
|
||||
var pat = '^' .. base
|
||||
var len = len(keywords)
|
||||
var res = []
|
||||
var lft = 0
|
||||
var rgt = len
|
||||
|
||||
25
runtime/autoload/dist/ft.vim
vendored
25
runtime/autoload/dist/ft.vim
vendored
@@ -3,7 +3,7 @@ vim9script
|
||||
# Vim functions for file type detection
|
||||
#
|
||||
# Maintainer: The Vim Project <https://github.com/vim/vim>
|
||||
# Last Change: 2025 Dec 14
|
||||
# Last Change: 2026 Jan 11
|
||||
# Former Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
|
||||
# These functions are moved here from runtime/filetype.vim to make startup
|
||||
@@ -98,7 +98,7 @@ export def FTasmsyntax()
|
||||
b:asmsyntax = "masm"
|
||||
return
|
||||
elseif line =~ 'Texas Instruments Incorporated' || (line =~ '^\*' && !is_slash_star_encountered)
|
||||
# tiasm uses `* commment`, but detection is unreliable if '/*' is seen
|
||||
# tiasm uses `* comment`, but detection is unreliable if '/*' is seen
|
||||
b:asmsyntax = "tiasm"
|
||||
return
|
||||
elseif ((line =~? '\.title\>\|\.ident\>\|\.macro\>\|\.subtitle\>\|\.library\>'))
|
||||
@@ -1506,7 +1506,7 @@ export def FTdsp()
|
||||
|
||||
# Test the file contents
|
||||
for line in getline(1, 200)
|
||||
# Chech for comment style
|
||||
# Check for comment style
|
||||
if line =~ '^#.*'
|
||||
setf make
|
||||
return
|
||||
@@ -1746,7 +1746,7 @@ const ft_from_ext = {
|
||||
"bst": "bst",
|
||||
# Bicep
|
||||
"bicep": "bicep",
|
||||
"bicepparam": "bicep",
|
||||
"bicepparam": "bicep-params",
|
||||
# BIND zone
|
||||
"zone": "bindzone",
|
||||
# Blank
|
||||
@@ -1876,6 +1876,9 @@ const ft_from_ext = {
|
||||
"elv": "elvish",
|
||||
# Faust
|
||||
"lib": "faust",
|
||||
# Fennel
|
||||
"fnl": "fennel",
|
||||
"fnlm": "fennel",
|
||||
# Libreoffice config files
|
||||
"xcu": "xml",
|
||||
"xlb": "xml",
|
||||
@@ -1914,6 +1917,9 @@ const ft_from_ext = {
|
||||
# Diff files
|
||||
"diff": "diff",
|
||||
"rej": "diff",
|
||||
# Djot
|
||||
"dj": "djot",
|
||||
"djot": "djot",
|
||||
# DOT
|
||||
"dot": "dot",
|
||||
"gv": "dot",
|
||||
@@ -1976,6 +1982,8 @@ const ft_from_ext = {
|
||||
"fish": "fish",
|
||||
# Flix
|
||||
"flix": "flix",
|
||||
# Fluent
|
||||
"ftl": "fluent",
|
||||
# Focus Executable
|
||||
"fex": "focexec",
|
||||
"focexec": "focexec",
|
||||
@@ -2118,6 +2126,8 @@ const ft_from_ext = {
|
||||
"tmpl": "template",
|
||||
# Hurl
|
||||
"hurl": "hurl",
|
||||
# Hylo
|
||||
"hylo": "hylo",
|
||||
# Hyper Builder
|
||||
"hb": "hb",
|
||||
# Httest
|
||||
@@ -2227,6 +2237,10 @@ const ft_from_ext = {
|
||||
"k": "kwt",
|
||||
# Kivy
|
||||
"kv": "kivy",
|
||||
# Koka
|
||||
"kk": "koka",
|
||||
# Kos
|
||||
"kos": "kos",
|
||||
# Kotlin
|
||||
"kt": "kotlin",
|
||||
"ktm": "kotlin",
|
||||
@@ -2359,6 +2373,8 @@ const ft_from_ext = {
|
||||
# N1QL
|
||||
"n1ql": "n1ql",
|
||||
"nql": "n1ql",
|
||||
# Nickel
|
||||
"ncl": "nickel",
|
||||
# Nim file
|
||||
"nim": "nim",
|
||||
"nims": "nim",
|
||||
@@ -3000,6 +3016,7 @@ const ft_from_ext = {
|
||||
"usd": "usd",
|
||||
# Rofi stylesheet
|
||||
"rasi": "rasi",
|
||||
"rasinc": "rasi",
|
||||
# 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
|
||||
|
||||
6
runtime/autoload/dist/script.vim
vendored
6
runtime/autoload/dist/script.vim
vendored
@@ -4,7 +4,7 @@ vim9script
|
||||
# Invoked from "scripts.vim" in 'runtimepath'
|
||||
#
|
||||
# Maintainer: The Vim Project <https://github.com/vim/vim>
|
||||
# Last Change: 2025 Aug 09
|
||||
# Last Change: 2025 Dec 22
|
||||
# Former Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
|
||||
export def DetectFiletype()
|
||||
@@ -233,6 +233,10 @@ export def Exe2filetype(name: string, line1: string): string
|
||||
elseif name =~ '^execlineb\>'
|
||||
return 'execline'
|
||||
|
||||
# Bpftrace
|
||||
elseif name =~ '^bpftrace\>'
|
||||
return 'bpftrace'
|
||||
|
||||
# Vim
|
||||
elseif name =~ '^vim\>'
|
||||
return 'vim'
|
||||
|
||||
4
runtime/autoload/dist/vim.vim
vendored
4
runtime/autoload/dist/vim.vim
vendored
@@ -1,9 +1,9 @@
|
||||
" Vim runtime support library,
|
||||
" runs the Vim9 script version or legacy script version
|
||||
" on demand (mostly for Neovim compatability)
|
||||
" on demand (mostly for Neovim compatibility)
|
||||
"
|
||||
" Maintainer: The Vim Project <https://github.com/vim/vim>
|
||||
" Last Change: 2025 Apr 27
|
||||
" Last Change: 2026 Jan 11
|
||||
|
||||
|
||||
" enable the zip and gzip plugin by default, if not set
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
" Language: Ada (GNAT)
|
||||
" $Id: gnat.vim 887 2008-07-08 14:29:01Z krischik $
|
||||
" Copyright: Copyright (C) 2006 Martin Krischik
|
||||
" Maintainer: Martin Krischi <krischik@users.sourceforge.net>k
|
||||
" Maintainer: Martin Krischi <krischik@users.sourceforge.net>
|
||||
" Ned Okie <nokie@radford.edu>
|
||||
" $Author: krischik $
|
||||
" $Date: 2008-07-08 16:29:01 +0200 (Di, 08 Jul 2008) $
|
||||
|
||||
@@ -2,7 +2,7 @@ vim9script
|
||||
|
||||
# Language: Generic TeX typesetting engine
|
||||
# Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
||||
# Latest Revision: 2022 Aug 12
|
||||
# Latest Revision: 2026 Jan 10
|
||||
|
||||
# Constants and helpers {{{
|
||||
const SLASH = !exists("+shellslash") || &shellslash ? '/' : '\'
|
||||
@@ -11,7 +11,7 @@ def Echo(msg: string, mode: string, label: string)
|
||||
redraw
|
||||
echo "\r"
|
||||
execute 'echohl' mode
|
||||
echomsg printf('[%s] %s', label, msg)
|
||||
echomsg $'[{label}] {msg}'
|
||||
echohl None
|
||||
enddef
|
||||
|
||||
@@ -29,7 +29,7 @@ enddef
|
||||
# }}}
|
||||
|
||||
# Track jobs {{{
|
||||
var running_jobs = {} # Dictionary of job IDs of jobs currently executing
|
||||
var running_jobs: dict<list<job>> = {}
|
||||
|
||||
def AddJob(label: string, j: job)
|
||||
if !has_key(running_jobs, label)
|
||||
@@ -55,7 +55,7 @@ def ProcessOutput(qfid: number, wd: string, efm: string, ch: channel, msg: strin
|
||||
# Make sure the quickfix list still exists
|
||||
if getqflist({'id': qfid}).id != qfid
|
||||
EchoErr("Quickfix list not found, stopping the job")
|
||||
call job_stop(ch_getjob(ch))
|
||||
job_stop(ch_getjob(ch))
|
||||
return
|
||||
endif
|
||||
|
||||
@@ -106,31 +106,81 @@ enddef
|
||||
#
|
||||
# This function searches for the magic line in the first ten lines of the
|
||||
# given buffer, and returns the full path of the root document.
|
||||
#
|
||||
# NOTE: the value of "% !TEX root" *must* be a relative path.
|
||||
export def FindRootDocument(bufname: string = bufname("%")): string
|
||||
const bufnr = bufnr(bufname)
|
||||
var docpath = fnamemodify(bufname, ":p")
|
||||
var bufnr = bufnr(bufname)
|
||||
var header: list<string>
|
||||
var rootpath = docpath
|
||||
|
||||
if !bufexists(bufnr)
|
||||
return bufname
|
||||
if bufexists(bufnr)
|
||||
header = getbufline(bufnr, 1, 10)
|
||||
elseif filereadable(bufname)
|
||||
header = readfile(bufname, "", 10)
|
||||
else
|
||||
return simplify(rootpath)
|
||||
endif
|
||||
|
||||
var rootpath = fnamemodify(bufname(bufnr), ':p')
|
||||
|
||||
# Search for magic line `% !TEX root = ...` in the first ten lines
|
||||
const header = getbufline(bufnr, 1, 10)
|
||||
const idx = match(header, '^\s*%\s\+!TEX\s\+root\s*=\s*\S')
|
||||
var idx = match(header, '^\s*%\s\+!TEX\s\+root\s*=\s*\S')
|
||||
|
||||
if idx > -1
|
||||
const main = matchstr(header[idx], '!TEX\s\+root\s*=\s*\zs.*$')
|
||||
rootpath = simplify(fnamemodify(rootpath, ":h") .. SLASH .. main)
|
||||
rootpath = matchstr(header[idx], '!TEX\s\+root\s*=\s*\zs.*$')
|
||||
|
||||
if !isabsolutepath(rootpath) # Path is relative to the buffer's path
|
||||
rootpath = fnamemodify(docpath, ":h") .. SLASH .. rootpath
|
||||
endif
|
||||
endif
|
||||
|
||||
return rootpath
|
||||
return simplify(rootpath)
|
||||
enddef
|
||||
|
||||
# ConTeXt documents may specify an output directory in a comment using the
|
||||
# following syntax:
|
||||
#
|
||||
# runpath=texruns:<output directory>
|
||||
#
|
||||
# This function looks for such a comment in the first ten lines of the given
|
||||
# buffer, and returns the full path of the output directory. If the comment is
|
||||
# not found then the output directory coincides with the directory of the
|
||||
# buffer.
|
||||
export def GetOutputDirectory(bufname: string = bufname("%")): string
|
||||
var basedir = fnamemodify(bufname, ':p:h')
|
||||
var bufnr = bufnr(bufname)
|
||||
var header: list<string>
|
||||
var outdir = basedir
|
||||
|
||||
if bufexists(bufnr)
|
||||
header = getbufline(bufnr, 1, 10)
|
||||
elseif filereadable(bufname)
|
||||
header = readfile(bufname, "", 10)
|
||||
else
|
||||
return simplify(outdir)
|
||||
endif
|
||||
|
||||
# Search for output path in the first ten lines
|
||||
var idx = match(header, '^\s*%.*\<runpath\s*=\s*texruns\s*:\s*\S')
|
||||
|
||||
if idx > -1
|
||||
outdir = matchstr(header[idx], '\<runpath\s*=\s*texruns\s*:\s*\zs.*$')
|
||||
|
||||
if !isabsolutepath(outdir) # Path is relative to the buffer's directory
|
||||
outdir = basedir .. SLASH .. outdir
|
||||
endif
|
||||
endif
|
||||
|
||||
return simplify(outdir)
|
||||
enddef
|
||||
|
||||
export def LogPath(bufname: string): string
|
||||
const logfile = FindRootDocument(bufname)
|
||||
return fnamemodify(logfile, ":r") .. ".log"
|
||||
var rootdoc = FindRootDocument(bufname)
|
||||
var docname = fnamemodify(rootdoc, ":t:r")
|
||||
var outdir = GetOutputDirectory(rootdoc)
|
||||
|
||||
if empty(docname) # Set an arbitrary name to avoid returning a dotfile (.log)
|
||||
docname = '[NotFound]'
|
||||
endif
|
||||
|
||||
return $'{outdir}{SLASH}{docname}.log'
|
||||
enddef
|
||||
|
||||
# Typeset the specified path
|
||||
@@ -146,14 +196,14 @@ enddef
|
||||
# true if the job is started successfully;
|
||||
# false otherwise.
|
||||
export def Typeset(
|
||||
label: string,
|
||||
Cmd: func(string): list<string>,
|
||||
path: string,
|
||||
efm: string,
|
||||
env: dict<string> = {}
|
||||
): bool
|
||||
var fp = fnamemodify(path, ":p")
|
||||
var wd = fnamemodify(fp, ":h")
|
||||
label: string,
|
||||
Cmd: func(string): list<string>,
|
||||
path: string,
|
||||
efm: string,
|
||||
env: dict<string> = {}
|
||||
): bool
|
||||
var fp = fnamemodify(path, ':p')
|
||||
var wd = fnamemodify(fp, ':h')
|
||||
var qfid = NewQuickfixList(fp)
|
||||
|
||||
if qfid == -1
|
||||
@@ -162,7 +212,7 @@ export def Typeset(
|
||||
endif
|
||||
|
||||
if !filereadable(fp)
|
||||
EchoErr(printf('File not readable: %s', fp), label)
|
||||
EchoErr($'File not readable: {fp}', label)
|
||||
return false
|
||||
endif
|
||||
|
||||
@@ -173,7 +223,7 @@ export def Typeset(
|
||||
callback: (c, m) => ProcessOutput(qfid, wd, efm, c, m),
|
||||
close_cb: CloseCb,
|
||||
exit_cb: (j, e) => ExitCb(label, j, e),
|
||||
})
|
||||
})
|
||||
|
||||
if job_status(jobid) ==# "fail"
|
||||
EchoErr("Failed to start job", label)
|
||||
@@ -188,7 +238,7 @@ export def Typeset(
|
||||
enddef
|
||||
|
||||
export def JobStatus(label: string)
|
||||
EchoMsg('Jobs still running: ' .. string(len(GetRunningJobs(label))), label)
|
||||
EchoMsg($'Jobs still running: {len(GetRunningJobs(label))}', label)
|
||||
enddef
|
||||
|
||||
export def StopJobs(label: string)
|
||||
@@ -211,20 +261,20 @@ enddef
|
||||
# true if the job is started successfully;
|
||||
# false otherwise.
|
||||
export def TypesetBuffer(
|
||||
name: string,
|
||||
Cmd: func(string): list<string>,
|
||||
env = {},
|
||||
label = 'Typeset'
|
||||
): bool
|
||||
const bufname = bufname(name)
|
||||
name: string,
|
||||
Cmd: func(string): list<string>,
|
||||
env = {},
|
||||
label = 'Typeset'
|
||||
): bool
|
||||
var bufname = bufname(name)
|
||||
|
||||
if empty(bufname)
|
||||
EchoErr('Please save the buffer first.', label)
|
||||
return false
|
||||
endif
|
||||
|
||||
const efm = getbufvar(bufnr(bufname), "&efm")
|
||||
const rootpath = FindRootDocument(bufname)
|
||||
var efm = getbufvar(bufnr(bufname), "&efm")
|
||||
var rootpath = FindRootDocument(bufname)
|
||||
|
||||
return Typeset('ConTeXt', Cmd, rootpath, efm, env)
|
||||
enddef
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
" Vim plugin for formatting XML
|
||||
" Last Change: 2020 Jan 06
|
||||
" Last Change: 2023 March 15th
|
||||
" Version: 0.3
|
||||
" Author: Christian Brabandt <cb@256bit.org>
|
||||
" Repository: https://github.com/chrisbra/vim-xml-ftplugin
|
||||
@@ -37,13 +37,17 @@ func! xmlformat#Format() abort
|
||||
" Keep empty input lines?
|
||||
if empty(line)
|
||||
call add(result, '')
|
||||
let current += 1
|
||||
continue
|
||||
elseif line !~# '<[/]\?[^>]*>'
|
||||
let nextmatch = match(list, '<[/]\?[^>]*>', current)
|
||||
if nextmatch > -1
|
||||
let line .= ' '. join(list[(current + 1):(nextmatch-1)], " ")
|
||||
call remove(list, current+1, nextmatch-1)
|
||||
let nextmatch = match(list, '^\s*$\|<[/]\?[^>]*>', current)
|
||||
if nextmatch > -1
|
||||
let lineEnd = nextmatch
|
||||
else
|
||||
let lineEnd = len(list)
|
||||
endif
|
||||
let line .= ' '. join(list[(current + 1):(lineEnd-1)], " ")
|
||||
call remove(list, current+1, lineEnd-1)
|
||||
endif
|
||||
" split on `>`, but don't split on very first opening <
|
||||
" this means, items can be like ['<tag>', 'tag content</tag>']
|
||||
@@ -79,9 +83,13 @@ func! xmlformat#Format() abort
|
||||
if s:EndTag(t[1])
|
||||
call s:DecreaseIndent()
|
||||
endif
|
||||
"for y in t[1:]
|
||||
let result+=s:FormatContent(t[1:])
|
||||
"endfor
|
||||
let result+=s:FormatContent(t[1:])
|
||||
if s:IsTag(t[1])
|
||||
let lastitem = t[1]
|
||||
continue
|
||||
endif
|
||||
elseif s:IsComment(item)
|
||||
let result+=s:FormatContent([item])
|
||||
else
|
||||
call add(result, s:Indent(item))
|
||||
endif
|
||||
@@ -94,7 +102,7 @@ func! xmlformat#Format() abort
|
||||
if !empty(result)
|
||||
let lastprevline = getline(v:lnum + count_orig)
|
||||
let delete_lastline = v:lnum + count_orig - 1 == line('$')
|
||||
exe v:lnum. ",". (v:lnum + count_orig - 1). 'd'
|
||||
exe 'silent ' .. v:lnum. ",". (v:lnum + count_orig - 1). 'd'
|
||||
call append(v:lnum - 1, result)
|
||||
" Might need to remove the last line, if it became empty because of the
|
||||
" append() call
|
||||
|
||||
@@ -4,9 +4,7 @@ vim9script
|
||||
# Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
||||
# Former Maintainers: Nikolai Weibull <now@bitwi.se>
|
||||
# Contributors: Enno Nagel
|
||||
# Last Change: 2024 Mar 29
|
||||
# 2024 Apr 03 by The Vim Project (removed :CompilerSet definition)
|
||||
# 2025 Mar 11 by The Vim Project (add comment for Dispatch)
|
||||
# Last Change: 2026 Jan 10
|
||||
|
||||
if exists("g:current_compiler")
|
||||
finish
|
||||
@@ -16,7 +14,6 @@ import autoload '../autoload/context.vim'
|
||||
|
||||
g:current_compiler = 'context'
|
||||
|
||||
# CompilerSet makeprg=context
|
||||
if get(b:, 'context_ignore_makefile', get(g:, 'context_ignore_makefile', 0)) ||
|
||||
(!filereadable('Makefile') && !filereadable('makefile'))
|
||||
var makeprg = join(context.ConTeXtCmd(shellescape(expand('%:p:t'))), ' ')
|
||||
@@ -30,14 +27,14 @@ const context_errorformat = join([
|
||||
"%-Qclose source%.%#> %f",
|
||||
"%-Popen source%.%#name '%f'",
|
||||
"%-Qclose source%.%#name '%f'",
|
||||
"tex %trror%.%#error on line %l in file %f: %m",
|
||||
"%E! %m",
|
||||
"%Ztex %trror%.%#error on line %l in file %f",
|
||||
"%Elua %trror%.%#error on line %l in file %f:",
|
||||
"%+Emetapost %#> error: %#",
|
||||
"%Emetafun%.%#error: %m",
|
||||
"! error: %#%m",
|
||||
"%-C %#",
|
||||
"%C! %m",
|
||||
"%Z[ctxlua]%m",
|
||||
"%Z%.%#[ctxlua]:%l:%m",
|
||||
"%+C<*> %.%#",
|
||||
"%-C%.%#",
|
||||
"%Z...%m",
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
" Language: Ada (GNAT)
|
||||
" $Id: gnat.vim 887 2008-07-08 14:29:01Z krischik $
|
||||
" Copyright: Copyright (C) 2006 Martin Krischik
|
||||
" Maintainer: Martin Krischi <krischik@users.sourceforge.net>k
|
||||
" Maintainer: Martin Krischi <krischik@users.sourceforge.net>
|
||||
" Ned Okie <nokie@radford.edu>
|
||||
" $Author: krischik $
|
||||
" $Date: 2008-07-08 16:29:01 +0200 (Di, 08 Jul 2008) $
|
||||
|
||||
@@ -2,7 +2,8 @@
|
||||
" Compiler: Pandoc
|
||||
" Maintainer: Konfekt
|
||||
" Last Change: 2024 Nov 19
|
||||
" 2025 May 15 Update the title regex for CompilerSet #17321
|
||||
" 2025 May 15 by Vim Project: Update the title regex for CompilerSet #17321
|
||||
" 2026 Jan 10 by Vim Project: Do not set the title #19048
|
||||
"
|
||||
" Expects output file extension, say `:make html` or `:make pdf`.
|
||||
" Passes additional arguments to pandoc, say `:make html --self-contained`.
|
||||
@@ -52,8 +53,6 @@ endfunction
|
||||
|
||||
execute 'CompilerSet makeprg=pandoc'..escape(
|
||||
\ ' --standalone'..
|
||||
\ (s:PandocFiletype(&filetype) ==# 'markdown' && (getline(1) =~# '^%\s\+\S\+' || (search('^title:\s\+\S\+', 'cnw') > 0)) ?
|
||||
\ '' : ' --metadata title=%:t:r:S')..
|
||||
\ ' '..s:PandocLang()..
|
||||
\ ' --from='..s:PandocFiletype(&filetype)..
|
||||
\ ' '..get(b:, 'pandoc_compiler_args', get(g:, 'pandoc_compiler_args', ''))..
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
" Vim compiler file
|
||||
" Compiler: Perl syntax checks (perl -Wc)
|
||||
" Maintainer: vim-perl <vim-perl@googlegroups.com>
|
||||
" Maintainer: vim-perl <vim-perl@googlegroups.com> (need to be subscribed to post)
|
||||
" Author: Christian J. Robinson <heptite@gmail.com>
|
||||
" Homepage: https://github.com/vim-perl/vim-perl
|
||||
" Bugs/requests: https://github.com/vim-perl/vim-perl/issues
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
" Vim compiler file
|
||||
" Compiler: perlcritic
|
||||
" Maintainer: vim-perl <vim-perl@googlegroups.com>
|
||||
" Maintainer: vim-perl <vim-perl@googlegroups.com> (need to be subscribed to post)
|
||||
" Author: Doug Kearns <dougkearns@gmail.com>
|
||||
" Homepage: https://github.com/vim-perl/vim-perl
|
||||
" Bugs/requests: https://github.com/vim-perl/vim-perl/issues
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
" Vim compiler file
|
||||
" Compiler: podchecker
|
||||
" Maintainer: vim-perl <vim-perl@googlegroups.com>
|
||||
" Maintainer: vim-perl <vim-perl@googlegroups.com> (need to be subscribed to post)
|
||||
" Author: Doug Kearns <dougkearns@gmail.com>
|
||||
" Homepage: https://github.com/vim-perl/vim-perl
|
||||
" Bugs/requests: https://github.com/vim-perl/vim-perl/issues
|
||||
|
||||
25
runtime/compiler/pyright.vim
Normal file
25
runtime/compiler/pyright.vim
Normal file
@@ -0,0 +1,25 @@
|
||||
" Vim compiler file
|
||||
" Compiler: Pyright (Python Type Checker)
|
||||
" Maintainer: @konfekt
|
||||
" Last Change: 2025 Dec 26
|
||||
|
||||
if exists("current_compiler") | finish | endif
|
||||
let current_compiler = "pyright"
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" CompilerSet makeprg=pyright
|
||||
" CompilerSet makeprg=basedpyright
|
||||
exe 'CompilerSet makeprg=' .. escape(
|
||||
\ get(b:, 'pyright_makeprg', get(g:, 'pyright_makeprg', 'pyright')),
|
||||
\ ' \|"')
|
||||
CompilerSet errorformat=
|
||||
\%E%f:%l:%c\ -\ error:\ %m,
|
||||
\%W%f:%l:%c\ -\ warning:\ %m,
|
||||
\%N%f:%l:%c\ -\ note:\ %m,
|
||||
\%C[ \t]\ %.%#,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
@@ -4,6 +4,7 @@
|
||||
" Last Change: 2024 Nov 07
|
||||
" 2024 Nov 19 by the Vim Project (properly escape makeprg setting)
|
||||
" 2025 Nov 06 by the Vim Project (do not set buffer-local makeprg)
|
||||
" 2024 Dec 24 by the Vim Project (mute Found messages)
|
||||
|
||||
if exists("current_compiler") | finish | endif
|
||||
let current_compiler = "ruff"
|
||||
@@ -16,6 +17,7 @@ exe 'CompilerSet makeprg=' .. escape('ruff check --output-format=concise '
|
||||
\ ..get(b:, 'ruff_makeprg_params', get(g:, 'ruff_makeprg_params', '--preview')),
|
||||
\ ' \|"')
|
||||
CompilerSet errorformat=%f:%l:%c:\ %m,%f:%l:\ %m,%f:%l:%c\ -\ %m,%f:
|
||||
CompilerSet errorformat+=%-GFound\ %.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
20
runtime/compiler/ty.vim
Normal file
20
runtime/compiler/ty.vim
Normal file
@@ -0,0 +1,20 @@
|
||||
" Vim compiler file
|
||||
" Compiler: Ty (Python Type Checker)
|
||||
" Maintainer: @konfekt
|
||||
" Last Change: 2024 Dec 24
|
||||
|
||||
if exists("current_compiler") | finish | endif
|
||||
let current_compiler = "ty"
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" CompilerSet makeprg=ty
|
||||
exe 'CompilerSet makeprg=' .. escape(
|
||||
\ get(b:, 'ty_makeprg', get(g:, 'ty_makeprg', 'ty check --no-progress --color=never'))
|
||||
\ ..' --output-format=concise', ' \|"')
|
||||
CompilerSet errorformat=%f:%l:%c:\ %m,%f:%l:\ %m,%f:%l:%c\ -\ %m,%f:
|
||||
CompilerSet errorformat+=%-GFound\ %.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
@@ -1,4 +1,4 @@
|
||||
*builtin.txt* For Vim version 9.1. Last change: 2025 Dec 13
|
||||
*builtin.txt* For Vim version 9.1. Last change: 2026 Jan 03
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -23,9 +23,11 @@ Use CTRL-] on the function name to jump to the full explanation.
|
||||
|
||||
USAGE RESULT DESCRIPTION ~
|
||||
|
||||
abs({expr}) Float or Number absolute value of {expr}
|
||||
abs({expr}) Float/Number
|
||||
absolute value of {expr}
|
||||
acos({expr}) Float arc cosine of {expr}
|
||||
add({object}, {item}) List/Blob append {item} to {object}
|
||||
add({object}, {item}) List/Blob
|
||||
append {item} to {object}
|
||||
and({expr}, {expr}) Number bitwise AND
|
||||
append({lnum}, {text}) Number append {text} below line {lnum}
|
||||
appendbufline({buf}, {lnum}, {text})
|
||||
@@ -33,7 +35,8 @@ appendbufline({buf}, {lnum}, {text})
|
||||
in buffer {buf}
|
||||
argc([{winid}]) Number number of files in the argument list
|
||||
argidx() Number current index in the argument list
|
||||
arglistid([{winnr} [, {tabnr}]]) Number argument list id
|
||||
arglistid([{winnr} [, {tabnr}]])
|
||||
Number argument list id
|
||||
argv({nr} [, {winid}]) String {nr} entry of the argument list
|
||||
argv([-1, {winid}]) List the argument list
|
||||
asin({expr}) Float arc sine of {expr}
|
||||
@@ -43,7 +46,7 @@ assert_equal({exp}, {act} [, {msg}])
|
||||
assert_equalfile({fname-one}, {fname-two} [, {msg}])
|
||||
Number assert file contents are equal
|
||||
assert_exception({error} [, {msg}])
|
||||
Number assert {error} is in v:exception
|
||||
Number assert {error} is in |v:exception|
|
||||
assert_fails({cmd} [, {error} [, {msg} [, {lnum} [, {context}]]]])
|
||||
Number assert {cmd} fails
|
||||
assert_false({actual} [, {msg}])
|
||||
@@ -81,8 +84,8 @@ bufexists({buf}) Number |TRUE| if buffer {buf} exists
|
||||
buflisted({buf}) Number |TRUE| if buffer {buf} is listed
|
||||
bufload({buf}) Number load buffer {buf} if not loaded yet
|
||||
bufloaded({buf}) Number |TRUE| if buffer {buf} is loaded
|
||||
bufname([{buf}]) String Name of the buffer {buf}
|
||||
bufnr([{buf} [, {create}]]) Number Number of the buffer {buf}
|
||||
bufname([{buf}]) String name of the buffer {buf}
|
||||
bufnr([{buf} [, {create}]]) Number number of the buffer {buf}
|
||||
bufwinid({buf}) Number window ID of buffer {buf}
|
||||
bufwinnr({buf}) Number window number of buffer {buf}
|
||||
byte2line({byte}) Number line number at byte count {byte}
|
||||
@@ -121,7 +124,8 @@ ch_setoptions({handle}, {options})
|
||||
ch_status({handle} [, {options}])
|
||||
String status of channel {handle}
|
||||
changenr() Number current change number
|
||||
char2nr({expr} [, {utf8}]) Number ASCII/UTF-8 value of first char in {expr}
|
||||
char2nr({expr} [, {utf8}]) Number ASCII/UTF-8 value of first char in
|
||||
{expr}
|
||||
charclass({string}) Number character class of {string}
|
||||
charcol({expr} [, {winid}]) Number column number of cursor or mark
|
||||
charidx({string}, {idx} [, {countcc} [, {utf16}]])
|
||||
@@ -180,10 +184,12 @@ expand({expr} [, {nosuf} [, {list}]])
|
||||
expandcmd({string} [, {options}])
|
||||
String expand {string} like with `:edit`
|
||||
extend({expr1}, {expr2} [, {expr3}])
|
||||
List/Dict insert items of {expr2} into {expr1}
|
||||
List/Dict
|
||||
insert items of {expr2} into {expr1}
|
||||
extendnew({expr1}, {expr2} [, {expr3}])
|
||||
List/Dict like |extend()| but creates a new
|
||||
List or Dictionary
|
||||
List/Dict
|
||||
like |extend()| but creates a new List
|
||||
or Dictionary
|
||||
feedkeys({string} [, {mode}]) Number add key sequence to typeahead buffer
|
||||
filecopy({from}, {to}) Number |TRUE| if copying file {from} to {to}
|
||||
worked
|
||||
@@ -194,7 +200,8 @@ filter({expr1}, {expr2}) List/Dict/Blob/String
|
||||
{expr2} is 0
|
||||
finddir({name} [, {path} [, {count}]])
|
||||
findfile({name} [, {path} [, {count}]])
|
||||
String/List find dir/file {name} in {path}
|
||||
String/List
|
||||
find dir/file {name} in {path}
|
||||
flatten({list} [, {maxdepth}]) List flatten {list} up to {maxdepth} levels
|
||||
flattennew({list} [, {maxdepth}])
|
||||
List flatten a copy of {list}
|
||||
@@ -216,7 +223,8 @@ funcref({name} [, {arglist}] [, {dict}])
|
||||
Funcref reference to function {name}
|
||||
function({name} [, {arglist}] [, {dict}])
|
||||
Funcref named reference to function {name}
|
||||
garbagecollect([{atexit}]) none free memory, breaking cyclic references
|
||||
garbagecollect([{atexit}]) none free memory, breaking cyclic
|
||||
references
|
||||
get({list}, {idx} [, {def}]) any get item {idx} from {list} or {def}
|
||||
get({dict}, {key} [, {def}]) any get item {key} from {dict} or {def}
|
||||
get({func}, {what}) any get property of funcref/partial {func}
|
||||
@@ -229,7 +237,7 @@ getbufvar({buf}, {varname} [, {def}])
|
||||
getcellpixels() List get character cell pixel size
|
||||
getcellwidths() List get character cell width overrides
|
||||
getchangelist([{buf}]) List list of change list items
|
||||
getchar([{expr} [, {opts}]]) Number or String
|
||||
getchar([{expr} [, {opts}]]) Number/String
|
||||
get one character from the user
|
||||
getcharmod() Number modifiers for the last typed character
|
||||
getcharpos({expr}) List position of cursor, mark, etc.
|
||||
@@ -245,7 +253,8 @@ getcmdprompt() String return the current command-line prompt
|
||||
getcmdscreenpos() Number return cursor screen position in
|
||||
command-line
|
||||
getcmdtype() String return current command-line type
|
||||
getcmdwintype() String return current command-line window type
|
||||
getcmdwintype() String return current command-line window
|
||||
type
|
||||
getcompletion({pat}, {type} [, {filtered}])
|
||||
List list of cmdline completion matches
|
||||
getcompletiontype({pat}) String return the type of the command-line
|
||||
@@ -263,7 +272,8 @@ getimstatus() Number |TRUE| if the IME status is active
|
||||
getjumplist([{winnr} [, {tabnr}]])
|
||||
List list of jump list items
|
||||
getline({lnum}) String line {lnum} of current buffer
|
||||
getline({lnum}, {end}) List lines {lnum} to {end} of current buffer
|
||||
getline({lnum}, {end}) List lines {lnum} to {end} of current
|
||||
buffer
|
||||
getloclist({nr}) List list of location list items
|
||||
getloclist({nr}, {what}) Dict get specific location list properties
|
||||
getmarklist([{buf}]) List list of global/local marks
|
||||
@@ -275,7 +285,8 @@ getpos({expr}) List position of cursor, mark, etc.
|
||||
getqflist() List list of quickfix items
|
||||
getqflist({what}) Dict get specific quickfix list properties
|
||||
getreg([{regname} [, 1 [, {list}]]])
|
||||
String or List contents of a register
|
||||
String/List
|
||||
contents of a register
|
||||
getreginfo([{regname}]) Dict information about a register
|
||||
getregion({pos1}, {pos2} [, {opts}])
|
||||
List get the text from {pos1} to {pos2}
|
||||
@@ -286,7 +297,8 @@ getscriptinfo([{opts}]) List list of sourced scripts
|
||||
getstacktrace() List get current stack trace of Vim scripts
|
||||
gettabinfo([{expr}]) List list of tab pages
|
||||
gettabvar({nr}, {varname} [, {def}])
|
||||
any variable {varname} in tab {nr} or {def}
|
||||
any variable {varname} in tab {nr} or
|
||||
{def}
|
||||
gettabwinvar({tabnr}, {winnr}, {name} [, {def}])
|
||||
any {name} in {winnr} in tab page {tabnr}
|
||||
gettagstack([{nr}]) Dict get the tag stack of window {nr}
|
||||
@@ -305,8 +317,8 @@ globpath({path}, {expr} [, {nosuf} [, {list} [, {alllinks}]]])
|
||||
has({feature} [, {check}]) Number |TRUE| if feature {feature} supported
|
||||
has_key({dict}, {key}) Number |TRUE| if {dict} has entry {key}
|
||||
haslocaldir([{winnr} [, {tabnr}]])
|
||||
Number |TRUE| if the window executed |:lcd|
|
||||
or |:tcd|
|
||||
Number |TRUE| if the window executed `:lcd` or
|
||||
`:tcd`
|
||||
hasmapto({what} [, {mode} [, {abbr}]])
|
||||
Number |TRUE| if mapping to {what} exists
|
||||
histadd({history}, {item}) Number add an item to a history
|
||||
@@ -332,9 +344,13 @@ inputdialog({prompt} [, {text} [, {cancelreturn}]])
|
||||
inputlist({textlist}) Number let the user pick from a choice list
|
||||
inputrestore() Number restore typeahead
|
||||
inputsave() Number save and clear typeahead
|
||||
inputsecret({prompt} [, {text}]) String like input() but hiding the text
|
||||
insert({object}, {item} [, {idx}]) List insert {item} in {object} [before {idx}]
|
||||
instanceof({object}, {class}) Number |TRUE| if {object} is an instance of {class}
|
||||
inputsecret({prompt} [, {text}])
|
||||
String like input() but hiding the text
|
||||
insert({object}, {item} [, {idx}])
|
||||
List insert {item} in {object}
|
||||
[before {idx}]
|
||||
instanceof({object}, {class}) Number |TRUE| if {object} is an instance of
|
||||
{class}
|
||||
interrupt() none interrupt script execution
|
||||
invert({expr}) Number bitwise invert
|
||||
isabsolutepath({path}) Number |TRUE| if {path} is an absolute path
|
||||
@@ -346,7 +362,8 @@ isnan({expr}) Number |TRUE| if {expr} is NaN
|
||||
items({expr}) List key/index-value pairs in {expr}
|
||||
job_getchannel({job}) Channel get the channel handle for {job}
|
||||
job_info([{job}]) Dict get information about {job}
|
||||
job_setoptions({job}, {options}) none set options for {job}
|
||||
job_setoptions({job}, {options})
|
||||
none set options for {job}
|
||||
job_start({command} [, {options}])
|
||||
Job start a job
|
||||
job_status({job}) String get the status of {job}
|
||||
@@ -358,9 +375,10 @@ json_decode({string}) any decode JSON
|
||||
json_encode({expr}) String encode JSON
|
||||
keys({dict}) List keys in {dict}
|
||||
keytrans({string}) String translate internal keycodes to a form
|
||||
that can be used by |:map|
|
||||
that can be used by `:map`
|
||||
len({expr}) Number the length of {expr}
|
||||
libcall({lib}, {func}, {arg}) String call {func} in library {lib} with {arg}
|
||||
libcall({lib}, {func}, {arg}) String call {func} in library {lib} with
|
||||
{arg}
|
||||
libcallnr({lib}, {func}, {arg}) Number idem, but return a Number
|
||||
line({expr} [, {winid}]) Number line nr of cursor, last line or mark
|
||||
line2byte({lnum}) Number byte count of line {lnum}
|
||||
@@ -379,7 +397,7 @@ luaeval({expr} [, {expr}]) any evaluate |Lua| expression
|
||||
map({expr1}, {expr2}) List/Dict/Blob/String
|
||||
change each item in {expr1} to {expr2}
|
||||
maparg({name} [, {mode} [, {abbr} [, {dict}]]])
|
||||
String or Dict
|
||||
String/Dict
|
||||
rhs of mapping {name} in mode {mode}
|
||||
mapcheck({name} [, {mode} [, {abbr}]])
|
||||
String check for mappings matching {name}
|
||||
@@ -394,7 +412,7 @@ matchadd({group}, {pattern} [, {priority} [, {id} [, {dict}]]])
|
||||
Number highlight {pattern} with {group}
|
||||
matchaddpos({group}, {pos} [, {priority} [, {id} [, {dict}]]])
|
||||
Number highlight positions with {group}
|
||||
matcharg({nr}) List arguments of |:match|
|
||||
matcharg({nr}) List arguments of `:match`
|
||||
matchbufline({buf}, {pat}, {lnum}, {end}, [, {dict})
|
||||
List all the {pat} matches in buffer {buf}
|
||||
matchdelete({id} [, {win}]) Number delete match identified by {id}
|
||||
@@ -405,7 +423,8 @@ matchfuzzy({list}, {str} [, {dict}])
|
||||
matchfuzzypos({list}, {str} [, {dict}])
|
||||
List fuzzy match {str} in {list}
|
||||
matchlist({expr}, {pat} [, {start} [, {count}]])
|
||||
List match and submatches of {pat} in {expr}
|
||||
List match and submatches of {pat} in
|
||||
{expr}
|
||||
matchstr({expr}, {pat} [, {start} [, {count}]])
|
||||
String {count}'th match of {pat} in {expr}
|
||||
matchstrlist({list}, {pat} [, {dict})
|
||||
@@ -422,11 +441,13 @@ mzeval({expr}) any evaluate |MzScheme| expression
|
||||
nextnonblank({lnum}) Number line nr of non-blank line >= {lnum}
|
||||
ngettext({single}, {plural}, {number}[, {domain}])
|
||||
String translate text based on {number}
|
||||
nr2char({expr} [, {utf8}]) String single char with ASCII/UTF-8 value {expr}
|
||||
nr2char({expr} [, {utf8}]) String single char with ASCII/UTF-8 value
|
||||
{expr}
|
||||
or({expr}, {expr}) Number bitwise OR
|
||||
pathshorten({expr} [, {len}]) String shorten directory names in a path
|
||||
perleval({expr}) any evaluate |Perl| expression
|
||||
popup_atcursor({what}, {options}) Number create popup window near the cursor
|
||||
popup_atcursor({what}, {options})
|
||||
Number create popup window near the cursor
|
||||
popup_beval({what}, {options}) Number create popup window for 'ballooneval'
|
||||
popup_clear() none close all popup windows
|
||||
popup_close({id} [, {result}]) none close popup window {id}
|
||||
@@ -446,7 +467,8 @@ popup_menu({what}, {options}) Number create a popup window used as a menu
|
||||
popup_move({id}, {options}) none set position of popup window {id}
|
||||
popup_notification({what}, {options})
|
||||
Number create a notification popup window
|
||||
popup_setbuf({id}, {buf}) Bool set the buffer for the popup window {id}
|
||||
popup_setbuf({id}, {buf}) Bool set the buffer for the popup window
|
||||
{id}
|
||||
popup_setoptions({id}, {options})
|
||||
none set options for popup window {id}
|
||||
popup_settext({id}, {text}) none set the text of popup window {id}
|
||||
@@ -456,10 +478,13 @@ preinserted() Number whether text is inserted after cursor
|
||||
prevnonblank({lnum}) Number line nr of non-blank line <= {lnum}
|
||||
printf({fmt}, {expr1}...) String format text
|
||||
prompt_getprompt({buf}) String get prompt text
|
||||
prompt_setcallback({buf}, {expr}) none set prompt callback function
|
||||
prompt_setinterrupt({buf}, {text}) none set prompt interrupt function
|
||||
prompt_setcallback({buf}, {expr})
|
||||
none set prompt callback function
|
||||
prompt_setinterrupt({buf}, {text})
|
||||
none set prompt interrupt function
|
||||
prompt_setprompt({buf}, {text}) none set prompt text
|
||||
prop_add({lnum}, {col}, {props}) none add one text property
|
||||
prop_add({lnum}, {col}, {props})
|
||||
none add one text property
|
||||
prop_add_list({props}, [[{lnum}, {col}, {end-lnum}, {end-col}], ...])
|
||||
none add multiple text properties
|
||||
prop_clear({lnum} [, {lnum-end} [, {props}]])
|
||||
@@ -527,9 +552,10 @@ round({expr}) Float round off {expr}
|
||||
rubyeval({expr}) any evaluate |Ruby| expression
|
||||
screenattr({row}, {col}) Number attribute at screen position
|
||||
screenchar({row}, {col}) Number character at screen position
|
||||
screenchars({row}, {col}) List List of characters at screen position
|
||||
screenchars({row}, {col}) List list of characters at screen position
|
||||
screencol() Number current cursor column
|
||||
screenpos({winid}, {lnum}, {col}) Dict screen row and col of a text character
|
||||
screenpos({winid}, {lnum}, {col})
|
||||
Dict screen row and col of a text character
|
||||
screenrow() Number current cursor row
|
||||
screenstring({row}, {col}) String characters at screen position
|
||||
search({pattern} [, {flags} [, {stopline} [, {timeout} [, {skip}]]]])
|
||||
@@ -570,7 +596,9 @@ setqflist({list} [, {action}]) Number modify quickfix list using {list}
|
||||
setqflist({list}, {action}, {what})
|
||||
Number modify specific quickfix list props
|
||||
setreg({n}, {v} [, {opt}]) Number set register to value and type
|
||||
settabvar({nr}, {varname}, {val}) none set {varname} in tab page {nr} to {val}
|
||||
settabvar({nr}, {varname}, {val})
|
||||
none set {varname} in tab page {nr} to
|
||||
{val}
|
||||
settabwinvar({tabnr}, {winnr}, {varname}, {val})
|
||||
none set {varname} in window {winnr} in tab
|
||||
page {tabnr} to {val}
|
||||
@@ -600,7 +628,8 @@ sign_unplacelist({list}) List unplace a list of signs
|
||||
simplify({filename}) String simplify filename as much as possible
|
||||
sin({expr}) Float sine of {expr}
|
||||
sinh({expr}) Float hyperbolic sine of {expr}
|
||||
slice({expr}, {start} [, {end}]) String, List or Blob
|
||||
slice({expr}, {start} [, {end}])
|
||||
String/List/Blob
|
||||
slice of a String, List or Blob
|
||||
sort({list} [, {how} [, {dict}]])
|
||||
List sort {list}, compare with {how}
|
||||
@@ -630,7 +659,8 @@ strcharpart({str}, {start} [, {len} [, {skipcc}]])
|
||||
String {len} characters of {str} at
|
||||
character {start}
|
||||
strchars({expr} [, {skipcc}]) Number character count of the String {expr}
|
||||
strdisplaywidth({expr} [, {col}]) Number display length of the String {expr}
|
||||
strdisplaywidth({expr} [, {col}])
|
||||
Number display length of the String {expr}
|
||||
strftime({format} [, {time}]) String format time with a specified format
|
||||
strgetchar({str}, {index}) Number get char {index} from {str}
|
||||
stridx({haystack}, {needle} [, {start}])
|
||||
@@ -638,20 +668,24 @@ stridx({haystack}, {needle} [, {start}])
|
||||
string({expr}) String String representation of {expr} value
|
||||
strlen({expr}) Number length of the String {expr}
|
||||
strpart({str}, {start} [, {len} [, {chars}]])
|
||||
String {len} bytes/chars of {str} at
|
||||
byte {start}
|
||||
String {len} bytes/chars of {str} at byte
|
||||
{start}
|
||||
strptime({format}, {timestring})
|
||||
Number Convert {timestring} to unix timestamp
|
||||
Number convert {timestring} to unix timestamp
|
||||
strridx({haystack}, {needle} [, {start}])
|
||||
Number last index of {needle} in {haystack}
|
||||
strtrans({expr}) String translate string to make it printable
|
||||
strutf16len({string} [, {countcc}])
|
||||
Number number of UTF-16 code units in {string}
|
||||
strwidth({expr}) Number display cell length of the String {expr}
|
||||
submatch({nr} [, {list}]) String or List
|
||||
specific match in ":s" or substitute()
|
||||
Number number of UTF-16 code units in
|
||||
{string}
|
||||
strwidth({expr}) Number display cell length of the String
|
||||
{expr}
|
||||
submatch({nr} [, {list}]) String/List
|
||||
specific match in `:substitute` or
|
||||
substitute()
|
||||
substitute({expr}, {pat}, {sub}, {flags})
|
||||
String all {pat} in {expr} replaced with {sub}
|
||||
String all {pat} in {expr} replaced with
|
||||
{sub}
|
||||
swapfilelist() List swap files found in 'directory'
|
||||
swapinfo({fname}) Dict information about swap file {fname}
|
||||
swapname({buf}) String swap file of buffer {buf}
|
||||
@@ -660,12 +694,14 @@ synIDattr({synID}, {what} [, {mode}])
|
||||
String attribute {what} of syntax ID {synID}
|
||||
synIDtrans({synID}) Number translated syntax ID of {synID}
|
||||
synconcealed({lnum}, {col}) List info about concealing
|
||||
synstack({lnum}, {col}) List stack of syntax IDs at {lnum} and {col}
|
||||
synstack({lnum}, {col}) List stack of syntax IDs at {lnum} and
|
||||
{col}
|
||||
system({expr} [, {input}]) String output of shell command/filter {expr}
|
||||
systemlist({expr} [, {input}]) List output of shell command/filter {expr}
|
||||
tabpagebuflist([{arg}]) List list of buffer numbers in tab page
|
||||
tabpagenr([{arg}]) Number number of current or last tab page
|
||||
tabpagewinnr({tabarg} [, {arg}]) Number number of current window in tab page
|
||||
tabpagewinnr({tabarg} [, {arg}])
|
||||
Number number of current window in tab page
|
||||
tagfiles() List tags files used
|
||||
taglist({expr} [, {filename}]) List list of tags matching {expr}
|
||||
tan({expr}) Float tangent of {expr}
|
||||
@@ -695,7 +731,8 @@ term_setansicolors({buf}, {colors})
|
||||
none set ANSI palette in GUI color mode
|
||||
term_setapi({buf}, {expr}) none set |terminal-api| function name prefix
|
||||
term_setkill({buf}, {how}) none set signal to stop job in terminal
|
||||
term_setrestore({buf}, {command}) none set command to restore terminal
|
||||
term_setrestore({buf}, {command})
|
||||
none set command to restore terminal
|
||||
term_setsize({buf}, {rows}, {cols})
|
||||
none set the size of a terminal
|
||||
term_start({cmd} [, {options}]) Number open a terminal window and run a job
|
||||
@@ -735,8 +772,10 @@ timer_start({time}, {callback} [, {options}])
|
||||
Number create a timer
|
||||
timer_stop({timer}) none stop a timer
|
||||
timer_stopall() none stop all timers
|
||||
tolower({expr}) String the String {expr} switched to lowercase
|
||||
toupper({expr}) String the String {expr} switched to uppercase
|
||||
tolower({expr}) String the String {expr} switched to
|
||||
lowercase
|
||||
toupper({expr}) String the String {expr} switched to
|
||||
uppercase
|
||||
tr({src}, {fromstr}, {tostr}) String translate chars of {src} in {fromstr}
|
||||
to chars in {tostr}
|
||||
trim({text} [, {mask} [, {dir}]])
|
||||
@@ -755,7 +794,7 @@ utf16idx({string}, {idx} [, {countcc} [, {charidx}]])
|
||||
Number UTF-16 index of byte {idx} in {string}
|
||||
values({dict}) List values in {dict}
|
||||
virtcol({expr} [, {list} [, {winid}])
|
||||
Number or List
|
||||
Number/List
|
||||
screen column of cursor or mark
|
||||
virtcol2col({winid}, {lnum}, {col})
|
||||
Number byte index of a character on screen
|
||||
@@ -782,7 +821,8 @@ winheight({nr}) Number height of window {nr}
|
||||
winlayout([{tabnr}]) List layout of windows in tab {tabnr}
|
||||
winline() Number window line of the cursor
|
||||
winnr([{expr}]) Number number of current window
|
||||
winrestcmd() String returns command to restore window sizes
|
||||
winrestcmd() String returns command to restore window
|
||||
sizes
|
||||
winrestview({dict}) none restore view of current window
|
||||
winsaveview() Dict save view of current window
|
||||
winwidth({nr}) Number width of window {nr}
|
||||
@@ -4839,6 +4879,11 @@ getpos({expr}) *getpos()*
|
||||
within the line. To get the character position in the line,
|
||||
use |getcharpos()|.
|
||||
|
||||
The visual marks |'<| and |'>| refer to the beginning and end
|
||||
of the visual selection relative to the buffer. Note that
|
||||
this differs from |setpos()|, where they are relative to the
|
||||
cursor position.
|
||||
|
||||
Note that for '< and '> Visual mode matters: when it is "V"
|
||||
(visual line mode) the column of '< is zero and the column of
|
||||
'> is a large number equal to |v:maxcol|.
|
||||
@@ -10112,9 +10157,14 @@ setpos({expr}, {list}) *setpos()*
|
||||
preferred column is not set. When it is present and setting a
|
||||
mark position it is not used.
|
||||
|
||||
Note that for '< and '> changing the line number may result in
|
||||
the marks to be effectively be swapped, so that '< is always
|
||||
before '>.
|
||||
Note that for |'<| and |'>| changing the line number may
|
||||
result in the marks to be effectively swapped, so that |'<| is
|
||||
always before |'>|.
|
||||
|
||||
The visual marks |'<| and |'>| refer to the beginning and end
|
||||
of the visual selection relative to the cursor position.
|
||||
Note that this differs from |getpos()|, where they are
|
||||
relative to the buffer.
|
||||
|
||||
Returns 0 when the position could be set, -1 otherwise.
|
||||
An error message is given if {expr} is invalid.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*change.txt* For Vim version 9.1. Last change: 2025 Dec 18
|
||||
*change.txt* For Vim version 9.1. Last change: 2026 Jan 08
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1777,7 +1777,9 @@ l Long lines are not broken in insert mode: When a line was longer than
|
||||
automatically format it.
|
||||
*fo-m*
|
||||
m Also break at a multibyte character above 255. This is useful for
|
||||
Asian text where every character is a word on its own.
|
||||
Asian text where every character is a word on its own. Note that
|
||||
line breaks may also be added after punctuation characters such as
|
||||
colons to match the CJK linebreaking rules.
|
||||
*fo-M*
|
||||
M When joining lines, don't insert a space before or after a multibyte
|
||||
character. Overrules the 'B' flag.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*eval.txt* For Vim version 9.1. Last change: 2025 Dec 21
|
||||
*eval.txt* For Vim version 9.1. Last change: 2026 Jan 10
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -467,7 +467,13 @@ Changing the order of items in a list: >
|
||||
:call reverse(list) " reverse the order of items
|
||||
:call uniq(sort(list)) " sort and remove duplicates
|
||||
|
||||
|
||||
In a Vim9 script or a def method, a new item can be appended to a List by
|
||||
using the list length as the index: >
|
||||
vim9script
|
||||
var l: list<string>
|
||||
l[0] = 'a'
|
||||
l[1] = 'b'
|
||||
<
|
||||
For loop ~
|
||||
|
||||
The |:for| loop executes commands for each item in a List, Tuple, String or
|
||||
@@ -3718,13 +3724,16 @@ text...
|
||||
matching {pattern} is being thrown and has not yet
|
||||
been caught by a previous `:catch`. Otherwise, these
|
||||
commands are skipped.
|
||||
When {pattern} is omitted all errors are caught.
|
||||
Examples: >
|
||||
Pattern can start with "Vim({cmd})" to indicate an
|
||||
exception that occurred when executing the Ex command
|
||||
{cmd}. When {pattern} is omitted all errors are
|
||||
caught. Examples: >
|
||||
:catch /^Vim:Interrupt$/ " catch interrupts (CTRL-C)
|
||||
:catch /^Vim\%((\a\+)\)\=:E/ " catch all Vim errors
|
||||
:catch /^Vim\%((\a\+)\)\=:/ " catch errors and interrupts
|
||||
:catch /^Vim\%((\S\+)\)\=:E/ " catch all Vim errors
|
||||
:catch /^Vim\%((\S\+)\)\=:/ " catch errors and interrupts
|
||||
:catch /^Vim(write):/ " catch all errors in :write
|
||||
:catch /^Vim\%((\a\+)\)\=:E123:/ " catch error E123
|
||||
:catch /^Vim(!):/ " catch all errors in :!
|
||||
:catch /^Vim\%((\S\+)\)\=:E123:/ " catch error E123
|
||||
:catch /my-exception/ " catch user exception
|
||||
:catch /.*/ " catch everything
|
||||
:catch " same as /.*/
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
*ft_context.txt* For Vim version 9.1. Last change: 2024 Jan 01
|
||||
*ft_context.txt* For Vim version 9.2. Last change: 2026 Jan 10
|
||||
|
||||
This is the documentation for the ConTeXt filetype plugin.
|
||||
|
||||
NOTE: the plugin requires +vim9script.
|
||||
NOTE: the plugin requires |+vim9script|.
|
||||
|
||||
==============================================================================
|
||||
CONTENTS *context.vim* *ft-context*
|
||||
@@ -19,11 +19,11 @@ Introduction ~
|
||||
ConTeXt, similarly to LaTeX, is a macro-based typesetting system built on TeX:
|
||||
>
|
||||
https://wiki.contextgarden.net
|
||||
https://wiki.contextgarden.net/Vim
|
||||
https://wiki.contextgarden.net/Input_and_compilation/Text_editors/Vim
|
||||
<
|
||||
The ConTeXt plugin provides syntax highlighting, completion and support for
|
||||
typesetting ConTeXt documents. The recommended way to typeset a document is to
|
||||
use |:ConTeXt|. This will invoke the `mtxrun` script that is found in `$PATH`.
|
||||
use |:ConTeXt|, which invokes the `mtxrun` script that is found in $PATH.
|
||||
|
||||
For more fine grained control over the command and its environment,
|
||||
`context.Typeset()` can be used directly (or `context#Typeset()` from legacy
|
||||
@@ -32,26 +32,31 @@ Vim script). For instance, if a version of ConTeXt is installed in
|
||||
>
|
||||
import autoload 'context.vim'
|
||||
|
||||
var os = "linux" # Update to match your system
|
||||
var arch = "arm64" # Update to match your system
|
||||
|
||||
def MyConTeXt()
|
||||
const env = {'PATH':
|
||||
printf("%s/context/tex/texmf-<os>-<arch>/bin:%s", $HOME, $PATH)}
|
||||
context.Typeset("%", env)
|
||||
var env = {
|
||||
'PATH': $'{$HOME}/context/tex/texmf-{os}-{arch}/bin:{$PATH}'
|
||||
}
|
||||
context.Typeset("%", env)
|
||||
enddef
|
||||
|
||||
This code may go in `~/.vim/after/ftplugin/context.vim`. A mapping can then be
|
||||
defined to invoke the custom command:
|
||||
>
|
||||
nnoremap <silent><buffer><leader>t <scriptcmd>MyConTeXt()<cr>
|
||||
<
|
||||
This code should go in `~/.vim/after/ftplugin/context.vim`.
|
||||
|
||||
`context.Typeset()` accepts a third optional argument to specify a custom
|
||||
typesetting command. That must be a function that takes a path and returns the
|
||||
command as a List. For example:
|
||||
command as a |list|. For example:
|
||||
>
|
||||
def ConTeXtCustomCommand(path: string): list<string>
|
||||
return ['mtxrun', '--script', 'context', '--nonstopmode', path]
|
||||
enddef
|
||||
|
||||
context.ConTeXtTypeset("%", v:none, ConTeXtCustomCommand)
|
||||
def MyContext()
|
||||
context.Typeset("%", v:none, ConTeXtCustomCommand)
|
||||
enddef
|
||||
<
|
||||
Large projects are often organized as a root document and various chapter
|
||||
files. When editing a chapter file, it is convenient to invoke |:ConTeXt|
|
||||
@@ -67,7 +72,7 @@ one in the current buffer. The root document does not have to be opened in
|
||||
Vim.
|
||||
|
||||
To extend completion and syntax highlighting, you may generate supporting
|
||||
files using ConTeXt and add them to your configuration. If you configuration
|
||||
files using ConTeXt and add them to your configuration. If your configuration
|
||||
resides in `~/.vim`, you may use these commands:
|
||||
>
|
||||
mkdir -p ~/.vim/syntax/shared
|
||||
@@ -81,7 +86,8 @@ The last command will create the following syntax files:
|
||||
- `context-data-metafun.vim`;
|
||||
- `context-data-tex.vim`.
|
||||
|
||||
The same command can be used to update those syntax files.
|
||||
If present, such files will be automatically loaded to enhance syntax
|
||||
highlighting. The same command can be used to update those syntax files.
|
||||
|
||||
*ft-context-commands*
|
||||
Commands ~
|
||||
@@ -109,8 +115,9 @@ and this option is not set, standard `make` is used. If this option is set,
|
||||
>
|
||||
g:context_ignore_makefile = 0
|
||||
<
|
||||
NOTE: before using |:make|, set the working directory of the buffer to the
|
||||
directory of the file to be typeset.
|
||||
NOTE: before using |:make|, ensure that the working directory of the buffer is
|
||||
set to the directory of the file you want to typeset. Additionally, be aware
|
||||
that |:make| searches for `mtxrun in $PATH.
|
||||
|
||||
*'g:context_extra_options'*
|
||||
A list of additional options to pass to `mtxrun`.
|
||||
@@ -135,11 +142,11 @@ When set, do not define any mappings.
|
||||
*ft-context-mappings*
|
||||
Mappings ~
|
||||
|
||||
tp "reflow TeX paragraph".
|
||||
tp "reflow TeX paragraph" (motion).
|
||||
|
||||
i$ "inside inline math block".
|
||||
i$ "inside inline math block" (text object selection).
|
||||
|
||||
a$ "around inline math block".
|
||||
a$ "around inline math block" (text object selection).
|
||||
|
||||
]] [count] start of sections forward.
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
*ft_mp.txt* For Vim version 9.1. Last change: 2022 Aug 12
|
||||
*ft_mp.txt* For Vim version 9.2. Last change: 2026 Jan 10
|
||||
|
||||
This is the documentation for the METAFONT and MetaPost filetype plugins.
|
||||
Unless otherwise specified, the commands, settings and mappings defined below
|
||||
apply equally to both filetypes.
|
||||
|
||||
NOTE: the plugin requires +vim9script.
|
||||
NOTE: the plugin requires |+vim9script|.
|
||||
|
||||
==============================================================================
|
||||
CONTENTS *mp.vim* *ft-metapost*
|
||||
@@ -38,25 +38,25 @@ next line should not change from whatever it has been manually set.
|
||||
|
||||
For example, this is the default indentation of a simple macro:
|
||||
>
|
||||
def foo =
|
||||
makepen(
|
||||
subpath(T-n,t) of r
|
||||
shifted .5down
|
||||
--subpath(t,T) of r shifted .5up -- cycle
|
||||
)
|
||||
withcolor black
|
||||
enddef
|
||||
def foo =
|
||||
makepen(
|
||||
subpath(T-n,t) of r
|
||||
shifted .5down
|
||||
--subpath(t,T) of r shifted .5up -- cycle
|
||||
)
|
||||
withcolor black
|
||||
enddef
|
||||
<
|
||||
By adding the special comments, the indentation can be adjusted arbitrarily:
|
||||
>
|
||||
def foo =
|
||||
makepen(
|
||||
subpath(T-n,t) of r %>
|
||||
shifted .5down %>
|
||||
--subpath(t,T) of r shifted .5up -- cycle %<<<
|
||||
)
|
||||
withcolor black
|
||||
enddef
|
||||
def foo =
|
||||
makepen(
|
||||
subpath(T-n,t) of r %>
|
||||
shifted .5down %>
|
||||
--subpath(t,T) of r shifted .5up -- cycle %<<<
|
||||
)
|
||||
withcolor black
|
||||
enddef
|
||||
<
|
||||
*ft-metapost-commands*
|
||||
Commands ~
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*gui_w32.txt* For Vim version 9.1. Last change: 2025 Nov 09
|
||||
*gui_w32.txt* For Vim version 9.1. Last change: 2025 Dec 21
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -504,4 +504,25 @@ To use the system's default title bar colors, set highlighting groups to
|
||||
hi TitleBar guibg=NONE guifg=NONE
|
||||
hi TitleBarNC guibg=NONE guifg=NONE
|
||||
<
|
||||
|
||||
Full Screen *gui-w32-fullscreen*
|
||||
|
||||
To enable fullscreen mode in the Windows GUI version of Vim, add the 's' flag
|
||||
to the 'guioptions' setting.
|
||||
|
||||
For convenience, you can define a command or mapping to toggle fullscreen mode:
|
||||
>
|
||||
command! ToggleFullscreen {
|
||||
if &guioptions =~# 's'
|
||||
set guioptions-=s
|
||||
else
|
||||
set guioptions+=s
|
||||
endif
|
||||
}
|
||||
|
||||
map <expr> <F11> &go =~# 's' ? ":se go-=s<CR>" : ":se go+=s<CR>"
|
||||
|
||||
The fullscreen mode will occupy the entire screen area while hiding window
|
||||
decorations such as the title bar and borders.
|
||||
|
||||
vim:tw=78:sw=4:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*if_pyth.txt* For Vim version 9.1. Last change: 2025 Nov 09
|
||||
*if_pyth.txt* For Vim version 9.1. Last change: 2026 Jan 11
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Paul Moore
|
||||
@@ -183,9 +183,11 @@ vim.eval(str) *python-eval*
|
||||
Evaluates the expression str using the vim internal expression
|
||||
evaluator (see |expression|). Returns the expression result as:
|
||||
- a string if the Vim expression evaluates to a string or number
|
||||
- a list if the Vim expression evaluates to a Vim list
|
||||
- a tuple if the Vim expression evaluates to a Vim tuple
|
||||
- a dictionary if the Vim expression evaluates to a Vim dictionary
|
||||
- a list if the Vim expression evaluates to a Vim |list|
|
||||
- a tuple if the Vim expression evaluates to a Vim |tuple|
|
||||
- a dictionary if the Vim expression evaluates to a Vim |dict|
|
||||
- a boolean if Vim exression evaluates to |v:true| or |v:false|
|
||||
- `None` if Vim expression evaluates to |v:null| or |v:none|
|
||||
Dictionaries, lists and tuples are recursively expanded.
|
||||
Examples: >
|
||||
:" value of the 'textwidth' option
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*insert.txt* For Vim version 9.1. Last change: 2025 Nov 09
|
||||
*insert.txt* For Vim version 9.1. Last change: 2026 Jan 07
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1720,7 +1720,7 @@ Complete:
|
||||
Notes
|
||||
|
||||
- It doesn't complete command arguments that rely on 'shellcmd' completion
|
||||
type in Windows and WSL due to general slowness of canditate gathering,
|
||||
type in Windows and WSL due to general slowness of candidate gathering,
|
||||
e.g.
|
||||
>
|
||||
terminal dir
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*options.txt* For Vim version 9.1. Last change: 2025 Dec 18
|
||||
*options.txt* For Vim version 9.1. Last change: 2026 Jan 11
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1823,7 +1823,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
prepend, e.g.: >
|
||||
set clipboard^=unnamed
|
||||
< When using the GUI see |'go-A'|.
|
||||
When using the |clipboard-providers| feature, only the "unamed" and
|
||||
When using the |clipboard-providers| feature, only the "unnamed" and
|
||||
"unnamedplus" features will be recognized If compiled without the
|
||||
|+clipboard| feature but compiled with the |+clipboard_provider|
|
||||
feature, then they will be the only values allowed and the other
|
||||
@@ -4274,15 +4274,17 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
|
||||
*'fsync'* *'fs'* *'nofsync'* *'nofs'*
|
||||
'fsync' 'fs' boolean (default on)
|
||||
global
|
||||
global or local to buffer |global-local|
|
||||
When on, the library function fsync() will be called after writing a
|
||||
file. This will flush a file to disk, ensuring that it is safely
|
||||
written even on filesystems which do metadata-only journaling. This
|
||||
will force the harddrive to spin up on Linux systems running in laptop
|
||||
mode, so it may be undesirable in some situations. Be warned that
|
||||
turning this off increases the chances of data loss after a crash. On
|
||||
systems without an fsync() implementation, this variable is always
|
||||
off.
|
||||
will force the hard drive to spin up on Linux systems running in
|
||||
laptop mode, so it may be undesirable in some situations. Be warned
|
||||
that turning this off increases the chances of data loss after a
|
||||
crash. On systems without an fsync() implementation, this variable is
|
||||
always off.
|
||||
This is a |global-local| option, so it can be set per buffer, for
|
||||
example when writing to a slow filesystem.
|
||||
Also see 'swapsync' for controlling fsync() on swap files.
|
||||
'fsync' also applies to |writefile()| (unless a flag is used to
|
||||
overrule it) and when writing undo files (see |undo-persistence|).
|
||||
@@ -4572,6 +4574,12 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
*'go-T'*
|
||||
'T' Include Toolbar. Currently only in Win32, GTK+, Motif and
|
||||
Photon GUIs.
|
||||
*'go-s'*
|
||||
's' Enable fullscreen mode. Currently only supported in the
|
||||
MS-Windows GUI version. When set, the window will occupy the
|
||||
entire screen and remove window decorations. Define custom
|
||||
mappings to toggle this mode conveniently. For detailed usage
|
||||
instructions, see |gui-w32-fullscreen|.
|
||||
*'go-r'*
|
||||
'r' Right-hand scrollbar is always present.
|
||||
*'go-R'*
|
||||
@@ -6033,7 +6041,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
When the number of matches exceeds this value, Vim shows ">" instead
|
||||
of the exact count to keep searching fast.
|
||||
Note: larger values may impact performance.
|
||||
The value must be between 1 and 9999.
|
||||
The value must be between 1 and 9999. See also the |searchcount()|
|
||||
function.
|
||||
|
||||
*'menuitems'* *'mis'*
|
||||
'menuitems' 'mis' number (default 25)
|
||||
@@ -6964,6 +6973,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
|lambda| or a |Funcref|. See |option-value-function| for more
|
||||
information.
|
||||
|
||||
It is not allowed to change text or jump to another window while
|
||||
evaluating 'qftf' |textlock|.
|
||||
|
||||
This option cannot be set from a |modeline| or in the |sandbox|, for
|
||||
security reasons.
|
||||
|
||||
@@ -7854,7 +7866,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
"search hit TOP, continuing at BOTTOM" messages are only
|
||||
indicated by a "W" (Mnemonic: Wrapped) letter before the
|
||||
search count statistics. The maximum limit can be set with
|
||||
the 'maxsearchcount' option.
|
||||
the 'maxsearchcount' option, see also |searchcount()|
|
||||
function.
|
||||
|
||||
This gives you the opportunity to avoid that a change between buffers
|
||||
requires you to hit <Enter>, but still gives as useful a message as
|
||||
@@ -8131,7 +8144,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
when it is turned off. It is also reset when 'compatible' is set.
|
||||
|
||||
The 'L' flag in 'cpoptions' alters tab behavior when 'list' is
|
||||
enabled. See also |ins-expandtab| ans user manual section |30.5| for
|
||||
enabled. See also |ins-expandtab| and user manual section |30.5| for
|
||||
in-depth explanations.
|
||||
|
||||
If Vim is compiled with the |+vartabs| feature then the value of
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
*popup.txt* For Vim version 9.1. Last change: 2025 Nov 09
|
||||
*popup.txt* For Vim version 9.1. Last change: 2026 Jan 08
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
|
||||
|
||||
Displaying text in a floating window. *popup* *popup-window* *popupwin*
|
||||
Displaying text in a popup window. *popup* *popup-window* *popupwin*
|
||||
|
||||
|
||||
1. Introduction |popup-intro|
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*quickfix.txt* For Vim version 9.1. Last change: 2025 Nov 09
|
||||
*quickfix.txt* For Vim version 9.1. Last change: 2025 Dec 27
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1654,6 +1654,22 @@ b/g:mypy_makeprg_params variable. For example: >
|
||||
|
||||
The global default is "--strict --ignore-missing-imports".
|
||||
|
||||
PYRIGHT TYPE CHECKER *compiler-pyright*
|
||||
|
||||
Commonly used compiler options can be added to 'makeprg' by setting the
|
||||
b/g:pyright_makeprg_params variable.
|
||||
|
||||
The global default is "pyright".
|
||||
|
||||
TY TYPE CHECKER *compiler-ty*
|
||||
|
||||
Commonly used compiler options and executable can be set by the
|
||||
b/g:ty_makeprg variable. For example: >
|
||||
|
||||
let b:ty_makeprg = "uv run ty"
|
||||
|
||||
The global default is "ty --no-progress --color=never".
|
||||
|
||||
RUFF LINTER *compiler-ruff*
|
||||
|
||||
Commonly used compiler options can be added to 'makeprg' by setting the
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*syntax.txt* For Vim version 9.1. Last change: 2025 Oct 14
|
||||
*syntax.txt* For Vim version 9.1. Last change: 2026 Jan 06
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1125,6 +1125,7 @@ new-generation language oriented to full-scenario intelligence.
|
||||
All highlighting is enabled by default. To disable highlighting for a
|
||||
specific group, set the corresponding variable to 0 in your |vimrc|.
|
||||
All options to disable highlighting are: >
|
||||
:let g:cangjie_builtin_color = 0
|
||||
:let g:cangjie_comment_color = 0
|
||||
:let g:cangjie_identifier_color = 0
|
||||
:let g:cangjie_keyword_color = 0
|
||||
|
||||
@@ -377,6 +377,7 @@ $quote eval.txt /*$quote*
|
||||
'go-m' options.txt /*'go-m'*
|
||||
'go-p' options.txt /*'go-p'*
|
||||
'go-r' options.txt /*'go-r'*
|
||||
'go-s' options.txt /*'go-s'*
|
||||
'go-t' options.txt /*'go-t'*
|
||||
'go-v' options.txt /*'go-v'*
|
||||
'gp' options.txt /*'gp'*
|
||||
@@ -6771,6 +6772,7 @@ compiler-mypy quickfix.txt /*compiler-mypy*
|
||||
compiler-pandoc quickfix.txt /*compiler-pandoc*
|
||||
compiler-perl quickfix.txt /*compiler-perl*
|
||||
compiler-pylint quickfix.txt /*compiler-pylint*
|
||||
compiler-pyright quickfix.txt /*compiler-pyright*
|
||||
compiler-pytest quickfix.txt /*compiler-pytest*
|
||||
compiler-pyunit quickfix.txt /*compiler-pyunit*
|
||||
compiler-ruff quickfix.txt /*compiler-ruff*
|
||||
@@ -6779,6 +6781,7 @@ compiler-spotbugs quickfix.txt /*compiler-spotbugs*
|
||||
compiler-tex quickfix.txt /*compiler-tex*
|
||||
compiler-tombi quickfix.txt /*compiler-tombi*
|
||||
compiler-tsc quickfix.txt /*compiler-tsc*
|
||||
compiler-ty quickfix.txt /*compiler-ty*
|
||||
compiler-typst quickfix.txt /*compiler-typst*
|
||||
compiler-vaxada ft_ada.txt /*compiler-vaxada*
|
||||
compl-current insert.txt /*compl-current*
|
||||
@@ -8248,6 +8251,7 @@ gui-vert-scroll gui.txt /*gui-vert-scroll*
|
||||
gui-w32 gui_w32.txt /*gui-w32*
|
||||
gui-w32-cmdargs gui_w32.txt /*gui-w32-cmdargs*
|
||||
gui-w32-dialogs gui_w32.txt /*gui-w32-dialogs*
|
||||
gui-w32-fullscreen gui_w32.txt /*gui-w32-fullscreen*
|
||||
gui-w32-printing gui_w32.txt /*gui-w32-printing*
|
||||
gui-w32-start gui_w32.txt /*gui-w32-start*
|
||||
gui-w32-title-bar gui_w32.txt /*gui-w32-title-bar*
|
||||
@@ -10972,6 +10976,7 @@ termcap-cursor-shape term.txt /*termcap-cursor-shape*
|
||||
termcap-options term.txt /*termcap-options*
|
||||
termcap-title term.txt /*termcap-title*
|
||||
termda1-variable eval.txt /*termda1-variable*
|
||||
termdebug terminal.txt /*termdebug*
|
||||
termdebug-commands terminal.txt /*termdebug-commands*
|
||||
termdebug-communication terminal.txt /*termdebug-communication*
|
||||
termdebug-customizing terminal.txt /*termdebug-customizing*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*terminal.txt* For Vim version 9.1. Last change: 2025 Nov 28
|
||||
*terminal.txt* For Vim version 9.1. Last change: 2026 Jan 08
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1263,7 +1263,7 @@ Alternatively, press "s" to swap the first and second dump. Do this several
|
||||
times so that you can spot the difference in the context of the text.
|
||||
|
||||
==============================================================================
|
||||
6. Debugging *terminal-debug* *terminal-debugger* *package-termdebug*
|
||||
6. Debugging *terminal-debug* *terminal-debugger* *package-termdebug* *termdebug*
|
||||
|
||||
The Terminal debugging plugin can be used to debug a program with gdb and view
|
||||
the source code in a Vim window. Since this is completely contained inside
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*todo.txt* For Vim version 9.1. Last change: 2025 Dec 09
|
||||
*todo.txt* For Vim version 9.1. Last change: 2025 Dec 26
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -205,11 +205,8 @@ Popup windows:
|
||||
positioned? PopupNew? Could be used to set some options or move it out of
|
||||
the way. (#5737)
|
||||
However, it may also cause trouble, changing the popup of another plugin.
|
||||
- Should popup_getoptions() also return the mask? #7774
|
||||
- Add a way to use popup_menu() synchronously: instead of invoking the
|
||||
callback, return the choice. (Ben Jackson, #6534)
|
||||
- When using a popup for the info of a completion menu, and there is not
|
||||
enough space, let the popup overlap with the menu. (#4544)
|
||||
- Implement flip option.
|
||||
- Make redrawing more efficient and avoid flicker:
|
||||
- put popup menu also in popup_mask?
|
||||
@@ -368,9 +365,6 @@ Can we not request XT key sequences, or reduce them drastically?
|
||||
Issue #10512: Dynamic loading broken with Perl 5.36
|
||||
Damien has a patch (2022 Dec 4)
|
||||
|
||||
Request #11965: Allow several "%=" items in 'statusline', makes it possible
|
||||
to have text in the center.
|
||||
|
||||
Add some kind of ":whathappend" command and functions to make visible what the
|
||||
last few typed keys and executed commands are. To be used when the user
|
||||
wonders what went wrong. Could also be used for statistics #12046.
|
||||
@@ -380,10 +374,6 @@ wonders what went wrong. Could also be used for statistics #12046.
|
||||
- executed command lines
|
||||
- with more verbosity: what scripts/functions/autocommands were executed
|
||||
|
||||
NFA regexp does not handle composing characters well: #10286
|
||||
[ɔ̃] matches both ɔ and ɔ̃
|
||||
\(ɔ\|ɔ̃\) matches ɔ and not ɔ̃
|
||||
|
||||
Is there a way to make 'autowriteall' make a clean exit when the xterm is
|
||||
closed? (Dennis Nazic says files are preserved, okt 28). Perhaps handle TERM
|
||||
like HUP?
|
||||
@@ -417,8 +407,6 @@ In a timer callback, when using ":echo" and then input() the message is
|
||||
overwritten. Could use ":echowin" and call redraw_cmd() in get_user_input().
|
||||
#11299
|
||||
|
||||
Syntax include problem: #11277. Related to Patch 8.2.2761
|
||||
|
||||
To avoid flicker: add an option that when a screen clear is requested, instead
|
||||
of clearing it draws everything and uses "clear to end of line" for every line.
|
||||
Resetting 't_ut' already causes this?
|
||||
@@ -517,8 +505,6 @@ there is a match do not scan the directory (possibly speeds up :find a lot).
|
||||
|
||||
globpath() does not use 'wildignorecase' at all? (related to #8350)
|
||||
|
||||
mksession uses :buffer instead of :edit in one place but not another. #10629
|
||||
|
||||
Add 'termguiattr' option, use "gui=" attributes in the terminal? Would work
|
||||
with 'termguicolors'. #1740
|
||||
|
||||
@@ -5781,7 +5767,6 @@ Argument list:
|
||||
|
||||
|
||||
Registers:
|
||||
8 Don't display empty registers with ":display". (Etienne)
|
||||
8 Add put command that overwrites existing text. Should also work for
|
||||
blocks. Useful to move text around in a table. Works like using "R ^R r"
|
||||
for every line.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*uganda.txt* For Vim version 9.1. Last change: 2025 Nov 13
|
||||
*uganda.txt* For Vim version 9.1. Last change: 2026 Jan 07
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -21,7 +21,7 @@ ICCF Holland and Kuwasha~
|
||||
|
||||
|Bram| Moolenaar's charity, ICCF Holland, has long supported the education of
|
||||
children in Uganda through the Kibaale Children's Centre. Following Bram's
|
||||
passing in 2023, ICCF Holland transfered all activities to its sister charity
|
||||
passing in 2023, ICCF Holland transferred all activities to its sister charity
|
||||
Kuwasha in Canada and dissolved at the end of 2025.
|
||||
|
||||
Donations from Vim users are still welcome and will continue to go directly to
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*version9.txt* For Vim version 9.1. Last change: 2025 Dec 15
|
||||
*version9.txt* For Vim version 9.1. Last change: 2026 Jan 07
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -41724,7 +41724,10 @@ Options: ~
|
||||
(see also the below platform specific change).
|
||||
- 'guioptions': Support darkmode on MS-Windows for menu and title bar using
|
||||
|'go-d'| (see also the below platform specific change).
|
||||
- 'guioptions': New value |'go-s'| to support fullscreen on MS-Windows GUI
|
||||
(see also the below platform specific change).
|
||||
- 'completepopup': Add more values to style popup windows.
|
||||
- 'fsync' is now a |global-local| option.
|
||||
|
||||
Ex commands: ~
|
||||
- allow to specify a priority when defining a new sign |:sign-define|
|
||||
@@ -41768,6 +41771,7 @@ Platform specific ~
|
||||
- MS-Windows: Vim no longer searches the current directory for
|
||||
executables when running external commands; prefix a relative or absolute
|
||||
path if you want the old behavior |$NoDefaultCurrentDirectoryInExePath|.
|
||||
- MS-Windows: New value |'go-s'| to support fullscreen on MS-Windows GUI
|
||||
|
||||
- macOS: increase default scheduler priority to TASK_DEFAULT_APPLICATION.
|
||||
|
||||
@@ -41827,6 +41831,7 @@ Functions: ~
|
||||
|id()| get unique identifier for a Dict, List, Object,
|
||||
Channel or Blob variable
|
||||
|list2tuple()| turn a List of items into a Tuple
|
||||
|listener_add()| add a callback to listen to changes
|
||||
|matchbufline()| all the matches of a pattern in a buffer
|
||||
|matchstrlist()| all the matches of a pattern in a List of strings
|
||||
|ngettext()| lookup single/plural message translation
|
||||
@@ -41878,11 +41883,13 @@ Commands: ~
|
||||
|
||||
Ex-Commands: ~
|
||||
|
||||
|:clipreset| choose a new method for accessing the clipboard
|
||||
|:iput| like |:put| but adjust indent
|
||||
|:pbuffer| Edit buffer [N] from the buffer list in the preview
|
||||
window
|
||||
|:redrawtabpanel| Force updating the 'tabpanel'.
|
||||
|:uniq| Deduplicate text in the current buffer.
|
||||
|:wlrestore| reinitialize the wayland compositor connection
|
||||
|
||||
Options: ~
|
||||
|
||||
@@ -41901,6 +41908,7 @@ Options: ~
|
||||
'lhistory' Size of the location list stack |quickfix-stack|
|
||||
'maxsearchcount' Set the maximum number for search-stat |shm-S|
|
||||
'messagesopt' configure |:messages| and |hit-enter| prompt
|
||||
'osctimeoutlen' OSC terminator receive timeout
|
||||
'pumborder' define popup border and decorations
|
||||
'pummaxwidth' maximum width for the completion popup menu
|
||||
'showtabpanel' When to show the |tabpanel|
|
||||
@@ -41908,12 +41916,12 @@ Options: ~
|
||||
'tabpanel' Optional vertical panel for displaying tabpages
|
||||
|tabpanel|
|
||||
'tabpanelopt' Optional settings for the |tabpanel|
|
||||
't_xo' Terminal uses XON/XOFF handshaking (e.g. vt420)
|
||||
't_CF' Support for alternate font highlighting terminal code
|
||||
't_xo' Terminal uses XON/XOFF handshaking (e.g. vt420)
|
||||
'winfixbuf' Keep buffer focused in a window
|
||||
'wlseat' Specify Wayland seat to use for the |wayland| feature
|
||||
'wlsteal' Steal focus to access the |wayland| clipboard
|
||||
'wltimeout' Specify the connection timeout for the |wayland|
|
||||
'wltimeoutlen' Specify the connection timeout for the |wayland|
|
||||
compositor
|
||||
|
||||
Vim Variables: ~
|
||||
@@ -41921,8 +41929,8 @@ Vim Variables: ~
|
||||
|v:clipproviders| A dictionary containing clipboard providers
|
||||
configuration |clipboard-providers|.
|
||||
|v:stacktrace| The most recent caught exception.
|
||||
|v:t_enumvalue| Value of |enumvalue|.
|
||||
|v:t_enum| Value of |enum| type.
|
||||
|v:t_enumvalue| Value of |enumvalue|.
|
||||
|v:t_tuple| Value of |Tuple| type.
|
||||
|v:termda1| The escape sequence returned for the primary device
|
||||
attribute query (DA1).
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim support file to detect file types
|
||||
"
|
||||
" Maintainer: The Vim Project <https://github.com/vim/vim>
|
||||
" Last Change: 2025 Nov 11
|
||||
" Last Change: 2026 Jan 11
|
||||
" Former Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
|
||||
" If the filetype can be detected from extension or file name(the final path component),
|
||||
@@ -435,7 +435,7 @@ au BufNewFile,BufRead *.app call dist#ft#FTapp()
|
||||
au BufNewFile,BufRead *esmtprc setf esmtprc
|
||||
|
||||
" Fennel
|
||||
au BufNewFile,BufRead *.fnl,{,.}fennelrc setf fennel
|
||||
au BufNewFile,BufRead {,.}fennelrc setf fennel
|
||||
|
||||
" Flatpak config
|
||||
au BufNewFile,BufRead */flatpak/repo/config setf dosini
|
||||
@@ -1127,6 +1127,15 @@ au BufNewFile,BufRead */etc/systemd/system/*.d/.#* setf systemd
|
||||
au BufNewFile,BufRead */etc/systemd/system/.#* setf systemd
|
||||
au BufNewFile,BufRead */.config/systemd/user/*.d/.#* setf systemd
|
||||
au BufNewFile,BufRead */.config/systemd/user/.#* setf systemd
|
||||
" Podman Quadlet files
|
||||
au BufNewFile,BufRead */containers/systemd/*.{artifact,build,container,image,kube,network,pod,volume} setf systemd
|
||||
" Podman Quadlet rootless files not already captured by previous line
|
||||
au BufNewFile,BufRead */etc/containers/systemd/users/*/*.{artifact,build,container,image,kube,network,pod,volume} setf systemd
|
||||
au BufNewFile,BufRead */etc/containers/systemd/users/*.{artifact,build,container,image,kube,network,pod,volume} setf systemd
|
||||
" Podman Quadlet overrides
|
||||
au BufNewFile,BufRead */containers/systemd/*.d/*.conf setf systemd
|
||||
au BufNewFile,BufRead */etc/containers/systemd/users/*/*.d/*.conf setf systemd
|
||||
au BufNewFile,BufRead */etc/containers/systemd/users/*.d/*.conf setf systemd
|
||||
|
||||
" Sudoers
|
||||
au BufNewFile,BufRead */etc/sudoers,sudoers.tmp setf sudoers
|
||||
@@ -1308,7 +1317,7 @@ au BufNewFile,BufRead *.dtml,*.pt,*.cpt call dist#ft#FThtml()
|
||||
" zsql (zope sql method)
|
||||
au BufNewFile,BufRead *.zsql call dist#ft#SQL()
|
||||
|
||||
" Detect by extention
|
||||
" Detect by extension
|
||||
au BufNewFile,BufRead * call dist#ft#DetectFromExt()
|
||||
augroup END
|
||||
|
||||
|
||||
3
runtime/ftplugin/bicep-params.vim
Normal file
3
runtime/ftplugin/bicep-params.vim
Normal file
@@ -0,0 +1,3 @@
|
||||
" Placeholder for maximum compatibility. While bicepparam files are treated as distinct filetypes,
|
||||
" they are should share the same ftplugin settings as bicep files.
|
||||
runtime! ftplugin/bicep.vim
|
||||
14
runtime/ftplugin/bicep.vim
Normal file
14
runtime/ftplugin/bicep.vim
Normal file
@@ -0,0 +1,14 @@
|
||||
" Vim filetype plugin
|
||||
" Language: Bicep
|
||||
" Maintainer: Scott McKendry <me@scottmckendry.tech>
|
||||
" Last Change: 2025 Dec 27
|
||||
|
||||
if exists('b:did_ftplugin')
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
setlocal comments=s1:/*,mb:*,ex:*/,://
|
||||
setlocal commentstring=//\ %s
|
||||
|
||||
let b:undo_ftplugin = "setlocal comments< commentstring<"
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim filetype plugin
|
||||
" Language: bpftrace
|
||||
" Maintainer: Stanislaw Gruszka <stf_xl@wp.pl>
|
||||
" Last Change: 2025 Dec 05
|
||||
" Last Change: 2025 Dec 23
|
||||
|
||||
if exists('b:did_ftplugin')
|
||||
finish
|
||||
@@ -11,4 +11,6 @@ let b:did_ftplugin = 1
|
||||
setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,://
|
||||
setlocal commentstring=//\ %s
|
||||
|
||||
let b:undo_ftplugin = "setlocal comments< commentstring<"
|
||||
setlocal formatoptions-=t formatoptions+=croql
|
||||
|
||||
let b:undo_ftplugin = "setlocal comments< commentstring< formatoptions<"
|
||||
|
||||
@@ -4,7 +4,7 @@ vim9script
|
||||
# Language: ConTeXt typesetting engine
|
||||
# Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
||||
# Former Maintainers: Nikolai Weibull <now@bitwi.se>
|
||||
# Latest Revision: 2024 Oct 04
|
||||
# Latest Revision: 2026 Jan 10
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
@@ -110,7 +110,7 @@ endif
|
||||
b:undo_ftplugin ..= "| sil! delc -buffer ConTeXt | sil! delc -buffer ConTeXtLog | sil! delc -buffer ConTeXtJobStatus | sil! delc -buffer ConTeXtStopJobs"
|
||||
# Commands for asynchronous typesetting
|
||||
command! -buffer -nargs=? -complete=buffer ConTeXt context.Typeset(<q-args>)
|
||||
command! -buffer -nargs=0 ConTeXtLog context.Log('%')
|
||||
command! -buffer -nargs=0 ConTeXtLog context.Log(bufname('%'))
|
||||
command! -nargs=0 ConTeXtJobStatus context.JobStatus()
|
||||
command! -nargs=0 ConTeXtStopJobs context.StopJobs()
|
||||
|
||||
|
||||
@@ -72,6 +72,7 @@ deprecated
|
||||
discontiguous
|
||||
div
|
||||
domain_error
|
||||
consistency_error
|
||||
duplicated_directives
|
||||
dynamic
|
||||
dynamic_declarations
|
||||
@@ -144,6 +145,7 @@ min
|
||||
missing_directives
|
||||
mod
|
||||
mode
|
||||
mode_non_terminal
|
||||
modules
|
||||
multifile
|
||||
nl
|
||||
|
||||
@@ -4,8 +4,7 @@ vim9script
|
||||
# Language: METAFONT
|
||||
# Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
||||
# Former Maintainers: Nikolai Weibull <now@bitwi.se>
|
||||
# Latest Revision: 2022 Aug 12
|
||||
# 2024 Jan 14 by Vim Project (browsefilter)
|
||||
# Latest Revision: 2026 Jan 10
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
|
||||
@@ -4,8 +4,7 @@ vim9script
|
||||
# Language: MetaPost
|
||||
# Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
||||
# Former Maintainers: Nikolai Weibull <now@bitwi.se>
|
||||
# Latest Revision: 2022 Aug 12
|
||||
# 2024 Jan 14 by Vim Project (browsefilter)
|
||||
# Latest Revision: 2026 Jan 10
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: Perl
|
||||
" Maintainer: vim-perl <vim-perl@googlegroups.com>
|
||||
" Maintainer: vim-perl <vim-perl@googlegroups.com> (need to be subscribed to post)
|
||||
" Homepage: https://github.com/vim-perl/vim-perl
|
||||
" Bugs/requests: https://github.com/vim-perl/vim-perl/issues
|
||||
" License: Vim License (see :help license)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: Perl POD format
|
||||
" Maintainer: vim-perl <vim-perl@googlegroups.com>
|
||||
" Maintainer: vim-perl <vim-perl@googlegroups.com> (need to be subscribed to post)
|
||||
" Author: Doug Kearns <dougkearns@gmail.com>
|
||||
" Homepage: https://github.com/vim-perl/vim-perl
|
||||
" Bugs/requests: https://github.com/vim-perl/vim-perl/issues
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: Raku
|
||||
" Maintainer: vim-perl <vim-perl@googlegroups.com>
|
||||
" Maintainer: vim-perl <vim-perl@googlegroups.com> (need to be subscribed to post)
|
||||
" Homepage: https://github.com/Raku/vim-raku
|
||||
" Bugs/requests: https://github.com/Raku/vim-raku/issues
|
||||
" Last Change: 2021 Apr 16
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
" Website: https://github.com/marshallward/vim-restructuredtext
|
||||
" Latest Revision: 2020-03-31
|
||||
" 2025 Oct 13 by Vim project: update b:undo_ftplugin #18566
|
||||
" 2026 Jan 11 by Vim project: set suffixesadd #19149
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
@@ -19,10 +20,11 @@ if !exists('g:rst_fold_enabled')
|
||||
let g:rst_fold_enabled = 0
|
||||
endif
|
||||
|
||||
let b:undo_ftplugin = "setlocal comments< commentstring< expandtab< formatoptions<"
|
||||
let b:undo_ftplugin = "setlocal comments< commentstring< expandtab< formatoptions< suffixesadd<"
|
||||
|
||||
setlocal comments=fb:.. commentstring=..\ %s expandtab
|
||||
setlocal formatoptions+=tcroql
|
||||
setlocal suffixesadd=.rst
|
||||
|
||||
" reStructuredText standard recommends that tabs be expanded to 8 spaces
|
||||
" The choice of 3-space indentation is to provide slightly better support for
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
" Maintainer: This runtime file is looking for a new maintainer.
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2025 Feb 20
|
||||
" 2026 Jan 09 by Vim Project: preserve line endings for existing files #19144
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
@@ -16,4 +17,7 @@ setlocal formatoptions-=t formatoptions+=croql
|
||||
|
||||
" https://datatracker.ietf.org/doc/html/rfc5228#section-2.2 says
|
||||
" "newlines (CRLF, never just CR or LF)"
|
||||
setlocal fileformat=dos
|
||||
" Use CRLF for new files only; preserve existing line endings
|
||||
if expand('%:p') !=# '' && !filereadable(expand('%:p'))
|
||||
setlocal fileformat=dos
|
||||
endif
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: Verbose TAP Output
|
||||
" Maintainer: vim-perl <vim-perl@googlegroups.com>
|
||||
" Maintainer: vim-perl <vim-perl@googlegroups.com> (need to be subscribed to post)
|
||||
" Homepage: https://github.com/vim-perl/vim-perl
|
||||
" Bugs/requests: https://github.com/vim-perl/vim-perl/issues
|
||||
" License: Vim License (see :help license)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: TT2 embedded with HTML
|
||||
" Maintainer: vim-perl <vim-perl@googlegroups.com>
|
||||
" Maintainer: vim-perl <vim-perl@googlegroups.com> (need to be subscribed to post)
|
||||
" Homepage: https://github.com/vim-perl/vim-perl
|
||||
" Bugs/requests: https://github.com/vim-perl/vim-perl/issues
|
||||
" License: Vim License (see :help license)
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: xml
|
||||
" Maintainer: Christian Brabandt <cb@256bit.org>
|
||||
" Last Changed: Dec 07th, 2018
|
||||
" 2024 Jan 14 by Vim Project (browsefilter)
|
||||
" 2024 May 23 by Riley Bruins <ribru17@gmail.com> ('commentstring')
|
||||
" Repository: https://github.com/chrisbra/vim-xml-ftplugin
|
||||
" Previous Maintainer: Dan Sharp
|
||||
" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
|
||||
" Last Changed: 2024 May 24
|
||||
" Repository: https://github.com/chrisbra/vim-xml-ftplugin
|
||||
" Previously
|
||||
" Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
|
||||
" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
|
||||
|
||||
if exists("b:did_ftplugin") | finish | endif
|
||||
let b:did_ftplugin = 1
|
||||
@@ -54,12 +53,8 @@ command! -nargs=? XMLent call xmlcomplete#CreateEntConnection(<f-args>)
|
||||
if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
|
||||
let b:browsefilter="XML Files (*.xml)\t*.xml\n" .
|
||||
\ "DTD Files (*.dtd)\t*.dtd\n" .
|
||||
\ "XSD Files (*.xsd)\t*.xsd\n"
|
||||
if has("win32")
|
||||
let b:browsefilter .= "All Files (*.*)\t*\n"
|
||||
else
|
||||
let b:browsefilter .= "All Files (*)\t*\n"
|
||||
endif
|
||||
\ "XSD Files (*.xsd)\t*.xsd\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
endif
|
||||
|
||||
" Undo the stuff we changed.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: XS (Perl extension interface language)
|
||||
" Maintainer: vim-perl <vim-perl@googlegroups.com>
|
||||
" Maintainer: vim-perl <vim-perl@googlegroups.com> (need to be subscribed to post)
|
||||
" Homepage: https://github.com/vim-perl/vim-perl
|
||||
" Bugs/requests: https://github.com/vim-perl/vim-perl/issues
|
||||
" License: Vim License (see :help license)
|
||||
|
||||
@@ -2,11 +2,9 @@
|
||||
" Language: Zsh shell script
|
||||
" Maintainer: Christian Brabandt <cb@256bit.org>
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2024 Sep 19
|
||||
" Latest Revision: 2025 Jul 23
|
||||
" License: Vim (see :h license)
|
||||
" Repository: https://github.com/chrisbra/vim-zsh
|
||||
" Last Change:
|
||||
" 2025 Jul 23 by Vim Project (use :hor term #17822)
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
@@ -20,9 +18,14 @@ setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
|
||||
|
||||
let b:undo_ftplugin = "setl com< cms< fo< "
|
||||
|
||||
if get(g:, 'zsh_fold_enable', 0)
|
||||
setlocal foldmethod=syntax
|
||||
let b:undo_ftplugin .= "fdm< "
|
||||
endif
|
||||
|
||||
if executable('zsh') && &shell !~# '/\%(nologin\|false\)$'
|
||||
if exists(':terminal') == 2
|
||||
command! -buffer -nargs=1 ZshKeywordPrg silent exe ':hor term zsh -c "autoload -Uz run-help; run-help <args>"'
|
||||
command! -buffer -nargs=1 ZshKeywordPrg silent exe ':hor :term zsh -c "autoload -Uz run-help; run-help <args>"'
|
||||
else
|
||||
command! -buffer -nargs=1 ZshKeywordPrg echo system('MANPAGER= zsh -c "autoload -Uz run-help; run-help <args> 2>/dev/null"')
|
||||
endif
|
||||
|
||||
19
runtime/indent/bpftrace.vim
Normal file
19
runtime/indent/bpftrace.vim
Normal file
@@ -0,0 +1,19 @@
|
||||
" Vim indent file
|
||||
" Language: bpftrace
|
||||
" Author: Stanislaw Gruszka <stf_xl@wp.pl>
|
||||
" Last Change: 2025 Dec 27
|
||||
|
||||
" Only load this indent file when no other was loaded.
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
endif
|
||||
let b:did_indent = 1
|
||||
|
||||
setlocal noautoindent nosmartindent
|
||||
|
||||
setlocal cindent
|
||||
setlocal cinoptions=+0,(0,[0,Ws,J1,j1,m1,>s
|
||||
setlocal cinkeys=0{,0},!^F,o,O,#0
|
||||
setlocal cinwords=
|
||||
|
||||
let b:undo_indent = "setlocal autoindent< smartindent< cindent< cinoptions< cinkeys< cinwords<"
|
||||
@@ -3,7 +3,7 @@ vim9script
|
||||
# Language: ConTeXt typesetting engine
|
||||
# Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
||||
# Former Maintainers: Nikolai Weibull <now@bitwi.se>
|
||||
# Latest Revision: 2023 Dec 26
|
||||
# Latest Revision: 2026 Jan 10
|
||||
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
@@ -39,10 +39,10 @@ def ConTeXtIndent(): number
|
||||
return g:MetaPostIndent()
|
||||
endif
|
||||
|
||||
const prevlnum = PrevNotComment(v:lnum - 1)
|
||||
const prevind = indent(prevlnum)
|
||||
const prevline = getline(prevlnum)
|
||||
const currline = getline(v:lnum)
|
||||
var prevlnum = PrevNotComment(v:lnum - 1)
|
||||
var prevind = indent(prevlnum)
|
||||
var prevline = getline(prevlnum)
|
||||
var currline = getline(v:lnum)
|
||||
|
||||
# If the current line starts with ], match indentation.
|
||||
if currline =~# '^\s*\]'
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
" METAFONT indent file
|
||||
" Language: METAFONT
|
||||
" Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
||||
" Latest Revision: 2022 Aug 12
|
||||
vim9script
|
||||
|
||||
# METAFONT indent file
|
||||
# Language: METAFONT
|
||||
# Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
||||
# Latest Revision: 2026 Jan 10
|
||||
|
||||
runtime! indent/mp.vim
|
||||
|
||||
# vim: sw=2 fdm=marker
|
||||
|
||||
@@ -4,7 +4,7 @@ vim9script
|
||||
# Language: MetaPost
|
||||
# Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
||||
# Former Maintainers: Eugene Minkovskii <emin@mccme.ru>
|
||||
# Latest Revision: 2022 Aug 12
|
||||
# Latest Revision: 2026 Jan 10
|
||||
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
" Vim indent file
|
||||
" Language: Perl
|
||||
" Maintainer: vim-perl <vim-perl@googlegroups.com>
|
||||
" Maintainer: vim-perl <vim-perl@googlegroups.com> (need to be subscribed to post)
|
||||
" Homepage: https://github.com/vim-perl/vim-perl
|
||||
" Bugs/requests: https://github.com/vim-perl/vim-perl/issues
|
||||
" License: Vim License (see :help license)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
" Vim indent file
|
||||
" Language: Perl 6
|
||||
" Maintainer: vim-perl <vim-perl@googlegroups.com>
|
||||
" Maintainer: vim-perl <vim-perl@googlegroups.com> (need to be subscribed to post)
|
||||
" Homepage: https://github.com/vim-perl/vim-perl
|
||||
" Bugs/requests: https://github.com/vim-perl/vim-perl/issues
|
||||
" Last Change: 2020 Apr 15
|
||||
|
||||
@@ -2,7 +2,9 @@
|
||||
" Language: Rust
|
||||
" Author: Chris Morgan <me@chrismorgan.info>
|
||||
" Last Change: 2023-09-11
|
||||
" 2024 Jul 04 by Vim Project: use shiftwidth() instead of hard-coding shifted values (#15138)
|
||||
" 2024 Jul 04 by Vim Project: use shiftwidth() instead of hard-coding shifted values #15138
|
||||
" 2025 Dec 29 by Vim Project: clean up
|
||||
" 2025 Dec 31 by Vim Project: correcly indent after nested array literal #19042
|
||||
|
||||
" For bugs, patches and license go to https://github.com/rust-lang/rust.vim
|
||||
" Note: upstream seems umaintained: https://github.com/rust-lang/rust.vim/issues/502
|
||||
@@ -86,16 +88,6 @@ function! s:is_string_comment(lnum, col)
|
||||
endif
|
||||
endfunction
|
||||
|
||||
if exists('*shiftwidth')
|
||||
function! s:shiftwidth()
|
||||
return shiftwidth()
|
||||
endfunc
|
||||
else
|
||||
function! s:shiftwidth()
|
||||
return &shiftwidth
|
||||
endfunc
|
||||
endif
|
||||
|
||||
function GetRustIndent(lnum)
|
||||
" Starting assumption: cindent (called at the end) will do it right
|
||||
" normally. We just want to fix up a few cases.
|
||||
@@ -204,6 +196,22 @@ function GetRustIndent(lnum)
|
||||
endif
|
||||
endif
|
||||
|
||||
" Prevent cindent from becoming confused when pairing square brackets, as
|
||||
" in
|
||||
"
|
||||
" let arr = [[u8; 4]; 2] = [
|
||||
" [0; 4],
|
||||
" [1, 3, 5, 9],
|
||||
" ];
|
||||
" | ← indentation placed here
|
||||
"
|
||||
" for which it calculates too much indentation in the line following the
|
||||
" close of the array.
|
||||
if prevline =~# '^\s*\]' && l:last_prevline_character ==# ';'
|
||||
\ && line !~# '^\s*}'
|
||||
return indent(prevlinenum)
|
||||
endif
|
||||
|
||||
if l:last_prevline_character ==# ","
|
||||
\ && s:get_line_trimmed(a:lnum) !~# '^\s*[\[\]{})]'
|
||||
\ && prevline !~# '^\s*fn\s'
|
||||
@@ -240,43 +248,6 @@ function GetRustIndent(lnum)
|
||||
return indent(prevlinenum)
|
||||
endif
|
||||
|
||||
if !has("patch-7.4.355")
|
||||
" cindent before 7.4.355 doesn't do the module scope well at all; e.g.::
|
||||
"
|
||||
" static FOO : &'static [bool] = [
|
||||
" true,
|
||||
" false,
|
||||
" false,
|
||||
" true,
|
||||
" ];
|
||||
"
|
||||
" uh oh, next statement is indented further!
|
||||
|
||||
" Note that this does *not* apply the line continuation pattern properly;
|
||||
" that's too hard to do correctly for my liking at present, so I'll just
|
||||
" start with these two main cases (square brackets and not returning to
|
||||
" column zero)
|
||||
|
||||
call cursor(a:lnum, 1)
|
||||
if searchpair('{\|(', '', '}\|)', 'nbW',
|
||||
\ 's:is_string_comment(line("."), col("."))') == 0
|
||||
if searchpair('\[', '', '\]', 'nbW',
|
||||
\ 's:is_string_comment(line("."), col("."))') == 0
|
||||
" Global scope, should be zero
|
||||
return 0
|
||||
else
|
||||
" At the module scope, inside square brackets only
|
||||
"if getline(a:lnum)[0] == ']' || search('\[', '', '\]', 'nW') == a:lnum
|
||||
if line =~# "^\\s*]"
|
||||
" It's the closing line, dedent it
|
||||
return 0
|
||||
else
|
||||
return shiftwidth()
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
" Fall back on cindent, which does it mostly right
|
||||
return cindent(a:lnum)
|
||||
endfunction
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
" License: Vim (see :h license)
|
||||
" Repository: https://github.com/chrisbra/vim-sh-indent
|
||||
" Changelog:
|
||||
" 20250906 - indent function closing properly on multiline commands
|
||||
" 20250318 - Detect local arrays in functions
|
||||
" 20241411 - Detect dash character in function keyword for
|
||||
" bash mode (issue #16049)
|
||||
@@ -186,6 +187,15 @@ function! GetShIndent()
|
||||
endif
|
||||
endif
|
||||
|
||||
" Special case: if the current line is a closing '}', align with matching '{'
|
||||
if curline =~ '^\s*}\s*$'
|
||||
let match_lnum = searchpair('{', '', '}', 'bnW',
|
||||
\ 'synIDattr(synID(line("."),col("."), 1),"name") =~? "comment\\|quote"')
|
||||
if match_lnum > 0
|
||||
return indent(match_lnum)
|
||||
endif
|
||||
endif
|
||||
|
||||
return ind > 0 ? ind : 0
|
||||
endfunction
|
||||
|
||||
|
||||
42
runtime/indent/testdir/rust.in
Normal file
42
runtime/indent/testdir/rust.in
Normal file
@@ -0,0 +1,42 @@
|
||||
// vim: set ft=rust ts=8 sw=4 sts=4 et :
|
||||
// START_INDENT
|
||||
use std::fs::File;
|
||||
use std::io::prelude::*;
|
||||
use std::path::Path;
|
||||
|
||||
fn main() {
|
||||
// Create a path to the desired file
|
||||
let path = Path::new("hello.txt");
|
||||
let display = path.display();
|
||||
|
||||
// Open the path in read-only mode, returns `io::Result<File>`
|
||||
let mut file = match File::open(&path) {
|
||||
Err(why) => panic!("couldn't open {}: {}", display, why),
|
||||
Ok(file) => file,
|
||||
};
|
||||
|
||||
// Start doing nothing forever
|
||||
loop {
|
||||
let arr1 = [[u8; 4]; 2] = [
|
||||
[0; 4],
|
||||
[1, 3, 5, 9],
|
||||
];
|
||||
}
|
||||
|
||||
// Plan for a future that will never come
|
||||
let arr2 = [[u8; 4]; 2] = [
|
||||
[1; 4],
|
||||
[2, 4, 6, 8],
|
||||
];
|
||||
let arr2_ref = &arr2;
|
||||
|
||||
// Read the file contents into a string, returns `io::Result<usize>`
|
||||
let mut s = String::new();
|
||||
match file.read_to_string(&mut s) {
|
||||
Err(why) => panic!("couldn't read {}: {}", display, why),
|
||||
Ok(_) => print!("{} contains:\n{}", display, s),
|
||||
}
|
||||
|
||||
// file goes out of scope, and the "hello.txt" file gets closed
|
||||
}
|
||||
// END_INDENT
|
||||
42
runtime/indent/testdir/rust.ok
Normal file
42
runtime/indent/testdir/rust.ok
Normal file
@@ -0,0 +1,42 @@
|
||||
// vim: set ft=rust ts=8 sw=4 sts=4 et :
|
||||
// START_INDENT
|
||||
use std::fs::File;
|
||||
use std::io::prelude::*;
|
||||
use std::path::Path;
|
||||
|
||||
fn main() {
|
||||
// Create a path to the desired file
|
||||
let path = Path::new("hello.txt");
|
||||
let display = path.display();
|
||||
|
||||
// Open the path in read-only mode, returns `io::Result<File>`
|
||||
let mut file = match File::open(&path) {
|
||||
Err(why) => panic!("couldn't open {}: {}", display, why),
|
||||
Ok(file) => file,
|
||||
};
|
||||
|
||||
// Start doing nothing forever
|
||||
loop {
|
||||
let arr1 = [[u8; 4]; 2] = [
|
||||
[0; 4],
|
||||
[1, 3, 5, 9],
|
||||
];
|
||||
}
|
||||
|
||||
// Plan for a future that will never come
|
||||
let arr2 = [[u8; 4]; 2] = [
|
||||
[1; 4],
|
||||
[2, 4, 6, 8],
|
||||
];
|
||||
let arr2_ref = &arr2;
|
||||
|
||||
// Read the file contents into a string, returns `io::Result<usize>`
|
||||
let mut s = String::new();
|
||||
match file.read_to_string(&mut s) {
|
||||
Err(why) => panic!("couldn't read {}: {}", display, why),
|
||||
Ok(_) => print!("{} contains:\n{}", display, s),
|
||||
}
|
||||
|
||||
// file goes out of scope, and the "hello.txt" file gets closed
|
||||
}
|
||||
// END_INDENT
|
||||
@@ -18,3 +18,11 @@ map: |
|
||||
line1
|
||||
line2
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
list:
|
||||
- element1:
|
||||
foo: bar
|
||||
- element2:
|
||||
foo: bar
|
||||
# END_INDENT
|
||||
|
||||
@@ -18,3 +18,11 @@ map: |
|
||||
line1
|
||||
line2
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
list:
|
||||
- element1:
|
||||
foo: bar
|
||||
- element2:
|
||||
foo: bar
|
||||
# END_INDENT
|
||||
|
||||
@@ -88,7 +88,9 @@ endfun
|
||||
|
||||
" [-- return the sum of indents of a:lnum --]
|
||||
fun! <SID>XmlIndentSum(line, style, add)
|
||||
if <SID>IsXMLContinuation(a:line) && a:style == 0 && !<SID>IsXMLEmptyClosingTag(a:line)
|
||||
if <SID>IsXMLContinuation(a:line) &&
|
||||
\ a:style == 0 &&
|
||||
\ !<SID>IsXMLEmptyClosingTag(a:line)
|
||||
" no complete tag, add one additional indent level
|
||||
" but only for the current line
|
||||
return a:add + shiftwidth()
|
||||
@@ -157,6 +159,17 @@ fun! XmlIndentGet(lnum, use_syntax_check)
|
||||
" no extra indent, looks like a text continuation line
|
||||
return pind
|
||||
endif
|
||||
elseif empty(syn_name_start) && syn_name_end =~? 'xmlTag'
|
||||
" Special case: such a line, shouldn't be indented, just because it
|
||||
" ends with a tag
|
||||
" 'foobar <i>inline tags</i>'
|
||||
if (match(curline, '<\([:a-zA-Z_]\+\)[^>]*>.*</\1>') > -1)
|
||||
return pind
|
||||
endif
|
||||
endif
|
||||
|
||||
if curline =~ '^\s*</[a-zA-Z_]>'
|
||||
return <SID>ReturnIndentForMatchingTag(curline)
|
||||
endif
|
||||
|
||||
" Get indent from previous tag line
|
||||
@@ -181,6 +194,21 @@ func! <SID>IsXMLEmptyClosingTag(line)
|
||||
return a:line =~? '<[^>]*/>\s*$'
|
||||
endfunc
|
||||
|
||||
func! <SID>ReturnIndentForMatchingTag(line)
|
||||
" For a line with just a simple closing tag
|
||||
" get the indent from a matching opening tag
|
||||
if a:line =~? '^\s*</[a-z_]*>'
|
||||
let _c = getcursorpos()
|
||||
let pat = matchstr(a:line, '^\s*</\zs[a-z_]\+\ze>')
|
||||
" position cursor before the opening tag
|
||||
norm! 0
|
||||
" get the indent from the matching opening tag
|
||||
let match_line = searchpair('<' .. pat .. '>', '', '</' .. pat .. '>', 'bn')
|
||||
call setpos('.', _c)
|
||||
return indent(match_line)
|
||||
endif
|
||||
endfunc
|
||||
|
||||
" return indent for a commented line,
|
||||
" the middle part might be indented one additional level
|
||||
func! <SID>XmlIndentComment(lnum)
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
" Last Change: 2022 Jun 17
|
||||
" 2024 Feb 29 by Vim project: disable mulitline indent by default
|
||||
" 2024 Aug 14 by Vim project: fix re-indenting when commenting out lines
|
||||
" 2026 Jan 08 by Vim project: fix object indentation in array
|
||||
|
||||
" Only load this indent file when no other was loaded.
|
||||
if exists('b:did_indent')
|
||||
@@ -114,7 +115,13 @@ function GetYAMLIndent(lnum)
|
||||
"
|
||||
" - |-
|
||||
" Block scalar without indentation indicator
|
||||
return previndent+shiftwidth()
|
||||
if prevline =~# '^\s*-\s.*:$'
|
||||
" Special case: list item with mapping key (- key:)
|
||||
" Need to account for the "- " prefix
|
||||
return previndent + 2 + shiftwidth()
|
||||
else
|
||||
return previndent+shiftwidth()
|
||||
endif
|
||||
elseif prevline =~# '\v[:-]\ [|>]%(\d+[+\-]?|[+\-]?\d+)%(\#.*|\s*)$'
|
||||
" - |+2
|
||||
" block scalar with indentation indicator
|
||||
@@ -136,7 +143,10 @@ function GetYAMLIndent(lnum)
|
||||
let prevmapline = s:FindPrevLEIndentedLineMatchingRegex(a:lnum,
|
||||
\ s:mapkeyregex)
|
||||
if getline(prevmapline) =~# '^\s*- '
|
||||
return indent(prevmapline) + 2
|
||||
" Previous mapping key is in a list item (- key:)
|
||||
" The key effectively starts at indent + 2 (after "- ")
|
||||
" Content under it should be indented relative to the key position
|
||||
return indent(prevmapline) + 2 + shiftwidth()
|
||||
else
|
||||
return indent(prevmapline)
|
||||
endif
|
||||
|
||||
@@ -2,15 +2,14 @@
|
||||
" Maintainer: Restorer, <restorer@mail2k.ru>
|
||||
" Previous Maintainer: Sergey Alyoshin, <alyoshin.s@gmail.com>
|
||||
" vassily ragosin, <vrr[at]users.sourceforge.net>
|
||||
" Last Change: 23 Aug 2023
|
||||
" Generated from menu_ru_ru.utf-8.vim, DO NOT EDIT
|
||||
" Last Change: 28 Dec 2025
|
||||
" URL: https://github.com/RestorerZ/RuVim
|
||||
"
|
||||
"
|
||||
" Adopted for RuVim project by Vassily Ragosin.
|
||||
" First translation: Tim Alexeevsky, <realtim [at] mail.ru>,
|
||||
" based on ukrainian translation by Bohdan Vlasyuk, <bohdan@vstu.edu.ua>
|
||||
"
|
||||
" Generated from menu_ru_ru.utf-8.vim, DO NOT EDIT
|
||||
"
|
||||
" Quit when menu translations have already been done.
|
||||
"
|
||||
@@ -44,7 +43,7 @@ menutrans &Find\.\.\. &
|
||||
"--------------------
|
||||
menutrans &Credits Ñî&àâòîðû
|
||||
menutrans Co&pying &Ëèöåíçèÿ
|
||||
menutrans &Sponsor/Register Ñîä&åéñòâèå\ è\ ðåãèñòðàöèÿ
|
||||
menutrans &Sponsor Ñîä&åéñòâèå\ ïðîåêòó
|
||||
menutrans O&rphans &Áëàãîòâîðèòåëüíîñòü
|
||||
"--------------------
|
||||
menutrans &Version &Òåêóùàÿ\ âåðñèÿ
|
||||
@@ -264,7 +263,7 @@ menutrans Cu&t &
|
||||
menutrans &Copy &Êîïèðîâàòü
|
||||
menutrans &Paste Âñò&àâèòü
|
||||
menutrans &Delete &Óäàëèòü
|
||||
menutrans Select\ Blockwise Áëîêîâîå\ âûäåëåíèå
|
||||
menutrans Select\ Blockwise Áëî÷íîå\ âûäåëåíèå
|
||||
menutrans Select\ &Word Âûäåëèòü\ ñ&ëîâî
|
||||
menutrans Select\ &Line Âûäåëèòü\ ñ&òðîêó
|
||||
menutrans Select\ &Block Âûäåëèòü\ &áëîê
|
||||
@@ -347,7 +346,7 @@ let menutrans_no_file = "[
|
||||
|
||||
" Menus to handle Russian encodings
|
||||
" Thanks to Pavlo Bohmat for the idea
|
||||
" vassily ragosin <vrr[at]users.sourceforge.net>
|
||||
" vassily ragosin, <vrr[at]users.sourceforge.net>
|
||||
"
|
||||
an 10.355 &File.-SEP- <Nop>
|
||||
an 10.360.20 &File.Îòêðûòü\ â\ êîäèðîâêå\.\.\..CP1251 :browse e ++enc=cp1251<CR>
|
||||
|
||||
@@ -2,15 +2,14 @@
|
||||
" Maintainer: Restorer, <restorer@mail2k.ru>
|
||||
" Previous Maintainer: Sergey Alyoshin, <alyoshin.s@gmail.com>
|
||||
" vassily ragosin, <vrr[at]users.sourceforge.net>
|
||||
" Last Change: 23 Aug 2023
|
||||
" Generated from menu_ru_ru.utf-8.vim, DO NOT EDIT
|
||||
" Last Change: 28 Dec 2025
|
||||
" URL: https://github.com/RestorerZ/RuVim
|
||||
"
|
||||
"
|
||||
" Adopted for RuVim project by Vassily Ragosin.
|
||||
" First translation: Tim Alexeevsky, <realtim [at] mail.ru>,
|
||||
" based on ukrainian translation by Bohdan Vlasyuk, <bohdan@vstu.edu.ua>
|
||||
"
|
||||
" Generated from menu_ru_ru.utf-8.vim, DO NOT EDIT
|
||||
"
|
||||
" Quit when menu translations have already been done.
|
||||
"
|
||||
@@ -44,7 +43,7 @@ menutrans &Find\.\.\. &
|
||||
"--------------------
|
||||
menutrans &Credits óÏ&Á×ÔÏÒÙ
|
||||
menutrans Co&pying &ìÉÃÅÎÚÉÑ
|
||||
menutrans &Sponsor/Register óÏÄ&ÅÊÓÔ×ÉÅ\ É\ ÒÅÇÉÓÔÒÁÃÉÑ
|
||||
menutrans &Sponsor óÏÄ&ÅÊÓÔ×ÉÅ\ ÐÒÏÅËÔÕ
|
||||
menutrans O&rphans &âÌÁÇÏÔ×ÏÒÉÔÅÌØÎÏÓÔØ
|
||||
"--------------------
|
||||
menutrans &Version &ôÅËÕÝÁÑ\ ×ÅÒÓÉÑ
|
||||
@@ -264,7 +263,7 @@ menutrans Cu&t &
|
||||
menutrans &Copy &ëÏÐÉÒÏ×ÁÔØ
|
||||
menutrans &Paste ÷ÓÔ&Á×ÉÔØ
|
||||
menutrans &Delete &õÄÁÌÉÔØ
|
||||
menutrans Select\ Blockwise âÌÏËÏ×ÏÅ\ ×ÙÄÅÌÅÎÉÅ
|
||||
menutrans Select\ Blockwise âÌÏÞÎÏÅ\ ×ÙÄÅÌÅÎÉÅ
|
||||
menutrans Select\ &Word ÷ÙÄÅÌÉÔØ\ Ó&ÌÏ×Ï
|
||||
menutrans Select\ &Line ÷ÙÄÅÌÉÔØ\ Ó&ÔÒÏËÕ
|
||||
menutrans Select\ &Block ÷ÙÄÅÌÉÔØ\ &ÂÌÏË
|
||||
@@ -347,7 +346,7 @@ let menutrans_no_file = "[
|
||||
|
||||
" Menus to handle Russian encodings
|
||||
" Thanks to Pavlo Bohmat for the idea
|
||||
" vassily ragosin <vrr[at]users.sourceforge.net>
|
||||
" vassily ragosin, <vrr[at]users.sourceforge.net>
|
||||
"
|
||||
an 10.355 &File.-SEP- <Nop>
|
||||
an 10.360.20 &File.ïÔËÒÙÔØ\ ×\ ËÏÄÉÒÏ×ËÅ\.\.\..CP1251 :browse e ++enc=cp1251<CR>
|
||||
|
||||
@@ -2,15 +2,14 @@
|
||||
" Maintainer: Restorer, <restorer@mail2k.ru>
|
||||
" Previous Maintainer: Sergey Alyoshin, <alyoshin.s@gmail.com>
|
||||
" vassily ragosin, <vrr[at]users.sourceforge.net>
|
||||
" Last Change: 23 Aug 2023
|
||||
" Original translations
|
||||
" Last Change: 28 Dec 2025
|
||||
" URL: https://github.com/RestorerZ/RuVim
|
||||
"
|
||||
"
|
||||
" Adopted for RuVim project by Vassily Ragosin.
|
||||
" First translation: Tim Alexeevsky, <realtim [at] mail.ru>,
|
||||
" based on ukrainian translation by Bohdan Vlasyuk, <bohdan@vstu.edu.ua>
|
||||
"
|
||||
" Original translations
|
||||
"
|
||||
" Quit when menu translations have already been done.
|
||||
"
|
||||
@@ -44,7 +43,7 @@ menutrans &Find\.\.\. &Найти\.\.\.
|
||||
"--------------------
|
||||
menutrans &Credits Со&авторы
|
||||
menutrans Co&pying &Лицензия
|
||||
menutrans &Sponsor/Register Сод&ействие\ и\ регистрация
|
||||
menutrans &Sponsor Сод&ействие\ проекту
|
||||
menutrans O&rphans &Благотворительность
|
||||
"--------------------
|
||||
menutrans &Version &Текущая\ версия
|
||||
@@ -264,7 +263,7 @@ menutrans Cu&t &Вырезать
|
||||
menutrans &Copy &Копировать
|
||||
menutrans &Paste Вст&авить
|
||||
menutrans &Delete &Удалить
|
||||
menutrans Select\ Blockwise Блоковое\ выделение
|
||||
menutrans Select\ Blockwise Блочное\ выделение
|
||||
menutrans Select\ &Word Выделить\ с&лово
|
||||
menutrans Select\ &Line Выделить\ с&троку
|
||||
menutrans Select\ &Block Выделить\ &блок
|
||||
@@ -347,7 +346,7 @@ let menutrans_no_file = "[Безымянный]"
|
||||
|
||||
" Menus to handle Russian encodings
|
||||
" Thanks to Pavlo Bohmat for the idea
|
||||
" vassily ragosin <vrr[at]users.sourceforge.net>
|
||||
" vassily ragosin, <vrr[at]users.sourceforge.net>
|
||||
"
|
||||
an 10.355 &File.-SEP- <Nop>
|
||||
an 10.360.20 &File.Открыть\ в\ кодировке\.\.\..CP1251 :browse e ++enc=cp1251<CR>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
" matchit.vim: (global plugin) Extended "%" matching
|
||||
" autload script of matchit plugin, see ../plugin/matchit.vim
|
||||
" Last Change: May 20, 2024
|
||||
" Last Change: Jan 06, 2025
|
||||
|
||||
" Neovim does not support scriptversion
|
||||
if has("vimscript-4")
|
||||
@@ -69,6 +69,26 @@ function matchit#Match_wrapper(word, forward, mode) range
|
||||
let startpos = [line("."), col(".")]
|
||||
endif
|
||||
|
||||
" Check for custom match function hook
|
||||
if exists("b:match_function")
|
||||
let MatchFunc = b:match_function
|
||||
try
|
||||
let result = call(MatchFunc, [a:forward])
|
||||
if !empty(result)
|
||||
call cursor(result)
|
||||
return s:CleanUp(restore_options, a:mode, startpos)
|
||||
endif
|
||||
catch /.*/
|
||||
if exists("b:match_debug")
|
||||
echohl WarningMsg
|
||||
echom 'matchit: b:match_function error: ' .. v:exception
|
||||
echohl NONE
|
||||
endif
|
||||
return s:CleanUp(restore_options, a:mode, startpos)
|
||||
endtry
|
||||
" Empty result: fall through to regular matching
|
||||
endif
|
||||
|
||||
" First step: if not already done, set the script variables
|
||||
" s:do_BR flag for whether there are backrefs
|
||||
" s:pat parsed version of b:match_words
|
||||
@@ -91,7 +111,7 @@ function matchit#Match_wrapper(word, forward, mode) range
|
||||
let default = escape(&mps, '[$^.*~\\/?]') .. (strlen(&mps) ? "," : "") ..
|
||||
\ '\/\*:\*\/,#\s*if\%(n\=def\)\=:#\s*else\>:#\s*elif\%(n\=def\)\=\>:#\s*endif\>'
|
||||
" s:all = pattern with all the keywords
|
||||
let match_words = match_words .. (strlen(match_words) ? "," : "") .. default
|
||||
let match_words = s:Append(match_words, default)
|
||||
let s:last_words = match_words
|
||||
if match_words !~ s:notslash .. '\\\d'
|
||||
let s:do_BR = 0
|
||||
@@ -101,8 +121,8 @@ function matchit#Match_wrapper(word, forward, mode) range
|
||||
let s:pat = s:ParseWords(match_words)
|
||||
endif
|
||||
let s:all = substitute(s:pat, s:notslash .. '\zs[,:]\+', '\\|', 'g')
|
||||
" un-escape \, to ,
|
||||
let s:all = substitute(s:all, '\\,', ',', 'g')
|
||||
" un-escape \, and \: to , and :
|
||||
let s:all = substitute(s:all, s:notslash .. '\zs\\\(:\|,\)', '\1', 'g')
|
||||
" Just in case there are too many '\(...)' groups inside the pattern, make
|
||||
" sure to use \%(...) groups, so that error E872 can be avoided
|
||||
let s:all = substitute(s:all, '\\(', '\\%(', 'g')
|
||||
@@ -341,6 +361,18 @@ fun! s:InsertRefs(groupBR, prefix, group, suffix, matchline)
|
||||
return ini .. ":" .. tailBR
|
||||
endfun
|
||||
|
||||
" String append item2 to item and add ',' in between items
|
||||
fun! s:Append(item, item2)
|
||||
if a:item == ''
|
||||
return a:item2
|
||||
endif
|
||||
" there is already a trailing comma, don't add another one
|
||||
if a:item[-1:] == ','
|
||||
return a:item .. a:item2
|
||||
endif
|
||||
return a:item .. ',' .. a:item2
|
||||
endfun
|
||||
|
||||
" Input a comma-separated list of groups with backrefs, such as
|
||||
" a:groups = '\(foo\):end\1,\(bar\):end\1'
|
||||
" and return a comma-separated list of groups with backrefs replaced:
|
||||
@@ -538,8 +570,8 @@ fun! s:Choose(patterns, string, comma, branch, prefix, suffix, ...)
|
||||
else
|
||||
let currpat = substitute(current, s:notslash .. a:branch, '\\|', 'g')
|
||||
endif
|
||||
" un-escape \, to ,
|
||||
let currpat = substitute(currpat, '\\,', ',', 'g')
|
||||
" un-escape \, and \: to , and :
|
||||
let currpat = substitute(currpat, s:notslash .. '\zs\\\(:\|,\)', '\1', 'g')
|
||||
while a:string !~ a:prefix .. currpat .. a:suffix
|
||||
let tail = strpart(tail, i)
|
||||
let i = matchend(tail, s:notslash .. a:comma)
|
||||
@@ -552,6 +584,8 @@ fun! s:Choose(patterns, string, comma, branch, prefix, suffix, ...)
|
||||
else
|
||||
let currpat = substitute(current, s:notslash .. a:branch, '\\|', 'g')
|
||||
endif
|
||||
" un-escape \, and \: to , and :
|
||||
let currpat = substitute(currpat, s:notslash .. '\zs\\\(:\|,\)', '\1', 'g')
|
||||
if a:0
|
||||
let alttail = strpart(alttail, j)
|
||||
let j = matchend(alttail, s:notslash .. a:comma)
|
||||
@@ -621,7 +655,7 @@ fun! matchit#MultiMatch(spflag, mode)
|
||||
let default = escape(&mps, '[$^.*~\\/?]') .. (strlen(&mps) ? "," : "") ..
|
||||
\ '\/\*:\*\/,#\s*if\%(n\=def\)\=:#\s*else\>:#\s*elif\>:#\s*endif\>'
|
||||
let s:last_mps = &mps
|
||||
let match_words = match_words .. (strlen(match_words) ? "," : "") .. default
|
||||
let match_words = s:Append(match_words, default)
|
||||
let s:last_words = match_words
|
||||
if match_words !~ s:notslash .. '\\\d'
|
||||
let s:do_BR = 0
|
||||
|
||||
59
runtime/pack/dist/opt/matchit/doc/matchit.txt
vendored
59
runtime/pack/dist/opt/matchit/doc/matchit.txt
vendored
@@ -1,13 +1,7 @@
|
||||
*matchit.txt* Extended "%" matching
|
||||
*matchit.txt* Extended "%" matching Last change: 2026 Jan 06
|
||||
|
||||
For instructions on installing this file, type
|
||||
`:help matchit-install`
|
||||
inside Vim.
|
||||
VIM REFERENCE MANUAL by Benji Fisher et al
|
||||
|
||||
For Vim version 9.1. Last change: 2024 May 20
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Benji Fisher et al
|
||||
|
||||
*matchit* *matchit.vim*
|
||||
|
||||
@@ -174,7 +168,7 @@ defined automatically.
|
||||
|
||||
2.1 Temporarily disable the matchit plugin *matchit-disable* *:MatchDisable*
|
||||
|
||||
To temporarily disable the matchit plugin, after it hat been loaded,
|
||||
To temporarily disable the matchit plugin, after it has been loaded,
|
||||
execute this command: >
|
||||
:MatchDisable
|
||||
|
||||
@@ -259,6 +253,45 @@ Examples:
|
||||
See the $VIMRUNTIME/ftplugin/vim.vim for an example that uses both
|
||||
syntax and a regular expression.
|
||||
|
||||
*b:match_function*
|
||||
If b:match_function is defined, matchit.vim will first call this function to
|
||||
perform matching. This is useful for languages with an indentation-based block
|
||||
structure (such as Python) or other complex matching requirements that cannot
|
||||
be expressed with regular expression patterns.
|
||||
|
||||
The function should accept one argument:
|
||||
forward - 1 for forward search (% command)
|
||||
0 for backward search (g% command)
|
||||
|
||||
The function should return a list with one of these values:
|
||||
[line, col] - Match found at the specified position
|
||||
[] - No match found; fall through to regular matching
|
||||
(|b:match_words|, matchpairs, etc.)
|
||||
|
||||
The cursor position is not changed by the function; matchit handles cursor
|
||||
movement based on the returned position.
|
||||
|
||||
If the function throws an error, matchit gives up and doesn't continue.
|
||||
Enable |b:match_debug| to see error messages from custom match functions.
|
||||
|
||||
Python example (simplified): >
|
||||
let s:keywords = {'if': 'elif\|else', 'elif': 'elif\|else'}
|
||||
|
||||
function! s:PythonMatch(forward) abort
|
||||
let keyword = matchstr(getline('.'), '^\s*\zs\w\+')
|
||||
let pattern = get(s:keywords, keyword, '')
|
||||
if empty(pattern) | return [] | endif
|
||||
|
||||
let flags = a:forward ? 'nW' : 'nbW'
|
||||
let [lnum, col] = searchpos('^\s*\%(' . pattern . '\)\>', flags, 0, 0,
|
||||
\ 'indent(".") != ' . indent('.'))
|
||||
return lnum > 0 ? [lnum, col] : []
|
||||
endfunction
|
||||
|
||||
let b:match_function = function('s:PythonMatch')
|
||||
<
|
||||
See |matchit-newlang| below for more details on supporting new languages.
|
||||
|
||||
==============================================================================
|
||||
4. Supporting a New Language *matchit-newlang*
|
||||
*b:match_words*
|
||||
@@ -270,9 +303,9 @@ Vim's |regular-expression|s.
|
||||
|
||||
The format for |b:match_words| is similar to that of the 'matchpairs' option:
|
||||
it is a comma (,)-separated list of groups; each group is a colon(:)-separated
|
||||
list of patterns (regular expressions). Commas and backslashes that are part
|
||||
of a pattern should be escaped with backslashes ('\:' and '\,'). It is OK to
|
||||
have only one group; the effect is undefined if a group has only one pattern.
|
||||
list of patterns (regular expressions). Commas and colons that are part of a
|
||||
pattern should be escaped with backslashes ('\:' and '\,'). It is OK to have
|
||||
only one group; the effect is undefined if a group has only one pattern.
|
||||
A simple example is >
|
||||
:let b:match_words = '\<if\>:\<endif\>,'
|
||||
\ . '\<while\>:\<continue\>:\<break\>:\<endwhile\>'
|
||||
@@ -315,7 +348,7 @@ expression >
|
||||
if keywords are only recognized after the start of a line or after a
|
||||
semicolon (;), with optional white space.
|
||||
|
||||
*matchit-backref* *matchit-\1*
|
||||
*matchit-backref*
|
||||
In any group, the expressions |\1|, |\2|, ..., |\9| refer to parts of the
|
||||
INITIAL pattern enclosed in |\(|escaped parentheses|\)|. These are referred
|
||||
to as back references, or backrefs. For example, >
|
||||
|
||||
2
runtime/pack/dist/opt/matchit/doc/tags
vendored
2
runtime/pack/dist/opt/matchit/doc/tags
vendored
@@ -6,6 +6,7 @@ MatchError matchit.txt /*MatchError*
|
||||
]% matchit.txt /*]%*
|
||||
b:match_col matchit.txt /*b:match_col*
|
||||
b:match_debug matchit.txt /*b:match_debug*
|
||||
b:match_function matchit.txt /*b:match_function*
|
||||
b:match_ignorecase matchit.txt /*b:match_ignorecase*
|
||||
b:match_ini matchit.txt /*b:match_ini*
|
||||
b:match_iniBR matchit.txt /*b:match_iniBR*
|
||||
@@ -20,7 +21,6 @@ b:match_words matchit.txt /*b:match_words*
|
||||
g% matchit.txt /*g%*
|
||||
matchit matchit.txt /*matchit*
|
||||
matchit-% matchit.txt /*matchit-%*
|
||||
matchit-\1 matchit.txt /*matchit-\\1*
|
||||
matchit-activate matchit.txt /*matchit-activate*
|
||||
matchit-backref matchit.txt /*matchit-backref*
|
||||
matchit-bugs matchit.txt /*matchit-bugs*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
" matchit.vim: (global plugin) Extended "%" matching
|
||||
" Maintainer: Christian Brabandt
|
||||
" Version: 1.20
|
||||
" Version: 1.21
|
||||
" Last Change: 2024 May 20
|
||||
" Repository: https://github.com/chrisbra/matchit
|
||||
" Previous URL:http://www.vim.org/script.php?script_id=39
|
||||
|
||||
2
runtime/pack/dist/opt/netrw/README.md
vendored
2
runtime/pack/dist/opt/netrw/README.md
vendored
@@ -11,7 +11,7 @@ upstream for distribution with Vim.
|
||||
|
||||
# License
|
||||
|
||||
To see License informations see the LICENSE.txt file included in this
|
||||
To see License information see the LICENSE.txt file included in this
|
||||
repository.
|
||||
|
||||
# Credits
|
||||
|
||||
11
runtime/pack/dist/opt/netrw/autoload/netrw.vim
vendored
11
runtime/pack/dist/opt/netrw/autoload/netrw.vim
vendored
@@ -16,6 +16,7 @@
|
||||
" 2025 Nov 13 by Vim Project don't wipe unnamed buffers #18740
|
||||
" 2025 Nov 18 by Vim Project use UNC paths when using scp and Windows paths #18764
|
||||
" 2025 Nov 28 by Vim Project fix undefined variable in *NetrwMenu #18829
|
||||
" 2025 Dec 26 by Vim Project fix use of g:netrw_cygwin #19015
|
||||
" Copyright: Copyright (C) 2016 Charles E. Campbell {{{1
|
||||
" Permission is hereby granted to use and distribute this code,
|
||||
" with or without modifications, provided that this copyright
|
||||
@@ -213,7 +214,7 @@ call s:NetrwInit("g:netrw_dirhistmax" , 10)
|
||||
call s:NetrwInit("g:netrw_fastbrowse" , 1)
|
||||
call s:NetrwInit("g:netrw_ftp_browse_reject", '^total\s\+\d\+$\|^Trying\s\+\d\+.*$\|^KERBEROS_V\d rejected\|^Security extensions not\|No such file\|: connect to address [0-9a-fA-F:]*: No route to host$')
|
||||
if !exists("g:netrw_ftp_list_cmd")
|
||||
if has("unix") || (exists("g:netrw_cygwin") && g:netrw_cygwin)
|
||||
if has("unix") || g:netrw_cygwin
|
||||
let g:netrw_ftp_list_cmd = "ls -lF"
|
||||
let g:netrw_ftp_timelist_cmd = "ls -tlF"
|
||||
let g:netrw_ftp_sizelist_cmd = "ls -slF"
|
||||
@@ -320,7 +321,7 @@ call s:NetrwInit("g:netrw_menu" , 1)
|
||||
call s:NetrwInit("g:netrw_mkdir_cmd" , g:netrw_ssh_cmd." USEPORT HOSTNAME mkdir")
|
||||
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)
|
||||
if has("unix") || g:netrw_cygwin
|
||||
call s:NetrwInit("g:netrw_chgperm" , "chmod PERM FILENAME")
|
||||
elseif has("win32")
|
||||
call s:NetrwInit("g:netrw_chgperm" , "cacls FILENAME /e /p PERM")
|
||||
@@ -442,7 +443,7 @@ function netrw#Explore(indx,dosplit,style,...)
|
||||
|
||||
" record current directory
|
||||
let curdir = simplify(b:netrw_curdir)
|
||||
if !exists("g:netrw_cygwin") && has("win32")
|
||||
if !g:netrw_cygwin && has("win32")
|
||||
let curdir= substitute(curdir,'\','/','g')
|
||||
endif
|
||||
let curfiledir = substitute(expand("%:p"),'^\(.*[/\\]\)[^/\\]*$','\1','e')
|
||||
@@ -520,7 +521,7 @@ function netrw#Explore(indx,dosplit,style,...)
|
||||
NetrwKeepj norm! 0
|
||||
|
||||
if a:0 > 0
|
||||
if a:1 =~ '^\~' && (has("unix") || (exists("g:netrw_cygwin") && g:netrw_cygwin))
|
||||
if a:1 =~ '^\~' && (has("unix") || g:netrw_cygwin)
|
||||
let dirname= simplify(substitute(a:1,'\~',expand("$HOME"),''))
|
||||
elseif a:1 == '.'
|
||||
let dirname= simplify(exists("b:netrw_curdir")? b:netrw_curdir : getcwd())
|
||||
@@ -3234,7 +3235,7 @@ function s:NetrwFile(fname)
|
||||
let b:netrw_curdir= getcwd()
|
||||
endif
|
||||
|
||||
if !exists("g:netrw_cygwin") && has("win32")
|
||||
if !g:netrw_cygwin && has("win32")
|
||||
if fname =~ '^\' || fname =~ '^\a:\'
|
||||
" windows, but full path given
|
||||
let ret= fname
|
||||
|
||||
@@ -12,7 +12,7 @@ enddef
|
||||
var sent_message: bool = false
|
||||
|
||||
def OSCMessage(id: number)
|
||||
echom "Waiting for OSC52 response... Press CTRL-C to cancel"
|
||||
echo "Waiting for OSC52 response... Press CTRL-C to cancel"
|
||||
sent_message = true
|
||||
enddef
|
||||
|
||||
@@ -20,7 +20,7 @@ export def Paste(reg: string): tuple<string, list<string>>
|
||||
# Check if user has indicated that the terminal does not support OSC 52 paste
|
||||
# (or has disabled it)
|
||||
if get(g:, 'osc52_disable_paste', 0)
|
||||
return ("c", [""])
|
||||
return ("c", [])
|
||||
endif
|
||||
|
||||
# Some terminals like Kitty respect the selection type parameter on both X11
|
||||
|
||||
@@ -4,7 +4,7 @@ vim9script
|
||||
|
||||
# Author: Bram Moolenaar
|
||||
# Copyright: Vim license applies, see ":help license"
|
||||
# Last Change: 2025 Oct 08
|
||||
# Last Change: 2025 Dec 26
|
||||
# Converted to Vim9: Ubaldo Tiberi <ubaldo.tiberi@gmail.com>
|
||||
|
||||
# WORK IN PROGRESS - The basics works stable, more to come
|
||||
@@ -454,7 +454,7 @@ def GetRemotePtyCmd(gdb_cmd: list<string>): list<string>
|
||||
term_cmd = gdb_cmd[0 : gdb_pos - 1]
|
||||
# roundtrip to check if socat is available on the remote side
|
||||
silent call system(join(term_cmd, ' ') .. ' socat -h')
|
||||
if v:shell_error
|
||||
if v:shell_error != 0
|
||||
Echowarn('Install socat on the remote machine for a program window better experience')
|
||||
else
|
||||
# create a devoted tty slave device and link to stdin/stdout
|
||||
|
||||
66
runtime/syntax/bpftrace.vim
Normal file
66
runtime/syntax/bpftrace.vim
Normal file
@@ -0,0 +1,66 @@
|
||||
" Vim syntax file
|
||||
" Language: bpftrace
|
||||
" Maintainer: Stanislaw Gruszka <stf_xl@wp.pl>
|
||||
" Last Change: 2025 Dec 22
|
||||
|
||||
" Quit when a syntax file was already loaded
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
syn keyword bpftraceConditional if else
|
||||
syn keyword bpftraceRepeat while for unroll
|
||||
syn keyword bpftraceStatement break continue return
|
||||
syn keyword bpftraceKeyword let macro import config
|
||||
syn keyword bpftraceOperator sizeof offsetof
|
||||
|
||||
syn keyword bpftraceProbe BEGIN END begin end
|
||||
syn match bpftraceProbe "\v<(bench|self|test)\ze:"
|
||||
syn match bpftraceProbe "\v<(fentry|fexit|kfunc|kretfunc|kprobe|kretprobe)\ze:"
|
||||
syn match bpftraceProbe "\v<(profile|interval|iterator|hardware|software|uprobe|uretprobe)\ze:"
|
||||
syn match bpftraceProbe "\v<(usdt|tracepoint|rawtracepoint|watchpoint|asyncwatchpoint)\ze:"
|
||||
syn match bpftraceProbe "\v(^|[^:])<\zs(h|i|it|f|fr|k|kr|p|rt|s|t|u|ur|U|w|aw)\ze:"
|
||||
|
||||
syn keyword bpftraceType bool int8 int16 int32 int64
|
||||
syn keyword bpftraceType uint8 uint16 uint32 uint64
|
||||
syn keyword bpftraceType struct
|
||||
|
||||
syn match bpftraceMacro "\<\h\w*\ze\_s*("
|
||||
|
||||
syn match bpftraceNumber display "[+-]\=\<\d\+\>"
|
||||
syn match bpftraceNumber display "\<0x\x\+\>"
|
||||
|
||||
syn keyword bpftraceBoolean true false
|
||||
|
||||
syn region bpftraceString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=@Spell extend
|
||||
|
||||
syn keyword bpftraceTodo contained TODO FIXME XXX
|
||||
syn match bpftraceShebang /\%^#![^[].*/
|
||||
syn region bpftraceCommentLine start="//" end="$" contains=bpftraceTodo,@Spell
|
||||
syn region bpftraceCommentBlock matchgroup=bpftraceCommentBlock start="/\*" end="\*/" contains=bpftraceTodo,@Spell
|
||||
|
||||
" Define the default highlighting.
|
||||
hi def link bpftraceConditional Conditional
|
||||
hi def link bpftraceMacro Macro
|
||||
hi def link bpftraceRepeat Repeat
|
||||
hi def link bpftraceKeyword Keyword
|
||||
hi def link bpftraceNumber Number
|
||||
hi def link bpftraceBoolean Boolean
|
||||
hi def link bpftraceShebang Comment
|
||||
hi def link bpftraceCommentLine Comment
|
||||
hi def link bpftraceCommentBlock Comment
|
||||
hi def link bpftraceString String
|
||||
hi def link bpftraceType Type
|
||||
hi def link bpftraceProbe Identifier
|
||||
|
||||
syn sync minlines=100
|
||||
|
||||
let b:current_syntax = "bpftrace"
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim: ts=8 sw=8 noexpandtab
|
||||
@@ -2,7 +2,7 @@
|
||||
" Language: Cangjie
|
||||
" Maintainer: Wu Junkai <wu.junkai@qq.com>
|
||||
" URL: https://github.com/WuJunkai2004/cangjie.vim
|
||||
" Last Change: 2025 Oct 12
|
||||
" Last Change: 2026 Jan 5
|
||||
"
|
||||
" The Cangjie programming language is a new-generation programming
|
||||
" language oriented to full-scenario intelligence. It features
|
||||
@@ -33,9 +33,13 @@ endfunction
|
||||
syn case match
|
||||
|
||||
" 1. comments
|
||||
syn keyword cangjieTodo TODO FIXME XXX NOTE BUG contained
|
||||
syn match cangjieComment /\v\/\/.*/ contains=cangjieTodo
|
||||
syn region cangjieComment start=/\/\*/ end=/\*\// contains=cangjieTodo,@Spell
|
||||
syn keyword cangjieTodo TODO FIXME XXX NOTE BUG contained
|
||||
syn match cangjieDocKeyword /\v\c\@(brief|param|return|note|warning|deprecated)/ contained
|
||||
syn match cangjieDocKeyword /\v\c\@(author|version|date|since|file|copyright)/ contained
|
||||
syn match cangjieDocKeyword /\v\c\@(details|link|see|throws|exception|example)/ contained
|
||||
syn match cangjieDocKeyword /\v\c\@(private|protected|public|internal)/ contained
|
||||
syn match cangjieComment /\v\/\/.*/ contains=cangjieTodo,cangjieDocKeyword
|
||||
syn region cangjieComment start=/\/\*/ end=/\*\// contains=cangjieTodo,cangjieDocKeyword,@spell
|
||||
|
||||
" 2. keywords
|
||||
syn keyword cangjieDeclaration abstract extend macro foreign
|
||||
@@ -65,27 +69,48 @@ syn match cangjieTypeName /\h\w*/ contained
|
||||
syn region cangjieSpIdentifier start=/`/ end=/`/ oneline
|
||||
|
||||
" 6. types
|
||||
syn keyword cangjieSpType Any Nothing Range Unit Iterable
|
||||
syn keyword cangjieArrayType Array ArrayList VArray
|
||||
syn keyword cangjieHashType HashMap HashSet
|
||||
syn keyword cangjieSpType Nothing Range Unit LibC Duration DefaultHasher
|
||||
syn keyword cangjieArrayType Array VArray
|
||||
syn keyword cangjieCommonType Bool Byte Rune String
|
||||
syn keyword cangjieFloatType Float16 Float32 Float64
|
||||
syn keyword cangjieIntType Int8 Int16 Int32 Int64 IntNative
|
||||
syn keyword cangjieUIntType UInt8 UInt16 UInt32 UInt64 UIntNative
|
||||
syn keyword cangjieIntType Int Int8 Int16 Int32 Int64 IntNative
|
||||
syn keyword cangjieUIntType UInt UInt8 UInt16 UInt32 UInt64 UIntNative
|
||||
syn keyword cangjieFFIType CPointer CPointerHandle CPointerResource CString CStringResource
|
||||
syn cluster cangjieTypeCluster contains=
|
||||
\ cangjieSpType,
|
||||
\ cangjieArrayType,
|
||||
\ cangjieHashType,
|
||||
\ cangjieCommonType,
|
||||
\ cangjieFloatType,
|
||||
\ cangjieIntType,
|
||||
\ cangjieUIntType
|
||||
\ cangjieUIntType,
|
||||
\ cangjieFFIType
|
||||
|
||||
" 6.1. builtin function/interface/class
|
||||
syn keyword cangjieCoreFunc acquireArrayRawData alignOf eprint eprintln ifNone ifSome max min
|
||||
syn keyword cangjieCoreFunc print println readln refEq releaseArrayRawData sizeOf sleep zeroValue
|
||||
syn keyword cangjieCoreItf Any Hasher ThreadContext Countable Collection Less Greater
|
||||
syn keyword cangjieCoreItf LessOrEqual GreaterOrEqual Comparable Equal NotEqual Equatable
|
||||
syn keyword cangjieCoreItf Hashable Iterable Resource ToString CType
|
||||
syn keyword cangjieCoreClass ArrayIterator Box Future Iterator Object RangeIterator
|
||||
syn keyword cangjieCoreClass StackTraceElement StringBuilder Thread ThreadLocal
|
||||
syn keyword cangjieCoreError ArithmeticException Error Exception IllegalArgumentException
|
||||
syn keyword cangjieCoreError IllegalFormatException IllegalMemoryException IllegalStateException
|
||||
syn keyword cangjieCoreError IncompatiblePackageException IndexOutOfBoundsException InternalError
|
||||
syn keyword cangjieCoreError NegativeArraySizeException NoneValueException OutOfMemoryError
|
||||
syn keyword cangjieCoreError OverflowException SpawnException StackOverflowError
|
||||
syn keyword cangjieCoreError TimeoutException UnsupportedException
|
||||
syn cluster cangjieBuiltinCluster contains=
|
||||
\ cangjieCoreFunc,
|
||||
\ cangjieCoreItf,
|
||||
\ cangjieCoreClass,
|
||||
\ cangjieCoreError
|
||||
|
||||
" 7. character and strings
|
||||
syn cluster cangjieInterpolatedPart contains=
|
||||
\ @cangjieKeywordCluster,
|
||||
\ cangjieSpIdentifier,
|
||||
\ @cangjieTypeCluster,
|
||||
\ @cangjieBuiltinCluster,
|
||||
\ @cangjieNumberCluster,
|
||||
\ cangjieOperator
|
||||
syn region cangjieInterpolation contained keepend start=/\${/ end=/}/ contains=@cangjieInterpolatedPart
|
||||
@@ -139,6 +164,7 @@ syn region cangjieFoldBrackets transparent fold start='\[' end='\]' contains=ALL
|
||||
" finally, link the syntax groups to the highlight groups
|
||||
if s:enabled('comment')
|
||||
hi def link cangjieTodo Todo
|
||||
hi def link cangjieDocKeyword SpecialComment
|
||||
hi def link cangjieComment Comment
|
||||
endif
|
||||
if s:enabled('identifier')
|
||||
@@ -151,6 +177,12 @@ if s:enabled('keyword')
|
||||
hi def link cangjieVariable Keyword
|
||||
hi def link cangjieOption Keyword
|
||||
endif
|
||||
if s:enabled('builtin')
|
||||
hi def link cangjieCoreFunc Function
|
||||
hi def link cangjieCoreItf Type
|
||||
hi def link cangjieCoreClass Type
|
||||
hi def link cangjieCoreError Structure
|
||||
endif
|
||||
if s:enabled('macro')
|
||||
hi def link cangjieMacro PreProc
|
||||
endif
|
||||
@@ -178,11 +210,11 @@ if s:enabled('type')
|
||||
hi def link cangjieTypeName Type
|
||||
hi def link cangjieSpType Type
|
||||
hi def link cangjieArrayType Type
|
||||
hi def link cangjieHashType Type
|
||||
hi def link cangjieCommonType Type
|
||||
hi def link cangjieFloatType Type
|
||||
hi def link cangjieIntType Type
|
||||
hi def link cangjieUIntType Type
|
||||
hi def link cangjieFFIType Type
|
||||
endif
|
||||
|
||||
let b:current_syntax = "cangjie"
|
||||
|
||||
@@ -4,7 +4,7 @@ vim9script
|
||||
# Language: ConTeXt typesetting engine
|
||||
# Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
||||
# Former Maintainers: Nikolai Weibull <now@bitwi.se>
|
||||
# Latest Revision: 2023 Dec 26
|
||||
# Latest Revision: 2026 Jan 10
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
" Vim syntax file
|
||||
" Language: C++
|
||||
" Current Maintainer: vim-jp (https://github.com/vim-jp/vim-cpp)
|
||||
" Previous Maintainer: Ken Shan <ccshan@post.harvard.edu>
|
||||
" Maintainer: This runtime file is looking for a new maintainer.
|
||||
" Previous Maintainer: vim-jp (https://github.com/vim-jp/vim-cpp)
|
||||
" Ken Shan <ccshan@post.harvard.edu>
|
||||
" Last Change: 2024 May 04
|
||||
" 2024 May 04 by Vim Project (fix digit separator in octals and floats)
|
||||
" 2024 May 04 by Vim Project fix digit separator in octals and floats
|
||||
" 2026 Jan 06 by Vim Project orphaning announcement
|
||||
" 2026 Jan 08 by Vim Project highlight capital letter prefixes for numbers
|
||||
|
||||
" quit when a syntax file was already loaded
|
||||
if exists("b:current_syntax")
|
||||
@@ -57,11 +60,11 @@ if !exists("cpp_no_cpp14")
|
||||
syn match cppNumber display contained "\<0\([Uu]\=\([Ll]\|LL\|ll\)\|\([Ll]\|LL\|ll\)\=[Uu]\|i[fl]\=\|h\|min\|s\|ms\|us\|ns\|_\i*\)\=\>"
|
||||
syn match cppNumber display contained "\<[1-9]\('\=\d\+\)*\([Uu]\=\([Ll]\|LL\|ll\)\|\([Ll]\|LL\|ll\)\=[Uu]\|i[fl]\=\|h\|min\|s\|ms\|us\|ns\|_\i*\)\=\>"
|
||||
syn match cppNumber display contained "\<0\('\=\o\+\)\+\([Uu]\=\([Ll]\|LL\|ll\)\|\([Ll]\|LL\|ll\)\=[Uu]\|i[fl]\=\|h\|min\|s\|ms\|us\|ns\|_\i*\)\=\>"
|
||||
syn match cppNumber display contained "\<0b[01]\('\=[01]\+\)*\([Uu]\=\([Ll]\|LL\|ll\)\|\([Ll]\|LL\|ll\)\=[Uu]\|i[fl]\=\|h\|min\|s\|ms\|us\|ns\|_\i*\)\=\>"
|
||||
syn match cppNumber display contained "\<0x\x\('\=\x\+\)*\([Uu]\=\([Ll]\|LL\|ll\)\|\([Ll]\|LL\|ll\)\=[Uu]\|i[fl]\=\|h\|min\|s\|ms\|us\|ns\|_\i*\)\=\>"
|
||||
syn match cppFloat display contained "\<\d\('\=\d\+\)*\.\(\d\('\=\d\+\)*\)\=\(e[-+]\=\d\+\)\=\([FfLl]\|i[fl]\=\|h\|min\|s\|ms\|us\|ns\|_\i*\)\=\>"
|
||||
syn match cppFloat display contained "\.\d\('\=\d\+\)*\(e[-+]\=\d\+\)\=\([FfLl]\|i[fl]\=\|h\|min\|s\|ms\|us\|ns\|_\i*\)\=\>"
|
||||
syn match cppFloat display contained "\<\d\+e[-+]\=\d\+\([FfLl]\|i[fl]\=\|h\|min\|s\|ms\|us\|ns\|_\i*\)\=\>"
|
||||
syn match cppNumber display contained "\<0[Bb][01]\('\=[01]\+\)*\([Uu]\=\([Ll]\|LL\|ll\)\|\([Ll]\|LL\|ll\)\=[Uu]\|i[fl]\=\|h\|min\|s\|ms\|us\|ns\|_\i*\)\=\>"
|
||||
syn match cppNumber display contained "\<0[Xx]\x\('\=\x\+\)*\([Uu]\=\([Ll]\|LL\|ll\)\|\([Ll]\|LL\|ll\)\=[Uu]\|i[fl]\=\|h\|min\|s\|ms\|us\|ns\|_\i*\)\=\>"
|
||||
syn match cppFloat display contained "\<\d\('\=\d\+\)*\.\(\d\('\=\d\+\)*\)\=\([Ee][-+]\=\d\+\)\=\([FfLl]\|i[fl]\=\|h\|min\|s\|ms\|us\|ns\|_\i*\)\=\>"
|
||||
syn match cppFloat display contained "\.\d\('\=\d\+\)*\([Ee][-+]\=\d\+\)\=\([FfLl]\|i[fl]\=\|h\|min\|s\|ms\|us\|ns\|_\i*\)\=\>"
|
||||
syn match cppFloat display contained "\<\d\+[Ee][-+]\=\d\+\([FfLl]\|i[fl]\=\|h\|min\|s\|ms\|us\|ns\|_\i*\)\=\>"
|
||||
syn region cppString start=+\(L\|u\|u8\|U\)\="+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"\(sv\|s\|_\i*\)\=+ end='$' contains=cSpecial,cFormat,@Spell
|
||||
endif
|
||||
|
||||
@@ -69,8 +72,8 @@ endif
|
||||
if !exists("cpp_no_cpp17")
|
||||
syn match cppCast "\<reinterpret_pointer_cast\s*<"me=e-1
|
||||
syn match cppCast "\<reinterpret_pointer_cast\s*$"
|
||||
syn match cppFloat display contained "\<0x\x*\.\x\+p[-+]\=\d\+\([FfLl]\|i[fl]\=\|h\|min\|s\|ms\|us\|ns\|_\i*\)\=\>"
|
||||
syn match cppFloat display contained "\<0x\x\+\.\=p[-+]\=\d\+\([FfLl]\|i[fl]\=\|h\|min\|s\|ms\|us\|ns\|_\i*\)\=\>"
|
||||
syn match cppFloat display contained "\<0[Xx]\x*\.\x\+p[-+]\=\d\+\([FfLl]\|i[fl]\=\|h\|min\|s\|ms\|us\|ns\|_\i*\)\=\>"
|
||||
syn match cppFloat display contained "\<0[Xx]\x\+\.\=p[-+]\=\d\+\([FfLl]\|i[fl]\=\|h\|min\|s\|ms\|us\|ns\|_\i*\)\=\>"
|
||||
|
||||
" TODO: push this up to c.vim if/when supported in C23
|
||||
syn match cppCharacter "u8'[^\\]'"
|
||||
@@ -92,8 +95,8 @@ if !exists("cpp_no_cpp20")
|
||||
syn match cppNumber display contained "\<0\(y\|d\)\>"
|
||||
syn match cppNumber display contained "\<[1-9]\('\=\d\+\)*\(y\|d\)\>"
|
||||
syn match cppNumber display contained "\<0\o\+\(y\|d\)\>"
|
||||
syn match cppNumber display contained "\<0b[01]\('\=[01]\+\)*\(y\|d\)\>"
|
||||
syn match cppNumber display contained "\<0x\x\('\=\x\+\)*\(y\|d\)\>"
|
||||
syn match cppNumber display contained "\<0[Bb][01]\('\=[01]\+\)*\(y\|d\)\>"
|
||||
syn match cppNumber display contained "\<0[Xx]\x\('\=\x\+\)*\(y\|d\)\>"
|
||||
syn keyword cppStatement co_await co_return co_yield requires
|
||||
syn keyword cppStorageClass consteval constinit
|
||||
syn keyword cppStructure concept
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" Language: Vim script
|
||||
" Maintainer: Hirohito Higashi <h.east.727 ATMARK gmail.com>
|
||||
" Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2025 Dec 04
|
||||
" Last Change: 2026 Jan 11
|
||||
" Former Maintainer: Charles E. Campbell
|
||||
|
||||
" DO NOT CHANGE DIRECTLY.
|
||||
@@ -753,7 +753,7 @@ if s:vim9script
|
||||
" FIXME: don't match as dictionary keys, remove when operators are not
|
||||
" shared between Vim9 and legacy script
|
||||
syn match vim9This contained "\.\@1<!\<this\>:\@!"
|
||||
" super must be folowed by '.'
|
||||
" super must be followed by '.'
|
||||
syn match vim9Super contained "\.\@1<!\<super\.\@="
|
||||
|
||||
VimFoldc syn region vim9ClassBody start="\<class\>" matchgroup=vimCommand end="\<endclass\>" contains=@vim9ClassBodyList transparent
|
||||
@@ -1462,10 +1462,10 @@ syn match vimHelp "\<h\%[elp]\>" skipwhite nextgroup=vimHelpBang,vimHelpArg,vimH
|
||||
syn region vimHelpArg contained
|
||||
\ start="\S"
|
||||
\ matchgroup=Special
|
||||
\ end="\%(@\a\a\)\=\ze\s*\%($\|\%x0d\|\%x00\||\s*\S\)"
|
||||
\ end="\%(@\a\a\)\=\ze\s*\%($\|\%x0d\|\%x00\||[^|]\)"
|
||||
\ oneline
|
||||
syn match vimHelpNextCommand contained "\ze|[^|]" skipwhite nextgroup=vimCmdSep
|
||||
syn match vimHelpBang contained "\a\@1<=!" skipwhite nextgroup=vimHelpArg,vimHelpNextCommand
|
||||
syn match vimHelpNextCommand contained "\ze|\s*\S" skipwhite nextgroup=vimCmdSep
|
||||
|
||||
syn match vimHelpgrep "\<l\=helpg\%[rep]\>" skipwhite nextgroup=vimHelpgrepBang,vimHelpgrepPattern
|
||||
syn region vimHelpgrepPattern contained
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
" Vim syntax file
|
||||
" Language: Haskell
|
||||
" Maintainer: Haskell Cafe mailinglist <haskell-cafe@haskell.org>
|
||||
" (need to be subscribed to post)
|
||||
" Last Change: 2024 Mar 28 by Enrico Maria De Angelis <enricomaria.dean6elis@gmail.com>
|
||||
" 2025 Nov 20 by Vim Project: Allow spaces in backticks #18776
|
||||
" Original Author: John Williams <jrw@pobox.com>
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
" Markdown style, TeX style and plain text surrounding
|
||||
" \begin{code} \end{code} blocks
|
||||
" Maintainer: Haskell Cafe mailinglist <haskell-cafe@haskell.org>
|
||||
" (need to be subscribed to post)
|
||||
" Original Author: Arthur van Leeuwen <arthurvl@cs.uu.nl>
|
||||
" Last Change: 2020 Feb 25
|
||||
" Version: 1.05
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"
|
||||
" Language: Logtalk
|
||||
" Maintainer: Paulo Moura <pmoura@logtalk.org>
|
||||
" Last Change: December 16, 2023
|
||||
" Last Change: October 6, 2025
|
||||
|
||||
|
||||
|
||||
@@ -37,7 +37,7 @@ syn region logtalkAtom start=+'+ skip=+\\'+ end=+'+ contains=logtalkEscapeSequ
|
||||
syn match logtalkEscapeSequence contained "\\\([\\abfnrtv\"\']\|\(x[a-fA-F0-9]\+\|[0-7]\+\)\\\)"
|
||||
|
||||
|
||||
" Logtalk message sending operators
|
||||
" Logtalk message-sending operators
|
||||
|
||||
syn match logtalkOperator "::"
|
||||
syn match logtalkOperator "\(0'\)\@<!:"
|
||||
@@ -85,6 +85,7 @@ syn region logtalkDir matchgroup=logtalkDirTag start=":- encoding(" matchgroup
|
||||
syn region logtalkDir matchgroup=logtalkDirTag start=":- initialization(" matchgroup=logtalkDirTag end=")\." contains=ALL
|
||||
syn region logtalkDir matchgroup=logtalkDirTag start=":- info(" matchgroup=logtalkDirTag end=")\." contains=ALL
|
||||
syn region logtalkDir matchgroup=logtalkDirTag start=":- mode(" matchgroup=logtalkDirTag end=")\." contains=logtalkOperator, logtalkAtom
|
||||
syn region logtalkDir matchgroup=logtalkDirTag start=":- mode_non_terminal(" matchgroup=logtalkDirTag end=")\." contains=logtalkOperator, logtalkAtom
|
||||
syn region logtalkDir matchgroup=logtalkDirTag start=":- dynamic(" matchgroup=logtalkDirTag end=")\." contains=ALL
|
||||
syn match logtalkDirTag ":- built_in\."
|
||||
syn match logtalkDirTag ":- dynamic\."
|
||||
@@ -189,7 +190,7 @@ syn match logtalkOperator "-->"
|
||||
syn match logtalkOperator "->"
|
||||
syn match logtalkKeyword "\<throw\ze("
|
||||
syn match logtalkKeyword "\<\(instantiation\|system\)_error\>"
|
||||
syn match logtalkKeyword "\<\(uninstantiation\|type\|domain\|existence\|permission\|representation\|evaluation\|resource\|syntax\)_error\ze("
|
||||
syn match logtalkKeyword "\<\(uninstantiation\|type\|domain\|consistency\|existence\|permission\|representation\|evaluation\|resource\|syntax\)_error\ze("
|
||||
|
||||
|
||||
" Term unification
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
" Vim syntax file
|
||||
" Language: Lynx Web Browser Configuration (lynx.cfg)
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2023 Nov 09
|
||||
" Last Change: 2026 Jan 08
|
||||
|
||||
" Lynx 2.8.9
|
||||
" Lynx 2.9.2
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
@@ -18,7 +18,8 @@ syn match lynxComment "\%(^\|\s\+\)#.*" contains=lynxTodo
|
||||
|
||||
syn keyword lynxTodo TODO NOTE FIXME XXX contained
|
||||
|
||||
syn match lynxDelimiter ":" skipwhite nextgroup=lynxBoolean,lynxHttpProtocol,lynxNumber,lynxNone,lynxRCOption
|
||||
syn match lynxDelimiter ":" contained
|
||||
\ skipwhite nextgroup=lynxBoolean,lynxHttpProtocol,lynxNumber,lynxNone,lynxRCOption
|
||||
|
||||
syn case ignore
|
||||
syn keyword lynxBoolean TRUE FALSE ON OFF contained
|
||||
@@ -30,99 +31,93 @@ syn match lynxHttpProtocol "\<1\.[01]\>" contained
|
||||
|
||||
"{{{ Options
|
||||
syn case ignore
|
||||
syn keyword lynxOption ACCEPT_ALL_COOKIES ALERTSECS
|
||||
\ ALWAYS_RESUBMIT_POSTS ALWAYS_TRUSTED_EXEC ANONFTP_PASSWORD
|
||||
\ ASSUMED_COLOR ASSUMED_DOC_CHARSET_CHOICE ASSUME_CHARSET
|
||||
\ ASSUME_LOCAL_CHARSET ASSUME_UNREC_CHARSET AUTO_SESSION
|
||||
\ AUTO_UNCACHE_DIRLISTS BAD_HTML BIBP_BIBHOST BIBP_GLOBAL_SERVER
|
||||
\ BLOCK_MULTI_BOOKMARKS BOLD_H1 BOLD_HEADERS BOLD_NAME_ANCHORS
|
||||
\ BOOKMARK_FILE BROKEN_FTP_EPSV BROKEN_FTP_RETR BZIP2_PATH
|
||||
\ CASE_SENSITIVE_ALWAYS_ON CASE_SENSITIVE_SEARCHING CHARACTER_SET
|
||||
\ CHARSETS_DIRECTORY CHARSET_SWITCH_RULES CHECKMAIL CHMOD_PATH
|
||||
\ COLLAPSE_BR_TAGS COLOR COLOR_STYLE COMPRESS_PATH CONNECT_TIMEOUT
|
||||
\ COOKIE_ACCEPT_DOMAINS COOKIE_FILE COOKIE_LOOSE_INVALID_DOMAINS
|
||||
\ COOKIE_QUERY_INVALID_DOMAINS COOKIE_REJECT_DOMAINS COOKIE_SAVE_FILE
|
||||
\ COOKIE_STRICT_INVALID_DOMAINS COPY_PATH CSO_PROXY CSWING_PATH
|
||||
\ DEBUGSECS DEFAULT_BOOKMARK_FILE DEFAULT_CACHE_SIZE DEFAULT_COLORS
|
||||
\ DEFAULT_EDITOR DEFAULT_INDEX_FILE DEFAULT_KEYPAD_MODE
|
||||
\ DEFAULT_KEYPAD_MODE_IS_NUMBERS_AS_ARROWS DEFAULT_USER_MODE
|
||||
\ DEFAULT_VIRTUAL_MEMORY_SIZE DELAYSECS DIRED_MENU DIR_LIST_ORDER
|
||||
\ DIR_LIST_STYLE DISPLAY DISPLAY_CHARSET_CHOICE DOWNLOADER EMACS_KEYS
|
||||
\ EMACS_KEYS_ALWAYS_ON ENABLE_LYNXRC ENABLE_SCROLLBACK EXTERNAL
|
||||
\ FILE_EDITOR FILE_SORTING_METHOD FINGER_PROXY FOCUS_WINDOW
|
||||
\ FORCE_8BIT_TOUPPER FORCE_COOKIE_PROMPT FORCE_EMPTY_HREFLESS_A
|
||||
\ FORCE_SSL_COOKIES_SECURE FORCE_SSL_PROMPT FORMS_OPTIONS FTP_FORMAT
|
||||
\ FTP_PASSIVE FTP_PROXY GLOBAL_EXTENSION_MAP GLOBAL_MAILCAP
|
||||
\ GOPHER_PROXY GOTOBUFFER GZIP_PATH HELPFILE HIDDEN_LINK_MARKER
|
||||
\ HISTORICAL_COMMENTS HTMLSRC_ATTRNAME_XFORM HTMLSRC_TAGNAME_XFORM
|
||||
\ HTTPS_PROXY HTTP_PROXY INCLUDE INFLATE_PATH INFOSECS INSTALL_PATH
|
||||
\ JUMPBUFFER JUMPFILE JUMP_PROMPT JUSTIFY JUSTIFY_MAX_VOID_PERCENT
|
||||
\ KBLAYOUT KEYBOARD_LAYOUT KEYMAP KEYPAD_MODE
|
||||
\ LEFTARROW_IN_TEXTFIELD_PROMPT LINEEDIT_MODE LIST_FORMAT
|
||||
\ LIST_NEWS_DATES LIST_NEWS_NUMBERS LOCALE_CHARSET LOCALHOST_ALIAS
|
||||
\ LOCAL_DOMAIN LOCAL_EXECUTION_LINKS_ALWAYS_ON
|
||||
\ LOCAL_EXECUTION_LINKS_ON_BUT_NOT_REMOTE LYNXCGI_DOCUMENT_ROOT
|
||||
\ LYNXCGI_ENVIRONMENT LYNX_HOST_NAME LYNX_SIG_FILE MAIL_ADRS
|
||||
\ MAIL_SYSTEM_ERROR_LOGGING MAKE_LINKS_FOR_ALL_IMAGES
|
||||
\ MAKE_PSEUDO_ALTS_FOR_INLINES MAX_COOKIES_BUFFER MAX_COOKIES_DOMAIN
|
||||
\ MAX_COOKIES_GLOBAL MESSAGESECS MINIMAL_COMMENTS MKDIR_PATH
|
||||
\ MULTI_BOOKMARK MULTI_BOOKMARK_SUPPORT MV_PATH NCR_IN_BOOKMARKS
|
||||
\ NESTED_TABLES NEWSPOST_PROXY NEWSREPLY_PROXY NEWS_CHUNK_SIZE
|
||||
\ NEWS_MAX_CHUNK NEWS_POSTING NEWS_PROXY NNTPSERVER NNTP_PROXY
|
||||
\ NONRESTARTING_SIGWINCH NO_DOT_FILES NO_FILE_REFERER
|
||||
\ NO_FORCED_CORE_DUMP NO_FROM_HEADER NO_ISMAP_IF_USEMAP NO_MARGINS
|
||||
\ NO_PAUSE NO_PROXY NO_REFERER_HEADER NO_TABLE_CENTER NO_TITLE
|
||||
\ NUMBER_FIELDS_ON_LEFT NUMBER_LINKS_ON_LEFT OUTGOING_MAIL_CHARSET
|
||||
\ PARTIAL PARTIAL_THRES PERSISTENT_COOKIES PERSONAL_EXTENSION_MAP
|
||||
\ PERSONAL_MAILCAP PERSONAL_MAIL_ADDRESS POSITIONABLE_EDITOR
|
||||
\ PREFERRED_CHARSET PREFERRED_ENCODING PREFERRED_LANGUAGE
|
||||
\ PREFERRED_MEDIA_TYPES PREPEND_BASE_TO_SOURCE
|
||||
\ PREPEND_CHARSET_TO_SOURCE PRETTYSRC PRETTYSRC_SPEC
|
||||
\ PRETTYSRC_VIEW_NO_ANCHOR_NUMBERING PRINTER QUIT_DEFAULT_YES RAW_MODE
|
||||
\ READ_TIMEOUT REFERER_WITH_QUERY REPLAYSECS REUSE_TEMPFILES
|
||||
\ RLOGIN_PATH RM_PATH RMDIR_PATH RULE RULESFILE
|
||||
\ RUN_ALL_EXECUTION_LINKS RUN_EXECUTION_LINKS_LOCAL SAVE_SPACE
|
||||
\ SCAN_FOR_BURIED_NEWS_REFS SCREEN_SIZE SCROLLBAR SCROLLBAR_ARROW
|
||||
\ SEEK_FRAG_AREA_IN_CUR SEEK_FRAG_MAP_IN_CUR SELECT_POPUPS
|
||||
\ SEND_USERAGENT SESSION_FILE SESSION_LIMIT SET_COOKIES SETFONT_PATH
|
||||
\ SHOW_COLOR SHOW_CURSOR SHOW_DOTFILES SHOW_KB_NAME SHOW_KB_RATE
|
||||
\ SNEWSPOST_PROXY SNEWSREPLY_PROXY SNEWS_PROXY SOFT_DQUOTES
|
||||
\ SOURCE_CACHE SOURCE_CACHE_FOR_ABORTED SSL_CERT_FILE STARTFILE
|
||||
\ STATUS_BUFFER_SIZE STRIP_DOTDOT_URLS SUBSTITUTE_UNDERSCORES
|
||||
\ SUB_BOOKMARKS SUFFIX SUFFIX_ORDER SYSLOG_REQUESTED_URLS SYSLOG_TEXT
|
||||
\ SYSTEM_EDITOR SYSTEM_MAIL SYSTEM_MAIL_FLAGS TAGSOUP TAR_PATH
|
||||
\ TELNET_PATH TEXTFIELDS_NEED_ACTIVATION TIMEOUT TN3270_PATH
|
||||
\ TOUCH_PATH TRIM_INPUT_FIELDS TRUSTED_EXEC TRUSTED_LYNXCGI
|
||||
\ UNCOMPRESS_PATH UNDERLINE_LINKS UNZIP_PATH UPLOADER
|
||||
\ URL_DOMAIN_PREFIXES URL_DOMAIN_SUFFIXES USERAGENT USER_MODE
|
||||
\ USE_FIXED_RECORDS USE_MOUSE USE_SELECT_POPUPS UUDECODE_PATH
|
||||
\ VERBOSE_IMAGES VIEWER VISITED_LINKS VI_KEYS VI_KEYS_ALWAYS_ON
|
||||
\ WAIS_PROXY XHTML_PARSING XLOADIMAGE_COMMAND ZCAT_PATH ZIP_PATH
|
||||
\ TRIM_BLANK_LINES GUESS_SCHEME HTTP_PROTOCOL HTML5_CHARSETS
|
||||
\ TRIM_BLANK_LINES PREFERRED_CONTENT_TYPE SSL_CLIENT_CERT_FILE
|
||||
\ SSL_CLIENT_KEY_FILE MAX_URI_SIZE UNIQUE_URLS MESSAGE_LANGUAGE
|
||||
\ CONV_JISX0201KANA WAIT_VIEWER_TERMINATION BLAT_MAIL ALT_BLAT_MAIL
|
||||
\ DONT_WRAP_PRE TRACK_INTERNAL_LINKS FORCE_HTML HIDDENLINKS SHORT_URL
|
||||
\ LISTONLY LIST_INLINE LOCALHOST WITH_BACKSPACES
|
||||
\ contained nextgroup=lynxDelimiter
|
||||
syn keyword lynxRCOption accept_all_cookies assume_charset auto_session
|
||||
\ bookmark_file case_sensitive_searching character_set
|
||||
\ collapse_br_tags cookie_accept_domains cookie_file
|
||||
\ cookie_loose_invalid_domains cookie_query_invalid_domains
|
||||
\ cookie_reject_domains cookie_strict_invalid_domain
|
||||
\ cookie_strict_invalid_domains dir_list_style display emacs_keys
|
||||
\ file_editor file_sorting_method force_cookie_prompt force_ssl_prompt
|
||||
\ ftp_passive html5_charsets http_protocol kblayout keypad_mode
|
||||
\ lineedit_mode locale_charset make_links_for_all_images
|
||||
\ make_pseudo_alts_for_inlines multi_bookmark no_pause
|
||||
\ personal_mail_address preferred_charset preferred_encoding
|
||||
\ preferred_language preferred_media_types raw_mode
|
||||
\ run_all_execution_links run_execution_links_local
|
||||
\ run_execution_links_on_local_files scrollbar select_popups
|
||||
\ send_useragent session_file set_cookies show_color show_cursor
|
||||
\ show_dotfiles show_kb_rate sub_bookmarks tagsoup underline_links
|
||||
\ useragent user_mode verbose_images vi_keys visited_links
|
||||
\ contained nextgroup=lynxDelimiter
|
||||
|
||||
syn keyword lynxOption ACCEPT_ALL_COOKIES ALERTSECS ALT_BLAT_MAIL
|
||||
\ ALWAYS_RESUBMIT_POSTS ALWAYS_TRUSTED_EXEC ASSUME_CHARSET ASSUMED_COLOR
|
||||
\ ASSUMED_DOC_CHARSET_CHOICE ASSUME_LOCAL_CHARSET ASSUME_UNREC_CHARSET
|
||||
\ AUTO_SESSION AUTO_UNCACHE_DIRLISTS BIBP_BIBHOST BIBP_GLOBAL_SERVER
|
||||
\ BLAT_MAIL BLOCK_MULTI_BOOKMARKS BOLD_H1 BOLD_HEADERS BOLD_NAME_ANCHORS
|
||||
\ BROKEN_FTP_EPSV BROKEN_FTP_RETR BZIP2_PATH CASE_SENSITIVE_ALWAYS_ON
|
||||
\ CHARACTER_SET CHARSETS_DIRECTORY CHARSET_SWITCH_RULES CHECKMAIL
|
||||
\ CHMOD_PATH COLLAPSE_BR_TAGS COLOR COLOR_STYLE COMPRESS_PATH
|
||||
\ CONNECT_TIMEOUT CONV_JISX0201KANA COOKIE_ACCEPT_DOMAINS COOKIE_FILE
|
||||
\ COOKIE_LOOSE_INVALID_DOMAINS COOKIE_QUERY_INVALID_DOMAINS
|
||||
\ COOKIE_REJECT_DOMAINS COOKIE_SAVE_FILE COOKIE_STRICT_INVALID_DOMAINS
|
||||
\ COOKIE_VERSION COPY_PATH CSO_PROXY CSWING_PATH DEBUGSECS
|
||||
\ DEFAULT_BOOKMARK_FILE DEFAULT_CACHE_SIZE DEFAULT_COLORS DEFAULT_EDITOR
|
||||
\ DEFAULT_INDEX_FILE DEFAULT_KEYPAD_MODE
|
||||
\ DEFAULT_KEYPAD_MODE_IS_NUMBERS_AS_ARROWS DEFAULT_USER_MODE
|
||||
\ DEFAULT_VIRTUAL_MEMORY_SIZE DIRED_MENU DISPLAY_CHARSET_CHOICE
|
||||
\ DONT_WRAP_PRE DOWNLOADER EMACS_KEYS_ALWAYS_ON ENABLE_LYNXRC
|
||||
\ ENABLE_SCROLLBACK EXTERNAL EXTERNAL_MENU FINGER_PROXY
|
||||
\ FORCE_8BIT_TOUPPER FORCE_COOKIE_PROMPT FORCE_EMPTY_HREFLESS_A
|
||||
\ FORCE_HTML FORCE_SSL_COOKIES_SECURE FORCE_SSL_PROMPT FORMS_OPTIONS
|
||||
\ FTP_FORMAT FTP_PASSIVE FTP_PROXY GLOBAL_EXTENSION_MAP GLOBAL_MAILCAP
|
||||
\ GOPHER_PROXY GOTOBUFFER GUESS_SCHEME GZIP_PATH HELPFILE
|
||||
\ HIDDEN_LINK_MARKER HIDDENLINKS HISTORICAL_COMMENTS HTML5_CHARSETS
|
||||
\ HTMLSRC_ATTRNAME_XFORM HTMLSRC_TAGNAME_XFORM HTTP_PROTOCOL HTTP_PROXY
|
||||
\ HTTPS_PROXY INCLUDE INFLATE_PATH INFOSECS INSTALL_PATH JUMPBUFFER
|
||||
\ JUMPFILE JUMP_PROMPT JUSTIFY JUSTIFY_MAX_VOID_PERCENT KEYBOARD_LAYOUT
|
||||
\ KEYMAP LEFTARROW_IN_TEXTFIELD_PROMPT LIST_DECODED LIST_FORMAT
|
||||
\ LIST_INLINE LIST_NEWS_DATES LIST_NEWS_NUMBERS LISTONLY LOCAL_DOMAIN
|
||||
\ LOCALE_CHARSET LOCAL_EXECUTION_LINKS_ALWAYS_ON
|
||||
\ LOCAL_EXECUTION_LINKS_ON_BUT_NOT_REMOTE LOCALHOST LOCALHOST_ALIAS
|
||||
\ LYNXCGI_DOCUMENT_ROOT LYNXCGI_ENVIRONMENT LYNX_HOST_NAME LYNX_SIG_FILE
|
||||
\ MAIL_ADRS MAIL_SYSTEM_ERROR_LOGGING MAKE_LINKS_FOR_ALL_IMAGES
|
||||
\ MAKE_PSEUDO_ALTS_FOR_INLINES MAX_COOKIES_BUFFER MAX_COOKIES_DOMAIN
|
||||
\ MAX_COOKIES_GLOBAL MAX_URI_SIZE MESSAGE_LANGUAGE MESSAGESECS
|
||||
\ MINIMAL_COMMENTS MKDIR_PATH MULTI_BOOKMARK_SUPPORT MV_PATH
|
||||
\ NCR_IN_BOOKMARKS NESTED_TABLES NEWS_CHUNK_SIZE NEWS_MAX_CHUNK
|
||||
\ NEWS_POSTING NEWSPOST_PROXY NEWS_PROXY NEWSREPLY_PROXY NNTP_PROXY
|
||||
\ NNTPSERVER NO_DOT_FILES NO_FILE_REFERER NO_FORCED_CORE_DUMP
|
||||
\ NO_FROM_HEADER NO_ISMAP_IF_USEMAP NO_MARGINS NONRESTARTING_SIGWINCH
|
||||
\ NO_PAUSE NO_PROXY NO_REFERER_HEADER NO_TABLE_CENTER NO_TITLE
|
||||
\ NUMBER_FIELDS_ON_LEFT NUMBER_LINKS_ON_LEFT OUTGOING_MAIL_CHARSET
|
||||
\ PARTIAL PARTIAL_THRES PERSISTENT_COOKIES PERSONAL_EXTENSION_MAP
|
||||
\ PERSONAL_MAILCAP PREFERRED_CHARSET PREFERRED_CONTENT_TYPE
|
||||
\ PREFERRED_ENCODING PREFERRED_LANGUAGE PREFERRED_MEDIA_TYPES
|
||||
\ PREPEND_BASE_TO_SOURCE PREPEND_CHARSET_TO_SOURCE PRETTYSRC
|
||||
\ PRETTYSRC_SPEC PRETTYSRC_VIEW_NO_ANCHOR_NUMBERING PRINTER
|
||||
\ QUIT_DEFAULT_YES READ_TIMEOUT REDIRECTION_LIMIT REFERER_WITH_QUERY
|
||||
\ REPLAYSECS REUSE_TEMPFILES RLOGIN_PATH RMDIR_PATH RM_PATH RULE
|
||||
\ RULESFILE SAVE_SPACE SCAN_FOR_BURIED_NEWS_REFS SCREEN_SIZE SCROLLBAR
|
||||
\ SCROLLBAR_ARROW SEEK_FRAG_AREA_IN_CUR SEEK_FRAG_MAP_IN_CUR
|
||||
\ SESSION_FILE SESSION_LIMIT SET_COOKIES SETFONT_PATH SHORT_URL
|
||||
\ SHOW_CURSOR SHOW_KB_NAME SHOW_KB_RATE SNEWSPOST_PROXY SNEWS_PROXY
|
||||
\ SNEWSREPLY_PROXY SOFT_DQUOTES SOURCE_CACHE SOURCE_CACHE_FOR_ABORTED
|
||||
\ SSL_CERT_FILE SSL_CLIENT_CERT_FILE SSL_CLIENT_KEY_FILE STARTFILE
|
||||
\ STATUS_BUFFER_SIZE STRIP_DOTDOT_URLS SUBSTITUTE_UNDERSCORES SUFFIX
|
||||
\ SUFFIX_ORDER SYSLOG_REQUESTED_URLS SYSLOG_TEXT SYSTEM_EDITOR
|
||||
\ SYSTEM_MAIL SYSTEM_MAIL_FLAGS TAGSOUP TAR_PATH TELNET_PATH
|
||||
\ TEXTFIELDS_NEED_ACTIVATION TN3270_PATH TOUCH_PATH TRACK_INTERNAL_LINKS
|
||||
\ TRIM_BLANK_LINES TRIM_INPUT_FIELDS TRUSTED_EXEC TRUSTED_LYNXCGI
|
||||
\ UNCOMPRESS_PATH UNDERLINE_LINKS UNIQUE_URLS UNZIP_PATH
|
||||
\ UPDATE_TERM_TITLE UPLOADER URL_DOMAIN_PREFIXES URL_DOMAIN_SUFFIXES
|
||||
\ USE_FIXED_RECORDS USE_MOUSE USE_SELECT_POPUPS UUDECODE_PATH
|
||||
\ VERBOSE_IMAGES VIEWER VI_KEYS_ALWAYS_ON WAIS_PROXY
|
||||
\ WAIT_VIEWER_TERMINATION WITH_BACKSPACES XHTML_PARSING
|
||||
\ XLOADIMAGE_COMMAND ZCAT_PATH ZIP_PATH
|
||||
\ contained nextgroup=lynxDelimiter
|
||||
|
||||
syn keyword lynxRCOption accept_all_cookies anonftp_password assume_charset
|
||||
\ auto_session bad_html bookmark_file case_sensitive_searching
|
||||
\ character_set collapse_br_tags cookie_accept_domains cookie_file
|
||||
\ cookie_loose_invalid_domains cookie_query_invalid_domains
|
||||
\ cookie_reject_domains cookie_strict_invalid_domain cookie_version
|
||||
\ dir_list_order dir_list_style display emacs_keys file_editor
|
||||
\ file_sorting_method force_cookie_prompt force_ssl_prompt ftp_passive
|
||||
\ html5_charsets http_protocol idna_mode kblayout keypad_mode
|
||||
\ lineedit_mode locale_charset make_links_for_all_images
|
||||
\ make_pseudo_alts_for_inlines multi_bookmark no_pause
|
||||
\ personal_mail_address personal_mail_name preferred_charset
|
||||
\ preferred_content_type preferred_encoding preferred_language
|
||||
\ preferred_media_types raw_mode run_all_execution_links
|
||||
\ run_execution_links_local scrollbar select_popups send_useragent
|
||||
\ session_file set_cookies show_color show_cursor show_dotfiles
|
||||
\ show_kb_rate sub_bookmarks tagsoup trim_blank_lines underline_links
|
||||
\ useragent user_mode verbose_images vi_keys visited_links
|
||||
\ contained nextgroup=lynxDelimiter
|
||||
|
||||
syn case match
|
||||
" }}}
|
||||
|
||||
|
||||
@@ -7,6 +7,8 @@
|
||||
" 2025 Apr 15 by Vim project: rework Make flavor detection (#17089)
|
||||
" 2025 Oct 12 by Vim project: update makeDefine highlighting (#18403)
|
||||
" 2025 Oct 25 by Vim project: update makeTargetinDefine highlighting (#18570)
|
||||
" 2025 Dec 23 by Vim project: fix too greedy match (#18938)
|
||||
" 2025 Dec 23 by Vim project: wrong highlight with paranthesis inside quotes (#18818)
|
||||
|
||||
" quit when a syntax file was already loaded
|
||||
if exists("b:current_syntax")
|
||||
@@ -40,21 +42,21 @@ syn match makeIdent "\$\$\w*"
|
||||
syn match makeIdent "\$\$\$\$\w*" containedin=makeDefine
|
||||
syn match makeIdent "\$[^({]"
|
||||
syn match makeIdent "\$\$[^({]" containedin=makeDefine
|
||||
if get(b:, 'make_flavor', s:make_flavor) == 'microsoft'
|
||||
syn region makeIdent start="\$(" end=")" contains=makeStatement,makeIdent,makeDString,makeSString
|
||||
syn region makeIdent start="\${" end="}" contains=makeStatement,makeIdent,makeDString,makeSString
|
||||
syn region makeIdent start="\$\$(" end=")" containedin=makeDefine contains=makeStatement,makeIdent,makeDString,makeSString
|
||||
syn region makeIdent start="\$\${" end="}" containedin=makeDefine contains=makeStatement,makeIdent,makeDString,makeSString
|
||||
else
|
||||
syn region makeIdent start="\$(" skip="\\)\|\\\\" end=")" contains=makeStatement,makeIdent,makeDString,makeSString
|
||||
syn region makeIdent start="\${" skip="\\}\|\\\\" end="}" contains=makeStatement,makeIdent,makeDString,makeSString
|
||||
syn region makeIdent start="\$\$(" skip="\\)\|\\\\" end=")" containedin=makeDefine contains=makeStatement,makeIdent,makeDString,makeSString
|
||||
syn region makeIdent start="\$\${" skip="\\}\|\\\\" end="}" containedin=makeDefine contains=makeStatement,makeIdent,makeDString,makeSString
|
||||
endif
|
||||
syn match makeIdent "^ *[^:#= \t]*\s*[:+?!*]="me=e-2
|
||||
syn match makeIdent "^ *[^:#= \t]*\s*::="me=e-3
|
||||
syn match makeIdent "^ *[^:#= \t]*\s*="me=e-1
|
||||
syn match makeIdent "%"
|
||||
if get(b:, 'make_flavor', s:make_flavor) == 'microsoft'
|
||||
syn region makeIdent start="\$(" end=")" contains=makeStatement,makeIdent
|
||||
syn region makeIdent start="\${" end="}" contains=makeStatement,makeIdent
|
||||
syn region makeIdent start="\$\$(" end=")" containedin=makeDefine contains=makeStatement,makeIdent
|
||||
syn region makeIdent start="\$\${" end="}" containedin=makeDefine contains=makeStatement,makeIdent
|
||||
else
|
||||
syn region makeIdent start="\$(" skip="\\)\|\\\\" end=")" contains=makeStatement,makeIdent
|
||||
syn region makeIdent start="\${" skip="\\}\|\\\\" end="}" contains=makeStatement,makeIdent
|
||||
syn region makeIdent start="\$\$(" skip="\\)\|\\\\" end=")" containedin=makeDefine contains=makeStatement,makeIdent
|
||||
syn region makeIdent start="\$\${" skip="\\}\|\\\\" end="}" containedin=makeDefine contains=makeStatement,makeIdent
|
||||
endif
|
||||
|
||||
" Makefile.in variables
|
||||
syn match makeConfig "@[A-Za-z0-9_]\+@"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
" Vim syntax file
|
||||
" Language: Mason (Perl embedded in HTML)
|
||||
" Maintainer: vim-perl <vim-perl@googlegroups.com>
|
||||
" Maintainer: vim-perl <vim-perl@googlegroups.com> (need to be subscribed to post)
|
||||
" Homepage: https://github.com/vim-perl/vim-perl
|
||||
" Bugs/requests: https://github.com/vim-perl/vim-perl/issues
|
||||
" License: Vim License (see :help license)
|
||||
|
||||
@@ -4,7 +4,7 @@ vim9script
|
||||
# Language: METAFONT
|
||||
# Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
||||
# Former Maintainers: Andreas Scherer <andreas.scherer@pobox.com>
|
||||
# Latest Revision: 2022 Aug 12
|
||||
# Latest Revision: 2026 Jan 10
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
|
||||
@@ -4,7 +4,7 @@ vim9script
|
||||
# Language: MetaPost
|
||||
# Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
||||
# Former Maintainers: Andreas Scherer <andreas.scherer@pobox.com>
|
||||
# Latest Revision: 2022 Aug 12
|
||||
# Latest Revision: 2026 Jan 10
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
" Vim syntax file
|
||||
" Language: Perl
|
||||
" Maintainer: vim-perl <vim-perl@googlegroups.com>
|
||||
" Maintainer: vim-perl <vim-perl@googlegroups.com> (need to be subscribed to post)
|
||||
" Homepage: https://github.com/vim-perl/vim-perl
|
||||
" Bugs/requests: https://github.com/vim-perl/vim-perl/issues
|
||||
" License: Vim License (see :help license)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
" Vim syntax file
|
||||
" Language: Perl POD format
|
||||
" Maintainer: vim-perl <vim-perl@googlegroups.com>
|
||||
" Maintainer: vim-perl <vim-perl@googlegroups.com> (need to be subscribed to post)
|
||||
" Previously: Scott Bigham <dsb@killerbunnies.org>
|
||||
" Homepage: https://github.com/vim-perl/vim-perl
|
||||
" Bugs/requests: https://github.com/vim-perl/vim-perl/issues
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
" Vim syntax file
|
||||
" Language: Privoxy actions file
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" URL: http://gus.gscit.monash.edu.au/~djkea2/vim/syntax/privoxy.vim
|
||||
" Last Change: 2007 Mar 30
|
||||
" Last Change: 2026 Jan 07
|
||||
|
||||
" Privoxy 3.0.6
|
||||
" Privoxy 4.1.0
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
@@ -13,59 +12,172 @@ endif
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
setlocal iskeyword=@,48-57,_,-
|
||||
syn region privoxyActionsBlock matchgroup=privoxyBraces start="^\s*\zs{" end="}"
|
||||
\ contains=@privoxyActionPrefix,privoxyLineContinuation
|
||||
|
||||
syn keyword privoxyTodo contained TODO FIXME XXX NOTE
|
||||
" Actions {{{
|
||||
let s:actions =<< trim END
|
||||
add-header
|
||||
block
|
||||
change-x-forwarded-for
|
||||
client-header-filter
|
||||
client-body-filter
|
||||
client-body-tagger
|
||||
client-header-tagger
|
||||
content-type-overwrite
|
||||
crunch-client-header
|
||||
crunch-if-none-match
|
||||
crunch-incoming-cookies
|
||||
crunch-outgoing-cookies
|
||||
crunch-server-header
|
||||
deanimate-gifs
|
||||
delay-response
|
||||
downgrade-http-version
|
||||
external-filter
|
||||
fast-redirects
|
||||
filter
|
||||
filter-client-headers
|
||||
filter-server-headers
|
||||
force-text-mode
|
||||
forward-override
|
||||
handle-as-empty-document
|
||||
handle-as-image
|
||||
hide-accept-language
|
||||
hide-content-disposition
|
||||
hide-forwarded-for-headers
|
||||
hide-from-header
|
||||
hide-if-modified-since
|
||||
hide-referrer
|
||||
hide-referer
|
||||
hide-user-agent
|
||||
https-inspection
|
||||
ignore-certificate-errors
|
||||
limit-connect
|
||||
limit-cookie-lifetime
|
||||
prevent-compression
|
||||
prevent-keeping-cookies
|
||||
overwrite-last-modified
|
||||
redirect
|
||||
server-header-filter
|
||||
server-header-tagger
|
||||
suppress-tag
|
||||
session-cookies-only
|
||||
set-image-blocker
|
||||
END
|
||||
|
||||
for s:action in s:actions
|
||||
exe 'syn match privoxyAction "\<' .. s:action .. '\>" contained nextgroup=privoxyParams'
|
||||
endfor
|
||||
unlet s:action s:actions
|
||||
|
||||
syn region privoxyParams matchgroup=privoxyParamBraces start="{" end="}" contained
|
||||
|
||||
syn match privoxyFilterAction "\<filter\>-\@!" contained nextgroup=privoxyFilterParams
|
||||
syn region privoxyFilterParams matchgroup=privoxyParamBraces start="{" end="}" contained contains=privoxyFilterArg
|
||||
|
||||
syn cluster privoxyAction contains=privoxyAction,privoxyFilterAction
|
||||
" }}}
|
||||
|
||||
" Filters {{{
|
||||
let s:filters =<< trim END
|
||||
allow-autocompletion
|
||||
all-popups
|
||||
banners-by-link
|
||||
banners-by-size
|
||||
blogspot
|
||||
bundeswehr
|
||||
content-cookies
|
||||
crude-parental
|
||||
demoronizer
|
||||
frameset-borders
|
||||
fun
|
||||
github
|
||||
google
|
||||
html-annoyances
|
||||
ie-exploits
|
||||
iframes
|
||||
imdb
|
||||
img-reorder
|
||||
js-annoyances
|
||||
js-events
|
||||
jumping-windows
|
||||
msn
|
||||
no-ping
|
||||
quicktime-kioskmode
|
||||
refresh-tags
|
||||
shockwave-flash
|
||||
site-specifics
|
||||
sourceforge
|
||||
tiny-textforms
|
||||
unsolicited-popups
|
||||
webbugs
|
||||
yahoo
|
||||
x-httpd-php-to-html
|
||||
html-to-xml
|
||||
xml-to-html
|
||||
less-download-windows
|
||||
privoxy-control
|
||||
hide-tor-exit-notation
|
||||
no-brotli-accepted
|
||||
privoxy-control
|
||||
remove-first-byte
|
||||
remove-test
|
||||
overwrite-test-value
|
||||
END
|
||||
|
||||
for s:filter in s:filters
|
||||
exe 'syn match privoxyFilterArg "\<' .. s:filter .. '\>" contained"'
|
||||
endfor
|
||||
unlet s:filter s:filters
|
||||
" }}}
|
||||
|
||||
syn match privoxyEnablePrefix "\%(^\|\s\|{\)\@1<=+\l\@=" nextgroup=privoxy.*Action contained
|
||||
syn match privoxyDisablePrefix "\%(^\|\s\|{\)\@1<=-\l\@=" nextgroup=privoxy.*Action contained
|
||||
syn cluster privoxyActionPrefix contains=privoxyDisablePrefix,privoxyEnablePrefix
|
||||
|
||||
syn match privoxySettingsHeader "^\s*\zs{{settings\}}" contains=privoxyBraces nextgroup=privoxySettingsSection skipnl skipwhite
|
||||
syn match privoxyDescriptionHeader "^\s*\zs{{description\}}" contains=privoxyBraces nextgroup=privoxyDescriptionSection skipnl
|
||||
syn match privoxyAliasHeader "^\s*\zs{{alias\}}" contains=privoxyBraces nextgroup=privoxyAliasSection skipnl
|
||||
|
||||
syn region privoxySettingsSection start="." end="^\s*\ze{" contained contains=privoxyComment,privoxySettingName
|
||||
syn region privoxyDescriptionSection start="." end="^\s*\ze{" contained
|
||||
syn region privoxyAliasSection start="." end="^\s*\ze{" contained contains=privoxyComment,privoxyAliasName
|
||||
|
||||
syn match privoxySettingName "\<[a-z][a-z-]*" contained nextgroup=privoxySettingEqual
|
||||
syn match privoxySettingEqual "=" contained nextgroup=privoxySettingValue
|
||||
syn match privoxySettingValue ".*" contained
|
||||
|
||||
syn match privoxyAliasName "[+-]\<[a-z][a-z-]*" contained nextgroup=privoxyAliasEqual skipwhite
|
||||
syn match privoxyAliasEqual "=" contained nextgroup=privoxyAliasValue skipwhite
|
||||
syn region privoxyAliasValue start="\S" skip="\\$" end="$" contained contains=@privoxyAction,@privoxyActionPrefix,privoxyLineContinuation
|
||||
|
||||
syn match privoxyBraces "[{}]" contained
|
||||
syn match privoxyLineContinuation "\\$" contained
|
||||
|
||||
syn keyword privoxyTodo TODO FIXME XXX NOTE contained
|
||||
syn match privoxyComment "#.*" contains=privoxyTodo,@Spell
|
||||
|
||||
syn region privoxyActionLine matchgroup=privoxyActionLineDelimiter start="^\s*\zs{" end="}\ze\s*$"
|
||||
\ contains=privoxyEnabledPrefix,privoxyDisabledPrefix
|
||||
|
||||
syn match privoxyEnabledPrefix "\%(^\|\s\|{\)\@<=+\l\@=" nextgroup=privoxyAction,privoxyFilterAction contained
|
||||
syn match privoxyDisabledPrefix "\%(^\|\s\|{\)\@<=-\l\@=" nextgroup=privoxyAction,privoxyFilterAction contained
|
||||
|
||||
syn match privoxyAction "\%(add-header\|block\|content-type-overwrite\|crunch-client-header\|crunch-if-none-match\)\>" contained
|
||||
syn match privoxyAction "\%(crunch-incoming-cookies\|crunch-outgoing-cookies\|crunch-server-header\|deanimate-gifs\)\>" contained
|
||||
syn match privoxyAction "\%(downgrade-http-version\|fast-redirects\|filter-client-headers\|filter-server-headers\)\>" contained
|
||||
syn match privoxyAction "\%(filter\|force-text-mode\|handle-as-empty-document\|handle-as-image\)\>" contained
|
||||
syn match privoxyAction "\%(hide-accept-language\|hide-content-disposition\|hide-forwarded-for-headers\)\>" contained
|
||||
syn match privoxyAction "\%(hide-from-header\|hide-if-modified-since\|hide-referrer\|hide-user-agent\|inspect-jpegs\)\>" contained
|
||||
syn match privoxyAction "\%(kill-popups\|limit-connect\|overwrite-last-modified\|prevent-compression\|redirect\)\>" contained
|
||||
syn match privoxyAction "\%(send-vanilla-wafer\|send-wafer\|session-cookies-only\|set-image-blocker\)\>" contained
|
||||
syn match privoxyAction "\%(treat-forbidden-connects-like-blocks\)\>"
|
||||
|
||||
syn match privoxyFilterAction "filter{[^}]*}" contained contains=privoxyFilterArg,privoxyActionBraces
|
||||
syn match privoxyActionBraces "[{}]" contained
|
||||
syn keyword privoxyFilterArg js-annoyances js-events html-annoyances content-cookies refresh-tags unsolicited-popups all-popups
|
||||
\ img-reorder banners-by-size banners-by-link webbugs tiny-textforms jumping-windows frameset-borders demoronizer
|
||||
\ shockwave-flash quicktime-kioskmode fun crude-parental ie-exploits site-specifics no-ping google yahoo msn blogspot
|
||||
\ x-httpd-php-to-html html-to-xml xml-to-html hide-tor-exit-notation contained
|
||||
|
||||
" Alternative spellings
|
||||
syn match privoxyAction "\%(kill-popup\|hide-referer\|prevent-keeping-cookies\)\>" contained
|
||||
|
||||
" Pre-3.0 compatibility
|
||||
syn match privoxyAction "\%(no-cookie-read\|no-cookie-set\|prevent-reading-cookies\|prevent-setting-cookies\)\>" contained
|
||||
syn match privoxyAction "\%(downgrade\|hide-forwarded\|hide-from\|image\|image-blocker\|no-compression\)\>" contained
|
||||
syn match privoxyAction "\%(no-cookies-keep\|no-cookies-read\|no-cookies-set\|no-popups\|vanilla-wafer\|wafer\)\>" contained
|
||||
|
||||
syn match privoxySetting "\<for-privoxy-version\>"
|
||||
|
||||
syn match privoxyHeader "^\s*\zs{{\%(alias\|settings\)}}\ze\s*$"
|
||||
|
||||
hi def link privoxyAction Identifier
|
||||
hi def link privoxyFilterAction Identifier
|
||||
hi def link privoxyActionLineDelimiter Delimiter
|
||||
hi def link privoxyDisabledPrefix SpecialChar
|
||||
hi def link privoxyEnabledPrefix SpecialChar
|
||||
hi def link privoxyHeader PreProc
|
||||
hi def link privoxySetting Identifier
|
||||
hi def link privoxyFilterArg Constant
|
||||
|
||||
hi def link privoxyAliasEqual Operator
|
||||
hi def link privoxyAliasHeader Title
|
||||
hi def link privoxyBraces Delimiter
|
||||
hi def link privoxyComment Comment
|
||||
hi def link privoxyDescriptionHeader Title
|
||||
hi def link privoxyDisablePrefix Added
|
||||
hi def link privoxyEnablePrefix Removed
|
||||
hi def link privoxyFilterAction privoxyAction
|
||||
hi def link privoxyFilterArg Constant
|
||||
hi def link privoxyLineContinuation Special
|
||||
hi def link privoxyParamBraces privoxyBraces
|
||||
hi def link privoxySettingEqual Operator
|
||||
hi def link privoxySettingName Keyword
|
||||
hi def link privoxySettingsHeader Title
|
||||
hi def link privoxySettingValue Constant
|
||||
hi def link privoxyTodo Todo
|
||||
|
||||
let b:current_syntax = "privoxy"
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim: ts=8 fdm=marker
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user