Compare commits
325 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3bdef10dc1 | ||
|
|
7381c0ce3f | ||
|
|
1190139ed0 | ||
|
|
2cb4a89797 | ||
|
|
311df6bb0f | ||
|
|
838b746cce | ||
|
|
4569020538 | ||
|
|
ee09fcc9b6 | ||
|
|
b7e07dc103 | ||
|
|
4d2073b261 | ||
|
|
9882e9ddc9 | ||
|
|
124af71a28 | ||
|
|
6a879878f4 | ||
|
|
dc21552c9a | ||
|
|
b9725bc7f6 | ||
|
|
ec1238b406 | ||
|
|
d4566c14e7 | ||
|
|
1d61408af3 | ||
|
|
0ff01835a4 | ||
|
|
865bf2ed30 | ||
|
|
96b9bf8f74 | ||
|
|
b2209f213e | ||
|
|
78aed95c8d | ||
|
|
140f6d0eda | ||
|
|
81fd3b2b44 | ||
|
|
75f4bafabd | ||
|
|
f7e7302acb | ||
|
|
d3eafdd709 | ||
|
|
5939c35743 | ||
|
|
e9dcf13a30 | ||
|
|
87af60c915 | ||
|
|
9fd1583c83 | ||
|
|
dfa8be4944 | ||
|
|
0056ca7137 | ||
|
|
a9b0f8f7f3 | ||
|
|
35fdd9a67d | ||
|
|
3bcd0ddc2d | ||
|
|
b9093d5009 | ||
|
|
4ecf16bbf9 | ||
|
|
7f9a5a68fe | ||
|
|
259a741044 | ||
|
|
86fb3f8b99 | ||
|
|
20e58561ab | ||
|
|
f8addf1ca1 | ||
|
|
f5f4e85f01 | ||
|
|
69082916c8 | ||
|
|
f87eeb43fb | ||
|
|
62de54b48d | ||
|
|
5800c79838 | ||
|
|
f1c60d4bf1 | ||
|
|
6d313bec53 | ||
|
|
236ccbf6f8 | ||
|
|
daaa3d9965 | ||
|
|
fcba86c031 | ||
|
|
e24b5e0b0f | ||
|
|
f1d2ddcb9b | ||
|
|
ee7c8d999b | ||
|
|
6f98114e4a | ||
|
|
21d393a12b | ||
|
|
5c645a25bb | ||
|
|
4740394f23 | ||
|
|
6a434e93a9 | ||
|
|
e8e369a796 | ||
|
|
ec5e1483eb | ||
|
|
e49f9acecc | ||
|
|
14f91765c0 | ||
|
|
c20a41972c | ||
|
|
8ecfa2c56b | ||
|
|
8eaee1fa5c | ||
|
|
c3430cb583 | ||
|
|
2b1ddf19f8 | ||
|
|
f7c7aa3594 | ||
|
|
5917341f65 | ||
|
|
4cbdcbda2d | ||
|
|
2d2e25b3e3 | ||
|
|
f64b75b1d9 | ||
|
|
31724238c8 | ||
|
|
848db57e52 | ||
|
|
d7657e95b2 | ||
|
|
b84d565c62 | ||
|
|
320d910064 | ||
|
|
ccfaa07591 | ||
|
|
2fdc9b5419 | ||
|
|
a22c56a59a | ||
|
|
9781d9c005 | ||
|
|
c14bfc31d9 | ||
|
|
bdedd2bcce | ||
|
|
7c046ae99b | ||
|
|
500a1f9972 | ||
|
|
cd9fa256b5 | ||
|
|
bcd6924245 | ||
|
|
a2b91036d1 | ||
|
|
faf1d412f5 | ||
|
|
c9e4a6f191 | ||
|
|
65449bd1ee | ||
|
|
cc34181f99 | ||
|
|
18ee0feb5d | ||
|
|
b2f0ca820e | ||
|
|
566badc76b | ||
|
|
747f110420 | ||
|
|
9712ff1288 | ||
|
|
65ee49decf | ||
|
|
27b53be3a6 | ||
|
|
dbbb02bc77 | ||
|
|
96caa557f9 | ||
|
|
1e8009e34a | ||
|
|
312af65d1a | ||
|
|
73e28dcc61 | ||
|
|
1c3dd8ddcb | ||
|
|
fb593c5350 | ||
|
|
4c7fd4d68f | ||
|
|
acd6b9976b | ||
|
|
d5bc762dea | ||
|
|
0cdfb7ce46 | ||
|
|
8abb584ab8 | ||
|
|
c249913edc | ||
|
|
e24b4aba1f | ||
|
|
8fa745e7be | ||
|
|
abd58d8aee | ||
|
|
1aea184a0d | ||
|
|
594f9e09cd | ||
|
|
3e8b7a6056 | ||
|
|
48db5dafec | ||
|
|
dd674774bb | ||
|
|
dd44b58f64 | ||
|
|
aa5341477c | ||
|
|
a4abe514ec | ||
|
|
12167d8b84 | ||
|
|
b46c083a5e | ||
|
|
3735f11050 | ||
|
|
aeef1f7f6d | ||
|
|
d3922afbd6 | ||
|
|
ebd0e8bb85 | ||
|
|
e697d48890 | ||
|
|
702bd6c7c6 | ||
|
|
febe13892e | ||
|
|
98b373075e | ||
|
|
470a14140b | ||
|
|
766ae5b252 | ||
|
|
353b68a991 | ||
|
|
3b93cf218f | ||
|
|
a04f457a6c | ||
|
|
b1842de5ca | ||
|
|
5ed391708a | ||
|
|
810cb5a3bf | ||
|
|
83a19c5fda | ||
|
|
6eda17d881 | ||
|
|
c9dc03fff5 | ||
|
|
7b2d87220c | ||
|
|
cd2d5c181a | ||
|
|
cdc839353f | ||
|
|
5a4eb55122 | ||
|
|
cf0995d7d7 | ||
|
|
87e74d0e03 | ||
|
|
29ab524358 | ||
|
|
9510d22463 | ||
|
|
cce82a55b8 | ||
|
|
79f8b8494c | ||
|
|
c069edeab2 | ||
|
|
f5fec05c7f | ||
|
|
88b79cb7d4 | ||
|
|
04e0ed1ddf | ||
|
|
55e9366e32 | ||
|
|
71b6d33976 | ||
|
|
2da11a4124 | ||
|
|
f21d546d8f | ||
|
|
9ba2786f15 | ||
|
|
12553ada3b | ||
|
|
6de2296e5e | ||
|
|
7cf5839287 | ||
|
|
375141e1f8 | ||
|
|
0adae2da17 | ||
|
|
be9fc5b60c | ||
|
|
8995c4cd4e | ||
|
|
65258d36dd | ||
|
|
ae04a6049b | ||
|
|
7d56cfc861 | ||
|
|
9132426334 | ||
|
|
0dc2fd307f | ||
|
|
5bc13453b2 | ||
|
|
c572ad508f | ||
|
|
169003289f | ||
|
|
45bbaef038 | ||
|
|
2a4c885d54 | ||
|
|
58a3cae3eb | ||
|
|
0500e87eba | ||
|
|
753aead960 | ||
|
|
b0d12e63e8 | ||
|
|
e5a420fb33 | ||
|
|
6f14da15ac | ||
|
|
d7633114af | ||
|
|
7c7e1e9b98 | ||
|
|
fef38d86a1 | ||
|
|
75a115e8d6 | ||
|
|
9667b2c888 | ||
|
|
c9c967da09 | ||
|
|
1540d334a0 | ||
|
|
fd7e60a33d | ||
|
|
bb6c4073e7 | ||
|
|
bd01f476ea | ||
|
|
e68f1348f2 | ||
|
|
98aff658d5 | ||
|
|
ca16c60f33 | ||
|
|
58779858fb | ||
|
|
2834ebdee4 | ||
|
|
635bb49085 | ||
|
|
5903aaf7eb | ||
|
|
a9480dbc8c | ||
|
|
e53a0d4409 | ||
|
|
3411265a36 | ||
|
|
86d87256c4 | ||
|
|
ccfde4d028 | ||
|
|
8894761daf | ||
|
|
ddf7dba96e | ||
|
|
b1f471ee20 | ||
|
|
c47b16a470 | ||
|
|
c7d2ff2ca0 | ||
|
|
963ab26842 | ||
|
|
31ea6bf530 | ||
|
|
b40ad4ff14 | ||
|
|
e1f3ab73bc | ||
|
|
8f7116cadd | ||
|
|
fed6bdae6f | ||
|
|
0daafaa7d9 | ||
|
|
806a273f3c | ||
|
|
c1eb131c9e | ||
|
|
eb5adf19d1 | ||
|
|
6b085b9d73 | ||
|
|
c8ac3a072f | ||
|
|
3c7707680f | ||
|
|
a5348f241b | ||
|
|
5fbbec180b | ||
|
|
06fef1b2bd | ||
|
|
1d84f7608f | ||
|
|
06d32a0c17 | ||
|
|
89083466fa | ||
|
|
0a6bb59f6b | ||
|
|
6ac69ed9a2 | ||
|
|
91a874eb88 | ||
|
|
c99e182e1f | ||
|
|
b18b496997 | ||
|
|
f5724376ab | ||
|
|
956be4678f | ||
|
|
35d21c6830 | ||
|
|
8deb2b30c7 | ||
|
|
119167265e | ||
|
|
cf2bb63397 | ||
|
|
a02a8a4d84 | ||
|
|
6c667bdc94 | ||
|
|
a906e8e1ab | ||
|
|
68a635a80a | ||
|
|
3b474dcd30 | ||
|
|
b5b4f61cf1 | ||
|
|
7d7ad7b2e8 | ||
|
|
be807d5824 | ||
|
|
36eb14fa3e | ||
|
|
df5320c439 | ||
|
|
d3de178e53 | ||
|
|
d83392a43a | ||
|
|
e42c8dae32 | ||
|
|
5d09a401ec | ||
|
|
21c3a80a7f | ||
|
|
92a3d20682 | ||
|
|
a2a8973e51 | ||
|
|
a63ad78ed3 | ||
|
|
9ba6194d4c | ||
|
|
b22653a98e | ||
|
|
61abe7d8f8 | ||
|
|
9b03d3e75b | ||
|
|
04c4c5746e | ||
|
|
f240395fca | ||
|
|
171a1607f4 | ||
|
|
9c8f94636b | ||
|
|
3e518a8ec7 | ||
|
|
f92cfb1acc | ||
|
|
24735f2a19 | ||
|
|
e27d6e6382 | ||
|
|
976f859763 | ||
|
|
0e412be00f | ||
|
|
816736bcc7 | ||
|
|
15cae5c9ca | ||
|
|
3b0d70f4ff | ||
|
|
4f1b083be4 | ||
|
|
37fef16c22 | ||
|
|
54acb90d9e | ||
|
|
d5c8f11905 | ||
|
|
13608d851a | ||
|
|
b13d3405ff | ||
|
|
f73e5ba56f | ||
|
|
309c4e0ed7 | ||
|
|
bf26941f40 | ||
|
|
e7cda97b6b | ||
|
|
98d1069a9c | ||
|
|
926218b5da | ||
|
|
b849c82851 | ||
|
|
7a99da43d1 | ||
|
|
33a5dd8b23 | ||
|
|
134b86553c | ||
|
|
f2fb54f641 | ||
|
|
533c306921 | ||
|
|
670ab0334b | ||
|
|
2f892d8663 | ||
|
|
75e9a6693e | ||
|
|
878e1d25a0 | ||
|
|
a85e4db978 | ||
|
|
25f1e55562 | ||
|
|
8934ec027d | ||
|
|
c8bf59e9b2 | ||
|
|
35a4fbc5d0 | ||
|
|
00d4ceecca | ||
|
|
43568648df | ||
|
|
b0509c542e | ||
|
|
d1f8fd5907 | ||
|
|
efdfb0c5ee | ||
|
|
d54af2e550 | ||
|
|
beedd0a266 | ||
|
|
9198de3ae2 | ||
|
|
aebc6ef7cd | ||
|
|
6d24a51b94 | ||
|
|
07ea5f1509 | ||
|
|
5ff595d9db | ||
|
|
af9a6002e0 | ||
|
|
0f61838636 | ||
|
|
58dcbf1c65 | ||
|
|
7dd543246a |
@@ -15,9 +15,8 @@ matrix:
|
||||
fast_finish: true
|
||||
|
||||
before_build:
|
||||
# Use Windows SDK 7.1 (= MSVC 2010)
|
||||
- '"C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64 /release'
|
||||
- 'set INCLUDE=%INCLUDE%C:\Program Files (x86)\Windows Kits\8.1\Include\um'
|
||||
# Use Visual Studio 2015 compiler tools (default is 2012)
|
||||
- '"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86_amd64'
|
||||
|
||||
build_script:
|
||||
- ci/appveyor.bat
|
||||
@@ -26,9 +25,9 @@ test_script:
|
||||
- cd src/testdir
|
||||
# Testing with MSVC gvim
|
||||
- path C:\Python35-x64;%PATH%
|
||||
- nmake -f Make_dos.mak VIMPROG=..\gvim
|
||||
- nmake -f Make_dos.mak clean
|
||||
- nmake -f Make_mvc.mak VIMPROG=..\gvim
|
||||
- nmake -f Make_mvc.mak clean
|
||||
# Testing with MSVC console version
|
||||
- nmake -f Make_dos.mak VIMPROG=..\vim
|
||||
- nmake -f Make_mvc.mak VIMPROG=..\vim
|
||||
|
||||
# vim: sw=2 sts=2 et ts=8 sr
|
||||
|
||||
18
.cirrus.yml
18
.cirrus.yml
@@ -11,7 +11,6 @@ freebsd_task:
|
||||
- name: FreeBSD 12.3
|
||||
freebsd_instance:
|
||||
image_family: freebsd-12-3
|
||||
only_if: $CIRRUS_TAG == ''
|
||||
timeout_in: 20m
|
||||
install_script:
|
||||
- pkg update -f
|
||||
@@ -26,3 +25,20 @@ freebsd_task:
|
||||
- pw useradd cirrus -m
|
||||
- chown -R cirrus:cirrus .
|
||||
- sudo -u cirrus make test
|
||||
|
||||
macos_task:
|
||||
name: macOS m1
|
||||
macos_instance:
|
||||
image: ghcr.io/cirruslabs/macos-ventura-xcode:latest
|
||||
timeout_in: 20m
|
||||
install_script:
|
||||
- uname -a
|
||||
- brew update
|
||||
- brew install gettext libtool
|
||||
build_script:
|
||||
- NPROC=$(getconf _NPROCESSORS_ONLN)
|
||||
- ./configure --with-features=${FEATURES}
|
||||
- make -j${NPROC} CC=clang
|
||||
test_script:
|
||||
- src/vim --version
|
||||
- make CC=clang test
|
||||
|
||||
31
.github/CODEOWNERS
vendored
31
.github/CODEOWNERS
vendored
@@ -69,6 +69,10 @@ runtime/compiler/perlcritic.vim @petdance @dkearns
|
||||
runtime/compiler/php.vim @dkearns
|
||||
runtime/compiler/podchecker.vim @petdance @dkearns
|
||||
runtime/compiler/powershell.vim @heaths
|
||||
runtime/compiler/raco.vim @benknoble
|
||||
runtime/compiler/racomake.vim @benknoble
|
||||
runtime/compiler/racosetup.vim @benknoble
|
||||
runtime/compiler/racotest.vim @benknoble
|
||||
runtime/compiler/rake.vim @tpope @dkearns
|
||||
runtime/compiler/rhino.vim @dkearns
|
||||
runtime/compiler/rspec.vim @tpope @dkearns
|
||||
@@ -111,6 +115,7 @@ runtime/ftplugin/cucumber.vim @tpope
|
||||
runtime/ftplugin/desktop.vim @e-kwsm
|
||||
runtime/ftplugin/dosbatch.vim @mrdubya
|
||||
runtime/ftplugin/eiffel.vim @dkearns
|
||||
runtime/ftplugin/elixir.vim @mhanberg
|
||||
runtime/ftplugin/expect.vim @dkearns
|
||||
runtime/ftplugin/erlang.vim @hcs42
|
||||
runtime/ftplugin/eruby.vim @tpope @dkearns
|
||||
@@ -120,9 +125,13 @@ runtime/ftplugin/fpcmake.vim @dkearns
|
||||
runtime/ftplugin/freebasic.vim @dkearns
|
||||
runtime/ftplugin/fstab.vim @rid9
|
||||
runtime/ftplugin/gdb.vim @xeyownt
|
||||
runtime/ftplugin/gdscript.vim @habamax
|
||||
runtime/ftplugin/gdshader.vim @habamax
|
||||
runtime/ftplugin/git.vim @tpope
|
||||
runtime/ftplugin/gitattributes.vim @ObserverOfTime
|
||||
runtime/ftplugin/gitcommit.vim @tpope
|
||||
runtime/ftplugin/gitconfig.vim @tpope
|
||||
runtime/ftplugin/gitignore.vim @ObserverOfTime
|
||||
runtime/ftplugin/gitrebase.vim @tpope
|
||||
runtime/ftplugin/gitsendemail.vim @tpope
|
||||
runtime/ftplugin/go.vim @dbarnett
|
||||
@@ -133,6 +142,7 @@ runtime/ftplugin/html.vim @dkearns
|
||||
runtime/ftplugin/i3config.vim @hiqua
|
||||
runtime/ftplugin/icon.vim @dkearns
|
||||
runtime/ftplugin/indent.vim @dkearns
|
||||
runtime/ftplugin/j.vim @glts
|
||||
runtime/ftplugin/javascript.vim @dkearns
|
||||
runtime/ftplugin/javascriptreact.vim @dkearns
|
||||
runtime/ftplugin/jsonc.vim @izhakjakov
|
||||
@@ -141,6 +151,7 @@ runtime/ftplugin/kconfig.vim @chrisbra
|
||||
runtime/ftplugin/less.vim @genoma
|
||||
runtime/ftplugin/liquid.vim @tpope
|
||||
runtime/ftplugin/lua.vim @dkearns
|
||||
runtime/ftplugin/lynx.vim @dkearns
|
||||
runtime/ftplugin/m3build.vim @dkearns
|
||||
runtime/ftplugin/m3quake.vim @dkearns
|
||||
runtime/ftplugin/markdown.vim @tpope
|
||||
@@ -162,6 +173,7 @@ runtime/ftplugin/ps1xml.vim @heaths
|
||||
runtime/ftplugin/python.vim @tpict
|
||||
runtime/ftplugin/qb64.vim @dkearns
|
||||
runtime/ftplugin/r.vim @jalvesaq
|
||||
runtime/ftplugin/racket.vim @benknoble
|
||||
runtime/ftplugin/rhelp.vim @jalvesaq
|
||||
runtime/ftplugin/rmd.vim @jalvesaq
|
||||
runtime/ftplugin/rnoweb.vim @jalvesaq
|
||||
@@ -173,6 +185,7 @@ runtime/ftplugin/sass.vim @tpope
|
||||
runtime/ftplugin/scala.vim @derekwyatt
|
||||
runtime/ftplugin/scss.vim @tpope
|
||||
runtime/ftplugin/sdoc.vim @gpanders
|
||||
runtime/ftplugin/sh.vim @dkearns
|
||||
runtime/ftplugin/solution.vim @dkearns
|
||||
runtime/ftplugin/spec.vim @ignatenkobrain
|
||||
runtime/ftplugin/swayconfig.vim @jamespeapen
|
||||
@@ -185,6 +198,7 @@ runtime/ftplugin/toml.vim @averms
|
||||
runtime/ftplugin/tt2html.vim @petdance
|
||||
runtime/ftplugin/typescript.vim @dkearns
|
||||
runtime/ftplugin/typescriptreact.vim @dkearns
|
||||
runtime/ftplugin/vdf.vim @ObserverOfTime
|
||||
runtime/ftplugin/wast.vim @rhysd
|
||||
runtime/ftplugin/wget.vim @dkearns
|
||||
runtime/ftplugin/wget2.vim @dkearns
|
||||
@@ -211,11 +225,13 @@ runtime/indent/eterm.vim @dkearns
|
||||
runtime/indent/falcon.vim @steveno
|
||||
runtime/indent/framescript.vim @dkearns
|
||||
runtime/indent/freebasic.vim @dkearns
|
||||
runtime/indent/gdscript.vim @habamax
|
||||
runtime/indent/gitconfig.vim @tpope
|
||||
runtime/indent/gitolite.vim @sitaramc
|
||||
runtime/indent/go.vim @dbarnett
|
||||
runtime/indent/haml.vim @tpope
|
||||
runtime/indent/idlang.vim @dkearns
|
||||
runtime/indent/j.vim @glts
|
||||
runtime/indent/java.vim @xuhdev
|
||||
runtime/indent/javascript.vim @bounceme
|
||||
runtime/indent/json.vim @elzr
|
||||
@@ -237,6 +253,7 @@ runtime/indent/prolog.vim @dkearns
|
||||
runtime/indent/ps1.vim @heaths
|
||||
runtime/indent/qb64.vim @dkearns
|
||||
runtime/indent/r.vim @jalvesaq
|
||||
runtime/indent/racket.vim @benknoble
|
||||
runtime/indent/readline.vim @dkearns
|
||||
runtime/indent/rhelp.vim @jalvesaq
|
||||
runtime/indent/rmd.vim @jalvesaq
|
||||
@@ -314,9 +331,14 @@ runtime/syntax/forth.vim @jkotlinski
|
||||
runtime/syntax/fpcmake.vim @dkearns
|
||||
runtime/syntax/freebasic.vim @dkearns
|
||||
runtime/syntax/fstab.vim @rid9
|
||||
runtime/syntax/gdresource.vim @habamax
|
||||
runtime/syntax/gdscript.vim @habamax
|
||||
runtime/syntax/gdshader.vim @habamax
|
||||
runtime/syntax/git.vim @tpope
|
||||
runtime/syntax/gitattributes.vim @ObserverOfTime
|
||||
runtime/syntax/gitcommit.vim @tpope
|
||||
runtime/syntax/gitconfig.vim @tpope
|
||||
runtime/syntax/gitignore.vim @ObserverOfTime
|
||||
runtime/syntax/gitolite.vim @sitaramc
|
||||
runtime/syntax/gitrebase.vim @tpope
|
||||
runtime/syntax/go.vim @bhcleek
|
||||
@@ -326,10 +348,11 @@ runtime/syntax/groff.vim @jmarshall
|
||||
runtime/syntax/haml.vim @tpope
|
||||
runtime/syntax/haskell.vim @coot
|
||||
runtime/syntax/hgcommit.vim @k-takata
|
||||
runtime/syntax/html.vim @dkearns
|
||||
runtime/syntax/html.vim @dkearns
|
||||
runtime/syntax/i3config.vim @hiqua
|
||||
runtime/syntax/icon.vim @dkearns
|
||||
runtime/syntax/indent.vim @dkearns
|
||||
runtime/syntax/j.vim @glts
|
||||
runtime/syntax/jargon.vim @h3xx
|
||||
runtime/syntax/java.vim @fleiner
|
||||
runtime/syntax/jsonc.vim @izhakjakov
|
||||
@@ -339,6 +362,7 @@ runtime/syntax/less.vim @genoma
|
||||
runtime/syntax/lex.vim @cecamp
|
||||
runtime/syntax/liquid.vim @tpope
|
||||
runtime/syntax/lisp.vim @cecamp
|
||||
runtime/syntax/lyrics.vim @ObserverOfTime
|
||||
runtime/syntax/lynx.vim @dkearns
|
||||
runtime/syntax/m3build.vim @dkearns
|
||||
runtime/syntax/m3quake.vim @dkearns
|
||||
@@ -371,6 +395,7 @@ runtime/syntax/ps1xml.vim @heaths
|
||||
runtime/syntax/psl.vim @danielkho
|
||||
runtime/syntax/qb64.vim @dkearns
|
||||
runtime/syntax/r.vim @jalvesaq
|
||||
runtime/syntax/racket.vim @benknoble
|
||||
runtime/syntax/raml.vim @in3d
|
||||
runtime/syntax/ratpoison.vim @trapd00r
|
||||
runtime/syntax/rc.vim @chrisbra
|
||||
@@ -392,13 +417,14 @@ runtime/syntax/sdoc.vim @gpanders
|
||||
runtime/syntax/sh.vim @cecamp
|
||||
runtime/syntax/sm.vim @cecamp
|
||||
runtime/syntax/spec.vim @ignatenkobrain
|
||||
runtime/syntax/srt.vim @ObserverOfTime
|
||||
runtime/syntax/sqloracle.vim @chrisbra
|
||||
runtime/syntax/squirrel.vim @zenmatic
|
||||
runtime/syntax/sshconfig.vim @Jakuje
|
||||
runtime/syntax/sshdconfig.vim @Jakuje
|
||||
runtime/syntax/sudoers.vim @e-kwsm
|
||||
runtime/syntax/svn.vim @hdima
|
||||
runtime/syntax/swayconfig.vim @jamespeapen
|
||||
runtime/syntax/swayconfig.vim @jamespeapen
|
||||
runtime/syntax/systemverilog.vim @Kocha
|
||||
runtime/syntax/tags.vim @cecamp
|
||||
runtime/syntax/tap.vim @petdance
|
||||
@@ -414,6 +440,7 @@ runtime/syntax/tt2js.vim @petdance
|
||||
runtime/syntax/typescript.vim @HerringtonDarkholme
|
||||
runtime/syntax/typescriptcommon.vim @HerringtonDarkholme
|
||||
runtime/syntax/typescriptreact.vim @HerringtonDarkholme
|
||||
runtime/syntax/vdf.vim @ObserverOfTime
|
||||
runtime/syntax/vim.vim @cecamp
|
||||
runtime/syntax/vroom.vim @dbarnett
|
||||
runtime/syntax/wast.vim @rhysd
|
||||
|
||||
6
.github/dependabot.yml
vendored
Normal file
6
.github/dependabot.yml
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
version: 2
|
||||
updates:
|
||||
- package-ecosystem: "github-actions"
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: "weekly"
|
||||
215
.github/workflows/ci.yml
vendored
215
.github/workflows/ci.yml
vendored
@@ -12,6 +12,9 @@ concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.head_ref || github.sha }}
|
||||
cancel-in-progress: true
|
||||
|
||||
permissions:
|
||||
contents: read # to fetch code (actions/checkout)
|
||||
|
||||
jobs:
|
||||
linux:
|
||||
runs-on: ubuntu-20.04
|
||||
@@ -21,7 +24,7 @@ jobs:
|
||||
TEST: test
|
||||
SRCDIR: ./src
|
||||
LEAK_CFLAGS: -DEXITFREE
|
||||
CFLAGS: -Wno-error=deprecated-declarations
|
||||
CFLAGS: -Wno-deprecated-declarations
|
||||
LOG_DIR: ${{ github.workspace }}/logs
|
||||
TERM: xterm
|
||||
DISPLAY: ':99'
|
||||
@@ -98,17 +101,17 @@ jobs:
|
||||
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 100
|
||||
sudo update-alternatives --set gcc /usr/bin/gcc-11
|
||||
|
||||
- name: Install clang-14
|
||||
- name: Install clang-15
|
||||
if: matrix.compiler == 'clang'
|
||||
run: |
|
||||
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
|
||||
. /etc/lsb-release
|
||||
sudo add-apt-repository -y "deb http://apt.llvm.org/${DISTRIB_CODENAME}/ llvm-toolchain-${DISTRIB_CODENAME}-14 main"
|
||||
sudo apt install -y clang-14 llvm-14
|
||||
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-14 100
|
||||
sudo update-alternatives --set clang /usr/bin/clang-14
|
||||
sudo update-alternatives --install /usr/bin/llvm-cov llvm-cov /usr/bin/llvm-cov-14 100
|
||||
sudo update-alternatives --install /usr/bin/asan_symbolize asan_symbolize /usr/bin/asan_symbolize-14 100
|
||||
sudo add-apt-repository -y "deb http://apt.llvm.org/${DISTRIB_CODENAME}/ llvm-toolchain-${DISTRIB_CODENAME}-15 main"
|
||||
sudo apt install -y clang-15 llvm-15
|
||||
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-15 100
|
||||
sudo update-alternatives --set clang /usr/bin/clang-15
|
||||
sudo update-alternatives --install /usr/bin/llvm-cov llvm-cov /usr/bin/llvm-cov-15 100
|
||||
sudo update-alternatives --install /usr/bin/asan_symbolize asan_symbolize /usr/bin/asan_symbolize-15 100
|
||||
|
||||
- name: Set up environment
|
||||
run: |
|
||||
@@ -250,7 +253,7 @@ jobs:
|
||||
|
||||
- name: Codecov
|
||||
if: matrix.coverage
|
||||
uses: codecov/codecov-action@v3.1.0
|
||||
uses: codecov/codecov-action@v3.1.1
|
||||
with:
|
||||
flags: linux,${{ matrix.features }}-${{ matrix.compiler }}-${{ matrix.extra }}
|
||||
|
||||
@@ -382,35 +385,15 @@ jobs:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
toolchain: [msvc, mingw]
|
||||
arch: [x64, x86]
|
||||
features: [HUGE, NORMAL]
|
||||
include:
|
||||
- arch: x64
|
||||
vcarch: amd64
|
||||
warch: x64
|
||||
bits: 64
|
||||
msystem: MINGW64
|
||||
cygreg: registry
|
||||
pyreg: ""
|
||||
- arch: x86
|
||||
vcarch: x86
|
||||
warch: ia32
|
||||
bits: 32
|
||||
msystem: MINGW32
|
||||
cygreg: registry32
|
||||
pyreg: "-32"
|
||||
- toolchain: mingw
|
||||
arch: x64
|
||||
features: HUGE
|
||||
coverage: yes
|
||||
exclude:
|
||||
- toolchain: msvc
|
||||
arch: x64
|
||||
features: NORMAL
|
||||
- toolchain: mingw
|
||||
arch: x86
|
||||
features: NORMAL
|
||||
- { features: HUGE, toolchain: msvc, VIMDLL: no, GUI: no, arch: x64 }
|
||||
- { features: HUGE, toolchain: mingw, VIMDLL: yes, GUI: yes, arch: x86, 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: 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 }
|
||||
- { features: TINY, toolchain: mingw, VIMDLL: no, GUI: no, arch: x86 }
|
||||
|
||||
steps:
|
||||
- name: Initialize
|
||||
@@ -418,13 +401,32 @@ jobs:
|
||||
shell: bash
|
||||
run: |
|
||||
git config --global core.autocrlf input
|
||||
echo "VCVARSALL=$(vswhere -products \* -latest -property installationPath)\\VC\\Auxiliary\\Build\\vcvarsall.bat" >> $GITHUB_ENV
|
||||
if [ "${{ matrix.arch }}" = "x86" ]; then
|
||||
choco install python2 --forcex86
|
||||
|
||||
if [ "${{ matrix.arch }}" = "x64" ]; then
|
||||
cygreg=registry
|
||||
pyreg=
|
||||
echo "VCARCH=amd64" >> $GITHUB_ENV
|
||||
echo "WARCH=x64" >> $GITHUB_ENV
|
||||
echo "BITS=64" >> $GITHUB_ENV
|
||||
echo "MSYSTEM=MINGW64" >> $GITHUB_ENV
|
||||
else
|
||||
choco install python2
|
||||
cygreg=registry32
|
||||
pyreg=-32
|
||||
echo "VCARCH=x86" >> $GITHUB_ENV
|
||||
echo "WARCH=ia32" >> $GITHUB_ENV
|
||||
echo "BITS=32" >> $GITHUB_ENV
|
||||
echo "MSYSTEM=MINGW32" >> $GITHUB_ENV
|
||||
fi
|
||||
python3_dir=$(cat "/proc/${{ matrix.cygreg }}/HKEY_LOCAL_MACHINE/SOFTWARE/Python/PythonCore/${PYTHON3_VER_DOT}${{ matrix.pyreg }}/InstallPath/@")
|
||||
|
||||
echo "VCVARSALL=$(vswhere -products \* -latest -property installationPath)\\VC\\Auxiliary\\Build\\vcvarsall.bat" >> $GITHUB_ENV
|
||||
if [ "${{ matrix.features }}" != "TINY" ]; then
|
||||
if [ "${{ matrix.arch }}" = "x86" ]; then
|
||||
choco install python2 --forcex86
|
||||
else
|
||||
choco install python2
|
||||
fi
|
||||
fi
|
||||
python3_dir=$(cat "/proc/$cygreg/HKEY_LOCAL_MACHINE/SOFTWARE/Python/PythonCore/${PYTHON3_VER_DOT}$pyreg/InstallPath/@")
|
||||
echo "PYTHON3_DIR=$python3_dir" >> $GITHUB_ENV
|
||||
|
||||
- uses: msys2/setup-msys2@v2
|
||||
@@ -434,7 +436,7 @@ jobs:
|
||||
install: tar
|
||||
pacboy: >-
|
||||
make:p gcc:p
|
||||
msystem: ${{ matrix.msystem }}
|
||||
msystem: ${{ env.MSYSTEM }}
|
||||
release: false
|
||||
|
||||
- name: Checkout repository from github
|
||||
@@ -451,7 +453,7 @@ jobs:
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: downloads
|
||||
key: ${{ runner.os }}-${{ matrix.bits }}-${{ hashFiles('urls.txt') }}
|
||||
key: ${{ runner.os }}-${{ matrix.arch }}-${{ hashFiles('urls.txt') }}
|
||||
|
||||
- name: Download dependencies
|
||||
shell: cmd
|
||||
@@ -460,14 +462,14 @@ jobs:
|
||||
if not exist downloads mkdir downloads
|
||||
|
||||
echo %COL_GREEN%Download Lua%COL_RESET%
|
||||
call :downloadfile %LUA${{ matrix.bits }}_URL% downloads\lua.zip
|
||||
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\${{ matrix.warch }}\bin\winpty.dll src\winpty${{ matrix.bits }}.dll
|
||||
copy /Y D:\winpty\${{ matrix.warch }}\bin\winpty-agent.exe src\
|
||||
copy /Y D:\winpty\%WARCH%\bin\winpty.dll src\winpty%BITS%.dll
|
||||
copy /Y D:\winpty\%WARCH%\bin\winpty-agent.exe src\
|
||||
|
||||
goto :eof
|
||||
|
||||
@@ -482,31 +484,28 @@ jobs:
|
||||
)
|
||||
goto :eof
|
||||
|
||||
- name: Copy src directory to src2
|
||||
shell: cmd
|
||||
run: xcopy src src2\ /E > nul
|
||||
|
||||
- name: Build (MSVC)
|
||||
if: matrix.toolchain == 'msvc'
|
||||
shell: cmd
|
||||
run: |
|
||||
call "%VCVARSALL%" ${{ matrix.vcarch }}
|
||||
call "%VCVARSALL%" %VCARCH%
|
||||
cd src
|
||||
if "${{ matrix.VIMDLL }}"=="yes" (
|
||||
set GUI=yes
|
||||
) else (
|
||||
set GUI=${{ matrix.GUI }}
|
||||
)
|
||||
if "${{ matrix.features }}"=="HUGE" (
|
||||
nmake -nologo -f Make_mvc.mak ^
|
||||
FEATURES=${{ matrix.features }} ^
|
||||
GUI=yes IME=yes ICONV=yes VIMDLL=yes ^
|
||||
GUI=%GUI% IME=yes ICONV=yes VIMDLL=${{ matrix.VIMDLL }} ^
|
||||
DYNAMIC_LUA=yes LUA=%LUA_DIR% ^
|
||||
DYNAMIC_PYTHON=yes PYTHON=%PYTHON_DIR% ^
|
||||
DYNAMIC_PYTHON3=yes PYTHON3=%PYTHON3_DIR%
|
||||
) else (
|
||||
nmake -nologo -f Make_mvc.mak ^
|
||||
FEATURES=${{ matrix.features }} ^
|
||||
GUI=yes IME=yes ICONV=yes VIMDLL=yes
|
||||
)
|
||||
if not exist vim${{ matrix.bits }}.dll (
|
||||
echo %COL_RED%Build failure.%COL_RESET%
|
||||
exit 1
|
||||
GUI=%GUI% IME=yes ICONV=yes VIMDLL=${{ matrix.VIMDLL }}
|
||||
)
|
||||
|
||||
- name: Build (MinGW)
|
||||
@@ -514,10 +513,15 @@ jobs:
|
||||
shell: msys2 {0}
|
||||
run: |
|
||||
cd src
|
||||
if [ "${{ matrix.VIMDLL }}" = "yes" ]; then
|
||||
GUI=yes
|
||||
else
|
||||
GUI=${{ matrix.GUI }}
|
||||
fi
|
||||
if [ "${{ matrix.features }}" = "HUGE" ]; then
|
||||
mingw32-make -f Make_ming.mak -j2 \
|
||||
FEATURES=${{ matrix.features }} \
|
||||
GUI=yes IME=yes ICONV=yes VIMDLL=yes \
|
||||
GUI=$GUI IME=yes ICONV=yes VIMDLL=${{ matrix.VIMDLL }} \
|
||||
DYNAMIC_LUA=yes LUA=${LUA_DIR_SLASH} \
|
||||
DYNAMIC_PYTHON=yes PYTHON=${PYTHON_DIR} \
|
||||
DYNAMIC_PYTHON3=yes PYTHON3=${PYTHON3_DIR} \
|
||||
@@ -525,17 +529,27 @@ jobs:
|
||||
else
|
||||
mingw32-make -f Make_ming.mak -j2 \
|
||||
FEATURES=${{ matrix.features }} \
|
||||
GUI=yes IME=yes ICONV=yes VIMDLL=yes \
|
||||
GUI=$GUI IME=yes ICONV=yes VIMDLL=${{ matrix.VIMDLL }} \
|
||||
STATIC_STDCPLUS=yes
|
||||
fi
|
||||
|
||||
- name: Check version
|
||||
shell: cmd
|
||||
run: |
|
||||
PATH %LUA_DIR%;C:\msys64\${{ matrix.msystem }}\bin;%PATH%;%PYTHON3_DIR%
|
||||
src\vim --version || exit 1
|
||||
src\vim -u NONE -i NONE --not-a-term -esNX -V1 -S ci/if_ver-1.vim -c quit
|
||||
src\vim -u NONE -i NONE --not-a-term -esNX -V1 -S ci/if_ver-2.vim -c quit
|
||||
PATH %LUA_DIR%;C:\msys64\%MSYSTEM%\bin;%PATH%;%PYTHON3_DIR%
|
||||
if "${{ matrix.GUI }}"=="yes" (
|
||||
start /wait src\gvim -u NONE -i NONE -c "redir > version.txt | ver | q" || exit 1
|
||||
type version.txt
|
||||
echo.
|
||||
start /wait src\gvim -u NONE -i NONE -c "redir! > version.txt | so ci\if_ver-1.vim | q"
|
||||
start /wait src\gvim -u NONE -i NONE -c "redir >> version.txt | so ci\if_ver-2.vim | q"
|
||||
type version.txt
|
||||
del version.txt
|
||||
) else (
|
||||
src\vim --version || exit 1
|
||||
src\vim -u NONE -i NONE --not-a-term -esNX -V1 -S ci/if_ver-1.vim -c quit
|
||||
src\vim -u NONE -i NONE --not-a-term -esNX -V1 -S ci/if_ver-2.vim -c quit
|
||||
)
|
||||
|
||||
#- name: Prepare Artifact
|
||||
# shell: cmd
|
||||
@@ -550,51 +564,39 @@ jobs:
|
||||
# name: vim${{ matrix.bits }}-${{ matrix.toolchain }}
|
||||
# path: ./artifacts
|
||||
|
||||
- name: Copy gcov data files to src2
|
||||
if: matrix.coverage
|
||||
shell: msys2 {0}
|
||||
run: find src -name '*.gcno' | tar -c -T - | tar -x -C src2 --strip-components 1
|
||||
|
||||
- name: Test and show the result of testing gVim
|
||||
if: matrix.GUI == 'yes' || matrix.VIMDLL == 'yes'
|
||||
shell: cmd
|
||||
timeout-minutes: 20
|
||||
timeout-minutes: 15
|
||||
run: |
|
||||
PATH %LUA_DIR%;C:\msys64\${{ matrix.msystem }}\bin;%PATH%;%PYTHON3_DIR%
|
||||
call "%VCVARSALL%" ${{ matrix.vcarch }}
|
||||
|
||||
echo %COL_GREEN%Start testing Vim in background.%COL_RESET%
|
||||
start cmd /c "cd src2\testdir & nmake -nologo -f Make_dos.mak VIMPROG=..\..\src\vim > nul & echo done>done.txt"
|
||||
PATH %LUA_DIR%;C:\msys64\%MSYSTEM%\bin;%PATH%;%PYTHON3_DIR%
|
||||
call "%VCVARSALL%" %VCARCH%
|
||||
|
||||
echo %COL_GREEN%Test gVim:%COL_RESET%
|
||||
cd src\testdir
|
||||
nmake -nologo -f Make_dos.mak VIMPROG=..\gvim || exit 1
|
||||
|
||||
- name: Show the result of testing Vim
|
||||
shell: cmd
|
||||
timeout-minutes: 20
|
||||
run: |
|
||||
PATH %LUA_DIR%;C:\msys64\${{ matrix.msystem }}\bin;%PATH%;%PYTHON3_DIR%
|
||||
call "%VCVARSALL%" ${{ matrix.vcarch }}
|
||||
|
||||
echo %COL_GREEN%Wait for Vim tests to finish.%COL_RESET%
|
||||
cd src2\testdir
|
||||
:: Wait about 10 minutes.
|
||||
for /L %%i in (1,1,60) do (
|
||||
if exist done.txt goto exitloop
|
||||
timeout 10 > NUL 2>&1
|
||||
if ERRORLEVEL 1 ping -n 11 localhost > NUL
|
||||
if "${{ matrix.GUI }}"=="yes" (
|
||||
nmake -nologo -f Make_mvc.mak VIMPROG=..\gvim || exit 1
|
||||
) else (
|
||||
@rem Run only tiny tests.
|
||||
nmake -nologo -f Make_mvc.mak tiny VIMPROG=..\gvim || exit 1
|
||||
)
|
||||
set timeout=1
|
||||
:exitloop
|
||||
|
||||
echo %COL_GREEN%The result of testing Vim:%COL_RESET%
|
||||
cd src2\testdir
|
||||
if exist messages type messages
|
||||
nmake -nologo -f Make_dos.mak report VIMPROG=..\..\src\vim || exit 1
|
||||
- name: Test and show the result of testing Vim
|
||||
if: matrix.GUI == 'no' || matrix.VIMDLL == 'yes'
|
||||
shell: cmd
|
||||
timeout-minutes: 15
|
||||
run: |
|
||||
PATH %LUA_DIR%;C:\msys64\%MSYSTEM%\bin;%PATH%;%PYTHON3_DIR%
|
||||
call "%VCVARSALL%" %VCARCH%
|
||||
|
||||
if "%timeout%"=="1" (
|
||||
echo %COL_RED%Timed out.%COL_RESET%
|
||||
exit 1
|
||||
echo %COL_GREEN%Test Vim:%COL_RESET%
|
||||
cd src\testdir
|
||||
nmake -nologo -f Make_mvc.mak clean
|
||||
if "${{ matrix.GUI }}"=="no" (
|
||||
nmake -nologo -f Make_mvc.mak VIMPROG=..\vim || exit 1
|
||||
) else (
|
||||
@rem Run only tiny tests.
|
||||
nmake -nologo -f Make_mvc.mak tiny VIMPROG=..\vim || exit 1
|
||||
)
|
||||
|
||||
- name: Generate gcov files
|
||||
@@ -603,19 +605,10 @@ jobs:
|
||||
run: |
|
||||
cd src
|
||||
find . -type f -name '*.gcno' -exec gcov -pb {} + || true
|
||||
cd ../src2
|
||||
find . -type f -name '*.gcno' -exec gcov -pb {} + || true
|
||||
|
||||
- name: Codecov (gVim)
|
||||
- name: Codecov
|
||||
if: matrix.coverage
|
||||
uses: codecov/codecov-action@v3.1.0
|
||||
uses: codecov/codecov-action@v3.1.1
|
||||
with:
|
||||
directory: src
|
||||
flags: windows,${{ matrix.toolchain }}-${{ matrix.arch }}-${{ matrix.features }}-gui
|
||||
|
||||
- name: Codecov (Vim)
|
||||
if: matrix.coverage
|
||||
uses: codecov/codecov-action@v3.1.0
|
||||
with:
|
||||
directory: src2
|
||||
flags: windows,${{ matrix.toolchain }}-${{ matrix.arch }}-${{ matrix.features }}
|
||||
|
||||
7
.github/workflows/codeql-analysis.yml
vendored
7
.github/workflows/codeql-analysis.yml
vendored
@@ -21,8 +21,15 @@ concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.head_ref || github.sha }}
|
||||
cancel-in-progress: true
|
||||
|
||||
permissions:
|
||||
contents: read # to fetch code (actions/checkout)
|
||||
|
||||
jobs:
|
||||
analyze:
|
||||
permissions:
|
||||
contents: read # to fetch code (actions/checkout)
|
||||
security-events: write # (github/codeql-action/autobuild)
|
||||
|
||||
name: Analyze
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
|
||||
4
.github/workflows/coverity.yml
vendored
4
.github/workflows/coverity.yml
vendored
@@ -4,12 +4,16 @@ on:
|
||||
- cron: '42 0 * * *' # Run once per day, to avoid Coverity's submission limits
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
contents: read # to fetch code (actions/checkout)
|
||||
|
||||
jobs:
|
||||
scan:
|
||||
runs-on: ubuntu-20.04
|
||||
|
||||
env:
|
||||
CC: gcc
|
||||
CFLAGS: -Wno-deprecated-declarations
|
||||
DEBIAN_FRONTEND: noninteractive
|
||||
|
||||
steps:
|
||||
|
||||
21
Filelist
21
Filelist
@@ -171,7 +171,6 @@ SRC_ALL = \
|
||||
src/viminfo.c \
|
||||
src/winclip.c \
|
||||
src/window.c \
|
||||
src/tee/tee.c \
|
||||
src/xxd/xxd.c \
|
||||
src/testdir/gen_opt_test.vim \
|
||||
src/testdir/README.txt \
|
||||
@@ -210,6 +209,7 @@ SRC_ALL = \
|
||||
src/testdir/python_before/*.py \
|
||||
src/testdir/pyxfile/*.py \
|
||||
src/testdir/dumps/*.dump \
|
||||
src/testdir/dumps/*.vim \
|
||||
src/testdir/samples/*.txt \
|
||||
src/testdir/samples/test000 \
|
||||
src/testdir/color_ramp.vim \
|
||||
@@ -487,7 +487,6 @@ SRC_UNIX = \
|
||||
src/vimtutor \
|
||||
src/gvimtutor \
|
||||
src/which.sh \
|
||||
src/tee/Makefile \
|
||||
src/xxd/Makefile \
|
||||
|
||||
# source files for both DOS and Unix
|
||||
@@ -516,7 +515,7 @@ SRC_DOS_UNIX = \
|
||||
src/proto/if_tcl.pro \
|
||||
src/typemap \
|
||||
|
||||
# source files for DOS (also in the extra archive)
|
||||
# source files for MS-Windows (also in the extra archive)
|
||||
SRC_DOS = \
|
||||
src/GvimExt/*.mak \
|
||||
src/GvimExt/GvimExt.reg \
|
||||
@@ -540,9 +539,11 @@ SRC_DOS = \
|
||||
tools/rename.bat \
|
||||
src/bigvim.bat \
|
||||
src/bigvim64.bat \
|
||||
src/msvc2008.bat \
|
||||
src/msvc2010.bat \
|
||||
src/msvc-latest.bat \
|
||||
src/msvc2015.bat \
|
||||
src/msvc2017.bat \
|
||||
src/msvc2019.bat \
|
||||
src/msvc2022.bat \
|
||||
src/msys32.bat \
|
||||
src/msys64.bat \
|
||||
src/dlldata.c \
|
||||
@@ -555,7 +556,6 @@ SRC_DOS = \
|
||||
src/if_ole.cpp \
|
||||
src/if_ole.h \
|
||||
src/if_ole.idl \
|
||||
src/if_perl_msvc/stdbool.h \
|
||||
src/iscygpty.c \
|
||||
src/iscygpty.h \
|
||||
src/iid_ole.c \
|
||||
@@ -570,6 +570,7 @@ SRC_DOS = \
|
||||
src/proto/os_win32.pro \
|
||||
src/proto/os_mswin.pro \
|
||||
src/testdir/Make_dos.mak \
|
||||
src/testdir/Make_mvc.mak \
|
||||
src/testdir/Make_ming.mak \
|
||||
src/testdir/dos.vim \
|
||||
src/uninstall.c \
|
||||
@@ -578,7 +579,10 @@ SRC_DOS = \
|
||||
src/vimrun.c \
|
||||
src/xpm_w32.c \
|
||||
src/xpm_w32.h \
|
||||
src/tee/Make_ming.mak \
|
||||
src/tee/Make_mvc.mak \
|
||||
src/tee/Makefile \
|
||||
src/tee/tee.c \
|
||||
src/xxd/Make_ming.mak \
|
||||
src/xxd/Make_mvc.mak \
|
||||
nsis/gvim.nsi \
|
||||
@@ -620,10 +624,8 @@ SRC_DOS_BIN = \
|
||||
src/xpm/include/*.h \
|
||||
src/xpm/x64/lib-vc14/libXpm.lib \
|
||||
src/xpm/x64/lib/libXpm.a \
|
||||
src/xpm/x64/lib/libXpm.lib \
|
||||
src/xpm/x86/lib-vc14/libXpm.lib \
|
||||
src/xpm/x86/lib/libXpm.a \
|
||||
src/xpm/x86/lib/libXpm.lib \
|
||||
runtime/bitmaps/vim.ico \
|
||||
nsis/icons.zip \
|
||||
|
||||
@@ -945,9 +947,6 @@ EXTRA = \
|
||||
README_extra.txt \
|
||||
src/VisVim/VisVim.dll \
|
||||
runtime/vimlogo.xpm \
|
||||
src/tee/Makefile \
|
||||
src/tee/Make_mvc.mak \
|
||||
src/tee/tee.c \
|
||||
|
||||
# files in READMEdir that are included from the top dir
|
||||
IN_README_DIR = \
|
||||
|
||||
@@ -28,10 +28,10 @@ All commands are given with normal keyboard characters, so those who can type
|
||||
with ten fingers can work very fast. Additionally, function keys can be
|
||||
mapped to commands by the user, and the mouse can be used.
|
||||
|
||||
Vim runs under MS-Windows (XP, Vista, 7, 8, 10), macOS, Haiku, VMS and almost
|
||||
all flavours of UNIX. Porting to other systems should not be very difficult.
|
||||
Older versions of Vim run on MS-DOS, MS-Windows 95/98/Me/NT/2000, Amiga DOS,
|
||||
Atari MiNT, BeOS, RISC OS and OS/2. These are no longer maintained.
|
||||
Vim runs under MS-Windows (7, 8, 10, 11), macOS, Haiku, VMS and almost all
|
||||
flavours of UNIX. Porting to other systems should not be very difficult.
|
||||
Older versions of Vim run on MS-DOS, MS-Windows 95/98/Me/NT/2000/XP/Vista,
|
||||
Amiga DOS, Atari MiNT, BeOS, RISC OS and OS/2. These are no longer maintained.
|
||||
|
||||
For Vim9 script see [README_VIM9](README_VIM9.md).
|
||||
|
||||
|
||||
@@ -16,10 +16,10 @@ All commands are given with normal keyboard characters, so those who can type
|
||||
with ten fingers can work very fast. Additionally, function keys can be
|
||||
mapped to commands by the user, and the mouse can be used.
|
||||
|
||||
Vim runs under MS-Windows (XP, Vista, 7, 8, 10), macOS, VMS and almost all
|
||||
Vim runs under MS-Windows (7, 8, 10, 11), macOS, Haiku, VMS and almost all
|
||||
flavours of UNIX. Porting to other systems should not be very difficult.
|
||||
Older versions of Vim run on MS-DOS, MS-Windows 95/98/Me/NT/2000, Amiga DOS,
|
||||
Atari MiNT, BeOS, RISC OS and OS/2. These are no longer maintained.
|
||||
Older versions of Vim run on MS-DOS, MS-Windows 95/98/Me/NT/2000/XP/Vista,
|
||||
Amiga DOS, Atari MiNT, BeOS, RISC OS and OS/2. These are no longer maintained.
|
||||
|
||||
|
||||
DISTRIBUTION
|
||||
|
||||
17
runtime/autoload/dist/ft.vim
vendored
17
runtime/autoload/dist/ft.vim
vendored
@@ -878,6 +878,23 @@ export def FTsig()
|
||||
endif
|
||||
enddef
|
||||
|
||||
# This function checks the first 100 lines of files matching "*.sil" to
|
||||
# resolve detection between Swift Intermediate Language and SILE.
|
||||
export def FTsil()
|
||||
for lnum in range(1, [line('$'), 100]->min())
|
||||
var line: string = getline(lnum)
|
||||
if line =~ '^\s*[\\%]'
|
||||
setf sile
|
||||
return
|
||||
elseif line =~ '^\s*\S'
|
||||
setf sil
|
||||
return
|
||||
endif
|
||||
endfor
|
||||
# no clue, default to "sil"
|
||||
setf sil
|
||||
enddef
|
||||
|
||||
export def FTsys()
|
||||
if exists("g:filetype_sys")
|
||||
exe "setf " .. g:filetype_sys
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Original maintainer Steven Vertigan <steven@vertigan.wattle.id.au>
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Updated: Fri Aug 5 12:25:12 2022
|
||||
" Last Updated: Fri 02 Sep 2022 09:41:44 MSK
|
||||
|
||||
" Generated by Colortemplate v2.2.0
|
||||
|
||||
@@ -13,7 +13,7 @@ set background=dark
|
||||
hi clear
|
||||
let g:colors_name = 'blue'
|
||||
|
||||
let s:t_Co = exists('&t_Co') ? (&t_Co ?? 0) : -1
|
||||
let s:t_Co = exists('&t_Co') && !has('gui_running') ? (&t_Co ?? 0) : -1
|
||||
|
||||
if (has('termguicolors') && &termguicolors) || has('gui_running')
|
||||
let g:terminal_ansi_colors = ['#000000', '#cd0000', '#00cd00', '#cdcd00', '#0000ee', '#cd00cd', '#00cdcd', '#e5e5e5', '#7f7f7f', '#ff0000', '#00ff00', '#ffff00', '#5c5cff', '#ff00ff', '#00ffff', '#ffffff']
|
||||
@@ -57,7 +57,7 @@ hi ToolbarLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NO
|
||||
hi VertSplit guifg=#008787 guibg=NONE gui=NONE cterm=NONE
|
||||
hi Visual guifg=#ffffff guibg=#008787 gui=NONE cterm=NONE
|
||||
hi VisualNOS guifg=#008787 guibg=#ffffff gui=NONE cterm=NONE
|
||||
hi WarningMsg guifg=#d70000 guibg=NONE gui=NONE cterm=NONE
|
||||
hi WarningMsg guifg=#d787d7 guibg=NONE gui=NONE cterm=NONE
|
||||
hi WildMenu guifg=#000087 guibg=#ffd700 gui=NONE cterm=NONE
|
||||
hi debugBreakpoint guifg=#00ff00 guibg=#000087 gui=reverse cterm=reverse
|
||||
hi debugPC guifg=#5fffff guibg=#000087 gui=reverse cterm=reverse
|
||||
@@ -120,6 +120,8 @@ hi! link Structure Type
|
||||
hi! link Tag Special
|
||||
hi! link Typedef Type
|
||||
hi! link Terminal Normal
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi DiffAdd guifg=#ffffff guibg=#5f875f gui=NONE cterm=NONE
|
||||
hi DiffChange guifg=#ffffff guibg=#5f87af gui=NONE cterm=NONE
|
||||
hi DiffText guifg=#000000 guibg=#c6c6c6 gui=NONE cterm=NONE
|
||||
@@ -165,7 +167,7 @@ if s:t_Co >= 256
|
||||
hi VertSplit ctermfg=30 ctermbg=NONE cterm=NONE
|
||||
hi Visual ctermfg=231 ctermbg=30 cterm=NONE
|
||||
hi VisualNOS ctermfg=30 ctermbg=231 cterm=NONE
|
||||
hi WarningMsg ctermfg=160 ctermbg=NONE cterm=NONE
|
||||
hi WarningMsg ctermfg=176 ctermbg=NONE cterm=NONE
|
||||
hi WildMenu ctermfg=18 ctermbg=220 cterm=NONE
|
||||
hi debugBreakpoint ctermfg=46 ctermbg=18 cterm=reverse
|
||||
hi debugPC ctermfg=87 ctermbg=18 cterm=reverse
|
||||
@@ -228,6 +230,8 @@ if s:t_Co >= 256
|
||||
hi! link Tag Special
|
||||
hi! link Typedef Type
|
||||
hi! link Terminal Normal
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi DiffAdd ctermfg=231 ctermbg=65 cterm=NONE
|
||||
hi DiffChange ctermfg=231 ctermbg=67 cterm=NONE
|
||||
hi DiffText ctermfg=16 ctermbg=251 cterm=NONE
|
||||
@@ -276,7 +280,7 @@ if s:t_Co >= 16
|
||||
hi VertSplit ctermfg=darkcyan ctermbg=NONE cterm=NONE
|
||||
hi Visual ctermfg=white ctermbg=darkcyan cterm=NONE
|
||||
hi VisualNOS ctermfg=darkcyan ctermbg=white cterm=NONE
|
||||
hi WarningMsg ctermfg=red ctermbg=NONE cterm=NONE
|
||||
hi WarningMsg ctermfg=magenta ctermbg=NONE cterm=NONE
|
||||
hi WildMenu ctermfg=darkblue ctermbg=yellow cterm=NONE
|
||||
hi debugBreakpoint ctermfg=green ctermbg=darkblue cterm=reverse
|
||||
hi debugPC ctermfg=cyan ctermbg=darkblue cterm=reverse
|
||||
@@ -339,6 +343,8 @@ if s:t_Co >= 16
|
||||
hi! link Tag Special
|
||||
hi! link Typedef Type
|
||||
hi! link Terminal Normal
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
|
||||
hi DiffChange ctermfg=white ctermbg=blue cterm=NONE
|
||||
hi DiffText ctermfg=black ctermbg=grey cterm=NONE
|
||||
@@ -449,6 +455,8 @@ if s:t_Co >= 8
|
||||
hi! link Tag Special
|
||||
hi! link Typedef Type
|
||||
hi! link Terminal Normal
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
|
||||
hi DiffChange ctermfg=white ctermbg=darkblue cterm=NONE
|
||||
hi DiffText ctermfg=black ctermbg=grey cterm=NONE
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Original author Bohdan Vlasyuk <bohdan@vstu.edu.ua>
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Updated: Mon Aug 8 15:21:06 2022
|
||||
" Last Updated: Fri 02 Sep 2022 09:40:36 MSK
|
||||
|
||||
" Generated by Colortemplate v2.2.0
|
||||
|
||||
@@ -13,7 +13,7 @@ set background=dark
|
||||
hi clear
|
||||
let g:colors_name = 'darkblue'
|
||||
|
||||
let s:t_Co = exists('&t_Co') ? (&t_Co ?? 0) : -1
|
||||
let s:t_Co = exists('&t_Co') && !has('gui_running') ? (&t_Co ?? 0) : -1
|
||||
|
||||
if (has('termguicolors') && &termguicolors) || has('gui_running')
|
||||
let g:terminal_ansi_colors = ['#000000', '#8b0000', '#90f020', '#ffa500', '#00008b', '#8b008b', '#008b8b', '#c0c0c0', '#808080', '#ffa0a0', '#90f020', '#ffff60', '#0030ff', '#ff00ff', '#90fff0', '#ffffff']
|
||||
@@ -65,6 +65,8 @@ hi! link diffCommon WarningMsg
|
||||
hi! link diffBDiffer WarningMsg
|
||||
hi! link lCursor Cursor
|
||||
hi! link CurSearch Search
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi Normal guifg=#c0c0c0 guibg=#000040 gui=NONE cterm=NONE
|
||||
hi Conceal guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi ColorColumn guifg=#c0c0c0 guibg=#8b0000 gui=NONE cterm=NONE
|
||||
@@ -171,6 +173,8 @@ if s:t_Co >= 256
|
||||
hi! link diffBDiffer WarningMsg
|
||||
hi! link lCursor Cursor
|
||||
hi! link CurSearch Search
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi Normal ctermfg=252 ctermbg=17 cterm=NONE
|
||||
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi ColorColumn ctermfg=252 ctermbg=88 cterm=NONE
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Original maintainer David Schweikert <david@schweikert.ch>
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Updated: Mon Aug 8 15:21:07 2022
|
||||
" Last Updated: Sun 04 Sep 2022 09:31:26 MSK
|
||||
|
||||
" Generated by Colortemplate v2.2.0
|
||||
|
||||
@@ -13,7 +13,7 @@ set background=light
|
||||
hi clear
|
||||
let g:colors_name = 'delek'
|
||||
|
||||
let s:t_Co = exists('&t_Co') ? (&t_Co ?? 0) : -1
|
||||
let s:t_Co = exists('&t_Co') && !has('gui_running') ? (&t_Co ?? 0) : -1
|
||||
|
||||
if (has('termguicolors') && &termguicolors) || has('gui_running')
|
||||
let g:terminal_ansi_colors = ['#ffffff', '#0000ff', '#00cd00', '#cd00cd', '#008b8b', '#0000ff', '#ff1493', '#bcbcbc', '#ee0000', '#0000ff', '#00cd00', '#cd00cd', '#008b8b', '#0000ff', '#ff1493', '#000000']
|
||||
@@ -25,6 +25,8 @@ hi! link CurSearch Search
|
||||
hi! link CursorLineFold CursorLine
|
||||
hi! link CursorLineSign CursorLine
|
||||
hi! link ErrorMsg Error
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi Normal guifg=#000000 guibg=#ffffff gui=NONE cterm=NONE
|
||||
hi EndOfBuffer guifg=#bcbcbc guibg=NONE gui=NONE cterm=NONE
|
||||
hi StatusLine guifg=#ffff00 guibg=#00008b gui=bold cterm=bold
|
||||
@@ -57,7 +59,7 @@ hi Error guifg=#ff0000 guibg=#ffffff gui=reverse cterm=reverse
|
||||
hi WarningMsg guifg=#cd00cd guibg=#ffffff gui=NONE cterm=NONE
|
||||
hi MoreMsg guifg=#000000 guibg=#ffffff gui=bold cterm=bold
|
||||
hi ModeMsg guifg=#000000 guibg=#ffffff gui=bold cterm=bold
|
||||
hi Question guifg=#00cd00 guibg=NONE gui=bold cterm=bold
|
||||
hi Question guifg=#008700 guibg=NONE gui=bold cterm=bold
|
||||
hi Todo guifg=#000000 guibg=#ffff00 gui=NONE cterm=NONE
|
||||
hi MatchParen guifg=#ffffff guibg=#ff1493 gui=NONE cterm=NONE
|
||||
hi Search guifg=#ffffff guibg=#cd00cd gui=NONE cterm=NONE
|
||||
@@ -97,6 +99,8 @@ if s:t_Co >= 256
|
||||
hi! link CursorLineFold CursorLine
|
||||
hi! link CursorLineSign CursorLine
|
||||
hi! link ErrorMsg Error
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi Normal ctermfg=16 ctermbg=231 cterm=NONE
|
||||
hi EndOfBuffer ctermfg=250 ctermbg=NONE cterm=NONE
|
||||
hi StatusLine ctermfg=226 ctermbg=18 cterm=bold
|
||||
@@ -129,7 +133,7 @@ if s:t_Co >= 256
|
||||
hi WarningMsg ctermfg=164 ctermbg=231 cterm=NONE
|
||||
hi MoreMsg ctermfg=16 ctermbg=231 cterm=bold
|
||||
hi ModeMsg ctermfg=16 ctermbg=231 cterm=bold
|
||||
hi Question ctermfg=40 ctermbg=NONE cterm=bold
|
||||
hi Question ctermfg=28 ctermbg=NONE cterm=bold
|
||||
hi Todo ctermfg=16 ctermbg=226 cterm=NONE
|
||||
hi MatchParen ctermfg=231 ctermbg=198 cterm=NONE
|
||||
hi Search ctermfg=231 ctermbg=164 cterm=NONE
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Original maintainer Hans Fugal <hans@fugal.net>
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Updated: Mon Aug 8 15:21:08 2022
|
||||
" Last Updated: Fri 02 Sep 2022 09:39:21 MSK
|
||||
|
||||
" Generated by Colortemplate v2.2.0
|
||||
|
||||
@@ -13,7 +13,7 @@ set background=dark
|
||||
hi clear
|
||||
let g:colors_name = 'desert'
|
||||
|
||||
let s:t_Co = exists('&t_Co') ? (&t_Co ?? 0) : -1
|
||||
let s:t_Co = exists('&t_Co') && !has('gui_running') ? (&t_Co ?? 0) : -1
|
||||
|
||||
if (has('termguicolors') && &termguicolors) || has('gui_running')
|
||||
let g:terminal_ansi_colors = ['#7f7f8c', '#cd5c5c', '#9acd32', '#bdb76b', '#75a0ff', '#eeee00', '#cd853f', '#666666', '#8a7f7f', '#ff0000', '#89fb98', '#f0e68c', '#6dceeb', '#ffde9b', '#ffa0a0', '#c2bfa5']
|
||||
@@ -25,6 +25,8 @@ hi! link CurSearch Search
|
||||
hi! link CursorLineFold CursorLine
|
||||
hi! link CursorLineSign CursorLine
|
||||
hi! link EndOfBuffer NonText
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi Normal guifg=#ffffff guibg=#333333 gui=NONE cterm=NONE
|
||||
hi StatusLine guifg=#333333 guibg=#c2bfa5 gui=NONE cterm=NONE
|
||||
hi StatusLineNC guifg=#7f7f8c guibg=#c2bfa5 gui=NONE cterm=NONE
|
||||
@@ -97,6 +99,8 @@ if s:t_Co >= 256
|
||||
hi! link CursorLineFold CursorLine
|
||||
hi! link CursorLineSign CursorLine
|
||||
hi! link EndOfBuffer NonText
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi Normal ctermfg=231 ctermbg=236 cterm=NONE
|
||||
hi StatusLine ctermfg=236 ctermbg=144 cterm=NONE
|
||||
hi StatusLineNC ctermfg=242 ctermbg=144 cterm=NONE
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
" Maintainer: original maintainer Ron Aaron <ron@ronware.org>
|
||||
" Website: https://www.github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Updated: Mon Aug 8 15:21:08 2022
|
||||
" Last Updated: Fri 02 Sep 2022 09:44:22 MSK
|
||||
|
||||
" Generated by Colortemplate v2.2.0
|
||||
|
||||
@@ -12,7 +12,7 @@ set background=dark
|
||||
hi clear
|
||||
let g:colors_name = 'elflord'
|
||||
|
||||
let s:t_Co = exists('&t_Co') ? (&t_Co ?? 0) : -1
|
||||
let s:t_Co = exists('&t_Co') && !has('gui_running') ? (&t_Co ?? 0) : -1
|
||||
|
||||
hi! link Terminal Normal
|
||||
hi! link Boolean Constant
|
||||
@@ -43,6 +43,8 @@ hi! link lCursor Cursor
|
||||
hi! link CurSearch Search
|
||||
hi! link CursorLineFold CursorLine
|
||||
hi! link CursorLineSign CursorLine
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
|
||||
if (has('termguicolors') && &termguicolors) || has('gui_running')
|
||||
let g:terminal_ansi_colors = ['#000000', '#cd0000', '#00cd00', '#cdcd00', '#0000ee', '#cd00cd', '#00cdcd', '#e5e5e5', '#7f7f7f', '#ff0000', '#00ff00', '#ffff00', '#5c5cff', '#ff00ff', '#00ffff', '#ffffff']
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Original maintainer Steven Vertigan <steven@vertigan.wattle.id.au>
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Updated: Mon Aug 8 15:21:09 2022
|
||||
" Last Updated: Sun 04 Sep 2022 09:48:34 MSK
|
||||
|
||||
" Generated by Colortemplate v2.2.0
|
||||
|
||||
@@ -13,10 +13,10 @@ set background=dark
|
||||
hi clear
|
||||
let g:colors_name = 'evening'
|
||||
|
||||
let s:t_Co = exists('&t_Co') ? (&t_Co ?? 0) : -1
|
||||
let s:t_Co = exists('&t_Co') && !has('gui_running') ? (&t_Co ?? 0) : -1
|
||||
|
||||
if (has('termguicolors') && &termguicolors) || has('gui_running')
|
||||
let g:terminal_ansi_colors = ['#000000', '#ffa500', '#2e8b57', '#ffff00', '#006faf', '#8b008b', '#008b8b', '#bebebe', '#4d4d4d', '#ff5f5f', '#00ff00', '#ffff60', '#0087ff', '#ff80ff', '#00ffff', '#ffffff']
|
||||
let g:terminal_ansi_colors = ['#000000', '#cd0000', '#00cd00', '#cdcd00', '#0087ff', '#cd00cd', '#00cdcd', '#e5e5e5', '#7f7f7f', '#ff0000', '#00ff00', '#ffff00', '#5c5cff', '#ff00ff', '#00ffff', '#ffffff']
|
||||
endif
|
||||
hi! link VertSplit StatusLineNC
|
||||
hi! link StatusLineTerm StatusLine
|
||||
@@ -64,6 +64,8 @@ hi! link String Constant
|
||||
hi! link Structure Type
|
||||
hi! link Tag Special
|
||||
hi! link Typedef Type
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi Normal guifg=#ffffff guibg=#333333 gui=NONE cterm=NONE
|
||||
hi ColorColumn guifg=NONE guibg=#8b0000 gui=NONE cterm=NONE
|
||||
hi CursorLine guifg=NONE guibg=#666666 gui=NONE cterm=NONE
|
||||
@@ -98,7 +100,7 @@ hi ToolbarButton guifg=NONE guibg=#999999 gui=bold cterm=bold
|
||||
hi ToolbarLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Visual guifg=#ffffff guibg=#999999 gui=NONE cterm=NONE
|
||||
hi VisualNOS guifg=NONE guibg=NONE gui=bold,underline ctermfg=NONE ctermbg=NONE cterm=bold,underline
|
||||
hi WarningMsg guifg=#8b0000 guibg=NONE gui=NONE cterm=NONE
|
||||
hi WarningMsg guifg=#ff0000 guibg=NONE gui=NONE cterm=NONE
|
||||
hi WildMenu guifg=#000000 guibg=#ffff00 gui=bold cterm=bold
|
||||
hi debugBreakpoint guifg=#00008b guibg=#ff0000 gui=NONE cterm=NONE
|
||||
hi debugPC guifg=#00008b guibg=#0000ff gui=NONE cterm=NONE
|
||||
@@ -170,6 +172,8 @@ if s:t_Co >= 256
|
||||
hi! link Structure Type
|
||||
hi! link Tag Special
|
||||
hi! link Typedef Type
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi Normal ctermfg=231 ctermbg=236 cterm=NONE
|
||||
hi ColorColumn ctermfg=NONE ctermbg=88 cterm=NONE
|
||||
hi CursorLine ctermfg=NONE ctermbg=241 cterm=NONE
|
||||
@@ -204,7 +208,7 @@ if s:t_Co >= 256
|
||||
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Visual ctermfg=231 ctermbg=246 cterm=NONE
|
||||
hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=bold,underline
|
||||
hi WarningMsg ctermfg=88 ctermbg=NONE cterm=NONE
|
||||
hi WarningMsg ctermfg=196 ctermbg=NONE cterm=NONE
|
||||
hi WildMenu ctermfg=16 ctermbg=226 cterm=bold
|
||||
hi debugBreakpoint ctermfg=18 ctermbg=196 cterm=NONE
|
||||
hi debugPC ctermfg=18 ctermbg=21 cterm=NONE
|
||||
@@ -279,6 +283,8 @@ if s:t_Co >= 16
|
||||
hi! link Structure Type
|
||||
hi! link Tag Special
|
||||
hi! link Typedef Type
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi Normal ctermfg=white ctermbg=black cterm=NONE
|
||||
hi ColorColumn ctermfg=white ctermbg=darkred cterm=NONE
|
||||
hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
|
||||
@@ -313,7 +319,7 @@ if s:t_Co >= 16
|
||||
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Visual ctermfg=white ctermbg=darkgray cterm=NONE
|
||||
hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=bold,underline
|
||||
hi WarningMsg ctermfg=darkred ctermbg=NONE cterm=NONE
|
||||
hi WarningMsg ctermfg=red ctermbg=NONE cterm=NONE
|
||||
hi WildMenu ctermfg=black ctermbg=darkyellow cterm=bold
|
||||
hi debugBreakpoint ctermfg=darkblue ctermbg=red cterm=NONE
|
||||
hi debugPC ctermfg=darkblue ctermbg=blue cterm=NONE
|
||||
@@ -494,13 +500,26 @@ endif
|
||||
" Color: grey30 #4d4d4d 239 darkgray
|
||||
" Color: grey40 #666666 241 darkgray
|
||||
" Color: grey60 #999999 246 darkgray
|
||||
" Color: xtermblue #0087ff 33 blue
|
||||
" Color: xtermdarkblue #006faf 25 darkblue
|
||||
" Color: xtermred #ff5f5f 203 red
|
||||
" Color: comment #80a0ff 111 lightblue
|
||||
" Color: darkred #8b0000 88 darkred
|
||||
" Term colors: black orange seagreen yellow xtermdarkblue darkmagenta darkcyan grey
|
||||
" Term colors: grey30 xtermred green lightyellow xtermblue magenta cyan white
|
||||
" Color: x_black #000000 16 black
|
||||
" Color: x_darkred #cd0000 160 darkred
|
||||
" Color: x_darkgreen #00cd00 40 darkgreen
|
||||
" Color: x_darkyellow #cdcd00 184 darkyellow
|
||||
" Color: x_darkblue_m #0087ff 33 darkblue
|
||||
" Color: x_darkmagenta #cd00cd 164 darkmagenta
|
||||
" Color: x_darkcyan #00cdcd 44 darkcyan
|
||||
" Color: x_gray #e5e5e5 254 gray
|
||||
" Color: x_darkgray #7f7f7f 244 darkgray
|
||||
" Color: x_red #ff0000 196 red
|
||||
" Color: x_green #00ff00 46 green
|
||||
" Color: x_yellow #ffff00 226 yellow
|
||||
" Color: x_blue #5c5cff 63 blue
|
||||
" Color: x_magenta #ff00ff 201 magenta
|
||||
" Color: x_cyan #00ffff 51 cyan
|
||||
" Color: x_white #ffffff 231 white
|
||||
" Term colors: x_black x_darkred x_darkgreen x_darkyellow x_darkblue_m x_darkmagenta x_darkcyan x_gray
|
||||
" Term colors: x_darkgray x_red x_green x_yellow x_blue x_magenta x_cyan x_white
|
||||
" Color: bgDiffA #5F875F 65 darkgreen
|
||||
" Color: bgDiffC #5F87AF 67 blue
|
||||
" Color: bgDiffD #AF5FAF 133 magenta
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Maxim Kim <habamax@gmail.com>
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Updated: Mon Aug 8 15:21:10 2022
|
||||
" Last Updated: Fri 02 Sep 2022 09:45:11 MSK
|
||||
|
||||
" Generated by Colortemplate v2.2.0
|
||||
|
||||
@@ -13,7 +13,7 @@ set background=dark
|
||||
hi clear
|
||||
let g:colors_name = 'habamax'
|
||||
|
||||
let s:t_Co = exists('&t_Co') ? (&t_Co ?? 0) : -1
|
||||
let s:t_Co = exists('&t_Co') && !has('gui_running') ? (&t_Co ?? 0) : -1
|
||||
|
||||
if (has('termguicolors') && &termguicolors) || has('gui_running')
|
||||
let g:terminal_ansi_colors = ['#1c1c1c', '#d75f5f', '#87af87', '#afaf87', '#5f87af', '#af87af', '#5f8787', '#9e9e9e', '#767676', '#d7875f', '#afd7af', '#d7d787', '#87afd7', '#d7afd7', '#87afaf', '#bcbcbc']
|
||||
@@ -21,6 +21,8 @@ endif
|
||||
hi! link Terminal Normal
|
||||
hi! link StatuslineTerm Statusline
|
||||
hi! link StatuslineTermNC StatuslineNC
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi! link javaScriptFunction Statement
|
||||
hi! link javaScriptIdentifier Statement
|
||||
hi! link sqlKeyword Statement
|
||||
@@ -142,6 +144,8 @@ if s:t_Co >= 256
|
||||
hi! link Terminal Normal
|
||||
hi! link StatuslineTerm Statusline
|
||||
hi! link StatuslineTermNC StatuslineNC
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi! link javaScriptFunction Statement
|
||||
hi! link javaScriptIdentifier Statement
|
||||
hi! link sqlKeyword Statement
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Original maintainer Shian Lee.
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Updated: Mon Aug 8 15:21:11 2022
|
||||
" Last Updated: Sun 04 Sep 2022 09:50:04 MSK
|
||||
|
||||
" Generated by Colortemplate v2.2.0
|
||||
|
||||
@@ -13,7 +13,7 @@ set background=dark
|
||||
hi clear
|
||||
let g:colors_name = 'industry'
|
||||
|
||||
let s:t_Co = exists('&t_Co') ? (&t_Co ?? 0) : -1
|
||||
let s:t_Co = exists('&t_Co') && !has('gui_running') ? (&t_Co ?? 0) : -1
|
||||
|
||||
if (has('termguicolors') && &termguicolors) || has('gui_running')
|
||||
let g:terminal_ansi_colors = ['#303030', '#870000', '#5fd75f', '#afaf00', '#87afff', '#af00af', '#00afaf', '#6c6c6c', '#444444', '#ff0000', '#00ff00', '#ffff00', '#005fff', '#ff00ff', '#00ffff', '#ffffff']
|
||||
@@ -51,7 +51,7 @@ hi Underlined guifg=#87afff guibg=NONE gui=underline cterm=underline
|
||||
hi Error guifg=#ffffff guibg=#ff0000 gui=NONE cterm=NONE
|
||||
hi ErrorMsg guifg=#ffffff guibg=#ff0000 gui=NONE cterm=NONE
|
||||
hi ModeMsg guifg=#ffffff guibg=NONE gui=bold cterm=bold
|
||||
hi WarningMsg guifg=#870000 guibg=NONE gui=bold cterm=bold
|
||||
hi WarningMsg guifg=#ff0000 guibg=NONE gui=bold cterm=bold
|
||||
hi MoreMsg guifg=#5fd75f guibg=NONE gui=bold cterm=bold
|
||||
hi Question guifg=#00ff00 guibg=NONE gui=bold cterm=bold
|
||||
hi Todo guifg=#005fff guibg=#ffff00 gui=NONE cterm=NONE
|
||||
@@ -84,6 +84,8 @@ hi! link LineNrBelow LineNr
|
||||
hi! link CurSearch Search
|
||||
hi! link CursorLineFold CursorLine
|
||||
hi! link CursorLineSign CursorLine
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi DiffAdd guifg=#ffffff guibg=#5f875f gui=NONE cterm=NONE
|
||||
hi DiffChange guifg=#ffffff guibg=#5f87af gui=NONE cterm=NONE
|
||||
hi DiffText guifg=#000000 guibg=#c6c6c6 gui=NONE cterm=NONE
|
||||
@@ -123,7 +125,7 @@ if s:t_Co >= 256
|
||||
hi Error ctermfg=231 ctermbg=196 cterm=NONE
|
||||
hi ErrorMsg ctermfg=231 ctermbg=196 cterm=NONE
|
||||
hi ModeMsg ctermfg=231 ctermbg=NONE cterm=bold
|
||||
hi WarningMsg ctermfg=88 ctermbg=NONE cterm=bold
|
||||
hi WarningMsg ctermfg=196 ctermbg=NONE cterm=bold
|
||||
hi MoreMsg ctermfg=77 ctermbg=NONE cterm=bold
|
||||
hi Question ctermfg=46 ctermbg=NONE cterm=bold
|
||||
hi Todo ctermfg=27 ctermbg=226 cterm=NONE
|
||||
@@ -156,6 +158,8 @@ if s:t_Co >= 256
|
||||
hi! link CurSearch Search
|
||||
hi! link CursorLineFold CursorLine
|
||||
hi! link CursorLineSign CursorLine
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi DiffAdd ctermfg=231 ctermbg=65 cterm=NONE
|
||||
hi DiffChange ctermfg=231 ctermbg=67 cterm=NONE
|
||||
hi DiffText ctermfg=16 ctermbg=251 cterm=NONE
|
||||
@@ -198,7 +202,7 @@ if s:t_Co >= 16
|
||||
hi Error ctermfg=white ctermbg=red cterm=NONE
|
||||
hi ErrorMsg ctermfg=white ctermbg=red cterm=NONE
|
||||
hi ModeMsg ctermfg=white ctermbg=NONE cterm=bold
|
||||
hi WarningMsg ctermfg=darkred ctermbg=NONE cterm=bold
|
||||
hi WarningMsg ctermfg=red ctermbg=NONE cterm=bold
|
||||
hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=bold
|
||||
hi Question ctermfg=green ctermbg=NONE cterm=bold
|
||||
hi Todo ctermfg=blue ctermbg=yellow cterm=NONE
|
||||
@@ -231,6 +235,8 @@ if s:t_Co >= 16
|
||||
hi! link CurSearch Search
|
||||
hi! link CursorLineFold CursorLine
|
||||
hi! link CursorLineSign CursorLine
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
|
||||
hi DiffChange ctermfg=white ctermbg=blue cterm=NONE
|
||||
hi DiffText ctermfg=black ctermbg=grey cterm=NONE
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
" Maintainer: original maintainer Ron Aaron <ron@ronware.org>
|
||||
" Website: https://www.github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Updated: Mon Aug 8 15:21:12 2022
|
||||
" Last Updated: Fri 02 Sep 2022 09:23:56 MSK
|
||||
|
||||
" Generated by Colortemplate v2.2.0
|
||||
|
||||
@@ -12,7 +12,7 @@ set background=dark
|
||||
hi clear
|
||||
let g:colors_name = 'koehler'
|
||||
|
||||
let s:t_Co = exists('&t_Co') ? (&t_Co ?? 0) : -1
|
||||
let s:t_Co = exists('&t_Co') && !has('gui_running') ? (&t_Co ?? 0) : -1
|
||||
|
||||
hi! link Terminal Normal
|
||||
hi! link Boolean Constant
|
||||
@@ -49,6 +49,8 @@ hi! link lCursor Cursor
|
||||
hi! link CurSearch Search
|
||||
hi! link CursorLineFold CursorLine
|
||||
hi! link CursorLineSign CursorLine
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
|
||||
if (has('termguicolors') && &termguicolors) || has('gui_running')
|
||||
let g:terminal_ansi_colors = ['#000000', '#cd0000', '#00cd00', '#cdcd00', '#0000ee', '#cd00cd', '#00cdcd', '#e5e5e5', '#7f7f7f', '#ff0000', '#00ff00', '#ffff00', '#5c5cff', '#ff00ff', '#00ffff', '#ffffff']
|
||||
|
||||
@@ -4,14 +4,14 @@
|
||||
" Maintainer: Maxim Kim <habamax@gmail.com>
|
||||
" Website: https://www.github.com/vim/colorschemes
|
||||
" License: Vim License (see `:help license`)
|
||||
" Last Updated: Thu Aug 18 14:36:32 2022
|
||||
" Last Updated: Fri 16 Sep 2022 13:15:33 MSK
|
||||
|
||||
" Generated by Colortemplate v2.2.0
|
||||
|
||||
hi clear
|
||||
let g:colors_name = 'lunaperche'
|
||||
|
||||
let s:t_Co = exists('&t_Co') ? (&t_Co ?? 0) : -1
|
||||
let s:t_Co = exists('&t_Co') && !has('gui_running') ? (&t_Co ?? 0) : -1
|
||||
|
||||
hi! link helpVim Title
|
||||
hi! link helpHeader Title
|
||||
@@ -26,12 +26,15 @@ hi! link fugitiveUnstagedModifier PreProc
|
||||
hi! link fugitiveHash Constant
|
||||
hi! link diffFile PreProc
|
||||
hi! link markdownHeadingDelimiter Special
|
||||
hi! link rstSectionDelimiter PreProc
|
||||
hi! link rstDirective Special
|
||||
hi! link rstSectionDelimiter Statement
|
||||
hi! link rstDirective PreProc
|
||||
hi! link rstHyperlinkReference Special
|
||||
hi! link rstFieldName Special
|
||||
hi! link rstFieldName Constant
|
||||
hi! link rstDelimiter Special
|
||||
hi! link rstInterpretedText Special
|
||||
hi! link rstCodeBlock Normal
|
||||
hi! link rstLiteralBlock rstCodeBlock
|
||||
hi! link markdownUrl String
|
||||
hi! link colortemplateKey Statement
|
||||
hi! link xmlTagName Statement
|
||||
hi! link javaScriptFunction Statement
|
||||
@@ -81,25 +84,52 @@ hi! link shOption Normal
|
||||
hi! link shCommandSub Normal
|
||||
hi! link shDerefPattern shQuote
|
||||
hi! link shDerefOp Special
|
||||
hi! link phpStorageClass Statement
|
||||
hi! link phpStructure Statement
|
||||
hi! link phpInclude Statement
|
||||
hi! link phpDefine Statement
|
||||
hi! link phpSpecialFunction Normal
|
||||
hi! link phpParent Normal
|
||||
hi! link phpComparison Normal
|
||||
hi! link phpOperator Normal
|
||||
hi! link phpVarSelector Special
|
||||
hi! link phpMemberSelector Special
|
||||
hi! link phpDocCustomTags phpDocTags
|
||||
hi! link javaExternal Statement
|
||||
hi! link javaType Statement
|
||||
hi! link javaScopeDecl Statement
|
||||
hi! link javaClassDecl Statement
|
||||
hi! link javaStorageClass Statement
|
||||
hi! link javaDocParam PreProc
|
||||
hi! link csStorage Statement
|
||||
hi! link csAccessModifier Statement
|
||||
hi! link csClass Statement
|
||||
hi! link csModifier Statement
|
||||
hi! link csAsyncModifier Statement
|
||||
hi! link csLogicSymbols Normal
|
||||
hi! link csClassType Normal
|
||||
hi! link csType Statement
|
||||
hi! link Terminal Normal
|
||||
hi! link StatuslineTerm Statusline
|
||||
hi! link StatuslineTermNC StatuslineNC
|
||||
hi! link LineNrAbove LineNr
|
||||
hi! link LineNrBelow LineNr
|
||||
hi! link MessageWindow PMenu
|
||||
hi! link PopupNotification Todo
|
||||
if &background ==# 'dark'
|
||||
if (has('termguicolors') && &termguicolors) || has('gui_running')
|
||||
let g:terminal_ansi_colors = ['#000000', '#af5f5f', '#5faf5f', '#af875f', '#5f87af', '#d787af', '#5fafaf', '#c6c6c6', '#767676', '#ff5f5f', '#5fd75f', '#ffd787', '#87afd7', '#ffafd7', '#5fd7d7', '#ffffff']
|
||||
let g:terminal_ansi_colors = ['#000000', '#af5f5f', '#5faf5f', '#af875f', '#5f87af', '#d787d7', '#5fafaf', '#c6c6c6', '#767676', '#ff5f5f', '#5fd75f', '#ffd787', '#5fafff', '#ff87ff', '#5fd7d7', '#ffffff']
|
||||
endif
|
||||
hi Normal guifg=#c6c6c6 guibg=#000000 gui=NONE cterm=NONE
|
||||
hi Statusline guifg=#000000 guibg=#c6c6c6 gui=bold cterm=bold
|
||||
hi StatuslineNC guifg=#000000 guibg=#767676 gui=NONE cterm=NONE
|
||||
hi Statusline guifg=#c6c6c6 guibg=#000000 gui=bold,reverse cterm=bold,reverse
|
||||
hi StatuslineNC guifg=#767676 guibg=#000000 gui=reverse cterm=reverse
|
||||
hi VertSplit guifg=#767676 guibg=#767676 gui=NONE cterm=NONE
|
||||
hi TabLine guifg=#000000 guibg=#c6c6c6 gui=NONE cterm=NONE
|
||||
hi TabLineFill guifg=NONE guibg=#767676 gui=NONE cterm=NONE
|
||||
hi TabLineSel guifg=#ffffff guibg=#000000 gui=bold cterm=bold
|
||||
hi ToolbarLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi ToolbarButton guifg=#000000 guibg=#ffffff gui=NONE cterm=NONE
|
||||
hi QuickFixLine guifg=#000000 guibg=#87afd7 gui=NONE cterm=NONE
|
||||
hi QuickFixLine guifg=#000000 guibg=#5fafff gui=NONE cterm=NONE
|
||||
hi CursorLineNr guifg=#ffffff guibg=NONE gui=bold cterm=bold
|
||||
hi LineNr guifg=#585858 guibg=NONE gui=NONE cterm=NONE
|
||||
hi NonText guifg=#585858 guibg=NONE gui=NONE cterm=NONE
|
||||
@@ -107,7 +137,7 @@ if &background ==# 'dark'
|
||||
hi EndOfBuffer guifg=#585858 guibg=NONE gui=NONE cterm=NONE
|
||||
hi SpecialKey guifg=#585858 guibg=NONE gui=NONE cterm=NONE
|
||||
hi Pmenu guifg=NONE guibg=#1c1c1c gui=NONE cterm=NONE
|
||||
hi PmenuSel guifg=NONE guibg=#005f00 gui=NONE cterm=NONE
|
||||
hi PmenuSel guifg=NONE guibg=#444444 gui=NONE cterm=NONE
|
||||
hi PmenuThumb guifg=NONE guibg=#c6c6c6 gui=NONE cterm=NONE
|
||||
hi PmenuSbar guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi SignColumn guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
@@ -115,7 +145,7 @@ if &background ==# 'dark'
|
||||
hi ErrorMsg guifg=#ffffff guibg=#ff5f5f gui=NONE cterm=NONE
|
||||
hi ModeMsg guifg=#ffd787 guibg=NONE gui=reverse cterm=reverse
|
||||
hi MoreMsg guifg=#5fd75f guibg=NONE gui=NONE cterm=NONE
|
||||
hi Question guifg=#ffafd7 guibg=NONE gui=NONE cterm=NONE
|
||||
hi Question guifg=#ff87ff guibg=NONE gui=NONE cterm=NONE
|
||||
hi WarningMsg guifg=#ff5f5f guibg=NONE gui=NONE cterm=NONE
|
||||
hi Todo guifg=#5fd7d7 guibg=#000000 gui=reverse cterm=reverse
|
||||
hi Search guifg=#000000 guibg=#ffd787 gui=NONE cterm=NONE
|
||||
@@ -124,7 +154,7 @@ if &background ==# 'dark'
|
||||
hi WildMenu guifg=#000000 guibg=#ffd787 gui=bold cterm=bold
|
||||
hi debugPC guifg=#5f87af guibg=NONE gui=reverse cterm=reverse
|
||||
hi debugBreakpoint guifg=#5fafaf guibg=NONE gui=reverse cterm=reverse
|
||||
hi Cursor guifg=#ffffff guibg=#000000 gui=reverse cterm=reverse
|
||||
hi Cursor guifg=NONE guibg=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse
|
||||
hi lCursor guifg=#ff5fff guibg=#000000 gui=reverse cterm=reverse
|
||||
hi Visual guifg=#ffffff guibg=#005f87 gui=NONE cterm=NONE
|
||||
hi MatchParen guifg=#c5e7c5 guibg=#000000 gui=reverse cterm=reverse
|
||||
@@ -136,17 +166,18 @@ if &background ==# 'dark'
|
||||
hi SpellBad guifg=NONE guibg=NONE guisp=#ff5f5f gui=undercurl ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi SpellCap guifg=NONE guibg=NONE guisp=#5fafaf gui=undercurl ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi SpellLocal guifg=NONE guibg=NONE guisp=#5faf5f gui=undercurl ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi SpellRare guifg=NONE guibg=NONE guisp=#ffafd7 gui=undercurl ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Comment guifg=#87afd7 guibg=NONE gui=NONE cterm=NONE
|
||||
hi Constant guifg=#ffd787 guibg=NONE gui=NONE cterm=NONE
|
||||
hi SpellRare guifg=NONE guibg=NONE guisp=#ff87ff gui=undercurl ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Comment guifg=#5fafff guibg=NONE gui=NONE cterm=NONE
|
||||
hi Constant guifg=#ff87ff guibg=NONE gui=NONE cterm=NONE
|
||||
hi String guifg=#ffd787 guibg=NONE gui=NONE cterm=NONE
|
||||
hi Identifier guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Statement guifg=#eeeeee guibg=NONE gui=bold cterm=bold
|
||||
hi Type guifg=#5fd75f guibg=NONE gui=bold cterm=bold
|
||||
hi PreProc guifg=#af875f guibg=NONE gui=NONE cterm=NONE
|
||||
hi Statement guifg=#e4e4e4 guibg=NONE gui=bold cterm=bold
|
||||
hi Type guifg=#5fd75f guibg=NONE gui=NONE cterm=NONE
|
||||
hi PreProc guifg=#5fd7d7 guibg=NONE gui=NONE cterm=NONE
|
||||
hi Special guifg=#5fafaf guibg=NONE gui=NONE cterm=NONE
|
||||
hi Underlined guifg=NONE guibg=NONE gui=underline ctermfg=NONE ctermbg=NONE cterm=underline
|
||||
hi Title guifg=NONE guibg=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=bold
|
||||
hi Directory guifg=#5fd7d7 guibg=NONE gui=bold cterm=bold
|
||||
hi Directory guifg=#5fafff guibg=NONE gui=bold cterm=bold
|
||||
hi Conceal guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Ignore guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi DiffAdd guifg=#000000 guibg=#af87af gui=NONE cterm=NONE
|
||||
@@ -155,8 +186,8 @@ if &background ==# 'dark'
|
||||
hi DiffDelete guifg=#d78787 guibg=NONE gui=NONE cterm=NONE
|
||||
hi diffAdded guifg=#5fd75f guibg=NONE gui=NONE cterm=NONE
|
||||
hi diffRemoved guifg=#d78787 guibg=NONE gui=NONE cterm=NONE
|
||||
hi diffSubname guifg=#ffafd7 guibg=NONE gui=NONE cterm=NONE
|
||||
hi dirType guifg=#d787af guibg=NONE gui=NONE cterm=NONE
|
||||
hi diffSubname guifg=#ff87ff guibg=NONE gui=NONE cterm=NONE
|
||||
hi dirType guifg=#d787d7 guibg=NONE gui=NONE cterm=NONE
|
||||
hi dirPermissionUser guifg=#5faf5f guibg=NONE gui=NONE cterm=NONE
|
||||
hi dirPermissionGroup guifg=#af875f guibg=NONE gui=NONE cterm=NONE
|
||||
hi dirPermissionOther guifg=#5fafaf guibg=NONE gui=NONE cterm=NONE
|
||||
@@ -164,17 +195,16 @@ if &background ==# 'dark'
|
||||
hi dirGroup guifg=#767676 guibg=NONE gui=NONE cterm=NONE
|
||||
hi dirTime guifg=#767676 guibg=NONE gui=NONE cterm=NONE
|
||||
hi dirSize guifg=#ffd787 guibg=NONE gui=NONE cterm=NONE
|
||||
hi dirSizeMod guifg=#d787af guibg=NONE gui=NONE cterm=NONE
|
||||
hi dirSizeMod guifg=#d787d7 guibg=NONE gui=NONE cterm=NONE
|
||||
hi FilterMenuDirectorySubtle guifg=#878787 guibg=NONE gui=NONE cterm=NONE
|
||||
hi dirFilterMenuBookmarkPath guifg=#878787 guibg=NONE gui=NONE cterm=NONE
|
||||
hi dirFilterMenuHistoryPath guifg=#878787 guibg=NONE gui=NONE cterm=NONE
|
||||
hi FilterMenuLineNr guifg=#878787 guibg=NONE gui=NONE cterm=NONE
|
||||
hi CocMenuSel guifg=NONE guibg=#005f00 gui=NONE cterm=NONE
|
||||
hi CocSearch guifg=#ffd787 guibg=NONE gui=NONE cterm=NONE
|
||||
else
|
||||
" Light background
|
||||
if (has('termguicolors') && &termguicolors) || has('gui_running')
|
||||
let g:terminal_ansi_colors = ['#000000', '#870000', '#008700', '#875f00', '#005faf', '#870087', '#005f5f', '#808080', '#767676', '#d70000', '#87d787', '#d7d787', '#0087d7', '#af00af', '#00afaf', '#ffffff']
|
||||
let g:terminal_ansi_colors = ['#000000', '#af0000', '#008700', '#af5f00', '#005fd7', '#af00af', '#005f5f', '#808080', '#767676', '#d70000', '#87d787', '#ffd787', '#0087d7', '#ff00ff', '#008787', '#ffffff']
|
||||
endif
|
||||
hi Normal guifg=#000000 guibg=#ffffff gui=NONE cterm=NONE
|
||||
hi Statusline guifg=#ffffff guibg=#000000 gui=bold cterm=bold
|
||||
@@ -193,46 +223,47 @@ else
|
||||
hi EndOfBuffer guifg=#9e9e9e guibg=NONE gui=NONE cterm=NONE
|
||||
hi SpecialKey guifg=#9e9e9e guibg=NONE gui=NONE cterm=NONE
|
||||
hi Pmenu guifg=NONE guibg=#eeeeee gui=NONE cterm=NONE
|
||||
hi PmenuSel guifg=NONE guibg=#afd7af gui=NONE cterm=NONE
|
||||
hi PmenuSel guifg=NONE guibg=#c6c6c6 gui=NONE cterm=NONE
|
||||
hi PmenuThumb guifg=NONE guibg=#767676 gui=NONE cterm=NONE
|
||||
hi PmenuSbar guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi SignColumn guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Error guifg=#ffffff guibg=#d70000 gui=NONE cterm=NONE
|
||||
hi ErrorMsg guifg=#ffffff guibg=#d70000 gui=NONE cterm=NONE
|
||||
hi ModeMsg guifg=#d7d787 guibg=#000000 gui=reverse cterm=reverse
|
||||
hi ModeMsg guifg=#ffd787 guibg=#000000 gui=reverse cterm=reverse
|
||||
hi MoreMsg guifg=#008700 guibg=NONE gui=bold cterm=bold
|
||||
hi Question guifg=#870087 guibg=NONE gui=bold cterm=bold
|
||||
hi Question guifg=#af00af guibg=NONE gui=bold cterm=bold
|
||||
hi WarningMsg guifg=#d70000 guibg=NONE gui=bold cterm=bold
|
||||
hi Todo guifg=#005f5f guibg=#ffffff gui=reverse cterm=reverse
|
||||
hi Search guifg=#000000 guibg=#d7d787 gui=NONE cterm=NONE
|
||||
hi Todo guifg=#008787 guibg=#ffffff gui=reverse cterm=reverse
|
||||
hi Search guifg=#000000 guibg=#ffd787 gui=NONE cterm=NONE
|
||||
hi IncSearch guifg=#000000 guibg=#87d787 gui=NONE cterm=NONE
|
||||
hi CurSearch guifg=#000000 guibg=#87d787 gui=NONE cterm=NONE
|
||||
hi WildMenu guifg=#000000 guibg=#d7d787 gui=bold cterm=bold
|
||||
hi debugPC guifg=#005faf guibg=NONE gui=reverse cterm=reverse
|
||||
hi WildMenu guifg=#000000 guibg=#ffd787 gui=bold cterm=bold
|
||||
hi debugPC guifg=#005fd7 guibg=NONE gui=reverse cterm=reverse
|
||||
hi debugBreakpoint guifg=#005f5f guibg=NONE gui=reverse cterm=reverse
|
||||
hi Cursor guifg=#000000 guibg=#ffffff gui=reverse cterm=reverse
|
||||
hi Cursor guifg=NONE guibg=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse
|
||||
hi lCursor guifg=#ff00ff guibg=#000000 gui=reverse cterm=reverse
|
||||
hi Visual guifg=#ffffff guibg=#5f87af gui=NONE cterm=NONE
|
||||
hi MatchParen guifg=NONE guibg=#c5e7c5 gui=NONE cterm=NONE
|
||||
hi VisualNOS guifg=#ffffff guibg=#00afaf gui=NONE cterm=NONE
|
||||
hi VisualNOS guifg=#ffffff guibg=#008787 gui=NONE cterm=NONE
|
||||
hi CursorLine guifg=NONE guibg=#e4e4e4 gui=NONE cterm=NONE
|
||||
hi CursorColumn guifg=NONE guibg=#e4e4e4 gui=NONE cterm=NONE
|
||||
hi Folded guifg=#767676 guibg=#eeeeee gui=NONE cterm=NONE
|
||||
hi ColorColumn guifg=NONE guibg=#eeeeee gui=NONE cterm=NONE
|
||||
hi SpellBad guifg=NONE guibg=NONE guisp=#870000 gui=undercurl ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi SpellBad guifg=NONE guibg=NONE guisp=#af0000 gui=undercurl ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi SpellCap guifg=NONE guibg=NONE guisp=#005f5f gui=undercurl ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi SpellLocal guifg=NONE guibg=NONE guisp=#008700 gui=undercurl ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi SpellRare guifg=NONE guibg=NONE guisp=#af00af gui=undercurl ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Comment guifg=#005faf guibg=NONE gui=NONE cterm=NONE
|
||||
hi Constant guifg=#870000 guibg=NONE gui=NONE cterm=NONE
|
||||
hi SpellRare guifg=NONE guibg=NONE guisp=#ff00ff gui=undercurl ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Comment guifg=#005fd7 guibg=NONE gui=NONE cterm=NONE
|
||||
hi Constant guifg=#af00af guibg=NONE gui=NONE cterm=NONE
|
||||
hi String guifg=#af5f00 guibg=NONE gui=NONE cterm=NONE
|
||||
hi Identifier guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Statement guifg=#000000 guibg=NONE gui=bold cterm=bold
|
||||
hi Type guifg=#008700 guibg=NONE gui=bold cterm=bold
|
||||
hi PreProc guifg=#875f00 guibg=NONE gui=NONE cterm=NONE
|
||||
hi Special guifg=#005f5f guibg=NONE gui=NONE cterm=NONE
|
||||
hi Type guifg=#008700 guibg=NONE gui=NONE cterm=NONE
|
||||
hi PreProc guifg=#005f5f guibg=NONE gui=NONE cterm=NONE
|
||||
hi Special guifg=#008787 guibg=NONE gui=NONE cterm=NONE
|
||||
hi Underlined guifg=NONE guibg=NONE gui=underline ctermfg=NONE ctermbg=NONE cterm=underline
|
||||
hi Title guifg=NONE guibg=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=bold
|
||||
hi Directory guifg=#005faf guibg=NONE gui=bold cterm=bold
|
||||
hi Directory guifg=#005fd7 guibg=NONE gui=bold cterm=bold
|
||||
hi Conceal guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Ignore guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi DiffAdd guifg=#000000 guibg=#d7afd7 gui=NONE cterm=NONE
|
||||
@@ -241,23 +272,22 @@ else
|
||||
hi DiffDelete guifg=#870000 guibg=NONE gui=NONE cterm=NONE
|
||||
hi diffAdded guifg=#008700 guibg=NONE gui=NONE cterm=NONE
|
||||
hi diffRemoved guifg=#d70000 guibg=NONE gui=NONE cterm=NONE
|
||||
hi diffSubname guifg=#870087 guibg=NONE gui=NONE cterm=NONE
|
||||
hi diffSubname guifg=#af00af guibg=NONE gui=NONE cterm=NONE
|
||||
hi dirType guifg=#005f5f guibg=NONE gui=NONE cterm=NONE
|
||||
hi dirPermissionUser guifg=#875f00 guibg=NONE gui=NONE cterm=NONE
|
||||
hi dirPermissionUser guifg=#af5f00 guibg=NONE gui=NONE cterm=NONE
|
||||
hi dirPermissionGroup guifg=#008700 guibg=NONE gui=NONE cterm=NONE
|
||||
hi dirPermissionOther guifg=#870087 guibg=NONE gui=NONE cterm=NONE
|
||||
hi dirPermissionOther guifg=#af00af guibg=NONE gui=NONE cterm=NONE
|
||||
hi dirOwner guifg=#808080 guibg=NONE gui=NONE cterm=NONE
|
||||
hi dirGroup guifg=#808080 guibg=NONE gui=NONE cterm=NONE
|
||||
hi dirTime guifg=#808080 guibg=NONE gui=NONE cterm=NONE
|
||||
hi dirSize guifg=#870000 guibg=NONE gui=NONE cterm=NONE
|
||||
hi dirSize guifg=#af0000 guibg=NONE gui=NONE cterm=NONE
|
||||
hi dirSizeMod guifg=#005f5f guibg=NONE gui=NONE cterm=NONE
|
||||
hi dirLink guifg=#008700 guibg=NONE gui=bold cterm=bold
|
||||
hi dirFilterMenuBookmarkPath guifg=#626262 guibg=NONE gui=NONE cterm=NONE
|
||||
hi dirFilterMenuHistoryPath guifg=#626262 guibg=NONE gui=NONE cterm=NONE
|
||||
hi FilterMenuDirectorySubtle guifg=#626262 guibg=NONE gui=NONE cterm=NONE
|
||||
hi FilterMenuLineNr guifg=#626262 guibg=NONE gui=NONE cterm=NONE
|
||||
hi CocMenuSel guifg=NONE guibg=#afd7af gui=NONE cterm=NONE
|
||||
hi CocSearch guifg=#870000 guibg=NONE gui=NONE cterm=NONE
|
||||
hi CocSearch guifg=#af0000 guibg=NONE gui=NONE cterm=NONE
|
||||
endif
|
||||
|
||||
if s:t_Co >= 256
|
||||
@@ -274,12 +304,15 @@ if s:t_Co >= 256
|
||||
hi! link fugitiveHash Constant
|
||||
hi! link diffFile PreProc
|
||||
hi! link markdownHeadingDelimiter Special
|
||||
hi! link rstSectionDelimiter PreProc
|
||||
hi! link rstDirective Special
|
||||
hi! link rstSectionDelimiter Statement
|
||||
hi! link rstDirective PreProc
|
||||
hi! link rstHyperlinkReference Special
|
||||
hi! link rstFieldName Special
|
||||
hi! link rstFieldName Constant
|
||||
hi! link rstDelimiter Special
|
||||
hi! link rstInterpretedText Special
|
||||
hi! link rstCodeBlock Normal
|
||||
hi! link rstLiteralBlock rstCodeBlock
|
||||
hi! link markdownUrl String
|
||||
hi! link colortemplateKey Statement
|
||||
hi! link xmlTagName Statement
|
||||
hi! link javaScriptFunction Statement
|
||||
@@ -329,22 +362,49 @@ if s:t_Co >= 256
|
||||
hi! link shCommandSub Normal
|
||||
hi! link shDerefPattern shQuote
|
||||
hi! link shDerefOp Special
|
||||
hi! link phpStorageClass Statement
|
||||
hi! link phpStructure Statement
|
||||
hi! link phpInclude Statement
|
||||
hi! link phpDefine Statement
|
||||
hi! link phpSpecialFunction Normal
|
||||
hi! link phpParent Normal
|
||||
hi! link phpComparison Normal
|
||||
hi! link phpOperator Normal
|
||||
hi! link phpVarSelector Special
|
||||
hi! link phpMemberSelector Special
|
||||
hi! link phpDocCustomTags phpDocTags
|
||||
hi! link javaExternal Statement
|
||||
hi! link javaType Statement
|
||||
hi! link javaScopeDecl Statement
|
||||
hi! link javaClassDecl Statement
|
||||
hi! link javaStorageClass Statement
|
||||
hi! link javaDocParam PreProc
|
||||
hi! link csStorage Statement
|
||||
hi! link csAccessModifier Statement
|
||||
hi! link csClass Statement
|
||||
hi! link csModifier Statement
|
||||
hi! link csAsyncModifier Statement
|
||||
hi! link csLogicSymbols Normal
|
||||
hi! link csClassType Normal
|
||||
hi! link csType Statement
|
||||
hi! link Terminal Normal
|
||||
hi! link StatuslineTerm Statusline
|
||||
hi! link StatuslineTermNC StatuslineNC
|
||||
hi! link LineNrAbove LineNr
|
||||
hi! link LineNrBelow LineNr
|
||||
hi! link MessageWindow PMenu
|
||||
hi! link PopupNotification Todo
|
||||
if &background ==# 'dark'
|
||||
hi Normal ctermfg=251 ctermbg=16 cterm=NONE
|
||||
hi Statusline ctermfg=16 ctermbg=251 cterm=bold
|
||||
hi StatuslineNC ctermfg=16 ctermbg=243 cterm=NONE
|
||||
hi Statusline ctermfg=251 ctermbg=16 cterm=bold,reverse
|
||||
hi StatuslineNC ctermfg=243 ctermbg=16 cterm=reverse
|
||||
hi VertSplit ctermfg=243 ctermbg=243 cterm=NONE
|
||||
hi TabLine ctermfg=16 ctermbg=251 cterm=NONE
|
||||
hi TabLineFill ctermfg=NONE ctermbg=243 cterm=NONE
|
||||
hi TabLineSel ctermfg=231 ctermbg=16 cterm=bold
|
||||
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi ToolbarButton ctermfg=16 ctermbg=231 cterm=NONE
|
||||
hi QuickFixLine ctermfg=16 ctermbg=110 cterm=NONE
|
||||
hi QuickFixLine ctermfg=16 ctermbg=75 cterm=NONE
|
||||
hi CursorLineNr ctermfg=231 ctermbg=NONE cterm=bold
|
||||
hi LineNr ctermfg=240 ctermbg=NONE cterm=NONE
|
||||
hi NonText ctermfg=240 ctermbg=NONE cterm=NONE
|
||||
@@ -352,7 +412,7 @@ if s:t_Co >= 256
|
||||
hi EndOfBuffer ctermfg=240 ctermbg=NONE cterm=NONE
|
||||
hi SpecialKey ctermfg=240 ctermbg=NONE cterm=NONE
|
||||
hi Pmenu ctermfg=NONE ctermbg=234 cterm=NONE
|
||||
hi PmenuSel ctermfg=NONE ctermbg=22 cterm=NONE
|
||||
hi PmenuSel ctermfg=NONE ctermbg=238 cterm=NONE
|
||||
hi PmenuThumb ctermfg=NONE ctermbg=251 cterm=NONE
|
||||
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
@@ -360,7 +420,7 @@ if s:t_Co >= 256
|
||||
hi ErrorMsg ctermfg=231 ctermbg=203 cterm=NONE
|
||||
hi ModeMsg ctermfg=222 ctermbg=NONE cterm=reverse
|
||||
hi MoreMsg ctermfg=77 ctermbg=NONE cterm=NONE
|
||||
hi Question ctermfg=218 ctermbg=NONE cterm=NONE
|
||||
hi Question ctermfg=213 ctermbg=NONE cterm=NONE
|
||||
hi WarningMsg ctermfg=203 ctermbg=NONE cterm=NONE
|
||||
hi Todo ctermfg=116 ctermbg=16 cterm=reverse
|
||||
hi Search ctermfg=16 ctermbg=222 cterm=NONE
|
||||
@@ -379,17 +439,18 @@ if s:t_Co >= 256
|
||||
hi SpellBad ctermfg=203 ctermbg=NONE cterm=underline
|
||||
hi SpellCap ctermfg=73 ctermbg=NONE cterm=underline
|
||||
hi SpellLocal ctermfg=77 ctermbg=NONE cterm=underline
|
||||
hi SpellRare ctermfg=218 ctermbg=NONE cterm=underline
|
||||
hi Comment ctermfg=110 ctermbg=NONE cterm=NONE
|
||||
hi Constant ctermfg=222 ctermbg=NONE cterm=NONE
|
||||
hi SpellRare ctermfg=213 ctermbg=NONE cterm=underline
|
||||
hi Comment ctermfg=75 ctermbg=NONE cterm=NONE
|
||||
hi Constant ctermfg=213 ctermbg=NONE cterm=NONE
|
||||
hi String ctermfg=222 ctermbg=NONE cterm=NONE
|
||||
hi Identifier ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Statement ctermfg=255 ctermbg=NONE cterm=bold
|
||||
hi Type ctermfg=77 ctermbg=NONE cterm=bold
|
||||
hi PreProc ctermfg=137 ctermbg=NONE cterm=NONE
|
||||
hi Statement ctermfg=254 ctermbg=NONE cterm=bold
|
||||
hi Type ctermfg=77 ctermbg=NONE cterm=NONE
|
||||
hi PreProc ctermfg=116 ctermbg=NONE cterm=NONE
|
||||
hi Special ctermfg=73 ctermbg=NONE cterm=NONE
|
||||
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
|
||||
hi Title ctermfg=NONE ctermbg=NONE cterm=bold
|
||||
hi Directory ctermfg=116 ctermbg=NONE cterm=bold
|
||||
hi Directory ctermfg=75 ctermbg=NONE cterm=bold
|
||||
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi DiffAdd ctermfg=16 ctermbg=139 cterm=NONE
|
||||
@@ -398,8 +459,8 @@ if s:t_Co >= 256
|
||||
hi DiffDelete ctermfg=174 ctermbg=NONE cterm=NONE
|
||||
hi diffAdded ctermfg=77 ctermbg=NONE cterm=NONE
|
||||
hi diffRemoved ctermfg=174 ctermbg=NONE cterm=NONE
|
||||
hi diffSubname ctermfg=218 ctermbg=NONE cterm=NONE
|
||||
hi dirType ctermfg=175 ctermbg=NONE cterm=NONE
|
||||
hi diffSubname ctermfg=213 ctermbg=NONE cterm=NONE
|
||||
hi dirType ctermfg=176 ctermbg=NONE cterm=NONE
|
||||
hi dirPermissionUser ctermfg=71 ctermbg=NONE cterm=NONE
|
||||
hi dirPermissionGroup ctermfg=137 ctermbg=NONE cterm=NONE
|
||||
hi dirPermissionOther ctermfg=73 ctermbg=NONE cterm=NONE
|
||||
@@ -407,12 +468,11 @@ if s:t_Co >= 256
|
||||
hi dirGroup ctermfg=243 ctermbg=NONE cterm=NONE
|
||||
hi dirTime ctermfg=243 ctermbg=NONE cterm=NONE
|
||||
hi dirSize ctermfg=222 ctermbg=NONE cterm=NONE
|
||||
hi dirSizeMod ctermfg=175 ctermbg=NONE cterm=NONE
|
||||
hi dirSizeMod ctermfg=176 ctermbg=NONE cterm=NONE
|
||||
hi FilterMenuDirectorySubtle ctermfg=102 ctermbg=NONE cterm=NONE
|
||||
hi dirFilterMenuBookmarkPath ctermfg=102 ctermbg=NONE cterm=NONE
|
||||
hi dirFilterMenuHistoryPath ctermfg=102 ctermbg=NONE cterm=NONE
|
||||
hi FilterMenuLineNr ctermfg=102 ctermbg=NONE cterm=NONE
|
||||
hi CocMenuSel ctermfg=NONE ctermbg=22 cterm=NONE
|
||||
hi CocSearch ctermfg=222 ctermbg=NONE cterm=NONE
|
||||
else
|
||||
" Light background
|
||||
@@ -433,44 +493,45 @@ if s:t_Co >= 256
|
||||
hi EndOfBuffer ctermfg=247 ctermbg=NONE cterm=NONE
|
||||
hi SpecialKey ctermfg=247 ctermbg=NONE cterm=NONE
|
||||
hi Pmenu ctermfg=NONE ctermbg=255 cterm=NONE
|
||||
hi PmenuSel ctermfg=NONE ctermbg=151 cterm=NONE
|
||||
hi PmenuSel ctermfg=NONE ctermbg=251 cterm=NONE
|
||||
hi PmenuThumb ctermfg=NONE ctermbg=243 cterm=NONE
|
||||
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Error ctermfg=231 ctermbg=160 cterm=NONE
|
||||
hi ErrorMsg ctermfg=231 ctermbg=160 cterm=NONE
|
||||
hi ModeMsg ctermfg=186 ctermbg=16 cterm=reverse
|
||||
hi ModeMsg ctermfg=222 ctermbg=16 cterm=reverse
|
||||
hi MoreMsg ctermfg=28 ctermbg=NONE cterm=bold
|
||||
hi Question ctermfg=90 ctermbg=NONE cterm=bold
|
||||
hi Question ctermfg=127 ctermbg=NONE cterm=bold
|
||||
hi WarningMsg ctermfg=160 ctermbg=NONE cterm=bold
|
||||
hi Todo ctermfg=23 ctermbg=231 cterm=reverse
|
||||
hi Search ctermfg=16 ctermbg=186 cterm=NONE
|
||||
hi Todo ctermfg=30 ctermbg=231 cterm=reverse
|
||||
hi Search ctermfg=16 ctermbg=222 cterm=NONE
|
||||
hi IncSearch ctermfg=16 ctermbg=114 cterm=NONE
|
||||
hi CurSearch ctermfg=16 ctermbg=114 cterm=NONE
|
||||
hi WildMenu ctermfg=16 ctermbg=186 cterm=bold
|
||||
hi debugPC ctermfg=25 ctermbg=NONE cterm=reverse
|
||||
hi WildMenu ctermfg=16 ctermbg=222 cterm=bold
|
||||
hi debugPC ctermfg=26 ctermbg=NONE cterm=reverse
|
||||
hi debugBreakpoint ctermfg=23 ctermbg=NONE cterm=reverse
|
||||
hi Visual ctermfg=231 ctermbg=67 cterm=NONE
|
||||
hi MatchParen ctermfg=30 ctermbg=231 cterm=reverse
|
||||
hi VisualNOS ctermfg=231 ctermbg=37 cterm=NONE
|
||||
hi VisualNOS ctermfg=231 ctermbg=30 cterm=NONE
|
||||
hi CursorLine ctermfg=NONE ctermbg=254 cterm=NONE
|
||||
hi CursorColumn ctermfg=NONE ctermbg=254 cterm=NONE
|
||||
hi Folded ctermfg=243 ctermbg=255 cterm=NONE
|
||||
hi ColorColumn ctermfg=NONE ctermbg=255 cterm=NONE
|
||||
hi SpellBad ctermfg=88 ctermbg=NONE cterm=underline
|
||||
hi SpellBad ctermfg=124 ctermbg=NONE cterm=underline
|
||||
hi SpellCap ctermfg=23 ctermbg=NONE cterm=underline
|
||||
hi SpellLocal ctermfg=28 ctermbg=NONE cterm=underline
|
||||
hi SpellRare ctermfg=133 ctermbg=NONE cterm=underline
|
||||
hi Comment ctermfg=25 ctermbg=NONE cterm=NONE
|
||||
hi Constant ctermfg=88 ctermbg=NONE cterm=NONE
|
||||
hi Comment ctermfg=26 ctermbg=NONE cterm=NONE
|
||||
hi Constant ctermfg=127 ctermbg=NONE cterm=NONE
|
||||
hi String ctermfg=130 ctermbg=NONE cterm=NONE
|
||||
hi Identifier ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Statement ctermfg=16 ctermbg=NONE cterm=bold
|
||||
hi Type ctermfg=28 ctermbg=NONE cterm=bold
|
||||
hi PreProc ctermfg=94 ctermbg=NONE cterm=NONE
|
||||
hi Special ctermfg=23 ctermbg=NONE cterm=NONE
|
||||
hi Type ctermfg=28 ctermbg=NONE cterm=NONE
|
||||
hi PreProc ctermfg=23 ctermbg=NONE cterm=NONE
|
||||
hi Special ctermfg=30 ctermbg=NONE cterm=NONE
|
||||
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
|
||||
hi Title ctermfg=NONE ctermbg=NONE cterm=bold
|
||||
hi Directory ctermfg=25 ctermbg=NONE cterm=bold
|
||||
hi Directory ctermfg=26 ctermbg=NONE cterm=bold
|
||||
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi DiffAdd ctermfg=16 ctermbg=182 cterm=NONE
|
||||
@@ -479,23 +540,22 @@ if s:t_Co >= 256
|
||||
hi DiffDelete ctermfg=88 ctermbg=NONE cterm=NONE
|
||||
hi diffAdded ctermfg=28 ctermbg=NONE cterm=NONE
|
||||
hi diffRemoved ctermfg=160 ctermbg=NONE cterm=NONE
|
||||
hi diffSubname ctermfg=90 ctermbg=NONE cterm=NONE
|
||||
hi diffSubname ctermfg=127 ctermbg=NONE cterm=NONE
|
||||
hi dirType ctermfg=23 ctermbg=NONE cterm=NONE
|
||||
hi dirPermissionUser ctermfg=94 ctermbg=NONE cterm=NONE
|
||||
hi dirPermissionUser ctermfg=130 ctermbg=NONE cterm=NONE
|
||||
hi dirPermissionGroup ctermfg=28 ctermbg=NONE cterm=NONE
|
||||
hi dirPermissionOther ctermfg=90 ctermbg=NONE cterm=NONE
|
||||
hi dirPermissionOther ctermfg=127 ctermbg=NONE cterm=NONE
|
||||
hi dirOwner ctermfg=244 ctermbg=NONE cterm=NONE
|
||||
hi dirGroup ctermfg=244 ctermbg=NONE cterm=NONE
|
||||
hi dirTime ctermfg=244 ctermbg=NONE cterm=NONE
|
||||
hi dirSize ctermfg=88 ctermbg=NONE cterm=NONE
|
||||
hi dirSize ctermfg=124 ctermbg=NONE cterm=NONE
|
||||
hi dirSizeMod ctermfg=23 ctermbg=NONE cterm=NONE
|
||||
hi dirLink ctermfg=28 ctermbg=NONE cterm=bold
|
||||
hi dirFilterMenuBookmarkPath ctermfg=241 ctermbg=NONE cterm=NONE
|
||||
hi dirFilterMenuHistoryPath ctermfg=241 ctermbg=NONE cterm=NONE
|
||||
hi FilterMenuDirectorySubtle ctermfg=241 ctermbg=NONE cterm=NONE
|
||||
hi FilterMenuLineNr ctermfg=241 ctermbg=NONE cterm=NONE
|
||||
hi CocMenuSel ctermfg=NONE ctermbg=151 cterm=NONE
|
||||
hi CocSearch ctermfg=88 ctermbg=NONE cterm=NONE
|
||||
hi CocSearch ctermfg=124 ctermbg=NONE cterm=NONE
|
||||
endif
|
||||
unlet s:t_Co
|
||||
finish
|
||||
@@ -504,8 +564,8 @@ endif
|
||||
if s:t_Co >= 16
|
||||
if &background ==# 'dark'
|
||||
hi Normal ctermfg=grey ctermbg=black cterm=NONE
|
||||
hi Statusline ctermfg=black ctermbg=grey cterm=bold
|
||||
hi StatuslineNC ctermfg=black ctermbg=darkgrey cterm=NONE
|
||||
hi Statusline ctermfg=grey ctermbg=black cterm=bold,reverse
|
||||
hi StatuslineNC ctermfg=darkgrey ctermbg=black cterm=reverse
|
||||
hi VertSplit ctermfg=darkgrey ctermbg=darkgrey cterm=NONE
|
||||
hi TabLine ctermfg=black ctermbg=grey cterm=NONE
|
||||
hi TabLineFill ctermfg=NONE ctermbg=darkgrey cterm=NONE
|
||||
@@ -520,7 +580,7 @@ if s:t_Co >= 16
|
||||
hi EndOfBuffer ctermfg=grey ctermbg=NONE cterm=NONE
|
||||
hi SpecialKey ctermfg=grey ctermbg=NONE cterm=NONE
|
||||
hi Pmenu ctermfg=black ctermbg=darkgrey cterm=NONE
|
||||
hi PmenuSel ctermfg=black ctermbg=darkgreen cterm=NONE
|
||||
hi PmenuSel ctermfg=black ctermbg=darkcyan cterm=NONE
|
||||
hi PmenuThumb ctermfg=NONE ctermbg=grey cterm=NONE
|
||||
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
@@ -549,15 +609,16 @@ if s:t_Co >= 16
|
||||
hi SpellLocal ctermfg=green ctermbg=NONE cterm=underline
|
||||
hi SpellRare ctermfg=magenta ctermbg=NONE cterm=underline
|
||||
hi Comment ctermfg=blue ctermbg=NONE cterm=NONE
|
||||
hi Constant ctermfg=yellow ctermbg=NONE cterm=NONE
|
||||
hi Constant ctermfg=magenta ctermbg=NONE cterm=NONE
|
||||
hi String ctermfg=yellow ctermbg=NONE cterm=NONE
|
||||
hi Identifier ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Statement ctermfg=grey ctermbg=NONE cterm=bold
|
||||
hi Type ctermfg=green ctermbg=NONE cterm=bold
|
||||
hi PreProc ctermfg=darkyellow ctermbg=NONE cterm=NONE
|
||||
hi Type ctermfg=green ctermbg=NONE cterm=NONE
|
||||
hi PreProc ctermfg=cyan ctermbg=NONE cterm=NONE
|
||||
hi Special ctermfg=darkcyan ctermbg=NONE cterm=NONE
|
||||
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
|
||||
hi Title ctermfg=NONE ctermbg=NONE cterm=bold
|
||||
hi Directory ctermfg=cyan ctermbg=NONE cterm=bold
|
||||
hi Directory ctermfg=blue ctermbg=NONE cterm=bold
|
||||
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi DiffAdd ctermfg=black ctermbg=darkmagenta cterm=NONE
|
||||
@@ -567,6 +628,20 @@ if s:t_Co >= 16
|
||||
hi diffAdded ctermfg=green ctermbg=NONE cterm=NONE
|
||||
hi diffRemoved ctermfg=darkred ctermbg=NONE cterm=NONE
|
||||
hi diffSubname ctermfg=magenta ctermbg=NONE cterm=NONE
|
||||
hi dirType ctermfg=darkmagenta ctermbg=NONE cterm=NONE
|
||||
hi dirPermissionUser ctermfg=darkgreen ctermbg=NONE cterm=NONE
|
||||
hi dirPermissionGroup ctermfg=darkyellow ctermbg=NONE cterm=NONE
|
||||
hi dirPermissionOther ctermfg=darkcyan ctermbg=NONE cterm=NONE
|
||||
hi dirOwner ctermfg=darkgrey ctermbg=NONE cterm=NONE
|
||||
hi dirGroup ctermfg=darkgrey ctermbg=NONE cterm=NONE
|
||||
hi dirTime ctermfg=darkgrey ctermbg=NONE cterm=NONE
|
||||
hi dirSize ctermfg=yellow ctermbg=NONE cterm=NONE
|
||||
hi dirSizeMod ctermfg=darkmagenta ctermbg=NONE cterm=NONE
|
||||
hi FilterMenuDirectorySubtle ctermfg=grey ctermbg=NONE cterm=NONE
|
||||
hi dirFilterMenuBookmarkPath ctermfg=grey ctermbg=NONE cterm=NONE
|
||||
hi dirFilterMenuHistoryPath ctermfg=grey ctermbg=NONE cterm=NONE
|
||||
hi FilterMenuLineNr ctermfg=grey ctermbg=NONE cterm=NONE
|
||||
hi CocSearch ctermfg=yellow ctermbg=NONE cterm=NONE
|
||||
else
|
||||
" Light background
|
||||
hi Normal ctermfg=black ctermbg=white cterm=NONE
|
||||
@@ -586,7 +661,7 @@ if s:t_Co >= 16
|
||||
hi EndOfBuffer ctermfg=darkgrey ctermbg=NONE cterm=NONE
|
||||
hi SpecialKey ctermfg=darkgrey ctermbg=NONE cterm=NONE
|
||||
hi Pmenu ctermfg=black ctermbg=grey cterm=NONE
|
||||
hi PmenuSel ctermfg=black ctermbg=darkgreen cterm=NONE
|
||||
hi PmenuSel ctermfg=black ctermbg=darkcyan cterm=NONE
|
||||
hi PmenuThumb ctermfg=NONE ctermbg=darkgrey cterm=NONE
|
||||
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
@@ -596,7 +671,7 @@ if s:t_Co >= 16
|
||||
hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=bold
|
||||
hi Question ctermfg=darkmagenta ctermbg=NONE cterm=bold
|
||||
hi WarningMsg ctermfg=red ctermbg=NONE cterm=bold
|
||||
hi Todo ctermfg=darkcyan ctermbg=white cterm=reverse
|
||||
hi Todo ctermfg=cyan ctermbg=white cterm=reverse
|
||||
hi Search ctermfg=black ctermbg=yellow cterm=NONE
|
||||
hi IncSearch ctermfg=black ctermbg=green cterm=NONE
|
||||
hi CurSearch ctermfg=black ctermbg=green cterm=NONE
|
||||
@@ -615,12 +690,13 @@ if s:t_Co >= 16
|
||||
hi SpellLocal ctermfg=darkgreen ctermbg=NONE cterm=underline
|
||||
hi SpellRare ctermfg=magenta ctermbg=NONE cterm=underline
|
||||
hi Comment ctermfg=darkblue ctermbg=NONE cterm=NONE
|
||||
hi Constant ctermfg=darkred ctermbg=NONE cterm=NONE
|
||||
hi Constant ctermfg=darkmagenta ctermbg=NONE cterm=NONE
|
||||
hi String ctermfg=darkyellow ctermbg=NONE cterm=NONE
|
||||
hi Identifier ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Statement ctermfg=black ctermbg=NONE cterm=bold
|
||||
hi Type ctermfg=darkgreen ctermbg=NONE cterm=bold
|
||||
hi PreProc ctermfg=darkyellow ctermbg=NONE cterm=NONE
|
||||
hi Special ctermfg=darkcyan ctermbg=NONE cterm=NONE
|
||||
hi Type ctermfg=darkgreen ctermbg=NONE cterm=NONE
|
||||
hi PreProc ctermfg=darkcyan ctermbg=NONE cterm=NONE
|
||||
hi Special ctermfg=cyan ctermbg=NONE cterm=NONE
|
||||
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
|
||||
hi Title ctermfg=NONE ctermbg=NONE cterm=bold
|
||||
hi Directory ctermfg=darkblue ctermbg=NONE cterm=bold
|
||||
@@ -633,6 +709,21 @@ if s:t_Co >= 16
|
||||
hi diffAdded ctermfg=darkgreen ctermbg=NONE cterm=NONE
|
||||
hi diffRemoved ctermfg=red ctermbg=NONE cterm=NONE
|
||||
hi diffSubname ctermfg=darkmagenta ctermbg=NONE cterm=NONE
|
||||
hi dirType ctermfg=darkcyan ctermbg=NONE cterm=NONE
|
||||
hi dirPermissionUser ctermfg=darkyellow ctermbg=NONE cterm=NONE
|
||||
hi dirPermissionGroup ctermfg=darkgreen ctermbg=NONE cterm=NONE
|
||||
hi dirPermissionOther ctermfg=darkmagenta ctermbg=NONE cterm=NONE
|
||||
hi dirOwner ctermfg=grey ctermbg=NONE cterm=NONE
|
||||
hi dirGroup ctermfg=grey ctermbg=NONE cterm=NONE
|
||||
hi dirTime ctermfg=grey ctermbg=NONE cterm=NONE
|
||||
hi dirSize ctermfg=darkred ctermbg=NONE cterm=NONE
|
||||
hi dirSizeMod ctermfg=darkcyan ctermbg=NONE cterm=NONE
|
||||
hi dirLink ctermfg=darkgreen ctermbg=NONE cterm=bold
|
||||
hi dirFilterMenuBookmarkPath ctermfg=darkgrey ctermbg=NONE cterm=NONE
|
||||
hi dirFilterMenuHistoryPath ctermfg=darkgrey ctermbg=NONE cterm=NONE
|
||||
hi FilterMenuDirectorySubtle ctermfg=darkgrey ctermbg=NONE cterm=NONE
|
||||
hi FilterMenuLineNr ctermfg=darkgrey ctermbg=NONE cterm=NONE
|
||||
hi CocSearch ctermfg=darkred ctermbg=NONE cterm=NONE
|
||||
endif
|
||||
unlet s:t_Co
|
||||
finish
|
||||
@@ -656,10 +747,10 @@ if s:t_Co >= 8
|
||||
hi FoldColumn ctermfg=black ctermbg=NONE cterm=NONE
|
||||
hi EndOfBuffer ctermfg=black ctermbg=NONE cterm=NONE
|
||||
hi SpecialKey ctermfg=black ctermbg=NONE cterm=NONE
|
||||
hi Pmenu ctermfg=black ctermbg=grey cterm=NONE
|
||||
hi Pmenu ctermfg=NONE ctermbg=grey cterm=NONE
|
||||
hi PmenuThumb ctermfg=NONE ctermbg=darkgreen cterm=NONE
|
||||
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi PmenuSel ctermfg=black ctermbg=darkgreen cterm=NONE
|
||||
hi PmenuSel ctermfg=black ctermbg=darkcyan cterm=NONE
|
||||
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Error ctermfg=grey ctermbg=darkred cterm=NONE
|
||||
hi ErrorMsg ctermfg=grey ctermbg=darkred cterm=NONE
|
||||
@@ -674,7 +765,7 @@ if s:t_Co >= 8
|
||||
hi WildMenu ctermfg=black ctermbg=darkyellow cterm=bold
|
||||
hi debugPC ctermfg=darkblue ctermbg=NONE cterm=reverse
|
||||
hi debugBreakpoint ctermfg=darkcyan ctermbg=NONE cterm=reverse
|
||||
hi Visual ctermfg=black ctermbg=darkblue cterm=NONE
|
||||
hi Visual ctermfg=NONE ctermbg=NONE cterm=reverse
|
||||
hi MatchParen ctermfg=darkcyan ctermbg=black cterm=reverse
|
||||
hi VisualNOS ctermfg=black ctermbg=darkcyan cterm=NONE
|
||||
hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
|
||||
@@ -688,13 +779,13 @@ if s:t_Co >= 8
|
||||
hi Comment ctermfg=darkblue ctermbg=NONE cterm=NONE
|
||||
hi Constant ctermfg=darkred ctermbg=NONE cterm=NONE
|
||||
hi Identifier ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Statement ctermfg=black ctermbg=NONE cterm=bold
|
||||
hi Type ctermfg=darkgreen ctermbg=NONE cterm=bold
|
||||
hi PreProc ctermfg=darkyellow ctermbg=NONE cterm=NONE
|
||||
hi Statement ctermfg=grey ctermbg=NONE cterm=bold
|
||||
hi Type ctermfg=darkgreen ctermbg=NONE cterm=NONE
|
||||
hi PreProc ctermfg=darkcyan ctermbg=NONE cterm=NONE
|
||||
hi Special ctermfg=darkcyan ctermbg=NONE cterm=NONE
|
||||
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
|
||||
hi Title ctermfg=NONE ctermbg=NONE cterm=bold
|
||||
hi Directory ctermfg=darkcyan ctermbg=NONE cterm=bold
|
||||
hi Directory ctermfg=darkblue ctermbg=NONE cterm=bold
|
||||
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi DiffAdd ctermfg=black ctermbg=darkmagenta cterm=NONE
|
||||
@@ -719,10 +810,10 @@ if s:t_Co >= 8
|
||||
hi FoldColumn ctermfg=black ctermbg=NONE cterm=NONE
|
||||
hi EndOfBuffer ctermfg=black ctermbg=NONE cterm=NONE
|
||||
hi SpecialKey ctermfg=black ctermbg=NONE cterm=NONE
|
||||
hi Pmenu ctermfg=grey ctermbg=black cterm=NONE
|
||||
hi Pmenu ctermfg=NONE ctermbg=black cterm=NONE
|
||||
hi PmenuThumb ctermfg=NONE ctermbg=darkgreen cterm=NONE
|
||||
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi PmenuSel ctermfg=black ctermbg=darkgreen cterm=NONE
|
||||
hi PmenuSel ctermfg=NONE ctermbg=darkcyan cterm=NONE
|
||||
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Error ctermfg=grey ctermbg=darkred cterm=NONE
|
||||
hi ErrorMsg ctermfg=grey ctermbg=darkred cterm=NONE
|
||||
@@ -737,7 +828,7 @@ if s:t_Co >= 8
|
||||
hi WildMenu ctermfg=black ctermbg=darkyellow cterm=bold
|
||||
hi debugPC ctermfg=darkblue ctermbg=NONE cterm=reverse
|
||||
hi debugBreakpoint ctermfg=darkcyan ctermbg=NONE cterm=reverse
|
||||
hi Visual ctermfg=grey ctermbg=darkblue cterm=NONE
|
||||
hi Visual ctermfg=NONE ctermbg=NONE cterm=reverse
|
||||
hi MatchParen ctermfg=darkcyan ctermbg=grey cterm=reverse
|
||||
hi VisualNOS ctermfg=black ctermbg=darkcyan cterm=NONE
|
||||
hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
|
||||
@@ -752,12 +843,12 @@ if s:t_Co >= 8
|
||||
hi Constant ctermfg=darkred ctermbg=NONE cterm=NONE
|
||||
hi Identifier ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Statement ctermfg=black ctermbg=NONE cterm=bold
|
||||
hi Type ctermfg=darkgreen ctermbg=NONE cterm=bold
|
||||
hi PreProc ctermfg=darkyellow ctermbg=NONE cterm=NONE
|
||||
hi Type ctermfg=darkgreen ctermbg=NONE cterm=NONE
|
||||
hi PreProc ctermfg=darkcyan ctermbg=NONE cterm=NONE
|
||||
hi Special ctermfg=darkcyan ctermbg=NONE cterm=NONE
|
||||
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
|
||||
hi Title ctermfg=black ctermbg=NONE cterm=bold
|
||||
hi Directory ctermfg=darkcyan ctermbg=NONE cterm=bold
|
||||
hi Directory ctermfg=darkblue ctermbg=NONE cterm=bold
|
||||
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi DiffAdd ctermfg=black ctermbg=darkmagenta cterm=NONE
|
||||
@@ -848,14 +939,14 @@ endif
|
||||
" Color: color03 #AF875F 137 darkyellow
|
||||
" Color: color11 #FFD787 222 yellow
|
||||
" Color: color04 #5F87AF 67 darkblue
|
||||
" Color: color12 #87AFD7 110 blue
|
||||
" Color: color05 #D787AF 175 darkmagenta
|
||||
" Color: color13 #FFAFD7 218 magenta
|
||||
" Color: color12 #5FAFFF 75 blue
|
||||
" Color: color05 #D787D7 176 darkmagenta
|
||||
" Color: color13 #FF87FF 213 magenta
|
||||
" Color: color06 #5FAFAF 73 darkcyan
|
||||
" Color: color14 #5FD7D7 116 cyan
|
||||
" Color: color07 #C6C6C6 251 grey
|
||||
" Color: color15 #FFFFFF 231 white
|
||||
" Color: colorDimWhite #EEEEEE 255 grey
|
||||
" Color: colorDimWhite #E4E4E4 254 grey
|
||||
" Color: colorLine #262626 235 darkgrey
|
||||
" Color: colorB #1C1C1C 234 darkgrey
|
||||
" Color: colorNonT #585858 240 grey
|
||||
@@ -864,7 +955,7 @@ endif
|
||||
" Color: colorlC #FF5FFF 207 magenta
|
||||
" Color: colorV #005F87 24 darkblue
|
||||
" Color: colorMP #C5E7C5 30 darkcyan
|
||||
" Color: colorPMenuSel #005F00 22 darkgreen
|
||||
" Color: colorPMenuSel #444444 238 darkcyan
|
||||
" Color: colorDim #878787 102 grey
|
||||
" Color: diffAdd #AF87AF 139 darkmagenta
|
||||
" Color: diffDelete #D78787 174 darkred
|
||||
@@ -876,18 +967,18 @@ endif
|
||||
" Background: light
|
||||
" Color: color00 #000000 16 black
|
||||
" Color: color08 #767676 243 darkgrey
|
||||
" Color: color01 #870000 88 darkred
|
||||
" Color: color01 #AF0000 124 darkred
|
||||
" Color: color09 #D70000 160 red
|
||||
" Color: color02 #008700 28 darkgreen
|
||||
" Color: color10 #87D787 114 green
|
||||
" Color: color03 #875F00 94 darkyellow
|
||||
" Color: color11 #D7D787 186 yellow
|
||||
" Color: color04 #005FAF 25 darkblue
|
||||
" Color: color03 #AF5F00 130 darkyellow
|
||||
" Color: color11 #FFD787 222 yellow
|
||||
" Color: color04 #005FD7 26 darkblue
|
||||
" Color: color12 #0087D7 32 blue
|
||||
" Color: color05 #870087 90 darkmagenta
|
||||
" Color: color13 #AF00AF 133 magenta
|
||||
" Color: color05 #AF00AF 127 darkmagenta
|
||||
" Color: color13 #FF00FF 133 magenta
|
||||
" Color: color06 #005F5F 23 darkcyan
|
||||
" Color: color14 #00AFAF 37 cyan
|
||||
" Color: color14 #008787 30 cyan
|
||||
" Color: color07 #808080 244 grey
|
||||
" Color: color15 #FFFFFF 231 white
|
||||
" Color: colorLine #E4E4E4 254 grey
|
||||
@@ -898,7 +989,7 @@ endif
|
||||
" Color: colorlC #FF00FF 201 magenta
|
||||
" Color: colorV #5F87AF 67 darkblue
|
||||
" Color: colorMP #C5E7C5 30 darkcyan
|
||||
" Color: colorPMenuSel #AFD7AF 151 darkgreen
|
||||
" Color: colorPMenuSel #C6C6C6 251 darkcyan
|
||||
" Color: colorDim #626262 241 darkgrey
|
||||
" Color: diffAdd #D7AFD7 182 darkmagenta
|
||||
" Color: diffDelete #870000 88 darkred
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Original maintainer Bram Moolenaar <Bram@vim.org>
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Updated: Mon Aug 8 15:21:13 2022
|
||||
" Last Updated: Fri 02 Sep 2022 09:46:24 MSK
|
||||
|
||||
" Generated by Colortemplate v2.2.0
|
||||
|
||||
@@ -13,7 +13,7 @@ set background=light
|
||||
hi clear
|
||||
let g:colors_name = 'morning'
|
||||
|
||||
let s:t_Co = exists('&t_Co') ? (&t_Co ?? 0) : -1
|
||||
let s:t_Co = exists('&t_Co') && !has('gui_running') ? (&t_Co ?? 0) : -1
|
||||
|
||||
if (has('termguicolors') && &termguicolors) || has('gui_running')
|
||||
let g:terminal_ansi_colors = ['#e4e4e4', '#a52a2a', '#ff00ff', '#6a0dad', '#008787', '#2e8b57', '#6a5acd', '#bcbcbc', '#0000ff', '#a52a2a', '#ff00ff', '#6a0dad', '#008787', '#2e8b57', '#6a5acd', '#000000']
|
||||
@@ -26,6 +26,8 @@ hi! link CursorLineFold CursorLine
|
||||
hi! link CursorLineSign CursorLine
|
||||
hi! link StatuslineTerm Statusline
|
||||
hi! link StatuslineTermNC StatuslineNC
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi Normal guifg=#000000 guibg=#e4e4e4 gui=NONE cterm=NONE
|
||||
hi EndOfBuffer guifg=#0000ff guibg=#cccccc gui=bold cterm=bold
|
||||
hi Folded guifg=#00008b guibg=#d3d3d3 gui=NONE cterm=NONE
|
||||
@@ -96,6 +98,8 @@ if s:t_Co >= 256
|
||||
hi! link CursorLineSign CursorLine
|
||||
hi! link StatuslineTerm Statusline
|
||||
hi! link StatuslineTermNC StatuslineNC
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi Normal ctermfg=16 ctermbg=254 cterm=NONE
|
||||
hi EndOfBuffer ctermfg=21 ctermbg=252 cterm=bold
|
||||
hi Folded ctermfg=18 ctermbg=252 cterm=NONE
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Original maintainer Ron Aaron <ron@ronware.org>.
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Updated: Mon Aug 8 15:21:14 2022
|
||||
" Last Updated: Fri 02 Sep 2022 09:47:20 MSK
|
||||
|
||||
" Generated by Colortemplate v2.2.0
|
||||
|
||||
@@ -13,7 +13,7 @@ set background=dark
|
||||
hi clear
|
||||
let g:colors_name = 'murphy'
|
||||
|
||||
let s:t_Co = exists('&t_Co') ? (&t_Co ?? 0) : -1
|
||||
let s:t_Co = exists('&t_Co') && !has('gui_running') ? (&t_Co ?? 0) : -1
|
||||
|
||||
if (has('termguicolors') && &termguicolors) || has('gui_running')
|
||||
let g:terminal_ansi_colors = ['#303030', '#ffa700', '#005f00', '#ffd7af', '#87afff', '#ffafaf', '#00afaf', '#bcbcbc', '#444444', '#ff0000', '#00875f', '#ffff00', '#005fff', '#ff00ff', '#00ffff', '#ffffff']
|
||||
@@ -26,6 +26,8 @@ hi! link CursorLineFold CursorLine
|
||||
hi! link CursorLineSign CursorLine
|
||||
hi! link StatusLineTerm StatusLine
|
||||
hi! link StatusLineTermNC StatusLineNC
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi Normal guifg=#87ff87 guibg=#000000 gui=NONE cterm=NONE
|
||||
hi EndOfBuffer guifg=#0000ff guibg=#000000 gui=NONE cterm=NONE
|
||||
hi StatusLine guifg=#ffffff guibg=#00008b gui=NONE cterm=NONE
|
||||
@@ -96,6 +98,8 @@ if s:t_Co >= 256
|
||||
hi! link CursorLineSign CursorLine
|
||||
hi! link StatusLineTerm StatusLine
|
||||
hi! link StatusLineTermNC StatusLineNC
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi Normal ctermfg=120 ctermbg=16 cterm=NONE
|
||||
hi EndOfBuffer ctermfg=21 ctermbg=16 cterm=NONE
|
||||
hi StatusLine ctermfg=231 ctermbg=18 cterm=NONE
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
" Maintainer: Original maintainerRon Aaron <ron@ronware.org>
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Updated: Mon Aug 8 15:21:15 2022
|
||||
" Last Updated: Wed 14 Sep 2022 19:05:27 MSK
|
||||
|
||||
" Generated by Colortemplate v2.2.0
|
||||
|
||||
@@ -12,18 +12,20 @@ set background=dark
|
||||
hi clear
|
||||
let g:colors_name = 'pablo'
|
||||
|
||||
let s:t_Co = exists('&t_Co') ? (&t_Co ?? 0) : -1
|
||||
let s:t_Co = exists('&t_Co') && !has('gui_running') ? (&t_Co ?? 0) : -1
|
||||
|
||||
if (has('termguicolors') && &termguicolors) || has('gui_running')
|
||||
let g:terminal_ansi_colors = ['#000000', '#cd0000', '#00cd00', '#cdcd00', '#0000ee', '#cd00cd', '#00cdcd', '#e5e5e5', '#7f7f7f', '#ff0000', '#00ff00', '#ffff00', '#5c5cff', '#ff00ff', '#00ffff', '#ffffff']
|
||||
endif
|
||||
hi Normal guifg=#ffffff guibg=#000000 gui=NONE cterm=NONE
|
||||
hi! link Terminal Normal
|
||||
hi! link StatusLineTerm StatusLine
|
||||
hi! link StatusLineTermNC StatusLineNC
|
||||
hi! link CurSearch Search
|
||||
hi! link CursorLineFold CursorLine
|
||||
hi! link CursorLineSign CursorLine
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi Normal guifg=#ffffff guibg=#000000 gui=NONE cterm=NONE
|
||||
hi Comment guifg=#808080 guibg=NONE gui=NONE cterm=NONE
|
||||
hi Constant guifg=#00ffff guibg=NONE gui=NONE cterm=NONE
|
||||
hi Identifier guifg=#00c0c0 guibg=NONE gui=NONE cterm=NONE
|
||||
@@ -88,13 +90,15 @@ hi DiffText guifg=#000000 guibg=#c6c6c6 gui=NONE cterm=NONE
|
||||
hi DiffDelete guifg=#ffffff guibg=#af5faf gui=NONE cterm=NONE
|
||||
|
||||
if s:t_Co >= 256
|
||||
hi Normal ctermfg=231 ctermbg=16 cterm=NONE
|
||||
hi! link Terminal Normal
|
||||
hi! link StatusLineTerm StatusLine
|
||||
hi! link StatusLineTermNC StatusLineNC
|
||||
hi! link CurSearch Search
|
||||
hi! link CursorLineFold CursorLine
|
||||
hi! link CursorLineSign CursorLine
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi Normal ctermfg=231 ctermbg=16 cterm=NONE
|
||||
hi Comment ctermfg=244 ctermbg=NONE cterm=NONE
|
||||
hi Constant ctermfg=51 ctermbg=NONE cterm=NONE
|
||||
hi Identifier ctermfg=37 ctermbg=NONE cterm=NONE
|
||||
@@ -117,7 +121,7 @@ if s:t_Co >= 256
|
||||
hi NonText ctermfg=63 ctermbg=NONE cterm=bold
|
||||
hi EndOfBuffer ctermfg=63 ctermbg=NONE cterm=bold
|
||||
hi ErrorMsg ctermfg=231 ctermbg=160 cterm=NONE
|
||||
hi WarningMsg ctermfg=224 ctermbg=NONE cterm=NONE
|
||||
hi WarningMsg ctermfg=196 ctermbg=NONE cterm=NONE
|
||||
hi SignColumn ctermfg=51 ctermbg=248 cterm=NONE
|
||||
hi ColorColumn ctermfg=NONE ctermbg=239 cterm=NONE
|
||||
hi FoldColumn ctermfg=102 ctermbg=236 cterm=NONE
|
||||
@@ -163,12 +167,6 @@ endif
|
||||
|
||||
if s:t_Co >= 16
|
||||
hi Normal ctermfg=white ctermbg=black cterm=NONE
|
||||
hi! link Terminal Normal
|
||||
hi! link StatusLineTerm StatusLine
|
||||
hi! link StatusLineTermNC StatusLineNC
|
||||
hi! link CurSearch Search
|
||||
hi! link CursorLineFold CursorLine
|
||||
hi! link CursorLineSign CursorLine
|
||||
hi Comment ctermfg=darkgrey ctermbg=NONE cterm=NONE
|
||||
hi Constant ctermfg=cyan ctermbg=NONE cterm=NONE
|
||||
hi Identifier ctermfg=darkcyan ctermbg=NONE cterm=NONE
|
||||
@@ -191,7 +189,7 @@ if s:t_Co >= 16
|
||||
hi NonText ctermfg=blue ctermbg=NONE cterm=bold
|
||||
hi EndOfBuffer ctermfg=blue ctermbg=NONE cterm=bold
|
||||
hi ErrorMsg ctermfg=white ctermbg=darkred cterm=NONE
|
||||
hi WarningMsg ctermfg=darkred ctermbg=NONE cterm=NONE
|
||||
hi WarningMsg ctermfg=red ctermbg=NONE cterm=NONE
|
||||
hi SignColumn ctermfg=cyan ctermbg=black cterm=NONE
|
||||
hi ColorColumn ctermfg=white ctermbg=darkgrey cterm=NONE
|
||||
hi FoldColumn ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
@@ -282,7 +280,6 @@ if s:t_Co >= 8
|
||||
hi SpellLocal ctermfg=darkmagenta ctermbg=darkyellow cterm=reverse
|
||||
hi SpellRare ctermfg=darkgreen ctermbg=NONE cterm=reverse
|
||||
hi Comment ctermfg=grey ctermbg=NONE cterm=bold
|
||||
hi Comment ctermfg=darkgrey ctermbg=NONE cterm=NONE
|
||||
hi Constant ctermfg=darkcyan ctermbg=NONE cterm=bold
|
||||
hi Identifier ctermfg=darkcyan ctermbg=NONE cterm=NONE
|
||||
hi Statement ctermfg=darkyellow ctermbg=NONE cterm=bold
|
||||
@@ -405,7 +402,7 @@ endif
|
||||
" Color: SpecialKey #00ffff 81 cyan
|
||||
" Color: StatusLineTerm #90ee90 121 darkgreen
|
||||
" Color: Title #ff00ff 225 magenta
|
||||
" Color: WarningMsg #ff0000 224 darkred
|
||||
" Color: WarningMsg #ff0000 196 red
|
||||
" Color: ToolbarLine #7f7f7f 242 darkgrey
|
||||
" Color: ToolbarButton #d3d3d3 254 grey
|
||||
" Color: Underlined #80a0ff 111 darkgreen
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Original maintainer David Ne\v{c}as (Yeti) <yeti@physics.muni.cz>
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Updated: Mon Aug 8 15:21:16 2022
|
||||
" Last Updated: Fri 02 Sep 2022 09:50:02 MSK
|
||||
|
||||
" Generated by Colortemplate v2.2.0
|
||||
|
||||
@@ -13,7 +13,7 @@ set background=light
|
||||
hi clear
|
||||
let g:colors_name = 'peachpuff'
|
||||
|
||||
let s:t_Co = exists('&t_Co') ? (&t_Co ?? 0) : -1
|
||||
let s:t_Co = exists('&t_Co') && !has('gui_running') ? (&t_Co ?? 0) : -1
|
||||
|
||||
if (has('termguicolors') && &termguicolors) || has('gui_running')
|
||||
let g:terminal_ansi_colors = ['#ffdab9', '#a52a2a', '#c00058', '#cd00cd', '#008b8b', '#2e8b57', '#6a5acd', '#737373', '#406090', '#a52a2a', '#c00058', '#cd00cd', '#008b8b', '#2e8b57', '#6a5acd', '#000000']
|
||||
@@ -24,6 +24,8 @@ hi! link LineNrBelow LineNr
|
||||
hi! link CurSearch Search
|
||||
hi! link CursorLineFold CursorLine
|
||||
hi! link CursorLineSign CursorLine
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi Normal guifg=#000000 guibg=#ffdab9 gui=NONE cterm=NONE
|
||||
hi Folded guifg=#000000 guibg=#e3c1a5 gui=NONE cterm=NONE
|
||||
hi CursorLine guifg=NONE guibg=#f5c195 gui=NONE cterm=NONE
|
||||
@@ -94,6 +96,8 @@ if s:t_Co >= 256
|
||||
hi! link CurSearch Search
|
||||
hi! link CursorLineFold CursorLine
|
||||
hi! link CursorLineSign CursorLine
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi Normal ctermfg=16 ctermbg=223 cterm=NONE
|
||||
hi Folded ctermfg=16 ctermbg=252 cterm=NONE
|
||||
hi CursorLine ctermfg=NONE ctermbg=180 cterm=NONE
|
||||
|
||||
@@ -4,18 +4,20 @@
|
||||
" Maintainer: neutaaaaan <neutaaaaan-gh@protonmail.com>
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Vim License (see `:help license`)`
|
||||
" Last Updated: 2022-08-14 15:17:11
|
||||
" Last Updated: Fri 16 Sep 2022 09:52:50 MSK
|
||||
|
||||
" Generated by Colortemplate v2.2.0
|
||||
|
||||
hi clear
|
||||
let g:colors_name = 'quiet'
|
||||
|
||||
let s:t_Co = exists('&t_Co') ? (&t_Co ?? 0) : -1
|
||||
let s:t_Co = exists('&t_Co') && !has('gui_running') ? (&t_Co ?? 0) : -1
|
||||
|
||||
hi! link Terminal Normal
|
||||
hi! link StatusLineTerm StatusLine
|
||||
hi! link StatusLineTermNC StatusLineNC
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi! link Boolean Constant
|
||||
hi! link Character Constant
|
||||
hi! link Conditional Statement
|
||||
@@ -59,8 +61,8 @@ if &background ==# 'dark'
|
||||
hi DiffChange guifg=#87afd7 guibg=#080808 gui=reverse cterm=reverse
|
||||
hi DiffDelete guifg=#d75f5f guibg=#080808 gui=reverse cterm=reverse
|
||||
hi DiffText guifg=#d787d7 guibg=#080808 gui=reverse cterm=reverse
|
||||
hi Directory guifg=#dadada guibg=#080808 gui=NONE cterm=NONE
|
||||
hi EndOfBuffer guifg=#dadada guibg=#080808 gui=NONE cterm=NONE
|
||||
hi Directory guifg=#dadada guibg=NONE gui=NONE cterm=NONE
|
||||
hi EndOfBuffer guifg=#dadada guibg=NONE gui=NONE cterm=NONE
|
||||
hi ErrorMsg guifg=#dadada guibg=#080808 gui=reverse cterm=reverse
|
||||
hi FoldColumn guifg=#707070 guibg=NONE gui=NONE cterm=NONE
|
||||
hi Folded guifg=#707070 guibg=#080808 gui=NONE cterm=NONE
|
||||
@@ -84,13 +86,13 @@ if &background ==# 'dark'
|
||||
hi SpellLocal guifg=#d787d7 guibg=NONE guisp=#d787d7 gui=undercurl cterm=underline
|
||||
hi SpellRare guifg=#00afaf guibg=NONE guisp=#00afaf gui=undercurl cterm=underline
|
||||
hi StatusLine guifg=#080808 guibg=#dadada gui=bold cterm=bold
|
||||
hi StatusLineNC guifg=#707070 guibg=#080808 gui=underline cterm=underline
|
||||
hi TabLine guifg=#707070 guibg=#080808 gui=underline cterm=underline
|
||||
hi StatusLineNC guifg=#707070 guibg=#080808 gui=reverse cterm=reverse
|
||||
hi TabLine guifg=#707070 guibg=#080808 gui=reverse cterm=reverse
|
||||
hi TabLineFill guifg=#dadada guibg=NONE gui=NONE cterm=NONE
|
||||
hi TabLineSel guifg=#080808 guibg=#dadada gui=bold cterm=bold
|
||||
hi Title guifg=#dadada guibg=NONE gui=NONE cterm=NONE
|
||||
hi Title guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi VertSplit guifg=#707070 guibg=#080808 gui=NONE cterm=NONE
|
||||
hi Visual guifg=NONE guibg=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse
|
||||
hi Visual guifg=#ffaf00 guibg=#080808 gui=reverse cterm=reverse
|
||||
hi VisualNOS guifg=NONE guibg=#303030 gui=NONE cterm=NONE
|
||||
hi WarningMsg guifg=#dadada guibg=NONE gui=NONE cterm=NONE
|
||||
hi WildMenu guifg=#00afff guibg=#080808 gui=bold cterm=bold
|
||||
@@ -153,9 +155,9 @@ else
|
||||
hi TabLine guifg=#080808 guibg=#a8a8a8 gui=NONE cterm=NONE
|
||||
hi TabLineFill guifg=#080808 guibg=#d7d7d7 gui=NONE cterm=NONE
|
||||
hi TabLineSel guifg=#eeeeee guibg=#080808 gui=bold cterm=bold
|
||||
hi Title guifg=#080808 guibg=NONE gui=NONE cterm=NONE
|
||||
hi Title guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi VertSplit guifg=#626262 guibg=#d7d7d7 gui=NONE cterm=NONE
|
||||
hi Visual guifg=NONE guibg=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse
|
||||
hi Visual guifg=#ffaf00 guibg=#080808 gui=reverse cterm=reverse
|
||||
hi VisualNOS guifg=NONE guibg=#eeeeee gui=NONE cterm=NONE
|
||||
hi WarningMsg guifg=#080808 guibg=NONE gui=NONE cterm=NONE
|
||||
hi WildMenu guifg=#080808 guibg=#eeeeee gui=bold cterm=bold
|
||||
@@ -188,8 +190,8 @@ if s:t_Co >= 256
|
||||
hi DiffChange ctermfg=110 ctermbg=232 cterm=reverse
|
||||
hi DiffDelete ctermfg=167 ctermbg=232 cterm=reverse
|
||||
hi DiffText ctermfg=176 ctermbg=232 cterm=reverse
|
||||
hi Directory ctermfg=253 ctermbg=232 cterm=NONE
|
||||
hi EndOfBuffer ctermfg=253 ctermbg=232 cterm=NONE
|
||||
hi Directory ctermfg=253 ctermbg=NONE cterm=NONE
|
||||
hi EndOfBuffer ctermfg=253 ctermbg=NONE cterm=NONE
|
||||
hi ErrorMsg ctermfg=253 ctermbg=232 cterm=reverse
|
||||
hi FoldColumn ctermfg=242 ctermbg=NONE cterm=NONE
|
||||
hi Folded ctermfg=242 ctermbg=232 cterm=NONE
|
||||
@@ -213,13 +215,13 @@ if s:t_Co >= 256
|
||||
hi SpellLocal ctermfg=176 ctermbg=NONE cterm=underline
|
||||
hi SpellRare ctermfg=37 ctermbg=NONE cterm=underline
|
||||
hi StatusLine ctermfg=232 ctermbg=253 cterm=bold
|
||||
hi StatusLineNC ctermfg=242 ctermbg=232 cterm=underline
|
||||
hi TabLine ctermfg=242 ctermbg=232 cterm=underline
|
||||
hi StatusLineNC ctermfg=242 ctermbg=232 cterm=reverse
|
||||
hi TabLine ctermfg=242 ctermbg=232 cterm=reverse
|
||||
hi TabLineFill ctermfg=253 ctermbg=NONE cterm=NONE
|
||||
hi TabLineSel ctermfg=232 ctermbg=253 cterm=bold
|
||||
hi Title ctermfg=253 ctermbg=NONE cterm=NONE
|
||||
hi Title ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi VertSplit ctermfg=242 ctermbg=232 cterm=NONE
|
||||
hi Visual ctermfg=NONE ctermbg=NONE cterm=reverse
|
||||
hi Visual ctermfg=214 ctermbg=232 cterm=reverse
|
||||
hi VisualNOS ctermfg=NONE ctermbg=236 cterm=NONE
|
||||
hi WarningMsg ctermfg=253 ctermbg=NONE cterm=NONE
|
||||
hi WildMenu ctermfg=39 ctermbg=232 cterm=bold
|
||||
@@ -279,9 +281,9 @@ if s:t_Co >= 256
|
||||
hi TabLine ctermfg=232 ctermbg=248 cterm=NONE
|
||||
hi TabLineFill ctermfg=232 ctermbg=188 cterm=NONE
|
||||
hi TabLineSel ctermfg=255 ctermbg=232 cterm=bold
|
||||
hi Title ctermfg=232 ctermbg=NONE cterm=NONE
|
||||
hi Title ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi VertSplit ctermfg=241 ctermbg=188 cterm=NONE
|
||||
hi Visual ctermfg=NONE ctermbg=NONE cterm=reverse
|
||||
hi Visual ctermfg=214 ctermbg=232 cterm=reverse
|
||||
hi VisualNOS ctermfg=NONE ctermbg=255 cterm=NONE
|
||||
hi WarningMsg ctermfg=232 ctermbg=NONE cterm=NONE
|
||||
hi WildMenu ctermfg=232 ctermbg=255 cterm=bold
|
||||
@@ -348,7 +350,7 @@ if s:t_Co >= 16
|
||||
hi TabLineSel ctermfg=NONE ctermbg=NONE cterm=bold,reverse
|
||||
hi Title ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi VertSplit ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Visual ctermfg=NONE ctermbg=NONE cterm=reverse
|
||||
hi Visual ctermfg=darkyellow ctermbg=black cterm=reverse
|
||||
hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi WarningMsg ctermfg=NONE ctermbg=NONE cterm=standout
|
||||
hi WildMenu ctermfg=NONE ctermbg=NONE cterm=bold
|
||||
@@ -410,7 +412,7 @@ if s:t_Co >= 16
|
||||
hi TabLineSel ctermfg=NONE ctermbg=NONE cterm=bold,reverse
|
||||
hi Title ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi VertSplit ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Visual ctermfg=NONE ctermbg=NONE cterm=reverse
|
||||
hi Visual ctermfg=darkyellow ctermbg=black cterm=reverse
|
||||
hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi WarningMsg ctermfg=NONE ctermbg=NONE cterm=standout
|
||||
hi WildMenu ctermfg=NONE ctermbg=NONE cterm=bold
|
||||
@@ -477,7 +479,7 @@ if s:t_Co >= 8
|
||||
hi TabLineSel ctermfg=NONE ctermbg=NONE cterm=bold,reverse
|
||||
hi Title ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi VertSplit ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Visual ctermfg=NONE ctermbg=NONE cterm=reverse
|
||||
hi Visual ctermfg=darkyellow ctermbg=black cterm=reverse
|
||||
hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi WarningMsg ctermfg=NONE ctermbg=NONE cterm=standout
|
||||
hi WildMenu ctermfg=NONE ctermbg=NONE cterm=bold
|
||||
@@ -539,7 +541,7 @@ if s:t_Co >= 8
|
||||
hi TabLineSel ctermfg=NONE ctermbg=NONE cterm=bold,reverse
|
||||
hi Title ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi VertSplit ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Visual ctermfg=NONE ctermbg=NONE cterm=reverse
|
||||
hi Visual ctermfg=darkyellow ctermbg=black cterm=reverse
|
||||
hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi WarningMsg ctermfg=NONE ctermbg=NONE cterm=standout
|
||||
hi WildMenu ctermfg=NONE ctermbg=NONE cterm=bold
|
||||
@@ -650,7 +652,7 @@ endif
|
||||
" Color: diffred #d75f5f 167 darkred
|
||||
" Color: diffgreen #00af00 34 darkgreen
|
||||
" Color: diffblue #87afd7 110 darkblue
|
||||
" Color: diffpink #d787d7 176 darkmagenta
|
||||
" Color: diffpink #d787d7 176 darkmagenta
|
||||
" Color: uipink #ff00af 199 magenta
|
||||
" Color: uilime #afff00 154 green
|
||||
" Color: uiteal #00ffaf 49 green
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
" Maintainer: original maintainer Ron Aaron <ron@ronware.org>
|
||||
" Website: https://www.github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Updated: Mon Aug 8 15:21:18 2022
|
||||
" Last Updated: Fri 02 Sep 2022 09:50:56 MSK
|
||||
|
||||
" Generated by Colortemplate v2.2.0
|
||||
|
||||
@@ -12,7 +12,7 @@ set background=dark
|
||||
hi clear
|
||||
let g:colors_name = 'ron'
|
||||
|
||||
let s:t_Co = exists('&t_Co') ? (&t_Co ?? 0) : -1
|
||||
let s:t_Co = exists('&t_Co') && !has('gui_running') ? (&t_Co ?? 0) : -1
|
||||
|
||||
hi! link Terminal Normal
|
||||
hi! link Boolean Constant
|
||||
@@ -46,6 +46,8 @@ hi! link CursorLineFold CursorLine
|
||||
hi! link CursorLineSign CursorLine
|
||||
hi! link LineNrAbove LineNr
|
||||
hi! link LineNrBelow LineNr
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
|
||||
if (has('termguicolors') && &termguicolors) || has('gui_running')
|
||||
let g:terminal_ansi_colors = ['#000000', '#cd0000', '#00cd00', '#cdcd00', '#0000ee', '#cd00cd', '#00cdcd', '#e5e5e5', '#7f7f7f', '#ff0000', '#00ff00', '#ffff00', '#5c5cff', '#ff00ff', '#00ffff', '#ffffff']
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Original maintainer is Yasuhiro Matsumoto <mattn@mail.goo.ne.jp>
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Updated: Mon Aug 8 15:21:19 2022
|
||||
" Last Updated: Fri 02 Sep 2022 09:51:42 MSK
|
||||
|
||||
" Generated by Colortemplate v2.2.0
|
||||
|
||||
@@ -13,7 +13,7 @@ set background=light
|
||||
hi clear
|
||||
let g:colors_name = 'shine'
|
||||
|
||||
let s:t_Co = exists('&t_Co') ? (&t_Co ?? 0) : -1
|
||||
let s:t_Co = exists('&t_Co') && !has('gui_running') ? (&t_Co ?? 0) : -1
|
||||
|
||||
if (has('termguicolors') && &termguicolors) || has('gui_running')
|
||||
let g:terminal_ansi_colors = ['#000000', '#8b0000', '#006400', '#ffff00', '#00008b', '#6a0dad', '#008b8b', '#dadada', '#767676', '#ffafaf', '#90ee90', '#ffff60', '#add8e6', '#ff00ff', '#00ffff', '#ffffff']
|
||||
@@ -28,6 +28,8 @@ hi! link EndOfBuffer NonText
|
||||
hi! link ErrorMsg Error
|
||||
hi! link Tag Special
|
||||
hi! link Operator Statement
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi Normal guifg=#000000 guibg=#ffffff gui=NONE cterm=NONE
|
||||
hi Folded guifg=#00008b guibg=#dadada gui=NONE cterm=NONE
|
||||
hi CursorLine guifg=NONE guibg=#dadada gui=NONE cterm=NONE
|
||||
@@ -104,6 +106,8 @@ if s:t_Co >= 256
|
||||
hi! link ErrorMsg Error
|
||||
hi! link Tag Special
|
||||
hi! link Operator Statement
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi Normal ctermfg=16 ctermbg=231 cterm=NONE
|
||||
hi Folded ctermfg=18 ctermbg=253 cterm=NONE
|
||||
hi CursorLine ctermfg=NONE ctermbg=253 cterm=NONE
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Original maintainer Ralph Amissah <ralph@amissah.com>
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Updated: Tue Aug 16 08:11:08 2022
|
||||
" Last Updated: Fri 02 Sep 2022 09:52:25 MSK
|
||||
|
||||
" Generated by Colortemplate v2.2.0
|
||||
|
||||
@@ -13,7 +13,7 @@ set background=dark
|
||||
hi clear
|
||||
let g:colors_name = 'slate'
|
||||
|
||||
let s:t_Co = exists('&t_Co') ? (&t_Co ?? 0) : -1
|
||||
let s:t_Co = exists('&t_Co') && !has('gui_running') ? (&t_Co ?? 0) : -1
|
||||
|
||||
if (has('termguicolors') && &termguicolors) || has('gui_running')
|
||||
let g:terminal_ansi_colors = ['#000000', '#cd0000', '#00cd00', '#cdcd00', '#0000ee', '#cd00cd', '#00cdcd', '#e5e5e5', '#7f7f7f', '#ff0000', '#00ff00', '#ffff00', '#5c5cff', '#ff00ff', '#00ffff', '#ffffff']
|
||||
@@ -24,6 +24,8 @@ hi! link LineNrBelow LineNr
|
||||
hi! link CurSearch Search
|
||||
hi! link CursorLineFold CursorLine
|
||||
hi! link CursorLineSign CursorLine
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi Normal guifg=#ffffff guibg=#262626 gui=NONE cterm=NONE
|
||||
hi EndOfBuffer guifg=#5f87d7 guibg=NONE gui=NONE cterm=NONE
|
||||
hi StatusLine guifg=#000000 guibg=#afaf87 gui=NONE cterm=NONE
|
||||
@@ -99,6 +101,8 @@ if s:t_Co >= 256
|
||||
hi! link CurSearch Search
|
||||
hi! link CursorLineFold CursorLine
|
||||
hi! link CursorLineSign CursorLine
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi Normal ctermfg=231 ctermbg=235 cterm=NONE
|
||||
hi EndOfBuffer ctermfg=68 ctermbg=NONE cterm=NONE
|
||||
hi StatusLine ctermfg=16 ctermbg=144 cterm=NONE
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Original maintainer Thorsten Maerz <info@netztorte.de>
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Updated: Mon Aug 8 15:21:22 2022
|
||||
" Last Updated: Fri 02 Sep 2022 09:53:21 MSK
|
||||
|
||||
" Generated by Colortemplate v2.2.0
|
||||
|
||||
@@ -13,7 +13,7 @@ set background=dark
|
||||
hi clear
|
||||
let g:colors_name = 'torte'
|
||||
|
||||
let s:t_Co = exists('&t_Co') ? (&t_Co ?? 0) : -1
|
||||
let s:t_Co = exists('&t_Co') && !has('gui_running') ? (&t_Co ?? 0) : -1
|
||||
|
||||
if (has('termguicolors') && &termguicolors) || has('gui_running')
|
||||
let g:terminal_ansi_colors = ['#000000', '#cd0000', '#00cd00', '#cdcd00', '#0000ee', '#cd00cd', '#00cdcd', '#e5e5e5', '#7f7f7f', '#ff0000', '#00ff00', '#ffff00', '#5c5cff', '#ff00ff', '#00ffff', '#ffffff']
|
||||
@@ -26,6 +26,8 @@ hi! link CursorLineFold CursorLine
|
||||
hi! link CursorLineSign CursorLine
|
||||
hi! link StatusLineTerm StatusLine
|
||||
hi! link StatusLineTermNC StatusLineNC
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi Normal guifg=#cccccc guibg=#000000 gui=NONE cterm=NONE
|
||||
hi Comment guifg=#80a0ff guibg=NONE gui=NONE cterm=NONE
|
||||
hi Constant guifg=#ffa0a0 guibg=NONE gui=NONE cterm=NONE
|
||||
@@ -97,6 +99,8 @@ if s:t_Co >= 256
|
||||
hi! link CursorLineSign CursorLine
|
||||
hi! link StatusLineTerm StatusLine
|
||||
hi! link StatusLineTermNC StatusLineNC
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi Normal ctermfg=251 ctermbg=16 cterm=NONE
|
||||
hi Comment ctermfg=111 ctermbg=NONE cterm=NONE
|
||||
hi Constant ctermfg=217 ctermbg=NONE cterm=NONE
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Original maintainer Ron Aaron <ron@ronware.org>
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Updated: Mon Aug 8 15:21:23 2022
|
||||
" Last Updated: Fri 02 Sep 2022 09:54:15 MSK
|
||||
|
||||
" Generated by Colortemplate v2.2.0
|
||||
|
||||
@@ -13,7 +13,7 @@ set background=light
|
||||
hi clear
|
||||
let g:colors_name = 'zellner'
|
||||
|
||||
let s:t_Co = exists('&t_Co') ? (&t_Co ?? 0) : -1
|
||||
let s:t_Co = exists('&t_Co') && !has('gui_running') ? (&t_Co ?? 0) : -1
|
||||
|
||||
if (has('termguicolors') && &termguicolors) || has('gui_running')
|
||||
let g:terminal_ansi_colors = ['#ffffff', '#a52a2a', '#ff00ff', '#a020f0', '#0000ff', '#0000ff', '#ff00ff', '#a9a9a9', '#ff0000', '#a52a2a', '#ff00ff', '#a020f0', '#0000ff', '#0000ff', '#ff00ff', '#000000']
|
||||
@@ -24,6 +24,8 @@ hi! link LineNrBelow LineNr
|
||||
hi! link CurSearch Search
|
||||
hi! link CursorLineFold CursorLine
|
||||
hi! link CursorLineSign CursorLine
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi Normal guifg=#000000 guibg=#ffffff gui=NONE cterm=NONE
|
||||
hi Folded guifg=#00008b guibg=#d3d3d3 gui=NONE cterm=NONE
|
||||
hi CursorLine guifg=NONE guibg=#e5e5e5 gui=NONE cterm=NONE
|
||||
@@ -95,6 +97,8 @@ if s:t_Co >= 256
|
||||
hi! link CurSearch Search
|
||||
hi! link CursorLineFold CursorLine
|
||||
hi! link CursorLineSign CursorLine
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi Normal ctermfg=16 ctermbg=231 cterm=NONE
|
||||
hi Folded ctermfg=18 ctermbg=252 cterm=NONE
|
||||
hi CursorLine ctermfg=NONE ctermbg=254 cterm=NONE
|
||||
|
||||
14
runtime/compiler/raco.vim
Normal file
14
runtime/compiler/raco.vim
Normal file
@@ -0,0 +1,14 @@
|
||||
" Vim compiler file
|
||||
" Compiler: raco (Racket command-line tools)
|
||||
" Maintainer: D. Ben Knoble <ben.knoble+github@gmail.com>
|
||||
" URL: https://github.com/benknoble/vim-racket
|
||||
" Last Change: 2022 Aug 12
|
||||
|
||||
let current_compiler = 'raco'
|
||||
|
||||
if exists(":CompilerSet") != 2
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
CompilerSet makeprg=raco
|
||||
CompilerSet errorformat=%f:%l:%c:%m
|
||||
14
runtime/compiler/racomake.vim
Normal file
14
runtime/compiler/racomake.vim
Normal file
@@ -0,0 +1,14 @@
|
||||
" Vim compiler file
|
||||
" Compiler: raco make (Racket command-line tools)
|
||||
" Maintainer: D. Ben Knoble <ben.knoble+github@gmail.com>
|
||||
" URL: https://github.com/benknoble/vim-racket
|
||||
" Last Change: 2022 Aug 12
|
||||
|
||||
let current_compiler = 'racomake'
|
||||
|
||||
if exists(":CompilerSet") != 2
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
CompilerSet makeprg=raco\ make\ --\ %
|
||||
CompilerSet errorformat=%f:%l:%c:%m
|
||||
14
runtime/compiler/racosetup.vim
Normal file
14
runtime/compiler/racosetup.vim
Normal file
@@ -0,0 +1,14 @@
|
||||
" Vim compiler file
|
||||
" Compiler: raco setup (Racket command-line tools)
|
||||
" Maintainer: D. Ben Knoble <ben.knoble+github@gmail.com>
|
||||
" URL: https://github.com/benknoble/vim-racket
|
||||
" Last Change: 2022 Aug 12
|
||||
|
||||
let current_compiler = 'racosetup'
|
||||
|
||||
if exists(":CompilerSet") != 2
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
CompilerSet makeprg=raco\ setup
|
||||
CompilerSet errorformat=%f:%l:%c:%m
|
||||
14
runtime/compiler/racotest.vim
Normal file
14
runtime/compiler/racotest.vim
Normal file
@@ -0,0 +1,14 @@
|
||||
" Vim compiler file
|
||||
" Compiler: raco test (Racket command-line tools)
|
||||
" Maintainer: D. Ben Knoble <ben.knoble+github@gmail.com>
|
||||
" URL: https://github.com/benknoble/vim-racket
|
||||
" Last Change: 2022 Aug 12
|
||||
|
||||
let current_compiler = 'racotest'
|
||||
|
||||
if exists(":CompilerSet") != 2
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
CompilerSet makeprg=raco\ test\ %
|
||||
CompilerSet errorformat=location:%f:%l:%c
|
||||
@@ -31,6 +31,8 @@ DOCS = \
|
||||
filetype.txt \
|
||||
fold.txt \
|
||||
ft_ada.txt \
|
||||
ft_context.txt \
|
||||
ft_mp.txt \
|
||||
ft_ps1.txt \
|
||||
ft_raku.txt \
|
||||
ft_rust.txt \
|
||||
@@ -113,6 +115,7 @@ DOCS = \
|
||||
todo.txt \
|
||||
uganda.txt \
|
||||
undo.txt \
|
||||
userfunc.txt \
|
||||
usr_01.txt \
|
||||
usr_02.txt \
|
||||
usr_03.txt \
|
||||
@@ -180,6 +183,8 @@ HTMLS = \
|
||||
filetype.html \
|
||||
fold.html \
|
||||
ft_ada.html \
|
||||
ft_context.html \
|
||||
ft_mp.html \
|
||||
ft_ps1.html \
|
||||
ft_raku.html \
|
||||
ft_rust.html \
|
||||
@@ -261,6 +266,7 @@ HTMLS = \
|
||||
todo.html \
|
||||
uganda.html \
|
||||
undo.html \
|
||||
userfunc.html \
|
||||
usr_01.html \
|
||||
usr_02.html \
|
||||
usr_03.html \
|
||||
|
||||
@@ -640,6 +640,8 @@ CmdwinLeave Before leaving the command-line window.
|
||||
|cmdwin-char|
|
||||
*ColorScheme*
|
||||
ColorScheme After loading a color scheme. |:colorscheme|
|
||||
Not triggered if the color scheme is not
|
||||
found.
|
||||
The pattern is matched against the
|
||||
colorscheme name. <afile> can be used for the
|
||||
name of the actual file where this option was
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*builtin.txt* For Vim version 9.0. Last change: 2022 Jun 27
|
||||
*builtin.txt* For Vim version 9.0. Last change: 2022 Sep 17
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -195,7 +195,7 @@ foldlevel({lnum}) Number fold level at {lnum}
|
||||
foldtext() String line displayed for closed fold
|
||||
foldtextresult({lnum}) String text for closed fold at {lnum}
|
||||
foreground() Number bring the Vim window to the foreground
|
||||
fullcommand({name}) String get full command from {name}
|
||||
fullcommand({name} [, {vim9}]) String get full command from {name}
|
||||
funcref({name} [, {arglist}] [, {dict}])
|
||||
Funcref reference to function {name}
|
||||
function({name} [, {arglist}] [, {dict}])
|
||||
@@ -325,6 +325,8 @@ js_encode({expr}) String encode JS style JSON
|
||||
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|
|
||||
len({expr}) Number the length of {expr}
|
||||
libcall({lib}, {func}, {arg}) String call {func} in library {lib} with {arg}
|
||||
libcallnr({lib}, {func}, {arg}) Number idem, but return a Number
|
||||
@@ -471,7 +473,8 @@ remove({blob}, {idx} [, {end}]) Number/Blob
|
||||
remove bytes {idx}-{end} from {blob}
|
||||
remove({dict}, {key}) any remove entry {key} from {dict}
|
||||
rename({from}, {to}) Number rename (move) file from {from} to {to}
|
||||
repeat({expr}, {count}) String repeat {expr} {count} times
|
||||
repeat({expr}, {count}) List/Blob/String
|
||||
repeat {expr} {count} times
|
||||
resolve({filename}) String get filename a shortcut points to
|
||||
reverse({list}) List reverse {list} in-place
|
||||
round({expr}) Float round off {expr}
|
||||
@@ -505,6 +508,7 @@ setbufvar({buf}, {varname}, {val})
|
||||
setcellwidths({list}) none set character cell width overrides
|
||||
setcharpos({expr}, {list}) Number set the {expr} position to {list}
|
||||
setcharsearch({dict}) Dict set character search from {dict}
|
||||
setcmdline({str} [, {pos}]) Number set command-line
|
||||
setcmdpos({pos}) Number set cursor position in command-line
|
||||
setcursorcharpos({list}) Number move cursor to position in {list}
|
||||
setenv({name}, {val}) none set environment variable
|
||||
@@ -749,8 +753,6 @@ abs({expr}) *abs()*
|
||||
Can also be used as a |method|: >
|
||||
Compute()->abs()
|
||||
|
||||
< {only available when compiled with the |+float| feature}
|
||||
|
||||
|
||||
acos({expr}) *acos()*
|
||||
Return the arc cosine of {expr} measured in radians, as a
|
||||
@@ -766,8 +768,6 @@ acos({expr}) *acos()*
|
||||
Can also be used as a |method|: >
|
||||
Compute()->acos()
|
||||
|
||||
< {only available when compiled with the |+float| feature}
|
||||
|
||||
|
||||
add({object}, {expr}) *add()*
|
||||
Append the item {expr} to |List| or |Blob| {object}. Returns
|
||||
@@ -900,8 +900,6 @@ asin({expr}) *asin()*
|
||||
|
||||
Can also be used as a |method|: >
|
||||
Compute()->asin()
|
||||
<
|
||||
{only available when compiled with the |+float| feature}
|
||||
|
||||
|
||||
assert_ functions are documented here: |assert-functions-details|
|
||||
@@ -921,8 +919,6 @@ atan({expr}) *atan()*
|
||||
|
||||
Can also be used as a |method|: >
|
||||
Compute()->atan()
|
||||
<
|
||||
{only available when compiled with the |+float| feature}
|
||||
|
||||
|
||||
atan2({expr1}, {expr2}) *atan2()*
|
||||
@@ -939,8 +935,6 @@ atan2({expr1}, {expr2}) *atan2()*
|
||||
|
||||
Can also be used as a |method|: >
|
||||
Compute()->atan2(1)
|
||||
<
|
||||
{only available when compiled with the |+float| feature}
|
||||
|
||||
|
||||
autocmd_add({acmds}) *autocmd_add()*
|
||||
@@ -1424,8 +1418,6 @@ ceil({expr}) *ceil()*
|
||||
|
||||
Can also be used as a |method|: >
|
||||
Compute()->ceil()
|
||||
<
|
||||
{only available when compiled with the |+float| feature}
|
||||
|
||||
|
||||
ch_ functions are documented here: |channel-functions-details|
|
||||
@@ -1670,7 +1662,7 @@ complete_info([{what}]) *complete_info()*
|
||||
typed text only, or the last completion after
|
||||
no item is selected when using the <Up> or
|
||||
<Down> keys)
|
||||
inserted Inserted string. [NOT IMPLEMENT YET]
|
||||
inserted Inserted string. [NOT IMPLEMENTED YET]
|
||||
|
||||
*complete_info_mode*
|
||||
mode values are:
|
||||
@@ -1797,8 +1789,6 @@ cos({expr}) *cos()*
|
||||
|
||||
Can also be used as a |method|: >
|
||||
Compute()->cos()
|
||||
<
|
||||
{only available when compiled with the |+float| feature}
|
||||
|
||||
|
||||
cosh({expr}) *cosh()*
|
||||
@@ -1814,8 +1804,6 @@ cosh({expr}) *cosh()*
|
||||
|
||||
Can also be used as a |method|: >
|
||||
Compute()->cosh()
|
||||
<
|
||||
{only available when compiled with the |+float| feature}
|
||||
|
||||
|
||||
count({comp}, {expr} [, {ic} [, {start}]]) *count()*
|
||||
@@ -2401,8 +2389,6 @@ exp({expr}) *exp()*
|
||||
|
||||
Can also be used as a |method|: >
|
||||
Compute()->exp()
|
||||
<
|
||||
{only available when compiled with the |+float| feature}
|
||||
|
||||
|
||||
expand({string} [, {nosuf} [, {list}]]) *expand()*
|
||||
@@ -2803,8 +2789,6 @@ float2nr({expr}) *float2nr()*
|
||||
|
||||
Can also be used as a |method|: >
|
||||
Compute()->float2nr()
|
||||
<
|
||||
{only available when compiled with the |+float| feature}
|
||||
|
||||
|
||||
floor({expr}) *floor()*
|
||||
@@ -2822,8 +2806,6 @@ floor({expr}) *floor()*
|
||||
|
||||
Can also be used as a |method|: >
|
||||
Compute()->floor()
|
||||
<
|
||||
{only available when compiled with the |+float| feature}
|
||||
|
||||
|
||||
fmod({expr1}, {expr2}) *fmod()*
|
||||
@@ -2844,8 +2826,6 @@ fmod({expr1}, {expr2}) *fmod()*
|
||||
|
||||
Can also be used as a |method|: >
|
||||
Compute()->fmod(1.22)
|
||||
<
|
||||
{only available when compiled with |+float| feature}
|
||||
|
||||
|
||||
fnameescape({string}) *fnameescape()*
|
||||
@@ -2963,14 +2943,20 @@ foreground() Move the Vim window to the foreground. Useful when sent from
|
||||
{only in the Win32, Motif and GTK GUI versions and the
|
||||
Win32 console version}
|
||||
|
||||
fullcommand({name}) *fullcommand()*
|
||||
fullcommand({name} [, {vim9}]) *fullcommand()*
|
||||
Get the full command name from a short abbreviated command
|
||||
name; see |20.2| for details on command abbreviations.
|
||||
|
||||
The string argument {name} may start with a `:` and can
|
||||
include a [range], these are skipped and not returned.
|
||||
Returns an empty string if a command doesn't exist or if it's
|
||||
ambiguous (for user-defined commands).
|
||||
Returns an empty string if a command doesn't exist, if it's
|
||||
ambiguous (for user-defined commands) or cannot be shortened
|
||||
this way. |vim9-no-shorten|
|
||||
|
||||
Without the {vim9} argument uses the current script version.
|
||||
If {vim9} is present and FALSE then legacy script rules are
|
||||
used. When {vim9} is present and TRUE then Vim9 rules are
|
||||
used, e.g. "en" is not a short form of "endif".
|
||||
|
||||
For example `fullcommand('s')`, `fullcommand('sub')`,
|
||||
`fullcommand(':%substitute')` all return "substitute".
|
||||
@@ -3037,10 +3023,10 @@ function({name} [, {arglist}] [, {dict}])
|
||||
Funcref. The extra arguments are appended to the list of
|
||||
arguments. Example: >
|
||||
func Callback(arg1, arg2, name)
|
||||
...
|
||||
"...
|
||||
let Func = function('Callback', ['one'])
|
||||
let Func2 = function(Func, ['two'])
|
||||
...
|
||||
"...
|
||||
call Func2('name')
|
||||
< Invokes the function as with: >
|
||||
call Callback('one', 'two', 'name')
|
||||
@@ -3050,22 +3036,23 @@ function({name} [, {arglist}] [, {dict}])
|
||||
function Callback() dict
|
||||
echo "called for " .. self.name
|
||||
endfunction
|
||||
...
|
||||
"...
|
||||
let context = {"name": "example"}
|
||||
let Func = function('Callback', context)
|
||||
...
|
||||
"...
|
||||
call Func() " will echo: called for example
|
||||
< The use of function() is not needed when there are no extra
|
||||
arguments, these two are equivalent: >
|
||||
arguments, these two are equivalent, if Callback() is defined
|
||||
as context.Callback(): >
|
||||
let Func = function('Callback', context)
|
||||
let Func = context.Callback
|
||||
|
||||
< The argument list and the Dictionary can be combined: >
|
||||
function Callback(arg1, count) dict
|
||||
...
|
||||
"...
|
||||
let context = {"name": "example"}
|
||||
let Func = function('Callback', ['one'], context)
|
||||
...
|
||||
"...
|
||||
call Func(500)
|
||||
< Invokes the function as with: >
|
||||
call context.Callback('one', 500)
|
||||
@@ -3425,7 +3412,8 @@ getcmdcompltype() *getcmdcompltype()*
|
||||
Only works when the command line is being edited, thus
|
||||
requires use of |c_CTRL-\_e| or |c_CTRL-R_=|.
|
||||
See |:command-completion| for the return string.
|
||||
Also see |getcmdtype()|, |setcmdpos()| and |getcmdline()|.
|
||||
Also see |getcmdtype()|, |setcmdpos()|, |getcmdline()| and
|
||||
|setcmdline()|.
|
||||
Returns an empty string when completion is not defined.
|
||||
|
||||
getcmdline() *getcmdline()*
|
||||
@@ -3434,7 +3422,8 @@ getcmdline() *getcmdline()*
|
||||
|c_CTRL-R_=|.
|
||||
Example: >
|
||||
:cmap <F7> <C-\>eescape(getcmdline(), ' \')<CR>
|
||||
< Also see |getcmdtype()|, |getcmdpos()| and |setcmdpos()|.
|
||||
< Also see |getcmdtype()|, |getcmdpos()|, |setcmdpos()| and
|
||||
|setcmdline()|.
|
||||
Returns an empty string when entering a password or using
|
||||
|inputsecret()|.
|
||||
|
||||
@@ -3444,7 +3433,8 @@ getcmdpos() *getcmdpos()*
|
||||
Only works when editing the command line, thus requires use of
|
||||
|c_CTRL-\_e| or |c_CTRL-R_=| or an expression mapping.
|
||||
Returns 0 otherwise.
|
||||
Also see |getcmdtype()|, |setcmdpos()| and |getcmdline()|.
|
||||
Also see |getcmdtype()|, |setcmdpos()|, |getcmdline()| and
|
||||
|setcmdline()|.
|
||||
|
||||
getcmdscreenpos() *getcmdscreenpos()*
|
||||
Return the screen position of the cursor in the command line
|
||||
@@ -3453,7 +3443,8 @@ getcmdscreenpos() *getcmdscreenpos()*
|
||||
Only works when editing the command line, thus requires use of
|
||||
|c_CTRL-\_e| or |c_CTRL-R_=| or an expression mapping.
|
||||
Returns 0 otherwise.
|
||||
Also see |getcmdpos()|, |setcmdpos()|.
|
||||
Also see |getcmdpos()|, |setcmdpos()|, |getcmdline()| and
|
||||
|setcmdline()|.
|
||||
|
||||
getcmdtype() *getcmdtype()*
|
||||
Return the current command-line type. Possible return values
|
||||
@@ -4094,24 +4085,42 @@ getscriptinfo([{opts}) *getscriptinfo()*
|
||||
scripts in the order they were sourced, like what
|
||||
`:scriptnames` shows.
|
||||
|
||||
The optional Dict argument {opts} supports the following
|
||||
optional items:
|
||||
name Script name match pattern. If specified,
|
||||
and "sid" is not specified, information about
|
||||
scripts with name that match the pattern
|
||||
"name" are returned.
|
||||
sid Script ID |<SID>|. If specified, only
|
||||
information about the script with ID "sid" is
|
||||
returned and "name" is ignored.
|
||||
|
||||
Each item in the returned List is a |Dict| with the following
|
||||
items:
|
||||
autoload set to TRUE for a script that was used with
|
||||
autoload Set to TRUE for a script that was used with
|
||||
`import autoload` but was not actually sourced
|
||||
yet (see |import-autoload|).
|
||||
name vim script file name.
|
||||
sid script ID |<SID>|.
|
||||
sourced script ID of the actually sourced script that
|
||||
functions List of script-local function names defined in
|
||||
the script. Present only when a particular
|
||||
script is specified using the "sid" item in
|
||||
{opts}.
|
||||
name Vim script file name.
|
||||
sid Script ID |<SID>|.
|
||||
sourced Script ID of the actually sourced script that
|
||||
this script name links to, if any, otherwise
|
||||
zero
|
||||
version vimscript version (|scriptversion|)
|
||||
|
||||
The optional Dict argument {opts} supports the following
|
||||
items:
|
||||
name script name match pattern. If specified,
|
||||
information about scripts with name
|
||||
that match the pattern "name" are returned.
|
||||
variables A dictionary with the script-local variables.
|
||||
Present only when the a particular script is
|
||||
specified using the "sid" item in {opts}.
|
||||
Note that this is a copy, the value of
|
||||
script-local variables cannot be changed using
|
||||
this dictionary.
|
||||
version Vimscript version (|scriptversion|)
|
||||
|
||||
Examples: >
|
||||
:echo getscriptinfo({'name': 'myscript'})
|
||||
:echo getscriptinfo({'sid': 15}).variables
|
||||
<
|
||||
gettabinfo([{tabnr}]) *gettabinfo()*
|
||||
If {tabnr} is not specified, then information about all the
|
||||
tab pages is returned as a |List|. Each List item is a
|
||||
@@ -5017,8 +5026,6 @@ isinf({expr}) *isinf()*
|
||||
|
||||
Can also be used as a |method|: >
|
||||
Compute()->isinf()
|
||||
<
|
||||
{only available when compiled with the |+float| feature}
|
||||
|
||||
islocked({expr}) *islocked()* *E786*
|
||||
The result is a Number, which is |TRUE| when {expr} is the
|
||||
@@ -5047,8 +5054,6 @@ isnan({expr}) *isnan()*
|
||||
|
||||
Can also be used as a |method|: >
|
||||
Compute()->isnan()
|
||||
<
|
||||
{only available when compiled with the |+float| feature}
|
||||
|
||||
items({dict}) *items()*
|
||||
Return a |List| with all the key-value pairs of {dict}. Each
|
||||
@@ -5180,6 +5185,16 @@ keys({dict}) *keys()*
|
||||
Can also be used as a |method|: >
|
||||
mydict->keys()
|
||||
|
||||
keytrans({string}) *keytrans()*
|
||||
Turn the internal byte representation of keys into a form that
|
||||
can be used for |:map|. E.g. >
|
||||
:let xx = "\<C-Home>"
|
||||
:echo keytrans(xx)
|
||||
< <C-Home>
|
||||
|
||||
Can also be used as a |method|: >
|
||||
"\<C-Home>"->keytrans()
|
||||
|
||||
< *len()* *E701*
|
||||
len({expr}) The result is a Number, which is the length of the argument.
|
||||
When {expr} is a String or a Number the length in bytes is
|
||||
@@ -5467,8 +5482,6 @@ log({expr}) *log()*
|
||||
|
||||
Can also be used as a |method|: >
|
||||
Compute()->log()
|
||||
<
|
||||
{only available when compiled with the |+float| feature}
|
||||
|
||||
|
||||
log10({expr}) *log10()*
|
||||
@@ -5483,8 +5496,6 @@ log10({expr}) *log10()*
|
||||
|
||||
Can also be used as a |method|: >
|
||||
Compute()->log10()
|
||||
<
|
||||
{only available when compiled with the |+float| feature}
|
||||
|
||||
luaeval({expr} [, {expr}]) *luaeval()*
|
||||
Evaluate Lua expression {expr} and return its result converted
|
||||
@@ -5492,8 +5503,7 @@ luaeval({expr} [, {expr}]) *luaeval()*
|
||||
argument accessible as _A inside first {expr}.
|
||||
Strings are returned as they are.
|
||||
Boolean objects are converted to numbers.
|
||||
Numbers are converted to |Float| values if vim was compiled
|
||||
with |+float| and to numbers otherwise.
|
||||
Numbers are converted to |Float| values.
|
||||
Dictionaries and lists obtained by vim.eval() are returned
|
||||
as-is.
|
||||
Other objects are returned as zero without any errors.
|
||||
@@ -6215,8 +6225,26 @@ min({expr}) Return the minimum value of all items in {expr}. Example: >
|
||||
mkdir({name} [, {path} [, {prot}]])
|
||||
Create directory {name}.
|
||||
|
||||
If {path} is "p" then intermediate directories are created as
|
||||
necessary. Otherwise it must be "".
|
||||
If {path} contains "p" then intermediate directories are
|
||||
created as necessary. Otherwise it must be "".
|
||||
|
||||
If {path} contains "D" then {name} is deleted at the end of
|
||||
the current function, as with: >
|
||||
defer delete({name}, 'd')
|
||||
<
|
||||
If {path} contains "R" then {name} is deleted recursively at
|
||||
the end of the current function, as with: >
|
||||
defer delete({name}, 'rf')
|
||||
< Note that when {name} has more than one part and "p" is used
|
||||
some directories may already exist. Only the first one that
|
||||
is created and what it contains is scheduled to be deleted.
|
||||
E.g. when using: >
|
||||
call mkdir('subdir/tmp/autoload', 'pR')
|
||||
< and "subdir" already exists then "subdir/tmp" will be
|
||||
scheduled for deletion, like with: >
|
||||
defer delete('subdir/tmp', 'rf')
|
||||
< Note that if scheduling the defer fails the directory is not
|
||||
deleted. This should only happen when out of memory.
|
||||
|
||||
If {prot} is given it is used to set the protection bits of
|
||||
the new directory. The default is 0o755 (rwxr-xr-x: r/w for
|
||||
@@ -6422,8 +6450,6 @@ pow({x}, {y}) *pow()*
|
||||
|
||||
Can also be used as a |method|: >
|
||||
Compute()->pow(3)
|
||||
<
|
||||
{only available when compiled with the |+float| feature}
|
||||
|
||||
prevnonblank({lnum}) *prevnonblank()*
|
||||
Return the line number of the first line at or above {lnum}
|
||||
@@ -7252,8 +7278,8 @@ repeat({expr}, {count}) *repeat()*
|
||||
result. Example: >
|
||||
:let separator = repeat('-', 80)
|
||||
< When {count} is zero or negative the result is empty.
|
||||
When {expr} is a |List| the result is {expr} concatenated
|
||||
{count} times. Example: >
|
||||
When {expr} is a |List| or a |Blob| the result is {expr}
|
||||
concatenated {count} times. Example: >
|
||||
:let longlist = repeat(['a', 'b'], 3)
|
||||
< Results in ['a', 'b', 'a', 'b', 'a', 'b'].
|
||||
|
||||
@@ -7305,8 +7331,6 @@ round({expr}) *round()*
|
||||
|
||||
Can also be used as a |method|: >
|
||||
Compute()->round()
|
||||
<
|
||||
{only available when compiled with the |+float| feature}
|
||||
|
||||
rubyeval({expr}) *rubyeval()*
|
||||
Evaluate Ruby expression {expr} and return its result
|
||||
@@ -7925,6 +7949,16 @@ setcharsearch({dict}) *setcharsearch()*
|
||||
Can also be used as a |method|: >
|
||||
SavedSearch()->setcharsearch()
|
||||
|
||||
setcmdline({str} [, {pos}]) *setcmdline()*
|
||||
Set the command line to {str} and set the cursor position to
|
||||
{pos}.
|
||||
If {pos} is omitted, the cursor is positioned after the text.
|
||||
Returns 0 when successful, 1 when not editing the command
|
||||
line.
|
||||
|
||||
Can also be used as a |method|: >
|
||||
GetText()->setcmdline()
|
||||
|
||||
setcmdpos({pos}) *setcmdpos()*
|
||||
Set the cursor position in the command line to byte position
|
||||
{pos}. The first position is 1.
|
||||
@@ -7937,8 +7971,8 @@ setcmdpos({pos}) *setcmdpos()*
|
||||
before inserting the resulting text.
|
||||
When the number is too big the cursor is put at the end of the
|
||||
line. A number smaller than one has undefined results.
|
||||
Returns FALSE when successful, TRUE when not editing the
|
||||
command line.
|
||||
Returns 0 when successful, 1 when not editing the command
|
||||
line.
|
||||
|
||||
Can also be used as a |method|: >
|
||||
GetPos()->setcmdpos()
|
||||
@@ -8465,8 +8499,6 @@ sin({expr}) *sin()*
|
||||
|
||||
Can also be used as a |method|: >
|
||||
Compute()->sin()
|
||||
<
|
||||
{only available when compiled with the |+float| feature}
|
||||
|
||||
|
||||
sinh({expr}) *sinh()*
|
||||
@@ -8482,8 +8514,6 @@ sinh({expr}) *sinh()*
|
||||
|
||||
Can also be used as a |method|: >
|
||||
Compute()->sinh()
|
||||
<
|
||||
{only available when compiled with the |+float| feature}
|
||||
|
||||
|
||||
slice({expr}, {start} [, {end}]) *slice()*
|
||||
@@ -8750,8 +8780,6 @@ sqrt({expr}) *sqrt()*
|
||||
|
||||
Can also be used as a |method|: >
|
||||
Compute()->sqrt()
|
||||
<
|
||||
{only available when compiled with the |+float| feature}
|
||||
|
||||
|
||||
srand([{expr}]) *srand()*
|
||||
@@ -8825,8 +8853,6 @@ str2float({string} [, {quoted}]) *str2float()*
|
||||
|
||||
Can also be used as a |method|: >
|
||||
let f = text->substitute(',', '', 'g')->str2float()
|
||||
<
|
||||
{only available when compiled with the |+float| feature}
|
||||
|
||||
str2list({string} [, {utf8}]) *str2list()*
|
||||
Return a list containing the number values which represent
|
||||
@@ -9572,8 +9598,6 @@ tan({expr}) *tan()*
|
||||
|
||||
Can also be used as a |method|: >
|
||||
Compute()->tan()
|
||||
<
|
||||
{only available when compiled with the |+float| feature}
|
||||
|
||||
|
||||
tanh({expr}) *tanh()*
|
||||
@@ -9589,8 +9613,6 @@ tanh({expr}) *tanh()*
|
||||
|
||||
Can also be used as a |method|: >
|
||||
Compute()->tanh()
|
||||
<
|
||||
{only available when compiled with the |+float| feature}
|
||||
|
||||
|
||||
tempname() *tempname()* *temp-file-name*
|
||||
@@ -9826,8 +9848,6 @@ trunc({expr}) *trunc()*
|
||||
Can also be used as a |method|: >
|
||||
Compute()->trunc()
|
||||
<
|
||||
{only available when compiled with the |+float| feature}
|
||||
|
||||
*type()*
|
||||
type({expr}) The result is a Number representing the type of {expr}.
|
||||
Instead of using the number directly, it is better to use the
|
||||
@@ -10415,34 +10435,43 @@ writefile({object}, {fname} [, {flags}])
|
||||
When {object} is a |List| write it to file {fname}. Each list
|
||||
item is separated with a NL. Each list item must be a String
|
||||
or Number.
|
||||
When {flags} contains "b" then binary mode is used: There will
|
||||
not be a NL after the last list item. An empty item at the
|
||||
end does cause the last line in the file to end in a NL.
|
||||
|
||||
When {object} is a |Blob| write the bytes to file {fname}
|
||||
unmodified.
|
||||
|
||||
When {flags} contains "a" then append mode is used, lines are
|
||||
appended to the file: >
|
||||
:call writefile(["foo"], "event.log", "a")
|
||||
:call writefile(["bar"], "event.log", "a")
|
||||
<
|
||||
When {flags} contains "s" then fsync() is called after writing
|
||||
the file. This flushes the file to disk, if possible. This
|
||||
takes more time but avoids losing the file if the system
|
||||
crashes.
|
||||
When {flags} does not contain "S" or "s" then fsync() is
|
||||
called if the 'fsync' option is set.
|
||||
When {flags} contains "S" then fsync() is not called, even
|
||||
when 'fsync' is set.
|
||||
|
||||
All NL characters are replaced with a NUL character.
|
||||
Inserting CR characters needs to be done before passing {list}
|
||||
to writefile().
|
||||
|
||||
When {object} is a |Blob| write the bytes to file {fname}
|
||||
unmodified, also when binary mode is not specified.
|
||||
|
||||
{flags} must be a String. These characters are recognized:
|
||||
|
||||
'b' Binary mode is used: There will not be a NL after the
|
||||
last list item. An empty item at the end does cause the
|
||||
last line in the file to end in a NL.
|
||||
|
||||
'a' Append mode is used, lines are appended to the file: >
|
||||
:call writefile(["foo"], "event.log", "a")
|
||||
:call writefile(["bar"], "event.log", "a")
|
||||
<
|
||||
'D' Delete the file when the current function ends. This
|
||||
works like: >
|
||||
:defer delete({fname})
|
||||
< Fails when not in a function. Also see |:defer|.
|
||||
|
||||
's' fsync() is called after writing the file. This flushes
|
||||
the file to disk, if possible. This takes more time but
|
||||
avoids losing the file if the system crashes.
|
||||
|
||||
'S' fsync() is not called, even when 'fsync' is set.
|
||||
|
||||
When {flags} does not contain "S" or "s" then fsync() is
|
||||
called if the 'fsync' option is set.
|
||||
|
||||
An existing file is overwritten, if possible.
|
||||
|
||||
When the write fails -1 is returned, otherwise 0. There is an
|
||||
error message if the file can't be created or when writing
|
||||
fails.
|
||||
|
||||
Also see |readfile()|.
|
||||
To copy a file byte for byte: >
|
||||
:let fl = readfile("foo", "b")
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*change.txt* For Vim version 9.0. Last change: 2022 May 26
|
||||
*change.txt* For Vim version 9.0. Last change: 2022 Sep 13
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1188,11 +1188,20 @@ used. If you do need it you can use |p| with another register. E.g., yank
|
||||
the text to copy, Visually select the text to replace and use "0p . You can
|
||||
repeat this as many times as you like, and the unnamed register will be
|
||||
changed each time.
|
||||
|
||||
When you use a blockwise Visual mode command and yank only a single line into
|
||||
a register, a paste on a visual selected area will paste that single line on
|
||||
each of the selected lines (thus replacing the blockwise selected region by a
|
||||
block of the pasted line).
|
||||
*blockwise-put*
|
||||
When a register contains text from one line (characterwise), using a
|
||||
blockwise Visual selection, putting that register will paste that text
|
||||
repeatedly in each of the selected lines, thus replacing the blockwise
|
||||
selected region by multiple copies of the register text. For example:
|
||||
- yank the word "TEXT" into a register with `yw`
|
||||
- select a visual block, marked with "v" in this text:
|
||||
aaavvaaa
|
||||
bbbvvbbb
|
||||
cccvvccc
|
||||
- press `p`, results in:
|
||||
aaaTEXTaaa
|
||||
bbbTEXTbbb
|
||||
cccTEXTccc
|
||||
|
||||
*blockwise-register*
|
||||
If you use a blockwise Visual mode command to get the text into the register,
|
||||
|
||||
@@ -188,8 +188,8 @@ C COMPILER *style-compiler* *ANSI-C* *C89* *C99*
|
||||
|
||||
The minimal C compiler version supported is C89, also known as ANSI C.
|
||||
Later standards, such as C99, are not widely supported, or at least not 100%
|
||||
supported. Therefore we use only some of the C99 features and disallow some
|
||||
(at least for now).
|
||||
supported. Therefore we use only some of the C99 features and explicitly
|
||||
disallow some (this will gradually be adjusted over time).
|
||||
|
||||
Please don't make changes everywhere to use the C99 features, it causes merge
|
||||
problems for existing patches. Only use them for new and changed code.
|
||||
@@ -215,12 +215,21 @@ Types ~
|
||||
"long long" is allowed and can be expected to be 64 bits. Use %lld in printf
|
||||
formats. Also "long long unsigned" with %llu.
|
||||
|
||||
Declarations ~
|
||||
|
||||
Now that the minimal supported compiler is MSVC 2015 declarations do not need
|
||||
to be at the start of a block. However, it is often a good idea to do this
|
||||
anyway.
|
||||
|
||||
Declaration of the for loop variable inside the loop is recommended:
|
||||
for (int i = 0; i < len; ++i)
|
||||
Since this is clearly an advantage we'll use this more often.
|
||||
|
||||
|
||||
Not to be used ~
|
||||
|
||||
These C99 features are not to be used, because not enough compilers support
|
||||
them:
|
||||
- Declaration after Statements (MSVC 2012 does not support it). All
|
||||
declarations need to be at the start of the block.
|
||||
- Variable length arrays (even in C11 this is an optional feature).
|
||||
- _Bool and _Complex types.
|
||||
- "inline" (it's hardly ever needed, let the optimizer do its work)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*eval.txt* For Vim version 9.0. Last change: 2022 Jun 17
|
||||
*eval.txt* For Vim version 9.0. Last change: 2022 Sep 17
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -54,7 +54,6 @@ Number A 32 or 64 bit signed number. |expr-number|
|
||||
Examples: -123 0x10 0177 0o177 0b1011
|
||||
|
||||
Float A floating point number. |floating-point-format| *Float*
|
||||
{only when compiled with the |+float| feature} *E1076*
|
||||
Examples: 123.456 1.15e-6 -1.1e3
|
||||
|
||||
String A NUL terminated string of 8-bit unsigned characters (bytes).
|
||||
@@ -1441,7 +1440,6 @@ digits are ignored.
|
||||
{exp} is the exponent, power of 10.
|
||||
Only a decimal point is accepted, not a comma. No matter what the current
|
||||
locale is.
|
||||
{only when compiled with the |+float| feature}
|
||||
|
||||
Examples:
|
||||
123.456
|
||||
@@ -1718,6 +1716,9 @@ Recommendation: don't do this.
|
||||
Notice how execute() is used to execute an Ex command. That's ugly though.
|
||||
In Vim9 script you can use a command block, see |inline-function|.
|
||||
|
||||
Although you can use the loop variable of a `for` command, it must still exist
|
||||
when the closure is called, otherwise you get an error. *E1302*
|
||||
|
||||
Lambda expressions have internal names like '<lambda>42'. If you get an error
|
||||
for a lambda expression, you can find what it is with the following command: >
|
||||
:function <lambda>42
|
||||
@@ -2629,447 +2630,12 @@ help file: |builtin-functions|.
|
||||
5. Defining functions *user-functions*
|
||||
|
||||
New functions can be defined. These can be called just like builtin
|
||||
functions. The function executes a sequence of Ex commands. Normal mode
|
||||
commands can be executed with the |:normal| command.
|
||||
functions. The function takes arguments, executes a sequence of Ex commands
|
||||
and can return a value.
|
||||
|
||||
This section is about the legacy functions. For the Vim9 functions, which
|
||||
execute much faster, support type checking and more, see |vim9.txt|.
|
||||
|
||||
The function name must start with an uppercase letter, to avoid confusion with
|
||||
builtin functions. To prevent from using the same name in different scripts
|
||||
avoid obvious, short names. A good habit is to start the function name with
|
||||
the name of the script, e.g., "HTMLcolor()".
|
||||
|
||||
In legacy script it is also possible to use curly braces, see
|
||||
|curly-braces-names|.
|
||||
The |autoload| facility is useful to define a function only when it's called.
|
||||
|
||||
*local-function*
|
||||
A function local to a legacy script must start with "s:". A local script
|
||||
function can only be called from within the script and from functions, user
|
||||
commands and autocommands defined in the script. It is also possible to call
|
||||
the function from a mapping defined in the script, but then |<SID>| must be
|
||||
used instead of "s:" when the mapping is expanded outside of the script.
|
||||
There are only script-local functions, no buffer-local or window-local
|
||||
functions.
|
||||
|
||||
In |Vim9| script functions are local to the script by default, prefix "g:" to
|
||||
define a global function.
|
||||
|
||||
*:fu* *:function* *E128* *E129* *E123* *E454*
|
||||
:fu[nction] List all functions and their arguments.
|
||||
|
||||
:fu[nction] {name} List function {name}.
|
||||
{name} can also be a |Dictionary| entry that is a
|
||||
|Funcref|: >
|
||||
:function dict.init
|
||||
|
||||
:fu[nction] /{pattern} List functions with a name matching {pattern}.
|
||||
Example that lists all functions ending with "File": >
|
||||
:function /File$
|
||||
<
|
||||
*:function-verbose*
|
||||
When 'verbose' is non-zero, listing a function will also display where it was
|
||||
last defined. Example: >
|
||||
|
||||
:verbose function SetFileTypeSH
|
||||
function SetFileTypeSH(name)
|
||||
Last set from /usr/share/vim/vim-7.0/filetype.vim
|
||||
<
|
||||
See |:verbose-cmd| for more information.
|
||||
|
||||
*E124* *E125* *E853* *E884*
|
||||
:fu[nction][!] {name}([arguments]) [range] [abort] [dict] [closure]
|
||||
Define a new function by the name {name}. The body of
|
||||
the function follows in the next lines, until the
|
||||
matching |:endfunction|.
|
||||
*E1267*
|
||||
The name must be made of alphanumeric characters and
|
||||
'_', and must start with a capital or "s:" (see
|
||||
above). Note that using "b:" or "g:" is not allowed.
|
||||
(since patch 7.4.260 E884 is given if the function
|
||||
name has a colon in the name, e.g. for "foo:bar()".
|
||||
Before that patch no error was given).
|
||||
|
||||
{name} can also be a |Dictionary| entry that is a
|
||||
|Funcref|: >
|
||||
:function dict.init(arg)
|
||||
< "dict" must be an existing dictionary. The entry
|
||||
"init" is added if it didn't exist yet. Otherwise [!]
|
||||
is required to overwrite an existing function. The
|
||||
result is a |Funcref| to a numbered function. The
|
||||
function can only be used with a |Funcref| and will be
|
||||
deleted if there are no more references to it.
|
||||
*E127* *E122*
|
||||
When a function by this name already exists and [!] is
|
||||
not used an error message is given. There is one
|
||||
exception: When sourcing a script again, a function
|
||||
that was previously defined in that script will be
|
||||
silently replaced.
|
||||
When [!] is used, an existing function is silently
|
||||
replaced. Unless it is currently being executed, that
|
||||
is an error.
|
||||
NOTE: Use ! wisely. If used without care it can cause
|
||||
an existing function to be replaced unexpectedly,
|
||||
which is hard to debug.
|
||||
NOTE: In Vim9 script script-local functions cannot be
|
||||
deleted or redefined.
|
||||
|
||||
For the {arguments} see |function-argument|.
|
||||
|
||||
*:func-range* *a:firstline* *a:lastline*
|
||||
When the [range] argument is added, the function is
|
||||
expected to take care of a range itself. The range is
|
||||
passed as "a:firstline" and "a:lastline". If [range]
|
||||
is excluded, ":{range}call" will call the function for
|
||||
each line in the range, with the cursor on the start
|
||||
of each line. See |function-range-example|.
|
||||
The cursor is still moved to the first line of the
|
||||
range, as is the case with all Ex commands.
|
||||
*:func-abort*
|
||||
When the [abort] argument is added, the function will
|
||||
abort as soon as an error is detected.
|
||||
*:func-dict*
|
||||
When the [dict] argument is added, the function must
|
||||
be invoked through an entry in a |Dictionary|. The
|
||||
local variable "self" will then be set to the
|
||||
dictionary. See |Dictionary-function|.
|
||||
*:func-closure* *E932*
|
||||
When the [closure] argument is added, the function
|
||||
can access variables and arguments from the outer
|
||||
scope. This is usually called a closure. In this
|
||||
example Bar() uses "x" from the scope of Foo(). It
|
||||
remains referenced even after Foo() returns: >
|
||||
:function! Foo()
|
||||
: let x = 0
|
||||
: function! Bar() closure
|
||||
: let x += 1
|
||||
: return x
|
||||
: endfunction
|
||||
: return funcref('Bar')
|
||||
:endfunction
|
||||
|
||||
:let F = Foo()
|
||||
:echo F()
|
||||
< 1 >
|
||||
:echo F()
|
||||
< 2 >
|
||||
:echo F()
|
||||
< 3
|
||||
|
||||
*function-search-undo*
|
||||
The last used search pattern and the redo command "."
|
||||
will not be changed by the function. This also
|
||||
implies that the effect of |:nohlsearch| is undone
|
||||
when the function returns.
|
||||
|
||||
*:endf* *:endfunction* *E126* *E193* *W22* *E1151*
|
||||
:endf[unction] [argument]
|
||||
The end of a function definition. Best is to put it
|
||||
on a line by its own, without [argument].
|
||||
|
||||
[argument] can be:
|
||||
| command command to execute next
|
||||
\n command command to execute next
|
||||
" comment always ignored
|
||||
anything else ignored, warning given when
|
||||
'verbose' is non-zero
|
||||
The support for a following command was added in Vim
|
||||
8.0.0654, before that any argument was silently
|
||||
ignored.
|
||||
|
||||
To be able to define a function inside an `:execute`
|
||||
command, use line breaks instead of |:bar|: >
|
||||
:exe "func Foo()\necho 'foo'\nendfunc"
|
||||
<
|
||||
*:delf* *:delfunction* *E131* *E933* *E1084*
|
||||
:delf[unction][!] {name}
|
||||
Delete function {name}.
|
||||
{name} can also be a |Dictionary| entry that is a
|
||||
|Funcref|: >
|
||||
:delfunc dict.init
|
||||
< This will remove the "init" entry from "dict". The
|
||||
function is deleted if there are no more references to
|
||||
it.
|
||||
With the ! there is no error if the function does not
|
||||
exist.
|
||||
*:retu* *:return* *E133*
|
||||
:retu[rn] [expr] Return from a function. When "[expr]" is given, it is
|
||||
evaluated and returned as the result of the function.
|
||||
If "[expr]" is not given, the number 0 is returned.
|
||||
When a function ends without an explicit ":return",
|
||||
the number 0 is returned.
|
||||
In a :def function *E1095* is given if unreachable
|
||||
code follows after the `:return`.
|
||||
In legacy script there is no check for unreachable
|
||||
lines, thus there is no warning if commands follow
|
||||
`:return`.
|
||||
|
||||
If the ":return" is used after a |:try| but before the
|
||||
matching |:finally| (if present), the commands
|
||||
following the ":finally" up to the matching |:endtry|
|
||||
are executed first. This process applies to all
|
||||
nested ":try"s inside the function. The function
|
||||
returns at the outermost ":endtry".
|
||||
|
||||
*function-argument* *a:var*
|
||||
An argument can be defined by giving its name. In the function this can then
|
||||
be used as "a:name" ("a:" for argument).
|
||||
*a:0* *a:1* *a:000* *E740* *...*
|
||||
Up to 20 arguments can be given, separated by commas. After the named
|
||||
arguments an argument "..." can be specified, which means that more arguments
|
||||
may optionally be following. In the function the extra arguments can be used
|
||||
as "a:1", "a:2", etc. "a:0" is set to the number of extra arguments (which
|
||||
can be 0). "a:000" is set to a |List| that contains these arguments. Note
|
||||
that "a:1" is the same as "a:000[0]".
|
||||
*E742* *E1090*
|
||||
The a: scope and the variables in it cannot be changed, they are fixed.
|
||||
However, if a composite type is used, such as |List| or |Dictionary| , you can
|
||||
change their contents. Thus you can pass a |List| to a function and have the
|
||||
function add an item to it. If you want to make sure the function cannot
|
||||
change a |List| or |Dictionary| use |:lockvar|.
|
||||
|
||||
It is also possible to define a function without any arguments. You must
|
||||
still supply the () then.
|
||||
|
||||
It is allowed to define another function inside a function body.
|
||||
|
||||
*optional-function-argument*
|
||||
You can provide default values for positional named arguments. This makes
|
||||
them optional for function calls. When a positional argument is not
|
||||
specified at a call, the default expression is used to initialize it.
|
||||
This only works for functions declared with `:function` or `:def`, not for
|
||||
lambda expressions |expr-lambda|.
|
||||
|
||||
Example: >
|
||||
function Something(key, value = 10)
|
||||
echo a:key .. ": " .. a:value
|
||||
endfunction
|
||||
call Something('empty') "empty: 10"
|
||||
call Something('key', 20) "key: 20"
|
||||
|
||||
The argument default expressions are evaluated at the time of the function
|
||||
call, not definition. Thus it is possible to use an expression which is
|
||||
invalid the moment the function is defined. The expressions are also only
|
||||
evaluated when arguments are not specified during a call.
|
||||
*none-function_argument*
|
||||
You can pass |v:none| to use the default expression. Note that this means you
|
||||
cannot pass v:none as an ordinary value when an argument has a default
|
||||
expression.
|
||||
|
||||
Example: >
|
||||
function Something(a = 10, b = 20, c = 30)
|
||||
endfunction
|
||||
call Something(1, v:none, 3) " b = 20
|
||||
<
|
||||
*E989*
|
||||
Optional arguments with default expressions must occur after any mandatory
|
||||
arguments. You can use "..." after all optional named arguments.
|
||||
|
||||
It is possible for later argument defaults to refer to prior arguments,
|
||||
but not the other way around. They must be prefixed with "a:", as with all
|
||||
arguments.
|
||||
|
||||
Example that works: >
|
||||
:function Okay(mandatory, optional = a:mandatory)
|
||||
:endfunction
|
||||
Example that does NOT work: >
|
||||
:function NoGood(first = a:second, second = 10)
|
||||
:endfunction
|
||||
<
|
||||
When not using "...", the number of arguments in a function call must be at
|
||||
least equal to the number of mandatory named arguments. When using "...", the
|
||||
number of arguments may be larger than the total of mandatory and optional
|
||||
arguments.
|
||||
|
||||
*local-variables*
|
||||
Inside a function local variables can be used. These will disappear when the
|
||||
function returns. Global variables need to be accessed with "g:".
|
||||
|
||||
Example: >
|
||||
:function Table(title, ...)
|
||||
: echohl Title
|
||||
: echo a:title
|
||||
: echohl None
|
||||
: echo a:0 .. " items:"
|
||||
: for s in a:000
|
||||
: echon ' ' .. s
|
||||
: endfor
|
||||
:endfunction
|
||||
|
||||
This function can then be called with: >
|
||||
call Table("Table", "line1", "line2")
|
||||
call Table("Empty Table")
|
||||
|
||||
To return more than one value, return a |List|: >
|
||||
:function Compute(n1, n2)
|
||||
: if a:n2 == 0
|
||||
: return ["fail", 0]
|
||||
: endif
|
||||
: return ["ok", a:n1 / a:n2]
|
||||
:endfunction
|
||||
|
||||
This function can then be called with: >
|
||||
:let [success, div] = Compute(102, 6)
|
||||
:if success == "ok"
|
||||
: echo div
|
||||
:endif
|
||||
<
|
||||
*:cal* *:call* *E107*
|
||||
:[range]cal[l] {name}([arguments])
|
||||
Call a function. The name of the function and its arguments
|
||||
are as specified with `:function`. Up to 20 arguments can be
|
||||
used. The returned value is discarded.
|
||||
In |Vim9| script using `:call` is optional, these two lines do
|
||||
the same thing: >
|
||||
call SomeFunc(arg)
|
||||
SomeFunc(arg)
|
||||
< Without a range and for functions that accept a range, the
|
||||
function is called once. When a range is given the cursor is
|
||||
positioned at the start of the first line before executing the
|
||||
function.
|
||||
When a range is given and the function doesn't handle it
|
||||
itself, the function is executed for each line in the range,
|
||||
with the cursor in the first column of that line. The cursor
|
||||
is left at the last line (possibly moved by the last function
|
||||
call). The arguments are re-evaluated for each line. Thus
|
||||
this works:
|
||||
*function-range-example* >
|
||||
:function Mynumber(arg)
|
||||
: echo line(".") .. " " .. a:arg
|
||||
:endfunction
|
||||
:1,5call Mynumber(getline("."))
|
||||
<
|
||||
The "a:firstline" and "a:lastline" are defined anyway, they
|
||||
can be used to do something different at the start or end of
|
||||
the range.
|
||||
|
||||
Example of a function that handles the range itself: >
|
||||
|
||||
:function Cont() range
|
||||
: execute (a:firstline + 1) .. "," .. a:lastline .. 's/^/\t\\ '
|
||||
:endfunction
|
||||
:4,8call Cont()
|
||||
<
|
||||
This function inserts the continuation character "\" in front
|
||||
of all the lines in the range, except the first one.
|
||||
|
||||
When the function returns a composite value it can be further
|
||||
dereferenced, but the range will not be used then. Example: >
|
||||
:4,8call GetDict().method()
|
||||
< Here GetDict() gets the range but method() does not.
|
||||
|
||||
*E117*
|
||||
When a function cannot be found the error "E117: Unknown function" will be
|
||||
given. If the function was using an autoload path or an autoload import and
|
||||
the script is a |Vim9| script, this may also be caused by the function not
|
||||
being exported.
|
||||
|
||||
*E132*
|
||||
The recursiveness of user functions is restricted with the |'maxfuncdepth'|
|
||||
option.
|
||||
|
||||
It is also possible to use `:eval`. It does not support a range, but does
|
||||
allow for method chaining, e.g.: >
|
||||
eval GetList()->Filter()->append('$')
|
||||
|
||||
A function can also be called as part of evaluating an expression or when it
|
||||
is used as a method: >
|
||||
let x = GetList()
|
||||
let y = GetList()->Filter()
|
||||
|
||||
|
||||
AUTOMATICALLY LOADING FUNCTIONS ~
|
||||
*autoload-functions*
|
||||
When using many or large functions, it's possible to automatically define them
|
||||
only when they are used. There are two methods: with an autocommand and with
|
||||
the "autoload" directory in 'runtimepath'.
|
||||
|
||||
|
||||
Using an autocommand ~
|
||||
|
||||
This is introduced in the user manual, section |51.4|.
|
||||
|
||||
The autocommand is useful if you have a plugin that is a long Vim script file.
|
||||
You can define the autocommand and quickly quit the script with `:finish`.
|
||||
That makes Vim startup faster. The autocommand should then load the same file
|
||||
again, setting a variable to skip the `:finish` command.
|
||||
|
||||
Use the FuncUndefined autocommand event with a pattern that matches the
|
||||
function(s) to be defined. Example: >
|
||||
|
||||
:au FuncUndefined BufNet* source ~/vim/bufnetfuncs.vim
|
||||
|
||||
The file "~/vim/bufnetfuncs.vim" should then define functions that start with
|
||||
"BufNet". Also see |FuncUndefined|.
|
||||
|
||||
|
||||
Using an autoload script ~
|
||||
*autoload* *E746*
|
||||
This is introduced in the user manual, section |52.2|.
|
||||
|
||||
Using a script in the "autoload" directory is simpler, but requires using
|
||||
exactly the right file name. A function that can be autoloaded has a name
|
||||
like this: >
|
||||
|
||||
:call filename#funcname()
|
||||
|
||||
These functions are always global, in Vim9 script "g:" needs to be used: >
|
||||
:call g:filename#funcname()
|
||||
|
||||
When such a function is called, and it is not defined yet, Vim will search the
|
||||
"autoload" directories in 'runtimepath' for a script file called
|
||||
"filename.vim". For example "~/.vim/autoload/filename.vim". That file should
|
||||
then define the function like this: >
|
||||
|
||||
function filename#funcname()
|
||||
echo "Done!"
|
||||
endfunction
|
||||
|
||||
The file name and the name used before the # in the function must match
|
||||
exactly, and the defined function must have the name exactly as it will be
|
||||
called. In Vim9 script the "g:" prefix must be used: >
|
||||
function g:filename#funcname()
|
||||
|
||||
or for a compiled function: >
|
||||
def g:filename#funcname()
|
||||
|
||||
It is possible to use subdirectories. Every # in the function name works like
|
||||
a path separator. Thus when calling a function: >
|
||||
|
||||
:call foo#bar#func()
|
||||
|
||||
Vim will look for the file "autoload/foo/bar.vim" in 'runtimepath'.
|
||||
|
||||
This also works when reading a variable that has not been set yet: >
|
||||
|
||||
:let l = foo#bar#lvar
|
||||
|
||||
However, when the autoload script was already loaded it won't be loaded again
|
||||
for an unknown variable.
|
||||
|
||||
When assigning a value to such a variable nothing special happens. This can
|
||||
be used to pass settings to the autoload script before it's loaded: >
|
||||
|
||||
:let foo#bar#toggle = 1
|
||||
:call foo#bar#func()
|
||||
|
||||
Note that when you make a mistake and call a function that is supposed to be
|
||||
defined in an autoload script, but the script doesn't actually define the
|
||||
function, you will get an error message for the missing function. If you fix
|
||||
the autoload script it won't be automatically loaded again. Either restart
|
||||
Vim or manually source the script.
|
||||
|
||||
Also note that if you have two script files, and one calls a function in the
|
||||
other and vice versa, before the used function is defined, it won't work.
|
||||
Avoid using the autoload functionality at the toplevel.
|
||||
|
||||
In |Vim9| script you will get error *E1263* if you define a function with
|
||||
a "#" character in the name. You should use a name without "#" and use
|
||||
`:export`.
|
||||
|
||||
Hint: If you distribute a bunch of scripts you can pack them together with the
|
||||
|vimball| utility. Also read the user manual |distribute-script|.
|
||||
You can find most information about defining functions in |userfunc.txt|.
|
||||
For Vim9 functions, which execute much faster, support type checking and more,
|
||||
see |vim9.txt|.
|
||||
|
||||
==============================================================================
|
||||
6. Curly braces names *curly-braces-names*
|
||||
@@ -3608,6 +3174,9 @@ text...
|
||||
iterate over. Unlike with |List|, modifying the
|
||||
|Blob| does not affect the iteration.
|
||||
|
||||
When {object} is a |String| each item is a string with
|
||||
one character, plus any combining characters.
|
||||
|
||||
In |Vim9| script `:endfor` cannot be shortened, to
|
||||
improve script readability.
|
||||
|
||||
@@ -3821,6 +3390,19 @@ text...
|
||||
:echomsg "It's a Zizzer Zazzer Zuzz, as you can plainly see."
|
||||
< See |:echo-redraw| to avoid the message disappearing
|
||||
when the screen is redrawn.
|
||||
|
||||
*:echow* *:echowin* *:echowindow*
|
||||
:echow[indow] {expr1} ..
|
||||
Like |:echomsg| but when the messages popup window is
|
||||
available the message is displayed there. This means
|
||||
it will show for three seconds and avoid a
|
||||
|hit-enter| prompt. If you want to hide it before
|
||||
that, press Esc in Normal mode (when it would
|
||||
otherwise beep). If it disappears too soon you can
|
||||
use `:messages` to see the text.
|
||||
The message window is available when Vim was compiled
|
||||
with the +timer and the +popupwin features.
|
||||
|
||||
*:echoe* *:echoerr*
|
||||
:echoe[rr] {expr1} .. Echo the expression(s) as an error message, saving the
|
||||
message in the |message-history|. When used in a
|
||||
|
||||
152
runtime/doc/ft_context.txt
Normal file
152
runtime/doc/ft_context.txt
Normal file
@@ -0,0 +1,152 @@
|
||||
*ft_context.txt* For Vim version 9.0. Last change: 2022 Aug 12
|
||||
|
||||
This is the documentation for the ConTeXt filetype plugin.
|
||||
|
||||
NOTE: the plugin requires +vim9script.
|
||||
|
||||
==============================================================================
|
||||
CONTENTS *context.vim* *ft-context*
|
||||
|
||||
1. Introduction |ft-context-intro|
|
||||
2. Commands |ft-context-commands|
|
||||
3. Settings |ft-context-settings|
|
||||
4. Mappings |ft-context-mappings|
|
||||
|
||||
==============================================================================
|
||||
*ft-context-intro*
|
||||
Introduction ~
|
||||
|
||||
ConTeXt, similarly to LaTeX, is a macro-based typesetting system built on TeX:
|
||||
>
|
||||
https://wiki.contextgarden.net
|
||||
https://wiki.contextgarden.net/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.
|
||||
|
||||
For more fine grained control over the command and its environment, you may
|
||||
invoke `context.Typeset()` directly (or `context#Typeset()` from legacy Vim
|
||||
script). For instance, if you have installed a version of ConTeXt in
|
||||
`~/context`, you may define a function to use it (you may put the following
|
||||
code in `~/.vim/after/ftplugin/context.vim`) similar to the following:
|
||||
>
|
||||
import autoload 'context.vim'
|
||||
|
||||
def MyConTeXt()
|
||||
const env = {'PATH':
|
||||
printf("%s/context/tex/texmf-<os>-<arch>/bin:%s", $HOME, $PATH)}
|
||||
context.Typeset("%", env)
|
||||
enddef
|
||||
<
|
||||
and perhaps use it with a mapping:
|
||||
>
|
||||
nnoremap <silent><buffer><leader>t <scriptcmd>MyConTeXt()<cr>
|
||||
<
|
||||
`context.Typeset()` accepts a third optional argument to specify a custom
|
||||
typesetting command. Such argument must be a function that takes a path and
|
||||
returns the command as a List. For example:
|
||||
>
|
||||
def ConTeXtCustomCommand(path: string): list<string>
|
||||
return ['mtxrun', '--script', 'context', '--nonstopmode, path]
|
||||
enddef
|
||||
|
||||
context.ConTeXtTypeset("%", v:none, ConTeXtCustomCommand)
|
||||
<
|
||||
Large projects are often organized as a root document and various chapter
|
||||
files. When editing a chapter file, it is convenient to invoke |:ConTeXt|
|
||||
directly on it, rather than having to switch to the root file. A "magic line"
|
||||
can be added at the beginning of each chapter file, which specifies the
|
||||
relative path to the root file. For instance:
|
||||
>
|
||||
% !TEX root = ../MyRoot.tex
|
||||
<
|
||||
Vim searches for the magic line in the first ten lines of the current buffer:
|
||||
if it is found, the document specified by that line is typeset rather than the
|
||||
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
|
||||
resides in `~/.vim`, you may use these commands:
|
||||
>
|
||||
mkdir -p ~/.vim/syntax/shared
|
||||
cd ~/.vim/syntax/shared
|
||||
mtxrun --script interface --vim
|
||||
<
|
||||
The last command will create the following syntax files:
|
||||
|
||||
- `context-data-context.vim`;
|
||||
- `context-data-interfaces.vim`;
|
||||
- `context-data-metafun.vim`;
|
||||
- `context-data-tex.vim`.
|
||||
|
||||
The same command can be used to update those syntax files.
|
||||
|
||||
*ft-context-commands*
|
||||
Commands ~
|
||||
*:ConTeXt*
|
||||
Start a background |job| to typeset the document in the current buffer. The
|
||||
command accepts an optional buffer's name, if you want to typeset a document
|
||||
that is in a different buffer.
|
||||
|
||||
*:ConTeXtLog*
|
||||
Edit the log file corresponding to the source in the current buffer.
|
||||
|
||||
*:ConTeXtJobsStatus*
|
||||
Echo the number of jobs currently running in the background.
|
||||
|
||||
*:ConTeXtStopJobs*
|
||||
Stop all the ConTeXt jobs currently running in the background.
|
||||
|
||||
*ft-context-settings*
|
||||
Settings ~
|
||||
*'b:context_ignore_makefile'*
|
||||
*'g:context_ignore_makefile'*
|
||||
`make` can be used to (synchronously) typeset a document. If a Makefile exists
|
||||
and this option is not set, standard `make` is used. If this option is set,
|
||||
`mtxrun` is invoked instead, even if a Makefile exists.
|
||||
>
|
||||
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.
|
||||
*'b:context_include'*
|
||||
*'g:context_include'*
|
||||
Dictionary of filetype/GROUP pairs for which syntax highlighting should be
|
||||
activated between \startGROUP and \stopGROUP. The default is to highlight XML
|
||||
between `\startXML` and `\stopXML`.
|
||||
>
|
||||
g:context_include = {'xml': 'XML'}
|
||||
|
||||
NOTE: Lua and MetaPost are always highlighted within the respective blocks.
|
||||
|
||||
*'g:no_context_maps'*
|
||||
When set, do not define any mappings.
|
||||
>
|
||||
g:no_context_maps = 0
|
||||
<
|
||||
*ft-context-mappings*
|
||||
Mappings ~
|
||||
|
||||
tp "reflow TeX paragraph".
|
||||
|
||||
i$ "inside inline math block".
|
||||
|
||||
a$ "around inline math block".
|
||||
|
||||
]] [count] start of sections forward.
|
||||
|
||||
[[ [count] start of sections backward.
|
||||
|
||||
][ [count] end sections forward.
|
||||
|
||||
[] [count] end of sections backward.
|
||||
|
||||
]} [count] end of blocks (\stop..., \setup...,
|
||||
\define...) forward.
|
||||
|
||||
[{ [count] begin of blocks (\start..., \setup...,
|
||||
\define...) backward.
|
||||
|
||||
vim:tw=78:sw=4:ts=8:noet:ft=help:norl:
|
||||
151
runtime/doc/ft_mp.txt
Normal file
151
runtime/doc/ft_mp.txt
Normal file
@@ -0,0 +1,151 @@
|
||||
*ft_mp.txt* For Vim version 9.0. Last change: 2022 Aug 12
|
||||
|
||||
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.
|
||||
|
||||
==============================================================================
|
||||
CONTENTS *mp.vim* *ft-metapost*
|
||||
*mf.vim* *ft-metafont*
|
||||
|
||||
1. Introduction |ft-metapost-intro|
|
||||
2. Commands |ft-metapost-commands|
|
||||
3. Settings |ft-metapost-settings|
|
||||
4. Mappings |ft-metapost-mappings|
|
||||
|
||||
==============================================================================
|
||||
*ft-metapost-intro*
|
||||
*ft-metafont-intro*
|
||||
Introduction ~
|
||||
This filetype plugin provides extensive support for editing METAFONT and
|
||||
MetaPost documents, including syntax coloring, indentation, and completion.
|
||||
|
||||
Defining indentation rules for METAFONT and MetaPost code is tricky and
|
||||
somewhat subjective, because the syntax is quite liberal. The plugin uses some
|
||||
heuristics that work well most of the time, but in particular cases you may
|
||||
want to to override the automatic rules, so that the manually defined
|
||||
indentation is preserved by commands like `gg=G`.
|
||||
|
||||
This can be achieved by appending `%>`, `%<`, `%=` or `%!` to a line to
|
||||
explicitly control the indentation of the next line. The `<` and `>` symbols
|
||||
may be repeated many times: for instance, `%>>` will cause the next line to be
|
||||
indented twice. Of course, `%<` means that the next line should be
|
||||
de-indented; `%=` sets the indentation of the next line to be equal to the
|
||||
indentation of the current line; and `%!` means that the indentation of the
|
||||
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
|
||||
<
|
||||
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
|
||||
<
|
||||
*ft-metapost-commands*
|
||||
Commands ~
|
||||
*:FixBeginfigs*
|
||||
Renumber beginfig() blocks in the current buffer so that the n-th figure has
|
||||
number n. MetaPost only.
|
||||
|
||||
*ft-metapost-settings*
|
||||
*ft-metafont-settings*
|
||||
Settings ~
|
||||
*'g:mf_other_macros'*
|
||||
Highlight some other basic macro names, e.g., from cmbase, logo, etc. This is
|
||||
set to 1 by default in METAFONT buffers, and it is set to 0 by default in
|
||||
MetaPost buffers.
|
||||
|
||||
*'g:mf_plain_macros'*
|
||||
Highlight keywords defined by plain.mf. This is set to 1 by default in
|
||||
METAFONT buffers, and it is set to 0 by default in MetaPost buffers.
|
||||
|
||||
*'g:mf_plain_modes'*
|
||||
Highlight keywords defined by modes.mf. This is set to 1 by default in
|
||||
METAFONT buffers, and it is set to 0 by default in MetaPost buffers.
|
||||
|
||||
*'g:mp_close_tag'*
|
||||
Define additional keywords that end indented blocks. For instance, if you
|
||||
define:
|
||||
>
|
||||
g:mp_end_tag = ['\<endfoo\>']
|
||||
<
|
||||
any line starting with `endfoo` will be de-indented compared to its previous
|
||||
line.
|
||||
>
|
||||
g:mp_close_tag = []
|
||||
<
|
||||
*'b:mp_metafun'*
|
||||
*'g:mp_metafun'*
|
||||
If set to 1, highlight ConTeXt's MetaFun keywords. MetaPost only.
|
||||
>
|
||||
g:mp_metafun = 0
|
||||
<
|
||||
*'g:mp_mfplain_macros'*
|
||||
Highlight keywords defined by mfplain.mp. MetaPost only.
|
||||
>
|
||||
g:mp_mfplain_macros = 1
|
||||
<
|
||||
*'g:mp_open_tag'*
|
||||
Define additional keywords that start indented blocks. For instance, if you
|
||||
define:
|
||||
>
|
||||
g:mp_open_tag = ['\<beginfoo\>']
|
||||
<
|
||||
the line following `beginfoo` will be indented.
|
||||
>
|
||||
g:mp_open_tag = []
|
||||
<
|
||||
*'g:mp_other_macros'*
|
||||
Highlight keywords defined by all base macro packages (boxes, rboxes, format,
|
||||
graph, marith, sarith, string, TEX). This option affects only MetaPost
|
||||
buffers.
|
||||
>
|
||||
g:mp_other_macros = 1
|
||||
<
|
||||
*'g:mp_plain_macros'*
|
||||
Highlight keywords defined by plain.mp. MetaPost only.
|
||||
>
|
||||
g:mp_plain_macros = 1
|
||||
<
|
||||
*'g:no_mp_maps'*
|
||||
*'g:no_mf_maps'*
|
||||
When set, do not define any mapping in buffers with the corresponding
|
||||
filetype.
|
||||
>
|
||||
g:no_mp_maps = 0
|
||||
g:no_mf_maps = 0
|
||||
<
|
||||
*ft-metapost-mappings*
|
||||
*ft-metafont-mappings*
|
||||
Mappings ~
|
||||
|
||||
]] [count] vardefs, macros or figures forward.
|
||||
|
||||
[[ [count] vardefs, macros or figures backward.
|
||||
|
||||
][ [count] end of vardefs, macros or figures forward.
|
||||
|
||||
[] [count] end of vardefs, macros or figures backward.
|
||||
|
||||
]} [count] end of blocks (fi, endfor, endgroup) forward.
|
||||
|
||||
[{ [count] begin of blocks (if, for, begingroup) backward.
|
||||
|
||||
vim:tw=78:sw=4:ts=8:noet:ft=help:norl:
|
||||
@@ -106,8 +106,7 @@ when you have got a new version):
|
||||
You can also install Vim in the "Send To" menu:
|
||||
1. Start a Windows Explorer
|
||||
2. Navigate to your sendto directory:
|
||||
Windows XP: C:\Documents and Settings\%user%\SendTo
|
||||
Windows Vista: C:\Users\%user%\AppData\Roaming\Microsoft\Windows\SendTo .
|
||||
C:\Users\%user%\AppData\Roaming\Microsoft\Windows\SendTo .
|
||||
3. Right-click in the file pane and select New->Shortcut
|
||||
4. Follow the shortcut wizard, using the full path to VIM/GVIM.
|
||||
|
||||
|
||||
@@ -141,6 +141,7 @@ Advanced editing ~
|
||||
|autocmd.txt| automatically executing commands on an event
|
||||
|eval.txt| expression evaluation, conditional commands
|
||||
|builtin.txt| builtin functions
|
||||
|userfunc.txt| defining user functions
|
||||
|channel.txt| Jobs, Channels, inter-process communication
|
||||
|fold.txt| hide (fold) ranges of lines
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*intro.txt* For Vim version 9.0. Last change: 2022 Apr 03
|
||||
*intro.txt* For Vim version 9.0. Last change: 2022 Sep 12
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -533,6 +533,10 @@ examples and use them directly. Or type them literally, including the '<' and
|
||||
'>' characters. This does NOT work for other commands, like ":set" and
|
||||
":autocmd"!
|
||||
|
||||
The notation can be used in a double quoted strings, using "\<" at the start,
|
||||
e.g. "\<C-Space>". This results in a special key code. To convert this back
|
||||
to readable text use `keytrans()`.
|
||||
|
||||
==============================================================================
|
||||
5. Modes, introduction *vim-modes-intro* *vim-modes*
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*map.txt* For Vim version 9.0. Last change: 2022 Jun 18
|
||||
*map.txt* For Vim version 9.0. Last change: 2022 Sep 12
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1583,7 +1583,7 @@ completion candidates as the return value.
|
||||
|
||||
For the "custom" argument, the function should return the completion
|
||||
candidates one per line in a newline separated string.
|
||||
|
||||
*E1303*
|
||||
For the "customlist" argument, the function should return the completion
|
||||
candidates as a Vim List. Non-string items in the list are ignored.
|
||||
|
||||
@@ -1724,11 +1724,11 @@ The valid escape sequences are
|
||||
*<mods>* *<q-mods>* *:command-modifiers*
|
||||
<mods> The command modifiers, if specified. Otherwise, expands to
|
||||
nothing. Supported modifiers are |:aboveleft|, |:belowright|,
|
||||
|:botright|, |:browse|, |:confirm|, |:hide|, |:keepalt|,
|
||||
|:keepjumps|, |:keepmarks|, |:keeppatterns|, |:leftabove|,
|
||||
|:lockmarks|, |:noautocmd|, |:noswapfile| |:rightbelow|,
|
||||
|:sandbox|, |:silent|, |:tab|, |:topleft|, |:unsilent|,
|
||||
|:verbose|, and |:vertical|.
|
||||
|:botright|, |:browse|, |:confirm|, |:hide|, |:horizontal|,
|
||||
|:keepalt|, |:keepjumps|, |:keepmarks|, |:keeppatterns|,
|
||||
|:leftabove|, |:lockmarks|, |:noautocmd|, |:noswapfile|
|
||||
|:rightbelow|, |:sandbox|, |:silent|, |:tab|, |:topleft|,
|
||||
|:unsilent|, |:verbose|, and |:vertical|.
|
||||
Note that |:filter| is not supported.
|
||||
Examples: >
|
||||
command! -nargs=+ -complete=file MyEdit
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*mlang.txt* For Vim version 9.0. Last change: 2020 Aug 15
|
||||
*mlang.txt* For Vim version 9.0. Last change: 2022 Sep 17
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -82,9 +82,9 @@ use of "-" and "_".
|
||||
characters. This sets $LC_COLLATE.
|
||||
Without an argument all are set, and additionally
|
||||
$LANG is set.
|
||||
When compiled with the |+float| feature the LC_NUMERIC
|
||||
value will always be set to "C", so that floating
|
||||
point numbers use '.' as the decimal point.
|
||||
If available the LC_NUMERIC value will always be set
|
||||
to "C", so that floating point numbers use '.' as the
|
||||
decimal point.
|
||||
This will make a difference for items that depend on
|
||||
the language (some messages, time and date format).
|
||||
Not fully supported on all systems
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*options.txt* For Vim version 9.0. Last change: 2022 Jun 27
|
||||
*options.txt* For Vim version 9.0. Last change: 2022 Sep 09
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1783,16 +1783,11 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
*'cmdheight'* *'ch'*
|
||||
'cmdheight' 'ch' number (default 1)
|
||||
global or local to tab page
|
||||
Number of screen lines to use for the command-line. Helps avoiding
|
||||
|hit-enter| prompts.
|
||||
Number of screen lines to use for the command-line. A larger value
|
||||
helps avoiding |hit-enter| prompts.
|
||||
The value of this option is stored with the tab page, so that each tab
|
||||
page can have a different value.
|
||||
|
||||
When 'cmdheight' is zero, there is no command-line unless it is being
|
||||
used. Some informative messages will not be displayed, any other
|
||||
messages will cause the |hit-enter| prompt. Expect some other
|
||||
unexpected behavior too.
|
||||
|
||||
*'cmdwinheight'* *'cwh'*
|
||||
'cmdwinheight' 'cwh' number (default 7)
|
||||
global
|
||||
@@ -6472,11 +6467,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
45% relative position in the file
|
||||
If 'rulerformat' is set, it will determine the contents of the ruler.
|
||||
Each window has its own ruler. If a window has a status line, the
|
||||
ruler is shown there. If a window doesn't have a status line and
|
||||
'cmdheight' is zero, the ruler is not shown. Otherwise it is shown in
|
||||
the last line of the screen. If the statusline is given by
|
||||
'statusline' (i.e. not empty), this option takes precedence over
|
||||
'ruler' and 'rulerformat'.
|
||||
ruler is shown there. Otherwise it is shown in the last line of the
|
||||
screen. If the statusline is given by 'statusline' (i.e. not empty),
|
||||
this option takes precedence over 'ruler' and 'rulerformat'.
|
||||
If the number of characters displayed is different from the number of
|
||||
bytes in the text (e.g., for a TAB or a multibyte character), both
|
||||
the text column (byte number) and the screen column are shown,
|
||||
@@ -7126,7 +7119,6 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
|+cmdline_info| feature}
|
||||
Show (partial) command in the last line of the screen. Set this
|
||||
option off if your terminal is slow.
|
||||
The option has no effect when 'cmdheight' is zero.
|
||||
In Visual mode the size of the selected area is shown:
|
||||
- When selecting characters within a line, the number of characters.
|
||||
If the number of bytes is different it is also displayed: "2-6"
|
||||
@@ -7176,7 +7168,6 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
If in Insert, Replace or Visual mode put a message on the last line.
|
||||
Use the 'M' flag in 'highlight' to set the type of highlighting for
|
||||
this message.
|
||||
The option has no effect when 'cmdheight' is zero.
|
||||
When |XIM| may be used the message will include "XIM". But this
|
||||
doesn't mean XIM is really active, especially when 'imactivatekey' is
|
||||
not set.
|
||||
@@ -7508,6 +7499,18 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
When on, splitting a window will put the new window right of the
|
||||
current one. |:vsplit|
|
||||
|
||||
*'splitscroll'* *'spsc'* *'nosplitscroll'* *'nospsc'*
|
||||
'splitscroll' 'spsc' boolean (default on)
|
||||
global
|
||||
The value of this option determines the scroll behavior when opening,
|
||||
closing or resizing horizontal splits. When "on", splitting a window
|
||||
horizontally will keep the same relative cursor position in the old and
|
||||
new window, as well windows that are resized. When "off", scrolling
|
||||
will be avoided to stabilize the window content. Instead, the cursor
|
||||
position will be changed when necessary. In this case, the jumplist
|
||||
will be populated with the previous cursor position. Scrolling cannot
|
||||
be guaranteed to be avoided when 'wrap' is enabled.
|
||||
|
||||
*'startofline'* *'sol'* *'nostartofline'* *'nosol'*
|
||||
'startofline' 'sol' boolean (default on)
|
||||
global
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*os_win32.txt* For Vim version 9.0. Last change: 2022 May 24
|
||||
*os_win32.txt* For Vim version 9.0. Last change: 2022 Sep 18
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by George Reilly
|
||||
@@ -7,8 +7,11 @@
|
||||
*win32* *Win32* *MS-Windows*
|
||||
This file documents the idiosyncrasies of the Win32 version of Vim.
|
||||
|
||||
The Win32 version of Vim works on Windows XP, Vista, 7, 8, 10 and 11. There are
|
||||
both console and GUI versions.
|
||||
The Win32 version of Vim works on Windows 7, 8, 10 and 11. There are both
|
||||
console and GUI versions.
|
||||
|
||||
If you have Windows XP or Vista then Vim 9.0 up to patch level 495 can be
|
||||
used.
|
||||
|
||||
The 32 bit version also runs on 64 bit MS-Windows systems.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*quickref.txt* For Vim version 9.0. Last change: 2022 May 05
|
||||
*quickref.txt* For Vim version 9.0. Last change: 2022 Sep 14
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -919,6 +919,7 @@ Short explanation of each option: *option-list*
|
||||
'spellsuggest' 'sps' method(s) used to suggest spelling corrections
|
||||
'splitbelow' 'sb' new window from split is below the current one
|
||||
'splitright' 'spr' new window is put right of the current one
|
||||
'splitscroll' 'spsc' determines scroll behavior for split windows
|
||||
'startofline' 'sol' commands move cursor to first non-blank in line
|
||||
'statusline' 'stl' custom format for the status line
|
||||
'suffixes' 'su' suffixes that are ignored with multiple match
|
||||
|
||||
@@ -1600,7 +1600,7 @@ CHECKCOMPOUNDTRIPLE (Hunspell) *spell-CHECKCOMPOUNDTRIPLE*
|
||||
Forbid three identical characters when compounding. Not
|
||||
supported.
|
||||
|
||||
CHECKSHARPS (Hunspell)) *spell-CHECKSHARPS*
|
||||
CHECKSHARPS (Hunspell) *spell-CHECKSHARPS*
|
||||
SS letter pair in uppercased (German) words may be upper case
|
||||
sharp s (ß). Not supported.
|
||||
|
||||
|
||||
@@ -5368,7 +5368,9 @@ CursorLineFold Like FoldColumn when 'cursorline' is set for the cursor line.
|
||||
*hl-MatchParen*
|
||||
MatchParen Character under the cursor or just before it, if it
|
||||
is a paired bracket, and its match. |pi_paren.txt|
|
||||
|
||||
*hl-MessageWindow*
|
||||
MessageWindow Messages popup window used when 'cmdheight' is zero. If not
|
||||
defined |hl-WarningMsg| is used.
|
||||
*hl-ModeMsg*
|
||||
ModeMsg 'showmode' message (e.g., "-- INSERT --").
|
||||
*hl-MoreMsg*
|
||||
@@ -5388,6 +5390,10 @@ PmenuSel Popup menu: Selected item.
|
||||
PmenuSbar Popup menu: Scrollbar.
|
||||
*hl-PmenuThumb*
|
||||
PmenuThumb Popup menu: Thumb of the scrollbar.
|
||||
*hl-PopupNotification*
|
||||
PopupNotification
|
||||
Popup window created with |popup_notification()|. If not
|
||||
defined |hl-WarningMsg| is used.
|
||||
*hl-Question*
|
||||
Question |hit-enter| prompt and yes/no questions.
|
||||
*hl-QuickFixLine*
|
||||
|
||||
192
runtime/doc/tags
192
runtime/doc/tags
@@ -69,6 +69,9 @@ $quote eval.txt /*$quote*
|
||||
'autowriteall' options.txt /*'autowriteall'*
|
||||
'aw' options.txt /*'aw'*
|
||||
'awa' options.txt /*'awa'*
|
||||
'b:context_ignore_makefile' ft_context.txt /*'b:context_ignore_makefile'*
|
||||
'b:context_include' ft_context.txt /*'b:context_include'*
|
||||
'b:mp_metafun' ft_mp.txt /*'b:mp_metafun'*
|
||||
'background' options.txt /*'background'*
|
||||
'backspace' options.txt /*'backspace'*
|
||||
'backup' options.txt /*'backup'*
|
||||
@@ -299,6 +302,20 @@ $quote eval.txt /*$quote*
|
||||
'fs' options.txt /*'fs'*
|
||||
'fsync' options.txt /*'fsync'*
|
||||
'ft' options.txt /*'ft'*
|
||||
'g:context_ignore_makefile' ft_context.txt /*'g:context_ignore_makefile'*
|
||||
'g:context_include' ft_context.txt /*'g:context_include'*
|
||||
'g:mf_other_macros' ft_mp.txt /*'g:mf_other_macros'*
|
||||
'g:mf_plain_macros' ft_mp.txt /*'g:mf_plain_macros'*
|
||||
'g:mf_plain_modes' ft_mp.txt /*'g:mf_plain_modes'*
|
||||
'g:mp_close_tag' ft_mp.txt /*'g:mp_close_tag'*
|
||||
'g:mp_metafun' ft_mp.txt /*'g:mp_metafun'*
|
||||
'g:mp_mfplain_macros' ft_mp.txt /*'g:mp_mfplain_macros'*
|
||||
'g:mp_open_tag' ft_mp.txt /*'g:mp_open_tag'*
|
||||
'g:mp_other_macros' ft_mp.txt /*'g:mp_other_macros'*
|
||||
'g:mp_plain_macros' ft_mp.txt /*'g:mp_plain_macros'*
|
||||
'g:no_context_maps' ft_context.txt /*'g:no_context_maps'*
|
||||
'g:no_mf_maps' ft_mp.txt /*'g:no_mf_maps'*
|
||||
'g:no_mp_maps' ft_mp.txt /*'g:no_mp_maps'*
|
||||
'gcr' options.txt /*'gcr'*
|
||||
'gd' options.txt /*'gd'*
|
||||
'gdefault' options.txt /*'gdefault'*
|
||||
@@ -701,7 +718,9 @@ $quote eval.txt /*$quote*
|
||||
'nospell' options.txt /*'nospell'*
|
||||
'nosplitbelow' options.txt /*'nosplitbelow'*
|
||||
'nosplitright' options.txt /*'nosplitright'*
|
||||
'nosplitscroll' options.txt /*'nosplitscroll'*
|
||||
'nospr' options.txt /*'nospr'*
|
||||
'nospsc' options.txt /*'nospsc'*
|
||||
'nosr' options.txt /*'nosr'*
|
||||
'nossl' options.txt /*'nossl'*
|
||||
'nosta' options.txt /*'nosta'*
|
||||
@@ -935,9 +954,11 @@ $quote eval.txt /*$quote*
|
||||
'spl' options.txt /*'spl'*
|
||||
'splitbelow' options.txt /*'splitbelow'*
|
||||
'splitright' options.txt /*'splitright'*
|
||||
'splitscroll' options.txt /*'splitscroll'*
|
||||
'spo' options.txt /*'spo'*
|
||||
'spr' options.txt /*'spr'*
|
||||
'sps' options.txt /*'sps'*
|
||||
'spsc' options.txt /*'spsc'*
|
||||
'sr' options.txt /*'sr'*
|
||||
'srr' options.txt /*'srr'*
|
||||
'ss' options.txt /*'ss'*
|
||||
@@ -1301,7 +1322,6 @@ $quote eval.txt /*$quote*
|
||||
+balloon_eval various.txt /*+balloon_eval*
|
||||
+balloon_eval_term various.txt /*+balloon_eval_term*
|
||||
+browse various.txt /*+browse*
|
||||
+builtin_terms various.txt /*+builtin_terms*
|
||||
+byte_offset various.txt /*+byte_offset*
|
||||
+channel various.txt /*+channel*
|
||||
+cindent various.txt /*+cindent*
|
||||
@@ -1566,7 +1586,7 @@ $quote eval.txt /*$quote*
|
||||
-xrm gui_x11.txt /*-xrm*
|
||||
-y starting.txt /*-y*
|
||||
. repeat.txt /*.*
|
||||
... eval.txt /*...*
|
||||
... userfunc.txt /*...*
|
||||
.Xdefaults gui_x11.txt /*.Xdefaults*
|
||||
.aff spell.txt /*.aff*
|
||||
.dic spell.txt /*.dic*
|
||||
@@ -2036,12 +2056,17 @@ $quote eval.txt /*$quote*
|
||||
:Cfilter quickfix.txt /*:Cfilter*
|
||||
:Clear terminal.txt /*:Clear*
|
||||
:CompilerSet usr_51.txt /*:CompilerSet*
|
||||
:ConTeXt ft_context.txt /*:ConTeXt*
|
||||
:ConTeXtJobsStatus ft_context.txt /*:ConTeXtJobsStatus*
|
||||
:ConTeXtLog ft_context.txt /*:ConTeXtLog*
|
||||
:ConTeXtStopJobs ft_context.txt /*:ConTeXtStopJobs*
|
||||
:Continue terminal.txt /*:Continue*
|
||||
:DiffOrig diff.txt /*:DiffOrig*
|
||||
:DoMatchParen pi_paren.txt /*:DoMatchParen*
|
||||
:Evaluate terminal.txt /*:Evaluate*
|
||||
:Explore pi_netrw.txt /*:Explore*
|
||||
:Finish terminal.txt /*:Finish*
|
||||
:FixBeginfigs ft_mp.txt /*:FixBeginfigs*
|
||||
:GLVS pi_getscript.txt /*:GLVS*
|
||||
:Gdb terminal.txt /*:Gdb*
|
||||
:GetLatestVimScripts_dat pi_getscript.txt /*:GetLatestVimScripts_dat*
|
||||
@@ -2239,8 +2264,8 @@ $quote eval.txt /*$quote*
|
||||
:caddfile quickfix.txt /*:caddfile*
|
||||
:caf quickfix.txt /*:caf*
|
||||
:cafter quickfix.txt /*:cafter*
|
||||
:cal eval.txt /*:cal*
|
||||
:call eval.txt /*:call*
|
||||
:cal userfunc.txt /*:cal*
|
||||
:call userfunc.txt /*:call*
|
||||
:cat eval.txt /*:cat*
|
||||
:catch eval.txt /*:catch*
|
||||
:cb quickfix.txt /*:cb*
|
||||
@@ -2384,13 +2409,14 @@ $quote eval.txt /*$quote*
|
||||
:def vim9.txt /*:def*
|
||||
:defc vim9.txt /*:defc*
|
||||
:defcompile vim9.txt /*:defcompile*
|
||||
:defer userfunc.txt /*:defer*
|
||||
:del change.txt /*:del*
|
||||
:delc map.txt /*:delc*
|
||||
:delcommand map.txt /*:delcommand*
|
||||
:delcr todo.txt /*:delcr*
|
||||
:delete change.txt /*:delete*
|
||||
:delf eval.txt /*:delf*
|
||||
:delfunction eval.txt /*:delfunction*
|
||||
:delf userfunc.txt /*:delf*
|
||||
:delfunction userfunc.txt /*:delfunction*
|
||||
:delm motion.txt /*:delm*
|
||||
:delmarks motion.txt /*:delmarks*
|
||||
:di change.txt /*:di*
|
||||
@@ -2448,6 +2474,9 @@ $quote eval.txt /*$quote*
|
||||
:echom eval.txt /*:echom*
|
||||
:echomsg eval.txt /*:echomsg*
|
||||
:echon eval.txt /*:echon*
|
||||
:echow eval.txt /*:echow*
|
||||
:echowin eval.txt /*:echowin*
|
||||
:echowindow eval.txt /*:echowindow*
|
||||
:edit editing.txt /*:edit*
|
||||
:edit! editing.txt /*:edit!*
|
||||
:edit!_f editing.txt /*:edit!_f*
|
||||
@@ -2464,10 +2493,10 @@ $quote eval.txt /*$quote*
|
||||
:endclass vim9.txt /*:endclass*
|
||||
:enddef vim9.txt /*:enddef*
|
||||
:endenum vim9.txt /*:endenum*
|
||||
:endf eval.txt /*:endf*
|
||||
:endf userfunc.txt /*:endf*
|
||||
:endfo eval.txt /*:endfo*
|
||||
:endfor eval.txt /*:endfor*
|
||||
:endfunction eval.txt /*:endfunction*
|
||||
:endfunction userfunc.txt /*:endfunction*
|
||||
:endif eval.txt /*:endif*
|
||||
:endinterface vim9.txt /*:endinterface*
|
||||
:endt eval.txt /*:endt*
|
||||
@@ -2529,13 +2558,13 @@ $quote eval.txt /*$quote*
|
||||
:foldo fold.txt /*:foldo*
|
||||
:foldopen fold.txt /*:foldopen*
|
||||
:for eval.txt /*:for*
|
||||
:fu eval.txt /*:fu*
|
||||
:func-abort eval.txt /*:func-abort*
|
||||
:func-closure eval.txt /*:func-closure*
|
||||
:func-dict eval.txt /*:func-dict*
|
||||
:func-range eval.txt /*:func-range*
|
||||
:function eval.txt /*:function*
|
||||
:function-verbose eval.txt /*:function-verbose*
|
||||
:fu userfunc.txt /*:fu*
|
||||
:func-abort userfunc.txt /*:func-abort*
|
||||
:func-closure userfunc.txt /*:func-closure*
|
||||
:func-dict userfunc.txt /*:func-dict*
|
||||
:func-range userfunc.txt /*:func-range*
|
||||
:function userfunc.txt /*:function*
|
||||
:function-verbose userfunc.txt /*:function-verbose*
|
||||
:g repeat.txt /*:g*
|
||||
:global repeat.txt /*:global*
|
||||
:go motion.txt /*:go*
|
||||
@@ -2575,6 +2604,8 @@ $quote eval.txt /*$quote*
|
||||
:his cmdline.txt /*:his*
|
||||
:history cmdline.txt /*:history*
|
||||
:history-indexing cmdline.txt /*:history-indexing*
|
||||
:hor windows.txt /*:hor*
|
||||
:horizontal windows.txt /*:horizontal*
|
||||
:i insert.txt /*:i*
|
||||
:ia map.txt /*:ia*
|
||||
:iabbrev map.txt /*:iabbrev*
|
||||
@@ -3025,8 +3056,8 @@ $quote eval.txt /*$quote*
|
||||
:ret change.txt /*:ret*
|
||||
:retab change.txt /*:retab*
|
||||
:retab! change.txt /*:retab!*
|
||||
:retu eval.txt /*:retu*
|
||||
:return eval.txt /*:return*
|
||||
:retu userfunc.txt /*:retu*
|
||||
:return userfunc.txt /*:return*
|
||||
:rew editing.txt /*:rew*
|
||||
:rewind editing.txt /*:rewind*
|
||||
:ri change.txt /*:ri*
|
||||
@@ -4054,13 +4085,12 @@ E1066 vim9.txt /*E1066*
|
||||
E1067 eval.txt /*E1067*
|
||||
E1068 vim9.txt /*E1068*
|
||||
E1069 vim9.txt /*E1069*
|
||||
E107 eval.txt /*E107*
|
||||
E107 userfunc.txt /*E107*
|
||||
E1071 vim9.txt /*E1071*
|
||||
E1072 eval.txt /*E1072*
|
||||
E1073 vim9.txt /*E1073*
|
||||
E1074 vim9.txt /*E1074*
|
||||
E1075 vim9.txt /*E1075*
|
||||
E1076 eval.txt /*E1076*
|
||||
E1077 vim9.txt /*E1077*
|
||||
E1078 autocmd.txt /*E1078*
|
||||
E1079 vim9.txt /*E1079*
|
||||
@@ -4069,18 +4099,18 @@ E1080 vim9.txt /*E1080*
|
||||
E1081 eval.txt /*E1081*
|
||||
E1082 vim9.txt /*E1082*
|
||||
E1083 editing.txt /*E1083*
|
||||
E1084 eval.txt /*E1084*
|
||||
E1084 userfunc.txt /*E1084*
|
||||
E1085 eval.txt /*E1085*
|
||||
E1087 vim9.txt /*E1087*
|
||||
E1088 vim9.txt /*E1088*
|
||||
E1089 eval.txt /*E1089*
|
||||
E109 eval.txt /*E109*
|
||||
E1090 eval.txt /*E1090*
|
||||
E1090 userfunc.txt /*E1090*
|
||||
E1091 vim9.txt /*E1091*
|
||||
E1092 various.txt /*E1092*
|
||||
E1093 eval.txt /*E1093*
|
||||
E1094 vim9.txt /*E1094*
|
||||
E1095 eval.txt /*E1095*
|
||||
E1095 userfunc.txt /*E1095*
|
||||
E1096 vim9.txt /*E1096*
|
||||
E1097 vim9.txt /*E1097*
|
||||
E1098 eval.txt /*E1098*
|
||||
@@ -4143,7 +4173,7 @@ E1148 eval.txt /*E1148*
|
||||
E1149 vim9.txt /*E1149*
|
||||
E115 eval.txt /*E115*
|
||||
E1150 vim9.txt /*E1150*
|
||||
E1151 eval.txt /*E1151*
|
||||
E1151 userfunc.txt /*E1151*
|
||||
E1152 vim9.txt /*E1152*
|
||||
E1153 eval.txt /*E1153*
|
||||
E1154 eval.txt /*E1154*
|
||||
@@ -4163,7 +4193,7 @@ E1166 eval.txt /*E1166*
|
||||
E1167 vim9.txt /*E1167*
|
||||
E1168 vim9.txt /*E1168*
|
||||
E1169 eval.txt /*E1169*
|
||||
E117 eval.txt /*E117*
|
||||
E117 userfunc.txt /*E117*
|
||||
E1170 vim9.txt /*E1170*
|
||||
E1171 vim9.txt /*E1171*
|
||||
E1172 vim9.txt /*E1172*
|
||||
@@ -4219,7 +4249,7 @@ E1216 builtin.txt /*E1216*
|
||||
E1217 vim9.txt /*E1217*
|
||||
E1218 vim9.txt /*E1218*
|
||||
E1219 vim9.txt /*E1219*
|
||||
E122 eval.txt /*E122*
|
||||
E122 userfunc.txt /*E122*
|
||||
E1220 vim9.txt /*E1220*
|
||||
E1221 vim9.txt /*E1221*
|
||||
E1222 vim9.txt /*E1222*
|
||||
@@ -4230,7 +4260,7 @@ E1226 vim9.txt /*E1226*
|
||||
E1227 vim9.txt /*E1227*
|
||||
E1228 vim9.txt /*E1228*
|
||||
E1229 eval.txt /*E1229*
|
||||
E123 eval.txt /*E123*
|
||||
E123 userfunc.txt /*E123*
|
||||
E1230 options.txt /*E1230*
|
||||
E1231 map.txt /*E1231*
|
||||
E1232 builtin.txt /*E1232*
|
||||
@@ -4240,7 +4270,7 @@ E1236 vim9.txt /*E1236*
|
||||
E1237 map.txt /*E1237*
|
||||
E1238 vim9.txt /*E1238*
|
||||
E1239 builtin.txt /*E1239*
|
||||
E124 eval.txt /*E124*
|
||||
E124 userfunc.txt /*E124*
|
||||
E1240 change.txt /*E1240*
|
||||
E1241 change.txt /*E1241*
|
||||
E1242 change.txt /*E1242*
|
||||
@@ -4251,7 +4281,7 @@ E1246 eval.txt /*E1246*
|
||||
E1247 cmdline.txt /*E1247*
|
||||
E1248 vim9.txt /*E1248*
|
||||
E1249 syntax.txt /*E1249*
|
||||
E125 eval.txt /*E125*
|
||||
E125 userfunc.txt /*E125*
|
||||
E1250 vim9.txt /*E1250*
|
||||
E1251 vim9.txt /*E1251*
|
||||
E1252 vim9.txt /*E1252*
|
||||
@@ -4262,18 +4292,18 @@ E1256 vim9.txt /*E1256*
|
||||
E1257 vim9.txt /*E1257*
|
||||
E1258 vim9.txt /*E1258*
|
||||
E1259 vim9.txt /*E1259*
|
||||
E126 eval.txt /*E126*
|
||||
E126 userfunc.txt /*E126*
|
||||
E1260 vim9.txt /*E1260*
|
||||
E1261 vim9.txt /*E1261*
|
||||
E1262 vim9.txt /*E1262*
|
||||
E1263 eval.txt /*E1263*
|
||||
E1263 userfunc.txt /*E1263*
|
||||
E1264 vim9.txt /*E1264*
|
||||
E1265 eval.txt /*E1265*
|
||||
E1266 if_pyth.txt /*E1266*
|
||||
E1267 eval.txt /*E1267*
|
||||
E1267 userfunc.txt /*E1267*
|
||||
E1268 vim9.txt /*E1268*
|
||||
E1269 vim9.txt /*E1269*
|
||||
E127 eval.txt /*E127*
|
||||
E127 userfunc.txt /*E127*
|
||||
E1270 change.txt /*E1270*
|
||||
E1271 vim9.txt /*E1271*
|
||||
E1272 vim9.txt /*E1272*
|
||||
@@ -4284,7 +4314,7 @@ E1276 builtin.txt /*E1276*
|
||||
E1277 channel.txt /*E1277*
|
||||
E1278 eval.txt /*E1278*
|
||||
E1279 eval.txt /*E1279*
|
||||
E128 eval.txt /*E128*
|
||||
E128 userfunc.txt /*E128*
|
||||
E1280 spell.txt /*E1280*
|
||||
E1281 pattern.txt /*E1281*
|
||||
E1282 eval.txt /*E1282*
|
||||
@@ -4295,7 +4325,7 @@ E1286 builtin.txt /*E1286*
|
||||
E1287 builtin.txt /*E1287*
|
||||
E1288 builtin.txt /*E1288*
|
||||
E1289 builtin.txt /*E1289*
|
||||
E129 eval.txt /*E129*
|
||||
E129 userfunc.txt /*E129*
|
||||
E1290 change.txt /*E1290*
|
||||
E1291 testing.txt /*E1291*
|
||||
E1292 cmdline.txt /*E1292*
|
||||
@@ -4303,10 +4333,19 @@ E1293 textprop.txt /*E1293*
|
||||
E1294 textprop.txt /*E1294*
|
||||
E1295 textprop.txt /*E1295*
|
||||
E1296 textprop.txt /*E1296*
|
||||
E1297 vim9.txt /*E1297*
|
||||
E1298 vim9.txt /*E1298*
|
||||
E1299 tagsrch.txt /*E1299*
|
||||
E13 message.txt /*E13*
|
||||
E131 eval.txt /*E131*
|
||||
E132 eval.txt /*E132*
|
||||
E133 eval.txt /*E133*
|
||||
E1300 userfunc.txt /*E1300*
|
||||
E1301 vim9.txt /*E1301*
|
||||
E1302 eval.txt /*E1302*
|
||||
E1303 map.txt /*E1303*
|
||||
E1304 vim9.txt /*E1304*
|
||||
E1305 textprop.txt /*E1305*
|
||||
E131 userfunc.txt /*E131*
|
||||
E132 userfunc.txt /*E132*
|
||||
E133 userfunc.txt /*E133*
|
||||
E134 change.txt /*E134*
|
||||
E135 autocmd.txt /*E135*
|
||||
E136 starting.txt /*E136*
|
||||
@@ -4371,7 +4410,7 @@ E19 message.txt /*E19*
|
||||
E190 message.txt /*E190*
|
||||
E191 motion.txt /*E191*
|
||||
E192 message.txt /*E192*
|
||||
E193 eval.txt /*E193*
|
||||
E193 userfunc.txt /*E193*
|
||||
E194 message.txt /*E194*
|
||||
E195 starting.txt /*E195*
|
||||
E196 various.txt /*E196*
|
||||
@@ -4650,7 +4689,7 @@ E450 popup.txt /*E450*
|
||||
E451 eval.txt /*E451*
|
||||
E452 eval.txt /*E452*
|
||||
E453 syntax.txt /*E453*
|
||||
E454 eval.txt /*E454*
|
||||
E454 userfunc.txt /*E454*
|
||||
E455 print.txt /*E455*
|
||||
E456 print.txt /*E456*
|
||||
E457 print.txt /*E457*
|
||||
@@ -4953,13 +4992,13 @@ E737 builtin.txt /*E737*
|
||||
E738 eval.txt /*E738*
|
||||
E739 builtin.txt /*E739*
|
||||
E74 message.txt /*E74*
|
||||
E740 eval.txt /*E740*
|
||||
E740 userfunc.txt /*E740*
|
||||
E741 eval.txt /*E741*
|
||||
E742 eval.txt /*E742*
|
||||
E742 userfunc.txt /*E742*
|
||||
E743 eval.txt /*E743*
|
||||
E744 netbeans.txt /*E744*
|
||||
E745 eval.txt /*E745*
|
||||
E746 eval.txt /*E746*
|
||||
E746 userfunc.txt /*E746*
|
||||
E747 editing.txt /*E747*
|
||||
E748 repeat.txt /*E748*
|
||||
E749 various.txt /*E749*
|
||||
@@ -5076,7 +5115,7 @@ E85 options.txt /*E85*
|
||||
E850 change.txt /*E850*
|
||||
E851 gui_x11.txt /*E851*
|
||||
E852 gui_x11.txt /*E852*
|
||||
E853 eval.txt /*E853*
|
||||
E853 userfunc.txt /*E853*
|
||||
E854 options.txt /*E854*
|
||||
E855 autocmd.txt /*E855*
|
||||
E856 testing.txt /*E856*
|
||||
@@ -5110,7 +5149,7 @@ E880 if_pyth.txt /*E880*
|
||||
E881 autocmd.txt /*E881*
|
||||
E882 builtin.txt /*E882*
|
||||
E883 builtin.txt /*E883*
|
||||
E884 eval.txt /*E884*
|
||||
E884 userfunc.txt /*E884*
|
||||
E885 sign.txt /*E885*
|
||||
E886 starting.txt /*E886*
|
||||
E887 if_pyth.txt /*E887*
|
||||
@@ -5163,8 +5202,8 @@ E929 starting.txt /*E929*
|
||||
E93 windows.txt /*E93*
|
||||
E930 builtin.txt /*E930*
|
||||
E931 message.txt /*E931*
|
||||
E932 eval.txt /*E932*
|
||||
E933 eval.txt /*E933*
|
||||
E932 userfunc.txt /*E932*
|
||||
E933 userfunc.txt /*E933*
|
||||
E934 sign.txt /*E934*
|
||||
E935 builtin.txt /*E935*
|
||||
E936 autocmd.txt /*E936*
|
||||
@@ -5225,7 +5264,7 @@ E985 eval.txt /*E985*
|
||||
E986 tagsrch.txt /*E986*
|
||||
E987 tagsrch.txt /*E987*
|
||||
E988 gui_w32.txt /*E988*
|
||||
E989 eval.txt /*E989*
|
||||
E989 userfunc.txt /*E989*
|
||||
E99 diff.txt /*E99*
|
||||
E990 eval.txt /*E990*
|
||||
E991 eval.txt /*E991*
|
||||
@@ -5547,7 +5586,7 @@ W18 syntax.txt /*W18*
|
||||
W19 autocmd.txt /*W19*
|
||||
W20 if_pyth.txt /*W20*
|
||||
W21 if_pyth.txt /*W21*
|
||||
W22 eval.txt /*W22*
|
||||
W22 userfunc.txt /*W22*
|
||||
WORD motion.txt /*WORD*
|
||||
WSL os_win32.txt /*WSL*
|
||||
WWW intro.txt /*WWW*
|
||||
@@ -5682,12 +5721,12 @@ a' motion.txt /*a'*
|
||||
a( motion.txt /*a(*
|
||||
a) motion.txt /*a)*
|
||||
a4 print.txt /*a4*
|
||||
a:0 eval.txt /*a:0*
|
||||
a:000 eval.txt /*a:000*
|
||||
a:1 eval.txt /*a:1*
|
||||
a:firstline eval.txt /*a:firstline*
|
||||
a:lastline eval.txt /*a:lastline*
|
||||
a:var eval.txt /*a:var*
|
||||
a:0 userfunc.txt /*a:0*
|
||||
a:000 userfunc.txt /*a:000*
|
||||
a:1 userfunc.txt /*a:1*
|
||||
a:firstline userfunc.txt /*a:firstline*
|
||||
a:lastline userfunc.txt /*a:lastline*
|
||||
a:var userfunc.txt /*a:var*
|
||||
a< motion.txt /*a<*
|
||||
a> motion.txt /*a>*
|
||||
aB motion.txt /*aB*
|
||||
@@ -5833,8 +5872,8 @@ autocommand-events autocmd.txt /*autocommand-events*
|
||||
autocommand-pattern autocmd.txt /*autocommand-pattern*
|
||||
autocommands autocmd.txt /*autocommands*
|
||||
autoformat change.txt /*autoformat*
|
||||
autoload eval.txt /*autoload*
|
||||
autoload-functions eval.txt /*autoload-functions*
|
||||
autoload userfunc.txt /*autoload*
|
||||
autoload-functions userfunc.txt /*autoload-functions*
|
||||
avoid-hit-enter version5.txt /*avoid-hit-enter*
|
||||
aw motion.txt /*aw*
|
||||
a{ motion.txt /*a{*
|
||||
@@ -5890,6 +5929,7 @@ blob-modification eval.txt /*blob-modification*
|
||||
blob2list() builtin.txt /*blob2list()*
|
||||
blockwise-examples visual.txt /*blockwise-examples*
|
||||
blockwise-operators visual.txt /*blockwise-operators*
|
||||
blockwise-put change.txt /*blockwise-put*
|
||||
blockwise-register change.txt /*blockwise-register*
|
||||
blockwise-visual visual.txt /*blockwise-visual*
|
||||
blowfish options.txt /*blowfish*
|
||||
@@ -6293,6 +6333,7 @@ conceal syntax.txt /*conceal*
|
||||
confirm() builtin.txt /*confirm()*
|
||||
connection-refused message.txt /*connection-refused*
|
||||
console-menus gui.txt /*console-menus*
|
||||
context.vim ft_context.txt /*context.vim*
|
||||
control intro.txt /*control*
|
||||
conversion-server mbyte.txt /*conversion-server*
|
||||
convert-to-HTML syntax.txt /*convert-to-HTML*
|
||||
@@ -6467,6 +6508,7 @@ decada_members ft_ada.txt /*decada_members*
|
||||
deepcopy() builtin.txt /*deepcopy()*
|
||||
defaults.vim starting.txt /*defaults.vim*
|
||||
defaults.vim-explained usr_05.txt /*defaults.vim-explained*
|
||||
define-function userfunc.txt /*define-function*
|
||||
definition-search tagsrch.txt /*definition-search*
|
||||
definitions intro.txt /*definitions*
|
||||
delete() builtin.txt /*delete()*
|
||||
@@ -6937,6 +6979,11 @@ ft-clojure-indent indent.txt /*ft-clojure-indent*
|
||||
ft-clojure-syntax syntax.txt /*ft-clojure-syntax*
|
||||
ft-cobol-syntax syntax.txt /*ft-cobol-syntax*
|
||||
ft-coldfusion-syntax syntax.txt /*ft-coldfusion-syntax*
|
||||
ft-context ft_context.txt /*ft-context*
|
||||
ft-context-commands ft_context.txt /*ft-context-commands*
|
||||
ft-context-intro ft_context.txt /*ft-context-intro*
|
||||
ft-context-mappings ft_context.txt /*ft-context-mappings*
|
||||
ft-context-settings ft_context.txt /*ft-context-settings*
|
||||
ft-cpp-syntax syntax.txt /*ft-cpp-syntax*
|
||||
ft-csh-syntax syntax.txt /*ft-csh-syntax*
|
||||
ft-css-omni insert.txt /*ft-css-omni*
|
||||
@@ -6996,6 +7043,15 @@ ft-markdown-syntax syntax.txt /*ft-markdown-syntax*
|
||||
ft-masm-syntax syntax.txt /*ft-masm-syntax*
|
||||
ft-mathematica-syntax syntax.txt /*ft-mathematica-syntax*
|
||||
ft-matlab-indent indent.txt /*ft-matlab-indent*
|
||||
ft-metafont ft_mp.txt /*ft-metafont*
|
||||
ft-metafont-intro ft_mp.txt /*ft-metafont-intro*
|
||||
ft-metafont-mappings ft_mp.txt /*ft-metafont-mappings*
|
||||
ft-metafont-settings ft_mp.txt /*ft-metafont-settings*
|
||||
ft-metapost ft_mp.txt /*ft-metapost*
|
||||
ft-metapost-commands ft_mp.txt /*ft-metapost-commands*
|
||||
ft-metapost-intro ft_mp.txt /*ft-metapost-intro*
|
||||
ft-metapost-mappings ft_mp.txt /*ft-metapost-mappings*
|
||||
ft-metapost-settings ft_mp.txt /*ft-metapost-settings*
|
||||
ft-mma-syntax syntax.txt /*ft-mma-syntax*
|
||||
ft-moo-syntax syntax.txt /*ft-moo-syntax*
|
||||
ft-msql-syntax syntax.txt /*ft-msql-syntax*
|
||||
@@ -7074,6 +7130,8 @@ ft-yaml-syntax syntax.txt /*ft-yaml-syntax*
|
||||
ft-zimbu-plugin filetype.txt /*ft-zimbu-plugin*
|
||||
ft-zsh-syntax syntax.txt /*ft-zsh-syntax*
|
||||
ft_ada.txt ft_ada.txt /*ft_ada.txt*
|
||||
ft_context.txt ft_context.txt /*ft_context.txt*
|
||||
ft_mp.txt ft_mp.txt /*ft_mp.txt*
|
||||
ft_ps1.txt ft_ps1.txt /*ft_ps1.txt*
|
||||
ft_raku.txt ft_raku.txt /*ft_raku.txt*
|
||||
ft_rust.txt ft_rust.txt /*ft_rust.txt*
|
||||
@@ -7089,11 +7147,11 @@ ftplugins usr_05.txt /*ftplugins*
|
||||
fullcommand() builtin.txt /*fullcommand()*
|
||||
funcref() builtin.txt /*funcref()*
|
||||
function() builtin.txt /*function()*
|
||||
function-argument eval.txt /*function-argument*
|
||||
function-argument userfunc.txt /*function-argument*
|
||||
function-key intro.txt /*function-key*
|
||||
function-list usr_41.txt /*function-list*
|
||||
function-range-example eval.txt /*function-range-example*
|
||||
function-search-undo eval.txt /*function-search-undo*
|
||||
function-range-example userfunc.txt /*function-range-example*
|
||||
function-search-undo userfunc.txt /*function-search-undo*
|
||||
function_key intro.txt /*function_key*
|
||||
functions eval.txt /*functions*
|
||||
fuzzy-matching pattern.txt /*fuzzy-matching*
|
||||
@@ -7697,6 +7755,7 @@ hl-LineNrAbove syntax.txt /*hl-LineNrAbove*
|
||||
hl-LineNrBelow syntax.txt /*hl-LineNrBelow*
|
||||
hl-MatchParen syntax.txt /*hl-MatchParen*
|
||||
hl-Menu syntax.txt /*hl-Menu*
|
||||
hl-MessageWindow syntax.txt /*hl-MessageWindow*
|
||||
hl-ModeMsg syntax.txt /*hl-ModeMsg*
|
||||
hl-MoreMsg syntax.txt /*hl-MoreMsg*
|
||||
hl-NonText syntax.txt /*hl-NonText*
|
||||
@@ -7705,6 +7764,7 @@ hl-Pmenu syntax.txt /*hl-Pmenu*
|
||||
hl-PmenuSbar syntax.txt /*hl-PmenuSbar*
|
||||
hl-PmenuSel syntax.txt /*hl-PmenuSel*
|
||||
hl-PmenuThumb syntax.txt /*hl-PmenuThumb*
|
||||
hl-PopupNotification syntax.txt /*hl-PopupNotification*
|
||||
hl-Question syntax.txt /*hl-Question*
|
||||
hl-QuickFixLine syntax.txt /*hl-QuickFixLine*
|
||||
hl-Scrollbar syntax.txt /*hl-Scrollbar*
|
||||
@@ -8070,6 +8130,7 @@ keypad-page-up intro.txt /*keypad-page-up*
|
||||
keypad-plus intro.txt /*keypad-plus*
|
||||
keypad-point intro.txt /*keypad-point*
|
||||
keys() builtin.txt /*keys()*
|
||||
keytrans() builtin.txt /*keytrans()*
|
||||
known-bugs todo.txt /*known-bugs*
|
||||
l motion.txt /*l*
|
||||
l: eval.txt /*l:*
|
||||
@@ -8138,10 +8199,10 @@ lnum-variable eval.txt /*lnum-variable*
|
||||
load-plugins starting.txt /*load-plugins*
|
||||
load-vim-script repeat.txt /*load-vim-script*
|
||||
local-additions help.txt /*local-additions*
|
||||
local-function eval.txt /*local-function*
|
||||
local-function userfunc.txt /*local-function*
|
||||
local-options options.txt /*local-options*
|
||||
local-variable eval.txt /*local-variable*
|
||||
local-variables eval.txt /*local-variables*
|
||||
local-variables userfunc.txt /*local-variables*
|
||||
local_markfilelist pi_netrw.txt /*local_markfilelist*
|
||||
locale mbyte.txt /*locale*
|
||||
locale-name mbyte.txt /*locale-name*
|
||||
@@ -8320,6 +8381,7 @@ message.txt message.txt /*message.txt*
|
||||
messages message.txt /*messages*
|
||||
meta intro.txt /*meta*
|
||||
method eval.txt /*method*
|
||||
mf.vim ft_mp.txt /*mf.vim*
|
||||
min() builtin.txt /*min()*
|
||||
missing-options vi_diff.txt /*missing-options*
|
||||
mkdir() builtin.txt /*mkdir()*
|
||||
@@ -8353,6 +8415,7 @@ mouse_lnum-variable eval.txt /*mouse_lnum-variable*
|
||||
mouse_win-variable eval.txt /*mouse_win-variable*
|
||||
mouse_winid-variable eval.txt /*mouse_winid-variable*
|
||||
movement intro.txt /*movement*
|
||||
mp.vim ft_mp.txt /*mp.vim*
|
||||
ms-dos os_msdos.txt /*ms-dos*
|
||||
msdos os_msdos.txt /*msdos*
|
||||
msql.vim syntax.txt /*msql.vim*
|
||||
@@ -8751,7 +8814,7 @@ no_plugin_maps filetype.txt /*no_plugin_maps*
|
||||
nocombine syntax.txt /*nocombine*
|
||||
non-greedy pattern.txt /*non-greedy*
|
||||
non-zero-arg eval.txt /*non-zero-arg*
|
||||
none-function_argument eval.txt /*none-function_argument*
|
||||
none-function_argument userfunc.txt /*none-function_argument*
|
||||
none-variable eval.txt /*none-variable*
|
||||
normal-index index.txt /*normal-index*
|
||||
not-compatible usr_01.txt /*not-compatible*
|
||||
@@ -8805,7 +8868,7 @@ option-value-function options.txt /*option-value-function*
|
||||
option-window options.txt /*option-window*
|
||||
option_restore() todo.txt /*option_restore()*
|
||||
option_save() todo.txt /*option_save()*
|
||||
optional-function-argument eval.txt /*optional-function-argument*
|
||||
optional-function-argument userfunc.txt /*optional-function-argument*
|
||||
options options.txt /*options*
|
||||
options-changed version5.txt /*options-changed*
|
||||
options-in-terminal terminal.txt /*options-in-terminal*
|
||||
@@ -9392,6 +9455,7 @@ setbufvar() builtin.txt /*setbufvar()*
|
||||
setcellwidths() builtin.txt /*setcellwidths()*
|
||||
setcharpos() builtin.txt /*setcharpos()*
|
||||
setcharsearch() builtin.txt /*setcharsearch()*
|
||||
setcmdline() builtin.txt /*setcmdline()*
|
||||
setcmdpos() builtin.txt /*setcmdpos()*
|
||||
setcursorcharpos() builtin.txt /*setcursorcharpos()*
|
||||
setenv() builtin.txt /*setenv()*
|
||||
@@ -10279,6 +10343,7 @@ user-cmd-ambiguous map.txt /*user-cmd-ambiguous*
|
||||
user-commands map.txt /*user-commands*
|
||||
user-functions eval.txt /*user-functions*
|
||||
user-manual usr_toc.txt /*user-manual*
|
||||
userfunc.txt userfunc.txt /*userfunc.txt*
|
||||
using-<Plug> usr_51.txt /*using-<Plug>*
|
||||
using-menus gui.txt /*using-menus*
|
||||
using-scripts repeat.txt /*using-scripts*
|
||||
@@ -10658,6 +10723,7 @@ vim9-literal-dict vim9.txt /*vim9-literal-dict*
|
||||
vim9-mix vim9.txt /*vim9-mix*
|
||||
vim9-namespace vim9.txt /*vim9-namespace*
|
||||
vim9-no-dict-function vim9.txt /*vim9-no-dict-function*
|
||||
vim9-no-shorten vim9.txt /*vim9-no-shorten*
|
||||
vim9-rationale vim9.txt /*vim9-rationale*
|
||||
vim9-reload vim9.txt /*vim9-reload*
|
||||
vim9-s-namespace vim9.txt /*vim9-s-namespace*
|
||||
|
||||
@@ -889,13 +889,16 @@ like |CTRL-]|.
|
||||
|
||||
The function used for generating the taglist is specified by setting the
|
||||
'tagfunc' option. The function will be called with three arguments:
|
||||
a:pattern The tag identifier or pattern used during the tag search.
|
||||
a:flags String containing flags to control the function behavior.
|
||||
a:info Dict containing the following entries:
|
||||
pattern The tag identifier or pattern used during the tag search.
|
||||
flags String containing flags to control the function behavior.
|
||||
info Dict containing the following entries:
|
||||
buf_ffname Full filename which can be used for priority.
|
||||
user_data Custom data String, if stored in the tag
|
||||
stack previously by tagfunc.
|
||||
|
||||
Note that in a legacy function "a:" needs to be prepended to the argument name
|
||||
when using it.
|
||||
|
||||
Currently up to three flags may be passed to the tag function:
|
||||
'c' The function was invoked by a normal command being processed
|
||||
(mnemonic: the tag function may use the context around the
|
||||
@@ -931,6 +934,8 @@ If the function returns |v:null| instead of a List, a standard tag lookup will
|
||||
be performed instead.
|
||||
|
||||
It is not allowed to change the tagstack from inside 'tagfunc'. *E986*
|
||||
It is not allowed to close a window or change window from inside 'tagfunc'.
|
||||
*E1299*
|
||||
|
||||
The following is a hypothetical example of a function used for 'tagfunc'. It
|
||||
uses the output of |taglist()| to generate the result: a list of tags in the
|
||||
|
||||
@@ -46,7 +46,7 @@ TERMCAP defined.
|
||||
A number of builtin terminals are available. Since patch 9.0.0280 there is no
|
||||
difference between Vim versions. You can see a list of available builtin
|
||||
terminals in the error message you get for `:set term=xxx` (when not running
|
||||
the GUI). Also see |+builtin_terms|.
|
||||
the GUI). Also see |++builtin_terms|.
|
||||
|
||||
If the termcap code is included Vim will try to get the strings for the
|
||||
terminal you are using from the termcap file and the builtin termcaps. Both
|
||||
@@ -643,6 +643,18 @@ Example for an xterm, this changes the color of the cursor: >
|
||||
endif
|
||||
NOTE: When Vim exits the shape for Normal mode will remain. The shape from
|
||||
before Vim started will not be restored.
|
||||
|
||||
For Windows Terminal you can use something like this: >
|
||||
" Note: This should be set after `set termguicolors` or `set t_Co=256`.
|
||||
if &term =~ 'xterm' || &term == 'win32'
|
||||
" Use DECSCUSR escape sequences
|
||||
let &t_SI = "\e[5 q" " blink bar
|
||||
let &t_SR = "\e[3 q" " blink underline
|
||||
let &t_EI = "\e[1 q" " blink block
|
||||
let &t_ti ..= "\e[1 q" " blink block
|
||||
let &t_te ..= "\e[0 q" " default (depends on terminal, normally blink block)
|
||||
endif
|
||||
|
||||
{not available when compiled without the |+cursorshape| feature}
|
||||
|
||||
*termcap-title*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*textprop.txt* For Vim version 9.0. Last change: 2021 Nov 23
|
||||
*textprop.txt* For Vim version 9.0. Last change: 2022 Sep 17
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -142,9 +142,11 @@ prop_add({lnum}, {col}, {props})
|
||||
then "id" must not be present and will be set
|
||||
automatically to a negative number; otherwise
|
||||
zero is used
|
||||
*E1305*
|
||||
text text to be displayed before {col}, or after the
|
||||
line if {col} is zero; prepend and/or append
|
||||
spaces for padding with highlighting
|
||||
spaces for padding with highlighting; cannot
|
||||
be used with "length", "end_lnum" and "end_col"
|
||||
*E1294*
|
||||
text_align when "text" is present and {col} is zero;
|
||||
specifies where to display the text:
|
||||
@@ -153,9 +155,10 @@ prop_add({lnum}, {col}, {props})
|
||||
the text wraps to the next screen
|
||||
line)
|
||||
below in the next screen line
|
||||
above just above the line
|
||||
When omitted "after" is used. Only one
|
||||
"right" property can fit in each line, if
|
||||
there are two ore more these will go in a
|
||||
there are two or more these will go in a
|
||||
separate line (still right aligned).
|
||||
text_padding_left *E1296*
|
||||
used when "text" is present and {col} is zero;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*todo.txt* For Vim version 9.0. Last change: 2022 Jun 27
|
||||
*todo.txt* For Vim version 9.0. Last change: 2022 Sep 18
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -38,6 +38,48 @@ browser use: https://github.com/vim/vim/issues/1234
|
||||
*known-bugs*
|
||||
-------------------- Known bugs and current work -----------------------
|
||||
|
||||
Closure created in for loop can use loop variable? #11094
|
||||
Nested loops do not work correctly yet.
|
||||
Would need to save vars for each block separately.
|
||||
|
||||
Virtual text:
|
||||
- Virtual text below: padding is highlighted when 'number' is set #11138
|
||||
- Virtual text above: do not highlight until end of line? #11138
|
||||
- 'number' should be below "above" virtual text? Might be difficult to
|
||||
implement.
|
||||
- Add highlight for the gap before/after virtual text above/below?
|
||||
- option to hide virtual text?
|
||||
|
||||
Fail with valgrind: test_edit
|
||||
Found errors in Test_edit_insertmode_ex_edit():
|
||||
Run 1, 01:19:51 - 01:20:01:
|
||||
command line..script /home/mool/vim/vim90/src/testdir/runtest.vim[469]..function RunTheTest[44]..Test_edit_insertmode_ex_edit[13]..WaitForAssert[2]..<SNR>6_WaitForCommon[11]..<lambda>4 line 1: Pattern '^-- INSERT --\\s*$' does not match ''
|
||||
|
||||
From test_global
|
||||
Found errors in Test_interrupt_global():
|
||||
Run 1, 02:16:22 - 02:16:27:
|
||||
command line..script /home/mool/vim/vim90/src/testdir/runtest.vim[469]..function RunTheTest[44]..Test_interrupt_global[13]..WaitForAssert[2]..<SNR>7_WaitForCommon[11]..<lambda>20 line 1: Pattern 'Interrupted' does not match 'Type :qa! and press...l changes and exit Vim 1,1 All'
|
||||
command line..script /home/mool/vim/vim90/src/testdir/runtest.vim[469]..function RunTheTest[44]..Test_interrupt_global[20]..WaitForAssert[2]..<SNR>7_WaitForCommon[11]..<lambda>21 line 1: Pattern 'Interrupted' does not match 'Entering Ex mode. Type "visual" to go to Normal mode.'
|
||||
|
||||
test_terminal3:
|
||||
Conditional jump or move depends on uninitialised value(s)
|
||||
==2819005== at 0x2E9134: jump_to_mouse (mouse.c:2015)
|
||||
==2819005== by 0x2E69E6: do_mouse (mouse.c:702)
|
||||
==2819005== by 0x2E95C2: nv_mouse (mouse.c:2166)
|
||||
|
||||
option_set(): "get a bit too much"
|
||||
- refactor to separate function
|
||||
- check for empty result
|
||||
|
||||
Use :defer command:
|
||||
- Use "D" flag of writefile() and mkdir() in tests.
|
||||
(testdir/test_c*.vim done)
|
||||
|
||||
When using :echomessage do use msg_row and msg_col, but save and restore.
|
||||
How to test any failure? If nothing fails perhaps it's OK alrady.
|
||||
|
||||
New Vim indent script: #11079 Not done yet.
|
||||
|
||||
Further Vim9 improvements, possibly after launch:
|
||||
- Use Vim9 for more runtime files.
|
||||
- Check performance with callgrind and kcachegrind.
|
||||
@@ -176,16 +218,6 @@ Terminal emulator window:
|
||||
- When 'encoding' is not utf-8, or the job is using another encoding, setup
|
||||
conversions.
|
||||
|
||||
Patches considered for including:
|
||||
- use int instead of char_ for index #10818 needs a test
|
||||
- Add "-n" option to xxd. #10599 needs a test
|
||||
- allow for nesting of timeout, sketch in #10595
|
||||
- Add setcmdline() #10869
|
||||
|
||||
Add 'splitscroll' #10682 Useful? Any trouble? Null Chilly says it's OK.
|
||||
suggestion: names instead of numbers for the option value
|
||||
problem depending on whether window is focused or not
|
||||
|
||||
Autoconf: must use autoconf 2.69, later version generates lots of warnings
|
||||
- try using autoconf 2.71 and fix all "obsolete" warnings
|
||||
|
||||
@@ -194,6 +226,15 @@ Can deref_func_name() and deref_function_name() be merged?
|
||||
After patch 8.2.4915 w_botline is computed much more often. Can this be
|
||||
reduced?
|
||||
|
||||
Add BufDeletePost. #11041
|
||||
|
||||
Add a string to the 'display' option ("smoothscroll" ?) to make CTRL-E and
|
||||
CTRL-Y scroll one screen line, also if this means the first line doesn't start
|
||||
with the first character (like what happens with a last line that doesn't
|
||||
fit). Display "<<<" at the start of the first visible line (like "@@@" is
|
||||
displayed in the last line). (Arseny Nasokin, #5154)
|
||||
Neovim PR: https://github.com/neovim/neovim/pull/11014
|
||||
|
||||
NFA regexp does not handle composing characters well: #10286
|
||||
[ɔ̃] matches both ɔ and ɔ̃
|
||||
\(ɔ\|ɔ̃\) matches ɔ and not ɔ̃
|
||||
@@ -271,6 +312,7 @@ Adding "10" to 'spellsuggest' causes spell suggestions to become very slow.
|
||||
Also, z= in German on a long word can take a very long time, but CTRL-C to
|
||||
interrupt does not work. Where to add ui_breakcheck()?
|
||||
New English spell files also have very slow suggestions.
|
||||
French spell files don't work correctly. #4916
|
||||
|
||||
Make "g>" and "g<" in Visual mode move the text right or left.
|
||||
Also for a block selection. #8558
|
||||
@@ -552,12 +594,6 @@ Bug: script written with "-W scriptout" contains Key codes, while the script
|
||||
read with "-s scriptin" expects escape codes. Probably "scriptout" needs to
|
||||
be adjusted. (Daniel Steinberg, 2019 Feb 24, #4041)
|
||||
|
||||
Add a string to the 'display' option ("smoothscroll" ?) to make CTRL-E and
|
||||
CTRL-Y scroll one screen line, also if this means the first line doesn't start
|
||||
with the first character (like what happens with a last line that doesn't
|
||||
fit). Display "<<<" at the start of the first visible line (like "@@@" is
|
||||
displayed in the last line). (Arseny Nasokin, #5154)
|
||||
|
||||
Window size changes after closing a tab. (#4741)
|
||||
|
||||
Problem with colors in terminal window. (Jason Franklin, 2019 May 12)
|
||||
@@ -876,9 +912,6 @@ The ++ options for the :edit command are also useful on the Vim command line.
|
||||
Overlong utf-8 sequence is displayed wrong. (Harm te Hennepe, 2017 Sep 14,
|
||||
#2089) Patch with possible solution by Björn Linse.
|
||||
|
||||
The change list index is local to a buffer, but it doesn't make sense using it
|
||||
for another buffer. (lacygoill) Copy w_changelistidx to wininfo_S and back.
|
||||
|
||||
X11: Putting more than about 262040 characters of text on the clipboard and
|
||||
pasting it in another Vim doesn't work. (Dominique Pelle, 2008 Aug 21-23)
|
||||
clip_x11_request_selection_cb() is called with zero value and length.
|
||||
@@ -2645,6 +2678,11 @@ Better 'rightleft' or BIDI support:
|
||||
|
||||
|
||||
Spell checking:
|
||||
- List of common misspellings in English:
|
||||
https://en.wikipedia.org/wiki/Wikipedia:Lists_of_common_misspellings/For_machines
|
||||
German:
|
||||
https://de.wikipedia.org/wiki/Wikipedia:Liste_von_Tippfehlern/F%C3%BCr_Maschinen
|
||||
There are other languages.
|
||||
- [s does not find missing capital at start of the line. #10838
|
||||
Probably because the dot at the end of the previous line isn't seen.
|
||||
- When 'cursorline' is set and the first word should have SpellCap
|
||||
@@ -3754,6 +3792,7 @@ Syntax highlighting:
|
||||
- use treesitter, NeoVim uses it - Many people don't like it.
|
||||
After changes requires rebuilding the library.
|
||||
- use TextMate, vscode uses it. #9087 - Other people don't like it.
|
||||
https://github.com/icedman/vim-textmate
|
||||
Vscode is asked to switch to treesitter:
|
||||
https://github.com/microsoft/vscode/issues/50140
|
||||
- sublime grammar?
|
||||
|
||||
531
runtime/doc/userfunc.txt
Normal file
531
runtime/doc/userfunc.txt
Normal file
@@ -0,0 +1,531 @@
|
||||
*userfunc.txt* For Vim version 9.0. Last change: 2022 Sep 09
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
|
||||
|
||||
Defining and using functions.
|
||||
|
||||
This is introduced in section |41.7| of the user manual.
|
||||
|
||||
1. Defining a fuction |define-function|
|
||||
2. Calling a fuction |:call|
|
||||
3. Cleaning up in a function |:defer|
|
||||
4. Automatically loading functions |autoload-functions|
|
||||
|
||||
==============================================================================
|
||||
|
||||
1. Defining a function ~
|
||||
*define-function*
|
||||
New functions can be defined. These can be called just like builtin
|
||||
functions. The function executes a sequence of Ex commands. Normal mode
|
||||
commands can be executed with the |:normal| command.
|
||||
|
||||
The function name must start with an uppercase letter, to avoid confusion with
|
||||
builtin functions. To prevent from using the same name in different scripts
|
||||
make them script-local. If you do use a global function then avoid obvious,
|
||||
short names. A good habit is to start the function name with the name of the
|
||||
script, e.g., "HTMLcolor()".
|
||||
|
||||
In legacy script it is also possible to use curly braces, see
|
||||
|curly-braces-names|.
|
||||
|
||||
The |autoload| facility is useful to define a function only when it's called.
|
||||
|
||||
*local-function*
|
||||
A function local to a legacy script must start with "s:". A local script
|
||||
function can only be called from within the script and from functions, user
|
||||
commands and autocommands defined in the script. It is also possible to call
|
||||
the function from a mapping defined in the script, but then |<SID>| must be
|
||||
used instead of "s:" when the mapping is expanded outside of the script.
|
||||
There are only script-local functions, no buffer-local or window-local
|
||||
functions.
|
||||
|
||||
In |Vim9| script functions are local to the script by default, prefix "g:" to
|
||||
define a global function.
|
||||
|
||||
*:fu* *:function* *E128* *E129* *E123* *E454*
|
||||
:fu[nction] List all functions and their arguments.
|
||||
|
||||
:fu[nction] {name} List function {name}.
|
||||
{name} can also be a |Dictionary| entry that is a
|
||||
|Funcref|: >
|
||||
:function dict.init
|
||||
|
||||
:fu[nction] /{pattern} List functions with a name matching {pattern}.
|
||||
Example that lists all functions ending with "File": >
|
||||
:function /File$
|
||||
<
|
||||
*:function-verbose*
|
||||
When 'verbose' is non-zero, listing a function will also display where it was
|
||||
last defined. Example: >
|
||||
|
||||
:verbose function SetFileTypeSH
|
||||
function SetFileTypeSH(name)
|
||||
Last set from /usr/share/vim/vim-7.0/filetype.vim
|
||||
<
|
||||
See |:verbose-cmd| for more information.
|
||||
|
||||
*E124* *E125* *E853* *E884*
|
||||
:fu[nction][!] {name}([arguments]) [range] [abort] [dict] [closure]
|
||||
Define a new function by the name {name}. The body of
|
||||
the function follows in the next lines, until the
|
||||
matching |:endfunction|.
|
||||
*E1267*
|
||||
The name must be made of alphanumeric characters and
|
||||
'_', and must start with a capital or "s:" (see
|
||||
above). Note that using "b:" or "g:" is not allowed.
|
||||
(since patch 7.4.260 E884 is given if the function
|
||||
name has a colon in the name, e.g. for "foo:bar()".
|
||||
Before that patch no error was given).
|
||||
|
||||
{name} can also be a |Dictionary| entry that is a
|
||||
|Funcref|: >
|
||||
:function dict.init(arg)
|
||||
< "dict" must be an existing dictionary. The entry
|
||||
"init" is added if it didn't exist yet. Otherwise [!]
|
||||
is required to overwrite an existing function. The
|
||||
result is a |Funcref| to a numbered function. The
|
||||
function can only be used with a |Funcref| and will be
|
||||
deleted if there are no more references to it.
|
||||
*E127* *E122*
|
||||
When a function by this name already exists and [!] is
|
||||
not used an error message is given. There is one
|
||||
exception: When sourcing a script again, a function
|
||||
that was previously defined in that script will be
|
||||
silently replaced.
|
||||
When [!] is used, an existing function is silently
|
||||
replaced. Unless it is currently being executed, that
|
||||
is an error.
|
||||
NOTE: Use ! wisely. If used without care it can cause
|
||||
an existing function to be replaced unexpectedly,
|
||||
which is hard to debug.
|
||||
NOTE: In Vim9 script script-local functions cannot be
|
||||
deleted or redefined.
|
||||
|
||||
For the {arguments} see |function-argument|.
|
||||
|
||||
*:func-range* *a:firstline* *a:lastline*
|
||||
When the [range] argument is added, the function is
|
||||
expected to take care of a range itself. The range is
|
||||
passed as "a:firstline" and "a:lastline". If [range]
|
||||
is excluded, ":{range}call" will call the function for
|
||||
each line in the range, with the cursor on the start
|
||||
of each line. See |function-range-example|.
|
||||
The cursor is still moved to the first line of the
|
||||
range, as is the case with all Ex commands.
|
||||
*:func-abort*
|
||||
When the [abort] argument is added, the function will
|
||||
abort as soon as an error is detected.
|
||||
*:func-dict*
|
||||
When the [dict] argument is added, the function must
|
||||
be invoked through an entry in a |Dictionary|. The
|
||||
local variable "self" will then be set to the
|
||||
dictionary. See |Dictionary-function|.
|
||||
*:func-closure* *E932*
|
||||
When the [closure] argument is added, the function
|
||||
can access variables and arguments from the outer
|
||||
scope. This is usually called a closure. In this
|
||||
example Bar() uses "x" from the scope of Foo(). It
|
||||
remains referenced even after Foo() returns: >
|
||||
:function! Foo()
|
||||
: let x = 0
|
||||
: function! Bar() closure
|
||||
: let x += 1
|
||||
: return x
|
||||
: endfunction
|
||||
: return funcref('Bar')
|
||||
:endfunction
|
||||
|
||||
:let F = Foo()
|
||||
:echo F()
|
||||
< 1 >
|
||||
:echo F()
|
||||
< 2 >
|
||||
:echo F()
|
||||
< 3
|
||||
|
||||
*function-search-undo*
|
||||
The last used search pattern and the redo command "."
|
||||
will not be changed by the function. This also
|
||||
implies that the effect of |:nohlsearch| is undone
|
||||
when the function returns.
|
||||
|
||||
*:endf* *:endfunction* *E126* *E193* *W22* *E1151*
|
||||
:endf[unction] [argument]
|
||||
The end of a function definition. Best is to put it
|
||||
on a line by its own, without [argument].
|
||||
|
||||
[argument] can be:
|
||||
| command command to execute next
|
||||
\n command command to execute next
|
||||
" comment always ignored
|
||||
anything else ignored, warning given when
|
||||
'verbose' is non-zero
|
||||
The support for a following command was added in Vim
|
||||
8.0.0654, before that any argument was silently
|
||||
ignored.
|
||||
|
||||
To be able to define a function inside an `:execute`
|
||||
command, use line breaks instead of |:bar|: >
|
||||
:exe "func Foo()\necho 'foo'\nendfunc"
|
||||
<
|
||||
*:delf* *:delfunction* *E131* *E933* *E1084*
|
||||
:delf[unction][!] {name}
|
||||
Delete function {name}.
|
||||
{name} can also be a |Dictionary| entry that is a
|
||||
|Funcref|: >
|
||||
:delfunc dict.init
|
||||
< This will remove the "init" entry from "dict". The
|
||||
function is deleted if there are no more references to
|
||||
it.
|
||||
With the ! there is no error if the function does not
|
||||
exist.
|
||||
*:retu* *:return* *E133*
|
||||
:retu[rn] [expr] Return from a function. When "[expr]" is given, it is
|
||||
evaluated and returned as the result of the function.
|
||||
If "[expr]" is not given, the number 0 is returned.
|
||||
When a function ends without an explicit ":return",
|
||||
the number 0 is returned.
|
||||
In a :def function *E1095* is given if unreachable
|
||||
code follows after the `:return`.
|
||||
In legacy script there is no check for unreachable
|
||||
lines, thus there is no warning if commands follow
|
||||
`:return`.
|
||||
|
||||
If the ":return" is used after a |:try| but before the
|
||||
matching |:finally| (if present), the commands
|
||||
following the ":finally" up to the matching |:endtry|
|
||||
are executed first. This process applies to all
|
||||
nested ":try"s inside the function. The function
|
||||
returns at the outermost ":endtry".
|
||||
|
||||
*function-argument* *a:var*
|
||||
An argument can be defined by giving its name. In the function this can then
|
||||
be used as "a:name" ("a:" for argument).
|
||||
*a:0* *a:1* *a:000* *E740* *...*
|
||||
Up to 20 arguments can be given, separated by commas. After the named
|
||||
arguments an argument "..." can be specified, which means that more arguments
|
||||
may optionally be following. In the function the extra arguments can be used
|
||||
as "a:1", "a:2", etc. "a:0" is set to the number of extra arguments (which
|
||||
can be 0). "a:000" is set to a |List| that contains these arguments. Note
|
||||
that "a:1" is the same as "a:000[0]".
|
||||
*E742* *E1090*
|
||||
The a: scope and the variables in it cannot be changed, they are fixed.
|
||||
However, if a composite type is used, such as |List| or |Dictionary| , you can
|
||||
change their contents. Thus you can pass a |List| to a function and have the
|
||||
function add an item to it. If you want to make sure the function cannot
|
||||
change a |List| or |Dictionary| use |:lockvar|.
|
||||
|
||||
It is also possible to define a function without any arguments. You must
|
||||
still supply the () then.
|
||||
|
||||
It is allowed to define another function inside a function body.
|
||||
|
||||
*optional-function-argument*
|
||||
You can provide default values for positional named arguments. This makes
|
||||
them optional for function calls. When a positional argument is not
|
||||
specified at a call, the default expression is used to initialize it.
|
||||
This only works for functions declared with `:function` or `:def`, not for
|
||||
lambda expressions |expr-lambda|.
|
||||
|
||||
Example: >
|
||||
function Something(key, value = 10)
|
||||
echo a:key .. ": " .. a:value
|
||||
endfunction
|
||||
call Something('empty') "empty: 10"
|
||||
call Something('key', 20) "key: 20"
|
||||
|
||||
The argument default expressions are evaluated at the time of the function
|
||||
call, not definition. Thus it is possible to use an expression which is
|
||||
invalid the moment the function is defined. The expressions are also only
|
||||
evaluated when arguments are not specified during a call.
|
||||
*none-function_argument*
|
||||
You can pass |v:none| to use the default expression. Note that this means you
|
||||
cannot pass v:none as an ordinary value when an argument has a default
|
||||
expression.
|
||||
|
||||
Example: >
|
||||
function Something(a = 10, b = 20, c = 30)
|
||||
endfunction
|
||||
call Something(1, v:none, 3) " b = 20
|
||||
<
|
||||
*E989*
|
||||
Optional arguments with default expressions must occur after any mandatory
|
||||
arguments. You can use "..." after all optional named arguments.
|
||||
|
||||
It is possible for later argument defaults to refer to prior arguments,
|
||||
but not the other way around. They must be prefixed with "a:", as with all
|
||||
arguments.
|
||||
|
||||
Example that works: >
|
||||
:function Okay(mandatory, optional = a:mandatory)
|
||||
:endfunction
|
||||
Example that does NOT work: >
|
||||
:function NoGood(first = a:second, second = 10)
|
||||
:endfunction
|
||||
<
|
||||
When not using "...", the number of arguments in a function call must be at
|
||||
least equal to the number of mandatory named arguments. When using "...", the
|
||||
number of arguments may be larger than the total of mandatory and optional
|
||||
arguments.
|
||||
|
||||
*local-variables*
|
||||
Inside a function local variables can be used. These will disappear when the
|
||||
function returns. Global variables need to be accessed with "g:".
|
||||
Inside functions local variables are accessed without prepending anything.
|
||||
But you can also prepend "l:" if you like. This is required for some reserved
|
||||
names, such as "count".
|
||||
|
||||
Example: >
|
||||
:function Table(title, ...)
|
||||
: echohl Title
|
||||
: echo a:title
|
||||
: echohl None
|
||||
: echo a:0 .. " items:"
|
||||
: for s in a:000
|
||||
: echon ' ' .. s
|
||||
: endfor
|
||||
:endfunction
|
||||
|
||||
This function can then be called with: >
|
||||
call Table("Table", "line1", "line2")
|
||||
call Table("Empty Table")
|
||||
|
||||
To return more than one value, return a |List|: >
|
||||
:function Compute(n1, n2)
|
||||
: if a:n2 == 0
|
||||
: return ["fail", 0]
|
||||
: endif
|
||||
: return ["ok", a:n1 / a:n2]
|
||||
:endfunction
|
||||
|
||||
This function can then be called with: >
|
||||
:let [success, div] = Compute(102, 6)
|
||||
:if success == "ok"
|
||||
: echo div
|
||||
:endif
|
||||
<
|
||||
==============================================================================
|
||||
|
||||
2. Calling a function ~
|
||||
*:cal* *:call* *E107*
|
||||
:[range]cal[l] {name}([arguments])
|
||||
Call a function. The name of the function and its arguments
|
||||
are as specified with `:function`. Up to 20 arguments can be
|
||||
used. The returned value is discarded.
|
||||
In |Vim9| script using `:call` is optional, these two lines do
|
||||
the same thing: >
|
||||
call SomeFunc(arg)
|
||||
SomeFunc(arg)
|
||||
< Without a range and for functions that accept a range, the
|
||||
function is called once. When a range is given the cursor is
|
||||
positioned at the start of the first line before executing the
|
||||
function.
|
||||
When a range is given and the function doesn't handle it
|
||||
itself, the function is executed for each line in the range,
|
||||
with the cursor in the first column of that line. The cursor
|
||||
is left at the last line (possibly moved by the last function
|
||||
call). The arguments are re-evaluated for each line. Thus
|
||||
this works:
|
||||
*function-range-example* >
|
||||
:function Mynumber(arg)
|
||||
: echo line(".") .. " " .. a:arg
|
||||
:endfunction
|
||||
:1,5call Mynumber(getline("."))
|
||||
<
|
||||
The "a:firstline" and "a:lastline" are defined anyway, they
|
||||
can be used to do something different at the start or end of
|
||||
the range.
|
||||
|
||||
Example of a function that handles the range itself: >
|
||||
|
||||
:function Cont() range
|
||||
: execute (a:firstline + 1) .. "," .. a:lastline .. 's/^/\t\\ '
|
||||
:endfunction
|
||||
:4,8call Cont()
|
||||
<
|
||||
This function inserts the continuation character "\" in front
|
||||
of all the lines in the range, except the first one.
|
||||
|
||||
When the function returns a composite value it can be further
|
||||
dereferenced, but the range will not be used then. Example: >
|
||||
:4,8call GetDict().method()
|
||||
< Here GetDict() gets the range but method() does not.
|
||||
|
||||
*E117*
|
||||
When a function cannot be found the error "E117: Unknown function" will be
|
||||
given. If the function was using an autoload path or an autoload import and
|
||||
the script is a |Vim9| script, this may also be caused by the function not
|
||||
being exported.
|
||||
|
||||
*E132*
|
||||
The recursiveness of user functions is restricted with the |'maxfuncdepth'|
|
||||
option.
|
||||
|
||||
It is also possible to use `:eval`. It does not support a range, but does
|
||||
allow for method chaining, e.g.: >
|
||||
eval GetList()->Filter()->append('$')
|
||||
|
||||
A function can also be called as part of evaluating an expression or when it
|
||||
is used as a method: >
|
||||
let x = GetList()
|
||||
let y = GetList()->Filter()
|
||||
|
||||
==============================================================================
|
||||
|
||||
3. Cleaning up in a function ~
|
||||
*:defer*
|
||||
:defer {func}({args}) Call {func} when the current function is done.
|
||||
{args} are evaluated here.
|
||||
|
||||
Quite often a command in a function has a global effect, which must be undone
|
||||
when the function finishes. Handling this in all kinds of situations can be a
|
||||
hassle. Especially when an unexpected error is encountered. This can be done
|
||||
with `try` / `finally` blocks, but this gets complicated when there is more
|
||||
than one.
|
||||
|
||||
A much simpler solution is using `defer`. It schedules a function call when
|
||||
the function is returning, no matter if there is an error. Example: >
|
||||
func Filter(text) abort
|
||||
call writefile(a:text, 'Tempfile')
|
||||
call system('filter < Tempfile > Outfile')
|
||||
call Handle('Outfile')
|
||||
call delete('Tempfile')
|
||||
call delete('Outfile')
|
||||
endfunc
|
||||
|
||||
Here 'Tempfile' and 'Outfile' will not be deleted if something causes the
|
||||
function to abort. `:defer` can be used to avoid that: >
|
||||
func Filter(text) abort
|
||||
call writefile(a:text, 'Tempfile')
|
||||
defer delete('Tempfile')
|
||||
defer delete('Outfile')
|
||||
call system('filter < Tempfile > Outfile')
|
||||
call Handle('Outfile')
|
||||
endfunc
|
||||
|
||||
Note that deleting "Outfile" is scheduled before calling system(), since it
|
||||
can be created even when `system()` fails.
|
||||
|
||||
The deferred functions are called in reverse order, the last one added is
|
||||
executed first. A useless example: >
|
||||
func Useless() abort
|
||||
for s in range(3)
|
||||
defer execute('echomsg "number ' .. s .. '"')
|
||||
endfor
|
||||
endfunc
|
||||
|
||||
Now `:messages` shows:
|
||||
number 2
|
||||
number 1
|
||||
number 0
|
||||
|
||||
Any return value of the deferred function is discarded. The function cannot
|
||||
be followed by anything, such as "->func" or ".member". Currently `:defer
|
||||
GetArg()->TheFunc()` does not work, it may work in a later version.
|
||||
|
||||
Errors are reported but do not cause aborting execution of deferred functions.
|
||||
|
||||
No range is accepted. The function can be a partial with extra arguments, but
|
||||
not with a dictionary. *E1300*
|
||||
|
||||
==============================================================================
|
||||
|
||||
4. Automatically loading functions ~
|
||||
*autoload-functions*
|
||||
When using many or large functions, it's possible to automatically define them
|
||||
only when they are used. There are two methods: with an autocommand and with
|
||||
the "autoload" directory in 'runtimepath'.
|
||||
|
||||
In |Vim9| script there is also an autoload mechanism for imported scripts, see
|
||||
|import-autoload|.
|
||||
|
||||
|
||||
Using an autocommand ~
|
||||
|
||||
This is introduced in the user manual, section |51.4|.
|
||||
|
||||
The autocommand is useful if you have a plugin that is a long Vim script file.
|
||||
You can define the autocommand and quickly quit the script with `:finish`.
|
||||
That makes Vim startup faster. The autocommand should then load the same file
|
||||
again, setting a variable to skip the `:finish` command.
|
||||
|
||||
Use the FuncUndefined autocommand event with a pattern that matches the
|
||||
function(s) to be defined. Example: >
|
||||
|
||||
:au FuncUndefined BufNet* source ~/vim/bufnetfuncs.vim
|
||||
|
||||
The file "~/vim/bufnetfuncs.vim" should then define functions that start with
|
||||
"BufNet". Also see |FuncUndefined|.
|
||||
|
||||
|
||||
Using an autoload script ~
|
||||
*autoload* *E746*
|
||||
This is introduced in the user manual, section |52.2|.
|
||||
|
||||
Using a script in the "autoload" directory is simpler, but requires using
|
||||
exactly the right file name. A function that can be autoloaded has a name
|
||||
like this: >
|
||||
|
||||
:call filename#funcname()
|
||||
|
||||
These functions are always global, in Vim9 script "g:" needs to be used: >
|
||||
:call g:filename#funcname()
|
||||
|
||||
When such a function is called, and it is not defined yet, Vim will search the
|
||||
"autoload" directories in 'runtimepath' for a script file called
|
||||
"filename.vim". For example "~/.vim/autoload/filename.vim". That file should
|
||||
then define the function like this: >
|
||||
|
||||
function filename#funcname()
|
||||
echo "Done!"
|
||||
endfunction
|
||||
|
||||
The file name and the name used before the # in the function must match
|
||||
exactly, and the defined function must have the name exactly as it will be
|
||||
called. In Vim9 script the "g:" prefix must be used: >
|
||||
function g:filename#funcname()
|
||||
|
||||
or for a compiled function: >
|
||||
def g:filename#funcname()
|
||||
|
||||
It is possible to use subdirectories. Every # in the function name works like
|
||||
a path separator. Thus when calling a function: >
|
||||
|
||||
:call foo#bar#func()
|
||||
|
||||
Vim will look for the file "autoload/foo/bar.vim" in 'runtimepath'.
|
||||
|
||||
This also works when reading a variable that has not been set yet: >
|
||||
|
||||
:let l = foo#bar#lvar
|
||||
|
||||
However, when the autoload script was already loaded it won't be loaded again
|
||||
for an unknown variable.
|
||||
|
||||
When assigning a value to such a variable nothing special happens. This can
|
||||
be used to pass settings to the autoload script before it's loaded: >
|
||||
|
||||
:let foo#bar#toggle = 1
|
||||
:call foo#bar#func()
|
||||
|
||||
Note that when you make a mistake and call a function that is supposed to be
|
||||
defined in an autoload script, but the script doesn't actually define the
|
||||
function, you will get an error message for the missing function. If you fix
|
||||
the autoload script it won't be automatically loaded again. Either restart
|
||||
Vim or manually source the script.
|
||||
|
||||
Also note that if you have two script files, and one calls a function in the
|
||||
other and vice versa, before the used function is defined, it won't work.
|
||||
Avoid using the autoload functionality at the toplevel.
|
||||
|
||||
In |Vim9| script you will get error *E1263* if you define a function with
|
||||
a "#" character in the name. You should use a name without "#" and use
|
||||
`:export`.
|
||||
|
||||
Hint: If you distribute a bunch of scripts you can pack them together with the
|
||||
|vimball| utility. Also read the user manual |distribute-script|.
|
||||
|
||||
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
@@ -737,6 +737,8 @@ String manipulation: *string-functions*
|
||||
fnameescape() escape a file name for use with a Vim command
|
||||
tr() translate characters from one set to another
|
||||
strtrans() translate a string to make it printable
|
||||
keytrans() translate internal keycodes to a form that
|
||||
can be used by |:map|
|
||||
tolower() turn a string to lowercase
|
||||
toupper() turn a string to uppercase
|
||||
charclass() class of a character
|
||||
@@ -1038,6 +1040,7 @@ Command line: *command-line-functions*
|
||||
getcmdpos() get position of the cursor in the command line
|
||||
getcmdscreenpos() get screen position of the cursor in the
|
||||
command line
|
||||
setcmdline() set the current command line
|
||||
setcmdpos() set position of the cursor in the command line
|
||||
getcmdtype() return the current command-line type
|
||||
getcmdwintype() return the current command-line window type
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*various.txt* For Vim version 9.0. Last change: 2022 Jun 25
|
||||
*various.txt* For Vim version 9.0. Last change: 2022 Sep 17
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -374,13 +374,14 @@ N *+eval* expression evaluation |eval.txt|
|
||||
T *+ex_extra* always on now, used to be for Vim's extra Ex commands
|
||||
N *+extra_search* |'hlsearch'| and |'incsearch'| options.
|
||||
- *+farsi* Removed: |farsi| language
|
||||
N *+file_in_path* |gf|, |CTRL-W_f| and |<cfile>|
|
||||
T *+file_in_path* |gf|, |CTRL-W_f| and |<cfile>| Always enabled since
|
||||
9.0.265
|
||||
N *+find_in_path* include file searches: |[I|, |:isearch|,
|
||||
|CTRL-W_CTRL-I|, |:checkpath|, etc.
|
||||
N *+folding* |folding|
|
||||
*+footer* |gui-footer|
|
||||
*+fork* Unix only: |fork| shell commands
|
||||
*+float* Floating point support
|
||||
T *+float* Floating point support Always enabled since 9.0.0491
|
||||
N *+gettext* message translations |multi-lang|
|
||||
- *+GUI_Athena* Unix only: Athena |GUI|
|
||||
*+GUI_neXtaw* Unix only: neXtaw |GUI|
|
||||
|
||||
@@ -72,7 +72,7 @@ Command line completion in a popup menu ~
|
||||
Before there was the 'wildmenu' option, which uses the space of one line above
|
||||
the statusline to show matches. Only a few matches fit there.
|
||||
|
||||
Now a popup menu can be used by setting "wildoptions' to "pum". This allows
|
||||
Now a popup menu can be used by setting 'wildoptions' to "pum". This allows
|
||||
for showing many more matches. This requires redrawing more of the display,
|
||||
but since computers are fast enough that is not a problem.
|
||||
|
||||
@@ -336,7 +336,7 @@ Hide cursor when sleeping using |:sleep!|.
|
||||
Add "multispace" to 'listchars' to show two or more spaces no matter where
|
||||
they appear. Add "leadmultispace" to 'listchars' to show two or more leading
|
||||
spaces. Add "lead" to 'listchars' to set the character used to show leading
|
||||
spaces. Support specifying a character using the hexdecimal notation in
|
||||
spaces. Support specifying a character using the hexadecimal notation in
|
||||
'listchars' (\x, \u and \U).
|
||||
|
||||
Make 'listchars', 'virtualedit' and 'thesaurusfunc' global-local options.
|
||||
@@ -28248,7 +28248,7 @@ Files: runtime/doc/repeat.txt, src/scriptfile.c, src/vim9script.c,
|
||||
src/proto/vim9script.pro, src/testdir/test_source.vim
|
||||
|
||||
Patch 8.2.4608
|
||||
Problem: getcompletion() does not work properly when 'wildoptions
|
||||
Problem: getcompletion() does not work properly when 'wildoptions'
|
||||
contains "fuzzy".
|
||||
Solution: Do not use addstar(). (Yegappan Lakshmanan, closes #9992,
|
||||
closes #9986)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*vim9.txt* For Vim version 9.0. Last change: 2022 Jun 25
|
||||
*vim9.txt* For Vim version 9.0. Last change: 2022 Sep 15
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -107,7 +107,7 @@ script and `:def` functions; details are below:
|
||||
`:t`
|
||||
`:xit`
|
||||
- Some commands, especially those used for flow control, cannot be shortened.
|
||||
E.g., `:throw` cannot be written as `:th`.
|
||||
E.g., `:throw` cannot be written as `:th`. *vim9-no-shorten*
|
||||
- You cannot use curly-braces names.
|
||||
- A range before a command must be prefixed with a colon: >
|
||||
:%s/this/that
|
||||
@@ -1311,7 +1311,7 @@ Make sure to define the breakpoint before compiling the outer function.
|
||||
The "inloop" variable will exist only once, all closures put in the list refer
|
||||
to the same instance, which in the end will have the value 4. This is
|
||||
efficient, also when looping many times. If you do want a separate context
|
||||
for each closure call a function to define it: >
|
||||
for each closure, call a function to define it: >
|
||||
def GetClosure(i: number): func
|
||||
var infunc = i
|
||||
return () => infunc
|
||||
@@ -1327,6 +1327,29 @@ for each closure call a function to define it: >
|
||||
In some situations, especially when calling a Vim9 closure from legacy
|
||||
context, the evaluation will fail. *E1248*
|
||||
|
||||
Note that at the script level the loop variable will be invalid after the
|
||||
loop, also when used in a closure that is called later, e.g. with a timer.
|
||||
This will generate error |E1302|: >
|
||||
for n in range(4)
|
||||
timer_start(500 * n, (_) => {
|
||||
echowin n
|
||||
})
|
||||
endfor
|
||||
|
||||
You need to use a block and define a variable there, and use that one in the
|
||||
closure: >
|
||||
for n in range(4)
|
||||
{
|
||||
var nr = n
|
||||
timer_start(500 * n, (_) => {
|
||||
echowin nr
|
||||
})
|
||||
}
|
||||
endfor
|
||||
|
||||
Using `echowindow` is useful in a timer, the messages go into a popup and will
|
||||
not interfere with what the user is doing when it triggers.
|
||||
|
||||
|
||||
Converting a function from legacy to Vim9 ~
|
||||
*convert_legacy_function_to_vim9*
|
||||
@@ -1618,7 +1641,7 @@ type, it can not be used in Vim9 script.
|
||||
*E1211* *E1217* *E1218* *E1219* *E1220* *E1221*
|
||||
*E1222* *E1223* *E1224* *E1225* *E1226* *E1227*
|
||||
*E1228* *E1238* *E1250* *E1251* *E1252* *E1253*
|
||||
*E1256*
|
||||
*E1256* *E1297* *E1298* *E1301*
|
||||
Types are checked for most builtin functions to make it easier to spot
|
||||
mistakes.
|
||||
|
||||
@@ -1660,7 +1683,7 @@ deleted.
|
||||
|
||||
In Vim9 script the global "g:" namespace can still be used as before. And the
|
||||
"w:", "b:" and "t:" namespaces. These have in common that variables are not
|
||||
declared and they can be deleted.
|
||||
declared, have no specific type and they can be deleted. *E1304*
|
||||
|
||||
A side effect of `:vim9script` is that the 'cpoptions' option is set to the
|
||||
Vim default value, like with: >
|
||||
@@ -1801,7 +1824,7 @@ And using the "as name" form: >
|
||||
import "otherfile.vim9script" as that
|
||||
call s:that.OtherFunc()
|
||||
|
||||
However, the namespace cannot be resolved on it's own: >
|
||||
However, the namespace cannot be resolved on its own: >
|
||||
import "that.vim"
|
||||
echo s:that
|
||||
" ERROR: E1060: Expected dot after name: s:that
|
||||
|
||||
@@ -256,9 +256,16 @@ and 'winminwidth' are relevant.
|
||||
*:vert* *:vertical*
|
||||
:vert[ical] {cmd}
|
||||
Execute {cmd}. If it contains a command that splits a window,
|
||||
it will be split vertically.
|
||||
it will be split vertically. For `vertical wincmd =` windows
|
||||
will be equalized only vertically.
|
||||
Doesn't work for |:execute| and |:normal|.
|
||||
|
||||
*:hor* *:horizontal*
|
||||
:hor[izontal] {cmd}
|
||||
Execute {cmd}. Currently only makes a difference for
|
||||
`horizontal wincmd =`, which will equalize windows only
|
||||
horizontally.
|
||||
|
||||
:lefta[bove] {cmd} *:lefta* *:leftabove*
|
||||
:abo[veleft] {cmd} *:abo* *:aboveleft*
|
||||
Execute {cmd}. If it contains a command that splits a window,
|
||||
@@ -553,6 +560,10 @@ CTRL-W = Make all windows (almost) equally high and wide, but use
|
||||
'winheight' and 'winwidth' for the current window.
|
||||
Windows with 'winfixheight' set keep their height and windows
|
||||
with 'winfixwidth' set keep their width.
|
||||
To equalize only vertically (make window equally high) use
|
||||
`vertical wincmd =`
|
||||
To equalize only horizontally (make window equally wide) use
|
||||
`horizontal wincmd =`
|
||||
|
||||
:res[ize] -N *:res* *:resize* *CTRL-W_-*
|
||||
CTRL-W - Decrease current window height by N (default 1).
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim support file to detect file types
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2022 Jul 5
|
||||
" Last Change: 2022 Sep 11
|
||||
|
||||
" Listen very carefully, I will say this only once
|
||||
if exists("did_load_filetypes")
|
||||
@@ -299,6 +299,9 @@ au BufNewFile,BufRead cfengine.conf setf cfengine
|
||||
" ChaiScript
|
||||
au BufRead,BufNewFile *.chai setf chaiscript
|
||||
|
||||
" Chatito
|
||||
au BufNewFile,BufRead *.chatito setf chatito
|
||||
|
||||
" Comshare Dimension Definition Language
|
||||
au BufNewFile,BufRead *.cdl setf cdl
|
||||
|
||||
@@ -448,6 +451,9 @@ endif
|
||||
" Lynx config files
|
||||
au BufNewFile,BufRead lynx.cfg setf lynx
|
||||
|
||||
" LyRiCs
|
||||
au BufNewFile,BufRead *.lrc setf lyrics
|
||||
|
||||
" Modula-3 configuration language (must be before *.cfg and *makefile)
|
||||
au BufNewFile,BufRead *.quake,cm3.cfg setf m3quake
|
||||
au BufNewFile,BufRead m3makefile,m3overrides setf m3build
|
||||
@@ -696,7 +702,10 @@ au BufNewFile,BufRead *.mo,*.gdmo setf gdmo
|
||||
au BufNewFile,BufRead *.gd setf gdscript
|
||||
|
||||
" Godot resource
|
||||
au BufRead,BufNewFile *.tscn,*.tres setf gdresource
|
||||
au BufRead,BufNewFile *.tscn,*.tres setf gdresource
|
||||
|
||||
" Godot shader
|
||||
au BufRead,BufNewFile *.gdshader,*.shader setf gdshader
|
||||
|
||||
" Gedcom
|
||||
au BufNewFile,BufRead *.ged,lltxxxxx.txt setf gedcom
|
||||
@@ -717,9 +726,16 @@ au BufNewFile,BufRead *.git/worktrees/*/config.worktree setf gitconfig
|
||||
au BufNewFile,BufRead .gitmodules,*.git/modules/*/config setf gitconfig
|
||||
if !empty($XDG_CONFIG_HOME)
|
||||
au BufNewFile,BufRead $XDG_CONFIG_HOME/git/config setf gitconfig
|
||||
au BufNewFile,BufRead $XDG_CONFIG_HOME/git/attributes setf gitattributes
|
||||
au BufNewFile,BufRead $XDG_CONFIG_HOME/git/ignore setf gitignore
|
||||
endif
|
||||
au BufNewFile,BufRead git-rebase-todo setf gitrebase
|
||||
au BufRead,BufNewFile .gitsendemail.msg.?????? setf gitsendemail
|
||||
au BufNewFile,BufRead .gitattributes,*.git/info/attributes setf gitattributes
|
||||
au BufNewFile,BufRead */.config/git/attributes setf gitattributes
|
||||
au BufNewFile,BufRead */etc/gitattributes setf gitattributes
|
||||
au BufNewFile,BufRead .gitignore,*.git/info/exclude setf gitignore
|
||||
au BufNewFile,BufRead */.config/git/ignore setf gitignore
|
||||
au BufNewFile,BufRead git-rebase-todo setf gitrebase
|
||||
au BufRead,BufNewFile .gitsendemail.msg.?????? setf gitsendemail
|
||||
au BufNewFile,BufRead *.git/*
|
||||
\ if getline(1) =~# '^\x\{40,\}\>\|^ref: ' |
|
||||
\ setf git |
|
||||
@@ -828,6 +844,9 @@ au BufNewFile,BufRead *.hex,*.h32 setf hex
|
||||
" Hjson
|
||||
au BufNewFile,BufRead *.hjson setf hjson
|
||||
|
||||
" HLS Playlist (or another form of playlist)
|
||||
au BufNewFile,BufRead *.m3u,*.m3u8 setf hlsplaylist
|
||||
|
||||
" Hollywood
|
||||
au BufRead,BufNewFile *.hws setf hollywood
|
||||
|
||||
@@ -864,11 +883,11 @@ au BufNewFile,BufRead *.htt,*.htb setf httest
|
||||
|
||||
" i3
|
||||
au BufNewFile,BufRead */i3/config setf i3config
|
||||
au BufNewFile,BufRead */.i3/config setf i3config
|
||||
au BufNewFile,BufRead */.i3/config setf i3config
|
||||
|
||||
" sway
|
||||
au BufNewFile,BufRead */sway/config setf swayconfig
|
||||
au BufNewFile,BufRead */.sway/config setf swayconfig
|
||||
au BufNewFile,BufRead */.sway/config setf swayconfig
|
||||
|
||||
" Icon
|
||||
au BufNewFile,BufRead *.icn setf icon
|
||||
@@ -937,7 +956,7 @@ au BufNewFile,BufRead *.java,*.jav setf java
|
||||
au BufNewFile,BufRead *.jj,*.jjt setf javacc
|
||||
|
||||
" JavaScript, ECMAScript, ES module script, CommonJS script
|
||||
au BufNewFile,BufRead *.js,*.javascript,*.es,*.mjs,*.cjs setf javascript
|
||||
au BufNewFile,BufRead *.js,*.jsm,*.javascript,*.es,*.mjs,*.cjs setf javascript
|
||||
|
||||
" JavaScript with React
|
||||
au BufNewFile,BufRead *.jsx setf javascriptreact
|
||||
@@ -975,6 +994,9 @@ au BufNewFile,BufRead .babelrc,.eslintrc,.prettierrc,.firebaserc setf json
|
||||
" JSONC
|
||||
au BufNewFile,BufRead *.jsonc setf jsonc
|
||||
|
||||
" Jsonnet
|
||||
au BufNewFile,BufRead *.jsonnet,*.libjsonnet setf jsonnet
|
||||
|
||||
" Julia
|
||||
au BufNewFile,BufRead *.jl setf julia
|
||||
|
||||
@@ -1256,6 +1278,9 @@ au BufNewFile,BufRead .netrc setf netrc
|
||||
" Nginx
|
||||
au BufNewFile,BufRead *.nginx,nginx*.conf,*nginx.conf,*/etc/nginx/*,*/usr/local/nginx/conf/*,*/nginx/*.conf setf nginx
|
||||
|
||||
" Nim file
|
||||
au BufNewFile,BufRead *.nim,*.nims,*.nimble setf nim
|
||||
|
||||
" Ninja file
|
||||
au BufNewFile,BufRead *.ninja setf ninja
|
||||
|
||||
@@ -1313,7 +1338,7 @@ au BufNewFile,BufRead *.or setf openroad
|
||||
au BufNewFile,BufRead *.[Oo][Pp][Ll] setf opl
|
||||
|
||||
" OpenSCAD
|
||||
au BufNewFile,BufRead *.scad setf openscad
|
||||
au BufNewFile,BufRead *.scad setf openscad
|
||||
|
||||
" Oracle config file
|
||||
au BufNewFile,BufRead *.ora setf ora
|
||||
@@ -1388,7 +1413,8 @@ au BufNewFile,BufRead *.pod setf pod
|
||||
" Also Phtml (was used for PHP 2 in the past).
|
||||
" Also .ctp for Cake template file.
|
||||
" Also .phpt for php tests.
|
||||
au BufNewFile,BufRead *.php,*.php\d,*.phtml,*.ctp,*.phpt setf php
|
||||
" Also .theme for Drupal theme files.
|
||||
au BufNewFile,BufRead *.php,*.php\d,*.phtml,*.ctp,*.phpt,*.theme setf php
|
||||
|
||||
" PHP config
|
||||
au BufNewFile,BufRead php.ini-* setf dosini
|
||||
@@ -1709,6 +1735,9 @@ au BufNewFile,BufRead *.sdl,*.pr setf sdl
|
||||
" sed
|
||||
au BufNewFile,BufRead *.sed setf sed
|
||||
|
||||
" SubRip
|
||||
au BufNewFile,BufRead *.srt setf srt
|
||||
|
||||
" svelte
|
||||
au BufNewFile,BufRead *.svelte setf svelte
|
||||
|
||||
@@ -1819,7 +1848,7 @@ au BufNewFile,BufRead *.score setf slrnsc
|
||||
au BufNewFile,BufRead *.st setf st
|
||||
|
||||
" Smalltalk (and Rexx, TeX, and Visual Basic)
|
||||
au BufNewFile,BufRead *.cls call dist#ft#FTcls()
|
||||
au BufNewFile,BufRead *.cls call dist#ft#FTcls()
|
||||
|
||||
" Smarty templates
|
||||
au BufNewFile,BufRead *.tpl setf smarty
|
||||
@@ -1926,8 +1955,8 @@ au BufNewFile,BufRead *.cm setf voscm
|
||||
au BufNewFile,BufRead *.swift setf swift
|
||||
au BufNewFile,BufRead *.swift.gyb setf swiftgyb
|
||||
|
||||
" Swift Intermediate Language
|
||||
au BufNewFile,BufRead *.sil setf sil
|
||||
" Swift Intermediate Language or SILE
|
||||
au BufNewFile,BufRead *.sil call dist#ft#FTsil()
|
||||
|
||||
" Sysctl
|
||||
au BufNewFile,BufRead */etc/sysctl.conf,*/etc/sysctl.d/*.conf setf sysctl
|
||||
@@ -2091,6 +2120,14 @@ au BufNewFile,BufRead */.config/upstart/*.override setf upstart
|
||||
" Vala
|
||||
au BufNewFile,BufRead *.vala setf vala
|
||||
|
||||
" VDF
|
||||
au BufNewFile,BufRead *.vdf setf vdf
|
||||
|
||||
" VDM
|
||||
au BufRead,BufNewFile *.vdmpp,*.vpp setf vdmpp
|
||||
au BufRead,BufNewFile *.vdmrt setf vdmrt
|
||||
au BufRead,BufNewFile *.vdmsl,*.vdm setf vdmsl
|
||||
|
||||
" Vera
|
||||
au BufNewFile,BufRead *.vr,*.vri,*.vrh setf vera
|
||||
|
||||
@@ -2560,6 +2597,8 @@ au BufNewFile,BufRead *.txt
|
||||
\| setf text
|
||||
\| endif
|
||||
|
||||
" Blueprint markup files
|
||||
au BufNewFile,BufRead *.blp setf blueprint
|
||||
|
||||
" Use the filetype detect plugins. They may overrule any of the previously
|
||||
" detected filetypes.
|
||||
|
||||
16
runtime/ftplugin/crontab.vim
Normal file
16
runtime/ftplugin/crontab.vim
Normal file
@@ -0,0 +1,16 @@
|
||||
" Vim filetype plugin
|
||||
" Language: crontab
|
||||
" Maintainer: Keith Smiley <keithbsmiley@gmail.com>
|
||||
" Last Change: 2022 Sep 11
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
|
||||
" Don't load another plugin for this buffer
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let b:undo_ftplugin = "setl commentstring<"
|
||||
|
||||
setlocal commentstring=#\ %s
|
||||
59
runtime/ftplugin/gdscript.vim
Normal file
59
runtime/ftplugin/gdscript.vim
Normal file
@@ -0,0 +1,59 @@
|
||||
vim9script
|
||||
|
||||
# Vim filetype plugin file
|
||||
# Language: gdscript (Godot game engine scripting language)
|
||||
# Maintainer: Maxim Kim <habamax@gmail.com>
|
||||
# Website: https://github.com/habamax/vim-gdscript
|
||||
|
||||
if exists("b:did_ftplugin") | finish | endif
|
||||
|
||||
b:did_ftplugin = 1
|
||||
b:undo_ftplugin = 'setlocal cinkeys<'
|
||||
\ .. '| setlocal indentkeys<'
|
||||
\ .. '| setlocal commentstring<'
|
||||
\ .. '| setlocal suffixesadd<'
|
||||
\ .. '| setlocal foldexpr<'
|
||||
\ .. '| setlocal foldignore<'
|
||||
|
||||
setlocal cinkeys-=0#
|
||||
setlocal indentkeys-=0#
|
||||
setlocal suffixesadd=.gd
|
||||
setlocal commentstring=#\ %s
|
||||
setlocal foldignore=
|
||||
setlocal foldexpr=GDScriptFoldLevel()
|
||||
|
||||
|
||||
def GDScriptFoldLevel(): string
|
||||
var line = getline(v:lnum)
|
||||
if line =~? '^\s*$'
|
||||
return "-1"
|
||||
endif
|
||||
|
||||
var sw = shiftwidth()
|
||||
var indent = indent(v:lnum) / sw
|
||||
var indent_next = indent(nextnonblank(v:lnum + 1)) / sw
|
||||
|
||||
if indent_next > indent && line =~ ':\s*$'
|
||||
return $">{indent_next}"
|
||||
else
|
||||
return $"{indent}"
|
||||
endif
|
||||
enddef
|
||||
|
||||
|
||||
if !exists("g:no_plugin_maps")
|
||||
# Next/Previous section
|
||||
def NextSection(back: bool, cnt: number)
|
||||
for n in range(cnt)
|
||||
search('^\s*func\s', back ? 'bW' : 'W')
|
||||
endfor
|
||||
enddef
|
||||
|
||||
nnoremap <silent><buffer> ]] <scriptcmd>NextSection(false, v:count1)<CR>
|
||||
nnoremap <silent><buffer> [[ <scriptcmd>NextSection(true, v:count1)<CR>
|
||||
xmap <buffer><expr> ]] $'<C-\><C-N>{v:count1}]]m>gv'
|
||||
xmap <buffer><expr> [[ $'<C-\><C-N>{v:count1}[[m>gv'
|
||||
b:undo_ftplugin ..=
|
||||
\ " | silent exe 'unmap <buffer> [['"
|
||||
\ .. " | silent exe 'unmap <buffer> ]]'"
|
||||
endif
|
||||
13
runtime/ftplugin/gdshader.vim
Normal file
13
runtime/ftplugin/gdshader.vim
Normal file
@@ -0,0 +1,13 @@
|
||||
vim9script
|
||||
|
||||
# Vim filetype plugin file
|
||||
# Language: Godot shading language
|
||||
# Maintainer: Maxim Kim <habamax@gmail.com>
|
||||
# Website: https://github.com/habamax/vim-gdscript
|
||||
|
||||
if exists("b:did_ftplugin") | finish | endif
|
||||
b:did_ftplugin = 1
|
||||
|
||||
b:undo_ftplugin = 'setlocal suffixesadd<'
|
||||
|
||||
setlocal suffixesadd=.gdshader
|
||||
13
runtime/ftplugin/gitattributes.vim
Normal file
13
runtime/ftplugin/gitattributes.vim
Normal file
@@ -0,0 +1,13 @@
|
||||
" Vim filetype plugin
|
||||
" Language: git attributes
|
||||
" Maintainer: ObserverOfTime <chronobserver@disroot.org>
|
||||
" Last Change: 2022 Sep 08
|
||||
|
||||
if exists('b:did_ftplugin')
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
setl comments=:# commentstring=#\ %s
|
||||
|
||||
let b:undo_ftplugin = 'setl com< cms<'
|
||||
13
runtime/ftplugin/gitignore.vim
Normal file
13
runtime/ftplugin/gitignore.vim
Normal file
@@ -0,0 +1,13 @@
|
||||
" Vim filetype plugin
|
||||
" Language: git ignore
|
||||
" Maintainer: ObserverOfTime <chronobserver@disroot.org>
|
||||
" Last Change: 2022 Sep 10
|
||||
|
||||
if exists('b:did_ftplugin')
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
setl comments=:# commentstring=#\ %s
|
||||
|
||||
let b:undo_ftplugin = 'setl com< cms<'
|
||||
17
runtime/ftplugin/jsonnet.vim
Normal file
17
runtime/ftplugin/jsonnet.vim
Normal file
@@ -0,0 +1,17 @@
|
||||
" Vim filetype plugin
|
||||
" Language: Jsonnet
|
||||
" Maintainer: Cezary Drożak <cezary@drozak.net>
|
||||
" URL: https://github.com/google/vim-jsonnet
|
||||
" Last Change: 2022-09-08
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
|
||||
" Don't load another plugin for this buffer
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
setlocal commentstring=//\ %s
|
||||
|
||||
let b:undo_ftplugin = "setlocal commentstring<"
|
||||
@@ -1,46 +1,46 @@
|
||||
" Vim filetype plugin file.
|
||||
" Language: Lua
|
||||
" Language: Lua
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Previous Maintainer: Max Ischenko <mfi@ukr.net>
|
||||
" Last Change: 2021 Nov 15
|
||||
" Contributor: Dorai Sitaram <ds26@gte.com>
|
||||
" Last Change: 2022 Sep 05
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
|
||||
" Don't load another plugin for this buffer
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" Set 'formatoptions' to break comment lines but not other lines, and insert
|
||||
" the comment leader when hitting <CR> or using "o".
|
||||
setlocal comments=:--
|
||||
setlocal commentstring=--\ %s
|
||||
setlocal formatoptions-=t formatoptions+=croql
|
||||
|
||||
setlocal comments=:--
|
||||
setlocal commentstring=--%s
|
||||
let &l:define = '\<function\|\<local\%(\s\+function\)\='
|
||||
|
||||
setlocal suffixesadd=.lua
|
||||
|
||||
let b:undo_ftplugin = "setlocal fo< com< cms< sua<"
|
||||
let b:undo_ftplugin = "setlocal cms< com< def< fo< sua<"
|
||||
|
||||
if exists("loaded_matchit") && !exists("b:match_words")
|
||||
let b:match_ignorecase = 0
|
||||
let b:match_words =
|
||||
\ '\<\%(do\|function\|if\)\>:' .
|
||||
\ '\<\%(return\|else\|elseif\)\>:' .
|
||||
\ '\<end\>,' .
|
||||
\ '\<repeat\>:\<until\>,' .
|
||||
\ '\%(--\)\=\[\(=*\)\[:]\1]'
|
||||
let b:undo_ftplugin .= " | unlet! b:match_words b:match_ignorecase"
|
||||
\ '\<\%(do\|function\|if\)\>:' ..
|
||||
\ '\<\%(return\|else\|elseif\)\>:' ..
|
||||
\ '\<end\>,' ..
|
||||
\ '\<repeat\>:\<until\>,' ..
|
||||
\ '\%(--\)\=\[\(=*\)\[:]\1]'
|
||||
let b:undo_ftplugin ..= " | unlet! b:match_words b:match_ignorecase"
|
||||
endif
|
||||
|
||||
if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
|
||||
let b:browsefilter = "Lua Source Files (*.lua)\t*.lua\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
let b:undo_ftplugin .= " | unlet! b:browsefilter"
|
||||
let b:browsefilter = "Lua Source Files (*.lua)\t*.lua\n" ..
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
let b:undo_ftplugin ..= " | unlet! b:browsefilter"
|
||||
endif
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim: nowrap sw=2 sts=2 ts=8 noet:
|
||||
|
||||
29
runtime/ftplugin/lynx.vim
Normal file
29
runtime/ftplugin/lynx.vim
Normal file
@@ -0,0 +1,29 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: Lynx Web Browser Configuration
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2022 Sep 09
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
setlocal comments=:#
|
||||
setlocal commentstring=#\ %s
|
||||
setlocal formatoptions-=t formatoptions+=croql
|
||||
|
||||
let b:undo_ftplugin = "setl cms< com< fo<"
|
||||
|
||||
if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
|
||||
let b:browsefilter = "Lynx Configuration Files (lynx.cfg .lynxrc)\tlynx.cfg;.lynxrc\n" ..
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
let b:undo_ftplugin ..= " | unlet! b:browsefilter"
|
||||
endif
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim: nowrap sw=2 sts=2 ts=8 noet:
|
||||
82
runtime/ftplugin/racket.vim
Normal file
82
runtime/ftplugin/racket.vim
Normal file
@@ -0,0 +1,82 @@
|
||||
" Vim filetype plugin
|
||||
" Language: Racket
|
||||
" Maintainer: D. Ben Knoble <ben.knoble+github@gmail.com>
|
||||
" Previous Maintainer: Will Langstroth <will@langstroth.com>
|
||||
" URL: https://github.com/benknoble/vim-racket
|
||||
" Last Change: 2022 Aug 29
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" quick hack to allow adding values
|
||||
setlocal iskeyword=@,!,#-',*-:,<-Z,a-z,~,_,94
|
||||
|
||||
" Enable auto begin new comment line when continuing from an old comment line
|
||||
setlocal comments=:;;;;,:;;;,:;;,:;
|
||||
setlocal formatoptions+=r
|
||||
|
||||
"setlocal commentstring=;;%s
|
||||
setlocal commentstring=#\|\ %s\ \|#
|
||||
|
||||
setlocal formatprg=raco\ fmt
|
||||
|
||||
" Undo our settings when the filetype changes away from Racket
|
||||
" (this should be amended if settings/mappings are added above!)
|
||||
let b:undo_ftplugin =
|
||||
\ "setlocal iskeyword< lispwords< lisp< comments< formatoptions< formatprg<"
|
||||
\. " | setlocal commentstring<"
|
||||
|
||||
if !exists("no_plugin_maps") && !exists("no_racket_maps")
|
||||
" Simply setting keywordprg like this works:
|
||||
" setlocal keywordprg=raco\ docs
|
||||
" but then vim says:
|
||||
" "press ENTER or type a command to continue"
|
||||
" We avoid the annoyance of having to hit enter by remapping K directly.
|
||||
function s:RacketDoc(word) abort
|
||||
execute 'silent !raco docs --' shellescape(a:word)
|
||||
redraw!
|
||||
endfunction
|
||||
nnoremap <buffer> <Plug>RacketDoc :call <SID>RacketDoc(expand('<cword>'))<CR>
|
||||
nmap <buffer> K <Plug>RacketDoc
|
||||
|
||||
" For the visual mode K mapping, it's slightly more convoluted to get the
|
||||
" selected text:
|
||||
function! s:Racket_visual_doc()
|
||||
try
|
||||
let l:old_a = @a
|
||||
normal! gv"ay
|
||||
call system("raco docs '". @a . "'")
|
||||
redraw!
|
||||
return @a
|
||||
finally
|
||||
let @a = l:old_a
|
||||
endtry
|
||||
endfunction
|
||||
|
||||
xnoremap <buffer> <Plug>RacketDoc :call <SID>Racket_visual_doc()<cr>
|
||||
xmap <buffer> K <Plug>RacketDoc
|
||||
|
||||
let b:undo_ftplugin .=
|
||||
\ " | silent! execute 'nunmap <buffer> K'"
|
||||
\. " | silent! execute 'xunmap <buffer> K'"
|
||||
endif
|
||||
|
||||
if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
|
||||
let b:browsefilter =
|
||||
\ "Racket Source Files (*.rkt *.rktl)\t*.rkt;*.rktl\n"
|
||||
\. "All Files (*.*)\t*.*\n"
|
||||
let b:undo_ftplugin .= " | unlet! b:browsefilter"
|
||||
endif
|
||||
|
||||
if exists("loaded_matchit") && !exists("b:match_words")
|
||||
let b:match_words = '#|:|#'
|
||||
let b:undo_ftplugin .= " | unlet! b:match_words"
|
||||
endif
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
@@ -1,12 +1,12 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: sh
|
||||
"
|
||||
" This runtime file is looking for a new maintainer.
|
||||
"
|
||||
" Former maintainer: Dan Sharp
|
||||
" Last Changed: 20 Jan 2009
|
||||
" Language: sh
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Previous Maintainer: Dan Sharp
|
||||
" Last Change: 2022 Sep 07
|
||||
|
||||
if exists("b:did_ftplugin") | finish | endif
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
" Make sure the continuation lines below do not cause problems in
|
||||
@@ -14,28 +14,35 @@ let b:did_ftplugin = 1
|
||||
let s:save_cpo = &cpo
|
||||
set cpo-=C
|
||||
|
||||
setlocal commentstring=#%s
|
||||
setlocal comments=:#
|
||||
setlocal commentstring=#\ %s
|
||||
setlocal formatoptions-=t formatoptions+=croql
|
||||
|
||||
let b:undo_ftplugin = "setl com< cms< fo<"
|
||||
|
||||
" Shell: thanks to Johannes Zellner
|
||||
if exists("loaded_matchit")
|
||||
let s:sol = '\%(;\s*\|^\s*\)\@<=' " start of line
|
||||
let b:match_words =
|
||||
\ s:sol.'if\>:' . s:sol.'elif\>:' . s:sol.'else\>:' . s:sol. 'fi\>,' .
|
||||
\ s:sol.'\%(for\|while\)\>:' . s:sol. 'done\>,' .
|
||||
\ s:sol.'case\>:' . s:sol. 'esac\>'
|
||||
if exists("loaded_matchit") && !exists("b:match_words")
|
||||
let b:match_ignorecase = 0
|
||||
let s:sol = '\%(;\s*\|^\s*\)\@<=' " start of line
|
||||
let b:match_words =
|
||||
\ s:sol .. 'if\>:' .. s:sol.'elif\>:' .. s:sol.'else\>:' .. s:sol .. 'fi\>,' ..
|
||||
\ s:sol .. '\%(for\|while\)\>:' .. s:sol .. 'done\>,' ..
|
||||
\ s:sol .. 'case\>:' .. s:sol .. 'esac\>'
|
||||
unlet s:sol
|
||||
let b:undo_ftplugin ..= " | unlet! b:match_ignorecase b:match_words"
|
||||
endif
|
||||
|
||||
" Change the :browse e filter to primarily show shell-related files.
|
||||
if has("gui_win32")
|
||||
let b:browsefilter="Bourne Shell Scripts (*.sh)\t*.sh\n" .
|
||||
\ "Korn Shell Scripts (*.ksh)\t*.ksh\n" .
|
||||
\ "Bash Shell Scripts (*.bash)\t*.bash\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
|
||||
let b:browsefilter = "Bourne Shell Scripts (*.sh)\t*.sh\n" ..
|
||||
\ "Korn Shell Scripts (*.ksh)\t*.ksh\n" ..
|
||||
\ "Bash Shell Scripts (*.bash)\t*.bash\n" ..
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
let b:undo_ftplugin ..= " | unlet! b:browsefilter"
|
||||
endif
|
||||
|
||||
" Undo the stuff we changed.
|
||||
let b:undo_ftplugin = "setlocal cms< | unlet! b:browsefilter b:match_words"
|
||||
|
||||
" Restore the saved compatibility options.
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: nowrap sw=2 sts=2 ts=8 noet:
|
||||
|
||||
14
runtime/ftplugin/vdf.vim
Normal file
14
runtime/ftplugin/vdf.vim
Normal file
@@ -0,0 +1,14 @@
|
||||
" Vim filetype plugin
|
||||
" Language: Valve Data Format
|
||||
" Maintainer: ObserverOfTime <chronobserver@disroot.org>
|
||||
" Last Change: 2022 Sep 15
|
||||
|
||||
if exists('b:did_ftplugin')
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
setl comments=:// commentstring=//\ %s
|
||||
setl foldmethod=syntax
|
||||
|
||||
let b:undo_ftplugin = 'setl com< cms< fdm<'
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim filetype plugin
|
||||
" Language: Vim
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2022 Aug 4
|
||||
" Last Change: 2022 Sep 09
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
@@ -48,17 +48,17 @@ setlocal isk+=#
|
||||
" Use :help to lookup the keyword under the cursor with K.
|
||||
setlocal keywordprg=:help
|
||||
|
||||
" Comments starts with # in Vim9 script. We have to guess which one to use.
|
||||
if "\n" .. getline(1, 10)->join("\n") =~# '\n\s*vim9\%[script]\>'
|
||||
" Set 'comments' to format dashed lists in comments
|
||||
setlocal com=sO:#\ -,mO:#\ \ ,eO:##,:#
|
||||
" Comments starts with # in Vim9 script
|
||||
setlocal commentstring=#%s
|
||||
else
|
||||
setlocal com=sO:\"\ -,mO:\"\ \ ,eO:\"\",:\"
|
||||
" Comments starts with a double quote in legacy script
|
||||
setlocal commentstring=\"%s
|
||||
endif
|
||||
|
||||
" Set 'comments' to format dashed lists in comments, both in Vim9 and legacy
|
||||
" script.
|
||||
setlocal com=sO:#\ -,mO:#\ \ ,eO:##,:#,sO:\"\ -,mO:\"\ \ ,eO:\"\",:\"
|
||||
|
||||
" set 'include' to recognize import commands
|
||||
setlocal include=\\v^\\s*import\\s*(autoload)?
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: Zimbu
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2021 Nov 12
|
||||
" Last Change: 2022 Sep 07
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
@@ -28,7 +28,7 @@ endif
|
||||
|
||||
" Set 'comments' to format dashed lists in comments.
|
||||
" And to keep Zudocu comment characters.
|
||||
setlocal comments=sO:#\ -,mO:#\ \ ,:#=,:#-,:#%,:#
|
||||
setlocal comments=sO:#\ -,mO:#\ \ ,exO:#/,s:/*,m:\ ,ex:*/,:#=,:#-,:#%,:#
|
||||
|
||||
setlocal errorformat^=%f\ line\ %l\ col\ %c:\ %m,ERROR:\ %m
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" Language: Zsh shell script
|
||||
" Maintainer: Christian Brabandt <cb@256bit.org>
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2020-09-01
|
||||
" Latest Revision: 2021-04-03
|
||||
" License: Vim (see :h license)
|
||||
" Repository: https://github.com/chrisbra/vim-zsh
|
||||
|
||||
|
||||
@@ -1,36 +1,65 @@
|
||||
" ConTeXt indent file
|
||||
" Language: ConTeXt typesetting engine
|
||||
" Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
||||
" Last Change: 2016 Oct 15
|
||||
vim9script
|
||||
|
||||
# Language: ConTeXt typesetting engine
|
||||
# Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
||||
# Former Maintainers: Nikolai Weibull <now@bitwi.se>
|
||||
# Latest Revision: 2022 Aug 12
|
||||
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
endif
|
||||
|
||||
if !get(b:, 'context_metapost', get(g:, 'context_metapost', 1))
|
||||
finish
|
||||
endif
|
||||
|
||||
" Load MetaPost indentation script
|
||||
# Load MetaPost indentation script (this will also set b:did_indent)
|
||||
runtime! indent/mp.vim
|
||||
|
||||
let s:keepcpo= &cpo
|
||||
set cpo&vim
|
||||
setlocal indentexpr=ConTeXtIndent()
|
||||
|
||||
setlocal indentexpr=GetConTeXtIndent()
|
||||
b:undo_indent = "setl indentexpr<"
|
||||
|
||||
let b:undo_indent = "setl indentexpr<"
|
||||
def PrevNotComment(l: number): number
|
||||
var prevlnum = prevnonblank(l)
|
||||
|
||||
function! GetConTeXtIndent()
|
||||
" Use MetaPost rules inside MetaPost graphic environments
|
||||
while prevlnum > 0 && getline(prevlnum) =~# '^\s*%'
|
||||
prevlnum = prevnonblank(prevlnum - 1)
|
||||
endwhile
|
||||
|
||||
return prevlnum
|
||||
enddef
|
||||
|
||||
def FindPair(pstart: string, pmid: string, pend: string): number
|
||||
cursor(v:lnum, 1)
|
||||
return indent(searchpair(pstart, pmid, pend, 'bWn',
|
||||
'synIDattr(synID(line("."), col("."), 0), "name") =~? "string\\|comment"'))
|
||||
enddef
|
||||
|
||||
def ConTeXtIndent(): number
|
||||
# Use MetaPost rules inside MetaPost graphic environments
|
||||
if len(synstack(v:lnum, 1)) > 0 &&
|
||||
\ synIDattr(synstack(v:lnum, 1)[0], "name") ==# 'contextMPGraphic'
|
||||
return GetMetaPostIndent()
|
||||
synIDattr(synstack(v:lnum, 1)[0], "name") ==# 'contextMPGraphic'
|
||||
return g:MetaPostIndent()
|
||||
endif
|
||||
|
||||
const prevlnum = PrevNotComment(v:lnum - 1)
|
||||
const prevind = indent(prevlnum)
|
||||
const prevline = getline(prevlnum)
|
||||
const currline = getline(v:lnum)
|
||||
|
||||
# If the current line starts with ], match indentation.
|
||||
if currline =~# '^\s*\]'
|
||||
return FindPair('\[', '', '\]')
|
||||
endif
|
||||
|
||||
# If the current line starts with }, match indentation.
|
||||
if currline =~# '^\s*}'
|
||||
return FindPair('{', '', '}')
|
||||
endif
|
||||
|
||||
# If the previous line ends with [ or { (possibly followed by a comment) then indent.
|
||||
if prevline =~# '[{[]\s*\%(%.*\)\=$'
|
||||
return prevind + shiftwidth()
|
||||
endif
|
||||
|
||||
return -1
|
||||
endfunc
|
||||
enddef
|
||||
|
||||
let &cpo = s:keepcpo
|
||||
unlet s:keepcpo
|
||||
|
||||
" vim:sw=2
|
||||
# vim: sw=2 fdm=marker
|
||||
|
||||
148
runtime/indent/gdscript.vim
Normal file
148
runtime/indent/gdscript.vim
Normal file
@@ -0,0 +1,148 @@
|
||||
vim9script
|
||||
|
||||
# Vim indent file
|
||||
# Language: gdscript (Godot game engine)
|
||||
# Maintainer: Maxim Kim <habamax@gmail.com>
|
||||
# Based on python indent file.
|
||||
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
endif
|
||||
b:did_indent = 1
|
||||
|
||||
var undo_opts = "setl indentexpr< indentkeys< lisp< autoindent<"
|
||||
|
||||
if exists('b:undo_indent')
|
||||
b:undo_indent ..= "|" .. undo_opts
|
||||
else
|
||||
b:undo_indent = undo_opts
|
||||
endif
|
||||
|
||||
setlocal nolisp
|
||||
setlocal autoindent
|
||||
setlocal indentexpr=GDScriptIndent()
|
||||
setlocal indentkeys+=<:>,=elif,=except
|
||||
|
||||
|
||||
def GDScriptIndent(): number
|
||||
# If this line is explicitly joined: If the previous line was also joined,
|
||||
# line it up with that one, otherwise add two 'shiftwidth'
|
||||
if getline(v:lnum - 1) =~ '\\$'
|
||||
if v:lnum > 1 && getline(v:lnum - 2) =~ '\\$'
|
||||
return indent(v:lnum - 1)
|
||||
endif
|
||||
return indent(v:lnum - 1) + (shiftwidth() * 2)
|
||||
endif
|
||||
|
||||
# If the start of the line is in a string don't change the indent.
|
||||
if has('syntax_items') && synIDattr(synID(v:lnum, 1, 1), "name") =~ "String$"
|
||||
return -1
|
||||
endif
|
||||
|
||||
# Search backwards for the previous non-empty line.
|
||||
var plnum = prevnonblank(v:lnum - 1)
|
||||
|
||||
if plnum == 0
|
||||
# This is the first non-empty line, use zero indent.
|
||||
return 0
|
||||
endif
|
||||
|
||||
var plindent = indent(plnum)
|
||||
var plnumstart = plnum
|
||||
|
||||
# Get the line and remove a trailing comment.
|
||||
# Use syntax highlighting attributes when possible.
|
||||
var pline = getline(plnum)
|
||||
var pline_len = strlen(pline)
|
||||
if has('syntax_items')
|
||||
# If the last character in the line is a comment, do a binary search for
|
||||
# the start of the comment. synID() is slow, a linear search would take
|
||||
# too long on a long line.
|
||||
if synIDattr(synID(plnum, pline_len, 1), "name") =~ "\\(Comment\\|Todo\\)$"
|
||||
var min = 1
|
||||
var max = pline_len
|
||||
while min < max
|
||||
var col = (min + max) / 2
|
||||
if synIDattr(synID(plnum, col, 1), "name") =~ "\\(Comment\\|Todo\\)$"
|
||||
max = col
|
||||
else
|
||||
min = col + 1
|
||||
endif
|
||||
endwhile
|
||||
pline = strpart(pline, 0, min - 1)
|
||||
endif
|
||||
else
|
||||
var col = 0
|
||||
while col < pline_len
|
||||
if pline[col] == '#'
|
||||
pline = strpart(pline, 0, col)
|
||||
break
|
||||
endif
|
||||
col = col + 1
|
||||
endwhile
|
||||
endif
|
||||
|
||||
|
||||
# When "inside" parenthesis: If at the first line below the parenthesis add
|
||||
# one 'shiftwidth' ("inside" is simplified and not really checked)
|
||||
# my_var = (
|
||||
# a
|
||||
# + b
|
||||
# + c
|
||||
# )
|
||||
if pline =~ '[({\[]\s*$'
|
||||
return indent(plnum) + shiftwidth()
|
||||
endif
|
||||
|
||||
|
||||
# If the previous line ended with a colon, indent this line
|
||||
if pline =~ ':\s*$'
|
||||
return plindent + shiftwidth()
|
||||
endif
|
||||
|
||||
# If the previous line was a stop-execution statement...
|
||||
if getline(plnum) =~ '^\s*\(break\|continue\|raise\|return\|pass\)\>'
|
||||
# See if the user has already dedented
|
||||
if indent(v:lnum) > indent(plnum) - shiftwidth()
|
||||
# If not, recommend one dedent
|
||||
return indent(plnum) - shiftwidth()
|
||||
endif
|
||||
# Otherwise, trust the user
|
||||
return -1
|
||||
endif
|
||||
|
||||
# If the current line begins with a keyword that lines up with "try"
|
||||
if getline(v:lnum) =~ '^\s*\(except\|finally\)\>'
|
||||
var lnum = v:lnum - 1
|
||||
while lnum >= 1
|
||||
if getline(lnum) =~ '^\s*\(try\|except\)\>'
|
||||
var ind = indent(lnum)
|
||||
if ind >= indent(v:lnum)
|
||||
return -1 # indent is already less than this
|
||||
endif
|
||||
return ind # line up with previous try or except
|
||||
endif
|
||||
lnum = lnum - 1
|
||||
endwhile
|
||||
return -1 # no matching "try"!
|
||||
endif
|
||||
|
||||
|
||||
# If the current line begins with a header keyword, dedent
|
||||
if getline(v:lnum) =~ '^\s*\(elif\|else\)\>'
|
||||
|
||||
# Unless the previous line was a one-liner
|
||||
if getline(plnumstart) =~ '^\s*\(for\|if\|try\)\>'
|
||||
return plindent
|
||||
endif
|
||||
|
||||
# Or the user has already dedented
|
||||
if indent(v:lnum) <= plindent - shiftwidth()
|
||||
return -1
|
||||
endif
|
||||
|
||||
return plindent - shiftwidth()
|
||||
endif
|
||||
|
||||
return -1
|
||||
enddef
|
||||
@@ -3,6 +3,7 @@
|
||||
" Maintainer: Eli Parra <eli@elzr.com> https://github.com/elzr/vim-json
|
||||
" Last Change: 2020 Aug 30
|
||||
" https://github.com/jakar/vim-json/commit/20b650e22aa750c4ab6a66aa646bdd95d7cd548a#diff-e81fc111b2052e306d126bd9989f7b7c
|
||||
" 2022 Sep 07: b:undo_indent added by Doug Kearns
|
||||
" Original Author: Rogerz Zhang <rogerz.zhang at gmail.com> http://github.com/rogerz/vim-json
|
||||
" Acknowledgement: Based off of vim-javascript maintained by Darrick Wiebe
|
||||
" http://www.vim.org/scripts/script.php?script_id=2765
|
||||
@@ -22,6 +23,8 @@ setlocal nosmartindent
|
||||
setlocal indentexpr=GetJSONIndent(v:lnum)
|
||||
setlocal indentkeys=0{,0},0),0[,0],!^F,o,O,e
|
||||
|
||||
let b:undo_indent = "setl inde< indk< si<"
|
||||
|
||||
" Only define the function once.
|
||||
if exists("*GetJSONIndent")
|
||||
finish
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
" Maintainer: Marcus Aurelius Farias <marcus.cf 'at' bol.com.br>
|
||||
" First Author: Max Ischenko <mfi 'at' ukr.net>
|
||||
" Last Change: 2017 Jun 13
|
||||
" 2022 Sep 07: b:undo_indent added by Doug Kearns
|
||||
|
||||
" Only load this indent file when no other was loaded.
|
||||
if exists("b:did_indent")
|
||||
@@ -18,6 +19,8 @@ setlocal indentkeys+=0=end,0=until
|
||||
|
||||
setlocal autoindent
|
||||
|
||||
let b:undo_indent = "setlocal autoindent< indentexpr< indentkeys<"
|
||||
|
||||
" Only define the function once.
|
||||
if exists("*GetLuaIndent")
|
||||
finish
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
" METAFONT indent file
|
||||
" Language: METAFONT
|
||||
" Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
||||
" Last Change: 2016 Oct 1
|
||||
" Latest Revision: 2022 Aug 12
|
||||
|
||||
runtime! indent/mp.vim
|
||||
|
||||
@@ -1,360 +1,320 @@
|
||||
" MetaPost indent file
|
||||
" Language: MetaPost
|
||||
" Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
||||
" Former Maintainers: Eugene Minkovskii <emin@mccme.ru>
|
||||
" Last Change: 2016 Oct 2, 4:13pm
|
||||
" Version: 0.2
|
||||
vim9script
|
||||
|
||||
# MetaPost indent file
|
||||
# Language: MetaPost
|
||||
# Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
||||
# Former Maintainers: Eugene Minkovskii <emin@mccme.ru>
|
||||
# Latest Revision: 2022 Aug 12
|
||||
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
endif
|
||||
let b:did_indent = 1
|
||||
|
||||
setlocal indentexpr=GetMetaPostIndent()
|
||||
b:did_indent = 1
|
||||
|
||||
setlocal indentexpr=g:MetaPostIndent()
|
||||
setlocal indentkeys+==end,=else,=fi,=fill,0),0]
|
||||
setlocal nolisp
|
||||
setlocal nosmartindent
|
||||
|
||||
let b:undo_indent = "setl indentkeys< indentexpr<"
|
||||
b:undo_indent = "setl indentexpr< indentkeys< lisp< smartindent<"
|
||||
|
||||
" Only define the function once.
|
||||
if exists("*GetMetaPostIndent")
|
||||
finish
|
||||
endif
|
||||
let s:keepcpo= &cpo
|
||||
set cpo&vim
|
||||
# Regexps {{{
|
||||
# Expressions starting indented blocks
|
||||
const MP_OPEN_TAG = [
|
||||
'\<if\>',
|
||||
'\<else\%[if]\>',
|
||||
'\<for\%(\|ever\|suffixes\)\>',
|
||||
'\<begingroup\>',
|
||||
'\<\%(\|var\|primary\|secondary\|tertiary\)def\>',
|
||||
'^\s*\<begin\%(fig\|graph\|glyph\|char\|logochar\)\>',
|
||||
'[([{]',
|
||||
]->extend(get(g:, "mp_open_tag", []))->join('\|')
|
||||
|
||||
function GetMetaPostIndent()
|
||||
let ignorecase_save = &ignorecase
|
||||
try
|
||||
let &ignorecase = 0
|
||||
return GetMetaPostIndentIntern()
|
||||
finally
|
||||
let &ignorecase = ignorecase_save
|
||||
endtry
|
||||
endfunc
|
||||
# Expressions ending indented blocks
|
||||
const MP_CLOSE_TAG = [
|
||||
'\<fi\>',
|
||||
'\<else\%[if]\>',
|
||||
'\<end\%(\|for\|group\|def\|fig\|char\|glyph\|graph\)\>',
|
||||
'[)\]}]'
|
||||
]->extend(get(g:, "mp_close_tag", []))->join('\|')
|
||||
|
||||
" Regexps {{{
|
||||
" Note: the next three variables are made global so that a user may add
|
||||
" further keywords.
|
||||
"
|
||||
" Example:
|
||||
"
|
||||
" Put these in ~/.vim/after/indent/mp.vim
|
||||
"
|
||||
" let g:mp_open_tag .= '\|\<begintest\>'
|
||||
" let g:mp_close_tag .= '\|\<endtest\>'
|
||||
# Statements that may span multiple lines and are ended by a semicolon. To
|
||||
# keep this list short, statements that are unlikely to be very long or are
|
||||
# not very common (e.g., keywords like `interim` or `showtoken`) are not
|
||||
# included.
|
||||
#
|
||||
# The regex for assignments and equations (the last branch) is tricky, because
|
||||
# it must not match things like `for i :=`, `if a=b`, `def...=`, etc... It is
|
||||
# not perfect, but it works reasonably well.
|
||||
const MP_STATEMENT = [
|
||||
'\<\%(\|un\|cut\)draw\%(dot\)\=\>',
|
||||
'\<\%(\|un\)fill\%[draw]\>',
|
||||
'\<draw\%(dbl\)\=arrow\>',
|
||||
'\<clip\>',
|
||||
'\<addto\>',
|
||||
'\<save\>',
|
||||
'\<setbounds\>',
|
||||
'\<message\>',
|
||||
'\<errmessage\>',
|
||||
'\<errhelp\>',
|
||||
'\<fontmapline\>',
|
||||
'\<pickup\>',
|
||||
'\<show\>',
|
||||
'\<special\>',
|
||||
'\<write\>',
|
||||
'\%(^\|;\)\%([^;=]*\%(' .. MP_OPEN_TAG .. '\)\)\@!.\{-}:\==',
|
||||
]->join('\|')
|
||||
|
||||
" Expressions starting indented blocks
|
||||
let g:mp_open_tag = ''
|
||||
\ . '\<if\>'
|
||||
\ . '\|\<else\%[if]\>'
|
||||
\ . '\|\<for\%(\|ever\|suffixes\)\>'
|
||||
\ . '\|\<begingroup\>'
|
||||
\ . '\|\<\%(\|var\|primary\|secondary\|tertiary\)def\>'
|
||||
\ . '\|^\s*\<begin\%(fig\|graph\|glyph\|char\|logochar\)\>'
|
||||
\ . '\|[([{]'
|
||||
# A line ends with zero or more spaces, possibly followed by a comment.
|
||||
const EOL = '\s*\%($\|%\)'
|
||||
# }}}
|
||||
|
||||
" Expressions ending indented blocks
|
||||
let g:mp_close_tag = ''
|
||||
\ . '\<fi\>'
|
||||
\ . '\|\<else\%[if]\>'
|
||||
\ . '\|\<end\%(\|for\|group\|def\|fig\|char\|glyph\|graph\)\>'
|
||||
\ . '\|[)\]}]'
|
||||
# Auxiliary functions {{{
|
||||
# Returns true if (0-based) position immediately preceding `pos` in `line` is
|
||||
# inside a string or a comment; returns false otherwise.
|
||||
|
||||
" Statements that may span multiple lines and are ended by a semicolon. To
|
||||
" keep this list short, statements that are unlikely to be very long or are
|
||||
" not very common (e.g., keywords like `interim` or `showtoken`) are not
|
||||
" included.
|
||||
"
|
||||
" The regex for assignments and equations (the last branch) is tricky, because
|
||||
" it must not match things like `for i :=`, `if a=b`, `def...=`, etc... It is
|
||||
" not perfect, but it works reasonably well.
|
||||
let g:mp_statement = ''
|
||||
\ . '\<\%(\|un\|cut\)draw\>'
|
||||
\ . '\|\<\%(\|un\)fill\%[draw]\>'
|
||||
\ . '\|\<draw\%(dbl\)\=arrow\>'
|
||||
\ . '\|\<clip\>'
|
||||
\ . '\|\<addto\>'
|
||||
\ . '\|\<save\>'
|
||||
\ . '\|\<setbounds\>'
|
||||
\ . '\|\<message\>'
|
||||
\ . '\|\<errmessage\>'
|
||||
\ . '\|\<errhelp\>'
|
||||
\ . '\|\<fontmapline\>'
|
||||
\ . '\|\<pickup\>'
|
||||
\ . '\|\<show\>'
|
||||
\ . '\|\<special\>'
|
||||
\ . '\|\<write\>'
|
||||
\ . '\|\%(^\|;\)\%([^;=]*\%('.g:mp_open_tag.'\)\)\@!.\{-}:\=='
|
||||
# This is the function that is called more often when indenting, so it is
|
||||
# critical that it is efficient. The method we use is significantly faster
|
||||
# than using syntax attributes, and more general (it does not require
|
||||
# syntax_items). It is also faster than using a single regex matching an even
|
||||
# number of quotes. It helps that MetaPost strings cannot span more than one
|
||||
# line and cannot contain escaped quotes.
|
||||
def IsCommentOrString(line: string, pos: number): bool
|
||||
var in_string = 0
|
||||
var q = stridx(line, '"')
|
||||
var c = stridx(line, '%')
|
||||
|
||||
" A line ends with zero or more spaces, possibly followed by a comment.
|
||||
let s:eol = '\s*\%($\|%\)'
|
||||
" }}}
|
||||
|
||||
" Auxiliary functions {{{
|
||||
" Returns 1 if (0-based) position immediately preceding `pos` in `line` is
|
||||
" inside a string or a comment; returns 0 otherwise.
|
||||
|
||||
" This is the function that is called more often when indenting, so it is
|
||||
" critical that it is efficient. The method we use is significantly faster
|
||||
" than using syntax attributes, and more general (it does not require
|
||||
" syntax_items). It is also faster than using a single regex matching an even
|
||||
" number of quotes. It helps that MetaPost strings cannot span more than one
|
||||
" line and cannot contain escaped quotes.
|
||||
function! s:CommentOrString(line, pos)
|
||||
let in_string = 0
|
||||
let q = stridx(a:line, '"')
|
||||
let c = stridx(a:line, '%')
|
||||
while q >= 0 && q < a:pos
|
||||
while q >= 0 && q < pos
|
||||
if c >= 0 && c < q
|
||||
if in_string " Find next percent symbol
|
||||
let c = stridx(a:line, '%', q + 1)
|
||||
else " Inside comment
|
||||
return 1
|
||||
if in_string # Find next percent symbol
|
||||
c = stridx(line, '%', q + 1)
|
||||
else # Inside comment
|
||||
return true
|
||||
endif
|
||||
endif
|
||||
let in_string = 1 - in_string
|
||||
let q = stridx(a:line, '"', q + 1) " Find next quote
|
||||
in_string = 1 - in_string
|
||||
q = stridx(line, '"', q + 1) # Find next quote
|
||||
endwhile
|
||||
return in_string || (c >= 0 && c <= a:pos)
|
||||
endfunction
|
||||
|
||||
" Find the first non-comment non-blank line before the current line.
|
||||
function! s:PrevNonBlankNonComment(lnum)
|
||||
let l:lnum = prevnonblank(a:lnum - 1)
|
||||
while getline(l:lnum) =~# '^\s*%'
|
||||
let l:lnum = prevnonblank(l:lnum - 1)
|
||||
return in_string || (c >= 0 && c <= pos)
|
||||
enddef
|
||||
|
||||
# Find the first non-comment non-blank line before the given line.
|
||||
def PrevNonBlankNonComment(lnum: number): number
|
||||
var nr = prevnonblank(lnum - 1)
|
||||
while getline(nr) =~# '^\s*%'
|
||||
nr = prevnonblank(nr - 1)
|
||||
endwhile
|
||||
return l:lnum
|
||||
endfunction
|
||||
return nr
|
||||
enddef
|
||||
|
||||
" Returns true if the last tag appearing in the line is an open tag; returns
|
||||
" false otherwise.
|
||||
function! s:LastTagIsOpen(line)
|
||||
let o = s:LastValidMatchEnd(a:line, g:mp_open_tag, 0)
|
||||
if o == - 1 | return v:false | endif
|
||||
return s:LastValidMatchEnd(a:line, g:mp_close_tag, o) < 0
|
||||
endfunction
|
||||
# Returns true if the last tag appearing in the line is an open tag; returns
|
||||
# false otherwise.
|
||||
def LastTagIsOpen(line: string): bool
|
||||
var o = LastValidMatchEnd(line, MP_OPEN_TAG, 0)
|
||||
if o == - 1
|
||||
return false
|
||||
endif
|
||||
return LastValidMatchEnd(line, MP_CLOSE_TAG, o) < 0
|
||||
enddef
|
||||
|
||||
" A simple, efficient and quite effective heuristics is used to test whether
|
||||
" a line should cause the next line to be indented: count the "opening tags"
|
||||
" (if, for, def, ...) in the line, count the "closing tags" (endif, endfor,
|
||||
" ...) in the line, and compute the difference. We call the result the
|
||||
" "weight" of the line. If the weight is positive, then the next line should
|
||||
" most likely be indented. Note that `else` and `elseif` are both opening and
|
||||
" closing tags, so they "cancel out" in almost all cases, the only exception
|
||||
" being a leading `else[if]`, which is counted as an opening tag, but not as
|
||||
" a closing tag (so that, for instance, a line containing a single `else:`
|
||||
" will have weight equal to one, not zero). We do not treat a trailing
|
||||
" `else[if]` in any special way, because lines ending with an open tag are
|
||||
" dealt with separately before this function is called (see
|
||||
" GetMetaPostIndentIntern()).
|
||||
"
|
||||
" Example:
|
||||
"
|
||||
" forsuffixes $=a,b: if x.$ = y.$ : draw else: fill fi
|
||||
" % This line will be indented because |{forsuffixes,if,else}| > |{else,fi}| (3 > 2)
|
||||
" endfor
|
||||
|
||||
function! s:Weight(line)
|
||||
let [o, i] = [0, s:ValidMatchEnd(a:line, g:mp_open_tag, 0)]
|
||||
# A simple, efficient and quite effective heuristics is used to test whether
|
||||
# a line should cause the next line to be indented: count the "opening tags"
|
||||
# (if, for, def, ...) in the line, count the "closing tags" (endif, endfor,
|
||||
# ...) in the line, and compute the difference. We call the result the
|
||||
# "weight" of the line. If the weight is positive, then the next line should
|
||||
# most likely be indented. Note that `else` and `elseif` are both opening and
|
||||
# closing tags, so they "cancel out" in almost all cases, the only exception
|
||||
# being a leading `else[if]`, which is counted as an opening tag, but not as
|
||||
# a closing tag (so that, for instance, a line containing a single `else:`
|
||||
# will have weight equal to one, not zero). We do not treat a trailing
|
||||
# `else[if]` in any special way, because lines ending with an open tag are
|
||||
# dealt with separately before this function is called (see MetaPostIndent()).
|
||||
#
|
||||
# Example:
|
||||
#
|
||||
# forsuffixes $=a,b: if x.$ = y.$ : draw else: fill fi
|
||||
# % This line will be indented because |{forsuffixes,if,else}| > |{else,fi}| (3 > 2)
|
||||
# endfor
|
||||
def Weight(line: string): number
|
||||
var o = 0
|
||||
var i = ValidMatchEnd(line, MP_OPEN_TAG, 0)
|
||||
while i > 0
|
||||
let o += 1
|
||||
let i = s:ValidMatchEnd(a:line, g:mp_open_tag, i)
|
||||
o += 1
|
||||
i = ValidMatchEnd(line, MP_OPEN_TAG, i)
|
||||
endwhile
|
||||
let [c, i] = [0, matchend(a:line, '^\s*\<else\%[if]\>')] " Skip a leading else[if]
|
||||
let i = s:ValidMatchEnd(a:line, g:mp_close_tag, i)
|
||||
var c = 0
|
||||
i = matchend(line, '^\s*\<else\%[if]\>') # Skip a leading else[if]
|
||||
i = ValidMatchEnd(line, MP_CLOSE_TAG, i)
|
||||
while i > 0
|
||||
let c += 1
|
||||
let i = s:ValidMatchEnd(a:line, g:mp_close_tag, i)
|
||||
c += 1
|
||||
i = ValidMatchEnd(line, MP_CLOSE_TAG, i)
|
||||
endwhile
|
||||
return o - c
|
||||
endfunction
|
||||
enddef
|
||||
|
||||
" Similar to matchend(), but skips strings and comments.
|
||||
" line: a String
|
||||
function! s:ValidMatchEnd(line, pat, start)
|
||||
let i = matchend(a:line, a:pat, a:start)
|
||||
while i > 0 && s:CommentOrString(a:line, i)
|
||||
let i = matchend(a:line, a:pat, i)
|
||||
# Similar to matchend(), but skips strings and comments.
|
||||
# line: a String
|
||||
def ValidMatchEnd(line: string, pat: string, start: number): number
|
||||
var i = matchend(line, pat, start)
|
||||
while i > 0 && IsCommentOrString(line, i)
|
||||
i = matchend(line, pat, i)
|
||||
endwhile
|
||||
return i
|
||||
endfunction
|
||||
enddef
|
||||
|
||||
" Like s:ValidMatchEnd(), but returns the end position of the last (i.e.,
|
||||
" rightmost) match.
|
||||
function! s:LastValidMatchEnd(line, pat, start)
|
||||
let last_found = -1
|
||||
let i = matchend(a:line, a:pat, a:start)
|
||||
# Like s:ValidMatchEnd(), but returns the end position of the last (i.e.,
|
||||
# rightmost) match.
|
||||
def LastValidMatchEnd(line: string, pat: string, start: number): number
|
||||
var last_found = -1
|
||||
var i = matchend(line, pat, start)
|
||||
while i > 0
|
||||
if !s:CommentOrString(a:line, i)
|
||||
let last_found = i
|
||||
if !IsCommentOrString(line, i)
|
||||
last_found = i
|
||||
endif
|
||||
let i = matchend(a:line, a:pat, i)
|
||||
i = matchend(line, pat, i)
|
||||
endwhile
|
||||
return last_found
|
||||
endfunction
|
||||
enddef
|
||||
|
||||
function! s:DecreaseIndentOnClosingTag(curr_indent)
|
||||
let cur_text = getline(v:lnum)
|
||||
if cur_text =~# '^\s*\%('.g:mp_close_tag.'\)'
|
||||
return max([a:curr_indent - shiftwidth(), 0])
|
||||
def DecreaseIndentOnClosingTag(curr_indent: number): number
|
||||
var cur_text = getline(v:lnum)
|
||||
if cur_text =~# '^\s*\%(' .. MP_CLOSE_TAG .. '\)'
|
||||
return max([curr_indent - shiftwidth(), 0])
|
||||
endif
|
||||
return a:curr_indent
|
||||
endfunction
|
||||
" }}}
|
||||
return curr_indent
|
||||
enddef
|
||||
# }}}
|
||||
|
||||
" Main function {{{
|
||||
"
|
||||
" Note: Every rule of indentation in MetaPost is very subjective. We might get
|
||||
" creative, but things get murky very soon (there are too many corner cases).
|
||||
" So, we provide a means for the user to decide what to do when this script
|
||||
" doesn't get it. We use a simple idea: use '%>', '%<' and '%=' to explicitly
|
||||
" control indentation. The '<' and '>' symbols may be repeated many times
|
||||
" (e.g., '%>>' will cause the next line to be indented twice).
|
||||
"
|
||||
" By using '%>...', '%<...' and '%=', the indentation the user wants is
|
||||
" preserved by commands like gg=G, even if it does not follow the rules of
|
||||
" this script.
|
||||
"
|
||||
" Example:
|
||||
"
|
||||
" def foo =
|
||||
" makepen(
|
||||
" subpath(T-n,t) of r %>
|
||||
" shifted .5down %>
|
||||
" --subpath(t,T) of r shifted .5up -- cycle %<<<
|
||||
" )
|
||||
" withcolor black
|
||||
" enddef
|
||||
"
|
||||
" The default indentation of the previous example would be:
|
||||
"
|
||||
" def foo =
|
||||
" makepen(
|
||||
" subpath(T-n,t) of r
|
||||
" shifted .5down
|
||||
" --subpath(t,T) of r shifted .5up -- cycle
|
||||
" )
|
||||
" withcolor black
|
||||
" enddef
|
||||
"
|
||||
" Personally, I prefer the latter, but anyway...
|
||||
function! GetMetaPostIndentIntern()
|
||||
" Do not touch indentation inside verbatimtex/btex.. etex blocks.
|
||||
# Main function {{{
|
||||
def g:MetaPostIndent(): number
|
||||
# Do not touch indentation inside verbatimtex/btex.. etex blocks.
|
||||
if synIDattr(synID(v:lnum, 1, 1), "name") =~# '^mpTeXinsert$\|^tex\|^Delimiter'
|
||||
return -1
|
||||
endif
|
||||
|
||||
" This is the reference line relative to which the current line is indented
|
||||
" (but see below).
|
||||
let lnum = s:PrevNonBlankNonComment(v:lnum)
|
||||
# At the start of a MetaPost block inside ConTeXt, do not touch indentation
|
||||
if synIDattr(synID(prevnonblank(v:lnum - 1), 1, 1), "name") == "contextBlockDelim"
|
||||
return -1
|
||||
endif
|
||||
|
||||
" At the start of the file use zero indent.
|
||||
var lnum = PrevNonBlankNonComment(v:lnum)
|
||||
|
||||
# At the start of the file use zero indent.
|
||||
if lnum == 0
|
||||
return 0
|
||||
endif
|
||||
|
||||
let prev_text = getline(lnum)
|
||||
var prev_text = getline(lnum)
|
||||
|
||||
" User-defined overrides take precedence over anything else.
|
||||
" See above for an example.
|
||||
let j = match(prev_text, '%[<>=]')
|
||||
# Every rule of indentation in MetaPost is very subjective. We might get
|
||||
# creative, but things get murky very soon (there are too many corner
|
||||
# cases). So, we provide a means for the user to decide what to do when this
|
||||
# script doesn't get it. We use a simple idea: use '%>', '%<', '%=', and
|
||||
# '%!', to explicitly control indentation. The '<' and '>' symbols may be
|
||||
# repeated many times (e.g., '%>>' will cause the next line to be indented
|
||||
# twice).
|
||||
#
|
||||
# User-defined overrides take precedence over anything else.
|
||||
var j = match(prev_text, '%[<>=!]')
|
||||
if j > 0
|
||||
let i = strlen(matchstr(prev_text, '%>\+', j)) - 1
|
||||
var i = strlen(matchstr(prev_text, '%>\+', j)) - 1
|
||||
if i > 0
|
||||
return indent(lnum) + i * shiftwidth()
|
||||
endif
|
||||
|
||||
let i = strlen(matchstr(prev_text, '%<\+', j)) - 1
|
||||
i = strlen(matchstr(prev_text, '%<\+', j)) - 1
|
||||
if i > 0
|
||||
return max([indent(lnum) - i * shiftwidth(), 0])
|
||||
endif
|
||||
|
||||
if match(prev_text, '%=', j)
|
||||
if match(prev_text, '%=', j) > -1
|
||||
return indent(lnum)
|
||||
endif
|
||||
endif
|
||||
|
||||
" If the reference line ends with an open tag, indent.
|
||||
"
|
||||
" Example:
|
||||
"
|
||||
" if c:
|
||||
" 0
|
||||
" else:
|
||||
" 1
|
||||
" fi if c2: % Note that this line has weight equal to zero.
|
||||
" ... % This line will be indented
|
||||
if s:LastTagIsOpen(prev_text)
|
||||
return s:DecreaseIndentOnClosingTag(indent(lnum) + shiftwidth())
|
||||
endif
|
||||
|
||||
" Lines with a positive weight are unbalanced and should likely be indented.
|
||||
"
|
||||
" Example:
|
||||
"
|
||||
" def f = enddef for i = 1 upto 5: if x[i] > 0: 1 else: 2 fi
|
||||
" ... % This line will be indented (because of the unterminated `for`)
|
||||
if s:Weight(prev_text) > 0
|
||||
return s:DecreaseIndentOnClosingTag(indent(lnum) + shiftwidth())
|
||||
endif
|
||||
|
||||
" Unterminated statements cause indentation to kick in.
|
||||
"
|
||||
" Example:
|
||||
"
|
||||
" draw unitsquare
|
||||
" withcolor black; % This line is indented because of `draw`.
|
||||
" x := a + b + c
|
||||
" + d + e; % This line is indented because of `:=`.
|
||||
"
|
||||
let i = s:LastValidMatchEnd(prev_text, g:mp_statement, 0)
|
||||
if i >= 0 " Does the line contain a statement?
|
||||
if s:ValidMatchEnd(prev_text, ';', i) < 0 " Is the statement unterminated?
|
||||
return indent(lnum) + shiftwidth()
|
||||
else
|
||||
return s:DecreaseIndentOnClosingTag(indent(lnum))
|
||||
if match(prev_text, '%!', j) > -1
|
||||
return -1
|
||||
endif
|
||||
endif
|
||||
|
||||
" Deal with the special case of a statement spanning multiple lines. If the
|
||||
" current reference line L ends with a semicolon, search backwards for
|
||||
" another semicolon or a statement keyword. If the latter is found first,
|
||||
" its line is used as the reference line for indenting the current line
|
||||
" instead of L.
|
||||
"
|
||||
" Example:
|
||||
"
|
||||
" if cond:
|
||||
" draw if a: z0 else: z1 fi
|
||||
" shifted S
|
||||
" scaled T; % L
|
||||
"
|
||||
" for i = 1 upto 3: % <-- Current line: this gets the same indent as `draw ...`
|
||||
"
|
||||
" NOTE: we get here only if L does not contain a statement (among those
|
||||
" listed in g:mp_statement).
|
||||
if s:ValidMatchEnd(prev_text, ';'.s:eol, 0) >= 0 " L ends with a semicolon
|
||||
let stm_lnum = s:PrevNonBlankNonComment(lnum)
|
||||
# If the reference line ends with an open tag, indent.
|
||||
#
|
||||
# Example:
|
||||
#
|
||||
# if c:
|
||||
# 0
|
||||
# else:
|
||||
# 1
|
||||
# fi if c2: % Note that this line has weight equal to zero.
|
||||
# ... % This line will be indented
|
||||
if LastTagIsOpen(prev_text)
|
||||
return DecreaseIndentOnClosingTag(indent(lnum) + shiftwidth())
|
||||
endif
|
||||
|
||||
# Lines with a positive weight are unbalanced and should likely be indented.
|
||||
#
|
||||
# Example:
|
||||
#
|
||||
# def f = enddef for i = 1 upto 5: if x[i] > 0: 1 else: 2 fi
|
||||
# ... % This line will be indented (because of the unterminated `for`)
|
||||
if Weight(prev_text) > 0
|
||||
return DecreaseIndentOnClosingTag(indent(lnum) + shiftwidth())
|
||||
endif
|
||||
|
||||
# Unterminated statements cause indentation to kick in.
|
||||
#
|
||||
# Example:
|
||||
#
|
||||
# draw unitsquare
|
||||
# withcolor black; % This line is indented because of `draw`.
|
||||
# x := a + b + c
|
||||
# + d + e; % This line is indented because of `:=`.
|
||||
#
|
||||
var i = LastValidMatchEnd(prev_text, MP_STATEMENT, 0)
|
||||
if i >= 0 # Does the line contain a statement?
|
||||
if ValidMatchEnd(prev_text, ';', i) < 0 # Is the statement unterminated?
|
||||
return indent(lnum) + shiftwidth()
|
||||
else
|
||||
return DecreaseIndentOnClosingTag(indent(lnum))
|
||||
endif
|
||||
endif
|
||||
|
||||
# Deal with the special case of a statement spanning multiple lines. If the
|
||||
# current reference line L ends with a semicolon, search backwards for
|
||||
# another semicolon or a statement keyword. If the latter is found first,
|
||||
# its line is used as the reference line for indenting the current line
|
||||
# instead of L.
|
||||
#
|
||||
# Example:
|
||||
#
|
||||
# if cond:
|
||||
# draw if a: z0 else: z1 fi
|
||||
# shifted S
|
||||
# scaled T; % L
|
||||
#
|
||||
# for i = 1 upto 3: % <-- Current line: this gets the same indent as `draw ...`
|
||||
#
|
||||
# NOTE: we get here only if L does not contain a statement (among those
|
||||
# listed in g:MP_STATEMENT).
|
||||
if ValidMatchEnd(prev_text, ';' .. EOL, 0) >= 0 # L ends with a semicolon
|
||||
var stm_lnum = PrevNonBlankNonComment(lnum)
|
||||
while stm_lnum > 0
|
||||
let prev_text = getline(stm_lnum)
|
||||
let sc_pos = s:LastValidMatchEnd(prev_text, ';', 0)
|
||||
let stm_pos = s:ValidMatchEnd(prev_text, g:mp_statement, sc_pos)
|
||||
prev_text = getline(stm_lnum)
|
||||
var sc_pos = LastValidMatchEnd(prev_text, ';', 0)
|
||||
var stm_pos = ValidMatchEnd(prev_text, MP_STATEMENT, sc_pos)
|
||||
if stm_pos > sc_pos
|
||||
let lnum = stm_lnum
|
||||
lnum = stm_lnum
|
||||
break
|
||||
elseif sc_pos > stm_pos
|
||||
break
|
||||
endif
|
||||
let stm_lnum = s:PrevNonBlankNonComment(stm_lnum)
|
||||
stm_lnum = PrevNonBlankNonComment(stm_lnum)
|
||||
endwhile
|
||||
endif
|
||||
|
||||
return s:DecreaseIndentOnClosingTag(indent(lnum))
|
||||
endfunction
|
||||
" }}}
|
||||
return DecreaseIndentOnClosingTag(indent(lnum))
|
||||
enddef
|
||||
# }}}
|
||||
|
||||
let &cpo = s:keepcpo
|
||||
unlet s:keepcpo
|
||||
|
||||
" vim:sw=2:fdm=marker
|
||||
# vim: sw=2 fdm=marker
|
||||
|
||||
60
runtime/indent/racket.vim
Normal file
60
runtime/indent/racket.vim
Normal file
@@ -0,0 +1,60 @@
|
||||
" Vim indent file
|
||||
" Language: Racket
|
||||
" Maintainer: D. Ben Knoble <ben.knoble+github@gmail.com>
|
||||
" Previous Maintainer: Will Langstroth <will@langstroth.com>
|
||||
" URL: https://github.com/benknoble/vim-racket
|
||||
" Last Change: 2022 Aug 12
|
||||
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
endif
|
||||
let b:did_indent = 1
|
||||
|
||||
setlocal lisp autoindent nosmartindent
|
||||
|
||||
setlocal lispwords+=module,module*,module+,parameterize,let-values,let*-values,letrec-values,local
|
||||
setlocal lispwords+=define/contract
|
||||
setlocal lispwords+=λ
|
||||
setlocal lispwords+=with-handlers
|
||||
setlocal lispwords+=define-values,opt-lambda,case-lambda,syntax-rules,with-syntax,syntax-case,syntax-parse
|
||||
setlocal lispwords+=define-for-syntax,define-syntax-parser,define-syntax-parse-rule,define-syntax-class,define-splicing-syntax-class
|
||||
setlocal lispwords+=define-signature,unit,unit/sig,compund-unit/sig,define-values/invoke-unit/sig
|
||||
setlocal lispwords+=define-opt/c,define-syntax-rule
|
||||
setlocal lispwords+=define-test-suite
|
||||
setlocal lispwords+=struct
|
||||
setlocal lispwords+=with-input-from-file,with-output-to-file
|
||||
|
||||
" Racket OOP
|
||||
" TODO missing a lot of define-like forms here (e.g., define/augment, etc.)
|
||||
setlocal lispwords+=class,class*,mixin,interface,class/derived
|
||||
setlocal lispwords+=define/public,define/pubment,define/public-final
|
||||
setlocal lispwords+=define/override,define/overment,define/override-final
|
||||
setlocal lispwords+=define/augment,define/augride,define/augment-final
|
||||
setlocal lispwords+=define/private
|
||||
|
||||
" kanren
|
||||
setlocal lispwords+=fresh,run,run*,project,conde,condu
|
||||
|
||||
" loops
|
||||
setlocal lispwords+=for,for/list,for/fold,for*,for*/list,for*/fold,for/or,for/and,for*/or,for*/and
|
||||
setlocal lispwords+=for/hash,for/hasheq,for/hasheqv,for/sum,for/flvector,for*/flvector,for/vector,for*/vector,for*/sum,for*/hash,for*/hasheq,for*/hasheqv
|
||||
setlocal lispwords+=for/async
|
||||
setlocal lispwords+=for/set,for*/set
|
||||
setlocal lispwords+=for/first,for*/first
|
||||
|
||||
setlocal lispwords+=match,match*,match/values,define/match,match-lambda,match-lambda*,match-lambda**
|
||||
setlocal lispwords+=match-let,match-let*,match-let-values,match-let*-values
|
||||
setlocal lispwords+=match-letrec,match-define,match-define-values
|
||||
|
||||
setlocal lispwords+=let/cc,let/ec
|
||||
|
||||
" qi
|
||||
setlocal lispwords+=define-flow,define-switch,flow-lambda,switch-lambda,on,switch,π,λ01
|
||||
setlocal lispwords+=define-qi-syntax,define-qi-syntax-parser,define-qi-syntax-rule
|
||||
|
||||
" gui-easy
|
||||
setlocal lispwords+=if-view,case-view,cond-view,list-view,dyn-view
|
||||
setlocal lispwords+=case/dep
|
||||
setlocal lispwords+=define/obs
|
||||
|
||||
let b:undo_indent = "setlocal lisp< ai< si< lw<"
|
||||
@@ -11,6 +11,7 @@ syn on
|
||||
set nowrapscan
|
||||
set report=9999
|
||||
set modeline
|
||||
set debug=throw
|
||||
|
||||
au! SwapExists * call HandleSwapExists()
|
||||
func HandleSwapExists()
|
||||
@@ -84,7 +85,12 @@ for fname in glob('testdir/*.in', 1, 1)
|
||||
|
||||
exe start + 1
|
||||
if pattern == ''
|
||||
exe 'normal =' . (end - 1) . 'G'
|
||||
try
|
||||
exe 'normal =' . (end - 1) . 'G'
|
||||
catch
|
||||
call append(indent_at, 'ERROR: ' . v:exception)
|
||||
let failed = 1
|
||||
endtry
|
||||
else
|
||||
let lnum = search(pattern)
|
||||
if lnum <= 0
|
||||
@@ -99,7 +105,12 @@ for fname in glob('testdir/*.in', 1, 1)
|
||||
else
|
||||
exe lnum - 1
|
||||
endif
|
||||
normal ==
|
||||
try
|
||||
normal ==
|
||||
catch
|
||||
call append(indent_at, 'ERROR: ' . v:exception)
|
||||
let failed = 1
|
||||
endtry
|
||||
endif
|
||||
endif
|
||||
endwhile
|
||||
|
||||
@@ -36,6 +36,13 @@ let t = [
|
||||
\ },
|
||||
\ ]
|
||||
|
||||
def Func()
|
||||
var d = dd
|
||||
->extend({
|
||||
})
|
||||
eval 0
|
||||
enddef
|
||||
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
|
||||
@@ -36,6 +36,13 @@ let t = [
|
||||
\ },
|
||||
\ ]
|
||||
|
||||
def Func()
|
||||
var d = dd
|
||||
->extend({
|
||||
})
|
||||
eval 0
|
||||
enddef
|
||||
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
|
||||
@@ -33,7 +33,9 @@ function GetVimIndent()
|
||||
endtry
|
||||
endfunc
|
||||
|
||||
let s:lineContPat = '^\s*\(\\\|"\\ \)'
|
||||
" Legacy script line continuation and Vim9 script operators that must mean an
|
||||
" expression that continues from the previous line.
|
||||
let s:lineContPat = '^\s*\(\\\|"\\ \|->\)'
|
||||
|
||||
function GetVimIndentIntern()
|
||||
" If the current line has line continuation and the previous one too, use
|
||||
@@ -133,15 +135,15 @@ function GetVimIndentIntern()
|
||||
endif
|
||||
endif
|
||||
|
||||
" For a line starting with "}" find the matching "{". If it is at the start
|
||||
" of the line align with it, probably end of a block.
|
||||
" For a line starting with "}" find the matching "{". Align with that line,
|
||||
" it is either the matching block start or dictionary start.
|
||||
" Use the mapped "%" from matchit to find the match, otherwise we may match
|
||||
" a { inside a comment or string.
|
||||
if cur_text =~ '^\s*}'
|
||||
if maparg('%') != ''
|
||||
exe v:lnum
|
||||
silent! normal %
|
||||
if line('.') < v:lnum && getline('.') =~ '^\s*{'
|
||||
if line('.') < v:lnum
|
||||
let ind = indent('.')
|
||||
endif
|
||||
else
|
||||
@@ -149,19 +151,33 @@ function GetVimIndentIntern()
|
||||
endif
|
||||
endif
|
||||
|
||||
" Below a line starting with "}" find the matching "{". If it is at the
|
||||
" end of the line we must be below the end of a dictionary.
|
||||
if prev_text =~ '^\s*}'
|
||||
if maparg('%') != ''
|
||||
exe lnum
|
||||
silent! normal %
|
||||
if line('.') == lnum || getline('.') !~ '^\s*{'
|
||||
let ind = ind - shiftwidth()
|
||||
" Look back for a line to align with
|
||||
while lnum > 1
|
||||
" Below a line starting with "}" find the matching "{".
|
||||
if prev_text =~ '^\s*}'
|
||||
if maparg('%') != ''
|
||||
exe lnum
|
||||
silent! normal %
|
||||
if line('.') < lnum
|
||||
let lnum = line('.')
|
||||
let ind = indent(lnum)
|
||||
let prev_text = getline(lnum)
|
||||
else
|
||||
break
|
||||
endif
|
||||
else
|
||||
" todo: use searchpair() to find a match
|
||||
break
|
||||
endif
|
||||
elseif prev_text =~ s:lineContPat
|
||||
" looks like a continuation like, go back one line
|
||||
let lnum = lnum - 1
|
||||
let ind = indent(lnum)
|
||||
let prev_text = getline(lnum)
|
||||
else
|
||||
" todo: use searchpair() to find a match
|
||||
break
|
||||
endif
|
||||
endif
|
||||
endwhile
|
||||
|
||||
" Below a line starting with "]" we must be below the end of a list.
|
||||
" Include a "}" and "},} in case a dictionary ends too.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim indent file
|
||||
" Language: YAML
|
||||
" Maintainer: Nikolai Pavlov <zyx.vim@gmail.com>
|
||||
" Last Update: Lukas Reineke
|
||||
" Last Updates: Lukas Reineke, "lacygoill"
|
||||
" Last Change: 2022 Jun 17
|
||||
|
||||
" Only load this indent file when no other was loaded.
|
||||
@@ -29,8 +29,8 @@ function s:FindPrevLessIndentedLine(lnum, ...)
|
||||
let prevlnum = prevnonblank(a:lnum-1)
|
||||
let curindent = a:0 ? a:1 : indent(a:lnum)
|
||||
while prevlnum
|
||||
\&& indent(prevlnum) >= curindent
|
||||
\&& getline(prevlnum) !~# '^\s*#'
|
||||
\ && indent(prevlnum) >= curindent
|
||||
\ && getline(prevlnum) !~# '^\s*#'
|
||||
let prevlnum = prevnonblank(prevlnum-1)
|
||||
endwhile
|
||||
return prevlnum
|
||||
@@ -54,7 +54,7 @@ let s:c_ns_anchor_name = s:c_ns_anchor_char .. '+'
|
||||
let s:c_ns_anchor_property = '\v\&' .. s:c_ns_anchor_name
|
||||
|
||||
let s:ns_word_char = '\v[[:alnum:]_\-]'
|
||||
let s:ns_tag_char = '\v%(%\x\x|' .. s:ns_word_char .. '|[#/;?:@&=+$.~*''()])'
|
||||
let s:ns_tag_char = '\v%(\x\x|' .. s:ns_word_char .. '|[#/;?:@&=+$.~*''()])'
|
||||
let s:c_named_tag_handle = '\v\!' .. s:ns_word_char .. '+\!'
|
||||
let s:c_secondary_tag_handle = '\v\!\!'
|
||||
let s:c_primary_tag_handle = '\v\!'
|
||||
@@ -63,7 +63,7 @@ let s:c_tag_handle = '\v%(' .. s:c_named_tag_handle.
|
||||
\ '|' .. s:c_primary_tag_handle .. ')'
|
||||
let s:c_ns_shorthand_tag = '\v' .. s:c_tag_handle .. s:ns_tag_char .. '+'
|
||||
let s:c_non_specific_tag = '\v\!'
|
||||
let s:ns_uri_char = '\v%(%\x\x|' .. s:ns_word_char .. '\v|[#/;?:@&=+$,.!~*''()[\]])'
|
||||
let s:ns_uri_char = '\v%(\x\x|' .. s:ns_word_char .. '\v|[#/;?:@&=+$,.!~*''()[\]])'
|
||||
let s:c_verbatim_tag = '\v\!\<' .. s:ns_uri_char.. '+\>'
|
||||
let s:c_ns_tag_property = '\v' .. s:c_verbatim_tag.
|
||||
\ '\v|' .. s:c_ns_shorthand_tag.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" These commands create the option window.
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2022 Apr 07
|
||||
" Last Change: 2022 Sep 11
|
||||
|
||||
" If there already is an option window, jump to that one.
|
||||
let buf = bufnr('option-window')
|
||||
@@ -515,6 +515,8 @@ call <SID>AddOption("splitbelow", gettext("a new window is put below the current
|
||||
call <SID>BinOptionG("sb", &sb)
|
||||
call <SID>AddOption("splitright", gettext("a new window is put right of the current one"))
|
||||
call <SID>BinOptionG("spr", &spr)
|
||||
call <SID>AddOption("splitscroll", gettext("determines scroll behavior for split windows"))
|
||||
call <SID>BinOptionG("spsc", &spsc)
|
||||
call <SID>AddOption("scrollbind", gettext("this window scrolls together with other bound windows"))
|
||||
call append("$", "\t" .. s:local_to_window)
|
||||
call <SID>BinOptionL("scb")
|
||||
|
||||
65
runtime/syntax/gdresource.vim
Normal file
65
runtime/syntax/gdresource.vim
Normal file
@@ -0,0 +1,65 @@
|
||||
" Vim syntax file for Godot resource (scenes)
|
||||
" Language: gdresource
|
||||
" Maintainer: Maxim Kim <habamax@gmail.com>
|
||||
" Filenames: *.tscn, *.tres
|
||||
" Website: https://github.com/habamax/vim-gdscript
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:keepcpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
syn match gdResourceNumber "\<0x\%(_\=\x\)\+\>"
|
||||
syn match gdResourceNumber "\<0b\%(_\=[01]\)\+\>"
|
||||
syn match gdResourceNumber "\<\d\%(_\=\d\)*\>"
|
||||
syn match gdResourceNumber "\<\d\%(_\=\d\)*\%(e[+-]\=\d\%(_\=\d\)*\)\=\>"
|
||||
syn match gdResourceNumber "\<\d\%(_\=\d\)*\.\%(e[+-]\=\d\%(_\=\d\)*\)\=\%(\W\|$\)\@="
|
||||
syn match gdResourceNumber "\%(^\|\W\)\@1<=\%(\d\%(_\=\d\)*\)\=\.\d\%(_\=\d\)*\%(e[+-]\=\d\%(_\=\d\)*\)\=\>"
|
||||
|
||||
syn keyword gdResourceKeyword true false
|
||||
|
||||
syn region gdResourceString
|
||||
\ start=+[uU]\="+ end='"' skip='\\\\\|\\"'
|
||||
\ contains=@Spell keepend
|
||||
|
||||
" Section
|
||||
syn region gdResourceSection matchgroup=gdResourceSectionDelimiter
|
||||
\ start='^\[' end=']\s*$'
|
||||
\ oneline keepend
|
||||
\ contains=gdResourceSectionName,gdResourceSectionAttribute
|
||||
|
||||
syn match gdResourceSectionName '\[\@<=\S\+' contained skipwhite
|
||||
syn match gdResourceSectionAttribute '\S\+\s*=\s*\S\+'
|
||||
\ skipwhite keepend contained
|
||||
\ contains=gdResourceSectionAttributeName,gdResourceSectionAttributeValue
|
||||
syn match gdResourceSectionAttributeName '\S\+\ze\(\s*=\)' skipwhite contained
|
||||
syn match gdResourceSectionAttributeValue '\(=\s*\)\zs\S\+\ze' skipwhite
|
||||
\ contained
|
||||
\ contains=gdResourceString,gdResourceNumber,gdResourceKeyword
|
||||
|
||||
|
||||
" Section body
|
||||
syn match gdResourceAttribute '^\s*\S\+\s*=.*$'
|
||||
\ skipwhite keepend
|
||||
\ contains=gdResourceAttributeName,gdResourceAttributeValue
|
||||
|
||||
syn match gdResourceAttributeName '\S\+\ze\(\s*=\)' skipwhite contained
|
||||
syn match gdResourceAttributeValue '\(=\s*\)\zs.*$' skipwhite
|
||||
\ contained
|
||||
\ contains=gdResourceString,gdResourceNumber,gdResourceKeyword
|
||||
|
||||
|
||||
hi def link gdResourceNumber Constant
|
||||
hi def link gdResourceKeyword Constant
|
||||
hi def link gdResourceSectionName Statement
|
||||
hi def link gdResourceSectionDelimiter Delimiter
|
||||
hi def link gdResourceSectionAttributeName Type
|
||||
hi def link gdResourceAttributeName Identifier
|
||||
hi def link gdResourceString String
|
||||
|
||||
let b:current_syntax = "gdresource"
|
||||
|
||||
let &cpo = s:keepcpo
|
||||
unlet s:keepcpo
|
||||
103
runtime/syntax/gdscript.vim
Normal file
103
runtime/syntax/gdscript.vim
Normal file
@@ -0,0 +1,103 @@
|
||||
" Vim syntax file for Godot gdscript
|
||||
" Language: gdscript
|
||||
" Maintainer: Maxim Kim <habamax@gmail.com>
|
||||
" Website: https://github.com/habamax/vim-gdscript
|
||||
" Filenames: *.gd
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:keepcpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
syntax sync maxlines=100
|
||||
|
||||
syn keyword gdscriptConditional if else elif match
|
||||
syn keyword gdscriptRepeat for while break continue
|
||||
|
||||
syn keyword gdscriptOperator is as not and or in
|
||||
|
||||
syn match gdscriptBlockStart ":\s*$"
|
||||
|
||||
syn keyword gdscriptKeyword null self owner parent tool
|
||||
syn keyword gdscriptBoolean false true
|
||||
|
||||
syn keyword gdscriptStatement remote master puppet remotesync mastersync puppetsync sync
|
||||
syn keyword gdscriptStatement return pass
|
||||
syn keyword gdscriptStatement static const enum
|
||||
syn keyword gdscriptStatement breakpoint assert
|
||||
syn keyword gdscriptStatement onready
|
||||
syn keyword gdscriptStatement class_name extends
|
||||
|
||||
syn keyword gdscriptType void bool int float String contained
|
||||
syn match gdscriptType ":\s*\zs\h\w*" contained
|
||||
syn match gdscriptType "->\s*\zs\h\w*" contained
|
||||
|
||||
syn keyword gdscriptStatement var nextgroup=gdscriptTypeDecl skipwhite
|
||||
syn keyword gdscriptStatement const nextgroup=gdscriptTypeDecl skipwhite
|
||||
syn match gdscriptTypeDecl "\h\w*\s*:\s*\h\w*" contains=gdscriptType contained skipwhite
|
||||
syn match gdscriptTypeDecl "->\s*\h\w*" contains=gdscriptType skipwhite
|
||||
|
||||
syn keyword gdscriptStatement export nextgroup=gdscriptExportTypeDecl skipwhite
|
||||
syn match gdscriptExportTypeDecl "(.\{-}[,)]" contains=gdscriptOperator,gdscriptType contained skipwhite
|
||||
|
||||
syn keyword gdscriptStatement setget nextgroup=gdscriptSetGet,gdscriptSetGetSeparator skipwhite
|
||||
syn match gdscriptSetGet "\h\w*" nextgroup=gdscriptSetGetSeparator display contained skipwhite
|
||||
syn match gdscriptSetGetSeparator "," nextgroup=gdscriptSetGet display contained skipwhite
|
||||
|
||||
syn keyword gdscriptStatement class func signal nextgroup=gdscriptFunctionName skipwhite
|
||||
syn match gdscriptFunctionName "\h\w*" nextgroup=gdscriptFunctionParams display contained skipwhite
|
||||
syn match gdscriptFunctionParams "(.*)" contains=gdscriptTypeDecl display contained skipwhite
|
||||
|
||||
syn match gdscriptNode "\$\h\w*\%(/\h\w*\)*"
|
||||
|
||||
syn match gdscriptComment "#.*$" contains=@Spell,gdscriptTodo
|
||||
|
||||
syn region gdscriptString matchgroup=gdscriptQuotes
|
||||
\ start=+[uU]\=\z(['"]\)+ end="\z1" skip="\\\\\|\\\z1"
|
||||
\ contains=gdscriptEscape,@Spell
|
||||
|
||||
syn region gdscriptString matchgroup=gdscriptTripleQuotes
|
||||
\ start=+[uU]\=\z('''\|"""\)+ end="\z1" keepend
|
||||
\ contains=gdscriptEscape,@Spell
|
||||
|
||||
syn match gdscriptEscape +\\[abfnrtv'"\\]+ contained
|
||||
syn match gdscriptEscape "\\$"
|
||||
|
||||
" Numbers
|
||||
syn match gdscriptNumber "\<0x\%(_\=\x\)\+\>"
|
||||
syn match gdscriptNumber "\<0b\%(_\=[01]\)\+\>"
|
||||
syn match gdscriptNumber "\<\d\%(_\=\d\)*\>"
|
||||
syn match gdscriptNumber "\<\d\%(_\=\d\)*\%(e[+-]\=\d\%(_\=\d\)*\)\=\>"
|
||||
syn match gdscriptNumber "\<\d\%(_\=\d\)*\.\%(e[+-]\=\d\%(_\=\d\)*\)\=\%(\W\|$\)\@="
|
||||
syn match gdscriptNumber "\%(^\|\W\)\@1<=\%(\d\%(_\=\d\)*\)\=\.\d\%(_\=\d\)*\%(e[+-]\=\d\%(_\=\d\)*\)\=\>"
|
||||
|
||||
" XXX, TODO, etc
|
||||
syn keyword gdscriptTodo TODO XXX FIXME HACK NOTE BUG contained
|
||||
|
||||
hi def link gdscriptStatement Statement
|
||||
hi def link gdscriptKeyword Keyword
|
||||
hi def link gdscriptConditional Conditional
|
||||
hi def link gdscriptBoolean Boolean
|
||||
hi def link gdscriptOperator Operator
|
||||
hi def link gdscriptRepeat Repeat
|
||||
hi def link gdscriptSetGet Function
|
||||
hi def link gdscriptFunctionName Function
|
||||
hi def link gdscriptBuiltinStruct Typedef
|
||||
hi def link gdscriptComment Comment
|
||||
hi def link gdscriptString String
|
||||
hi def link gdscriptQuotes String
|
||||
hi def link gdscriptTripleQuotes String
|
||||
hi def link gdscriptEscape Special
|
||||
hi def link gdscriptNode PreProc
|
||||
hi def link gdscriptType Type
|
||||
hi def link gdscriptNumber Number
|
||||
hi def link gdscriptBlockStart Special
|
||||
hi def link gdscriptTodo Todo
|
||||
|
||||
|
||||
let b:current_syntax = "gdscript"
|
||||
|
||||
let &cpo = s:keepcpo
|
||||
unlet s:keepcpo
|
||||
57
runtime/syntax/gdshader.vim
Normal file
57
runtime/syntax/gdshader.vim
Normal file
@@ -0,0 +1,57 @@
|
||||
" Vim syntax file for Godot shading language
|
||||
" Language: gdshader
|
||||
" Maintainer: Maxim Kim <habamax@gmail.com>
|
||||
" Filenames: *.gdshader
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
syn keyword gdshaderConditional if else switch case default
|
||||
syn keyword gdshaderRepeat for while do
|
||||
syn keyword gdshaderStatement return discard
|
||||
syn keyword gdshaderBoolean true false
|
||||
|
||||
syn keyword gdshaderKeyword shader_type render_mode
|
||||
syn keyword gdshaderKeyword in out inout
|
||||
syn keyword gdshaderKeyword lowp mediump highp
|
||||
syn keyword gdshaderKeyword uniform varying const
|
||||
syn keyword gdshaderKeyword flat smooth
|
||||
|
||||
syn keyword gdshaderType float vec2 vec3 vec4
|
||||
syn keyword gdshaderType uint uvec2 uvec3 uvec4
|
||||
syn keyword gdshaderType int ivec2 ivec3 ivec4
|
||||
syn keyword gdshaderType void bool
|
||||
syn keyword gdshaderType bvec2 bvec3 bvec4
|
||||
syn keyword gdshaderType mat2 mat3 mat4
|
||||
syn keyword gdshaderType sampler2D isampler2D usampler2D samplerCube
|
||||
|
||||
syn match gdshaderMember "\v<(\.)@<=[a-z_]+\w*>"
|
||||
syn match gdshaderBuiltin "\v<[A-Z_]+[A-Z0-9_]*>"
|
||||
syn match gdshaderFunction "\v<\w*>(\()@="
|
||||
|
||||
syn match gdshaderNumber "\v<\d+(\.)@!>"
|
||||
syn match gdshaderFloat "\v<\d*\.\d+(\.)@!>"
|
||||
syn match gdshaderFloat "\v<\d*\.=\d+(e-=\d+)@="
|
||||
syn match gdshaderExponent "\v(\d*\.=\d+)@<=e-=\d+>"
|
||||
|
||||
syn match gdshaderComment "\v//.*$" contains=@Spell
|
||||
syn region gdshaderComment start="/\*" end="\*/" contains=@Spell
|
||||
syn keyword gdshaderTodo TODO FIXME XXX NOTE BUG HACK OPTIMIZE containedin=gdshaderComment
|
||||
|
||||
hi def link gdshaderConditional Conditional
|
||||
hi def link gdshaderRepeat Repeat
|
||||
hi def link gdshaderStatement Statement
|
||||
hi def link gdshaderBoolean Boolean
|
||||
hi def link gdshaderKeyword Keyword
|
||||
hi def link gdshaderMember Identifier
|
||||
hi def link gdshaderBuiltin Identifier
|
||||
hi def link gdshaderFunction Function
|
||||
hi def link gdshaderType Type
|
||||
hi def link gdshaderNumber Number
|
||||
hi def link gdshaderFloat Float
|
||||
hi def link gdshaderExponent Special
|
||||
hi def link gdshaderComment Comment
|
||||
hi def link gdshaderTodo Todo
|
||||
|
||||
let b:current_syntax = "gdshader"
|
||||
63
runtime/syntax/gitattributes.vim
Normal file
63
runtime/syntax/gitattributes.vim
Normal file
@@ -0,0 +1,63 @@
|
||||
" Vim syntax file
|
||||
" Language: git attributes
|
||||
" Maintainer: ObserverOfTime <chronobserver@disroot.org>
|
||||
" Filenames: .gitattributes, *.git/info/attributes
|
||||
" Last Change: 2022 Sep 09
|
||||
|
||||
if exists('b:current_syntax')
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpoptions
|
||||
set cpoptions&vim
|
||||
|
||||
" Comment
|
||||
syn keyword gitattributesTodo contained TODO FIXME XXX
|
||||
syn match gitattributesComment /^\s*#.*/ contains=gitattributesTodo
|
||||
|
||||
" Pattern
|
||||
syn match gitattributesPattern /^\s*#\@!\(".\+"\|\S\+\)/ skipwhite
|
||||
\ nextgroup=gitattributesAttrPrefixed,gitattributesAttrAssigned skipwhite
|
||||
\ contains=gitattributesGlob,gitattributesRange,gitattributesSeparator
|
||||
syn match gitattributesGlob /\\\@1<![?*]/ contained
|
||||
syn match gitattributesRange /\\\@1<!\[.\{-}\]/ contained
|
||||
syn match gitattributesSeparator '/' contained
|
||||
|
||||
" Attribute
|
||||
syn match gitattributesAttrPrefixed /[!-]\?[A-Za-z0-9_.][-A-Za-z0-9_.]*/
|
||||
\ transparent contained skipwhite
|
||||
\ nextgroup=gitattributesAttrPrefixed,gitattributesAttrAssigned
|
||||
\ contains=gitattributesPrefix,gitattributesName
|
||||
syn match gitattributesAttrAssigned /[A-Za-z0-9_.][-A-Za-z0-9_.]*=\S\+/
|
||||
\ transparent contained skipwhite
|
||||
\ nextgroup=gitattributesAttrPrefixed,gitattributesAttrAssigned
|
||||
\ contains=gitattributesName,gitattributesAssign,gitattributesBoolean,gitattributesString
|
||||
syn match gitattributesName /[A-Za-z0-9_.][-A-Za-z0-9_.]*/
|
||||
\ contained nextgroup=gitattributesAssign
|
||||
syn match gitattributesPrefix /[!-]/ contained
|
||||
\ nextgroup=gitAttributesName
|
||||
syn match gitattributesAssign '=' contained
|
||||
\ nextgroup=gitattributesBoolean,gitattributesString
|
||||
syn match gitattributesString /=\@1<=\S\+/ contained
|
||||
syn keyword gitattributesBoolean true false contained
|
||||
|
||||
" Macro
|
||||
syn match gitattributesMacro /^\s*\[attr\]\s*\S\+/
|
||||
\ nextgroup=gitattributesAttribute skipwhite
|
||||
|
||||
hi def link gitattributesAssign Operator
|
||||
hi def link gitattributesBoolean Boolean
|
||||
hi def link gitattributesComment Comment
|
||||
hi def link gitattributesGlob Special
|
||||
hi def link gitattributesMacro Define
|
||||
hi def link gitattributesName Identifier
|
||||
hi def link gitattributesPrefix SpecialChar
|
||||
hi def link gitattributesRange Special
|
||||
hi def link gitattributesSeparator Delimiter
|
||||
hi def link gitattributesString String
|
||||
hi def link gitattributesTodo Todo
|
||||
|
||||
let b:current_syntax = 'gitattributes'
|
||||
|
||||
let &cpoptions = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
29
runtime/syntax/gitignore.vim
Normal file
29
runtime/syntax/gitignore.vim
Normal file
@@ -0,0 +1,29 @@
|
||||
" Vim syntax file
|
||||
" Language: git ignore
|
||||
" Maintainer: ObserverOfTime <chronobserver@disroot.org>
|
||||
" Filenames: .gitignore, *.git/info/exclude
|
||||
" Last Change: 2022 Sep 10
|
||||
|
||||
if exists('b:current_syntax')
|
||||
finish
|
||||
endif
|
||||
|
||||
" Comment
|
||||
syn keyword gitignoreTodo contained TODO FIXME XXX
|
||||
syn match gitignoreComment /^#.*/ contains=gitignoreTodo
|
||||
|
||||
" Pattern
|
||||
syn match gitignorePattern /^#\@!.*$/ contains=gitignoreNegation,gitignoreGlob,gitignoreRange,gitignoreSeparator
|
||||
syn match gitignoreNegation /^!/ contained
|
||||
syn match gitignoreGlob /\\\@1<![?*]/ contained
|
||||
syn match gitignoreRange /\\\@1<!\[.\{-}\]/ contained
|
||||
syn match gitignoreSeparator '/' contained
|
||||
|
||||
hi def link gitignoreComment Comment
|
||||
hi def link gitignoreGlob Special
|
||||
hi def link gitignoreNegation SpecialChar
|
||||
hi def link gitignoreRange Special
|
||||
hi def link gitignoreSeparator Delimiter
|
||||
hi def link gitignoreTodo Todo
|
||||
|
||||
let b:current_syntax = 'gitignore'
|
||||
@@ -1,11 +1,12 @@
|
||||
" Vim syntax file
|
||||
" Language: Lua 4.0, Lua 5.0, Lua 5.1 and Lua 5.2
|
||||
" Maintainer: Marcus Aurelius Farias <masserahguard-lua 'at' yahoo com>
|
||||
" First Author: Carlos Augusto Teixeira Mendes <cmendes 'at' inf puc-rio br>
|
||||
" Last Change: 2022 Mar 31
|
||||
" Options: lua_version = 4 or 5
|
||||
" lua_subversion = 0 (4.0, 5.0) or 1 (5.1) or 2 (5.2)
|
||||
" default 5.2
|
||||
" Language: Lua 4.0, Lua 5.0, Lua 5.1, Lua 5.2 and Lua 5.3
|
||||
" Maintainer: Marcus Aurelius Farias <masserahguard-lua 'at' yahoo com>
|
||||
" First Author: Carlos Augusto Teixeira Mendes <cmendes 'at' inf puc-rio br>
|
||||
" Last Change: 2022 Sep 07
|
||||
" Options: lua_version = 4 or 5
|
||||
" lua_subversion = 0 (for 4.0 or 5.0)
|
||||
" or 1, 2, 3 (for 5.1, 5.2 or 5.3)
|
||||
" the default is 5.3
|
||||
|
||||
" quit when a syntax file was already loaded
|
||||
if exists("b:current_syntax")
|
||||
@@ -16,70 +17,78 @@ let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
if !exists("lua_version")
|
||||
" Default is lua 5.2
|
||||
" Default is lua 5.3
|
||||
let lua_version = 5
|
||||
let lua_subversion = 2
|
||||
let lua_subversion = 3
|
||||
elseif !exists("lua_subversion")
|
||||
" lua_version exists, but lua_subversion doesn't. So, set it to 0
|
||||
" lua_version exists, but lua_subversion doesn't. In this case set it to 0
|
||||
let lua_subversion = 0
|
||||
endif
|
||||
|
||||
syn case match
|
||||
|
||||
" syncing method
|
||||
syn sync minlines=100
|
||||
syn sync minlines=1000
|
||||
|
||||
" Comments
|
||||
syn keyword luaTodo contained TODO FIXME XXX
|
||||
syn match luaComment "--.*$" contains=luaTodo,@Spell
|
||||
if lua_version == 5 && lua_subversion == 0
|
||||
syn region luaComment matchgroup=luaComment start="--\[\[" end="\]\]" contains=luaTodo,luaInnerComment,@Spell
|
||||
syn region luaInnerComment contained transparent start="\[\[" end="\]\]"
|
||||
elseif lua_version > 5 || (lua_version == 5 && lua_subversion >= 1)
|
||||
" Comments in Lua 5.1: --[[ ... ]], [=[ ... ]=], [===[ ... ]===], etc.
|
||||
syn region luaComment matchgroup=luaComment start="--\[\z(=*\)\[" end="\]\z1\]" contains=luaTodo,@Spell
|
||||
if lua_version >= 5
|
||||
syn keyword luaMetaMethod __add __sub __mul __div __pow __unm __concat
|
||||
syn keyword luaMetaMethod __eq __lt __le
|
||||
syn keyword luaMetaMethod __index __newindex __call
|
||||
syn keyword luaMetaMethod __metatable __mode __gc __tostring
|
||||
endif
|
||||
|
||||
" First line may start with #!
|
||||
syn match luaComment "\%^#!.*"
|
||||
if lua_version > 5 || (lua_version == 5 && lua_subversion >= 1)
|
||||
syn keyword luaMetaMethod __mod __len
|
||||
endif
|
||||
|
||||
if lua_version > 5 || (lua_version == 5 && lua_subversion >= 2)
|
||||
syn keyword luaMetaMethod __pairs
|
||||
endif
|
||||
|
||||
if lua_version > 5 || (lua_version == 5 && lua_subversion >= 3)
|
||||
syn keyword luaMetaMethod __idiv __name
|
||||
syn keyword luaMetaMethod __band __bor __bxor __bnot __shl __shr
|
||||
endif
|
||||
|
||||
if lua_version > 5 || (lua_version == 5 && lua_subversion >= 4)
|
||||
syn keyword luaMetaMethod __close
|
||||
endif
|
||||
|
||||
" catch errors caused by wrong parenthesis and wrong curly brackets or
|
||||
" keywords placed outside their respective blocks
|
||||
syn region luaParen transparent start='(' end=')' contains=ALLBUT,luaParenError,luaTodo,luaSpecial,luaIfThen,luaElseifThen,luaElse,luaThenEnd,luaBlock,luaLoopBlock,luaIn,luaStatement
|
||||
syn region luaTableBlock transparent matchgroup=luaTable start="{" end="}" contains=ALLBUT,luaBraceError,luaTodo,luaSpecial,luaIfThen,luaElseifThen,luaElse,luaThenEnd,luaBlock,luaLoopBlock,luaIn,luaStatement
|
||||
|
||||
syn region luaParen transparent start='(' end=')' contains=TOP,luaParenError
|
||||
syn match luaParenError ")"
|
||||
syn match luaBraceError "}"
|
||||
syn match luaError "}"
|
||||
syn match luaError "\<\%(end\|else\|elseif\|then\|until\|in\)\>"
|
||||
|
||||
" function ... end
|
||||
syn region luaFunctionBlock transparent matchgroup=luaFunction start="\<function\>" end="\<end\>" contains=ALLBUT,luaTodo,luaSpecial,luaElseifThen,luaElse,luaThenEnd,luaIn
|
||||
|
||||
" if ... then
|
||||
syn region luaIfThen transparent matchgroup=luaCond start="\<if\>" end="\<then\>"me=e-4 contains=ALLBUT,luaTodo,luaSpecial,luaElseifThen,luaElse,luaIn nextgroup=luaThenEnd skipwhite skipempty
|
||||
|
||||
" then ... end
|
||||
syn region luaThenEnd contained transparent matchgroup=luaCond start="\<then\>" end="\<end\>" contains=ALLBUT,luaTodo,luaSpecial,luaThenEnd,luaIn
|
||||
|
||||
" elseif ... then
|
||||
syn region luaElseifThen contained transparent matchgroup=luaCond start="\<elseif\>" end="\<then\>" contains=ALLBUT,luaTodo,luaSpecial,luaElseifThen,luaElse,luaThenEnd,luaIn
|
||||
" Function declaration
|
||||
syn region luaFunctionBlock transparent matchgroup=luaFunction start="\<function\>" end="\<end\>" contains=TOP
|
||||
|
||||
" else
|
||||
syn keyword luaElse contained else
|
||||
syn keyword luaCondElse matchgroup=luaCond contained containedin=luaCondEnd else
|
||||
|
||||
" then ... end
|
||||
syn region luaCondEnd contained transparent matchgroup=luaCond start="\<then\>" end="\<end\>" contains=TOP
|
||||
|
||||
" elseif ... then
|
||||
syn region luaCondElseif contained containedin=luaCondEnd transparent matchgroup=luaCond start="\<elseif\>" end="\<then\>" contains=TOP
|
||||
|
||||
" if ... then
|
||||
syn region luaCondStart transparent matchgroup=luaCond start="\<if\>" end="\<then\>"me=e-4 contains=TOP nextgroup=luaCondEnd skipwhite skipempty
|
||||
|
||||
" do ... end
|
||||
syn region luaBlock transparent matchgroup=luaStatement start="\<do\>" end="\<end\>" contains=ALLBUT,luaTodo,luaSpecial,luaElseifThen,luaElse,luaThenEnd,luaIn
|
||||
|
||||
syn region luaBlock transparent matchgroup=luaStatement start="\<do\>" end="\<end\>" contains=TOP
|
||||
" repeat ... until
|
||||
syn region luaLoopBlock transparent matchgroup=luaRepeat start="\<repeat\>" end="\<until\>" contains=ALLBUT,luaTodo,luaSpecial,luaElseifThen,luaElse,luaThenEnd,luaIn
|
||||
syn region luaRepeatBlock transparent matchgroup=luaRepeat start="\<repeat\>" end="\<until\>" contains=TOP
|
||||
|
||||
" while ... do
|
||||
syn region luaLoopBlock transparent matchgroup=luaRepeat start="\<while\>" end="\<do\>"me=e-2 contains=ALLBUT,luaTodo,luaSpecial,luaIfThen,luaElseifThen,luaElse,luaThenEnd,luaIn nextgroup=luaBlock skipwhite skipempty
|
||||
syn region luaWhile transparent matchgroup=luaRepeat start="\<while\>" end="\<do\>"me=e-2 contains=TOP nextgroup=luaBlock skipwhite skipempty
|
||||
|
||||
" for ... do and for ... in ... do
|
||||
syn region luaLoopBlock transparent matchgroup=luaRepeat start="\<for\>" end="\<do\>"me=e-2 contains=ALLBUT,luaTodo,luaSpecial,luaIfThen,luaElseifThen,luaElse,luaThenEnd nextgroup=luaBlock skipwhite skipempty
|
||||
syn region luaFor transparent matchgroup=luaRepeat start="\<for\>" end="\<do\>"me=e-2 contains=TOP nextgroup=luaBlock skipwhite skipempty
|
||||
|
||||
syn keyword luaIn contained in
|
||||
syn keyword luaFor contained containedin=luaFor in
|
||||
|
||||
" other keywords
|
||||
syn keyword luaStatement return local break
|
||||
@@ -87,35 +96,59 @@ if lua_version > 5 || (lua_version == 5 && lua_subversion >= 2)
|
||||
syn keyword luaStatement goto
|
||||
syn match luaLabel "::\I\i*::"
|
||||
endif
|
||||
|
||||
" operators
|
||||
syn keyword luaOperator and or not
|
||||
|
||||
if (lua_version == 5 && lua_subversion >= 3) || lua_version > 5
|
||||
syn match luaSymbolOperator "[#<>=~^&|*/%+-]\|\.\{2,3}"
|
||||
elseif lua_version == 5 && (lua_subversion == 1 || lua_subversion == 2)
|
||||
syn match luaSymbolOperator "[#<>=~^*/%+-]\|\.\{2,3}"
|
||||
else
|
||||
syn match luaSymbolOperator "[<>=~^*/+-]\|\.\{2,3}"
|
||||
endif
|
||||
|
||||
" comments
|
||||
syn keyword luaTodo contained TODO FIXME XXX
|
||||
syn match luaComment "--.*$" contains=luaTodo,@Spell
|
||||
if lua_version == 5 && lua_subversion == 0
|
||||
syn region luaComment matchgroup=luaCommentDelimiter start="--\[\[" end="\]\]" contains=luaTodo,luaInnerComment,@Spell
|
||||
syn region luaInnerComment contained transparent start="\[\[" end="\]\]"
|
||||
elseif lua_version > 5 || (lua_version == 5 && lua_subversion >= 1)
|
||||
" Comments in Lua 5.1: --[[ ... ]], [=[ ... ]=], [===[ ... ]===], etc.
|
||||
syn region luaComment matchgroup=luaCommentDelimiter start="--\[\z(=*\)\[" end="\]\z1\]" contains=luaTodo,@Spell
|
||||
endif
|
||||
|
||||
" first line may start with #!
|
||||
syn match luaComment "\%^#!.*"
|
||||
|
||||
syn keyword luaConstant nil
|
||||
if lua_version > 4
|
||||
syn keyword luaConstant true false
|
||||
endif
|
||||
|
||||
" Strings
|
||||
if lua_version < 5
|
||||
syn match luaSpecial contained "\\[\\abfnrtv\'\"]\|\\[[:digit:]]\{,3}"
|
||||
elseif lua_version == 5
|
||||
" strings
|
||||
syn match luaSpecial contained #\\[\\abfnrtv'"[\]]\|\\[[:digit:]]\{,3}#
|
||||
if lua_version == 5
|
||||
if lua_subversion == 0
|
||||
syn match luaSpecial contained #\\[\\abfnrtv'"[\]]\|\\[[:digit:]]\{,3}#
|
||||
syn region luaString2 matchgroup=luaString start=+\[\[+ end=+\]\]+ contains=luaString2,@Spell
|
||||
syn region luaString2 matchgroup=luaStringDelimiter start=+\[\[+ end=+\]\]+ contains=luaString2,@Spell
|
||||
else
|
||||
if lua_subversion == 1
|
||||
syn match luaSpecial contained #\\[\\abfnrtv'"]\|\\[[:digit:]]\{,3}#
|
||||
else " Lua 5.2
|
||||
syn match luaSpecial contained #\\[\\abfnrtvz'"]\|\\x[[:xdigit:]]\{2}\|\\[[:digit:]]\{,3}#
|
||||
if lua_subversion >= 2
|
||||
syn match luaSpecial contained #\\z\|\\x[[:xdigit:]]\{2}#
|
||||
endif
|
||||
syn region luaString2 matchgroup=luaString start="\[\z(=*\)\[" end="\]\z1\]" contains=@Spell
|
||||
if lua_subversion >= 3
|
||||
syn match luaSpecial contained #\\u{[[:xdigit:]]\+}#
|
||||
endif
|
||||
syn region luaString2 matchgroup=luaStringDelimiter start="\[\z(=*\)\[" end="\]\z1\]" contains=@Spell
|
||||
endif
|
||||
endif
|
||||
syn region luaString start=+'+ end=+'+ skip=+\\\\\|\\'+ contains=luaSpecial,@Spell
|
||||
syn region luaString start=+"+ end=+"+ skip=+\\\\\|\\"+ contains=luaSpecial,@Spell
|
||||
syn region luaString matchgroup=luaStringDelimiter start=+'+ end=+'+ skip=+\\\\\|\\'+ contains=luaSpecial,@Spell
|
||||
syn region luaString matchgroup=luaStringDelimiter start=+"+ end=+"+ skip=+\\\\\|\\"+ contains=luaSpecial,@Spell
|
||||
|
||||
" integer number
|
||||
syn match luaNumber "\<\d\+\>"
|
||||
" floating point number, with dot, optional exponent
|
||||
syn match luaNumber "\<\d\+\.\d*\%([eE][-+]\=\d\+\)\=\>"
|
||||
syn match luaNumber "\<\d\+\.\d*\%([eE][-+]\=\d\+\)\="
|
||||
" floating point number, starting with a dot, optional exponent
|
||||
syn match luaNumber "\.\d\+\%([eE][-+]\=\d\+\)\=\>"
|
||||
" floating point number, without dot, with exponent
|
||||
@@ -130,8 +163,15 @@ if lua_version >= 5
|
||||
endif
|
||||
endif
|
||||
|
||||
" tables
|
||||
syn region luaTableBlock transparent matchgroup=luaTable start="{" end="}" contains=TOP,luaStatement
|
||||
|
||||
" methods
|
||||
syntax match luaFunc ":\@<=\k\+"
|
||||
|
||||
" built-in functions
|
||||
syn keyword luaFunc assert collectgarbage dofile error next
|
||||
syn keyword luaFunc print rawget rawset tonumber tostring type _VERSION
|
||||
syn keyword luaFunc print rawget rawset self tonumber tostring type _VERSION
|
||||
|
||||
if lua_version == 4
|
||||
syn keyword luaFunc _ALERT _ERRORMESSAGE gcinfo
|
||||
@@ -168,30 +208,26 @@ elseif lua_version == 5
|
||||
syn match luaFunc /\<package\.loaded\>/
|
||||
syn match luaFunc /\<package\.loadlib\>/
|
||||
syn match luaFunc /\<package\.path\>/
|
||||
syn match luaFunc /\<package\.preload\>/
|
||||
if lua_subversion == 1
|
||||
syn keyword luaFunc getfenv setfenv
|
||||
syn keyword luaFunc loadstring module unpack
|
||||
syn match luaFunc /\<package\.loaders\>/
|
||||
syn match luaFunc /\<package\.preload\>/
|
||||
syn match luaFunc /\<package\.seeall\>/
|
||||
elseif lua_subversion == 2
|
||||
elseif lua_subversion >= 2
|
||||
syn keyword luaFunc _ENV rawlen
|
||||
syn match luaFunc /\<package\.config\>/
|
||||
syn match luaFunc /\<package\.preload\>/
|
||||
syn match luaFunc /\<package\.searchers\>/
|
||||
syn match luaFunc /\<package\.searchpath\>/
|
||||
syn match luaFunc /\<bit32\.arshift\>/
|
||||
syn match luaFunc /\<bit32\.band\>/
|
||||
syn match luaFunc /\<bit32\.bnot\>/
|
||||
syn match luaFunc /\<bit32\.bor\>/
|
||||
syn match luaFunc /\<bit32\.btest\>/
|
||||
syn match luaFunc /\<bit32\.bxor\>/
|
||||
syn match luaFunc /\<bit32\.extract\>/
|
||||
syn match luaFunc /\<bit32\.lrotate\>/
|
||||
syn match luaFunc /\<bit32\.lshift\>/
|
||||
syn match luaFunc /\<bit32\.replace\>/
|
||||
syn match luaFunc /\<bit32\.rrotate\>/
|
||||
syn match luaFunc /\<bit32\.rshift\>/
|
||||
endif
|
||||
|
||||
if lua_subversion >= 3
|
||||
syn match luaFunc /\<coroutine\.isyieldable\>/
|
||||
endif
|
||||
if lua_subversion >= 4
|
||||
syn keyword luaFunc warn
|
||||
syn match luaFunc /\<coroutine\.close\>/
|
||||
endif
|
||||
syn match luaFunc /\<coroutine\.running\>/
|
||||
endif
|
||||
@@ -200,6 +236,7 @@ elseif lua_version == 5
|
||||
syn match luaFunc /\<coroutine\.status\>/
|
||||
syn match luaFunc /\<coroutine\.wrap\>/
|
||||
syn match luaFunc /\<coroutine\.yield\>/
|
||||
|
||||
syn match luaFunc /\<string\.byte\>/
|
||||
syn match luaFunc /\<string\.char\>/
|
||||
syn match luaFunc /\<string\.dump\>/
|
||||
@@ -218,6 +255,18 @@ elseif lua_version == 5
|
||||
syn match luaFunc /\<string\.match\>/
|
||||
syn match luaFunc /\<string\.reverse\>/
|
||||
endif
|
||||
if lua_subversion >= 3
|
||||
syn match luaFunc /\<string\.pack\>/
|
||||
syn match luaFunc /\<string\.packsize\>/
|
||||
syn match luaFunc /\<string\.unpack\>/
|
||||
syn match luaFunc /\<utf8\.char\>/
|
||||
syn match luaFunc /\<utf8\.charpattern\>/
|
||||
syn match luaFunc /\<utf8\.codes\>/
|
||||
syn match luaFunc /\<utf8\.codepoint\>/
|
||||
syn match luaFunc /\<utf8\.len\>/
|
||||
syn match luaFunc /\<utf8\.offset\>/
|
||||
endif
|
||||
|
||||
if lua_subversion == 0
|
||||
syn match luaFunc /\<table\.getn\>/
|
||||
syn match luaFunc /\<table\.setn\>/
|
||||
@@ -225,19 +274,40 @@ elseif lua_version == 5
|
||||
syn match luaFunc /\<table\.foreachi\>/
|
||||
elseif lua_subversion == 1
|
||||
syn match luaFunc /\<table\.maxn\>/
|
||||
elseif lua_subversion == 2
|
||||
elseif lua_subversion >= 2
|
||||
syn match luaFunc /\<table\.pack\>/
|
||||
syn match luaFunc /\<table\.unpack\>/
|
||||
if lua_subversion >= 3
|
||||
syn match luaFunc /\<table\.move\>/
|
||||
endif
|
||||
endif
|
||||
syn match luaFunc /\<table\.concat\>/
|
||||
syn match luaFunc /\<table\.sort\>/
|
||||
syn match luaFunc /\<table\.insert\>/
|
||||
syn match luaFunc /\<table\.sort\>/
|
||||
syn match luaFunc /\<table\.remove\>/
|
||||
|
||||
if lua_subversion == 2
|
||||
syn match luaFunc /\<bit32\.arshift\>/
|
||||
syn match luaFunc /\<bit32\.band\>/
|
||||
syn match luaFunc /\<bit32\.bnot\>/
|
||||
syn match luaFunc /\<bit32\.bor\>/
|
||||
syn match luaFunc /\<bit32\.btest\>/
|
||||
syn match luaFunc /\<bit32\.bxor\>/
|
||||
syn match luaFunc /\<bit32\.extract\>/
|
||||
syn match luaFunc /\<bit32\.lrotate\>/
|
||||
syn match luaFunc /\<bit32\.lshift\>/
|
||||
syn match luaFunc /\<bit32\.replace\>/
|
||||
syn match luaFunc /\<bit32\.rrotate\>/
|
||||
syn match luaFunc /\<bit32\.rshift\>/
|
||||
endif
|
||||
|
||||
syn match luaFunc /\<math\.abs\>/
|
||||
syn match luaFunc /\<math\.acos\>/
|
||||
syn match luaFunc /\<math\.asin\>/
|
||||
syn match luaFunc /\<math\.atan\>/
|
||||
syn match luaFunc /\<math\.atan2\>/
|
||||
if lua_subversion < 3
|
||||
syn match luaFunc /\<math\.atan2\>/
|
||||
endif
|
||||
syn match luaFunc /\<math\.ceil\>/
|
||||
syn match luaFunc /\<math\.sin\>/
|
||||
syn match luaFunc /\<math\.cos\>/
|
||||
@@ -251,25 +321,36 @@ elseif lua_version == 5
|
||||
if lua_subversion == 0
|
||||
syn match luaFunc /\<math\.mod\>/
|
||||
syn match luaFunc /\<math\.log10\>/
|
||||
else
|
||||
if lua_subversion == 1
|
||||
syn match luaFunc /\<math\.log10\>/
|
||||
endif
|
||||
elseif lua_subversion == 1
|
||||
syn match luaFunc /\<math\.log10\>/
|
||||
endif
|
||||
if lua_subversion >= 1
|
||||
syn match luaFunc /\<math\.huge\>/
|
||||
syn match luaFunc /\<math\.fmod\>/
|
||||
syn match luaFunc /\<math\.modf\>/
|
||||
syn match luaFunc /\<math\.cosh\>/
|
||||
syn match luaFunc /\<math\.sinh\>/
|
||||
syn match luaFunc /\<math\.tanh\>/
|
||||
if lua_subversion == 1 || lua_subversion == 2
|
||||
syn match luaFunc /\<math\.cosh\>/
|
||||
syn match luaFunc /\<math\.sinh\>/
|
||||
syn match luaFunc /\<math\.tanh\>/
|
||||
endif
|
||||
endif
|
||||
syn match luaFunc /\<math\.pow\>/
|
||||
syn match luaFunc /\<math\.rad\>/
|
||||
syn match luaFunc /\<math\.sqrt\>/
|
||||
syn match luaFunc /\<math\.frexp\>/
|
||||
syn match luaFunc /\<math\.ldexp\>/
|
||||
if lua_subversion < 3
|
||||
syn match luaFunc /\<math\.pow\>/
|
||||
syn match luaFunc /\<math\.frexp\>/
|
||||
syn match luaFunc /\<math\.ldexp\>/
|
||||
else
|
||||
syn match luaFunc /\<math\.maxinteger\>/
|
||||
syn match luaFunc /\<math\.mininteger\>/
|
||||
syn match luaFunc /\<math\.tointeger\>/
|
||||
syn match luaFunc /\<math\.type\>/
|
||||
syn match luaFunc /\<math\.ult\>/
|
||||
endif
|
||||
syn match luaFunc /\<math\.random\>/
|
||||
syn match luaFunc /\<math\.randomseed\>/
|
||||
syn match luaFunc /\<math\.pi\>/
|
||||
|
||||
syn match luaFunc /\<io\.close\>/
|
||||
syn match luaFunc /\<io\.flush\>/
|
||||
syn match luaFunc /\<io\.input\>/
|
||||
@@ -284,6 +365,7 @@ elseif lua_version == 5
|
||||
syn match luaFunc /\<io\.tmpfile\>/
|
||||
syn match luaFunc /\<io\.type\>/
|
||||
syn match luaFunc /\<io\.write\>/
|
||||
|
||||
syn match luaFunc /\<os\.clock\>/
|
||||
syn match luaFunc /\<os\.date\>/
|
||||
syn match luaFunc /\<os\.difftime\>/
|
||||
@@ -295,6 +377,7 @@ elseif lua_version == 5
|
||||
syn match luaFunc /\<os\.setlocale\>/
|
||||
syn match luaFunc /\<os\.time\>/
|
||||
syn match luaFunc /\<os\.tmpname\>/
|
||||
|
||||
syn match luaFunc /\<debug\.debug\>/
|
||||
syn match luaFunc /\<debug\.gethook\>/
|
||||
syn match luaFunc /\<debug\.getinfo\>/
|
||||
@@ -307,53 +390,49 @@ elseif lua_version == 5
|
||||
if lua_subversion == 1
|
||||
syn match luaFunc /\<debug\.getfenv\>/
|
||||
syn match luaFunc /\<debug\.setfenv\>/
|
||||
syn match luaFunc /\<debug\.getmetatable\>/
|
||||
syn match luaFunc /\<debug\.setmetatable\>/
|
||||
syn match luaFunc /\<debug\.getregistry\>/
|
||||
elseif lua_subversion == 2
|
||||
syn match luaFunc /\<debug\.getmetatable\>/
|
||||
syn match luaFunc /\<debug\.setmetatable\>/
|
||||
syn match luaFunc /\<debug\.getregistry\>/
|
||||
syn match luaFunc /\<debug\.getuservalue\>/
|
||||
syn match luaFunc /\<debug\.setuservalue\>/
|
||||
syn match luaFunc /\<debug\.upvalueid\>/
|
||||
syn match luaFunc /\<debug\.upvaluejoin\>/
|
||||
endif
|
||||
if lua_subversion >= 3
|
||||
"https://www.lua.org/manual/5.3/manual.html#6.5
|
||||
syn match luaFunc /\<utf8\.char\>/
|
||||
syn match luaFunc /\<utf8\.charpattern\>/
|
||||
syn match luaFunc /\<utf8\.codes\>/
|
||||
syn match luaFunc /\<utf8\.codepoint\>/
|
||||
syn match luaFunc /\<utf8\.len\>/
|
||||
syn match luaFunc /\<utf8\.offset\>/
|
||||
if lua_subversion >= 1
|
||||
syn match luaFunc /\<debug\.getmetatable\>/
|
||||
syn match luaFunc /\<debug\.setmetatable\>/
|
||||
syn match luaFunc /\<debug\.getregistry\>/
|
||||
if lua_subversion >= 2
|
||||
syn match luaFunc /\<debug\.getuservalue\>/
|
||||
syn match luaFunc /\<debug\.setuservalue\>/
|
||||
syn match luaFunc /\<debug\.upvalueid\>/
|
||||
syn match luaFunc /\<debug\.upvaluejoin\>/
|
||||
endif
|
||||
if lua_subversion >= 4
|
||||
syn match luaFunc /\<debug.setcstacklimit\>/
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
" Define the default highlighting.
|
||||
" Only when an item doesn't have highlighting yet
|
||||
|
||||
hi def link luaStatement Statement
|
||||
hi def link luaRepeat Repeat
|
||||
hi def link luaFor Repeat
|
||||
hi def link luaString String
|
||||
hi def link luaString2 String
|
||||
hi def link luaNumber Number
|
||||
hi def link luaOperator Operator
|
||||
hi def link luaIn Operator
|
||||
hi def link luaConstant Constant
|
||||
hi def link luaCond Conditional
|
||||
hi def link luaElse Conditional
|
||||
hi def link luaFunction Function
|
||||
hi def link luaComment Comment
|
||||
hi def link luaTodo Todo
|
||||
hi def link luaTable Structure
|
||||
hi def link luaError Error
|
||||
hi def link luaParenError Error
|
||||
hi def link luaBraceError Error
|
||||
hi def link luaSpecial SpecialChar
|
||||
hi def link luaFunc Identifier
|
||||
hi def link luaLabel Label
|
||||
hi def link luaStatement Statement
|
||||
hi def link luaRepeat Repeat
|
||||
hi def link luaFor Repeat
|
||||
hi def link luaString String
|
||||
hi def link luaString2 String
|
||||
hi def link luaStringDelimiter luaString
|
||||
hi def link luaNumber Number
|
||||
hi def link luaOperator Operator
|
||||
hi def link luaSymbolOperator luaOperator
|
||||
hi def link luaConstant Constant
|
||||
hi def link luaCond Conditional
|
||||
hi def link luaCondElse Conditional
|
||||
hi def link luaFunction Function
|
||||
hi def link luaMetaMethod Function
|
||||
hi def link luaComment Comment
|
||||
hi def link luaCommentDelimiter luaComment
|
||||
hi def link luaTodo Todo
|
||||
hi def link luaTable Structure
|
||||
hi def link luaError Error
|
||||
hi def link luaParenError Error
|
||||
hi def link luaSpecial SpecialChar
|
||||
hi def link luaFunc Identifier
|
||||
hi def link luaLabel Label
|
||||
|
||||
|
||||
let b:current_syntax = "lua"
|
||||
|
||||
43
runtime/syntax/lyrics.vim
Normal file
43
runtime/syntax/lyrics.vim
Normal file
@@ -0,0 +1,43 @@
|
||||
" Vim syntax file
|
||||
" Language: LyRiCs
|
||||
" Maintainer: ObserverOfTime <chronobserver@disroot.org>
|
||||
" Filenames: *.lrc
|
||||
" Last Change: 2022 Sep 18
|
||||
|
||||
if exists('b:current_syntax')
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpoptions
|
||||
set cpoptions&vim
|
||||
|
||||
syn case ignore
|
||||
|
||||
" Errors
|
||||
syn match lrcError /^.\+$/
|
||||
|
||||
" ID tags
|
||||
syn match lrcTag /^\s*\[\a\+:.\+\]\s*$/ contains=lrcTagName,lrcTagValue
|
||||
syn match lrcTagName contained nextgroup=lrcTagValue
|
||||
\ /\[\zs\(al\|ar\|au\|by\|encoding\|la\|id\|length\|offset\|re\|ti\|ve\)\ze:/
|
||||
syn match lrcTagValue /:\zs.\+\ze\]/ contained
|
||||
|
||||
" Lyrics
|
||||
syn match lrcLyricTime /^\s*\[\d\d:\d\d\.\d\d\]/
|
||||
\ contains=lrcNumber nextgroup=lrcLyricLine
|
||||
syn match lrcLyricLine /.*$/ contained contains=lrcWordTime,@Spell
|
||||
syn match lrcWordTime /<\d\d:\d\d\.\d\d>/ contained contains=lrcNumber,@NoSpell
|
||||
syn match lrcNumber /[+-]\=\d\+/ contained
|
||||
|
||||
hi def link lrcLyricTime Label
|
||||
hi def link lrcNumber Number
|
||||
hi def link lrcTag PreProc
|
||||
hi def link lrcTagName Identifier
|
||||
hi def link lrcTagValue String
|
||||
hi def link lrcWordTime Special
|
||||
hi def link lrcError Error
|
||||
|
||||
let b:current_syntax = 'lyrics'
|
||||
|
||||
let &cpoptions = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
656
runtime/syntax/racket.vim
Normal file
656
runtime/syntax/racket.vim
Normal file
@@ -0,0 +1,656 @@
|
||||
" Vim syntax file
|
||||
" Language: Racket
|
||||
" Maintainer: D. Ben Knoble <ben.knoble+github@gmail.com>
|
||||
" Previous Maintainer: Will Langstroth <will@langstroth.com>
|
||||
" URL: https://github.com/benknoble/vim-racket
|
||||
" Description: Contains all of the keywords in #lang racket
|
||||
" Last Change: 2022 Aug 12
|
||||
|
||||
" Initializing:
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
" Highlight unmatched parens
|
||||
syntax match racketError ,[]})],
|
||||
|
||||
if version < 800
|
||||
set iskeyword=33,35-39,42-58,60-90,94,95,97-122,126,_
|
||||
else
|
||||
" syntax iskeyword 33,35-39,42-58,60-90,94,95,97-122,126,_
|
||||
" converted from decimal to char
|
||||
" :s/\d\+/\=submatch(0)->str2nr()->nr2char()/g
|
||||
" but corrected to remove duplicate _, move ^ to end
|
||||
syntax iskeyword @,!,#-',*-:,<-Z,a-z,~,_,^
|
||||
" expanded
|
||||
" syntax iskeyword !,#,$,%,&,',*,+,,,-,.,/,0-9,:,<,=,>,?,@,A-Z,_,a-z,~,^
|
||||
endif
|
||||
|
||||
" Forms in order of appearance at
|
||||
" http://docs.racket-lang.org/reference/index.html
|
||||
"
|
||||
syntax keyword racketSyntax module module* module+ require provide quote
|
||||
syntax keyword racketSyntax #%datum #%expression #%top #%variable-reference #%app
|
||||
syntax keyword racketSyntax lambda case-lambda let let* letrec
|
||||
syntax keyword racketSyntax let-values let*-values let-syntax letrec-syntax
|
||||
syntax keyword racketSyntax let-syntaxes letrec-syntaxes letrec-syntaxes+values
|
||||
syntax keyword racketSyntax local shared
|
||||
syntax keyword racketSyntax if cond and or case define else =>
|
||||
syntax keyword racketSyntax define define-values define-syntax define-syntaxes
|
||||
syntax keyword racketSyntax define-for-syntax define-require-syntax define-provide-syntax
|
||||
syntax keyword racketSyntax define-syntax-rule
|
||||
syntax keyword racketSyntax define-record-type
|
||||
syntax keyword racketSyntax begin begin0
|
||||
syntax keyword racketSyntax begin-for-syntax
|
||||
syntax keyword racketSyntax when unless
|
||||
syntax keyword racketSyntax set! set!-values
|
||||
syntax keyword racketSyntax for for/list for/vector for/hash for/hasheq for/hasheqv
|
||||
syntax keyword racketSyntax for/and for/or for/lists for/first
|
||||
syntax keyword racketSyntax for/last for/fold
|
||||
syntax keyword racketSyntax for* for*/list for*/vector for*/hash for*/hasheq for*/hasheqv
|
||||
syntax keyword racketSyntax for*/and for*/or for*/lists for*/first
|
||||
syntax keyword racketSyntax for*/last for*/fold
|
||||
syntax keyword racketSyntax for/fold/derived for*/fold/derived
|
||||
syntax keyword racketSyntax define-sequence-syntax :do-in do
|
||||
syntax keyword racketSyntax with-continuation-mark
|
||||
syntax keyword racketSyntax quasiquote unquote unquote-splicing quote-syntax
|
||||
syntax keyword racketSyntax #%top-interaction
|
||||
syntax keyword racketSyntax define-package open-package package-begin
|
||||
syntax keyword racketSyntax define* define*-values define*-syntax define*-syntaxes open*-package
|
||||
syntax keyword racketSyntax package? package-exported-identifiers package-original-identifiers
|
||||
syntax keyword racketSyntax block #%stratified-body
|
||||
|
||||
" 8 Contracts
|
||||
" 8.2 Function contracts
|
||||
syntax keyword racketSyntax -> ->* ->i ->d case-> dynamic->* unconstrained-domain->
|
||||
|
||||
" 8.6.1 Nested Contract Boundaries
|
||||
syntax keyword racketSyntax with-contract define/contract define-struct/contract
|
||||
syntax keyword racketSyntax invariant-assertion current-contract-region
|
||||
|
||||
" 9 Pattern Matching
|
||||
syntax keyword racketSyntax match match* match/values define/match
|
||||
syntax keyword racketSyntax match-lambda match-lambda* match-lambda**
|
||||
syntax keyword racketSyntax match-let match-let* match-let-values match-let*-values
|
||||
syntax keyword racketSyntax match-letrec match-define match-define-values
|
||||
|
||||
" 10.2.3 Handling Exceptions
|
||||
syntax keyword racketSyntax with-handlers with-handlers*
|
||||
|
||||
" 10.4 Continuations
|
||||
syntax keyword racketSyntax let/cc let/ec
|
||||
|
||||
" 10.4.1 Additional Control Operators
|
||||
syntax keyword racketSyntax % prompt control prompt-at control-at reset shift
|
||||
syntax keyword racketSyntax reset-at shift-at prompt0 reset0 control0 shift0
|
||||
syntax keyword racketSyntax prompt0-at reset0-at control0-at shift0-at
|
||||
syntax keyword racketSyntax set cupto
|
||||
|
||||
" 11.3.2 Parameters
|
||||
syntax keyword racketSyntax parameterize parameterize*
|
||||
|
||||
" 12.5 Writing
|
||||
syntax keyword racketSyntax write display displayln print
|
||||
syntax keyword racketSyntax fprintf printf eprintf format
|
||||
syntax keyword racketSyntax print-pair-curly-braces print-mpair-curly-braces print-unreadable
|
||||
syntax keyword racketSyntax print-graph print-struct print-box print-vector-length print-hash-table
|
||||
syntax keyword racketSyntax print-boolean-long-form print-reader-abbreviations print-as-expression print-syntax-width
|
||||
syntax keyword racketSyntax current-write-relative-directory port-write-handler port-display-handler
|
||||
syntax keyword racketSyntax port-print-handler global-port-print-handler
|
||||
|
||||
" 13.7 Custodians
|
||||
syntax keyword racketSyntax custodian? custodian-memory-accounting-available? custodian-box?
|
||||
syntax keyword racketSyntax make-custodian custodian-shutdown-all current-custodian custodian-managed-list
|
||||
syntax keyword racketSyntax custodian-require-memory custodian-limit-memory
|
||||
syntax keyword racketSyntax make-custodian-box custodian-box-value
|
||||
|
||||
" lambda sign
|
||||
syntax match racketSyntax /\<[\u03bb]\>/
|
||||
|
||||
|
||||
" Functions ==================================================================
|
||||
|
||||
syntax keyword racketFunc boolean? not equal? eqv? eq? equal?/recur immutable?
|
||||
syntax keyword racketFunc true false symbol=? boolean=? false?
|
||||
syntax keyword racketFunc number? complex? real? rational? integer?
|
||||
syntax keyword racketFunc exact-integer? exact-nonnegative-integer?
|
||||
syntax keyword racketFunc exact-positive-integer? inexact-real?
|
||||
syntax keyword racketFunc fixnum? flonum? zero? positive? negative?
|
||||
syntax keyword racketFunc even? odd? exact? inexact?
|
||||
syntax keyword racketFunc inexact->exact exact->inexact
|
||||
|
||||
" 3.2.2 General Arithmetic
|
||||
|
||||
" 3.2.2.1 Arithmetic
|
||||
syntax keyword racketFunc + - * / quotient remainder quotient/remainder modulo
|
||||
syntax keyword racketFunc add1 sub1 abs max min gcd lcm round exact-round floor
|
||||
syntax keyword racketFunc ceiling truncate numerator denominator rationalize
|
||||
|
||||
" 3.2.2.2 Number Comparison
|
||||
syntax keyword racketFunc = < <= > >=
|
||||
|
||||
" 3.2.2.3 Powers and Roots
|
||||
syntax keyword racketFunc sqrt integer-sqrt integer-sqrt/remainder
|
||||
syntax keyword racketFunc expt exp log
|
||||
|
||||
" 3.2.2.3 Trigonometric Functions
|
||||
syntax keyword racketFunc sin cos tan asin acos atan
|
||||
|
||||
" 3.2.2.4 Complex Numbers
|
||||
syntax keyword racketFunc make-rectangular make-polar
|
||||
syntax keyword racketFunc real-part imag-part magnitude angle
|
||||
syntax keyword racketFunc bitwise-ior bitwise-and bitwise-xor bitwise-not
|
||||
syntax keyword racketFunc bitwise-bit-set? bitwise-bit-field arithmetic-shift
|
||||
syntax keyword racketFunc integer-length
|
||||
|
||||
" 3.2.2.5 Random Numbers
|
||||
syntax keyword racketFunc random random-seed
|
||||
syntax keyword racketFunc make-pseudo-random-generator pseudo-random-generator?
|
||||
syntax keyword racketFunc current-pseudo-random-generator pseudo-random-generator->vector
|
||||
syntax keyword racketFunc vector->pseudo-random-generator vector->pseudo-random-generator!
|
||||
|
||||
" 3.2.2.8 Number-String Conversions
|
||||
syntax keyword racketFunc number->string string->number real->decimal-string
|
||||
syntax keyword racketFunc integer->integer-bytes
|
||||
syntax keyword racketFunc floating-point-bytes->real real->floating-point-bytes
|
||||
syntax keyword racketFunc system-big-endian?
|
||||
|
||||
" 3.2.2.9 Extra Constants and Functions
|
||||
syntax keyword racketFunc pi sqr sgn conjugate sinh cosh tanh order-of-magnitude
|
||||
|
||||
" 3.2.3 Flonums
|
||||
|
||||
" 3.2.3.1 Flonum Arithmetic
|
||||
syntax keyword racketFunc fl+ fl- fl* fl/ flabs
|
||||
syntax keyword racketFunc fl= fl< fl> fl<= fl>= flmin flmax
|
||||
syntax keyword racketFunc flround flfloor flceiling fltruncate
|
||||
syntax keyword racketFunc flsin flcos fltan flasin flacos flatan
|
||||
syntax keyword racketFunc fllog flexp flsqrt
|
||||
syntax keyword racketFunc ->fl fl->exact-integer make-flrectangular
|
||||
syntax keyword racketFunc flreal-part flimag-part
|
||||
|
||||
" 3.2.3.2 Flonum Vectors
|
||||
syntax keyword racketFunc flvector? flvector make-flvector flvector-length
|
||||
syntax keyword racketFunc flvector-ref flvector-set! flvector-copy in-flvector
|
||||
syntax keyword racketFunc shared-flvector make-shared-flvector
|
||||
syntax keyword racketSyntax for/flvector for*/flvector
|
||||
|
||||
" 3.2.4 Fixnums
|
||||
syntax keyword racketFunc fx+ fx- fx* fxquotient fxremainder fxmodulo fxabs
|
||||
syntax keyword racketFunc fxand fxior fxxor fxnot fxlshift fxrshift
|
||||
syntax keyword racketFunc fx= fx< fx> fx<= fx>= fxmin fxmax fx->fl fl->fx
|
||||
|
||||
" 3.2.4.2 Fixnum Vectors
|
||||
syntax keyword racketFunc fxvector? fxvector make-fxvector fxvector-length
|
||||
syntax keyword racketFunc fxvector-ref fxvector-set! fxvector-copy in-fxvector
|
||||
syntax keyword racketFunc for/fxvector for*/fxvector
|
||||
syntax keyword racketFunc shared-fxvector make-shared-fxvector
|
||||
|
||||
" 3.3 Strings
|
||||
syntax keyword racketFunc string? make-string string string->immutable-string string-length
|
||||
syntax keyword racketFunc string-ref string-set! substring string-copy string-copy!
|
||||
syntax keyword racketFunc string-fill! string-append string->list list->string
|
||||
syntax keyword racketFunc build-string string=? string<? string<=? string>? string>=?
|
||||
syntax keyword racketFunc string-ci=? string-ci<? string-ci<=? string-ci>? string-ci>=?
|
||||
syntax keyword racketFunc string-upcase string-downcase string-titlecase string-foldcase
|
||||
syntax keyword racketFunc string-normalize-nfd string-normalize-nfc string-normalize-nfkc
|
||||
syntax keyword racketFunc string-normalize-spaces string-trim
|
||||
syntax keyword racketFunc string-locale=? string-locale>? string-locale<?
|
||||
syntax keyword racketFunc string-locale-ci=? string-locale<=?
|
||||
syntax keyword racketFunc string-locale-upcase string-locale-downcase
|
||||
syntax keyword racketFunc string-append* string-join
|
||||
|
||||
" 3.4 Bytestrings
|
||||
syntax keyword racketFunc bytes? make-bytes bytes bytes->immutable-bytes byte?
|
||||
syntax keyword racketFunc bytes-length bytes-ref bytes-set! subbytes bytes-copy
|
||||
syntax keyword racketFunc bytes-copy! bytes-fill! bytes-append bytes->list list->bytes
|
||||
syntax keyword racketFunc make-shared-bytes shared-bytes
|
||||
syntax keyword racketFunc bytes=? bytes<? bytes>?
|
||||
syntax keyword racketFunc bytes->string/utf-8 bytes->string/latin-1
|
||||
syntax keyword racketFunc string->bytes/locale string->bytes/latin-1 string->bytes/utf-8
|
||||
syntax keyword racketFunc string-utf-8-length bytes-utf8-ref bytes-utf-8-index
|
||||
syntax keyword racketFunc bytes-open-converter bytes-close-converter
|
||||
syntax keyword racketFunc bytes-convert bytes-convert-end bytes-converter?
|
||||
syntax keyword racketFunc locale-string-encoding
|
||||
|
||||
" 3.5 Characters
|
||||
syntax keyword racketFunc char? char->integer integer->char
|
||||
syntax keyword racketFunc char=? char<? char<=? char>? char>=?
|
||||
syntax keyword racketFunc char-ci=? char-ci<? char-ci<=? char-ci>? char-ci>=?
|
||||
syntax keyword racketFunc char-alphabetic? char-lower-case? char-upper-case? char-title-case?
|
||||
syntax keyword racketFunc char-numeric? char-symbolic? char-punctuation? char-graphic?
|
||||
syntax keyword racketFunc char-whitespace? char-blank?
|
||||
syntax keyword racketFunc char-iso-control? char-general-category
|
||||
syntax keyword racketFunc make-known-char-range-list
|
||||
syntax keyword racketFunc char-upcase char-downcase char-titlecase char-foldcase
|
||||
|
||||
" 3.6 Symbols
|
||||
syntax keyword racketFunc symbol? symbol-interned? symbol-unreadable?
|
||||
syntax keyword racketFunc symbol->string string->symbol
|
||||
syntax keyword racketFunc string->uninterned-symbol string->unreadable-symbol
|
||||
syntax keyword racketFunc gensym
|
||||
|
||||
" 3.7 Regular Expressions
|
||||
syntax keyword racketFunc regexp? pregexp? byte-regexp? byte-pregexp?
|
||||
syntax keyword racketFunc regexp pregexp byte-regexp byte-pregexp
|
||||
syntax keyword racketFunc regexp-quote regexp-match regexp-match*
|
||||
syntax keyword racketFunc regexp-try-match regexp-match-positions
|
||||
syntax keyword racketFunc regexp-match-positions* regexp-match?
|
||||
syntax keyword racketFunc regexp-match-peek-positions regexp-match-peek-immediate
|
||||
syntax keyword racketFunc regexp-match-peek regexp-match-peek-positions*
|
||||
syntax keyword racketFunc regexp-match/end regexp-match-positions/end
|
||||
syntax keyword racketFunc regexp-match-peek-positions-immediat/end
|
||||
syntax keyword racketFunc regexp-split regexp-replace regexp-replace*
|
||||
syntax keyword racketFunc regexp-replace-quote
|
||||
|
||||
" 3.8 Keywords
|
||||
syntax keyword racketFunc keyword? keyword->string string->keyword keyword<?
|
||||
|
||||
" 3.9 Pairs and Lists
|
||||
syntax keyword racketFunc pair? null? cons car cdr null
|
||||
syntax keyword racketFunc list? list list* build-list length
|
||||
syntax keyword racketFunc list-ref list-tail append reverse map andmap ormap
|
||||
syntax keyword racketFunc for-each foldl foldr filter remove remq remv remove*
|
||||
syntax keyword racketFunc remq* remv* sort member memv memq memf
|
||||
syntax keyword racketFunc findf assoc assv assq assf
|
||||
syntax keyword racketFunc caar cadr cdar cddr caaar caadr cadar caddr cdaar
|
||||
syntax keyword racketFunc cddar cdddr caaaar caaadr caadar caaddr cadadr caddar
|
||||
syntax keyword racketFunc cadddr cdaaar cdaadr cdadar cddaar cdddar cddddr
|
||||
|
||||
" 3.9.7 Additional List Functions and Synonyms
|
||||
" (require racket/list)
|
||||
syntax keyword racketFunc empty cons? empty? first rest
|
||||
syntax keyword racketFunc second third fourth fifth sixth seventh eighth ninth tenth
|
||||
syntax keyword racketFunc last last-pair make-list take drop split-at
|
||||
syntax keyword racketFunc take-right drop-right split-at-right add-between
|
||||
syntax keyword racketFunc append* flatten remove-duplicates filter-map
|
||||
syntax keyword racketFunc count partition append-map filter-not shuffle
|
||||
syntax keyword racketFunc argmin argmax make-reader-graph placeholder? make-placeholder
|
||||
syntax keyword racketFunc placeholder-set! placeholder-get hash-placeholder?
|
||||
syntax keyword racketFunc make-hash-placeholder make-hasheq-placeholder
|
||||
syntax keyword racketFunc make-hasheqv-placeholder make-immutable-hasheqv
|
||||
|
||||
" 3.10 Mutable Pairs and Lists
|
||||
syntax keyword racketFunc mpair? mcons mcar mcdr
|
||||
|
||||
" 3.11 Vectors
|
||||
syntax keyword racketFunc vector? make-vector vector vector-immutable vector-length
|
||||
syntax keyword racketFunc vector-ref vector-set! vector->list list->vector
|
||||
syntax keyword racketFunc vector->immutable-vector vector-fill! vector-copy!
|
||||
syntax keyword racketFunc vector->values build-vector vector-set*! vector-map
|
||||
syntax keyword racketFunc vector-map! vector-append vector-take vector-take-right
|
||||
syntax keyword racketFunc vector-drop vector-drop-right vector-split-at
|
||||
syntax keyword racketFunc vector-split-at-right vector-copy vector-filter
|
||||
syntax keyword racketFunc vector-filter-not vector-count vector-argmin vector-argmax
|
||||
syntax keyword racketFunc vector-member vector-memv vector-memq
|
||||
|
||||
" 3.12 Boxes
|
||||
syntax keyword racketFunc box? box box-immutable unbox set-box!
|
||||
|
||||
" 3.13 Hash Tables
|
||||
syntax keyword racketFunc hash? hash-equal? hash-eqv? hash-eq? hash-weak? hash
|
||||
syntax keyword racketFunc hasheq hasheqv
|
||||
syntax keyword racketFunc make-hash make-hasheqv make-hasheq make-weak-hash make-weak-hasheqv
|
||||
syntax keyword racketFunc make-weak-hasheq make-immutable-hash make-immutable-hasheqv
|
||||
syntax keyword racketFunc make-immutable-hasheq
|
||||
syntax keyword racketFunc hash-set! hash-set*! hash-set hash-set* hash-ref hash-ref!
|
||||
syntax keyword racketFunc hash-has-key? hash-update! hash-update hash-remove!
|
||||
syntax keyword racketFunc hash-remove hash-map hash-keys hash-values
|
||||
syntax keyword racketFunc hash->list hash-for-each hash-count
|
||||
syntax keyword racketFunc hash-iterate-first hash-iterate-next hash-iterate-key
|
||||
syntax keyword racketFunc hash-iterate-value hash-copy eq-hash-code eqv-hash-code
|
||||
syntax keyword racketFunc equal-hash-code equal-secondary-hash-code
|
||||
|
||||
" 3.15 Dictionaries
|
||||
syntax keyword racketFunc dict? dict-mutable? dict-can-remove-keys? dict-can-functional-set?
|
||||
syntax keyword racketFunc dict-set! dict-set*! dict-set dict-set* dict-has-key? dict-ref
|
||||
syntax keyword racketFunc dict-ref! dict-update! dict-update dict-remove! dict-remove
|
||||
syntax keyword racketFunc dict-map dict-for-each dict-count dict-iterate-first dict-iterate-next
|
||||
syntax keyword racketFunc dict-iterate-key dict-iterate-value in-dict in-dict-keys
|
||||
syntax keyword racketFunc in-dict-values in-dict-pairs dict-keys dict-values
|
||||
syntax keyword racketFunc dict->list prop: dict prop: dict/contract dict-key-contract
|
||||
syntax keyword racketFunc dict-value-contract dict-iter-contract make-custom-hash
|
||||
syntax keyword racketFunc make-immutable-custom-hash make-weak-custom-hash
|
||||
|
||||
" 3.16 Sets
|
||||
syntax keyword racketFunc set seteqv seteq set-empty? set-count set-member?
|
||||
syntax keyword racketFunc set-add set-remove set-union set-intersect set-subtract
|
||||
syntax keyword racketFunc set-symmetric-difference set=? subset? proper-subset?
|
||||
syntax keyword racketFunc set-map set-for-each set? set-equal? set-eqv? set-eq?
|
||||
syntax keyword racketFunc set/c in-set for/set for/seteq for/seteqv for*/set
|
||||
syntax keyword racketFunc for*/seteq for*/seteqv list->set list->seteq
|
||||
syntax keyword racketFunc list->seteqv set->list
|
||||
|
||||
" 3.17 Procedures
|
||||
syntax keyword racketFunc procedure? apply compose compose1 procedure-rename procedure->method
|
||||
syntax keyword racketFunc keyword-apply procedure-arity procedure-arity?
|
||||
syntax keyword racketFunc procedure-arity-includes? procedure-reduce-arity
|
||||
syntax keyword racketFunc procedure-keywords make-keyword-procedure
|
||||
syntax keyword racketFunc procedure-reduce-keyword-arity procedure-struct-type?
|
||||
syntax keyword racketFunc procedure-extract-target checked-procedure-check-and-extract
|
||||
syntax keyword racketFunc primitive? primitive-closure? primitive-result-arity
|
||||
syntax keyword racketFunc identity const thunk thunk* negate curry curryr
|
||||
|
||||
" 3.18 Void
|
||||
syntax keyword racketFunc void void?
|
||||
|
||||
" 4.1 Defining Structure Types
|
||||
syntax keyword racketFunc struct struct-field-index define-struct define-struct define-struct/derived
|
||||
|
||||
" 4.2 Creating Structure Types
|
||||
syntax keyword racketFunc make-struct-type make-struct-field-accessor make-struct-field-mutator
|
||||
|
||||
" 4.3 Structure Type Properties
|
||||
syntax keyword racketFunc make-struct-type-property struct-type-property? struct-type-property-accessor-procedure?
|
||||
|
||||
" 4.4 Copying and Updating Structures
|
||||
syntax keyword racketFunc struct-copy
|
||||
|
||||
" 4.5 Structure Utilities
|
||||
syntax keyword racketFunc struct->vector struct? struct-type?
|
||||
syntax keyword racketFunc struct-constructor-procedure? struct-predicate-procedure? struct-accessor-procedure? struct-mutator-procedure?
|
||||
syntax keyword racketFunc prefab-struct-key make-prefab-struct prefab-key->struct-type
|
||||
|
||||
" 4.6 Structure Type Transformer Binding
|
||||
syntax keyword racketFunc struct-info? check-struct-info? make-struct-info extract-struct-info
|
||||
syntax keyword racketFunc struct-auto-info? struct-auto-info-lists
|
||||
|
||||
" 5.1 Creating Interfaces
|
||||
syntax keyword racketFunc interface interface*
|
||||
|
||||
" 5.2 Creating Classes
|
||||
syntax keyword racketFunc class* class inspect
|
||||
syntax keyword racketFunc init init-field field inherit field init-rest
|
||||
syntax keyword racketFunc public public* pubment pubment* public-final public-final*
|
||||
syntax keyword racketFunc override override* overment overment* override-final override-final*
|
||||
syntax keyword racketFunc augride augride* augment augment* augment-final augment-final*
|
||||
syntax keyword racketFunc abstract inherit inherit/super inherit/inner
|
||||
syntax keyword racketFunc rename-inner rename-super
|
||||
syntax keyword racketFunc define/public define/pubment define/public-final
|
||||
syntax keyword racketFunc define/override define/overment define/override-final
|
||||
syntax keyword racketFunc define/augride define/augment define/augment-final
|
||||
syntax keyword racketFunc private* define/private
|
||||
|
||||
" 5.2.3 Methods
|
||||
syntax keyword racketFunc class/derived
|
||||
syntax keyword racketFunc super inner define-local-member-name define-member-name
|
||||
syntax keyword racketFunc member-name-key generate-member-key member-name-key?
|
||||
syntax keyword racketFunc member-name-key=? member-name-key-hash-code
|
||||
|
||||
" 5.3 Creating Objects
|
||||
syntax keyword racketFunc make-object instantiate new
|
||||
syntax keyword racketFunc super-make-object super-instantiate super-new
|
||||
|
||||
"5.4 Field and Method Access
|
||||
syntax keyword racketFunc method-id send send/apply send/keyword-apply dynamic-send send*
|
||||
syntax keyword racketFunc get-field set-field! field-bound?
|
||||
syntax keyword racketFunc class-field-accessor class-field-mutator
|
||||
|
||||
"5.4.3 Generics
|
||||
syntax keyword racketFunc generic send-generic make-generic
|
||||
|
||||
" 8.1 Data-strucure contracts
|
||||
syntax keyword racketFunc flat-contract-with-explanation flat-named-contract
|
||||
" TODO where do any/c and none/c `value`s go?
|
||||
syntax keyword racketFunc or/c first-or/c and/c not/c =/c </c >/c <=/c >=/c
|
||||
syntax keyword racketFunc between/c real-in integer-in char-in natural-number/c
|
||||
syntax keyword racketFunc string-len/c printable/c one-of/c symbols vectorof
|
||||
syntax keyword racketFunc vector-immutableof vector/c box/c box-immutable/c listof
|
||||
syntax keyword racketFunc non-empty-listof list*of cons/c cons/dc list/c *list/c
|
||||
syntax keyword racketFunc syntax/c struct/c struct/dc parameter/c
|
||||
syntax keyword racketFunc procedure-arity-includes/c hash/c hash/dc channel/c
|
||||
syntax keyword racketFunc prompt-tag/c continuation-mark-key/c evt/c promise/c
|
||||
syntax keyword racketFunc flat-contract flat-contract-predicate suggest/c
|
||||
|
||||
" 9.1 Multiple Values
|
||||
syntax keyword racketFunc values call-with-values
|
||||
|
||||
" 10.2.2 Raising Exceptions
|
||||
syntax keyword racketFunc raise error raise-user-error raise-argument-error
|
||||
syntax keyword racketFunc raise-result-error raise-argument-error raise-range-error
|
||||
syntax keyword racketFunc raise-type-error raise-mismatch-error raise-arity-error
|
||||
syntax keyword racketFunc raise-syntax-error
|
||||
|
||||
" 10.2.3 Handling Exceptions
|
||||
syntax keyword racketFunc call-with-exception-handler uncaught-exception-handler
|
||||
|
||||
" 10.2.4 Configuring Default Handlers
|
||||
syntax keyword racketFunc error-escape-handler error-display-handler error-print-width
|
||||
syntax keyword racketFunc error-print-context-length error-values->string-handler
|
||||
syntax keyword racketFunc error-print-source-location
|
||||
|
||||
" 10.2.5 Built-in Exception Types
|
||||
syntax keyword racketFunc exn exn:fail exn:fail:contract exn:fail:contract:arity
|
||||
syntax keyword racketFunc exn:fail:contract:divide-by-zero exn:fail:contract:non-fixnum-result
|
||||
syntax keyword racketFunc exn:fail:contract:continuation exn:fail:contract:variable
|
||||
syntax keyword racketFunc exn:fail:syntax exn:fail:syntax:unbound exn:fail:syntax:missing-module
|
||||
syntax keyword racketFunc exn:fail:read exn:fail:read:eof exn:fail:read:non-char
|
||||
syntax keyword racketFunc exn:fail:filesystem exn:fail:filesystem:exists
|
||||
syntax keyword racketFunc exn:fail:filesystem:version exn:fail:filesystem:errno
|
||||
syntax keyword racketFunc exn:fail:filesystem:missing-module
|
||||
syntax keyword racketFunc exn:fail:network exn:fail:network:errno exn:fail:out-of-memory
|
||||
syntax keyword racketFunc exn:fail:unsupported exn:fail:user
|
||||
syntax keyword racketFunc exn:break exn:break:hang-up exn:break:terminate
|
||||
|
||||
" 10.3 Delayed Evaluation
|
||||
syntax keyword racketFunc promise? delay lazy force promise-forced? promise-running?
|
||||
|
||||
" 10.3.1 Additional Promise Kinds
|
||||
syntax keyword racketFunc delay/name promise/name delay/strict delay/sync delay/thread delay/idle
|
||||
|
||||
" 10.4 Continuations
|
||||
syntax keyword racketFunc call-with-continuation-prompt abort-current-continuation make-continuation-prompt-tag
|
||||
syntax keyword racketFunc default-continuation-prompt-tag call-with-current-continuation call/cc
|
||||
syntax keyword racketFunc call-with-composable-continuation call-with-escape-continuation call/ec
|
||||
syntax keyword racketFunc call-with-continuation-barrier continuation-prompt-available
|
||||
syntax keyword racketFunc continuation? continuation-prompt-tag dynamic-wind
|
||||
|
||||
" 10.4.1 Additional Control Operators
|
||||
syntax keyword racketFunc call/prompt abort/cc call/comp abort fcontrol spawn splitter new-prompt
|
||||
|
||||
" 11.3.2 Parameters
|
||||
syntax keyword racketFunc make-parameter make-derived-parameter parameter?
|
||||
syntax keyword racketFunc parameter-procedure=? current-parameterization
|
||||
syntax keyword racketFunc call-with-parameterization parameterization?
|
||||
|
||||
" 14.1.1 Manipulating Paths
|
||||
syntax keyword racketFunc path? path-string? path-for-some-system? string->path path->string path->bytes
|
||||
syntax keyword racketFunc string->path-element bytes->path-element path-element->string path-element->bytes
|
||||
syntax keyword racketFunc path-convention-type system-path-convention-type build-type
|
||||
syntax keyword racketFunc build-type/convention-type
|
||||
syntax keyword racketFunc absolute-path? relative-path? complete-path?
|
||||
syntax keyword racketFunc path->complete-path path->directory-path
|
||||
syntax keyword racketFunc resolve-path cleanse-path expand-user-path simplify-path normal-case-path split-path
|
||||
syntax keyword racketFunc path-replace-suffix path-add-suffix
|
||||
|
||||
" 14.1.2 More Path Utilities
|
||||
syntax keyword racketFunc explode-path file-name-from-path filename-extension find-relative-path normalize-path
|
||||
syntax keyword racketFunc path-element? path-only simple-form-path some-simple-path->string string->some-system-path
|
||||
|
||||
" 15.6 Time
|
||||
syntax keyword racketFunc current-seconds current-inexact-milliseconds
|
||||
syntax keyword racketFunc seconds->date current-milliseconds
|
||||
|
||||
|
||||
syntax match racketDelimiter !\<\.\>!
|
||||
|
||||
syntax cluster racketTop contains=racketSyntax,racketFunc,racketDelimiter
|
||||
|
||||
syntax match racketConstant ,\<\*\k\+\*\>,
|
||||
syntax match racketConstant ,\<<\k\+>\>,
|
||||
|
||||
" Non-quoted lists, and strings
|
||||
syntax region racketStruc matchgroup=racketParen start="("rs=s+1 end=")"re=e-1 contains=@racketTop
|
||||
syntax region racketStruc matchgroup=racketParen start="#("rs=s+2 end=")"re=e-1 contains=@racketTop
|
||||
syntax region racketStruc matchgroup=racketParen start="{"rs=s+1 end="}"re=e-1 contains=@racketTop
|
||||
syntax region racketStruc matchgroup=racketParen start="#{"rs=s+2 end="}"re=e-1 contains=@racketTop
|
||||
syntax region racketStruc matchgroup=racketParen start="\["rs=s+1 end="\]"re=e-1 contains=@racketTop
|
||||
syntax region racketStruc matchgroup=racketParen start="#\["rs=s+2 end="\]"re=e-1 contains=@racketTop
|
||||
|
||||
for lit in ['hash', 'hasheq', 'hasheqv']
|
||||
execute printf('syntax match racketLit "\<%s\>" nextgroup=@racketParen containedin=ALLBUT,.*String,.*Comment', '#'.lit)
|
||||
endfor
|
||||
|
||||
for lit in ['rx', 'rx#', 'px', 'px#']
|
||||
execute printf('syntax match racketRe "\<%s\>" nextgroup=@racketString containedin=ALLBUT,.*String,.*Comment,', '#'.lit)
|
||||
endfor
|
||||
|
||||
unlet lit
|
||||
|
||||
" Simple literals
|
||||
|
||||
" Strings
|
||||
|
||||
syntax match racketStringEscapeError "\\." contained display
|
||||
|
||||
syntax match racketStringEscape "\\[abtnvfre'"\\]" contained display
|
||||
syntax match racketStringEscape "\\$" contained display
|
||||
syntax match racketStringEscape "\\\o\{1,3}\|\\x\x\{1,2}" contained display
|
||||
|
||||
syntax match racketUStringEscape "\\u\x\{1,4}\|\\U\x\{1,8}" contained display
|
||||
syntax match racketUStringEscape "\\u\x\{4}\\u\x\{4}" contained display
|
||||
|
||||
syntax region racketString start=/\%(\\\)\@<!"/ skip=/\\[\\"]/ end=/"/ contains=racketStringEscapeError,racketStringEscape,racketUStringEscape
|
||||
syntax region racketString start=/#"/ skip=/\\[\\"]/ end=/"/ contains=racketStringEscapeError,racketStringEscape
|
||||
|
||||
if exists("racket_no_string_fold")
|
||||
syn region racketString start=/#<<\z(.*\)$/ end=/^\z1$/
|
||||
else
|
||||
syn region racketString start=/#<<\z(.*\)$/ end=/^\z1$/ fold
|
||||
endif
|
||||
|
||||
|
||||
syntax cluster racketTop add=racketError,racketConstant,racketStruc,racketString
|
||||
|
||||
" Numbers
|
||||
|
||||
" anything which doesn't match the below rules, but starts with a #d, #b, #o,
|
||||
" #x, #i, or #e, is an error
|
||||
syntax match racketNumberError "\<#[xdobie]\k*"
|
||||
|
||||
syntax match racketContainedNumberError "\<#o\k*[^-+0-7delfinas#./@]\>"
|
||||
syntax match racketContainedNumberError "\<#b\k*[^-+01delfinas#./@]\>"
|
||||
syntax match racketContainedNumberError "\<#[ei]#[ei]"
|
||||
syntax match racketContainedNumberError "\<#[xdob]#[xdob]"
|
||||
|
||||
" start with the simpler sorts
|
||||
syntax match racketNumber "\<\(#[dobie]\)\{0,2}[-+]\?\(\d\+\|\d\+#*\.\|\d*\.\d\+\)#*\(/\d\+#*\)\?\([sdlef][-+]\?\d\+#*\)\?\>" contains=racketContainedNumberError
|
||||
syntax match racketNumber "\<\(#[dobie]\)\{0,2}[-+]\?\d\+/\d\+\>" contains=racketContainedNumberError
|
||||
syntax match racketNumber "\<\(#[dobie]\)\{0,2}[-+]\?\d\+/\d\+[-+]\d\+\(/\d\+\)\?i\>" contains=racketContainedNumberError
|
||||
|
||||
" different possible ways of expressing complex values
|
||||
syntax match racketNumber "\<\(#[dobie]\)\{0,2}[-+]\(\d\+\|\d\+#*\.\|\d*\.\d\+\)#*\(/\d\+#*\)\?\([sdlef][-+]\?\d\+#*\)\?i\>" contains=racketContainedNumberError
|
||||
syntax match racketNumber "\<\(#[dobie]\)\{0,2}[-+]\?\(\d\+\|\d\+#*\.\|\d*\.\d\+\)#*\(/\d\+#*\)\?\([sdlef][-+]\?\d\+#*\)\?[-+]\(\d\+\|\d\+#*\.\|\d*\.\d\+\)#*\(/\d\+#*\)\?\([sdlef][-+]\?\d\+#*\)\?i\>" contains=racketContainedNumberError
|
||||
syntax match racketNumber "\<\(#[dobie]\)\{0,2}[-+]\(inf\|nan\)\.[0f][-+]\(\d\+\|\d\+#*\.\|\d*\.\d\+\)#*\(/\d\+#*\)\?\([sdlef][-+]\?\d\+#*\)\?i\>" contains=racketContainedNumberError
|
||||
syntax match racketNumber "\<\(#[dobie]\)\{0,2}[-+]\?\(\d\+\|\d\+#*\.\|\d*\.\d\+\)#*\(/\d\+#*\)\?\([sdlef][-+]\?\d\+#*\)\?[-+]\(inf\|nan\)\.[0f]i\>" contains=racketContainedNumberError
|
||||
syntax match racketNumber "\<\(#[dobie]\)\{0,2}[-+]\?\(\d\+\|\d\+#*\.\|\d*\.\d\+\)#*\(/\d\+#*\)\?\([sdlef][-+]\?\d\+#*\)\?@[-+]\?\(\d\+\|\d\+#*\.\|\d*\.\d\+\)#*\(/\d\+#*\)\?\([sdlef][-+]\?\d\+#*\)\?\>" contains=racketContainedNumberError
|
||||
syntax match racketNumber "\<\(#[dobie]\)\{0,2}[-+]\(inf\|nan\)\.[0f]@[-+]\?\(\d\+\|\d\+#*\.\|\d*\.\d\+\)#*\(/\d\+#*\)\?\([sdlef][-+]\?\d\+#*\)\?\>" contains=racketContainedNumberError
|
||||
syntax match racketNumber "\<\(#[dobie]\)\{0,2}[-+]\?\(\d\+\|\d\+#*\.\|\d*\.\d\+\)#*\(/\d\+#*\)\?\([sdlef][-+]\?\d\+#*\)\?@[-+]\(inf\|nan\)\.[0f]\>" contains=racketContainedNumberError
|
||||
|
||||
" hex versions of the above (separate because of the different possible exponent markers)
|
||||
syntax match racketNumber "\<\(#x\|#[ei]#x\|#x#[ei]\)[-+]\?\(\x\+\|\x\+#*\.\|\x*\.\x\+\)#*\(/\x\+#*\)\?\([sl][-+]\?\x\+#*\)\?\>"
|
||||
syntax match racketNumber "\<\(#x\|#[ei]#x\|#x#[ei]\)[-+]\?\x\+/\x\+\>"
|
||||
syntax match racketNumber "\<\(#x\|#[ei]#x\|#x#[ei]\)[-+]\?\x\+/\x\+[-+]\x\+\(/\x\+\)\?i\>"
|
||||
|
||||
syntax match racketNumber "\<\(#x\|#[ei]#x\|#x#[ei]\)[-+]\(\x\+\|\x\+#*\.\|\x*\.\x\+\)#*\(/\x\+#*\)\?\([sl][-+]\?\x\+#*\)\?i\>"
|
||||
syntax match racketNumber "\<\(#x\|#[ei]#x\|#x#[ei]\)[-+]\?\(\x\+\|\x\+#*\.\|\x*\.\x\+\)#*\(/\x\+#*\)\?\([sl][-+]\?\x\+#*\)\?[-+]\(\x\+\|\x\+#*\.\|\x*\.\x\+\)#*\(/\x\+#*\)\?\([sl][-+]\?\x\+#*\)\?i\>"
|
||||
syntax match racketNumber "\<\(#x\|#[ei]#x\|#x#[ei]\)[-+]\(inf\|nan\)\.[0f][-+]\(\x\+\|\x\+#*\.\|\x*\.\x\+\)#*\(/\x\+#*\)\?\([sl][-+]\?\x\+#*\)\?i\>"
|
||||
syntax match racketNumber "\<\(#x\|#[ei]#x\|#x#[ei]\)[-+]\?\(\x\+\|\x\+#*\.\|\x*\.\x\+\)#*\(/\x\+#*\)\?\([sl][-+]\?\x\+#*\)\?[-+]\(inf\|nan\)\.[0f]i\>"
|
||||
syntax match racketNumber "\<\(#x\|#[ei]#x\|#x#[ei]\)[-+]\?\(\x\+\|\x\+#*\.\|\x*\.\x\+\)#*\(/\x\+#*\)\?\([sl][-+]\?\x\+#*\)\?@[-+]\?\(\x\+\|\x\+#*\.\|\x*\.\x\+\)#*\(/\x\+#*\)\?\([sl][-+]\?\x\+#*\)\?\>"
|
||||
syntax match racketNumber "\<\(#x\|#[ei]#x\|#x#[ei]\)[-+]\(inf\|nan\)\.[0f]@[-+]\?\(\x\+\|\x\+#*\.\|\x*\.\x\+\)#*\(/\x\+#*\)\?\([sl][-+]\?\x\+#*\)\?\>"
|
||||
syntax match racketNumber "\<\(#x\|#[ei]#x\|#x#[ei]\)[-+]\?\(\x\+\|\x\+#*\.\|\x*\.\x\+\)#*\(/\x\+#*\)\?\([sl][-+]\?\x\+#*\)\?@[-+]\(inf\|nan\)\.[0f]\>"
|
||||
|
||||
" these work for any radix
|
||||
syntax match racketNumber "\<\(#[xdobie]\)\{0,2}[-+]\(inf\|nan\)\.[0f]i\?\>" contains=racketContainedNumberError
|
||||
syntax match racketNumber "\<\(#[xdobie]\)\{0,2}[-+]\(inf\|nan\)\.[0f][-+]\(inf\|nan\)\.[0f]i\>" contains=racketContainedNumberError
|
||||
syntax match racketNumber "\<\(#[xdobie]\)\{0,2}[-+]\(inf\|nan\)\.[0f]@[-+]\(inf\|nan\)\.[0f]\>" contains=racketContainedNumberError
|
||||
|
||||
syntax keyword racketBoolean #t #f #true #false #T #F
|
||||
|
||||
syntax match racketError "\<#\\\k*\>"
|
||||
|
||||
syntax match racketChar "\<#\\.\w\@!"
|
||||
syntax match racketChar "\<#\\space\>"
|
||||
syntax match racketChar "\<#\\newline\>"
|
||||
syntax match racketChar "\<#\\return\>"
|
||||
syntax match racketChar "\<#\\null\?\>"
|
||||
syntax match racketChar "\<#\\backspace\>"
|
||||
syntax match racketChar "\<#\\tab\>"
|
||||
syntax match racketChar "\<#\\linefeed\>"
|
||||
syntax match racketChar "\<#\\vtab\>"
|
||||
syntax match racketChar "\<#\\page\>"
|
||||
syntax match racketChar "\<#\\rubout\>"
|
||||
syntax match racketChar "\<#\\\o\{1,3}\>"
|
||||
syntax match racketChar "\<#\\x\x\{1,2}\>"
|
||||
syntax match racketChar "\<#\\u\x\{1,6}\>"
|
||||
|
||||
syntax cluster racketTop add=racketNumber,racketBoolean,racketChar
|
||||
|
||||
" Command-line parsing
|
||||
syntax keyword racketExtFunc command-line current-command-line-arguments once-any help-labels multi once-each
|
||||
|
||||
syntax match racketSyntax "#lang "
|
||||
syntax match racketExtSyntax "#:\k\+"
|
||||
|
||||
syntax cluster racketTop add=racketExtFunc,racketExtSyntax
|
||||
|
||||
" syntax quoting, unquoting and quasiquotation
|
||||
syntax match racketQuote "#\?['`]"
|
||||
|
||||
syntax match racketUnquote "#,"
|
||||
syntax match racketUnquote "#,@"
|
||||
syntax match racketUnquote ","
|
||||
syntax match racketUnquote ",@"
|
||||
|
||||
" Comments
|
||||
syntax match racketSharpBang "\%^#![ /].*" display
|
||||
syntax match racketComment /;.*$/ contains=racketTodo,racketNote,@Spell
|
||||
syntax region racketMultilineComment start=/#|/ end=/|#/ contains=racketMultilineComment,racketTodo,racketNote,@Spell
|
||||
syntax match racketFormComment "#;" nextgroup=@racketTop
|
||||
|
||||
syntax match racketTodo /\C\<\(FIXME\|TODO\|XXX\)\ze:\?\>/ contained
|
||||
syntax match racketNote /\CNOTE\ze:\?/ contained
|
||||
|
||||
syntax cluster racketTop add=racketQuote,racketUnquote,racketComment,racketMultilineComment,racketFormComment
|
||||
|
||||
" Synchronization and the wrapping up...
|
||||
syntax sync match matchPlace grouphere NONE "^[^ \t]"
|
||||
" ... i.e. synchronize on a line that starts at the left margin
|
||||
|
||||
" Define the default highlighting.
|
||||
highlight default link racketSyntax Statement
|
||||
highlight default link racketFunc Function
|
||||
|
||||
highlight default link racketString String
|
||||
highlight default link racketStringEscape Special
|
||||
highlight default link racketUStringEscape Special
|
||||
highlight default link racketStringEscapeError Error
|
||||
highlight default link racketChar Character
|
||||
highlight default link racketBoolean Boolean
|
||||
|
||||
highlight default link racketNumber Number
|
||||
highlight default link racketNumberError Error
|
||||
highlight default link racketContainedNumberError Error
|
||||
|
||||
highlight default link racketQuote SpecialChar
|
||||
highlight default link racketUnquote SpecialChar
|
||||
|
||||
highlight default link racketDelimiter Delimiter
|
||||
highlight default link racketParen Delimiter
|
||||
highlight default link racketConstant Constant
|
||||
|
||||
highlight default link racketLit Type
|
||||
highlight default link racketRe Type
|
||||
|
||||
highlight default link racketComment Comment
|
||||
highlight default link racketMultilineComment Comment
|
||||
highlight default link racketFormComment SpecialChar
|
||||
highlight default link racketSharpBang Comment
|
||||
highlight default link racketTodo Todo
|
||||
highlight default link racketNote SpecialComment
|
||||
highlight default link racketError Error
|
||||
|
||||
highlight default link racketExtSyntax Type
|
||||
highlight default link racketExtFunc PreProc
|
||||
|
||||
let b:current_syntax = "racket"
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user