Compare commits
360 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
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 | ||
|
|
2ee347fbc0 | ||
|
|
5416232707 | ||
|
|
074fbd4131 | ||
|
|
c361842f14 | ||
|
|
93f72cc119 | ||
|
|
a9b5b85068 | ||
|
|
c312619f7c | ||
|
|
d55f9ef8b2 | ||
|
|
b1d2c8116c | ||
|
|
9b7d2a9596 | ||
|
|
2bd9dbc19f | ||
|
|
520f6ef60a | ||
|
|
0166e398d1 | ||
|
|
930830a68b | ||
|
|
340dafd155 | ||
|
|
f80f40a55c | ||
|
|
b213703f35 | ||
|
|
6d4b2f54df | ||
|
|
2e6dcbc445 | ||
|
|
2eddbacd6d | ||
|
|
d6c67629ed | ||
|
|
80525751c5 | ||
|
|
fd999452ad | ||
|
|
44b9abb150 | ||
|
|
7ea9fcb48d | ||
|
|
5214b29461 | ||
|
|
0af2ecfe44 | ||
|
|
5fb3aabc2b | ||
|
|
753885b6c5 | ||
|
|
f5240b96f7 | ||
|
|
762df0477c | ||
|
|
dde77a7c4d | ||
|
|
3a7ad904d2 | ||
|
|
a247142ae4 | ||
|
|
f396ce83ee | ||
|
|
adce965162 | ||
|
|
471c0fa3ee | ||
|
|
f768c3d19c | ||
|
|
e89aeed43e | ||
|
|
171c683237 | ||
|
|
448f72a78a | ||
|
|
6669de1b23 | ||
|
|
8884916043 | ||
|
|
300175fd7f | ||
|
|
e24a14118c | ||
|
|
b82a2ab8ad | ||
|
|
474ad390cc | ||
|
|
8d69637133 | ||
|
|
a7704226a2 | ||
|
|
38ea5bda2b | ||
|
|
57e95179ab | ||
|
|
2984ed31d9 | ||
|
|
62e0e2e54b | ||
|
|
e80086446c | ||
|
|
13ed494bb5 | ||
|
|
213e70e284 | ||
|
|
9e043181ad | ||
|
|
91c7cbfe31 | ||
|
|
4875d6ab06 | ||
|
|
5fd6ab820b | ||
|
|
887748742d | ||
|
|
1889f499a4 | ||
|
|
f6d39c31d2 | ||
|
|
948a3894d9 | ||
|
|
e98c88c44c | ||
|
|
e1f3fd1d02 | ||
|
|
5a4fff4d94 | ||
|
|
cce293f87b | ||
|
|
8a77d208ff | ||
|
|
d8d4cfcb39 | ||
|
|
249e1b903a | ||
|
|
dbdd16b625 | ||
|
|
d1d8f6bacb | ||
|
|
c3a483fc3c | ||
|
|
677a39fdf6 | ||
|
|
9e7e28fc4c | ||
|
|
28c162f6f1 | ||
|
|
a4d158b3c8 | ||
|
|
28c9f89571 | ||
|
|
63acae13f5 | ||
|
|
c9b6570fab | ||
|
|
3fbf6cd355 | ||
|
|
9113c2cd19 | ||
|
|
8f369fb1ab | ||
|
|
f0ccfa474a | ||
|
|
cfeb8a584b | ||
|
|
6a76e84f55 | ||
|
|
b218655d5a | ||
|
|
9032b9ceb6 | ||
|
|
326c5d36e7 | ||
|
|
e38fc86180 | ||
|
|
fdc5d17d58 | ||
|
|
d4cf9fc53e | ||
|
|
f797e309ca | ||
|
|
87f3a2ca3d | ||
|
|
82b14c143a | ||
|
|
96bde99bf8 | ||
|
|
3331dd0351 | ||
|
|
952c9b02f8 | ||
|
|
1d8844aa59 | ||
|
|
52de3a8d39 | ||
|
|
3a9687fb27 | ||
|
|
e5a0e8c1d7 | ||
|
|
ef257e7bd1 |
@@ -17,6 +17,8 @@ matrix:
|
||||
before_build:
|
||||
# Use Windows SDK 7.1 (= MSVC 2010)
|
||||
- '"C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64 /release'
|
||||
# Visual Studio 2015 compiler tools
|
||||
- '"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86_amd64'
|
||||
- 'set INCLUDE=%INCLUDE%C:\Program Files (x86)\Windows Kits\8.1\Include\um'
|
||||
|
||||
build_script:
|
||||
@@ -26,9 +28,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
|
||||
|
||||
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
|
||||
|
||||
217
.github/workflows/ci.yml
vendored
217
.github/workflows/ci.yml
vendored
@@ -14,14 +14,14 @@ concurrency:
|
||||
|
||||
jobs:
|
||||
linux:
|
||||
runs-on: ubuntu-18.04
|
||||
runs-on: ubuntu-20.04
|
||||
|
||||
env:
|
||||
CC: ${{ matrix.compiler }}
|
||||
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 +98,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: |
|
||||
@@ -167,11 +167,6 @@ jobs:
|
||||
# Use llvm-cov instead of gcov when compiler is clang.
|
||||
ln -fs /usr/bin/llvm-cov ${HOME}/bin/gcov
|
||||
fi
|
||||
# Setup lua5.3 manually since its package doesn't provide alternative.
|
||||
# https://bugs.launchpad.net/ubuntu/+source/lua5.3/+bug/1707212
|
||||
if [[ ${CONFOPT} =~ luainterp ]]; then
|
||||
sudo update-alternatives --install /usr/bin/lua lua /usr/bin/lua5.3 10
|
||||
fi
|
||||
sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=0
|
||||
sudo usermod -a -G audio "${USER}"
|
||||
sudo bash ci/setup-xvfb.sh
|
||||
@@ -268,7 +263,7 @@ jobs:
|
||||
done
|
||||
|
||||
# coveralls:
|
||||
# runs-on: ubuntu-18.04
|
||||
# runs-on: ubuntu-20.04
|
||||
#
|
||||
# needs: linux
|
||||
# if: always() && github.event_name != 'pull_request'
|
||||
@@ -387,35 +382,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
|
||||
@@ -423,13 +398,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
|
||||
@@ -439,7 +433,7 @@ jobs:
|
||||
install: tar
|
||||
pacboy: >-
|
||||
make:p gcc:p
|
||||
msystem: ${{ matrix.msystem }}
|
||||
msystem: ${{ env.MSYSTEM }}
|
||||
release: false
|
||||
|
||||
- name: Checkout repository from github
|
||||
@@ -456,7 +450,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
|
||||
@@ -465,14 +459,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
|
||||
|
||||
@@ -487,31 +481,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)
|
||||
@@ -519,10 +510,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} \
|
||||
@@ -530,17 +526,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
|
||||
@@ -555,51 +561,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
|
||||
@@ -608,19 +602,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
|
||||
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 }}
|
||||
|
||||
9
.github/workflows/coverity.yml
vendored
9
.github/workflows/coverity.yml
vendored
@@ -6,10 +6,11 @@ on:
|
||||
|
||||
jobs:
|
||||
scan:
|
||||
runs-on: ubuntu-18.04
|
||||
runs-on: ubuntu-20.04
|
||||
|
||||
env:
|
||||
CC: gcc
|
||||
CFLAGS: -Wno-deprecated-declarations
|
||||
DEBIAN_FRONTEND: noninteractive
|
||||
|
||||
steps:
|
||||
@@ -50,12 +51,6 @@ jobs:
|
||||
echo "CONFOPT=--enable-perlinterp --enable-pythoninterp --enable-python3interp --enable-rubyinterp --enable-luainterp --enable-tclinterp"
|
||||
) >> $GITHUB_ENV
|
||||
|
||||
- name: Set up system
|
||||
run: |
|
||||
# Setup lua5.3 manually since its package doesn't provide alternative.
|
||||
# https://bugs.launchpad.net/ubuntu/+source/lua5.3/+bug/1707212
|
||||
sudo update-alternatives --install /usr/bin/lua lua /usr/bin/lua5.3 10
|
||||
|
||||
- name: Configure
|
||||
run: |
|
||||
./configure --with-features=huge ${CONFOPT} --enable-fail-if-missing
|
||||
|
||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -82,6 +82,7 @@ src/testdir/dostmp/*
|
||||
src/testdir/messages
|
||||
src/testdir/viminfo
|
||||
src/testdir/opt_test.vim
|
||||
src/testdir/failed
|
||||
runtime/indent/testdir/*.out
|
||||
runtime/indent/testdir/*.fail
|
||||
src/memfile_test
|
||||
|
||||
19
Filelist
19
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 \
|
||||
@@ -487,7 +486,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 +514,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 +538,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 \
|
||||
@@ -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 \
|
||||
@@ -814,6 +818,8 @@ RT_SCRIPTS = \
|
||||
runtime/plugin/README.txt \
|
||||
runtime/syntax/*.vim \
|
||||
runtime/syntax/README.txt \
|
||||
runtime/syntax/shared/*.vim \
|
||||
runtime/syntax/shared/README.txt \
|
||||
|
||||
# Unix runtime
|
||||
RT_UNIX = \
|
||||
@@ -943,9 +949,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
|
||||
|
||||
@@ -366,11 +366,7 @@ Section "$(str_section_exe)" id_section_exe
|
||||
File ${VIMTOOLS}\winpty-agent.exe
|
||||
|
||||
SetOutPath $0\colors
|
||||
File ${VIMRT}\colors\*.*
|
||||
SetOutPath $0\colors\tools
|
||||
File ${VIMRT}\colors\tools\*.*
|
||||
SetOutPath $0\colors\lists
|
||||
File ${VIMRT}\colors\lists\*.*
|
||||
File /r ${VIMRT}\colors\*.*
|
||||
|
||||
SetOutPath $0\compiler
|
||||
File ${VIMRT}\compiler\*.*
|
||||
@@ -395,13 +391,7 @@ Section "$(str_section_exe)" id_section_exe
|
||||
File ${VIMRT}\plugin\*.*
|
||||
|
||||
SetOutPath $0\autoload
|
||||
File ${VIMRT}\autoload\*.*
|
||||
|
||||
SetOutPath $0\autoload\dist
|
||||
File ${VIMRT}\autoload\dist\*.*
|
||||
|
||||
SetOutPath $0\autoload\xml
|
||||
File ${VIMRT}\autoload\xml\*.*
|
||||
File /r ${VIMRT}\autoload\*.*
|
||||
|
||||
SetOutPath $0\import\dist
|
||||
File ${VIMRT}\import\dist\*.*
|
||||
@@ -410,7 +400,7 @@ Section "$(str_section_exe)" id_section_exe
|
||||
File ${VIMSRC}\vim.ico
|
||||
|
||||
SetOutPath $0\syntax
|
||||
File ${VIMRT}\syntax\*.*
|
||||
File /r ${VIMRT}\syntax\*.*
|
||||
|
||||
SetOutPath $0\spell
|
||||
File ${VIMRT}\spell\*.txt
|
||||
|
||||
@@ -1,184 +1,95 @@
|
||||
" Language: ConTeXt typesetting engine
|
||||
" Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
||||
" Latest Revision: 2016 Oct 21
|
||||
vim9script
|
||||
|
||||
let s:keepcpo= &cpo
|
||||
set cpo&vim
|
||||
# Language: ConTeXt typesetting engine
|
||||
# Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
||||
# Former Maintainers: Nikolai Weibull <now@bitwi.se>
|
||||
# Latest Revision: 2022 Aug 12
|
||||
|
||||
" Helper functions {{{
|
||||
function! s:context_echo(message, mode)
|
||||
redraw
|
||||
echo "\r"
|
||||
execute 'echohl' a:mode
|
||||
echomsg '[ConTeXt]' a:message
|
||||
echohl None
|
||||
endf
|
||||
# Typesetting {{{
|
||||
import autoload './typeset.vim'
|
||||
|
||||
function! s:sh()
|
||||
return has('win32') || has('win64') || has('win16') || has('win95')
|
||||
\ ? ['cmd.exe', '/C']
|
||||
\ : ['/bin/sh', '-c']
|
||||
endfunction
|
||||
export def ConTeXtCmd(path: string): list<string>
|
||||
return ['mtxrun', '--script', 'context', '--nonstopmode', '--autogenerate', path]
|
||||
enddef
|
||||
|
||||
" For backward compatibility
|
||||
if exists('*win_getid')
|
||||
export def Typeset(bufname: string, env = {}, Cmd = ConTeXtCmd): bool
|
||||
return typeset.TypesetBuffer(bufname, Cmd, env, 'ConTeXt')
|
||||
enddef
|
||||
|
||||
function! s:win_getid()
|
||||
return win_getid()
|
||||
endf
|
||||
export def JobStatus()
|
||||
typeset.JobStatus('ConTeXt')
|
||||
enddef
|
||||
|
||||
function! s:win_id2win(winid)
|
||||
return win_id2win(a:winid)
|
||||
endf
|
||||
export def StopJobs()
|
||||
typeset.StopJobs('ConTeXt')
|
||||
enddef
|
||||
|
||||
else
|
||||
export def Log(bufname: string)
|
||||
execute 'edit' typeset.LogPath(bufname)
|
||||
enddef
|
||||
# }}}
|
||||
|
||||
function! s:win_getid()
|
||||
return winnr()
|
||||
endf
|
||||
# Completion {{{
|
||||
def BinarySearch(base: string, keywords: list<string>): list<string>
|
||||
const pat = '^' .. base
|
||||
const len = len(keywords)
|
||||
var res = []
|
||||
var lft = 0
|
||||
var rgt = len
|
||||
|
||||
function! s:win_id2win(winnr)
|
||||
return a:winnr
|
||||
endf
|
||||
|
||||
endif
|
||||
" }}}
|
||||
|
||||
" ConTeXt jobs {{{
|
||||
if has('job')
|
||||
|
||||
let g:context_jobs = []
|
||||
|
||||
" Print the status of ConTeXt jobs
|
||||
function! context#job_status()
|
||||
let l:jobs = filter(g:context_jobs, 'job_status(v:val) == "run"')
|
||||
let l:n = len(l:jobs)
|
||||
call s:context_echo(
|
||||
\ 'There '.(l:n == 1 ? 'is' : 'are').' '.(l:n == 0 ? 'no' : l:n)
|
||||
\ .' job'.(l:n == 1 ? '' : 's').' running'
|
||||
\ .(l:n == 0 ? '.' : ' (' . join(l:jobs, ', ').').'),
|
||||
\ 'ModeMsg')
|
||||
endfunction
|
||||
|
||||
" Stop all ConTeXt jobs
|
||||
function! context#stop_jobs()
|
||||
let l:jobs = filter(g:context_jobs, 'job_status(v:val) == "run"')
|
||||
for job in l:jobs
|
||||
call job_stop(job)
|
||||
endfor
|
||||
sleep 1
|
||||
let l:tmp = []
|
||||
for job in l:jobs
|
||||
if job_status(job) == "run"
|
||||
call add(l:tmp, job)
|
||||
endif
|
||||
endfor
|
||||
let g:context_jobs = l:tmp
|
||||
if empty(g:context_jobs)
|
||||
call s:context_echo('Done. No jobs running.', 'ModeMsg')
|
||||
# Find the leftmost index matching base
|
||||
while lft < rgt
|
||||
var i = (lft + rgt) / 2
|
||||
if keywords[i] < base
|
||||
lft = i + 1
|
||||
else
|
||||
call s:context_echo('There are still some jobs running. Please try again.', 'WarningMsg')
|
||||
rgt = i
|
||||
endif
|
||||
endfunction
|
||||
endwhile
|
||||
|
||||
function! context#callback(path, job, status)
|
||||
if index(g:context_jobs, a:job) != -1 && job_status(a:job) != 'run' " just in case
|
||||
call remove(g:context_jobs, index(g:context_jobs, a:job))
|
||||
while lft < len && keywords[lft] =~ pat
|
||||
add(res, keywords[lft])
|
||||
lft += 1
|
||||
endwhile
|
||||
|
||||
return res
|
||||
enddef
|
||||
|
||||
var isMetaPostBlock = false
|
||||
|
||||
var MP_KEYWORDS: list<string> = []
|
||||
var CTX_KEYWORDS: list<string> = []
|
||||
|
||||
# Complete only MetaPost keywords in MetaPost blocks, and complete only
|
||||
# ConTeXt keywords otherwise.
|
||||
export def Complete(findstart: number, base: string): any
|
||||
if findstart == 1
|
||||
if len(synstack(line("."), 1)) > 0 && synIDattr(synstack(line("."), 1)[0], "name") ==# 'contextMPGraphic'
|
||||
isMetaPostBlock = true
|
||||
return match(getline('.'), '\S\+\%' .. col('.') .. 'c')
|
||||
endif
|
||||
call s:callback(a:path, a:job, a:status)
|
||||
endfunction
|
||||
|
||||
function! context#close_cb(channel)
|
||||
call job_status(ch_getjob(a:channel)) " Trigger exit_cb's callback for faster feedback
|
||||
endfunction
|
||||
|
||||
function! s:typeset(path)
|
||||
call add(g:context_jobs,
|
||||
\ job_start(add(s:sh(), context#command() . ' ' . shellescape(fnamemodify(a:path, ":t"))), {
|
||||
\ 'close_cb' : 'context#close_cb',
|
||||
\ 'exit_cb' : function(get(b:, 'context_callback', get(g:, 'context_callback', 'context#callback')),
|
||||
\ [a:path]),
|
||||
\ 'in_io' : 'null'
|
||||
\ }))
|
||||
endfunction
|
||||
|
||||
else " No jobs
|
||||
|
||||
function! context#job_status()
|
||||
call s:context_echo('Not implemented', 'WarningMsg')
|
||||
endfunction!
|
||||
|
||||
function! context#stop_jobs()
|
||||
call s:context_echo('Not implemented', 'WarningMsg')
|
||||
endfunction
|
||||
|
||||
function! context#callback(path, job, status)
|
||||
call s:callback(a:path, a:job, a:status)
|
||||
endfunction
|
||||
|
||||
function! s:typeset(path)
|
||||
execute '!' . context#command() . ' ' . shellescape(fnamemodify(a:path, ":t"))
|
||||
call call(get(b:, 'context_callback', get(g:, 'context_callback', 'context#callback')),
|
||||
\ [a:path, 0, v:shell_error])
|
||||
endfunction
|
||||
|
||||
endif " has('job')
|
||||
|
||||
function! s:callback(path, job, status) abort
|
||||
if a:status < 0 " Assume the job was terminated
|
||||
return
|
||||
# Complete only \commands starting with a backslash
|
||||
isMetaPostBlock = false
|
||||
var pos = match(getline('.'), '\\\zs\S\+\%' .. col('.') .. 'c')
|
||||
return (pos == -1) ? -3 : pos
|
||||
endif
|
||||
" Get info about the current window
|
||||
let l:winid = s:win_getid() " Save window id
|
||||
let l:efm = &l:errorformat " Save local errorformat
|
||||
let l:cwd = fnamemodify(getcwd(), ":p") " Save local working directory
|
||||
" Set errorformat to parse ConTeXt errors
|
||||
execute 'setl efm=' . escape(b:context_errorformat, ' ')
|
||||
try " Set cwd to expand error file correctly
|
||||
execute 'lcd' fnameescape(fnamemodify(a:path, ':h'))
|
||||
catch /.*/
|
||||
execute 'setl efm=' . escape(l:efm, ' ')
|
||||
throw v:exception
|
||||
endtry
|
||||
try
|
||||
execute 'cgetfile' fnameescape(fnamemodify(a:path, ':r') . '.log')
|
||||
botright cwindow
|
||||
finally " Restore cwd and errorformat
|
||||
execute s:win_id2win(l:winid) . 'wincmd w'
|
||||
execute 'lcd ' . fnameescape(l:cwd)
|
||||
execute 'setl efm=' . escape(l:efm, ' ')
|
||||
endtry
|
||||
if a:status == 0
|
||||
call s:context_echo('Success!', 'ModeMsg')
|
||||
else
|
||||
call s:context_echo('There are errors. ', 'ErrorMsg')
|
||||
|
||||
if isMetaPostBlock
|
||||
if empty(MP_KEYWORDS)
|
||||
MP_KEYWORDS = sort(syntaxcomplete#OmniSyntaxList(['mf\w\+', 'mp\w\+']))
|
||||
endif
|
||||
return BinarySearch(base, MP_KEYWORDS)
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! context#command()
|
||||
return get(b:, 'context_mtxrun', get(g:, 'context_mtxrun', 'mtxrun'))
|
||||
\ . ' --script context --autogenerate --nonstopmode'
|
||||
\ . ' --synctex=' . (get(b:, 'context_synctex', get(g:, 'context_synctex', 0)) ? '1' : '0')
|
||||
\ . ' ' . get(b:, 'context_extra_options', get(g:, 'context_extra_options', ''))
|
||||
endfunction
|
||||
if empty(CTX_KEYWORDS)
|
||||
CTX_KEYWORDS = sort(syntaxcomplete#OmniSyntaxList([
|
||||
'context\w\+', 'texAleph', 'texEtex', 'texLuatex', 'texOmega',
|
||||
'texPdftex', 'texTex', 'texXeTeX'
|
||||
]))
|
||||
endif
|
||||
return BinarySearch(base, CTX_KEYWORDS)
|
||||
enddef
|
||||
# }}}
|
||||
|
||||
" Accepts an optional path (useful for big projects, when the file you are
|
||||
" editing is not the project's root document). If no argument is given, uses
|
||||
" the path of the current buffer.
|
||||
function! context#typeset(...) abort
|
||||
let l:path = fnamemodify(strlen(a:000[0]) > 0 ? a:1 : expand("%"), ":p")
|
||||
let l:cwd = fnamemodify(getcwd(), ":p") " Save local working directory
|
||||
call s:context_echo('Typesetting...', 'ModeMsg')
|
||||
execute 'lcd' fnameescape(fnamemodify(l:path, ":h"))
|
||||
try
|
||||
call s:typeset(l:path)
|
||||
finally " Restore local working directory
|
||||
execute 'lcd ' . fnameescape(l:cwd)
|
||||
endtry
|
||||
endfunction!
|
||||
"}}}
|
||||
|
||||
let &cpo = s:keepcpo
|
||||
unlet s:keepcpo
|
||||
|
||||
" vim: sw=2 fdm=marker
|
||||
# vim: sw=2 fdm=marker
|
||||
|
||||
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
|
||||
|
||||
@@ -3,21 +3,28 @@
|
||||
let s:keepcpo= &cpo
|
||||
set cpo&vim
|
||||
|
||||
" searchpair() can be slow, limit the time to 150 msec or what is put in
|
||||
" g:pyindent_searchpair_timeout
|
||||
let s:searchpair_timeout = get(g:, 'pyindent_searchpair_timeout', 150)
|
||||
|
||||
" Identing inside parentheses can be very slow, regardless of the searchpair()
|
||||
" timeout, so let the user disable this feature if he doesn't need it
|
||||
let s:disable_parentheses_indenting = get(g:, 'pyindent_disable_parentheses_indenting', v:false)
|
||||
" need to inspect some old g:pyindent_* variables to be backward compatible
|
||||
let g:python_indent = extend(get(g:, 'python_indent', {}), #{
|
||||
\ closed_paren_align_last_line: v:true,
|
||||
\ open_paren: get(g:, 'pyindent_open_paren', 'shiftwidth() * 2'),
|
||||
\ nested_paren: get(g:, 'pyindent_nested_paren', 'shiftwidth()'),
|
||||
\ continue: get(g:, 'pyindent_continue', 'shiftwidth() * 2'),
|
||||
"\ searchpair() can be slow, limit the time to 150 msec or what is put in
|
||||
"\ g:python_indent.searchpair_timeout
|
||||
\ searchpair_timeout: get(g:, 'pyindent_searchpair_timeout', 150),
|
||||
"\ Identing inside parentheses can be very slow, regardless of the searchpair()
|
||||
"\ timeout, so let the user disable this feature if he doesn't need it
|
||||
\ disable_parentheses_indenting: get(g:, 'pyindent_disable_parentheses_indenting', v:false),
|
||||
\ }, 'keep')
|
||||
|
||||
let s:maxoff = 50 " maximum number of lines to look backwards for ()
|
||||
|
||||
function s:SearchBracket(fromlnum, flags)
|
||||
return searchpairpos('[[({]', '', '[])}]', a:flags,
|
||||
\ {-> synID('.', col('.'), v:true)->synIDattr('name')
|
||||
\ =~ '\%(Comment\|Todo\|String\)$'},
|
||||
\ [0, a:fromlnum - s:maxoff]->max(), s:searchpair_timeout)
|
||||
\ {-> synstack('.', col('.'))
|
||||
\ ->map({_, id -> id->synIDattr('name')})
|
||||
\ ->match('\%(Comment\|Todo\|String\)$') >= 0},
|
||||
\ [0, a:fromlnum - s:maxoff]->max(), g:python_indent.searchpair_timeout)
|
||||
endfunction
|
||||
|
||||
" See if the specified line is already user-dedented from the expected value.
|
||||
@@ -37,7 +44,7 @@ function python#GetIndent(lnum, ...)
|
||||
if a:lnum > 1 && getline(a:lnum - 2) =~ '\\$'
|
||||
return indent(a:lnum - 1)
|
||||
endif
|
||||
return indent(a:lnum - 1) + (exists("g:pyindent_continue") ? eval(g:pyindent_continue) : (shiftwidth() * 2))
|
||||
return indent(a:lnum - 1) + get(g:, 'pyindent_continue', g:python_indent.continue)->eval()
|
||||
endif
|
||||
|
||||
" If the start of the line is in a string don't change the indent.
|
||||
@@ -54,7 +61,7 @@ function python#GetIndent(lnum, ...)
|
||||
return 0
|
||||
endif
|
||||
|
||||
if s:disable_parentheses_indenting == 1
|
||||
if g:python_indent.disable_parentheses_indenting == 1
|
||||
let plindent = indent(plnum)
|
||||
let plnumstart = plnum
|
||||
else
|
||||
@@ -69,8 +76,12 @@ function python#GetIndent(lnum, ...)
|
||||
" 100, 200, 300, 400)
|
||||
call cursor(a:lnum, 1)
|
||||
let [parlnum, parcol] = s:SearchBracket(a:lnum, 'nbW')
|
||||
if parlnum > 0 && parcol != col([parlnum, '$']) - 1
|
||||
return parcol
|
||||
if parlnum > 0
|
||||
if parcol != col([parlnum, '$']) - 1
|
||||
return parcol
|
||||
elseif getline(a:lnum) =~ '^\s*[])}]' && !g:python_indent.closed_paren_align_last_line
|
||||
return indent(parlnum)
|
||||
endif
|
||||
endif
|
||||
|
||||
call cursor(plnum, 1)
|
||||
@@ -122,9 +133,11 @@ function python#GetIndent(lnum, ...)
|
||||
" When the start is inside parenthesis, only indent one 'shiftwidth'.
|
||||
let [pp, _] = s:SearchBracket(a:lnum, 'bW')
|
||||
if pp > 0
|
||||
return indent(plnum) + (exists("g:pyindent_nested_paren") ? eval(g:pyindent_nested_paren) : shiftwidth())
|
||||
return indent(plnum)
|
||||
\ + get(g:, 'pyindent_nested_paren', g:python_indent.nested_paren)->eval()
|
||||
endif
|
||||
return indent(plnum) + (exists("g:pyindent_open_paren") ? eval(g:pyindent_open_paren) : (shiftwidth() * 2))
|
||||
return indent(plnum)
|
||||
\ + get(g:, 'pyindent_open_paren', g:python_indent.open_paren)->eval()
|
||||
endif
|
||||
if plnumstart == p
|
||||
return indent(plnum)
|
||||
@@ -143,12 +156,16 @@ function python#GetIndent(lnum, ...)
|
||||
" 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\\)"
|
||||
if synstack(plnum, pline_len)
|
||||
\ ->map({_, id -> id->synIDattr('name')})
|
||||
\ ->match('\%(Comment\|Todo\)$') >= 0
|
||||
let min = 1
|
||||
let max = pline_len
|
||||
while min < max
|
||||
let col = (min + max) / 2
|
||||
if synIDattr(synID(plnum, col, 1), "name") =~ "\\(Comment\\|Todo\\)"
|
||||
if synstack(plnum, col)
|
||||
\ ->map({_, id -> id->synIDattr('name')})
|
||||
\ ->match('\%(Comment\|Todo\)$') >= 0
|
||||
let max = col
|
||||
else
|
||||
let min = col + 1
|
||||
|
||||
233
runtime/autoload/typeset.vim
Normal file
233
runtime/autoload/typeset.vim
Normal file
@@ -0,0 +1,233 @@
|
||||
vim9script
|
||||
|
||||
# Language: Generic TeX typesetting engine
|
||||
# Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
||||
# Latest Revision: 2022 Aug 12
|
||||
|
||||
# Constants and helpers {{{
|
||||
const SLASH = !exists("+shellslash") || &shellslash ? '/' : '\'
|
||||
|
||||
def Echo(msg: string, mode: string, label: string)
|
||||
redraw
|
||||
echo "\r"
|
||||
execute 'echohl' mode
|
||||
echomsg printf('[%s] %s', label, msg)
|
||||
echohl None
|
||||
enddef
|
||||
|
||||
def EchoMsg(msg: string, label = 'Notice')
|
||||
Echo(msg, 'ModeMsg', label)
|
||||
enddef
|
||||
|
||||
def EchoWarn(msg: string, label = 'Warning')
|
||||
Echo(msg, 'WarningMsg', label)
|
||||
enddef
|
||||
|
||||
def EchoErr(msg: string, label = 'Error')
|
||||
Echo(msg, 'ErrorMsg', label)
|
||||
enddef
|
||||
# }}}
|
||||
|
||||
# Track jobs {{{
|
||||
var running_jobs = {} # Dictionary of job IDs of jobs currently executing
|
||||
|
||||
def AddJob(label: string, j: job)
|
||||
if !has_key(running_jobs, label)
|
||||
running_jobs[label] = []
|
||||
endif
|
||||
|
||||
add(running_jobs[label], j)
|
||||
enddef
|
||||
|
||||
def RemoveJob(label: string, j: job)
|
||||
if has_key(running_jobs, label) && index(running_jobs[label], j) != -1
|
||||
remove(running_jobs[label], index(running_jobs[label], j))
|
||||
endif
|
||||
enddef
|
||||
|
||||
def GetRunningJobs(label: string): list<job>
|
||||
return has_key(running_jobs, label) ? running_jobs[label] : []
|
||||
enddef
|
||||
# }}}
|
||||
|
||||
# Callbacks {{{
|
||||
def ProcessOutput(qfid: number, wd: string, efm: string, ch: channel, msg: string)
|
||||
# Make sure the quickfix list still exists
|
||||
if getqflist({'id': qfid}).id != qfid
|
||||
EchoErr("Quickfix list not found, stopping the job")
|
||||
call job_stop(ch_getjob(ch))
|
||||
return
|
||||
endif
|
||||
|
||||
# Make sure the working directory is correct
|
||||
silent execute "lcd" wd
|
||||
setqflist([], 'a', {'id': qfid, 'lines': [msg], 'efm': efm})
|
||||
silent lcd -
|
||||
enddef
|
||||
|
||||
def CloseCb(ch: channel)
|
||||
job_status(ch_getjob(ch)) # Trigger exit_cb's callback
|
||||
enddef
|
||||
|
||||
def ExitCb(label: string, jobid: job, exitStatus: number)
|
||||
RemoveJob(label, jobid)
|
||||
|
||||
if exitStatus == 0
|
||||
botright cwindow
|
||||
EchoMsg('Success!', label)
|
||||
elseif exitStatus < 0
|
||||
EchoWarn('Job terminated', label)
|
||||
else
|
||||
botright copen
|
||||
wincmd p
|
||||
EchoWarn('There are errors.', label)
|
||||
endif
|
||||
enddef
|
||||
# }}}
|
||||
|
||||
# Create a new empty quickfix list at the end of the stack and return its id {{{
|
||||
def NewQuickfixList(path: string): number
|
||||
if setqflist([], ' ', {'nr': '$', 'title': path}) == -1
|
||||
return -1
|
||||
endif
|
||||
|
||||
return getqflist({'nr': '$', 'id': 0}).id
|
||||
enddef
|
||||
# }}}
|
||||
|
||||
# Public interface {{{
|
||||
# When a TeX document is split into several source files, each source file
|
||||
# may contain a "magic line" specifiying the "root" file, e.g.:
|
||||
#
|
||||
# % !TEX root = main.tex
|
||||
#
|
||||
# Using this line, Vim can know which file to typeset even if the current
|
||||
# buffer is different from main.tex.
|
||||
#
|
||||
# This function searches for the magic line in the first ten lines of the
|
||||
# given buffer, and returns the full path of the root document.
|
||||
#
|
||||
# NOTE: the value of "% !TEX root" *must* be a relative path.
|
||||
export def FindRootDocument(bufname: string = bufname("%")): string
|
||||
const bufnr = bufnr(bufname)
|
||||
|
||||
if !bufexists(bufnr)
|
||||
return bufname
|
||||
endif
|
||||
|
||||
var rootpath = fnamemodify(bufname(bufnr), ':p')
|
||||
|
||||
# Search for magic line `% !TEX root = ...` in the first ten lines
|
||||
const header = getbufline(bufnr, 1, 10)
|
||||
const idx = match(header, '^\s*%\s\+!TEX\s\+root\s*=\s*\S')
|
||||
if idx > -1
|
||||
const main = matchstr(header[idx], '!TEX\s\+root\s*=\s*\zs.*$')
|
||||
rootpath = simplify(fnamemodify(rootpath, ":h") .. SLASH .. main)
|
||||
endif
|
||||
|
||||
return rootpath
|
||||
enddef
|
||||
|
||||
export def LogPath(bufname: string): string
|
||||
const logfile = FindRootDocument(bufname)
|
||||
return fnamemodify(logfile, ":r") .. ".log"
|
||||
enddef
|
||||
|
||||
# Typeset the specified path
|
||||
#
|
||||
# Parameters:
|
||||
# label: a descriptive string used in messages to identify the kind of job
|
||||
# Cmd: a function that takes the path of a document and returns the typesetting command
|
||||
# path: the path of the document to be typeset. To avoid ambiguities, pass a *full* path.
|
||||
# efm: the error format string to parse the output of the command.
|
||||
# env: environment variables for the process (passed to job_start())
|
||||
#
|
||||
# Returns:
|
||||
# true if the job is started successfully;
|
||||
# false otherwise.
|
||||
export def Typeset(
|
||||
label: string,
|
||||
Cmd: func(string): list<string>,
|
||||
path: string,
|
||||
efm: string,
|
||||
env: dict<string> = {}
|
||||
): bool
|
||||
var fp = fnamemodify(path, ":p")
|
||||
var wd = fnamemodify(fp, ":h")
|
||||
var qfid = NewQuickfixList(fp)
|
||||
|
||||
if qfid == -1
|
||||
EchoErr('Could not create quickfix list', label)
|
||||
return false
|
||||
endif
|
||||
|
||||
if !filereadable(fp)
|
||||
EchoErr(printf('File not readable: %s', fp), label)
|
||||
return false
|
||||
endif
|
||||
|
||||
var jobid = job_start(Cmd(path), {
|
||||
env: env,
|
||||
cwd: wd,
|
||||
in_io: "null",
|
||||
callback: (c, m) => ProcessOutput(qfid, wd, efm, c, m),
|
||||
close_cb: CloseCb,
|
||||
exit_cb: (j, e) => ExitCb(label, j, e),
|
||||
})
|
||||
|
||||
if job_status(jobid) ==# "fail"
|
||||
EchoErr("Failed to start job", label)
|
||||
return false
|
||||
endif
|
||||
|
||||
AddJob(label, jobid)
|
||||
|
||||
EchoMsg('Typesetting...', label)
|
||||
|
||||
return true
|
||||
enddef
|
||||
|
||||
export def JobStatus(label: string)
|
||||
EchoMsg('Jobs still running: ' .. string(len(GetRunningJobs(label))), label)
|
||||
enddef
|
||||
|
||||
export def StopJobs(label: string)
|
||||
for job in GetRunningJobs(label)
|
||||
job_stop(job)
|
||||
endfor
|
||||
|
||||
EchoMsg('Done.', label)
|
||||
enddef
|
||||
|
||||
# Typeset the specified buffer
|
||||
#
|
||||
# Parameters:
|
||||
# name: a buffer's name. this may be empty to indicate the current buffer.
|
||||
# cmd: a function that takes the path of a document and returns the typesetting command
|
||||
# label: a descriptive string used in messages to identify the kind of job
|
||||
# env: environment variables for the process (passed to job_start())
|
||||
#
|
||||
# Returns:
|
||||
# true if the job is started successfully;
|
||||
# false otherwise.
|
||||
export def TypesetBuffer(
|
||||
name: string,
|
||||
Cmd: func(string): list<string>,
|
||||
env = {},
|
||||
label = 'Typeset'
|
||||
): bool
|
||||
const bufname = bufname(name)
|
||||
|
||||
if empty(bufname)
|
||||
EchoErr('Please save the buffer first.', label)
|
||||
return false
|
||||
endif
|
||||
|
||||
const efm = getbufvar(bufnr(bufname), "&efm")
|
||||
const rootpath = FindRootDocument(bufname)
|
||||
|
||||
return Typeset('ConTeXt', Cmd, rootpath, efm, env)
|
||||
enddef
|
||||
# }}}
|
||||
|
||||
# vim: sw=2 fdm=marker
|
||||
@@ -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: 2022-07-26 15:49:58
|
||||
" Last Updated: Fri 02 Sep 2022 09:41:44 MSK
|
||||
|
||||
" Generated by Colortemplate v2.2.0
|
||||
|
||||
@@ -13,12 +13,12 @@ set background=dark
|
||||
hi clear
|
||||
let g:colors_name = 'blue'
|
||||
|
||||
let s:t_Co = exists('&t_Co') && !empty(&t_Co) && &t_Co >= 0 ? &t_Co : -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', '#870000', '#006400', '#878700', '#000087', '#870087', '#008787', '#bcbcbc', '#878787', '#d70000', '#00ff00', '#ffdf00', '#5fafff', '#d787d7', '#5fffff', '#ffffff']
|
||||
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=#ffdf00 guibg=#000087 gui=NONE cterm=NONE
|
||||
hi Normal guifg=#ffd700 guibg=#000087 gui=NONE cterm=NONE
|
||||
hi CursorLine guifg=NONE guibg=#005faf gui=NONE cterm=NONE
|
||||
hi Pmenu guifg=#ffffff guibg=#008787 gui=NONE cterm=NONE
|
||||
hi PmenuSel guifg=#008787 guibg=#ffffff gui=NONE cterm=NONE
|
||||
@@ -27,9 +27,9 @@ hi ColorColumn guifg=NONE guibg=#870087 gui=NONE cterm=NONE
|
||||
hi Conceal guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Cursor guifg=#000000 guibg=#00ff00 gui=NONE cterm=NONE
|
||||
hi CursorColumn guifg=NONE guibg=#005faf gui=NONE cterm=NONE
|
||||
hi CursorIM guifg=#000000 guibg=#ffdf00 gui=NONE cterm=NONE
|
||||
hi CursorLineNr guifg=#ffdf00 guibg=#005faf gui=bold cterm=NONE
|
||||
hi EndOfBuffer guifg=#ffdf00 guibg=#000087 gui=NONE cterm=NONE
|
||||
hi CursorIM guifg=#000000 guibg=#ffd700 gui=NONE cterm=NONE
|
||||
hi CursorLineNr guifg=#ffd700 guibg=#005faf gui=bold cterm=NONE
|
||||
hi EndOfBuffer guifg=#ffd700 guibg=#000087 gui=NONE cterm=NONE
|
||||
hi Error guifg=#ff7f50 guibg=#000087 gui=reverse cterm=reverse
|
||||
hi ErrorMsg guifg=#ffffff guibg=#d70000 gui=NONE cterm=NONE
|
||||
hi FoldColumn guifg=#008787 guibg=NONE gui=NONE cterm=NONE
|
||||
@@ -43,7 +43,7 @@ hi NonText guifg=#d787d7 guibg=NONE gui=NONE cterm=NONE
|
||||
hi PmenuSbar guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi PmenuThumb guifg=NONE guibg=#ffffff gui=NONE cterm=NONE
|
||||
hi Question guifg=#00ff00 guibg=NONE gui=NONE cterm=NONE
|
||||
hi Search guifg=#ffdf00 guibg=#000000 gui=reverse cterm=reverse
|
||||
hi Search guifg=#ffd700 guibg=#000000 gui=reverse cterm=reverse
|
||||
hi SignColumn guifg=#008787 guibg=NONE gui=NONE cterm=NONE
|
||||
hi SpecialKey guifg=#5fffff guibg=NONE gui=NONE cterm=NONE
|
||||
hi SpellBad guifg=#d70000 guibg=NONE guisp=#d70000 gui=undercurl cterm=underline
|
||||
@@ -57,8 +57,8 @@ 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 WildMenu guifg=#000087 guibg=#ffdf00 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
|
||||
hi Directory guifg=#5fffff guibg=NONE gui=NONE cterm=NONE
|
||||
@@ -73,7 +73,7 @@ hi Statement guifg=#ffffff guibg=NONE gui=NONE cterm=NONE
|
||||
hi Todo guifg=NONE guibg=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse
|
||||
hi Type guifg=#ffa500 guibg=NONE gui=bold cterm=NONE
|
||||
hi Underlined guifg=NONE guibg=NONE gui=underline ctermfg=NONE ctermbg=NONE cterm=underline
|
||||
hi Label guifg=#ffdf00 guibg=NONE gui=NONE cterm=NONE
|
||||
hi Label guifg=#ffd700 guibg=NONE gui=NONE cterm=NONE
|
||||
hi! link Terminal Normal
|
||||
hi! link Debug Special
|
||||
hi! link diffAdded String
|
||||
@@ -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
|
||||
@@ -526,6 +534,22 @@ if s:t_Co >= 0
|
||||
endif
|
||||
|
||||
" Background: dark
|
||||
" 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 #0000ee 21 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
|
||||
" Color: black #000000 16 black
|
||||
" Color: darkred #870000 88 darkred
|
||||
" Color: darkyellow #878700 100 darkyellow
|
||||
@@ -537,7 +561,7 @@ endif
|
||||
" Color: darkgray #878787 102 darkgray
|
||||
" Color: red #d70000 160 red
|
||||
" Color: green #00ff00 46 green
|
||||
" Color: yellow #ffdf00 220 yellow
|
||||
" Color: yellow #ffd700 220 yellow
|
||||
" Color: blue #005faf 25 blue
|
||||
" Color: magenta #d787d7 176 magenta
|
||||
" Color: cyan #5fffff 87 cyan
|
||||
@@ -549,8 +573,8 @@ endif
|
||||
" Color: coral #ff7f50 209 red
|
||||
" Color: olivedrab #6b8e23 64 green
|
||||
" Color: slateblue #6a5acd 62 darkmagenta
|
||||
" Term colors: black darkred darkgreen darkyellow darkblue darkmagenta darkcyan gray
|
||||
" Term colors: darkgray red green yellow xtermblue magenta cyan white
|
||||
" Term colors: x_black x_darkred x_darkgreen x_darkyellow x_darkblue 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: Original author Bohdan Vlasyuk <bohdan@vstu.edu.ua>
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Updated: 2022-07-26 15:49:59
|
||||
" 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') && !empty(&t_Co) && &t_Co >= 0 ? &t_Co : -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: 2022-07-26 15:50:00
|
||||
" 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') && !empty(&t_Co) && &t_Co >= 0 ? &t_Co : -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: 2022-07-26 15:50:01
|
||||
" 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') && !empty(&t_Co) && &t_Co >= 0 ? &t_Co : -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: 2022-07-26 15:50:02
|
||||
" 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') && !empty(&t_Co) && &t_Co >= 0 ? &t_Co : -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: 2022-07-26 15:50:03
|
||||
" 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') && !empty(&t_Co) && &t_Co >= 0 ? &t_Co : -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: 2022-07-26 15:50:04
|
||||
" Last Updated: Fri 02 Sep 2022 09:45:11 MSK
|
||||
|
||||
" Generated by Colortemplate v2.2.0
|
||||
|
||||
@@ -13,14 +13,16 @@ set background=dark
|
||||
hi clear
|
||||
let g:colors_name = 'habamax'
|
||||
|
||||
let s:t_Co = exists('&t_Co') && !empty(&t_Co) && &t_Co >= 0 ? &t_Co : -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', '#df875f', '#afd7af', '#dfdf87', '#87afd7', '#dfafdf', '#87afaf', '#bcbcbc']
|
||||
let g:terminal_ansi_colors = ['#1c1c1c', '#d75f5f', '#87af87', '#afaf87', '#5f87af', '#af87af', '#5f8787', '#9e9e9e', '#767676', '#d7875f', '#afd7af', '#d7d787', '#87afd7', '#d7afd7', '#87afaf', '#bcbcbc']
|
||||
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
|
||||
@@ -58,14 +60,14 @@ hi! link elixirInclude Statement
|
||||
hi! link elixirAtom PreProc
|
||||
hi! link elixirDocTest String
|
||||
hi ALEErrorSign guifg=#d75f5f guibg=NONE gui=NONE cterm=NONE
|
||||
hi ALEInfoSign guifg=#dfdf87 guibg=NONE gui=NONE cterm=NONE
|
||||
hi ALEInfoSign guifg=#d7d787 guibg=NONE gui=NONE cterm=NONE
|
||||
hi ALEWarningSign guifg=#af87af guibg=NONE gui=NONE cterm=NONE
|
||||
hi ALEError guifg=#1c1c1c guibg=#d75f5f gui=NONE cterm=NONE
|
||||
hi ALEVirtualTextError guifg=#1c1c1c guibg=#d75f5f gui=NONE cterm=NONE
|
||||
hi ALEWarning guifg=#1c1c1c guibg=#af87af gui=NONE cterm=NONE
|
||||
hi ALEVirtualTextWarning guifg=#1c1c1c guibg=#af87af gui=NONE cterm=NONE
|
||||
hi ALEInfo guifg=#dfdf87 guibg=NONE gui=NONE cterm=NONE
|
||||
hi ALEVirtualTextInfo guifg=#dfdf87 guibg=NONE gui=NONE cterm=NONE
|
||||
hi ALEInfo guifg=#d7d787 guibg=NONE gui=NONE cterm=NONE
|
||||
hi ALEVirtualTextInfo guifg=#d7d787 guibg=NONE gui=NONE cterm=NONE
|
||||
hi Normal guifg=#bcbcbc guibg=#1c1c1c gui=NONE cterm=NONE
|
||||
hi Statusline guifg=#1c1c1c guibg=#9e9e9e gui=NONE cterm=NONE
|
||||
hi StatuslineNC guifg=#1c1c1c guibg=#767676 gui=NONE cterm=NONE
|
||||
@@ -93,18 +95,18 @@ hi PmenuSel guifg=#1c1c1c guibg=#afaf87 gui=NONE cterm=NONE
|
||||
hi SignColumn guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Error guifg=#d75f5f guibg=#1c1c1c gui=reverse cterm=reverse
|
||||
hi ErrorMsg guifg=#d75f5f guibg=#1c1c1c gui=reverse cterm=reverse
|
||||
hi ModeMsg guifg=#1c1c1c guibg=#dfdf87 gui=NONE cterm=NONE
|
||||
hi ModeMsg guifg=#1c1c1c guibg=#d7d787 gui=NONE cterm=NONE
|
||||
hi MoreMsg guifg=#87af87 guibg=NONE gui=NONE cterm=NONE
|
||||
hi Question guifg=#afaf87 guibg=NONE gui=NONE cterm=NONE
|
||||
hi WarningMsg guifg=#df875f guibg=NONE gui=NONE cterm=NONE
|
||||
hi Todo guifg=#dfdf87 guibg=#1c1c1c gui=reverse cterm=reverse
|
||||
hi WarningMsg guifg=#d7875f guibg=NONE gui=NONE cterm=NONE
|
||||
hi Todo guifg=#d7d787 guibg=#1c1c1c gui=reverse cterm=reverse
|
||||
hi MatchParen guifg=#5f8787 guibg=#1c1c1c gui=reverse cterm=reverse
|
||||
hi Search guifg=#1c1c1c guibg=#87af87 gui=NONE cterm=NONE
|
||||
hi IncSearch guifg=#1c1c1c guibg=#ffaf5f gui=NONE cterm=NONE
|
||||
hi CurSearch guifg=#1c1c1c guibg=#afaf87 gui=NONE cterm=NONE
|
||||
hi WildMenu guifg=#1c1c1c guibg=#dfdf87 gui=NONE cterm=NONE
|
||||
hi WildMenu guifg=#1c1c1c guibg=#d7d787 gui=NONE cterm=NONE
|
||||
hi debugPC guifg=#1c1c1c guibg=#5f87af gui=NONE cterm=NONE
|
||||
hi debugBreakpoint guifg=#1c1c1c guibg=#df875f gui=NONE cterm=NONE
|
||||
hi debugBreakpoint guifg=#1c1c1c guibg=#d7875f gui=NONE cterm=NONE
|
||||
hi Cursor guifg=#1c1c1c guibg=#ffaf5f gui=NONE cterm=NONE
|
||||
hi lCursor guifg=#1c1c1c guibg=#5fff00 gui=NONE cterm=NONE
|
||||
hi CursorLine guifg=NONE guibg=#303030 gui=NONE cterm=NONE
|
||||
@@ -114,9 +116,9 @@ hi ColorColumn guifg=NONE guibg=#262626 gui=NONE cterm=NONE
|
||||
hi SpellBad guifg=NONE guibg=NONE guisp=#d75f5f gui=undercurl ctermfg=NONE ctermbg=NONE cterm=underline
|
||||
hi SpellCap guifg=NONE guibg=NONE guisp=#5f87af gui=undercurl ctermfg=NONE ctermbg=NONE cterm=underline
|
||||
hi SpellLocal guifg=NONE guibg=NONE guisp=#87af87 gui=undercurl ctermfg=NONE ctermbg=NONE cterm=underline
|
||||
hi SpellRare guifg=NONE guibg=NONE guisp=#dfafdf gui=undercurl ctermfg=NONE ctermbg=NONE cterm=underline
|
||||
hi SpellRare guifg=NONE guibg=NONE guisp=#d7afd7 gui=undercurl ctermfg=NONE ctermbg=NONE cterm=underline
|
||||
hi Comment guifg=#767676 guibg=NONE gui=NONE cterm=NONE
|
||||
hi Constant guifg=#df875f guibg=NONE gui=NONE cterm=NONE
|
||||
hi Constant guifg=#d7875f guibg=NONE gui=NONE cterm=NONE
|
||||
hi String guifg=#87af87 guibg=NONE gui=NONE cterm=NONE
|
||||
hi Character guifg=#afd7af guibg=NONE gui=NONE cterm=NONE
|
||||
hi Identifier guifg=#87afaf guibg=NONE gui=NONE cterm=NONE
|
||||
@@ -125,7 +127,7 @@ hi PreProc guifg=#afaf87 guibg=NONE gui=NONE cterm=NONE
|
||||
hi Type guifg=#87afd7 guibg=NONE gui=NONE cterm=NONE
|
||||
hi Special guifg=#5f8787 guibg=NONE gui=NONE cterm=NONE
|
||||
hi Underlined guifg=NONE guibg=NONE gui=underline ctermfg=NONE ctermbg=NONE cterm=underline
|
||||
hi Title guifg=#dfdf87 guibg=NONE gui=bold cterm=bold
|
||||
hi Title guifg=#d7d787 guibg=NONE gui=bold cterm=bold
|
||||
hi Directory guifg=#87afaf guibg=NONE gui=bold cterm=bold
|
||||
hi Conceal guifg=#767676 guibg=NONE gui=NONE cterm=NONE
|
||||
hi Ignore guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
@@ -135,13 +137,15 @@ hi DiffDelete guifg=#af875f guibg=NONE gui=NONE cterm=NONE
|
||||
hi diffAdded guifg=#87af87 guibg=NONE gui=NONE cterm=NONE
|
||||
hi diffRemoved guifg=#d75f5f guibg=NONE gui=NONE cterm=NONE
|
||||
hi diffSubname guifg=#af87af guibg=NONE gui=NONE cterm=NONE
|
||||
hi DiffText guifg=#000000 guibg=#dfdfdf gui=NONE cterm=NONE
|
||||
hi DiffText guifg=#000000 guibg=#d7d7d7 gui=NONE cterm=NONE
|
||||
hi DiffChange guifg=#000000 guibg=#afafaf gui=NONE cterm=NONE
|
||||
|
||||
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
|
||||
@@ -254,7 +258,7 @@ if s:t_Co >= 256
|
||||
hi diffAdded ctermfg=108 ctermbg=NONE cterm=NONE
|
||||
hi diffRemoved ctermfg=167 ctermbg=NONE cterm=NONE
|
||||
hi diffSubname ctermfg=139 ctermbg=NONE cterm=NONE
|
||||
hi DiffText ctermfg=16 ctermbg=254 cterm=NONE
|
||||
hi DiffText ctermfg=16 ctermbg=188 cterm=NONE
|
||||
hi DiffChange ctermfg=16 ctermbg=145 cterm=NONE
|
||||
unlet s:t_Co
|
||||
finish
|
||||
@@ -489,15 +493,15 @@ endif
|
||||
" Color: color00 #1C1C1C 234 black
|
||||
" Color: color08 #767676 243 darkgray
|
||||
" Color: color01 #D75F5F 167 darkred
|
||||
" Color: color09 #DF875F 173 red
|
||||
" Color: color09 #D7875F 173 red
|
||||
" Color: color02 #87AF87 108 darkgreen
|
||||
" Color: color10 #AFD7AF 151 green
|
||||
" Color: color03 #AFAF87 144 darkyellow
|
||||
" Color: color11 #DFDF87 186 yellow
|
||||
" Color: color11 #D7D787 186 yellow
|
||||
" Color: color04 #5F87AF 67 blue
|
||||
" Color: color12 #87AFD7 110 blue
|
||||
" Color: color05 #AF87AF 139 darkmagenta
|
||||
" Color: color13 #DFAFDF 182 magenta
|
||||
" Color: color13 #D7AFD7 182 magenta
|
||||
" Color: color06 #5F8787 66 darkcyan
|
||||
" Color: color14 #87AFAF 109 cyan
|
||||
" Color: color07 #9E9E9E 247 gray
|
||||
@@ -506,12 +510,12 @@ endif
|
||||
" Color: colorB #262626 235 darkgrey
|
||||
" Color: colorNonT #585858 240 darkgrey
|
||||
" Color: colorC #FFAF5F 215 red
|
||||
" Color: colorlC #5FFF00 ~
|
||||
" Color: colorlC #5FFF00 82 green
|
||||
" Color: colorV #1F3F5F 109 cyan
|
||||
" Color: diffAdd #87AF87 108 darkgreen
|
||||
" Color: diffDelete #af875f 137 darkyellow
|
||||
" Color: diffChange #AFAFAF 145 darkgray
|
||||
" Color: diffText #DFDFDF 254 lightgrey
|
||||
" Color: diffText #D7D7D7 188 lightgrey
|
||||
" Color: black #000000 16 black
|
||||
" Color: white #FFFFFF 231 white
|
||||
" Term colors: color00 color01 color02 color03 color04 color05 color06 color07
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Original maintainer Shian Lee.
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Updated: 2022-07-26 15:50:05
|
||||
" 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') && !empty(&t_Co) && &t_Co >= 0 ? &t_Co : -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: 2022-07-26 15:50:06
|
||||
" 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') && !empty(&t_Co) && &t_Co >= 0 ? &t_Co : -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']
|
||||
|
||||
1002
runtime/colors/lunaperche.vim
Normal file
1002
runtime/colors/lunaperche.vim
Normal file
File diff suppressed because it is too large
Load Diff
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Original maintainer Bram Moolenaar <Bram@vim.org>
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Updated: 2022-07-26 15:50:07
|
||||
" 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') && !empty(&t_Co) && &t_Co >= 0 ? &t_Co : -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: 2022-07-26 15:50:08
|
||||
" 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') && !empty(&t_Co) && &t_Co >= 0 ? &t_Co : -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: 2022-07-26 15:50:09
|
||||
" 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') && !empty(&t_Co) && &t_Co >= 0 ? &t_Co : -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: 2022-07-26 15:50:10
|
||||
" 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') && !empty(&t_Co) && &t_Co >= 0 ? &t_Co : -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,17 +4,20 @@
|
||||
" Maintainer: neutaaaaan <neutaaaaan-gh@protonmail.com>
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Vim License (see `:help license`)`
|
||||
" Last Updated: 2022-08-01 15:13:21
|
||||
" 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') && !empty(&t_Co) && &t_Co >= 0 ? &t_Co : -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
|
||||
@@ -48,7 +51,6 @@ if &background ==# 'dark'
|
||||
let g:terminal_ansi_colors = ['#080808', '#d7005f', '#00af5f', '#d78700', '#0087d7', '#d787d7', '#00afaf', '#dadada', '#707070', '#ff005f', '#00d75f', '#ffaf00', '#5fafff', '#ff87ff', '#00d7d7', '#ffffff']
|
||||
endif
|
||||
hi Normal guifg=#dadada guibg=#080808 gui=NONE cterm=NONE
|
||||
hi Terminal guifg=#dadada guibg=#080808 gui=NONE cterm=NONE
|
||||
hi ColorColumn guifg=NONE guibg=#1c1c1c gui=NONE cterm=NONE
|
||||
hi Conceal guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Cursor guifg=NONE guibg=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse
|
||||
@@ -59,42 +61,42 @@ 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=#080808 gui=NONE cterm=NONE
|
||||
hi FoldColumn guifg=#707070 guibg=NONE gui=NONE cterm=NONE
|
||||
hi Folded guifg=#707070 guibg=#080808 gui=NONE cterm=NONE
|
||||
hi IncSearch guifg=#ffaf00 guibg=#080808 gui=reverse cterm=reverse
|
||||
hi LineNr guifg=#444444 guibg=#080808 gui=NONE cterm=NONE
|
||||
hi MatchParen guifg=#ff00af guibg=#080808 gui=bold cterm=bold
|
||||
hi ModeMsg guifg=#dadada guibg=#080808 gui=bold cterm=bold
|
||||
hi MoreMsg guifg=#dadada guibg=#080808 gui=NONE cterm=NONE
|
||||
hi LineNr guifg=#444444 guibg=NONE gui=NONE cterm=NONE
|
||||
hi MatchParen guifg=#ff00af guibg=NONE gui=bold cterm=bold
|
||||
hi ModeMsg guifg=#dadada guibg=NONE gui=bold cterm=bold
|
||||
hi MoreMsg guifg=#dadada guibg=NONE gui=NONE cterm=NONE
|
||||
hi NonText guifg=#707070 guibg=NONE gui=NONE cterm=NONE
|
||||
hi Pmenu guifg=#080808 guibg=#87afd7 gui=NONE cterm=NONE
|
||||
hi PmenuSbar guifg=#dadada guibg=#707070 gui=NONE cterm=NONE
|
||||
hi PmenuSel guifg=#080808 guibg=#d787d7 gui=NONE cterm=NONE
|
||||
hi PmenuThumb guifg=#dadada guibg=#d787d7 gui=NONE cterm=NONE
|
||||
hi Question guifg=#dadada guibg=#080808 gui=NONE cterm=NONE
|
||||
hi Question guifg=#dadada guibg=NONE gui=NONE cterm=NONE
|
||||
hi QuickFixLine guifg=#d787d7 guibg=#080808 gui=reverse cterm=reverse
|
||||
hi Search guifg=#00afff guibg=#080808 gui=reverse cterm=reverse
|
||||
hi SignColumn guifg=#dadada guibg=#080808 gui=NONE cterm=NONE
|
||||
hi SpecialKey guifg=#dadada guibg=#080808 gui=NONE cterm=NONE
|
||||
hi SpellBad guifg=#d7005f guibg=#080808 guisp=#d7005f gui=undercurl cterm=underline
|
||||
hi SpellCap guifg=#0087d7 guibg=#080808 guisp=#0087d7 gui=undercurl cterm=underline
|
||||
hi SpellLocal guifg=#d787d7 guibg=#080808 guisp=#d787d7 gui=undercurl cterm=underline
|
||||
hi SpellRare guifg=#00afaf guibg=#080808 guisp=#00afaf gui=undercurl cterm=underline
|
||||
hi SignColumn guifg=#dadada guibg=NONE gui=NONE cterm=NONE
|
||||
hi SpecialKey guifg=#dadada guibg=NONE gui=NONE cterm=NONE
|
||||
hi SpellBad guifg=#d7005f guibg=NONE guisp=#d7005f gui=undercurl cterm=underline
|
||||
hi SpellCap guifg=#0087d7 guibg=NONE guisp=#0087d7 gui=undercurl cterm=underline
|
||||
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=#080808 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=#080808 gui=NONE cterm=NONE
|
||||
hi WarningMsg guifg=#dadada guibg=NONE gui=NONE cterm=NONE
|
||||
hi WildMenu guifg=#00afff guibg=#080808 gui=bold cterm=bold
|
||||
hi Comment guifg=#707070 guibg=#080808 gui=bold cterm=bold
|
||||
hi Comment guifg=#707070 guibg=NONE gui=bold cterm=bold
|
||||
hi Constant guifg=#dadada guibg=NONE gui=NONE cterm=NONE
|
||||
hi Error guifg=#ff005f guibg=#080808 gui=bold,reverse cterm=bold,reverse
|
||||
hi Identifier guifg=#dadada guibg=NONE gui=NONE cterm=NONE
|
||||
@@ -114,7 +116,6 @@ else
|
||||
let g:terminal_ansi_colors = ['#080808', '#af0000', '#005f00', '#af5f00', '#005faf', '#870087', '#008787', '#d7d7d7', '#626262', '#d70000', '#008700', '#d78700', '#0087d7', '#af00af', '#00afaf', '#ffffff']
|
||||
endif
|
||||
hi Normal guifg=#080808 guibg=#d7d7d7 gui=NONE cterm=NONE
|
||||
hi Terminal guifg=#080808 guibg=#d7d7d7 gui=NONE cterm=NONE
|
||||
hi ColorColumn guifg=NONE guibg=#e4e4e4 gui=NONE cterm=NONE
|
||||
hi Conceal guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Cursor guifg=NONE guibg=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse
|
||||
@@ -125,26 +126,26 @@ else
|
||||
hi DiffChange guifg=#afafd7 guibg=#080808 gui=reverse cterm=reverse
|
||||
hi DiffDelete guifg=#d78787 guibg=#080808 gui=reverse cterm=reverse
|
||||
hi DiffText guifg=#d787d7 guibg=#080808 gui=reverse cterm=reverse
|
||||
hi Directory guifg=#080808 guibg=#d7d7d7 gui=NONE cterm=NONE
|
||||
hi EndOfBuffer guifg=#080808 guibg=#d7d7d7 gui=NONE cterm=NONE
|
||||
hi Directory guifg=#080808 guibg=NONE gui=NONE cterm=NONE
|
||||
hi EndOfBuffer guifg=#080808 guibg=NONE gui=NONE cterm=NONE
|
||||
hi ErrorMsg guifg=#080808 guibg=#d7d7d7 gui=reverse cterm=reverse
|
||||
hi FoldColumn guifg=#626262 guibg=#d7d7d7 gui=NONE cterm=NONE
|
||||
hi FoldColumn guifg=#626262 guibg=NONE gui=NONE cterm=NONE
|
||||
hi Folded guifg=#626262 guibg=#d7d7d7 gui=NONE cterm=NONE
|
||||
hi IncSearch guifg=#ffaf00 guibg=#080808 gui=reverse cterm=reverse
|
||||
hi LineNr guifg=#a8a8a8 guibg=#d7d7d7 gui=NONE cterm=NONE
|
||||
hi LineNr guifg=#a8a8a8 guibg=NONE gui=NONE cterm=NONE
|
||||
hi MatchParen guifg=#ff00af guibg=#d7d7d7 gui=bold cterm=bold
|
||||
hi ModeMsg guifg=#080808 guibg=#d7d7d7 gui=bold cterm=bold
|
||||
hi MoreMsg guifg=#080808 guibg=#d7d7d7 gui=NONE cterm=NONE
|
||||
hi ModeMsg guifg=#080808 guibg=NONE gui=bold cterm=bold
|
||||
hi MoreMsg guifg=#080808 guibg=NONE gui=NONE cterm=NONE
|
||||
hi NonText guifg=#626262 guibg=NONE gui=NONE cterm=NONE
|
||||
hi Pmenu guifg=#080808 guibg=#afafd7 gui=NONE cterm=NONE
|
||||
hi PmenuSbar guifg=#080808 guibg=#626262 gui=NONE cterm=NONE
|
||||
hi PmenuSel guifg=#080808 guibg=#d787d7 gui=NONE cterm=NONE
|
||||
hi PmenuThumb guifg=#080808 guibg=#d787d7 gui=NONE cterm=NONE
|
||||
hi Question guifg=#080808 guibg=#d7d7d7 gui=NONE cterm=NONE
|
||||
hi Question guifg=#080808 guibg=NONE gui=NONE cterm=NONE
|
||||
hi QuickFixLine guifg=#d787d7 guibg=#080808 gui=reverse cterm=reverse
|
||||
hi Search guifg=#00afff guibg=#080808 gui=reverse cterm=reverse
|
||||
hi SignColumn guifg=#080808 guibg=#d7d7d7 gui=NONE cterm=NONE
|
||||
hi SpecialKey guifg=#080808 guibg=#d7d7d7 gui=NONE cterm=NONE
|
||||
hi SignColumn guifg=#080808 guibg=NONE gui=NONE cterm=NONE
|
||||
hi SpecialKey guifg=#080808 guibg=NONE gui=NONE cterm=NONE
|
||||
hi SpellBad guifg=#af0000 guibg=#d7d7d7 guisp=#af0000 gui=undercurl cterm=underline
|
||||
hi SpellCap guifg=#005faf guibg=#d7d7d7 guisp=#005faf gui=undercurl cterm=underline
|
||||
hi SpellLocal guifg=#870087 guibg=#d7d7d7 guisp=#870087 gui=undercurl cterm=underline
|
||||
@@ -154,13 +155,13 @@ 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=#d7d7d7 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=#d7d7d7 gui=NONE cterm=NONE
|
||||
hi WarningMsg guifg=#080808 guibg=NONE gui=NONE cterm=NONE
|
||||
hi WildMenu guifg=#080808 guibg=#eeeeee gui=bold cterm=bold
|
||||
hi Comment guifg=#080808 guibg=#d7d7d7 gui=bold cterm=bold
|
||||
hi Comment guifg=#080808 guibg=NONE gui=bold cterm=bold
|
||||
hi Constant guifg=#080808 guibg=NONE gui=NONE cterm=NONE
|
||||
hi Error guifg=#ff005f guibg=#080808 gui=bold,reverse cterm=bold,reverse
|
||||
hi Identifier guifg=#080808 guibg=NONE gui=NONE cterm=NONE
|
||||
@@ -179,7 +180,6 @@ endif
|
||||
if s:t_Co >= 256
|
||||
if &background ==# 'dark'
|
||||
hi Normal ctermfg=253 ctermbg=232 cterm=NONE
|
||||
hi Terminal ctermfg=253 ctermbg=232 cterm=NONE
|
||||
hi ColorColumn ctermfg=NONE ctermbg=234 cterm=NONE
|
||||
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Cursor ctermfg=NONE ctermbg=NONE cterm=reverse
|
||||
@@ -190,42 +190,42 @@ 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=232 cterm=NONE
|
||||
hi FoldColumn ctermfg=242 ctermbg=NONE cterm=NONE
|
||||
hi Folded ctermfg=242 ctermbg=232 cterm=NONE
|
||||
hi IncSearch ctermfg=214 ctermbg=232 cterm=reverse
|
||||
hi LineNr ctermfg=238 ctermbg=232 cterm=NONE
|
||||
hi MatchParen ctermfg=199 ctermbg=232 cterm=bold
|
||||
hi ModeMsg ctermfg=253 ctermbg=232 cterm=bold
|
||||
hi MoreMsg ctermfg=253 ctermbg=232 cterm=NONE
|
||||
hi LineNr ctermfg=238 ctermbg=NONE cterm=NONE
|
||||
hi MatchParen ctermfg=199 ctermbg=NONE cterm=bold
|
||||
hi ModeMsg ctermfg=253 ctermbg=NONE cterm=bold
|
||||
hi MoreMsg ctermfg=253 ctermbg=NONE cterm=NONE
|
||||
hi NonText ctermfg=242 ctermbg=NONE cterm=NONE
|
||||
hi Pmenu ctermfg=232 ctermbg=110 cterm=NONE
|
||||
hi PmenuSbar ctermfg=253 ctermbg=242 cterm=NONE
|
||||
hi PmenuSel ctermfg=232 ctermbg=176 cterm=NONE
|
||||
hi PmenuThumb ctermfg=253 ctermbg=176 cterm=NONE
|
||||
hi Question ctermfg=253 ctermbg=232 cterm=NONE
|
||||
hi Question ctermfg=253 ctermbg=NONE cterm=NONE
|
||||
hi QuickFixLine ctermfg=176 ctermbg=232 cterm=reverse
|
||||
hi Search ctermfg=39 ctermbg=232 cterm=reverse
|
||||
hi SignColumn ctermfg=253 ctermbg=232 cterm=NONE
|
||||
hi SpecialKey ctermfg=253 ctermbg=232 cterm=NONE
|
||||
hi SpellBad ctermfg=161 ctermbg=232 cterm=underline
|
||||
hi SpellCap ctermfg=32 ctermbg=232 cterm=underline
|
||||
hi SpellLocal ctermfg=176 ctermbg=232 cterm=underline
|
||||
hi SpellRare ctermfg=37 ctermbg=232 cterm=underline
|
||||
hi SignColumn ctermfg=253 ctermbg=NONE cterm=NONE
|
||||
hi SpecialKey ctermfg=253 ctermbg=NONE cterm=NONE
|
||||
hi SpellBad ctermfg=161 ctermbg=NONE cterm=underline
|
||||
hi SpellCap ctermfg=32 ctermbg=NONE cterm=underline
|
||||
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=232 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=232 cterm=NONE
|
||||
hi WarningMsg ctermfg=253 ctermbg=NONE cterm=NONE
|
||||
hi WildMenu ctermfg=39 ctermbg=232 cterm=bold
|
||||
hi Comment ctermfg=242 ctermbg=232 cterm=bold
|
||||
hi Comment ctermfg=242 ctermbg=NONE cterm=bold
|
||||
hi Constant ctermfg=253 ctermbg=NONE cterm=NONE
|
||||
hi Error ctermfg=197 ctermbg=232 cterm=bold,reverse
|
||||
hi Identifier ctermfg=253 ctermbg=NONE cterm=NONE
|
||||
@@ -242,7 +242,6 @@ if s:t_Co >= 256
|
||||
else
|
||||
" Light background
|
||||
hi Normal ctermfg=232 ctermbg=188 cterm=NONE
|
||||
hi Terminal ctermfg=232 ctermbg=188 cterm=NONE
|
||||
hi ColorColumn ctermfg=NONE ctermbg=254 cterm=NONE
|
||||
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Cursor ctermfg=NONE ctermbg=NONE cterm=reverse
|
||||
@@ -253,26 +252,26 @@ if s:t_Co >= 256
|
||||
hi DiffChange ctermfg=146 ctermbg=232 cterm=reverse
|
||||
hi DiffDelete ctermfg=174 ctermbg=232 cterm=reverse
|
||||
hi DiffText ctermfg=176 ctermbg=232 cterm=reverse
|
||||
hi Directory ctermfg=232 ctermbg=188 cterm=NONE
|
||||
hi EndOfBuffer ctermfg=232 ctermbg=188 cterm=NONE
|
||||
hi Directory ctermfg=232 ctermbg=NONE cterm=NONE
|
||||
hi EndOfBuffer ctermfg=232 ctermbg=NONE cterm=NONE
|
||||
hi ErrorMsg ctermfg=232 ctermbg=188 cterm=reverse
|
||||
hi FoldColumn ctermfg=241 ctermbg=188 cterm=NONE
|
||||
hi FoldColumn ctermfg=241 ctermbg=NONE cterm=NONE
|
||||
hi Folded ctermfg=241 ctermbg=188 cterm=NONE
|
||||
hi IncSearch ctermfg=214 ctermbg=232 cterm=reverse
|
||||
hi LineNr ctermfg=248 ctermbg=188 cterm=NONE
|
||||
hi LineNr ctermfg=248 ctermbg=NONE cterm=NONE
|
||||
hi MatchParen ctermfg=199 ctermbg=188 cterm=bold
|
||||
hi ModeMsg ctermfg=232 ctermbg=188 cterm=bold
|
||||
hi MoreMsg ctermfg=232 ctermbg=188 cterm=NONE
|
||||
hi ModeMsg ctermfg=232 ctermbg=NONE cterm=bold
|
||||
hi MoreMsg ctermfg=232 ctermbg=NONE cterm=NONE
|
||||
hi NonText ctermfg=241 ctermbg=NONE cterm=NONE
|
||||
hi Pmenu ctermfg=232 ctermbg=146 cterm=NONE
|
||||
hi PmenuSbar ctermfg=232 ctermbg=241 cterm=NONE
|
||||
hi PmenuSel ctermfg=232 ctermbg=176 cterm=NONE
|
||||
hi PmenuThumb ctermfg=232 ctermbg=176 cterm=NONE
|
||||
hi Question ctermfg=232 ctermbg=188 cterm=NONE
|
||||
hi Question ctermfg=232 ctermbg=NONE cterm=NONE
|
||||
hi QuickFixLine ctermfg=176 ctermbg=232 cterm=reverse
|
||||
hi Search ctermfg=39 ctermbg=232 cterm=reverse
|
||||
hi SignColumn ctermfg=232 ctermbg=188 cterm=NONE
|
||||
hi SpecialKey ctermfg=232 ctermbg=188 cterm=NONE
|
||||
hi SignColumn ctermfg=232 ctermbg=NONE cterm=NONE
|
||||
hi SpecialKey ctermfg=232 ctermbg=NONE cterm=NONE
|
||||
hi SpellBad ctermfg=124 ctermbg=188 cterm=underline
|
||||
hi SpellCap ctermfg=25 ctermbg=188 cterm=underline
|
||||
hi SpellLocal ctermfg=90 ctermbg=188 cterm=underline
|
||||
@@ -282,13 +281,13 @@ 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=188 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=188 cterm=NONE
|
||||
hi WarningMsg ctermfg=232 ctermbg=NONE cterm=NONE
|
||||
hi WildMenu ctermfg=232 ctermbg=255 cterm=bold
|
||||
hi Comment ctermfg=232 ctermbg=188 cterm=bold
|
||||
hi Comment ctermfg=232 ctermbg=NONE cterm=bold
|
||||
hi Constant ctermfg=232 ctermbg=NONE cterm=NONE
|
||||
hi Error ctermfg=197 ctermbg=232 cterm=bold,reverse
|
||||
hi Identifier ctermfg=232 ctermbg=NONE cterm=NONE
|
||||
@@ -310,23 +309,22 @@ endif
|
||||
if s:t_Co >= 16
|
||||
if &background ==# 'dark'
|
||||
hi Normal ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Terminal ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi ColorColumn ctermfg=NONE ctermbg=NONE cterm=reverse
|
||||
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Cursor ctermfg=NONE ctermbg=NONE cterm=reverse
|
||||
hi CursorColumn ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi CursorLine ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi CursorLineNr ctermfg=NONE ctermbg=NONE cterm=bold
|
||||
hi DiffAdd ctermfg=2 ctermbg=0 cterm=reverse
|
||||
hi DiffChange ctermfg=4 ctermbg=0 cterm=reverse
|
||||
hi DiffDelete ctermfg=1 ctermbg=0 cterm=reverse
|
||||
hi DiffText ctermfg=5 ctermbg=0 cterm=reverse
|
||||
hi DiffAdd ctermfg=darkgreen ctermbg=black cterm=reverse
|
||||
hi DiffChange ctermfg=darkblue ctermbg=black cterm=reverse
|
||||
hi DiffDelete ctermfg=darkred ctermbg=black cterm=reverse
|
||||
hi DiffText ctermfg=darkmagenta ctermbg=black cterm=reverse
|
||||
hi Directory ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi EndOfBuffer ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi ErrorMsg ctermfg=NONE ctermbg=NONE cterm=bold,reverse
|
||||
hi FoldColumn ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Folded ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi IncSearch ctermfg=3 ctermbg=0 cterm=bold,reverse,underline
|
||||
hi IncSearch ctermfg=darkyellow ctermbg=black cterm=bold,reverse,underline
|
||||
hi LineNr ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi MatchParen ctermfg=NONE ctermbg=NONE cterm=bold,underline
|
||||
hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=bold
|
||||
@@ -337,14 +335,14 @@ if s:t_Co >= 16
|
||||
hi PmenuSel ctermfg=NONE ctermbg=NONE cterm=bold
|
||||
hi PmenuThumb ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Question ctermfg=NONE ctermbg=NONE cterm=standout
|
||||
hi QuickFixLine ctermfg=5 ctermbg=0 cterm=reverse
|
||||
hi Search ctermfg=6 ctermbg=0 cterm=reverse
|
||||
hi QuickFixLine ctermfg=darkmagenta ctermbg=black cterm=reverse
|
||||
hi Search ctermfg=darkcyan ctermbg=black cterm=reverse
|
||||
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=reverse
|
||||
hi SpecialKey ctermfg=NONE ctermbg=NONE cterm=bold
|
||||
hi SpellBad ctermfg=1 ctermbg=NONE cterm=underline
|
||||
hi SpellCap ctermfg=4 ctermbg=NONE cterm=underline
|
||||
hi SpellLocal ctermfg=5 ctermbg=NONE cterm=underline
|
||||
hi SpellRare ctermfg=6 ctermbg=NONE cterm=underline
|
||||
hi SpellBad ctermfg=darkred ctermbg=NONE cterm=underline
|
||||
hi SpellCap ctermfg=darkblue ctermbg=NONE cterm=underline
|
||||
hi SpellLocal ctermfg=darkmagenta ctermbg=NONE cterm=underline
|
||||
hi SpellRare ctermfg=darkcyan ctermbg=NONE cterm=underline
|
||||
hi StatusLine ctermfg=NONE ctermbg=NONE cterm=bold,reverse
|
||||
hi StatusLineNC ctermfg=NONE ctermbg=NONE cterm=bold,underline
|
||||
hi TabLine ctermfg=NONE ctermbg=NONE cterm=bold,underline
|
||||
@@ -352,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
|
||||
@@ -373,23 +371,22 @@ if s:t_Co >= 16
|
||||
else
|
||||
" Light background
|
||||
hi Normal ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Terminal ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi ColorColumn ctermfg=NONE ctermbg=NONE cterm=reverse
|
||||
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Cursor ctermfg=NONE ctermbg=NONE cterm=reverse
|
||||
hi CursorColumn ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi CursorLine ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi CursorLineNr ctermfg=NONE ctermbg=NONE cterm=bold
|
||||
hi DiffAdd ctermfg=2 ctermbg=0 cterm=reverse
|
||||
hi DiffChange ctermfg=4 ctermbg=0 cterm=reverse
|
||||
hi DiffDelete ctermfg=1 ctermbg=0 cterm=reverse
|
||||
hi DiffText ctermfg=5 ctermbg=0 cterm=reverse
|
||||
hi DiffAdd ctermfg=darkgreen ctermbg=black cterm=reverse
|
||||
hi DiffChange ctermfg=darkblue ctermbg=black cterm=reverse
|
||||
hi DiffDelete ctermfg=darkred ctermbg=black cterm=reverse
|
||||
hi DiffText ctermfg=darkmagenta ctermbg=black cterm=reverse
|
||||
hi Directory ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi EndOfBuffer ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi ErrorMsg ctermfg=NONE ctermbg=NONE cterm=bold,reverse
|
||||
hi FoldColumn ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Folded ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi IncSearch ctermfg=3 ctermbg=0 cterm=bold,reverse,underline
|
||||
hi IncSearch ctermfg=darkyellow ctermbg=black cterm=bold,reverse,underline
|
||||
hi LineNr ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi MatchParen ctermfg=NONE ctermbg=NONE cterm=bold,underline
|
||||
hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=bold
|
||||
@@ -400,14 +397,14 @@ if s:t_Co >= 16
|
||||
hi PmenuSel ctermfg=NONE ctermbg=NONE cterm=bold
|
||||
hi PmenuThumb ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Question ctermfg=NONE ctermbg=NONE cterm=standout
|
||||
hi QuickFixLine ctermfg=5 ctermbg=0 cterm=reverse
|
||||
hi Search ctermfg=6 ctermbg=0 cterm=reverse
|
||||
hi QuickFixLine ctermfg=darkmagenta ctermbg=black cterm=reverse
|
||||
hi Search ctermfg=darkcyan ctermbg=black cterm=reverse
|
||||
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=reverse
|
||||
hi SpecialKey ctermfg=NONE ctermbg=NONE cterm=bold
|
||||
hi SpellBad ctermfg=1 ctermbg=NONE cterm=underline
|
||||
hi SpellCap ctermfg=4 ctermbg=NONE cterm=underline
|
||||
hi SpellLocal ctermfg=5 ctermbg=NONE cterm=underline
|
||||
hi SpellRare ctermfg=6 ctermbg=NONE cterm=underline
|
||||
hi SpellBad ctermfg=darkred ctermbg=NONE cterm=underline
|
||||
hi SpellCap ctermfg=darkblue ctermbg=NONE cterm=underline
|
||||
hi SpellLocal ctermfg=darkmagenta ctermbg=NONE cterm=underline
|
||||
hi SpellRare ctermfg=darkcyan ctermbg=NONE cterm=underline
|
||||
hi StatusLine ctermfg=NONE ctermbg=NONE cterm=bold,reverse
|
||||
hi StatusLineNC ctermfg=NONE ctermbg=NONE cterm=bold,underline
|
||||
hi TabLine ctermfg=NONE ctermbg=NONE cterm=bold,underline
|
||||
@@ -415,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
|
||||
@@ -441,23 +438,22 @@ endif
|
||||
if s:t_Co >= 8
|
||||
if &background ==# 'dark'
|
||||
hi Normal ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Terminal ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi ColorColumn ctermfg=NONE ctermbg=NONE cterm=reverse
|
||||
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Cursor ctermfg=NONE ctermbg=NONE cterm=reverse
|
||||
hi CursorColumn ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi CursorLine ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi CursorLineNr ctermfg=NONE ctermbg=NONE cterm=bold
|
||||
hi DiffAdd ctermfg=2 ctermbg=0 cterm=reverse
|
||||
hi DiffChange ctermfg=4 ctermbg=0 cterm=reverse
|
||||
hi DiffDelete ctermfg=1 ctermbg=0 cterm=reverse
|
||||
hi DiffText ctermfg=5 ctermbg=0 cterm=reverse
|
||||
hi DiffAdd ctermfg=darkgreen ctermbg=black cterm=reverse
|
||||
hi DiffChange ctermfg=darkblue ctermbg=black cterm=reverse
|
||||
hi DiffDelete ctermfg=darkred ctermbg=black cterm=reverse
|
||||
hi DiffText ctermfg=darkmagenta ctermbg=black cterm=reverse
|
||||
hi Directory ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi EndOfBuffer ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi ErrorMsg ctermfg=NONE ctermbg=NONE cterm=bold,reverse
|
||||
hi FoldColumn ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Folded ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi IncSearch ctermfg=3 ctermbg=0 cterm=bold,reverse,underline
|
||||
hi IncSearch ctermfg=darkyellow ctermbg=black cterm=bold,reverse,underline
|
||||
hi LineNr ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi MatchParen ctermfg=NONE ctermbg=NONE cterm=bold,underline
|
||||
hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=bold
|
||||
@@ -468,14 +464,14 @@ if s:t_Co >= 8
|
||||
hi PmenuSel ctermfg=NONE ctermbg=NONE cterm=bold
|
||||
hi PmenuThumb ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Question ctermfg=NONE ctermbg=NONE cterm=standout
|
||||
hi QuickFixLine ctermfg=5 ctermbg=0 cterm=reverse
|
||||
hi Search ctermfg=6 ctermbg=0 cterm=reverse
|
||||
hi QuickFixLine ctermfg=darkmagenta ctermbg=black cterm=reverse
|
||||
hi Search ctermfg=darkcyan ctermbg=black cterm=reverse
|
||||
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=reverse
|
||||
hi SpecialKey ctermfg=NONE ctermbg=NONE cterm=bold
|
||||
hi SpellBad ctermfg=1 ctermbg=NONE cterm=underline
|
||||
hi SpellCap ctermfg=4 ctermbg=NONE cterm=underline
|
||||
hi SpellLocal ctermfg=5 ctermbg=NONE cterm=underline
|
||||
hi SpellRare ctermfg=6 ctermbg=NONE cterm=underline
|
||||
hi SpellBad ctermfg=darkred ctermbg=NONE cterm=underline
|
||||
hi SpellCap ctermfg=darkblue ctermbg=NONE cterm=underline
|
||||
hi SpellLocal ctermfg=darkmagenta ctermbg=NONE cterm=underline
|
||||
hi SpellRare ctermfg=darkcyan ctermbg=NONE cterm=underline
|
||||
hi StatusLine ctermfg=NONE ctermbg=NONE cterm=bold,reverse
|
||||
hi StatusLineNC ctermfg=NONE ctermbg=NONE cterm=bold,underline
|
||||
hi TabLine ctermfg=NONE ctermbg=NONE cterm=bold,underline
|
||||
@@ -483,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
|
||||
@@ -504,23 +500,22 @@ if s:t_Co >= 8
|
||||
else
|
||||
" Light background
|
||||
hi Normal ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Terminal ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi ColorColumn ctermfg=NONE ctermbg=NONE cterm=reverse
|
||||
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Cursor ctermfg=NONE ctermbg=NONE cterm=reverse
|
||||
hi CursorColumn ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi CursorLine ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi CursorLineNr ctermfg=NONE ctermbg=NONE cterm=bold
|
||||
hi DiffAdd ctermfg=2 ctermbg=0 cterm=reverse
|
||||
hi DiffChange ctermfg=4 ctermbg=0 cterm=reverse
|
||||
hi DiffDelete ctermfg=1 ctermbg=0 cterm=reverse
|
||||
hi DiffText ctermfg=5 ctermbg=0 cterm=reverse
|
||||
hi DiffAdd ctermfg=darkgreen ctermbg=black cterm=reverse
|
||||
hi DiffChange ctermfg=darkblue ctermbg=black cterm=reverse
|
||||
hi DiffDelete ctermfg=darkred ctermbg=black cterm=reverse
|
||||
hi DiffText ctermfg=darkmagenta ctermbg=black cterm=reverse
|
||||
hi Directory ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi EndOfBuffer ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi ErrorMsg ctermfg=NONE ctermbg=NONE cterm=bold,reverse
|
||||
hi FoldColumn ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Folded ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi IncSearch ctermfg=3 ctermbg=0 cterm=bold,reverse,underline
|
||||
hi IncSearch ctermfg=darkyellow ctermbg=black cterm=bold,reverse,underline
|
||||
hi LineNr ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi MatchParen ctermfg=NONE ctermbg=NONE cterm=bold,underline
|
||||
hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=bold
|
||||
@@ -531,14 +526,14 @@ if s:t_Co >= 8
|
||||
hi PmenuSel ctermfg=NONE ctermbg=NONE cterm=bold
|
||||
hi PmenuThumb ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Question ctermfg=NONE ctermbg=NONE cterm=standout
|
||||
hi QuickFixLine ctermfg=5 ctermbg=0 cterm=reverse
|
||||
hi Search ctermfg=6 ctermbg=0 cterm=reverse
|
||||
hi QuickFixLine ctermfg=darkmagenta ctermbg=black cterm=reverse
|
||||
hi Search ctermfg=darkcyan ctermbg=black cterm=reverse
|
||||
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=reverse
|
||||
hi SpecialKey ctermfg=NONE ctermbg=NONE cterm=bold
|
||||
hi SpellBad ctermfg=1 ctermbg=NONE cterm=underline
|
||||
hi SpellCap ctermfg=4 ctermbg=NONE cterm=underline
|
||||
hi SpellLocal ctermfg=5 ctermbg=NONE cterm=underline
|
||||
hi SpellRare ctermfg=6 ctermbg=NONE cterm=underline
|
||||
hi SpellBad ctermfg=darkred ctermbg=NONE cterm=underline
|
||||
hi SpellCap ctermfg=darkblue ctermbg=NONE cterm=underline
|
||||
hi SpellLocal ctermfg=darkmagenta ctermbg=NONE cterm=underline
|
||||
hi SpellRare ctermfg=darkcyan ctermbg=NONE cterm=underline
|
||||
hi StatusLine ctermfg=NONE ctermbg=NONE cterm=bold,reverse
|
||||
hi StatusLineNC ctermfg=NONE ctermbg=NONE cterm=bold,underline
|
||||
hi TabLine ctermfg=NONE ctermbg=NONE cterm=bold,underline
|
||||
@@ -546,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
|
||||
@@ -638,69 +633,69 @@ if s:t_Co >= 0
|
||||
endif
|
||||
|
||||
" Background: dark
|
||||
" Color: dark0 #080808 ~ 0
|
||||
" Color: dark1 #d7005f ~ 1
|
||||
" Color: dark2 #00af5f ~ 2
|
||||
" Color: dark3 #d78700 ~ 3
|
||||
" Color: dark4 #0087d7 ~ 4
|
||||
" Color: dark5 #d787d7 ~ 5
|
||||
" Color: dark6 #00afaf ~ 6
|
||||
" Color: dark7 #dadada ~ 7
|
||||
" Color: dark8 #707070 ~ 8
|
||||
" Color: dark9 #ff005f ~ 9
|
||||
" Color: dark10 #00d75f ~ 10
|
||||
" Color: dark11 #ffaf00 ~ 11
|
||||
" Color: dark12 #5fafff ~ 12
|
||||
" Color: dark13 #ff87ff ~ 13
|
||||
" Color: dark14 #00d7d7 ~ 14
|
||||
" Color: dark15 #ffffff ~ 15
|
||||
" Color: diffred #d75f5f ~
|
||||
" Color: diffgreen #00af00 ~
|
||||
" Color: diffblue #87afd7 ~
|
||||
" Color: diffpink #d787d7 ~
|
||||
" Color: uipink #ff00af ~
|
||||
" Color: uilime #afff00 ~
|
||||
" Color: uiteal #00ffaf ~
|
||||
" Color: uiblue #00afff ~
|
||||
" Color: uipurple #af00ff ~
|
||||
" Color: uiamber #ffaf00 ~
|
||||
" Color: uiblack #303030 ~
|
||||
" Color: yasogrey #1c1c1c ~
|
||||
" Color: linenrblack #444444 ~
|
||||
" Color: errorred #ff005f ~
|
||||
" Color: dark0 #080808 232 black
|
||||
" Color: dark1 #d7005f 161 darkred
|
||||
" Color: dark2 #00af5f 35 darkgreen
|
||||
" Color: dark3 #d78700 172 darkyellow
|
||||
" Color: dark4 #0087d7 32 darkblue
|
||||
" Color: dark5 #d787d7 176 darkmagenta
|
||||
" Color: dark6 #00afaf 37 darkcyan
|
||||
" Color: dark7 #dadada 253 grey
|
||||
" Color: dark8 #707070 242 darkgrey
|
||||
" Color: dark9 #ff005f 197 red
|
||||
" Color: dark10 #00d75f 41 green
|
||||
" Color: dark11 #ffaf00 214 yellow
|
||||
" Color: dark12 #5fafff 75 blue
|
||||
" Color: dark13 #ff87ff 213 magenta
|
||||
" Color: dark14 #00d7d7 44 cyan
|
||||
" Color: dark15 #ffffff 231 white
|
||||
" Color: diffred #d75f5f 167 darkred
|
||||
" Color: diffgreen #00af00 34 darkgreen
|
||||
" Color: diffblue #87afd7 110 darkblue
|
||||
" Color: diffpink #d787d7 176 darkmagenta
|
||||
" Color: uipink #ff00af 199 magenta
|
||||
" Color: uilime #afff00 154 green
|
||||
" Color: uiteal #00ffaf 49 green
|
||||
" Color: uiblue #00afff 39 blue
|
||||
" Color: uipurple #af00ff 129 darkmagenta
|
||||
" Color: uiamber #ffaf00 214 darkyellow
|
||||
" Color: uiblack #303030 236 darkgrey
|
||||
" Color: yasogrey #1c1c1c 234 black
|
||||
" Color: linenrblack #444444 238 darkgrey
|
||||
" Color: errorred #ff005f 197 red
|
||||
" Term colors: dark0 dark1 dark2 dark3 dark4 dark5 dark6 dark7
|
||||
" Term colors: dark8 dark9 dark10 dark11 dark12 dark13 dark14 dark15
|
||||
" Background: light
|
||||
" Color: brightwhite #eeeeee ~
|
||||
" Color: light0 #080808 ~ 0
|
||||
" Color: light1 #af0000 ~ 1
|
||||
" Color: light2 #005f00 ~ 2
|
||||
" Color: light3 #af5f00 ~ 3
|
||||
" Color: light4 #005faf ~ 4
|
||||
" Color: light5 #870087 ~ 5
|
||||
" Color: light6 #008787 ~ 6
|
||||
" Color: light7 #d7d7d7 ~ 7
|
||||
" Color: light8 #626262 ~ 8
|
||||
" Color: light9 #d70000 ~ 9
|
||||
" Color: light10 #008700 ~ 10
|
||||
" Color: light11 #d78700 ~ 11
|
||||
" Color: light12 #0087d7 ~ 12
|
||||
" Color: light13 #af00af ~ 13
|
||||
" Color: light14 #00afaf ~ 14
|
||||
" Color: light15 #ffffff ~ 15
|
||||
" Color: diffred #d78787 ~
|
||||
" Color: diffgreen #87d787 ~
|
||||
" Color: diffblue #afafd7 ~
|
||||
" Color: diffpink #d787d7 ~
|
||||
" Color: uipink #ff00af ~
|
||||
" Color: uilime #afff00 ~
|
||||
" Color: uiteal #00ffaf ~
|
||||
" Color: uiblue #00afff ~
|
||||
" Color: uipurple #af00ff ~
|
||||
" Color: uiamber #ffaf00 ~
|
||||
" Color: invisigrey #a8a8a8 ~
|
||||
" Color: yasogrey #e4e4e4 ~
|
||||
" Color: errorred #ff005f ~
|
||||
" Color: brightwhite #eeeeee 255 grey
|
||||
" Color: light0 #080808 232 black
|
||||
" Color: light1 #af0000 124 darkred
|
||||
" Color: light2 #005f00 22 darkgreen
|
||||
" Color: light3 #af5f00 130 darkyellow
|
||||
" Color: light4 #005faf 25 darkblue
|
||||
" Color: light5 #870087 90 darkmagenta
|
||||
" Color: light6 #008787 30 darkcyan
|
||||
" Color: light7 #d7d7d7 188 grey
|
||||
" Color: light8 #626262 241 darkgrey
|
||||
" Color: light9 #d70000 160 red
|
||||
" Color: light10 #008700 28 green
|
||||
" Color: light11 #d78700 172 yellow
|
||||
" Color: light12 #0087d7 32 blue
|
||||
" Color: light13 #af00af 127 magenta
|
||||
" Color: light14 #00afaf 37 cyan
|
||||
" Color: light15 #ffffff 231 white
|
||||
" Color: diffred #d78787 174 red
|
||||
" Color: diffgreen #87d787 114 green
|
||||
" Color: diffblue #afafd7 146 blue
|
||||
" Color: diffpink #d787d7 176 magenta
|
||||
" Color: uipink #ff00af 199 magenta
|
||||
" Color: uilime #afff00 154 green
|
||||
" Color: uiteal #00ffaf 49 cyan
|
||||
" Color: uiblue #00afff 39 blue
|
||||
" Color: uipurple #af00ff 129 darkmagenta
|
||||
" Color: uiamber #ffaf00 214 yellow
|
||||
" Color: invisigrey #a8a8a8 248 darkgrey
|
||||
" Color: yasogrey #e4e4e4 254 grey
|
||||
" Color: errorred #ff005f 197 red
|
||||
" Term colors: light0 light1 light2 light3 light4 light5 light6 light7
|
||||
" Term colors: light8 light9 light10 light11 light12 light13 light14 light15
|
||||
" Background: any
|
||||
|
||||
@@ -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: 2022-07-26 15:50:11
|
||||
" 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') && !empty(&t_Co) && &t_Co >= 0 ? &t_Co : -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: 2022-07-26 15:50:12
|
||||
" 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') && !empty(&t_Co) && &t_Co >= 0 ? &t_Co : -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: 2022-07-26 15:50:14
|
||||
" Last Updated: Fri 02 Sep 2022 09:52:25 MSK
|
||||
|
||||
" Generated by Colortemplate v2.2.0
|
||||
|
||||
@@ -13,10 +13,10 @@ set background=dark
|
||||
hi clear
|
||||
let g:colors_name = 'slate'
|
||||
|
||||
let s:t_Co = exists('&t_Co') && !empty(&t_Co) && &t_Co >= 0 ? &t_Co : -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', '#ff0000', '#5f8700', '#ffff00', '#87d7ff', '#d7d787', '#ffd7af', '#666666', '#333333', '#ffafaf', '#00875f', '#ffd700', '#5f87d7', '#afaf87', '#ff8787', '#ffffff']
|
||||
let g:terminal_ansi_colors = ['#000000', '#cd0000', '#00cd00', '#cdcd00', '#0000ee', '#cd00cd', '#00cdcd', '#e5e5e5', '#7f7f7f', '#ff0000', '#00ff00', '#ffff00', '#5c5cff', '#ff00ff', '#00ffff', '#ffffff']
|
||||
endif
|
||||
hi! link Terminal Normal
|
||||
hi! link LineNrAbove LineNr
|
||||
@@ -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
|
||||
@@ -53,18 +55,18 @@ hi Visual guifg=#d7d787 guibg=#5f8700 gui=NONE cterm=NONE
|
||||
hi SignColumn guifg=NONE guibg=#262626 gui=NONE cterm=NONE
|
||||
hi VisualNOS guifg=#d7d787 guibg=#5f8700 gui=NONE cterm=NONE
|
||||
hi LineNr guifg=#666666 guibg=NONE gui=NONE cterm=NONE
|
||||
hi Underlined guifg=#5f87d7 guibg=NONE gui=underline cterm=underline
|
||||
hi Error guifg=#ff0000 guibg=#ffffff gui=reverse cterm=reverse
|
||||
hi ErrorMsg guifg=#ff0000 guibg=#000000 gui=reverse cterm=reverse
|
||||
hi ModeMsg guifg=#262626 guibg=#ffd700 gui=NONE cterm=NONE
|
||||
hi WarningMsg guifg=#ff8787 guibg=NONE gui=NONE cterm=NONE
|
||||
hi MoreMsg guifg=#00875f guibg=NONE gui=NONE cterm=NONE
|
||||
hi Question guifg=#ffd700 guibg=NONE gui=NONE cterm=NONE
|
||||
hi Todo guifg=#ff0000 guibg=#ffff00 gui=NONE cterm=NONE
|
||||
hi MatchParen guifg=#000000 guibg=#ffd700 gui=NONE cterm=NONE
|
||||
hi Search guifg=#000000 guibg=#d7875f gui=NONE cterm=NONE
|
||||
hi IncSearch guifg=#000000 guibg=#00ff00 gui=NONE cterm=NONE
|
||||
hi Todo guifg=#ff0000 guibg=#ffff00 gui=NONE cterm=NONE
|
||||
hi WildMenu guifg=#262626 guibg=#d7d787 gui=NONE cterm=NONE
|
||||
hi Underlined guifg=#5f87d7 guibg=NONE gui=underline cterm=underline
|
||||
hi Cursor guifg=#333333 guibg=#d7d787 gui=NONE cterm=NONE
|
||||
hi lCursor guifg=#262626 guibg=#ffafaf gui=NONE cterm=NONE
|
||||
hi SpellBad guifg=#ff0000 guibg=NONE guisp=#ff0000 gui=undercurl cterm=underline
|
||||
@@ -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
|
||||
@@ -128,18 +132,18 @@ if s:t_Co >= 256
|
||||
hi SignColumn ctermfg=NONE ctermbg=235 cterm=NONE
|
||||
hi VisualNOS ctermfg=186 ctermbg=64 cterm=NONE
|
||||
hi LineNr ctermfg=241 ctermbg=NONE cterm=NONE
|
||||
hi Underlined ctermfg=68 ctermbg=NONE cterm=underline
|
||||
hi Error ctermfg=196 ctermbg=231 cterm=reverse
|
||||
hi ErrorMsg ctermfg=196 ctermbg=16 cterm=reverse
|
||||
hi ModeMsg ctermfg=235 ctermbg=220 cterm=NONE
|
||||
hi WarningMsg ctermfg=210 ctermbg=NONE cterm=NONE
|
||||
hi MoreMsg ctermfg=29 ctermbg=NONE cterm=NONE
|
||||
hi Question ctermfg=220 ctermbg=NONE cterm=NONE
|
||||
hi Todo ctermfg=196 ctermbg=226 cterm=NONE
|
||||
hi MatchParen ctermfg=16 ctermbg=220 cterm=NONE
|
||||
hi Search ctermfg=16 ctermbg=173 cterm=NONE
|
||||
hi IncSearch ctermfg=16 ctermbg=46 cterm=NONE
|
||||
hi Todo ctermfg=196 ctermbg=226 cterm=NONE
|
||||
hi WildMenu ctermfg=235 ctermbg=186 cterm=NONE
|
||||
hi Underlined ctermfg=68 ctermbg=NONE cterm=underline
|
||||
hi SpellBad ctermfg=196 ctermbg=NONE cterm=underline
|
||||
hi SpellCap ctermfg=226 ctermbg=NONE cterm=underline
|
||||
hi SpellLocal ctermfg=217 ctermbg=NONE cterm=underline
|
||||
@@ -169,12 +173,12 @@ if s:t_Co >= 256
|
||||
endif
|
||||
|
||||
if s:t_Co >= 16
|
||||
hi Normal ctermfg=white ctermbg=black cterm=NONE
|
||||
hi EndOfBuffer ctermfg=blue ctermbg=NONE cterm=NONE
|
||||
hi StatusLine ctermfg=black ctermbg=grey cterm=NONE
|
||||
hi StatusLineNC ctermfg=darkgrey ctermbg=grey cterm=NONE
|
||||
hi StatusLineTerm ctermfg=black ctermbg=grey cterm=NONE
|
||||
hi StatusLineTermNC ctermfg=darkgrey ctermbg=grey cterm=NONE
|
||||
hi Normal ctermfg=grey ctermbg=black cterm=NONE
|
||||
hi EndOfBuffer ctermfg=darkblue ctermbg=NONE cterm=bold
|
||||
hi StatusLine ctermfg=white ctermbg=black cterm=bold,reverse
|
||||
hi StatusLineNC ctermfg=black ctermbg=grey cterm=NONE
|
||||
hi StatusLineTerm ctermfg=white ctermbg=black cterm=bold,reverse
|
||||
hi StatusLineTermNC ctermfg=black ctermbg=grey cterm=NONE
|
||||
hi VertSplit ctermfg=darkgrey ctermbg=grey cterm=NONE
|
||||
hi PmenuSel ctermfg=black ctermbg=darkyellow cterm=NONE
|
||||
hi Pmenu ctermfg=NONE ctermbg=darkgrey cterm=NONE
|
||||
@@ -198,38 +202,38 @@ if s:t_Co >= 16
|
||||
hi SignColumn ctermfg=NONE ctermbg=black cterm=NONE
|
||||
hi VisualNOS ctermfg=darkmagenta ctermbg=darkgreen cterm=NONE
|
||||
hi LineNr ctermfg=grey ctermbg=NONE cterm=NONE
|
||||
hi Underlined ctermfg=blue ctermbg=NONE cterm=underline
|
||||
hi Error ctermfg=darkred ctermbg=white cterm=reverse
|
||||
hi ErrorMsg ctermfg=darkred ctermbg=black cterm=reverse
|
||||
hi ModeMsg ctermfg=black ctermbg=yellow cterm=NONE
|
||||
hi WarningMsg ctermfg=cyan ctermbg=NONE cterm=NONE
|
||||
hi MoreMsg ctermfg=green ctermbg=NONE cterm=NONE
|
||||
hi Question ctermfg=yellow ctermbg=NONE cterm=NONE
|
||||
hi Todo ctermfg=darkred ctermbg=darkyellow cterm=NONE
|
||||
hi MatchParen ctermfg=black ctermbg=yellow cterm=NONE
|
||||
hi Search ctermfg=black ctermbg=darkmagenta cterm=NONE
|
||||
hi IncSearch ctermfg=black ctermbg=darkgreen cterm=NONE
|
||||
hi Todo ctermfg=black ctermbg=yellow cterm=NONE
|
||||
hi WildMenu ctermfg=black ctermbg=darkyellow cterm=NONE
|
||||
hi Underlined ctermfg=blue ctermbg=NONE cterm=underline
|
||||
hi SpellBad ctermfg=darkred ctermbg=NONE cterm=underline
|
||||
hi SpellCap ctermfg=darkyellow ctermbg=NONE cterm=underline
|
||||
hi SpellLocal ctermfg=red ctermbg=NONE cterm=underline
|
||||
hi SpellRare ctermfg=darkcyan ctermbg=NONE cterm=underline
|
||||
hi Comment ctermfg=darkgrey ctermbg=NONE cterm=NONE
|
||||
hi String ctermfg=cyan ctermbg=NONE cterm=NONE
|
||||
hi Identifier ctermfg=darkred ctermbg=NONE cterm=NONE
|
||||
hi Function ctermfg=yellow ctermbg=NONE cterm=NONE
|
||||
hi Special ctermfg=darkyellow ctermbg=NONE cterm=NONE
|
||||
hi Statement ctermfg=blue ctermbg=NONE cterm=bold
|
||||
hi Constant ctermfg=red ctermbg=NONE cterm=NONE
|
||||
hi PreProc ctermfg=darkmagenta ctermbg=NONE cterm=NONE
|
||||
hi Identifier ctermfg=red ctermbg=NONE cterm=bold
|
||||
hi Comment ctermfg=darkgray ctermbg=NONE cterm=NONE
|
||||
hi Operator ctermfg=red ctermbg=NONE cterm=NONE
|
||||
hi PreProc ctermfg=red ctermbg=NONE cterm=NONE
|
||||
hi Structure ctermfg=green ctermbg=NONE cterm=NONE
|
||||
hi Function ctermfg=yellow ctermbg=NONE cterm=NONE
|
||||
hi Type ctermfg=blue ctermbg=NONE cterm=bold
|
||||
hi Operator ctermfg=darkmagenta ctermbg=NONE cterm=NONE
|
||||
hi Define ctermfg=yellow ctermbg=NONE cterm=bold
|
||||
hi Structure ctermfg=darkgreen ctermbg=NONE cterm=NONE
|
||||
hi Directory ctermfg=green ctermbg=NONE cterm=bold
|
||||
hi Constant ctermfg=darkyellow ctermbg=NONE cterm=NONE
|
||||
hi String ctermfg=darkcyan ctermbg=NONE cterm=NONE
|
||||
hi Special ctermfg=darkyellow ctermbg=NONE cterm=NONE
|
||||
hi Directory ctermfg=darkgreen ctermbg=NONE cterm=bold
|
||||
hi Conceal ctermfg=grey ctermbg=NONE cterm=NONE
|
||||
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Title ctermfg=yellow ctermbg=NONE cterm=bold
|
||||
hi Title ctermfg=darkyellow ctermbg=NONE cterm=bold
|
||||
hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
|
||||
hi DiffChange ctermfg=white ctermbg=blue cterm=NONE
|
||||
hi DiffText ctermfg=black ctermbg=grey cterm=NONE
|
||||
@@ -274,27 +278,28 @@ if s:t_Co >= 8
|
||||
hi WarningMsg ctermfg=darkcyan ctermbg=NONE cterm=NONE
|
||||
hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=NONE
|
||||
hi Question ctermfg=darkyellow ctermbg=NONE cterm=NONE
|
||||
hi Todo ctermfg=darkred ctermbg=darkyellow cterm=NONE
|
||||
hi MatchParen ctermfg=black ctermbg=darkyellow cterm=NONE
|
||||
hi Search ctermfg=black ctermbg=darkmagenta cterm=NONE
|
||||
hi IncSearch ctermfg=black ctermbg=darkgreen cterm=NONE
|
||||
hi Todo ctermfg=black ctermbg=yellow cterm=NONE
|
||||
hi WildMenu ctermfg=black ctermbg=darkyellow cterm=NONE
|
||||
hi Underlined ctermfg=blue ctermbg=NONE cterm=underline
|
||||
hi SpellBad ctermfg=darkred ctermbg=darkyellow cterm=reverse
|
||||
hi SpellCap ctermfg=darkyellow ctermbg=NONE cterm=reverse
|
||||
hi SpellLocal ctermfg=darkmagenta ctermbg=darkyellow cterm=reverse
|
||||
hi SpellRare ctermfg=darkcyan ctermbg=NONE cterm=reverse
|
||||
hi Comment ctermfg=grey ctermbg=NONE cterm=bold
|
||||
hi String ctermfg=darkcyan ctermbg=NONE cterm=NONE
|
||||
hi Identifier ctermfg=darkred ctermbg=NONE cterm=NONE
|
||||
hi Function ctermfg=darkyellow ctermbg=NONE cterm=NONE
|
||||
hi Special ctermfg=darkyellow ctermbg=NONE cterm=NONE
|
||||
hi Statement ctermfg=darkblue ctermbg=NONE cterm=bold
|
||||
hi Constant ctermfg=darkred ctermbg=NONE cterm=bold
|
||||
hi PreProc ctermfg=darkmagenta ctermbg=NONE cterm=NONE
|
||||
hi Identifier ctermfg=darkred ctermbg=NONE cterm=bold
|
||||
hi Comment ctermfg=darkgray ctermbg=NONE cterm=bold
|
||||
hi Operator ctermfg=darkred ctermbg=NONE cterm=bold
|
||||
hi PreProc ctermfg=darkred ctermbg=NONE cterm=bold
|
||||
hi Structure ctermfg=darkgreen ctermbg=NONE cterm=bold
|
||||
hi Function ctermfg=darkyellow ctermbg=NONE cterm=bold
|
||||
hi Type ctermfg=darkblue ctermbg=NONE cterm=bold
|
||||
hi Operator ctermfg=darkmagenta ctermbg=NONE cterm=NONE
|
||||
hi Define ctermfg=darkyellow ctermbg=NONE cterm=bold
|
||||
hi Structure ctermfg=darkgreen ctermbg=NONE cterm=NONE
|
||||
hi Constant ctermfg=darkyellow ctermbg=NONE cterm=NONE
|
||||
hi String ctermfg=darkcyan ctermbg=NONE cterm=NONE
|
||||
hi Special ctermfg=darkyellow ctermbg=NONE cterm=NONE
|
||||
hi Directory ctermfg=darkgreen ctermbg=NONE cterm=bold
|
||||
hi Conceal ctermfg=grey ctermbg=NONE cterm=NONE
|
||||
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
@@ -376,29 +381,45 @@ if s:t_Co >= 0
|
||||
endif
|
||||
|
||||
" Background: dark
|
||||
" Color: foreground #FFFFFF 231 white
|
||||
" Color: background #262626 235 black
|
||||
" Color: color00 #000000 16 black
|
||||
" Color: color08 #333333 236 darkgrey
|
||||
" Color: color01 #FF0000 196 darkred
|
||||
" Color: color09 #FFAFAF 217 red
|
||||
" Color: color02 #5F8700 64 darkgreen
|
||||
" Color: color10 #00875F 29 green
|
||||
" Color: color03 #ffff00 226 darkyellow
|
||||
" Color: color11 #FFD700 220 yellow
|
||||
" Color: color04 #87d7FF 117 darkblue
|
||||
" Color: color12 #5F87D7 68 blue
|
||||
" Color: color05 #d7d787 186 darkmagenta
|
||||
" Color: color13 #AFAF87 144 magenta
|
||||
" Color: color06 #FFD7AF 223 darkcyan
|
||||
" Color: color14 #FF8787 210 cyan
|
||||
" Color: color07 #666666 241 grey
|
||||
" Color: color15 #FFFFFF 231 white
|
||||
" Color: color16 #D7875F 173 darkmagenta
|
||||
" Color: color17 #00FF00 46 darkgreen
|
||||
" Color: Pmenu #4A4A4A 239 darkgrey
|
||||
" Term colors: color00 color01 color02 color03 color04 color05 color06 color07
|
||||
" Term colors: color08 color09 color10 color11 color12 color13 color14 color15
|
||||
" 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 #0000ee 21 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
|
||||
" Color: foreground #FFFFFF 231 white
|
||||
" Color: background #262626 235 black
|
||||
" Color: color00 #000000 16 black
|
||||
" Color: color08 #333333 236 darkgrey
|
||||
" Color: color01 #FF0000 196 darkred
|
||||
" Color: color09 #FFAFAF 217 red
|
||||
" Color: color02 #5F8700 64 darkgreen
|
||||
" Color: color10 #00875F 29 green
|
||||
" Color: color03 #ffff00 226 darkyellow
|
||||
" Color: color11 #FFD700 220 yellow
|
||||
" Color: color04 #87d7FF 117 darkblue
|
||||
" Color: color12 #5F87D7 68 blue
|
||||
" Color: color05 #d7d787 186 darkmagenta
|
||||
" Color: color13 #AFAF87 144 magenta
|
||||
" Color: color06 #FFD7AF 223 darkcyan
|
||||
" Color: color14 #FF8787 210 cyan
|
||||
" Color: color07 #666666 241 grey
|
||||
" Color: color15 #FFFFFF 231 white
|
||||
" Color: color16 #D7875F 173 darkmagenta
|
||||
" Color: color17 #00FF00 46 darkgreen
|
||||
" Color: Pmenu #4A4A4A 239 darkgrey
|
||||
" Term colors: x_black x_darkred x_darkgreen x_darkyellow x_darkblue 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
|
||||
|
||||
@@ -6,10 +6,23 @@ vim9script
|
||||
def Test_check_colors()
|
||||
const savedview = winsaveview()
|
||||
cursor(1, 1)
|
||||
var err = {}
|
||||
|
||||
# err is
|
||||
# {
|
||||
# colors_name: "message",
|
||||
# init: "message",
|
||||
# background: "message",
|
||||
# ....etc
|
||||
# highlight: {
|
||||
# 'Normal': "Missing ...",
|
||||
# 'Conceal': "Missing ..."
|
||||
# ....etc
|
||||
# }
|
||||
# }
|
||||
var err: dict<any> = {}
|
||||
|
||||
# 1) Check g:colors_name is existing
|
||||
if !search('\<\%(g:\)\?colors_name\>', 'cnW')
|
||||
if search('\<\%(g:\)\?colors_name\>', 'cnW') == 0
|
||||
err['colors_name'] = 'g:colors_name not set'
|
||||
else
|
||||
err['colors_name'] = 'OK'
|
||||
@@ -180,11 +193,12 @@ def Test_check_colors()
|
||||
Result(err)
|
||||
enddef
|
||||
|
||||
def Result(err: any)
|
||||
|
||||
def Result(err: dict<any>)
|
||||
var do_groups: bool = v:false
|
||||
echohl Title | echomsg "---------------" | echohl Normal
|
||||
for key in sort(keys(err))
|
||||
if key is 'highlight'
|
||||
if key == 'highlight'
|
||||
do_groups = !empty(err[key])
|
||||
continue
|
||||
else
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Original maintainer Thorsten Maerz <info@netztorte.de>
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Updated: 2022-07-26 15:50:15
|
||||
" 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') && !empty(&t_Co) && &t_Co >= 0 ? &t_Co : -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: 2022-07-26 15:50:16
|
||||
" 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') && !empty(&t_Co) && &t_Co >= 0 ? &t_Co : -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
|
||||
|
||||
@@ -1,54 +1,48 @@
|
||||
" Vim compiler file
|
||||
" Compiler: ConTeXt typesetting engine
|
||||
" Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
||||
" Last Change: 2016 Oct 21
|
||||
vim9script
|
||||
|
||||
if exists("current_compiler")
|
||||
# Language: ConTeXt typesetting engine
|
||||
# Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
||||
# Former Maintainers: Nikolai Weibull <now@bitwi.se>
|
||||
# Latest Revision: 2022 Aug 12
|
||||
|
||||
if exists("g:current_compiler")
|
||||
finish
|
||||
endif
|
||||
let s:keepcpo= &cpo
|
||||
set cpo&vim
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
import autoload '../autoload/context.vim'
|
||||
|
||||
if exists(":CompilerSet") != 2 # Older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
" If makefile exists and we are not asked to ignore it, we use standard make
|
||||
" (do not redefine makeprg)
|
||||
g:current_compiler = 'context'
|
||||
|
||||
if get(b:, 'context_ignore_makefile', get(g:, 'context_ignore_makefile', 0)) ||
|
||||
\ (!filereadable('Makefile') && !filereadable('makefile'))
|
||||
let current_compiler = 'context'
|
||||
" The following assumes that the current working directory is set to the
|
||||
" directory of the file to be typeset
|
||||
let &l:makeprg = get(b:, 'context_mtxrun', get(g:, 'context_mtxrun', 'mtxrun'))
|
||||
\ . ' --script context --autogenerate --nonstopmode --synctex='
|
||||
\ . (get(b:, 'context_synctex', get(g:, 'context_synctex', 0)) ? '1' : '0')
|
||||
\ . ' ' . get(b:, 'context_extra_options', get(g:, 'context_extra_options', ''))
|
||||
\ . ' ' . shellescape(expand('%:p:t'))
|
||||
(!filereadable('Makefile') && !filereadable('makefile'))
|
||||
&l:makeprg = join(context.ConTeXtCmd(shellescape(expand('%:p:t'))), ' ')
|
||||
else
|
||||
let current_compiler = 'make'
|
||||
g:current_compiler = 'make'
|
||||
endif
|
||||
|
||||
let b:context_errorformat = ''
|
||||
\ . '%-Popen source%.%#> %f,'
|
||||
\ . '%-Qclose source%.%#> %f,'
|
||||
\ . "%-Popen source%.%#name '%f',"
|
||||
\ . "%-Qclose source%.%#name '%f',"
|
||||
\ . '%Etex %trror%.%#mp error on line %l in file %f:%.%#,'
|
||||
\ . 'tex %trror%.%#error on line %l in file %f: %m,'
|
||||
\ . '%Elua %trror%.%#error on line %l in file %f:,'
|
||||
\ . '%+Emetapost %#> error: %#,'
|
||||
\ . '! error: %#%m,'
|
||||
\ . '%-C %#,'
|
||||
\ . '%C! %m,'
|
||||
\ . '%Z[ctxlua]%m,'
|
||||
\ . '%+C<*> %.%#,'
|
||||
\ . '%-C%.%#,'
|
||||
\ . '%Z...%m,'
|
||||
\ . '%-Zno-error,'
|
||||
\ . '%-G%.%#' " Skip remaining lines
|
||||
const context_errorformat = join([
|
||||
"%-Popen source%.%#> %f",
|
||||
"%-Qclose source%.%#> %f",
|
||||
"%-Popen source%.%#name '%f'",
|
||||
"%-Qclose source%.%#name '%f'",
|
||||
"tex %trror%.%#error on line %l in file %f: %m",
|
||||
"%Elua %trror%.%#error on line %l in file %f:",
|
||||
"%+Emetapost %#> error: %#",
|
||||
"%Emetafun%.%#error: %m",
|
||||
"! error: %#%m",
|
||||
"%-C %#",
|
||||
"%C! %m",
|
||||
"%Z[ctxlua]%m",
|
||||
"%+C<*> %.%#",
|
||||
"%-C%.%#",
|
||||
"%Z...%m",
|
||||
"%-Zno-error",
|
||||
"%-G%.%#"], ",")
|
||||
|
||||
execute 'CompilerSet errorformat=' . escape(b:context_errorformat, ' ')
|
||||
execute 'CompilerSet errorformat=' .. escape(context_errorformat, ' ')
|
||||
|
||||
let &cpo = s:keepcpo
|
||||
unlet s:keepcpo
|
||||
# vim: sw=2 fdm=marker
|
||||
|
||||
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}])
|
||||
@@ -253,6 +253,7 @@ getreg([{regname} [, 1 [, {list}]]])
|
||||
String or List contents of a register
|
||||
getreginfo([{regname}]) Dict information about a register
|
||||
getregtype([{regname}]) String type of a register
|
||||
getscriptinfo([{opts}]) List list of sourced scripts
|
||||
gettabinfo([{expr}]) List list of tab pages
|
||||
gettabvar({nr}, {varname} [, {def}])
|
||||
any variable {varname} in tab {nr} or {def}
|
||||
@@ -291,6 +292,8 @@ iconv({expr}, {from}, {to}) String convert encoding of {expr}
|
||||
indent({lnum}) Number indent of line {lnum}
|
||||
index({object}, {expr} [, {start} [, {ic}]])
|
||||
Number index in {object} where {expr} appears
|
||||
indexof({object}, {expr} [, {opts}]])
|
||||
Number index in {object} where {expr} is true
|
||||
input({prompt} [, {text} [, {completion}]])
|
||||
String get input from the user
|
||||
inputdialog({prompt} [, {text} [, {cancelreturn}]])
|
||||
@@ -322,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
|
||||
@@ -468,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}
|
||||
@@ -502,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
|
||||
@@ -746,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
|
||||
@@ -763,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
|
||||
@@ -897,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|
|
||||
@@ -918,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()*
|
||||
@@ -936,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()*
|
||||
@@ -1176,7 +1173,8 @@ browsedir({title}, {initdir})
|
||||
browsing is not possible, an empty string is returned.
|
||||
|
||||
bufadd({name}) *bufadd()*
|
||||
Add a buffer to the buffer list with String {name}.
|
||||
Add a buffer to the buffer list with name {name} (must be a
|
||||
String).
|
||||
If a buffer for file {name} already exists, return that buffer
|
||||
number. Otherwise return the buffer number of the newly
|
||||
created buffer. When {name} is an empty string then a new
|
||||
@@ -1229,7 +1227,8 @@ bufload({buf}) *bufload()*
|
||||
Ensure the buffer {buf} is loaded. When the buffer name
|
||||
refers to an existing file then the file is read. Otherwise
|
||||
the buffer will be empty. If the buffer was already loaded
|
||||
then there is no change.
|
||||
then there is no change. If the buffer is not related to a
|
||||
file the no file is read (e.g., when 'buftype' is "nofile").
|
||||
If there is an existing swap file for the file of the buffer,
|
||||
there will be no dialog, the buffer will be loaded anyway.
|
||||
The {buf} argument is used like with |bufexists()|.
|
||||
@@ -1419,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|
|
||||
@@ -1665,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:
|
||||
@@ -1792,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()*
|
||||
@@ -1809,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()*
|
||||
@@ -2396,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()*
|
||||
@@ -2731,8 +2722,6 @@ finddir({name} [, {path} [, {count}]]) *finddir()*
|
||||
Returns an empty string if the directory is not found.
|
||||
|
||||
This is quite similar to the ex-command `:find`.
|
||||
{only available when compiled with the |+file_in_path|
|
||||
feature}
|
||||
|
||||
Can also be used as a |method|: >
|
||||
GetName()->finddir()
|
||||
@@ -2800,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()*
|
||||
@@ -2819,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()*
|
||||
@@ -2841,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()*
|
||||
@@ -2960,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".
|
||||
@@ -3034,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')
|
||||
@@ -3047,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)
|
||||
@@ -3422,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()*
|
||||
@@ -3431,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()|.
|
||||
|
||||
@@ -3441,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
|
||||
@@ -3450,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
|
||||
@@ -4086,6 +4080,47 @@ getregtype([{regname}]) *getregtype()*
|
||||
Can also be used as a |method|: >
|
||||
GetRegname()->getregtype()
|
||||
|
||||
getscriptinfo([{opts}) *getscriptinfo()*
|
||||
Returns a |List| with information about all the sourced Vim
|
||||
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
|
||||
`import autoload` but was not actually sourced
|
||||
yet (see |import-autoload|).
|
||||
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
|
||||
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
|
||||
@@ -4397,8 +4432,11 @@ has({feature} [, {check}])
|
||||
|
||||
has_key({dict}, {key}) *has_key()*
|
||||
The result is a Number, which is TRUE if |Dictionary| {dict}
|
||||
has an entry with key {key}. FALSE otherwise. The {key}
|
||||
argument is a string.
|
||||
has an entry with key {key}. FALSE otherwise.
|
||||
The {key} argument is a string. In |Vim9| script a number is
|
||||
also accepted (and converted to a string) but no other types.
|
||||
In legacy script the usual automatic conversion to string is
|
||||
done.
|
||||
|
||||
Can also be used as a |method|: >
|
||||
mydict->has_key(key)
|
||||
@@ -4730,19 +4768,25 @@ indent({lnum}) The result is a Number, which is indent of line {lnum} in the
|
||||
GetLnum()->indent()
|
||||
|
||||
index({object}, {expr} [, {start} [, {ic}]]) *index()*
|
||||
Find {expr} in {object} and return its index. See
|
||||
|indexof()| for using a lambda to select the item.
|
||||
|
||||
If {object} is a |List| return the lowest index where the item
|
||||
has a value equal to {expr}. There is no automatic
|
||||
conversion, so the String "4" is different from the Number 4.
|
||||
And the number 4 is different from the Float 4.0. The value
|
||||
of 'ignorecase' is not used here, case always matters.
|
||||
of 'ignorecase' is not used here, case matters as indicated by
|
||||
the {ic} argument.
|
||||
|
||||
If {object} is |Blob| return the lowest index where the byte
|
||||
value is equal to {expr}.
|
||||
|
||||
If {start} is given then start looking at the item with index
|
||||
{start} (may be negative for an item relative to the end).
|
||||
|
||||
When {ic} is given and it is |TRUE|, ignore case. Otherwise
|
||||
case must match.
|
||||
|
||||
-1 is returned when {expr} is not found in {object}.
|
||||
Example: >
|
||||
:let idx = index(words, "the")
|
||||
@@ -4751,6 +4795,47 @@ index({object}, {expr} [, {start} [, {ic}]]) *index()*
|
||||
< Can also be used as a |method|: >
|
||||
GetObject()->index(what)
|
||||
|
||||
indexof({object}, {expr} [, {opts}]) *indexof()*
|
||||
Returns the index of an item in {object} where {expr} is
|
||||
v:true. {object} must be a |List| or a |Blob|.
|
||||
|
||||
If {object} is a |List|, evaluate {expr} for each item in the
|
||||
List until the expression is v:true and return the index of
|
||||
this item.
|
||||
|
||||
If {object} is a |Blob| evaluate {expr} for each byte in the
|
||||
Blob until the expression is v:true and return the index of
|
||||
this byte.
|
||||
|
||||
{expr} must be a |string| or |Funcref|.
|
||||
|
||||
If {expr} is a |string|: If {object} is a |List|, inside
|
||||
{expr} |v:key| has the index of the current List item and
|
||||
|v:val| has the value of the item. If {object} is a |Blob|,
|
||||
inside {expr} |v:key| has the index of the current byte and
|
||||
|v:val| has the byte value.
|
||||
|
||||
If {expr} is a |Funcref| it must take two arguments:
|
||||
1. the key or the index of the current item.
|
||||
2. the value of the current item.
|
||||
The function must return |TRUE| if the item is found and the
|
||||
search should stop.
|
||||
|
||||
The optional argument {opts} is a Dict and supports the
|
||||
following items:
|
||||
startidx start evaluating {expr} at the item with this
|
||||
index; may be negative for an item relative to
|
||||
the end
|
||||
Returns -1 when {expr} evaluates to v:false for all the items.
|
||||
Example: >
|
||||
:let l = [#{n: 10}, #{n: 20}, #{n: 30}]
|
||||
:echo indexof(l, "v:val.n == 20")
|
||||
:echo indexof(l, {i, v -> v.n == 30})
|
||||
:echo indexof(l, "v:val.n == 20", #{startidx: 1})
|
||||
|
||||
< Can also be used as a |method|: >
|
||||
mylist->indexof(expr)
|
||||
|
||||
input({prompt} [, {text} [, {completion}]]) *input()*
|
||||
The result is a String, which is whatever the user typed on
|
||||
the command-line. The {prompt} argument is either a prompt
|
||||
@@ -4941,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
|
||||
@@ -4971,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
|
||||
@@ -5104,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
|
||||
@@ -5391,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()*
|
||||
@@ -5407,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
|
||||
@@ -5416,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.
|
||||
@@ -6139,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
|
||||
@@ -6346,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}
|
||||
@@ -7176,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'].
|
||||
|
||||
@@ -7229,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
|
||||
@@ -7372,8 +7472,10 @@ search({pattern} [, {flags} [, {stopline} [, {timeout} [, {skip}]]]])
|
||||
starts in column zero and then matches before the cursor are
|
||||
skipped. When the 'c' flag is present in 'cpo' the next
|
||||
search starts after the match. Without the 'c' flag the next
|
||||
search starts one column further. This matters for
|
||||
overlapping matches.
|
||||
search starts one column after the start of the match. This
|
||||
matters for overlapping matches. See |cpo-c|. You can also
|
||||
insert "\ze" to change where the match ends, see |/\ze|.
|
||||
|
||||
When searching backwards and the 'z' flag is given then the
|
||||
search starts in column zero, thus no match in the current
|
||||
line will be found (unless wrapping around the end of the
|
||||
@@ -7847,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.
|
||||
@@ -7859,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()
|
||||
@@ -8387,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()*
|
||||
@@ -8404,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()*
|
||||
@@ -8672,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()*
|
||||
@@ -8747,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
|
||||
@@ -9494,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()*
|
||||
@@ -9511,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*
|
||||
@@ -9748,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
|
||||
@@ -10337,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")
|
||||
@@ -10413,7 +10520,8 @@ use: `if exists('+shellslash')`
|
||||
|
||||
|
||||
acl Compiled with |ACL| support.
|
||||
all_builtin_terms Compiled with all builtin terminals enabled.
|
||||
all_builtin_terms Compiled with all builtin terminals enabled. (always
|
||||
true)
|
||||
amiga Amiga version of Vim.
|
||||
arabic Compiled with Arabic support |Arabic|.
|
||||
arp Compiled with ARP support (Amiga).
|
||||
@@ -10427,7 +10535,7 @@ browse Compiled with |:browse| support, and browse() will
|
||||
work.
|
||||
browsefilter Compiled with support for |browsefilter|.
|
||||
bsd Compiled on an OS in the BSD family (excluding macOS).
|
||||
builtin_terms Compiled with some builtin terminals.
|
||||
builtin_terms Compiled with some builtin terminals. (always true)
|
||||
byte_offset Compiled with support for 'o' in 'statusline'
|
||||
channel Compiled with support for |channel| and |job|
|
||||
cindent Compiled with 'cindent' support. (always true)
|
||||
@@ -10459,7 +10567,8 @@ ex_extra |+ex_extra| (always true)
|
||||
extra_search Compiled with support for |'incsearch'| and
|
||||
|'hlsearch'|
|
||||
farsi Support for Farsi was removed |farsi|.
|
||||
file_in_path Compiled with support for |gf| and |<cfile>|
|
||||
file_in_path Compiled with support for |gf| and |<cfile>| (always
|
||||
true)
|
||||
filterpipe When 'shelltemp' is off pipes are used for shell
|
||||
read/write/filter commands
|
||||
find_in_path Compiled with support for include file searches
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -199,9 +199,6 @@ CTRL-R CTRL-L *c_CTRL-R_CTRL-L* *c_<C-R>_<C-L>*
|
||||
currently displayed match is used. With CTRL-W the part of
|
||||
the word that was already typed is not inserted again.
|
||||
|
||||
CTRL-F and CTRL-P: {only when |+file_in_path| feature is
|
||||
included}
|
||||
|
||||
*c_CTRL-R_CTRL-R* *c_<C-R>_<C-R>*
|
||||
*c_CTRL-R_CTRL-O* *c_<C-R>_<C-O>*
|
||||
CTRL-R CTRL-R {register CTRL-F CTRL-P CTRL-W CTRL-A CTRL-L}
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -247,8 +247,6 @@ If you want to keep the changed buffer without saving it, switch on the
|
||||
*:fin* *:find*
|
||||
:fin[d][!] [++opt] [+cmd] {file}
|
||||
Find {file} in 'path' and then |:edit| it.
|
||||
{not available when the |+file_in_path| feature was
|
||||
disabled at compile time}
|
||||
|
||||
:{count}fin[d][!] [++opt] [+cmd] {file}
|
||||
Just like ":find", but use the {count} match in
|
||||
@@ -322,8 +320,6 @@ CTRL-^ Edit the alternate file. Mostly the alternate file is
|
||||
For Unix the '~' character is expanded, like in
|
||||
"~user/file". Environment variables are expanded too
|
||||
|expand-env|.
|
||||
{not available when the |+file_in_path| feature was
|
||||
disabled at compile time}
|
||||
|
||||
*v_gf*
|
||||
{Visual}[count]gf Same as "gf", but the highlighted text is used as the
|
||||
@@ -1707,8 +1703,6 @@ problem goes away the next day.
|
||||
==============================================================================
|
||||
11. File Searching *file-searching*
|
||||
|
||||
{not available when compiled without the |+path_extra| feature}
|
||||
|
||||
The file searching is currently used for the 'path', 'cdpath' and 'tags'
|
||||
options, for |finddir()| and |findfile()|. Other commands use |wildcards|
|
||||
which is slightly different.
|
||||
|
||||
@@ -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).
|
||||
@@ -1098,6 +1097,7 @@ a different type means the values are different: >
|
||||
echo 0 is []
|
||||
0
|
||||
"is#"/"isnot#" and "is?"/"isnot?" can be used to match and ignore case.
|
||||
In |Vim9| script this doesn't work, two strings are never identical.
|
||||
|
||||
In legacy script, when comparing a String with a Number, the String is
|
||||
converted to a Number, and the comparison is done on Numbers. This means
|
||||
@@ -1440,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
|
||||
@@ -1717,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
|
||||
@@ -2628,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*
|
||||
@@ -3607,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.
|
||||
|
||||
@@ -3820,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
|
||||
|
||||
|
||||
@@ -983,25 +983,38 @@ indentation: >
|
||||
PYTHON *ft-python-indent*
|
||||
|
||||
The amount of indent can be set for the following situations. The examples
|
||||
given are the defaults. Note that the variables are set to an expression, so
|
||||
that you can change the value of 'shiftwidth' later.
|
||||
given are the defaults. Note that the dictionary values are set to an
|
||||
expression, so that you can change the value of 'shiftwidth' later.
|
||||
|
||||
Indent after an open paren: >
|
||||
let g:pyindent_open_paren = 'shiftwidth() * 2'
|
||||
let g:python_indent.open_paren = 'shiftwidth() * 2'
|
||||
Indent after a nested paren: >
|
||||
let g:pyindent_nested_paren = 'shiftwidth()'
|
||||
let g:python_indent.nested_paren = 'shiftwidth()'
|
||||
Indent for a continuation line: >
|
||||
let g:pyindent_continue = 'shiftwidth() * 2'
|
||||
let g:python_indent.continue = 'shiftwidth() * 2'
|
||||
|
||||
By default, the closing paren on a multiline construct lines up under the first
|
||||
non-whitespace character of the previous line.
|
||||
If you prefer that it's lined up under the first character of the line that
|
||||
starts the multiline construct, reset this key: >
|
||||
let g:python_indent.closed_paren_align_last_line = v:false
|
||||
|
||||
The method uses |searchpair()| to look back for unclosed parentheses. This
|
||||
can sometimes be slow, thus it timeouts after 150 msec. If you notice the
|
||||
indenting isn't correct, you can set a larger timeout in msec: >
|
||||
let g:pyindent_searchpair_timeout = 500
|
||||
let g:python_indent.searchpair_timeout = 500
|
||||
|
||||
If looking back for unclosed parenthesis is still too slow, especially during
|
||||
a copy-paste operation, or if you don't need indenting inside multi-line
|
||||
parentheses, you can completely disable this feature: >
|
||||
let g:pyindent_disable_parentheses_indenting = 1
|
||||
let g:python_indent.disable_parentheses_indenting = 1
|
||||
|
||||
For backward compatibility, these variables are also supported: >
|
||||
g:pyindent_open_paren
|
||||
g:pyindent_nested_paren
|
||||
g:pyindent_continue
|
||||
g:pyindent_searchpair_timeout
|
||||
g:pyindent_disable_parentheses_indenting
|
||||
|
||||
|
||||
R *ft-r-indent*
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -532,8 +532,6 @@ including white space, the commands starting with "i" select an "inner" object
|
||||
without white space, or just the white space. Thus the "inner" commands
|
||||
always select less text than the "a" commands.
|
||||
|
||||
These commands are not available when the |+textobjects| feature has been
|
||||
disabled at compile time.
|
||||
Also see `gn` and `gN`, operating on the last search pattern.
|
||||
|
||||
*v_aw* *aw*
|
||||
@@ -612,7 +610,8 @@ i) *v_i)* *i)* *i(*
|
||||
i( *vib* *v_ib* *v_i(* *ib*
|
||||
ib "inner block", select [count] blocks, from "[count] [("
|
||||
to the matching ')', excluding the '(' and ')' (see
|
||||
|[(|).
|
||||
|[(|). If the cursor is not inside a () block, then
|
||||
find the next "(".
|
||||
When used in Visual mode it is made characterwise.
|
||||
|
||||
a> *v_a>* *v_a<* *a>* *a<*
|
||||
@@ -633,6 +632,7 @@ at "a tag block", select [count] tag blocks, from the
|
||||
"</aaa>", including the "<aaa>" and "</aaa>".
|
||||
See |tag-blocks| about the details.
|
||||
When used in Visual mode it is made characterwise.
|
||||
Only available when compiled with the |+eval| feature.
|
||||
|
||||
*v_it* *it*
|
||||
it "inner tag block", select [count] tag blocks, from the
|
||||
|
||||
@@ -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
|
||||
@@ -799,7 +799,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
When on, Vim will change the current working directory whenever you
|
||||
open a file, switch buffers, delete a buffer or open/close a window.
|
||||
It will change to the directory containing the file which was opened
|
||||
or selected.
|
||||
or selected. When a buffer has no name it also has no directory, thus
|
||||
the current directory won't change when navigating to it.
|
||||
Note: When this option is on some plugins may not work.
|
||||
|
||||
*'autoshelldir'* *'asd'* *'noautoshelldir'* *'noasd'*
|
||||
@@ -814,7 +815,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
if [[ -n "$VIM_TERMINAL" ]]; then
|
||||
PROMPT_COMMAND='_vim_sync_PWD'
|
||||
function _vim_sync_PWD() {
|
||||
printf "\033]7;file://%s\033\\" "$PWD"
|
||||
printf '\033]7;file://%s\033\\' "$PWD"
|
||||
}
|
||||
fi
|
||||
<
|
||||
@@ -823,14 +824,14 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
autoload -Uz add-zsh-hook
|
||||
add-zsh-hook -Uz chpwd _vim_sync_PWD
|
||||
function _vim_sync_PWD() {
|
||||
printf "\033]7;file://%s\033\\" "$PWD"
|
||||
printf '\033]7;file://%s\033\\' "$PWD"
|
||||
}
|
||||
fi
|
||||
<
|
||||
In a fish init file: >
|
||||
if test -n "$VIM_TERMINAL"
|
||||
function _vim_sync_PWD --on-variable=PWD
|
||||
printf "\033]7;file://%s\033\\" "$PWD"
|
||||
printf '\033]7;file://%s\033\\' "$PWD"
|
||||
end
|
||||
end
|
||||
<
|
||||
@@ -1176,8 +1177,6 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
Unix: "/tmp/*,$TMPDIR/*,$TMP/*,$TEMP/*"
|
||||
Mac: "/private/tmp/*,$TMPDIR/*,$TMP/*,$TEMP/*")
|
||||
global
|
||||
{not available when compiled without the |+wildignore|
|
||||
feature}
|
||||
A list of file patterns. When one of the patterns matches with the
|
||||
name of the file which is written, no backup file is created. Both
|
||||
the specified file name and the full path name of the file are used.
|
||||
@@ -1558,8 +1557,6 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
*'cdpath'* *'cd'* *E344* *E346*
|
||||
'cdpath' 'cd' string (default: equivalent to $CDPATH or ",,")
|
||||
global
|
||||
{not available when compiled without the
|
||||
|+file_in_path| feature}
|
||||
This is a list of directories which will be searched when using the
|
||||
|:cd|, |:tcd| and |:lcd| commands, provided that the directory being
|
||||
searched for has a relative path, not an absolute part starting with
|
||||
@@ -1786,15 +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.
|
||||
|
||||
*'cmdwinheight'* *'cwh'*
|
||||
'cmdwinheight' 'cwh' number (default 7)
|
||||
global
|
||||
@@ -5949,7 +5942,6 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
"http://www.vim.org" will make ":find index.html" work.
|
||||
- Search upwards and downwards in a directory tree using "*", "**" and
|
||||
";". See |file-searching| for info and syntax.
|
||||
{not available when compiled without the |+path_extra| feature}
|
||||
- Careful with '\' characters, type two to get one in the option: >
|
||||
:set path=.,c:\\include
|
||||
< Or just use '/' instead: >
|
||||
@@ -6475,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,
|
||||
@@ -7129,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"
|
||||
@@ -7179,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.
|
||||
@@ -7511,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
|
||||
@@ -7724,8 +7724,6 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
*'suffixesadd'* *'sua'*
|
||||
'suffixesadd' 'sua' string (default "")
|
||||
local to buffer
|
||||
{not available when compiled without the
|
||||
|+file_in_path| feature}
|
||||
Comma-separated list of suffixes, which are used when searching for a
|
||||
file for the "gf", "[I", etc. commands. Example: >
|
||||
:set suffixesadd=.java
|
||||
@@ -8003,8 +8001,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
a directory tree. See |file-searching|. E.g., "/lib/**/tags" will
|
||||
find all files named "tags" below "/lib". The filename itself cannot
|
||||
contain wildcards, it is used as-is. E.g., "/lib/**/tags?" will find
|
||||
files called "tags?". {not available when compiled without the
|
||||
|+path_extra| feature}
|
||||
files called "tags?".
|
||||
The |tagfiles()| function can be used to get a list of the file names
|
||||
actually used.
|
||||
If Vim was compiled with the |+emacs_tags| feature, Emacs-style tag
|
||||
@@ -9028,8 +9025,6 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
*'wildignore'* *'wig'*
|
||||
'wildignore' 'wig' string (default "")
|
||||
global
|
||||
{not available when compiled without the |+wildignore|
|
||||
feature}
|
||||
A list of file patterns. A file that matches with one of these
|
||||
patterns is ignored when expanding |wildcards|, completing file or
|
||||
directory names, and influences the result of |expand()|, |glob()| and
|
||||
@@ -9055,13 +9050,13 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
*'wildmenu'* *'wmnu'* *'nowildmenu'* *'nowmnu'*
|
||||
'wildmenu' 'wmnu' boolean (default off, set in |defaults.vim|)
|
||||
global
|
||||
{not available if compiled without the |+wildmenu|
|
||||
feature}
|
||||
When 'wildmenu' is on, command-line completion operates in an enhanced
|
||||
mode. On pressing 'wildchar' (usually <Tab>) to invoke completion,
|
||||
the possible matches are shown just above the command line, with the
|
||||
first match highlighted (overwriting the status line, if there is
|
||||
one). This is the behavior without "pum" in 'wildoptions'.
|
||||
the possible matches are shown.
|
||||
When 'wildoptions' contains "pum", then the completion matches are
|
||||
shown in a popup menu. Otherwise they are displayed just above the
|
||||
command line, with the first match highlighted (overwriting the status
|
||||
line, if there is one).
|
||||
Keys that show the previous/next match, such as <Tab> or
|
||||
CTRL-P/CTRL-N, cause the highlight to move to the appropriate match.
|
||||
When 'wildmode' is used, "wildmenu" mode is used where "full" is
|
||||
@@ -9070,8 +9065,6 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
If there are more matches than can fit in the line, a ">" is shown on
|
||||
the right and/or a "<" is shown on the left. The status line scrolls
|
||||
as needed.
|
||||
When 'wildoptions' contains "pum", then the completion matches are
|
||||
shown in a popup menu.
|
||||
The "wildmenu" mode is abandoned when a key is hit that is not used
|
||||
for selecting a completion.
|
||||
While the "wildmenu" is active, not using the popup menu, the
|
||||
@@ -9160,8 +9153,6 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
*'wildoptions'* *'wop'*
|
||||
'wildoptions' 'wop' string (default "")
|
||||
global
|
||||
{not available when compiled without the |+wildignore|
|
||||
feature}
|
||||
A list of words that change how |cmdline-completion| is done.
|
||||
The following values are supported:
|
||||
fuzzy Use |fuzzy-matching| to find completion matches. When
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -417,6 +417,10 @@ For writing a Vim script, see chapter 41 of the user manual |usr_41.txt|.
|
||||
For a script that was used with `import autoload` but
|
||||
was not actually sourced yet an "A" is shown after the
|
||||
script ID.
|
||||
For a script that was referred to by one name but
|
||||
after resolving symbolic links got sourced with
|
||||
another name the other script is after "->". E.g.
|
||||
"20->22" means script 20 was sourced as script 22.
|
||||
{not available when compiled without the |+eval|
|
||||
feature}
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||
|
||||
@@ -4905,6 +4905,7 @@ Before the color scheme will be loaded all default color list scripts
|
||||
autocommand event is triggered. After the color scheme has been loaded the
|
||||
|ColorScheme| autocommand event is triggered.
|
||||
|
||||
*colorscheme-override*
|
||||
If a color scheme is almost right, you can add modifications on top of it by
|
||||
using the |ColorScheme| autocommand. For example, to remove the background
|
||||
color (can make it transparent in some terminals): >
|
||||
@@ -5367,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*
|
||||
@@ -5387,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*
|
||||
|
||||
@@ -81,8 +81,6 @@ For the related autocommands see |tabnew-autocmd|.
|
||||
:[count]tabf[ind] [++opt] [+cmd] {file} *:tabf* *:tabfind*
|
||||
Open a new tab page and edit {file} in 'path', like with
|
||||
|:find|. For [count] see |:tabnew| above.
|
||||
{not available when the |+file_in_path| feature was disabled
|
||||
at compile time}
|
||||
|
||||
:[count]tab {cmd} *:tab*
|
||||
Execute {cmd} and when it opens a new window open a new tab
|
||||
|
||||
200
runtime/doc/tags
200
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,15 +4325,27 @@ 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*
|
||||
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*
|
||||
@@ -4368,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*
|
||||
@@ -4647,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*
|
||||
@@ -4950,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*
|
||||
@@ -5073,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*
|
||||
@@ -5107,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*
|
||||
@@ -5160,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*
|
||||
@@ -5222,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*
|
||||
@@ -5544,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*
|
||||
@@ -5679,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*
|
||||
@@ -5830,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{*
|
||||
@@ -5887,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*
|
||||
@@ -6228,6 +6271,7 @@ collate-variable eval.txt /*collate-variable*
|
||||
color-schemes syntax.txt /*color-schemes*
|
||||
color-xterm syntax.txt /*color-xterm*
|
||||
coloring syntax.txt /*coloring*
|
||||
colorscheme-override syntax.txt /*colorscheme-override*
|
||||
colortest.vim syntax.txt /*colortest.vim*
|
||||
command-attributes map.txt /*command-attributes*
|
||||
command-block vim9.txt /*command-block*
|
||||
@@ -6289,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*
|
||||
@@ -6463,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()*
|
||||
@@ -6933,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*
|
||||
@@ -6992,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*
|
||||
@@ -7070,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*
|
||||
@@ -7085,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*
|
||||
@@ -7444,6 +7506,7 @@ getscript-data pi_getscript.txt /*getscript-data*
|
||||
getscript-history pi_getscript.txt /*getscript-history*
|
||||
getscript-plugins pi_getscript.txt /*getscript-plugins*
|
||||
getscript-start pi_getscript.txt /*getscript-start*
|
||||
getscriptinfo() builtin.txt /*getscriptinfo()*
|
||||
gettabinfo() builtin.txt /*gettabinfo()*
|
||||
gettabvar() builtin.txt /*gettabvar()*
|
||||
gettabwinvar() builtin.txt /*gettabwinvar()*
|
||||
@@ -7692,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*
|
||||
@@ -7700,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*
|
||||
@@ -7899,6 +7964,7 @@ if_sniff.txt if_sniff.txt /*if_sniff.txt*
|
||||
if_tcl.txt if_tcl.txt /*if_tcl.txt*
|
||||
ignore-errors eval.txt /*ignore-errors*
|
||||
ignore-timestamp editing.txt /*ignore-timestamp*
|
||||
import-autoload vim9.txt /*import-autoload*
|
||||
import-legacy vim9.txt /*import-legacy*
|
||||
import-map vim9.txt /*import-map*
|
||||
improved-autocmds-5.4 version5.txt /*improved-autocmds-5.4*
|
||||
@@ -7933,6 +7999,7 @@ indentkeys-format indent.txt /*indentkeys-format*
|
||||
index index.txt /*index*
|
||||
index() builtin.txt /*index()*
|
||||
index.txt index.txt /*index.txt*
|
||||
indexof() builtin.txt /*indexof()*
|
||||
info-message starting.txt /*info-message*
|
||||
inform.vim syntax.txt /*inform.vim*
|
||||
informix ft_sql.txt /*informix*
|
||||
@@ -8063,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:*
|
||||
@@ -8131,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*
|
||||
@@ -8313,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()*
|
||||
@@ -8346,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*
|
||||
@@ -8744,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*
|
||||
@@ -8798,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*
|
||||
@@ -9203,6 +9273,7 @@ regexp pattern.txt /*regexp*
|
||||
regexp-changes-5.4 version5.txt /*regexp-changes-5.4*
|
||||
register sponsor.txt /*register*
|
||||
register-faq sponsor.txt /*register-faq*
|
||||
register-functions usr_41.txt /*register-functions*
|
||||
register-variable eval.txt /*register-variable*
|
||||
registers change.txt /*registers*
|
||||
rego.vim syntax.txt /*rego.vim*
|
||||
@@ -9384,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()*
|
||||
@@ -10271,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*
|
||||
@@ -10650,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
|
||||
|
||||
@@ -43,15 +43,10 @@ On non-Unix systems a termcap is only available if Vim was compiled with
|
||||
TERMCAP defined.
|
||||
|
||||
*builtin-terms* *builtin_terms*
|
||||
Which builtin terminals are available depends on a few defines in feature.h,
|
||||
which need to be set at compile time:
|
||||
define output of ":version" terminals builtin ~
|
||||
NO_BUILTIN_TCAPS -builtin_terms none
|
||||
SOME_BUILTIN_TCAPS +builtin_terms most common ones (default)
|
||||
ALL_BUILTIN_TCAPS ++builtin_terms all available
|
||||
|
||||
You can see a list of available builtin terminals with ":set term=xxx" (when
|
||||
not running the GUI). Also see |+builtin_terms|.
|
||||
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|.
|
||||
|
||||
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
|
||||
@@ -648,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*
|
||||
|
||||
@@ -1022,8 +1022,10 @@ create a security problem.
|
||||
*terminal-autoshelldir*
|
||||
This can be used to pass the current directory from a shell to Vim.
|
||||
Put this in your .vimrc: >
|
||||
def g:Tapi_lcd(_, args: string)
|
||||
execute 'silent lcd ' .. args
|
||||
def g:Tapi_lcd(_, path: string)
|
||||
if isdirectory(path)
|
||||
execute 'silent lcd ' .. fnameescape(path)
|
||||
endif
|
||||
enddef
|
||||
<
|
||||
And, in a bash init file: >
|
||||
|
||||
@@ -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
|
||||
@@ -126,6 +126,7 @@ prop_add({lnum}, {col}, {props})
|
||||
If {col} is invalid an error is given. *E964*
|
||||
|
||||
{props} is a dictionary with these fields:
|
||||
type name of the text property type
|
||||
length length of text in bytes, can only be used
|
||||
for a property that does not continue in
|
||||
another line; can be zero
|
||||
@@ -141,21 +142,35 @@ 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
|
||||
text_align when "text" is present and {col} is zero
|
||||
line if {col} is zero; prepend and/or append
|
||||
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:
|
||||
after after the end of the line
|
||||
right right aligned in the window
|
||||
right right aligned in the window (unless
|
||||
the text wraps to the next screen
|
||||
line)
|
||||
below in the next screen line
|
||||
When omitted "after" is used.
|
||||
above just above the line
|
||||
When omitted "after" is used. Only one
|
||||
"right" property can fit in each line, if
|
||||
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;
|
||||
padding between the end of the text line
|
||||
(leftmost column for "below") and the virtual
|
||||
text, not highlighted
|
||||
text_wrap when "text" is present and {col} is zero,
|
||||
specifies what happens if the text doesn't
|
||||
fit:
|
||||
wrap wrap the text to the next line
|
||||
truncate truncate the text to make it fit
|
||||
When omitted "truncate" is used.
|
||||
type name of the text property type
|
||||
All fields except "type" are optional.
|
||||
|
||||
It is an error when both "length" and "end_lnum" or "end_col"
|
||||
@@ -186,9 +201,10 @@ prop_add({lnum}, {col}, {props})
|
||||
buffer line, the cursor cannot be placed on it. A mouse click
|
||||
in the text will move the cursor to the first character after
|
||||
the text, or the last character of the line.
|
||||
Any Tab and other control character in the text will be
|
||||
changed to a space (Rationale: otherwise the size of the text
|
||||
is difficult to compute).
|
||||
A negative "id" will be chosen and is returned. Once a
|
||||
Any Tab in the text will be changed to a space (Rationale:
|
||||
otherwise the size of the text is difficult to compute).
|
||||
property with "text" has been added for a buffer then using a
|
||||
negative "id" for any other property will give an error:
|
||||
*E1293*
|
||||
@@ -347,11 +363,16 @@ prop_remove({props} [, {lnum} [, {lnum-end}]])
|
||||
{props} is a dictionary with these fields:
|
||||
id remove text properties with this ID
|
||||
type remove text properties with this type name
|
||||
both "id" and "type" must both match
|
||||
types remove text properties with type names in this
|
||||
List
|
||||
both "id" and "type"/"types" must both match
|
||||
bufnr use this buffer instead of the current one
|
||||
all when TRUE remove all matching text properties,
|
||||
not just the first one
|
||||
A property matches when either "id" or "type" matches.
|
||||
Only one of "type" and "types" may be supplied. *E1295*
|
||||
|
||||
A property matches when either "id" or one of the supplied
|
||||
types matches.
|
||||
If buffer "bufnr" does not exist you get an error message.
|
||||
If buffer "bufnr" is not loaded then nothing happens.
|
||||
|
||||
|
||||
@@ -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.
|
||||
@@ -67,18 +109,6 @@ Further Vim9 improvements, possibly after launch:
|
||||
has(featureName), len(someString)
|
||||
- Implement as part of an expression: ++expr, --expr, expr++, expr--.
|
||||
|
||||
Update list of features to vote on:
|
||||
- Remove Athena item (won't happen)
|
||||
- Remove "add open mode" (won't happen)
|
||||
- Remove "editing of a hidden buffer" (done)
|
||||
- Change "add IDE features" to "improve terminal debugger"
|
||||
- Change "diff/merge capability for CVS" to "CVS and git"
|
||||
- Remove "pre-compile them" from "improve the performance of Vim scripts"
|
||||
- Add: multiple cursors, edit text in more than one place at a time
|
||||
- Add: fast syntax highlighting with parser instead of regex patterns
|
||||
- Add: virtual text, text properties can insert text in the line
|
||||
- Add: start first line halfway, scroll per wrapped screen line
|
||||
|
||||
Popup windows:
|
||||
- Preview popup not properly updated when it overlaps with completion menu.
|
||||
(Yegappan Lakshmanan, 2021 May 22)
|
||||
@@ -188,15 +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 '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
|
||||
|
||||
@@ -205,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 ɔ̃
|
||||
@@ -252,6 +282,9 @@ MS-Windows: did path modifier :p:8 stop working? #8600
|
||||
Version of getchar() that does not move the cursor - #10603 Use a separate
|
||||
argument for the new flag.
|
||||
|
||||
Add "lastline" entry to 'fillchars' to specify a character instead of '@'.
|
||||
#10963
|
||||
|
||||
test_arglist func Test_all_not_allowed_from_cmdwin() hangs on MS-Windows.
|
||||
|
||||
Information for a specific terminal (e.g. gnome, tmux, konsole, alacritty) is
|
||||
@@ -279,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
|
||||
@@ -560,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)
|
||||
@@ -884,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.
|
||||
@@ -2653,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
|
||||
@@ -3762,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?
|
||||
@@ -3958,15 +3989,16 @@ Vim script language:
|
||||
can be the plugin name.
|
||||
Perhaps also have a way to remove everything that the package added?
|
||||
including autocommands.
|
||||
7 Pre-parse or compile Vim scripts into a bytecode.
|
||||
7 Pre-parse or compile Vim scripts into a bytecode, like :def functions.
|
||||
Possibilities:
|
||||
1. Put the bytecode with the original script, with an ":if
|
||||
has('bytecode')" around it, so that it's only used with a Vim that
|
||||
supports it. Update the code with a command, can be used in an
|
||||
autocommand.
|
||||
has('bytecode-1234')" around it, so that it's only used with a Vim that
|
||||
supports the version. Update the code with a command, can be used in
|
||||
an autocommand.
|
||||
2. Use a ".vic" file (like Python use .pyc). Create it when writing a
|
||||
.vim file. Problem: distribution.
|
||||
3. Use a cache directory for each user. How to recognize which cached
|
||||
file belongs to a sourced script?
|
||||
.vim file. Problem: distribution, non-writable directory, etc.
|
||||
3. Use a cache directory for each user. Disadvantage: cache lookup may
|
||||
cost more time than bytecode wins.
|
||||
7 Add argument to winwidth() to subtract the space taken by 'foldcolumn',
|
||||
signs and/or 'number'.
|
||||
6 Add ++ and -- operators? They only work on variables (lvals), how to
|
||||
|
||||
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
|
||||
@@ -792,14 +794,16 @@ List manipulation: *list-functions*
|
||||
reduce() reduce a List to a value
|
||||
slice() take a slice of a List
|
||||
sort() sort a List
|
||||
reverse() reverse the order of a List
|
||||
reverse() reverse the order of a List or Blob
|
||||
uniq() remove copies of repeated adjacent items
|
||||
split() split a String into a List
|
||||
join() join List items into a String
|
||||
range() return a List with a sequence of numbers
|
||||
string() String representation of a List
|
||||
call() call a function with List as arguments
|
||||
index() index of a value in a List
|
||||
index() index of a value in a List or Blob
|
||||
indexof() index in a List or Blob where an expression
|
||||
evaluates to true
|
||||
max() maximum value in a List
|
||||
min() minimum value in a List
|
||||
count() count number of times a value appears in a List
|
||||
@@ -1036,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
|
||||
@@ -1308,6 +1313,14 @@ Prompt Buffer: *promptbuffer-functions*
|
||||
prompt_setinterrupt() set interrupt callback for a buffer
|
||||
prompt_setprompt() set the prompt text for a buffer
|
||||
|
||||
Registers: *register-functions*
|
||||
getreg() get contents of a register
|
||||
getreginfo() get information about a register
|
||||
getregtype() get type of a register
|
||||
setreg() set contents and type of a register
|
||||
reg_executing() return the name of the register being executed
|
||||
reg_recording() return the name of the register being recorded
|
||||
|
||||
Text Properties: *text-property-functions*
|
||||
prop_add() attach a property at a position
|
||||
prop_add_list() attach a property at multiple positions
|
||||
@@ -1339,6 +1352,7 @@ Various: *various-functions*
|
||||
did_filetype() check if a FileType autocommand was used
|
||||
eventhandler() check if invoked by an event handler
|
||||
getpid() get process ID of Vim
|
||||
getscriptinfo() get list of sourced vim scripts
|
||||
getimstatus() check if IME status is active
|
||||
interrupt() interrupt script execution
|
||||
windowsversion() get MS-Windows version
|
||||
@@ -1350,13 +1364,6 @@ Various: *various-functions*
|
||||
undofile() get the name of the undo file
|
||||
undotree() return the state of the undo tree
|
||||
|
||||
getreg() get contents of a register
|
||||
getreginfo() get information about a register
|
||||
getregtype() get type of a register
|
||||
setreg() set contents and type of a register
|
||||
reg_executing() return the name of the register being executed
|
||||
reg_recording() return the name of the register being recorded
|
||||
|
||||
shiftwidth() effective value of 'shiftwidth'
|
||||
|
||||
wordcount() get byte/word/char count of buffer
|
||||
|
||||
@@ -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
|
||||
@@ -332,7 +332,8 @@ g8 Print the hex values of the bytes used in the
|
||||
*+ARP* Amiga only: ARP support included
|
||||
B *+arabic* |Arabic| language support
|
||||
B *+autochdir* support 'autochdir' option
|
||||
T *+autocmd* |:autocmd|, automatic commands
|
||||
T *+autocmd* |:autocmd|, automatic commands. Always enabled since
|
||||
8.0.1564
|
||||
H *+autoservername* Automatically enable |clientserver|
|
||||
m *+balloon_eval* |balloon-eval| support in the GUI. Included when
|
||||
compiling with supported GUI (Motif, GTK, GUI) and
|
||||
@@ -341,8 +342,8 @@ m *+balloon_eval* |balloon-eval| support in the GUI. Included when
|
||||
H *+balloon_eval_term* |balloon-eval| support in the terminal,
|
||||
'balloonevalterm'
|
||||
N *+browse* |:browse| command
|
||||
N *+builtin_terms* some terminals builtin |builtin-terms|
|
||||
B *++builtin_terms* maximal terminals builtin |builtin-terms|
|
||||
T *++builtin_terms* maximal terminals builtin |builtin-terms| Always
|
||||
enabled since 9.0.0280
|
||||
N *+byte_offset* support for 'o' flag in 'statusline' option, "go"
|
||||
and ":goto" commands.
|
||||
m *+channel* inter process communication |channel|
|
||||
@@ -373,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|
|
||||
@@ -431,7 +433,8 @@ T *+num64* 64-bit Number support |Number|
|
||||
check the actual size of a Number.
|
||||
m *+ole* Win32 GUI only: |ole-interface|
|
||||
N *+packages* Loading |packages|
|
||||
N *+path_extra* Up/downwards search in 'path' and 'tags'
|
||||
T *+path_extra* Up/downwards search in 'path' and 'tags' Always
|
||||
enabled since 9.0.0270
|
||||
m *+perl* Perl interface |perl|
|
||||
m *+perl/dyn* Perl interface |perl-dynamic| |/dyn|
|
||||
N *+persistent_undo* Persistent undo |undo-persistence|
|
||||
@@ -470,7 +473,7 @@ m *+terminal* Support for terminal window |terminal|
|
||||
*+terminfo* uses |terminfo| instead of termcap
|
||||
N *+termresponse* support for |t_RV| and |v:termresponse|
|
||||
B *+termguicolors* 24-bit color in xterm-compatible terminals support
|
||||
N *+textobjects* |text-objects| selection
|
||||
T *+textobjects* |text-objects| selection. Always enabled since 9.0.0222.
|
||||
N *+textprop* |text-properties|
|
||||
*+tgetent* non-Unix only: able to use external termcap
|
||||
N *+timers* the |timer_start()| function
|
||||
@@ -488,8 +491,8 @@ T *+visual* Visual mode |Visual-mode| Always enabled since 7.4.200.
|
||||
T *+visualextra* extra Visual mode commands |blockwise-operators|
|
||||
T *+vreplace* |gR| and |gr|
|
||||
*+vtp* on MS-Windows console: support for 'termguicolors'
|
||||
N *+wildignore* |'wildignore'|
|
||||
N *+wildmenu* |'wildmenu'|
|
||||
T *+wildignore* |'wildignore'| Always enabled since 9.0.0278
|
||||
T *+wildmenu* |'wildmenu'|| Always enabled since 9.0.0279
|
||||
T *+windows* more than one window; Always enabled since 8.0.1118.
|
||||
m *+writebackup* |'writebackup'| is default on
|
||||
m *+xim* X input method |xim|
|
||||
|
||||
@@ -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
|
||||
@@ -913,6 +913,12 @@ Comparators ~
|
||||
The 'ignorecase' option is not used for comparators that use strings.
|
||||
Thus "=~" works like "=~#".
|
||||
|
||||
"is" and "isnot" (|expr-is| and |expr-isnot|) when used on strings now return
|
||||
false. In legacy script they just compare the strings, in |Vim9| script they
|
||||
check identity, and strings are copied when used, thus two strings are never
|
||||
the same (this might change some day if strings are not copied but reference
|
||||
counted).
|
||||
|
||||
|
||||
Abort after error ~
|
||||
|
||||
@@ -1305,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
|
||||
@@ -1321,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*
|
||||
@@ -1612,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.
|
||||
|
||||
@@ -1654,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: >
|
||||
@@ -1795,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
|
||||
@@ -1817,7 +1846,7 @@ defined. This does not apply to autoload imports, see the next section.
|
||||
|
||||
|
||||
Importing an autoload script ~
|
||||
*vim9-autoload*
|
||||
*vim9-autoload* *import-autoload*
|
||||
For optimal startup speed, loading scripts should be postponed until they are
|
||||
actually needed. Using the autoload mechanism is recommended:
|
||||
*E1264*
|
||||
|
||||
@@ -183,6 +183,8 @@ CTRL-W v *CTRL-W_v*
|
||||
3. 'eadirection' isn't "ver", and
|
||||
4. one of the other windows is wider than the current or new
|
||||
window.
|
||||
If N was given make the new window N columns wide, if
|
||||
possible.
|
||||
Note: In other places CTRL-Q does the same as CTRL-V, but here
|
||||
it doesn't!
|
||||
|
||||
@@ -254,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,
|
||||
@@ -551,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).
|
||||
@@ -841,30 +854,22 @@ CTRL-W CTRL-F Split current window in two. Edit file name under cursor.
|
||||
If the name is a hypertext link that looks like
|
||||
"type://machine/path", only "/path" is used.
|
||||
If a count is given, the count'th matching file is edited.
|
||||
{not available when the |+file_in_path| feature was disabled
|
||||
at compile time}
|
||||
|
||||
CTRL-W F *CTRL-W_F*
|
||||
Split current window in two. Edit file name under cursor and
|
||||
jump to the line number following the file name. See |gF| for
|
||||
details on how the line number is obtained.
|
||||
{not available when the |+file_in_path| feature was disabled
|
||||
at compile time}
|
||||
|
||||
CTRL-W gf *CTRL-W_gf*
|
||||
Open a new tab page and edit the file name under the cursor.
|
||||
Like "tab split" and "gf", but the new tab page isn't created
|
||||
if the file does not exist.
|
||||
{not available when the |+file_in_path| feature was disabled
|
||||
at compile time}
|
||||
|
||||
CTRL-W gF *CTRL-W_gF*
|
||||
Open a new tab page and edit the file name under the cursor
|
||||
and jump to the line number following the file name. Like
|
||||
"tab split" and "gF", but the new tab page isn't created if
|
||||
the file does not exist.
|
||||
{not available when the |+file_in_path| feature was disabled
|
||||
at compile time}
|
||||
|
||||
CTRL-W gt *CTRL-W_gt*
|
||||
Go to next tab page, same as `gt`.
|
||||
|
||||
@@ -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")
|
||||
@@ -172,6 +172,9 @@ au BufNewFile,BufRead *.asm,*.[sS],*.[aA],*.mac,*.lst call dist#ft#FTasm()
|
||||
" Assembly - Macro (VAX)
|
||||
au BufNewFile,BufRead *.mar setf vmasm
|
||||
|
||||
" Astro
|
||||
au BufNewFile,BufRead *.astro setf astro
|
||||
|
||||
" Atlas
|
||||
au BufNewFile,BufRead *.atl,*.as setf atlas
|
||||
|
||||
@@ -296,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
|
||||
|
||||
@@ -445,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
|
||||
@@ -693,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
|
||||
@@ -714,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 |
|
||||
@@ -861,11 +880,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
|
||||
@@ -934,7 +953,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
|
||||
@@ -972,6 +991,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
|
||||
|
||||
@@ -1160,6 +1182,7 @@ au BufNewFile,BufRead *.mf setf mf
|
||||
|
||||
" MetaPost
|
||||
au BufNewFile,BufRead *.mp setf mp
|
||||
au BufNewFile,BufRead *.mpxl,*.mpiv,*.mpvi let b:mp_metafun = 1 | setf mp
|
||||
|
||||
" MGL
|
||||
au BufNewFile,BufRead *.mgl setf mgl
|
||||
@@ -1309,7 +1332,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
|
||||
@@ -1384,7 +1407,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
|
||||
@@ -1531,6 +1555,9 @@ au BufNewFile,BufRead *.ptl,*.pyi,SConstruct setf python
|
||||
" QL
|
||||
au BufRead,BufNewFile *.ql,*.qll setf ql
|
||||
|
||||
" Quarto
|
||||
au BufRead,BufNewFile *.qmd setf quarto
|
||||
|
||||
" Radiance
|
||||
au BufNewFile,BufRead *.rad,*.mat setf radiance
|
||||
|
||||
@@ -1702,6 +1729,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
|
||||
|
||||
@@ -1812,7 +1842,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
|
||||
@@ -1919,8 +1949,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
|
||||
@@ -2084,6 +2114,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
|
||||
|
||||
@@ -2553,6 +2591,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.
|
||||
|
||||
@@ -1,117 +1,115 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: ConTeXt typesetting engine
|
||||
" Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
||||
" Former Maintainers: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2021 Oct 15
|
||||
vim9script
|
||||
|
||||
# Vim filetype plugin file
|
||||
# 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_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
import autoload '../autoload/context.vim'
|
||||
|
||||
b:did_ftplugin = 1
|
||||
|
||||
if !exists('current_compiler')
|
||||
compiler context
|
||||
endif
|
||||
|
||||
let b:undo_ftplugin = "setl com< cms< def< inc< sua< fo< ofu<"
|
||||
b:undo_ftplugin = "setl com< cms< def< inc< sua< fo< ofu<"
|
||||
|
||||
setlocal comments=b:%D,b:%C,b:%M,:% commentstring=%\ %s formatoptions+=tjcroql2
|
||||
if get(b:, 'context_metapost', get(g:, 'context_metapost', 1))
|
||||
setlocal omnifunc=contextcomplete#Complete
|
||||
let g:omni_syntax_group_include_context = 'mf\w\+,mp\w\+'
|
||||
let g:omni_syntax_group_exclude_context = 'mfTodoComment'
|
||||
setlocal comments=b:%D,b:%C,b:%M,:%
|
||||
setlocal commentstring=%\ %s
|
||||
setlocal formatoptions+=tjcroql2
|
||||
setlocal omnifunc=context.Complete
|
||||
setlocal suffixesadd=.tex,.mkxl,.mkvi,.mkiv,.mkii
|
||||
|
||||
&l:define = '\\\%([egx]\|char\|mathchar\|count\|dimen\|muskip\|skip\|toks\)\='
|
||||
.. 'def\|\\font\|\\\%(future\)\=let'
|
||||
.. '\|\\new\%(count\|dimen\|skip\|muskip\|box\|toks\|read\|write'
|
||||
.. '\|fam\|insert\|if\)'
|
||||
|
||||
&l:include = '^\s*\\\%(input\|component\|product\|project\|environment\)'
|
||||
|
||||
if exists("g:loaded_matchit") && !exists("b:match_words")
|
||||
b:match_ignorecase = 0
|
||||
b:match_skip = 'r:\\\@<!\%(\\\\\)*%'
|
||||
b:match_words = '(:),\[:],{:},\\(:\\),\\\[:\\],\\start\(\a\+\):\\stop\1'
|
||||
b:undo_ftplugin ..= "| unlet! b:match_ignorecase b:match_words b:match_skip"
|
||||
endif
|
||||
|
||||
let &l:define='\\\%([egx]\|char\|mathchar\|count\|dimen\|muskip\|skip\|toks\)\='
|
||||
\ . 'def\|\\font\|\\\%(future\)\=let'
|
||||
\ . '\|\\new\%(count\|dimen\|skip\|muskip\|box\|toks\|read\|write'
|
||||
\ . '\|fam\|insert\|if\)'
|
||||
if !get(g:, 'no_context_maps', 0) && !get(g:, 'no_plugin_maps', 0)
|
||||
const context_regex = {
|
||||
'beginsection': '\\\%(start\)\=\%(\%(sub\)*section\|\%(sub\)*subject\|chapter\|part\|component\|product\|title\)\>',
|
||||
'endsection': '\\\%(stop\)\=\%(\%(sub\)*section\|\%(sub\)*subject\|chapter\|part\|component\|product\|title\)\>',
|
||||
'beginblock': '\\\%(start\|setup\|define\)',
|
||||
'endblock': '\\\%(stop\|setup\|define\)',
|
||||
}
|
||||
|
||||
let &l:include = '^\s*\\\%(input\|component\|product\|project\|environment\)'
|
||||
def UndoMap(mapping: string, modes: string)
|
||||
for mode in modes
|
||||
b:undo_ftplugin ..= printf(" | silent! execute '%sunmap <buffer> %s'", mode, mapping)
|
||||
endfor
|
||||
enddef
|
||||
|
||||
setlocal suffixesadd=.tex
|
||||
def MoveAround(count: number, what: string, flags: string)
|
||||
search(context_regex[what], flags .. 's') # 's' sets previous context mark
|
||||
var i = 2
|
||||
while i <= count
|
||||
search(context_regex[what], flags)
|
||||
i += 1
|
||||
endwhile
|
||||
enddef
|
||||
|
||||
if exists("loaded_matchit") && !exists("b:match_words")
|
||||
let b:match_ignorecase = 0
|
||||
let b:match_skip = 'r:\\\@<!\%(\\\\\)*%'
|
||||
let b:match_words = '(:),\[:],{:},\\(:\\),\\\[:\\],' .
|
||||
\ '\\start\(\a\+\):\\stop\1'
|
||||
let b:undo_ftplugin .= " | unlet! b:match_ignorecase b:match_words b:match_skip"
|
||||
endif
|
||||
# Macros to move around
|
||||
nnoremap <silent><buffer> [[ <scriptcmd>MoveAround(v:count1, "beginsection", "bW")<cr>
|
||||
vnoremap <silent><buffer> [[ <scriptcmd>MoveAround(v:count1, "beginsection", "bW")<cr>
|
||||
nnoremap <silent><buffer> ]] <scriptcmd>MoveAround(v:count1, "beginsection", "W") <cr>
|
||||
vnoremap <silent><buffer> ]] <scriptcmd>MoveAround(v:count1, "beginsection", "W") <cr>
|
||||
nnoremap <silent><buffer> [] <scriptcmd>MoveAround(v:count1, "endsection", "bW")<cr>
|
||||
vnoremap <silent><buffer> [] <scriptcmd>MoveAround(v:count1, "endsection", "bW")<cr>
|
||||
nnoremap <silent><buffer> ][ <scriptcmd>MoveAround(v:count1, "endsection", "W") <cr>
|
||||
vnoremap <silent><buffer> ][ <scriptcmd>MoveAround(v:count1, "endsection", "W") <cr>
|
||||
nnoremap <silent><buffer> [{ <scriptcmd>MoveAround(v:count1, "beginblock", "bW")<cr>
|
||||
vnoremap <silent><buffer> [{ <scriptcmd>MoveAround(v:count1, "beginblock", "bW")<cr>
|
||||
nnoremap <silent><buffer> ]} <scriptcmd>MoveAround(v:count1, "endblock", "W") <cr>
|
||||
vnoremap <silent><buffer> ]} <scriptcmd>MoveAround(v:count1, "endblock", "W") <cr>
|
||||
|
||||
let s:context_regex = {
|
||||
\ 'beginsection' : '\\\%(start\)\=\%(\%(sub\)*section\|\%(sub\)*subject\|chapter\|part\|component\|product\|title\)\>',
|
||||
\ 'endsection' : '\\\%(stop\)\=\%(\%(sub\)*section\|\%(sub\)*subject\|chapter\|part\|component\|product\|title\)\>',
|
||||
\ 'beginblock' : '\\\%(start\|setup\|define\)',
|
||||
\ 'endblock' : '\\\%(stop\|setup\|define\)'
|
||||
\ }
|
||||
for mapping in ['[[', ']]', '[]', '][', '[{', ']}']
|
||||
UndoMap(mapping, 'nv')
|
||||
endfor
|
||||
|
||||
function! s:move_around(count, what, flags, visual)
|
||||
if a:visual
|
||||
exe "normal! gv"
|
||||
endif
|
||||
call search(s:context_regex[a:what], a:flags.'s') " 's' sets previous context mark
|
||||
call map(range(2, a:count), 'search(s:context_regex[a:what], a:flags)')
|
||||
endfunction
|
||||
# Other useful mappings
|
||||
const tp_regex = '?^$\|^\s*\\\(item\|start\|stop\|blank\|\%(sub\)*section\|chapter\|\%(sub\)*subject\|title\|part\)'
|
||||
|
||||
if !exists("no_plugin_maps") && !exists("no_context_maps")
|
||||
" Move around macros.
|
||||
nnoremap <silent><buffer> [[ :<C-U>call <SID>move_around(v:count1, "beginsection", "bW", v:false) <CR>
|
||||
vnoremap <silent><buffer> [[ :<C-U>call <SID>move_around(v:count1, "beginsection", "bW", v:true) <CR>
|
||||
nnoremap <silent><buffer> ]] :<C-U>call <SID>move_around(v:count1, "beginsection", "W", v:false) <CR>
|
||||
vnoremap <silent><buffer> ]] :<C-U>call <SID>move_around(v:count1, "beginsection", "W", v:true) <CR>
|
||||
nnoremap <silent><buffer> [] :<C-U>call <SID>move_around(v:count1, "endsection", "bW", v:false) <CR>
|
||||
vnoremap <silent><buffer> [] :<C-U>call <SID>move_around(v:count1, "endsection", "bW", v:true) <CR>
|
||||
nnoremap <silent><buffer> ][ :<C-U>call <SID>move_around(v:count1, "endsection", "W", v:false) <CR>
|
||||
vnoremap <silent><buffer> ][ :<C-U>call <SID>move_around(v:count1, "endsection", "W", v:true) <CR>
|
||||
nnoremap <silent><buffer> [{ :<C-U>call <SID>move_around(v:count1, "beginblock", "bW", v:false) <CR>
|
||||
vnoremap <silent><buffer> [{ :<C-U>call <SID>move_around(v:count1, "beginblock", "bW", v:true) <CR>
|
||||
nnoremap <silent><buffer> ]} :<C-U>call <SID>move_around(v:count1, "endblock", "W", v:false) <CR>
|
||||
vnoremap <silent><buffer> ]} :<C-U>call <SID>move_around(v:count1, "endblock", "W", v:true) <CR>
|
||||
|
||||
let b:undo_ftplugin .= " | sil! exe 'nunmap <buffer> [[' | sil! exe 'vunmap <buffer> [['" .
|
||||
\ " | sil! exe 'nunmap <buffer> ]]' | sil! exe 'vunmap <buffer> ]]'" .
|
||||
\ " | sil! exe 'nunmap <buffer> []' | sil! exe 'vunmap <buffer> []'" .
|
||||
\ " | sil! exe 'nunmap <buffer> ][' | sil! exe 'vunmap <buffer> ]['" .
|
||||
\ " | sil! exe 'nunmap <buffer> [{' | sil! exe 'vunmap <buffer> [{'" .
|
||||
\ " | sil! exe 'nunmap <buffer> ]}' | sil! exe 'vunmap <buffer> ]}'"
|
||||
end
|
||||
|
||||
" Other useful mappings
|
||||
if get(g:, 'context_mappings', 1)
|
||||
let s:tp_regex = '?^$\|^\s*\\\(item\|start\|stop\|blank\|\%(sub\)*section\|chapter\|\%(sub\)*subject\|title\|part\)'
|
||||
|
||||
fun! s:tp()
|
||||
call cursor(search(s:tp_regex, 'bcW') + 1, 1)
|
||||
def TeXPar()
|
||||
cursor(search(tp_regex, 'bcW') + 1, 1)
|
||||
normal! V
|
||||
call cursor(search(s:tp_regex, 'W') - 1, 1)
|
||||
endf
|
||||
cursor(search(tp_regex, 'W') - 1, 1)
|
||||
enddef
|
||||
|
||||
if !exists("no_plugin_maps") && !exists("no_context_maps")
|
||||
" Reflow paragraphs with commands like gqtp ("gq TeX paragraph")
|
||||
onoremap <silent><buffer> tp :<c-u>call <sid>tp()<cr>
|
||||
" Select TeX paragraph
|
||||
vnoremap <silent><buffer> tp <esc>:<c-u>call <sid>tp()<cr>
|
||||
# Reflow paragraphs with mappings like gqtp ("gq TeX paragraph")
|
||||
onoremap <silent><buffer> tp <scriptcmd>TeXPar()<cr>
|
||||
# Select TeX paragraph
|
||||
vnoremap <silent><buffer> tp <scriptcmd>TeXPar()<cr>
|
||||
|
||||
" $...$ text object
|
||||
onoremap <silent><buffer> i$ :<c-u>normal! T$vt$<cr>
|
||||
onoremap <silent><buffer> a$ :<c-u>normal! F$vf$<cr>
|
||||
vnoremap <buffer> i$ T$ot$
|
||||
vnoremap <buffer> a$ F$of$
|
||||
# $...$ text object
|
||||
onoremap <silent><buffer> i$ <scriptcmd>normal! T$vt$<cr>
|
||||
onoremap <silent><buffer> a$ <scriptcmd>normal! F$vf$<cr>
|
||||
vnoremap <buffer> i$ T$ot$
|
||||
vnoremap <buffer> a$ F$of$
|
||||
|
||||
let b:undo_ftplugin .= " | sil! exe 'ounmap <buffer> tp' | sil! exe 'vunmap <buffer> tp'" .
|
||||
\ " | sil! exe 'ounmap <buffer> i$' | sil! exe 'vunmap <buffer> i$'" .
|
||||
\ " | sil! exe 'ounmap <buffer> a$' | sil! exe 'vunmap <buffer> a$'"
|
||||
endif
|
||||
for mapping in ['tp', 'i$', 'a$']
|
||||
UndoMap(mapping, 'ov')
|
||||
endfor
|
||||
endif
|
||||
|
||||
" Commands for asynchronous typesetting
|
||||
command! -buffer -nargs=? -complete=file ConTeXt call context#typeset(<q-args>)
|
||||
command! -nargs=0 ConTeXtJobStatus call context#job_status()
|
||||
command! -nargs=0 ConTeXtStopJobs call context#stop_jobs()
|
||||
# Commands for asynchronous typesetting
|
||||
command! -buffer -nargs=? -complete=buffer ConTeXt context.Typeset(<q-args>)
|
||||
command! -buffer -nargs=0 ConTeXtLog context.Log('%')
|
||||
command! -nargs=0 ConTeXtJobStatus context.JobStatus()
|
||||
command! -nargs=0 ConTeXtStopJobs context.StopJobs()
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
# vim: sw=2 fdm=marker
|
||||
|
||||
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
|
||||
@@ -1,11 +1,29 @@
|
||||
" Elixir filetype plugin
|
||||
" Language: Elixir
|
||||
" Maintainer: Mitchell Hanberg <vimNOSPAM@mitchellhanberg.com>
|
||||
" Last Change: 2022 Apr 20
|
||||
" Last Change: 2022 August 10
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" Matchit support
|
||||
if exists('loaded_matchit') && !exists('b:match_words')
|
||||
let b:match_ignorecase = 0
|
||||
|
||||
let b:match_words = '\:\@<!\<\%(do\|fn\)\:\@!\>' .
|
||||
\ ':' .
|
||||
\ '\<\%(else\|catch\|after\|rescue\)\:\@!\>' .
|
||||
\ ':' .
|
||||
\ '\:\@<!\<end\>' .
|
||||
\ ',{:},\[:\],(:)'
|
||||
endif
|
||||
|
||||
setlocal commentstring=#\ %s
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
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<'
|
||||
@@ -2,7 +2,7 @@
|
||||
" Language: J
|
||||
" Maintainer: David Bürgin <dbuergin@gluet.ch>
|
||||
" URL: https://gitlab.com/glts/vim-j
|
||||
" Last Change: 2015-10-27
|
||||
" Last Change: 2022-08-06
|
||||
|
||||
if exists('b:did_ftplugin')
|
||||
finish
|
||||
@@ -29,41 +29,43 @@ let b:undo_ftplugin = 'setlocal suffixesadd< includeexpr< include< path< matchpa
|
||||
|
||||
" Section movement with ]] ][ [[ []. The start/end patterns below are amended
|
||||
" inside the function in order to avoid matching on the current cursor line.
|
||||
let s:sectionstart = '\%(\s*Note\|.\{-}\<\%([0-4]\|13\|noun\|adverb\|conjunction\|verb\|monad\|dyad\)\s\+\%(:\s*0\|def\s\+0\|define\)\)\>.*'
|
||||
let s:sectionend = '\s*)\s*'
|
||||
if !exists('no_plugin_maps') && !exists('no_j_maps')
|
||||
let s:sectionstart = '\%(\s*Note\|.\{-}\<\%([0-4]\|13\|noun\|adverb\|conjunction\|verb\|monad\|dyad\)\s\+\%(:\s*0\|def\s\+0\|define\)\)\>.*'
|
||||
let s:sectionend = '\s*)\s*'
|
||||
|
||||
function! s:SearchSection(end, backwards, visualmode) abort
|
||||
if a:visualmode !=# ''
|
||||
normal! gv
|
||||
endif
|
||||
let l:flags = a:backwards ? 'bsW' : 'sW'
|
||||
if a:end
|
||||
call search('^' . s:sectionend . (a:backwards ? '\n\_.\{-}\%#' : '$'), l:flags)
|
||||
else
|
||||
call search('^' . s:sectionstart . (a:backwards ? '\n\_.\{-}\%#' : '$'), l:flags)
|
||||
endif
|
||||
endfunction
|
||||
function! s:SearchSection(end, backwards, visualmode) abort
|
||||
if a:visualmode !=# ''
|
||||
normal! gv
|
||||
endif
|
||||
let l:flags = a:backwards ? 'bsW' : 'sW'
|
||||
if a:end
|
||||
call search('^' . s:sectionend . (a:backwards ? '\n\_.\{-}\%#' : '$'), l:flags)
|
||||
else
|
||||
call search('^' . s:sectionstart . (a:backwards ? '\n\_.\{-}\%#' : '$'), l:flags)
|
||||
endif
|
||||
endfunction
|
||||
|
||||
noremap <buffer> <silent> ]] :<C-U>call <SID>SearchSection(0, 0, '')<CR>
|
||||
xnoremap <buffer> <silent> ]] :<C-U>call <SID>SearchSection(0, 0, visualmode())<CR>
|
||||
sunmap <buffer> ]]
|
||||
noremap <buffer> <silent> ][ :<C-U>call <SID>SearchSection(1, 0, '')<CR>
|
||||
xnoremap <buffer> <silent> ][ :<C-U>call <SID>SearchSection(1, 0, visualmode())<CR>
|
||||
sunmap <buffer> ][
|
||||
noremap <buffer> <silent> [[ :<C-U>call <SID>SearchSection(0, 1, '')<CR>
|
||||
xnoremap <buffer> <silent> [[ :<C-U>call <SID>SearchSection(0, 1, visualmode())<CR>
|
||||
sunmap <buffer> [[
|
||||
noremap <buffer> <silent> [] :<C-U>call <SID>SearchSection(1, 1, '')<CR>
|
||||
xnoremap <buffer> <silent> [] :<C-U>call <SID>SearchSection(1, 1, visualmode())<CR>
|
||||
sunmap <buffer> []
|
||||
noremap <buffer> <silent> ]] :<C-U>call <SID>SearchSection(0, 0, '')<CR>
|
||||
xnoremap <buffer> <silent> ]] :<C-U>call <SID>SearchSection(0, 0, visualmode())<CR>
|
||||
sunmap <buffer> ]]
|
||||
noremap <buffer> <silent> ][ :<C-U>call <SID>SearchSection(1, 0, '')<CR>
|
||||
xnoremap <buffer> <silent> ][ :<C-U>call <SID>SearchSection(1, 0, visualmode())<CR>
|
||||
sunmap <buffer> ][
|
||||
noremap <buffer> <silent> [[ :<C-U>call <SID>SearchSection(0, 1, '')<CR>
|
||||
xnoremap <buffer> <silent> [[ :<C-U>call <SID>SearchSection(0, 1, visualmode())<CR>
|
||||
sunmap <buffer> [[
|
||||
noremap <buffer> <silent> [] :<C-U>call <SID>SearchSection(1, 1, '')<CR>
|
||||
xnoremap <buffer> <silent> [] :<C-U>call <SID>SearchSection(1, 1, visualmode())<CR>
|
||||
sunmap <buffer> []
|
||||
|
||||
let b:undo_ftplugin .= ' | silent! execute "unmap <buffer> ]]"'
|
||||
\ . ' | silent! execute "unmap <buffer> ]["'
|
||||
\ . ' | silent! execute "unmap <buffer> [["'
|
||||
\ . ' | silent! execute "unmap <buffer> []"'
|
||||
let b:undo_ftplugin .= ' | silent! execute "unmap <buffer> ]]"'
|
||||
\ . ' | silent! execute "unmap <buffer> ]["'
|
||||
\ . ' | silent! execute "unmap <buffer> [["'
|
||||
\ . ' | silent! execute "unmap <buffer> []"'
|
||||
endif
|
||||
|
||||
" Browse dialog filter on Windows (see ":help browsefilter")
|
||||
if has('gui_win32') && !exists('b:browsefilter')
|
||||
" Browse dialog filter on Windows and GTK (see ":help browsefilter")
|
||||
if (has('gui_win32') || has('gui_gtk')) && !exists('b:browsefilter')
|
||||
let b:browsefilter = "J Script Files (*.ijs)\t*.ijs\n"
|
||||
\ . "All Files (*.*)\t*.*\n"
|
||||
let b:undo_ftplugin .= ' | unlet! b:browsefilter'
|
||||
|
||||
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:
|
||||
@@ -1,70 +1,82 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: METAFONT
|
||||
" Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
||||
" Former Maintainers: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2016 Oct 2
|
||||
vim9script
|
||||
|
||||
# Vim filetype plugin file
|
||||
# Language: METAFONT
|
||||
# Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
||||
# Former Maintainers: Nikolai Weibull <now@bitwi.se>
|
||||
# Latest Revision: 2022 Aug 12
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
b:did_ftplugin = 1
|
||||
b:undo_ftplugin = "setl com< cms< fo< sua< inc< def< ofu<"
|
||||
|
||||
let b:undo_ftplugin = "setl com< cms< fo< sua< inc< def< ofu<"
|
||||
\ . "| unlet! b:match_ignorecase b:match_words b:match_skip"
|
||||
|
||||
setlocal comments=:% commentstring=%\ %s formatoptions-=t formatoptions+=cjroql2
|
||||
setlocal suffixesadd=.mf
|
||||
let &l:include = '\<input\>'
|
||||
let &l:define = '\<\%(let\|newinternal\|interim\|def\|vardef\)\>\|\<\%(primary\|secondary\|tertiary\)def\>\s*[^ .]\+'
|
||||
setlocal comments=:%
|
||||
setlocal commentstring=%\ %s
|
||||
setlocal formatoptions+=cjroql2
|
||||
setlocal formatoptions-=t
|
||||
setlocal omnifunc=syntaxcomplete#Complete
|
||||
let g:omni_syntax_group_include_mf = 'mf\w\+'
|
||||
let g:omni_syntax_group_exclude_mf = 'mfTodoComment'
|
||||
setlocal suffixesadd=.mf
|
||||
|
||||
let s:mp_regex = {
|
||||
\ 'beginsection' : '^\s*\%(\%(\|var\|primary\|secondary\|tertiary\)def\|beginchar\|beginlogochar\)\>',
|
||||
\ 'endsection' : '^\s*\%(enddef\|endchar\)\>',
|
||||
\ 'beginblock' : '^\s*\%(begingroup\|if\|for\%(\|suffixes\|ever\)\)\>',
|
||||
\ 'endblock' : '^\s*\%(endgroup\|fi\|endfor\)\>'
|
||||
\ }
|
||||
&l:include = '\<input\>'
|
||||
&l:define = '\<\%(let\|newinternal\|interim\|def\|vardef\)\>\|\<\%(primary\|secondary\|tertiary\)def\>\s*[^ .]\+'
|
||||
|
||||
function! s:move_around(count, what, flags, visual)
|
||||
if a:visual
|
||||
exe "normal! gv"
|
||||
endif
|
||||
call search(s:mp_regex[a:what], a:flags.'s') " 's' sets previous context mark
|
||||
call map(range(2, a:count), 'search(s:mp_regex[a:what], a:flags)')
|
||||
endfunction
|
||||
g:omni_syntax_group_include_mf = 'mf\w\+'
|
||||
g:omni_syntax_group_exclude_mf = 'mfTodoComment'
|
||||
|
||||
|
||||
" Move around macros.
|
||||
nnoremap <silent><buffer> [[ :<C-U>call <SID>move_around(v:count1, "beginsection", "bW", v:false) <CR>
|
||||
vnoremap <silent><buffer> [[ :<C-U>call <SID>move_around(v:count1, "beginsection", "bW", v:true) <CR>
|
||||
nnoremap <silent><buffer> ]] :<C-U>call <SID>move_around(v:count1, "beginsection", "W", v:false) <CR>
|
||||
vnoremap <silent><buffer> ]] :<C-U>call <SID>move_around(v:count1, "beginsection", "W", v:true) <CR>
|
||||
nnoremap <silent><buffer> [] :<C-U>call <SID>move_around(v:count1, "endsection", "bW", v:false) <CR>
|
||||
vnoremap <silent><buffer> [] :<C-U>call <SID>move_around(v:count1, "endsection", "bW", v:true) <CR>
|
||||
nnoremap <silent><buffer> ][ :<C-U>call <SID>move_around(v:count1, "endsection", "W", v:false) <CR>
|
||||
vnoremap <silent><buffer> ][ :<C-U>call <SID>move_around(v:count1, "endsection", "W", v:true) <CR>
|
||||
nnoremap <silent><buffer> [{ :<C-U>call <SID>move_around(v:count1, "beginblock", "bW", v:false) <CR>
|
||||
vnoremap <silent><buffer> [{ :<C-U>call <SID>move_around(v:count1, "beginblock", "bW", v:true) <CR>
|
||||
nnoremap <silent><buffer> ]} :<C-U>call <SID>move_around(v:count1, "endblock", "W", v:false) <CR>
|
||||
vnoremap <silent><buffer> ]} :<C-U>call <SID>move_around(v:count1, "endblock", "W", v:true) <CR>
|
||||
|
||||
if exists("loaded_matchit")
|
||||
let b:match_ignorecase = 0
|
||||
let b:match_words =
|
||||
\ '\<if\>:\<else\%[if]\>:\<fi\>,' .
|
||||
\ '\<for\%(\|suffixes\|ever\)\>:\<exit\%(if\|unless\)\>:\<endfor\>,' .
|
||||
\ '\<\%(\|var\|primary\|secondary\|tertiary\)def\>:\<enddef\>,' .
|
||||
\ '\<begingroup\>:\<endgroup\>,' .
|
||||
\ '\<begin\%(logo\)\?char\>:\<endchar\>'
|
||||
" Ignore comments and strings
|
||||
let b:match_skip = 'synIDattr(synID(line("."), col("."), 1), "name")
|
||||
\ =~# "mf\\(Comment\\|String\\)$"'
|
||||
if exists("g:loaded_matchit") && !exists("b:match_words")
|
||||
b:match_ignorecase = 0
|
||||
b:match_skip = 'synIDattr(synID(line("."), col("."), 1), "name") =~# "mf\\(Comment\\|String\\)$"'
|
||||
b:match_words = '\<if\>:\<else\%[if]\>:\<fi\>,'
|
||||
.. '\<for\%(\|suffixes\|ever\)\>:\<exit\%(if\|unless\)\>:\<endfor\>,'
|
||||
.. '\<\%(\|var\|primary\|secondary\|tertiary\)def\>:\<enddef\>,'
|
||||
.. '\<begingroup\>:\<endgroup\>,'
|
||||
.. '\<begin\%(logo\)\?char\>:\<endchar\>'
|
||||
b:undo_ftplugin ..= "| unlet! b:match_ignorecase b:match_words b:match_skip"
|
||||
endif
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
if !get(g:, 'no_mf_maps', 0) && !get(g:, 'no_plugin_maps', 0)
|
||||
const mf_regex = {
|
||||
'beginsection': '^\s*\%(\%(\|var\|primary\|secondary\|tertiary\)def\|beginchar\|beginlogochar\)\>',
|
||||
'endsection': '^\s*\%(enddef\|endchar\)\>',
|
||||
'beginblock': '^\s*\%(begingroup\|if\|for\%(\|suffixes\|ever\)\)\>',
|
||||
'endblock': '^\s*\%(endgroup\|fi\|endfor\)\>'}
|
||||
|
||||
def MoveAround(count: number, what: string, flags: string)
|
||||
search(mf_regex[what], flags .. 's') # 's' sets previous context mark
|
||||
var i = 2
|
||||
while i <= count
|
||||
search(mf_regex[what], flags)
|
||||
i += 1
|
||||
endwhile
|
||||
enddef
|
||||
|
||||
# Macros to move around
|
||||
nnoremap <silent><buffer> [[ <scriptcmd>MoveAround(v:count1, "beginsection", "bW")<cr>
|
||||
vnoremap <silent><buffer> [[ <scriptcmd>MoveAround(v:count1, "beginsection", "bW")<cr>
|
||||
nnoremap <silent><buffer> ]] <scriptcmd>MoveAround(v:count1, "beginsection", "W") <cr>
|
||||
vnoremap <silent><buffer> ]] <scriptcmd>MoveAround(v:count1, "beginsection", "W") <cr>
|
||||
nnoremap <silent><buffer> [] <scriptcmd>MoveAround(v:count1, "endsection", "bW")<cr>
|
||||
vnoremap <silent><buffer> [] <scriptcmd>MoveAround(v:count1, "endsection", "bW")<cr>
|
||||
nnoremap <silent><buffer> ][ <scriptcmd>MoveAround(v:count1, "endsection", "W") <cr>
|
||||
vnoremap <silent><buffer> ][ <scriptcmd>MoveAround(v:count1, "endsection", "W") <cr>
|
||||
nnoremap <silent><buffer> [{ <scriptcmd>MoveAround(v:count1, "beginblock", "bW")<cr>
|
||||
vnoremap <silent><buffer> [{ <scriptcmd>MoveAround(v:count1, "beginblock", "bW")<cr>
|
||||
nnoremap <silent><buffer> ]} <scriptcmd>MoveAround(v:count1, "endblock", "W") <cr>
|
||||
vnoremap <silent><buffer> ]} <scriptcmd>MoveAround(v:count1, "endblock", "W") <cr>
|
||||
|
||||
for mapping in ["[[", "]]", "[]", "][", "[{", "]}"]
|
||||
b:undo_ftplugin ..= printf(" | silent! execute 'nunmap <buffer> %s'", mapping)
|
||||
b:undo_ftplugin ..= printf(" | silent! execute 'vunmap <buffer> %s'", mapping)
|
||||
endfor
|
||||
endif
|
||||
|
||||
if (has('gui_win32') || has('gui_gtk')) && !exists('b:browsefilter')
|
||||
b:browsefilter = "METAFONT Source Files (*.mf)\t*.mf\n"
|
||||
.. "All Files (*.*)\t*.*\n"
|
||||
b:undo_ftplugin ..= ' | unlet! b:browsefilter'
|
||||
endif
|
||||
|
||||
# vim: sw=2 fdm=marker
|
||||
|
||||
@@ -1,82 +1,91 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: MetaPost
|
||||
" Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
||||
" Former Maintainers: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2016 Oct 2
|
||||
vim9script
|
||||
|
||||
# Vim filetype plugin file
|
||||
# Language: MetaPost
|
||||
# Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
||||
# Former Maintainers: Nikolai Weibull <now@bitwi.se>
|
||||
# Latest Revision: 2022 Aug 12
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
b:did_ftplugin = 1
|
||||
b:undo_ftplugin = "setl com< cms< fo< sua< inc< def< ofu<"
|
||||
|
||||
let b:undo_ftplugin = "setl com< cms< fo< sua< inc< def< ofu<"
|
||||
\ . "| unlet! b:match_ignorecase b:match_words b:match_skip"
|
||||
|
||||
setlocal comments=:% commentstring=%\ %s formatoptions-=t formatoptions+=cjroql2
|
||||
setlocal suffixesadd=.mp,.mpiv
|
||||
let &l:include = '\<\%(input\|loadmodule\)\>' " loadmodule is in MetaFun
|
||||
let &l:define = '\<\%(let\|newinternal\|interim\|def\|vardef\)\>\|\<\%(primary\|secondary\|tertiary\)def\>\s*[^ .]\+'
|
||||
setlocal comments=:%
|
||||
setlocal commentstring=%\ %s
|
||||
setlocal formatoptions+=cjroql2
|
||||
setlocal formatoptions-=t
|
||||
setlocal omnifunc=syntaxcomplete#Complete
|
||||
let g:omni_syntax_group_include_mp = 'mf\w\+,mp\w\+'
|
||||
let g:omni_syntax_group_exclude_mp = 'mfTodoComment'
|
||||
setlocal suffixesadd=.mp,.mpiv,.mpvi,.mpxl
|
||||
|
||||
if exists(":FixBeginfigs") != 2
|
||||
command -nargs=0 FixBeginfigs call s:fix_beginfigs()
|
||||
&l:include = '\<\%(input\|loadmodule\)\>' # loadmodule is from MetaFun
|
||||
&l:define = '\<\%(let\|newinternal\|interim\|def\|vardef\)\>\|\<\%(primary\|secondary\|tertiary\)def\>\s*[^ .]\+'
|
||||
|
||||
function! s:fix_beginfigs()
|
||||
let i = 1
|
||||
g/^beginfig(\d*);$/s//\='beginfig('.i.');'/ | let i = i + 1
|
||||
endfunction
|
||||
g:omni_syntax_group_include_mp = 'mf\w\+,mp\w\+,metafun\w\+'
|
||||
g:omni_syntax_group_exclude_mp = 'mfTodoComment'
|
||||
|
||||
var fignum: number
|
||||
|
||||
def FixBeginfigs()
|
||||
fignum = 1
|
||||
g/^\s*beginfig(\d*)\s*;\(\s*%.*\)\=$/s/^.\{-};/\='beginfig(' .. fignum .. ');'/ | ++fignum
|
||||
enddef
|
||||
|
||||
command! -buffer -nargs=0 -bar FixBeginfigs FixBeginfigs()
|
||||
|
||||
if exists("g:loaded_matchit") && !exists("b:match_words")
|
||||
b:match_ignorecase = 0
|
||||
b:match_skip = 'synIDattr(synID(line("."), col("."), 1), "name") =~# "^mf\\%(Comment\\|String\\|\\)$\\|^mpTeXinsert$"'
|
||||
b:match_words = '\<if\>:\<else\%[if]\>:\<fi\>,'
|
||||
.. '\<for\%(\|suffixes\|ever\)\>:\<exit\%(if\|unless\)\>:\<endfor\>,'
|
||||
.. '\<\%(\|var\|primary\|secondary\|tertiary\)def\>:\<enddef\>,'
|
||||
.. '\<begin\(\a\+\)\>:end\1,'
|
||||
.. '\<beginlogochar\>:\<endchar\>'
|
||||
b:undo_ftplugin ..= "| unlet! b:match_ignorecase b:match_words b:match_skip"
|
||||
endif
|
||||
|
||||
let s:mp_regex = {
|
||||
\ 'beginsection' : '^\s*\%(\%(\|var\|primary\|secondary\|tertiary\)def\|begin\%(fig\|char\|logochar\|glyph\|graph\)\)\>',
|
||||
\ 'endsection' : '^\s*\%(enddef\|end\%(fig\|char\|glyph\|graph\)\)\>',
|
||||
\ 'beginblock' : '^\s*\%(begingroup\|if\|for\%(\|suffixes\|ever\)\)\>',
|
||||
\ 'endblock' : '^\s*\%(endgroup\|fi\|endfor\)\>'
|
||||
\ }
|
||||
if !get(g:, 'no_mp_maps', 0) && !get(g:, 'no_plugin_maps', 0)
|
||||
const mp_regex = {
|
||||
'beginsection': '^\s*\%(\%(\|var\|primary\|secondary\|tertiary\)def\|begin\%(fig\|char\|logochar\|glyph\|graph\)\)\>',
|
||||
'endsection': '^\s*\%(enddef\|end\%(fig\|char\|glyph\|graph\)\)\>',
|
||||
'beginblock': '^\s*\%(begingroup\|if\|for\%(\|suffixes\|ever\)\)\>',
|
||||
'endblock': '^\s*\%(endgroup\|fi\|endfor\)\>'}
|
||||
|
||||
function! s:move_around(count, what, flags, visual)
|
||||
if a:visual
|
||||
exe "normal! gv"
|
||||
endif
|
||||
call search(s:mp_regex[a:what], a:flags.'s') " 's' sets previous context mark
|
||||
call map(range(2, a:count), 'search(s:mp_regex[a:what], a:flags)')
|
||||
endfunction
|
||||
def MoveAround(count: number, what: string, flags: string)
|
||||
search(mp_regex[what], flags .. 's') # 's' sets previous context mark
|
||||
var i = 2
|
||||
while i <= count
|
||||
search(mp_regex[what], flags)
|
||||
i += 1
|
||||
endwhile
|
||||
enddef
|
||||
|
||||
# Macros to move around
|
||||
nnoremap <silent><buffer> [[ <scriptcmd>MoveAround(v:count1, "beginsection", "bW")<cr>
|
||||
vnoremap <silent><buffer> [[ <scriptcmd>MoveAround(v:count1, "beginsection", "bW")<cr>
|
||||
nnoremap <silent><buffer> ]] <scriptcmd>MoveAround(v:count1, "beginsection", "W") <cr>
|
||||
vnoremap <silent><buffer> ]] <scriptcmd>MoveAround(v:count1, "beginsection", "W") <cr>
|
||||
nnoremap <silent><buffer> [] <scriptcmd>MoveAround(v:count1, "endsection", "bW")<cr>
|
||||
vnoremap <silent><buffer> [] <scriptcmd>MoveAround(v:count1, "endsection", "bW")<cr>
|
||||
nnoremap <silent><buffer> ][ <scriptcmd>MoveAround(v:count1, "endsection", "W") <cr>
|
||||
vnoremap <silent><buffer> ][ <scriptcmd>MoveAround(v:count1, "endsection", "W") <cr>
|
||||
nnoremap <silent><buffer> [{ <scriptcmd>MoveAround(v:count1, "beginblock", "bW")<cr>
|
||||
vnoremap <silent><buffer> [{ <scriptcmd>MoveAround(v:count1, "beginblock", "bW")<cr>
|
||||
nnoremap <silent><buffer> ]} <scriptcmd>MoveAround(v:count1, "endblock", "W") <cr>
|
||||
vnoremap <silent><buffer> ]} <scriptcmd>MoveAround(v:count1, "endblock", "W") <cr>
|
||||
|
||||
" Move around macros.
|
||||
nnoremap <silent><buffer> [[ :<C-U>call <SID>move_around(v:count1, "beginsection", "bW", v:false) <CR>
|
||||
vnoremap <silent><buffer> [[ :<C-U>call <SID>move_around(v:count1, "beginsection", "bW", v:true) <CR>
|
||||
nnoremap <silent><buffer> ]] :<C-U>call <SID>move_around(v:count1, "beginsection", "W", v:false) <CR>
|
||||
vnoremap <silent><buffer> ]] :<C-U>call <SID>move_around(v:count1, "beginsection", "W", v:true) <CR>
|
||||
nnoremap <silent><buffer> [] :<C-U>call <SID>move_around(v:count1, "endsection", "bW", v:false) <CR>
|
||||
vnoremap <silent><buffer> [] :<C-U>call <SID>move_around(v:count1, "endsection", "bW", v:true) <CR>
|
||||
nnoremap <silent><buffer> ][ :<C-U>call <SID>move_around(v:count1, "endsection", "W", v:false) <CR>
|
||||
vnoremap <silent><buffer> ][ :<C-U>call <SID>move_around(v:count1, "endsection", "W", v:true) <CR>
|
||||
nnoremap <silent><buffer> [{ :<C-U>call <SID>move_around(v:count1, "beginblock", "bW", v:false) <CR>
|
||||
vnoremap <silent><buffer> [{ :<C-U>call <SID>move_around(v:count1, "beginblock", "bW", v:true) <CR>
|
||||
nnoremap <silent><buffer> ]} :<C-U>call <SID>move_around(v:count1, "endblock", "W", v:false) <CR>
|
||||
vnoremap <silent><buffer> ]} :<C-U>call <SID>move_around(v:count1, "endblock", "W", v:true) <CR>
|
||||
|
||||
if exists("loaded_matchit")
|
||||
let b:match_ignorecase = 0
|
||||
let b:match_words =
|
||||
\ '\<if\>:\<else\%[if]\>:\<fi\>,' .
|
||||
\ '\<for\%(\|suffixes\|ever\)\>:\<exit\%(if\|unless\)\>:\<endfor\>,' .
|
||||
\ '\<\%(\|var\|primary\|secondary\|tertiary\)def\>:\<enddef\>,' .
|
||||
\ '\<beginfig\>:\<endfig\>,' .
|
||||
\ '\<begingroup\>:\<endgroup\>,' .
|
||||
\ '\<begin\%(logo\)\?char\>:\<endchar\>,' .
|
||||
\ '\<beginglyph\>:\<endglyph\>,' .
|
||||
\ '\<begingraph\>:\<endgraph\>'
|
||||
" Ignore comments and strings
|
||||
let b:match_skip = 'synIDattr(synID(line("."), col("."), 1), "name")
|
||||
\ =~# "^mf\\%(Comment\\|String\\|\\)$\\|^mpTeXinsert$"'
|
||||
for mapping in ["[[", "]]", "[]", "][", "[{", "]}"]
|
||||
b:undo_ftplugin ..= printf(" | silent! execute 'nunmap <buffer> %s'", mapping)
|
||||
b:undo_ftplugin ..= printf(" | silent! execute 'vunmap <buffer> %s'", mapping)
|
||||
endfor
|
||||
endif
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
if (has('gui_win32') || has('gui_gtk')) && !exists('b:browsefilter')
|
||||
b:browsefilter = "MetaPost Source Files (*.mp)\t*.mp\n"
|
||||
.. "All Files (*.*)\t*.*\n"
|
||||
b:undo_ftplugin ..= ' | unlet! b:browsefilter'
|
||||
endif
|
||||
|
||||
# vim: sw=2 fdm=marker
|
||||
|
||||
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
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user