mirror of
https://github.com/macvim-dev/macvim.git
synced 2026-06-11 15:37:29 +02:00
Compare commits
396 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| fd4d87d70e | |||
| a3db3e70fc | |||
| f1ed84158a | |||
| 3dc1ece6af | |||
| 18c6b91ca9 | |||
| de18ef6284 | |||
| fd30a736cc | |||
| 2e7833bde9 | |||
| 77b2376769 | |||
| 64982d6010 | |||
| bcb8dacb6d | |||
| 8f508cdcfb | |||
| 9fa5f64135 | |||
| e2d1c334ee | |||
| 7895c9e6b8 | |||
| 07f055f579 | |||
| e9f8e0fcbe | |||
| b7d07d3e80 | |||
| f0cae9d5ab | |||
| d69cf0dbcf | |||
| 63a9471e22 | |||
| 568daf65b8 | |||
| 4f1cd5f78a | |||
| 0878792046 | |||
| b16a9ddc28 | |||
| 38d9a16eba | |||
| 905312e0e6 | |||
| 09f7fc60d3 | |||
| 37089793b8 | |||
| d0fffdab16 | |||
| 54ffef7eb8 | |||
| 868ad62cb8 | |||
| 2b2dfc4f5a | |||
| 22a78b5de7 | |||
| 0e8cf80ca1 | |||
| 6de842c273 | |||
| 3b0a32d7d8 | |||
| 113e507cdd | |||
| 63680c6d3d | |||
| 2c5b383807 | |||
| 92510c09ed | |||
| dda45ba88f | |||
| 61ad44f4af | |||
| 4b850457e1 | |||
| 69f402e97f | |||
| 73e619d699 | |||
| 339b523657 | |||
| f31407f9fa | |||
| c83d2f888e | |||
| bc2141d27d | |||
| dec3d6c7da | |||
| 23b4b55364 | |||
| 1e45fb1a7e | |||
| 8e7e5d5488 | |||
| 81d42cf1aa | |||
| 93d177cd2b | |||
| 99b51cf121 | |||
| b9bba99712 | |||
| 880e06136b | |||
| 179f9efc7e | |||
| af8845e3af | |||
| 44dcad20f2 | |||
| 627e4355ac | |||
| 9d5a20e440 | |||
| 7a027846bf | |||
| f85892e39e | |||
| caba9110aa | |||
| 5333d9b670 | |||
| 915e68e210 | |||
| 84e6175b55 | |||
| 207039097a | |||
| c3e975df47 | |||
| 2df68c8e4b | |||
| e99b4d0214 | |||
| e8d7a40b98 | |||
| c175ce86fa | |||
| b748f4b2f0 | |||
| 7e55dae2fe | |||
| dfdeba16d7 | |||
| 3a90b2ba8e | |||
| 14c6730a39 | |||
| bc7805323f | |||
| e323740b56 | |||
| 3b8ac8f8a4 | |||
| 98401467a9 | |||
| 010a71bb60 | |||
| 24678d31c8 | |||
| 53d97c93b7 | |||
| 06ef3a54bf | |||
| 31c739458a | |||
| 07c8b4712f | |||
| 2c23dde0b0 | |||
| 6c8e125395 | |||
| e60d4b4ff3 | |||
| 9a920e8254 | |||
| 5e3056ee83 | |||
| fccc2adc98 | |||
| da1f41d5d3 | |||
| b34fa59abb | |||
| d7e6ce7a76 | |||
| 3a54de8f44 | |||
| f42ce78f77 | |||
| cb8510d470 | |||
| ecba601e3f | |||
| e3cb9655d7 | |||
| 6574102fb4 | |||
| 37223f47b1 | |||
| 3d0a6073e5 | |||
| ea71d5bb01 | |||
| 25e4e46c58 | |||
| e9c793bebc | |||
| 1d727b6f74 | |||
| e3dedac77b | |||
| c7645fcda5 | |||
| 44a1a6a331 | |||
| 0b14d6de60 | |||
| daad5ea905 | |||
| b54e57ee54 | |||
| 6845c7a63d | |||
| 1dfaeb4fa3 | |||
| 06a2c7105c | |||
| ff9fd819ae | |||
| d0af3bcee1 | |||
| 85eb099bf2 | |||
| a0931a90ee | |||
| aee12156ee | |||
| aed758986d | |||
| 146f46e264 | |||
| f7a58aee36 | |||
| 129486193c | |||
| 71bcc867c9 | |||
| 0fa3603d6d | |||
| 35b767a090 | |||
| 07dc94023c | |||
| 7a57f59756 | |||
| da5ebe71cb | |||
| d004cc4f89 | |||
| 9b1d657bca | |||
| 354ab1a69e | |||
| 6daa721dc0 | |||
| 5c496beb18 | |||
| e543abbf8e | |||
| 4397227119 | |||
| c920d93443 | |||
| 4a99175e39 | |||
| a65a52d684 | |||
| f08ab2f4d7 | |||
| 2a01e59671 | |||
| 23c77d8ec8 | |||
| f0e874a129 | |||
| abecad5af0 | |||
| 3db4c3a20b | |||
| ab24858cf5 | |||
| f03155aa2a | |||
| 8b25d90b08 | |||
| 403ba303b9 | |||
| 8ae45e4202 | |||
| d8c4774273 | |||
| 88b00d1c57 | |||
| 591db923ba | |||
| f7e239bd0e | |||
| bc7f736a39 | |||
| 7cb86f46cb | |||
| b467b56ef0 | |||
| ee49669e8f | |||
| de7a5b5425 | |||
| e85e3e5d85 | |||
| bec23ef65c | |||
| 77b8a12f82 | |||
| f281493c49 | |||
| 37d61dae72 | |||
| 29fa934344 | |||
| 8e41c34aba | |||
| 8af0f098c3 | |||
| 3fb5e58fbc | |||
| 950f501a18 | |||
| 702d32e161 | |||
| 8aecd377f0 | |||
| 3a9e1bb7e2 | |||
| 38237411e4 | |||
| 78302b7b4a | |||
| f45ed6465d | |||
| 74019bea8c | |||
| 7784fac15f | |||
| a70b7a85af | |||
| 51f1447d2a | |||
| 1b65cfbac5 | |||
| 852f4f43ca | |||
| bfebd1209b | |||
| e0781bd5bf | |||
| e3d9929109 | |||
| ef1ecc3b61 | |||
| 5ef1eec5c5 | |||
| 3a8b9e09b2 | |||
| 2020e0bade | |||
| ec76ac620b | |||
| 6b8d2262d3 | |||
| 3a1ac7ced2 | |||
| 4f610f07b7 | |||
| abd74fa122 | |||
| 124f8becec | |||
| fbec828c7e | |||
| 84ae09dd79 | |||
| 2f00656b34 | |||
| 7644d9d611 | |||
| 9694ff58fe | |||
| b207b5a2a3 | |||
| c895390e58 | |||
| b9871cef10 | |||
| 58124789aa | |||
| 9299332917 | |||
| 4cbdef8e30 | |||
| 0ab4316fce | |||
| 4bcc8ba93d | |||
| c06002f3cb | |||
| 7ccc273a4c | |||
| 40fc78f0a1 | |||
| 88fb739918 | |||
| cf947e7ef0 | |||
| 2bfddbea47 | |||
| 1903020b82 | |||
| b10159bcc2 | |||
| 8c7d824b73 | |||
| 0c998003bc | |||
| 3bfffcc290 | |||
| 20a124a6e0 | |||
| bb807ebc8a | |||
| cb0b4cf45c | |||
| 9d3019104c | |||
| 77677c33de | |||
| 190cb3c2b9 | |||
| fde5a56ecb | |||
| 5c700152ae | |||
| 3bd25c63b4 | |||
| e1e92fea92 | |||
| 2219c89013 | |||
| e25933014c | |||
| e4413c5df7 | |||
| 59e59a62b4 | |||
| 7b218ae98c | |||
| cf5d7102b9 | |||
| d25f8d1b2c | |||
| ec8b8bd82a | |||
| 587447ec64 | |||
| ba85f88fe9 | |||
| 7f3243e3a8 | |||
| 7da90de1cb | |||
| f793e98068 | |||
| 620557bd48 | |||
| e7e35b9e38 | |||
| 77499e009a | |||
| 3ac7b97439 | |||
| bd8716178e | |||
| 20e98ff1cc | |||
| af494af5ff | |||
| c2bda0add9 | |||
| 6453a7c440 | |||
| 458fed4f65 | |||
| c5de8231f4 | |||
| bd0f3e6da5 | |||
| 41c3379bdf | |||
| e7745b7cbf | |||
| 6146f3382f | |||
| 30b4240730 | |||
| 6cb4173294 | |||
| e47daed442 | |||
| 2d43240659 | |||
| 7e76514896 | |||
| ae196b2d58 | |||
| 3958188f6a | |||
| f1a9449206 | |||
| 7070a85d94 | |||
| 0bc64b19a2 | |||
| dd9b31fb62 | |||
| a622dda915 | |||
| 96be27309c | |||
| 036e40e6d8 | |||
| 22aedc4a90 | |||
| 076366bd4e | |||
| c23bfd7922 | |||
| 3cc7d50716 | |||
| 1ce03d674a | |||
| 2baef82cd1 | |||
| bf6892aaab | |||
| 0ca1121d1f | |||
| 8d9c383aaf | |||
| 8f9cde4592 | |||
| 807f2cd789 | |||
| 1de887681d | |||
| e7eef554f3 | |||
| 0c2ac3480a | |||
| 32a30cb5a0 | |||
| 1940bcb243 | |||
| 5f7c52408f | |||
| 10b57290d3 | |||
| 0f9218851d | |||
| 521eac1877 | |||
| 44f707da6a | |||
| f194676c93 | |||
| cee8fd73eb | |||
| 2ea4a7c3b7 | |||
| 10040bc9cd | |||
| 33f3965087 | |||
| 3918f3232f | |||
| 16d28548d2 | |||
| d4fb31762e | |||
| 405e2fb6d5 | |||
| d0b6ee320b | |||
| ec3f79e037 | |||
| b328686d6a | |||
| fe3c27ce0b | |||
| 146d5da0d1 | |||
| 3c3050e648 | |||
| f74a41620b | |||
| c9d4c1dc43 | |||
| c62342e5cf | |||
| 49e8630a28 | |||
| 73ba353c9d | |||
| 1c88aee1fa | |||
| b30803b231 | |||
| 2c436be6f7 | |||
| 6ecff78129 | |||
| c13232699d | |||
| 723c0acf25 | |||
| 237d77e07c | |||
| 1966a1c896 | |||
| 618a327ce6 | |||
| f2e920321c | |||
| 0e31fb024c | |||
| 336533b355 | |||
| 01d9a1951f | |||
| 30d42855eb | |||
| e666597622 | |||
| 68d3129a05 | |||
| 8bcae3ca5d | |||
| 6b26afea3b | |||
| 450895d86b | |||
| 1c299f2631 | |||
| 25e9fc44a8 | |||
| b076c49282 | |||
| ab02d65b1f | |||
| 21c0cd29f8 | |||
| e6a84bb6b0 | |||
| c78194e41d | |||
| a414630393 | |||
| 490b737f3e | |||
| 0e02be1919 | |||
| 2041478e2a | |||
| 7cc73a6c66 | |||
| 60e925ca0e | |||
| 2252d2c1e5 | |||
| bfa46a52f6 | |||
| 351a16c88f | |||
| 4c28794716 | |||
| c72196529b | |||
| 91b402f575 | |||
| f9cb0d14dc | |||
| 39875daec2 | |||
| c4fe1e958a | |||
| efbd482116 | |||
| 962a540d76 | |||
| 4b6f3f1d16 | |||
| 9d95410aa4 | |||
| c922202ea2 | |||
| fcc4276db3 | |||
| 6836599733 | |||
| 86dcb1878c | |||
| efedcd1e6f | |||
| dc4734448b | |||
| 105d65e29b | |||
| 86ae6858ab | |||
| 0802e00f2a | |||
| 8fd37e42a6 | |||
| 01be43047f | |||
| e29f33ef51 | |||
| 71c10dcd58 | |||
| dd40b1af5b | |||
| 871e6c6cf9 | |||
| 01e9670212 | |||
| 7e0eb5271e | |||
| 07faa961a0 | |||
| 2fbc69c9ad | |||
| 158947e294 | |||
| d42b047f78 | |||
| 6c16ccaf61 | |||
| f554a7c709 | |||
| 959817472d | |||
| 4a1bcc67b4 | |||
| 00285c035a | |||
| 3e2012914e | |||
| 9d9381fb28 | |||
| c23aebdf99 | |||
| 72cefe6b72 | |||
| 3e194b1068 | |||
| c2734dc03c | |||
| 3d224e42e7 |
@@ -1,52 +0,0 @@
|
|||||||
version: "{build}"
|
|
||||||
|
|
||||||
image: Visual Studio 2015
|
|
||||||
|
|
||||||
skip_tags: true
|
|
||||||
|
|
||||||
environment:
|
|
||||||
matrix:
|
|
||||||
- FEATURE: HUGE
|
|
||||||
|
|
||||||
# Alternate environments, not used right now. 2022 is a lot slower.
|
|
||||||
#
|
|
||||||
# - job_name: VS-2015
|
|
||||||
# appveyor_build_worker_image: Visual Studio 2015
|
|
||||||
# FEATURE: HUGE
|
|
||||||
|
|
||||||
# - job_name: VS-2017
|
|
||||||
# appveyor_build_worker_image: Visual Studio 2017
|
|
||||||
# FEATURE: HUGE
|
|
||||||
|
|
||||||
# - job_name: VS-2019
|
|
||||||
# appveyor_build_worker_image: Visual Studio 2019
|
|
||||||
# FEATURE: HUGE
|
|
||||||
|
|
||||||
# - job_name: VS-2022
|
|
||||||
# appveyor_build_worker_image: Visual Studio 2022
|
|
||||||
# FEATURE: HUGE
|
|
||||||
|
|
||||||
# disabled
|
|
||||||
# - FEATURE: TINY
|
|
||||||
# - FEATURE: NORMAL
|
|
||||||
|
|
||||||
matrix:
|
|
||||||
fast_finish: true
|
|
||||||
|
|
||||||
before_build:
|
|
||||||
- call ver
|
|
||||||
- ci\appveyor.bat install
|
|
||||||
|
|
||||||
build_script:
|
|
||||||
- ci\appveyor.bat build
|
|
||||||
|
|
||||||
test_script:
|
|
||||||
- ci\appveyor.bat test
|
|
||||||
|
|
||||||
artifacts:
|
|
||||||
- path: src/vim.exe
|
|
||||||
name: vim
|
|
||||||
- path: src/gvim.exe
|
|
||||||
name: gvim
|
|
||||||
|
|
||||||
# vim: sw=2 sts=2 et ts=8 sr
|
|
||||||
+15
-6
@@ -18,6 +18,7 @@ runtime/autoload/javascriptcomplete.vim @jsit
|
|||||||
runtime/autoload/modula2.vim @dkearns
|
runtime/autoload/modula2.vim @dkearns
|
||||||
runtime/autoload/rubycomplete.vim @segfault @dkearns
|
runtime/autoload/rubycomplete.vim @segfault @dkearns
|
||||||
runtime/autoload/rust.vim @lilyball
|
runtime/autoload/rust.vim @lilyball
|
||||||
|
runtime/autoload/tohtml.vim @fritzophrenic
|
||||||
runtime/autoload/typeset.vim @lifepillar
|
runtime/autoload/typeset.vim @lifepillar
|
||||||
runtime/autoload/xmlformat.vim @chrisbra
|
runtime/autoload/xmlformat.vim @chrisbra
|
||||||
runtime/autoload/dist/json.vim @habamax
|
runtime/autoload/dist/json.vim @habamax
|
||||||
@@ -133,6 +134,7 @@ runtime/doc/xxd-ru.1 @RestorerZ
|
|||||||
runtime/doc/xxd-ru.UTF-8.1 @RestorerZ
|
runtime/doc/xxd-ru.UTF-8.1 @RestorerZ
|
||||||
runtime/ftplugin/abaqus.vim @costerwi
|
runtime/ftplugin/abaqus.vim @costerwi
|
||||||
runtime/ftplugin/abnf.vim @A4-Tacks
|
runtime/ftplugin/abnf.vim @A4-Tacks
|
||||||
|
runtime/ftplugin/algol68.vim @dkearns
|
||||||
runtime/ftplugin/antlr4.vim @jiangyinzuo
|
runtime/ftplugin/antlr4.vim @jiangyinzuo
|
||||||
runtime/ftplugin/apache.vim @dubgeiser
|
runtime/ftplugin/apache.vim @dubgeiser
|
||||||
runtime/ftplugin/arduino.vim @k-takata
|
runtime/ftplugin/arduino.vim @k-takata
|
||||||
@@ -338,6 +340,7 @@ runtime/ftplugin/thrift.vim @jiangyinzuo
|
|||||||
runtime/ftplugin/tiasm.vim @Freed-Wu
|
runtime/ftplugin/tiasm.vim @Freed-Wu
|
||||||
runtime/ftplugin/tidy.vim @dkearns
|
runtime/ftplugin/tidy.vim @dkearns
|
||||||
runtime/ftplugin/tmux.vim @ericpruitt
|
runtime/ftplugin/tmux.vim @ericpruitt
|
||||||
|
runtime/ftplugin/tolk.vim @redavy
|
||||||
runtime/ftplugin/toml.vim @averms
|
runtime/ftplugin/toml.vim @averms
|
||||||
runtime/ftplugin/tt2html.vim @petdance
|
runtime/ftplugin/tt2html.vim @petdance
|
||||||
runtime/ftplugin/twig.vim @ribru17
|
runtime/ftplugin/twig.vim @ribru17
|
||||||
@@ -402,6 +405,7 @@ runtime/indent/json.vim @elzr
|
|||||||
runtime/indent/jsonc.vim @izhakjakov
|
runtime/indent/jsonc.vim @izhakjakov
|
||||||
runtime/indent/julia.vim @carlobaldassi
|
runtime/indent/julia.vim @carlobaldassi
|
||||||
runtime/indent/just.vim @pbnj
|
runtime/indent/just.vim @pbnj
|
||||||
|
runtime/indent/karel.vim @KnoP-01
|
||||||
runtime/indent/kdl.vim @imsnif @jiangyinzuo
|
runtime/indent/kdl.vim @imsnif @jiangyinzuo
|
||||||
runtime/indent/kotlin.vim @udalov
|
runtime/indent/kotlin.vim @udalov
|
||||||
runtime/indent/krl.vim @KnoP-01
|
runtime/indent/krl.vim @KnoP-01
|
||||||
@@ -468,10 +472,12 @@ runtime/pack/dist/opt/helptoc/ @kennypete
|
|||||||
runtime/pack/dist/opt/matchit/ @chrisbra
|
runtime/pack/dist/opt/matchit/ @chrisbra
|
||||||
runtime/pack/dist/opt/nohlsearch/ @habamax
|
runtime/pack/dist/opt/nohlsearch/ @habamax
|
||||||
runtime/plugin/manpager.vim @Konfekt
|
runtime/plugin/manpager.vim @Konfekt
|
||||||
runtime/syntax/shared/hgcommitDiff.vim @vegerot
|
runtime/plugin/tohtml.vim @fritzophrenic
|
||||||
|
runtime/syntax/2html.vim @fritzophrenic
|
||||||
runtime/syntax/abaqus.vim @costerwi
|
runtime/syntax/abaqus.vim @costerwi
|
||||||
runtime/syntax/abnf.vim @A4-Tacks
|
runtime/syntax/abnf.vim @A4-Tacks
|
||||||
runtime/syntax/aidl.vim @dpelle
|
runtime/syntax/aidl.vim @dpelle
|
||||||
|
runtime/syntax/algol68.vim @dkearns
|
||||||
runtime/syntax/amiga.vim @sodero
|
runtime/syntax/amiga.vim @sodero
|
||||||
runtime/syntax/ant.vim @dkearns
|
runtime/syntax/ant.vim @dkearns
|
||||||
runtime/syntax/antlr4.vim @jiangyinzuo
|
runtime/syntax/antlr4.vim @jiangyinzuo
|
||||||
@@ -578,17 +584,17 @@ runtime/syntax/java.vim @zzzyxwvut
|
|||||||
runtime/syntax/javascript.vim @fleiner
|
runtime/syntax/javascript.vim @fleiner
|
||||||
runtime/syntax/jinja.vim @gpanders
|
runtime/syntax/jinja.vim @gpanders
|
||||||
runtime/syntax/jjdescription.vim @gpanders
|
runtime/syntax/jjdescription.vim @gpanders
|
||||||
|
runtime/syntax/jq.vim @vito-c
|
||||||
runtime/syntax/json.vim @vito-c
|
runtime/syntax/json.vim @vito-c
|
||||||
runtime/syntax/jsonc.vim @izhakjakov
|
runtime/syntax/jsonc.vim @izhakjakov
|
||||||
runtime/syntax/julia.vim @carlobaldassi
|
runtime/syntax/julia.vim @carlobaldassi
|
||||||
runtime/syntax/just.vim @pbnj
|
runtime/syntax/just.vim @pbnj
|
||||||
runtime/syntax/jq.vim @vito-c
|
|
||||||
runtime/syntax/karel.vim @kirillmorozov
|
runtime/syntax/karel.vim @kirillmorozov
|
||||||
runtime/syntax/kconfig.vim @chrisbra
|
runtime/syntax/kconfig.vim @chrisbra
|
||||||
|
runtime/syntax/kdl.vim @imsnif @jiangyinzuo
|
||||||
runtime/syntax/kitty.vim @OXY2DEV
|
runtime/syntax/kitty.vim @OXY2DEV
|
||||||
runtime/syntax/kivy.vim @prophittcorey
|
runtime/syntax/kivy.vim @prophittcorey
|
||||||
runtime/syntax/kotlin.vim @udalov
|
runtime/syntax/kotlin.vim @udalov
|
||||||
runtime/syntax/kdl.vim @imsnif @jiangyinzuo
|
|
||||||
runtime/syntax/krl.vim @KnoP-01
|
runtime/syntax/krl.vim @KnoP-01
|
||||||
runtime/syntax/leex.vim @jparise
|
runtime/syntax/leex.vim @jparise
|
||||||
runtime/syntax/less.vim @genoma
|
runtime/syntax/less.vim @genoma
|
||||||
@@ -605,8 +611,8 @@ runtime/syntax/m3quake.vim @dkearns
|
|||||||
runtime/syntax/mailcap.vim @dkearns
|
runtime/syntax/mailcap.vim @dkearns
|
||||||
runtime/syntax/mallard.vim @jhradilek
|
runtime/syntax/mallard.vim @jhradilek
|
||||||
runtime/syntax/markdown.vim @tpope
|
runtime/syntax/markdown.vim @tpope
|
||||||
runtime/syntax/mbsync.vim @fymyte
|
|
||||||
runtime/syntax/mason.vim @petdance
|
runtime/syntax/mason.vim @petdance
|
||||||
|
runtime/syntax/mbsync.vim @fymyte
|
||||||
runtime/syntax/mediawiki.vim @avidseeker
|
runtime/syntax/mediawiki.vim @avidseeker
|
||||||
runtime/syntax/meson.vim @Liambeguin
|
runtime/syntax/meson.vim @Liambeguin
|
||||||
runtime/syntax/mf.vim @lifepillar
|
runtime/syntax/mf.vim @lifepillar
|
||||||
@@ -655,8 +661,8 @@ runtime/syntax/qml.vim @ChaseKnowlden
|
|||||||
runtime/syntax/racket.vim @benknoble
|
runtime/syntax/racket.vim @benknoble
|
||||||
runtime/syntax/raml.vim @in3d
|
runtime/syntax/raml.vim @in3d
|
||||||
runtime/syntax/rapid.vim @KnoP-01
|
runtime/syntax/rapid.vim @KnoP-01
|
||||||
runtime/syntax/ratpoison.vim @trapd00r
|
|
||||||
runtime/syntax/rasi.vim @fymyte
|
runtime/syntax/rasi.vim @fymyte
|
||||||
|
runtime/syntax/ratpoison.vim @trapd00r
|
||||||
runtime/syntax/rc.vim @chrisbra
|
runtime/syntax/rc.vim @chrisbra
|
||||||
runtime/syntax/rcs.vim @hdima
|
runtime/syntax/rcs.vim @hdima
|
||||||
runtime/syntax/rebol.vim @mrdubya
|
runtime/syntax/rebol.vim @mrdubya
|
||||||
@@ -672,8 +678,10 @@ runtime/syntax/scala.vim @derekwyatt
|
|||||||
runtime/syntax/scheme.vim @evhan
|
runtime/syntax/scheme.vim @evhan
|
||||||
runtime/syntax/scss.vim @tpope
|
runtime/syntax/scss.vim @tpope
|
||||||
runtime/syntax/sed.vim @dkearns
|
runtime/syntax/sed.vim @dkearns
|
||||||
runtime/syntax/shared/debversions.vim @jamessan
|
runtime/syntax/sgf.vim @lykahb
|
||||||
runtime/syntax/shaderslang.vim @mTvare6
|
runtime/syntax/shaderslang.vim @mTvare6
|
||||||
|
runtime/syntax/shared/debversions.vim @jamessan
|
||||||
|
runtime/syntax/shared/hgcommitDiff.vim @vegerot
|
||||||
runtime/syntax/skhd.vim @kiyoon
|
runtime/syntax/skhd.vim @kiyoon
|
||||||
runtime/syntax/solidity.vim @coti-z
|
runtime/syntax/solidity.vim @coti-z
|
||||||
runtime/syntax/spajson.vim @dseomn
|
runtime/syntax/spajson.vim @dseomn
|
||||||
@@ -698,6 +706,7 @@ runtime/syntax/thrift.vim @jiangyinzuo
|
|||||||
runtime/syntax/tiasm.vim @Freed-Wu
|
runtime/syntax/tiasm.vim @Freed-Wu
|
||||||
runtime/syntax/tidy.vim @dkearns
|
runtime/syntax/tidy.vim @dkearns
|
||||||
runtime/syntax/tmux.vim @ericpruitt
|
runtime/syntax/tmux.vim @ericpruitt
|
||||||
|
runtime/syntax/tolk.vim @redavy
|
||||||
runtime/syntax/toml.vim @averms
|
runtime/syntax/toml.vim @averms
|
||||||
runtime/syntax/tt2.vim @petdance
|
runtime/syntax/tt2.vim @petdance
|
||||||
runtime/syntax/tt2html.vim @petdance
|
runtime/syntax/tt2html.vim @petdance
|
||||||
|
|||||||
@@ -0,0 +1,325 @@
|
|||||||
|
name: Build Vim on Linux
|
||||||
|
description: Build Vim on Linux
|
||||||
|
|
||||||
|
inputs:
|
||||||
|
features:
|
||||||
|
description: Vim features
|
||||||
|
required: true
|
||||||
|
compiler:
|
||||||
|
description: Compiler
|
||||||
|
required: true
|
||||||
|
architecture:
|
||||||
|
description: Architecture
|
||||||
|
required: false
|
||||||
|
extra:
|
||||||
|
description: Extra flags
|
||||||
|
required: true
|
||||||
|
shadow:
|
||||||
|
description: Shadow directory
|
||||||
|
required: false
|
||||||
|
interface:
|
||||||
|
description: Interface of language interpreter
|
||||||
|
required: false
|
||||||
|
lua_ver:
|
||||||
|
description: Lua version
|
||||||
|
required: false
|
||||||
|
python3:
|
||||||
|
description: Python3 ABI type
|
||||||
|
required: false
|
||||||
|
coverage:
|
||||||
|
description: Enable coverage
|
||||||
|
required: false
|
||||||
|
|
||||||
|
runs:
|
||||||
|
using: "composite"
|
||||||
|
steps:
|
||||||
|
- name: Check Filelist (for packaging)
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
echo '::group::Check Filelist (for packaging)'
|
||||||
|
# If any files in the repository are not listed in Filelist this will
|
||||||
|
# exit with an error code and list the missing entries.
|
||||||
|
make -f ci/unlisted.make
|
||||||
|
echo '::endgroup::'
|
||||||
|
|
||||||
|
- name: Check hlgroups (are any new hlgroups added, but not handled in highlight.c)
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
echo '::group::Check hlgroups (are any new hlgroups added, but not handled in highlight.c)'
|
||||||
|
# If any highlight groups have been documented, but not handled in
|
||||||
|
# highlight.c, nor listed as 'intentionally left out' in hlgroups.ignore,
|
||||||
|
# exit with an error code and list the missing entries.
|
||||||
|
make -C ci -f hlgroups.make
|
||||||
|
echo '::endgroup::'
|
||||||
|
|
||||||
|
- name: Report executable syntax tests
|
||||||
|
if: contains(fromJSON(inputs.extra), 'syn_test_execs')
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
echo '::group::Report executable syntax tests'
|
||||||
|
# Search and list all found executable syntax tests, and exit with
|
||||||
|
# an error code.
|
||||||
|
make -C runtime/syntax executables
|
||||||
|
echo '::endgroup::'
|
||||||
|
|
||||||
|
- name: Add i386 packages to dpkg
|
||||||
|
if: inputs.architecture == 'i386'
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
echo '::group::Add i386 packages to dpkg'
|
||||||
|
sudo dpkg --add-architecture i386
|
||||||
|
echo '::endgroup::'
|
||||||
|
|
||||||
|
- name: Uninstall snap
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
echo '::group::Uninstall snap'
|
||||||
|
sudo bash ci/remove_snap.sh
|
||||||
|
echo '::endgroup::'
|
||||||
|
|
||||||
|
- name: Enable debug packages
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
echo '::group::Enable debug packages'
|
||||||
|
# Some of the ASAN suppressions are in libraries linked with dlopen
|
||||||
|
# and symbolization of them requires these debug packages.
|
||||||
|
sudo apt install ubuntu-dbgsym-keyring
|
||||||
|
sudo cp ci/ddebs.list /etc/apt/sources.list.d/ddebs.list
|
||||||
|
sudo cp ci/pinned-pkgs /etc/apt/preferences.d/pinned-pkgs
|
||||||
|
echo '::endgroup::'
|
||||||
|
|
||||||
|
# TODO: switch to GTK4 GUI
|
||||||
|
- name: Install packages
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
echo '::group::Install packages'
|
||||||
|
# This is added by default, and it is often broken, but we don't need anything from it
|
||||||
|
sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
|
||||||
|
PKGS=( \
|
||||||
|
gettext \
|
||||||
|
x11-utils \
|
||||||
|
labwc \
|
||||||
|
wl-clipboard \
|
||||||
|
wayland-utils \
|
||||||
|
libgtk-3-dev:${{ inputs.architecture }} \
|
||||||
|
libgtk-3-bin:${{ inputs.architecture }} \
|
||||||
|
desktop-file-utils \
|
||||||
|
libc6-dbgsym:${{ inputs.architecture }} \
|
||||||
|
libtool-bin \
|
||||||
|
libncurses-dev:${{ inputs.architecture }} \
|
||||||
|
libxt-dev:${{ inputs.architecture }} \
|
||||||
|
libegl-mesa0:${{ inputs.architecture }} \
|
||||||
|
libegl1:${{ inputs.architecture }} \
|
||||||
|
libegl1-mesa-dev:${{ inputs.architecture }} \
|
||||||
|
libepoxy-dev:${{ inputs.architecture }} \
|
||||||
|
libwayland-egl1:${{ inputs.architecture }} \
|
||||||
|
libwayland-client0:${{ inputs.architecture }} \
|
||||||
|
libwayland-cursor0:${{ inputs.architecture }} \
|
||||||
|
locales-all \
|
||||||
|
software-properties-common \
|
||||||
|
)
|
||||||
|
if ${{ contains(fromJSON(inputs.extra), 'asan') }} && ${{ contains(inputs.architecture, 'native') }}; then
|
||||||
|
PKGS+=( \
|
||||||
|
libepoxy0-dbgsym:${{ inputs.architecture }} \
|
||||||
|
libxdamage1-dbgsym:${{ inputs.architecture }} \
|
||||||
|
libxcb1-dbgsym:${{ inputs.architecture }} \
|
||||||
|
libgtk-3-bin-dbgsym:${{ inputs.architecture }} \
|
||||||
|
libgtk-3-0t64-dbgsym:${{ inputs.architecture }} \
|
||||||
|
libglib2.0-0t64-dbgsym:${{ inputs.architecture }} \
|
||||||
|
libglib2.0-bin-dbgsym:${{ inputs.architecture }} \
|
||||||
|
libglib2.0-dev-bin-dbgsym:${{ inputs.architecture }} \
|
||||||
|
)
|
||||||
|
fi
|
||||||
|
if ${{ inputs.features == 'huge' }}; then
|
||||||
|
LUA_VER=${{ inputs.lua_ver || '5.4' }}
|
||||||
|
PKGS+=( \
|
||||||
|
autoconf \
|
||||||
|
gdb \
|
||||||
|
lcov \
|
||||||
|
libcanberra-dev \
|
||||||
|
libperl-dev \
|
||||||
|
python3-dev \
|
||||||
|
liblua${LUA_VER}-dev \
|
||||||
|
lua${LUA_VER} \
|
||||||
|
ruby-dev \
|
||||||
|
tcl-dev \
|
||||||
|
cscope \
|
||||||
|
libsodium-dev \
|
||||||
|
attr \
|
||||||
|
libattr1-dev
|
||||||
|
)
|
||||||
|
fi
|
||||||
|
if ${{ contains(fromJSON(inputs.extra), 'proto') }}; then
|
||||||
|
PKGS+=( python3-clang )
|
||||||
|
fi
|
||||||
|
sudo apt-get update && sudo apt-get upgrade -y --allow-downgrades && sudo apt-get install -y --allow-downgrades "${PKGS[@]}"
|
||||||
|
|
||||||
|
- name: Install gcc-${{ env.GCC_VER }}
|
||||||
|
if: inputs.compiler == 'gcc'
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
echo '::group::Install gcc-${{ env.GCC_VER }}'
|
||||||
|
# ubuntu-toolchain-r/test PPA for gcc-13 compiler
|
||||||
|
# disabled because the installation failed, causing test failures
|
||||||
|
# sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
|
||||||
|
sudo apt-get update -y
|
||||||
|
sudo apt-get install -y gcc-${{ env.GCC_VER }}:${{ inputs.architecture }}
|
||||||
|
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-${{ env.GCC_VER }} 100
|
||||||
|
sudo update-alternatives --set gcc /usr/bin/gcc-${{ env.GCC_VER }}
|
||||||
|
echo '::endgroup::'
|
||||||
|
|
||||||
|
- name: Install clang-${{ env.CLANG_VER }}
|
||||||
|
if: inputs.compiler == 'clang'
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
echo '::group::Install clang-${{ env.CLANG_VER }}'
|
||||||
|
. /etc/lsb-release
|
||||||
|
curl -fsSL https://apt.llvm.org/llvm-snapshot.gpg.key | gpg --dearmor | sudo tee /usr/share/keyrings/llvm-archive-keyring.gpg > /dev/null
|
||||||
|
echo "Types: deb
|
||||||
|
URIs: https://apt.llvm.org/${DISTRIB_CODENAME}/
|
||||||
|
Suites: llvm-toolchain-${DISTRIB_CODENAME}-${{ env.CLANG_VER }}
|
||||||
|
Components: main
|
||||||
|
Signed-By: /usr/share/keyrings/llvm-archive-keyring.gpg" | sudo tee /etc/apt/sources.list.d/llvm-toolchain.sources > /dev/null
|
||||||
|
sudo apt-get update -y
|
||||||
|
sudo apt-get install -y clang-${{ env.CLANG_VER }} llvm-${{ env.CLANG_VER }}
|
||||||
|
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-${{ env.CLANG_VER }} 100
|
||||||
|
sudo update-alternatives --set clang /usr/bin/clang-${{ env.CLANG_VER }}
|
||||||
|
sudo update-alternatives --install /usr/bin/llvm-cov llvm-cov /usr/bin/llvm-cov-${{ env.CLANG_VER }} 100
|
||||||
|
sudo update-alternatives --install /usr/bin/asan_symbolize asan_symbolize /usr/bin/asan_symbolize-${{ env.CLANG_VER }} 100
|
||||||
|
echo '::endgroup::'
|
||||||
|
|
||||||
|
- name: Set up environment
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
echo '::group::Set up environment'
|
||||||
|
mkdir -p "${LOG_DIR}"
|
||||||
|
mkdir -p "${HOME}/bin"
|
||||||
|
echo "${HOME}/bin" >> $GITHUB_PATH
|
||||||
|
(
|
||||||
|
echo "LINUX_VERSION=$(uname -r)"
|
||||||
|
echo "NPROC=$(getconf _NPROCESSORS_ONLN)"
|
||||||
|
echo "TMPDIR=$(mktemp -d -p /tmp)"
|
||||||
|
|
||||||
|
case "${{ inputs.features }}" in
|
||||||
|
tiny)
|
||||||
|
echo "TEST=testtiny"
|
||||||
|
if ${{ contains(fromJSON(inputs.extra), 'nogui') }}; then
|
||||||
|
CONFOPT="--disable-gui"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
normal)
|
||||||
|
;;
|
||||||
|
huge)
|
||||||
|
echo "TEST=scripttests test_libvterm indenttest syntaxtest"
|
||||||
|
INTERFACE=${{ inputs.interface || 'yes' }}
|
||||||
|
if ${{ inputs.python3 == 'stable-abi' }}; then
|
||||||
|
PYTHON3_CONFOPT="--with-python3-stable-abi=3.8"
|
||||||
|
fi
|
||||||
|
# The ubuntu-24.04 CI runner does not provide a python2 package.
|
||||||
|
CONFOPT="--enable-perlinterp=${INTERFACE} --enable-pythoninterp=no --enable-python3interp=${INTERFACE} --enable-rubyinterp=${INTERFACE} --enable-luainterp=${INTERFACE} --enable-tclinterp=${INTERFACE} ${PYTHON3_CONFOPT}"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if ${{ contains(fromJSON(inputs.extra), 'no_x11_wl') }}; then
|
||||||
|
CONFOPT="${CONFOPT} --without-x --disable-gui --without-wayland --enable-socketserver"
|
||||||
|
fi
|
||||||
|
if ${{ inputs.coverage == true }}; then
|
||||||
|
CFLAGS="${CFLAGS} --coverage -DUSE_GCOV_FLUSH"
|
||||||
|
echo "LDFLAGS=--coverage"
|
||||||
|
fi
|
||||||
|
if ${{ contains(fromJSON(inputs.extra), 'uchar') }}; then
|
||||||
|
CFLAGS="${CFLAGS} -funsigned-char"
|
||||||
|
fi
|
||||||
|
if ${{ contains(fromJSON(inputs.extra), 'testgui') }}; then
|
||||||
|
echo "TEST=-C src testgui"
|
||||||
|
fi
|
||||||
|
if ${{ contains(fromJSON(inputs.extra), 'unittests') }}; then
|
||||||
|
echo "TEST=unittests"
|
||||||
|
fi
|
||||||
|
if ${{ contains(fromJSON(inputs.extra), 'asan') }}; then
|
||||||
|
echo "SANITIZER_CFLAGS=-g -O0 -DABORT_ON_INTERNAL_ERROR -DEXITFREE -fsanitize-recover=all -fsanitize=address -fsanitize=undefined -fno-omit-frame-pointer"
|
||||||
|
echo "ASAN_OPTIONS=print_stacktrace=1:log_path=${LOG_DIR}/asan"
|
||||||
|
echo "UBSAN_OPTIONS=print_stacktrace=1:log_path=${LOG_DIR}/ubsan"
|
||||||
|
echo "LSAN_OPTIONS=suppressions=${GITHUB_WORKSPACE}/src/testdir/lsan-suppress.txt"
|
||||||
|
fi
|
||||||
|
if ${{ contains(fromJSON(inputs.extra), 'vimtags') }}; then
|
||||||
|
echo "TEST=-C runtime/doc vimtags VIMEXE=../../${SRCDIR}/vim"
|
||||||
|
fi
|
||||||
|
if ${{ contains(fromJSON(inputs.extra), 'proto') }}; then
|
||||||
|
echo "TEST=-C src protoclean proto"
|
||||||
|
fi
|
||||||
|
echo "CFLAGS=${CFLAGS}"
|
||||||
|
echo "CONFOPT=${CONFOPT}"
|
||||||
|
# Disables GTK attempt to integrate with the accessibility service that does run in CI.
|
||||||
|
echo "NO_AT_BRIDGE=1"
|
||||||
|
) >> $GITHUB_ENV
|
||||||
|
echo '::endgroup::'
|
||||||
|
|
||||||
|
- name: Set up system
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
echo '::group::Set up system'
|
||||||
|
if [[ ${CC} = clang ]]; then
|
||||||
|
# Use llvm-cov instead of gcov when compiler is clang.
|
||||||
|
ln -fs /usr/bin/llvm-cov ${HOME}/bin/gcov
|
||||||
|
fi
|
||||||
|
sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=0
|
||||||
|
sudo usermod -a -G audio "${USER}"
|
||||||
|
sudo bash ci/setup-xvfb.sh
|
||||||
|
echo '::endgroup::'
|
||||||
|
|
||||||
|
- name: Check autoconf
|
||||||
|
if: contains(fromJSON(inputs.extra), 'unittests')
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
echo '::group::Check autoconf'
|
||||||
|
make -C src autoconf
|
||||||
|
echo '::endgroup::'
|
||||||
|
|
||||||
|
- name: Set up shadow dir
|
||||||
|
if: inputs.shadow
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
echo '::group::Set up shadow dir'
|
||||||
|
make -C src shadow
|
||||||
|
echo "SRCDIR=${{ inputs.shadow }}" >> $GITHUB_ENV
|
||||||
|
echo "SHADOWOPT=-C ${{ inputs.shadow }}" >> $GITHUB_ENV
|
||||||
|
echo '::endgroup::'
|
||||||
|
|
||||||
|
- name: Configure
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
echo '::group::Configure'
|
||||||
|
./configure --with-features=${{ inputs.features }} ${CONFOPT} --enable-fail-if-missing
|
||||||
|
# Append various warning flags to CFLAGS.
|
||||||
|
sed -i -f ci/config.mk.sed ${SRCDIR}/auto/config.mk
|
||||||
|
sed -i -f ci/config.mk.${CC}.sed ${SRCDIR}/auto/config.mk
|
||||||
|
if [[ ${CC} = clang ]]; then
|
||||||
|
# Suppress some warnings produced by clang 12 and later.
|
||||||
|
sed -i -f ci/config.mk.clang-12.sed ${SRCDIR}/auto/config.mk
|
||||||
|
fi
|
||||||
|
echo '::endgroup::'
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
if: (!contains(fromJSON(inputs.extra), 'unittests'))
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
echo '::group::Build'
|
||||||
|
make ${SHADOWOPT} -j${NPROC}
|
||||||
|
echo '::endgroup::'
|
||||||
|
|
||||||
|
- name: Check version
|
||||||
|
if: (!contains(fromJSON(inputs.extra), 'unittests'))
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
echo '::group::Check version'
|
||||||
|
"${SRCDIR}"/vim --version
|
||||||
|
"${SRCDIR}"/vim -u NONE -i NONE --not-a-term -esNX -V1 -S ci/if_ver-1.vim -c quit
|
||||||
|
"${SRCDIR}"/vim -u NONE -i NONE --not-a-term -esNX -V1 -S ci/if_ver-2.vim -c quit
|
||||||
|
if ${{ inputs.features == 'huge' }}; then
|
||||||
|
# Also check that optional and dynamic features are configured and working
|
||||||
|
"${SRCDIR}"/vim -u NONE -i NONE --not-a-term -esNX -V1 \
|
||||||
|
-c "let g:required=['gettext', 'sodium', 'sound', 'perl', 'python3', 'lua', 'ruby', 'tcl']" \
|
||||||
|
-S ci/if_feat_check.vim -c quit
|
||||||
|
fi
|
||||||
|
echo '::endgroup::'
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
name: 'test_artifacts'
|
name: "test_artifacts"
|
||||||
description: "Upload failed test artifacts"
|
description: "Upload failed test artifacts"
|
||||||
inputs:
|
inputs:
|
||||||
artifact-name:
|
artifact-name:
|
||||||
@@ -14,7 +14,7 @@ runs:
|
|||||||
# it from the matrix automatically like in Vim
|
# it from the matrix automatically like in Vim
|
||||||
# upstream.
|
# upstream.
|
||||||
# - name: Collect matrix properties for naming
|
# - name: Collect matrix properties for naming
|
||||||
# uses: actions/github-script@v8
|
# uses: actions/github-script@v9
|
||||||
# id: matrix-props
|
# id: matrix-props
|
||||||
# env:
|
# env:
|
||||||
# MATRIX_PROPS: ${{ toJSON(inputs) }}
|
# MATRIX_PROPS: ${{ toJSON(inputs) }}
|
||||||
@@ -50,6 +50,7 @@ runs:
|
|||||||
# A file, directory or wildcard pattern that describes what
|
# A file, directory or wildcard pattern that describes what
|
||||||
# to upload.
|
# to upload.
|
||||||
path: |
|
path: |
|
||||||
|
${{ github.workspace }}/logs/**/*.symbolized
|
||||||
${{ github.workspace }}/runtime/indent/testdir/*.fail
|
${{ github.workspace }}/runtime/indent/testdir/*.fail
|
||||||
${{ github.workspace }}/runtime/syntax/testdir/failed/*
|
${{ github.workspace }}/runtime/syntax/testdir/failed/*
|
||||||
${{ github.workspace }}/src/testdir/failed/*
|
${{ github.workspace }}/src/testdir/failed/*
|
||||||
|
|||||||
@@ -8,7 +8,6 @@ CI:
|
|||||||
- '.github/dependabot.yml'
|
- '.github/dependabot.yml'
|
||||||
- '.github/labeler.yml'
|
- '.github/labeler.yml'
|
||||||
- '.github/workflows/*'
|
- '.github/workflows/*'
|
||||||
- '.appveyor.yml'
|
|
||||||
- '.codecov.yml'
|
- '.codecov.yml'
|
||||||
|
|
||||||
documentation:
|
documentation:
|
||||||
|
|||||||
@@ -0,0 +1,176 @@
|
|||||||
|
name: CI for Linux
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_call:
|
||||||
|
|
||||||
|
# Cancels all previous workflow runs for pull requests that have not completed.
|
||||||
|
concurrency:
|
||||||
|
# The concurrency group contains the workflow name and the branch name for
|
||||||
|
# pull requests or the commit hash for any other events.
|
||||||
|
group: ${{ github.workflow }}-linux-${{ github.event_name == 'pull_request' && github.head_ref || github.sha }}
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read # to fetch code (actions/checkout)
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
linux:
|
||||||
|
runs-on: ${{ matrix.architecture == 'arm64' && 'ubuntu-24.04-arm' || 'ubuntu-24.04' }}
|
||||||
|
|
||||||
|
env:
|
||||||
|
CC: ${{ matrix.compiler }}
|
||||||
|
GCC_VER: 14
|
||||||
|
CLANG_VER: 22
|
||||||
|
TEST: test
|
||||||
|
SRCDIR: ./src
|
||||||
|
LEAK_CFLAGS: -DEXITFREE
|
||||||
|
LOG_DIR: ${{ github.workspace }}/logs
|
||||||
|
TERM: xterm
|
||||||
|
DISPLAY: ":99"
|
||||||
|
DEBIAN_FRONTEND: noninteractive
|
||||||
|
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
features: [tiny, normal, huge]
|
||||||
|
compiler: [clang, gcc]
|
||||||
|
extra: [[]]
|
||||||
|
# Only use non-native architecture when features != huge.
|
||||||
|
# features=huge tries to install python3-dev, which fails to install
|
||||||
|
# for the non-native architecture.
|
||||||
|
architecture: [native]
|
||||||
|
include:
|
||||||
|
- features: tiny
|
||||||
|
compiler: clang
|
||||||
|
extra: [nogui]
|
||||||
|
- features: tiny
|
||||||
|
compiler: gcc
|
||||||
|
extra: [nogui, syn_test_execs]
|
||||||
|
- features: tiny
|
||||||
|
compiler: gcc
|
||||||
|
extra: [nogui]
|
||||||
|
architecture: arm64
|
||||||
|
- features: normal
|
||||||
|
shadow: ./src/shadow
|
||||||
|
compiler: gcc
|
||||||
|
architecture: i386
|
||||||
|
- features: huge
|
||||||
|
coverage: true
|
||||||
|
- features: huge
|
||||||
|
compiler: clang
|
||||||
|
interface: dynamic
|
||||||
|
python3: stable-abi
|
||||||
|
- features: huge
|
||||||
|
compiler: gcc
|
||||||
|
coverage: true
|
||||||
|
interface: dynamic
|
||||||
|
extra: [uchar, testgui]
|
||||||
|
- features: huge
|
||||||
|
compiler: gcc
|
||||||
|
coverage: true
|
||||||
|
extra: [unittests]
|
||||||
|
- features: huge
|
||||||
|
compiler: gcc
|
||||||
|
coverage: true
|
||||||
|
extra: [unittests]
|
||||||
|
architecture: arm64
|
||||||
|
- features: normal
|
||||||
|
compiler: gcc
|
||||||
|
extra: [vimtags, proto, preproc_indent, encoding, codestyle]
|
||||||
|
- features: huge
|
||||||
|
compiler: gcc
|
||||||
|
extra: [no_x11_wl]
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository from GitHub
|
||||||
|
uses: actions/checkout@v6.0.2
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
timeout-minutes: 15
|
||||||
|
uses: ./.github/actions/build_vim_on_linux
|
||||||
|
with:
|
||||||
|
features: ${{ matrix.features }}
|
||||||
|
compiler: ${{ matrix.compiler }}
|
||||||
|
architecture: ${{ matrix.architecture }}
|
||||||
|
extra: ${{ toJSON(matrix.extra) }}
|
||||||
|
shadow: ${{ matrix.shadow }}
|
||||||
|
interface: ${{ matrix.interface }}
|
||||||
|
lua_ver: ${{ matrix.lua_ver }}
|
||||||
|
python3: ${{ matrix.python3 }}
|
||||||
|
coverage: ${{ matrix.coverage }}
|
||||||
|
|
||||||
|
- name: Test
|
||||||
|
timeout-minutes: 20
|
||||||
|
run: make ${SHADOWOPT} ${TEST}
|
||||||
|
|
||||||
|
# Enable to debug failing tests live and ssh into the CI runners
|
||||||
|
# - name: Setup tmate session
|
||||||
|
# if: ${{ failure() }}
|
||||||
|
# uses: mxschmitt/action-tmate@v3
|
||||||
|
# with:
|
||||||
|
# limit-access-to-actor: true
|
||||||
|
|
||||||
|
- name: Upload failed test artifacts
|
||||||
|
if: ${{ !cancelled() }}
|
||||||
|
uses: ./.github/actions/test_artifacts
|
||||||
|
|
||||||
|
- name: Vim tags
|
||||||
|
if: contains(matrix.extra, 'vimtags')
|
||||||
|
run: |
|
||||||
|
# This will exit with an error code if the generated vim tags differs from source.
|
||||||
|
(
|
||||||
|
cd runtime/doc
|
||||||
|
git diff --exit-code -- tags
|
||||||
|
make html; rm *.html tags.ref;
|
||||||
|
test -f errors.log && exit 3;
|
||||||
|
true
|
||||||
|
)
|
||||||
|
|
||||||
|
- name: Generate Proto files
|
||||||
|
if: contains(matrix.extra, 'proto')
|
||||||
|
run: |
|
||||||
|
# This will exit with an error code if the generated proto files differ from source
|
||||||
|
(
|
||||||
|
git diff --exit-code -- src/proto/
|
||||||
|
true
|
||||||
|
)
|
||||||
|
|
||||||
|
- name: Check Source Code style
|
||||||
|
if: contains(matrix.extra, 'codestyle')
|
||||||
|
run: |
|
||||||
|
make -C src/testdir codestyle
|
||||||
|
|
||||||
|
- name: Check preprocessor indent
|
||||||
|
if: contains(matrix.extra, 'preproc_indent')
|
||||||
|
run: |
|
||||||
|
# This will exit with an error code if the files differ from source
|
||||||
|
(
|
||||||
|
"${SRCDIR}"/vim -u NONE --not-a-term -esNX +"cd runtime/tools" -S preproc_indent.vim
|
||||||
|
git diff --exit-code -- src/*.[ch] src/xxd/xxd.c
|
||||||
|
true
|
||||||
|
)
|
||||||
|
|
||||||
|
- name: Check encoding of utf-8 runtime files
|
||||||
|
if: contains(matrix.extra, 'encoding')
|
||||||
|
run: |
|
||||||
|
# This will exit with an error code if utf-8 runtime files are not in utf-8 encoding
|
||||||
|
(
|
||||||
|
find . -type f -name "*utf-8*.vim" -exec sh -c \
|
||||||
|
'iconv -f utf-8 -t utf-8 "$1" >/dev/null 2>&1 || echo "non utf-8 encoding detected in $1"' \
|
||||||
|
find-sh {} \; |grep "non utf-8 encoding" && exit 3
|
||||||
|
true
|
||||||
|
)
|
||||||
|
|
||||||
|
- name: Generate gcov files
|
||||||
|
if: matrix.coverage
|
||||||
|
run: |
|
||||||
|
cd "${SRCDIR}"
|
||||||
|
find . -type f -name '*.gcno' -exec gcov -pb {} + || true
|
||||||
|
|
||||||
|
- name: Codecov
|
||||||
|
timeout-minutes: 20
|
||||||
|
if: matrix.coverage
|
||||||
|
uses: codecov/codecov-action@v6
|
||||||
|
with:
|
||||||
|
flags: linux,${{ matrix.features }}-${{ matrix.compiler }}-${{ join(matrix.extra, '-') }}
|
||||||
|
token: ${{ secrets.CODECOV_TOKEN }}
|
||||||
@@ -0,0 +1,82 @@
|
|||||||
|
name: CI for Linux ASan
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_call:
|
||||||
|
|
||||||
|
# Cancels all previous workflow runs for pull requests that have not completed.
|
||||||
|
concurrency:
|
||||||
|
# The concurrency group contains the workflow name and the branch name for
|
||||||
|
# pull requests or the commit hash for any other events.
|
||||||
|
group: ${{ github.workflow }}-linux_asan-${{ github.event_name == 'pull_request' && github.head_ref || github.sha }}
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read # to fetch code (actions/checkout)
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
linux-asan:
|
||||||
|
runs-on: ubuntu-24.04
|
||||||
|
|
||||||
|
env:
|
||||||
|
CC: clang
|
||||||
|
CLANG_VER: 21
|
||||||
|
SRCDIR: ./src
|
||||||
|
LEAK_CFLAGS: -DEXITFREE
|
||||||
|
LOG_DIR: ${{ github.workspace }}/logs
|
||||||
|
TERM: xterm
|
||||||
|
DISPLAY: ":99"
|
||||||
|
DEBIAN_FRONTEND: noninteractive
|
||||||
|
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
testset:
|
||||||
|
- tinytests
|
||||||
|
- newtests.1
|
||||||
|
- newtests.2
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository from GitHub
|
||||||
|
uses: actions/checkout@v6.0.2
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
timeout-minutes: 15
|
||||||
|
uses: ./.github/actions/build_vim_on_linux
|
||||||
|
with:
|
||||||
|
features: huge
|
||||||
|
compiler: clang
|
||||||
|
extra: '["asan"]'
|
||||||
|
# Lua5.1 is the most widely used version (since it's what LuaJIT is
|
||||||
|
# compatible with), so ensure it works
|
||||||
|
lua_ver: "5.1"
|
||||||
|
|
||||||
|
- name: Test (tinytests)
|
||||||
|
if: matrix.testset == 'tinytests'
|
||||||
|
timeout-minutes: 20
|
||||||
|
run: make ${TEST} NEW_TESTS_RES=
|
||||||
|
|
||||||
|
- name: Test (newtests)
|
||||||
|
if: startsWith(matrix.testset, 'newtests')
|
||||||
|
timeout-minutes: 20
|
||||||
|
env:
|
||||||
|
JOB_INDEX: ${{ strategy.job-index }}
|
||||||
|
JOB_TOTAL: ${{ strategy.job-total }}
|
||||||
|
run: |
|
||||||
|
set -x
|
||||||
|
make -C src/testdir SCRIPTS_TINY_OUT= \
|
||||||
|
NEW_TESTS_RES="$(python3 ci/gen_testset.py $((JOB_TOTAL-1)) | jq -r --argjson i $((JOB_INDEX-1)) '.[$i]|join(" ")')"
|
||||||
|
|
||||||
|
- name: ASan logs
|
||||||
|
if: ${{ !cancelled() }}
|
||||||
|
run: |
|
||||||
|
for f in $(grep -lR '#[[:digit:]]* *0x[[:xdigit:]]*' "${LOG_DIR}"); do
|
||||||
|
(
|
||||||
|
echo "$f"
|
||||||
|
asan_symbolize -l "$f"
|
||||||
|
) | tee "$f".symbolized
|
||||||
|
false # in order to fail a job
|
||||||
|
done
|
||||||
|
|
||||||
|
- name: Upload failed test artifacts
|
||||||
|
if: ${{ !cancelled() }}
|
||||||
|
uses: ./.github/actions/test_artifacts
|
||||||
@@ -0,0 +1,103 @@
|
|||||||
|
name: CI for macOS
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_call:
|
||||||
|
|
||||||
|
# Cancels all previous workflow runs for pull requests that have not completed.
|
||||||
|
concurrency:
|
||||||
|
# The concurrency group contains the workflow name and the branch name for
|
||||||
|
# pull requests or the commit hash for any other events.
|
||||||
|
group: ${{ github.workflow }}-macos-${{ github.event_name == 'pull_request' && github.head_ref || github.sha }}
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read # to fetch code (actions/checkout)
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
macos:
|
||||||
|
runs-on: ${{ matrix.runner }}
|
||||||
|
|
||||||
|
env:
|
||||||
|
CC: clang
|
||||||
|
TEST: test
|
||||||
|
SRCDIR: ./src
|
||||||
|
LEAK_CFLAGS: -DEXITFREE
|
||||||
|
TERM: xterm
|
||||||
|
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
features: [tiny, normal, huge]
|
||||||
|
runner: [macos-15-intel, macos-26]
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository from GitHub
|
||||||
|
uses: actions/checkout@v6.0.2
|
||||||
|
|
||||||
|
- name: Install packages
|
||||||
|
if: matrix.features == 'huge'
|
||||||
|
run: |
|
||||||
|
brew install lua libtool
|
||||||
|
echo "LUA_PREFIX=$(brew --prefix)" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Set up environment
|
||||||
|
run: |
|
||||||
|
(
|
||||||
|
echo "NPROC=$(getconf _NPROCESSORS_ONLN)"
|
||||||
|
case "${{ matrix.features }}" in
|
||||||
|
tiny)
|
||||||
|
echo "TEST=testtiny"
|
||||||
|
echo "CONFOPT=--disable-gui"
|
||||||
|
;;
|
||||||
|
normal)
|
||||||
|
;;
|
||||||
|
huge)
|
||||||
|
echo "CONFOPT=--enable-perlinterp --enable-python3interp --enable-rubyinterp --enable-luainterp --enable-tclinterp"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
) >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Configure
|
||||||
|
run: |
|
||||||
|
./configure --with-features=${{ matrix.features }} ${CONFOPT} --enable-fail-if-missing
|
||||||
|
# Append various warning flags to CFLAGS.
|
||||||
|
# BSD sed needs backup extension specified.
|
||||||
|
sed -i.bak -f ci/config.mk.sed ${SRCDIR}/auto/config.mk
|
||||||
|
# On macOS, the entity of gcc is clang.
|
||||||
|
sed -i.bak -f ci/config.mk.clang.sed ${SRCDIR}/auto/config.mk
|
||||||
|
# Suppress some warnings produced by clang 12 and later.
|
||||||
|
if clang --version | grep -qs 'Apple clang version \(1[3-9]\|[2-9]\)\.'; then
|
||||||
|
sed -i.bak -f ci/config.mk.clang-12.sed ${SRCDIR}/auto/config.mk
|
||||||
|
fi
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
env:
|
||||||
|
LC_ALL: C
|
||||||
|
run: |
|
||||||
|
make -j${NPROC}
|
||||||
|
|
||||||
|
- name: Check version
|
||||||
|
run: |
|
||||||
|
"${SRCDIR}"/vim --version
|
||||||
|
"${SRCDIR}"/vim -u NONE -i NONE --not-a-term -esNX -V1 -S ci/if_ver-1.vim -c quit
|
||||||
|
"${SRCDIR}"/vim -u NONE -i NONE --not-a-term -esNX -V1 -S ci/if_ver-2.vim -c quit
|
||||||
|
if ${{ matrix.features == 'huge' }}; then
|
||||||
|
# Also check that optional and dynamic features are configured and working
|
||||||
|
"${SRCDIR}"/vim -u NONE -i NONE --not-a-term -esNX -V1 \
|
||||||
|
-c "let g:required=['sound', 'perl', 'python3', 'lua', 'ruby', 'tcl']" \
|
||||||
|
-S ci/if_feat_check.vim -c quit
|
||||||
|
fi
|
||||||
|
|
||||||
|
- name: Install packages for testing
|
||||||
|
run: |
|
||||||
|
# Apple diff is broken. Use GNU diff instead. See #14032.
|
||||||
|
brew install diffutils
|
||||||
|
|
||||||
|
- name: Test
|
||||||
|
timeout-minutes: 25
|
||||||
|
run: |
|
||||||
|
make ${TEST}
|
||||||
|
|
||||||
|
- name: Upload failed test artifacts
|
||||||
|
if: ${{ !cancelled() }}
|
||||||
|
uses: ./.github/actions/test_artifacts
|
||||||
@@ -0,0 +1,362 @@
|
|||||||
|
name: CI for Windows
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_call:
|
||||||
|
|
||||||
|
# Cancels all previous workflow runs for pull requests that have not completed.
|
||||||
|
concurrency:
|
||||||
|
# The concurrency group contains the workflow name and the branch name for
|
||||||
|
# pull requests or the commit hash for any other events.
|
||||||
|
group: ${{ github.workflow }}-windows-${{ github.event_name == 'pull_request' && github.head_ref || github.sha }}
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read # to fetch code (actions/checkout)
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
windows:
|
||||||
|
runs-on: windows-2022
|
||||||
|
|
||||||
|
env:
|
||||||
|
# Interfaces
|
||||||
|
# Lua
|
||||||
|
LUA_VER: 54
|
||||||
|
LUA_VER_DOT: "5.4"
|
||||||
|
LUA_RELEASE: 5.4.2
|
||||||
|
LUA32_URL: https://downloads.sourceforge.net/luabinaries/lua-%LUA_RELEASE%_Win32_dllw6_lib.zip
|
||||||
|
LUA64_URL: https://downloads.sourceforge.net/luabinaries/lua-%LUA_RELEASE%_Win64_dllw6_lib.zip
|
||||||
|
LUA_DIR: D:\Lua
|
||||||
|
# do not want \L to end up in pathdef.c and compiler complaining about unknown escape sequences \l
|
||||||
|
LUA_DIR_SLASH: D:/Lua
|
||||||
|
# Python 2
|
||||||
|
PYTHON_VER: 27
|
||||||
|
PYTHON_VER_DOT: "2.7"
|
||||||
|
PYTHON_DIR: 'C:\Python27'
|
||||||
|
# Python 3
|
||||||
|
PYTHON3_VER: 313
|
||||||
|
PYTHON3_VER_DOT: "3.13"
|
||||||
|
# Other dependencies
|
||||||
|
# winpty
|
||||||
|
WINPTY_URL: https://github.com/rprichard/winpty/releases/download/0.4.3/winpty-0.4.3-msvc2015.zip
|
||||||
|
# libsodium
|
||||||
|
SODIUM_VER: "1.0.20"
|
||||||
|
# SODIUM_MSVC_URL: https://download.libsodium.org/libsodium/releases/libsodium-%SODIUM_VER%-stable-msvc.zip
|
||||||
|
SODIUM_MSVC_URL: https://github.com/jedisct1/libsodium/releases/download/%SODIUM_VER%-RELEASE/libsodium-%SODIUM_VER%-msvc.zip
|
||||||
|
SODIUM_MSVC_VER: v143
|
||||||
|
# SODIUM_MINGW_URL: https://download.libsodium.org/libsodium/releases/libsodium-%SODIUM_VER%-stable-mingw.tar.gz
|
||||||
|
SODIUM_MINGW_URL: https://github.com/jedisct1/libsodium/releases/download/%SODIUM_VER%-RELEASE/libsodium-%SODIUM_VER%-mingw.tar.gz
|
||||||
|
SODIUM_MINGW_VER: 26
|
||||||
|
# Gettext-tools, iconv and libraries
|
||||||
|
GETTEXT32_URL: https://github.com/mlocati/gettext-iconv-windows/releases/download/v0.21-v1.16/gettext0.21-iconv1.16-shared-32.zip
|
||||||
|
GETTEXT64_URL: https://github.com/mlocati/gettext-iconv-windows/releases/download/v0.21-v1.16/gettext0.21-iconv1.16-shared-64.zip
|
||||||
|
# Escape sequences
|
||||||
|
COL_RED: "\x1b[31m"
|
||||||
|
COL_GREEN: "\x1b[32m"
|
||||||
|
COL_YELLOW: "\x1b[33m"
|
||||||
|
COL_RESET: "\x1b[m"
|
||||||
|
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- { features: HUGE, toolchain: msvc, VIMDLL: no, GUI: no, arch: x64, python3: stable }
|
||||||
|
- { features: HUGE, toolchain: mingw, VIMDLL: yes, GUI: yes, arch: x86, python3: stable, coverage: yes }
|
||||||
|
- { features: HUGE, toolchain: msvc, VIMDLL: no, GUI: yes, arch: x86 }
|
||||||
|
- { features: HUGE, toolchain: mingw, VIMDLL: yes, GUI: no, arch: x64, coverage: yes }
|
||||||
|
- { features: HUGE, toolchain: msvc, VIMDLL: no, GUI: no, arch: x64, ttytype: conpty }
|
||||||
|
- { features: NORMAL, toolchain: msvc, VIMDLL: yes, GUI: no, arch: x86 }
|
||||||
|
- { features: NORMAL, toolchain: mingw, VIMDLL: no, GUI: yes, arch: x64 }
|
||||||
|
- { features: TINY, toolchain: msvc, VIMDLL: yes, GUI: yes, arch: x64 }
|
||||||
|
- { features: TINY, toolchain: mingw, VIMDLL: no, GUI: no, arch: x86 }
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Initialize
|
||||||
|
id: init
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
# Show Windows version
|
||||||
|
cmd /c ver
|
||||||
|
|
||||||
|
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
|
||||||
|
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
|
||||||
|
|
||||||
|
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 --no-progress --forcex86
|
||||||
|
else
|
||||||
|
choco install python2 --no-progress
|
||||||
|
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
|
||||||
|
|
||||||
|
if ${{ matrix.toolchain == 'msvc' }}; then
|
||||||
|
SODIUM_DIR=D:\\libsodium
|
||||||
|
echo "SODIUM_LIB=${SODIUM_DIR}\\${{ matrix.arch == 'x64' && 'x64' || 'Win32' }}\\Release\\${SODIUM_MSVC_VER}\\dynamic" >> $GITHUB_ENV
|
||||||
|
else
|
||||||
|
SODIUM_DIR=D:\\libsodium-win${{ matrix.arch == 'x64' && '64' || '32' }}
|
||||||
|
# do not want \L to end up in pathdef.c and compiler complaining about unknown escape sequences \l
|
||||||
|
SODIUM_DIR_SLASH=D:/libsodium-win${{ matrix.arch == 'x64' && '64' || '32' }}
|
||||||
|
echo "SODIUM_LIB=${SODIUM_DIR}\\bin" >> $GITHUB_ENV
|
||||||
|
echo "SODIUM_DIR_SLASH=${SODIUM_DIR_SLASH}" >> $GITHUB_ENV
|
||||||
|
fi
|
||||||
|
echo "SODIUM_DIR=${SODIUM_DIR}" >> $GITHUB_ENV
|
||||||
|
echo "GETTEXT_PATH=D:\gettext${{ matrix.arch == 'x64' && '64' || '32' }}" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- uses: msys2/setup-msys2@v2.31.1
|
||||||
|
if: matrix.toolchain == 'mingw'
|
||||||
|
with:
|
||||||
|
update: true
|
||||||
|
install: tar
|
||||||
|
pacboy: >-
|
||||||
|
make:p gcc:p
|
||||||
|
msystem: ${{ env.MSYSTEM }}
|
||||||
|
release: false
|
||||||
|
|
||||||
|
- name: Checkout repository from GitHub
|
||||||
|
uses: actions/checkout@v6.0.2
|
||||||
|
|
||||||
|
- name: Create a list of download URLs
|
||||||
|
shell: cmd
|
||||||
|
run: |
|
||||||
|
type NUL > urls.txt
|
||||||
|
echo %LUA_RELEASE%>> urls.txt
|
||||||
|
echo %WINPTY_URL%>> urls.txt
|
||||||
|
echo %SODIUM_VER%>> urls.txt
|
||||||
|
echo %GETTEXT32_URL%>> urls.txt
|
||||||
|
echo %GETTEXT64_URL%>> urls.txt
|
||||||
|
|
||||||
|
- name: Cache downloaded files
|
||||||
|
uses: actions/cache@v5.0.5
|
||||||
|
with:
|
||||||
|
path: downloads
|
||||||
|
key: ${{ runner.os }}-${{ matrix.arch }}-${{ hashFiles('urls.txt') }}
|
||||||
|
|
||||||
|
- name: Download dependencies
|
||||||
|
shell: cmd
|
||||||
|
run: |
|
||||||
|
path C:\Program Files\7-Zip;%path%
|
||||||
|
if not exist downloads mkdir downloads
|
||||||
|
|
||||||
|
echo %COL_GREEN%Download Lua%COL_RESET%
|
||||||
|
call :downloadfile %LUA${{ env.BITS }}_URL% downloads\lua.zip
|
||||||
|
7z x downloads\lua.zip -o%LUA_DIR% > nul || exit 1
|
||||||
|
|
||||||
|
if not "${{ matrix.ttytype }}" == "conpty" (
|
||||||
|
echo %COL_GREEN%Download winpty%COL_RESET%
|
||||||
|
call :downloadfile %WINPTY_URL% downloads\winpty.zip
|
||||||
|
7z x -y downloads\winpty.zip -oD:\winpty > nul || exit 1
|
||||||
|
copy /Y D:\winpty\%WARCH%\bin\winpty.dll src\winpty%BITS%.dll
|
||||||
|
copy /Y D:\winpty\%WARCH%\bin\winpty-agent.exe src\
|
||||||
|
)
|
||||||
|
|
||||||
|
echo %COL_GREEN%Download libsodium%COL_RESET%
|
||||||
|
if "${{ matrix.toolchain }}"=="msvc" (
|
||||||
|
call :downloadfile %SODIUM_MSVC_URL% downloads\libsodium.zip
|
||||||
|
7z x -y downloads\libsodium.zip -oD:\ > nul || exit 1
|
||||||
|
) else (
|
||||||
|
call :downloadfile %SODIUM_MINGW_URL% downloads\libsodium.tar.gz
|
||||||
|
7z x -y downloads\libsodium.tar.gz -so | 7z x -si -ttar -oD:\ > nul || exit 1
|
||||||
|
mklink %SODIUM_LIB%\libsodium.dll %SODIUM_LIB%\libsodium-%SODIUM_MINGW_VER%.dll
|
||||||
|
)
|
||||||
|
|
||||||
|
echo %COL_GREEN%Download Gettext%COL_RESET%
|
||||||
|
call :downloadfile %GETTEXT${{ env.BITS }}_URL% downloads\gettext${{ env.BITS }}.zip
|
||||||
|
7z e -y downloads\gettext${{ env.BITS }}.zip -oD:\gettext${{ env.BITS }} > nul || exit 1
|
||||||
|
copy /y D:\gettext${{ env.BITS }}\libintl-8.dll src\ || exit 1
|
||||||
|
copy /y D:\gettext${{ env.BITS }}\libiconv-2.dll src\ || exit 1
|
||||||
|
|
||||||
|
goto :eof
|
||||||
|
|
||||||
|
:downloadfile
|
||||||
|
:: call :downloadfile <URL> <localfile>
|
||||||
|
if not exist %2 (
|
||||||
|
curl -f -L %1 -o %2
|
||||||
|
)
|
||||||
|
if ERRORLEVEL 1 (
|
||||||
|
rem Retry once.
|
||||||
|
curl -f -L %1 -o %2 || exit 1
|
||||||
|
)
|
||||||
|
goto :eof
|
||||||
|
|
||||||
|
- name: Build (MSVC)
|
||||||
|
if: matrix.toolchain == 'msvc'
|
||||||
|
shell: cmd
|
||||||
|
run: |
|
||||||
|
call "%VCVARSALL%" %VCARCH%
|
||||||
|
cd src
|
||||||
|
if "${{ matrix.VIMDLL }}"=="yes" (
|
||||||
|
set GUI=yes
|
||||||
|
) else (
|
||||||
|
set GUI=${{ matrix.GUI }}
|
||||||
|
)
|
||||||
|
if "${{ matrix.python3 }}"=="stable" (
|
||||||
|
set PYTHON3_STABLE=yes
|
||||||
|
) else (
|
||||||
|
set PYTHON3_STABLE=no
|
||||||
|
)
|
||||||
|
if "${{ matrix.features }}"=="HUGE" (
|
||||||
|
nmake -nologo -f Make_mvc.mak ^
|
||||||
|
FEATURES=${{ matrix.features }} ^
|
||||||
|
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% ^
|
||||||
|
DYNAMIC_PYTHON3_STABLE_ABI=%PYTHON3_STABLE% ^
|
||||||
|
DYNAMIC_SODIUM=yes SODIUM=%SODIUM_DIR% ^
|
||||||
|
CI_FLAGS=/we4267
|
||||||
|
) else (
|
||||||
|
nmake -nologo -f Make_mvc.mak ^
|
||||||
|
FEATURES=${{ matrix.features }} ^
|
||||||
|
GUI=%GUI% IME=yes ICONV=yes VIMDLL=${{ matrix.VIMDLL }} ^
|
||||||
|
CI_FLAGS=/we4267
|
||||||
|
)
|
||||||
|
|
||||||
|
- name: Build (MinGW)
|
||||||
|
if: matrix.toolchain == 'mingw'
|
||||||
|
shell: msys2 {0}
|
||||||
|
run: |
|
||||||
|
cd src
|
||||||
|
if [ "${{ matrix.VIMDLL }}" = "yes" ]; then
|
||||||
|
GUI=yes
|
||||||
|
else
|
||||||
|
GUI=${{ matrix.GUI }}
|
||||||
|
fi
|
||||||
|
if [ "${{ matrix.python3 }}" = "stable" ]; then
|
||||||
|
PYTHON3_STABLE=yes
|
||||||
|
else
|
||||||
|
PYTHON3_STABLE=no
|
||||||
|
fi
|
||||||
|
if [ "${{ matrix.features }}" = "HUGE" ]; then
|
||||||
|
mingw32-make -f Make_ming.mak -j2 \
|
||||||
|
FEATURES=${{ matrix.features }} \
|
||||||
|
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} \
|
||||||
|
DYNAMIC_PYTHON3_STABLE_ABI=${PYTHON3_STABLE} \
|
||||||
|
DYNAMIC_SODIUM=yes SODIUM=${SODIUM_DIR_SLASH} \
|
||||||
|
STATIC_STDCPLUS=yes COVERAGE=${{ matrix.coverage }}
|
||||||
|
else
|
||||||
|
mingw32-make -f Make_ming.mak -j2 \
|
||||||
|
FEATURES=${{ matrix.features }} \
|
||||||
|
GUI=$GUI IME=yes ICONV=yes VIMDLL=${{ matrix.VIMDLL }} \
|
||||||
|
STATIC_STDCPLUS=yes
|
||||||
|
fi
|
||||||
|
|
||||||
|
- name: Check version
|
||||||
|
shell: cmd
|
||||||
|
run: |
|
||||||
|
PATH %LUA_DIR%;C:\msys64\%MSYSTEM%\bin;%PYTHON3_DIR%;%PATH%
|
||||||
|
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
|
||||||
|
if "${{ matrix.features }}"=="HUGE" (
|
||||||
|
src\vim -u NONE -i NONE --not-a-term -esNX -V1 ^
|
||||||
|
-c "let g:required=['gettext', 'sodium', 'sound', 'python3', 'lua']" ^
|
||||||
|
-S ci/if_feat_check.vim -c quit
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
#- name: Prepare Artifact
|
||||||
|
# shell: cmd
|
||||||
|
# run: |
|
||||||
|
# mkdir artifacts
|
||||||
|
# copy src\*vim.exe artifacts
|
||||||
|
# copy src\vim*.dll artifacts
|
||||||
|
#
|
||||||
|
#- name: Upload Artifact
|
||||||
|
# uses: actions/upload-artifact@v7
|
||||||
|
# with:
|
||||||
|
# name: vim${{ matrix.bits }}-${{ matrix.toolchain }}
|
||||||
|
# path: ./artifacts
|
||||||
|
|
||||||
|
# disabled because of https://github.com/tunisiano187/Chocolatey-packages/issues/3916
|
||||||
|
#- name: Install packages for testing
|
||||||
|
# shell: bash
|
||||||
|
# run: |
|
||||||
|
# if ${{ matrix.features != 'TINY' }}; then
|
||||||
|
# if ${{ matrix.arch == 'x64' }}; then
|
||||||
|
# choco install netbeans --no-progress
|
||||||
|
# else
|
||||||
|
# exit 0
|
||||||
|
# fi
|
||||||
|
# fi
|
||||||
|
|
||||||
|
- name: Test and show the result of testing gVim
|
||||||
|
if: matrix.GUI == 'yes' || matrix.VIMDLL == 'yes'
|
||||||
|
shell: cmd
|
||||||
|
timeout-minutes: 15
|
||||||
|
run: |
|
||||||
|
PATH %LUA_DIR%;C:\msys64\%MSYSTEM%\bin;%PYTHON3_DIR%;%PATH%;%SODIUM_LIB%
|
||||||
|
call "%VCVARSALL%" %VCARCH%
|
||||||
|
|
||||||
|
echo %COL_GREEN%Test gVim:%COL_RESET%
|
||||||
|
cd src\testdir
|
||||||
|
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
|
||||||
|
)
|
||||||
|
|
||||||
|
- 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;%PYTHON3_DIR%;%PATH%;%SODIUM_LIB%
|
||||||
|
call "%VCVARSALL%" %VCARCH%
|
||||||
|
|
||||||
|
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: Upload failed test artifacts
|
||||||
|
if: ${{ !cancelled() }}
|
||||||
|
uses: ./.github/actions/test_artifacts
|
||||||
|
|
||||||
|
- name: Generate gcov files
|
||||||
|
if: matrix.coverage
|
||||||
|
shell: msys2 {0}
|
||||||
|
run: |
|
||||||
|
cd src
|
||||||
|
find . -type f -name '*.gcno' -exec gcov -pb {} + || true
|
||||||
|
|
||||||
|
- name: Codecov
|
||||||
|
timeout-minutes: 20
|
||||||
|
if: matrix.coverage
|
||||||
|
uses: codecov/codecov-action@v6
|
||||||
|
with:
|
||||||
|
directory: src
|
||||||
|
flags: windows,${{ matrix.toolchain }}-${{ matrix.arch }}-${{ matrix.features }}
|
||||||
|
token: ${{ secrets.CODECOV_TOKEN }}
|
||||||
@@ -44,11 +44,11 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository from github
|
- name: Checkout repository from github
|
||||||
uses: actions/checkout@v6
|
uses: actions/checkout@v6.0.2
|
||||||
|
|
||||||
# Initializes the CodeQL tools for scanning.
|
# Initializes the CodeQL tools for scanning.
|
||||||
- name: Initialize CodeQL
|
- name: Initialize CodeQL
|
||||||
uses: github/codeql-action/init@v4
|
uses: github/codeql-action/init@v4.36.0
|
||||||
with:
|
with:
|
||||||
languages: ${{ matrix.language }}
|
languages: ${{ matrix.language }}
|
||||||
# If you wish to specify custom queries, you can do so here or in a config file.
|
# If you wish to specify custom queries, you can do so here or in a config file.
|
||||||
@@ -59,7 +59,7 @@ jobs:
|
|||||||
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
||||||
# If this step fails, then you should remove it and run the build manually (see below)
|
# If this step fails, then you should remove it and run the build manually (see below)
|
||||||
- name: Autobuild
|
- name: Autobuild
|
||||||
uses: github/codeql-action/autobuild@v4
|
uses: github/codeql-action/autobuild@v4.36.0
|
||||||
|
|
||||||
# ℹ️ Command-line programs to run using the OS shell.
|
# ℹ️ Command-line programs to run using the OS shell.
|
||||||
# 📚 https://git.io/JvXDl
|
# 📚 https://git.io/JvXDl
|
||||||
@@ -73,4 +73,4 @@ jobs:
|
|||||||
# make release
|
# make release
|
||||||
|
|
||||||
- name: Perform CodeQL Analysis
|
- name: Perform CodeQL Analysis
|
||||||
uses: github/codeql-action/analyze@v4
|
uses: github/codeql-action/analyze@v4.36.0
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Checkout repository from github
|
- name: Checkout repository from github
|
||||||
if: env.TOKEN
|
if: env.TOKEN
|
||||||
uses: actions/checkout@v6
|
uses: actions/checkout@v6.0.2
|
||||||
|
|
||||||
- name: Download Coverity
|
- name: Download Coverity
|
||||||
if: env.TOKEN
|
if: env.TOKEN
|
||||||
|
|||||||
@@ -17,6 +17,6 @@ jobs:
|
|||||||
pull-requests: write
|
pull-requests: write
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/labeler@v6
|
- uses: actions/labeler@v6.1.0
|
||||||
with:
|
with:
|
||||||
repo-token: "${{ secrets.GITHUB_TOKEN }}"
|
repo-token: "${{ secrets.GITHUB_TOKEN }}"
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ jobs:
|
|||||||
lychee:
|
lychee:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@v6.0.2
|
||||||
- name: Run Lychee
|
- name: Run Lychee
|
||||||
uses: lycheeverse/lychee-action@v2
|
uses: lycheeverse/lychee-action@v2
|
||||||
with:
|
with:
|
||||||
|
|||||||
@@ -64,7 +64,7 @@ jobs:
|
|||||||
runs-on: ${{ inputs.os }}
|
runs-on: ${{ inputs.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v6
|
uses: actions/checkout@v6.0.2
|
||||||
|
|
||||||
- name: Set up legacy build
|
- name: Set up legacy build
|
||||||
if: inputs.legacy
|
if: inputs.legacy
|
||||||
|
|||||||
@@ -0,0 +1,325 @@
|
|||||||
|
# AGENTS.md
|
||||||
|
|
||||||
|
Guidance for AI coding agents working in the Vim repository.
|
||||||
|
|
||||||
|
## Project
|
||||||
|
|
||||||
|
Vim is a text editor written in C. The canonical repository is
|
||||||
|
https://github.com/vim/vim. The code is old and has grown organically over
|
||||||
|
the past 30+ years. Some files are vendored from upstream projects
|
||||||
|
(`src/xdiff`, `src/libvterm`); parts of the runtime are occasionally shared
|
||||||
|
with forks like Neovim.
|
||||||
|
|
||||||
|
Vim strives to be portable across several different operating systems and
|
||||||
|
aims to be a stable, robust editor gradually developing new features while
|
||||||
|
remaining backwards compatible as much as possible.
|
||||||
|
|
||||||
|
At the same time, Vim can be compiled with different feature sets, from the
|
||||||
|
POSIX compatible minimal vi to a full-fledged GUI editor which includes
|
||||||
|
additional scripting interfaces.
|
||||||
|
|
||||||
|
See `runtime/doc/develop.txt` for the high level design goals.
|
||||||
|
|
||||||
|
## Build and test
|
||||||
|
|
||||||
|
# Full build on Unix/Linux (from src/):
|
||||||
|
make
|
||||||
|
|
||||||
|
# Run the full test suite:
|
||||||
|
make test
|
||||||
|
|
||||||
|
# Generate proto files
|
||||||
|
make proto
|
||||||
|
|
||||||
|
# Run a single test file:
|
||||||
|
cd src/testdir && make test_name.res
|
||||||
|
|
||||||
|
Output is in testdir/messages and testdir/test.log
|
||||||
|
|
||||||
|
Builds on Windows depend on the Environment, see `src/INSTALLpc.txt`
|
||||||
|
for Cygwin/MSYS and MSVC ways to build Vim
|
||||||
|
|
||||||
|
Before submitting any patch, at minimum:
|
||||||
|
1. The build succeeds without new warnings.
|
||||||
|
2. Relevant tests pass.
|
||||||
|
3. The code matches the style of the file being edited.
|
||||||
|
|
||||||
|
## Layout
|
||||||
|
|
||||||
|
- `src/` - the C source. Subsystem names are usually obvious from filenames
|
||||||
|
(`buffer.c`, `window.c`, `search.c`, `vim9compile.c`, etc.).
|
||||||
|
- `src/proto/` - function prototypes, one `.pro` file per source file.
|
||||||
|
Regenerated; do not hand-edit unless you know what you're doing.
|
||||||
|
- `src/po` - Translations
|
||||||
|
- `src/xxd` - for the xxd subproject
|
||||||
|
- `src/xdiff` - for the xdiff library (imported from git)
|
||||||
|
- `src/libvterm` - for the libvterm library
|
||||||
|
- `src/testdir/` - tests. Vim-script files named `test_*.vim`.
|
||||||
|
Screendump expected output lives in `src/testdir/dumps/`.
|
||||||
|
- `runtime/doc/` - user-facing documentation in Vim help format, when updating,
|
||||||
|
also update the Last Change header
|
||||||
|
- `runtime/syntax/generator` - Syntax script for Vim Script, automatically generated
|
||||||
|
from Vims source
|
||||||
|
- `runtime/` - runtime files shipped with Vim, when updating, also update the
|
||||||
|
Last Change header and a short description if this file has no maintainer
|
||||||
|
If the file has a maintainer, changes should go via them (so make a merge
|
||||||
|
request against the upstream repo instead)
|
||||||
|
- `src/version.c` - contains the `included_patches[]` list. Every
|
||||||
|
patch touching anything below `src/` (with the exception of `src/po`) needs a
|
||||||
|
new entry at the top, will be updated only when merging into
|
||||||
|
the master tree.
|
||||||
|
|
||||||
|
## Commit format
|
||||||
|
|
||||||
|
Vim uses a strict commit message format. The subject line is a
|
||||||
|
one-sentence **problem statement**, not a description of the fix:
|
||||||
|
|
||||||
|
patch 9.2.NNNN: short description of the problem
|
||||||
|
|
||||||
|
Problem: Restatement of the problem as a full sentence, possibly
|
||||||
|
with a reporter attribution in parentheses.
|
||||||
|
Solution: Short description of the fix, ending with the author's
|
||||||
|
name in parentheses.
|
||||||
|
|
||||||
|
optional longer description of the problem and solution goes here in prose.
|
||||||
|
Do not use bullet points.
|
||||||
|
|
||||||
|
fixes: #NNNN
|
||||||
|
related: #NNNN
|
||||||
|
closes: #NNNN
|
||||||
|
|
||||||
|
Co-authored-by: Name
|
||||||
|
Signed-off-by: Author Name <email>
|
||||||
|
|
||||||
|
Rules:
|
||||||
|
|
||||||
|
- **Subject line states the problem**, not the solution. "fix typo" is
|
||||||
|
wrong; "typo in foo() causes OOB read" is right.
|
||||||
|
- **Problem line is a full sentence with a trailing period.** It mirrors
|
||||||
|
the subject.
|
||||||
|
- **Solution line ends with `(Author Name)`** — parentheses, period
|
||||||
|
after them.
|
||||||
|
- **Longer prose**, if any, goes after the Problem/Solution header
|
||||||
|
- **`fixes:` references the issue** the patch fixes.
|
||||||
|
**`closes:` references the PR** that introduces the fix.
|
||||||
|
**`related:` references related issues**, including issues that caused this
|
||||||
|
one.
|
||||||
|
All can appear. Colon, aligned, no trailing period.
|
||||||
|
- **`Signed-off-by:` is required** — DCO.
|
||||||
|
- **`Co-Authored-By:` is allowed** and is the accepted way to
|
||||||
|
acknowledge AI assistance transparently. Human
|
||||||
|
coauthors should usually also have their own Signed-off-by.
|
||||||
|
|
||||||
|
## C code conventions
|
||||||
|
|
||||||
|
- **Indentation is 4 spaces per level.** Existing files use tabs with
|
||||||
|
`ts=8 sts=4 sw=4 noet` (set by the modeline in the file),
|
||||||
|
so tabs of width 8 appear where two levels of indent collapse. `sign.c`,
|
||||||
|
`sound.c`, and any new file must use spaces only and follow the style from
|
||||||
|
the .editorconfig file.
|
||||||
|
- **Opening braces go on their own line (Allman style)** — for function
|
||||||
|
definitions and for control-flow constructs (`if`/`else`/`for`/`while`/
|
||||||
|
`do`) alike.
|
||||||
|
- **Function definitions**: return type on its own indented line, with
|
||||||
|
the function name beginning on the next line.
|
||||||
|
- Initialize locals where a reader cannot trivially see the first
|
||||||
|
assignment (common for pointers and return-value accumulators).
|
||||||
|
Don't add `= 0` initializers for values that are always assigned
|
||||||
|
before use — they can hide real uninitialized-read bugs from
|
||||||
|
the compiler.
|
||||||
|
- `for (int i = 0; ...)` loop declarations are fine in files that
|
||||||
|
use them; older files may declare the counter at the top of the
|
||||||
|
block.
|
||||||
|
- **Function-scope declarations at the top of a block** is the historical
|
||||||
|
style, but mid-block declarations are acceptable in files that have
|
||||||
|
adopted them. Match the surrounding code.
|
||||||
|
- **Custom types end in `_T`** (e.g., `buf_T`, `linenr_T`, `pos_T`).
|
||||||
|
Never use `_t` — it collides with POSIX typedefs.
|
||||||
|
- **C language is C95 plus specific C99 features**: `//` comments,
|
||||||
|
mixed declarations and statements, `__func__`, `bool`/`_Bool`,
|
||||||
|
variadic macros, compound literals, `static inline`, trailing enum
|
||||||
|
commas. Do not reach for later C standards — Vim still must build
|
||||||
|
with Compaq C on OpenVMS. See `*assumptions-C-compiler*` in
|
||||||
|
`develop.txt` for the full list.
|
||||||
|
- **`bool` / `true` / `false` are acceptable.** Vim is transitioning
|
||||||
|
from `int` with `TRUE`/`FALSE` to C99 `bool`. Do not "fix" `bool`
|
||||||
|
back to `int`. Within a single patch, be consistent — don't mix
|
||||||
|
`true` and `TRUE` in new code.
|
||||||
|
- **Do not mass-convert** `TRUE`/`FALSE` to `true`/`false` across files
|
||||||
|
unless that is the patch's explicit purpose. Opportunistic
|
||||||
|
conversions create noise in diffs.
|
||||||
|
- **`STRLEN_LITERAL("...")`** should be used when the length of a
|
||||||
|
string literal is needed. Avoid `STRLEN()` on literals.
|
||||||
|
- **`vim_snprintf_safelen()`** returns the written length; prefer it
|
||||||
|
over `vim_snprintf()` when the length is then needed.
|
||||||
|
- **Prefer `dict_add_string_len()`** when the string length is already
|
||||||
|
known, over `dict_add_string()` which calls `STRLEN()`.
|
||||||
|
- **String/buffer parameters go `(char_u *buf, size_t buflen)`** —
|
||||||
|
length alongside pointer, in bytes. Use `size_t` for byte counts,
|
||||||
|
`int` only where required by legacy APIs.
|
||||||
|
- **Guards before divisions.** Check for divisor zero explicitly, even
|
||||||
|
when a composite earlier guard would prevent it. Relying on
|
||||||
|
transitive guards is fragile.
|
||||||
|
- When introducing new allocations, verify the cleanup paths handle all exit
|
||||||
|
conditions (early return, error branches, etc).
|
||||||
|
|
||||||
|
**Use Vim wrappers instead of libc where one exists:**
|
||||||
|
|
||||||
|
| libc | Vim | Why |
|
||||||
|
|---------------|------------------------|-----------------------------|
|
||||||
|
| `free()` | `vim_free()` | Tolerates NULL |
|
||||||
|
| `malloc()` | `alloc()` / `lalloc()` | Checks for OOM |
|
||||||
|
| `strcpy()` | `STRCPY()` | Cast for `char_u *` |
|
||||||
|
| `strchr()` | `vim_strchr()` | Handles special characters |
|
||||||
|
| `strrchr()` | `vim_strrchr()` | Handles special characters |
|
||||||
|
| `memcpy()` | `mch_memmove()` | Handles overlapping copies |
|
||||||
|
| `bcopy()` | `mch_memmove()` | Handles overlapping copies |
|
||||||
|
| `memset()` | `vim_memset()` | Uniform across systems |
|
||||||
|
| `isspace()` | `vim_isspace()` | Handles bytes > 127 |
|
||||||
|
| `iswhite()` | `vim_iswhite()` | TRUE only for tab and space |
|
||||||
|
|
||||||
|
Further rules, not spelled out here, live in `runtime/doc/develop.txt`:
|
||||||
|
|
||||||
|
- `*style-names*` — reserved name patterns (`is*`, `to*`, `str*`, `mem*`,
|
||||||
|
`wcs*`, `.*_t`, `__.*`), forbidden identifiers (`delete`, `this`, `new`,
|
||||||
|
`time`, `index`), and the 31-character function-name limit.
|
||||||
|
- `*style-spaces*`, `*style-examples*` — spacing and one-statement-per-line.
|
||||||
|
- `*style-various*` — `FEAT_` feature prefix, uppercase `#define`,
|
||||||
|
`#ifdef HAVE_X` rather than `#if HAVE_X`, no `'\"'`.
|
||||||
|
- `*assumptions-makefiles*` — POSIX.1-2001 `make` only in the main
|
||||||
|
Makefiles (no `%` rules, `:=`, `.ONESHELL`, GNU conditionals).
|
||||||
|
- Vim uses `char_u` instead of `char` type
|
||||||
|
- Vim uses the macros `STRLEN`, `STRCPY`, `STRCMP`, `STRCAT` that work
|
||||||
|
with the `char_u` type.
|
||||||
|
- `*style-clang-format*` — `sign.c` and `sound.c` are formatted with
|
||||||
|
`clang-format`; re-run it after editing those files.
|
||||||
|
|
||||||
|
## Vim9 script conventions (in tests and runtime files)
|
||||||
|
|
||||||
|
- Write modern Vim style (new files can use Vim9 script, but compatibility
|
||||||
|
with Neovim and other forks is a concern, so in doubt please ask!)
|
||||||
|
- **Drop `l:` prefix from local variables** in Vim-script tests.
|
||||||
|
- **Don't add `CheckFeature` inside individual tests** if it's already
|
||||||
|
at the top of the file.
|
||||||
|
- If a test file doesn't gate features at the top, add CheckFeature to
|
||||||
|
individual tests that depend on specific build features.
|
||||||
|
|
||||||
|
## Test conventions
|
||||||
|
|
||||||
|
- Tests are in `src/testdir/test_*.vim`.
|
||||||
|
- Reproducible tests beat "it doesn't crash" tests. If a patch fixes
|
||||||
|
a rendering bug, add a screendump test. If it fixes incorrect output,
|
||||||
|
assert the output.
|
||||||
|
- Add comprehensive tests for newly added features and include them
|
||||||
|
in existing tests if possible
|
||||||
|
- **Screendump tests** use `CheckScreendump`, `RunVimInTerminal`,
|
||||||
|
`VerifyScreenDump`, and live dumps in `src/testdir/dumps/`.
|
||||||
|
- `v9.CheckScriptSuccess(lines)` / `v9.CheckScriptFailure(lines, error, lnum)`
|
||||||
|
are the standard way to test Vim9 script behavior at script-load time.
|
||||||
|
- When fixing a bug reported as an issue, include a test that
|
||||||
|
reproduces the original report, not just a minimal synthetic case.
|
||||||
|
- Tests for Syntax runtime are in `runtime/syntax/testdir`
|
||||||
|
- Tests for Indent runtime are in `runtime/indent/testdir`
|
||||||
|
|
||||||
|
## Common gotchas
|
||||||
|
|
||||||
|
- **Distinguish what code enforces from what docs claim.** If a patch
|
||||||
|
changes documented behavior, say so in the Problem/Solution.
|
||||||
|
- **Generated files** (`src/auto/configure`, generated Wayland protocol
|
||||||
|
C, etc.) should only be regenerated when their source changes.
|
||||||
|
Mixing unrelated regeneration into a functional patch creates noise.
|
||||||
|
|
||||||
|
## Documentation
|
||||||
|
|
||||||
|
- User-facing option or feature changes require a `runtime/doc/*.txt`
|
||||||
|
update in the same patch.
|
||||||
|
- When editing an existing help file, bump the `Last change:` header
|
||||||
|
at the top.
|
||||||
|
|
||||||
|
### Help file style
|
||||||
|
|
||||||
|
See `runtime/doc/helphelp.txt` (`*help-writing*`) for the authoritative
|
||||||
|
reference. Key conventions:
|
||||||
|
|
||||||
|
- **File header**: first line is `*filename.txt*` then a tab then a
|
||||||
|
short description. That description appears under `LOCAL ADDITIONS`
|
||||||
|
in `help.txt`. The version and `Last change:` date go on the second
|
||||||
|
line, right aligned.
|
||||||
|
- **Modeline**: every help file ends with a Vim modeline — typically
|
||||||
|
`vim:tw=78:ts=8:noet:ft=help:norl:`.
|
||||||
|
- **Layout**: `'textwidth'` 78, `'tabstop'` 8, indent and align with
|
||||||
|
tab characters. Two spaces between sentences. Run `:retab`
|
||||||
|
(not `:retab!`, and review the diff) after editing.
|
||||||
|
- **Tags** are defined as `*tag-name*`, usually right-aligned on the
|
||||||
|
line where the thing they name is introduced. Tag names must be
|
||||||
|
unique across all of `runtime/doc/`; for plugin help, prefix with
|
||||||
|
the plugin name.
|
||||||
|
- **Cross-references inside help text**:
|
||||||
|
- `|tag-name|` — hot-link to an existing tag.
|
||||||
|
- `` `:cmd` `` — Ex command, highlighted as a code block.
|
||||||
|
- `'option'` — option name, in single quotes.
|
||||||
|
- `<Key>` or `CTRL-X` — special keys.
|
||||||
|
- `{placeholder}` — user-supplied argument.
|
||||||
|
- **Sections** are separated by a line of `=` starting in column 1.
|
||||||
|
Column or subsection headings end with `~` to trigger heading
|
||||||
|
highlighting.
|
||||||
|
- **Code blocks** start with `>` at the end of the introducing line
|
||||||
|
and end with `<` as the first non-blank on a later line (any line
|
||||||
|
starting in column 1 also implicitly closes the block). Use `>vim`
|
||||||
|
(or another language name) to request syntax highlighting inside
|
||||||
|
the block.
|
||||||
|
- **Notation** — `Note`, `Todo`, `Error` and a few similar words are
|
||||||
|
auto-highlighted; do not try to fake the highlighting by other means.
|
||||||
|
- **Language**: gender-neutral language is preferred for new or updated
|
||||||
|
text; existing wording does not need to be rewritten for this alone.
|
||||||
|
|
||||||
|
## Release policy
|
||||||
|
|
||||||
|
Vim alternates between development cycles and stability periods — see
|
||||||
|
`runtime/doc/develop.txt` `*design-policy*`.
|
||||||
|
|
||||||
|
- **During a stability period** only clear bug fixes, security fixes,
|
||||||
|
documentation updates, translations, and runtime file updates are
|
||||||
|
accepted. No new features, no backwards-incompatible changes.
|
||||||
|
- **Once released in a minor version**, C-core features must stay
|
||||||
|
backwards-compatible. Runtime files have a bit more flexibility so
|
||||||
|
their maintainers can correct old behavior.
|
||||||
|
- **Deprecated features** stay reachable via config (do not hard-error),
|
||||||
|
are documented as deprecated, can be disabled at compile time, and
|
||||||
|
may be removed in a later cycle.
|
||||||
|
|
||||||
|
## Security
|
||||||
|
|
||||||
|
Before reporting a suspected security issue or submitting a patch
|
||||||
|
that touches security-sensitive code, read `SECURITY.md`. Follow
|
||||||
|
the disclosure process described there.
|
||||||
|
|
||||||
|
## Before submitting
|
||||||
|
|
||||||
|
1. Commit message follows the format above.
|
||||||
|
2. All modified code compiles without new warnings.
|
||||||
|
3. Tests pass, and new functionality has regression tests.
|
||||||
|
4. Documentation is updated for user-visible changes.
|
||||||
|
5. Signed-off-by is present.
|
||||||
|
6. Diff contains only changes relevant to the stated problem —
|
||||||
|
no stray whitespace fixes, no unrelated refactors, no unrelated
|
||||||
|
regeneration of `auto/configure`.
|
||||||
|
7. For multi-patch series: each commit compiles and passes its own
|
||||||
|
tests. A known-broken intermediate state that a later patch fixes
|
||||||
|
is not acceptable — squash instead.
|
||||||
|
|
||||||
|
## When in doubt
|
||||||
|
|
||||||
|
- Make the smallest possible change to achieve the goal. Do not rewrite
|
||||||
|
entire files or functions when a targeted edit suffices.
|
||||||
|
- Read surrounding code and match its style rather than imposing an
|
||||||
|
"improvement."
|
||||||
|
- Err toward smaller, more focused patches. A patch that does three
|
||||||
|
things is three patches.
|
||||||
|
- If a patch fixes a symptom of a deeper bug, say so in the Problem
|
||||||
|
and acknowledge the scope limitation in the Solution.
|
||||||
|
- Before claiming a bug exists, reproduce it. Before claiming code does X, read
|
||||||
|
the code. Do not rely on training-data memory of file contents.
|
||||||
|
- Before running shell commands that modify files outside the working tree,
|
||||||
|
install packages, push branches, or invoke network operations, confirm with
|
||||||
|
the user.
|
||||||
@@ -9,20 +9,24 @@ SRC_ALL = \
|
|||||||
.github/MAINTAINERS \
|
.github/MAINTAINERS \
|
||||||
.github/ISSUE_TEMPLATE/bug_report.yml \
|
.github/ISSUE_TEMPLATE/bug_report.yml \
|
||||||
.github/ISSUE_TEMPLATE/feature_request.md \
|
.github/ISSUE_TEMPLATE/feature_request.md \
|
||||||
|
.github/workflows/ci-linux.yml \
|
||||||
|
.github/workflows/ci-linux_asan.yml \
|
||||||
|
.github/workflows/ci-macos.yml \
|
||||||
|
.github/workflows/ci-windows.yml \
|
||||||
.github/workflows/ci.yml \
|
.github/workflows/ci.yml \
|
||||||
.github/workflows/codeql-analysis.yml \
|
.github/workflows/codeql-analysis.yml \
|
||||||
.github/workflows/coverity.yml \
|
.github/workflows/coverity.yml \
|
||||||
.github/workflows/link-check.yml \
|
.github/workflows/link-check.yml \
|
||||||
|
.github/actions/build_vim_on_linux/action.yml \
|
||||||
.github/actions/test_artifacts/action.yml \
|
.github/actions/test_artifacts/action.yml \
|
||||||
.github/dependabot.yml \
|
.github/dependabot.yml \
|
||||||
.gitignore \
|
.gitignore \
|
||||||
.hgignore \
|
.hgignore \
|
||||||
.appveyor.yml \
|
|
||||||
.clang-format \
|
.clang-format \
|
||||||
.codecov.yml \
|
.codecov.yml \
|
||||||
.editorconfig \
|
.editorconfig \
|
||||||
ci/appveyor.bat \
|
|
||||||
ci/config.mk*.sed \
|
ci/config.mk*.sed \
|
||||||
|
ci/gen_testset.py \
|
||||||
ci/if_ver*.vim \
|
ci/if_ver*.vim \
|
||||||
ci/if_feat_check.vim \
|
ci/if_feat_check.vim \
|
||||||
ci/lychee.toml \
|
ci/lychee.toml \
|
||||||
@@ -145,12 +149,14 @@ SRC_ALL = \
|
|||||||
src/session.c \
|
src/session.c \
|
||||||
src/sha256.c \
|
src/sha256.c \
|
||||||
src/sign.c \
|
src/sign.c \
|
||||||
|
src/socketserver.c \
|
||||||
src/sound.c \
|
src/sound.c \
|
||||||
src/spell.c \
|
src/spell.c \
|
||||||
src/spell.h \
|
src/spell.h \
|
||||||
src/spellfile.c \
|
src/spellfile.c \
|
||||||
src/spellsuggest.c \
|
src/spellsuggest.c \
|
||||||
src/strings.c \
|
src/strings.c \
|
||||||
|
src/strptime.c \
|
||||||
src/structs.h \
|
src/structs.h \
|
||||||
src/syntax.c \
|
src/syntax.c \
|
||||||
src/tabpanel.c \
|
src/tabpanel.c \
|
||||||
@@ -343,6 +349,7 @@ SRC_ALL = \
|
|||||||
src/proto/session.pro \
|
src/proto/session.pro \
|
||||||
src/proto/sha256.pro \
|
src/proto/sha256.pro \
|
||||||
src/proto/sign.pro \
|
src/proto/sign.pro \
|
||||||
|
src/proto/socketserver.pro \
|
||||||
src/proto/sound.pro \
|
src/proto/sound.pro \
|
||||||
src/proto/spell.pro \
|
src/proto/spell.pro \
|
||||||
src/proto/spellfile.pro \
|
src/proto/spellfile.pro \
|
||||||
@@ -440,6 +447,7 @@ SRC_ALL = \
|
|||||||
src/libvterm/t/66screen_extent.test \
|
src/libvterm/t/66screen_extent.test \
|
||||||
src/libvterm/t/67screen_dbl_wh.test \
|
src/libvterm/t/67screen_dbl_wh.test \
|
||||||
src/libvterm/t/68screen_termprops.test \
|
src/libvterm/t/68screen_termprops.test \
|
||||||
|
src/libvterm/t/69screen_pushline.test \
|
||||||
src/libvterm/t/69screen_reflow.test \
|
src/libvterm/t/69screen_reflow.test \
|
||||||
src/libvterm/t/90vttest_01-movement-1.test \
|
src/libvterm/t/90vttest_01-movement-1.test \
|
||||||
src/libvterm/t/90vttest_01-movement-2.test \
|
src/libvterm/t/90vttest_01-movement-2.test \
|
||||||
@@ -496,6 +504,9 @@ SRC_UNIX = \
|
|||||||
src/gui_gtk_f.c \
|
src/gui_gtk_f.c \
|
||||||
src/gui_gtk_f.h \
|
src/gui_gtk_f.h \
|
||||||
src/gui_gtk_x11.c \
|
src/gui_gtk_x11.c \
|
||||||
|
src/gui_gtk4.c \
|
||||||
|
src/gui_gtk4_f.c \
|
||||||
|
src/gui_gtk4_f.h \
|
||||||
src/gui_gtk_res.xml \
|
src/gui_gtk_res.xml \
|
||||||
src/gui_motif.c \
|
src/gui_motif.c \
|
||||||
src/gui_xmdlg.c \
|
src/gui_xmdlg.c \
|
||||||
@@ -525,6 +536,7 @@ SRC_UNIX = \
|
|||||||
src/proto/gui_gtk.pro \
|
src/proto/gui_gtk.pro \
|
||||||
src/proto/gui_gtk_x11.pro \
|
src/proto/gui_gtk_x11.pro \
|
||||||
src/proto/gui_gtk_gresources.pro \
|
src/proto/gui_gtk_gresources.pro \
|
||||||
|
src/proto/gui_gtk4.pro \
|
||||||
src/proto/gui_motif.pro \
|
src/proto/gui_motif.pro \
|
||||||
src/proto/gui_xmdlg.pro \
|
src/proto/gui_xmdlg.pro \
|
||||||
src/proto/gui_x11.pro \
|
src/proto/gui_x11.pro \
|
||||||
@@ -1191,10 +1203,10 @@ LANG_DOS = \
|
|||||||
# be excluded from distribution tarballs and the like.
|
# be excluded from distribution tarballs and the like.
|
||||||
# This excludes them from the CI check for unlisted files.
|
# This excludes them from the CI check for unlisted files.
|
||||||
IGNORE = \
|
IGNORE = \
|
||||||
.appveyor.yml \
|
|
||||||
.github/FUNDING.yml \
|
.github/FUNDING.yml \
|
||||||
.github/labeler.yml \
|
.github/labeler.yml \
|
||||||
.github/workflows/label.yml \
|
.github/workflows/label.yml \
|
||||||
|
AGENTS.md \
|
||||||
SECURITY.md \
|
SECURITY.md \
|
||||||
ci/unlisted.make \
|
ci/unlisted.make \
|
||||||
ci/hlgroups.make \
|
ci/hlgroups.make \
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
# [](https://www.vim.org)
|
# [](https://www.vim.org)
|
||||||
|
|
||||||
[](https://github.com/vim/vim/actions?query=workflow%3A%22GitHub+CI%22)
|
[](https://github.com/vim/vim/actions?query=workflow%3A%22GitHub+CI%22)
|
||||||
[](https://ci.appveyor.com/project/chrisbra/vim)
|
|
||||||
[](https://cirrus-ci.com/github/vim/vim)
|
[](https://cirrus-ci.com/github/vim/vim)
|
||||||
[](https://codecov.io/gh/vim/vim?branch=master)
|
[](https://codecov.io/gh/vim/vim?branch=master)
|
||||||
[](https://scan.coverity.com/projects/vim)
|
[](https://scan.coverity.com/projects/vim)
|
||||||
|
|||||||
-131
@@ -1,131 +0,0 @@
|
|||||||
@echo off
|
|
||||||
:: Batch file for building/testing Vim on AppVeyor
|
|
||||||
set target=%1
|
|
||||||
set "GETTEXT_PATH=c:\gettext64\bin"
|
|
||||||
|
|
||||||
setlocal ENABLEDELAYEDEXPANSION
|
|
||||||
cd %APPVEYOR_BUILD_FOLDER%
|
|
||||||
|
|
||||||
:: Python3
|
|
||||||
set "PYTHON3_VER=311"
|
|
||||||
set "PYTHON3_RELEASE=3.11.1"
|
|
||||||
set "PYTHON3_URL=https://www.python.org/ftp/python/%PYTHON3_RELEASE%/python-%PYTHON3_RELEASE%-amd64.exe"
|
|
||||||
set "PYTHON3_DIR=C:\python%PYTHON3_VER%-x64"
|
|
||||||
|
|
||||||
:: Gettext-tools, iconv and libraries
|
|
||||||
set "GETTEXT64_URL=https://github.com/mlocati/gettext-iconv-windows/releases/download/v0.21-v1.16/gettext0.21-iconv1.16-shared-64.zip"
|
|
||||||
set "GETTEXT64_DIR=c:\gettext64"
|
|
||||||
|
|
||||||
set "VSWHERE=%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe"
|
|
||||||
|
|
||||||
if exist "%VSWHERE%" (
|
|
||||||
for /f "usebackq delims=" %%i in (
|
|
||||||
`"%VSWHERE%" -products * -latest -property installationPath`
|
|
||||||
) do (
|
|
||||||
set "VCVARSALL=%%i\VC\Auxiliary\Build\vcvarsall.bat"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
if not exist "%VCVARSALL%" (
|
|
||||||
set "VCVARSALL=%ProgramFiles(x86)%\Microsoft Visual Studio 14.0\VC\vcvarsall.bat"
|
|
||||||
)
|
|
||||||
call "%VCVARSALL%" x64
|
|
||||||
|
|
||||||
goto %target%
|
|
||||||
echo Unknown build target.
|
|
||||||
exit 1
|
|
||||||
|
|
||||||
:: ----------------------------------------------------------------------------
|
|
||||||
:install
|
|
||||||
@echo on
|
|
||||||
if not exist downloads mkdir downloads
|
|
||||||
|
|
||||||
:: Python 3
|
|
||||||
if not exist %PYTHON3_DIR% (
|
|
||||||
call :downloadfile %PYTHON3_URL% downloads\python3.exe
|
|
||||||
cmd /c start /wait downloads\python3.exe /quiet TargetDir=%PYTHON3_DIR% ^
|
|
||||||
Include_pip=0 Include_tcltk=0 Include_test=0 Include_tools=0 ^
|
|
||||||
AssociateFiles=0 Shortcuts=0 Include_doc=0 Include_launcher=0 ^
|
|
||||||
InstallLauncherAllUsers=0
|
|
||||||
)
|
|
||||||
:: GETTEXT
|
|
||||||
if not exist %GETTEXT64_DIR% (
|
|
||||||
mkdir %GETTEXT64_DIR%
|
|
||||||
call :downloadfile %GETTEXT64_URL% downloads\gettext64.zip
|
|
||||||
cmd /c powershell.exe -NoLogo -NoProfile -Command ^
|
|
||||||
Add-Type -AssemblyName 'System.IO.Compression.FileSystem'; ^
|
|
||||||
[System.IO.Compression.ZipFile]::ExtractToDirectory^('downloads\gettext64.zip', ^
|
|
||||||
'%GETTEXT64_DIR%'^)
|
|
||||||
copy /y %GETTEXT64_DIR%\bin\libintl-8.dll C:\projects\vim\src\ || exit 1
|
|
||||||
copy /y %GETTEXT64_DIR%\bin\libiconv-2.dll C:\projects\vim\src\ || exit 1
|
|
||||||
)
|
|
||||||
|
|
||||||
@echo off
|
|
||||||
goto :eof
|
|
||||||
|
|
||||||
:: ----------------------------------------------------------------------------
|
|
||||||
:build
|
|
||||||
|
|
||||||
cd src
|
|
||||||
|
|
||||||
echo "Building MSVC 64bit console Version"
|
|
||||||
nmake -f Make_mvc.mak CPU=AMD64 ^
|
|
||||||
OLE=no GUI=no IME=yes ICONV=yes DEBUG=no ^
|
|
||||||
FEATURES=%FEATURE% CI_CFLAGS=/we4267
|
|
||||||
if not exist vim.exe (
|
|
||||||
echo Build failure.
|
|
||||||
exit 1
|
|
||||||
)
|
|
||||||
|
|
||||||
:: build MSVC huge version with python and channel support
|
|
||||||
:: GUI needs to be last, so that testing works
|
|
||||||
echo "Building MSVC 64bit GUI Version"
|
|
||||||
if "%FEATURE%" == "HUGE" (
|
|
||||||
nmake -f Make_mvc.mak CPU=AMD64 ^
|
|
||||||
OLE=no GUI=yes IME=yes ICONV=yes DEBUG=no POSTSCRIPT=yes ^
|
|
||||||
PYTHON_VER=27 DYNAMIC_PYTHON=yes PYTHON=C:\Python27-x64 ^
|
|
||||||
PYTHON3_VER=%PYTHON3_VER% DYNAMIC_PYTHON3=yes PYTHON3=%PYTHON3_DIR% ^
|
|
||||||
FEATURES=%FEATURE% CI_CFLAGS=/we4267
|
|
||||||
) ELSE (
|
|
||||||
nmake -f Make_mvc.mak CPU=AMD64 ^
|
|
||||||
OLE=no GUI=yes IME=yes ICONV=yes DEBUG=no ^
|
|
||||||
FEATURES=%FEATURE% CI_CFLAGS=/we4267
|
|
||||||
)
|
|
||||||
if not exist gvim.exe (
|
|
||||||
echo Build failure.
|
|
||||||
exit 1
|
|
||||||
)
|
|
||||||
.\gvim -u NONE -c "redir @a | ver |0put a | wq" ver_msvc.txt || exit 1
|
|
||||||
|
|
||||||
echo "version output MSVC console"
|
|
||||||
.\vim --version || exit 1
|
|
||||||
echo "version output MSVC GUI"
|
|
||||||
type ver_msvc.txt || exit 1
|
|
||||||
|
|
||||||
goto :eof
|
|
||||||
|
|
||||||
:: ----------------------------------------------------------------------------
|
|
||||||
:test
|
|
||||||
@echo on
|
|
||||||
cd src/testdir
|
|
||||||
:: Testing with MSVC gvim
|
|
||||||
path %PYTHON3_DIR%;%GETTEXT_PATH%;%PATH%
|
|
||||||
nmake -f Make_mvc.mak VIMPROG=..\gvim
|
|
||||||
nmake -f Make_mvc.mak clean
|
|
||||||
:: Testing with MSVC console version
|
|
||||||
nmake -f Make_mvc.mak VIMPROG=..\vim
|
|
||||||
|
|
||||||
@echo off
|
|
||||||
goto :eof
|
|
||||||
|
|
||||||
:: ----------------------------------------------------------------------------
|
|
||||||
:downloadfile
|
|
||||||
:: call :downloadfile <URL> <localfile>
|
|
||||||
if not exist %2 (
|
|
||||||
curl -f -L %1 -o %2
|
|
||||||
)
|
|
||||||
if ERRORLEVEL 1 (
|
|
||||||
rem Retry once.
|
|
||||||
curl -f -L %1 -o %2 || exit 1
|
|
||||||
)
|
|
||||||
@goto :eof
|
|
||||||
@@ -0,0 +1,43 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
import argparse
|
||||||
|
import itertools
|
||||||
|
import json
|
||||||
|
import re
|
||||||
|
import subprocess
|
||||||
|
|
||||||
|
|
||||||
|
def generate_testset(n):
|
||||||
|
cp = subprocess.run(["make", "-C", "src/testdir", "-npq"], capture_output=True)
|
||||||
|
|
||||||
|
tests = set()
|
||||||
|
for line in cp.stdout.decode().split("\n"):
|
||||||
|
if re.match(r"^(NEW_TESTS_RES|TEST_VIM9_RES) = ", line):
|
||||||
|
tests.update(re.findall(r"\btest\w+\.res\b", line))
|
||||||
|
|
||||||
|
tests = sorted(list(tests))
|
||||||
|
# move test_alot*.res to the end
|
||||||
|
tests = (
|
||||||
|
[t for t in tests if not t.startswith("test_alot")]
|
||||||
|
+ [t for t in tests if t.startswith("test_alot_")]
|
||||||
|
+ ["test_alot.res"]
|
||||||
|
)
|
||||||
|
targets = tests
|
||||||
|
|
||||||
|
if n > 1:
|
||||||
|
targets = [ts for ts in itertools.batched(tests, n)]
|
||||||
|
targets = [[t for t in ts if t] for ts in itertools.zip_longest(*targets)]
|
||||||
|
|
||||||
|
return targets
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
parser = argparse.ArgumentParser()
|
||||||
|
parser.add_argument("n", type=int, nargs="?", default=1)
|
||||||
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
print(json.dumps(generate_testset(args.n)))
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
||||||
+1
-1
@@ -13,7 +13,7 @@ extensions = ["c", "h", "md", "html", "txt"]
|
|||||||
accept = ["100..=103", "200..=299", "429"]
|
accept = ["100..=103", "200..=299", "429"]
|
||||||
|
|
||||||
# Retry each request a few times on transient network errors
|
# Retry each request a few times on transient network errors
|
||||||
retries = 2
|
max_retries = 2
|
||||||
retry_wait_time = 2
|
retry_wait_time = 2
|
||||||
|
|
||||||
# Timeout per request in seconds
|
# Timeout per request in seconds
|
||||||
|
|||||||
+1
-1
@@ -137,7 +137,7 @@ README_vms.txt VMS
|
|||||||
|
|
||||||
ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ
|
ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ
|
||||||
|
|
||||||
Для системе macOS вы може использовать MacVim: https://macvim.org
|
Для системе macOS вы можете использовать MacVim: https://macvim.org
|
||||||
|
|
||||||
Последние новости о редакторе Vim можно найти на его домашней странице:
|
Последние новости о редакторе Vim можно найти на его домашней странице:
|
||||||
https://www.vim.org/
|
https://www.vim.org/
|
||||||
|
|||||||
@@ -638,6 +638,7 @@ SectionGroupEnd
|
|||||||
!undef LIBRARY_X64
|
!undef LIBRARY_X64
|
||||||
${EndIf}
|
${EndIf}
|
||||||
|
|
||||||
|
!if ! ${ARM64}
|
||||||
# Install DLLs for 32-bit gvimext.dll into the GvimExt32 directory.
|
# Install DLLs for 32-bit gvimext.dll into the GvimExt32 directory.
|
||||||
SetOutPath $0\GvimExt32
|
SetOutPath $0\GvimExt32
|
||||||
ClearErrors
|
ClearErrors
|
||||||
@@ -655,6 +656,7 @@ SectionGroupEnd
|
|||||||
"$0\GvimExt32\libgcc_s_sjlj-1.dll" "$0\GvimExt32"
|
"$0\GvimExt32\libgcc_s_sjlj-1.dll" "$0\GvimExt32"
|
||||||
!endif
|
!endif
|
||||||
!endif
|
!endif
|
||||||
|
!endif
|
||||||
${EndIf}
|
${EndIf}
|
||||||
SectionEnd
|
SectionEnd
|
||||||
!endif
|
!endif
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ htmlcomplete.vim HTML
|
|||||||
javascriptcomplete.vim Javascript
|
javascriptcomplete.vim Javascript
|
||||||
phpcomplete.vim PHP
|
phpcomplete.vim PHP
|
||||||
pythoncomplete.vim Python
|
pythoncomplete.vim Python
|
||||||
|
python3complete.vim Python
|
||||||
rubycomplete.vim Ruby
|
rubycomplete.vim Ruby
|
||||||
syntaxcomplete.vim from syntax highlighting
|
syntaxcomplete.vim from syntax highlighting
|
||||||
xmlcomplete.vim XML (uses files in the xml directory)
|
xmlcomplete.vim XML (uses files in the xml directory)
|
||||||
|
|||||||
@@ -3,9 +3,7 @@ vim9script
|
|||||||
# Language: ConTeXt typesetting engine
|
# Language: ConTeXt typesetting engine
|
||||||
# Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
# Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
||||||
# Former Maintainers: Nikolai Weibull <now@bitwi.se>
|
# Former Maintainers: Nikolai Weibull <now@bitwi.se>
|
||||||
# Latest Revision: 2026 Feb 03
|
# Latest Revision: 2026 May 20
|
||||||
# Last Change:
|
|
||||||
# 2026 Mar 30 by Vim project: Use fnameescape for the Log command
|
|
||||||
|
|
||||||
# Typesetting {{{
|
# Typesetting {{{
|
||||||
import autoload './typeset.vim'
|
import autoload './typeset.vim'
|
||||||
@@ -35,7 +33,7 @@ export def Log(bufname: string)
|
|||||||
var logpath = typeset.LogPath(bufname)
|
var logpath = typeset.LogPath(bufname)
|
||||||
|
|
||||||
if filereadable(logpath)
|
if filereadable(logpath)
|
||||||
execute 'edit' .. fnameescape(typeset.LogPath(bufname))
|
execute 'edit' fnameescape(typeset.LogPath(bufname))
|
||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|||||||
Vendored
+40
-6
@@ -3,7 +3,7 @@ vim9script
|
|||||||
# Vim functions for file type detection
|
# Vim functions for file type detection
|
||||||
#
|
#
|
||||||
# Maintainer: The Vim Project <https://github.com/vim/vim>
|
# Maintainer: The Vim Project <https://github.com/vim/vim>
|
||||||
# Last Change: 2026 Apr 03
|
# Last Change: 2026 May 29
|
||||||
# Former Maintainer: Bram Moolenaar <Bram@vim.org>
|
# Former Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
|
|
||||||
# These functions are moved here from runtime/filetype.vim to make startup
|
# These functions are moved here from runtime/filetype.vim to make startup
|
||||||
@@ -63,6 +63,21 @@ export def FTapp()
|
|||||||
endfor
|
endfor
|
||||||
enddef
|
enddef
|
||||||
|
|
||||||
|
# This function checks for Kawasaki robots AS file or atlas file type.
|
||||||
|
export def FTas()
|
||||||
|
if exists("g:filetype_as")
|
||||||
|
exe "setf " .. g:filetype_as
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
for lnum in range(1, min([line("$"), 30]))
|
||||||
|
if getline(lnum) =~ '^\.NETCONF'
|
||||||
|
setf kawasaki_as
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
endfor
|
||||||
|
setf atlas
|
||||||
|
enddef
|
||||||
|
|
||||||
# This function checks for the kind of assembly that is wanted by the user, or
|
# This function checks for the kind of assembly that is wanted by the user, or
|
||||||
# can be detected from the beginning of the file.
|
# can be detected from the beginning of the file.
|
||||||
export def FTasm()
|
export def FTasm()
|
||||||
@@ -547,7 +562,7 @@ export def FThtml()
|
|||||||
|
|
||||||
while n < 40 && n <= line("$")
|
while n < 40 && n <= line("$")
|
||||||
# Check for Angular
|
# Check for Angular
|
||||||
if getline(n) =~ '@\(if\|for\|defer\|switch\)\|\*\(ngIf\|ngFor\|ngSwitch\|ngTemplateOutlet\)\|ng-template\|ng-content'
|
if getline(n) =~ '@\(if\|for\|defer\|switch\)\|\*\(ngIf\|ngFor\|ngSwitch\|ngTemplateOutlet\)\|\<ng-template\|\<ng-content'
|
||||||
setf htmlangular
|
setf htmlangular
|
||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
@@ -798,9 +813,14 @@ export def FTnroff(): number
|
|||||||
enddef
|
enddef
|
||||||
|
|
||||||
export def FTmm()
|
export def FTmm()
|
||||||
|
if exists("g:filetype_mm")
|
||||||
|
exe "setf " .. g:filetype_mm
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
|
||||||
var n = 1
|
var n = 1
|
||||||
while n < 20
|
while n < 20
|
||||||
if getline(n) =~ '^\s*\(#\s*\(include\|import\)\>\|@import\>\|/\*\)'
|
if getline(n) =~ '^\s*\(//\|#\s*\(include\|import\)\>\|@import\>\|/\*\)'
|
||||||
setf objcpp
|
setf objcpp
|
||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
@@ -915,7 +935,7 @@ export def FTinc()
|
|||||||
elseif line =~ '^\s*\%({\|(\*\)' || line =~? ft_pascal_keywords
|
elseif line =~ '^\s*\%({\|(\*\)' || line =~? ft_pascal_keywords
|
||||||
setf pascal
|
setf pascal
|
||||||
return
|
return
|
||||||
elseif line =~# '\<\%(require\|inherit\)\>' || line =~# '[A-Z][A-Za-z0-9_:${}/]*\s\+\%(??\|[?:+.]\)\?=.\? '
|
elseif line =~# '^\s*\<\%(require\|inherit\)\>' || line =~# '^\s*[A-Z][A-Za-z0-9_:${}/]*\%(\[[A-Za-z0-9_:/]\+\]\)*\s\+\%(??=\|[?:+.]=\|=[+.]\?\)\s\+'
|
||||||
setf bitbake
|
setf bitbake
|
||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
@@ -1726,6 +1746,8 @@ const ft_from_ext = {
|
|||||||
"tdf": "ahdl",
|
"tdf": "ahdl",
|
||||||
# AIDL
|
# AIDL
|
||||||
"aidl": "aidl",
|
"aidl": "aidl",
|
||||||
|
# Algol 68
|
||||||
|
"a68": "algol68",
|
||||||
# AMPL
|
# AMPL
|
||||||
"run": "ampl",
|
"run": "ampl",
|
||||||
# ANTLR / PCCTS
|
# ANTLR / PCCTS
|
||||||
@@ -1764,7 +1786,6 @@ const ft_from_ext = {
|
|||||||
"astro": "astro",
|
"astro": "astro",
|
||||||
# Atlas
|
# Atlas
|
||||||
"atl": "atlas",
|
"atl": "atlas",
|
||||||
"as": "atlas",
|
|
||||||
# Atom is based on XML
|
# Atom is based on XML
|
||||||
"atom": "xml",
|
"atom": "xml",
|
||||||
# Authzed
|
# Authzed
|
||||||
@@ -1798,6 +1819,7 @@ const ft_from_ext = {
|
|||||||
# BDF font
|
# BDF font
|
||||||
"bdf": "bdf",
|
"bdf": "bdf",
|
||||||
# Beancount
|
# Beancount
|
||||||
|
"bean": "beancount",
|
||||||
"beancount": "beancount",
|
"beancount": "beancount",
|
||||||
# BibTeX bibliography database file
|
# BibTeX bibliography database file
|
||||||
"bib": "bib",
|
"bib": "bib",
|
||||||
@@ -2292,6 +2314,8 @@ const ft_from_ext = {
|
|||||||
# KAREL
|
# KAREL
|
||||||
"kl": "karel",
|
"kl": "karel",
|
||||||
"KL": "karel",
|
"KL": "karel",
|
||||||
|
# Kawasaki AS
|
||||||
|
"pg": "kawasaki_as",
|
||||||
# KDL
|
# KDL
|
||||||
"kdl": "kdl",
|
"kdl": "kdl",
|
||||||
# KerML
|
# KerML
|
||||||
@@ -2312,6 +2336,8 @@ const ft_from_ext = {
|
|||||||
"kts": "kotlin",
|
"kts": "kotlin",
|
||||||
# KDE script
|
# KDE script
|
||||||
"ks": "kscript",
|
"ks": "kscript",
|
||||||
|
# Kaitai struct
|
||||||
|
"ksy": "yaml",
|
||||||
# Kyaml
|
# Kyaml
|
||||||
"kyaml": "yaml",
|
"kyaml": "yaml",
|
||||||
"kyml": "yaml",
|
"kyml": "yaml",
|
||||||
@@ -2613,6 +2639,8 @@ const ft_from_ext = {
|
|||||||
"qmd": "quarto",
|
"qmd": "quarto",
|
||||||
# QuickBms
|
# QuickBms
|
||||||
"bms": "quickbms",
|
"bms": "quickbms",
|
||||||
|
# Popcap Reanimation files
|
||||||
|
"reanim": "xml",
|
||||||
# Racket (formerly detected as "scheme")
|
# Racket (formerly detected as "scheme")
|
||||||
"rkt": "racket",
|
"rkt": "racket",
|
||||||
"rktd": "racket",
|
"rktd": "racket",
|
||||||
@@ -2707,6 +2735,8 @@ const ft_from_ext = {
|
|||||||
"mill": "scala",
|
"mill": "scala",
|
||||||
# SBT - Scala Build Tool
|
# SBT - Scala Build Tool
|
||||||
"sbt": "sbt",
|
"sbt": "sbt",
|
||||||
|
# SGF, Smart Game Format
|
||||||
|
"sgf": "sgf",
|
||||||
# Slang Shading Language
|
# Slang Shading Language
|
||||||
"slang": "shaderslang",
|
"slang": "shaderslang",
|
||||||
# Slint
|
# Slint
|
||||||
@@ -2735,6 +2765,8 @@ const ft_from_ext = {
|
|||||||
"sieve": "sieve",
|
"sieve": "sieve",
|
||||||
# TriG
|
# TriG
|
||||||
"trig": "trig",
|
"trig": "trig",
|
||||||
|
# Tolk
|
||||||
|
"tolk": "tolk",
|
||||||
# Zig and Zig Object Notation (ZON)
|
# Zig and Zig Object Notation (ZON)
|
||||||
"zig": "zig",
|
"zig": "zig",
|
||||||
"zon": "zig",
|
"zon": "zig",
|
||||||
@@ -3113,7 +3145,9 @@ const ft_from_ext = {
|
|||||||
"bp": "bp",
|
"bp": "bp",
|
||||||
# Tiltfile
|
# Tiltfile
|
||||||
"Tiltfile": "tiltfile",
|
"Tiltfile": "tiltfile",
|
||||||
"tiltfile": "tiltfile"
|
"tiltfile": "tiltfile",
|
||||||
|
# Ghostty
|
||||||
|
"ghostty": "ghostty",
|
||||||
}
|
}
|
||||||
# Key: file name (the final path component, excluding the drive and root)
|
# Key: file name (the final path component, excluding the drive and root)
|
||||||
# Value: filetype
|
# Value: filetype
|
||||||
|
|||||||
Vendored
+5
-3
@@ -4,7 +4,7 @@ vim9script
|
|||||||
# Invoked from "scripts.vim" in 'runtimepath'
|
# Invoked from "scripts.vim" in 'runtimepath'
|
||||||
#
|
#
|
||||||
# Maintainer: The Vim Project <https://github.com/vim/vim>
|
# Maintainer: The Vim Project <https://github.com/vim/vim>
|
||||||
# Last Change: 2025 Dec 22
|
# Last Change: 2026 Apr 09
|
||||||
# Former Maintainer: Bram Moolenaar <Bram@vim.org>
|
# Former Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
|
|
||||||
export def DetectFiletype()
|
export def DetectFiletype()
|
||||||
@@ -45,6 +45,8 @@ def DetectFromHashBang(firstline: string)
|
|||||||
name = substitute(line1, '^#!.*\<env\>\s\+\(\i\+\).*', '\1', '')
|
name = substitute(line1, '^#!.*\<env\>\s\+\(\i\+\).*', '\1', '')
|
||||||
elseif line1 =~ '^#!\s*[^/\\ ]*\>\([^/\\]\|$\)'
|
elseif line1 =~ '^#!\s*[^/\\ ]*\>\([^/\\]\|$\)'
|
||||||
name = substitute(line1, '^#!\s*\([^/\\ ]*\>\).*', '\1', '')
|
name = substitute(line1, '^#!\s*\([^/\\ ]*\>\).*', '\1', '')
|
||||||
|
elseif line1 =~ '^#!.*\<busybox\>'
|
||||||
|
name = substitute(line1, '^#!.*\<busybox\>\s\+\(\i\+\).*', '\1', '')
|
||||||
else
|
else
|
||||||
name = substitute(line1, '^#!\s*\S*[/\\]\(\f\+\).*', '\1', '')
|
name = substitute(line1, '^#!\s*\S*[/\\]\(\f\+\).*', '\1', '')
|
||||||
endif
|
endif
|
||||||
@@ -67,7 +69,7 @@ enddef
|
|||||||
# Returns an empty string when not recognized.
|
# Returns an empty string when not recognized.
|
||||||
export def Exe2filetype(name: string, line1: string): string
|
export def Exe2filetype(name: string, line1: string): string
|
||||||
# Bourne-like shell scripts: bash bash2 dash ksh ksh93 sh
|
# Bourne-like shell scripts: bash bash2 dash ksh ksh93 sh
|
||||||
if name =~ '^\(bash\d*\|dash\|ksh\d*\|sh\)\>'
|
if name =~ '^\(bash\d*\|d\?ash\|ksh\d*\|sh\)\>'
|
||||||
return dist#ft#SetFileTypeSH(line1, false)
|
return dist#ft#SetFileTypeSH(line1, false)
|
||||||
|
|
||||||
# csh scripts
|
# csh scripts
|
||||||
@@ -115,7 +117,7 @@ export def Exe2filetype(name: string, line1: string): string
|
|||||||
return 'php'
|
return 'php'
|
||||||
|
|
||||||
# Python
|
# Python
|
||||||
elseif name =~ 'python'
|
elseif name =~ 'python' || (name == 'uv' && line1 =~ '\<uv run\>')
|
||||||
return 'python'
|
return 'python'
|
||||||
|
|
||||||
# Groovy
|
# Groovy
|
||||||
|
|||||||
Vendored
+8
-5
@@ -3,7 +3,7 @@ vim9script
|
|||||||
# Vim runtime support library
|
# Vim runtime support library
|
||||||
#
|
#
|
||||||
# Maintainer: The Vim Project <https://github.com/vim/vim>
|
# Maintainer: The Vim Project <https://github.com/vim/vim>
|
||||||
# Last Change: 2026 Apr 06
|
# Last Change: 2026 May 30
|
||||||
|
|
||||||
export def IsSafeExecutable(filetype: string, executable: string): bool
|
export def IsSafeExecutable(filetype: string, executable: string): bool
|
||||||
if empty(exepath(executable))
|
if empty(exepath(executable))
|
||||||
@@ -51,7 +51,7 @@ if has('unix')
|
|||||||
execute $'silent !cmd /c start "" /b {args} {Redir()}' | redraw!
|
execute $'silent !cmd /c start "" /b {args} {Redir()}' | redraw!
|
||||||
enddef
|
enddef
|
||||||
endif
|
endif
|
||||||
elseif exists('$WSL_DISTRO_NAME') # use cmd.exe to start GUI apps in WSL
|
elseif exists('$WSL_DISTRO_NAME') && executable('cmd.exe') # use cmd.exe to start GUI apps in WSL
|
||||||
export def Launch(args: string)
|
export def Launch(args: string)
|
||||||
const command = (args =~? '\v<\f+\.(exe|com|bat|cmd)>')
|
const command = (args =~? '\v<\f+\.(exe|com|bat|cmd)>')
|
||||||
? $'cmd.exe /c start /b {args} {Redir()}'
|
? $'cmd.exe /c start /b {args} {Redir()}'
|
||||||
@@ -131,15 +131,18 @@ enddef
|
|||||||
export def Open(file: string)
|
export def Open(file: string)
|
||||||
# disable shellslash for shellescape, required on Windows #17995
|
# disable shellslash for shellescape, required on Windows #17995
|
||||||
if exists('+shellslash') && &shellslash
|
if exists('+shellslash') && &shellslash
|
||||||
&shellslash = false
|
|
||||||
defer setbufvar('%', '&shellslash', true)
|
defer setbufvar('%', '&shellslash', true)
|
||||||
|
&shellslash = false
|
||||||
endif
|
endif
|
||||||
if &shell == 'pwsh' || &shell == 'powershell'
|
if &shell == 'pwsh' || &shell == 'powershell'
|
||||||
const shell = &shell
|
defer setbufvar('%', '&shell', &shell)
|
||||||
setlocal shell&
|
setlocal shell&
|
||||||
defer setbufvar('%', '&shell', shell)
|
|
||||||
endif
|
endif
|
||||||
|
if has('unix') && !has('win32unix') && !exists('$WSL_DISTRO_NAME')
|
||||||
|
Launch($"{Viewer()} {shellescape(file)}")
|
||||||
|
else
|
||||||
Launch($"{Viewer()} {shellescape(file, 1)}")
|
Launch($"{Viewer()} {shellescape(file, 1)}")
|
||||||
|
endif
|
||||||
enddef
|
enddef
|
||||||
|
|
||||||
# Uncomment this line to check for compilation errors early
|
# Uncomment this line to check for compilation errors early
|
||||||
|
|||||||
@@ -15,6 +15,7 @@
|
|||||||
" 2025 Feb 28 by Vim Project: add support for bzip3 (#16755)
|
" 2025 Feb 28 by Vim Project: add support for bzip3 (#16755)
|
||||||
" 2025 May 11 by Vim Project: check network connectivity (#17249)
|
" 2025 May 11 by Vim Project: check network connectivity (#17249)
|
||||||
" 2025 Dec 21 by Vim Project: make the wget check more robust (#18987)
|
" 2025 Dec 21 by Vim Project: make the wget check more robust (#18987)
|
||||||
|
" 2026 May 20 by Vim Project: use correct shellescape() with ! command
|
||||||
" }}}
|
" }}}
|
||||||
"
|
"
|
||||||
" GetLatestVimScripts: 642 1 :AutoInstall: getscript.vim
|
" GetLatestVimScripts: 642 1 :AutoInstall: getscript.vim
|
||||||
@@ -433,9 +434,9 @@ fun! s:GetOneScript(...)
|
|||||||
let itry= 1
|
let itry= 1
|
||||||
while itry <= 3
|
while itry <= 3
|
||||||
if has("win32") || has("win16") || has("win95")
|
if has("win32") || has("win16") || has("win95")
|
||||||
new|exe "silent r!".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(tmpfile).' '.shellescape(scriptaddr)|bw!
|
new|exe "silent r!".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(tmpfile,1).' '.shellescape(scriptaddr,1)|bw!
|
||||||
else
|
else
|
||||||
exe "silent !".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(tmpfile)." ".shellescape(scriptaddr)
|
exe "silent !".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(tmpfile,1)." ".shellescape(scriptaddr,1)
|
||||||
endif
|
endif
|
||||||
if itry == 1
|
if itry == 1
|
||||||
exe "silent vsplit ".fnameescape(tmpfile)
|
exe "silent vsplit ".fnameescape(tmpfile)
|
||||||
@@ -503,9 +504,9 @@ fun! s:GetOneScript(...)
|
|||||||
" -----------------------------------------------------------------------------
|
" -----------------------------------------------------------------------------
|
||||||
echomsg ".downloading new <".sname.">"
|
echomsg ".downloading new <".sname.">"
|
||||||
if has("win32") || has("win16") || has("win95")
|
if has("win32") || has("win16") || has("win95")
|
||||||
new|exe "silent r!".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(sname)." ".shellescape(g:GetLatestVimScripts_downloadaddr.latestsrcid)|bw!
|
new|exe "silent r!".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(sname,1)." ".shellescape(g:GetLatestVimScripts_downloadaddr.latestsrcid,1)|bw!
|
||||||
else
|
else
|
||||||
exe "silent !".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(sname)." ".shellescape(g:GetLatestVimScripts_downloadaddr.latestsrcid)
|
exe "silent !".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(sname,1)." ".shellescape(g:GetLatestVimScripts_downloadaddr.latestsrcid,1)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" --------------------------------------------------------------------------
|
" --------------------------------------------------------------------------
|
||||||
@@ -513,7 +514,7 @@ fun! s:GetOneScript(...)
|
|||||||
" --------------------------------------------------------------------------
|
" --------------------------------------------------------------------------
|
||||||
if doautoinstall
|
if doautoinstall
|
||||||
if filereadable(sname)
|
if filereadable(sname)
|
||||||
exe "silent !".g:GetLatestVimScripts_mv." ".shellescape(sname)." ".shellescape(s:autoinstall)
|
exe "silent !".g:GetLatestVimScripts_mv." ".shellescape(sname,1)." ".shellescape(s:autoinstall,1)
|
||||||
let curdir = fnameescape(substitute(getcwd(),'\','/','ge'))
|
let curdir = fnameescape(substitute(getcwd(),'\','/','ge'))
|
||||||
let installdir= curdir."/Installed"
|
let installdir= curdir."/Installed"
|
||||||
if !isdirectory(installdir)
|
if !isdirectory(installdir)
|
||||||
@@ -532,33 +533,33 @@ fun! s:GetOneScript(...)
|
|||||||
|
|
||||||
" decompress
|
" decompress
|
||||||
if sname =~ '\.bz2$'
|
if sname =~ '\.bz2$'
|
||||||
exe "sil !".g:GetLatestVimScripts_bunzip2." ".shellescape(sname)
|
exe "sil !".g:GetLatestVimScripts_bunzip2." ".shellescape(sname,1)
|
||||||
let sname= substitute(sname,'\.bz2$','','')
|
let sname= substitute(sname,'\.bz2$','','')
|
||||||
elseif sname =~ '\.bz3$'
|
elseif sname =~ '\.bz3$'
|
||||||
exe "sil !".g:GetLatestVimScripts_bunzip3." ".shellescape(sname)
|
exe "sil !".g:GetLatestVimScripts_bunzip3." ".shellescape(sname,1)
|
||||||
let sname= substitute(sname,'\.bz3$','','')
|
let sname= substitute(sname,'\.bz3$','','')
|
||||||
elseif sname =~ '\.gz$'
|
elseif sname =~ '\.gz$'
|
||||||
exe "sil !".g:GetLatestVimScripts_gunzip." ".shellescape(sname)
|
exe "sil !".g:GetLatestVimScripts_gunzip." ".shellescape(sname,1)
|
||||||
let sname= substitute(sname,'\.gz$','','')
|
let sname= substitute(sname,'\.gz$','','')
|
||||||
elseif sname =~ '\.xz$'
|
elseif sname =~ '\.xz$'
|
||||||
exe "sil !".g:GetLatestVimScripts_unxz." ".shellescape(sname)
|
exe "sil !".g:GetLatestVimScripts_unxz." ".shellescape(sname,1)
|
||||||
let sname= substitute(sname,'\.xz$','','')
|
let sname= substitute(sname,'\.xz$','','')
|
||||||
else
|
else
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" distribute archive(.zip, .tar, .vba, .vmb, ...) contents
|
" distribute archive(.zip, .tar, .vba, .vmb, ...) contents
|
||||||
if sname =~ '\.zip$'
|
if sname =~ '\.zip$'
|
||||||
exe "silent !".g:GetLatestVimScripts_unzip." -o ".shellescape(sname)
|
exe "silent !".g:GetLatestVimScripts_unzip." -o ".shellescape(sname,1)
|
||||||
elseif sname =~ '\.tar$'
|
elseif sname =~ '\.tar$'
|
||||||
exe "silent !tar -xvf ".shellescape(sname)
|
exe "silent !tar -xvf ".shellescape(sname,1)
|
||||||
elseif sname =~ '\.tgz$'
|
elseif sname =~ '\.tgz$'
|
||||||
exe "silent !tar -zxvf ".shellescape(sname)
|
exe "silent !tar -zxvf ".shellescape(sname,1)
|
||||||
elseif sname =~ '\.taz$'
|
elseif sname =~ '\.taz$'
|
||||||
exe "silent !tar -Zxvf ".shellescape(sname)
|
exe "silent !tar -Zxvf ".shellescape(sname,1)
|
||||||
elseif sname =~ '\.tbz$'
|
elseif sname =~ '\.tbz$'
|
||||||
exe "silent !tar -jxvf ".shellescape(sname)
|
exe "silent !tar -jxvf ".shellescape(sname,1)
|
||||||
elseif sname =~ '\.txz$'
|
elseif sname =~ '\.txz$'
|
||||||
exe "silent !tar -Jxvf ".shellescape(sname)
|
exe "silent !tar -Jxvf ".shellescape(sname,1)
|
||||||
elseif sname =~ '\.vba$\|\.vmb$'
|
elseif sname =~ '\.vba$\|\.vmb$'
|
||||||
silent 1split
|
silent 1split
|
||||||
if exists("g:vimball_home")
|
if exists("g:vimball_home")
|
||||||
@@ -579,12 +580,12 @@ fun! s:GetOneScript(...)
|
|||||||
" move plugin to plugin/ or AsNeeded/ directory
|
" move plugin to plugin/ or AsNeeded/ directory
|
||||||
" ---------------------------------------------
|
" ---------------------------------------------
|
||||||
if sname =~ '.vim$'
|
if sname =~ '.vim$'
|
||||||
exe "silent !".g:GetLatestVimScripts_mv." ".shellescape(sname)." ".tgtdir
|
exe "silent !".g:GetLatestVimScripts_mv." ".shellescape(sname,1)." ".tgtdir
|
||||||
else
|
else
|
||||||
exe "silent !".g:GetLatestVimScripts_mv." ".shellescape(sname)." ".installdir
|
exe "silent !".g:GetLatestVimScripts_mv." ".shellescape(sname,1)." ".installdir
|
||||||
endif
|
endif
|
||||||
if tgtdir != "plugin"
|
if tgtdir != "plugin"
|
||||||
exe "silent !".g:GetLatestVimScripts_mv." ".shellescape("plugin/".pname)." ".tgtdir
|
exe "silent !".g:GetLatestVimScripts_mv." ".shellescape("plugin/".pname,1)." ".tgtdir
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" helptags step
|
" helptags step
|
||||||
|
|||||||
+15
-26
@@ -1,6 +1,6 @@
|
|||||||
" Vim autoload file for editing compressed files.
|
" Vim autoload file for editing compressed files.
|
||||||
" Maintainer: The Vim Project <https://github.com/vim/vim>
|
" Maintainer: The Vim Project <https://github.com/vim/vim>
|
||||||
" Last Change: 2024 Nov 25
|
" Last Change: 2026 Apr 26
|
||||||
" Former Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Former Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
|
|
||||||
" These functions are used by the gzip plugin.
|
" These functions are used by the gzip plugin.
|
||||||
@@ -82,13 +82,8 @@ fun gzip#read(cmd)
|
|||||||
let empty = line("'[") == 1 && line("']") == line("$")
|
let empty = line("'[") == 1 && line("']") == line("$")
|
||||||
let tmp = tempname()
|
let tmp = tempname()
|
||||||
let tmpe = tmp . "." . expand("<afile>:e")
|
let tmpe = tmp . "." . expand("<afile>:e")
|
||||||
if exists('*fnameescape')
|
|
||||||
let tmp_esc = fnameescape(tmp)
|
let tmp_esc = fnameescape(tmp)
|
||||||
let tmpe_esc = fnameescape(tmpe)
|
let tmpe_esc = fnameescape(tmpe)
|
||||||
else
|
|
||||||
let tmp_esc = escape(tmp, ' ')
|
|
||||||
let tmpe_esc = escape(tmpe, ' ')
|
|
||||||
endif
|
|
||||||
" write the just read lines to a temp file "'[,']w tmp.gz"
|
" write the just read lines to a temp file "'[,']w tmp.gz"
|
||||||
execute "silent '[,']w " . tmpe_esc
|
execute "silent '[,']w " . tmpe_esc
|
||||||
" uncompress the temp file: call system("gzip -dn tmp.gz")
|
" uncompress the temp file: call system("gzip -dn tmp.gz")
|
||||||
@@ -101,23 +96,15 @@ fun gzip#read(cmd)
|
|||||||
let ok = 1
|
let ok = 1
|
||||||
" delete the compressed lines; remember the line number
|
" delete the compressed lines; remember the line number
|
||||||
let l = line("'[") - 1
|
let l = line("'[") - 1
|
||||||
if exists(":lockmarks")
|
|
||||||
lockmarks '[,']d _
|
lockmarks '[,']d _
|
||||||
else
|
|
||||||
'[,']d _
|
|
||||||
endif
|
|
||||||
" read in the uncompressed lines "'[-1r tmp"
|
" read in the uncompressed lines "'[-1r tmp"
|
||||||
" Use ++edit if the buffer was empty, keep the 'ff' and 'fenc' options.
|
" Use ++edit if the buffer was empty, keep the 'ff' and 'fenc' options.
|
||||||
setlocal nobin
|
setlocal nobin
|
||||||
if exists(":lockmarks")
|
|
||||||
if empty
|
if empty
|
||||||
execute "silent lockmarks " . l . "r ++edit " . tmp_esc
|
execute "silent lockmarks " . l . "r ++edit " . tmp_esc
|
||||||
else
|
else
|
||||||
execute "silent lockmarks " . l . "r " . tmp_esc
|
execute "silent lockmarks " . l . "r " . tmp_esc
|
||||||
endif
|
endif
|
||||||
else
|
|
||||||
execute "silent " . l . "r " . tmp_esc
|
|
||||||
endif
|
|
||||||
|
|
||||||
" if buffer became empty, delete trailing blank line
|
" if buffer became empty, delete trailing blank line
|
||||||
if empty
|
if empty
|
||||||
@@ -143,11 +130,7 @@ fun gzip#read(cmd)
|
|||||||
|
|
||||||
" When uncompressed the whole buffer, do autocommands
|
" When uncompressed the whole buffer, do autocommands
|
||||||
if ok && empty
|
if ok && empty
|
||||||
if exists('*fnameescape')
|
|
||||||
let fname = fnameescape(expand("%:r"))
|
let fname = fnameescape(expand("%:r"))
|
||||||
else
|
|
||||||
let fname = escape(expand("%:r"), " \t\n*?[{`$\\%#'\"|!<")
|
|
||||||
endif
|
|
||||||
if filereadable(undofile(expand("%")))
|
if filereadable(undofile(expand("%")))
|
||||||
exe "sil rundo " . fnameescape(undofile(expand("%")))
|
exe "sil rundo " . fnameescape(undofile(expand("%")))
|
||||||
endif
|
endif
|
||||||
@@ -191,8 +174,9 @@ fun gzip#appre(cmd)
|
|||||||
call s:set_compression(readfile(nm, "b", 1)[0])
|
call s:set_compression(readfile(nm, "b", 1)[0])
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Rename to a weird name to avoid the risk of overwriting another file
|
" Rename to a unique name to avoid the risk of overwriting another file
|
||||||
let nmt = expand("<afile>:p:h") . "/X~=@l9q5"
|
" or being targeted by a symlink in a shared directory.
|
||||||
|
let nmt = s:samedir_tempname(nm)
|
||||||
let nmte = nmt . "." . expand("<afile>:e")
|
let nmte = nmt . "." . expand("<afile>:e")
|
||||||
if rename(nm, nmte) == 0
|
if rename(nm, nmte) == 0
|
||||||
if &patchmode != "" && getfsize(nm . &patchmode) == -1
|
if &patchmode != "" && getfsize(nm . &patchmode) == -1
|
||||||
@@ -208,22 +192,27 @@ fun gzip#appre(cmd)
|
|||||||
endfun
|
endfun
|
||||||
|
|
||||||
" find a file name for the file to be compressed. Use "name" without an
|
" find a file name for the file to be compressed. Use "name" without an
|
||||||
" extension if possible. Otherwise use a weird name to avoid overwriting an
|
" extension if possible. Otherwise use a unique name to avoid overwriting an
|
||||||
" existing file.
|
" existing file or following a symlink set up by another user.
|
||||||
fun s:tempname(name)
|
fun s:tempname(name)
|
||||||
let fn = fnamemodify(a:name, ":r")
|
let fn = fnamemodify(a:name, ":r")
|
||||||
if !filereadable(fn) && !isdirectory(fn)
|
if !filereadable(fn) && !isdirectory(fn)
|
||||||
return fn
|
return fn
|
||||||
endif
|
endif
|
||||||
return fnamemodify(a:name, ":p:h") . "/X~=@l9q5"
|
return s:samedir_tempname(a:name)
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" Generate an unpredictable file name in the same directory as "name", using
|
||||||
|
" the random component of tempname() to avoid symlink attacks in shared
|
||||||
|
" directories (e.g. /tmp).
|
||||||
|
fun s:samedir_tempname(name)
|
||||||
|
let tmp = tempname()
|
||||||
|
return fnamemodify(a:name, ":p:h") . "/" . fnamemodify(tmp, ":h:t") . fnamemodify(tmp, ":t")
|
||||||
endfun
|
endfun
|
||||||
|
|
||||||
fun s:escape(name)
|
fun s:escape(name)
|
||||||
" shellescape() was added by patch 7.0.111
|
" shellescape() was added by patch 7.0.111
|
||||||
if exists("*shellescape")
|
|
||||||
return shellescape(a:name)
|
return shellescape(a:name)
|
||||||
endif
|
|
||||||
return "'" . a:name . "'"
|
|
||||||
endfun
|
endfun
|
||||||
|
|
||||||
" vim: set sw=2 :
|
" vim: set sw=2 :
|
||||||
|
|||||||
@@ -14,6 +14,10 @@
|
|||||||
" i.e. "import url<c-x,c-o>"
|
" i.e. "import url<c-x,c-o>"
|
||||||
" Continue parsing on invalid line??
|
" Continue parsing on invalid line??
|
||||||
"
|
"
|
||||||
|
" v 0.10 by Vim project
|
||||||
|
" * disables importing local modules, unless the global Vim variable
|
||||||
|
" g:pythoncomplete_allow_import is set to non-zero
|
||||||
|
"
|
||||||
" v 0.9
|
" v 0.9
|
||||||
" * Fixed docstring parsing for classes and functions
|
" * Fixed docstring parsing for classes and functions
|
||||||
" * Fixed parsing of *args and **kwargs type arguments
|
" * Fixed parsing of *args and **kwargs type arguments
|
||||||
@@ -131,12 +135,24 @@ class Completer(object):
|
|||||||
self.parser = PyParser()
|
self.parser = PyParser()
|
||||||
|
|
||||||
def evalsource(self,text,line=0):
|
def evalsource(self,text,line=0):
|
||||||
|
# vim is imported locally in vimpy3complete(); re-import here so the
|
||||||
|
# vim.eval() below works (otherwise NameError, silently caught).
|
||||||
|
import vim
|
||||||
sc = self.parser.parse(text,line)
|
sc = self.parser.parse(text,line)
|
||||||
|
try: allow_imports = int(
|
||||||
|
vim.eval("get(g:, 'pythoncomplete_allow_import', 0)"))
|
||||||
|
except Exception:
|
||||||
|
allow_imports = 0
|
||||||
src = sc.get_code()
|
src = sc.get_code()
|
||||||
dbg("source: %s" % src)
|
dbg("source: %s" % src)
|
||||||
try: exec(src,self.compldict)
|
try: exec(src,self.compldict)
|
||||||
except: dbg("parser: %s, %s" % (sys.exc_info()[0],sys.exc_info()[1]))
|
except: dbg("parser: %s, %s" % (sys.exc_info()[0],sys.exc_info()[1]))
|
||||||
for l in sc.locals:
|
for l in sc.locals:
|
||||||
|
# Executing import/from statements harvested from the buffer runs
|
||||||
|
# arbitrary package code; only do so when the user opted in.
|
||||||
|
if not allow_imports and (l.startswith('import')
|
||||||
|
or l.startswith('from ')):
|
||||||
|
continue
|
||||||
try: exec(l,self.compldict)
|
try: exec(l,self.compldict)
|
||||||
except: dbg("locals: %s, %s [%s]" % (sys.exc_info()[0],sys.exc_info()[1],l))
|
except: dbg("locals: %s, %s [%s]" % (sys.exc_info()[0],sys.exc_info()[1],l))
|
||||||
|
|
||||||
@@ -300,13 +316,11 @@ class Scope(object):
|
|||||||
def get_code(self):
|
def get_code(self):
|
||||||
str = ""
|
str = ""
|
||||||
if len(self.docstr) > 0: str += '"""'+self.docstr+'"""\n'
|
if len(self.docstr) > 0: str += '"""'+self.docstr+'"""\n'
|
||||||
for l in self.locals:
|
|
||||||
if l.startswith('import'): str += l+'\n'
|
|
||||||
str += 'class _PyCmplNoType:\n def __getattr__(self,name):\n return None\n'
|
str += 'class _PyCmplNoType:\n def __getattr__(self,name):\n return None\n'
|
||||||
for sub in self.subscopes:
|
for sub in self.subscopes:
|
||||||
str += sub.get_code()
|
str += sub.get_code()
|
||||||
for l in self.locals:
|
for l in self.locals:
|
||||||
if not l.startswith('import'): str += l+'\n'
|
if not l.startswith('import') and not l.startswith('from '): str += l+'\n'
|
||||||
|
|
||||||
return str
|
return str
|
||||||
|
|
||||||
|
|||||||
@@ -12,6 +12,10 @@
|
|||||||
" i.e. "import url<c-x,c-o>"
|
" i.e. "import url<c-x,c-o>"
|
||||||
" Continue parsing on invalid line??
|
" Continue parsing on invalid line??
|
||||||
"
|
"
|
||||||
|
" v 0.10 by Vim project
|
||||||
|
" * disables importing local modules, unless the global Vim variable
|
||||||
|
" g:pythoncomplete_allow_import is set to non-zero
|
||||||
|
"
|
||||||
" v 0.9
|
" v 0.9
|
||||||
" * Fixed docstring parsing for classes and functions
|
" * Fixed docstring parsing for classes and functions
|
||||||
" * Fixed parsing of *args and **kwargs type arguments
|
" * Fixed parsing of *args and **kwargs type arguments
|
||||||
@@ -145,12 +149,24 @@ class Completer(object):
|
|||||||
self.parser = PyParser()
|
self.parser = PyParser()
|
||||||
|
|
||||||
def evalsource(self,text,line=0):
|
def evalsource(self,text,line=0):
|
||||||
|
# vim is imported locally in vimcomplete(); re-import here so the
|
||||||
|
# vim.eval() below works (otherwise NameError, silently caught).
|
||||||
|
import vim
|
||||||
sc = self.parser.parse(text,line)
|
sc = self.parser.parse(text,line)
|
||||||
|
try: allow_imports = int(
|
||||||
|
vim.eval("get(g:, 'pythoncomplete_allow_import', 0)"))
|
||||||
|
except Exception:
|
||||||
|
allow_imports = 0
|
||||||
src = sc.get_code()
|
src = sc.get_code()
|
||||||
dbg("source: %s" % src)
|
dbg("source: %s" % src)
|
||||||
try: exec(src) in self.compldict
|
try: exec(src) in self.compldict
|
||||||
except: dbg("parser: %s, %s" % (sys.exc_info()[0],sys.exc_info()[1]))
|
except: dbg("parser: %s, %s" % (sys.exc_info()[0],sys.exc_info()[1]))
|
||||||
for l in sc.locals:
|
for l in sc.locals:
|
||||||
|
# Executing import/from statements harvested from the buffer runs
|
||||||
|
# arbitrary package code; only do so when the user opted in.
|
||||||
|
if not allow_imports and (l.startswith('import')
|
||||||
|
or l.startswith('from ')):
|
||||||
|
continue
|
||||||
try: exec(l) in self.compldict
|
try: exec(l) in self.compldict
|
||||||
except: dbg("locals: %s, %s [%s]" % (sys.exc_info()[0],sys.exc_info()[1],l))
|
except: dbg("locals: %s, %s [%s]" % (sys.exc_info()[0],sys.exc_info()[1],l))
|
||||||
|
|
||||||
@@ -315,13 +331,11 @@ class Scope(object):
|
|||||||
def get_code(self):
|
def get_code(self):
|
||||||
str = ""
|
str = ""
|
||||||
if len(self.docstr) > 0: str += '"""'+self.docstr+'"""\n'
|
if len(self.docstr) > 0: str += '"""'+self.docstr+'"""\n'
|
||||||
for l in self.locals:
|
|
||||||
if l.startswith('import'): str += l+'\n'
|
|
||||||
str += 'class _PyCmplNoType:\n def __getattr__(self,name):\n return None\n'
|
str += 'class _PyCmplNoType:\n def __getattr__(self,name):\n return None\n'
|
||||||
for sub in self.subscopes:
|
for sub in self.subscopes:
|
||||||
str += sub.get_code()
|
str += sub.get_code()
|
||||||
for l in self.locals:
|
for l in self.locals:
|
||||||
if not l.startswith('import'): str += l+'\n'
|
if not l.startswith('import') and not l.startswith('from '): str += l+'\n'
|
||||||
|
|
||||||
return str
|
return str
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
" Description: Helper functions for Rust commands/mappings
|
" Description: Helper functions for Rust commands/mappings
|
||||||
" Last Modified: 2023-09-11
|
" Last Modified: 2023-09-11
|
||||||
|
" 2026 May 20 by Vim project: use correct shellescape() with ! command
|
||||||
" For bugs, patches and license go to https://github.com/rust-lang/rust.vim
|
" For bugs, patches and license go to https://github.com/rust-lang/rust.vim
|
||||||
|
|
||||||
function! rust#Load()
|
function! rust#Load()
|
||||||
@@ -125,7 +126,7 @@ function! s:Run(dict, rustc_args, args)
|
|||||||
echohl None
|
echohl None
|
||||||
endif
|
endif
|
||||||
if !v:shell_error
|
if !v:shell_error
|
||||||
exe '!' . shellescape(exepath) . " " . join(map(a:args, 'shellescape(v:val)'))
|
exe '!' . shellescape(exepath,1) . " " . join(map(a:args, 'shellescape(v:val,1)'))
|
||||||
endif
|
endif
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
|
|||||||
+69
-43
@@ -21,6 +21,11 @@
|
|||||||
" 2026 Feb 06 by Vim Project: consider 'nowrapscan' (#19333)
|
" 2026 Feb 06 by Vim Project: consider 'nowrapscan' (#19333)
|
||||||
" 2026 Feb 07 by Vim Project: make the path traversal detection more robust (#19341)
|
" 2026 Feb 07 by Vim Project: make the path traversal detection more robust (#19341)
|
||||||
" 2026 Apr 06 by Vim Project: fix bugs with lz4 support (#19925)
|
" 2026 Apr 06 by Vim Project: fix bugs with lz4 support (#19925)
|
||||||
|
" 2026 Apr 09 by Vim Project: fix bugs with zstd support (#19930)
|
||||||
|
" 2026 Apr 09 by Vim Project: fix bug with dotted filename (#19930)
|
||||||
|
" 2026 Apr 15 by Vim Project: fix more path traversal issues (#19981)
|
||||||
|
" 2026 Apr 16 by Vim Project: use g:tar_secure in tar#Extract()
|
||||||
|
" 2026 May 14 by Vim Project: use correct shellescape() call in Vimuntar()
|
||||||
"
|
"
|
||||||
" Contains many ideas from Michael Toren's <tar.vim>
|
" Contains many ideas from Michael Toren's <tar.vim>
|
||||||
"
|
"
|
||||||
@@ -610,118 +615,139 @@ fun! tar#Extract()
|
|||||||
let &report= repkeep
|
let &report= repkeep
|
||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
|
if fname =~ '^[.]\?[.]/' || simplify(fname) =~ '\.\.[/\\]'
|
||||||
let tarball = expand("%")
|
call s:Msg('tar#Extract', 'error', "Path Traversal Attack detected, not extracting!")
|
||||||
let tarbase = substitute(tarball,'\..*$','','')
|
let &report= repkeep
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
if has("unix")
|
||||||
|
if fname =~ '^/'
|
||||||
|
call s:Msg('tar#Extract', 'error', "Path Traversal Attack detected, not extracting!")
|
||||||
|
let &report= repkeep
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
if fname =~ '^\%(\a:[\\/]\|[\\/]\)'
|
||||||
|
call s:Msg('tar#Extract', 'error', "Path Traversal Attack detected, not extracting!")
|
||||||
|
let &report= repkeep
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
let extractcmd= s:WinPath(g:tar_extractcmd)
|
let extractcmd= s:WinPath(g:tar_extractcmd)
|
||||||
if filereadable(tarbase.".tar")
|
let tarball = expand("%")
|
||||||
call system(extractcmd." ".shellescape(tarbase).".tar ".shellescape(fname))
|
if !filereadable(tarball)
|
||||||
|
let &report= repkeep
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
|
||||||
|
if tarball =~# "\.tar$"
|
||||||
|
call system(extractcmd." ".shellescape(tarball)." ".g:tar_secure.shellescape(fname))
|
||||||
if v:shell_error != 0
|
if v:shell_error != 0
|
||||||
call s:Msg('tar#Extract', 'error', $"{extractcmd} {tarbase}.tar {fname}: failed!")
|
call s:Msg('tar#Extract', 'error', $"{extractcmd} {tarball} {fname}: failed!")
|
||||||
else
|
else
|
||||||
echo "***note*** successfully extracted ". fname
|
echo "***note*** successfully extracted ". fname
|
||||||
endif
|
endif
|
||||||
|
|
||||||
elseif filereadable(tarbase.".tgz")
|
elseif tarball =~# "\.tgz$"
|
||||||
let extractcmd= substitute(extractcmd,"-","-z","")
|
let extractcmd= substitute(extractcmd,"-","-z","")
|
||||||
call system(extractcmd." ".shellescape(tarbase).".tgz ".shellescape(fname))
|
call system(extractcmd." ".shellescape(tarball)." ".g:tar_secure.shellescape(fname))
|
||||||
if v:shell_error != 0
|
if v:shell_error != 0
|
||||||
call s:Msg('tar#Extract', 'error', $"{extractcmd} {tarbase}.tgz {fname}: failed!")
|
call s:Msg('tar#Extract', 'error', $"{extractcmd} {tarball} {fname}: failed!")
|
||||||
else
|
else
|
||||||
echo "***note*** successfully extracted ".fname
|
echo "***note*** successfully extracted ".fname
|
||||||
endif
|
endif
|
||||||
|
|
||||||
elseif filereadable(tarbase.".tar.gz")
|
elseif tarball =~# "\.tar\.gz$"
|
||||||
let extractcmd= substitute(extractcmd,"-","-z","")
|
let extractcmd= substitute(extractcmd,"-","-z","")
|
||||||
call system(extractcmd." ".shellescape(tarbase).".tar.gz ".shellescape(fname))
|
call system(extractcmd." ".shellescape(tarball)." ".g:tar_secure.shellescape(fname))
|
||||||
if v:shell_error != 0
|
if v:shell_error != 0
|
||||||
call s:Msg('tar#Extract', 'error', $"{extractcmd} {tarbase}.tar.gz {fname}: failed!")
|
call s:Msg('tar#Extract', 'error', $"{extractcmd} {tarball} {fname}: failed!")
|
||||||
else
|
else
|
||||||
echo "***note*** successfully extracted ".fname
|
echo "***note*** successfully extracted ".fname
|
||||||
endif
|
endif
|
||||||
|
|
||||||
elseif filereadable(tarbase.".tbz")
|
elseif tarball =~# "\.tbz$"
|
||||||
let extractcmd= substitute(extractcmd,"-","-j","")
|
let extractcmd= substitute(extractcmd,"-","-j","")
|
||||||
call system(extractcmd." ".shellescape(tarbase).".tbz ".shellescape(fname))
|
call system(extractcmd." ".shellescape(tarball)." ".g:tar_secure.shellescape(fname))
|
||||||
if v:shell_error != 0
|
if v:shell_error != 0
|
||||||
call s:Msg('tar#Extract', 'error', $"{extractcmd} {tarbase}.tbz {fname}: failed!")
|
call s:Msg('tar#Extract', 'error', $"{extractcmd} {tarball} {fname}: failed!")
|
||||||
else
|
else
|
||||||
echo "***note*** successfully extracted ".fname
|
echo "***note*** successfully extracted ".fname
|
||||||
endif
|
endif
|
||||||
|
|
||||||
elseif filereadable(tarbase.".tar.bz2")
|
elseif tarball =~# "\.tar\.bz2$"
|
||||||
let extractcmd= substitute(extractcmd,"-","-j","")
|
let extractcmd= substitute(extractcmd,"-","-j","")
|
||||||
call system(extractcmd." ".shellescape(tarbase).".tar.bz2 ".shellescape(fname))
|
call system(extractcmd." ".shellescape(tarball)." ".g:tar_secure.shellescape(fname))
|
||||||
if v:shell_error != 0
|
if v:shell_error != 0
|
||||||
call s:Msg('tar#Extract', 'error', $"{extractcmd} {tarbase}.tar.bz2 {fname}: failed!")
|
call s:Msg('tar#Extract', 'error', $"{extractcmd} {tarball} {fname}: failed!")
|
||||||
else
|
else
|
||||||
echo "***note*** successfully extracted ".fname
|
echo "***note*** successfully extracted ".fname
|
||||||
endif
|
endif
|
||||||
|
|
||||||
elseif filereadable(tarbase.".tar.bz3")
|
elseif tarball =~# "\.tar\.bz3$"
|
||||||
let extractcmd= substitute(extractcmd,"-","-j","")
|
let extractcmd= substitute(extractcmd,"-","-j","")
|
||||||
call system(extractcmd." ".shellescape(tarbase).".tar.bz3 ".shellescape(fname))
|
call system(extractcmd." ".shellescape(tarball)." ".g:tar_secure.shellescape(fname))
|
||||||
if v:shell_error != 0
|
if v:shell_error != 0
|
||||||
call s:Msg('tar#Extract', 'error', $"{extractcmd} {tarbase}.tar.bz3 {fname}: failed!")
|
call s:Msg('tar#Extract', 'error', $"{extractcmd} {tarball} {fname}: failed!")
|
||||||
else
|
else
|
||||||
echo "***note*** successfully extracted ".fname
|
echo "***note*** successfully extracted ".fname
|
||||||
endif
|
endif
|
||||||
|
|
||||||
elseif filereadable(tarbase.".txz")
|
elseif tarball =~# "\.txz$"
|
||||||
let extractcmd= substitute(extractcmd,"-","-J","")
|
let extractcmd= substitute(extractcmd,"-","-J","")
|
||||||
call system(extractcmd." ".shellescape(tarbase).".txz ".shellescape(fname))
|
call system(extractcmd." ".shellescape(tarball)." ".g:tar_secure.shellescape(fname))
|
||||||
if v:shell_error != 0
|
if v:shell_error != 0
|
||||||
call s:Msg('tar#Extract', 'error', $"{extractcmd} {tarbase}.txz {fname}: failed!")
|
call s:Msg('tar#Extract', 'error', $"{extractcmd} {tarball} {fname}: failed!")
|
||||||
else
|
else
|
||||||
echo "***note*** successfully extracted ".fname
|
echo "***note*** successfully extracted ".fname
|
||||||
endif
|
endif
|
||||||
|
|
||||||
elseif filereadable(tarbase.".tar.xz")
|
elseif tarball =~# "\.tar\.xz$"
|
||||||
let extractcmd= substitute(extractcmd,"-","-J","")
|
let extractcmd= substitute(extractcmd,"-","-J","")
|
||||||
call system(extractcmd." ".shellescape(tarbase).".tar.xz ".shellescape(fname))
|
call system(extractcmd." ".shellescape(tarball)." ".g:tar_secure.shellescape(fname))
|
||||||
if v:shell_error != 0
|
if v:shell_error != 0
|
||||||
call s:Msg('tar#Extract', 'error', $"{extractcmd} {tarbase}.tar.xz {fname}: failed!")
|
call s:Msg('tar#Extract', 'error', $"{extractcmd} {tarball} {fname}: failed!")
|
||||||
else
|
else
|
||||||
echo "***note*** successfully extracted ".fname
|
echo "***note*** successfully extracted ".fname
|
||||||
endif
|
endif
|
||||||
|
|
||||||
elseif filereadable(tarbase.".tzst")
|
elseif tarball =~# "\.tzst$"
|
||||||
let extractcmd= substitute(extractcmd,"-","--zstd","")
|
let extractcmd= substitute(extractcmd,"-","--zstd -","")
|
||||||
call system(extractcmd." ".shellescape(tarbase).".tzst ".shellescape(fname))
|
call system(extractcmd." ".shellescape(tarball)." ".g:tar_secure.shellescape(fname))
|
||||||
if v:shell_error != 0
|
if v:shell_error != 0
|
||||||
call s:Msg('tar#Extract', 'error', $"{extractcmd} {tarbase}.tzst {fname}: failed!")
|
call s:Msg('tar#Extract', 'error', $"{extractcmd} {tarball} {fname}: failed!")
|
||||||
else
|
else
|
||||||
echo "***note*** successfully extracted ".fname
|
echo "***note*** successfully extracted ".fname
|
||||||
endif
|
endif
|
||||||
|
|
||||||
elseif filereadable(tarbase.".tar.zst")
|
elseif tarball =~# "\.tar\.zst$"
|
||||||
let extractcmd= substitute(extractcmd,"-","--zstd","")
|
let extractcmd= substitute(extractcmd,"-","--zstd -","")
|
||||||
call system(extractcmd." ".shellescape(tarbase).".tar.zst ".shellescape(fname))
|
call system(extractcmd." ".shellescape(tarball)." ".g:tar_secure.shellescape(fname))
|
||||||
if v:shell_error != 0
|
if v:shell_error != 0
|
||||||
call s:Msg('tar#Extract', 'error', $"{extractcmd} {tarbase}.tar.zst {fname}: failed!")
|
call s:Msg('tar#Extract', 'error', $"{extractcmd} {tarball} {fname}: failed!")
|
||||||
else
|
else
|
||||||
echo "***note*** successfully extracted ".fname
|
echo "***note*** successfully extracted ".fname
|
||||||
endif
|
endif
|
||||||
|
|
||||||
elseif filereadable(tarbase.".tlz4")
|
elseif tarball =~# "\.tlz4$"
|
||||||
if has("linux")
|
if has("linux")
|
||||||
let extractcmd= substitute(extractcmd,"-","-I lz4 -","")
|
let extractcmd= substitute(extractcmd,"-","-I lz4 -","")
|
||||||
endif
|
endif
|
||||||
call system(extractcmd." ".shellescape(tarbase).".tlz4 ".shellescape(fname))
|
call system(extractcmd." ".shellescape(tarball)." ".g:tar_secure.shellescape(fname))
|
||||||
if v:shell_error != 0
|
if v:shell_error != 0
|
||||||
call s:Msg('tar#Extract', 'error', $"{extractcmd} {tarbase}.tlz4 {fname}: failed!")
|
call s:Msg('tar#Extract', 'error', $"{extractcmd} {tarball} {fname}: failed!")
|
||||||
else
|
else
|
||||||
echo "***note*** successfully extracted ".fname
|
echo "***note*** successfully extracted ".fname
|
||||||
endif
|
endif
|
||||||
|
|
||||||
elseif filereadable(tarbase.".tar.lz4")
|
elseif tarball =~# "\.tar\.lz4$"
|
||||||
if has("linux")
|
if has("linux")
|
||||||
let extractcmd= substitute(extractcmd,"-","-I lz4 -","")
|
let extractcmd= substitute(extractcmd,"-","-I lz4 -","")
|
||||||
endif
|
endif
|
||||||
call system(extractcmd." ".shellescape(tarbase).".tar.lz4 ".shellescape(fname))
|
call system(extractcmd." ".shellescape(tarball)." ".g:tar_secure.shellescape(fname))
|
||||||
if v:shell_error != 0
|
if v:shell_error != 0
|
||||||
call s:Msg('tar#Extract', 'error', $"{extractcmd} {tarbase}.tar.lz4 {fname}: failed!")
|
call s:Msg('tar#Extract', 'error', $"{extractcmd} {tarball} {fname}: failed!")
|
||||||
else
|
else
|
||||||
echo "***note*** successfully extracted ".fname
|
echo "***note*** successfully extracted ".fname
|
||||||
endif
|
endif
|
||||||
@@ -807,9 +833,9 @@ fun! tar#Vimuntar(...)
|
|||||||
" if necessary, decompress the tarball; then, extract it
|
" if necessary, decompress the tarball; then, extract it
|
||||||
if tartail =~ '\.tgz'
|
if tartail =~ '\.tgz'
|
||||||
if executable("gunzip")
|
if executable("gunzip")
|
||||||
silent exe "!gunzip ".shellescape(tartail)
|
silent exe "!gunzip ".shellescape(tartail, 1)
|
||||||
elseif executable("gzip")
|
elseif executable("gzip")
|
||||||
silent exe "!gzip -d ".shellescape(tartail)
|
silent exe "!gzip -d ".shellescape(tartail, 1)
|
||||||
else
|
else
|
||||||
echoerr "unable to decompress<".tartail."> on this system"
|
echoerr "unable to decompress<".tartail."> on this system"
|
||||||
if simplify(curdir) != simplify(tarhome)
|
if simplify(curdir) != simplify(tarhome)
|
||||||
|
|||||||
+734
-733
File diff suppressed because it is too large
Load Diff
@@ -2,9 +2,7 @@ vim9script
|
|||||||
|
|
||||||
# Language: Generic TeX typesetting engine
|
# Language: Generic TeX typesetting engine
|
||||||
# Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
# Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
||||||
# Latest Revision: 2026 Feb 19
|
# Latest Revision: 2026 May 20
|
||||||
# Last Change:
|
|
||||||
# 2026 Mar 30 by Vim project: Use fnameescape for the ProcessOutput command
|
|
||||||
|
|
||||||
# Constants and helpers {{{
|
# Constants and helpers {{{
|
||||||
const SLASH = !exists("+shellslash") || &shellslash ? '/' : '\'
|
const SLASH = !exists("+shellslash") || &shellslash ? '/' : '\'
|
||||||
@@ -62,7 +60,7 @@ def ProcessOutput(qfid: number, wd: string, efm: string, ch: channel, msg: strin
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
# Make sure the working directory is correct
|
# Make sure the working directory is correct
|
||||||
silent execute "lcd" .. fnameescape(wd)
|
silent execute "lcd" fnameescape(wd)
|
||||||
setqflist([], 'a', {'id': qfid, 'lines': [msg], 'efm': efm})
|
setqflist([], 'a', {'id': qfid, 'lines': [msg], 'efm': efm})
|
||||||
silent lcd -
|
silent lcd -
|
||||||
enddef
|
enddef
|
||||||
|
|||||||
@@ -1,12 +1,9 @@
|
|||||||
" vimball.vim : construct a file containing both paths and files
|
" vimball.vim : construct a file containing both paths and files
|
||||||
" Maintainer: This runtime file is looking for a new maintainer.
|
" Maintainer: This runtime file is looking for a new maintainer.
|
||||||
" Original Author: Charles E. Campbell
|
" Original Author: Charles E. Campbell
|
||||||
" Date: Apr 11, 2016
|
" Date: May 20, 2026
|
||||||
" Version: 37 (with modifications from the Vim Project)
|
" Version: 37 (with modifications from the Vim Project)
|
||||||
" GetLatestVimScripts: 1502 1 :AutoInstall: vimball.vim
|
" GetLatestVimScripts: 1502 1 :AutoInstall: vimball.vim
|
||||||
" Last Change:
|
|
||||||
" 2025 Feb 28 by Vim Project: add support for bzip3 (#16755)
|
|
||||||
" 2026 Apr 05 by Vim Project: Detect Path Traversal Attacks
|
|
||||||
" Copyright: (c) 2004-2011 by Charles E. Campbell
|
" Copyright: (c) 2004-2011 by Charles E. Campbell
|
||||||
" The VIM LICENSE applies to Vimball.vim, and Vimball.txt
|
" The VIM LICENSE applies to Vimball.vim, and Vimball.txt
|
||||||
" (see |copyright|) except use "Vimball" instead of "Vim".
|
" (see |copyright|) except use "Vimball" instead of "Vim".
|
||||||
@@ -229,12 +226,25 @@ fun! vimball#Vimball(really,...)
|
|||||||
let fsize = substitute(getline(linenr+1),'^\(\d\+\).\{-}$','\1','')+0
|
let fsize = substitute(getline(linenr+1),'^\(\d\+\).\{-}$','\1','')+0
|
||||||
let fenc = substitute(getline(linenr+1),'^\d\+\s*\(\S\{-}\)$','\1','')
|
let fenc = substitute(getline(linenr+1),'^\d\+\s*\(\S\{-}\)$','\1','')
|
||||||
let filecnt = filecnt + 1
|
let filecnt = filecnt + 1
|
||||||
if fname =~ '\.\.'
|
" Do not allow a leading /, .. anywhere, or a Windows drive letter
|
||||||
|
" (e.g. C:/foo) in the file name. Backslashes were already converted
|
||||||
|
" to forward slashes above, so this also catches \\server\share UNC
|
||||||
|
" paths via the leading-slash check.
|
||||||
|
if fname =~ '\.\.' || fname =~ '^/' || fname =~ '^\a:'
|
||||||
echomsg "(Vimball) Path Traversal Attack detected, aborting..."
|
echomsg "(Vimball) Path Traversal Attack detected, aborting..."
|
||||||
exe "tabn ".curtabnr
|
exe "tabn ".curtabnr
|
||||||
bw! Vimball
|
bw! Vimball
|
||||||
call s:ChgDir(curdir)
|
call s:ChgDir(curdir)
|
||||||
return
|
return
|
||||||
|
" Also, disallow strange paths, that could lead to code execution from
|
||||||
|
" .VimballRecord
|
||||||
|
" Disallow: pipe, quotes and closing paren
|
||||||
|
elseif fname =~ '[|'')"]'
|
||||||
|
echomsg printf("(Vimball) Forbidding strange filename: '%s', aborting...", fname)
|
||||||
|
exe "tabn ".curtabnr
|
||||||
|
bw! Vimball
|
||||||
|
call s:ChgDir(curdir)
|
||||||
|
return
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if a:really
|
if a:really
|
||||||
@@ -293,7 +303,7 @@ fun! vimball#Vimball(really,...)
|
|||||||
exe "silent w! ".fnameescape(fnamepath)
|
exe "silent w! ".fnameescape(fnamepath)
|
||||||
endif
|
endif
|
||||||
echo "wrote ".fnameescape(fnamepath)
|
echo "wrote ".fnameescape(fnamepath)
|
||||||
call s:RecordInVar(home,"call delete('".fnamepath."')")
|
call s:RecordInVar(home,"call delete('".escape(fnamepath, '"''|')."')")
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" return to tab with vimball
|
" return to tab with vimball
|
||||||
@@ -416,7 +426,7 @@ fun! vimball#Decompress(fname,...)
|
|||||||
" decompression:
|
" decompression:
|
||||||
if expand("%") =~ '.*\.gz' && executable("gunzip")
|
if expand("%") =~ '.*\.gz' && executable("gunzip")
|
||||||
" handle *.gz with gunzip
|
" handle *.gz with gunzip
|
||||||
silent exe "!gunzip ".shellescape(a:fname)
|
silent exe "!gunzip ".shellescape(a:fname,1)
|
||||||
if v:shell_error != 0
|
if v:shell_error != 0
|
||||||
call vimball#ShowMesg(s:WARNING,"(vimball#Decompress) gunzip may have failed with <".a:fname.">")
|
call vimball#ShowMesg(s:WARNING,"(vimball#Decompress) gunzip may have failed with <".a:fname.">")
|
||||||
endif
|
endif
|
||||||
@@ -426,7 +436,7 @@ fun! vimball#Decompress(fname,...)
|
|||||||
|
|
||||||
elseif expand("%") =~ '.*\.gz' && executable("gzip")
|
elseif expand("%") =~ '.*\.gz' && executable("gzip")
|
||||||
" handle *.gz with gzip -d
|
" handle *.gz with gzip -d
|
||||||
silent exe "!gzip -d ".shellescape(a:fname)
|
silent exe "!gzip -d ".shellescape(a:fname,1)
|
||||||
if v:shell_error != 0
|
if v:shell_error != 0
|
||||||
call vimball#ShowMesg(s:WARNING,'(vimball#Decompress) "gzip -d" may have failed with <'.a:fname.">")
|
call vimball#ShowMesg(s:WARNING,'(vimball#Decompress) "gzip -d" may have failed with <'.a:fname.">")
|
||||||
endif
|
endif
|
||||||
@@ -436,7 +446,7 @@ fun! vimball#Decompress(fname,...)
|
|||||||
|
|
||||||
elseif expand("%") =~ '.*\.bz2' && executable("bunzip2")
|
elseif expand("%") =~ '.*\.bz2' && executable("bunzip2")
|
||||||
" handle *.bz2 with bunzip2
|
" handle *.bz2 with bunzip2
|
||||||
silent exe "!bunzip2 ".shellescape(a:fname)
|
silent exe "!bunzip2 ".shellescape(a:fname,1)
|
||||||
if v:shell_error != 0
|
if v:shell_error != 0
|
||||||
call vimball#ShowMesg(s:WARNING,"(vimball#Decompress) bunzip2 may have failed with <".a:fname.">")
|
call vimball#ShowMesg(s:WARNING,"(vimball#Decompress) bunzip2 may have failed with <".a:fname.">")
|
||||||
endif
|
endif
|
||||||
@@ -446,7 +456,7 @@ fun! vimball#Decompress(fname,...)
|
|||||||
|
|
||||||
elseif expand("%") =~ '.*\.bz2' && executable("bzip2")
|
elseif expand("%") =~ '.*\.bz2' && executable("bzip2")
|
||||||
" handle *.bz2 with bzip2 -d
|
" handle *.bz2 with bzip2 -d
|
||||||
silent exe "!bzip2 -d ".shellescape(a:fname)
|
silent exe "!bzip2 -d ".shellescape(a:fname,1)
|
||||||
if v:shell_error != 0
|
if v:shell_error != 0
|
||||||
call vimball#ShowMesg(s:WARNING,'(vimball#Decompress) "bzip2 -d" may have failed with <'.a:fname.">")
|
call vimball#ShowMesg(s:WARNING,'(vimball#Decompress) "bzip2 -d" may have failed with <'.a:fname.">")
|
||||||
endif
|
endif
|
||||||
@@ -456,7 +466,7 @@ fun! vimball#Decompress(fname,...)
|
|||||||
|
|
||||||
elseif expand("%") =~ '.*\.bz3' && executable("bunzip3")
|
elseif expand("%") =~ '.*\.bz3' && executable("bunzip3")
|
||||||
" handle *.bz3 with bunzip3
|
" handle *.bz3 with bunzip3
|
||||||
silent exe "!bunzip3 ".shellescape(a:fname)
|
silent exe "!bunzip3 ".shellescape(a:fname,1)
|
||||||
if v:shell_error != 0
|
if v:shell_error != 0
|
||||||
call vimball#ShowMesg(s:WARNING,"(vimball#Decompress) bunzip3 may have failed with <".a:fname.">")
|
call vimball#ShowMesg(s:WARNING,"(vimball#Decompress) bunzip3 may have failed with <".a:fname.">")
|
||||||
endif
|
endif
|
||||||
@@ -466,7 +476,7 @@ fun! vimball#Decompress(fname,...)
|
|||||||
|
|
||||||
elseif expand("%") =~ '.*\.bz3' && executable("bzip3")
|
elseif expand("%") =~ '.*\.bz3' && executable("bzip3")
|
||||||
" handle *.bz3 with bzip3 -d
|
" handle *.bz3 with bzip3 -d
|
||||||
silent exe "!bzip3 -d ".shellescape(a:fname)
|
silent exe "!bzip3 -d ".shellescape(a:fname,1)
|
||||||
if v:shell_error != 0
|
if v:shell_error != 0
|
||||||
call vimball#ShowMesg(s:WARNING,'(vimball#Decompress) "bzip3 -d" may have failed with <'.a:fname.">")
|
call vimball#ShowMesg(s:WARNING,'(vimball#Decompress) "bzip3 -d" may have failed with <'.a:fname.">")
|
||||||
endif
|
endif
|
||||||
@@ -476,7 +486,7 @@ fun! vimball#Decompress(fname,...)
|
|||||||
|
|
||||||
elseif expand("%") =~ '.*\.zip' && executable("unzip")
|
elseif expand("%") =~ '.*\.zip' && executable("unzip")
|
||||||
" handle *.zip with unzip
|
" handle *.zip with unzip
|
||||||
silent exe "!unzip ".shellescape(a:fname)
|
silent exe "!unzip ".shellescape(a:fname,1)
|
||||||
if v:shell_error != 0
|
if v:shell_error != 0
|
||||||
call vimball#ShowMesg(s:WARNING,"(vimball#Decompress) unzip may have failed with <".a:fname.">")
|
call vimball#ShowMesg(s:WARNING,"(vimball#Decompress) unzip may have failed with <".a:fname.">")
|
||||||
endif
|
endif
|
||||||
|
|||||||
@@ -22,6 +22,8 @@
|
|||||||
" 2026 Mar 08 by Vim Project: Make ZipUpdatePS() check for powershell
|
" 2026 Mar 08 by Vim Project: Make ZipUpdatePS() check for powershell
|
||||||
" 2026 Apr 01 by Vim Project: Detect more path traversal attacks
|
" 2026 Apr 01 by Vim Project: Detect more path traversal attacks
|
||||||
" 2026 Apr 05 by Vim Project: Detect more path traversal attacks
|
" 2026 Apr 05 by Vim Project: Detect more path traversal attacks
|
||||||
|
" 2026 Apr 14 by Vim Project: Detect more path traversal attacks on Windows
|
||||||
|
" 2026 Apr 15 by Vim Project: Detect more path traversal attacks on Windows
|
||||||
" License: Vim License (see vim's :help license)
|
" License: Vim License (see vim's :help license)
|
||||||
" Copyright: Copyright (C) 2005-2019 Charles E. Campbell {{{1
|
" Copyright: Copyright (C) 2005-2019 Charles E. Campbell {{{1
|
||||||
" Permission is hereby granted to use and distribute this code,
|
" Permission is hereby granted to use and distribute this code,
|
||||||
@@ -405,7 +407,12 @@ fun! zip#Write(fname)
|
|||||||
else
|
else
|
||||||
let zipfile = substitute(a:fname,'^.\{-}zipfile://\(.\{-}\)::[^\\].*$','\1','')
|
let zipfile = substitute(a:fname,'^.\{-}zipfile://\(.\{-}\)::[^\\].*$','\1','')
|
||||||
let fname = substitute(a:fname,'^.\{-}zipfile://.\{-}::\([^\\].*\)$','\1','')
|
let fname = substitute(a:fname,'^.\{-}zipfile://.\{-}::\([^\\].*\)$','\1','')
|
||||||
" TODO: what to check on MS-Windows to avoid writing absolute paths?
|
" fname should not start with drive letter, UNC path, or leading slash
|
||||||
|
if fname =~ '^\%(\a:[\\/]\|[\\/]\)'
|
||||||
|
call s:Mess('Error', "***error*** (zip#Write) Path Traversal Attack detected, not writing!")
|
||||||
|
call s:ChgDir(curdir,s:WARNING,"(zip#Write) unable to return to ".curdir."!")
|
||||||
|
return
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
if fname =~ '^[.]\{1,2}/'
|
if fname =~ '^[.]\{1,2}/'
|
||||||
let gnu_cmd = g:zip_zipcmd . ' -d ' . s:Escape(fnamemodify(zipfile,":p"),0) . ' ' . s:Escape(fname,0)
|
let gnu_cmd = g:zip_zipcmd . ' -d ' . s:Escape(fnamemodify(zipfile,":p"),0) . ' ' . s:Escape(fname,0)
|
||||||
@@ -499,6 +506,18 @@ fun! zip#Extract()
|
|||||||
call s:Mess('Error', "***error*** (zip#Browse) Path Traversal Attack detected, not extracting!")
|
call s:Mess('Error', "***error*** (zip#Browse) Path Traversal Attack detected, not extracting!")
|
||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
|
" block absolute paths
|
||||||
|
if has("unix")
|
||||||
|
if fname =~ '^/'
|
||||||
|
call s:Mess('Error', "***error*** (zip#Extract) Path Traversal Attack detected, not extracting!")
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
if fname =~ '^\%(\a:[\\/]\|[\\/]\)'
|
||||||
|
call s:Mess('Error', "***error*** (zip#Extract) Path Traversal Attack detected, not extracting!")
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
endif
|
||||||
if filereadable(fname)
|
if filereadable(fname)
|
||||||
call s:Mess('Error', "***error*** (zip#Extract) <" .. fname .."> already exists in directory, not overwriting!")
|
call s:Mess('Error', "***error*** (zip#Extract) <" .. fname .."> already exists in directory, not overwriting!")
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -4,9 +4,9 @@
|
|||||||
" Maintainer: Original maintainer Steven Vertigan <steven@vertigan.wattle.id.au>
|
" Maintainer: Original maintainer Steven Vertigan <steven@vertigan.wattle.id.au>
|
||||||
" URL: https://github.com/vim/colorschemes
|
" URL: https://github.com/vim/colorschemes
|
||||||
" License: Same as Vim
|
" License: Same as Vim
|
||||||
" Last Change: 2025 Oct 14
|
" Last Change: 2026 Apr 24
|
||||||
|
|
||||||
" Generated by Colortemplate v3.0.0-beta10
|
" Generated by Colortemplate v3.0.0-rc1
|
||||||
|
|
||||||
set background=dark
|
set background=dark
|
||||||
|
|
||||||
@@ -124,7 +124,8 @@ hi ToolbarButton guifg=#ffffff guibg=#005faf guisp=NONE gui=NONE ctermfg=231 cte
|
|||||||
hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
|
hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
|
||||||
hi Type guifg=#ffa500 guibg=NONE guisp=NONE gui=bold ctermfg=214 ctermbg=NONE cterm=NONE term=NONE
|
hi Type guifg=#ffa500 guibg=NONE guisp=NONE gui=bold ctermfg=214 ctermbg=NONE cterm=NONE term=NONE
|
||||||
hi Underlined guifg=NONE guibg=NONE guisp=NONE gui=underline ctermfg=NONE ctermbg=NONE cterm=underline term=underline
|
hi Underlined guifg=NONE guibg=NONE guisp=NONE gui=underline ctermfg=NONE ctermbg=NONE cterm=underline term=underline
|
||||||
hi VertSplit guifg=#008787 guibg=NONE guisp=NONE gui=NONE ctermfg=30 ctermbg=NONE cterm=NONE term=NONE
|
hi VertSplit guifg=#5fffff guibg=NONE guisp=NONE gui=NONE ctermfg=87 ctermbg=NONE cterm=NONE term=NONE
|
||||||
|
hi VertSplitNC guifg=#008787 guibg=NONE guisp=NONE gui=NONE ctermfg=30 ctermbg=NONE cterm=NONE term=NONE
|
||||||
hi Visual guifg=#ffffff guibg=#008787 guisp=NONE gui=NONE ctermfg=231 ctermbg=30 cterm=NONE term=reverse
|
hi Visual guifg=#ffffff guibg=#008787 guisp=NONE gui=NONE ctermfg=231 ctermbg=30 cterm=NONE term=reverse
|
||||||
hi VisualNOS guifg=#008787 guibg=#ffffff guisp=NONE gui=NONE ctermfg=30 ctermbg=231 cterm=NONE term=NONE
|
hi VisualNOS guifg=#008787 guibg=#ffffff guisp=NONE gui=NONE ctermfg=30 ctermbg=231 cterm=NONE term=NONE
|
||||||
hi WarningMsg guifg=#d787d7 guibg=NONE guisp=NONE gui=NONE ctermfg=176 ctermbg=NONE cterm=NONE term=standout
|
hi WarningMsg guifg=#d787d7 guibg=NONE guisp=NONE gui=NONE ctermfg=176 ctermbg=NONE cterm=NONE term=standout
|
||||||
@@ -197,7 +198,8 @@ if s:t_Co >= 16
|
|||||||
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
|
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||||
hi Type ctermfg=darkyellow ctermbg=NONE cterm=NONE
|
hi Type ctermfg=darkyellow ctermbg=NONE cterm=NONE
|
||||||
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
|
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
|
||||||
hi VertSplit ctermfg=darkcyan ctermbg=NONE cterm=NONE
|
hi VertSplit ctermfg=cyan ctermbg=NONE cterm=NONE
|
||||||
|
hi VertSplitNC ctermfg=darkcyan ctermbg=NONE cterm=NONE
|
||||||
hi Visual ctermfg=white ctermbg=darkcyan cterm=NONE
|
hi Visual ctermfg=white ctermbg=darkcyan cterm=NONE
|
||||||
hi VisualNOS ctermfg=darkcyan ctermbg=white cterm=NONE
|
hi VisualNOS ctermfg=darkcyan ctermbg=white cterm=NONE
|
||||||
hi WarningMsg ctermfg=magenta ctermbg=NONE cterm=NONE
|
hi WarningMsg ctermfg=magenta ctermbg=NONE cterm=NONE
|
||||||
@@ -268,6 +270,7 @@ if s:t_Co >= 8
|
|||||||
hi Type ctermfg=red ctermbg=NONE cterm=NONE
|
hi Type ctermfg=red ctermbg=NONE cterm=NONE
|
||||||
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
|
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
|
||||||
hi VertSplit ctermfg=cyan ctermbg=NONE cterm=NONE
|
hi VertSplit ctermfg=cyan ctermbg=NONE cterm=NONE
|
||||||
|
hi VertSplitNC ctermfg=darkcyan ctermbg=NONE cterm=NONE
|
||||||
hi Visual ctermfg=black ctermbg=cyan cterm=NONE
|
hi Visual ctermfg=black ctermbg=cyan cterm=NONE
|
||||||
hi VisualNOS ctermfg=cyan ctermbg=gray cterm=NONE
|
hi VisualNOS ctermfg=cyan ctermbg=gray cterm=NONE
|
||||||
hi WarningMsg ctermfg=red ctermbg=NONE cterm=NONE
|
hi WarningMsg ctermfg=red ctermbg=NONE cterm=NONE
|
||||||
|
|||||||
@@ -2,10 +2,10 @@
|
|||||||
" Description: Soothing pastel theme for the high-spirited!
|
" Description: Soothing pastel theme for the high-spirited!
|
||||||
" Author: The Catppuccin Community <catppuccin.com>
|
" Author: The Catppuccin Community <catppuccin.com>
|
||||||
" Maintainer: Mao-Yining <mao.yining@outlook.com>
|
" Maintainer: Mao-Yining <mao.yining@outlook.com>
|
||||||
" URL: https://www.github.com/vim/colorschemes
|
" URL: https://github.com/vim/colorschemes
|
||||||
" Last Change: 2026 Jan 31
|
" Last Change: 2026 May 04
|
||||||
|
|
||||||
" Generated by Colortemplate v3.0.0-beta10
|
" Generated by Colortemplate v3.0.0-rc1
|
||||||
|
|
||||||
hi clear
|
hi clear
|
||||||
let g:colors_name = 'catppuccin'
|
let g:colors_name = 'catppuccin'
|
||||||
@@ -80,7 +80,7 @@ if &background == 'dark'
|
|||||||
hi PmenuExtra guifg=#6c7086 guibg=#181825 guisp=NONE gui=NONE ctermfg=59 ctermbg=232 cterm=NONE term=NONE
|
hi PmenuExtra guifg=#6c7086 guibg=#181825 guisp=NONE gui=NONE ctermfg=59 ctermbg=232 cterm=NONE term=NONE
|
||||||
hi PmenuExtraSel guifg=#6c7086 guibg=#313244 guisp=NONE gui=bold ctermfg=59 ctermbg=236 cterm=bold term=bold
|
hi PmenuExtraSel guifg=#6c7086 guibg=#313244 guisp=NONE gui=bold ctermfg=59 ctermbg=236 cterm=bold term=bold
|
||||||
hi PmenuMatch guifg=#cdd6f4 guibg=NONE guisp=NONE gui=bold ctermfg=189 ctermbg=NONE cterm=bold term=bold
|
hi PmenuMatch guifg=#cdd6f4 guibg=NONE guisp=NONE gui=bold ctermfg=189 ctermbg=NONE cterm=bold term=bold
|
||||||
hi PmenuMatchSel guifg=NONE guibg=NONE guisp=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=bold term=bold
|
hi PmenuMatchSel guifg=#cdd6f4 guibg=NONE guisp=NONE gui=bold ctermfg=189 ctermbg=NONE cterm=bold term=bold
|
||||||
hi PmenuSbar guifg=NONE guibg=#313244 guisp=NONE gui=NONE ctermfg=NONE ctermbg=236 cterm=NONE term=reverse
|
hi PmenuSbar guifg=NONE guibg=#313244 guisp=NONE gui=NONE ctermfg=NONE ctermbg=236 cterm=NONE term=reverse
|
||||||
hi PmenuSel guifg=NONE guibg=#313244 guisp=NONE gui=bold ctermfg=NONE ctermbg=236 cterm=bold term=bold
|
hi PmenuSel guifg=NONE guibg=#313244 guisp=NONE gui=bold ctermfg=NONE ctermbg=236 cterm=bold term=bold
|
||||||
hi PmenuThumb guifg=NONE guibg=#6c7086 guisp=NONE gui=NONE ctermfg=NONE ctermbg=59 cterm=NONE term=NONE
|
hi PmenuThumb guifg=NONE guibg=#6c7086 guisp=NONE gui=NONE ctermfg=NONE ctermbg=59 cterm=NONE term=NONE
|
||||||
@@ -98,8 +98,8 @@ if &background == 'dark'
|
|||||||
hi SpellLocal guifg=NONE guibg=NONE guisp=#89b4fa gui=undercurl ctermfg=111 ctermbg=NONE cterm=underline term=underline
|
hi SpellLocal guifg=NONE guibg=NONE guisp=#89b4fa gui=undercurl ctermfg=111 ctermbg=NONE cterm=underline term=underline
|
||||||
hi SpellRare guifg=NONE guibg=NONE guisp=#a6e3a1 gui=undercurl ctermfg=114 ctermbg=NONE cterm=underline term=underline
|
hi SpellRare guifg=NONE guibg=NONE guisp=#a6e3a1 gui=undercurl ctermfg=114 ctermbg=NONE cterm=underline term=underline
|
||||||
hi Statement guifg=#cba6f7 guibg=NONE guisp=NONE gui=NONE ctermfg=183 ctermbg=NONE cterm=NONE term=NONE
|
hi Statement guifg=#cba6f7 guibg=NONE guisp=NONE gui=NONE ctermfg=183 ctermbg=NONE cterm=NONE term=NONE
|
||||||
hi StatusLine guifg=#cdd6f4 guibg=#11111b guisp=NONE gui=NONE ctermfg=189 ctermbg=16 cterm=NONE term=bold,reverse
|
hi StatusLine guifg=#cdd6f4 guibg=#11111b guisp=NONE gui=bold ctermfg=189 ctermbg=16 cterm=bold term=bold,reverse
|
||||||
hi StatusLineNC guifg=#45475a guibg=#181825 guisp=NONE gui=NONE ctermfg=240 ctermbg=232 cterm=NONE term=bold,underline
|
hi StatusLineNC guifg=#6c7086 guibg=#181825 guisp=NONE gui=NONE ctermfg=59 ctermbg=232 cterm=NONE term=bold,underline
|
||||||
hi StorageClass guifg=#f9e2af guibg=NONE guisp=NONE gui=NONE ctermfg=222 ctermbg=NONE cterm=NONE term=NONE
|
hi StorageClass guifg=#f9e2af guibg=NONE guisp=NONE gui=NONE ctermfg=222 ctermbg=NONE cterm=NONE term=NONE
|
||||||
hi String guifg=#a6e3a1 guibg=NONE guisp=NONE gui=NONE ctermfg=114 ctermbg=NONE cterm=NONE term=NONE
|
hi String guifg=#a6e3a1 guibg=NONE guisp=NONE gui=NONE ctermfg=114 ctermbg=NONE cterm=NONE term=NONE
|
||||||
hi Structure guifg=#f9e2af guibg=NONE guisp=NONE gui=NONE ctermfg=222 ctermbg=NONE cterm=NONE term=NONE
|
hi Structure guifg=#f9e2af guibg=NONE guisp=NONE gui=NONE ctermfg=222 ctermbg=NONE cterm=NONE term=NONE
|
||||||
@@ -207,8 +207,8 @@ if &background == 'dark'
|
|||||||
hi PmenuExtra ctermfg=Grey ctermbg=DarkGrey cterm=NONE
|
hi PmenuExtra ctermfg=Grey ctermbg=DarkGrey cterm=NONE
|
||||||
hi PmenuExtraSel ctermfg=Grey ctermbg=DarkYellow cterm=bold
|
hi PmenuExtraSel ctermfg=Grey ctermbg=DarkYellow cterm=bold
|
||||||
hi PmenuMatch ctermfg=White ctermbg=NONE cterm=bold
|
hi PmenuMatch ctermfg=White ctermbg=NONE cterm=bold
|
||||||
hi PmenuMatchSel ctermfg=NONE ctermbg=NONE cterm=bold
|
hi PmenuMatchSel ctermfg=White ctermbg=NONE cterm=bold
|
||||||
hi PmenuSbar ctermfg=NONE ctermbg=DarkYellow cterm=NONE
|
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||||
hi PmenuSel ctermfg=NONE ctermbg=DarkYellow cterm=bold
|
hi PmenuSel ctermfg=NONE ctermbg=DarkYellow cterm=bold
|
||||||
hi PmenuThumb ctermfg=NONE ctermbg=Grey cterm=NONE
|
hi PmenuThumb ctermfg=NONE ctermbg=Grey cterm=NONE
|
||||||
hi PreInsert ctermfg=Grey ctermbg=NONE cterm=NONE
|
hi PreInsert ctermfg=Grey ctermbg=NONE cterm=NONE
|
||||||
@@ -328,8 +328,8 @@ if &background == 'dark'
|
|||||||
hi PmenuExtra ctermfg=Grey ctermbg=DarkGrey cterm=NONE
|
hi PmenuExtra ctermfg=Grey ctermbg=DarkGrey cterm=NONE
|
||||||
hi PmenuExtraSel ctermfg=Grey ctermbg=DarkYellow cterm=bold
|
hi PmenuExtraSel ctermfg=Grey ctermbg=DarkYellow cterm=bold
|
||||||
hi PmenuMatch ctermfg=White ctermbg=NONE cterm=bold
|
hi PmenuMatch ctermfg=White ctermbg=NONE cterm=bold
|
||||||
hi PmenuMatchSel ctermfg=NONE ctermbg=NONE cterm=bold
|
hi PmenuMatchSel ctermfg=White ctermbg=NONE cterm=bold
|
||||||
hi PmenuSbar ctermfg=NONE ctermbg=DarkYellow cterm=NONE
|
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||||
hi PmenuSel ctermfg=NONE ctermbg=DarkYellow cterm=bold
|
hi PmenuSel ctermfg=NONE ctermbg=DarkYellow cterm=bold
|
||||||
hi PmenuThumb ctermfg=NONE ctermbg=Grey cterm=NONE
|
hi PmenuThumb ctermfg=NONE ctermbg=Grey cterm=NONE
|
||||||
hi PreInsert ctermfg=Grey ctermbg=NONE cterm=NONE
|
hi PreInsert ctermfg=Grey ctermbg=NONE cterm=NONE
|
||||||
@@ -466,7 +466,7 @@ if &background == 'light'
|
|||||||
hi PmenuExtra guifg=#9ca0b0 guibg=#e6e9ef guisp=NONE gui=NONE ctermfg=247 ctermbg=255 cterm=NONE term=NONE
|
hi PmenuExtra guifg=#9ca0b0 guibg=#e6e9ef guisp=NONE gui=NONE ctermfg=247 ctermbg=255 cterm=NONE term=NONE
|
||||||
hi PmenuExtraSel guifg=#9ca0b0 guibg=#ccd0da guisp=NONE gui=bold ctermfg=247 ctermbg=253 cterm=bold term=bold
|
hi PmenuExtraSel guifg=#9ca0b0 guibg=#ccd0da guisp=NONE gui=bold ctermfg=247 ctermbg=253 cterm=bold term=bold
|
||||||
hi PmenuMatch guifg=#4c4f69 guibg=NONE guisp=NONE gui=bold ctermfg=236 ctermbg=NONE cterm=bold term=bold
|
hi PmenuMatch guifg=#4c4f69 guibg=NONE guisp=NONE gui=bold ctermfg=236 ctermbg=NONE cterm=bold term=bold
|
||||||
hi PmenuMatchSel guifg=NONE guibg=NONE guisp=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=bold term=bold
|
hi PmenuMatchSel guifg=#4c4f69 guibg=NONE guisp=NONE gui=bold ctermfg=236 ctermbg=NONE cterm=bold term=bold
|
||||||
hi PmenuSbar guifg=NONE guibg=#ccd0da guisp=NONE gui=NONE ctermfg=NONE ctermbg=253 cterm=NONE term=reverse
|
hi PmenuSbar guifg=NONE guibg=#ccd0da guisp=NONE gui=NONE ctermfg=NONE ctermbg=253 cterm=NONE term=reverse
|
||||||
hi PmenuSel guifg=NONE guibg=#ccd0da guisp=NONE gui=bold ctermfg=NONE ctermbg=253 cterm=bold term=bold
|
hi PmenuSel guifg=NONE guibg=#ccd0da guisp=NONE gui=bold ctermfg=NONE ctermbg=253 cterm=bold term=bold
|
||||||
hi PmenuThumb guifg=NONE guibg=#9ca0b0 guisp=NONE gui=NONE ctermfg=NONE ctermbg=247 cterm=NONE term=NONE
|
hi PmenuThumb guifg=NONE guibg=#9ca0b0 guisp=NONE gui=NONE ctermfg=NONE ctermbg=247 cterm=NONE term=NONE
|
||||||
@@ -484,8 +484,8 @@ if &background == 'light'
|
|||||||
hi SpellLocal guifg=NONE guibg=NONE guisp=#1e66f5 gui=undercurl ctermfg=27 ctermbg=NONE cterm=underline term=underline
|
hi SpellLocal guifg=NONE guibg=NONE guisp=#1e66f5 gui=undercurl ctermfg=27 ctermbg=NONE cterm=underline term=underline
|
||||||
hi SpellRare guifg=NONE guibg=NONE guisp=#40a02b gui=undercurl ctermfg=34 ctermbg=NONE cterm=underline term=underline
|
hi SpellRare guifg=NONE guibg=NONE guisp=#40a02b gui=undercurl ctermfg=34 ctermbg=NONE cterm=underline term=underline
|
||||||
hi Statement guifg=#8839ef guibg=NONE guisp=NONE gui=NONE ctermfg=93 ctermbg=NONE cterm=NONE term=NONE
|
hi Statement guifg=#8839ef guibg=NONE guisp=NONE gui=NONE ctermfg=93 ctermbg=NONE cterm=NONE term=NONE
|
||||||
hi StatusLine guifg=#4c4f69 guibg=#dce0e8 guisp=NONE gui=NONE ctermfg=236 ctermbg=254 cterm=NONE term=bold,reverse
|
hi StatusLine guifg=#4c4f69 guibg=#dce0e8 guisp=NONE gui=bold ctermfg=236 ctermbg=254 cterm=bold term=bold,reverse
|
||||||
hi StatusLineNC guifg=#bcc0cc guibg=#e6e9ef guisp=NONE gui=NONE ctermfg=250 ctermbg=255 cterm=NONE term=bold,underline
|
hi StatusLineNC guifg=#9ca0b0 guibg=#e6e9ef guisp=NONE gui=NONE ctermfg=247 ctermbg=255 cterm=NONE term=bold,underline
|
||||||
hi StorageClass guifg=#df8e1d guibg=NONE guisp=NONE gui=NONE ctermfg=172 ctermbg=NONE cterm=NONE term=NONE
|
hi StorageClass guifg=#df8e1d guibg=NONE guisp=NONE gui=NONE ctermfg=172 ctermbg=NONE cterm=NONE term=NONE
|
||||||
hi String guifg=#40a02b guibg=NONE guisp=NONE gui=NONE ctermfg=34 ctermbg=NONE cterm=NONE term=NONE
|
hi String guifg=#40a02b guibg=NONE guisp=NONE gui=NONE ctermfg=34 ctermbg=NONE cterm=NONE term=NONE
|
||||||
hi Structure guifg=#df8e1d guibg=NONE guisp=NONE gui=NONE ctermfg=172 ctermbg=NONE cterm=NONE term=NONE
|
hi Structure guifg=#df8e1d guibg=NONE guisp=NONE gui=NONE ctermfg=172 ctermbg=NONE cterm=NONE term=NONE
|
||||||
@@ -593,8 +593,8 @@ if &background == 'light'
|
|||||||
hi PmenuExtra ctermfg=DarkGrey ctermbg=Grey cterm=NONE
|
hi PmenuExtra ctermfg=DarkGrey ctermbg=Grey cterm=NONE
|
||||||
hi PmenuExtraSel ctermfg=DarkGrey ctermbg=Grey cterm=bold
|
hi PmenuExtraSel ctermfg=DarkGrey ctermbg=Grey cterm=bold
|
||||||
hi PmenuMatch ctermfg=Black ctermbg=NONE cterm=bold
|
hi PmenuMatch ctermfg=Black ctermbg=NONE cterm=bold
|
||||||
hi PmenuMatchSel ctermfg=NONE ctermbg=NONE cterm=bold
|
hi PmenuMatchSel ctermfg=Black ctermbg=NONE cterm=bold
|
||||||
hi PmenuSbar ctermfg=NONE ctermbg=Grey cterm=NONE
|
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||||
hi PmenuSel ctermfg=NONE ctermbg=Grey cterm=bold
|
hi PmenuSel ctermfg=NONE ctermbg=Grey cterm=bold
|
||||||
hi PmenuThumb ctermfg=NONE ctermbg=DarkGrey cterm=NONE
|
hi PmenuThumb ctermfg=NONE ctermbg=DarkGrey cterm=NONE
|
||||||
hi PreInsert ctermfg=Black ctermbg=NONE cterm=NONE
|
hi PreInsert ctermfg=Black ctermbg=NONE cterm=NONE
|
||||||
@@ -714,8 +714,8 @@ if &background == 'light'
|
|||||||
hi PmenuExtra ctermfg=DarkGrey ctermbg=Grey cterm=NONE
|
hi PmenuExtra ctermfg=DarkGrey ctermbg=Grey cterm=NONE
|
||||||
hi PmenuExtraSel ctermfg=DarkGrey ctermbg=Grey cterm=bold
|
hi PmenuExtraSel ctermfg=DarkGrey ctermbg=Grey cterm=bold
|
||||||
hi PmenuMatch ctermfg=Black ctermbg=NONE cterm=bold
|
hi PmenuMatch ctermfg=Black ctermbg=NONE cterm=bold
|
||||||
hi PmenuMatchSel ctermfg=NONE ctermbg=NONE cterm=bold
|
hi PmenuMatchSel ctermfg=Black ctermbg=NONE cterm=bold
|
||||||
hi PmenuSbar ctermfg=NONE ctermbg=Grey cterm=NONE
|
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||||
hi PmenuSel ctermfg=NONE ctermbg=Grey cterm=bold
|
hi PmenuSel ctermfg=NONE ctermbg=Grey cterm=bold
|
||||||
hi PmenuThumb ctermfg=NONE ctermbg=DarkGrey cterm=NONE
|
hi PmenuThumb ctermfg=NONE ctermbg=DarkGrey cterm=NONE
|
||||||
hi PreInsert ctermfg=Black ctermbg=NONE cterm=NONE
|
hi PreInsert ctermfg=Black ctermbg=NONE cterm=NONE
|
||||||
|
|||||||
@@ -3,9 +3,9 @@
|
|||||||
" Author: Original author Bohdan Vlasyuk <bohdan@vstu.edu.ua>
|
" Author: Original author Bohdan Vlasyuk <bohdan@vstu.edu.ua>
|
||||||
" URL: https://github.com/vim/colorschemes
|
" URL: https://github.com/vim/colorschemes
|
||||||
" License: Same as Vim
|
" License: Same as Vim
|
||||||
" Last Change: 2025 Oct 14
|
" Last Change: 2026 Apr 24
|
||||||
|
|
||||||
" Generated by Colortemplate v3.0.0-beta10
|
" Generated by Colortemplate v3.0.0-rc1
|
||||||
|
|
||||||
set background=dark
|
set background=dark
|
||||||
|
|
||||||
@@ -126,7 +126,8 @@ hi ToolbarButton guifg=#ffffff guibg=#0030ff guisp=NONE gui=NONE ctermfg=231 cte
|
|||||||
hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
|
hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
|
||||||
hi Type guifg=#90f020 guibg=NONE guisp=NONE gui=NONE ctermfg=118 ctermbg=NONE cterm=NONE term=NONE
|
hi Type guifg=#90f020 guibg=NONE guisp=NONE gui=NONE ctermfg=118 ctermbg=NONE cterm=NONE term=NONE
|
||||||
hi Underlined guifg=#80a0ff guibg=NONE guisp=NONE gui=underline ctermfg=111 ctermbg=NONE cterm=underline term=underline
|
hi Underlined guifg=#80a0ff guibg=NONE guisp=NONE gui=underline ctermfg=111 ctermbg=NONE cterm=underline term=underline
|
||||||
hi VertSplit guifg=#000000 guibg=#808080 guisp=NONE gui=NONE ctermfg=16 ctermbg=102 cterm=NONE term=NONE
|
hi VertSplit guifg=#000040 guibg=#c0c0c0 guisp=NONE gui=NONE ctermfg=17 ctermbg=252 cterm=NONE term=NONE
|
||||||
|
hi VertSplitNC guifg=#000000 guibg=#808080 guisp=NONE gui=NONE ctermfg=16 ctermbg=102 cterm=NONE term=NONE
|
||||||
hi Visual guifg=#8080ff guibg=#ffffff guisp=NONE gui=reverse ctermfg=105 ctermbg=231 cterm=reverse term=reverse
|
hi Visual guifg=#8080ff guibg=#ffffff guisp=NONE gui=reverse ctermfg=105 ctermbg=231 cterm=reverse term=reverse
|
||||||
hi VisualNOS guifg=#8080ff guibg=#c0c0c0 guisp=NONE gui=reverse,underline ctermfg=105 ctermbg=252 cterm=reverse,underline term=NONE
|
hi VisualNOS guifg=#8080ff guibg=#c0c0c0 guisp=NONE gui=reverse,underline ctermfg=105 ctermbg=252 cterm=reverse,underline term=NONE
|
||||||
hi WarningMsg guifg=#ff0000 guibg=NONE guisp=NONE gui=NONE ctermfg=196 ctermbg=NONE cterm=NONE term=standout
|
hi WarningMsg guifg=#ff0000 guibg=NONE guisp=NONE gui=NONE ctermfg=196 ctermbg=NONE cterm=NONE term=standout
|
||||||
@@ -196,7 +197,8 @@ if s:t_Co >= 16
|
|||||||
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
|
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||||
hi Type ctermfg=green ctermbg=NONE cterm=NONE
|
hi Type ctermfg=green ctermbg=NONE cterm=NONE
|
||||||
hi Underlined ctermfg=blue ctermbg=NONE cterm=underline
|
hi Underlined ctermfg=blue ctermbg=NONE cterm=underline
|
||||||
hi VertSplit ctermfg=black ctermbg=darkgrey cterm=NONE
|
hi VertSplit ctermfg=black ctermbg=grey cterm=NONE
|
||||||
|
hi VertSplitNC ctermfg=black ctermbg=darkgrey cterm=NONE
|
||||||
hi Visual ctermfg=blue ctermbg=white cterm=reverse
|
hi Visual ctermfg=blue ctermbg=white cterm=reverse
|
||||||
hi VisualNOS ctermfg=blue ctermbg=grey cterm=reverse,underline
|
hi VisualNOS ctermfg=blue ctermbg=grey cterm=reverse,underline
|
||||||
hi WarningMsg ctermfg=red ctermbg=NONE cterm=NONE
|
hi WarningMsg ctermfg=red ctermbg=NONE cterm=NONE
|
||||||
@@ -264,7 +266,8 @@ if s:t_Co >= 8
|
|||||||
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
|
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||||
hi Type ctermfg=darkgreen ctermbg=NONE cterm=NONE
|
hi Type ctermfg=darkgreen ctermbg=NONE cterm=NONE
|
||||||
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
|
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
|
||||||
hi VertSplit ctermfg=grey ctermbg=black cterm=reverse
|
hi VertSplit ctermfg=darkblue ctermbg=grey cterm=reverse
|
||||||
|
hi VertSplitNC ctermfg=grey ctermbg=black cterm=reverse
|
||||||
hi Visual ctermfg=blue ctermbg=grey cterm=reverse
|
hi Visual ctermfg=blue ctermbg=grey cterm=reverse
|
||||||
hi VisualNOS ctermfg=blue ctermbg=grey cterm=reverse,underline
|
hi VisualNOS ctermfg=blue ctermbg=grey cterm=reverse,underline
|
||||||
hi WarningMsg ctermfg=darkred ctermbg=NONE cterm=NONE
|
hi WarningMsg ctermfg=darkred ctermbg=NONE cterm=NONE
|
||||||
|
|||||||
@@ -4,9 +4,9 @@
|
|||||||
" Maintainer: Original maintainer David Schweikert <david@schweikert.ch>
|
" Maintainer: Original maintainer David Schweikert <david@schweikert.ch>
|
||||||
" URL: https://github.com/vim/colorschemes
|
" URL: https://github.com/vim/colorschemes
|
||||||
" License: Same as Vim
|
" License: Same as Vim
|
||||||
" Last Change: 2025 Oct 08
|
" Last Change: 2026 Apr 24
|
||||||
|
|
||||||
" Generated by Colortemplate v3.0.0-beta10
|
" Generated by Colortemplate v3.0.0-rc1
|
||||||
|
|
||||||
set background=light
|
set background=light
|
||||||
|
|
||||||
@@ -91,7 +91,8 @@ hi ToolbarButton guifg=#ffffff guibg=#bcbcbc guisp=NONE gui=bold ctermfg=231 cte
|
|||||||
hi ToolbarLine guifg=NONE guibg=#e4e4e4 guisp=NONE gui=NONE ctermfg=NONE ctermbg=254 cterm=NONE term=reverse
|
hi ToolbarLine guifg=NONE guibg=#e4e4e4 guisp=NONE gui=NONE ctermfg=NONE ctermbg=254 cterm=NONE term=reverse
|
||||||
hi Type guifg=#0000ff guibg=NONE guisp=NONE gui=bold ctermfg=21 ctermbg=NONE cterm=bold term=NONE
|
hi Type guifg=#0000ff guibg=NONE guisp=NONE gui=bold ctermfg=21 ctermbg=NONE cterm=bold term=NONE
|
||||||
hi Underlined guifg=#6a5acd guibg=NONE guisp=NONE gui=underline ctermfg=62 ctermbg=NONE cterm=underline term=underline
|
hi Underlined guifg=#6a5acd guibg=NONE guisp=NONE gui=underline ctermfg=62 ctermbg=NONE cterm=underline term=underline
|
||||||
hi VertSplit guifg=#e4e4e4 guibg=#00008b guisp=NONE gui=NONE ctermfg=254 ctermbg=18 cterm=NONE term=NONE
|
hi VertSplit guifg=#ffff00 guibg=#00008b guisp=NONE gui=NONE ctermfg=226 ctermbg=18 cterm=NONE term=NONE
|
||||||
|
hi VertSplitNC guifg=#e4e4e4 guibg=#00008b guisp=NONE gui=NONE ctermfg=254 ctermbg=18 cterm=NONE term=NONE
|
||||||
hi Visual guifg=#000000 guibg=#d0d0d0 guisp=NONE gui=NONE ctermfg=16 ctermbg=252 cterm=NONE term=reverse
|
hi Visual guifg=#000000 guibg=#d0d0d0 guisp=NONE gui=NONE ctermfg=16 ctermbg=252 cterm=NONE term=reverse
|
||||||
hi VisualNOS guifg=NONE guibg=#ee0000 guisp=NONE gui=NONE ctermfg=NONE ctermbg=196 cterm=NONE term=NONE
|
hi VisualNOS guifg=NONE guibg=#ee0000 guisp=NONE gui=NONE ctermfg=NONE ctermbg=196 cterm=NONE term=NONE
|
||||||
hi WarningMsg guifg=#cd00cd guibg=#ffffff guisp=NONE gui=NONE ctermfg=164 ctermbg=231 cterm=NONE term=standout
|
hi WarningMsg guifg=#cd00cd guibg=#ffffff guisp=NONE gui=NONE ctermfg=164 ctermbg=231 cterm=NONE term=standout
|
||||||
@@ -164,7 +165,8 @@ if s:t_Co >= 16
|
|||||||
hi ToolbarLine ctermfg=NONE ctermbg=grey cterm=NONE
|
hi ToolbarLine ctermfg=NONE ctermbg=grey cterm=NONE
|
||||||
hi Type ctermfg=blue ctermbg=NONE cterm=bold
|
hi Type ctermfg=blue ctermbg=NONE cterm=bold
|
||||||
hi Underlined ctermfg=blue ctermbg=NONE cterm=underline
|
hi Underlined ctermfg=blue ctermbg=NONE cterm=underline
|
||||||
hi VertSplit ctermfg=grey ctermbg=darkblue cterm=NONE
|
hi VertSplit ctermfg=yellow ctermbg=darkblue cterm=NONE
|
||||||
|
hi VertSplitNC ctermfg=grey ctermbg=darkblue cterm=NONE
|
||||||
hi Visual ctermfg=white ctermbg=darkgrey cterm=NONE
|
hi Visual ctermfg=white ctermbg=darkgrey cterm=NONE
|
||||||
hi VisualNOS ctermfg=NONE ctermbg=darkred cterm=NONE
|
hi VisualNOS ctermfg=NONE ctermbg=darkred cterm=NONE
|
||||||
hi WarningMsg ctermfg=darkmagenta ctermbg=white cterm=NONE
|
hi WarningMsg ctermfg=darkmagenta ctermbg=white cterm=NONE
|
||||||
@@ -236,6 +238,7 @@ if s:t_Co >= 8
|
|||||||
hi Type ctermfg=darkblue ctermbg=NONE cterm=NONE
|
hi Type ctermfg=darkblue ctermbg=NONE cterm=NONE
|
||||||
hi Underlined ctermfg=darkblue ctermbg=NONE cterm=underline
|
hi Underlined ctermfg=darkblue ctermbg=NONE cterm=underline
|
||||||
hi VertSplit ctermfg=darkblue ctermbg=darkyellow cterm=reverse
|
hi VertSplit ctermfg=darkblue ctermbg=darkyellow cterm=reverse
|
||||||
|
hi VertSplitNC ctermfg=darkblue ctermbg=darkyellow cterm=reverse
|
||||||
hi Visual ctermfg=NONE ctermbg=NONE cterm=reverse
|
hi Visual ctermfg=NONE ctermbg=NONE cterm=reverse
|
||||||
hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=underline
|
hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=underline
|
||||||
hi WarningMsg ctermfg=darkmagenta ctermbg=NONE cterm=NONE
|
hi WarningMsg ctermfg=darkmagenta ctermbg=NONE cterm=NONE
|
||||||
|
|||||||
@@ -4,9 +4,9 @@
|
|||||||
" Maintainer: Original maintainer Hans Fugal <hans@fugal.net>
|
" Maintainer: Original maintainer Hans Fugal <hans@fugal.net>
|
||||||
" URL: https://github.com/vim/colorschemes
|
" URL: https://github.com/vim/colorschemes
|
||||||
" License: Same as Vim
|
" License: Same as Vim
|
||||||
" Last Change: 2025 Oct 08
|
" Last Change: 2026 Apr 24
|
||||||
|
|
||||||
" Generated by Colortemplate v3.0.0-beta10
|
" Generated by Colortemplate v3.0.0-rc1
|
||||||
|
|
||||||
set background=dark
|
set background=dark
|
||||||
|
|
||||||
@@ -91,7 +91,8 @@ hi ToolbarButton guifg=#333333 guibg=#ffde9b guisp=NONE gui=bold ctermfg=236 cte
|
|||||||
hi ToolbarLine guifg=NONE guibg=#666666 guisp=NONE gui=NONE ctermfg=NONE ctermbg=241 cterm=NONE term=reverse
|
hi ToolbarLine guifg=NONE guibg=#666666 guisp=NONE gui=NONE ctermfg=NONE ctermbg=241 cterm=NONE term=reverse
|
||||||
hi Type guifg=#bdb76b guibg=NONE guisp=NONE gui=bold ctermfg=143 ctermbg=NONE cterm=bold term=NONE
|
hi Type guifg=#bdb76b guibg=NONE guisp=NONE gui=bold ctermfg=143 ctermbg=NONE cterm=bold term=NONE
|
||||||
hi Underlined guifg=#75a0ff guibg=NONE guisp=NONE gui=underline ctermfg=111 ctermbg=NONE cterm=underline term=underline
|
hi Underlined guifg=#75a0ff guibg=NONE guisp=NONE gui=underline ctermfg=111 ctermbg=NONE cterm=underline term=underline
|
||||||
hi VertSplit guifg=#7f7f8c guibg=#c2bfa5 guisp=NONE gui=NONE ctermfg=242 ctermbg=144 cterm=NONE term=NONE
|
hi VertSplit guifg=#333333 guibg=#c2bfa5 guisp=NONE gui=NONE ctermfg=236 ctermbg=144 cterm=NONE term=NONE
|
||||||
|
hi VertSplitNC guifg=#7f7f8c guibg=#c2bfa5 guisp=NONE gui=NONE ctermfg=242 ctermbg=144 cterm=NONE term=NONE
|
||||||
hi Visual guifg=#f0e68c guibg=#6b8e24 guisp=NONE gui=NONE ctermfg=186 ctermbg=64 cterm=NONE term=reverse
|
hi Visual guifg=#f0e68c guibg=#6b8e24 guisp=NONE gui=NONE ctermfg=186 ctermbg=64 cterm=NONE term=reverse
|
||||||
hi VisualNOS guifg=#f0e68c guibg=#6dceeb guisp=NONE gui=NONE ctermfg=186 ctermbg=81 cterm=NONE term=NONE
|
hi VisualNOS guifg=#f0e68c guibg=#6dceeb guisp=NONE gui=NONE ctermfg=186 ctermbg=81 cterm=NONE term=NONE
|
||||||
hi WarningMsg guifg=#cd5c5c guibg=NONE guisp=NONE gui=bold ctermfg=167 ctermbg=NONE cterm=bold term=standout
|
hi WarningMsg guifg=#cd5c5c guibg=NONE guisp=NONE gui=bold ctermfg=167 ctermbg=NONE cterm=bold term=standout
|
||||||
@@ -167,7 +168,8 @@ if s:t_Co >= 16
|
|||||||
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
|
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||||
hi Type ctermfg=darkyellow ctermbg=NONE cterm=bold
|
hi Type ctermfg=darkyellow ctermbg=NONE cterm=bold
|
||||||
hi Underlined ctermfg=darkblue ctermbg=NONE cterm=underline
|
hi Underlined ctermfg=darkblue ctermbg=NONE cterm=underline
|
||||||
hi VertSplit ctermfg=darkgrey ctermbg=grey cterm=NONE
|
hi VertSplit ctermfg=black ctermbg=grey cterm=NONE
|
||||||
|
hi VertSplitNC ctermfg=darkgrey ctermbg=grey cterm=NONE
|
||||||
hi Visual ctermfg=white ctermbg=darkgreen cterm=NONE
|
hi Visual ctermfg=white ctermbg=darkgreen cterm=NONE
|
||||||
hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=underline
|
hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=underline
|
||||||
hi WarningMsg ctermfg=darkred ctermbg=NONE cterm=bold
|
hi WarningMsg ctermfg=darkred ctermbg=NONE cterm=bold
|
||||||
@@ -237,6 +239,7 @@ if s:t_Co >= 8
|
|||||||
hi Type ctermfg=darkyellow ctermbg=NONE cterm=bold
|
hi Type ctermfg=darkyellow ctermbg=NONE cterm=bold
|
||||||
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
|
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
|
||||||
hi VertSplit ctermfg=grey ctermbg=black cterm=reverse
|
hi VertSplit ctermfg=grey ctermbg=black cterm=reverse
|
||||||
|
hi VertSplitNC ctermfg=grey ctermbg=black cterm=reverse
|
||||||
hi Visual ctermfg=NONE ctermbg=NONE cterm=reverse
|
hi Visual ctermfg=NONE ctermbg=NONE cterm=reverse
|
||||||
hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=underline
|
hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=underline
|
||||||
hi WarningMsg ctermfg=darkred ctermbg=NONE cterm=bold
|
hi WarningMsg ctermfg=darkred ctermbg=NONE cterm=bold
|
||||||
|
|||||||
@@ -3,9 +3,9 @@
|
|||||||
" Maintainer: original maintainer Ron Aaron <ron@ronware.org>
|
" Maintainer: original maintainer Ron Aaron <ron@ronware.org>
|
||||||
" URL: https://www.github.com/vim/colorschemes
|
" URL: https://www.github.com/vim/colorschemes
|
||||||
" License: Same as Vim
|
" License: Same as Vim
|
||||||
" Last Change: 2025 Oct 08
|
" Last Change: 2026 Apr 24
|
||||||
|
|
||||||
" Generated by Colortemplate v3.0.0-beta10
|
" Generated by Colortemplate v3.0.0-rc1
|
||||||
|
|
||||||
set background=dark
|
set background=dark
|
||||||
|
|
||||||
@@ -114,7 +114,8 @@ hi ToolbarButton guifg=#000000 guibg=#e5e5e5 guisp=NONE gui=bold ctermfg=16 cter
|
|||||||
hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
|
hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
|
||||||
hi Type guifg=#60ff60 guibg=NONE guisp=NONE gui=bold ctermfg=83 ctermbg=NONE cterm=bold term=NONE
|
hi Type guifg=#60ff60 guibg=NONE guisp=NONE gui=bold ctermfg=83 ctermbg=NONE cterm=bold term=NONE
|
||||||
hi Underlined guifg=#80a0ff guibg=NONE guisp=NONE gui=underline ctermfg=111 ctermbg=NONE cterm=underline term=underline
|
hi Underlined guifg=#80a0ff guibg=NONE guisp=NONE gui=underline ctermfg=111 ctermbg=NONE cterm=underline term=underline
|
||||||
hi VertSplit guifg=#000000 guibg=#00cdcd guisp=NONE gui=NONE ctermfg=16 ctermbg=44 cterm=NONE term=NONE
|
hi VertSplit guifg=#000000 guibg=#00ffff guisp=NONE gui=NONE ctermfg=16 ctermbg=51 cterm=NONE term=NONE
|
||||||
|
hi VertSplitNC guifg=#000000 guibg=#00cdcd guisp=NONE gui=NONE ctermfg=16 ctermbg=44 cterm=NONE term=NONE
|
||||||
hi Visual guifg=#000000 guibg=#a9a9a9 guisp=NONE gui=NONE ctermfg=16 ctermbg=145 cterm=NONE term=reverse
|
hi Visual guifg=#000000 guibg=#a9a9a9 guisp=NONE gui=NONE ctermfg=16 ctermbg=145 cterm=NONE term=reverse
|
||||||
hi VisualNOS guifg=NONE guibg=#000000 guisp=NONE gui=bold,underline ctermfg=NONE ctermbg=16 cterm=underline term=NONE
|
hi VisualNOS guifg=NONE guibg=#000000 guisp=NONE gui=bold,underline ctermfg=NONE ctermbg=16 cterm=underline term=NONE
|
||||||
hi WarningMsg guifg=#ff0000 guibg=NONE guisp=NONE gui=NONE ctermfg=196 ctermbg=NONE cterm=NONE term=standout
|
hi WarningMsg guifg=#ff0000 guibg=NONE guisp=NONE gui=NONE ctermfg=196 ctermbg=NONE cterm=NONE term=standout
|
||||||
@@ -188,7 +189,8 @@ if s:t_Co >= 16
|
|||||||
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
|
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||||
hi Type ctermfg=green ctermbg=NONE cterm=bold
|
hi Type ctermfg=green ctermbg=NONE cterm=bold
|
||||||
hi Underlined ctermfg=blue ctermbg=NONE cterm=underline
|
hi Underlined ctermfg=blue ctermbg=NONE cterm=underline
|
||||||
hi VertSplit ctermfg=black ctermbg=darkcyan cterm=NONE
|
hi VertSplit ctermfg=black ctermbg=cyan cterm=NONE
|
||||||
|
hi VertSplitNC ctermfg=black ctermbg=darkcyan cterm=NONE
|
||||||
hi Visual ctermfg=black ctermbg=darkgrey cterm=NONE
|
hi Visual ctermfg=black ctermbg=darkgrey cterm=NONE
|
||||||
hi VisualNOS ctermfg=NONE ctermbg=black cterm=underline
|
hi VisualNOS ctermfg=NONE ctermbg=black cterm=underline
|
||||||
hi WarningMsg ctermfg=red ctermbg=NONE cterm=NONE
|
hi WarningMsg ctermfg=red ctermbg=NONE cterm=NONE
|
||||||
@@ -263,6 +265,7 @@ if s:t_Co >= 8
|
|||||||
hi Type ctermfg=darkgreen ctermbg=NONE cterm=NONE
|
hi Type ctermfg=darkgreen ctermbg=NONE cterm=NONE
|
||||||
hi Underlined ctermfg=darkblue ctermbg=NONE cterm=underline
|
hi Underlined ctermfg=darkblue ctermbg=NONE cterm=underline
|
||||||
hi VertSplit ctermfg=black ctermbg=darkcyan cterm=NONE
|
hi VertSplit ctermfg=black ctermbg=darkcyan cterm=NONE
|
||||||
|
hi VertSplitNC ctermfg=black ctermbg=darkcyan cterm=NONE
|
||||||
hi Visual ctermfg=black ctermbg=grey cterm=NONE
|
hi Visual ctermfg=black ctermbg=grey cterm=NONE
|
||||||
hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=underline
|
hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=underline
|
||||||
hi WarningMsg ctermfg=darkred ctermbg=NONE cterm=NONE
|
hi WarningMsg ctermfg=darkred ctermbg=NONE cterm=NONE
|
||||||
|
|||||||
@@ -4,9 +4,9 @@
|
|||||||
" Maintainer: Original maintainer Steven Vertigan <steven@vertigan.wattle.id.au>
|
" Maintainer: Original maintainer Steven Vertigan <steven@vertigan.wattle.id.au>
|
||||||
" URL: https://github.com/vim/colorschemes
|
" URL: https://github.com/vim/colorschemes
|
||||||
" License: Same as Vim
|
" License: Same as Vim
|
||||||
" Last Change: 2025 Oct 08
|
" Last Change: 2026 Apr 24
|
||||||
|
|
||||||
" Generated by Colortemplate v3.0.0-beta10
|
" Generated by Colortemplate v3.0.0-rc1
|
||||||
|
|
||||||
set background=dark
|
set background=dark
|
||||||
|
|
||||||
@@ -59,7 +59,8 @@ hi! link TabPanelFill EndOfBuffer
|
|||||||
hi! link Tag Special
|
hi! link Tag Special
|
||||||
hi! link Terminal Normal
|
hi! link Terminal Normal
|
||||||
hi! link Typedef Type
|
hi! link Typedef Type
|
||||||
hi! link VertSplit StatusLineNC
|
hi! link VertSplit StatusLine
|
||||||
|
hi! link VertSplitNC StatusLineNC
|
||||||
hi! link diffBDiffer WarningMsg
|
hi! link diffBDiffer WarningMsg
|
||||||
hi! link diffCommon WarningMsg
|
hi! link diffCommon WarningMsg
|
||||||
hi! link diffDiffer WarningMsg
|
hi! link diffDiffer WarningMsg
|
||||||
|
|||||||
+45
-27
@@ -3,9 +3,9 @@
|
|||||||
" Author: Maxim Kim <habamax@gmail.com>
|
" Author: Maxim Kim <habamax@gmail.com>
|
||||||
" URL: https://github.com/vim/colorschemes
|
" URL: https://github.com/vim/colorschemes
|
||||||
" License: Same as Vim
|
" License: Same as Vim
|
||||||
" Last Change: 2025 Oct 22
|
" Last Change: 2026 May 28
|
||||||
|
|
||||||
" Generated by Colortemplate v3.0.0-beta10
|
" Generated by Colortemplate v3.0.0-rc1
|
||||||
|
|
||||||
set background=dark
|
set background=dark
|
||||||
|
|
||||||
@@ -37,17 +37,17 @@ hi! link TabPanelFill Normal
|
|||||||
hi! link Terminal Normal
|
hi! link Terminal Normal
|
||||||
hi! link asciidoctorBlock Special
|
hi! link asciidoctorBlock Special
|
||||||
hi! link asciidoctorCode String
|
hi! link asciidoctorCode String
|
||||||
hi! link asciidoctorH1Delimiter Statement
|
hi! link asciidoctorH1 htmlH1
|
||||||
hi! link asciidoctorH2Delimiter Statement
|
hi! link asciidoctorH2 htmlH1
|
||||||
hi! link asciidoctorH3Delimiter Statement
|
hi! link asciidoctorH3 htmlH1
|
||||||
hi! link asciidoctorH4Delimiter Statement
|
hi! link asciidoctorH4 htmlH1
|
||||||
hi! link asciidoctorH5Delimiter Statement
|
hi! link asciidoctorH5 htmlH1
|
||||||
hi! link asciidoctorH6Delimiter Statement
|
hi! link asciidoctorH6 htmlH1
|
||||||
hi! link asciidoctorListMarker Constant
|
hi! link asciidoctorListMarker Constant
|
||||||
hi! link asciidoctorMacro Special
|
hi! link asciidoctorMacro Special
|
||||||
hi! link asciidoctorOption Special
|
hi! link asciidoctorOption Special
|
||||||
hi! link asciidoctorSetextHeaderDelimiter Statement
|
hi! link asciidoctorSetextHeaderDelimiter Statement
|
||||||
hi! link asciidoctorTitleDelimiter Statement
|
hi! link asciidoctorTitle htmlH1
|
||||||
hi! link javaScriptFunction Statement
|
hi! link javaScriptFunction Statement
|
||||||
hi! link javaScriptIdentifier Statement
|
hi! link javaScriptIdentifier Statement
|
||||||
hi! link lspDiagSignErrorText Removed
|
hi! link lspDiagSignErrorText Removed
|
||||||
@@ -58,11 +58,14 @@ hi! link lspDiagVirtualTextError Removed
|
|||||||
hi! link lspDiagVirtualTextHint Added
|
hi! link lspDiagVirtualTextHint Added
|
||||||
hi! link lspDiagVirtualTextInfo Question
|
hi! link lspDiagVirtualTextInfo Question
|
||||||
hi! link lspDiagVirtualTextWarning Changed
|
hi! link lspDiagVirtualTextWarning Changed
|
||||||
|
hi! link markdownHeadingRule Special
|
||||||
hi! link markdownUrl String
|
hi! link markdownUrl String
|
||||||
|
hi! link rstSection htmlH1
|
||||||
hi! link rubyDefine Statement
|
hi! link rubyDefine Statement
|
||||||
hi! link rubyMacro Statement
|
hi! link rubyMacro Statement
|
||||||
hi! link sqlKeyword Statement
|
hi! link sqlKeyword Statement
|
||||||
hi! link sqlSpecial Constant
|
hi! link sqlSpecial Constant
|
||||||
|
hi! link typstMarkupHeading htmlH1
|
||||||
hi! link vimCommentString Comment
|
hi! link vimCommentString Comment
|
||||||
hi! link vimOper Normal
|
hi! link vimOper Normal
|
||||||
hi! link vimParenSep Normal
|
hi! link vimParenSep Normal
|
||||||
@@ -107,12 +110,15 @@ hi PmenuExtra guifg=#767676 guibg=#3a3a3a guisp=NONE gui=NONE ctermfg=243 ctermb
|
|||||||
hi PmenuExtraSel guifg=#9e9e9e guibg=#585858 guisp=NONE gui=NONE ctermfg=247 ctermbg=240 cterm=NONE term=NONE
|
hi PmenuExtraSel guifg=#9e9e9e guibg=#585858 guisp=NONE gui=NONE ctermfg=247 ctermbg=240 cterm=NONE term=NONE
|
||||||
hi PmenuKind guifg=#5f8787 guibg=#3a3a3a guisp=NONE gui=NONE ctermfg=66 ctermbg=237 cterm=NONE term=NONE
|
hi PmenuKind guifg=#5f8787 guibg=#3a3a3a guisp=NONE gui=NONE ctermfg=66 ctermbg=237 cterm=NONE term=NONE
|
||||||
hi PmenuKindSel guifg=#5f8787 guibg=#585858 guisp=NONE gui=NONE ctermfg=66 ctermbg=240 cterm=NONE term=NONE
|
hi PmenuKindSel guifg=#5f8787 guibg=#585858 guisp=NONE gui=NONE ctermfg=66 ctermbg=240 cterm=NONE term=NONE
|
||||||
hi PmenuMatch guifg=#ffaf5f guibg=#3a3a3a guisp=NONE gui=NONE ctermfg=215 ctermbg=237 cterm=NONE term=NONE
|
hi PmenuMatch guifg=#ffaf5f guibg=NONE guisp=NONE gui=NONE ctermfg=215 ctermbg=NONE cterm=NONE term=NONE
|
||||||
hi PmenuMatchSel guifg=#ffaf5f guibg=#585858 guisp=NONE gui=NONE ctermfg=215 ctermbg=240 cterm=NONE term=NONE
|
hi PmenuMatchSel guifg=#ffaf5f guibg=NONE guisp=NONE gui=NONE ctermfg=215 ctermbg=NONE cterm=NONE term=NONE
|
||||||
hi PmenuSbar guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
|
hi PmenuSbar guifg=NONE guibg=#585858 guisp=NONE gui=NONE ctermfg=NONE ctermbg=240 cterm=NONE term=reverse
|
||||||
hi PmenuSel guifg=NONE guibg=#585858 guisp=NONE gui=NONE ctermfg=NONE ctermbg=240 cterm=NONE term=bold
|
hi PmenuSel guifg=NONE guibg=#585858 guisp=NONE gui=NONE ctermfg=NONE ctermbg=240 cterm=NONE term=bold
|
||||||
hi PmenuShadow guifg=#767676 guibg=#121212 guisp=NONE gui=NONE ctermfg=243 ctermbg=233 cterm=NONE term=NONE
|
hi PmenuShadow guifg=#767676 guibg=#121212 guisp=NONE gui=NONE ctermfg=243 ctermbg=233 cterm=NONE term=NONE
|
||||||
hi PmenuThumb guifg=NONE guibg=#767676 guisp=NONE gui=NONE ctermfg=NONE ctermbg=243 cterm=NONE term=NONE
|
hi PmenuThumb guifg=NONE guibg=#767676 guisp=NONE gui=NONE ctermfg=NONE ctermbg=243 cterm=NONE term=NONE
|
||||||
|
hi Popup guifg=NONE guibg=#3a3a3a guisp=NONE gui=NONE ctermfg=NONE ctermbg=237 cterm=NONE term=NONE
|
||||||
|
hi PopupBorder guifg=#767676 guibg=#3a3a3a guisp=NONE gui=NONE ctermfg=243 ctermbg=237 cterm=NONE term=NONE
|
||||||
|
hi PopupTitle guifg=#9e9e9e guibg=#3a3a3a guisp=NONE gui=bold ctermfg=247 ctermbg=237 cterm=bold term=bold
|
||||||
hi PreProc guifg=#af875f guibg=NONE guisp=NONE gui=NONE ctermfg=137 ctermbg=NONE cterm=NONE term=NONE
|
hi PreProc guifg=#af875f guibg=NONE guisp=NONE gui=NONE ctermfg=137 ctermbg=NONE cterm=NONE term=NONE
|
||||||
hi Question guifg=#d7af87 guibg=NONE guisp=NONE gui=NONE ctermfg=180 ctermbg=NONE cterm=NONE term=standout
|
hi Question guifg=#d7af87 guibg=NONE guisp=NONE gui=NONE ctermfg=180 ctermbg=NONE cterm=NONE term=standout
|
||||||
hi QuickFixLine guifg=NONE guibg=#4f2f4f guisp=NONE gui=NONE ctermfg=251 ctermbg=53 cterm=NONE term=NONE
|
hi QuickFixLine guifg=NONE guibg=#4f2f4f guisp=NONE gui=NONE ctermfg=251 ctermbg=53 cterm=NONE term=NONE
|
||||||
@@ -136,17 +142,19 @@ hi Title guifg=NONE guibg=NONE guisp=NONE gui=bold ctermfg=NONE ctermbg=NONE cte
|
|||||||
hi TitleBar guifg=#dadada guibg=#3c3c3c guisp=NONE gui=NONE ctermfg=253 ctermbg=237 cterm=NONE term=NONE
|
hi TitleBar guifg=#dadada guibg=#3c3c3c guisp=NONE gui=NONE ctermfg=253 ctermbg=237 cterm=NONE term=NONE
|
||||||
hi TitleBarNC guifg=#767676 guibg=#2c2c2c guisp=NONE gui=NONE ctermfg=243 ctermbg=236 cterm=NONE term=NONE
|
hi TitleBarNC guifg=#767676 guibg=#2c2c2c guisp=NONE gui=NONE ctermfg=243 ctermbg=236 cterm=NONE term=NONE
|
||||||
hi Todo guifg=#dadada guibg=NONE guisp=NONE gui=bold ctermfg=253 ctermbg=NONE cterm=bold term=bold,reverse
|
hi Todo guifg=#dadada guibg=NONE guisp=NONE gui=bold ctermfg=253 ctermbg=NONE cterm=bold term=bold,reverse
|
||||||
hi ToolbarButton guifg=#767676 guibg=#1c1c1c guisp=NONE gui=bold,reverse ctermfg=243 ctermbg=234 cterm=bold,reverse term=bold,reverse
|
hi ToolbarButton guifg=#5f8787 guibg=#1c1c1c guisp=NONE gui=bold,reverse ctermfg=66 ctermbg=234 cterm=bold,reverse term=bold,reverse
|
||||||
hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
|
hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
|
||||||
hi Type guifg=#5f87af guibg=NONE guisp=NONE gui=NONE ctermfg=67 ctermbg=NONE cterm=NONE term=NONE
|
hi Type guifg=#5f87af guibg=NONE guisp=NONE gui=NONE ctermfg=67 ctermbg=NONE cterm=NONE term=NONE
|
||||||
hi Underlined guifg=NONE guibg=NONE guisp=NONE gui=underline ctermfg=NONE ctermbg=NONE cterm=underline term=underline
|
hi Underlined guifg=NONE guibg=NONE guisp=NONE gui=underline ctermfg=NONE ctermbg=NONE cterm=underline term=underline
|
||||||
hi VertSplit guifg=#767676 guibg=#767676 guisp=NONE gui=NONE ctermfg=243 ctermbg=243 cterm=NONE term=NONE
|
hi VertSplit guifg=#9e9e9e guibg=#9e9e9e guisp=NONE gui=NONE ctermfg=247 ctermbg=247 cterm=NONE term=NONE
|
||||||
|
hi VertSplitNC guifg=#767676 guibg=#767676 guisp=NONE gui=NONE ctermfg=243 ctermbg=243 cterm=NONE term=NONE
|
||||||
hi Visual guifg=NONE guibg=#1a3456 guisp=NONE gui=NONE ctermfg=109 ctermbg=234 cterm=reverse term=reverse
|
hi Visual guifg=NONE guibg=#1a3456 guisp=NONE gui=NONE ctermfg=109 ctermbg=234 cterm=reverse term=reverse
|
||||||
hi VisualNOS guifg=#1c1c1c guibg=#5f8787 guisp=NONE gui=NONE ctermfg=234 ctermbg=66 cterm=NONE term=NONE
|
hi VisualNOS guifg=#1c1c1c guibg=#5f8787 guisp=NONE gui=NONE ctermfg=234 ctermbg=66 cterm=NONE term=NONE
|
||||||
hi WarningMsg guifg=#d75f87 guibg=NONE guisp=NONE gui=NONE ctermfg=168 ctermbg=NONE cterm=NONE term=standout
|
hi WarningMsg guifg=#d75f87 guibg=NONE guisp=NONE gui=NONE ctermfg=168 ctermbg=NONE cterm=NONE term=standout
|
||||||
hi WildMenu guifg=#1c1c1c guibg=#d7af87 guisp=NONE gui=bold ctermfg=234 ctermbg=180 cterm=bold term=bold
|
hi WildMenu guifg=#1c1c1c guibg=#d7af87 guisp=NONE gui=bold ctermfg=234 ctermbg=180 cterm=bold term=bold
|
||||||
hi debugBreakpoint guifg=#1c1c1c guibg=#d75f87 guisp=NONE gui=NONE ctermfg=234 ctermbg=168 cterm=NONE term=NONE
|
hi debugBreakpoint guifg=#1c1c1c guibg=#d75f87 guisp=NONE gui=NONE ctermfg=234 ctermbg=168 cterm=NONE term=NONE
|
||||||
hi debugPC guifg=#1c1c1c guibg=#5f87af guisp=NONE gui=NONE ctermfg=234 ctermbg=67 cterm=NONE term=NONE
|
hi debugPC guifg=#1c1c1c guibg=#5f87af guisp=NONE gui=NONE ctermfg=234 ctermbg=67 cterm=NONE term=NONE
|
||||||
|
hi htmlH1 guifg=#dadada guibg=NONE guisp=NONE gui=bold ctermfg=253 ctermbg=NONE cterm=bold term=bold
|
||||||
hi lCursor guifg=#1c1c1c guibg=#5fff00 guisp=NONE gui=NONE ctermfg=234 ctermbg=82 cterm=NONE term=NONE
|
hi lCursor guifg=#1c1c1c guibg=#5fff00 guisp=NONE gui=NONE ctermfg=234 ctermbg=82 cterm=NONE term=NONE
|
||||||
|
|
||||||
if s:tgc || s:t_Co >= 256
|
if s:tgc || s:t_Co >= 256
|
||||||
@@ -202,12 +210,15 @@ if s:t_Co >= 16
|
|||||||
hi PmenuExtraSel ctermfg=NONE ctermbg=NONE cterm=bold
|
hi PmenuExtraSel ctermfg=NONE ctermbg=NONE cterm=bold
|
||||||
hi PmenuKind ctermfg=NONE ctermbg=NONE cterm=bold,reverse
|
hi PmenuKind ctermfg=NONE ctermbg=NONE cterm=bold,reverse
|
||||||
hi PmenuKindSel ctermfg=NONE ctermbg=NONE cterm=bold
|
hi PmenuKindSel ctermfg=NONE ctermbg=NONE cterm=bold
|
||||||
hi PmenuMatch ctermfg=NONE ctermbg=NONE cterm=bold
|
hi PmenuMatch ctermfg=NONE ctermbg=darkred cterm=reverse
|
||||||
hi PmenuMatchSel ctermfg=darkyellow ctermbg=NONE cterm=bold
|
hi PmenuMatchSel ctermfg=darkred ctermbg=NONE cterm=bold
|
||||||
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
|
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=reverse
|
||||||
hi PmenuSel ctermfg=darkyellow ctermbg=NONE cterm=reverse
|
hi PmenuSel ctermfg=NONE ctermbg=NONE cterm=bold
|
||||||
hi PmenuShadow ctermfg=NONE ctermbg=NONE cterm=NONE
|
hi PmenuShadow ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||||
hi PmenuThumb ctermfg=NONE ctermbg=NONE cterm=reverse
|
hi PmenuThumb ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||||
|
hi Popup ctermfg=NONE ctermbg=NONE cterm=reverse
|
||||||
|
hi PopupBorder ctermfg=NONE ctermbg=NONE cterm=reverse
|
||||||
|
hi PopupTitle ctermfg=NONE ctermbg=NONE cterm=bold,reverse
|
||||||
hi PreProc ctermfg=darkyellow ctermbg=NONE cterm=NONE
|
hi PreProc ctermfg=darkyellow ctermbg=NONE cterm=NONE
|
||||||
hi Question ctermfg=yellow ctermbg=NONE cterm=NONE
|
hi Question ctermfg=yellow ctermbg=NONE cterm=NONE
|
||||||
hi QuickFixLine ctermfg=black ctermbg=magenta cterm=NONE
|
hi QuickFixLine ctermfg=black ctermbg=magenta cterm=NONE
|
||||||
@@ -231,17 +242,19 @@ if s:t_Co >= 16
|
|||||||
hi TitleBar ctermfg=white ctermbg=black cterm=NONE
|
hi TitleBar ctermfg=white ctermbg=black cterm=NONE
|
||||||
hi TitleBarNC ctermfg=darkgray ctermbg=black cterm=NONE
|
hi TitleBarNC ctermfg=darkgray ctermbg=black cterm=NONE
|
||||||
hi Todo ctermfg=white ctermbg=NONE cterm=bold
|
hi Todo ctermfg=white ctermbg=NONE cterm=bold
|
||||||
hi ToolbarButton ctermfg=darkgray ctermbg=black cterm=bold,reverse
|
hi ToolbarButton ctermfg=NONE ctermbg=NONE cterm=reverse
|
||||||
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
|
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||||
hi Type ctermfg=darkblue ctermbg=NONE cterm=NONE
|
hi Type ctermfg=darkblue ctermbg=NONE cterm=NONE
|
||||||
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
|
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
|
||||||
hi VertSplit ctermfg=darkgray ctermbg=darkgray cterm=NONE
|
hi VertSplit ctermfg=gray ctermbg=gray cterm=NONE
|
||||||
|
hi VertSplitNC ctermfg=darkgray ctermbg=darkgray cterm=NONE
|
||||||
hi Visual ctermfg=cyan ctermbg=black cterm=reverse
|
hi Visual ctermfg=cyan ctermbg=black cterm=reverse
|
||||||
hi VisualNOS ctermfg=black ctermbg=darkcyan cterm=NONE
|
hi VisualNOS ctermfg=black ctermbg=darkcyan cterm=NONE
|
||||||
hi WarningMsg ctermfg=red ctermbg=NONE cterm=NONE
|
hi WarningMsg ctermfg=red ctermbg=NONE cterm=NONE
|
||||||
hi WildMenu ctermfg=black ctermbg=yellow cterm=bold
|
hi WildMenu ctermfg=black ctermbg=yellow cterm=bold
|
||||||
hi debugBreakpoint ctermfg=black ctermbg=red cterm=NONE
|
hi debugBreakpoint ctermfg=black ctermbg=red cterm=NONE
|
||||||
hi debugPC ctermfg=black ctermbg=darkblue cterm=NONE
|
hi debugPC ctermfg=black ctermbg=darkblue cterm=NONE
|
||||||
|
hi htmlH1 ctermfg=white ctermbg=NONE cterm=bold
|
||||||
hi lCursor ctermfg=black ctermbg=green cterm=NONE
|
hi lCursor ctermfg=black ctermbg=green cterm=NONE
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
@@ -284,12 +297,15 @@ if s:t_Co >= 8
|
|||||||
hi PmenuExtraSel ctermfg=NONE ctermbg=NONE cterm=bold
|
hi PmenuExtraSel ctermfg=NONE ctermbg=NONE cterm=bold
|
||||||
hi PmenuKind ctermfg=NONE ctermbg=NONE cterm=bold,reverse
|
hi PmenuKind ctermfg=NONE ctermbg=NONE cterm=bold,reverse
|
||||||
hi PmenuKindSel ctermfg=NONE ctermbg=NONE cterm=bold
|
hi PmenuKindSel ctermfg=NONE ctermbg=NONE cterm=bold
|
||||||
hi PmenuMatch ctermfg=NONE ctermbg=NONE cterm=bold
|
hi PmenuMatch ctermfg=NONE ctermbg=darkred cterm=reverse
|
||||||
hi PmenuMatchSel ctermfg=darkyellow ctermbg=NONE cterm=bold
|
hi PmenuMatchSel ctermfg=darkred ctermbg=NONE cterm=bold
|
||||||
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
|
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=reverse
|
||||||
hi PmenuSel ctermfg=darkyellow ctermbg=NONE cterm=reverse
|
hi PmenuSel ctermfg=NONE ctermbg=NONE cterm=bold
|
||||||
hi PmenuShadow ctermfg=NONE ctermbg=NONE cterm=NONE
|
hi PmenuShadow ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||||
hi PmenuThumb ctermfg=NONE ctermbg=NONE cterm=reverse
|
hi PmenuThumb ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||||
|
hi Popup ctermfg=NONE ctermbg=NONE cterm=reverse
|
||||||
|
hi PopupBorder ctermfg=NONE ctermbg=NONE cterm=reverse
|
||||||
|
hi PopupTitle ctermfg=NONE ctermbg=NONE cterm=bold,reverse
|
||||||
hi PreProc ctermfg=darkyellow ctermbg=NONE cterm=NONE
|
hi PreProc ctermfg=darkyellow ctermbg=NONE cterm=NONE
|
||||||
hi Question ctermfg=darkyellow ctermbg=NONE cterm=NONE
|
hi Question ctermfg=darkyellow ctermbg=NONE cterm=NONE
|
||||||
hi QuickFixLine ctermfg=black ctermbg=magenta cterm=NONE
|
hi QuickFixLine ctermfg=black ctermbg=magenta cterm=NONE
|
||||||
@@ -313,17 +329,19 @@ if s:t_Co >= 8
|
|||||||
hi TitleBar ctermfg=white ctermbg=black cterm=NONE
|
hi TitleBar ctermfg=white ctermbg=black cterm=NONE
|
||||||
hi TitleBarNC ctermfg=darkgray ctermbg=black cterm=NONE
|
hi TitleBarNC ctermfg=darkgray ctermbg=black cterm=NONE
|
||||||
hi Todo ctermfg=white ctermbg=NONE cterm=bold
|
hi Todo ctermfg=white ctermbg=NONE cterm=bold
|
||||||
hi ToolbarButton ctermfg=gray ctermbg=black cterm=reverse
|
hi ToolbarButton ctermfg=NONE ctermbg=NONE cterm=reverse
|
||||||
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
|
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||||
hi Type ctermfg=darkblue ctermbg=NONE cterm=NONE
|
hi Type ctermfg=darkblue ctermbg=NONE cterm=NONE
|
||||||
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
|
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
|
||||||
hi VertSplit ctermfg=gray ctermbg=gray cterm=NONE
|
hi VertSplit ctermfg=gray ctermbg=gray cterm=NONE
|
||||||
|
hi VertSplitNC ctermfg=gray ctermbg=gray cterm=NONE
|
||||||
hi Visual ctermfg=darkcyan ctermbg=black cterm=reverse
|
hi Visual ctermfg=darkcyan ctermbg=black cterm=reverse
|
||||||
hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=reverse
|
hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=reverse
|
||||||
hi WarningMsg ctermfg=darkred ctermbg=NONE cterm=NONE
|
hi WarningMsg ctermfg=darkred ctermbg=NONE cterm=NONE
|
||||||
hi WildMenu ctermfg=black ctermbg=darkyellow cterm=NONE
|
hi WildMenu ctermfg=black ctermbg=darkyellow cterm=NONE
|
||||||
hi debugBreakpoint ctermfg=darkcyan ctermbg=NONE cterm=reverse
|
hi debugBreakpoint ctermfg=darkcyan ctermbg=NONE cterm=reverse
|
||||||
hi debugPC ctermfg=darkblue ctermbg=NONE cterm=reverse
|
hi debugPC ctermfg=darkblue ctermbg=NONE cterm=reverse
|
||||||
|
hi htmlH1 ctermfg=white ctermbg=NONE cterm=bold
|
||||||
hi lCursor ctermfg=black ctermbg=green cterm=NONE
|
hi lCursor ctermfg=black ctermbg=green cterm=NONE
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
|
|||||||
@@ -4,9 +4,9 @@
|
|||||||
" Maintainer: Original maintainer Shian Lee.
|
" Maintainer: Original maintainer Shian Lee.
|
||||||
" URL: https://github.com/vim/colorschemes
|
" URL: https://github.com/vim/colorschemes
|
||||||
" License: Same as Vim
|
" License: Same as Vim
|
||||||
" Last Change: 2025 Oct 08
|
" Last Change: 2026 Apr 24
|
||||||
|
|
||||||
" Generated by Colortemplate v3.0.0-beta10
|
" Generated by Colortemplate v3.0.0-rc1
|
||||||
|
|
||||||
set background=dark
|
set background=dark
|
||||||
|
|
||||||
@@ -92,7 +92,8 @@ hi Todo guifg=#005fff guibg=#ffff00 guisp=NONE gui=NONE ctermfg=27 ctermbg=226 c
|
|||||||
hi ToolbarLine guifg=NONE guibg=#303030 guisp=NONE gui=NONE ctermfg=NONE ctermbg=236 cterm=NONE term=reverse
|
hi ToolbarLine guifg=NONE guibg=#303030 guisp=NONE gui=NONE ctermfg=NONE ctermbg=236 cterm=NONE term=reverse
|
||||||
hi Type guifg=#00ff00 guibg=NONE guisp=NONE gui=bold ctermfg=46 ctermbg=NONE cterm=bold term=NONE
|
hi Type guifg=#00ff00 guibg=NONE guisp=NONE gui=bold ctermfg=46 ctermbg=NONE cterm=bold term=NONE
|
||||||
hi Underlined guifg=#87afff guibg=NONE guisp=NONE gui=underline ctermfg=111 ctermbg=NONE cterm=underline term=underline
|
hi Underlined guifg=#87afff guibg=NONE guisp=NONE gui=underline ctermfg=111 ctermbg=NONE cterm=underline term=underline
|
||||||
hi VertSplit guifg=#000000 guibg=#6c6c6c guisp=NONE gui=NONE ctermfg=16 ctermbg=242 cterm=NONE term=NONE
|
hi VertSplit guifg=#000000 guibg=#dadada guisp=NONE gui=NONE ctermfg=16 ctermbg=253 cterm=NONE term=NONE
|
||||||
|
hi VertSplitNC guifg=#000000 guibg=#6c6c6c guisp=NONE gui=NONE ctermfg=16 ctermbg=242 cterm=NONE term=NONE
|
||||||
hi Visual guifg=#dadada guibg=#6c6c6c guisp=NONE gui=NONE ctermfg=253 ctermbg=242 cterm=NONE term=reverse
|
hi Visual guifg=#dadada guibg=#6c6c6c guisp=NONE gui=NONE ctermfg=253 ctermbg=242 cterm=NONE term=reverse
|
||||||
hi VisualNOS guifg=#dadada guibg=#6c6c6c guisp=NONE gui=NONE ctermfg=253 ctermbg=242 cterm=NONE term=NONE
|
hi VisualNOS guifg=#dadada guibg=#6c6c6c guisp=NONE gui=NONE ctermfg=253 ctermbg=242 cterm=NONE term=NONE
|
||||||
hi WarningMsg guifg=#ff0000 guibg=NONE guisp=NONE gui=bold ctermfg=196 ctermbg=NONE cterm=bold term=standout
|
hi WarningMsg guifg=#ff0000 guibg=NONE guisp=NONE gui=bold ctermfg=196 ctermbg=NONE cterm=bold term=standout
|
||||||
@@ -165,7 +166,8 @@ if s:t_Co >= 16
|
|||||||
hi ToolbarLine ctermfg=white ctermbg=darkgrey cterm=NONE
|
hi ToolbarLine ctermfg=white ctermbg=darkgrey cterm=NONE
|
||||||
hi Type ctermfg=green ctermbg=NONE cterm=bold
|
hi Type ctermfg=green ctermbg=NONE cterm=bold
|
||||||
hi Underlined ctermfg=darkblue ctermbg=NONE cterm=underline
|
hi Underlined ctermfg=darkblue ctermbg=NONE cterm=underline
|
||||||
hi VertSplit ctermfg=black ctermbg=grey cterm=NONE
|
hi VertSplit ctermfg=black ctermbg=white cterm=NONE
|
||||||
|
hi VertSplitNC ctermfg=black ctermbg=grey cterm=NONE
|
||||||
hi Visual ctermfg=black ctermbg=grey cterm=NONE
|
hi Visual ctermfg=black ctermbg=grey cterm=NONE
|
||||||
hi VisualNOS ctermfg=white ctermbg=grey cterm=NONE
|
hi VisualNOS ctermfg=white ctermbg=grey cterm=NONE
|
||||||
hi WarningMsg ctermfg=red ctermbg=NONE cterm=bold
|
hi WarningMsg ctermfg=red ctermbg=NONE cterm=bold
|
||||||
@@ -238,6 +240,7 @@ if s:t_Co >= 8
|
|||||||
hi Type ctermfg=darkgreen ctermbg=NONE cterm=bold
|
hi Type ctermfg=darkgreen ctermbg=NONE cterm=bold
|
||||||
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
|
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
|
||||||
hi VertSplit ctermfg=grey ctermbg=black cterm=reverse
|
hi VertSplit ctermfg=grey ctermbg=black cterm=reverse
|
||||||
|
hi VertSplitNC ctermfg=grey ctermbg=black cterm=reverse
|
||||||
hi Visual ctermfg=NONE ctermbg=NONE cterm=reverse
|
hi Visual ctermfg=NONE ctermbg=NONE cterm=reverse
|
||||||
hi VisualNOS ctermfg=black ctermbg=grey cterm=NONE
|
hi VisualNOS ctermfg=black ctermbg=grey cterm=NONE
|
||||||
hi WarningMsg ctermfg=darkred ctermbg=NONE cterm=NONE
|
hi WarningMsg ctermfg=darkred ctermbg=NONE cterm=NONE
|
||||||
|
|||||||
@@ -3,9 +3,9 @@
|
|||||||
" Maintainer: original maintainer Ron Aaron <ron@ronware.org>
|
" Maintainer: original maintainer Ron Aaron <ron@ronware.org>
|
||||||
" URL: https://www.github.com/vim/colorschemes
|
" URL: https://www.github.com/vim/colorschemes
|
||||||
" License: Same as Vim
|
" License: Same as Vim
|
||||||
" Last Change: 2025 Oct 08
|
" Last Change: 2026 Apr 27
|
||||||
|
|
||||||
" Generated by Colortemplate v3.0.0-beta10
|
" Generated by Colortemplate v3.0.0-rc1
|
||||||
|
|
||||||
set background=dark
|
set background=dark
|
||||||
|
|
||||||
@@ -114,7 +114,8 @@ hi ToolbarButton guifg=#000000 guibg=#e5e5e5 guisp=NONE gui=bold ctermfg=16 cter
|
|||||||
hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
|
hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
|
||||||
hi Type guifg=#60ff60 guibg=NONE guisp=NONE gui=bold ctermfg=83 ctermbg=NONE cterm=bold term=NONE
|
hi Type guifg=#60ff60 guibg=NONE guisp=NONE gui=bold ctermfg=83 ctermbg=NONE cterm=bold term=NONE
|
||||||
hi Underlined guifg=#add8e6 guibg=NONE guisp=NONE gui=bold,underline ctermfg=153 ctermbg=NONE cterm=underline term=underline
|
hi Underlined guifg=#add8e6 guibg=NONE guisp=NONE gui=bold,underline ctermfg=153 ctermbg=NONE cterm=underline term=underline
|
||||||
hi VertSplit guifg=#0000ff guibg=#e5e5e5 guisp=NONE gui=NONE ctermfg=21 ctermbg=254 cterm=NONE term=NONE
|
hi VertSplit guifg=#0000ff guibg=#ffffff guisp=NONE gui=NONE ctermfg=21 ctermbg=231 cterm=NONE term=NONE
|
||||||
|
hi VertSplitNC guifg=#0000ff guibg=#e5e5e5 guisp=NONE gui=NONE ctermfg=21 ctermbg=254 cterm=NONE term=NONE
|
||||||
hi Visual guifg=NONE guibg=#666666 guisp=NONE gui=reverse ctermfg=NONE ctermbg=59 cterm=reverse term=reverse
|
hi Visual guifg=NONE guibg=#666666 guisp=NONE gui=reverse ctermfg=NONE ctermbg=59 cterm=reverse term=reverse
|
||||||
hi VisualNOS guifg=NONE guibg=#000000 guisp=NONE gui=bold,underline ctermfg=NONE ctermbg=16 cterm=underline term=NONE
|
hi VisualNOS guifg=NONE guibg=#000000 guisp=NONE gui=bold,underline ctermfg=NONE ctermbg=16 cterm=underline term=NONE
|
||||||
hi WarningMsg guifg=#ff0000 guibg=NONE guisp=NONE gui=NONE ctermfg=196 ctermbg=NONE cterm=NONE term=standout
|
hi WarningMsg guifg=#ff0000 guibg=NONE guisp=NONE gui=NONE ctermfg=196 ctermbg=NONE cterm=NONE term=standout
|
||||||
@@ -183,7 +184,8 @@ if s:t_Co >= 16
|
|||||||
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
|
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||||
hi Type ctermfg=green ctermbg=NONE cterm=bold
|
hi Type ctermfg=green ctermbg=NONE cterm=bold
|
||||||
hi Underlined ctermfg=blue ctermbg=NONE cterm=underline
|
hi Underlined ctermfg=blue ctermbg=NONE cterm=underline
|
||||||
hi VertSplit ctermfg=darkblue ctermbg=grey cterm=NONE
|
hi VertSplit ctermfg=darkblue ctermbg=white cterm=NONE
|
||||||
|
hi VertSplitNC ctermfg=darkblue ctermbg=grey cterm=NONE
|
||||||
hi Visual ctermfg=NONE ctermbg=darkgrey cterm=reverse
|
hi Visual ctermfg=NONE ctermbg=darkgrey cterm=reverse
|
||||||
hi VisualNOS ctermfg=NONE ctermbg=black cterm=underline
|
hi VisualNOS ctermfg=NONE ctermbg=black cterm=underline
|
||||||
hi WarningMsg ctermfg=red ctermbg=NONE cterm=NONE
|
hi WarningMsg ctermfg=red ctermbg=NONE cterm=NONE
|
||||||
@@ -251,6 +253,7 @@ if s:t_Co >= 8
|
|||||||
hi Type ctermfg=darkgreen ctermbg=NONE cterm=bold
|
hi Type ctermfg=darkgreen ctermbg=NONE cterm=bold
|
||||||
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
|
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
|
||||||
hi VertSplit ctermfg=darkblue ctermbg=grey cterm=NONE
|
hi VertSplit ctermfg=darkblue ctermbg=grey cterm=NONE
|
||||||
|
hi VertSplitNC ctermfg=darkblue ctermbg=grey cterm=NONE
|
||||||
hi Visual ctermfg=NONE ctermbg=NONE cterm=reverse
|
hi Visual ctermfg=NONE ctermbg=NONE cterm=reverse
|
||||||
hi VisualNOS ctermfg=NONE ctermbg=black cterm=underline
|
hi VisualNOS ctermfg=NONE ctermbg=black cterm=underline
|
||||||
hi WarningMsg ctermfg=darkred ctermbg=NONE cterm=NONE
|
hi WarningMsg ctermfg=darkred ctermbg=NONE cterm=NONE
|
||||||
|
|||||||
@@ -2,9 +2,9 @@
|
|||||||
" Description: White(perchè il sole)/Black(la luna perchè?) background colorscheme.
|
" Description: White(perchè il sole)/Black(la luna perchè?) background colorscheme.
|
||||||
" Author: Maxim Kim <habamax@gmail.com>
|
" Author: Maxim Kim <habamax@gmail.com>
|
||||||
" URL: https://www.github.com/vim/colorschemes
|
" URL: https://www.github.com/vim/colorschemes
|
||||||
" Last Change: 2025 Oct 22
|
" Last Change: 2026 Apr 30
|
||||||
|
|
||||||
" Generated by Colortemplate v3.0.0-beta10
|
" Generated by Colortemplate v3.0.0-rc1
|
||||||
|
|
||||||
hi clear
|
hi clear
|
||||||
let g:colors_name = 'lunaperche'
|
let g:colors_name = 'lunaperche'
|
||||||
@@ -138,8 +138,8 @@ if &background == 'dark'
|
|||||||
hi PmenuExtraSel guifg=#767676 guibg=#4e4e4e guisp=NONE gui=NONE ctermfg=243 ctermbg=239 cterm=NONE term=NONE
|
hi PmenuExtraSel guifg=#767676 guibg=#4e4e4e guisp=NONE gui=NONE ctermfg=243 ctermbg=239 cterm=NONE term=NONE
|
||||||
hi PmenuKind guifg=#ff5f5f guibg=#303030 guisp=NONE gui=NONE ctermfg=203 ctermbg=236 cterm=NONE term=NONE
|
hi PmenuKind guifg=#ff5f5f guibg=#303030 guisp=NONE gui=NONE ctermfg=203 ctermbg=236 cterm=NONE term=NONE
|
||||||
hi PmenuKindSel guifg=#ff5f5f guibg=#4e4e4e guisp=NONE gui=NONE ctermfg=203 ctermbg=239 cterm=NONE term=NONE
|
hi PmenuKindSel guifg=#ff5f5f guibg=#4e4e4e guisp=NONE gui=NONE ctermfg=203 ctermbg=239 cterm=NONE term=NONE
|
||||||
hi PmenuMatch guifg=#d787d7 guibg=#303030 guisp=NONE gui=NONE ctermfg=176 ctermbg=236 cterm=NONE term=NONE
|
hi PmenuMatch guifg=#d787d7 guibg=NONE guisp=NONE gui=NONE ctermfg=176 ctermbg=NONE cterm=NONE term=NONE
|
||||||
hi PmenuMatchSel guifg=#d787d7 guibg=#4e4e4e guisp=NONE gui=NONE ctermfg=176 ctermbg=239 cterm=NONE term=NONE
|
hi PmenuMatchSel guifg=#d787d7 guibg=NONE guisp=NONE gui=NONE ctermfg=176 ctermbg=NONE cterm=NONE term=NONE
|
||||||
hi PmenuSbar guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
|
hi PmenuSbar guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
|
||||||
hi PmenuSel guifg=NONE guibg=#4e4e4e guisp=NONE gui=NONE ctermfg=NONE ctermbg=239 cterm=NONE term=bold
|
hi PmenuSel guifg=NONE guibg=#4e4e4e guisp=NONE gui=NONE ctermfg=NONE ctermbg=239 cterm=NONE term=bold
|
||||||
hi PmenuShadow guifg=#767676 guibg=#121212 guisp=NONE gui=NONE ctermfg=243 ctermbg=233 cterm=NONE term=NONE
|
hi PmenuShadow guifg=#767676 guibg=#121212 guisp=NONE gui=NONE ctermfg=243 ctermbg=233 cterm=NONE term=NONE
|
||||||
@@ -171,7 +171,8 @@ if &background == 'dark'
|
|||||||
hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
|
hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
|
||||||
hi Type guifg=#5fd75f guibg=NONE guisp=NONE gui=NONE ctermfg=77 ctermbg=NONE cterm=NONE term=NONE
|
hi Type guifg=#5fd75f guibg=NONE guisp=NONE gui=NONE ctermfg=77 ctermbg=NONE cterm=NONE term=NONE
|
||||||
hi Underlined guifg=NONE guibg=NONE guisp=NONE gui=underline ctermfg=NONE ctermbg=NONE cterm=underline term=underline
|
hi Underlined guifg=NONE guibg=NONE guisp=NONE gui=underline ctermfg=NONE ctermbg=NONE cterm=underline term=underline
|
||||||
hi VertSplit guifg=#767676 guibg=#767676 guisp=NONE gui=NONE ctermfg=243 ctermbg=243 cterm=NONE term=NONE
|
hi VertSplit guifg=#c6c6c6 guibg=#c6c6c6 guisp=NONE gui=NONE ctermfg=251 ctermbg=251 cterm=NONE term=NONE
|
||||||
|
hi VertSplitNC guifg=#767676 guibg=#767676 guisp=NONE gui=NONE ctermfg=243 ctermbg=243 cterm=NONE term=NONE
|
||||||
hi Visual guifg=NONE guibg=#104070 guisp=NONE gui=NONE ctermfg=32 ctermbg=16 cterm=reverse term=reverse
|
hi Visual guifg=NONE guibg=#104070 guisp=NONE gui=NONE ctermfg=32 ctermbg=16 cterm=reverse term=reverse
|
||||||
hi VisualNOS guifg=#000000 guibg=#5fafaf guisp=NONE gui=NONE ctermfg=16 ctermbg=73 cterm=NONE term=NONE
|
hi VisualNOS guifg=#000000 guibg=#5fafaf guisp=NONE gui=NONE ctermfg=16 ctermbg=73 cterm=NONE term=NONE
|
||||||
hi WarningMsg guifg=#ff5f5f guibg=NONE guisp=NONE gui=NONE ctermfg=203 ctermbg=NONE cterm=NONE term=standout
|
hi WarningMsg guifg=#ff5f5f guibg=NONE guisp=NONE gui=NONE ctermfg=203 ctermbg=NONE cterm=NONE term=standout
|
||||||
@@ -266,7 +267,8 @@ if &background == 'dark'
|
|||||||
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
|
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||||
hi Type ctermfg=green ctermbg=NONE cterm=NONE
|
hi Type ctermfg=green ctermbg=NONE cterm=NONE
|
||||||
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
|
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
|
||||||
hi VertSplit ctermfg=darkgrey ctermbg=darkgrey cterm=NONE
|
hi VertSplit ctermfg=grey ctermbg=grey cterm=NONE
|
||||||
|
hi VertSplitNC ctermfg=darkgrey ctermbg=darkgrey cterm=NONE
|
||||||
hi Visual ctermfg=darkblue ctermbg=black cterm=reverse
|
hi Visual ctermfg=darkblue ctermbg=black cterm=reverse
|
||||||
hi VisualNOS ctermfg=black ctermbg=darkcyan cterm=NONE
|
hi VisualNOS ctermfg=black ctermbg=darkcyan cterm=NONE
|
||||||
hi WarningMsg ctermfg=red ctermbg=NONE cterm=NONE
|
hi WarningMsg ctermfg=red ctermbg=NONE cterm=NONE
|
||||||
@@ -354,6 +356,7 @@ if &background == 'dark'
|
|||||||
hi Type ctermfg=darkgreen ctermbg=NONE cterm=NONE
|
hi Type ctermfg=darkgreen ctermbg=NONE cterm=NONE
|
||||||
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
|
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
|
||||||
hi VertSplit ctermfg=grey ctermbg=grey cterm=NONE
|
hi VertSplit ctermfg=grey ctermbg=grey cterm=NONE
|
||||||
|
hi VertSplitNC ctermfg=grey ctermbg=grey cterm=NONE
|
||||||
hi Visual ctermfg=NONE ctermbg=NONE cterm=reverse
|
hi Visual ctermfg=NONE ctermbg=NONE cterm=reverse
|
||||||
hi VisualNOS ctermfg=black ctermbg=darkcyan cterm=NONE
|
hi VisualNOS ctermfg=black ctermbg=darkcyan cterm=NONE
|
||||||
hi WarningMsg ctermfg=darkred ctermbg=NONE cterm=NONE
|
hi WarningMsg ctermfg=darkred ctermbg=NONE cterm=NONE
|
||||||
@@ -426,8 +429,8 @@ if &background == 'light'
|
|||||||
hi PmenuExtraSel guifg=#767676 guibg=#c6c6c6 guisp=NONE gui=NONE ctermfg=243 ctermbg=251 cterm=NONE term=NONE
|
hi PmenuExtraSel guifg=#767676 guibg=#c6c6c6 guisp=NONE gui=NONE ctermfg=243 ctermbg=251 cterm=NONE term=NONE
|
||||||
hi PmenuKind guifg=#af0000 guibg=#e4e4e4 guisp=NONE gui=NONE ctermfg=124 ctermbg=254 cterm=NONE term=NONE
|
hi PmenuKind guifg=#af0000 guibg=#e4e4e4 guisp=NONE gui=NONE ctermfg=124 ctermbg=254 cterm=NONE term=NONE
|
||||||
hi PmenuKindSel guifg=#af0000 guibg=#c6c6c6 guisp=NONE gui=NONE ctermfg=124 ctermbg=251 cterm=NONE term=NONE
|
hi PmenuKindSel guifg=#af0000 guibg=#c6c6c6 guisp=NONE gui=NONE ctermfg=124 ctermbg=251 cterm=NONE term=NONE
|
||||||
hi PmenuMatch guifg=#af00af guibg=#e4e4e4 guisp=NONE gui=NONE ctermfg=127 ctermbg=254 cterm=NONE term=NONE
|
hi PmenuMatch guifg=#af00af guibg=NONE guisp=NONE gui=NONE ctermfg=127 ctermbg=NONE cterm=NONE term=NONE
|
||||||
hi PmenuMatchSel guifg=#af00af guibg=#c6c6c6 guisp=NONE gui=NONE ctermfg=127 ctermbg=251 cterm=NONE term=NONE
|
hi PmenuMatchSel guifg=#af00af guibg=NONE guisp=NONE gui=NONE ctermfg=127 ctermbg=NONE cterm=NONE term=NONE
|
||||||
hi PmenuSbar guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
|
hi PmenuSbar guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
|
||||||
hi PmenuSel guifg=NONE guibg=#c6c6c6 guisp=NONE gui=NONE ctermfg=NONE ctermbg=251 cterm=NONE term=bold
|
hi PmenuSel guifg=NONE guibg=#c6c6c6 guisp=NONE gui=NONE ctermfg=NONE ctermbg=251 cterm=NONE term=bold
|
||||||
hi PmenuShadow guifg=#767676 guibg=#303030 guisp=NONE gui=NONE ctermfg=243 ctermbg=236 cterm=NONE term=NONE
|
hi PmenuShadow guifg=#767676 guibg=#303030 guisp=NONE gui=NONE ctermfg=243 ctermbg=236 cterm=NONE term=NONE
|
||||||
@@ -459,7 +462,8 @@ if &background == 'light'
|
|||||||
hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
|
hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
|
||||||
hi Type guifg=#008700 guibg=NONE guisp=NONE gui=NONE ctermfg=28 ctermbg=NONE cterm=NONE term=NONE
|
hi Type guifg=#008700 guibg=NONE guisp=NONE gui=NONE ctermfg=28 ctermbg=NONE cterm=NONE term=NONE
|
||||||
hi Underlined guifg=NONE guibg=NONE guisp=NONE gui=underline ctermfg=NONE ctermbg=NONE cterm=underline term=underline
|
hi Underlined guifg=NONE guibg=NONE guisp=NONE gui=underline ctermfg=NONE ctermbg=NONE cterm=underline term=underline
|
||||||
hi VertSplit guifg=#767676 guibg=#767676 guisp=NONE gui=NONE ctermfg=243 ctermbg=243 cterm=NONE term=NONE
|
hi VertSplit guifg=#000000 guibg=#000000 guisp=NONE gui=NONE ctermfg=16 ctermbg=16 cterm=NONE term=NONE
|
||||||
|
hi VertSplitNC guifg=#767676 guibg=#767676 guisp=NONE gui=NONE ctermfg=243 ctermbg=243 cterm=NONE term=NONE
|
||||||
hi Visual guifg=NONE guibg=#bfdfff guisp=NONE gui=NONE ctermfg=67 ctermbg=231 cterm=reverse term=reverse
|
hi Visual guifg=NONE guibg=#bfdfff guisp=NONE gui=NONE ctermfg=67 ctermbg=231 cterm=reverse term=reverse
|
||||||
hi VisualNOS guifg=#ffffff guibg=#008787 guisp=NONE gui=NONE ctermfg=231 ctermbg=30 cterm=NONE term=NONE
|
hi VisualNOS guifg=#ffffff guibg=#008787 guisp=NONE gui=NONE ctermfg=231 ctermbg=30 cterm=NONE term=NONE
|
||||||
hi WarningMsg guifg=#d70000 guibg=NONE guisp=NONE gui=bold ctermfg=160 ctermbg=NONE cterm=bold term=standout
|
hi WarningMsg guifg=#d70000 guibg=NONE guisp=NONE gui=bold ctermfg=160 ctermbg=NONE cterm=bold term=standout
|
||||||
@@ -524,8 +528,8 @@ if &background == 'light'
|
|||||||
hi PmenuExtraSel ctermfg=black ctermbg=darkcyan cterm=NONE
|
hi PmenuExtraSel ctermfg=black ctermbg=darkcyan cterm=NONE
|
||||||
hi PmenuKind ctermfg=darkred ctermbg=grey cterm=NONE
|
hi PmenuKind ctermfg=darkred ctermbg=grey cterm=NONE
|
||||||
hi PmenuKindSel ctermfg=darkred ctermbg=darkcyan cterm=NONE
|
hi PmenuKindSel ctermfg=darkred ctermbg=darkcyan cterm=NONE
|
||||||
hi PmenuMatch ctermfg=darkmagenta ctermbg=grey cterm=NONE
|
hi PmenuMatch ctermfg=darkmagenta ctermbg=NONE cterm=NONE
|
||||||
hi PmenuMatchSel ctermfg=darkmagenta ctermbg=darkcyan cterm=NONE
|
hi PmenuMatchSel ctermfg=darkmagenta ctermbg=NONE cterm=NONE
|
||||||
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
|
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||||
hi PmenuSel ctermfg=black ctermbg=darkcyan cterm=NONE
|
hi PmenuSel ctermfg=black ctermbg=darkcyan cterm=NONE
|
||||||
hi PmenuShadow ctermfg=NONE ctermbg=NONE cterm=NONE
|
hi PmenuShadow ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||||
@@ -557,7 +561,8 @@ if &background == 'light'
|
|||||||
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
|
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||||
hi Type ctermfg=darkgreen ctermbg=NONE cterm=NONE
|
hi Type ctermfg=darkgreen ctermbg=NONE cterm=NONE
|
||||||
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
|
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
|
||||||
hi VertSplit ctermfg=darkgrey ctermbg=darkgrey cterm=NONE
|
hi VertSplit ctermfg=black ctermbg=black cterm=NONE
|
||||||
|
hi VertSplitNC ctermfg=darkgrey ctermbg=darkgrey cterm=NONE
|
||||||
hi Visual ctermfg=white ctermbg=darkblue cterm=NONE
|
hi Visual ctermfg=white ctermbg=darkblue cterm=NONE
|
||||||
hi VisualNOS ctermfg=black ctermbg=cyan cterm=NONE
|
hi VisualNOS ctermfg=black ctermbg=cyan cterm=NONE
|
||||||
hi WarningMsg ctermfg=red ctermbg=NONE cterm=bold
|
hi WarningMsg ctermfg=red ctermbg=NONE cterm=bold
|
||||||
@@ -648,6 +653,7 @@ if &background == 'light'
|
|||||||
hi Type ctermfg=darkgreen ctermbg=NONE cterm=NONE
|
hi Type ctermfg=darkgreen ctermbg=NONE cterm=NONE
|
||||||
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
|
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
|
||||||
hi VertSplit ctermfg=black ctermbg=black cterm=NONE
|
hi VertSplit ctermfg=black ctermbg=black cterm=NONE
|
||||||
|
hi VertSplitNC ctermfg=black ctermbg=black cterm=NONE
|
||||||
hi Visual ctermfg=NONE ctermbg=NONE cterm=reverse
|
hi Visual ctermfg=NONE ctermbg=NONE cterm=reverse
|
||||||
hi VisualNOS ctermfg=black ctermbg=darkcyan cterm=NONE
|
hi VisualNOS ctermfg=black ctermbg=darkcyan cterm=NONE
|
||||||
hi WarningMsg ctermfg=darkred ctermbg=NONE cterm=NONE
|
hi WarningMsg ctermfg=darkred ctermbg=NONE cterm=NONE
|
||||||
|
|||||||
@@ -4,9 +4,9 @@
|
|||||||
" Maintainer: Original maintainer Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Original maintainer Bram Moolenaar <Bram@vim.org>
|
||||||
" URL: https://github.com/vim/colorschemes
|
" URL: https://github.com/vim/colorschemes
|
||||||
" License: Same as Vim
|
" License: Same as Vim
|
||||||
" Last Change: 2025 Oct 08
|
" Last Change: 2026 Apr 24
|
||||||
|
|
||||||
" Generated by Colortemplate v3.0.0-beta10
|
" Generated by Colortemplate v3.0.0-rc1
|
||||||
|
|
||||||
set background=light
|
set background=light
|
||||||
|
|
||||||
@@ -92,7 +92,8 @@ hi ToolbarButton guifg=NONE guibg=#bcbcbc guisp=NONE gui=bold ctermfg=NONE cterm
|
|||||||
hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
|
hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
|
||||||
hi Type guifg=#2e8b57 guibg=NONE guisp=NONE gui=bold ctermfg=29 ctermbg=NONE cterm=bold term=NONE
|
hi Type guifg=#2e8b57 guibg=NONE guisp=NONE gui=bold ctermfg=29 ctermbg=NONE cterm=bold term=NONE
|
||||||
hi Underlined guifg=#6a5acd guibg=NONE guisp=NONE gui=underline ctermfg=62 ctermbg=NONE cterm=underline term=underline
|
hi Underlined guifg=#6a5acd guibg=NONE guisp=NONE gui=underline ctermfg=62 ctermbg=NONE cterm=underline term=underline
|
||||||
hi VertSplit guifg=#bcbcbc guibg=#000000 guisp=NONE gui=NONE ctermfg=250 ctermbg=16 cterm=NONE term=NONE
|
hi VertSplit guifg=#eeeeee guibg=#000000 guisp=NONE gui=NONE ctermfg=255 ctermbg=16 cterm=NONE term=NONE
|
||||||
|
hi VertSplitNC guifg=#bcbcbc guibg=#000000 guisp=NONE gui=NONE ctermfg=250 ctermbg=16 cterm=NONE term=NONE
|
||||||
hi Visual guifg=NONE guibg=#d0d0d0 guisp=NONE gui=NONE ctermfg=NONE ctermbg=252 cterm=NONE term=reverse
|
hi Visual guifg=NONE guibg=#d0d0d0 guisp=NONE gui=NONE ctermfg=NONE ctermbg=252 cterm=NONE term=reverse
|
||||||
hi VisualNOS guifg=NONE guibg=#0000ff guisp=NONE gui=NONE ctermfg=NONE ctermbg=21 cterm=NONE term=NONE
|
hi VisualNOS guifg=NONE guibg=#0000ff guisp=NONE gui=NONE ctermfg=NONE ctermbg=21 cterm=NONE term=NONE
|
||||||
hi WarningMsg guifg=#6a0dad guibg=NONE guisp=NONE gui=bold ctermfg=55 ctermbg=NONE cterm=bold term=standout
|
hi WarningMsg guifg=#6a0dad guibg=NONE guisp=NONE gui=bold ctermfg=55 ctermbg=NONE cterm=bold term=standout
|
||||||
@@ -162,7 +163,8 @@ if s:t_Co >= 16
|
|||||||
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
|
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||||
hi Type ctermfg=darkgreen ctermbg=NONE cterm=bold
|
hi Type ctermfg=darkgreen ctermbg=NONE cterm=bold
|
||||||
hi Underlined ctermfg=darkblue ctermbg=NONE cterm=underline
|
hi Underlined ctermfg=darkblue ctermbg=NONE cterm=underline
|
||||||
hi VertSplit ctermfg=darkgrey ctermbg=black cterm=NONE
|
hi VertSplit ctermfg=white ctermbg=black cterm=NONE
|
||||||
|
hi VertSplitNC ctermfg=darkgrey ctermbg=black cterm=NONE
|
||||||
hi Visual ctermfg=NONE ctermbg=white cterm=NONE
|
hi Visual ctermfg=NONE ctermbg=white cterm=NONE
|
||||||
hi VisualNOS ctermfg=NONE ctermbg=blue cterm=NONE
|
hi VisualNOS ctermfg=NONE ctermbg=blue cterm=NONE
|
||||||
hi WarningMsg ctermfg=darkmagenta ctermbg=NONE cterm=bold
|
hi WarningMsg ctermfg=darkmagenta ctermbg=NONE cterm=bold
|
||||||
@@ -231,6 +233,7 @@ if s:t_Co >= 8
|
|||||||
hi Type ctermfg=darkgreen ctermbg=NONE cterm=NONE
|
hi Type ctermfg=darkgreen ctermbg=NONE cterm=NONE
|
||||||
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
|
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
|
||||||
hi VertSplit ctermfg=black ctermbg=gray cterm=reverse
|
hi VertSplit ctermfg=black ctermbg=gray cterm=reverse
|
||||||
|
hi VertSplitNC ctermfg=black ctermbg=gray cterm=reverse
|
||||||
hi Visual ctermfg=NONE ctermbg=NONE cterm=reverse
|
hi Visual ctermfg=NONE ctermbg=NONE cterm=reverse
|
||||||
hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=underline
|
hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=underline
|
||||||
hi WarningMsg ctermfg=darkmagenta ctermbg=NONE cterm=NONE
|
hi WarningMsg ctermfg=darkmagenta ctermbg=NONE cterm=NONE
|
||||||
|
|||||||
@@ -4,9 +4,9 @@
|
|||||||
" Maintainer: Original maintainer Ron Aaron <ron@ronware.org>.
|
" Maintainer: Original maintainer Ron Aaron <ron@ronware.org>.
|
||||||
" URL: https://github.com/vim/colorschemes
|
" URL: https://github.com/vim/colorschemes
|
||||||
" License: Same as Vim
|
" License: Same as Vim
|
||||||
" Last Change: 2025 Oct 08
|
" Last Change: 2026 Apr 24
|
||||||
|
|
||||||
" Generated by Colortemplate v3.0.0-beta10
|
" Generated by Colortemplate v3.0.0-rc1
|
||||||
|
|
||||||
set background=dark
|
set background=dark
|
||||||
|
|
||||||
@@ -93,7 +93,8 @@ hi ToolbarButton guifg=#ffffff guibg=#444444 guisp=NONE gui=bold ctermfg=231 cte
|
|||||||
hi ToolbarLine guifg=NONE guibg=#303030 guisp=NONE gui=NONE ctermfg=NONE ctermbg=236 cterm=NONE term=reverse
|
hi ToolbarLine guifg=NONE guibg=#303030 guisp=NONE gui=NONE ctermfg=NONE ctermbg=236 cterm=NONE term=reverse
|
||||||
hi Type guifg=#bcbcbc guibg=NONE guisp=NONE gui=NONE ctermfg=250 ctermbg=NONE cterm=NONE term=NONE
|
hi Type guifg=#bcbcbc guibg=NONE guisp=NONE gui=NONE ctermfg=250 ctermbg=NONE cterm=NONE term=NONE
|
||||||
hi Underlined guifg=#00afaf guibg=NONE guisp=NONE gui=underline ctermfg=37 ctermbg=NONE cterm=underline term=underline
|
hi Underlined guifg=#00afaf guibg=NONE guisp=NONE gui=underline ctermfg=37 ctermbg=NONE cterm=underline term=underline
|
||||||
hi VertSplit guifg=#ffffff guibg=#3a3a3a guisp=NONE gui=NONE ctermfg=231 ctermbg=237 cterm=NONE term=NONE
|
hi VertSplit guifg=#ffffff guibg=#00008b guisp=NONE gui=NONE ctermfg=231 ctermbg=18 cterm=NONE term=NONE
|
||||||
|
hi VertSplitNC guifg=#ffffff guibg=#3a3a3a guisp=NONE gui=NONE ctermfg=231 ctermbg=237 cterm=NONE term=NONE
|
||||||
hi Visual guifg=#ffffff guibg=#005f00 guisp=NONE gui=NONE ctermfg=231 ctermbg=22 cterm=NONE term=reverse
|
hi Visual guifg=#ffffff guibg=#005f00 guisp=NONE gui=NONE ctermfg=231 ctermbg=22 cterm=NONE term=reverse
|
||||||
hi VisualNOS guifg=#ffffff guibg=#005f00 guisp=NONE gui=NONE ctermfg=231 ctermbg=22 cterm=NONE term=NONE
|
hi VisualNOS guifg=#ffffff guibg=#005f00 guisp=NONE gui=NONE ctermfg=231 ctermbg=22 cterm=NONE term=NONE
|
||||||
hi WarningMsg guifg=#ffa700 guibg=NONE guisp=NONE gui=bold ctermfg=214 ctermbg=NONE cterm=bold term=standout
|
hi WarningMsg guifg=#ffa700 guibg=NONE guisp=NONE gui=bold ctermfg=214 ctermbg=NONE cterm=bold term=standout
|
||||||
@@ -163,7 +164,8 @@ if s:t_Co >= 16
|
|||||||
hi ToolbarLine ctermfg=NONE ctermbg=black cterm=NONE
|
hi ToolbarLine ctermfg=NONE ctermbg=black cterm=NONE
|
||||||
hi Type ctermfg=grey ctermbg=NONE cterm=NONE
|
hi Type ctermfg=grey ctermbg=NONE cterm=NONE
|
||||||
hi Underlined ctermfg=darkcyan ctermbg=NONE cterm=underline
|
hi Underlined ctermfg=darkcyan ctermbg=NONE cterm=underline
|
||||||
hi VertSplit ctermfg=white ctermbg=darkgrey cterm=NONE
|
hi VertSplit ctermfg=white ctermbg=darkblue cterm=NONE
|
||||||
|
hi VertSplitNC ctermfg=white ctermbg=darkgrey cterm=NONE
|
||||||
hi Visual ctermfg=white ctermbg=darkgreen cterm=NONE
|
hi Visual ctermfg=white ctermbg=darkgreen cterm=NONE
|
||||||
hi VisualNOS ctermfg=white ctermbg=darkgreen cterm=NONE
|
hi VisualNOS ctermfg=white ctermbg=darkgreen cterm=NONE
|
||||||
hi WarningMsg ctermfg=darkred ctermbg=NONE cterm=bold
|
hi WarningMsg ctermfg=darkred ctermbg=NONE cterm=bold
|
||||||
@@ -231,7 +233,8 @@ if s:t_Co >= 8
|
|||||||
hi ToolbarLine ctermfg=NONE ctermbg=black cterm=NONE
|
hi ToolbarLine ctermfg=NONE ctermbg=black cterm=NONE
|
||||||
hi Type ctermfg=grey ctermbg=NONE cterm=NONE
|
hi Type ctermfg=grey ctermbg=NONE cterm=NONE
|
||||||
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
|
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
|
||||||
hi VertSplit ctermfg=grey ctermbg=black cterm=reverse
|
hi VertSplit ctermfg=darkblue ctermbg=grey cterm=reverse
|
||||||
|
hi VertSplitNC ctermfg=grey ctermbg=black cterm=reverse
|
||||||
hi Visual ctermfg=NONE ctermbg=NONE cterm=reverse
|
hi Visual ctermfg=NONE ctermbg=NONE cterm=reverse
|
||||||
hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=reverse,underline
|
hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=reverse,underline
|
||||||
hi WarningMsg ctermfg=darkred ctermbg=NONE cterm=bold
|
hi WarningMsg ctermfg=darkred ctermbg=NONE cterm=bold
|
||||||
|
|||||||
@@ -3,9 +3,9 @@
|
|||||||
" Maintainer: Original maintainerRon Aaron <ron@ronware.org>
|
" Maintainer: Original maintainerRon Aaron <ron@ronware.org>
|
||||||
" URL: https://github.com/vim/colorschemes
|
" URL: https://github.com/vim/colorschemes
|
||||||
" License: Same as Vim
|
" License: Same as Vim
|
||||||
" Last Change: 2025 Oct 08
|
" Last Change: 2026 Apr 24
|
||||||
|
|
||||||
" Generated by Colortemplate v3.0.0-beta10
|
" Generated by Colortemplate v3.0.0-rc1
|
||||||
|
|
||||||
set background=dark
|
set background=dark
|
||||||
|
|
||||||
@@ -92,7 +92,8 @@ hi ToolbarButton guifg=#000000 guibg=#e5e5e5 guisp=NONE gui=bold ctermfg=16 cter
|
|||||||
hi ToolbarLine guifg=NONE guibg=#000000 guisp=NONE gui=NONE ctermfg=NONE ctermbg=16 cterm=NONE term=reverse
|
hi ToolbarLine guifg=NONE guibg=#000000 guisp=NONE gui=NONE ctermfg=NONE ctermbg=16 cterm=NONE term=reverse
|
||||||
hi Type guifg=#00c000 guibg=NONE guisp=NONE gui=NONE ctermfg=34 ctermbg=NONE cterm=NONE term=NONE
|
hi Type guifg=#00c000 guibg=NONE guisp=NONE gui=NONE ctermfg=34 ctermbg=NONE cterm=NONE term=NONE
|
||||||
hi Underlined guifg=#80a0ff guibg=NONE guisp=NONE gui=underline ctermfg=111 ctermbg=NONE cterm=underline term=underline
|
hi Underlined guifg=#80a0ff guibg=NONE guisp=NONE gui=underline ctermfg=111 ctermbg=NONE cterm=underline term=underline
|
||||||
hi VertSplit guifg=#000000 guibg=#ffffff guisp=NONE gui=NONE ctermfg=16 ctermbg=231 cterm=NONE term=NONE
|
hi VertSplit guifg=#ffff00 guibg=#0000ee guisp=NONE gui=NONE ctermfg=226 ctermbg=20 cterm=NONE term=NONE
|
||||||
|
hi VertSplitNC guifg=#000000 guibg=#ffffff guisp=NONE gui=NONE ctermfg=16 ctermbg=231 cterm=NONE term=NONE
|
||||||
hi Visual guifg=#00008b guibg=#a9a9a9 guisp=NONE gui=NONE ctermfg=20 ctermbg=248 cterm=NONE term=reverse
|
hi Visual guifg=#00008b guibg=#a9a9a9 guisp=NONE gui=NONE ctermfg=20 ctermbg=248 cterm=NONE term=reverse
|
||||||
hi VisualNOS guifg=NONE guibg=#000000 guisp=NONE gui=bold,underline ctermfg=NONE ctermbg=16 cterm=underline term=NONE
|
hi VisualNOS guifg=NONE guibg=#000000 guisp=NONE gui=bold,underline ctermfg=NONE ctermbg=16 cterm=underline term=NONE
|
||||||
hi WarningMsg guifg=#ff0000 guibg=NONE guisp=NONE gui=NONE ctermfg=196 ctermbg=NONE cterm=NONE term=standout
|
hi WarningMsg guifg=#ff0000 guibg=NONE guisp=NONE gui=NONE ctermfg=196 ctermbg=NONE cterm=NONE term=standout
|
||||||
@@ -163,7 +164,8 @@ if s:t_Co >= 16
|
|||||||
hi ToolbarLine ctermfg=NONE ctermbg=black cterm=NONE
|
hi ToolbarLine ctermfg=NONE ctermbg=black cterm=NONE
|
||||||
hi Type ctermfg=darkgreen ctermbg=NONE cterm=NONE
|
hi Type ctermfg=darkgreen ctermbg=NONE cterm=NONE
|
||||||
hi Underlined ctermfg=darkgreen ctermbg=NONE cterm=underline
|
hi Underlined ctermfg=darkgreen ctermbg=NONE cterm=underline
|
||||||
hi VertSplit ctermfg=black ctermbg=white cterm=NONE
|
hi VertSplit ctermfg=yellow ctermbg=darkblue cterm=NONE
|
||||||
|
hi VertSplitNC ctermfg=black ctermbg=white cterm=NONE
|
||||||
hi Visual ctermfg=darkblue ctermbg=grey cterm=NONE
|
hi Visual ctermfg=darkblue ctermbg=grey cterm=NONE
|
||||||
hi VisualNOS ctermfg=NONE ctermbg=black cterm=underline
|
hi VisualNOS ctermfg=NONE ctermbg=black cterm=underline
|
||||||
hi WarningMsg ctermfg=red ctermbg=NONE cterm=NONE
|
hi WarningMsg ctermfg=red ctermbg=NONE cterm=NONE
|
||||||
@@ -234,7 +236,8 @@ if s:t_Co >= 8
|
|||||||
hi ToolbarLine ctermfg=NONE ctermbg=black cterm=NONE
|
hi ToolbarLine ctermfg=NONE ctermbg=black cterm=NONE
|
||||||
hi Type ctermfg=darkgreen ctermbg=NONE cterm=bold
|
hi Type ctermfg=darkgreen ctermbg=NONE cterm=bold
|
||||||
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
|
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
|
||||||
hi VertSplit ctermfg=grey ctermbg=black cterm=reverse
|
hi VertSplit ctermfg=darkblue ctermbg=grey cterm=reverse
|
||||||
|
hi VertSplitNC ctermfg=grey ctermbg=black cterm=reverse
|
||||||
hi Visual ctermfg=NONE ctermbg=NONE cterm=reverse
|
hi Visual ctermfg=NONE ctermbg=NONE cterm=reverse
|
||||||
hi VisualNOS ctermfg=black ctermbg=grey cterm=NONE
|
hi VisualNOS ctermfg=black ctermbg=grey cterm=NONE
|
||||||
hi WarningMsg ctermfg=darkred ctermbg=NONE cterm=NONE
|
hi WarningMsg ctermfg=darkred ctermbg=NONE cterm=NONE
|
||||||
|
|||||||
@@ -4,9 +4,9 @@
|
|||||||
" Maintainer: Original maintainer David Ne\v{c}as (Yeti) <yeti@physics.muni.cz>
|
" Maintainer: Original maintainer David Ne\v{c}as (Yeti) <yeti@physics.muni.cz>
|
||||||
" URL: https://github.com/vim/colorschemes
|
" URL: https://github.com/vim/colorschemes
|
||||||
" License: Same as Vim
|
" License: Same as Vim
|
||||||
" Last Change: 2025 Oct 14
|
" Last Change: 2026 Apr 24
|
||||||
|
|
||||||
" Generated by Colortemplate v3.0.0-beta10
|
" Generated by Colortemplate v3.0.0-rc1
|
||||||
|
|
||||||
set background=light
|
set background=light
|
||||||
|
|
||||||
@@ -94,7 +94,8 @@ hi ToolbarButton guifg=#ffdab9 guibg=#737373 guisp=NONE gui=bold ctermfg=223 cte
|
|||||||
hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
|
hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
|
||||||
hi Type guifg=#2e8b57 guibg=NONE guisp=NONE gui=bold ctermfg=29 ctermbg=NONE cterm=bold term=NONE
|
hi Type guifg=#2e8b57 guibg=NONE guisp=NONE gui=bold ctermfg=29 ctermbg=NONE cterm=bold term=NONE
|
||||||
hi Underlined guifg=#6a5acd guibg=NONE guisp=NONE gui=underline ctermfg=62 ctermbg=NONE cterm=underline term=underline
|
hi Underlined guifg=#6a5acd guibg=NONE guisp=NONE gui=underline ctermfg=62 ctermbg=NONE cterm=underline term=underline
|
||||||
hi VertSplit guifg=#ffdab9 guibg=#737373 guisp=NONE gui=NONE ctermfg=223 ctermbg=243 cterm=NONE term=NONE
|
hi VertSplit guifg=#ffdab9 guibg=#000000 guisp=NONE gui=NONE ctermfg=223 ctermbg=16 cterm=NONE term=NONE
|
||||||
|
hi VertSplitNC guifg=#ffdab9 guibg=#737373 guisp=NONE gui=NONE ctermfg=223 ctermbg=243 cterm=NONE term=NONE
|
||||||
hi Visual guifg=#000000 guibg=#cccccc guisp=NONE gui=NONE ctermfg=16 ctermbg=252 cterm=NONE term=reverse
|
hi Visual guifg=#000000 guibg=#cccccc guisp=NONE gui=NONE ctermfg=16 ctermbg=252 cterm=NONE term=reverse
|
||||||
hi VisualNOS guifg=NONE guibg=#406090 guisp=NONE gui=NONE ctermfg=NONE ctermbg=25 cterm=NONE term=NONE
|
hi VisualNOS guifg=NONE guibg=#406090 guisp=NONE gui=NONE ctermfg=NONE ctermbg=25 cterm=NONE term=NONE
|
||||||
hi WarningMsg guifg=#cd00cd guibg=#ffdab9 guisp=NONE gui=bold ctermfg=164 ctermbg=223 cterm=bold term=standout
|
hi WarningMsg guifg=#cd00cd guibg=#ffdab9 guisp=NONE gui=bold ctermfg=164 ctermbg=223 cterm=bold term=standout
|
||||||
@@ -168,7 +169,8 @@ if s:t_Co >= 16
|
|||||||
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
|
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||||
hi Type ctermfg=darkgreen ctermbg=NONE cterm=bold
|
hi Type ctermfg=darkgreen ctermbg=NONE cterm=bold
|
||||||
hi Underlined ctermfg=darkblue ctermbg=NONE cterm=underline
|
hi Underlined ctermfg=darkblue ctermbg=NONE cterm=underline
|
||||||
hi VertSplit ctermfg=white ctermbg=darkgrey cterm=NONE
|
hi VertSplit ctermfg=white ctermbg=black cterm=NONE
|
||||||
|
hi VertSplitNC ctermfg=white ctermbg=darkgrey cterm=NONE
|
||||||
hi Visual ctermfg=black ctermbg=grey cterm=NONE
|
hi Visual ctermfg=black ctermbg=grey cterm=NONE
|
||||||
hi VisualNOS ctermfg=NONE ctermbg=darkgrey cterm=NONE
|
hi VisualNOS ctermfg=NONE ctermbg=darkgrey cterm=NONE
|
||||||
hi WarningMsg ctermfg=darkmagenta ctermbg=white cterm=bold
|
hi WarningMsg ctermfg=darkmagenta ctermbg=white cterm=bold
|
||||||
@@ -241,6 +243,7 @@ if s:t_Co >= 8
|
|||||||
hi Type ctermfg=darkgreen ctermbg=NONE cterm=NONE
|
hi Type ctermfg=darkgreen ctermbg=NONE cterm=NONE
|
||||||
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
|
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
|
||||||
hi VertSplit ctermfg=black ctermbg=gray cterm=reverse
|
hi VertSplit ctermfg=black ctermbg=gray cterm=reverse
|
||||||
|
hi VertSplitNC ctermfg=black ctermbg=gray cterm=reverse
|
||||||
hi Visual ctermfg=NONE ctermbg=NONE cterm=reverse
|
hi Visual ctermfg=NONE ctermbg=NONE cterm=reverse
|
||||||
hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=underline
|
hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=underline
|
||||||
hi WarningMsg ctermfg=darkmagenta ctermbg=NONE cterm=bold
|
hi WarningMsg ctermfg=darkmagenta ctermbg=NONE cterm=bold
|
||||||
|
|||||||
+18
-12
@@ -2,9 +2,9 @@
|
|||||||
" Description: Retro groove color scheme similar to gruvbox originally designed by morhetz <morhetz@gmail.com>
|
" Description: Retro groove color scheme similar to gruvbox originally designed by morhetz <morhetz@gmail.com>
|
||||||
" Author: Maxim Kim <habamax@gmail.com>, ported from gruvbox8 of Lifepillar <lifepillar@lifepillar.me>
|
" Author: Maxim Kim <habamax@gmail.com>, ported from gruvbox8 of Lifepillar <lifepillar@lifepillar.me>
|
||||||
" URL: https://www.github.com/vim/colorschemes
|
" URL: https://www.github.com/vim/colorschemes
|
||||||
" Last Change: 2025 Oct 22
|
" Last Change: 2026 Apr 30
|
||||||
|
|
||||||
" Generated by Colortemplate v3.0.0-beta10
|
" Generated by Colortemplate v3.0.0-rc1
|
||||||
|
|
||||||
hi clear
|
hi clear
|
||||||
let g:colors_name = 'retrobox'
|
let g:colors_name = 'retrobox'
|
||||||
@@ -79,8 +79,8 @@ if &background == 'dark'
|
|||||||
hi PmenuExtraSel guifg=#a89984 guibg=#504945 guisp=NONE gui=NONE ctermfg=102 ctermbg=239 cterm=NONE term=NONE
|
hi PmenuExtraSel guifg=#a89984 guibg=#504945 guisp=NONE gui=NONE ctermfg=102 ctermbg=239 cterm=NONE term=NONE
|
||||||
hi PmenuKind guifg=#fb5944 guibg=#3c3836 guisp=NONE gui=NONE ctermfg=203 ctermbg=237 cterm=NONE term=NONE
|
hi PmenuKind guifg=#fb5944 guibg=#3c3836 guisp=NONE gui=NONE ctermfg=203 ctermbg=237 cterm=NONE term=NONE
|
||||||
hi PmenuKindSel guifg=#fb5944 guibg=#504945 guisp=NONE gui=NONE ctermfg=203 ctermbg=239 cterm=NONE term=NONE
|
hi PmenuKindSel guifg=#fb5944 guibg=#504945 guisp=NONE gui=NONE ctermfg=203 ctermbg=239 cterm=NONE term=NONE
|
||||||
hi PmenuMatch guifg=#d3869b guibg=#3c3836 guisp=NONE gui=NONE ctermfg=175 ctermbg=237 cterm=NONE term=NONE
|
hi PmenuMatch guifg=#d3869b guibg=NONE guisp=NONE gui=NONE ctermfg=175 ctermbg=NONE cterm=NONE term=NONE
|
||||||
hi PmenuMatchSel guifg=#d3869b guibg=#504945 guisp=NONE gui=NONE ctermfg=175 ctermbg=239 cterm=NONE term=NONE
|
hi PmenuMatchSel guifg=#d3869b guibg=NONE guisp=NONE gui=NONE ctermfg=175 ctermbg=NONE cterm=NONE term=NONE
|
||||||
hi PmenuSbar guifg=NONE guibg=#3c3836 guisp=NONE gui=NONE ctermfg=NONE ctermbg=237 cterm=NONE term=reverse
|
hi PmenuSbar guifg=NONE guibg=#3c3836 guisp=NONE gui=NONE ctermfg=NONE ctermbg=237 cterm=NONE term=reverse
|
||||||
hi PmenuSel guifg=NONE guibg=#504945 guisp=NONE gui=NONE ctermfg=NONE ctermbg=239 cterm=NONE term=bold
|
hi PmenuSel guifg=NONE guibg=#504945 guisp=NONE gui=NONE ctermfg=NONE ctermbg=239 cterm=NONE term=bold
|
||||||
hi PmenuShadow guifg=#a89984 guibg=#121212 guisp=NONE gui=NONE ctermfg=102 ctermbg=233 cterm=NONE term=NONE
|
hi PmenuShadow guifg=#a89984 guibg=#121212 guisp=NONE gui=NONE ctermfg=102 ctermbg=233 cterm=NONE term=NONE
|
||||||
@@ -118,7 +118,8 @@ if &background == 'dark'
|
|||||||
hi Type guifg=#fabd2f guibg=NONE guisp=NONE gui=NONE ctermfg=214 ctermbg=NONE cterm=NONE term=NONE
|
hi Type guifg=#fabd2f guibg=NONE guisp=NONE gui=NONE ctermfg=214 ctermbg=NONE cterm=NONE term=NONE
|
||||||
hi Typedef guifg=#fabd2f guibg=NONE guisp=NONE gui=NONE ctermfg=214 ctermbg=NONE cterm=NONE term=NONE
|
hi Typedef guifg=#fabd2f guibg=NONE guisp=NONE gui=NONE ctermfg=214 ctermbg=NONE cterm=NONE term=NONE
|
||||||
hi Underlined guifg=#83a598 guibg=NONE guisp=NONE gui=underline ctermfg=109 ctermbg=NONE cterm=underline term=underline
|
hi Underlined guifg=#83a598 guibg=NONE guisp=NONE gui=underline ctermfg=109 ctermbg=NONE cterm=underline term=underline
|
||||||
hi VertSplit guifg=#303030 guibg=#1c1c1c guisp=NONE gui=NONE ctermfg=236 ctermbg=234 cterm=NONE term=NONE
|
hi VertSplit guifg=#504945 guibg=#1c1c1c guisp=NONE gui=NONE ctermfg=239 ctermbg=234 cterm=NONE term=NONE
|
||||||
|
hi VertSplitNC guifg=#303030 guibg=#1c1c1c guisp=NONE gui=NONE ctermfg=236 ctermbg=234 cterm=NONE term=NONE
|
||||||
hi Visual guifg=NONE guibg=#2a405a guisp=NONE gui=NONE ctermfg=109 ctermbg=234 cterm=reverse term=reverse
|
hi Visual guifg=NONE guibg=#2a405a guisp=NONE gui=NONE ctermfg=109 ctermbg=234 cterm=reverse term=reverse
|
||||||
hi WarningMsg guifg=#fb5944 guibg=NONE guisp=NONE gui=bold ctermfg=203 ctermbg=NONE cterm=bold term=standout
|
hi WarningMsg guifg=#fb5944 guibg=NONE guisp=NONE gui=bold ctermfg=203 ctermbg=NONE cterm=bold term=standout
|
||||||
hi WildMenu guifg=#83a598 guibg=#504945 guisp=NONE gui=bold ctermfg=109 ctermbg=239 cterm=bold term=bold
|
hi WildMenu guifg=#83a598 guibg=#504945 guisp=NONE gui=bold ctermfg=109 ctermbg=239 cterm=bold term=bold
|
||||||
@@ -221,7 +222,8 @@ if &background == 'dark'
|
|||||||
hi Type ctermfg=Yellow ctermbg=NONE cterm=NONE
|
hi Type ctermfg=Yellow ctermbg=NONE cterm=NONE
|
||||||
hi Typedef ctermfg=Yellow ctermbg=NONE cterm=NONE
|
hi Typedef ctermfg=Yellow ctermbg=NONE cterm=NONE
|
||||||
hi Underlined ctermfg=Blue ctermbg=NONE cterm=underline
|
hi Underlined ctermfg=Blue ctermbg=NONE cterm=underline
|
||||||
hi VertSplit ctermfg=Black ctermbg=gray cterm=NONE
|
hi VertSplit ctermfg=gray ctermbg=Black cterm=NONE
|
||||||
|
hi VertSplitNC ctermfg=gray ctermbg=Black cterm=NONE
|
||||||
hi Visual ctermfg=Blue ctermbg=Black cterm=reverse
|
hi Visual ctermfg=Blue ctermbg=Black cterm=reverse
|
||||||
hi WarningMsg ctermfg=Red ctermbg=NONE cterm=bold
|
hi WarningMsg ctermfg=Red ctermbg=NONE cterm=bold
|
||||||
hi WildMenu ctermfg=White ctermbg=Black cterm=bold
|
hi WildMenu ctermfg=White ctermbg=Black cterm=bold
|
||||||
@@ -316,7 +318,8 @@ if &background == 'dark'
|
|||||||
hi Type ctermfg=Yellow ctermbg=NONE cterm=NONE
|
hi Type ctermfg=Yellow ctermbg=NONE cterm=NONE
|
||||||
hi Typedef ctermfg=Yellow ctermbg=NONE cterm=NONE
|
hi Typedef ctermfg=Yellow ctermbg=NONE cterm=NONE
|
||||||
hi Underlined ctermfg=Blue ctermbg=NONE cterm=underline
|
hi Underlined ctermfg=Blue ctermbg=NONE cterm=underline
|
||||||
hi VertSplit ctermfg=Black ctermbg=gray cterm=NONE
|
hi VertSplit ctermfg=gray ctermbg=Black cterm=NONE
|
||||||
|
hi VertSplitNC ctermfg=gray ctermbg=Black cterm=NONE
|
||||||
hi Visual ctermfg=Black ctermbg=Blue cterm=NONE
|
hi Visual ctermfg=Black ctermbg=Blue cterm=NONE
|
||||||
hi WarningMsg ctermfg=Red ctermbg=NONE cterm=bold
|
hi WarningMsg ctermfg=Red ctermbg=NONE cterm=bold
|
||||||
hi WildMenu ctermfg=Blue ctermbg=DarkGray cterm=bold
|
hi WildMenu ctermfg=Blue ctermbg=DarkGray cterm=bold
|
||||||
@@ -389,8 +392,8 @@ if &background == 'light'
|
|||||||
hi PmenuExtraSel guifg=#3c3836 guibg=#bdae93 guisp=NONE gui=NONE ctermfg=237 ctermbg=144 cterm=NONE term=NONE
|
hi PmenuExtraSel guifg=#3c3836 guibg=#bdae93 guisp=NONE gui=NONE ctermfg=237 ctermbg=144 cterm=NONE term=NONE
|
||||||
hi PmenuKind guifg=#9d0006 guibg=#e5d4b1 guisp=NONE gui=NONE ctermfg=124 ctermbg=187 cterm=NONE term=NONE
|
hi PmenuKind guifg=#9d0006 guibg=#e5d4b1 guisp=NONE gui=NONE ctermfg=124 ctermbg=187 cterm=NONE term=NONE
|
||||||
hi PmenuKindSel guifg=#9d0006 guibg=#bdae93 guisp=NONE gui=NONE ctermfg=124 ctermbg=144 cterm=NONE term=NONE
|
hi PmenuKindSel guifg=#9d0006 guibg=#bdae93 guisp=NONE gui=NONE ctermfg=124 ctermbg=144 cterm=NONE term=NONE
|
||||||
hi PmenuMatch guifg=#8f3f71 guibg=#e5d4b1 guisp=NONE gui=NONE ctermfg=126 ctermbg=187 cterm=NONE term=NONE
|
hi PmenuMatch guifg=#8f3f71 guibg=NONE guisp=NONE gui=NONE ctermfg=126 ctermbg=NONE cterm=NONE term=NONE
|
||||||
hi PmenuMatchSel guifg=#8f3f71 guibg=#bdae93 guisp=NONE gui=NONE ctermfg=126 ctermbg=144 cterm=NONE term=NONE
|
hi PmenuMatchSel guifg=#8f3f71 guibg=NONE guisp=NONE gui=NONE ctermfg=126 ctermbg=NONE cterm=NONE term=NONE
|
||||||
hi PmenuSbar guifg=NONE guibg=#e5d4b1 guisp=NONE gui=NONE ctermfg=NONE ctermbg=187 cterm=NONE term=reverse
|
hi PmenuSbar guifg=NONE guibg=#e5d4b1 guisp=NONE gui=NONE ctermfg=NONE ctermbg=187 cterm=NONE term=reverse
|
||||||
hi PmenuSel guifg=NONE guibg=#bdae93 guisp=NONE gui=NONE ctermfg=NONE ctermbg=144 cterm=NONE term=bold
|
hi PmenuSel guifg=NONE guibg=#bdae93 guisp=NONE gui=NONE ctermfg=NONE ctermbg=144 cterm=NONE term=bold
|
||||||
hi PmenuShadow guifg=#7c6f64 guibg=#303030 guisp=NONE gui=NONE ctermfg=243 ctermbg=236 cterm=NONE term=NONE
|
hi PmenuShadow guifg=#7c6f64 guibg=#303030 guisp=NONE gui=NONE ctermfg=243 ctermbg=236 cterm=NONE term=NONE
|
||||||
@@ -428,7 +431,8 @@ if &background == 'light'
|
|||||||
hi Type guifg=#b57614 guibg=NONE guisp=NONE gui=NONE ctermfg=172 ctermbg=NONE cterm=NONE term=NONE
|
hi Type guifg=#b57614 guibg=NONE guisp=NONE gui=NONE ctermfg=172 ctermbg=NONE cterm=NONE term=NONE
|
||||||
hi Typedef guifg=#b57614 guibg=NONE guisp=NONE gui=NONE ctermfg=172 ctermbg=NONE cterm=NONE term=NONE
|
hi Typedef guifg=#b57614 guibg=NONE guisp=NONE gui=NONE ctermfg=172 ctermbg=NONE cterm=NONE term=NONE
|
||||||
hi Underlined guifg=#076678 guibg=NONE guisp=NONE gui=underline ctermfg=23 ctermbg=NONE cterm=underline term=underline
|
hi Underlined guifg=#076678 guibg=NONE guisp=NONE gui=underline ctermfg=23 ctermbg=NONE cterm=underline term=underline
|
||||||
hi VertSplit guifg=#bdae93 guibg=#fbf1c7 guisp=NONE gui=NONE ctermfg=144 ctermbg=230 cterm=NONE term=NONE
|
hi VertSplit guifg=#7c6f64 guibg=#fbf1c7 guisp=NONE gui=NONE ctermfg=243 ctermbg=230 cterm=NONE term=NONE
|
||||||
|
hi VertSplitNC guifg=#bdae93 guibg=#fbf1c7 guisp=NONE gui=NONE ctermfg=144 ctermbg=230 cterm=NONE term=NONE
|
||||||
hi Visual guifg=NONE guibg=#b0d0d0 guisp=NONE gui=NONE ctermfg=23 ctermbg=230 cterm=reverse term=reverse
|
hi Visual guifg=NONE guibg=#b0d0d0 guisp=NONE gui=NONE ctermfg=23 ctermbg=230 cterm=reverse term=reverse
|
||||||
hi WarningMsg guifg=#9d0006 guibg=NONE guisp=NONE gui=bold ctermfg=124 ctermbg=NONE cterm=bold term=standout
|
hi WarningMsg guifg=#9d0006 guibg=NONE guisp=NONE gui=bold ctermfg=124 ctermbg=NONE cterm=bold term=standout
|
||||||
hi WildMenu guifg=#076678 guibg=#e5d4b1 guisp=NONE gui=bold ctermfg=23 ctermbg=187 cterm=bold term=bold
|
hi WildMenu guifg=#076678 guibg=#e5d4b1 guisp=NONE gui=bold ctermfg=23 ctermbg=187 cterm=bold term=bold
|
||||||
@@ -531,7 +535,8 @@ if &background == 'light'
|
|||||||
hi Type ctermfg=Yellow ctermbg=NONE cterm=NONE
|
hi Type ctermfg=Yellow ctermbg=NONE cterm=NONE
|
||||||
hi Typedef ctermfg=Yellow ctermbg=NONE cterm=NONE
|
hi Typedef ctermfg=Yellow ctermbg=NONE cterm=NONE
|
||||||
hi Underlined ctermfg=Blue ctermbg=NONE cterm=underline
|
hi Underlined ctermfg=Blue ctermbg=NONE cterm=underline
|
||||||
hi VertSplit ctermfg=DarkGray ctermbg=Grey cterm=NONE
|
hi VertSplit ctermfg=DarkGray ctermbg=White cterm=NONE
|
||||||
|
hi VertSplitNC ctermfg=DarkGray ctermbg=White cterm=NONE
|
||||||
hi Visual ctermfg=Blue ctermbg=White cterm=reverse
|
hi Visual ctermfg=Blue ctermbg=White cterm=reverse
|
||||||
hi WarningMsg ctermfg=Red ctermbg=NONE cterm=bold
|
hi WarningMsg ctermfg=Red ctermbg=NONE cterm=bold
|
||||||
hi WildMenu ctermfg=Black ctermbg=White cterm=bold
|
hi WildMenu ctermfg=Black ctermbg=White cterm=bold
|
||||||
@@ -626,7 +631,8 @@ if &background == 'light'
|
|||||||
hi Type ctermfg=Yellow ctermbg=NONE cterm=NONE
|
hi Type ctermfg=Yellow ctermbg=NONE cterm=NONE
|
||||||
hi Typedef ctermfg=Yellow ctermbg=NONE cterm=NONE
|
hi Typedef ctermfg=Yellow ctermbg=NONE cterm=NONE
|
||||||
hi Underlined ctermfg=Blue ctermbg=NONE cterm=underline
|
hi Underlined ctermfg=Blue ctermbg=NONE cterm=underline
|
||||||
hi VertSplit ctermfg=White ctermbg=Black cterm=NONE
|
hi VertSplit ctermfg=Black ctermbg=White cterm=NONE
|
||||||
|
hi VertSplitNC ctermfg=Black ctermbg=White cterm=NONE
|
||||||
hi Visual ctermfg=White ctermbg=Blue cterm=NONE
|
hi Visual ctermfg=White ctermbg=Blue cterm=NONE
|
||||||
hi WarningMsg ctermfg=Red ctermbg=NONE cterm=bold
|
hi WarningMsg ctermfg=Red ctermbg=NONE cterm=bold
|
||||||
hi WildMenu ctermfg=Blue ctermbg=Grey cterm=bold
|
hi WildMenu ctermfg=Blue ctermbg=Grey cterm=bold
|
||||||
|
|||||||
@@ -4,9 +4,9 @@
|
|||||||
" Maintainer: Original maintainer is Yasuhiro Matsumoto <mattn@mail.goo.ne.jp>
|
" Maintainer: Original maintainer is Yasuhiro Matsumoto <mattn@mail.goo.ne.jp>
|
||||||
" URL: https://github.com/vim/colorschemes
|
" URL: https://github.com/vim/colorschemes
|
||||||
" License: Same as Vim
|
" License: Same as Vim
|
||||||
" Last Change: 2025 Oct 08
|
" Last Change: 2026 Apr 27
|
||||||
|
|
||||||
" Generated by Colortemplate v3.0.0-beta10
|
" Generated by Colortemplate v3.0.0-rc1
|
||||||
|
|
||||||
set background=light
|
set background=light
|
||||||
|
|
||||||
@@ -96,7 +96,8 @@ hi ToolbarButton guifg=NONE guibg=#a8a8a8 guisp=NONE gui=bold ctermfg=NONE cterm
|
|||||||
hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
|
hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
|
||||||
hi Type guifg=#2e8b57 guibg=NONE guisp=NONE gui=bold ctermfg=29 ctermbg=NONE cterm=bold term=NONE
|
hi Type guifg=#2e8b57 guibg=NONE guisp=NONE gui=bold ctermfg=29 ctermbg=NONE cterm=bold term=NONE
|
||||||
hi Underlined guifg=#6a0dad guibg=NONE guisp=NONE gui=underline ctermfg=55 ctermbg=NONE cterm=underline term=underline
|
hi Underlined guifg=#6a0dad guibg=NONE guisp=NONE gui=underline ctermfg=55 ctermbg=NONE cterm=underline term=underline
|
||||||
hi VertSplit guifg=#a8a8a8 guibg=#a8a8a8 guisp=NONE gui=NONE ctermfg=248 ctermbg=248 cterm=NONE term=NONE
|
hi VertSplit guifg=#000000 guibg=#000000 guisp=NONE gui=NONE ctermfg=16 ctermbg=16 cterm=NONE term=NONE
|
||||||
|
hi VertSplitNC guifg=#a8a8a8 guibg=#a8a8a8 guisp=NONE gui=NONE ctermfg=248 ctermbg=248 cterm=NONE term=NONE
|
||||||
hi Visual guifg=#000000 guibg=#a8a8a8 guisp=NONE gui=NONE ctermfg=16 ctermbg=248 cterm=NONE term=reverse
|
hi Visual guifg=#000000 guibg=#a8a8a8 guisp=NONE gui=NONE ctermfg=16 ctermbg=248 cterm=NONE term=reverse
|
||||||
hi VisualNOS guifg=NONE guibg=NONE guisp=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=underline term=NONE
|
hi VisualNOS guifg=NONE guibg=NONE guisp=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=underline term=NONE
|
||||||
hi WarningMsg guifg=#6a0dad guibg=#ffffff guisp=NONE gui=NONE ctermfg=55 ctermbg=231 cterm=NONE term=standout
|
hi WarningMsg guifg=#6a0dad guibg=#ffffff guisp=NONE gui=NONE ctermfg=55 ctermbg=231 cterm=NONE term=standout
|
||||||
@@ -170,7 +171,8 @@ if s:t_Co >= 16
|
|||||||
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
|
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||||
hi Type ctermfg=darkgreen ctermbg=NONE cterm=bold
|
hi Type ctermfg=darkgreen ctermbg=NONE cterm=bold
|
||||||
hi Underlined ctermfg=darkmagenta ctermbg=NONE cterm=underline
|
hi Underlined ctermfg=darkmagenta ctermbg=NONE cterm=underline
|
||||||
hi VertSplit ctermfg=darkgrey ctermbg=darkgrey cterm=NONE
|
hi VertSplit ctermfg=black ctermbg=black cterm=NONE
|
||||||
|
hi VertSplitNC ctermfg=darkgrey ctermbg=darkgrey cterm=NONE
|
||||||
hi Visual ctermfg=black ctermbg=darkgrey cterm=NONE
|
hi Visual ctermfg=black ctermbg=darkgrey cterm=NONE
|
||||||
hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=underline
|
hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=underline
|
||||||
hi WarningMsg ctermfg=darkmagenta ctermbg=white cterm=NONE
|
hi WarningMsg ctermfg=darkmagenta ctermbg=white cterm=NONE
|
||||||
@@ -243,6 +245,7 @@ if s:t_Co >= 8
|
|||||||
hi Type ctermfg=darkgreen ctermbg=NONE cterm=NONE
|
hi Type ctermfg=darkgreen ctermbg=NONE cterm=NONE
|
||||||
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
|
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
|
||||||
hi VertSplit ctermfg=black ctermbg=grey cterm=reverse
|
hi VertSplit ctermfg=black ctermbg=grey cterm=reverse
|
||||||
|
hi VertSplitNC ctermfg=black ctermbg=grey cterm=reverse
|
||||||
hi Visual ctermfg=NONE ctermbg=NONE cterm=reverse
|
hi Visual ctermfg=NONE ctermbg=NONE cterm=reverse
|
||||||
hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=underline
|
hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=underline
|
||||||
hi WarningMsg ctermfg=darkmagenta ctermbg=NONE cterm=NONE
|
hi WarningMsg ctermfg=darkmagenta ctermbg=NONE cterm=NONE
|
||||||
|
|||||||
@@ -4,9 +4,9 @@
|
|||||||
" Maintainer: Original maintainer Ralph Amissah <ralph@amissah.com>
|
" Maintainer: Original maintainer Ralph Amissah <ralph@amissah.com>
|
||||||
" URL: https://github.com/vim/colorschemes
|
" URL: https://github.com/vim/colorschemes
|
||||||
" License: Same as Vim
|
" License: Same as Vim
|
||||||
" Last Change: 2025 Oct 08
|
" Last Change: 2026 Apr 27
|
||||||
|
|
||||||
" Generated by Colortemplate v3.0.0-beta10
|
" Generated by Colortemplate v3.0.0-rc1
|
||||||
|
|
||||||
set background=dark
|
set background=dark
|
||||||
|
|
||||||
@@ -93,7 +93,8 @@ hi ToolbarButton guifg=#262626 guibg=#d7d787 guisp=NONE gui=NONE ctermfg=235 cte
|
|||||||
hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
|
hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
|
||||||
hi Type guifg=#5f87d7 guibg=NONE guisp=NONE gui=bold ctermfg=68 ctermbg=NONE cterm=bold term=NONE
|
hi Type guifg=#5f87d7 guibg=NONE guisp=NONE gui=bold ctermfg=68 ctermbg=NONE cterm=bold term=NONE
|
||||||
hi Underlined guifg=#5f87d7 guibg=NONE guisp=NONE gui=underline ctermfg=68 ctermbg=NONE cterm=underline term=underline
|
hi Underlined guifg=#5f87d7 guibg=NONE guisp=NONE gui=underline ctermfg=68 ctermbg=NONE cterm=underline term=underline
|
||||||
hi VertSplit guifg=#666666 guibg=#afaf87 guisp=NONE gui=NONE ctermfg=241 ctermbg=144 cterm=NONE term=NONE
|
hi VertSplit guifg=#000000 guibg=#afaf87 guisp=NONE gui=NONE ctermfg=16 ctermbg=144 cterm=NONE term=NONE
|
||||||
|
hi VertSplitNC guifg=#666666 guibg=#afaf87 guisp=NONE gui=NONE ctermfg=241 ctermbg=144 cterm=NONE term=NONE
|
||||||
hi Visual guifg=#d7d787 guibg=#5f8700 guisp=NONE gui=NONE ctermfg=186 ctermbg=64 cterm=NONE term=reverse
|
hi Visual guifg=#d7d787 guibg=#5f8700 guisp=NONE gui=NONE ctermfg=186 ctermbg=64 cterm=NONE term=reverse
|
||||||
hi VisualNOS guifg=#d7d787 guibg=#5f8700 guisp=NONE gui=NONE ctermfg=186 ctermbg=64 cterm=NONE term=NONE
|
hi VisualNOS guifg=#d7d787 guibg=#5f8700 guisp=NONE gui=NONE ctermfg=186 ctermbg=64 cterm=NONE term=NONE
|
||||||
hi WarningMsg guifg=#ff8787 guibg=NONE guisp=NONE gui=NONE ctermfg=210 ctermbg=NONE cterm=NONE term=standout
|
hi WarningMsg guifg=#ff8787 guibg=NONE guisp=NONE gui=NONE ctermfg=210 ctermbg=NONE cterm=NONE term=standout
|
||||||
@@ -173,7 +174,8 @@ if s:t_Co >= 16
|
|||||||
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
|
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||||
hi Type ctermfg=blue ctermbg=NONE cterm=bold
|
hi Type ctermfg=blue ctermbg=NONE cterm=bold
|
||||||
hi Underlined ctermfg=blue ctermbg=NONE cterm=underline
|
hi Underlined ctermfg=blue ctermbg=NONE cterm=underline
|
||||||
hi VertSplit ctermfg=darkgrey ctermbg=grey cterm=NONE
|
hi VertSplit ctermfg=white ctermbg=black cterm=reverse
|
||||||
|
hi VertSplitNC ctermfg=darkgrey ctermbg=grey cterm=NONE
|
||||||
hi Visual ctermfg=yellow ctermbg=darkgreen cterm=NONE
|
hi Visual ctermfg=yellow ctermbg=darkgreen cterm=NONE
|
||||||
hi VisualNOS ctermfg=darkmagenta ctermbg=darkgreen cterm=NONE
|
hi VisualNOS ctermfg=darkmagenta ctermbg=darkgreen cterm=NONE
|
||||||
hi WarningMsg ctermfg=cyan ctermbg=NONE cterm=NONE
|
hi WarningMsg ctermfg=cyan ctermbg=NONE cterm=NONE
|
||||||
@@ -247,6 +249,7 @@ if s:t_Co >= 8
|
|||||||
hi Type ctermfg=darkblue ctermbg=NONE cterm=bold
|
hi Type ctermfg=darkblue ctermbg=NONE cterm=bold
|
||||||
hi Underlined ctermfg=blue ctermbg=NONE cterm=underline
|
hi Underlined ctermfg=blue ctermbg=NONE cterm=underline
|
||||||
hi VertSplit ctermfg=grey ctermbg=black cterm=reverse
|
hi VertSplit ctermfg=grey ctermbg=black cterm=reverse
|
||||||
|
hi VertSplitNC ctermfg=grey ctermbg=black cterm=reverse
|
||||||
hi Visual ctermfg=NONE ctermbg=NONE cterm=reverse
|
hi Visual ctermfg=NONE ctermbg=NONE cterm=reverse
|
||||||
hi VisualNOS ctermfg=darkmagenta ctermbg=darkgreen cterm=underline
|
hi VisualNOS ctermfg=darkmagenta ctermbg=darkgreen cterm=underline
|
||||||
hi WarningMsg ctermfg=darkcyan ctermbg=NONE cterm=NONE
|
hi WarningMsg ctermfg=darkcyan ctermbg=NONE cterm=NONE
|
||||||
|
|||||||
@@ -4,9 +4,9 @@
|
|||||||
" Maintainer: Original maintainer Thorsten Maerz <info@netztorte.de>
|
" Maintainer: Original maintainer Thorsten Maerz <info@netztorte.de>
|
||||||
" URL: https://github.com/vim/colorschemes
|
" URL: https://github.com/vim/colorschemes
|
||||||
" License: Same as Vim
|
" License: Same as Vim
|
||||||
" Last Change: 2025 Oct 08
|
" Last Change: 2026 Apr 24
|
||||||
|
|
||||||
" Generated by Colortemplate v3.0.0-beta10
|
" Generated by Colortemplate v3.0.0-rc1
|
||||||
|
|
||||||
set background=dark
|
set background=dark
|
||||||
|
|
||||||
@@ -93,7 +93,8 @@ hi ToolbarButton guifg=#000000 guibg=#e5e5e5 guisp=NONE gui=bold ctermfg=16 cter
|
|||||||
hi ToolbarLine guifg=NONE guibg=#000000 guisp=NONE gui=NONE ctermfg=NONE ctermbg=16 cterm=NONE term=reverse
|
hi ToolbarLine guifg=NONE guibg=#000000 guisp=NONE gui=NONE ctermfg=NONE ctermbg=16 cterm=NONE term=reverse
|
||||||
hi Type guifg=#60ff60 guibg=NONE guisp=NONE gui=NONE ctermfg=83 ctermbg=NONE cterm=NONE term=NONE
|
hi Type guifg=#60ff60 guibg=NONE guisp=NONE gui=NONE ctermfg=83 ctermbg=NONE cterm=NONE term=NONE
|
||||||
hi Underlined guifg=#80a0ff guibg=NONE guisp=NONE gui=underline ctermfg=111 ctermbg=NONE cterm=underline term=underline
|
hi Underlined guifg=#80a0ff guibg=NONE guisp=NONE gui=underline ctermfg=111 ctermbg=NONE cterm=underline term=underline
|
||||||
hi VertSplit guifg=#000000 guibg=#e5e5e5 guisp=NONE gui=NONE ctermfg=16 ctermbg=254 cterm=NONE term=NONE
|
hi VertSplit guifg=#000000 guibg=#0000ee guisp=NONE gui=NONE ctermfg=16 ctermbg=20 cterm=NONE term=NONE
|
||||||
|
hi VertSplitNC guifg=#000000 guibg=#e5e5e5 guisp=NONE gui=NONE ctermfg=16 ctermbg=254 cterm=NONE term=NONE
|
||||||
hi Visual guifg=#000000 guibg=#a9a9a9 guisp=NONE gui=bold ctermfg=16 ctermbg=248 cterm=NONE term=reverse
|
hi Visual guifg=#000000 guibg=#a9a9a9 guisp=NONE gui=bold ctermfg=16 ctermbg=248 cterm=NONE term=reverse
|
||||||
hi VisualNOS guifg=NONE guibg=#000000 guisp=NONE gui=bold,underline ctermfg=NONE ctermbg=16 cterm=underline term=NONE
|
hi VisualNOS guifg=NONE guibg=#000000 guisp=NONE gui=bold,underline ctermfg=NONE ctermbg=16 cterm=underline term=NONE
|
||||||
hi WarningMsg guifg=#ff0000 guibg=NONE guisp=NONE gui=NONE ctermfg=196 ctermbg=NONE cterm=NONE term=standout
|
hi WarningMsg guifg=#ff0000 guibg=NONE guisp=NONE gui=NONE ctermfg=196 ctermbg=NONE cterm=NONE term=standout
|
||||||
@@ -164,7 +165,8 @@ if s:t_Co >= 16
|
|||||||
hi ToolbarLine ctermfg=NONE ctermbg=black cterm=NONE
|
hi ToolbarLine ctermfg=NONE ctermbg=black cterm=NONE
|
||||||
hi Type ctermfg=green ctermbg=NONE cterm=NONE
|
hi Type ctermfg=green ctermbg=NONE cterm=NONE
|
||||||
hi Underlined ctermfg=blue ctermbg=NONE cterm=underline
|
hi Underlined ctermfg=blue ctermbg=NONE cterm=underline
|
||||||
hi VertSplit ctermfg=black ctermbg=grey cterm=NONE
|
hi VertSplit ctermfg=black ctermbg=darkblue cterm=NONE
|
||||||
|
hi VertSplitNC ctermfg=black ctermbg=grey cterm=NONE
|
||||||
hi Visual ctermfg=black ctermbg=grey cterm=NONE
|
hi Visual ctermfg=black ctermbg=grey cterm=NONE
|
||||||
hi VisualNOS ctermfg=NONE ctermbg=black cterm=underline
|
hi VisualNOS ctermfg=NONE ctermbg=black cterm=underline
|
||||||
hi WarningMsg ctermfg=red ctermbg=NONE cterm=NONE
|
hi WarningMsg ctermfg=red ctermbg=NONE cterm=NONE
|
||||||
@@ -233,7 +235,8 @@ if s:t_Co >= 8
|
|||||||
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
|
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||||
hi Type ctermfg=darkgreen ctermbg=NONE cterm=NONE
|
hi Type ctermfg=darkgreen ctermbg=NONE cterm=NONE
|
||||||
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
|
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
|
||||||
hi VertSplit ctermfg=black ctermbg=grey cterm=NONE
|
hi VertSplit ctermfg=grey ctermbg=darkblue cterm=NONE
|
||||||
|
hi VertSplitNC ctermfg=black ctermbg=grey cterm=NONE
|
||||||
hi Visual ctermfg=NONE ctermbg=NONE cterm=reverse
|
hi Visual ctermfg=NONE ctermbg=NONE cterm=reverse
|
||||||
hi VisualNOS ctermfg=NONE ctermbg=black cterm=underline
|
hi VisualNOS ctermfg=NONE ctermbg=black cterm=underline
|
||||||
hi WarningMsg ctermfg=darkred ctermbg=NONE cterm=NONE
|
hi WarningMsg ctermfg=darkred ctermbg=NONE cterm=NONE
|
||||||
|
|||||||
@@ -2,9 +2,9 @@
|
|||||||
" Description: Color scheme similar to Monokai originally created by Wimer Hazenberg for TextMate
|
" Description: Color scheme similar to Monokai originally created by Wimer Hazenberg for TextMate
|
||||||
" Author: k-37 <60838818+k-37@users.noreply.github.com>
|
" Author: k-37 <60838818+k-37@users.noreply.github.com>
|
||||||
" URL: https://github.com/vim/colorschemes
|
" URL: https://github.com/vim/colorschemes
|
||||||
" Last Change: 2025 Oct 08
|
" Last Change: 2026 May 07
|
||||||
|
|
||||||
" Generated by Colortemplate v3.0.0-beta10
|
" Generated by Colortemplate v3.0.0-rc1
|
||||||
|
|
||||||
set background=dark
|
set background=dark
|
||||||
|
|
||||||
@@ -108,7 +108,8 @@ hi ToolbarButton guifg=#74705d guibg=#f8f8f2 guisp=NONE gui=bold,reverse ctermfg
|
|||||||
hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
|
hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
|
||||||
hi Type guifg=#fd971f guibg=NONE guisp=NONE gui=bold ctermfg=208 ctermbg=NONE cterm=bold term=NONE
|
hi Type guifg=#fd971f guibg=NONE guisp=NONE gui=bold ctermfg=208 ctermbg=NONE cterm=bold term=NONE
|
||||||
hi Underlined guifg=#66d9ef guibg=NONE guisp=NONE gui=underline ctermfg=81 ctermbg=NONE cterm=underline term=underline
|
hi Underlined guifg=#66d9ef guibg=NONE guisp=NONE gui=underline ctermfg=81 ctermbg=NONE cterm=underline term=underline
|
||||||
hi VertSplit guifg=#74705d guibg=#74705d guisp=NONE gui=NONE ctermfg=244 ctermbg=244 cterm=NONE term=NONE
|
hi VertSplit guifg=#bababa guibg=#bababa guisp=NONE gui=NONE ctermfg=250 ctermbg=250 cterm=NONE term=NONE
|
||||||
|
hi VertSplitNC guifg=#74705d guibg=#74705d guisp=NONE gui=NONE ctermfg=244 ctermbg=244 cterm=NONE term=NONE
|
||||||
hi Visual guifg=#a1efe4 guibg=#282923 guisp=NONE gui=reverse ctermfg=116 ctermbg=235 cterm=reverse term=reverse
|
hi Visual guifg=#a1efe4 guibg=#282923 guisp=NONE gui=reverse ctermfg=116 ctermbg=235 cterm=reverse term=reverse
|
||||||
hi VisualNOS guifg=#282923 guibg=#80beb5 guisp=NONE gui=NONE ctermfg=235 ctermbg=73 cterm=NONE term=NONE
|
hi VisualNOS guifg=#282923 guibg=#80beb5 guisp=NONE gui=NONE ctermfg=235 ctermbg=73 cterm=NONE term=NONE
|
||||||
hi WarningMsg guifg=#f92672 guibg=NONE guisp=NONE gui=NONE ctermfg=197 ctermbg=NONE cterm=NONE term=standout
|
hi WarningMsg guifg=#f92672 guibg=NONE guisp=NONE gui=NONE ctermfg=197 ctermbg=NONE cterm=NONE term=standout
|
||||||
@@ -206,7 +207,8 @@ if s:t_Co >= 16
|
|||||||
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
|
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||||
hi Type ctermfg=darkyellow ctermbg=NONE cterm=bold
|
hi Type ctermfg=darkyellow ctermbg=NONE cterm=bold
|
||||||
hi Underlined ctermfg=blue ctermbg=NONE cterm=underline
|
hi Underlined ctermfg=blue ctermbg=NONE cterm=underline
|
||||||
hi VertSplit ctermfg=darkgray ctermbg=darkgray cterm=NONE
|
hi VertSplit ctermfg=gray ctermbg=gray cterm=NONE
|
||||||
|
hi VertSplitNC ctermfg=darkgray ctermbg=darkgray cterm=NONE
|
||||||
hi Visual ctermfg=cyan ctermbg=black cterm=reverse
|
hi Visual ctermfg=cyan ctermbg=black cterm=reverse
|
||||||
hi VisualNOS ctermfg=black ctermbg=darkcyan cterm=NONE
|
hi VisualNOS ctermfg=black ctermbg=darkcyan cterm=NONE
|
||||||
hi WarningMsg ctermfg=red ctermbg=NONE cterm=NONE
|
hi WarningMsg ctermfg=red ctermbg=NONE cterm=NONE
|
||||||
@@ -298,6 +300,7 @@ if s:t_Co >= 8
|
|||||||
hi Type ctermfg=darkyellow ctermbg=NONE cterm=bold
|
hi Type ctermfg=darkyellow ctermbg=NONE cterm=bold
|
||||||
hi Underlined ctermfg=darkblue ctermbg=NONE cterm=underline
|
hi Underlined ctermfg=darkblue ctermbg=NONE cterm=underline
|
||||||
hi VertSplit ctermfg=gray ctermbg=gray cterm=NONE
|
hi VertSplit ctermfg=gray ctermbg=gray cterm=NONE
|
||||||
|
hi VertSplitNC ctermfg=gray ctermbg=gray cterm=NONE
|
||||||
hi Visual ctermfg=black ctermbg=darkcyan cterm=NONE
|
hi Visual ctermfg=black ctermbg=darkcyan cterm=NONE
|
||||||
hi VisualNOS ctermfg=black ctermbg=darkcyan cterm=NONE
|
hi VisualNOS ctermfg=black ctermbg=darkcyan cterm=NONE
|
||||||
hi WarningMsg ctermfg=darkred ctermbg=NONE cterm=NONE
|
hi WarningMsg ctermfg=darkred ctermbg=NONE cterm=NONE
|
||||||
|
|||||||
@@ -3,9 +3,9 @@
|
|||||||
" Author: Maxim Kim <habamax@gmail.com>
|
" Author: Maxim Kim <habamax@gmail.com>
|
||||||
" URL: https://github.com/vim/colorschemes
|
" URL: https://github.com/vim/colorschemes
|
||||||
" License: Same as Vim
|
" License: Same as Vim
|
||||||
" Last Change: 2025 Oct 22
|
" Last Change: 2026 Apr 30
|
||||||
|
|
||||||
" Generated by Colortemplate v3.0.0-beta10
|
" Generated by Colortemplate v3.0.0-rc1
|
||||||
|
|
||||||
hi clear
|
hi clear
|
||||||
let g:colors_name = 'wildcharm'
|
let g:colors_name = 'wildcharm'
|
||||||
@@ -67,8 +67,8 @@ if &background == 'dark'
|
|||||||
hi PmenuExtraSel guifg=#767676 guibg=#585858 guisp=NONE gui=NONE ctermfg=243 ctermbg=240 cterm=NONE term=NONE
|
hi PmenuExtraSel guifg=#767676 guibg=#585858 guisp=NONE gui=NONE ctermfg=243 ctermbg=240 cterm=NONE term=NONE
|
||||||
hi PmenuKind guifg=#ff5f87 guibg=#303030 guisp=NONE gui=NONE ctermfg=204 ctermbg=236 cterm=NONE term=NONE
|
hi PmenuKind guifg=#ff5f87 guibg=#303030 guisp=NONE gui=NONE ctermfg=204 ctermbg=236 cterm=NONE term=NONE
|
||||||
hi PmenuKindSel guifg=#ff5f87 guibg=#585858 guisp=NONE gui=NONE ctermfg=204 ctermbg=240 cterm=NONE term=NONE
|
hi PmenuKindSel guifg=#ff5f87 guibg=#585858 guisp=NONE gui=NONE ctermfg=204 ctermbg=240 cterm=NONE term=NONE
|
||||||
hi PmenuMatch guifg=#d787d7 guibg=#303030 guisp=NONE gui=NONE ctermfg=176 ctermbg=236 cterm=NONE term=NONE
|
hi PmenuMatch guifg=#d787d7 guibg=NONE guisp=NONE gui=NONE ctermfg=176 ctermbg=NONE cterm=NONE term=NONE
|
||||||
hi PmenuMatchSel guifg=#d787d7 guibg=#585858 guisp=NONE gui=NONE ctermfg=176 ctermbg=240 cterm=NONE term=NONE
|
hi PmenuMatchSel guifg=#d787d7 guibg=NONE guisp=NONE gui=NONE ctermfg=176 ctermbg=NONE cterm=NONE term=NONE
|
||||||
hi PmenuSbar guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
|
hi PmenuSbar guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
|
||||||
hi PmenuSel guifg=NONE guibg=#585858 guisp=NONE gui=NONE ctermfg=NONE ctermbg=240 cterm=NONE term=bold
|
hi PmenuSel guifg=NONE guibg=#585858 guisp=NONE gui=NONE ctermfg=NONE ctermbg=240 cterm=NONE term=bold
|
||||||
hi PmenuShadow guifg=#767676 guibg=#121212 guisp=NONE gui=NONE ctermfg=243 ctermbg=233 cterm=NONE term=NONE
|
hi PmenuShadow guifg=#767676 guibg=#121212 guisp=NONE gui=NONE ctermfg=243 ctermbg=233 cterm=NONE term=NONE
|
||||||
@@ -100,7 +100,8 @@ if &background == 'dark'
|
|||||||
hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
|
hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
|
||||||
hi Type guifg=#ffaf00 guibg=NONE guisp=NONE gui=NONE ctermfg=214 ctermbg=NONE cterm=NONE term=NONE
|
hi Type guifg=#ffaf00 guibg=NONE guisp=NONE gui=NONE ctermfg=214 ctermbg=NONE cterm=NONE term=NONE
|
||||||
hi Underlined guifg=NONE guibg=NONE guisp=NONE gui=underline ctermfg=NONE ctermbg=NONE cterm=underline term=underline
|
hi Underlined guifg=NONE guibg=NONE guisp=NONE gui=underline ctermfg=NONE ctermbg=NONE cterm=underline term=underline
|
||||||
hi VertSplit guifg=#767676 guibg=#767676 guisp=NONE gui=NONE ctermfg=243 ctermbg=243 cterm=NONE term=NONE
|
hi VertSplit guifg=#9e9e9e guibg=#9e9e9e guisp=NONE gui=NONE ctermfg=247 ctermbg=247 cterm=NONE term=NONE
|
||||||
|
hi VertSplitNC guifg=#767676 guibg=#767676 guisp=NONE gui=NONE ctermfg=243 ctermbg=243 cterm=NONE term=NONE
|
||||||
hi Visual guifg=NONE guibg=#204060 guisp=NONE gui=NONE ctermfg=81 ctermbg=16 cterm=reverse term=reverse
|
hi Visual guifg=NONE guibg=#204060 guisp=NONE gui=NONE ctermfg=81 ctermbg=16 cterm=reverse term=reverse
|
||||||
hi VisualNOS guifg=#000000 guibg=#00afff guisp=NONE gui=NONE ctermfg=16 ctermbg=39 cterm=NONE term=NONE
|
hi VisualNOS guifg=#000000 guibg=#00afff guisp=NONE gui=NONE ctermfg=16 ctermbg=39 cterm=NONE term=NONE
|
||||||
hi WarningMsg guifg=#ffaf00 guibg=NONE guisp=NONE gui=NONE ctermfg=214 ctermbg=NONE cterm=NONE term=standout
|
hi WarningMsg guifg=#ffaf00 guibg=NONE guisp=NONE gui=NONE ctermfg=214 ctermbg=NONE cterm=NONE term=standout
|
||||||
@@ -191,7 +192,8 @@ if &background == 'dark'
|
|||||||
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
|
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||||
hi Type ctermfg=yellow ctermbg=NONE cterm=NONE
|
hi Type ctermfg=yellow ctermbg=NONE cterm=NONE
|
||||||
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
|
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
|
||||||
hi VertSplit ctermfg=darkgrey ctermbg=darkgrey cterm=NONE
|
hi VertSplit ctermfg=grey ctermbg=grey cterm=NONE
|
||||||
|
hi VertSplitNC ctermfg=darkgrey ctermbg=darkgrey cterm=NONE
|
||||||
hi Visual ctermfg=cyan ctermbg=black cterm=reverse
|
hi Visual ctermfg=cyan ctermbg=black cterm=reverse
|
||||||
hi VisualNOS ctermfg=black ctermbg=blue cterm=NONE
|
hi VisualNOS ctermfg=black ctermbg=blue cterm=NONE
|
||||||
hi WarningMsg ctermfg=yellow ctermbg=NONE cterm=NONE
|
hi WarningMsg ctermfg=yellow ctermbg=NONE cterm=NONE
|
||||||
@@ -270,6 +272,7 @@ if &background == 'dark'
|
|||||||
hi Type ctermfg=darkyellow ctermbg=NONE cterm=NONE
|
hi Type ctermfg=darkyellow ctermbg=NONE cterm=NONE
|
||||||
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
|
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
|
||||||
hi VertSplit ctermfg=grey ctermbg=grey cterm=NONE
|
hi VertSplit ctermfg=grey ctermbg=grey cterm=NONE
|
||||||
|
hi VertSplitNC ctermfg=grey ctermbg=grey cterm=NONE
|
||||||
hi Visual ctermfg=darkblue ctermbg=black cterm=reverse
|
hi Visual ctermfg=darkblue ctermbg=black cterm=reverse
|
||||||
hi VisualNOS ctermfg=black ctermbg=darkblue cterm=NONE
|
hi VisualNOS ctermfg=black ctermbg=darkblue cterm=NONE
|
||||||
hi WarningMsg ctermfg=darkyellow ctermbg=NONE cterm=NONE
|
hi WarningMsg ctermfg=darkyellow ctermbg=NONE cterm=NONE
|
||||||
@@ -331,13 +334,13 @@ if &background == 'light'
|
|||||||
hi Pmenu guifg=NONE guibg=#e4e4e4 guisp=NONE gui=NONE ctermfg=NONE ctermbg=254 cterm=NONE term=reverse
|
hi Pmenu guifg=NONE guibg=#e4e4e4 guisp=NONE gui=NONE ctermfg=NONE ctermbg=254 cterm=NONE term=reverse
|
||||||
hi PmenuBorder guifg=#808080 guibg=#e4e4e4 guisp=NONE gui=NONE ctermfg=240 ctermbg=254 cterm=NONE term=NONE
|
hi PmenuBorder guifg=#808080 guibg=#e4e4e4 guisp=NONE gui=NONE ctermfg=240 ctermbg=254 cterm=NONE term=NONE
|
||||||
hi PmenuExtra guifg=#808080 guibg=#e4e4e4 guisp=NONE gui=NONE ctermfg=240 ctermbg=254 cterm=NONE term=NONE
|
hi PmenuExtra guifg=#808080 guibg=#e4e4e4 guisp=NONE gui=NONE ctermfg=240 ctermbg=254 cterm=NONE term=NONE
|
||||||
hi PmenuExtraSel guifg=#808080 guibg=#d0d0d0 guisp=NONE gui=NONE ctermfg=240 ctermbg=252 cterm=NONE term=NONE
|
hi PmenuExtraSel guifg=#808080 guibg=#c6c6c6 guisp=NONE gui=NONE ctermfg=240 ctermbg=251 cterm=NONE term=NONE
|
||||||
hi PmenuKind guifg=#d70000 guibg=#e4e4e4 guisp=NONE gui=NONE ctermfg=160 ctermbg=254 cterm=NONE term=NONE
|
hi PmenuKind guifg=#d70000 guibg=#e4e4e4 guisp=NONE gui=NONE ctermfg=160 ctermbg=254 cterm=NONE term=NONE
|
||||||
hi PmenuKindSel guifg=#d70000 guibg=#d0d0d0 guisp=NONE gui=NONE ctermfg=160 ctermbg=252 cterm=NONE term=NONE
|
hi PmenuKindSel guifg=#d70000 guibg=#c6c6c6 guisp=NONE gui=NONE ctermfg=160 ctermbg=251 cterm=NONE term=NONE
|
||||||
hi PmenuMatch guifg=#870087 guibg=#e4e4e4 guisp=NONE gui=NONE ctermfg=90 ctermbg=254 cterm=NONE term=NONE
|
hi PmenuMatch guifg=#870087 guibg=NONE guisp=NONE gui=NONE ctermfg=90 ctermbg=NONE cterm=NONE term=NONE
|
||||||
hi PmenuMatchSel guifg=#870087 guibg=#d0d0d0 guisp=NONE gui=NONE ctermfg=90 ctermbg=252 cterm=NONE term=NONE
|
hi PmenuMatchSel guifg=#870087 guibg=NONE guisp=NONE gui=NONE ctermfg=90 ctermbg=NONE cterm=NONE term=NONE
|
||||||
hi PmenuSbar guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
|
hi PmenuSbar guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
|
||||||
hi PmenuSel guifg=NONE guibg=#d0d0d0 guisp=NONE gui=NONE ctermfg=NONE ctermbg=252 cterm=NONE term=bold
|
hi PmenuSel guifg=NONE guibg=#c6c6c6 guisp=NONE gui=NONE ctermfg=NONE ctermbg=251 cterm=NONE term=bold
|
||||||
hi PmenuShadow guifg=#808080 guibg=#303030 guisp=NONE gui=NONE ctermfg=240 ctermbg=236 cterm=NONE term=NONE
|
hi PmenuShadow guifg=#808080 guibg=#303030 guisp=NONE gui=NONE ctermfg=240 ctermbg=236 cterm=NONE term=NONE
|
||||||
hi PmenuThumb guifg=NONE guibg=#808080 guisp=NONE gui=NONE ctermfg=NONE ctermbg=240 cterm=NONE term=NONE
|
hi PmenuThumb guifg=NONE guibg=#808080 guisp=NONE gui=NONE ctermfg=NONE ctermbg=240 cterm=NONE term=NONE
|
||||||
hi PreProc guifg=#008787 guibg=NONE guisp=NONE gui=NONE ctermfg=30 ctermbg=NONE cterm=NONE term=NONE
|
hi PreProc guifg=#008787 guibg=NONE guisp=NONE gui=NONE ctermfg=30 ctermbg=NONE cterm=NONE term=NONE
|
||||||
@@ -367,7 +370,8 @@ if &background == 'light'
|
|||||||
hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
|
hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
|
||||||
hi Type guifg=#af5f00 guibg=NONE guisp=NONE gui=NONE ctermfg=130 ctermbg=NONE cterm=NONE term=NONE
|
hi Type guifg=#af5f00 guibg=NONE guisp=NONE gui=NONE ctermfg=130 ctermbg=NONE cterm=NONE term=NONE
|
||||||
hi Underlined guifg=NONE guibg=NONE guisp=NONE gui=underline ctermfg=NONE ctermbg=NONE cterm=underline term=underline
|
hi Underlined guifg=NONE guibg=NONE guisp=NONE gui=underline ctermfg=NONE ctermbg=NONE cterm=underline term=underline
|
||||||
hi VertSplit guifg=#d0d0d0 guibg=#d0d0d0 guisp=NONE gui=NONE ctermfg=252 ctermbg=252 cterm=NONE term=NONE
|
hi VertSplit guifg=#5f5f5f guibg=#5f5f5f guisp=NONE gui=NONE ctermfg=59 ctermbg=59 cterm=NONE term=NONE
|
||||||
|
hi VertSplitNC guifg=#d0d0d0 guibg=#d0d0d0 guisp=NONE gui=NONE ctermfg=252 ctermbg=252 cterm=NONE term=NONE
|
||||||
hi Visual guifg=NONE guibg=#bfdfff guisp=NONE gui=NONE ctermfg=32 ctermbg=231 cterm=reverse term=reverse
|
hi Visual guifg=NONE guibg=#bfdfff guisp=NONE gui=NONE ctermfg=32 ctermbg=231 cterm=reverse term=reverse
|
||||||
hi VisualNOS guifg=#ffffff guibg=#005faf guisp=NONE gui=NONE ctermfg=231 ctermbg=25 cterm=NONE term=NONE
|
hi VisualNOS guifg=#ffffff guibg=#005faf guisp=NONE gui=NONE ctermfg=231 ctermbg=25 cterm=NONE term=NONE
|
||||||
hi WarningMsg guifg=#af5f00 guibg=NONE guisp=NONE gui=NONE ctermfg=130 ctermbg=NONE cterm=NONE term=standout
|
hi WarningMsg guifg=#af5f00 guibg=NONE guisp=NONE gui=NONE ctermfg=130 ctermbg=NONE cterm=NONE term=standout
|
||||||
@@ -458,7 +462,8 @@ if &background == 'light'
|
|||||||
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
|
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||||
hi Type ctermfg=darkyellow ctermbg=NONE cterm=NONE
|
hi Type ctermfg=darkyellow ctermbg=NONE cterm=NONE
|
||||||
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
|
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
|
||||||
hi VertSplit ctermfg=lightgrey ctermbg=lightgrey cterm=NONE
|
hi VertSplit ctermfg=darkgrey ctermbg=darkgrey cterm=NONE
|
||||||
|
hi VertSplitNC ctermfg=lightgrey ctermbg=lightgrey cterm=NONE
|
||||||
hi Visual ctermfg=blue ctermbg=white cterm=reverse
|
hi Visual ctermfg=blue ctermbg=white cterm=reverse
|
||||||
hi VisualNOS ctermfg=white ctermbg=darkblue cterm=NONE
|
hi VisualNOS ctermfg=white ctermbg=darkblue cterm=NONE
|
||||||
hi WarningMsg ctermfg=darkyellow ctermbg=NONE cterm=NONE
|
hi WarningMsg ctermfg=darkyellow ctermbg=NONE cterm=NONE
|
||||||
@@ -537,6 +542,7 @@ if &background == 'light'
|
|||||||
hi Type ctermfg=darkyellow ctermbg=NONE cterm=NONE
|
hi Type ctermfg=darkyellow ctermbg=NONE cterm=NONE
|
||||||
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
|
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
|
||||||
hi VertSplit ctermfg=black ctermbg=black cterm=NONE
|
hi VertSplit ctermfg=black ctermbg=black cterm=NONE
|
||||||
|
hi VertSplitNC ctermfg=black ctermbg=black cterm=NONE
|
||||||
hi Visual ctermfg=darkblue ctermbg=grey cterm=reverse
|
hi Visual ctermfg=darkblue ctermbg=grey cterm=reverse
|
||||||
hi VisualNOS ctermfg=black ctermbg=darkblue cterm=NONE
|
hi VisualNOS ctermfg=black ctermbg=darkblue cterm=NONE
|
||||||
hi WarningMsg ctermfg=darkyellow ctermbg=NONE cterm=NONE
|
hi WarningMsg ctermfg=darkyellow ctermbg=NONE cterm=NONE
|
||||||
|
|||||||
@@ -4,9 +4,9 @@
|
|||||||
" Maintainer: Original maintainer Ron Aaron <ron@ronware.org>
|
" Maintainer: Original maintainer Ron Aaron <ron@ronware.org>
|
||||||
" URL: https://github.com/vim/colorschemes
|
" URL: https://github.com/vim/colorschemes
|
||||||
" License: Same as Vim
|
" License: Same as Vim
|
||||||
" Last Change: 2025 Oct 08
|
" Last Change: 2026 Apr 27
|
||||||
|
|
||||||
" Generated by Colortemplate v3.0.0-beta10
|
" Generated by Colortemplate v3.0.0-rc1
|
||||||
|
|
||||||
set background=light
|
set background=light
|
||||||
|
|
||||||
@@ -93,7 +93,8 @@ hi ToolbarButton guifg=NONE guibg=#a9a9a9 guisp=NONE gui=bold ctermfg=NONE cterm
|
|||||||
hi ToolbarLine guifg=NONE guibg=#d3d3d3 guisp=NONE gui=NONE ctermfg=NONE ctermbg=252 cterm=NONE term=reverse
|
hi ToolbarLine guifg=NONE guibg=#d3d3d3 guisp=NONE gui=NONE ctermfg=NONE ctermbg=252 cterm=NONE term=reverse
|
||||||
hi Type guifg=#0000ff guibg=NONE guisp=NONE gui=NONE ctermfg=21 ctermbg=NONE cterm=NONE term=NONE
|
hi Type guifg=#0000ff guibg=NONE guisp=NONE gui=NONE ctermfg=21 ctermbg=NONE cterm=NONE term=NONE
|
||||||
hi Underlined guifg=#6a5acd guibg=NONE guisp=NONE gui=underline ctermfg=62 ctermbg=NONE cterm=underline term=underline
|
hi Underlined guifg=#6a5acd guibg=NONE guisp=NONE gui=underline ctermfg=62 ctermbg=NONE cterm=underline term=underline
|
||||||
hi VertSplit guifg=#ffffff guibg=#000000 guisp=NONE gui=NONE ctermfg=231 ctermbg=16 cterm=NONE term=NONE
|
hi VertSplit guifg=#ffff00 guibg=#a9a9a9 guisp=NONE gui=NONE ctermfg=226 ctermbg=248 cterm=NONE term=NONE
|
||||||
|
hi VertSplitNC guifg=#ffffff guibg=#000000 guisp=NONE gui=NONE ctermfg=231 ctermbg=16 cterm=NONE term=NONE
|
||||||
hi Visual guifg=#000000 guibg=#ffff00 guisp=NONE gui=NONE ctermfg=16 ctermbg=226 cterm=NONE term=reverse
|
hi Visual guifg=#000000 guibg=#ffff00 guisp=NONE gui=NONE ctermfg=16 ctermbg=226 cterm=NONE term=reverse
|
||||||
hi VisualNOS guifg=NONE guibg=#ff0000 guisp=NONE gui=NONE ctermfg=NONE ctermbg=196 cterm=NONE term=NONE
|
hi VisualNOS guifg=NONE guibg=#ff0000 guisp=NONE gui=NONE ctermfg=NONE ctermbg=196 cterm=NONE term=NONE
|
||||||
hi WarningMsg guifg=#a020f0 guibg=#ffffff guisp=NONE gui=NONE ctermfg=129 ctermbg=231 cterm=NONE term=standout
|
hi WarningMsg guifg=#a020f0 guibg=#ffffff guisp=NONE gui=NONE ctermfg=129 ctermbg=231 cterm=NONE term=standout
|
||||||
@@ -166,7 +167,8 @@ if s:t_Co >= 16
|
|||||||
hi ToolbarLine ctermfg=NONE ctermbg=black cterm=NONE
|
hi ToolbarLine ctermfg=NONE ctermbg=black cterm=NONE
|
||||||
hi Type ctermfg=blue ctermbg=NONE cterm=NONE
|
hi Type ctermfg=blue ctermbg=NONE cterm=NONE
|
||||||
hi Underlined ctermfg=blue ctermbg=NONE cterm=underline
|
hi Underlined ctermfg=blue ctermbg=NONE cterm=underline
|
||||||
hi VertSplit ctermfg=white ctermbg=black cterm=NONE
|
hi VertSplit ctermfg=yellow ctermbg=darkgrey cterm=NONE
|
||||||
|
hi VertSplitNC ctermfg=white ctermbg=black cterm=NONE
|
||||||
hi Visual ctermfg=black ctermbg=yellow cterm=NONE
|
hi Visual ctermfg=black ctermbg=yellow cterm=NONE
|
||||||
hi VisualNOS ctermfg=NONE ctermbg=red cterm=NONE
|
hi VisualNOS ctermfg=NONE ctermbg=red cterm=NONE
|
||||||
hi WarningMsg ctermfg=darkmagenta ctermbg=white cterm=NONE
|
hi WarningMsg ctermfg=darkmagenta ctermbg=white cterm=NONE
|
||||||
@@ -238,6 +240,7 @@ if s:t_Co >= 8
|
|||||||
hi Type ctermfg=darkblue ctermbg=NONE cterm=bold
|
hi Type ctermfg=darkblue ctermbg=NONE cterm=bold
|
||||||
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
|
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
|
||||||
hi VertSplit ctermfg=black ctermbg=gray cterm=reverse
|
hi VertSplit ctermfg=black ctermbg=gray cterm=reverse
|
||||||
|
hi VertSplitNC ctermfg=black ctermbg=gray cterm=reverse
|
||||||
hi Visual ctermfg=NONE ctermbg=NONE cterm=reverse
|
hi Visual ctermfg=NONE ctermbg=NONE cterm=reverse
|
||||||
hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=underline
|
hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=underline
|
||||||
hi WarningMsg ctermfg=darkmagenta ctermbg=black cterm=NONE
|
hi WarningMsg ctermfg=darkmagenta ctermbg=black cterm=NONE
|
||||||
|
|||||||
@@ -7,6 +7,7 @@
|
|||||||
" added line suggested by Anton Lindqvist 2016 Mar 31
|
" added line suggested by Anton Lindqvist 2016 Mar 31
|
||||||
" 2024 Apr 03 by The Vim Project (removed :CompilerSet definition)
|
" 2024 Apr 03 by The Vim Project (removed :CompilerSet definition)
|
||||||
" 2025 Dec 17 by The Vim Project (correctly parse: 'make: *** [Makefile:2: all] Error 1')
|
" 2025 Dec 17 by The Vim Project (correctly parse: 'make: *** [Makefile:2: all] Error 1')
|
||||||
|
" 2026 May 28 by The Vim Project (Use %v to parse column number)
|
||||||
|
|
||||||
if exists("current_compiler")
|
if exists("current_compiler")
|
||||||
finish
|
finish
|
||||||
@@ -24,9 +25,9 @@ CompilerSet errorformat=
|
|||||||
\\"%f\"%*\\D%l:\ %m,
|
\\"%f\"%*\\D%l:\ %m,
|
||||||
\%-G%f:%l:\ %trror:\ (Each\ undeclared\ identifier\ is\ reported\ only\ once,
|
\%-G%f:%l:\ %trror:\ (Each\ undeclared\ identifier\ is\ reported\ only\ once,
|
||||||
\%-G%f:%l:\ %trror:\ for\ each\ function\ it\ appears\ in.),
|
\%-G%f:%l:\ %trror:\ for\ each\ function\ it\ appears\ in.),
|
||||||
\%f:%l:%c:\ %trror:\ %m,
|
\%f:%l:%v:\ %trror:\ %m,
|
||||||
\%f:%l:%c:\ %tarning:\ %m,
|
\%f:%l:%v:\ %tarning:\ %m,
|
||||||
\%f:%l:%c:\ %m,
|
\%f:%l:%v:\ %m,
|
||||||
\%f:%l:\ %trror:\ %m,
|
\%f:%l:\ %trror:\ %m,
|
||||||
\%f:%l:\ %tarning:\ %m,
|
\%f:%l:\ %tarning:\ %m,
|
||||||
\%f:%l:\ %m,
|
\%f:%l:\ %m,
|
||||||
|
|||||||
@@ -1,6 +1,9 @@
|
|||||||
" Vim compiler file
|
" Vim compiler file
|
||||||
" Compiler: Zig Compiler
|
" Compiler: Zig Compiler
|
||||||
" Upstream: https://github.com/ziglang/zig.vim
|
" Upstream: https://codeberg.org/ziglang/zig.vim
|
||||||
|
" Last Change:
|
||||||
|
" 2026 May 12 by the Vim project (set errormformat)
|
||||||
|
" 2026 May 24 by the Vim project (do not escape vars for makeprg)
|
||||||
|
|
||||||
if exists("current_compiler")
|
if exists("current_compiler")
|
||||||
finish
|
finish
|
||||||
@@ -11,13 +14,29 @@ let s:save_cpo = &cpo
|
|||||||
set cpo&vim
|
set cpo&vim
|
||||||
|
|
||||||
" a subcommand must be provided for the this compiler (test, build-exe, etc)
|
" a subcommand must be provided for the this compiler (test, build-exe, etc)
|
||||||
if has('patch-7.4.191')
|
CompilerSet makeprg=zig\ $*\ %:S
|
||||||
CompilerSet makeprg=zig\ \$*\ \%:S
|
|
||||||
else
|
|
||||||
CompilerSet makeprg=zig\ \$*\ \"%\"
|
|
||||||
endif
|
|
||||||
|
|
||||||
" TODO: improve errorformat as needed.
|
CompilerSet errorformat=
|
||||||
|
\%-G,
|
||||||
|
\%-G\ %#+-\ %.%#,
|
||||||
|
\%-Ginstall,
|
||||||
|
\%-Ginstall\ transitive\ failure,
|
||||||
|
\%-Grun,
|
||||||
|
\%-Grun\ transitive\ failure,
|
||||||
|
\%-Gtest,
|
||||||
|
\%-Gtest\ transitive\ failure,
|
||||||
|
\%-Gfailed\ command:\ %.%#,
|
||||||
|
\%-Gerror:\ %*\\d\ compilation\ errors,
|
||||||
|
\%-GBuild\ Summary:\ %.%#,
|
||||||
|
\%-Gerror:\ the\ following\ build\ command\ failed\ with\ exit\ code\ %*\\d:,
|
||||||
|
\%-G.zig-cache%.%#,
|
||||||
|
\%E%f:%l:%c:\ error:\ %m,
|
||||||
|
\%I%f:%l:%c:\ note:\ %m
|
||||||
|
|
||||||
|
" zig has no warnings, but zig cc and zig c++ do
|
||||||
|
CompilerSet errorformat+=
|
||||||
|
\%W%f:%l:%c:\ warning:\ %m,
|
||||||
|
\%-G%*\\d\ warnings\ generated.
|
||||||
|
|
||||||
let &cpo = s:save_cpo
|
let &cpo = s:save_cpo
|
||||||
unlet s:save_cpo
|
unlet s:save_cpo
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
" Vim compiler file
|
" Vim compiler file
|
||||||
" Compiler: Zig Compiler (zig build)
|
" Compiler: Zig Compiler (zig build)
|
||||||
" Upstream: https://github.com/ziglang/zig.vim
|
" Upstream: https://codeberg.org/ziglang/zig.vim
|
||||||
" Last Change: 2024 Apr 05 by The Vim Project (removed :CompilerSet definition)
|
" Last Change: 2024 Apr 05 by the Vim Project (removed :CompilerSet definition)
|
||||||
|
" 2026 May 12 by the Vim Project (removed comment)
|
||||||
|
|
||||||
if exists('current_compiler')
|
if exists('current_compiler')
|
||||||
finish
|
finish
|
||||||
@@ -18,8 +19,6 @@ else
|
|||||||
CompilerSet makeprg=zig\ build\ $*
|
CompilerSet makeprg=zig\ build\ $*
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" TODO: anything to add to errorformat for zig build specifically?
|
|
||||||
|
|
||||||
let &cpo = s:save_cpo
|
let &cpo = s:save_cpo
|
||||||
unlet s:save_cpo
|
unlet s:save_cpo
|
||||||
" vim: tabstop=8 shiftwidth=4 softtabstop=4 expandtab
|
" vim: tabstop=8 shiftwidth=2 softtabstop=2 expandtab
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
" Vim compiler file
|
" Vim compiler file
|
||||||
" Compiler: Zig Compiler (zig build-exe)
|
" Compiler: Zig Compiler (zig build-exe)
|
||||||
" Upstream: https://github.com/ziglang/zig.vim
|
" Upstream: https://codeberg.org/ziglang/zig.vim
|
||||||
" Last Change: 2025 Nov 16 by The Vim Project (set errorformat)
|
" Last Change: 2025 Nov 16 by the Vim Project (set errorformat)
|
||||||
|
" 2026 May 12 by the Vim project (remove errorformat)
|
||||||
|
" 2026 May 24 by the Vim project (do not escape vars for makeprg)
|
||||||
|
|
||||||
if exists('current_compiler')
|
if exists('current_compiler')
|
||||||
finish
|
finish
|
||||||
@@ -12,10 +14,8 @@ let current_compiler = 'zig_build_exe'
|
|||||||
let s:save_cpo = &cpo
|
let s:save_cpo = &cpo
|
||||||
set cpo&vim
|
set cpo&vim
|
||||||
|
|
||||||
CompilerSet makeprg=zig\ build-exe\ \%:S\ \$*
|
CompilerSet makeprg=zig\ build-exe\ %:S\ $*
|
||||||
" CompilerSet errorformat=%f:%l:%c: %t%*[^:]: %m, %f:%l:%c: %m, %f:%l: %m
|
|
||||||
CompilerSet errorformat&
|
|
||||||
|
|
||||||
let &cpo = s:save_cpo
|
let &cpo = s:save_cpo
|
||||||
unlet s:save_cpo
|
unlet s:save_cpo
|
||||||
" vim: tabstop=8 shiftwidth=4 softtabstop=4 expandtab
|
" vim: tabstop=8 shiftwidth=2 softtabstop=2 expandtab
|
||||||
|
|||||||
@@ -0,0 +1,19 @@
|
|||||||
|
" Vim compiler file
|
||||||
|
" Compiler: Zig Compiler (zig cc)
|
||||||
|
" Last Change: 2026 May 12
|
||||||
|
" 2026 May 24 by the Vim project (do not escape vars for makeprg)
|
||||||
|
|
||||||
|
if exists('current_compiler')
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
runtime compiler/zig.vim
|
||||||
|
let current_compiler = 'zig_cc'
|
||||||
|
|
||||||
|
let s:save_cpo = &cpo
|
||||||
|
set cpo&vim
|
||||||
|
|
||||||
|
CompilerSet makeprg=zig\ cc\ %:S\ $*
|
||||||
|
|
||||||
|
let &cpo = s:save_cpo
|
||||||
|
unlet s:save_cpo
|
||||||
|
" vim: tabstop=8 shiftwidth=2 softtabstop=2 expandtab
|
||||||
@@ -1,7 +1,9 @@
|
|||||||
" Vim compiler file
|
" Vim compiler file
|
||||||
" Compiler: Zig Compiler (zig test)
|
" Compiler: Zig Compiler (zig test)
|
||||||
" Upstream: https://github.com/ziglang/zig.vim
|
" Upstream: https://codeberg.org/ziglang/zig.vim
|
||||||
" Last Change: 2025 Nov 16 by The Vim Project (set errorformat)
|
" Last Change: 2025 Nov 16 by the Vim Project (set errorformat)
|
||||||
|
" 2026 May 12 by the Vim Project (remove error format)
|
||||||
|
" 2026 May 24 by the Vim project (do not escape vars for makeprg)
|
||||||
|
|
||||||
if exists('current_compiler')
|
if exists('current_compiler')
|
||||||
finish
|
finish
|
||||||
@@ -12,10 +14,8 @@ let current_compiler = 'zig_test'
|
|||||||
let s:save_cpo = &cpo
|
let s:save_cpo = &cpo
|
||||||
set cpo&vim
|
set cpo&vim
|
||||||
|
|
||||||
CompilerSet makeprg=zig\ test\ \%:S\ \$*
|
CompilerSet makeprg=zig\ test\ %:S\ $*
|
||||||
" CompilerSet errorformat=%f:%l:%c: %t%*[^:]: %m, %f:%l:%c: %m, %f:%l: %m
|
|
||||||
CompilerSet errorformat&
|
|
||||||
|
|
||||||
let &cpo = s:save_cpo
|
let &cpo = s:save_cpo
|
||||||
unlet s:save_cpo
|
unlet s:save_cpo
|
||||||
" vim: tabstop=8 shiftwidth=4 softtabstop=4 expandtab
|
" vim: tabstop=8 shiftwidth=2 softtabstop=2 expandtab
|
||||||
|
|||||||
+43
-1
@@ -1,4 +1,4 @@
|
|||||||
*autocmd.txt* For Vim version 9.2. Last change: 2026 Feb 25
|
*autocmd.txt* For Vim version 9.2. Last change: 2026 May 23
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -423,6 +423,8 @@ Name triggered by ~
|
|||||||
|TextChangedP| after a change was made to the text in Insert mode
|
|TextChangedP| after a change was made to the text in Insert mode
|
||||||
when popup menu visible
|
when popup menu visible
|
||||||
|TextChangedT| after a change was made to the text in Terminal mode
|
|TextChangedT| after a change was made to the text in Terminal mode
|
||||||
|
|TextPutPost| after text has been put
|
||||||
|
|TextPutPre| before text is put
|
||||||
|TextYankPost| after text has been yanked or deleted
|
|TextYankPost| after text has been yanked or deleted
|
||||||
|
|
||||||
|SafeState| nothing pending, going to wait for the user to type a
|
|SafeState| nothing pending, going to wait for the user to type a
|
||||||
@@ -1367,6 +1369,46 @@ TextChangedP After a change was made to the text in the
|
|||||||
TextChangedT After a change was made to the text in the
|
TextChangedT After a change was made to the text in the
|
||||||
current buffer in Terminal mode.
|
current buffer in Terminal mode.
|
||||||
Otherwise the same as TextChanged.
|
Otherwise the same as TextChanged.
|
||||||
|
*TextPutPost*
|
||||||
|
TextPutPost After text has been put in the current buffer.
|
||||||
|
The following values in |v:event| are mostly
|
||||||
|
the same as |TextYankPost|:
|
||||||
|
operator The operation performed,
|
||||||
|
either 'p' or 'P'.
|
||||||
|
regcontents Text that was put. For
|
||||||
|
|quote_=|, this is the result
|
||||||
|
of the expression.
|
||||||
|
regname Name of the register or empty
|
||||||
|
string for the unnamed
|
||||||
|
register.
|
||||||
|
regtype Type of the register, see
|
||||||
|
|getregtype()|.
|
||||||
|
visual True if the operation is
|
||||||
|
performed in |Visual| mode.
|
||||||
|
Not triggered when |quote_| is used nor when
|
||||||
|
called recursively.
|
||||||
|
It is not allowed to change the buffer text,
|
||||||
|
see |textlock|.
|
||||||
|
Note that for the |quote_.| register, since
|
||||||
|
the last inserted text is buffered into the
|
||||||
|
input buffer (buffer isn't modified directly),
|
||||||
|
this autocommand is called directly after
|
||||||
|
|TextPutPre|.
|
||||||
|
{only when compiled with the +eval feature}
|
||||||
|
*TextPutPre*
|
||||||
|
TextPutPre Before text has been put in the current buffer.
|
||||||
|
Same values as |TextPutPost| in |v:event|. It
|
||||||
|
is valid to call |setreg()| in this
|
||||||
|
autocommand, allowing you to process and
|
||||||
|
modify the text in "regcontents" before it is
|
||||||
|
put. However this does not apply to
|
||||||
|
|quote_#|, |quote_=|, |quote_%|, |quote_:|,
|
||||||
|
|quote_/| or |quote_.|.
|
||||||
|
Not triggered when |quote_| is used nor when
|
||||||
|
called recursively.
|
||||||
|
It is not allowed to change the buffer text,
|
||||||
|
see |textlock|.
|
||||||
|
{only when compiled with the +eval feature}
|
||||||
*TextYankPost*
|
*TextYankPost*
|
||||||
TextYankPost After text has been yanked or deleted in the
|
TextYankPost After text has been yanked or deleted in the
|
||||||
current buffer. The following values of
|
current buffer. The following values of
|
||||||
|
|||||||
+71
-12
@@ -1,4 +1,4 @@
|
|||||||
*builtin.txt* For Vim version 9.2. Last change: 2026 Apr 06
|
*builtin.txt* For Vim version 9.2. Last change: 2026 May 31
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -107,7 +107,8 @@ ch_getbufnr({handle}, {what}) Number get buffer number for {handle}/{what}
|
|||||||
ch_getjob({channel}) Job get the Job of {channel}
|
ch_getjob({channel}) Job get the Job of {channel}
|
||||||
ch_info({handle}) Dict info about channel {handle}
|
ch_info({handle}) Dict info about channel {handle}
|
||||||
ch_listen({address} [, {options}])
|
ch_listen({address} [, {options}])
|
||||||
Channel listen on {address}
|
Channel listen on {address} - port on loopback
|
||||||
|
or UNIX domain socket
|
||||||
ch_log({msg} [, {handle}]) none write {msg} in the channel log file
|
ch_log({msg} [, {handle}]) none write {msg} in the channel log file
|
||||||
ch_logfile({fname} [, {mode}]) none start logging channel activity
|
ch_logfile({fname} [, {mode}]) none start logging channel activity
|
||||||
ch_open({address} [, {options}])
|
ch_open({address} [, {options}])
|
||||||
@@ -706,6 +707,8 @@ tabpagebuflist([{arg}]) List list of buffer numbers in tab page
|
|||||||
tabpagenr([{arg}]) Number number of current or last tab page
|
tabpagenr([{arg}]) Number number of current or last tab page
|
||||||
tabpagewinnr({tabarg} [, {arg}])
|
tabpagewinnr({tabarg} [, {arg}])
|
||||||
Number number of current window in tab page
|
Number number of current window in tab page
|
||||||
|
tabpanel_getinfo() Dict get current state of the tabpanel
|
||||||
|
tabpanel_scroll({n} [, {opts}]) Bool scroll the tabpanel
|
||||||
tagfiles() List tags files used
|
tagfiles() List tags files used
|
||||||
taglist({expr} [, {filename}]) List list of tags matching {expr}
|
taglist({expr} [, {filename}]) List list of tags matching {expr}
|
||||||
tan({expr}) Float tangent of {expr}
|
tan({expr}) Float tangent of {expr}
|
||||||
@@ -3671,14 +3674,22 @@ fullcommand({name} [, {vim9}]) *fullcommand()*
|
|||||||
ambiguous (for user-defined commands) or cannot be shortened
|
ambiguous (for user-defined commands) or cannot be shortened
|
||||||
this way. |vim9-no-shorten|
|
this way. |vim9-no-shorten|
|
||||||
|
|
||||||
Without the {vim9} argument uses the current script version.
|
Without the {vim9} argument, the current script version is
|
||||||
If {vim9} is present and FALSE then legacy script rules are
|
used. When {vim9} is present and FALSE, legacy script rules
|
||||||
used. When {vim9} is present and TRUE then Vim9 rules are
|
are used. When {vim9} is present and TRUE, Vim9 rules are
|
||||||
used, e.g. "en" is not a short form of "endif".
|
used (e.g., "en" is not a short form of "endif").
|
||||||
|
|
||||||
For example `fullcommand('s')`, `fullcommand('sub')`,
|
|
||||||
`fullcommand(':%substitute')` all return "substitute".
|
|
||||||
|
|
||||||
|
Note: Command validation is not performed. Results depend on
|
||||||
|
Vim's internal command-specific identification rules.
|
||||||
|
Examples:
|
||||||
|
>vim
|
||||||
|
echo [fullcommand('s')] |" ['substitute']
|
||||||
|
echo [fullcommand('sub')] |" ['substitute']
|
||||||
|
echo [fullcommand(': mark word')] |" ['mark']
|
||||||
|
echo [fullcommand(': markword')] |" ['']
|
||||||
|
echo [fullcommand('en')] |" ['endif']
|
||||||
|
echo [fullcommand('en', v:true)] |" ['']
|
||||||
|
<
|
||||||
Can also be used as a |method|: >
|
Can also be used as a |method|: >
|
||||||
GetName()->fullcommand()
|
GetName()->fullcommand()
|
||||||
<
|
<
|
||||||
@@ -6260,7 +6271,7 @@ insert({object}, {item} [, {idx}]) *insert()*
|
|||||||
Return type: |Number|
|
Return type: |Number|
|
||||||
|
|
||||||
|
|
||||||
instanceof({object}, {class}) *instanceof()* *E614* *E616* *E693*
|
instanceof({object}, {class}) *instanceof()* *E616* *E693*
|
||||||
The result is a Number, which is |TRUE| when the {object}
|
The result is a Number, which is |TRUE| when the {object}
|
||||||
argument is a direct or indirect instance of a |Class|,
|
argument is a direct or indirect instance of a |Class|,
|
||||||
|Interface|, or class |:type| alias specified by {class}.
|
|Interface|, or class |:type| alias specified by {class}.
|
||||||
@@ -6866,6 +6877,8 @@ listener_add({callback} [, {buf} [, {unbuffered}]]) *listener_add()*
|
|||||||
second argument: >
|
second argument: >
|
||||||
GetBuffer()->listener_add(callback)
|
GetBuffer()->listener_add(callback)
|
||||||
<
|
<
|
||||||
|
This function is not available in the |sandbox|.
|
||||||
|
|
||||||
Return type: |Number|
|
Return type: |Number|
|
||||||
|
|
||||||
|
|
||||||
@@ -6880,6 +6893,8 @@ listener_flush([{buf}]) *listener_flush()*
|
|||||||
Can also be used as a |method|: >
|
Can also be used as a |method|: >
|
||||||
GetBuffer()->listener_flush()
|
GetBuffer()->listener_flush()
|
||||||
<
|
<
|
||||||
|
This function is not available in the |sandbox|.
|
||||||
|
|
||||||
Return type: void
|
Return type: void
|
||||||
|
|
||||||
|
|
||||||
@@ -6891,6 +6906,8 @@ listener_remove({id}) *listener_remove()*
|
|||||||
Can also be used as a |method|: >
|
Can also be used as a |method|: >
|
||||||
GetListenerId()->listener_remove()
|
GetListenerId()->listener_remove()
|
||||||
<
|
<
|
||||||
|
This function is not available in the |sandbox|.
|
||||||
|
|
||||||
Return type: |Number|
|
Return type: |Number|
|
||||||
|
|
||||||
|
|
||||||
@@ -8870,6 +8887,8 @@ redraw_listener_add({opts}) *redraw_listener_add()*
|
|||||||
Can also be used as a |method|: >
|
Can also be used as a |method|: >
|
||||||
GetOpts()->redraw_listener_add()
|
GetOpts()->redraw_listener_add()
|
||||||
<
|
<
|
||||||
|
This function is not available in the |sandbox|.
|
||||||
|
|
||||||
Return type: |Number|
|
Return type: |Number|
|
||||||
|
|
||||||
|
|
||||||
@@ -11342,7 +11361,12 @@ strptime({format}, {timestring}) *strptime()*
|
|||||||
can try different {format} values until you get a non-zero
|
can try different {format} values until you get a non-zero
|
||||||
result.
|
result.
|
||||||
|
|
||||||
|
Note: On MS-Windows, where the C runtime does not provide
|
||||||
|
strptime(), Vim uses a built-in fallback that always uses
|
||||||
|
English locale names regardless of the active locale.
|
||||||
|
|
||||||
See also |strftime()|.
|
See also |strftime()|.
|
||||||
|
|
||||||
Examples: >
|
Examples: >
|
||||||
:echo strptime("%Y %b %d %X", "1997 Apr 27 11:49:23")
|
:echo strptime("%Y %b %d %X", "1997 Apr 27 11:49:23")
|
||||||
< 862156163 >
|
< 862156163 >
|
||||||
@@ -11896,6 +11920,38 @@ tabpagewinnr({tabarg} [, {arg}]) *tabpagewinnr()*
|
|||||||
Return type: |Number|
|
Return type: |Number|
|
||||||
|
|
||||||
|
|
||||||
|
tabpanel_getinfo() *tabpanel_getinfo()*
|
||||||
|
Return a |Dictionary| describing the current state of the
|
||||||
|
tabpanel (see |tabpanel|). The dictionary has these keys:
|
||||||
|
align "left" or "right"
|
||||||
|
columns width in screen columns
|
||||||
|
scrollbar |TRUE| if a scrollbar is shown
|
||||||
|
offset current scroll offset in rows
|
||||||
|
total total number of rows rendered
|
||||||
|
max_offset largest valid value for "offset"
|
||||||
|
|
||||||
|
The "total" and "max_offset" values are only accurate after
|
||||||
|
the tabpanel has been drawn at least once.
|
||||||
|
|
||||||
|
Return type: dict<any>
|
||||||
|
|
||||||
|
|
||||||
|
tabpanel_scroll({n} [, {opts}]) *tabpanel_scroll()*
|
||||||
|
Scroll the tabpanel by {n} rows. Positive values scroll down
|
||||||
|
(later tab pages become visible), negative values scroll up.
|
||||||
|
The new offset is clamped to the valid range.
|
||||||
|
|
||||||
|
When {opts} is a |Dictionary| and its "absolute" entry is
|
||||||
|
|TRUE|, {n} is used as the new absolute scroll offset instead
|
||||||
|
of a delta.
|
||||||
|
|
||||||
|
Returns |TRUE| if the scroll offset changed, |FALSE| otherwise
|
||||||
|
(for example when the tabpanel is not shown, or the offset is
|
||||||
|
already at the requested value).
|
||||||
|
|
||||||
|
Return type: |vim9-boolean|
|
||||||
|
|
||||||
|
|
||||||
tagfiles() *tagfiles()*
|
tagfiles() *tagfiles()*
|
||||||
Returns a |List| with the file names used to search for tags
|
Returns a |List| with the file names used to search for tags
|
||||||
for the current buffer. This is the 'tags' option expanded.
|
for the current buffer. This is the 'tags' option expanded.
|
||||||
@@ -12015,6 +12071,7 @@ terminalprops() *terminalprops()*
|
|||||||
underline_rgb whether |t_8u| works **
|
underline_rgb whether |t_8u| works **
|
||||||
mouse mouse type supported
|
mouse mouse type supported
|
||||||
kitty whether Kitty terminal was detected
|
kitty whether Kitty terminal was detected
|
||||||
|
decrqm whether sending DECRQM sequences work
|
||||||
|
|
||||||
** value 'u' for unknown, 'y' for yes, 'n' for no
|
** value 'u' for unknown, 'y' for yes, 'n' for no
|
||||||
|
|
||||||
@@ -12034,6 +12091,9 @@ terminalprops() *terminalprops()*
|
|||||||
|
|
||||||
For "mouse" the value 'u' is unknown
|
For "mouse" the value 'u' is unknown
|
||||||
|
|
||||||
|
If "decrqm" is 'y', then Vim will query support for the
|
||||||
|
'termsync' and 'termresize' ("inband") options.
|
||||||
|
|
||||||
Also see:
|
Also see:
|
||||||
- 'ambiwidth' - detected by using |t_u7|.
|
- 'ambiwidth' - detected by using |t_u7|.
|
||||||
- |v:termstyleresp| and |v:termblinkresp| for the response to
|
- |v:termstyleresp| and |v:termblinkresp| for the response to
|
||||||
@@ -13326,6 +13386,7 @@ spell Compiled with spell checking support |spell|.
|
|||||||
startuptime Compiled with |--startuptime| support.
|
startuptime Compiled with |--startuptime| support.
|
||||||
statusline Compiled with support for 'statusline', 'rulerformat'
|
statusline Compiled with support for 'statusline', 'rulerformat'
|
||||||
and special formats of 'titlestring' and 'iconstring'.
|
and special formats of 'titlestring' and 'iconstring'.
|
||||||
|
statusline_click Click handlers in 'statusline' |stl-%[FuncName]|
|
||||||
sun SunOS version of Vim.
|
sun SunOS version of Vim.
|
||||||
sun_workshop Support for Sun |workshop| has been removed.
|
sun_workshop Support for Sun |workshop| has been removed.
|
||||||
syntax Compiled with syntax highlighting support |syntax|.
|
syntax Compiled with syntax highlighting support |syntax|.
|
||||||
@@ -13378,8 +13439,6 @@ vtp Compiled for vcon support |+vtp| (check vcon to find
|
|||||||
out if it works in the current console).
|
out if it works in the current console).
|
||||||
wayland Compiled with Wayland protocol support.
|
wayland Compiled with Wayland protocol support.
|
||||||
wayland_clipboard Compiled with support for Wayland clipboard.
|
wayland_clipboard Compiled with support for Wayland clipboard.
|
||||||
wayland_focus_steal Compiled with support for Wayland clipboard focus
|
|
||||||
stealing.
|
|
||||||
wildignore Compiled with 'wildignore' option.
|
wildignore Compiled with 'wildignore' option.
|
||||||
wildmenu Compiled with 'wildmenu' option.
|
wildmenu Compiled with 'wildmenu' option.
|
||||||
win16 old version for MS-Windows 3.1 (always false)
|
win16 old version for MS-Windows 3.1 (always false)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*change.txt* For Vim version 9.2. Last change: 2026 Mar 31
|
*change.txt* For Vim version 9.2. Last change: 2026 May 31
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -75,7 +75,8 @@ For inserting text see |insert.txt|.
|
|||||||
*:d* *:de* *:del* *:delete* *:dl* *:dp*
|
*:d* *:de* *:del* *:delete* *:dl* *:dp*
|
||||||
:[range]d[elete] [x] Delete [range] lines (default: current line) [into
|
:[range]d[elete] [x] Delete [range] lines (default: current line) [into
|
||||||
register x].
|
register x].
|
||||||
Note these weird abbreviations:
|
Note these weird abbreviations applicable only to
|
||||||
|
legacy Vim script:
|
||||||
:dl delete and list
|
:dl delete and list
|
||||||
:dell idem
|
:dell idem
|
||||||
:delel idem
|
:delel idem
|
||||||
@@ -87,6 +88,8 @@ For inserting text see |insert.txt|.
|
|||||||
:delep idem
|
:delep idem
|
||||||
:deletp idem
|
:deletp idem
|
||||||
:deletep idem
|
:deletep idem
|
||||||
|
Warning: These give |E492| in |Vim9| script and `:dl`
|
||||||
|
executes as `:dlist`.
|
||||||
|
|
||||||
:[range]d[elete] [x] {count}
|
:[range]d[elete] [x] {count}
|
||||||
Delete {count} lines, starting with [range]
|
Delete {count} lines, starting with [range]
|
||||||
@@ -798,7 +801,8 @@ out then. Example: >
|
|||||||
:%s/TESTING
|
:%s/TESTING
|
||||||
This deletes "TESTING" from all lines, but only one per line.
|
This deletes "TESTING" from all lines, but only one per line.
|
||||||
*E1270*
|
*E1270*
|
||||||
For compatibility with Vi these two exceptions are allowed in legacy script:
|
For compatibility with Vi these two exceptions are allowed in legacy Vim
|
||||||
|
script:
|
||||||
"\/{string}/" and "\?{string}?" do the same as "//{string}/r".
|
"\/{string}/" and "\?{string}?" do the same as "//{string}/r".
|
||||||
"\&{string}&" does the same as "//{string}/".
|
"\&{string}&" does the same as "//{string}/".
|
||||||
*pattern-delimiter* *E146* *E1241* *E1242*
|
*pattern-delimiter* *E146* *E1241* *E1242*
|
||||||
|
|||||||
+16
-13
@@ -1,4 +1,4 @@
|
|||||||
*channel.txt* For Vim version 9.2. Last change: 2026 Apr 06
|
*channel.txt* For Vim version 9.2. Last change: 2026 Apr 29
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -132,7 +132,7 @@ Start Vim and create a listening channel: >
|
|||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
" Start listening on port 8765
|
" Start listening on port 8765
|
||||||
let server = ch_listen('localhost:8765', {"callback": "OnAccept"})
|
let server = ch_listen('8765', {"callback": "OnAccept"})
|
||||||
|
|
||||||
From another Vim instance (or any program) you can connect to it: >
|
From another Vim instance (or any program) you can connect to it: >
|
||||||
let channel = ch_open('localhost:8765')
|
let channel = ch_open('localhost:8765')
|
||||||
@@ -170,6 +170,7 @@ unreachable on the network.
|
|||||||
"js" - Use JS (JavaScript) encoding, more efficient than JSON.
|
"js" - Use JS (JavaScript) encoding, more efficient than JSON.
|
||||||
"nl" - Use messages that end in a NL character
|
"nl" - Use messages that end in a NL character
|
||||||
"raw" - Use raw messages
|
"raw" - Use raw messages
|
||||||
|
"blob" - Use raw messages and pass callback data as a |Blob|
|
||||||
"lsp" - Use language server protocol encoding
|
"lsp" - Use language server protocol encoding
|
||||||
"dap" - Use debug adapter protocol encoding
|
"dap" - Use debug adapter protocol encoding
|
||||||
*channel-callback* *E921*
|
*channel-callback* *E921*
|
||||||
@@ -189,6 +190,8 @@ unreachable on the network.
|
|||||||
excluding the NL.
|
excluding the NL.
|
||||||
When "mode" is "raw" the "msg" argument is the whole message
|
When "mode" is "raw" the "msg" argument is the whole message
|
||||||
as a string.
|
as a string.
|
||||||
|
When "mode" is "blob" the "msg" argument is the whole message
|
||||||
|
as a |Blob|.
|
||||||
|
|
||||||
For all callbacks: Use |function()| to bind it to arguments
|
For all callbacks: Use |function()| to bind it to arguments
|
||||||
and/or a Dictionary. Or use the form "dict.function" to bind
|
and/or a Dictionary. Or use the form "dict.function" to bind
|
||||||
@@ -637,8 +640,7 @@ ch_info({handle}) *ch_info()*
|
|||||||
"status" "open", "buffered" or "closed", like
|
"status" "open", "buffered" or "closed", like
|
||||||
ch_status()
|
ch_status()
|
||||||
When opened with ch_open():
|
When opened with ch_open():
|
||||||
"hostname" the hostname of the address
|
"port" the port on loopback
|
||||||
"port" the port of the address
|
|
||||||
"path" the path of the Unix-domain socket
|
"path" the path of the Unix-domain socket
|
||||||
"sock_status" "open" or "closed"
|
"sock_status" "open" or "closed"
|
||||||
"sock_mode" "NL", "RAW", "JSON" or "JS"
|
"sock_mode" "NL", "RAW", "JSON" or "JS"
|
||||||
@@ -668,22 +670,23 @@ ch_info({handle}) *ch_info()*
|
|||||||
Return type: dict<any>
|
Return type: dict<any>
|
||||||
|
|
||||||
ch_listen({address} [, {options}]) *E1573* *E1574* *ch_listen()*
|
ch_listen({address} [, {options}]) *E1573* *E1574* *ch_listen()*
|
||||||
Listen on {address} for incoming channel connections.
|
Listen on {address} - port on loopback or UNIX domain socket
|
||||||
This creates a server-side channel, unlike |ch_open()|
|
for incoming channel connections. This creates a server-side
|
||||||
which connects to an existing server.
|
channel, unlike |ch_open()| which connects to an existing
|
||||||
|
server.
|
||||||
Returns a Channel. Use |ch_status()| to check for failure.
|
Returns a Channel. Use |ch_status()| to check for failure.
|
||||||
|
|
||||||
{address} is a String, see |channel-address| for the possible
|
{address} is a String, see |channel-address| for the possible
|
||||||
accepted forms, however binding to all interfaces is not
|
accepted forms, however in case of TCP sockets it allows to
|
||||||
allowed for security reasons.
|
set only a port and binds to loopback address for security
|
||||||
|
reasons.
|
||||||
Note: IPv6 is not yet supported.
|
Note: IPv6 is not yet supported.
|
||||||
|
|
||||||
If {options} is given it must be a |Dictionary|.
|
If {options} is given it must be a |Dictionary|.
|
||||||
See |channel-open-options|.
|
See |channel-open-options|.
|
||||||
The "callback" in {options} is invoked when a new
|
The "callback" in {options} is invoked when a new connection
|
||||||
connection is accepted. It receives two arguments: the
|
is accepted. It receives two arguments: the new Channel and
|
||||||
new Channel and the client address as a String (e.g.
|
the client address as a String (e.g. "127.0.0.1:12345").
|
||||||
"127.0.0.1:12345").
|
|
||||||
|
|
||||||
Use |ch_open()| to connect to an existing server instead.
|
Use |ch_open()| to connect to an existing server instead.
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*cmdline.txt* For Vim version 9.2. Last change: 2026 Mar 17
|
*cmdline.txt* For Vim version 9.2. Last change: 2026 May 20
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -56,7 +56,7 @@ history tables:
|
|||||||
These are completely separate. Each history can only be accessed when
|
These are completely separate. Each history can only be accessed when
|
||||||
entering the same type of line.
|
entering the same type of line.
|
||||||
Use the 'history' option to set the number of lines that are remembered
|
Use the 'history' option to set the number of lines that are remembered
|
||||||
(default: 50).
|
(default: 200).
|
||||||
Notes:
|
Notes:
|
||||||
- When you enter a command-line that is exactly the same as an older one, the
|
- When you enter a command-line that is exactly the same as an older one, the
|
||||||
old one is removed (to avoid repeated commands moving older commands out of
|
old one is removed (to avoid repeated commands moving older commands out of
|
||||||
@@ -466,14 +466,15 @@ CTRL-L A match is done on the pattern in front of the cursor. If
|
|||||||
*c_CTRL-G* */_CTRL-G*
|
*c_CTRL-G* */_CTRL-G*
|
||||||
CTRL-G When 'incsearch' is set, entering a search pattern for "/" or
|
CTRL-G When 'incsearch' is set, entering a search pattern for "/" or
|
||||||
"?" and the current match is displayed then CTRL-G will move
|
"?" and the current match is displayed then CTRL-G will move
|
||||||
to the next match (does not take |search-offset| into account)
|
to the next match. The |search-offset| is applied when <CR>
|
||||||
|
is pressed, but does not affect the match highlighting.
|
||||||
Use CTRL-T to move to the previous match. Hint: on a regular
|
Use CTRL-T to move to the previous match. Hint: on a regular
|
||||||
keyboard G is below T.
|
keyboard G is below T.
|
||||||
*c_CTRL-T* */_CTRL-T*
|
*c_CTRL-T* */_CTRL-T*
|
||||||
CTRL-T When 'incsearch' is set, entering a search pattern for "/" or
|
CTRL-T When 'incsearch' is set, entering a search pattern for "/" or
|
||||||
"?" and the current match is displayed then CTRL-T will move
|
"?" and the current match is displayed then CTRL-T will move
|
||||||
to the previous match (does not take |search-offset| into
|
to the previous match. The |search-offset| is applied when
|
||||||
account).
|
<CR> is pressed, but does not affect the match highlighting.
|
||||||
Use CTRL-G to move to the next match. Hint: on a regular
|
Use CTRL-G to move to the next match. Hint: on a regular
|
||||||
keyboard T is above G.
|
keyboard T is above G.
|
||||||
|
|
||||||
|
|||||||
+10
-4
@@ -1,4 +1,4 @@
|
|||||||
*eval.txt* For Vim version 9.2. Last change: 2026 Feb 14
|
*eval.txt* For Vim version 9.2. Last change: 2026 May 31
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -170,8 +170,8 @@ Note that " " and "0" are also non-empty strings, thus considered to be TRUE.
|
|||||||
A List, Dictionary or Float is not a Number or String, thus evaluate to FALSE.
|
A List, Dictionary or Float is not a Number or String, thus evaluate to FALSE.
|
||||||
|
|
||||||
*E611* *E745* *E728* *E703* *E729* *E730* *E731* *E908* *E910*
|
*E611* *E745* *E728* *E703* *E729* *E730* *E731* *E908* *E910*
|
||||||
*E913* *E974* *E975* *E976* *E1319* *E1320* *E1321* *E1322*
|
*E913* *E974* *E975* *E976* *E1320* *E1322* *E1324* *E1520*
|
||||||
*E1323* *E1324* *E1520* *E1522*
|
*E1522*
|
||||||
|List|, |Tuple|, |Dictionary|, |Funcref|, |Job|, |Channel|, |Blob|, |Class|
|
|List|, |Tuple|, |Dictionary|, |Funcref|, |Job|, |Channel|, |Blob|, |Class|
|
||||||
and |object| types are not automatically converted.
|
and |object| types are not automatically converted.
|
||||||
|
|
||||||
@@ -3675,7 +3675,7 @@ text...
|
|||||||
all nested `:try`s inside the loop. The outermost
|
all nested `:try`s inside the loop. The outermost
|
||||||
`:endtry` then jumps back to the start of the loop.
|
`:endtry` then jumps back to the start of the loop.
|
||||||
|
|
||||||
In |Vim9| script `:cont` is the shortest form, to
|
In |Vim9| script `:continue` cannot be shortened, to
|
||||||
improve script readability.
|
improve script readability.
|
||||||
*:break* *:brea* *E587*
|
*:break* *:brea* *E587*
|
||||||
:brea[k] When used inside a `:while` or `:for` loop, skips to
|
:brea[k] When used inside a `:while` or `:for` loop, skips to
|
||||||
@@ -5361,6 +5361,9 @@ a |lambda| expression.
|
|||||||
With the exception of the "available" callback if a callback is not provided,
|
With the exception of the "available" callback if a callback is not provided,
|
||||||
Vim will not invoke anything, and this is not an error.
|
Vim will not invoke anything, and this is not an error.
|
||||||
|
|
||||||
|
If the "paste" or "copy" callbacks are triggered recursively, then they will
|
||||||
|
not be called.
|
||||||
|
|
||||||
*clipboard-providers-textlock*
|
*clipboard-providers-textlock*
|
||||||
In both the "paste" and "copy" callbacks, it is not allowed to change the
|
In both the "paste" and "copy" callbacks, it is not allowed to change the
|
||||||
buffer text, see |textlock|.
|
buffer text, see |textlock|.
|
||||||
@@ -5382,6 +5385,9 @@ order:
|
|||||||
is an empty string, then the type is automatically chosen.
|
is an empty string, then the type is automatically chosen.
|
||||||
2. A |list| of strings to return to Vim, each representing a line.
|
2. A |list| of strings to return to Vim, each representing a line.
|
||||||
|
|
||||||
|
If an invalid value is returned, then this is not an error. Instead the
|
||||||
|
register will be left unchanged (not cleared).
|
||||||
|
|
||||||
*clipboard-providers-copy*
|
*clipboard-providers-copy*
|
||||||
The "copy" callback returns nothing and takes the following arguments in the
|
The "copy" callback returns nothing and takes the following arguments in the
|
||||||
following order:
|
following order:
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*filetype.txt* For Vim version 9.2. Last change: 2026 Apr 07
|
*filetype.txt* For Vim version 9.2. Last change: 2026 May 29
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -139,6 +139,7 @@ variables can be used to overrule the filetype used for certain extensions:
|
|||||||
|
|
||||||
file name variable ~
|
file name variable ~
|
||||||
*.app g:filetype_app
|
*.app g:filetype_app
|
||||||
|
*.as g:filetype_as
|
||||||
*.asa g:filetype_asa |ft-aspperl-syntax|
|
*.asa g:filetype_asa |ft-aspperl-syntax|
|
||||||
|ft-aspvbs-syntax|
|
|ft-aspvbs-syntax|
|
||||||
*.asm g:asmsyntax |ft-asm-syntax|
|
*.asm g:asmsyntax |ft-asm-syntax|
|
||||||
@@ -164,6 +165,7 @@ variables can be used to overrule the filetype used for certain extensions:
|
|||||||
*.int g:filetype_int
|
*.int g:filetype_int
|
||||||
*.lsl g:filetype_lsl
|
*.lsl g:filetype_lsl
|
||||||
*.m g:filetype_m |ft-mathematica-syntax|
|
*.m g:filetype_m |ft-mathematica-syntax|
|
||||||
|
*.mm g:filetype_mm
|
||||||
*.mac g:filetype_mac
|
*.mac g:filetype_mac
|
||||||
*[mM]makefile,*.mk,*.mak,[mM]akefile*
|
*[mM]makefile,*.mk,*.mak,[mM]akefile*
|
||||||
g:make_flavor |ft-make-syntax|
|
g:make_flavor |ft-make-syntax|
|
||||||
@@ -652,7 +654,6 @@ One command, :DiffGitCached, is provided to show a diff of the current commit
|
|||||||
in the preview window. It is equivalent to calling "git diff --cached" plus
|
in the preview window. It is equivalent to calling "git diff --cached" plus
|
||||||
any arguments given to the command.
|
any arguments given to the command.
|
||||||
|
|
||||||
|
|
||||||
The length of the first line of the commit message used for
|
The length of the first line of the commit message used for
|
||||||
syntax highlighting can be configured via `g:gitcommit_summary_length`.
|
syntax highlighting can be configured via `g:gitcommit_summary_length`.
|
||||||
The default is 50. Example: >
|
The default is 50. Example: >
|
||||||
@@ -975,7 +976,20 @@ By default the following options are set, in accordance with PEP8: >
|
|||||||
To disable this behavior, set the following variable in your vimrc: >
|
To disable this behavior, set the following variable in your vimrc: >
|
||||||
|
|
||||||
let g:python_recommended_style = 0
|
let g:python_recommended_style = 0
|
||||||
|
<
|
||||||
|
Python omni-completion |compl-omni| is provided by python3complete.vim (or
|
||||||
|
pythoncomplete.vim) for Vim builds with the |+python|/|+python3| interpreter.
|
||||||
|
By default it does not inspect the import / from statements found in the
|
||||||
|
buffer. This means completion of names defined in the buffer itself (classes,
|
||||||
|
functions, variables) works, but completion of members of imported modules is
|
||||||
|
not offered.
|
||||||
|
|
||||||
|
To enable completion of imported module members, set: >
|
||||||
|
let g:pythoncomplete_allow_import = 1
|
||||||
|
<
|
||||||
|
WARNING: enabling this causes omni-completion to execute the import statements
|
||||||
|
found in the buffer through Python's import machinery, which runs the imported
|
||||||
|
modules' top-level code. Only enable this for code you trust.
|
||||||
|
|
||||||
QF QUICKFIX *qf.vim* *ft-qf-plugin*
|
QF QUICKFIX *qf.vim* *ft-qf-plugin*
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*ft_mp.txt* For Vim version 9.2. Last change: 2026 Feb 14
|
*ft_mp.txt* For Vim version 9.2. Last change: 2026 May 04
|
||||||
|
|
||||||
This is the documentation for the METAFONT and MetaPost filetype plugins.
|
This is the documentation for the METAFONT and MetaPost filetype plugins.
|
||||||
Unless otherwise specified, the commands, settings and mappings defined below
|
Unless otherwise specified, the commands, settings and mappings defined below
|
||||||
@@ -25,7 +25,7 @@ MetaPost documents, including syntax coloring, indentation, and completion.
|
|||||||
Defining indentation rules for METAFONT and MetaPost code is tricky and
|
Defining indentation rules for METAFONT and MetaPost code is tricky and
|
||||||
somewhat subjective, because the syntax is quite liberal. The plugin uses some
|
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
|
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
|
want to override the automatic rules, so that the manually defined
|
||||||
indentation is preserved by commands like `gg=G`.
|
indentation is preserved by commands like `gg=G`.
|
||||||
|
|
||||||
This can be achieved by appending `%>`, `%<`, `%=` or `%!` to a line to
|
This can be achieved by appending `%>`, `%<`, `%=` or `%!` to a line to
|
||||||
|
|||||||
+27
-1
@@ -1,4 +1,4 @@
|
|||||||
*gui.txt* For Vim version 9.2. Last change: 2026 Apr 07
|
*gui.txt* For Vim version 9.2. Last change: 2026 Jun 02
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -1296,6 +1296,32 @@ A recommended Japanese font is MS Mincho. You can find info here:
|
|||||||
https://learn.microsoft.com/en-us/typography/font-list/ms-mincho
|
https://learn.microsoft.com/en-us/typography/font-list/ms-mincho
|
||||||
It should be distributed with Windows.
|
It should be distributed with Windows.
|
||||||
|
|
||||||
|
|
||||||
|
Full Screen *gui-fullscreen*
|
||||||
|
|
||||||
|
Fullscreen mode is currently only supported in the Windows and GTK GUI
|
||||||
|
versions of Vim.
|
||||||
|
|
||||||
|
To enable fullscreen mode in the GUI version of Vim, add the "s" flag to the
|
||||||
|
'guioptions' setting.
|
||||||
|
|
||||||
|
For convenience, you can define a command or mapping to toggle fullscreen
|
||||||
|
mode:
|
||||||
|
>
|
||||||
|
command ToggleFullscreen {
|
||||||
|
if &guioptions =~# 's'
|
||||||
|
set guioptions-=s
|
||||||
|
else
|
||||||
|
set guioptions+=s
|
||||||
|
endif
|
||||||
|
}
|
||||||
|
|
||||||
|
map <expr> <F11> &go =~# 's' ? ":se go-=s<CR>" : ":se go+=s<CR>"
|
||||||
|
|
||||||
|
The fullscreen mode will occupy the entire screen area while hiding window
|
||||||
|
decorations such as the title bar and borders.
|
||||||
|
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
8. Shell Commands *gui-shell*
|
8. Shell Commands *gui-shell*
|
||||||
|
|
||||||
|
|||||||
+1
-22
@@ -1,4 +1,4 @@
|
|||||||
*gui_w32.txt* For Vim version 9.2. Last change: 2026 Feb 14
|
*gui_w32.txt* For Vim version 9.2. Last change: 2026 May 25
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -505,25 +505,4 @@ To use the system's default title bar colors, set highlighting groups to
|
|||||||
hi TitleBarNC guibg=NONE guifg=NONE
|
hi TitleBarNC guibg=NONE guifg=NONE
|
||||||
<
|
<
|
||||||
|
|
||||||
Full Screen *gui-w32-fullscreen*
|
|
||||||
|
|
||||||
To enable fullscreen mode in the Windows GUI version of Vim, add the 's' flag
|
|
||||||
to the 'guioptions' setting.
|
|
||||||
|
|
||||||
For convenience, you can define a command or mapping to toggle fullscreen
|
|
||||||
mode:
|
|
||||||
>
|
|
||||||
command ToggleFullscreen {
|
|
||||||
if &guioptions =~# 's'
|
|
||||||
set guioptions-=s
|
|
||||||
else
|
|
||||||
set guioptions+=s
|
|
||||||
endif
|
|
||||||
}
|
|
||||||
|
|
||||||
map <expr> <F11> &go =~# 's' ? ":se go-=s<CR>" : ":se go+=s<CR>"
|
|
||||||
|
|
||||||
The fullscreen mode will occupy the entire screen area while hiding window
|
|
||||||
decorations such as the title bar and borders.
|
|
||||||
|
|
||||||
vim:tw=78:sw=4:ts=8:noet:ft=help:norl:
|
vim:tw=78:sw=4:ts=8:noet:ft=help:norl:
|
||||||
|
|||||||
+13
-12
@@ -1,4 +1,4 @@
|
|||||||
*insert.txt* For Vim version 9.2. Last change: 2026 Feb 14
|
*insert.txt* For Vim version 9.2. Last change: 2026 Jun 02
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -1817,10 +1817,11 @@ on word characters. This can be controlled adding the following to your
|
|||||||
vimrc: >
|
vimrc: >
|
||||||
let g:omni_syntax_use_iskeyword = 0
|
let g:omni_syntax_use_iskeyword = 0
|
||||||
|
|
||||||
For plugin developers, the plugin exposes a public function OmniSyntaxList.
|
For plugin developers, the plugin exposes a public function
|
||||||
This function can be used to request a List of syntax items. When editing a
|
syntaxcomplete#OmniSyntaxList. This function can be used to request a List of
|
||||||
SQL file (:e syntax.sql) you can use the ":syntax list" command to see the
|
syntax items. When editing a SQL file (:e syntax.sql) you can use the
|
||||||
various groups and syntax items. For example: >
|
":syntax list" command to see the various groups and syntax items. For
|
||||||
|
example: >
|
||||||
syntax list
|
syntax list
|
||||||
|
|
||||||
Yields data similar to this:
|
Yields data similar to this:
|
||||||
@@ -1834,22 +1835,22 @@ Yields data similar to this:
|
|||||||
image float integer timestamp real decimal ~
|
image float integer timestamp real decimal ~
|
||||||
|
|
||||||
There are two syntax groups listed here: sqlOperator and sqlType. To retrieve
|
There are two syntax groups listed here: sqlOperator and sqlType. To retrieve
|
||||||
a List of syntax items you can call OmniSyntaxList a number of different
|
a List of syntax items you can call syntaxcomplete#OmniSyntaxList a number of
|
||||||
ways. To retrieve all syntax items regardless of syntax group: >
|
different ways. To retrieve all syntax items regardless of syntax group: >
|
||||||
echo OmniSyntaxList( [] )
|
echo syntaxcomplete#OmniSyntaxList( [] )
|
||||||
|
|
||||||
To retrieve only the syntax items for the sqlOperator syntax group: >
|
To retrieve only the syntax items for the sqlOperator syntax group: >
|
||||||
echo OmniSyntaxList( ['sqlOperator'] )
|
echo syntaxcomplete#OmniSyntaxList( ['sqlOperator'] )
|
||||||
|
|
||||||
To retrieve all syntax items for both the sqlOperator and sqlType groups: >
|
To retrieve all syntax items for both the sqlOperator and sqlType groups: >
|
||||||
echo OmniSyntaxList( ['sqlOperator', 'sqlType'] )
|
echo syntaxcomplete#OmniSyntaxList( ['sqlOperator', 'sqlType'] )
|
||||||
|
|
||||||
A regular expression can also be used: >
|
A regular expression can also be used: >
|
||||||
echo OmniSyntaxList( ['sql\w\+'] )
|
echo syntaxcomplete#OmniSyntaxList( ['sql\w\+'] )
|
||||||
|
|
||||||
From within a plugin, you would typically assign the output to a List: >
|
From within a plugin, you would typically assign the output to a List: >
|
||||||
let myKeywords = []
|
let myKeywords = []
|
||||||
let myKeywords = OmniSyntaxList( ['sqlKeyword'] )
|
let myKeywords = syntaxcomplete#OmniSyntaxList( ['sqlKeyword'] )
|
||||||
|
|
||||||
|
|
||||||
SQL *ft-sql-omni*
|
SQL *ft-sql-omni*
|
||||||
|
|||||||
+38
-6
@@ -1,4 +1,4 @@
|
|||||||
*map.txt* For Vim version 9.2. Last change: 2026 Feb 14
|
*map.txt* For Vim version 9.2. Last change: 2026 May 23
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -208,8 +208,7 @@ be effective in the current buffer only. Example: >
|
|||||||
Then you can map ",w" to something else in another buffer: >
|
Then you can map ",w" to something else in another buffer: >
|
||||||
:map <buffer> ,w /[#&!]<CR>
|
:map <buffer> ,w /[#&!]<CR>
|
||||||
The local buffer mappings are used before the global ones. See <nowait> below
|
The local buffer mappings are used before the global ones. See <nowait> below
|
||||||
to make a short local mapping not taking effect when a longer global one
|
to make a short local mapping take effect when a longer global one exists.
|
||||||
exists.
|
|
||||||
The "<buffer>" argument can also be used to clear mappings: >
|
The "<buffer>" argument can also be used to clear mappings: >
|
||||||
:unmap <buffer> ,w
|
:unmap <buffer> ,w
|
||||||
:mapclear <buffer>
|
:mapclear <buffer>
|
||||||
@@ -1593,7 +1592,10 @@ reported if any are supplied). However, it is possible to specify that the
|
|||||||
command can take arguments, using the -nargs attribute. Valid cases are:
|
command can take arguments, using the -nargs attribute. Valid cases are:
|
||||||
|
|
||||||
-nargs=0 No arguments are allowed (the default)
|
-nargs=0 No arguments are allowed (the default)
|
||||||
-nargs=1 Exactly one argument is required, it includes spaces
|
-nargs=1 Exactly one argument is required, it includes spaces;
|
||||||
|
completion treats white spaces as argument separation
|
||||||
|
-nargs=_ Exactly one argument is required, it includes spaces;
|
||||||
|
completion treats white spaces as part of the argument
|
||||||
-nargs=* Any number of arguments are allowed (0, 1, or many),
|
-nargs=* Any number of arguments are allowed (0, 1, or many),
|
||||||
separated by white space
|
separated by white space
|
||||||
-nargs=? 0 or 1 arguments are allowed
|
-nargs=? 0 or 1 arguments are allowed
|
||||||
@@ -1601,7 +1603,23 @@ command can take arguments, using the -nargs attribute. Valid cases are:
|
|||||||
|
|
||||||
Arguments are considered to be separated by (unescaped) spaces or tabs in this
|
Arguments are considered to be separated by (unescaped) spaces or tabs in this
|
||||||
context, except when there is one argument, then the white space is part of
|
context, except when there is one argument, then the white space is part of
|
||||||
the argument.
|
the argument. The difference between the "-nargs=1" and "-nargs=_": >
|
||||||
|
|
||||||
|
func MyComplete(ArgLead, CmdLine, CursorPos)
|
||||||
|
return ["one value", "two values", "three values"]
|
||||||
|
\->matchfuzzy(a:ArgLead)
|
||||||
|
endfunc
|
||||||
|
:command -nargs=1 -complete=customlist,MyComplete MyCmd1 echo <q-args>
|
||||||
|
:command -nargs=_ -complete=customlist,MyComplete MyCmd2 echo <q-args>
|
||||||
|
|
||||||
|
Completing ":MyCmd1 two va<tab>" will complete with: >
|
||||||
|
|
||||||
|
:MyCmd1 two one value
|
||||||
|
|
||||||
|
Completing ":MyCmd2 two va<tab>" will complete with: >
|
||||||
|
|
||||||
|
:MyCmd2 two values
|
||||||
|
|
||||||
|
|
||||||
Note that arguments are used as text, not as expressions. Specifically,
|
Note that arguments are used as text, not as expressions. Specifically,
|
||||||
"s:var" will use the script-local variable in the script where the command was
|
"s:var" will use the script-local variable in the script where the command was
|
||||||
@@ -1693,7 +1711,21 @@ For the "custom" argument, the function should return the completion
|
|||||||
candidates one per line in a newline separated string.
|
candidates one per line in a newline separated string.
|
||||||
*E1303*
|
*E1303*
|
||||||
For the "customlist" argument, the function should return the completion
|
For the "customlist" argument, the function should return the completion
|
||||||
candidates as a Vim List. Non-string items in the list are ignored.
|
candidates as a Vim List. Each item may be either a string or a |Dictionary|.
|
||||||
|
A Dictionary item may have the following keys:
|
||||||
|
word (required) the text inserted into the command line when the
|
||||||
|
item is selected
|
||||||
|
abbr alternative text shown in the popup menu in place of "word",
|
||||||
|
when 'wildoptions' contains "pum"; useful when the inserted
|
||||||
|
text and the displayed text should differ
|
||||||
|
kind short kind text (one or two characters), shown in the popup
|
||||||
|
menu when 'wildoptions' contains "pum"
|
||||||
|
menu extra text shown after the match in the popup menu
|
||||||
|
info long description shown in the info popup; the |+popupwin|
|
||||||
|
feature is required to display it
|
||||||
|
Items that are neither a string nor a Dictionary, and Dictionary items without
|
||||||
|
a "word" key, are ignored. When 'wildoptions' does not contain "pum", only
|
||||||
|
"word" is shown.
|
||||||
|
|
||||||
The function arguments are:
|
The function arguments are:
|
||||||
ArgLead the leading portion of the argument currently being
|
ArgLead the leading portion of the argument currently being
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*netbeans.txt* For Vim version 9.2. Last change: 2026 Mar 07
|
*netbeans.txt* For Vim version 9.2. Last change: 2026 Apr 09
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Gordon Prieur et al.
|
VIM REFERENCE MANUAL by Gordon Prieur et al.
|
||||||
|
|||||||
+214
-49
@@ -1,4 +1,4 @@
|
|||||||
*options.txt* For Vim version 9.2. Last change: 2026 Apr 07
|
*options.txt* For Vim version 9.2. Last change: 2026 May 25
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -324,12 +324,12 @@ that was last closed are used again. If this buffer has been edited in this
|
|||||||
window, the values from back then are used. Otherwise the values from the
|
window, the values from back then are used. Otherwise the values from the
|
||||||
last closed window where the buffer was edited last are used.
|
last closed window where the buffer was edited last are used.
|
||||||
|
|
||||||
It's possible to set a local window option specifically for a type of buffer.
|
":setlocal" can be used to set a local window option specifically for a type
|
||||||
When you edit another buffer in the same window, you don't want to keep
|
of buffer. When you edit another buffer in the same window, you don't want to
|
||||||
using these local window options. Therefore Vim keeps a global value of the
|
keep using these local window options. Meanwhile ":set" also sets a global
|
||||||
local window options, which is used when editing another buffer. Each window
|
value of a local window option, which is used when editing another buffer.
|
||||||
has its own copy of these values. Thus these are local to the window, but
|
Each window has its own copy of these global values, making them local to the
|
||||||
global to all buffers in the window. With this you can do: >
|
window, but global to all buffers in the window. With this you can do: >
|
||||||
:e one
|
:e one
|
||||||
:set list
|
:set list
|
||||||
:e two
|
:e two
|
||||||
@@ -2408,6 +2408,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
close show close button: "on" (default) or "off"
|
close show close button: "on" (default) or "off"
|
||||||
height maximum height of the popup
|
height maximum height of the popup
|
||||||
highlight popup highlight group (default: PmenuSel)
|
highlight popup highlight group (default: PmenuSel)
|
||||||
|
opacity opacity percentage 0-100 (default 100, fully
|
||||||
|
opaque). When less than 100, content beneath
|
||||||
|
the popup shows through.
|
||||||
resize show resize handle: "on" (default) or "off"
|
resize show resize handle: "on" (default) or "off"
|
||||||
shadow "off" (default) or "on" using |hl-PmenuShadow|
|
shadow "off" (default) or "on" using |hl-PmenuShadow|
|
||||||
width maximum width of the popup
|
width maximum width of the popup
|
||||||
@@ -2415,6 +2418,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
Example: >
|
Example: >
|
||||||
:set completepopup=height:10,border:single,highlight:InfoPopup
|
:set completepopup=height:10,border:single,highlight:InfoPopup
|
||||||
:set completepopup=width:60,border:custom:─;│;─;│;┌;┐;┘;└
|
:set completepopup=width:60,border:custom:─;│;─;│;┌;┐;┘;└
|
||||||
|
:set completepopup=border:round,opacity:80
|
||||||
<
|
<
|
||||||
When "align" is set to "item", the popup is positioned near the
|
When "align" is set to "item", the popup is positioned near the
|
||||||
selected item and moves as the selection changes.
|
selected item and moves as the selection changes.
|
||||||
@@ -3994,7 +3998,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
|String| and is the |:find| command argument. The second argument is
|
|String| and is the |:find| command argument. The second argument is
|
||||||
a |Boolean| and is set to |v:true| when the function is called to get
|
a |Boolean| and is set to |v:true| when the function is called to get
|
||||||
a List of command-line completion matches for the |:find| command.
|
a List of command-line completion matches for the |:find| command.
|
||||||
The function should return a List of strings.
|
The function should return a List, which is handled similarly to the
|
||||||
|
return value of a |:command-completion-customlist| function.
|
||||||
|
|
||||||
The function is called only once per |:find| command invocation.
|
The function is called only once per |:find| command invocation.
|
||||||
The function can process all the directories specified in 'path'.
|
The function can process all the directories specified in 'path'.
|
||||||
@@ -4707,10 +4712,10 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
Photon and MacVim GUIs.
|
Photon and MacVim GUIs.
|
||||||
*'go-s'*
|
*'go-s'*
|
||||||
's' Enable fullscreen mode. Currently only supported in the
|
's' Enable fullscreen mode. Currently only supported in the
|
||||||
MS-Windows GUI version. When set, the window will occupy the
|
MS-Windows and GTK GUI version. When set, the window will
|
||||||
entire screen and remove window decorations. Define custom
|
occupy the entire screen and remove window decorations.
|
||||||
mappings to toggle this mode conveniently. For detailed usage
|
Define custom mappings to toggle this mode conveniently.
|
||||||
instructions, see |gui-w32-fullscreen|.
|
For detailed usage instructions, see |gui-fullscreen|.
|
||||||
*'go-r'*
|
*'go-r'*
|
||||||
'r' Right-hand scrollbar is always present.
|
'r' Right-hand scrollbar is always present.
|
||||||
*'go-R'*
|
*'go-R'*
|
||||||
@@ -4856,7 +4861,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
l:Search,m:MoreMsg,M:ModeMsg,n:LineNr,
|
l:Search,m:MoreMsg,M:ModeMsg,n:LineNr,
|
||||||
a:LineNrAbove,b:LineNrBelow,
|
a:LineNrAbove,b:LineNrBelow,
|
||||||
N:CursorLineNr,r:Question,s:StatusLine,
|
N:CursorLineNr,r:Question,s:StatusLine,
|
||||||
S:StatusLineNC,c:VertSplit,t:Title,
|
S:StatusLineNC,c:VertSplit,
|
||||||
|
|:VertSplitNC,t:Title,
|
||||||
v:Visual,V:VisualNOS,w:WarningMsg,
|
v:Visual,V:VisualNOS,w:WarningMsg,
|
||||||
W:WildMenu,f:Folded,F:FoldColumn,
|
W:WildMenu,f:Folded,F:FoldColumn,
|
||||||
A:DiffAdd,C:DiffChange,D:DiffDelete,
|
A:DiffAdd,C:DiffChange,D:DiffDelete,
|
||||||
@@ -4867,7 +4873,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
[:PmenuKind,]:PmenuKindSel,
|
[:PmenuKind,]:PmenuKindSel,
|
||||||
{:PmenuExtra,}:PmenuExtraSel,
|
{:PmenuExtra,}:PmenuExtraSel,
|
||||||
x:PmenuSbar,X:PmenuThumb,j:PmenuBorder,
|
x:PmenuSbar,X:PmenuThumb,j:PmenuBorder,
|
||||||
H:PmenuShadow,*:TabLine,
|
H:PmenuShadow,p:Popup,J:PopupBorder,
|
||||||
|
Q:PopupTitle,*:TabLine,
|
||||||
#:TabLineSel,_:TabLineFill,!:CursorColumn,
|
#:TabLineSel,_:TabLineFill,!:CursorColumn,
|
||||||
.:CursorLine,o:ColorColumn,q:QuickFixLine,
|
.:CursorLine,o:ColorColumn,q:QuickFixLine,
|
||||||
z:StatusLineTerm,Z:StatusLineTermNC,
|
z:StatusLineTerm,Z:StatusLineTermNC,
|
||||||
@@ -4904,6 +4911,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
|hl-StatusLineNC| S status lines of not-current windows
|
|hl-StatusLineNC| S status lines of not-current windows
|
||||||
|hl-Title| t Titles for output from ":set all", ":autocmd" etc.
|
|hl-Title| t Titles for output from ":set all", ":autocmd" etc.
|
||||||
|hl-VertSplit| c column used to separate vertically split windows
|
|hl-VertSplit| c column used to separate vertically split windows
|
||||||
|
|hl-VertSplitNC| | column separating non-current vertically split
|
||||||
|
windows
|
||||||
|hl-Visual| v Visual mode
|
|hl-Visual| v Visual mode
|
||||||
|hl-VisualNOS| V Visual mode when Vim is "Not Owning the
|
|hl-VisualNOS| V Visual mode when Vim is "Not Owning the
|
||||||
Selection" Only X11 Gui's |gui-x11|,
|
Selection" Only X11 Gui's |gui-x11|,
|
||||||
@@ -4936,6 +4945,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
|hl-PmenuMatchSel| < popup menu matched text in selected line
|
|hl-PmenuMatchSel| < popup menu matched text in selected line
|
||||||
|hl-PmenuBorder| j popup menu border characters
|
|hl-PmenuBorder| j popup menu border characters
|
||||||
|hl-PmenuShadow| H popup menu shadow
|
|hl-PmenuShadow| H popup menu shadow
|
||||||
|
|hl-Popup| p popup window body
|
||||||
|
|hl-PopupBorder| J popup window border characters
|
||||||
|
|hl-PopupTitle| Q popup window title
|
||||||
|hl-PreInsert| I text inserted when "preinsert" is in 'completeopt'
|
|hl-PreInsert| I text inserted when "preinsert" is in 'completeopt'
|
||||||
|hl-Normal| ( Window color (supersedes 'wincolor' option)
|
|hl-Normal| ( Window color (supersedes 'wincolor' option)
|
||||||
|
|
||||||
@@ -6332,6 +6344,54 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
NOTE: 'modeline' is set to the Vi default value when 'compatible' is
|
NOTE: 'modeline' is set to the Vi default value when 'compatible' is
|
||||||
set and to the Vim default value when 'compatible' is reset.
|
set and to the Vim default value when 'compatible' is reset.
|
||||||
|
|
||||||
|
*'modelinestrict'* *'mlst'* *'nomodelinestrict'* *'nomlst'*
|
||||||
|
'modelinestrict' 'mlst' boolean (default: on)
|
||||||
|
global
|
||||||
|
When on, only a safe subset of options can be set from a |modeline|.
|
||||||
|
The following options are allowed:
|
||||||
|
'autoindent'
|
||||||
|
'cindent'
|
||||||
|
'commentstring'
|
||||||
|
'expandtab'
|
||||||
|
'filetype'
|
||||||
|
'foldcolumn'
|
||||||
|
'foldenable'
|
||||||
|
'foldmarker'
|
||||||
|
'foldmethod'
|
||||||
|
'modifiable'
|
||||||
|
'readonly'
|
||||||
|
'rightleft'
|
||||||
|
'shiftwidth'
|
||||||
|
'smartindent'
|
||||||
|
'softtabstop'
|
||||||
|
'spell'
|
||||||
|
'spelllang'
|
||||||
|
'tabstop'
|
||||||
|
'textwidth'
|
||||||
|
'varsofttabstop'
|
||||||
|
'vartabstop'
|
||||||
|
|
||||||
|
Any other option set from a modeline will be silently ignored.
|
||||||
|
This option cannot be set from a |modeline| or in the |sandbox|, for
|
||||||
|
security reasons.
|
||||||
|
|
||||||
|
As an exception, `set nomodeline` is honored from within a modeline
|
||||||
|
even when 'modelinestrict' is on. Other forms (`set modeline=0`,
|
||||||
|
`set modeline!`, `set invmodeline`) are still silently ignored.
|
||||||
|
This lets a file disable further modeline processing for itself.
|
||||||
|
|
||||||
|
The behaviour of 'modeline', 'modelinestrict' and 'modelineexpr' is
|
||||||
|
as follows:
|
||||||
|
|
||||||
|
'modeline'| 'modelinestrict'| 'modelineexpr' | Meaning
|
||||||
|
----------+-----------------+-------------------+--------~
|
||||||
|
on | off | on | All options can be set
|
||||||
|
on | on | any | Only whitelisted
|
||||||
|
| | | options can be set
|
||||||
|
on | off | off | All options except for
|
||||||
|
| | | expr options can be set
|
||||||
|
off | any | any | No options can be set
|
||||||
|
|
||||||
*'modifiable'* *'ma'* *'nomodifiable'* *'noma'*
|
*'modifiable'* *'ma'* *'nomodifiable'* *'noma'*
|
||||||
*E21*
|
*E21*
|
||||||
'modifiable' 'ma' boolean (default on)
|
'modifiable' 'ma' boolean (default on)
|
||||||
@@ -6445,7 +6505,10 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
be acted upon, i.e. no cursor move. This implies of
|
be acted upon, i.e. no cursor move. This implies of
|
||||||
course, that right clicking outside a selection will
|
course, that right clicking outside a selection will
|
||||||
end Visual mode.
|
end Visual mode.
|
||||||
Overview of what button does what for each model:
|
|
||||||
|
For a detailed description of 'mousemodel' behaviour see
|
||||||
|
|mouse-mode-table|. Overview of what button does what for each model:
|
||||||
|
|
||||||
mouse extend popup(_setpos) ~
|
mouse extend popup(_setpos) ~
|
||||||
left click place cursor place cursor
|
left click place cursor place cursor
|
||||||
left drag start selection start selection
|
left drag start selection start selection
|
||||||
@@ -7022,7 +7085,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
global
|
global
|
||||||
Defines a border and optional decorations for the popup menu in
|
Defines a border and optional decorations for the popup menu in
|
||||||
completion. The value is a comma-separated list of keywords.
|
completion. The value is a comma-separated list of keywords.
|
||||||
See |'pumopt'| for a consolidated alternative.
|
See 'pumopt' for a consolidated alternative.
|
||||||
|
|
||||||
Border styles (at most one):
|
Border styles (at most one):
|
||||||
"single" use thin box-drawing characters
|
"single" use thin box-drawing characters
|
||||||
@@ -7058,7 +7121,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
Determines the maximum number of items to show in the popup menu for
|
Determines the maximum number of items to show in the popup menu for
|
||||||
Insert mode completion. When zero as much space as available is used.
|
Insert mode completion. When zero as much space as available is used.
|
||||||
|ins-completion-menu|.
|
|ins-completion-menu|.
|
||||||
See |'pumopt'| for a consolidated alternative.
|
See 'pumopt' for a consolidated alternative.
|
||||||
|
|
||||||
*'pummaxwidth'* *'pmw'*
|
*'pummaxwidth'* *'pmw'*
|
||||||
'pummaxwidth' 'pmw' number (default 0)
|
'pummaxwidth' 'pmw' number (default 0)
|
||||||
@@ -7070,13 +7133,13 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
|
|
||||||
This option takes precedence over 'pumwidth'.
|
This option takes precedence over 'pumwidth'.
|
||||||
|ins-completion-menu|.
|
|ins-completion-menu|.
|
||||||
See |'pumopt'| for a consolidated alternative.
|
See 'pumopt' for a consolidated alternative.
|
||||||
|
|
||||||
*'pumopt'*
|
*'pumopt'*
|
||||||
'pumopt' string (default "")
|
'pumopt' string (default "")
|
||||||
global
|
global
|
||||||
Configures the popup menu used for Insert mode completion.
|
Configures the popup menu used for Insert mode completion.
|
||||||
The value is a comma-separated list of key:value pairs and flags.
|
The value is a comma-separated list of "key:value" pairs and flags.
|
||||||
|
|
||||||
Keys with values:
|
Keys with values:
|
||||||
border:{style} set a border style (at most one):
|
border:{style} set a border style (at most one):
|
||||||
@@ -7098,7 +7161,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
of 'fillchars' option.
|
of 'fillchars' option.
|
||||||
opacity:{n} opacity percentage 0-100 (default 100).
|
opacity:{n} opacity percentage 0-100 (default 100).
|
||||||
When less than 100, background content shows
|
When less than 100, background content shows
|
||||||
through the popup menu.
|
through the popup menu. Requires the GUI,
|
||||||
|
'termguicolors', or a 256-color terminal.
|
||||||
|
|
||||||
Flags (no value):
|
Flags (no value):
|
||||||
margin adds one-cell spacing inside the left and
|
margin adds one-cell spacing inside the left and
|
||||||
@@ -7106,8 +7170,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
shadow draws a shadow at the right and bottom edges.
|
shadow draws a shadow at the right and bottom edges.
|
||||||
|
|
||||||
Border styles using box-drawing characters ("single", "double",
|
Border styles using box-drawing characters ("single", "double",
|
||||||
"round") are only available when 'encoding' is "utf-8" and
|
"round") are only available when 'encoding' is "utf-8" and 'ambiwidth'
|
||||||
'ambiwidth' is "single".
|
is "single".
|
||||||
|
|
||||||
Highlight groups:
|
Highlight groups:
|
||||||
|hl-PmenuBorder| used for the border characters
|
|hl-PmenuBorder| used for the border characters
|
||||||
@@ -7130,7 +7194,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
global
|
global
|
||||||
Determines the minimum width to use for the popup menu for Insert mode
|
Determines the minimum width to use for the popup menu for Insert mode
|
||||||
completion. |ins-completion-menu|.
|
completion. |ins-completion-menu|.
|
||||||
See |'pumopt'| for a consolidated alternative.
|
See 'pumopt' for a consolidated alternative.
|
||||||
|
|
||||||
*'pythondll'*
|
*'pythondll'*
|
||||||
'pythondll' string (default depends on the build)
|
'pythondll' string (default depends on the build)
|
||||||
@@ -7668,8 +7732,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
Minimal number of screen lines to keep above and below the cursor.
|
Minimal number of screen lines to keep above and below the cursor.
|
||||||
This will make some context visible around where you are working. If
|
This will make some context visible around where you are working. If
|
||||||
you set it to a very large value (999) the cursor line will always be
|
you set it to a very large value (999) the cursor line will always be
|
||||||
in the middle of the window (except at the start or end of the file or
|
in the middle of the window (except at the start or end of the file,
|
||||||
when long lines wrap).
|
see 'scrolloffpad', or when long lines wrap).
|
||||||
After using the local value, go back the global value with one of
|
After using the local value, go back the global value with one of
|
||||||
these two: >
|
these two: >
|
||||||
setlocal scrolloff<
|
setlocal scrolloff<
|
||||||
@@ -7677,7 +7741,24 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
< For scrolling horizontally see 'sidescrolloff'.
|
< For scrolling horizontally see 'sidescrolloff'.
|
||||||
NOTE: This option is set to 0 when 'compatible' is set.
|
NOTE: This option is set to 0 when 'compatible' is set.
|
||||||
|
|
||||||
*'scrollopt'* *'sbo'*
|
*'scrolloffpad'* *'sop'*
|
||||||
|
'scrolloffpad' 'sop' number (default 0)
|
||||||
|
global or local to window |global-local|
|
||||||
|
When 'scrolloff' and 'scrolloffpad' are greater than zero, allow
|
||||||
|
the cursor to remain centered when at the end of the file.
|
||||||
|
Normally, 'scrolloff' will not keep the cursor centered at the
|
||||||
|
end of the file.
|
||||||
|
|
||||||
|
A value of 0 disables this feature. Any value above 0 enables it.
|
||||||
|
For a window-local value, -1 means to use the global value.
|
||||||
|
Values below -1 are invalid.
|
||||||
|
|
||||||
|
After using the local value, go back the global value with one of
|
||||||
|
these two: >
|
||||||
|
setlocal scrolloffpad<
|
||||||
|
setlocal scrolloffpad=-1
|
||||||
|
|
||||||
|
< *'scrollopt'* *'sbo'*
|
||||||
'scrollopt' 'sbo' string (default "ver,jump")
|
'scrollopt' 'sbo' string (default "ver,jump")
|
||||||
global
|
global
|
||||||
This is a comma-separated list of words that specifies how
|
This is a comma-separated list of words that specifies how
|
||||||
@@ -7914,6 +7995,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
Note: When using a pipe like "| tee", you'll lose the exit code of the
|
Note: When using a pipe like "| tee", you'll lose the exit code of the
|
||||||
shell command. This might be configurable by your shell, look for
|
shell command. This might be configurable by your shell, look for
|
||||||
the pipefail option (for bash and zsh, use ":set -o pipefail").
|
the pipefail option (for bash and zsh, use ":set -o pipefail").
|
||||||
|
Only a single "%s" value is allowed.
|
||||||
This option cannot be set from a |modeline| or in the |sandbox|, for
|
This option cannot be set from a |modeline| or in the |sandbox|, for
|
||||||
security reasons.
|
security reasons.
|
||||||
|
|
||||||
@@ -7957,6 +8039,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
become obsolete (at least for Unix).
|
become obsolete (at least for Unix).
|
||||||
This option cannot be set from a |modeline| or in the |sandbox|, for
|
This option cannot be set from a |modeline| or in the |sandbox|, for
|
||||||
security reasons.
|
security reasons.
|
||||||
|
*E1577*
|
||||||
|
Only a single "%s" item is allowed in the option value.
|
||||||
|
|
||||||
|
|
||||||
*'shellslash'* *'ssl'* *'noshellslash'* *'nossl'*
|
*'shellslash'* *'ssl'* *'noshellslash'* *'nossl'*
|
||||||
'shellslash' 'ssl' boolean (default off)
|
'shellslash' 'ssl' boolean (default off)
|
||||||
@@ -8118,6 +8203,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
search count statistics. The maximum limit can be set with
|
search count statistics. The maximum limit can be set with
|
||||||
the 'maxsearchcount' option, see also |searchcount()|
|
the 'maxsearchcount' option, see also |searchcount()|
|
||||||
function.
|
function.
|
||||||
|
u don't give undo and redo messages like *shm-u*
|
||||||
|
"1 line less; before #1 1 second ago", "Already at oldest
|
||||||
|
change" or "Already at newest change"
|
||||||
|
|
||||||
This gives you the opportunity to avoid that a change between buffers
|
This gives you the opportunity to avoid that a change between buffers
|
||||||
requires you to hit <Enter>, but still gives as useful a message as
|
requires you to hit <Enter>, but still gives as useful a message as
|
||||||
@@ -8718,7 +8806,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
{ NF Evaluate expression between '%{' and '}' and substitute result.
|
{ NF Evaluate expression between '%{' and '}' and substitute result.
|
||||||
Note that there is no '%' before the closing '}'. The
|
Note that there is no '%' before the closing '}'. The
|
||||||
expression cannot contain a '}' character, call a function to
|
expression cannot contain a '}' character, call a function to
|
||||||
work around that. See |stl-%{| below.
|
work around that. See |stl-%{| below. Use '%0{' to insert the
|
||||||
|
result verbatim.
|
||||||
{% - This is almost same as { except the result of the expression is
|
{% - This is almost same as { except the result of the expression is
|
||||||
re-evaluated as a statusline format string. Thus if the
|
re-evaluated as a statusline format string. Thus if the
|
||||||
return value of expr contains % items they will get expanded.
|
return value of expr contains % items they will get expanded.
|
||||||
@@ -8760,6 +8849,58 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
@ - Inserts a newline. This only takes effect when the "maxheight"
|
@ - Inserts a newline. This only takes effect when the "maxheight"
|
||||||
value of 'statuslineopt' is greater than 1, or for |tabpanel|.
|
value of 'statuslineopt' is greater than 1, or for |tabpanel|.
|
||||||
|
|
||||||
|
*stl-%[FuncName]*
|
||||||
|
%[ defines clickable regions in the statusline. When the user clicks
|
||||||
|
on a region with the mouse, the specified function is called. The
|
||||||
|
same syntax can also be used in 'tabline' and 'tabpanel'.
|
||||||
|
|
||||||
|
%[FuncName] Start of a clickable region. "FuncName" is the name
|
||||||
|
of a Vim function to call when the region is clicked.
|
||||||
|
%[] End of the clickable region. If omitted, the region
|
||||||
|
extends to the end of the statusline or to the start
|
||||||
|
of the next clickable region.
|
||||||
|
|
||||||
|
A {minwid} value can be used to pass an identifier to the callback:
|
||||||
|
%3[FuncName] Starts a clickable region with minwid 3.
|
||||||
|
|
||||||
|
The function receives a single |Dictionary| argument with these
|
||||||
|
entries:
|
||||||
|
"minwid" The minwid value from %N[Func] (0 if not specified).
|
||||||
|
"nclicks" Number of clicks: 1, 2, or 3.
|
||||||
|
"button" Mouse button: "l" (left), "m" (middle), "r" (right).
|
||||||
|
"mods" Modifier keys: combination of "s" (shift), "c" (ctrl),
|
||||||
|
"a" (alt). Empty string if no modifiers.
|
||||||
|
"winid" |window-ID| of the window whose statusline was clicked,
|
||||||
|
or 0 when the click was in 'tabline' or 'tabpanel'.
|
||||||
|
"area" "statusline", "tabline", or "tabpanel". Indicates
|
||||||
|
which option the clicked region belongs to.
|
||||||
|
"tabnr" (tabpanel only) Tab page number of the clicked label.
|
||||||
|
|
||||||
|
If the function returns non-zero, the statusline is redrawn.
|
||||||
|
Dragging the statusline to resize the window still works even when
|
||||||
|
click handlers are defined. When used in 'tabline' or 'tabpanel',
|
||||||
|
clicks in %[FuncName] regions are dispatched to the callback
|
||||||
|
instead of the default tab-selection behavior.
|
||||||
|
|
||||||
|
Example: >
|
||||||
|
func! ClickFile(info)
|
||||||
|
if a:info.button ==# 'l' && a:info.nclicks == 2
|
||||||
|
browse edit
|
||||||
|
endif
|
||||||
|
return 0
|
||||||
|
endfunc
|
||||||
|
set statusline=%[ClickFile]%f%[]\ %l:%c
|
||||||
|
< This makes the filename in the statusline clickable. Double-clicking
|
||||||
|
it opens the file browser.
|
||||||
|
|
||||||
|
Use `has('statusline_click')` to check if this feature is available.
|
||||||
|
This is useful for backward compatibility: >
|
||||||
|
if has('statusline_click')
|
||||||
|
set statusline=%[ClickFile]%f%[]\ %l:%c
|
||||||
|
else
|
||||||
|
set statusline=%f\ %l:%c
|
||||||
|
endif
|
||||||
|
<
|
||||||
When displaying a flag, Vim removes the leading comma, if any, when
|
When displaying a flag, Vim removes the leading comma, if any, when
|
||||||
that flag comes right after plaintext. This will make a nice display
|
that flag comes right after plaintext. This will make a nice display
|
||||||
when flags are used like in the examples below.
|
when flags are used like in the examples below.
|
||||||
@@ -8793,6 +8934,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
A result of all digits is regarded a number for display purposes.
|
A result of all digits is regarded a number for display purposes.
|
||||||
Otherwise the result is taken as flag text and applied to the rules
|
Otherwise the result is taken as flag text and applied to the rules
|
||||||
described above.
|
described above.
|
||||||
|
*stl-%0{*
|
||||||
|
With %0{ neither applies: the result is inserted as a literal string.
|
||||||
|
|
||||||
Watch out for errors in expressions. They may render Vim unusable!
|
Watch out for errors in expressions. They may render Vim unusable!
|
||||||
If you are stuck, hold down ':' or 'Q' to get a prompt, then quit and
|
If you are stuck, hold down ':' or 'Q' to get a prompt, then quit and
|
||||||
@@ -9076,22 +9219,20 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
|
|
||||||
align:{text} Specifies the position of the tabpanel.
|
align:{text} Specifies the position of the tabpanel.
|
||||||
Currently supported positions are:
|
Currently supported positions are:
|
||||||
|
left left-side (default)
|
||||||
left left-side
|
|
||||||
right right-side
|
right right-side
|
||||||
|
columns:{n} Number of columns of the tabpanel. (default 20)
|
||||||
(default "left")
|
|
||||||
|
|
||||||
columns:{n} Number of columns of the tabpanel.
|
|
||||||
If this value is 0 or less than 'columns', the
|
If this value is 0 or less than 'columns', the
|
||||||
tab panel will not be displayed.
|
tabpanel will not be displayed.
|
||||||
(default 20)
|
scrollbar A one-column scrollbar is always displayed at the
|
||||||
|
right edge of the tabpanel, regardless of the
|
||||||
vert Use a vertical separator for tabpanel.
|
"align:" setting. (default off)
|
||||||
The vertical separator character is taken from
|
See |tabpanel-scroll|.
|
||||||
"tpl_vert" in 'fillchars'.
|
vert The vertical separator is drawn at the boundary
|
||||||
|
between the tabpanel and the buffer area.
|
||||||
(default off)
|
(default off)
|
||||||
|
The character to be drawn uses "tpl_vert" from
|
||||||
|
'fillchars'.
|
||||||
Examples: >
|
Examples: >
|
||||||
:set tabpanelopt=columns:16,align:right
|
:set tabpanelopt=columns:16,align:right
|
||||||
:set tabpanelopt=
|
:set tabpanelopt=
|
||||||
@@ -9229,6 +9370,22 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
file names from the list. This avoids problems when a future version
|
file names from the list. This avoids problems when a future version
|
||||||
uses another default.
|
uses another default.
|
||||||
|
|
||||||
|
*'tagsecure'* *'tsc'* *'notagsecure'* *'notsc'*
|
||||||
|
'tagsecure' 'tsc' boolean (default on)
|
||||||
|
global
|
||||||
|
When on, Vim refuses to follow tag entries whose file field looks like
|
||||||
|
a URL ("scheme://..."), aborting the jump with error |E1576|. This
|
||||||
|
prevents tag files from causing Vim to open URLs through |netrw|, which
|
||||||
|
would trigger a network request and expose netrw's URL-handling code to
|
||||||
|
attacker-controlled input or lead to environment exfiltration.
|
||||||
|
|
||||||
|
Tag files might be distributed alongside source code (e.g. via Git
|
||||||
|
repositories) and may therefore be untrustworthy. Only disable
|
||||||
|
this option if you fully control the tag files Vim will read.
|
||||||
|
|
||||||
|
This option cannot be set from a |modeline| or in the |sandbox|, for
|
||||||
|
security reasons.
|
||||||
|
|
||||||
*'tagstack'* *'tgst'* *'notagstack'* *'notgst'*
|
*'tagstack'* *'tgst'* *'notagstack'* *'notgst'*
|
||||||
'tagstack' 'tgst' boolean (default on)
|
'tagstack' 'tgst' boolean (default on)
|
||||||
global
|
global
|
||||||
@@ -10078,6 +10235,14 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
letter. Thus "KEEPTHIS and "K_L_M" are stored, but "KeepThis"
|
letter. Thus "KEEPTHIS and "K_L_M" are stored, but "KeepThis"
|
||||||
and "_K_L_M" are not. Nested List and Dict items may not be
|
and "_K_L_M" are not. Nested List and Dict items may not be
|
||||||
read back correctly, you end up with an empty item.
|
read back correctly, you end up with an empty item.
|
||||||
|
|
||||||
|
Restoring |List|, |Dictionary| and |Tuple| variables is done by
|
||||||
|
parsing their textual form with the Vim expression evaluator.
|
||||||
|
Reading a viminfo file with "!" enabled is therefore only safe
|
||||||
|
when the file is trusted. In particular, do not enable "!"
|
||||||
|
before reading a viminfo file you obtained from another user,
|
||||||
|
downloaded, or that is writable by another account. See
|
||||||
|
also |viminfo-security|.
|
||||||
*viminfo-quote*
|
*viminfo-quote*
|
||||||
" Maximum number of lines saved for each register. Old name of
|
" Maximum number of lines saved for each register. Old name of
|
||||||
the '<' item, with the disadvantage that you need to put a
|
the '<' item, with the disadvantage that you need to put a
|
||||||
@@ -10435,8 +10600,12 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
applies to buffer name completion.
|
applies to buffer name completion.
|
||||||
"noselect" If 'wildmenu' is enabled, show the menu but do not
|
"noselect" If 'wildmenu' is enabled, show the menu but do not
|
||||||
preselect the first item.
|
preselect the first item.
|
||||||
If only one match exists, it is completed fully, unless "noselect" is
|
"noinsert" If 'wildmenu' is enabled, show the menu and preselect
|
||||||
specified.
|
the first match, but do not insert it in the command
|
||||||
|
line. If both "noinsert" and "noselect" are present,
|
||||||
|
"noselect" takes precedence.
|
||||||
|
If only one match exists, it is completed fully, unless "noselect" or
|
||||||
|
"noinsert" is specified.
|
||||||
|
|
||||||
Some useful combinations of colon-separated values:
|
Some useful combinations of colon-separated values:
|
||||||
"longest:full" Start with the longest common string and show
|
"longest:full" Start with the longest common string and show
|
||||||
@@ -10704,11 +10873,10 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
*'wlsteal'* *'wst'* *'nowlsteal'* *'nowst'*
|
*'wlsteal'* *'wst'* *'nowlsteal'* *'nowst'*
|
||||||
'wlsteal' 'wst' boolean (default off)
|
'wlsteal' 'wst' boolean (default off)
|
||||||
global
|
global
|
||||||
{only when the |+wayland_focus_steal| feature is
|
DEPRECATED: This option is no longer used; changing it has no effect.
|
||||||
included}
|
|
||||||
When enabled, then allow Vim to steal focus by creating a temporary
|
When enabled, then allow Vim to steal focus by creating a temporary
|
||||||
surface, in order to access the clipboard. For more information see
|
surface, in order to access the clipboard.
|
||||||
|wayland-focus-steal|.
|
|
||||||
|
|
||||||
*'wltimeoutlen'* *'wtm'*
|
*'wltimeoutlen'* *'wtm'*
|
||||||
'wltimeoutlen' 'wtm' number (default 500)
|
'wltimeoutlen' 'wtm' number (default 500)
|
||||||
@@ -10721,9 +10889,6 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
some cases. On the other hand, it may also mean you receive errors
|
some cases. On the other hand, it may also mean you receive errors
|
||||||
when the compositor takes more time to respond than usual.
|
when the compositor takes more time to respond than usual.
|
||||||
|
|
||||||
Additionally, this option is also used as the maximum timeout when
|
|
||||||
waiting for a surface to gain focus, see |wayland-focus-steal|.
|
|
||||||
|
|
||||||
*'wrap'* *'nowrap'*
|
*'wrap'* *'nowrap'*
|
||||||
'wrap' boolean (default on)
|
'wrap' boolean (default on)
|
||||||
local to window
|
local to window
|
||||||
|
|||||||
+19
-13
@@ -1047,7 +1047,7 @@ QUICK REFERENCE: MAPS *netrw-browse-maps* {{{2
|
|||||||
C Setting the editing window |netrw-C|
|
C Setting the editing window |netrw-C|
|
||||||
d Make a directory |netrw-d|
|
d Make a directory |netrw-d|
|
||||||
D Attempt to remove the file(s)/directory(ies) |netrw-D|
|
D Attempt to remove the file(s)/directory(ies) |netrw-D|
|
||||||
gb Go to previous bookmarked directory |netrw-gb|
|
gb Go to bookmark |netrw-gb|
|
||||||
gd Force treatment as directory |netrw-gd|
|
gd Force treatment as directory |netrw-gd|
|
||||||
gf Force treatment as file |netrw-gf|
|
gf Force treatment as file |netrw-gf|
|
||||||
gh Quick hide/unhide of dot-files |netrw-gh|
|
gh Quick hide/unhide of dot-files |netrw-gh|
|
||||||
@@ -1056,11 +1056,12 @@ QUICK REFERENCE: MAPS *netrw-browse-maps* {{{2
|
|||||||
i Cycle between thin, long, wide, and tree listings |netrw-i|
|
i Cycle between thin, long, wide, and tree listings |netrw-i|
|
||||||
I Toggle the displaying of the banner |netrw-I|
|
I Toggle the displaying of the banner |netrw-I|
|
||||||
mb Bookmark current directory |netrw-mb|
|
mb Bookmark current directory |netrw-mb|
|
||||||
|
mB Delete bookmark |netrw-mB|
|
||||||
mc Copy marked files to marked-file target directory |netrw-mc|
|
mc Copy marked files to marked-file target directory |netrw-mc|
|
||||||
md Apply diff to marked files (up to 3) |netrw-md|
|
md Apply diff to marked files (up to 3) |netrw-md|
|
||||||
me Place marked files on arg list and edit them |netrw-me|
|
me Place marked files on arg list and edit them |netrw-me|
|
||||||
mf Mark a file |netrw-mf|
|
mf Mark a file |netrw-mf|
|
||||||
mF Unmark files |netrw-mF|
|
mF Unmark buffer-local files |netrw-mF|
|
||||||
mg Apply vimgrep to marked files |netrw-mg|
|
mg Apply vimgrep to marked files |netrw-mg|
|
||||||
mh Toggle marked file suffices' presence on hiding list |netrw-mh|
|
mh Toggle marked file suffices' presence on hiding list |netrw-mh|
|
||||||
mm Move marked files to marked-file target directory |netrw-mm|
|
mm Move marked files to marked-file target directory |netrw-mm|
|
||||||
@@ -1142,6 +1143,8 @@ One may easily "bookmark" the currently browsed directory by using >
|
|||||||
|
|
||||||
mb
|
mb
|
||||||
<
|
<
|
||||||
|
Note: Bookmarked paths are normalized and stored as absolute paths.
|
||||||
|
|
||||||
*.netrwbook*
|
*.netrwbook*
|
||||||
Bookmarks are retained in between sessions of vim in a file called .netrwbook
|
Bookmarks are retained in between sessions of vim in a file called .netrwbook
|
||||||
as a |List|, which is typically stored in the first directory on the user's
|
as a |List|, which is typically stored in the first directory on the user's
|
||||||
@@ -1363,13 +1366,16 @@ Currently, this only works for local files.
|
|||||||
Associated setting variables: |g:netrw_chgperm|
|
Associated setting variables: |g:netrw_chgperm|
|
||||||
|
|
||||||
|
|
||||||
CHANGING TO A BOOKMARKED DIRECTORY *netrw-gb* {{{2
|
CHANGING TO A BOOKMARKED PATH *netrw-gb* {{{2
|
||||||
|
|
||||||
To change directory back to a bookmarked directory, use
|
To change to a bookmarked path, use >
|
||||||
|
|
||||||
{cnt}gb
|
[{cnt}]gb
|
||||||
|
|
||||||
Any count may be used to reference any of the bookmarks.
|
Any count may be used to reference any of the bookmarks.
|
||||||
|
If {cnt} is omitted, it shows a list of the current bookmarks
|
||||||
|
and prompts for a bookmark number to go to.
|
||||||
|
|
||||||
Note that |netrw-qb| shows both bookmarks and history; to go
|
Note that |netrw-qb| shows both bookmarks and history; to go
|
||||||
to a location stored in the history see |netrw-u| and |netrw-U|.
|
to a location stored in the history see |netrw-u| and |netrw-U|.
|
||||||
|
|
||||||
@@ -1432,10 +1438,13 @@ DELETING BOOKMARKS *netrw-mB* {{{2
|
|||||||
|
|
||||||
To delete a bookmark, use >
|
To delete a bookmark, use >
|
||||||
|
|
||||||
{cnt}mB
|
[{cnt}]mB
|
||||||
|
|
||||||
If there are marked files, then mB will remove them from the
|
If there are marked files, then mB will remove them from the
|
||||||
bookmark list.
|
bookmark list.
|
||||||
|
If no files are marked and {cnt} is omitted, it shows a list
|
||||||
|
of the current bookmarks and prompts for a bookmark number
|
||||||
|
to delete.
|
||||||
|
|
||||||
Alternatively, one may use :NetrwMB! (see |netrw-:NetrwMB|). >
|
Alternatively, one may use :NetrwMB! (see |netrw-:NetrwMB|). >
|
||||||
|
|
||||||
@@ -2275,9 +2284,10 @@ Set the marked file copy/move-to target (see |netrw-mc| and |netrw-mm|):
|
|||||||
displayed directory is used for the copy/move-to target.
|
displayed directory is used for the copy/move-to target.
|
||||||
|
|
||||||
* Also, if the cursor is in the banner, then the netrw window's currently
|
* Also, if the cursor is in the banner, then the netrw window's currently
|
||||||
displayed directory is used for the copy/move-to target.
|
displayed directory is used for the copy/move-to target - unless that
|
||||||
Unless the target already is the current directory. In which case,
|
directory is already the target, in which case typing "mt" again clears
|
||||||
typing "mf" clears the target.
|
it. Repeating "mt" in the banner thus toggles the current directory as
|
||||||
|
the target.
|
||||||
|
|
||||||
* However, if the cursor is atop a directory name, then that directory is
|
* However, if the cursor is atop a directory name, then that directory is
|
||||||
used for the copy/move-to target
|
used for the copy/move-to target
|
||||||
@@ -2854,10 +2864,6 @@ your browsing preferences. (see also: |netrw-settings|)
|
|||||||
such as listing, file removal, etc.
|
such as listing, file removal, etc.
|
||||||
default: ssh
|
default: ssh
|
||||||
|
|
||||||
*g:netrw_tmpfile_escape* =' &;'
|
|
||||||
escape() is applied to all temporary files
|
|
||||||
to escape these characters.
|
|
||||||
|
|
||||||
*g:netrw_timefmt* specify format string to vim's strftime().
|
*g:netrw_timefmt* specify format string to vim's strftime().
|
||||||
The default, "%c", is "the preferred date
|
The default, "%c", is "the preferred date
|
||||||
and time representation for the current
|
and time representation for the current
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*pi_tar.txt* For Vim version 9.2. Last change: 2026 Feb 14
|
*pi_tar.txt* For Vim version 9.2. Last change: 2026 Apr 16
|
||||||
|
|
||||||
+====================+
|
+====================+
|
||||||
| Tar File Interface |
|
| Tar File Interface |
|
||||||
@@ -101,6 +101,13 @@ Copyright 2005-2017: *tar-copyright*
|
|||||||
4. History *tar-history*
|
4. History *tar-history*
|
||||||
|
|
||||||
unreleased:
|
unreleased:
|
||||||
|
Apr 16, 2026 * add missing g:tar_secure into tar#Extract
|
||||||
|
Apr 15, 2026 * add path traversal checks in tar#Extract()
|
||||||
|
Apr 09, 2026 * fix zstd support and dotted filename support
|
||||||
|
Apr 06, 2026 * fix lz4 support
|
||||||
|
Feb 07, 2026 * make path traversal detection more robust
|
||||||
|
Feb 06, 2026 * fix bug with nowrapscan
|
||||||
|
Jul 16, 2025 * update minimum required Vim version
|
||||||
Jul 13, 2025 * drop leading /
|
Jul 13, 2025 * drop leading /
|
||||||
May 19, 2025 * restore working directory after read/write
|
May 19, 2025 * restore working directory after read/write
|
||||||
Apr 16, 2025 * decouple from netrw by adding s:WinPath()
|
Apr 16, 2025 * decouple from netrw by adding s:WinPath()
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*pi_vimball.txt* For Vim version 9.2. Last change: 2026 Apr 05
|
*pi_vimball.txt* For Vim version 9.2. Last change: 2026 Apr 16
|
||||||
|
|
||||||
----------------
|
----------------
|
||||||
Vimball Archiver
|
Vimball Archiver
|
||||||
@@ -166,6 +166,11 @@ WINDOWS *vimball-windows*
|
|||||||
==============================================================================
|
==============================================================================
|
||||||
4. Vimball History *vimball-history* {{{1
|
4. Vimball History *vimball-history* {{{1
|
||||||
|
|
||||||
|
unreleased:
|
||||||
|
Feb 28, 2025 * add support for bzip3 (#16755)
|
||||||
|
Apr 05, 2026 * Detect path traversal attacks
|
||||||
|
Apr 09, 2026 * Detect more path traversal attacks
|
||||||
|
Apr 16, 2026 * Block Windows drive letter paths
|
||||||
37 : Jul 18, 2014 * (by request of T. Miedema) added augroup around
|
37 : Jul 18, 2014 * (by request of T. Miedema) added augroup around
|
||||||
the autocmds in vimballPlugin.vim
|
the autocmds in vimballPlugin.vim
|
||||||
Jul 06, 2015 * there are two uses of tabc; changed to tabc!
|
Jul 06, 2015 * there are two uses of tabc; changed to tabc!
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*pi_zip.txt* For Vim version 9.2. Last change: 2026 Apr 05
|
*pi_zip.txt* For Vim version 9.2. Last change: 2026 May 16
|
||||||
|
|
||||||
+====================+
|
+====================+
|
||||||
| Zip File Interface |
|
| Zip File Interface |
|
||||||
@@ -114,9 +114,9 @@ Copyright: Copyright (C) 2005-2015 Charles E Campbell *zip-copyright*
|
|||||||
should be treated as zip files.
|
should be treated as zip files.
|
||||||
|
|
||||||
Alternatively, one may change *g:zipPlugin_ext* in one's .vimrc.
|
Alternatively, one may change *g:zipPlugin_ext* in one's .vimrc.
|
||||||
Currently (as of October 2025) it holds: >
|
Currently (as of May 2026) it holds: >
|
||||||
|
|
||||||
let g:zipPlugin_ext='*.aar,*.apk,*.celzip,*.crtx,*.docm,*.docx,
|
let g:zipPlugin_ext='*.aar,*.apk,*.cbz,*.celzip,*.crtx,*.docm,*.docx,
|
||||||
\ *.dotm,*.dotx,*.ear,*.epub,*.gcsx,*.glox,*.gqsx,*.ja,*.jar,*.kmz,
|
\ *.dotm,*.dotx,*.ear,*.epub,*.gcsx,*.glox,*.gqsx,*.ja,*.jar,*.kmz,
|
||||||
\ *.odb,*.odc,*.odf,*.odg,*.odi,*.odm,*.odp,*.ods,*.odt,*.otc,*.otf,
|
\ *.odb,*.odc,*.odf,*.odg,*.odi,*.odm,*.odp,*.ods,*.odt,*.otc,*.otf,
|
||||||
\ *.otg,*.oth,*.oti,*.otp,*.ots,*.ott,*.oxt,*.pkpass,*.potm,*.potx,
|
\ *.otg,*.oth,*.oti,*.otp,*.ots,*.ott,*.oxt,*.pkpass,*.potm,*.potx,
|
||||||
|
|||||||
+49
-5
@@ -1,4 +1,4 @@
|
|||||||
*popup.txt* For Vim version 9.2. Last change: 2026 Apr 06
|
*popup.txt* For Vim version 9.2. Last change: 2026 May 17
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -44,8 +44,11 @@ A popup window can be used for such things as:
|
|||||||
The text in the popup window can be colored with |text-properties|. It is
|
The text in the popup window can be colored with |text-properties|. It is
|
||||||
also possible to use syntax highlighting.
|
also possible to use syntax highlighting.
|
||||||
|
|
||||||
The default color used is "Pmenu". If you prefer something else use the
|
The default colors are taken from |hl-Popup| (body), |hl-PopupBorder|
|
||||||
"highlight" argument or the 'wincolor' option, e.g.: >
|
(border) and |hl-PopupTitle| (title), which all link to |hl-Pmenu| by
|
||||||
|
default for backward compatibility. Override them to give general popup
|
||||||
|
windows a different look than the popup completion menu, or use the
|
||||||
|
"highlight" argument or the 'wincolor' option for a per-popup override: >
|
||||||
hi MyPopupColor ctermbg=lightblue guibg=lightblue
|
hi MyPopupColor ctermbg=lightblue guibg=lightblue
|
||||||
call setwinvar(winid, '&wincolor', 'MyPopupColor')
|
call setwinvar(winid, '&wincolor', 'MyPopupColor')
|
||||||
|
|
||||||
@@ -712,6 +715,15 @@ The second argument of |popup_create()| is a dictionary with options:
|
|||||||
when "textprop" is present.
|
when "textprop" is present.
|
||||||
textpropid Used to identify the text property when "textprop" is
|
textpropid Used to identify the text property when "textprop" is
|
||||||
present. Use zero to reset.
|
present. Use zero to reset.
|
||||||
|
clipwindow Only used when "textprop" is set. When TRUE the popup
|
||||||
|
is kept within the window containing the text
|
||||||
|
property: if the text property scrolls past that
|
||||||
|
window's top, bottom, left or right edge, the popup
|
||||||
|
is clipped at that edge instead of being drawn
|
||||||
|
outside it. Once the text property has scrolled out
|
||||||
|
of the window the popup is hidden.
|
||||||
|
Default FALSE.
|
||||||
|
See |popup-clipwindow|.
|
||||||
fixed When FALSE (the default), and:
|
fixed When FALSE (the default), and:
|
||||||
- "pos" is "botleft" or "topleft", and
|
- "pos" is "botleft" or "topleft", and
|
||||||
- the popup would be truncated at the right edge of
|
- the popup would be truncated at the right edge of
|
||||||
@@ -751,6 +763,10 @@ The second argument of |popup_create()| is a dictionary with options:
|
|||||||
border one line of padding is added to put the title
|
border one line of padding is added to put the title
|
||||||
on. You might want to add one or more spaces at the
|
on. You might want to add one or more spaces at the
|
||||||
start and end as padding.
|
start and end as padding.
|
||||||
|
The title uses |hl-PopupTitle| by default; if
|
||||||
|
"borderhighlight" is set the top border highlight is
|
||||||
|
used instead, and if "highlight"/'wincolor' is set
|
||||||
|
that is used.
|
||||||
wrap TRUE to make the lines wrap (default TRUE).
|
wrap TRUE to make the lines wrap (default TRUE).
|
||||||
drag TRUE to allow the popup to be dragged with the mouse
|
drag TRUE to allow the popup to be dragged with the mouse
|
||||||
by grabbing at the border. Has no effect if the
|
by grabbing at the border. Has no effect if the
|
||||||
@@ -799,6 +815,8 @@ The second argument of |popup_create()| is a dictionary with options:
|
|||||||
the highlight for the top/right/bottom/left border.
|
the highlight for the top/right/bottom/left border.
|
||||||
Example: ['TopColor', 'RightColor', 'BottomColor,
|
Example: ['TopColor', 'RightColor', 'BottomColor,
|
||||||
'LeftColor']
|
'LeftColor']
|
||||||
|
When not given and "highlight"/'wincolor' is also not
|
||||||
|
set, |hl-PopupBorder| is used.
|
||||||
borderchars List with characters, defining the character to use
|
borderchars List with characters, defining the character to use
|
||||||
for the top/right/bottom/left border. Optionally
|
for the top/right/bottom/left border. Optionally
|
||||||
followed by the character to use for the
|
followed by the character to use for the
|
||||||
@@ -949,6 +967,31 @@ If the window for which the popup was defined is closed, the popup is closed.
|
|||||||
If the popup cannot fit in the desired position, it may show at a nearby
|
If the popup cannot fit in the desired position, it may show at a nearby
|
||||||
position.
|
position.
|
||||||
|
|
||||||
|
|
||||||
|
CLIP TEXTPROP POPUP TO HOST WINDOW *popup-clipwindow*
|
||||||
|
|
||||||
|
When the popup is anchored to a text property in a split window, the popup is
|
||||||
|
by default drawn relative to the whole screen and may extend past the edges of
|
||||||
|
the window that contains the text property (the "host window"). Setting
|
||||||
|
"clipwindow" to TRUE keeps the popup within window's content area:
|
||||||
|
parts of the popup that fall outside the window are clipped, and the popup is
|
||||||
|
hidden once the text property has scrolled entirely past one of the edges.
|
||||||
|
|
||||||
|
Example: a tall popup anchored above the cursor that should never spill into
|
||||||
|
the window below the split: >
|
||||||
|
call popup_create(body, #{
|
||||||
|
\ textprop: 'marker',
|
||||||
|
\ textpropid: id,
|
||||||
|
\ pos: 'topleft',
|
||||||
|
\ line: -1, col: 0,
|
||||||
|
\ posinvert: v:false,
|
||||||
|
\ clipwindow: v:true,
|
||||||
|
\ })
|
||||||
|
<
|
||||||
|
With "posinvert" left at its default (TRUE) the popup may be flipped to the
|
||||||
|
opposite side of the text property when there is no room; set it to FALSE to
|
||||||
|
keep the requested side and rely on "clipwindow" to clip the overflow.
|
||||||
|
|
||||||
Some hints:
|
Some hints:
|
||||||
- To avoid collision with other plugins the text property type name has to be
|
- To avoid collision with other plugins the text property type name has to be
|
||||||
unique. You can also use the "bufnr" item to make it local to a buffer.
|
unique. You can also use the "bufnr" item to make it local to a buffer.
|
||||||
@@ -1067,8 +1110,9 @@ The opacity value ranges from 0 to 100:
|
|||||||
1-99 Partially transparent - the popup background is blended with
|
1-99 Partially transparent - the popup background is blended with
|
||||||
the underlying text, making both partially visible.
|
the underlying text, making both partially visible.
|
||||||
|
|
||||||
The transparency effect requires using the GUI or having 'termguicolors'
|
The transparency effect requires using the GUI, having 'termguicolors'
|
||||||
enabled in the terminal. Without it, the opacity setting has no effect.
|
enabled, or running in a 256-color terminal. On terminals with fewer
|
||||||
|
than 256 colors the opacity setting has no effect.
|
||||||
|
|
||||||
When a popup is transparent:
|
When a popup is transparent:
|
||||||
- The popup's background color is blended with the background text
|
- The popup's background color is blended with the background text
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*quickfix.txt* For Vim version 9.2. Last change: 2026 Feb 14
|
*quickfix.txt* For Vim version 9.2. Last change: 2026 May 28
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -1821,9 +1821,9 @@ Basic items
|
|||||||
%c column number (finds a number representing character
|
%c column number (finds a number representing character
|
||||||
column of the error, byte index, a <tab> is 1
|
column of the error, byte index, a <tab> is 1
|
||||||
character column)
|
character column)
|
||||||
%v virtual column number (finds a number representing
|
%v virtual column number (finds a number representing the
|
||||||
screen column of the error (1 <tab> == 8 screen
|
screen column of the error, where a <tab> is always 8
|
||||||
columns))
|
screen columns regardless of 'tabstop')
|
||||||
%k end column number (finds a number representing
|
%k end column number (finds a number representing
|
||||||
the character column of the error, byte index, or a
|
the character column of the error, byte index, or a
|
||||||
number representing screen end column of the error if
|
number representing screen end column of the error if
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*quickref.txt* For Vim version 9.2. Last change: 2026 Apr 07
|
*quickref.txt* For Vim version 9.2. Last change: 2026 May 17
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -830,6 +830,7 @@ Short explanation of each option: *option-list*
|
|||||||
'modeline' 'ml' recognize modelines at start or end of file
|
'modeline' 'ml' recognize modelines at start or end of file
|
||||||
'modelineexpr' 'mle' allow setting expression options from a modeline
|
'modelineexpr' 'mle' allow setting expression options from a modeline
|
||||||
'modelines' 'mls' number of lines checked for modelines
|
'modelines' 'mls' number of lines checked for modelines
|
||||||
|
'modelinestrict' 'mlst' only allow safe options in modelines
|
||||||
'modifiable' 'ma' changes to the text are not possible
|
'modifiable' 'ma' changes to the text are not possible
|
||||||
'modified' 'mod' buffer has been modified
|
'modified' 'mod' buffer has been modified
|
||||||
'more' pause listings when the whole screen is filled
|
'more' pause listings when the whole screen is filled
|
||||||
@@ -901,6 +902,7 @@ Short explanation of each option: *option-list*
|
|||||||
'scrollfocus' 'scf' scroll wheel applies to window under pointer
|
'scrollfocus' 'scf' scroll wheel applies to window under pointer
|
||||||
'scrolljump' 'sj' minimum number of lines to scroll
|
'scrolljump' 'sj' minimum number of lines to scroll
|
||||||
'scrolloff' 'so' minimum nr. of lines above and below cursor
|
'scrolloff' 'so' minimum nr. of lines above and below cursor
|
||||||
|
'scrolloffpad' 'sop' vertically center cursor at end of file
|
||||||
'scrollopt' 'sbo' how 'scrollbind' should behave
|
'scrollopt' 'sbo' how 'scrollbind' should behave
|
||||||
'sections' 'sect' nroff macros that separate sections
|
'sections' 'sect' nroff macros that separate sections
|
||||||
'secure' secure mode for reading .vimrc in current dir
|
'secure' secure mode for reading .vimrc in current dir
|
||||||
@@ -965,6 +967,7 @@ Short explanation of each option: *option-list*
|
|||||||
'taglength' 'tl' number of significant characters for a tag
|
'taglength' 'tl' number of significant characters for a tag
|
||||||
'tagrelative' 'tr' file names in tag file are relative
|
'tagrelative' 'tr' file names in tag file are relative
|
||||||
'tags' 'tag' list of file names used by the tag command
|
'tags' 'tag' list of file names used by the tag command
|
||||||
|
'tagsecure' 'tsc' do not open remote files using tag commands
|
||||||
'tagstack' 'tgst' push tags onto the tag stack
|
'tagstack' 'tgst' push tags onto the tag stack
|
||||||
'tcldll' name of the Tcl dynamic library
|
'tcldll' name of the Tcl dynamic library
|
||||||
'term' name of the terminal
|
'term' name of the terminal
|
||||||
|
|||||||
@@ -195,6 +195,10 @@ recovered file. Or use |:DiffOrig|.
|
|||||||
Once you are sure the recovery is ok delete the swap file. Otherwise, you
|
Once you are sure the recovery is ok delete the swap file. Otherwise, you
|
||||||
will continue to get warning messages that the ".swp" file already exists.
|
will continue to get warning messages that the ".swp" file already exists.
|
||||||
|
|
||||||
|
Note: Recovering swap files is best-effort. Vim attempts to validate fields
|
||||||
|
and skip corrupted sections, but the swap file format is intended for files
|
||||||
|
you trust. A crafted swap file may trigger parser bugs; such reports are
|
||||||
|
treated as robustness issues rather than security vulnerabilities.
|
||||||
|
|
||||||
|
|
||||||
ENCRYPTION AND THE SWAP FILE *:recover-crypt*
|
ENCRYPTION AND THE SWAP FILE *:recover-crypt*
|
||||||
|
|||||||
+47
-32
@@ -80,9 +80,10 @@ The following command line arguments are available:
|
|||||||
*--clientserver*
|
*--clientserver*
|
||||||
--clientserver {method} Use the specified method {method} as the
|
--clientserver {method} Use the specified method {method} as the
|
||||||
backend for clientserver functionality. Can
|
backend for clientserver functionality. Can
|
||||||
either be "socket" or "x11".
|
either be "socket", "x11", or "mswin".
|
||||||
{only available when compiled with both |+X11|
|
{only available when compiled with both |+X11|
|
||||||
and |+socketserver| features}
|
and |+socketserver| features, or
|
||||||
|
|+socketserver| on MS-Windows}
|
||||||
|
|
||||||
|
|
||||||
Examples ~
|
Examples ~
|
||||||
@@ -221,12 +222,16 @@ When using gvim, the --remote-wait only works properly this way: >
|
|||||||
<
|
<
|
||||||
==============================================================================
|
==============================================================================
|
||||||
4. Socket server specific items *socketserver-clientserver*
|
4. Socket server specific items *socketserver-clientserver*
|
||||||
*E1563* *E1564* *E1565* *E1566* *E1567*
|
*E1564* *E1565* *E1566*
|
||||||
|
|
||||||
The communication between client and server is done using Unix domain sockets.
|
NOTE: Vim version before patch 9.2.511 use a different socketserver backend
|
||||||
These sockets are either placed in these directories in the following order of
|
which is incompatible with the new one, which is based on channels and JSON.
|
||||||
|
|
||||||
|
The communication between client and server is done using channels internally.
|
||||||
|
When using the traditional/generic clientserver naming (only available on
|
||||||
|
Unix), sockets are placed in these directories in the following order of
|
||||||
availability:
|
availability:
|
||||||
1. "$XDG_RUTIME_DIR/vim" if $XDG_RUNTIME_DIR is set in the environment.
|
1. "$XDG_RUNTIME_DIR/vim" if $XDG_RUNTIME_DIR is set in the environment.
|
||||||
2. "$TMPDIR/vim-[uid]", where "[uid]" is the uid of the user. This
|
2. "$TMPDIR/vim-[uid]", where "[uid]" is the uid of the user. This
|
||||||
directory will have the access permissions set to 700 so only the user
|
directory will have the access permissions set to 700 so only the user
|
||||||
can read or write from/to it. If $TMPDIR is not set, "/tmp" is used.
|
can read or write from/to it. If $TMPDIR is not set, "/tmp" is used.
|
||||||
@@ -238,46 +243,56 @@ absolute or relative path. If the server id starts with either a "/"
|
|||||||
Otherwise the server id will be the filename of the socket which will be
|
Otherwise the server id will be the filename of the socket which will be
|
||||||
placed in the above common directories. Note that a server id/name can only
|
placed in the above common directories. Note that a server id/name can only
|
||||||
contain slashes "/" if it is taken as a path, so names such as "abc/dir" will
|
contain slashes "/" if it is taken as a path, so names such as "abc/dir" will
|
||||||
be invalid.
|
be invalid. This feature is only available on Unix.
|
||||||
|
|
||||||
Socket server functionality is available in both GTK GUI and terminal versions
|
*socketserver-address*
|
||||||
of Vim. Unless Vim is compiled with |+autoservername| feature, the socket
|
In addition, the socketserver can also be created as a |channel-address|. To
|
||||||
server will have to started explicitly, just like X11, even in the GUI.
|
do this, prefix the address with "channel:" (which will be ignored). This is
|
||||||
|
available on both Unix and MS-Windows, and is the only available naming for the
|
||||||
|
socketserver backend on Windows. However, note that |ch_listen()|
|
||||||
|
restrictions apply, meaning only port numbers can be used for TCP sockets.
|
||||||
|
|
||||||
|
If the name is prefixed with "name:", then the legacy servername behaviour is
|
||||||
|
used, so "name:VIM" is the same as "VIM".
|
||||||
|
|
||||||
|
Unless Vim is compiled with |+autoservername| feature, the socket server will
|
||||||
|
have to started explicitly, similar to X11. This is unless a X11 GUI Vim is
|
||||||
|
being used.
|
||||||
|
|
||||||
If Vim crashes or does not exit cleanly, the socket server will not remove the
|
If Vim crashes or does not exit cleanly, the socket server will not remove the
|
||||||
socket file and it will be left around. This is generally not a problem,
|
socket file and it will be left around. This is generally not a problem,
|
||||||
because if a socket name is taken, Vim checks if the socket in its place is
|
because if a socket name is taken, Vim checks if the socket in its place is
|
||||||
dead (not attached to any process), and can replace it instead of finding a
|
dead (not attached to any process), and can replace it instead of finding a
|
||||||
new name.
|
new name. This is only relevant for Unix.
|
||||||
|
|
||||||
To send commands to a Vim socket server from another application, read the
|
|
||||||
source file src/os_unix.c, there is detailed description of the protocol used.
|
|
||||||
|
|
||||||
*socketserver-differences*
|
*socketserver-differences*
|
||||||
Most of the functionality is the same as X11, however unlike X11, where the
|
Most of the functionality is the same as the other clientserver backends.
|
||||||
client does not need to be a server in order to communicate with another
|
|
||||||
server, the socket server requires the server to be running even as a client.
|
|
||||||
The exception is |serverlist()| or the |--serverlist| argument, which does not
|
|
||||||
require the server to be running.
|
|
||||||
|
|
||||||
Additionally, the server id or client id will not be a number like X11 or
|
However, the server id or client id will not be a number like X11 or
|
||||||
MS-Windows (shown in hex representation), instead it is the absolute path to
|
MS-Windows (shown in hex representation), instead it is the absolute path to
|
||||||
the socket. This can be seen via the |v:servername| variable.
|
the socket. This can be seen via the |v:servername| variable. If the name is
|
||||||
|
a channel address, then it will be the address with the "a/" prefix as well.
|
||||||
|
|
||||||
The |--serverlist| argument will act just like X11, however it only checks the
|
Note when using |--remote-wait|, the client id will look like "t/<some
|
||||||
given common directories above. If a custom path is used for a socket, it
|
number>". This naming is specifically for this command, and attempting to use
|
||||||
will not be detected, such as a path either not in $XDG_RUNTIME_DIR or
|
it as an address will fail.
|
||||||
<$TMPDIR or /tmp>/vim of the |--serverlist| Vim process.
|
|
||||||
|
|
||||||
If you have both |+socketserver| and |+X11| compiled, you will need to add
|
If on Unix, the |--serverlist| argument will act just like X11, however it
|
||||||
|--clientserver| set to "socket" in combination with |--serverlist| to list
|
only checks the given common directories above. If a custom path is used for
|
||||||
the available servers. You cannot list both types of backends in one command.
|
a socket, it will not be detected, such as a path either not in
|
||||||
|
$XDG_RUNTIME_DIR or <$TMPDIR or /tmp>/vim of the |--serverlist| Vim process.
|
||||||
|
If on MS-Windows, then the |--serverlist| argument will output nothing.
|
||||||
|
|
||||||
|
The |+socketserver| feature is automatically enabled when on Unix or
|
||||||
|
MS-Windows, and the |+channel| feature is enabled
|
||||||
|
|
||||||
*socketserver-x11*
|
*socketserver-x11*
|
||||||
If Vim is compiled with both |+X11| and |+socketserver|, then deciding which
|
If Vim is compiled with |+socketserver| and another clientserver backend, then
|
||||||
backend to use is done at startup time, via the |--clientserver| argument. By
|
deciding which backend to use is done at startup time, via the
|
||||||
default if it is not specified, then X11 will be used. A Vim instance using a
|
|--clientserver| argument. By default if it is not specified, then the native
|
||||||
socket server cannot communicate with one using X11.
|
backend (X11 or MS-Window messages) will be used, if available. A Vim
|
||||||
|
instance using a socket server cannot communicate with one using another
|
||||||
|
clientserver backend.
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
5. MacVim specific items *macvim-clientserver*
|
5. MacVim specific items *macvim-clientserver*
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*repeat.txt* For Vim version 9.2. Last change: 2026 Feb 14
|
*repeat.txt* For Vim version 9.2. Last change: 2026 May 31
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -454,6 +454,9 @@ For writing a Vim script, see chapter 41 of the user manual |usr_41.txt|.
|
|||||||
nested ":try"s in the script. The outermost ":endtry"
|
nested ":try"s in the script. The outermost ":endtry"
|
||||||
then stops sourcing the script.
|
then stops sourcing the script.
|
||||||
|
|
||||||
|
In |Vim9| script `:finish` cannot be shortened, to
|
||||||
|
improve script readability.
|
||||||
|
|
||||||
All commands and command sequences can be repeated by putting them in a named
|
All commands and command sequences can be repeated by putting them in a named
|
||||||
register and then executing it. There are two ways to get the commands in the
|
register and then executing it. There are two ways to get the commands in the
|
||||||
register:
|
register:
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*spell.txt* For Vim version 9.2. Last change: 2026 Feb 14
|
*spell.txt* For Vim version 9.2. Last change: 2026 May 23
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -562,6 +562,11 @@ then Vim will try to guess.
|
|||||||
avoid running out of memory compression will be done
|
avoid running out of memory compression will be done
|
||||||
now and then. This can be tuned with the 'mkspellmem'
|
now and then. This can be tuned with the 'mkspellmem'
|
||||||
option.
|
option.
|
||||||
|
*E1578*
|
||||||
|
There is a limit on how many postponed prefix and
|
||||||
|
compound flags can be stored for one word. Reduce the
|
||||||
|
number of affix/compound flags on a word in the .dic
|
||||||
|
file that exceeds it.
|
||||||
|
|
||||||
After the spell file was written and it was being used
|
After the spell file was written and it was being used
|
||||||
in a buffer it will be reloaded automatically.
|
in a buffer it will be reloaded automatically.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*starting.txt* For Vim version 9.2. Last change: 2026 Mar 17
|
*starting.txt* For Vim version 9.2. Last change: 2026 Jun 02
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -642,6 +642,12 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
|
|||||||
of the output is: >
|
of the output is: >
|
||||||
WID: 12345\n
|
WID: 12345\n
|
||||||
|
|
||||||
|
--display {display} *--display*
|
||||||
|
Run Vim on {display}, connecting to that X server instead of
|
||||||
|
the one in $DISPLAY. The "--display" long form is accepted
|
||||||
|
only by the GTK+ 2 or GTK+ 3 GUI, see also |-display|.
|
||||||
|
{only available with the |+xterm_clipboard| feature}
|
||||||
|
|
||||||
--role {role} *--role*
|
--role {role} *--role*
|
||||||
GTK+ 2 GUI only. Set the role of the main window to {role}.
|
GTK+ 2 GUI only. Set the role of the main window to {role}.
|
||||||
The window role can be used by a window manager to uniquely
|
The window role can be used by a window manager to uniquely
|
||||||
@@ -1574,6 +1580,24 @@ Session. You could have several Session files, one for each project you are
|
|||||||
working on. Viminfo and Session files together can be used to effectively
|
working on. Viminfo and Session files together can be used to effectively
|
||||||
enter Vim and directly start working in your desired setup. |session-file|
|
enter Vim and directly start working in your desired setup. |session-file|
|
||||||
|
|
||||||
|
*viminfo-security*
|
||||||
|
A viminfo file written by Vim is plain text and contains Vim expressions for
|
||||||
|
|List|, |Dictionary| and |Tuple| values. When "!" is in 'viminfo' at the time
|
||||||
|
Vim processes the file as a viminfo file, those expressions are evaluated.
|
||||||
|
|
||||||
|
The default value of 'viminfo' does not include "!", so by default no
|
||||||
|
expression evaluation happens.
|
||||||
|
|
||||||
|
Opening a viminfo file in a buffer (e.g. with |:edit|) is harmless; Vim only
|
||||||
|
displays the file contents. The risk is letting Vim process an untrusted file
|
||||||
|
through the viminfo machinery, which happens when:
|
||||||
|
- |:rviminfo| is used on the file, or
|
||||||
|
- 'viminfofile' is set to point at it, or
|
||||||
|
- the file is placed at the path Vim already reads as viminfo
|
||||||
|
|viminfo-file-name|
|
||||||
|
|
||||||
|
In any of those cases, do not have "!" in 'viminfo' if you do not trust it.
|
||||||
|
|
||||||
*viminfo-read*
|
*viminfo-read*
|
||||||
When Vim is started and the 'viminfo' option is non-empty, the contents of
|
When Vim is started and the 'viminfo' option is non-empty, the contents of
|
||||||
the viminfo file are read and the info can be used in the appropriate places.
|
the viminfo file are read and the info can be used in the appropriate places.
|
||||||
|
|||||||
+58
-20
@@ -1,4 +1,4 @@
|
|||||||
*syntax.txt* For Vim version 9.2. Last change: 2026 Mar 22
|
*syntax.txt* For Vim version 9.2. Last change: 2026 Jun 01
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -402,9 +402,8 @@ the desired value, or restored to their default by removing the variable using
|
|||||||
Remarks:
|
Remarks:
|
||||||
- Some truly ancient browsers may not show the background colors.
|
- Some truly ancient browsers may not show the background colors.
|
||||||
- From most browsers you can also print the file (in color)!
|
- From most browsers you can also print the file (in color)!
|
||||||
- The latest TOhtml may actually work with older versions of Vim, but some
|
- Colors may be incorrect for Vim without GUI support compiled in.
|
||||||
features such as conceal support will not function, and the colors may be
|
- The latest TOhtml requires Vim 9.1 or later.
|
||||||
incorrect for an old Vim without GUI support compiled in.
|
|
||||||
|
|
||||||
Here is an example how to run the script over all .c and .h files from a
|
Here is an example how to run the script over all .c and .h files from a
|
||||||
Unix shell: >
|
Unix shell: >
|
||||||
@@ -849,6 +848,19 @@ ADA
|
|||||||
See |ft-ada-syntax|
|
See |ft-ada-syntax|
|
||||||
|
|
||||||
|
|
||||||
|
ALGOL 68 *algol68* *ft-algol68-syntax*
|
||||||
|
|
||||||
|
This syntax file currently targets the Algol 68 Genie project using the
|
||||||
|
default UPPER stropping regime. It should also be usable in other
|
||||||
|
environments using the UPPER stropping regime, though somewhat less complete.
|
||||||
|
|
||||||
|
Highlighting can be further configured with the following variables.
|
||||||
|
|
||||||
|
Variable Highlight ~
|
||||||
|
*algol68_no_preludes* no prelude identifiers, procedures or
|
||||||
|
operators
|
||||||
|
|
||||||
|
|
||||||
ANT *ant.vim* *ft-ant-syntax*
|
ANT *ant.vim* *ft-ant-syntax*
|
||||||
|
|
||||||
The ant syntax file provides syntax highlighting for javascript and python
|
The ant syntax file provides syntax highlighting for javascript and python
|
||||||
@@ -1248,6 +1260,7 @@ cpp_no_cpp11 don't highlight C++11 standard items
|
|||||||
cpp_no_cpp14 don't highlight C++14 standard items
|
cpp_no_cpp14 don't highlight C++14 standard items
|
||||||
cpp_no_cpp17 don't highlight C++17 standard items
|
cpp_no_cpp17 don't highlight C++17 standard items
|
||||||
cpp_no_cpp20 don't highlight C++20 standard items
|
cpp_no_cpp20 don't highlight C++20 standard items
|
||||||
|
cpp_no_cpp23 don't highlight C++23 standard items
|
||||||
|
|
||||||
|
|
||||||
CSH *csh.vim* *ft-csh-syntax*
|
CSH *csh.vim* *ft-csh-syntax*
|
||||||
@@ -5978,7 +5991,14 @@ EndOfBuffer Filler lines (~) after the last line in the buffer.
|
|||||||
*hl-ErrorMsg*
|
*hl-ErrorMsg*
|
||||||
ErrorMsg Error messages on the command line.
|
ErrorMsg Error messages on the command line.
|
||||||
*hl-VertSplit*
|
*hl-VertSplit*
|
||||||
VertSplit Column separating vertically split windows.
|
VertSplit Column separating vertically split windows that is adjacent
|
||||||
|
to the current window. Drawn with the "vert" item of
|
||||||
|
'fillchars'.
|
||||||
|
*hl-VertSplitNC*
|
||||||
|
VertSplitNC Column separating vertically split windows where neither
|
||||||
|
adjacent window is the current window. Drawn with the
|
||||||
|
"vert" item of 'fillchars'.
|
||||||
|
By default, highlighted like |hl-VertSplit|.
|
||||||
*hl-Folded*
|
*hl-Folded*
|
||||||
Folded Line used for closed folds.
|
Folded Line used for closed folds.
|
||||||
*hl-FoldColumn*
|
*hl-FoldColumn*
|
||||||
@@ -6056,6 +6076,18 @@ PmenuShadow Popup menu: Used for shadow.
|
|||||||
ComplMatchIns Matched text of the currently inserted completion.
|
ComplMatchIns Matched text of the currently inserted completion.
|
||||||
*hl-PreInsert*
|
*hl-PreInsert*
|
||||||
PreInsert Text inserted when "preinsert" is in 'completeopt'.
|
PreInsert Text inserted when "preinsert" is in 'completeopt'.
|
||||||
|
*hl-Popup*
|
||||||
|
Popup Popup window body, used when neither the popup's 'wincolor'
|
||||||
|
nor explicit "highlight" argument is set. Linked to |hl-Pmenu|
|
||||||
|
by default.
|
||||||
|
*hl-PopupBorder*
|
||||||
|
PopupBorder Popup window border characters, used when "borderhighlight" is
|
||||||
|
not set and the popup's 'wincolor' is also not set.
|
||||||
|
Linked to |hl-Pmenu| by default.
|
||||||
|
*hl-PopupTitle*
|
||||||
|
PopupTitle Popup window title, used when "borderhighlight" is not set and
|
||||||
|
the popup's 'wincolor' is also not set. Linked to
|
||||||
|
|hl-Pmenu| by default.
|
||||||
*hl-PopupSelected*
|
*hl-PopupSelected*
|
||||||
PopupSelected Popup window created with |popup_menu()|. Linked to
|
PopupSelected Popup window created with |popup_menu()|. Linked to
|
||||||
|hl-PmenuSel| by default.
|
|hl-PmenuSel| by default.
|
||||||
@@ -6094,16 +6126,23 @@ SpellRare Word that is recognized by the spellchecker as one that is
|
|||||||
hardly ever used. |spell|
|
hardly ever used. |spell|
|
||||||
This will be combined with the highlighting used otherwise.
|
This will be combined with the highlighting used otherwise.
|
||||||
*hl-StatusLine*
|
*hl-StatusLine*
|
||||||
StatusLine Status line of current window.
|
StatusLine Status line of current window. The highlight at the status
|
||||||
|
line's edge (StatusLine, or any %#... / %N* in 'statusline')
|
||||||
|
also extends into the adjacent vertical separator cell when
|
||||||
|
the status lines are connected (The "vert" in 'fillchars' is
|
||||||
|
not being drawn).
|
||||||
*hl-StatusLineNC*
|
*hl-StatusLineNC*
|
||||||
StatusLineNC status lines of not-current windows
|
StatusLineNC status lines of not-current windows. Like |hl-StatusLine|,
|
||||||
|
the edge highlight also extends into the adjacent vertical
|
||||||
|
separator cell.
|
||||||
Note: If this is equal to "StatusLine", Vim will use "^^^" in
|
Note: If this is equal to "StatusLine", Vim will use "^^^" in
|
||||||
the status line of the current window.
|
the status line of the current window.
|
||||||
*hl-StatusLineTerm*
|
*hl-StatusLineTerm*
|
||||||
StatusLineTerm Status line of current window, if it is a |terminal| window.
|
StatusLineTerm Status line of current window, if it is a |terminal| window.
|
||||||
*hl-StatusLineTermNC*
|
*hl-StatusLineTermNC*
|
||||||
StatusLineTermNC Status lines of not-current windows that is a
|
StatusLineTermNC
|
||||||
|terminal| window.
|
Status lines of not-current windows that is a |terminal|
|
||||||
|
window.
|
||||||
*hl-TabLine*
|
*hl-TabLine*
|
||||||
TabLine Tab pages line, not active tab page label.
|
TabLine Tab pages line, not active tab page label.
|
||||||
*hl-TabLineFill*
|
*hl-TabLineFill*
|
||||||
@@ -6123,18 +6162,19 @@ Title Titles for output from ":set all", ":autocmd" etc.
|
|||||||
*hl-TitleBar*
|
*hl-TitleBar*
|
||||||
TitleBar Title bar for the active Gui's window.
|
TitleBar Title bar for the active Gui's window.
|
||||||
This feature is supported only in the MS-Windows GUI.
|
This feature is supported only in the MS-Windows GUI.
|
||||||
See |gui-w32-title-bar| for details
|
See |gui-w32-title-bar| for details.
|
||||||
Only the `guibg` and `guifg` highlight arguments are effective.
|
Only the `guibg` and `guifg` highlight arguments are effective.
|
||||||
*hl-TitleBarNC*
|
*hl-TitleBarNC*
|
||||||
TitleBarNC Title bar for inactive Gui's window.
|
TitleBarNC Title bar for inactive Gui's window.
|
||||||
This feature is supported only in the MS-Windows GUI.
|
This feature is supported only in the MS-Windows GUI.
|
||||||
See |gui-w32-title-bar| for details
|
See |gui-w32-title-bar| for details.
|
||||||
Only the `guibg` and `guifg` highlight arguments are effective.
|
Only the `guibg` and `guifg` highlight arguments are effective.
|
||||||
*hl-Visual*
|
*hl-Visual*
|
||||||
Visual Visual mode selection.
|
Visual Visual mode selection.
|
||||||
*hl-VisualNOS*
|
*hl-VisualNOS*
|
||||||
VisualNOS Visual mode selection when vim is "Not Owning the Selection".
|
VisualNOS Visual mode selection when vim is "Not Owning the Selection".
|
||||||
Only X11 Gui's |gui-x11| and |xterm-clipboard| supports this.
|
Only X11 Gui's |gui-x11|, |xterm-clipboard| and
|
||||||
|
|wayland-selections| supports this.
|
||||||
*hl-WarningMsg*
|
*hl-WarningMsg*
|
||||||
WarningMsg Warning messages.
|
WarningMsg Warning messages.
|
||||||
*hl-WildMenu*
|
*hl-WildMenu*
|
||||||
@@ -6154,10 +6194,9 @@ Menu Current font, background and foreground colors of the menus.
|
|||||||
Also used for the toolbar.
|
Also used for the toolbar.
|
||||||
Applicable highlight arguments: font, guibg, guifg.
|
Applicable highlight arguments: font, guibg, guifg.
|
||||||
|
|
||||||
NOTE: For Motif the font argument actually
|
NOTE: For Motif the font argument actually specifies a fontset
|
||||||
specifies a fontset at all times, no matter if 'guifontset' is
|
at all times, no matter if 'guifontset' is empty, and as such
|
||||||
empty, and as such it is tied to the current |:language| when
|
it is tied to the current |:language| when set.
|
||||||
set.
|
|
||||||
|
|
||||||
*hl-Scrollbar*
|
*hl-Scrollbar*
|
||||||
Scrollbar Current background and foreground of the main window's
|
Scrollbar Current background and foreground of the main window's
|
||||||
@@ -6168,10 +6207,9 @@ Scrollbar Current background and foreground of the main window's
|
|||||||
Tooltip Current font, background and foreground of the tooltips.
|
Tooltip Current font, background and foreground of the tooltips.
|
||||||
Applicable highlight arguments: font, guibg, guifg.
|
Applicable highlight arguments: font, guibg, guifg.
|
||||||
|
|
||||||
NOTE: For Motif the font argument actually
|
NOTE: For Motif the font argument actually specifies a fontset
|
||||||
specifies a fontset at all times, no matter if 'guifontset' is
|
at all times, no matter if 'guifontset' is empty, and as such
|
||||||
empty, and as such it is tied to the current |:language| when
|
it is tied to the current |:language| when set.
|
||||||
set.
|
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
15. Linking groups *:hi-link* *:highlight-link* *E412* *E413*
|
15. Linking groups *:hi-link* *:highlight-link* *E412* *E413*
|
||||||
|
|||||||
+37
-1
@@ -1,4 +1,4 @@
|
|||||||
*tabpage.txt* For Vim version 9.2. Last change: 2026 Feb 14
|
*tabpage.txt* For Vim version 9.2. Last change: 2026 May 04
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -482,6 +482,42 @@ The vertical separator character is taken from "tpl_vert" in 'fillchars'.
|
|||||||
You can customize the appearance of the tab page labels using the highlight
|
You can customize the appearance of the tab page labels using the highlight
|
||||||
groups: |hl-TabPanel| |hl-TabPanelSel| |hl-TabPanelFill|
|
groups: |hl-TabPanel| |hl-TabPanelSel| |hl-TabPanelFill|
|
||||||
|
|
||||||
|
SCROLLING IN THE TABPANEL *tabpanel-scroll*
|
||||||
|
|
||||||
|
When the total height of the tab page list exceeds the visible screen height,
|
||||||
|
mouse wheel events over the tabpanel area scroll the tab page list up or down.
|
||||||
|
The scroll step follows the 'mousescroll' setting. Wheel events inside the
|
||||||
|
tabpanel area are consumed by the tabpanel and do not trigger
|
||||||
|
|<ScrollWheelUp>| or |<ScrollWheelDown>| mappings.
|
||||||
|
|
||||||
|
The current tab page is always brought into view: when the selected tab page
|
||||||
|
changes (by |gt|, |gT|, |:tabnext| etc.), the panel scrolls so the current
|
||||||
|
entry is visible.
|
||||||
|
|
||||||
|
To show a vertical scrollbar indicating the current scroll position, add
|
||||||
|
"scrollbar" to 'tabpanelopt': >
|
||||||
|
:set tabpanelopt+=scrollbar
|
||||||
|
|
||||||
|
A one-column scrollbar is always displayed at the right edge of the tabpanel,
|
||||||
|
regardless of the "align:" setting in 'tabpanelopt'. Clicking on the
|
||||||
|
scrollbar column moves the thumb to the click position, and the thumb can be
|
||||||
|
dragged to scroll continuously.
|
||||||
|
|
||||||
|
The scrollbar uses the |hl-PmenuSbar| highlight group for the track and
|
||||||
|
|hl-PmenuThumb| for the thumb.
|
||||||
|
|
||||||
|
The scroll offset is remembered across redraws.
|
||||||
|
|
||||||
|
MOUSE CLICKS IN THE TABPANEL *tabpanel-mouse*
|
||||||
|
|
||||||
|
A left click on a row in the tabpanel selects the tab page that the row
|
||||||
|
belongs to. Unlike the tabline, a double click in the tabpanel does not open
|
||||||
|
a new, empty tab page; it is treated the same as a single click.
|
||||||
|
|
||||||
|
For finer-grained control, the 'tabpanel' value may contain |stl-%[FuncName]|
|
||||||
|
click regions. Clicks on those regions are dispatched to the callback
|
||||||
|
function instead of falling through to tab page selection.
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
6. Setting 'guitablabel' *setting-guitablabel*
|
6. Setting 'guitablabel' *setting-guitablabel*
|
||||||
|
|
||||||
|
|||||||
+36
-15
@@ -542,6 +542,7 @@ $quote eval.txt /*$quote*
|
|||||||
'ml' options.txt /*'ml'*
|
'ml' options.txt /*'ml'*
|
||||||
'mle' options.txt /*'mle'*
|
'mle' options.txt /*'mle'*
|
||||||
'mls' options.txt /*'mls'*
|
'mls' options.txt /*'mls'*
|
||||||
|
'mlst' options.txt /*'mlst'*
|
||||||
'mm' options.txt /*'mm'*
|
'mm' options.txt /*'mm'*
|
||||||
'mmd' options.txt /*'mmd'*
|
'mmd' options.txt /*'mmd'*
|
||||||
'mmp' options.txt /*'mmp'*
|
'mmp' options.txt /*'mmp'*
|
||||||
@@ -551,6 +552,7 @@ $quote eval.txt /*$quote*
|
|||||||
'modeline' options.txt /*'modeline'*
|
'modeline' options.txt /*'modeline'*
|
||||||
'modelineexpr' options.txt /*'modelineexpr'*
|
'modelineexpr' options.txt /*'modelineexpr'*
|
||||||
'modelines' options.txt /*'modelines'*
|
'modelines' options.txt /*'modelines'*
|
||||||
|
'modelinestrict' options.txt /*'modelinestrict'*
|
||||||
'modifiable' options.txt /*'modifiable'*
|
'modifiable' options.txt /*'modifiable'*
|
||||||
'modified' options.txt /*'modified'*
|
'modified' options.txt /*'modified'*
|
||||||
'mopt' options.txt /*'mopt'*
|
'mopt' options.txt /*'mopt'*
|
||||||
@@ -723,10 +725,12 @@ $quote eval.txt /*$quote*
|
|||||||
'nomh' options.txt /*'nomh'*
|
'nomh' options.txt /*'nomh'*
|
||||||
'noml' options.txt /*'noml'*
|
'noml' options.txt /*'noml'*
|
||||||
'nomle' options.txt /*'nomle'*
|
'nomle' options.txt /*'nomle'*
|
||||||
|
'nomlst' options.txt /*'nomlst'*
|
||||||
'nommta' options.txt /*'nommta'*
|
'nommta' options.txt /*'nommta'*
|
||||||
'nomod' options.txt /*'nomod'*
|
'nomod' options.txt /*'nomod'*
|
||||||
'nomodeline' options.txt /*'nomodeline'*
|
'nomodeline' options.txt /*'nomodeline'*
|
||||||
'nomodelineexpr' options.txt /*'nomodelineexpr'*
|
'nomodelineexpr' options.txt /*'nomodelineexpr'*
|
||||||
|
'nomodelinestrict' options.txt /*'nomodelinestrict'*
|
||||||
'nomodifiable' options.txt /*'nomodifiable'*
|
'nomodifiable' options.txt /*'nomodifiable'*
|
||||||
'nomodified' options.txt /*'nomodified'*
|
'nomodified' options.txt /*'nomodified'*
|
||||||
'nomore' options.txt /*'nomore'*
|
'nomore' options.txt /*'nomore'*
|
||||||
@@ -799,6 +803,7 @@ $quote eval.txt /*$quote*
|
|||||||
'nota' options.txt /*'nota'*
|
'nota' options.txt /*'nota'*
|
||||||
'notagbsearch' options.txt /*'notagbsearch'*
|
'notagbsearch' options.txt /*'notagbsearch'*
|
||||||
'notagrelative' options.txt /*'notagrelative'*
|
'notagrelative' options.txt /*'notagrelative'*
|
||||||
|
'notagsecure' options.txt /*'notagsecure'*
|
||||||
'notagstack' options.txt /*'notagstack'*
|
'notagstack' options.txt /*'notagstack'*
|
||||||
'notbi' options.txt /*'notbi'*
|
'notbi' options.txt /*'notbi'*
|
||||||
'notbidi' options.txt /*'notbidi'*
|
'notbidi' options.txt /*'notbidi'*
|
||||||
@@ -817,6 +822,7 @@ $quote eval.txt /*$quote*
|
|||||||
'noto' options.txt /*'noto'*
|
'noto' options.txt /*'noto'*
|
||||||
'notop' options.txt /*'notop'*
|
'notop' options.txt /*'notop'*
|
||||||
'notr' options.txt /*'notr'*
|
'notr' options.txt /*'notr'*
|
||||||
|
'notsc' options.txt /*'notsc'*
|
||||||
'nottimeout' options.txt /*'nottimeout'*
|
'nottimeout' options.txt /*'nottimeout'*
|
||||||
'nottybuiltin' options.txt /*'nottybuiltin'*
|
'nottybuiltin' options.txt /*'nottybuiltin'*
|
||||||
'nottyfast' options.txt /*'nottyfast'*
|
'nottyfast' options.txt /*'nottyfast'*
|
||||||
@@ -967,6 +973,7 @@ $quote eval.txt /*$quote*
|
|||||||
'scrollfocus' options.txt /*'scrollfocus'*
|
'scrollfocus' options.txt /*'scrollfocus'*
|
||||||
'scrolljump' options.txt /*'scrolljump'*
|
'scrolljump' options.txt /*'scrolljump'*
|
||||||
'scrolloff' options.txt /*'scrolloff'*
|
'scrolloff' options.txt /*'scrolloff'*
|
||||||
|
'scrolloffpad' options.txt /*'scrolloffpad'*
|
||||||
'scrollopt' options.txt /*'scrollopt'*
|
'scrollopt' options.txt /*'scrollopt'*
|
||||||
'scs' options.txt /*'scs'*
|
'scs' options.txt /*'scs'*
|
||||||
'sect' options.txt /*'sect'*
|
'sect' options.txt /*'sect'*
|
||||||
@@ -1025,6 +1032,7 @@ $quote eval.txt /*$quote*
|
|||||||
'so' options.txt /*'so'*
|
'so' options.txt /*'so'*
|
||||||
'softtabstop' options.txt /*'softtabstop'*
|
'softtabstop' options.txt /*'softtabstop'*
|
||||||
'sol' options.txt /*'sol'*
|
'sol' options.txt /*'sol'*
|
||||||
|
'sop' options.txt /*'sop'*
|
||||||
'sourceany' vi_diff.txt /*'sourceany'*
|
'sourceany' vi_diff.txt /*'sourceany'*
|
||||||
'sp' options.txt /*'sp'*
|
'sp' options.txt /*'sp'*
|
||||||
'spc' options.txt /*'spc'*
|
'spc' options.txt /*'spc'*
|
||||||
@@ -1241,6 +1249,7 @@ $quote eval.txt /*$quote*
|
|||||||
'taglength' options.txt /*'taglength'*
|
'taglength' options.txt /*'taglength'*
|
||||||
'tagrelative' options.txt /*'tagrelative'*
|
'tagrelative' options.txt /*'tagrelative'*
|
||||||
'tags' options.txt /*'tags'*
|
'tags' options.txt /*'tags'*
|
||||||
|
'tagsecure' options.txt /*'tagsecure'*
|
||||||
'tagstack' options.txt /*'tagstack'*
|
'tagstack' options.txt /*'tagstack'*
|
||||||
'tal' options.txt /*'tal'*
|
'tal' options.txt /*'tal'*
|
||||||
'tb' options.txt /*'tb'*
|
'tb' options.txt /*'tb'*
|
||||||
@@ -1293,6 +1302,7 @@ $quote eval.txt /*$quote*
|
|||||||
'transparency' options.txt /*'transparency'*
|
'transparency' options.txt /*'transparency'*
|
||||||
'trz' options.txt /*'trz'*
|
'trz' options.txt /*'trz'*
|
||||||
'ts' options.txt /*'ts'*
|
'ts' options.txt /*'ts'*
|
||||||
|
'tsc' options.txt /*'tsc'*
|
||||||
'tsl' options.txt /*'tsl'*
|
'tsl' options.txt /*'tsl'*
|
||||||
'tsr' options.txt /*'tsr'*
|
'tsr' options.txt /*'tsr'*
|
||||||
'tsrfu' options.txt /*'tsrfu'*
|
'tsrfu' options.txt /*'tsrfu'*
|
||||||
@@ -1579,7 +1589,6 @@ $quote eval.txt /*$quote*
|
|||||||
+vtp various.txt /*+vtp*
|
+vtp various.txt /*+vtp*
|
||||||
+wayland various.txt /*+wayland*
|
+wayland various.txt /*+wayland*
|
||||||
+wayland_clipboard various.txt /*+wayland_clipboard*
|
+wayland_clipboard various.txt /*+wayland_clipboard*
|
||||||
+wayland_focus_steal various.txt /*+wayland_focus_steal*
|
|
||||||
+wildignore various.txt /*+wildignore*
|
+wildignore various.txt /*+wildignore*
|
||||||
+wildmenu various.txt /*+wildmenu*
|
+wildmenu various.txt /*+wildmenu*
|
||||||
+windows various.txt /*+windows*
|
+windows various.txt /*+windows*
|
||||||
@@ -1605,6 +1614,7 @@ $quote eval.txt /*$quote*
|
|||||||
--clean starting.txt /*--clean*
|
--clean starting.txt /*--clean*
|
||||||
--clientserver remote.txt /*--clientserver*
|
--clientserver remote.txt /*--clientserver*
|
||||||
--cmd starting.txt /*--cmd*
|
--cmd starting.txt /*--cmd*
|
||||||
|
--display starting.txt /*--display*
|
||||||
--echo-wid starting.txt /*--echo-wid*
|
--echo-wid starting.txt /*--echo-wid*
|
||||||
--gui-dialog-file starting.txt /*--gui-dialog-file*
|
--gui-dialog-file starting.txt /*--gui-dialog-file*
|
||||||
--help starting.txt /*--help*
|
--help starting.txt /*--help*
|
||||||
@@ -4606,12 +4616,9 @@ E1315 vim9class.txt /*E1315*
|
|||||||
E1316 vim9class.txt /*E1316*
|
E1316 vim9class.txt /*E1316*
|
||||||
E1317 vim9class.txt /*E1317*
|
E1317 vim9class.txt /*E1317*
|
||||||
E1318 vim9class.txt /*E1318*
|
E1318 vim9class.txt /*E1318*
|
||||||
E1319 eval.txt /*E1319*
|
|
||||||
E132 userfunc.txt /*E132*
|
E132 userfunc.txt /*E132*
|
||||||
E1320 eval.txt /*E1320*
|
E1320 eval.txt /*E1320*
|
||||||
E1321 eval.txt /*E1321*
|
|
||||||
E1322 eval.txt /*E1322*
|
E1322 eval.txt /*E1322*
|
||||||
E1323 eval.txt /*E1323*
|
|
||||||
E1324 eval.txt /*E1324*
|
E1324 eval.txt /*E1324*
|
||||||
E1325 vim9class.txt /*E1325*
|
E1325 vim9class.txt /*E1325*
|
||||||
E1326 vim9class.txt /*E1326*
|
E1326 vim9class.txt /*E1326*
|
||||||
@@ -4688,15 +4695,12 @@ E1391 eval.txt /*E1391*
|
|||||||
E1392 eval.txt /*E1392*
|
E1392 eval.txt /*E1392*
|
||||||
E1393 vim9class.txt /*E1393*
|
E1393 vim9class.txt /*E1393*
|
||||||
E1394 vim9class.txt /*E1394*
|
E1394 vim9class.txt /*E1394*
|
||||||
E1395 vim9class.txt /*E1395*
|
E1395 vim9.txt /*E1395*
|
||||||
E1396 vim9class.txt /*E1396*
|
E1396 vim9class.txt /*E1396*
|
||||||
E1397 vim9class.txt /*E1397*
|
E1397 vim9class.txt /*E1397*
|
||||||
E1398 vim9class.txt /*E1398*
|
E1398 vim9class.txt /*E1398*
|
||||||
E1399 vim9class.txt /*E1399*
|
E1399 vim9class.txt /*E1399*
|
||||||
E140 message.txt /*E140*
|
E140 message.txt /*E140*
|
||||||
E1400 vim9class.txt /*E1400*
|
|
||||||
E1401 vim9class.txt /*E1401*
|
|
||||||
E1402 vim9class.txt /*E1402*
|
|
||||||
E1403 vim9class.txt /*E1403*
|
E1403 vim9class.txt /*E1403*
|
||||||
E1404 vim9class.txt /*E1404*
|
E1404 vim9class.txt /*E1404*
|
||||||
E1405 vim9class.txt /*E1405*
|
E1405 vim9class.txt /*E1405*
|
||||||
@@ -4812,11 +4816,9 @@ E156 sign.txt /*E156*
|
|||||||
E1560 vim9.txt /*E1560*
|
E1560 vim9.txt /*E1560*
|
||||||
E1561 vim9.txt /*E1561*
|
E1561 vim9.txt /*E1561*
|
||||||
E1562 options.txt /*E1562*
|
E1562 options.txt /*E1562*
|
||||||
E1563 remote.txt /*E1563*
|
|
||||||
E1564 remote.txt /*E1564*
|
E1564 remote.txt /*E1564*
|
||||||
E1565 remote.txt /*E1565*
|
E1565 remote.txt /*E1565*
|
||||||
E1566 remote.txt /*E1566*
|
E1566 remote.txt /*E1566*
|
||||||
E1567 remote.txt /*E1567*
|
|
||||||
E1568 options.txt /*E1568*
|
E1568 options.txt /*E1568*
|
||||||
E1569 builtin.txt /*E1569*
|
E1569 builtin.txt /*E1569*
|
||||||
E157 sign.txt /*E157*
|
E157 sign.txt /*E157*
|
||||||
@@ -4826,6 +4828,9 @@ E1572 options.txt /*E1572*
|
|||||||
E1573 channel.txt /*E1573*
|
E1573 channel.txt /*E1573*
|
||||||
E1574 channel.txt /*E1574*
|
E1574 channel.txt /*E1574*
|
||||||
E1575 builtin.txt /*E1575*
|
E1575 builtin.txt /*E1575*
|
||||||
|
E1576 tagsrch.txt /*E1576*
|
||||||
|
E1577 options.txt /*E1577*
|
||||||
|
E1578 spell.txt /*E1578*
|
||||||
E158 sign.txt /*E158*
|
E158 sign.txt /*E158*
|
||||||
E159 sign.txt /*E159*
|
E159 sign.txt /*E159*
|
||||||
E16 cmdline.txt /*E16*
|
E16 cmdline.txt /*E16*
|
||||||
@@ -5315,7 +5320,6 @@ E610 editing.txt /*E610*
|
|||||||
E611 eval.txt /*E611*
|
E611 eval.txt /*E611*
|
||||||
E612 sign.txt /*E612*
|
E612 sign.txt /*E612*
|
||||||
E613 print.txt /*E613*
|
E613 print.txt /*E613*
|
||||||
E614 builtin.txt /*E614*
|
|
||||||
E616 builtin.txt /*E616*
|
E616 builtin.txt /*E616*
|
||||||
E617 options.txt /*E617*
|
E617 options.txt /*E617*
|
||||||
E618 print.txt /*E618*
|
E618 print.txt /*E618*
|
||||||
@@ -6062,6 +6066,8 @@ TextChanged autocmd.txt /*TextChanged*
|
|||||||
TextChangedI autocmd.txt /*TextChangedI*
|
TextChangedI autocmd.txt /*TextChangedI*
|
||||||
TextChangedP autocmd.txt /*TextChangedP*
|
TextChangedP autocmd.txt /*TextChangedP*
|
||||||
TextChangedT autocmd.txt /*TextChangedT*
|
TextChangedT autocmd.txt /*TextChangedT*
|
||||||
|
TextPutPost autocmd.txt /*TextPutPost*
|
||||||
|
TextPutPre autocmd.txt /*TextPutPre*
|
||||||
TextYankPost autocmd.txt /*TextYankPost*
|
TextYankPost autocmd.txt /*TextYankPost*
|
||||||
Transact-SQL ft_sql.txt /*Transact-SQL*
|
Transact-SQL ft_sql.txt /*Transact-SQL*
|
||||||
Tuple eval.txt /*Tuple*
|
Tuple eval.txt /*Tuple*
|
||||||
@@ -6328,6 +6334,8 @@ added-win32-GUI version5.txt /*added-win32-GUI*
|
|||||||
aff-dic-format spell.txt /*aff-dic-format*
|
aff-dic-format spell.txt /*aff-dic-format*
|
||||||
after-directory options.txt /*after-directory*
|
after-directory options.txt /*after-directory*
|
||||||
aleph options.txt /*aleph*
|
aleph options.txt /*aleph*
|
||||||
|
algol68 syntax.txt /*algol68*
|
||||||
|
algol68_no_preludes syntax.txt /*algol68_no_preludes*
|
||||||
alt intro.txt /*alt*
|
alt intro.txt /*alt*
|
||||||
alt-input debugger.txt /*alt-input*
|
alt-input debugger.txt /*alt-input*
|
||||||
alt-movement gui_mac.txt /*alt-movement*
|
alt-movement gui_mac.txt /*alt-movement*
|
||||||
@@ -7619,6 +7627,7 @@ ft-ada-options ft_ada.txt /*ft-ada-options*
|
|||||||
ft-ada-plugin ft_ada.txt /*ft-ada-plugin*
|
ft-ada-plugin ft_ada.txt /*ft-ada-plugin*
|
||||||
ft-ada-syntax ft_ada.txt /*ft-ada-syntax*
|
ft-ada-syntax ft_ada.txt /*ft-ada-syntax*
|
||||||
ft-ada-variables ft_ada.txt /*ft-ada-variables*
|
ft-ada-variables ft_ada.txt /*ft-ada-variables*
|
||||||
|
ft-algol68-syntax syntax.txt /*ft-algol68-syntax*
|
||||||
ft-ant-syntax syntax.txt /*ft-ant-syntax*
|
ft-ant-syntax syntax.txt /*ft-ant-syntax*
|
||||||
ft-apache-syntax syntax.txt /*ft-apache-syntax*
|
ft-apache-syntax syntax.txt /*ft-apache-syntax*
|
||||||
ft-arduino-plugin filetype.txt /*ft-arduino-plugin*
|
ft-arduino-plugin filetype.txt /*ft-arduino-plugin*
|
||||||
@@ -7841,6 +7850,7 @@ ft_hare.txt ft_hare.txt /*ft_hare.txt*
|
|||||||
ft_mp.txt ft_mp.txt /*ft_mp.txt*
|
ft_mp.txt ft_mp.txt /*ft_mp.txt*
|
||||||
ft_ps1.txt ft_ps1.txt /*ft_ps1.txt*
|
ft_ps1.txt ft_ps1.txt /*ft_ps1.txt*
|
||||||
ft_raku.txt ft_raku.txt /*ft_raku.txt*
|
ft_raku.txt ft_raku.txt /*ft_raku.txt*
|
||||||
|
ft_recommended_style usr_51.txt /*ft_recommended_style*
|
||||||
ft_rust.txt ft_rust.txt /*ft_rust.txt*
|
ft_rust.txt ft_rust.txt /*ft_rust.txt*
|
||||||
ft_sql.txt ft_sql.txt /*ft_sql.txt*
|
ft_sql.txt ft_sql.txt /*ft_sql.txt*
|
||||||
ftdetect filetype.txt /*ftdetect*
|
ftdetect filetype.txt /*ftdetect*
|
||||||
@@ -8072,7 +8082,6 @@ g:netrw_ssh_browse_reject pi_netrw.txt /*g:netrw_ssh_browse_reject*
|
|||||||
g:netrw_ssh_cmd pi_netrw.txt /*g:netrw_ssh_cmd*
|
g:netrw_ssh_cmd pi_netrw.txt /*g:netrw_ssh_cmd*
|
||||||
g:netrw_sshport pi_netrw.txt /*g:netrw_sshport*
|
g:netrw_sshport pi_netrw.txt /*g:netrw_sshport*
|
||||||
g:netrw_timefmt pi_netrw.txt /*g:netrw_timefmt*
|
g:netrw_timefmt pi_netrw.txt /*g:netrw_timefmt*
|
||||||
g:netrw_tmpfile_escape pi_netrw.txt /*g:netrw_tmpfile_escape*
|
|
||||||
g:netrw_uid pi_netrw.txt /*g:netrw_uid*
|
g:netrw_uid pi_netrw.txt /*g:netrw_uid*
|
||||||
g:netrw_use_noswf pi_netrw.txt /*g:netrw_use_noswf*
|
g:netrw_use_noswf pi_netrw.txt /*g:netrw_use_noswf*
|
||||||
g:netrw_use_nt_rcp pi_netrw.txt /*g:netrw_use_nt_rcp*
|
g:netrw_use_nt_rcp pi_netrw.txt /*g:netrw_use_nt_rcp*
|
||||||
@@ -8356,6 +8365,7 @@ gui-font gui.txt /*gui-font*
|
|||||||
gui-fontwide gui.txt /*gui-fontwide*
|
gui-fontwide gui.txt /*gui-fontwide*
|
||||||
gui-footer debugger.txt /*gui-footer*
|
gui-footer debugger.txt /*gui-footer*
|
||||||
gui-fork gui_x11.txt /*gui-fork*
|
gui-fork gui_x11.txt /*gui-fork*
|
||||||
|
gui-fullscreen gui.txt /*gui-fullscreen*
|
||||||
gui-functions usr_41.txt /*gui-functions*
|
gui-functions usr_41.txt /*gui-functions*
|
||||||
gui-gnome gui_x11.txt /*gui-gnome*
|
gui-gnome gui_x11.txt /*gui-gnome*
|
||||||
gui-gnome-session gui_x11.txt /*gui-gnome-session*
|
gui-gnome-session gui_x11.txt /*gui-gnome-session*
|
||||||
@@ -8386,7 +8396,6 @@ gui-vert-scroll gui.txt /*gui-vert-scroll*
|
|||||||
gui-w32 gui_w32.txt /*gui-w32*
|
gui-w32 gui_w32.txt /*gui-w32*
|
||||||
gui-w32-cmdargs gui_w32.txt /*gui-w32-cmdargs*
|
gui-w32-cmdargs gui_w32.txt /*gui-w32-cmdargs*
|
||||||
gui-w32-dialogs gui_w32.txt /*gui-w32-dialogs*
|
gui-w32-dialogs gui_w32.txt /*gui-w32-dialogs*
|
||||||
gui-w32-fullscreen gui_w32.txt /*gui-w32-fullscreen*
|
|
||||||
gui-w32-printing gui_w32.txt /*gui-w32-printing*
|
gui-w32-printing gui_w32.txt /*gui-w32-printing*
|
||||||
gui-w32-start gui_w32.txt /*gui-w32-start*
|
gui-w32-start gui_w32.txt /*gui-w32-start*
|
||||||
gui-w32-title-bar gui_w32.txt /*gui-w32-title-bar*
|
gui-w32-title-bar gui_w32.txt /*gui-w32-title-bar*
|
||||||
@@ -8562,8 +8571,11 @@ hl-PmenuSbar syntax.txt /*hl-PmenuSbar*
|
|||||||
hl-PmenuSel syntax.txt /*hl-PmenuSel*
|
hl-PmenuSel syntax.txt /*hl-PmenuSel*
|
||||||
hl-PmenuShadow syntax.txt /*hl-PmenuShadow*
|
hl-PmenuShadow syntax.txt /*hl-PmenuShadow*
|
||||||
hl-PmenuThumb syntax.txt /*hl-PmenuThumb*
|
hl-PmenuThumb syntax.txt /*hl-PmenuThumb*
|
||||||
|
hl-Popup syntax.txt /*hl-Popup*
|
||||||
|
hl-PopupBorder syntax.txt /*hl-PopupBorder*
|
||||||
hl-PopupNotification syntax.txt /*hl-PopupNotification*
|
hl-PopupNotification syntax.txt /*hl-PopupNotification*
|
||||||
hl-PopupSelected syntax.txt /*hl-PopupSelected*
|
hl-PopupSelected syntax.txt /*hl-PopupSelected*
|
||||||
|
hl-PopupTitle syntax.txt /*hl-PopupTitle*
|
||||||
hl-PreInsert syntax.txt /*hl-PreInsert*
|
hl-PreInsert syntax.txt /*hl-PreInsert*
|
||||||
hl-Question syntax.txt /*hl-Question*
|
hl-Question syntax.txt /*hl-Question*
|
||||||
hl-QuickFixLine syntax.txt /*hl-QuickFixLine*
|
hl-QuickFixLine syntax.txt /*hl-QuickFixLine*
|
||||||
@@ -8597,6 +8609,7 @@ hl-User1 syntax.txt /*hl-User1*
|
|||||||
hl-User1..9 syntax.txt /*hl-User1..9*
|
hl-User1..9 syntax.txt /*hl-User1..9*
|
||||||
hl-User9 syntax.txt /*hl-User9*
|
hl-User9 syntax.txt /*hl-User9*
|
||||||
hl-VertSplit syntax.txt /*hl-VertSplit*
|
hl-VertSplit syntax.txt /*hl-VertSplit*
|
||||||
|
hl-VertSplitNC syntax.txt /*hl-VertSplitNC*
|
||||||
hl-Visual syntax.txt /*hl-Visual*
|
hl-Visual syntax.txt /*hl-Visual*
|
||||||
hl-VisualNOS syntax.txt /*hl-VisualNOS*
|
hl-VisualNOS syntax.txt /*hl-VisualNOS*
|
||||||
hl-WarningMsg syntax.txt /*hl-WarningMsg*
|
hl-WarningMsg syntax.txt /*hl-WarningMsg*
|
||||||
@@ -9951,6 +9964,7 @@ popt-option print.txt /*popt-option*
|
|||||||
popup popup.txt /*popup*
|
popup popup.txt /*popup*
|
||||||
popup-buffer popup.txt /*popup-buffer*
|
popup-buffer popup.txt /*popup-buffer*
|
||||||
popup-callback popup.txt /*popup-callback*
|
popup-callback popup.txt /*popup-callback*
|
||||||
|
popup-clipwindow popup.txt /*popup-clipwindow*
|
||||||
popup-close popup.txt /*popup-close*
|
popup-close popup.txt /*popup-close*
|
||||||
popup-examples popup.txt /*popup-examples*
|
popup-examples popup.txt /*popup-examples*
|
||||||
popup-filter popup.txt /*popup-filter*
|
popup-filter popup.txt /*popup-filter*
|
||||||
@@ -10492,6 +10506,7 @@ shm-q options.txt /*shm-q*
|
|||||||
shm-r options.txt /*shm-r*
|
shm-r options.txt /*shm-r*
|
||||||
shm-s options.txt /*shm-s*
|
shm-s options.txt /*shm-s*
|
||||||
shm-t options.txt /*shm-t*
|
shm-t options.txt /*shm-t*
|
||||||
|
shm-u options.txt /*shm-u*
|
||||||
shm-w options.txt /*shm-w*
|
shm-w options.txt /*shm-w*
|
||||||
shm-x options.txt /*shm-x*
|
shm-x options.txt /*shm-x*
|
||||||
short-name-changed version4.txt /*short-name-changed*
|
short-name-changed version4.txt /*short-name-changed*
|
||||||
@@ -10534,6 +10549,7 @@ slow-fast-terminal term.txt /*slow-fast-terminal*
|
|||||||
slow-start starting.txt /*slow-start*
|
slow-start starting.txt /*slow-start*
|
||||||
slow-terminal term.txt /*slow-terminal*
|
slow-terminal term.txt /*slow-terminal*
|
||||||
socket-interface channel.txt /*socket-interface*
|
socket-interface channel.txt /*socket-interface*
|
||||||
|
socketserver-address remote.txt /*socketserver-address*
|
||||||
socketserver-clientserver remote.txt /*socketserver-clientserver*
|
socketserver-clientserver remote.txt /*socketserver-clientserver*
|
||||||
socketserver-differences remote.txt /*socketserver-differences*
|
socketserver-differences remote.txt /*socketserver-differences*
|
||||||
socketserver-name remote.txt /*socketserver-name*
|
socketserver-name remote.txt /*socketserver-name*
|
||||||
@@ -10718,7 +10734,9 @@ static-tag tagsrch.txt /*static-tag*
|
|||||||
status-line windows.txt /*status-line*
|
status-line windows.txt /*status-line*
|
||||||
statusmsg-variable eval.txt /*statusmsg-variable*
|
statusmsg-variable eval.txt /*statusmsg-variable*
|
||||||
stl-%! options.txt /*stl-%!*
|
stl-%! options.txt /*stl-%!*
|
||||||
|
stl-%0{ options.txt /*stl-%0{*
|
||||||
stl-%@ options.txt /*stl-%@*
|
stl-%@ options.txt /*stl-%@*
|
||||||
|
stl-%[FuncName] options.txt /*stl-%[FuncName]*
|
||||||
stl-%{ options.txt /*stl-%{*
|
stl-%{ options.txt /*stl-%{*
|
||||||
str2blob() builtin.txt /*str2blob()*
|
str2blob() builtin.txt /*str2blob()*
|
||||||
str2float() builtin.txt /*str2float()*
|
str2float() builtin.txt /*str2float()*
|
||||||
@@ -11055,6 +11073,10 @@ tabpagebuflist() builtin.txt /*tabpagebuflist()*
|
|||||||
tabpagenr() builtin.txt /*tabpagenr()*
|
tabpagenr() builtin.txt /*tabpagenr()*
|
||||||
tabpagewinnr() builtin.txt /*tabpagewinnr()*
|
tabpagewinnr() builtin.txt /*tabpagewinnr()*
|
||||||
tabpanel tabpage.txt /*tabpanel*
|
tabpanel tabpage.txt /*tabpanel*
|
||||||
|
tabpanel-mouse tabpage.txt /*tabpanel-mouse*
|
||||||
|
tabpanel-scroll tabpage.txt /*tabpanel-scroll*
|
||||||
|
tabpanel_getinfo() builtin.txt /*tabpanel_getinfo()*
|
||||||
|
tabpanel_scroll() builtin.txt /*tabpanel_scroll()*
|
||||||
tag tagsrch.txt /*tag*
|
tag tagsrch.txt /*tag*
|
||||||
tag-! tagsrch.txt /*tag-!*
|
tag-! tagsrch.txt /*tag-!*
|
||||||
tag-binary-search tagsrch.txt /*tag-binary-search*
|
tag-binary-search tagsrch.txt /*tag-binary-search*
|
||||||
@@ -11920,6 +11942,7 @@ viminfo-r options.txt /*viminfo-r*
|
|||||||
viminfo-read starting.txt /*viminfo-read*
|
viminfo-read starting.txt /*viminfo-read*
|
||||||
viminfo-read-write starting.txt /*viminfo-read-write*
|
viminfo-read-write starting.txt /*viminfo-read-write*
|
||||||
viminfo-s options.txt /*viminfo-s*
|
viminfo-s options.txt /*viminfo-s*
|
||||||
|
viminfo-security starting.txt /*viminfo-security*
|
||||||
viminfo-timestamp starting.txt /*viminfo-timestamp*
|
viminfo-timestamp starting.txt /*viminfo-timestamp*
|
||||||
viminfo-write starting.txt /*viminfo-write*
|
viminfo-write starting.txt /*viminfo-write*
|
||||||
vimrc starting.txt /*vimrc*
|
vimrc starting.txt /*vimrc*
|
||||||
@@ -11971,8 +11994,6 @@ waittime channel.txt /*waittime*
|
|||||||
warningmsg-variable eval.txt /*warningmsg-variable*
|
warningmsg-variable eval.txt /*warningmsg-variable*
|
||||||
wayland wayland.txt /*wayland*
|
wayland wayland.txt /*wayland*
|
||||||
wayland-and-x11 wayland.txt /*wayland-and-x11*
|
wayland-and-x11 wayland.txt /*wayland-and-x11*
|
||||||
wayland-focus-steal wayland.txt /*wayland-focus-steal*
|
|
||||||
wayland-gnome wayland.txt /*wayland-gnome*
|
|
||||||
wayland-gui wayland.txt /*wayland-gui*
|
wayland-gui wayland.txt /*wayland-gui*
|
||||||
wayland-persist wayland.txt /*wayland-persist*
|
wayland-persist wayland.txt /*wayland-persist*
|
||||||
wayland-primary-selection wayland.txt /*wayland-primary-selection*
|
wayland-primary-selection wayland.txt /*wayland-primary-selection*
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*tagsrch.txt* For Vim version 9.2. Last change: 2026 Feb 14
|
*tagsrch.txt* For Vim version 9.2. Last change: 2026 May 31
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -579,6 +579,10 @@ ctags).
|
|||||||
have an absolute or relative path. It may contain environment
|
have an absolute or relative path. It may contain environment
|
||||||
variables and wildcards (although the use of wildcards is
|
variables and wildcards (although the use of wildcards is
|
||||||
doubtful). It cannot contain a <Tab>.
|
doubtful). It cannot contain a <Tab>.
|
||||||
|
*E1576*
|
||||||
|
Using a remote file via network protocol (e.g. using
|
||||||
|
http://remote/file.txt) is not allowed unless 'tagsecure'
|
||||||
|
is unset.
|
||||||
{tagaddress} The Ex command that positions the cursor on the tag. It can
|
{tagaddress} The Ex command that positions the cursor on the tag. It can
|
||||||
be any Ex command, although restrictions apply (see
|
be any Ex command, although restrictions apply (see
|
||||||
|tag-security|). Posix only allows line numbers and search
|
|tag-security|). Posix only allows line numbers and search
|
||||||
@@ -829,8 +833,9 @@ CTRL-W i Open a new window, with the cursor on the first line
|
|||||||
Like `[D` and `]D`, but search in [range] lines
|
Like `[D` and `]D`, but search in [range] lines
|
||||||
(default: whole file).
|
(default: whole file).
|
||||||
See |:search-args| for [/] and [!].
|
See |:search-args| for [/] and [!].
|
||||||
Note that `:dl` works like `:delete` with the "l"
|
Note: In legacy Vim script, `:dl` works like
|
||||||
flag, not `:dlist`.
|
`:delete` with the "l" flag, not `:dlist`, whereas in
|
||||||
|
|Vim9| script `:dl` does work like `:dlist`.
|
||||||
|
|
||||||
*[_CTRL-D*
|
*[_CTRL-D*
|
||||||
[ CTRL-D Jump to the first macro definition that contains the
|
[ CTRL-D Jump to the first macro definition that contains the
|
||||||
|
|||||||
@@ -965,6 +965,20 @@ term_start({cmd} [, {options}]) *term_start()*
|
|||||||
input and one output handle, with no separate handle for
|
input and one output handle, with no separate handle for
|
||||||
stderr.
|
stderr.
|
||||||
|
|
||||||
|
Note: term_start() always uses RAW mode for its callbacks.
|
||||||
|
"out_cb" and "err_cb" receive the raw chunk of data as read
|
||||||
|
from the OS. A single callback invocation may contain
|
||||||
|
multiple lines separated by NL, and (for stdout via a pty)
|
||||||
|
each line may have a trailing CR from the line discipline
|
||||||
|
(ONLCR). If per-line handling is desired, the callback must
|
||||||
|
split "msg" on NL and strip the trailing CR itself.
|
||||||
|
Example: >
|
||||||
|
func Handle(ch, msg)
|
||||||
|
for line in split(a:msg, "\n")
|
||||||
|
echom substitute(line, '\r$', '', '')
|
||||||
|
endfor
|
||||||
|
endfunc
|
||||||
|
<
|
||||||
There are extra options:
|
There are extra options:
|
||||||
"term_name" name to use for the buffer name, instead
|
"term_name" name to use for the buffer name, instead
|
||||||
of the command name.
|
of the command name.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*textprop.txt* For Vim version 9.2. Last change: 2026 Apr 07
|
*textprop.txt* For Vim version 9.2. Last change: 2026 May 31
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -177,7 +177,9 @@ prop_add({lnum}, {col}, {props})
|
|||||||
When omitted "truncate" is used.
|
When omitted "truncate" is used.
|
||||||
Note that this applies to the individual text
|
Note that this applies to the individual text
|
||||||
property, the 'wrap' option sets the overall
|
property, the 'wrap' option sets the overall
|
||||||
behavior
|
behavior. "wrap" only takes effect when the
|
||||||
|
'wrap' option is set; with 'nowrap' the text
|
||||||
|
is truncated at the right edge of the window.
|
||||||
All fields except "type" are optional.
|
All fields except "type" are optional.
|
||||||
|
|
||||||
It is an error when both "length" and "end_lnum" or "end_col"
|
It is an error when both "length" and "end_lnum" or "end_col"
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*todo.txt* For Vim version 9.2. Last change: 2026 Feb 14
|
*todo.txt* For Vim version 9.2. Last change: 2026 Apr 29
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -421,8 +421,6 @@ more information.
|
|||||||
|
|
||||||
Add an option to restrict 'incsearch' to not scroll the view. (Tavis Ormandy)
|
Add an option to restrict 'incsearch' to not scroll the view. (Tavis Ormandy)
|
||||||
|
|
||||||
Remove SPACE_IN_FILENAME ? It is only used for completion.
|
|
||||||
|
|
||||||
When 'term' starts with "foot" then default t_TI and t_TE to the values used
|
When 'term' starts with "foot" then default t_TI and t_TE to the values used
|
||||||
for the builtin xterm termcap.
|
for the builtin xterm termcap.
|
||||||
|
|
||||||
@@ -2115,7 +2113,6 @@ es_ES.utf-8" gives an error and doesn't switch messages. (Dominique Pelle,
|
|||||||
|
|
||||||
When $HOME contains special characters, such as a comma, escape them when used
|
When $HOME contains special characters, such as a comma, escape them when used
|
||||||
in an option. (Michael Hordijk, 2009 May 5)
|
in an option. (Michael Hordijk, 2009 May 5)
|
||||||
Turn "esc" argument of expand_env_esc() into string of chars to be escaped.
|
|
||||||
|
|
||||||
Should make 'ignorecase' global-local, so that it makes sense setting it from
|
Should make 'ignorecase' global-local, so that it makes sense setting it from
|
||||||
a modeline.
|
a modeline.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*userfunc.txt* For Vim version 9.2. Last change: 2026 Feb 14
|
*userfunc.txt* For Vim version 9.2. Last change: 2026 May 31
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -27,13 +27,13 @@ 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
|
short names. A good habit is to start the function name with the name of the
|
||||||
script, e.g., "HTMLcolor()".
|
script, e.g., "HTMLcolor()".
|
||||||
|
|
||||||
In legacy script it is also possible to use curly braces, see
|
In legacy Vim script it is also possible to use curly braces, see
|
||||||
|curly-braces-names|.
|
|curly-braces-names|.
|
||||||
|
|
||||||
The |autoload| facility is useful to define a function only when it's called.
|
The |autoload| facility is useful to define a function only when it's called.
|
||||||
|
|
||||||
*local-function*
|
*local-function*
|
||||||
A function local to a legacy script must start with "s:". A local script
|
A function local to a legacy Vim script must start with "s:". A local script
|
||||||
function can only be called from within the script and from functions, user
|
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
|
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
|
the function from a mapping defined in the script, but then |<SID>| must be
|
||||||
@@ -195,9 +195,19 @@ See |:verbose-cmd| for more information.
|
|||||||
When a function ends without an explicit ":return",
|
When a function ends without an explicit ":return",
|
||||||
the number 0 is returned.
|
the number 0 is returned.
|
||||||
|
|
||||||
In a :def function *E1095* is given if unreachable
|
In |Vim9| script:
|
||||||
code follows after the `:return`.
|
- `:return` cannot be shortened, and
|
||||||
In legacy script there is no check for unreachable
|
- *E1095* is given if unreachable code follows after
|
||||||
|
the `:return`. For example:
|
||||||
|
>vim9
|
||||||
|
vim9script
|
||||||
|
var L: func = (): bool => {
|
||||||
|
return false
|
||||||
|
echo 'no' # E1095: Unreachable code after :return
|
||||||
|
}
|
||||||
|
echo L()
|
||||||
|
<
|
||||||
|
In legacy Vim script there is no check for unreachable
|
||||||
lines, thus there is no warning if commands follow
|
lines, thus there is no warning if commands follow
|
||||||
`:return`. Also, there is no check if the following
|
`:return`. Also, there is no check if the following
|
||||||
line contains a valid command. Forgetting the line
|
line contains a valid command. Forgetting the line
|
||||||
|
|||||||
+11
-1
@@ -1,4 +1,4 @@
|
|||||||
*usr_05.txt* For Vim version 9.2. Last change: 2026 Feb 14
|
*usr_05.txt* For Vim version 9.2. Last change: 2026 May 11
|
||||||
|
|
||||||
|
|
||||||
VIM USER MANUAL by Bram Moolenaar
|
VIM USER MANUAL by Bram Moolenaar
|
||||||
@@ -509,6 +509,16 @@ To highlight in visual mode, use: >
|
|||||||
To disable the effect of the plugin after it has been loaded: >
|
To disable the effect of the plugin after it has been loaded: >
|
||||||
au! hlyank
|
au! hlyank
|
||||||
|
|
||||||
|
Additionally, the plugin can also highlight regions that are put using the
|
||||||
|
|TextPutPost| autocommand. This is by default disabled and can be enabled
|
||||||
|
using: >
|
||||||
|
:let g:hlput_enable = v:true
|
||||||
|
<
|
||||||
|
The following configuration variables can be used are "g:hlput_hlgroup" and
|
||||||
|
"g:hlput_duration", which have the same effect as their yank counterparts: >
|
||||||
|
:let g:hlput_hlgroup = 'IncSearch'
|
||||||
|
:let g:hlput_duration = 300
|
||||||
|
|
||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
Adding the osc52 package *osc52-install* *package-osc52*
|
Adding the osc52 package *osc52-install* *package-osc52*
|
||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user