Compare commits
139 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
566badc76b | ||
|
|
747f110420 | ||
|
|
9712ff1288 | ||
|
|
65ee49decf | ||
|
|
27b53be3a6 | ||
|
|
dbbb02bc77 | ||
|
|
96caa557f9 | ||
|
|
1e8009e34a | ||
|
|
312af65d1a | ||
|
|
73e28dcc61 | ||
|
|
1c3dd8ddcb | ||
|
|
fb593c5350 | ||
|
|
4c7fd4d68f | ||
|
|
acd6b9976b | ||
|
|
d5bc762dea | ||
|
|
0cdfb7ce46 | ||
|
|
8abb584ab8 | ||
|
|
c249913edc | ||
|
|
e24b4aba1f | ||
|
|
8fa745e7be | ||
|
|
abd58d8aee | ||
|
|
1aea184a0d | ||
|
|
594f9e09cd | ||
|
|
3e8b7a6056 | ||
|
|
48db5dafec | ||
|
|
dd674774bb | ||
|
|
dd44b58f64 | ||
|
|
aa5341477c | ||
|
|
a4abe514ec | ||
|
|
12167d8b84 | ||
|
|
b46c083a5e | ||
|
|
3735f11050 | ||
|
|
aeef1f7f6d | ||
|
|
d3922afbd6 | ||
|
|
ebd0e8bb85 | ||
|
|
e697d48890 | ||
|
|
702bd6c7c6 | ||
|
|
febe13892e | ||
|
|
98b373075e | ||
|
|
470a14140b | ||
|
|
766ae5b252 | ||
|
|
353b68a991 | ||
|
|
3b93cf218f | ||
|
|
a04f457a6c | ||
|
|
b1842de5ca | ||
|
|
5ed391708a | ||
|
|
810cb5a3bf | ||
|
|
83a19c5fda | ||
|
|
6eda17d881 | ||
|
|
c9dc03fff5 | ||
|
|
7b2d87220c | ||
|
|
cd2d5c181a | ||
|
|
cdc839353f | ||
|
|
5a4eb55122 | ||
|
|
cf0995d7d7 | ||
|
|
87e74d0e03 | ||
|
|
29ab524358 | ||
|
|
9510d22463 | ||
|
|
cce82a55b8 | ||
|
|
79f8b8494c | ||
|
|
c069edeab2 | ||
|
|
f5fec05c7f | ||
|
|
88b79cb7d4 | ||
|
|
04e0ed1ddf | ||
|
|
55e9366e32 | ||
|
|
71b6d33976 | ||
|
|
2da11a4124 | ||
|
|
f21d546d8f | ||
|
|
9ba2786f15 | ||
|
|
12553ada3b | ||
|
|
6de2296e5e | ||
|
|
7cf5839287 | ||
|
|
375141e1f8 | ||
|
|
0adae2da17 | ||
|
|
be9fc5b60c | ||
|
|
8995c4cd4e | ||
|
|
65258d36dd | ||
|
|
ae04a6049b | ||
|
|
7d56cfc861 | ||
|
|
9132426334 | ||
|
|
0dc2fd307f | ||
|
|
5bc13453b2 | ||
|
|
c572ad508f | ||
|
|
169003289f | ||
|
|
45bbaef038 | ||
|
|
2a4c885d54 | ||
|
|
58a3cae3eb | ||
|
|
0500e87eba | ||
|
|
753aead960 | ||
|
|
b0d12e63e8 | ||
|
|
e5a420fb33 | ||
|
|
6f14da15ac | ||
|
|
d7633114af | ||
|
|
7c7e1e9b98 | ||
|
|
fef38d86a1 | ||
|
|
75a115e8d6 | ||
|
|
9667b2c888 | ||
|
|
c9c967da09 | ||
|
|
1540d334a0 | ||
|
|
fd7e60a33d | ||
|
|
bb6c4073e7 | ||
|
|
bd01f476ea | ||
|
|
e68f1348f2 | ||
|
|
98aff658d5 | ||
|
|
ca16c60f33 | ||
|
|
58779858fb | ||
|
|
2834ebdee4 | ||
|
|
635bb49085 | ||
|
|
5903aaf7eb | ||
|
|
a9480dbc8c | ||
|
|
e53a0d4409 | ||
|
|
3411265a36 | ||
|
|
86d87256c4 | ||
|
|
ccfde4d028 | ||
|
|
8894761daf | ||
|
|
ddf7dba96e | ||
|
|
b1f471ee20 | ||
|
|
c47b16a470 | ||
|
|
c7d2ff2ca0 | ||
|
|
963ab26842 | ||
|
|
31ea6bf530 | ||
|
|
b40ad4ff14 | ||
|
|
e1f3ab73bc | ||
|
|
8f7116cadd | ||
|
|
fed6bdae6f | ||
|
|
0daafaa7d9 | ||
|
|
806a273f3c | ||
|
|
c1eb131c9e | ||
|
|
eb5adf19d1 | ||
|
|
6b085b9d73 | ||
|
|
c8ac3a072f | ||
|
|
3c7707680f | ||
|
|
a5348f241b | ||
|
|
5fbbec180b | ||
|
|
06fef1b2bd | ||
|
|
1d84f7608f | ||
|
|
06d32a0c17 | ||
|
|
89083466fa | ||
|
|
0a6bb59f6b |
@@ -26,9 +26,9 @@ test_script:
|
||||
- cd src/testdir
|
||||
# Testing with MSVC gvim
|
||||
- path C:\Python35-x64;%PATH%
|
||||
- nmake -f Make_dos.mak VIMPROG=..\gvim
|
||||
- nmake -f Make_dos.mak clean
|
||||
- nmake -f Make_mvc.mak VIMPROG=..\gvim
|
||||
- nmake -f Make_mvc.mak clean
|
||||
# Testing with MSVC console version
|
||||
- nmake -f Make_dos.mak VIMPROG=..\vim
|
||||
- nmake -f Make_mvc.mak VIMPROG=..\vim
|
||||
|
||||
# vim: sw=2 sts=2 et ts=8 sr
|
||||
|
||||
23
.github/CODEOWNERS
vendored
23
.github/CODEOWNERS
vendored
@@ -69,6 +69,10 @@ runtime/compiler/perlcritic.vim @petdance @dkearns
|
||||
runtime/compiler/php.vim @dkearns
|
||||
runtime/compiler/podchecker.vim @petdance @dkearns
|
||||
runtime/compiler/powershell.vim @heaths
|
||||
runtime/compiler/raco.vim @benknoble
|
||||
runtime/compiler/racomake.vim @benknoble
|
||||
runtime/compiler/racosetup.vim @benknoble
|
||||
runtime/compiler/racotest.vim @benknoble
|
||||
runtime/compiler/rake.vim @tpope @dkearns
|
||||
runtime/compiler/rhino.vim @dkearns
|
||||
runtime/compiler/rspec.vim @tpope @dkearns
|
||||
@@ -111,6 +115,7 @@ runtime/ftplugin/cucumber.vim @tpope
|
||||
runtime/ftplugin/desktop.vim @e-kwsm
|
||||
runtime/ftplugin/dosbatch.vim @mrdubya
|
||||
runtime/ftplugin/eiffel.vim @dkearns
|
||||
runtime/ftplugin/elixir.vim @mhanberg
|
||||
runtime/ftplugin/expect.vim @dkearns
|
||||
runtime/ftplugin/erlang.vim @hcs42
|
||||
runtime/ftplugin/eruby.vim @tpope @dkearns
|
||||
@@ -123,8 +128,10 @@ runtime/ftplugin/gdb.vim @xeyownt
|
||||
runtime/ftplugin/gdscript.vim @habamax
|
||||
runtime/ftplugin/gdshader.vim @habamax
|
||||
runtime/ftplugin/git.vim @tpope
|
||||
runtime/ftplugin/gitattributes.vim @ObserverOfTime
|
||||
runtime/ftplugin/gitcommit.vim @tpope
|
||||
runtime/ftplugin/gitconfig.vim @tpope
|
||||
runtime/ftplugin/gitignore.vim @ObserverOfTime
|
||||
runtime/ftplugin/gitrebase.vim @tpope
|
||||
runtime/ftplugin/gitsendemail.vim @tpope
|
||||
runtime/ftplugin/go.vim @dbarnett
|
||||
@@ -135,6 +142,7 @@ runtime/ftplugin/html.vim @dkearns
|
||||
runtime/ftplugin/i3config.vim @hiqua
|
||||
runtime/ftplugin/icon.vim @dkearns
|
||||
runtime/ftplugin/indent.vim @dkearns
|
||||
runtime/ftplugin/j.vim @glts
|
||||
runtime/ftplugin/javascript.vim @dkearns
|
||||
runtime/ftplugin/javascriptreact.vim @dkearns
|
||||
runtime/ftplugin/jsonc.vim @izhakjakov
|
||||
@@ -143,6 +151,7 @@ runtime/ftplugin/kconfig.vim @chrisbra
|
||||
runtime/ftplugin/less.vim @genoma
|
||||
runtime/ftplugin/liquid.vim @tpope
|
||||
runtime/ftplugin/lua.vim @dkearns
|
||||
runtime/ftplugin/lynx.vim @dkearns
|
||||
runtime/ftplugin/m3build.vim @dkearns
|
||||
runtime/ftplugin/m3quake.vim @dkearns
|
||||
runtime/ftplugin/markdown.vim @tpope
|
||||
@@ -164,6 +173,7 @@ runtime/ftplugin/ps1xml.vim @heaths
|
||||
runtime/ftplugin/python.vim @tpict
|
||||
runtime/ftplugin/qb64.vim @dkearns
|
||||
runtime/ftplugin/r.vim @jalvesaq
|
||||
runtime/ftplugin/racket.vim @benknoble
|
||||
runtime/ftplugin/rhelp.vim @jalvesaq
|
||||
runtime/ftplugin/rmd.vim @jalvesaq
|
||||
runtime/ftplugin/rnoweb.vim @jalvesaq
|
||||
@@ -175,6 +185,7 @@ runtime/ftplugin/sass.vim @tpope
|
||||
runtime/ftplugin/scala.vim @derekwyatt
|
||||
runtime/ftplugin/scss.vim @tpope
|
||||
runtime/ftplugin/sdoc.vim @gpanders
|
||||
runtime/ftplugin/sh.vim @dkearns
|
||||
runtime/ftplugin/solution.vim @dkearns
|
||||
runtime/ftplugin/spec.vim @ignatenkobrain
|
||||
runtime/ftplugin/swayconfig.vim @jamespeapen
|
||||
@@ -187,6 +198,7 @@ runtime/ftplugin/toml.vim @averms
|
||||
runtime/ftplugin/tt2html.vim @petdance
|
||||
runtime/ftplugin/typescript.vim @dkearns
|
||||
runtime/ftplugin/typescriptreact.vim @dkearns
|
||||
runtime/ftplugin/vdf.vim @ObserverOfTime
|
||||
runtime/ftplugin/wast.vim @rhysd
|
||||
runtime/ftplugin/wget.vim @dkearns
|
||||
runtime/ftplugin/wget2.vim @dkearns
|
||||
@@ -219,6 +231,7 @@ runtime/indent/gitolite.vim @sitaramc
|
||||
runtime/indent/go.vim @dbarnett
|
||||
runtime/indent/haml.vim @tpope
|
||||
runtime/indent/idlang.vim @dkearns
|
||||
runtime/indent/j.vim @glts
|
||||
runtime/indent/java.vim @xuhdev
|
||||
runtime/indent/javascript.vim @bounceme
|
||||
runtime/indent/json.vim @elzr
|
||||
@@ -240,6 +253,7 @@ runtime/indent/prolog.vim @dkearns
|
||||
runtime/indent/ps1.vim @heaths
|
||||
runtime/indent/qb64.vim @dkearns
|
||||
runtime/indent/r.vim @jalvesaq
|
||||
runtime/indent/racket.vim @benknoble
|
||||
runtime/indent/readline.vim @dkearns
|
||||
runtime/indent/rhelp.vim @jalvesaq
|
||||
runtime/indent/rmd.vim @jalvesaq
|
||||
@@ -321,8 +335,10 @@ runtime/syntax/gdresource.vim @habamax
|
||||
runtime/syntax/gdscript.vim @habamax
|
||||
runtime/syntax/gdshader.vim @habamax
|
||||
runtime/syntax/git.vim @tpope
|
||||
runtime/syntax/gitattributes.vim @ObserverOfTime
|
||||
runtime/syntax/gitcommit.vim @tpope
|
||||
runtime/syntax/gitconfig.vim @tpope
|
||||
runtime/syntax/gitignore.vim @ObserverOfTime
|
||||
runtime/syntax/gitolite.vim @sitaramc
|
||||
runtime/syntax/gitrebase.vim @tpope
|
||||
runtime/syntax/go.vim @bhcleek
|
||||
@@ -336,6 +352,7 @@ runtime/syntax/html.vim @dkearns
|
||||
runtime/syntax/i3config.vim @hiqua
|
||||
runtime/syntax/icon.vim @dkearns
|
||||
runtime/syntax/indent.vim @dkearns
|
||||
runtime/syntax/j.vim @glts
|
||||
runtime/syntax/jargon.vim @h3xx
|
||||
runtime/syntax/java.vim @fleiner
|
||||
runtime/syntax/jsonc.vim @izhakjakov
|
||||
@@ -345,6 +362,7 @@ runtime/syntax/less.vim @genoma
|
||||
runtime/syntax/lex.vim @cecamp
|
||||
runtime/syntax/liquid.vim @tpope
|
||||
runtime/syntax/lisp.vim @cecamp
|
||||
runtime/syntax/lyrics.vim @ObserverOfTime
|
||||
runtime/syntax/lynx.vim @dkearns
|
||||
runtime/syntax/m3build.vim @dkearns
|
||||
runtime/syntax/m3quake.vim @dkearns
|
||||
@@ -377,6 +395,7 @@ runtime/syntax/ps1xml.vim @heaths
|
||||
runtime/syntax/psl.vim @danielkho
|
||||
runtime/syntax/qb64.vim @dkearns
|
||||
runtime/syntax/r.vim @jalvesaq
|
||||
runtime/syntax/racket.vim @benknoble
|
||||
runtime/syntax/raml.vim @in3d
|
||||
runtime/syntax/ratpoison.vim @trapd00r
|
||||
runtime/syntax/rc.vim @chrisbra
|
||||
@@ -398,13 +417,14 @@ runtime/syntax/sdoc.vim @gpanders
|
||||
runtime/syntax/sh.vim @cecamp
|
||||
runtime/syntax/sm.vim @cecamp
|
||||
runtime/syntax/spec.vim @ignatenkobrain
|
||||
runtime/syntax/srt.vim @ObserverOfTime
|
||||
runtime/syntax/sqloracle.vim @chrisbra
|
||||
runtime/syntax/squirrel.vim @zenmatic
|
||||
runtime/syntax/sshconfig.vim @Jakuje
|
||||
runtime/syntax/sshdconfig.vim @Jakuje
|
||||
runtime/syntax/sudoers.vim @e-kwsm
|
||||
runtime/syntax/svn.vim @hdima
|
||||
runtime/syntax/swayconfig.vim @jamespeapen
|
||||
runtime/syntax/swayconfig.vim @jamespeapen
|
||||
runtime/syntax/systemverilog.vim @Kocha
|
||||
runtime/syntax/tags.vim @cecamp
|
||||
runtime/syntax/tap.vim @petdance
|
||||
@@ -420,6 +440,7 @@ runtime/syntax/tt2js.vim @petdance
|
||||
runtime/syntax/typescript.vim @HerringtonDarkholme
|
||||
runtime/syntax/typescriptcommon.vim @HerringtonDarkholme
|
||||
runtime/syntax/typescriptreact.vim @HerringtonDarkholme
|
||||
runtime/syntax/vdf.vim @ObserverOfTime
|
||||
runtime/syntax/vim.vim @cecamp
|
||||
runtime/syntax/vroom.vim @dbarnett
|
||||
runtime/syntax/wast.vim @rhysd
|
||||
|
||||
206
.github/workflows/ci.yml
vendored
206
.github/workflows/ci.yml
vendored
@@ -98,17 +98,17 @@ jobs:
|
||||
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 100
|
||||
sudo update-alternatives --set gcc /usr/bin/gcc-11
|
||||
|
||||
- name: Install clang-14
|
||||
- name: Install clang-15
|
||||
if: matrix.compiler == 'clang'
|
||||
run: |
|
||||
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
|
||||
. /etc/lsb-release
|
||||
sudo add-apt-repository -y "deb http://apt.llvm.org/${DISTRIB_CODENAME}/ llvm-toolchain-${DISTRIB_CODENAME}-14 main"
|
||||
sudo apt install -y clang-14 llvm-14
|
||||
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-14 100
|
||||
sudo update-alternatives --set clang /usr/bin/clang-14
|
||||
sudo update-alternatives --install /usr/bin/llvm-cov llvm-cov /usr/bin/llvm-cov-14 100
|
||||
sudo update-alternatives --install /usr/bin/asan_symbolize asan_symbolize /usr/bin/asan_symbolize-14 100
|
||||
sudo add-apt-repository -y "deb http://apt.llvm.org/${DISTRIB_CODENAME}/ llvm-toolchain-${DISTRIB_CODENAME}-15 main"
|
||||
sudo apt install -y clang-15 llvm-15
|
||||
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-15 100
|
||||
sudo update-alternatives --set clang /usr/bin/clang-15
|
||||
sudo update-alternatives --install /usr/bin/llvm-cov llvm-cov /usr/bin/llvm-cov-15 100
|
||||
sudo update-alternatives --install /usr/bin/asan_symbolize asan_symbolize /usr/bin/asan_symbolize-15 100
|
||||
|
||||
- name: Set up environment
|
||||
run: |
|
||||
@@ -382,35 +382,15 @@ jobs:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
toolchain: [msvc, mingw]
|
||||
arch: [x64, x86]
|
||||
features: [HUGE, NORMAL]
|
||||
include:
|
||||
- arch: x64
|
||||
vcarch: amd64
|
||||
warch: x64
|
||||
bits: 64
|
||||
msystem: MINGW64
|
||||
cygreg: registry
|
||||
pyreg: ""
|
||||
- arch: x86
|
||||
vcarch: x86
|
||||
warch: ia32
|
||||
bits: 32
|
||||
msystem: MINGW32
|
||||
cygreg: registry32
|
||||
pyreg: "-32"
|
||||
- toolchain: mingw
|
||||
arch: x64
|
||||
features: HUGE
|
||||
coverage: yes
|
||||
exclude:
|
||||
- toolchain: msvc
|
||||
arch: x64
|
||||
features: NORMAL
|
||||
- toolchain: mingw
|
||||
arch: x86
|
||||
features: NORMAL
|
||||
- { features: HUGE, toolchain: msvc, VIMDLL: no, GUI: no, arch: x64 }
|
||||
- { features: HUGE, toolchain: mingw, VIMDLL: yes, GUI: yes, arch: x86, coverage: yes }
|
||||
- { features: HUGE, toolchain: msvc, VIMDLL: no, GUI: yes, arch: x86 }
|
||||
- { features: HUGE, toolchain: mingw, VIMDLL: yes, GUI: no, arch: x64, coverage: yes }
|
||||
- { features: NORMAL, toolchain: msvc, VIMDLL: yes, GUI: no, arch: x86 }
|
||||
- { features: NORMAL, toolchain: mingw, VIMDLL: no, GUI: yes, arch: x64 }
|
||||
- { features: TINY, toolchain: msvc, VIMDLL: yes, GUI: yes, arch: x64 }
|
||||
- { features: TINY, toolchain: mingw, VIMDLL: no, GUI: no, arch: x86 }
|
||||
|
||||
steps:
|
||||
- name: Initialize
|
||||
@@ -418,13 +398,32 @@ jobs:
|
||||
shell: bash
|
||||
run: |
|
||||
git config --global core.autocrlf input
|
||||
echo "VCVARSALL=$(vswhere -products \* -latest -property installationPath)\\VC\\Auxiliary\\Build\\vcvarsall.bat" >> $GITHUB_ENV
|
||||
if [ "${{ matrix.arch }}" = "x86" ]; then
|
||||
choco install python2 --forcex86
|
||||
|
||||
if [ "${{ matrix.arch }}" = "x64" ]; then
|
||||
cygreg=registry
|
||||
pyreg=
|
||||
echo "VCARCH=amd64" >> $GITHUB_ENV
|
||||
echo "WARCH=x64" >> $GITHUB_ENV
|
||||
echo "BITS=64" >> $GITHUB_ENV
|
||||
echo "MSYSTEM=MINGW64" >> $GITHUB_ENV
|
||||
else
|
||||
choco install python2
|
||||
cygreg=registry32
|
||||
pyreg=-32
|
||||
echo "VCARCH=x86" >> $GITHUB_ENV
|
||||
echo "WARCH=ia32" >> $GITHUB_ENV
|
||||
echo "BITS=32" >> $GITHUB_ENV
|
||||
echo "MSYSTEM=MINGW32" >> $GITHUB_ENV
|
||||
fi
|
||||
python3_dir=$(cat "/proc/${{ matrix.cygreg }}/HKEY_LOCAL_MACHINE/SOFTWARE/Python/PythonCore/${PYTHON3_VER_DOT}${{ matrix.pyreg }}/InstallPath/@")
|
||||
|
||||
echo "VCVARSALL=$(vswhere -products \* -latest -property installationPath)\\VC\\Auxiliary\\Build\\vcvarsall.bat" >> $GITHUB_ENV
|
||||
if [ "${{ matrix.features }}" != "TINY" ]; then
|
||||
if [ "${{ matrix.arch }}" = "x86" ]; then
|
||||
choco install python2 --forcex86
|
||||
else
|
||||
choco install python2
|
||||
fi
|
||||
fi
|
||||
python3_dir=$(cat "/proc/$cygreg/HKEY_LOCAL_MACHINE/SOFTWARE/Python/PythonCore/${PYTHON3_VER_DOT}$pyreg/InstallPath/@")
|
||||
echo "PYTHON3_DIR=$python3_dir" >> $GITHUB_ENV
|
||||
|
||||
- uses: msys2/setup-msys2@v2
|
||||
@@ -434,7 +433,7 @@ jobs:
|
||||
install: tar
|
||||
pacboy: >-
|
||||
make:p gcc:p
|
||||
msystem: ${{ matrix.msystem }}
|
||||
msystem: ${{ env.MSYSTEM }}
|
||||
release: false
|
||||
|
||||
- name: Checkout repository from github
|
||||
@@ -451,7 +450,7 @@ jobs:
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: downloads
|
||||
key: ${{ runner.os }}-${{ matrix.bits }}-${{ hashFiles('urls.txt') }}
|
||||
key: ${{ runner.os }}-${{ matrix.arch }}-${{ hashFiles('urls.txt') }}
|
||||
|
||||
- name: Download dependencies
|
||||
shell: cmd
|
||||
@@ -460,14 +459,14 @@ jobs:
|
||||
if not exist downloads mkdir downloads
|
||||
|
||||
echo %COL_GREEN%Download Lua%COL_RESET%
|
||||
call :downloadfile %LUA${{ matrix.bits }}_URL% downloads\lua.zip
|
||||
call :downloadfile %LUA${{ env.BITS }}_URL% downloads\lua.zip
|
||||
7z x downloads\lua.zip -o%LUA_DIR% > nul || exit 1
|
||||
|
||||
echo %COL_GREEN%Download winpty%COL_RESET%
|
||||
call :downloadfile %WINPTY_URL% downloads\winpty.zip
|
||||
7z x -y downloads\winpty.zip -oD:\winpty > nul || exit 1
|
||||
copy /Y D:\winpty\${{ matrix.warch }}\bin\winpty.dll src\winpty${{ matrix.bits }}.dll
|
||||
copy /Y D:\winpty\${{ matrix.warch }}\bin\winpty-agent.exe src\
|
||||
copy /Y D:\winpty\%WARCH%\bin\winpty.dll src\winpty%BITS%.dll
|
||||
copy /Y D:\winpty\%WARCH%\bin\winpty-agent.exe src\
|
||||
|
||||
goto :eof
|
||||
|
||||
@@ -482,31 +481,28 @@ jobs:
|
||||
)
|
||||
goto :eof
|
||||
|
||||
- name: Copy src directory to src2
|
||||
shell: cmd
|
||||
run: xcopy src src2\ /E > nul
|
||||
|
||||
- name: Build (MSVC)
|
||||
if: matrix.toolchain == 'msvc'
|
||||
shell: cmd
|
||||
run: |
|
||||
call "%VCVARSALL%" ${{ matrix.vcarch }}
|
||||
call "%VCVARSALL%" %VCARCH%
|
||||
cd src
|
||||
if "${{ matrix.VIMDLL }}"=="yes" (
|
||||
set GUI=yes
|
||||
) else (
|
||||
set GUI=${{ matrix.GUI }}
|
||||
)
|
||||
if "${{ matrix.features }}"=="HUGE" (
|
||||
nmake -nologo -f Make_mvc.mak ^
|
||||
FEATURES=${{ matrix.features }} ^
|
||||
GUI=yes IME=yes ICONV=yes VIMDLL=yes ^
|
||||
GUI=%GUI% IME=yes ICONV=yes VIMDLL=${{ matrix.VIMDLL }} ^
|
||||
DYNAMIC_LUA=yes LUA=%LUA_DIR% ^
|
||||
DYNAMIC_PYTHON=yes PYTHON=%PYTHON_DIR% ^
|
||||
DYNAMIC_PYTHON3=yes PYTHON3=%PYTHON3_DIR%
|
||||
) else (
|
||||
nmake -nologo -f Make_mvc.mak ^
|
||||
FEATURES=${{ matrix.features }} ^
|
||||
GUI=yes IME=yes ICONV=yes VIMDLL=yes
|
||||
)
|
||||
if not exist vim${{ matrix.bits }}.dll (
|
||||
echo %COL_RED%Build failure.%COL_RESET%
|
||||
exit 1
|
||||
GUI=%GUI% IME=yes ICONV=yes VIMDLL=${{ matrix.VIMDLL }}
|
||||
)
|
||||
|
||||
- name: Build (MinGW)
|
||||
@@ -514,10 +510,15 @@ jobs:
|
||||
shell: msys2 {0}
|
||||
run: |
|
||||
cd src
|
||||
if [ "${{ matrix.VIMDLL }}" = "yes" ]; then
|
||||
GUI=yes
|
||||
else
|
||||
GUI=${{ matrix.GUI }}
|
||||
fi
|
||||
if [ "${{ matrix.features }}" = "HUGE" ]; then
|
||||
mingw32-make -f Make_ming.mak -j2 \
|
||||
FEATURES=${{ matrix.features }} \
|
||||
GUI=yes IME=yes ICONV=yes VIMDLL=yes \
|
||||
GUI=$GUI IME=yes ICONV=yes VIMDLL=${{ matrix.VIMDLL }} \
|
||||
DYNAMIC_LUA=yes LUA=${LUA_DIR_SLASH} \
|
||||
DYNAMIC_PYTHON=yes PYTHON=${PYTHON_DIR} \
|
||||
DYNAMIC_PYTHON3=yes PYTHON3=${PYTHON3_DIR} \
|
||||
@@ -525,17 +526,27 @@ jobs:
|
||||
else
|
||||
mingw32-make -f Make_ming.mak -j2 \
|
||||
FEATURES=${{ matrix.features }} \
|
||||
GUI=yes IME=yes ICONV=yes VIMDLL=yes \
|
||||
GUI=$GUI IME=yes ICONV=yes VIMDLL=${{ matrix.VIMDLL }} \
|
||||
STATIC_STDCPLUS=yes
|
||||
fi
|
||||
|
||||
- name: Check version
|
||||
shell: cmd
|
||||
run: |
|
||||
PATH %LUA_DIR%;C:\msys64\${{ matrix.msystem }}\bin;%PATH%;%PYTHON3_DIR%
|
||||
src\vim --version || exit 1
|
||||
src\vim -u NONE -i NONE --not-a-term -esNX -V1 -S ci/if_ver-1.vim -c quit
|
||||
src\vim -u NONE -i NONE --not-a-term -esNX -V1 -S ci/if_ver-2.vim -c quit
|
||||
PATH %LUA_DIR%;C:\msys64\%MSYSTEM%\bin;%PATH%;%PYTHON3_DIR%
|
||||
if "${{ matrix.GUI }}"=="yes" (
|
||||
start /wait src\gvim -u NONE -i NONE -c "redir > version.txt | ver | q" || exit 1
|
||||
type version.txt
|
||||
echo.
|
||||
start /wait src\gvim -u NONE -i NONE -c "redir! > version.txt | so ci\if_ver-1.vim | q"
|
||||
start /wait src\gvim -u NONE -i NONE -c "redir >> version.txt | so ci\if_ver-2.vim | q"
|
||||
type version.txt
|
||||
del version.txt
|
||||
) else (
|
||||
src\vim --version || exit 1
|
||||
src\vim -u NONE -i NONE --not-a-term -esNX -V1 -S ci/if_ver-1.vim -c quit
|
||||
src\vim -u NONE -i NONE --not-a-term -esNX -V1 -S ci/if_ver-2.vim -c quit
|
||||
)
|
||||
|
||||
#- name: Prepare Artifact
|
||||
# shell: cmd
|
||||
@@ -550,51 +561,39 @@ jobs:
|
||||
# name: vim${{ matrix.bits }}-${{ matrix.toolchain }}
|
||||
# path: ./artifacts
|
||||
|
||||
- name: Copy gcov data files to src2
|
||||
if: matrix.coverage
|
||||
shell: msys2 {0}
|
||||
run: find src -name '*.gcno' | tar -c -T - | tar -x -C src2 --strip-components 1
|
||||
|
||||
- name: Test and show the result of testing gVim
|
||||
if: matrix.GUI == 'yes' || matrix.VIMDLL == 'yes'
|
||||
shell: cmd
|
||||
timeout-minutes: 20
|
||||
timeout-minutes: 15
|
||||
run: |
|
||||
PATH %LUA_DIR%;C:\msys64\${{ matrix.msystem }}\bin;%PATH%;%PYTHON3_DIR%
|
||||
call "%VCVARSALL%" ${{ matrix.vcarch }}
|
||||
|
||||
echo %COL_GREEN%Start testing Vim in background.%COL_RESET%
|
||||
start cmd /c "cd src2\testdir & nmake -nologo -f Make_dos.mak VIMPROG=..\..\src\vim > nul & echo done>done.txt"
|
||||
PATH %LUA_DIR%;C:\msys64\%MSYSTEM%\bin;%PATH%;%PYTHON3_DIR%
|
||||
call "%VCVARSALL%" %VCARCH%
|
||||
|
||||
echo %COL_GREEN%Test gVim:%COL_RESET%
|
||||
cd src\testdir
|
||||
nmake -nologo -f Make_dos.mak VIMPROG=..\gvim || exit 1
|
||||
|
||||
- name: Show the result of testing Vim
|
||||
shell: cmd
|
||||
timeout-minutes: 20
|
||||
run: |
|
||||
PATH %LUA_DIR%;C:\msys64\${{ matrix.msystem }}\bin;%PATH%;%PYTHON3_DIR%
|
||||
call "%VCVARSALL%" ${{ matrix.vcarch }}
|
||||
|
||||
echo %COL_GREEN%Wait for Vim tests to finish.%COL_RESET%
|
||||
cd src2\testdir
|
||||
:: Wait about 10 minutes.
|
||||
for /L %%i in (1,1,60) do (
|
||||
if exist done.txt goto exitloop
|
||||
timeout 10 > NUL 2>&1
|
||||
if ERRORLEVEL 1 ping -n 11 localhost > NUL
|
||||
if "${{ matrix.GUI }}"=="yes" (
|
||||
nmake -nologo -f Make_mvc.mak VIMPROG=..\gvim || exit 1
|
||||
) else (
|
||||
@rem Run only tiny tests.
|
||||
nmake -nologo -f Make_mvc.mak tiny VIMPROG=..\gvim || exit 1
|
||||
)
|
||||
set timeout=1
|
||||
:exitloop
|
||||
|
||||
echo %COL_GREEN%The result of testing Vim:%COL_RESET%
|
||||
cd src2\testdir
|
||||
if exist messages type messages
|
||||
nmake -nologo -f Make_dos.mak report VIMPROG=..\..\src\vim || exit 1
|
||||
- name: Test and show the result of testing Vim
|
||||
if: matrix.GUI == 'no' || matrix.VIMDLL == 'yes'
|
||||
shell: cmd
|
||||
timeout-minutes: 15
|
||||
run: |
|
||||
PATH %LUA_DIR%;C:\msys64\%MSYSTEM%\bin;%PATH%;%PYTHON3_DIR%
|
||||
call "%VCVARSALL%" %VCARCH%
|
||||
|
||||
if "%timeout%"=="1" (
|
||||
echo %COL_RED%Timed out.%COL_RESET%
|
||||
exit 1
|
||||
echo %COL_GREEN%Test Vim:%COL_RESET%
|
||||
cd src\testdir
|
||||
nmake -nologo -f Make_mvc.mak clean
|
||||
if "${{ matrix.GUI }}"=="no" (
|
||||
nmake -nologo -f Make_mvc.mak VIMPROG=..\vim || exit 1
|
||||
) else (
|
||||
@rem Run only tiny tests.
|
||||
nmake -nologo -f Make_mvc.mak tiny VIMPROG=..\vim || exit 1
|
||||
)
|
||||
|
||||
- name: Generate gcov files
|
||||
@@ -603,19 +602,10 @@ jobs:
|
||||
run: |
|
||||
cd src
|
||||
find . -type f -name '*.gcno' -exec gcov -pb {} + || true
|
||||
cd ../src2
|
||||
find . -type f -name '*.gcno' -exec gcov -pb {} + || true
|
||||
|
||||
- name: Codecov (gVim)
|
||||
- name: Codecov
|
||||
if: matrix.coverage
|
||||
uses: codecov/codecov-action@v3.1.0
|
||||
with:
|
||||
directory: src
|
||||
flags: windows,${{ matrix.toolchain }}-${{ matrix.arch }}-${{ matrix.features }}-gui
|
||||
|
||||
- name: Codecov (Vim)
|
||||
if: matrix.coverage
|
||||
uses: codecov/codecov-action@v3.1.0
|
||||
with:
|
||||
directory: src2
|
||||
flags: windows,${{ matrix.toolchain }}-${{ matrix.arch }}-${{ matrix.features }}
|
||||
|
||||
11
Filelist
11
Filelist
@@ -171,7 +171,6 @@ SRC_ALL = \
|
||||
src/viminfo.c \
|
||||
src/winclip.c \
|
||||
src/window.c \
|
||||
src/tee/tee.c \
|
||||
src/xxd/xxd.c \
|
||||
src/testdir/gen_opt_test.vim \
|
||||
src/testdir/README.txt \
|
||||
@@ -487,7 +486,6 @@ SRC_UNIX = \
|
||||
src/vimtutor \
|
||||
src/gvimtutor \
|
||||
src/which.sh \
|
||||
src/tee/Makefile \
|
||||
src/xxd/Makefile \
|
||||
|
||||
# source files for both DOS and Unix
|
||||
@@ -516,7 +514,7 @@ SRC_DOS_UNIX = \
|
||||
src/proto/if_tcl.pro \
|
||||
src/typemap \
|
||||
|
||||
# source files for DOS (also in the extra archive)
|
||||
# source files for MS-Windows (also in the extra archive)
|
||||
SRC_DOS = \
|
||||
src/GvimExt/*.mak \
|
||||
src/GvimExt/GvimExt.reg \
|
||||
@@ -570,6 +568,7 @@ SRC_DOS = \
|
||||
src/proto/os_win32.pro \
|
||||
src/proto/os_mswin.pro \
|
||||
src/testdir/Make_dos.mak \
|
||||
src/testdir/Make_mvc.mak \
|
||||
src/testdir/Make_ming.mak \
|
||||
src/testdir/dos.vim \
|
||||
src/uninstall.c \
|
||||
@@ -578,7 +577,10 @@ SRC_DOS = \
|
||||
src/vimrun.c \
|
||||
src/xpm_w32.c \
|
||||
src/xpm_w32.h \
|
||||
src/tee/Make_ming.mak \
|
||||
src/tee/Make_mvc.mak \
|
||||
src/tee/Makefile \
|
||||
src/tee/tee.c \
|
||||
src/xxd/Make_ming.mak \
|
||||
src/xxd/Make_mvc.mak \
|
||||
nsis/gvim.nsi \
|
||||
@@ -945,9 +947,6 @@ EXTRA = \
|
||||
README_extra.txt \
|
||||
src/VisVim/VisVim.dll \
|
||||
runtime/vimlogo.xpm \
|
||||
src/tee/Makefile \
|
||||
src/tee/Make_mvc.mak \
|
||||
src/tee/tee.c \
|
||||
|
||||
# files in READMEdir that are included from the top dir
|
||||
IN_README_DIR = \
|
||||
|
||||
@@ -28,10 +28,10 @@ All commands are given with normal keyboard characters, so those who can type
|
||||
with ten fingers can work very fast. Additionally, function keys can be
|
||||
mapped to commands by the user, and the mouse can be used.
|
||||
|
||||
Vim runs under MS-Windows (XP, Vista, 7, 8, 10), macOS, Haiku, VMS and almost
|
||||
all flavours of UNIX. Porting to other systems should not be very difficult.
|
||||
Older versions of Vim run on MS-DOS, MS-Windows 95/98/Me/NT/2000, Amiga DOS,
|
||||
Atari MiNT, BeOS, RISC OS and OS/2. These are no longer maintained.
|
||||
Vim runs under MS-Windows (7, 8, 10, 11), macOS, Haiku, VMS and almost all
|
||||
flavours of UNIX. Porting to other systems should not be very difficult.
|
||||
Older versions of Vim run on MS-DOS, MS-Windows 95/98/Me/NT/2000/XP/Vista,
|
||||
Amiga DOS, Atari MiNT, BeOS, RISC OS and OS/2. These are no longer maintained.
|
||||
|
||||
For Vim9 script see [README_VIM9](README_VIM9.md).
|
||||
|
||||
|
||||
@@ -16,10 +16,10 @@ All commands are given with normal keyboard characters, so those who can type
|
||||
with ten fingers can work very fast. Additionally, function keys can be
|
||||
mapped to commands by the user, and the mouse can be used.
|
||||
|
||||
Vim runs under MS-Windows (XP, Vista, 7, 8, 10), macOS, VMS and almost all
|
||||
Vim runs under MS-Windows (7, 8, 10, 11), macOS, Haiku, VMS and almost all
|
||||
flavours of UNIX. Porting to other systems should not be very difficult.
|
||||
Older versions of Vim run on MS-DOS, MS-Windows 95/98/Me/NT/2000, Amiga DOS,
|
||||
Atari MiNT, BeOS, RISC OS and OS/2. These are no longer maintained.
|
||||
Older versions of Vim run on MS-DOS, MS-Windows 95/98/Me/NT/2000/XP/Vista,
|
||||
Amiga DOS, Atari MiNT, BeOS, RISC OS and OS/2. These are no longer maintained.
|
||||
|
||||
|
||||
DISTRIBUTION
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Original maintainer Steven Vertigan <steven@vertigan.wattle.id.au>
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Updated: Tue 23 Aug 2022 16:50:34 MSK
|
||||
" Last Updated: Fri 02 Sep 2022 09:41:44 MSK
|
||||
|
||||
" Generated by Colortemplate v2.2.0
|
||||
|
||||
@@ -57,7 +57,7 @@ hi ToolbarLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NO
|
||||
hi VertSplit guifg=#008787 guibg=NONE gui=NONE cterm=NONE
|
||||
hi Visual guifg=#ffffff guibg=#008787 gui=NONE cterm=NONE
|
||||
hi VisualNOS guifg=#008787 guibg=#ffffff gui=NONE cterm=NONE
|
||||
hi WarningMsg guifg=#d70000 guibg=NONE gui=NONE cterm=NONE
|
||||
hi WarningMsg guifg=#d787d7 guibg=NONE gui=NONE cterm=NONE
|
||||
hi WildMenu guifg=#000087 guibg=#ffd700 gui=NONE cterm=NONE
|
||||
hi debugBreakpoint guifg=#00ff00 guibg=#000087 gui=reverse cterm=reverse
|
||||
hi debugPC guifg=#5fffff guibg=#000087 gui=reverse cterm=reverse
|
||||
@@ -120,6 +120,8 @@ hi! link Structure Type
|
||||
hi! link Tag Special
|
||||
hi! link Typedef Type
|
||||
hi! link Terminal Normal
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi DiffAdd guifg=#ffffff guibg=#5f875f gui=NONE cterm=NONE
|
||||
hi DiffChange guifg=#ffffff guibg=#5f87af gui=NONE cterm=NONE
|
||||
hi DiffText guifg=#000000 guibg=#c6c6c6 gui=NONE cterm=NONE
|
||||
@@ -165,7 +167,7 @@ if s:t_Co >= 256
|
||||
hi VertSplit ctermfg=30 ctermbg=NONE cterm=NONE
|
||||
hi Visual ctermfg=231 ctermbg=30 cterm=NONE
|
||||
hi VisualNOS ctermfg=30 ctermbg=231 cterm=NONE
|
||||
hi WarningMsg ctermfg=160 ctermbg=NONE cterm=NONE
|
||||
hi WarningMsg ctermfg=176 ctermbg=NONE cterm=NONE
|
||||
hi WildMenu ctermfg=18 ctermbg=220 cterm=NONE
|
||||
hi debugBreakpoint ctermfg=46 ctermbg=18 cterm=reverse
|
||||
hi debugPC ctermfg=87 ctermbg=18 cterm=reverse
|
||||
@@ -228,6 +230,8 @@ if s:t_Co >= 256
|
||||
hi! link Tag Special
|
||||
hi! link Typedef Type
|
||||
hi! link Terminal Normal
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi DiffAdd ctermfg=231 ctermbg=65 cterm=NONE
|
||||
hi DiffChange ctermfg=231 ctermbg=67 cterm=NONE
|
||||
hi DiffText ctermfg=16 ctermbg=251 cterm=NONE
|
||||
@@ -276,7 +280,7 @@ if s:t_Co >= 16
|
||||
hi VertSplit ctermfg=darkcyan ctermbg=NONE cterm=NONE
|
||||
hi Visual ctermfg=white ctermbg=darkcyan cterm=NONE
|
||||
hi VisualNOS ctermfg=darkcyan ctermbg=white cterm=NONE
|
||||
hi WarningMsg ctermfg=red ctermbg=NONE cterm=NONE
|
||||
hi WarningMsg ctermfg=magenta ctermbg=NONE cterm=NONE
|
||||
hi WildMenu ctermfg=darkblue ctermbg=yellow cterm=NONE
|
||||
hi debugBreakpoint ctermfg=green ctermbg=darkblue cterm=reverse
|
||||
hi debugPC ctermfg=cyan ctermbg=darkblue cterm=reverse
|
||||
@@ -339,6 +343,8 @@ if s:t_Co >= 16
|
||||
hi! link Tag Special
|
||||
hi! link Typedef Type
|
||||
hi! link Terminal Normal
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
|
||||
hi DiffChange ctermfg=white ctermbg=blue cterm=NONE
|
||||
hi DiffText ctermfg=black ctermbg=grey cterm=NONE
|
||||
@@ -449,6 +455,8 @@ if s:t_Co >= 8
|
||||
hi! link Tag Special
|
||||
hi! link Typedef Type
|
||||
hi! link Terminal Normal
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
|
||||
hi DiffChange ctermfg=white ctermbg=darkblue cterm=NONE
|
||||
hi DiffText ctermfg=black ctermbg=grey cterm=NONE
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Original author Bohdan Vlasyuk <bohdan@vstu.edu.ua>
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Updated: Tue 23 Aug 2022 16:50:35 MSK
|
||||
" Last Updated: Fri 02 Sep 2022 09:40:36 MSK
|
||||
|
||||
" Generated by Colortemplate v2.2.0
|
||||
|
||||
@@ -65,6 +65,8 @@ hi! link diffCommon WarningMsg
|
||||
hi! link diffBDiffer WarningMsg
|
||||
hi! link lCursor Cursor
|
||||
hi! link CurSearch Search
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi Normal guifg=#c0c0c0 guibg=#000040 gui=NONE cterm=NONE
|
||||
hi Conceal guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi ColorColumn guifg=#c0c0c0 guibg=#8b0000 gui=NONE cterm=NONE
|
||||
@@ -171,6 +173,8 @@ if s:t_Co >= 256
|
||||
hi! link diffBDiffer WarningMsg
|
||||
hi! link lCursor Cursor
|
||||
hi! link CurSearch Search
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi Normal ctermfg=252 ctermbg=17 cterm=NONE
|
||||
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi ColorColumn ctermfg=252 ctermbg=88 cterm=NONE
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Original maintainer David Schweikert <david@schweikert.ch>
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Updated: Tue 23 Aug 2022 16:50:36 MSK
|
||||
" Last Updated: Sun 04 Sep 2022 09:31:26 MSK
|
||||
|
||||
" Generated by Colortemplate v2.2.0
|
||||
|
||||
@@ -25,6 +25,8 @@ hi! link CurSearch Search
|
||||
hi! link CursorLineFold CursorLine
|
||||
hi! link CursorLineSign CursorLine
|
||||
hi! link ErrorMsg Error
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi Normal guifg=#000000 guibg=#ffffff gui=NONE cterm=NONE
|
||||
hi EndOfBuffer guifg=#bcbcbc guibg=NONE gui=NONE cterm=NONE
|
||||
hi StatusLine guifg=#ffff00 guibg=#00008b gui=bold cterm=bold
|
||||
@@ -57,7 +59,7 @@ hi Error guifg=#ff0000 guibg=#ffffff gui=reverse cterm=reverse
|
||||
hi WarningMsg guifg=#cd00cd guibg=#ffffff gui=NONE cterm=NONE
|
||||
hi MoreMsg guifg=#000000 guibg=#ffffff gui=bold cterm=bold
|
||||
hi ModeMsg guifg=#000000 guibg=#ffffff gui=bold cterm=bold
|
||||
hi Question guifg=#00cd00 guibg=NONE gui=bold cterm=bold
|
||||
hi Question guifg=#008700 guibg=NONE gui=bold cterm=bold
|
||||
hi Todo guifg=#000000 guibg=#ffff00 gui=NONE cterm=NONE
|
||||
hi MatchParen guifg=#ffffff guibg=#ff1493 gui=NONE cterm=NONE
|
||||
hi Search guifg=#ffffff guibg=#cd00cd gui=NONE cterm=NONE
|
||||
@@ -97,6 +99,8 @@ if s:t_Co >= 256
|
||||
hi! link CursorLineFold CursorLine
|
||||
hi! link CursorLineSign CursorLine
|
||||
hi! link ErrorMsg Error
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi Normal ctermfg=16 ctermbg=231 cterm=NONE
|
||||
hi EndOfBuffer ctermfg=250 ctermbg=NONE cterm=NONE
|
||||
hi StatusLine ctermfg=226 ctermbg=18 cterm=bold
|
||||
@@ -129,7 +133,7 @@ if s:t_Co >= 256
|
||||
hi WarningMsg ctermfg=164 ctermbg=231 cterm=NONE
|
||||
hi MoreMsg ctermfg=16 ctermbg=231 cterm=bold
|
||||
hi ModeMsg ctermfg=16 ctermbg=231 cterm=bold
|
||||
hi Question ctermfg=40 ctermbg=NONE cterm=bold
|
||||
hi Question ctermfg=28 ctermbg=NONE cterm=bold
|
||||
hi Todo ctermfg=16 ctermbg=226 cterm=NONE
|
||||
hi MatchParen ctermfg=231 ctermbg=198 cterm=NONE
|
||||
hi Search ctermfg=231 ctermbg=164 cterm=NONE
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Original maintainer Hans Fugal <hans@fugal.net>
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Updated: Tue 23 Aug 2022 16:50:37 MSK
|
||||
" Last Updated: Fri 02 Sep 2022 09:39:21 MSK
|
||||
|
||||
" Generated by Colortemplate v2.2.0
|
||||
|
||||
@@ -25,6 +25,8 @@ hi! link CurSearch Search
|
||||
hi! link CursorLineFold CursorLine
|
||||
hi! link CursorLineSign CursorLine
|
||||
hi! link EndOfBuffer NonText
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi Normal guifg=#ffffff guibg=#333333 gui=NONE cterm=NONE
|
||||
hi StatusLine guifg=#333333 guibg=#c2bfa5 gui=NONE cterm=NONE
|
||||
hi StatusLineNC guifg=#7f7f8c guibg=#c2bfa5 gui=NONE cterm=NONE
|
||||
@@ -97,6 +99,8 @@ if s:t_Co >= 256
|
||||
hi! link CursorLineFold CursorLine
|
||||
hi! link CursorLineSign CursorLine
|
||||
hi! link EndOfBuffer NonText
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi Normal ctermfg=231 ctermbg=236 cterm=NONE
|
||||
hi StatusLine ctermfg=236 ctermbg=144 cterm=NONE
|
||||
hi StatusLineNC ctermfg=242 ctermbg=144 cterm=NONE
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
" Maintainer: original maintainer Ron Aaron <ron@ronware.org>
|
||||
" Website: https://www.github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Updated: Tue 23 Aug 2022 16:50:37 MSK
|
||||
" Last Updated: Fri 02 Sep 2022 09:44:22 MSK
|
||||
|
||||
" Generated by Colortemplate v2.2.0
|
||||
|
||||
@@ -43,6 +43,8 @@ hi! link lCursor Cursor
|
||||
hi! link CurSearch Search
|
||||
hi! link CursorLineFold CursorLine
|
||||
hi! link CursorLineSign CursorLine
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
|
||||
if (has('termguicolors') && &termguicolors) || has('gui_running')
|
||||
let g:terminal_ansi_colors = ['#000000', '#cd0000', '#00cd00', '#cdcd00', '#0000ee', '#cd00cd', '#00cdcd', '#e5e5e5', '#7f7f7f', '#ff0000', '#00ff00', '#ffff00', '#5c5cff', '#ff00ff', '#00ffff', '#ffffff']
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Original maintainer Steven Vertigan <steven@vertigan.wattle.id.au>
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Updated: Tue 23 Aug 2022 16:50:38 MSK
|
||||
" Last Updated: Sun 04 Sep 2022 09:48:34 MSK
|
||||
|
||||
" Generated by Colortemplate v2.2.0
|
||||
|
||||
@@ -16,7 +16,7 @@ let g:colors_name = 'evening'
|
||||
let s:t_Co = exists('&t_Co') && !has('gui_running') ? (&t_Co ?? 0) : -1
|
||||
|
||||
if (has('termguicolors') && &termguicolors) || has('gui_running')
|
||||
let g:terminal_ansi_colors = ['#000000', '#ffa500', '#2e8b57', '#ffff00', '#006faf', '#8b008b', '#008b8b', '#bebebe', '#4d4d4d', '#ff5f5f', '#00ff00', '#ffff60', '#0087ff', '#ff80ff', '#00ffff', '#ffffff']
|
||||
let g:terminal_ansi_colors = ['#000000', '#cd0000', '#00cd00', '#cdcd00', '#0087ff', '#cd00cd', '#00cdcd', '#e5e5e5', '#7f7f7f', '#ff0000', '#00ff00', '#ffff00', '#5c5cff', '#ff00ff', '#00ffff', '#ffffff']
|
||||
endif
|
||||
hi! link VertSplit StatusLineNC
|
||||
hi! link StatusLineTerm StatusLine
|
||||
@@ -64,6 +64,8 @@ hi! link String Constant
|
||||
hi! link Structure Type
|
||||
hi! link Tag Special
|
||||
hi! link Typedef Type
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi Normal guifg=#ffffff guibg=#333333 gui=NONE cterm=NONE
|
||||
hi ColorColumn guifg=NONE guibg=#8b0000 gui=NONE cterm=NONE
|
||||
hi CursorLine guifg=NONE guibg=#666666 gui=NONE cterm=NONE
|
||||
@@ -98,7 +100,7 @@ hi ToolbarButton guifg=NONE guibg=#999999 gui=bold cterm=bold
|
||||
hi ToolbarLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Visual guifg=#ffffff guibg=#999999 gui=NONE cterm=NONE
|
||||
hi VisualNOS guifg=NONE guibg=NONE gui=bold,underline ctermfg=NONE ctermbg=NONE cterm=bold,underline
|
||||
hi WarningMsg guifg=#8b0000 guibg=NONE gui=NONE cterm=NONE
|
||||
hi WarningMsg guifg=#ff0000 guibg=NONE gui=NONE cterm=NONE
|
||||
hi WildMenu guifg=#000000 guibg=#ffff00 gui=bold cterm=bold
|
||||
hi debugBreakpoint guifg=#00008b guibg=#ff0000 gui=NONE cterm=NONE
|
||||
hi debugPC guifg=#00008b guibg=#0000ff gui=NONE cterm=NONE
|
||||
@@ -170,6 +172,8 @@ if s:t_Co >= 256
|
||||
hi! link Structure Type
|
||||
hi! link Tag Special
|
||||
hi! link Typedef Type
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi Normal ctermfg=231 ctermbg=236 cterm=NONE
|
||||
hi ColorColumn ctermfg=NONE ctermbg=88 cterm=NONE
|
||||
hi CursorLine ctermfg=NONE ctermbg=241 cterm=NONE
|
||||
@@ -204,7 +208,7 @@ if s:t_Co >= 256
|
||||
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Visual ctermfg=231 ctermbg=246 cterm=NONE
|
||||
hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=bold,underline
|
||||
hi WarningMsg ctermfg=88 ctermbg=NONE cterm=NONE
|
||||
hi WarningMsg ctermfg=196 ctermbg=NONE cterm=NONE
|
||||
hi WildMenu ctermfg=16 ctermbg=226 cterm=bold
|
||||
hi debugBreakpoint ctermfg=18 ctermbg=196 cterm=NONE
|
||||
hi debugPC ctermfg=18 ctermbg=21 cterm=NONE
|
||||
@@ -279,6 +283,8 @@ if s:t_Co >= 16
|
||||
hi! link Structure Type
|
||||
hi! link Tag Special
|
||||
hi! link Typedef Type
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi Normal ctermfg=white ctermbg=black cterm=NONE
|
||||
hi ColorColumn ctermfg=white ctermbg=darkred cterm=NONE
|
||||
hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
|
||||
@@ -313,7 +319,7 @@ if s:t_Co >= 16
|
||||
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Visual ctermfg=white ctermbg=darkgray cterm=NONE
|
||||
hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=bold,underline
|
||||
hi WarningMsg ctermfg=darkred ctermbg=NONE cterm=NONE
|
||||
hi WarningMsg ctermfg=red ctermbg=NONE cterm=NONE
|
||||
hi WildMenu ctermfg=black ctermbg=darkyellow cterm=bold
|
||||
hi debugBreakpoint ctermfg=darkblue ctermbg=red cterm=NONE
|
||||
hi debugPC ctermfg=darkblue ctermbg=blue cterm=NONE
|
||||
@@ -494,13 +500,26 @@ endif
|
||||
" Color: grey30 #4d4d4d 239 darkgray
|
||||
" Color: grey40 #666666 241 darkgray
|
||||
" Color: grey60 #999999 246 darkgray
|
||||
" Color: xtermblue #0087ff 33 blue
|
||||
" Color: xtermdarkblue #006faf 25 darkblue
|
||||
" Color: xtermred #ff5f5f 203 red
|
||||
" Color: comment #80a0ff 111 lightblue
|
||||
" Color: darkred #8b0000 88 darkred
|
||||
" Term colors: black orange seagreen yellow xtermdarkblue darkmagenta darkcyan grey
|
||||
" Term colors: grey30 xtermred green lightyellow xtermblue magenta cyan white
|
||||
" Color: x_black #000000 16 black
|
||||
" Color: x_darkred #cd0000 160 darkred
|
||||
" Color: x_darkgreen #00cd00 40 darkgreen
|
||||
" Color: x_darkyellow #cdcd00 184 darkyellow
|
||||
" Color: x_darkblue_m #0087ff 33 darkblue
|
||||
" Color: x_darkmagenta #cd00cd 164 darkmagenta
|
||||
" Color: x_darkcyan #00cdcd 44 darkcyan
|
||||
" Color: x_gray #e5e5e5 254 gray
|
||||
" Color: x_darkgray #7f7f7f 244 darkgray
|
||||
" Color: x_red #ff0000 196 red
|
||||
" Color: x_green #00ff00 46 green
|
||||
" Color: x_yellow #ffff00 226 yellow
|
||||
" Color: x_blue #5c5cff 63 blue
|
||||
" Color: x_magenta #ff00ff 201 magenta
|
||||
" Color: x_cyan #00ffff 51 cyan
|
||||
" Color: x_white #ffffff 231 white
|
||||
" Term colors: x_black x_darkred x_darkgreen x_darkyellow x_darkblue_m x_darkmagenta x_darkcyan x_gray
|
||||
" Term colors: x_darkgray x_red x_green x_yellow x_blue x_magenta x_cyan x_white
|
||||
" Color: bgDiffA #5F875F 65 darkgreen
|
||||
" Color: bgDiffC #5F87AF 67 blue
|
||||
" Color: bgDiffD #AF5FAF 133 magenta
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Maxim Kim <habamax@gmail.com>
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Updated: Tue 23 Aug 2022 16:50:38 MSK
|
||||
" Last Updated: Fri 02 Sep 2022 09:45:11 MSK
|
||||
|
||||
" Generated by Colortemplate v2.2.0
|
||||
|
||||
@@ -21,6 +21,8 @@ endif
|
||||
hi! link Terminal Normal
|
||||
hi! link StatuslineTerm Statusline
|
||||
hi! link StatuslineTermNC StatuslineNC
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi! link javaScriptFunction Statement
|
||||
hi! link javaScriptIdentifier Statement
|
||||
hi! link sqlKeyword Statement
|
||||
@@ -142,6 +144,8 @@ if s:t_Co >= 256
|
||||
hi! link Terminal Normal
|
||||
hi! link StatuslineTerm Statusline
|
||||
hi! link StatuslineTermNC StatuslineNC
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi! link javaScriptFunction Statement
|
||||
hi! link javaScriptIdentifier Statement
|
||||
hi! link sqlKeyword Statement
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Original maintainer Shian Lee.
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Updated: Tue 23 Aug 2022 16:50:39 MSK
|
||||
" Last Updated: Sun 04 Sep 2022 09:50:04 MSK
|
||||
|
||||
" Generated by Colortemplate v2.2.0
|
||||
|
||||
@@ -51,7 +51,7 @@ hi Underlined guifg=#87afff guibg=NONE gui=underline cterm=underline
|
||||
hi Error guifg=#ffffff guibg=#ff0000 gui=NONE cterm=NONE
|
||||
hi ErrorMsg guifg=#ffffff guibg=#ff0000 gui=NONE cterm=NONE
|
||||
hi ModeMsg guifg=#ffffff guibg=NONE gui=bold cterm=bold
|
||||
hi WarningMsg guifg=#870000 guibg=NONE gui=bold cterm=bold
|
||||
hi WarningMsg guifg=#ff0000 guibg=NONE gui=bold cterm=bold
|
||||
hi MoreMsg guifg=#5fd75f guibg=NONE gui=bold cterm=bold
|
||||
hi Question guifg=#00ff00 guibg=NONE gui=bold cterm=bold
|
||||
hi Todo guifg=#005fff guibg=#ffff00 gui=NONE cterm=NONE
|
||||
@@ -84,6 +84,8 @@ hi! link LineNrBelow LineNr
|
||||
hi! link CurSearch Search
|
||||
hi! link CursorLineFold CursorLine
|
||||
hi! link CursorLineSign CursorLine
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi DiffAdd guifg=#ffffff guibg=#5f875f gui=NONE cterm=NONE
|
||||
hi DiffChange guifg=#ffffff guibg=#5f87af gui=NONE cterm=NONE
|
||||
hi DiffText guifg=#000000 guibg=#c6c6c6 gui=NONE cterm=NONE
|
||||
@@ -123,7 +125,7 @@ if s:t_Co >= 256
|
||||
hi Error ctermfg=231 ctermbg=196 cterm=NONE
|
||||
hi ErrorMsg ctermfg=231 ctermbg=196 cterm=NONE
|
||||
hi ModeMsg ctermfg=231 ctermbg=NONE cterm=bold
|
||||
hi WarningMsg ctermfg=88 ctermbg=NONE cterm=bold
|
||||
hi WarningMsg ctermfg=196 ctermbg=NONE cterm=bold
|
||||
hi MoreMsg ctermfg=77 ctermbg=NONE cterm=bold
|
||||
hi Question ctermfg=46 ctermbg=NONE cterm=bold
|
||||
hi Todo ctermfg=27 ctermbg=226 cterm=NONE
|
||||
@@ -156,6 +158,8 @@ if s:t_Co >= 256
|
||||
hi! link CurSearch Search
|
||||
hi! link CursorLineFold CursorLine
|
||||
hi! link CursorLineSign CursorLine
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi DiffAdd ctermfg=231 ctermbg=65 cterm=NONE
|
||||
hi DiffChange ctermfg=231 ctermbg=67 cterm=NONE
|
||||
hi DiffText ctermfg=16 ctermbg=251 cterm=NONE
|
||||
@@ -198,7 +202,7 @@ if s:t_Co >= 16
|
||||
hi Error ctermfg=white ctermbg=red cterm=NONE
|
||||
hi ErrorMsg ctermfg=white ctermbg=red cterm=NONE
|
||||
hi ModeMsg ctermfg=white ctermbg=NONE cterm=bold
|
||||
hi WarningMsg ctermfg=darkred ctermbg=NONE cterm=bold
|
||||
hi WarningMsg ctermfg=red ctermbg=NONE cterm=bold
|
||||
hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=bold
|
||||
hi Question ctermfg=green ctermbg=NONE cterm=bold
|
||||
hi Todo ctermfg=blue ctermbg=yellow cterm=NONE
|
||||
@@ -231,6 +235,8 @@ if s:t_Co >= 16
|
||||
hi! link CurSearch Search
|
||||
hi! link CursorLineFold CursorLine
|
||||
hi! link CursorLineSign CursorLine
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
|
||||
hi DiffChange ctermfg=white ctermbg=blue cterm=NONE
|
||||
hi DiffText ctermfg=black ctermbg=grey cterm=NONE
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
" Maintainer: original maintainer Ron Aaron <ron@ronware.org>
|
||||
" Website: https://www.github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Updated: Tue 23 Aug 2022 16:50:39 MSK
|
||||
" Last Updated: Fri 02 Sep 2022 09:23:56 MSK
|
||||
|
||||
" Generated by Colortemplate v2.2.0
|
||||
|
||||
@@ -49,6 +49,8 @@ hi! link lCursor Cursor
|
||||
hi! link CurSearch Search
|
||||
hi! link CursorLineFold CursorLine
|
||||
hi! link CursorLineSign CursorLine
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
|
||||
if (has('termguicolors') && &termguicolors) || has('gui_running')
|
||||
let g:terminal_ansi_colors = ['#000000', '#cd0000', '#00cd00', '#cdcd00', '#0000ee', '#cd00cd', '#00cdcd', '#e5e5e5', '#7f7f7f', '#ff0000', '#00ff00', '#ffff00', '#5c5cff', '#ff00ff', '#00ffff', '#ffffff']
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Maxim Kim <habamax@gmail.com>
|
||||
" Website: https://www.github.com/vim/colorschemes
|
||||
" License: Vim License (see `:help license`)
|
||||
" Last Updated: Tue 23 Aug 2022 16:50:40 MSK
|
||||
" Last Updated: Fri 16 Sep 2022 13:15:33 MSK
|
||||
|
||||
" Generated by Colortemplate v2.2.0
|
||||
|
||||
@@ -26,12 +26,15 @@ hi! link fugitiveUnstagedModifier PreProc
|
||||
hi! link fugitiveHash Constant
|
||||
hi! link diffFile PreProc
|
||||
hi! link markdownHeadingDelimiter Special
|
||||
hi! link rstSectionDelimiter PreProc
|
||||
hi! link rstDirective Special
|
||||
hi! link rstSectionDelimiter Statement
|
||||
hi! link rstDirective PreProc
|
||||
hi! link rstHyperlinkReference Special
|
||||
hi! link rstFieldName Special
|
||||
hi! link rstFieldName Constant
|
||||
hi! link rstDelimiter Special
|
||||
hi! link rstInterpretedText Special
|
||||
hi! link rstCodeBlock Normal
|
||||
hi! link rstLiteralBlock rstCodeBlock
|
||||
hi! link markdownUrl String
|
||||
hi! link colortemplateKey Statement
|
||||
hi! link xmlTagName Statement
|
||||
hi! link javaScriptFunction Statement
|
||||
@@ -81,25 +84,52 @@ hi! link shOption Normal
|
||||
hi! link shCommandSub Normal
|
||||
hi! link shDerefPattern shQuote
|
||||
hi! link shDerefOp Special
|
||||
hi! link phpStorageClass Statement
|
||||
hi! link phpStructure Statement
|
||||
hi! link phpInclude Statement
|
||||
hi! link phpDefine Statement
|
||||
hi! link phpSpecialFunction Normal
|
||||
hi! link phpParent Normal
|
||||
hi! link phpComparison Normal
|
||||
hi! link phpOperator Normal
|
||||
hi! link phpVarSelector Special
|
||||
hi! link phpMemberSelector Special
|
||||
hi! link phpDocCustomTags phpDocTags
|
||||
hi! link javaExternal Statement
|
||||
hi! link javaType Statement
|
||||
hi! link javaScopeDecl Statement
|
||||
hi! link javaClassDecl Statement
|
||||
hi! link javaStorageClass Statement
|
||||
hi! link javaDocParam PreProc
|
||||
hi! link csStorage Statement
|
||||
hi! link csAccessModifier Statement
|
||||
hi! link csClass Statement
|
||||
hi! link csModifier Statement
|
||||
hi! link csAsyncModifier Statement
|
||||
hi! link csLogicSymbols Normal
|
||||
hi! link csClassType Normal
|
||||
hi! link csType Statement
|
||||
hi! link Terminal Normal
|
||||
hi! link StatuslineTerm Statusline
|
||||
hi! link StatuslineTermNC StatuslineNC
|
||||
hi! link LineNrAbove LineNr
|
||||
hi! link LineNrBelow LineNr
|
||||
hi! link MessageWindow PMenu
|
||||
hi! link PopupNotification Todo
|
||||
if &background ==# 'dark'
|
||||
if (has('termguicolors') && &termguicolors) || has('gui_running')
|
||||
let g:terminal_ansi_colors = ['#000000', '#af5f5f', '#5faf5f', '#af875f', '#5f87af', '#d787af', '#5fafaf', '#c6c6c6', '#767676', '#ff5f5f', '#5fd75f', '#ffd787', '#87afd7', '#ffafd7', '#5fd7d7', '#ffffff']
|
||||
let g:terminal_ansi_colors = ['#000000', '#af5f5f', '#5faf5f', '#af875f', '#5f87af', '#d787d7', '#5fafaf', '#c6c6c6', '#767676', '#ff5f5f', '#5fd75f', '#ffd787', '#5fafff', '#ff87ff', '#5fd7d7', '#ffffff']
|
||||
endif
|
||||
hi Normal guifg=#c6c6c6 guibg=#000000 gui=NONE cterm=NONE
|
||||
hi Statusline guifg=#000000 guibg=#c6c6c6 gui=bold cterm=bold
|
||||
hi StatuslineNC guifg=#000000 guibg=#767676 gui=NONE cterm=NONE
|
||||
hi Statusline guifg=#c6c6c6 guibg=#000000 gui=bold,reverse cterm=bold,reverse
|
||||
hi StatuslineNC guifg=#767676 guibg=#000000 gui=reverse cterm=reverse
|
||||
hi VertSplit guifg=#767676 guibg=#767676 gui=NONE cterm=NONE
|
||||
hi TabLine guifg=#000000 guibg=#c6c6c6 gui=NONE cterm=NONE
|
||||
hi TabLineFill guifg=NONE guibg=#767676 gui=NONE cterm=NONE
|
||||
hi TabLineSel guifg=#ffffff guibg=#000000 gui=bold cterm=bold
|
||||
hi ToolbarLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi ToolbarButton guifg=#000000 guibg=#ffffff gui=NONE cterm=NONE
|
||||
hi QuickFixLine guifg=#000000 guibg=#87afd7 gui=NONE cterm=NONE
|
||||
hi QuickFixLine guifg=#000000 guibg=#5fafff gui=NONE cterm=NONE
|
||||
hi CursorLineNr guifg=#ffffff guibg=NONE gui=bold cterm=bold
|
||||
hi LineNr guifg=#585858 guibg=NONE gui=NONE cterm=NONE
|
||||
hi NonText guifg=#585858 guibg=NONE gui=NONE cterm=NONE
|
||||
@@ -107,7 +137,7 @@ if &background ==# 'dark'
|
||||
hi EndOfBuffer guifg=#585858 guibg=NONE gui=NONE cterm=NONE
|
||||
hi SpecialKey guifg=#585858 guibg=NONE gui=NONE cterm=NONE
|
||||
hi Pmenu guifg=NONE guibg=#1c1c1c gui=NONE cterm=NONE
|
||||
hi PmenuSel guifg=NONE guibg=#005f00 gui=NONE cterm=NONE
|
||||
hi PmenuSel guifg=NONE guibg=#444444 gui=NONE cterm=NONE
|
||||
hi PmenuThumb guifg=NONE guibg=#c6c6c6 gui=NONE cterm=NONE
|
||||
hi PmenuSbar guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi SignColumn guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
@@ -115,7 +145,7 @@ if &background ==# 'dark'
|
||||
hi ErrorMsg guifg=#ffffff guibg=#ff5f5f gui=NONE cterm=NONE
|
||||
hi ModeMsg guifg=#ffd787 guibg=NONE gui=reverse cterm=reverse
|
||||
hi MoreMsg guifg=#5fd75f guibg=NONE gui=NONE cterm=NONE
|
||||
hi Question guifg=#ffafd7 guibg=NONE gui=NONE cterm=NONE
|
||||
hi Question guifg=#ff87ff guibg=NONE gui=NONE cterm=NONE
|
||||
hi WarningMsg guifg=#ff5f5f guibg=NONE gui=NONE cterm=NONE
|
||||
hi Todo guifg=#5fd7d7 guibg=#000000 gui=reverse cterm=reverse
|
||||
hi Search guifg=#000000 guibg=#ffd787 gui=NONE cterm=NONE
|
||||
@@ -124,7 +154,7 @@ if &background ==# 'dark'
|
||||
hi WildMenu guifg=#000000 guibg=#ffd787 gui=bold cterm=bold
|
||||
hi debugPC guifg=#5f87af guibg=NONE gui=reverse cterm=reverse
|
||||
hi debugBreakpoint guifg=#5fafaf guibg=NONE gui=reverse cterm=reverse
|
||||
hi Cursor guifg=#ffffff guibg=#000000 gui=reverse cterm=reverse
|
||||
hi Cursor guifg=NONE guibg=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse
|
||||
hi lCursor guifg=#ff5fff guibg=#000000 gui=reverse cterm=reverse
|
||||
hi Visual guifg=#ffffff guibg=#005f87 gui=NONE cterm=NONE
|
||||
hi MatchParen guifg=#c5e7c5 guibg=#000000 gui=reverse cterm=reverse
|
||||
@@ -136,17 +166,18 @@ if &background ==# 'dark'
|
||||
hi SpellBad guifg=NONE guibg=NONE guisp=#ff5f5f gui=undercurl ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi SpellCap guifg=NONE guibg=NONE guisp=#5fafaf gui=undercurl ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi SpellLocal guifg=NONE guibg=NONE guisp=#5faf5f gui=undercurl ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi SpellRare guifg=NONE guibg=NONE guisp=#ffafd7 gui=undercurl ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Comment guifg=#87afd7 guibg=NONE gui=NONE cterm=NONE
|
||||
hi Constant guifg=#ffd787 guibg=NONE gui=NONE cterm=NONE
|
||||
hi SpellRare guifg=NONE guibg=NONE guisp=#ff87ff gui=undercurl ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Comment guifg=#5fafff guibg=NONE gui=NONE cterm=NONE
|
||||
hi Constant guifg=#ff87ff guibg=NONE gui=NONE cterm=NONE
|
||||
hi String guifg=#ffd787 guibg=NONE gui=NONE cterm=NONE
|
||||
hi Identifier guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Statement guifg=#eeeeee guibg=NONE gui=bold cterm=bold
|
||||
hi Type guifg=#5fd75f guibg=NONE gui=bold cterm=bold
|
||||
hi PreProc guifg=#af875f guibg=NONE gui=NONE cterm=NONE
|
||||
hi Statement guifg=#e4e4e4 guibg=NONE gui=bold cterm=bold
|
||||
hi Type guifg=#5fd75f guibg=NONE gui=NONE cterm=NONE
|
||||
hi PreProc guifg=#5fd7d7 guibg=NONE gui=NONE cterm=NONE
|
||||
hi Special guifg=#5fafaf guibg=NONE gui=NONE cterm=NONE
|
||||
hi Underlined guifg=NONE guibg=NONE gui=underline ctermfg=NONE ctermbg=NONE cterm=underline
|
||||
hi Title guifg=NONE guibg=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=bold
|
||||
hi Directory guifg=#5fd7d7 guibg=NONE gui=bold cterm=bold
|
||||
hi Directory guifg=#5fafff guibg=NONE gui=bold cterm=bold
|
||||
hi Conceal guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Ignore guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi DiffAdd guifg=#000000 guibg=#af87af gui=NONE cterm=NONE
|
||||
@@ -155,8 +186,8 @@ if &background ==# 'dark'
|
||||
hi DiffDelete guifg=#d78787 guibg=NONE gui=NONE cterm=NONE
|
||||
hi diffAdded guifg=#5fd75f guibg=NONE gui=NONE cterm=NONE
|
||||
hi diffRemoved guifg=#d78787 guibg=NONE gui=NONE cterm=NONE
|
||||
hi diffSubname guifg=#ffafd7 guibg=NONE gui=NONE cterm=NONE
|
||||
hi dirType guifg=#d787af guibg=NONE gui=NONE cterm=NONE
|
||||
hi diffSubname guifg=#ff87ff guibg=NONE gui=NONE cterm=NONE
|
||||
hi dirType guifg=#d787d7 guibg=NONE gui=NONE cterm=NONE
|
||||
hi dirPermissionUser guifg=#5faf5f guibg=NONE gui=NONE cterm=NONE
|
||||
hi dirPermissionGroup guifg=#af875f guibg=NONE gui=NONE cterm=NONE
|
||||
hi dirPermissionOther guifg=#5fafaf guibg=NONE gui=NONE cterm=NONE
|
||||
@@ -164,17 +195,16 @@ if &background ==# 'dark'
|
||||
hi dirGroup guifg=#767676 guibg=NONE gui=NONE cterm=NONE
|
||||
hi dirTime guifg=#767676 guibg=NONE gui=NONE cterm=NONE
|
||||
hi dirSize guifg=#ffd787 guibg=NONE gui=NONE cterm=NONE
|
||||
hi dirSizeMod guifg=#d787af guibg=NONE gui=NONE cterm=NONE
|
||||
hi dirSizeMod guifg=#d787d7 guibg=NONE gui=NONE cterm=NONE
|
||||
hi FilterMenuDirectorySubtle guifg=#878787 guibg=NONE gui=NONE cterm=NONE
|
||||
hi dirFilterMenuBookmarkPath guifg=#878787 guibg=NONE gui=NONE cterm=NONE
|
||||
hi dirFilterMenuHistoryPath guifg=#878787 guibg=NONE gui=NONE cterm=NONE
|
||||
hi FilterMenuLineNr guifg=#878787 guibg=NONE gui=NONE cterm=NONE
|
||||
hi CocMenuSel guifg=NONE guibg=#005f00 gui=NONE cterm=NONE
|
||||
hi CocSearch guifg=#ffd787 guibg=NONE gui=NONE cterm=NONE
|
||||
else
|
||||
" Light background
|
||||
if (has('termguicolors') && &termguicolors) || has('gui_running')
|
||||
let g:terminal_ansi_colors = ['#000000', '#870000', '#008700', '#875f00', '#005faf', '#870087', '#005f5f', '#808080', '#767676', '#d70000', '#87d787', '#d7d787', '#0087d7', '#af00af', '#00afaf', '#ffffff']
|
||||
let g:terminal_ansi_colors = ['#000000', '#af0000', '#008700', '#af5f00', '#005fd7', '#af00af', '#005f5f', '#808080', '#767676', '#d70000', '#87d787', '#ffd787', '#0087d7', '#ff00ff', '#008787', '#ffffff']
|
||||
endif
|
||||
hi Normal guifg=#000000 guibg=#ffffff gui=NONE cterm=NONE
|
||||
hi Statusline guifg=#ffffff guibg=#000000 gui=bold cterm=bold
|
||||
@@ -193,46 +223,47 @@ else
|
||||
hi EndOfBuffer guifg=#9e9e9e guibg=NONE gui=NONE cterm=NONE
|
||||
hi SpecialKey guifg=#9e9e9e guibg=NONE gui=NONE cterm=NONE
|
||||
hi Pmenu guifg=NONE guibg=#eeeeee gui=NONE cterm=NONE
|
||||
hi PmenuSel guifg=NONE guibg=#afd7af gui=NONE cterm=NONE
|
||||
hi PmenuSel guifg=NONE guibg=#c6c6c6 gui=NONE cterm=NONE
|
||||
hi PmenuThumb guifg=NONE guibg=#767676 gui=NONE cterm=NONE
|
||||
hi PmenuSbar guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi SignColumn guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Error guifg=#ffffff guibg=#d70000 gui=NONE cterm=NONE
|
||||
hi ErrorMsg guifg=#ffffff guibg=#d70000 gui=NONE cterm=NONE
|
||||
hi ModeMsg guifg=#d7d787 guibg=#000000 gui=reverse cterm=reverse
|
||||
hi ModeMsg guifg=#ffd787 guibg=#000000 gui=reverse cterm=reverse
|
||||
hi MoreMsg guifg=#008700 guibg=NONE gui=bold cterm=bold
|
||||
hi Question guifg=#870087 guibg=NONE gui=bold cterm=bold
|
||||
hi Question guifg=#af00af guibg=NONE gui=bold cterm=bold
|
||||
hi WarningMsg guifg=#d70000 guibg=NONE gui=bold cterm=bold
|
||||
hi Todo guifg=#005f5f guibg=#ffffff gui=reverse cterm=reverse
|
||||
hi Search guifg=#000000 guibg=#d7d787 gui=NONE cterm=NONE
|
||||
hi Todo guifg=#008787 guibg=#ffffff gui=reverse cterm=reverse
|
||||
hi Search guifg=#000000 guibg=#ffd787 gui=NONE cterm=NONE
|
||||
hi IncSearch guifg=#000000 guibg=#87d787 gui=NONE cterm=NONE
|
||||
hi CurSearch guifg=#000000 guibg=#87d787 gui=NONE cterm=NONE
|
||||
hi WildMenu guifg=#000000 guibg=#d7d787 gui=bold cterm=bold
|
||||
hi debugPC guifg=#005faf guibg=NONE gui=reverse cterm=reverse
|
||||
hi WildMenu guifg=#000000 guibg=#ffd787 gui=bold cterm=bold
|
||||
hi debugPC guifg=#005fd7 guibg=NONE gui=reverse cterm=reverse
|
||||
hi debugBreakpoint guifg=#005f5f guibg=NONE gui=reverse cterm=reverse
|
||||
hi Cursor guifg=#000000 guibg=#ffffff gui=reverse cterm=reverse
|
||||
hi Cursor guifg=NONE guibg=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse
|
||||
hi lCursor guifg=#ff00ff guibg=#000000 gui=reverse cterm=reverse
|
||||
hi Visual guifg=#ffffff guibg=#5f87af gui=NONE cterm=NONE
|
||||
hi MatchParen guifg=NONE guibg=#c5e7c5 gui=NONE cterm=NONE
|
||||
hi VisualNOS guifg=#ffffff guibg=#00afaf gui=NONE cterm=NONE
|
||||
hi VisualNOS guifg=#ffffff guibg=#008787 gui=NONE cterm=NONE
|
||||
hi CursorLine guifg=NONE guibg=#e4e4e4 gui=NONE cterm=NONE
|
||||
hi CursorColumn guifg=NONE guibg=#e4e4e4 gui=NONE cterm=NONE
|
||||
hi Folded guifg=#767676 guibg=#eeeeee gui=NONE cterm=NONE
|
||||
hi ColorColumn guifg=NONE guibg=#eeeeee gui=NONE cterm=NONE
|
||||
hi SpellBad guifg=NONE guibg=NONE guisp=#870000 gui=undercurl ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi SpellBad guifg=NONE guibg=NONE guisp=#af0000 gui=undercurl ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi SpellCap guifg=NONE guibg=NONE guisp=#005f5f gui=undercurl ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi SpellLocal guifg=NONE guibg=NONE guisp=#008700 gui=undercurl ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi SpellRare guifg=NONE guibg=NONE guisp=#af00af gui=undercurl ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Comment guifg=#005faf guibg=NONE gui=NONE cterm=NONE
|
||||
hi Constant guifg=#870000 guibg=NONE gui=NONE cterm=NONE
|
||||
hi SpellRare guifg=NONE guibg=NONE guisp=#ff00ff gui=undercurl ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Comment guifg=#005fd7 guibg=NONE gui=NONE cterm=NONE
|
||||
hi Constant guifg=#af00af guibg=NONE gui=NONE cterm=NONE
|
||||
hi String guifg=#af5f00 guibg=NONE gui=NONE cterm=NONE
|
||||
hi Identifier guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Statement guifg=#000000 guibg=NONE gui=bold cterm=bold
|
||||
hi Type guifg=#008700 guibg=NONE gui=bold cterm=bold
|
||||
hi PreProc guifg=#875f00 guibg=NONE gui=NONE cterm=NONE
|
||||
hi Special guifg=#005f5f guibg=NONE gui=NONE cterm=NONE
|
||||
hi Type guifg=#008700 guibg=NONE gui=NONE cterm=NONE
|
||||
hi PreProc guifg=#005f5f guibg=NONE gui=NONE cterm=NONE
|
||||
hi Special guifg=#008787 guibg=NONE gui=NONE cterm=NONE
|
||||
hi Underlined guifg=NONE guibg=NONE gui=underline ctermfg=NONE ctermbg=NONE cterm=underline
|
||||
hi Title guifg=NONE guibg=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=bold
|
||||
hi Directory guifg=#005faf guibg=NONE gui=bold cterm=bold
|
||||
hi Directory guifg=#005fd7 guibg=NONE gui=bold cterm=bold
|
||||
hi Conceal guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Ignore guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi DiffAdd guifg=#000000 guibg=#d7afd7 gui=NONE cterm=NONE
|
||||
@@ -241,23 +272,22 @@ else
|
||||
hi DiffDelete guifg=#870000 guibg=NONE gui=NONE cterm=NONE
|
||||
hi diffAdded guifg=#008700 guibg=NONE gui=NONE cterm=NONE
|
||||
hi diffRemoved guifg=#d70000 guibg=NONE gui=NONE cterm=NONE
|
||||
hi diffSubname guifg=#870087 guibg=NONE gui=NONE cterm=NONE
|
||||
hi diffSubname guifg=#af00af guibg=NONE gui=NONE cterm=NONE
|
||||
hi dirType guifg=#005f5f guibg=NONE gui=NONE cterm=NONE
|
||||
hi dirPermissionUser guifg=#875f00 guibg=NONE gui=NONE cterm=NONE
|
||||
hi dirPermissionUser guifg=#af5f00 guibg=NONE gui=NONE cterm=NONE
|
||||
hi dirPermissionGroup guifg=#008700 guibg=NONE gui=NONE cterm=NONE
|
||||
hi dirPermissionOther guifg=#870087 guibg=NONE gui=NONE cterm=NONE
|
||||
hi dirPermissionOther guifg=#af00af guibg=NONE gui=NONE cterm=NONE
|
||||
hi dirOwner guifg=#808080 guibg=NONE gui=NONE cterm=NONE
|
||||
hi dirGroup guifg=#808080 guibg=NONE gui=NONE cterm=NONE
|
||||
hi dirTime guifg=#808080 guibg=NONE gui=NONE cterm=NONE
|
||||
hi dirSize guifg=#870000 guibg=NONE gui=NONE cterm=NONE
|
||||
hi dirSize guifg=#af0000 guibg=NONE gui=NONE cterm=NONE
|
||||
hi dirSizeMod guifg=#005f5f guibg=NONE gui=NONE cterm=NONE
|
||||
hi dirLink guifg=#008700 guibg=NONE gui=bold cterm=bold
|
||||
hi dirFilterMenuBookmarkPath guifg=#626262 guibg=NONE gui=NONE cterm=NONE
|
||||
hi dirFilterMenuHistoryPath guifg=#626262 guibg=NONE gui=NONE cterm=NONE
|
||||
hi FilterMenuDirectorySubtle guifg=#626262 guibg=NONE gui=NONE cterm=NONE
|
||||
hi FilterMenuLineNr guifg=#626262 guibg=NONE gui=NONE cterm=NONE
|
||||
hi CocMenuSel guifg=NONE guibg=#afd7af gui=NONE cterm=NONE
|
||||
hi CocSearch guifg=#870000 guibg=NONE gui=NONE cterm=NONE
|
||||
hi CocSearch guifg=#af0000 guibg=NONE gui=NONE cterm=NONE
|
||||
endif
|
||||
|
||||
if s:t_Co >= 256
|
||||
@@ -274,12 +304,15 @@ if s:t_Co >= 256
|
||||
hi! link fugitiveHash Constant
|
||||
hi! link diffFile PreProc
|
||||
hi! link markdownHeadingDelimiter Special
|
||||
hi! link rstSectionDelimiter PreProc
|
||||
hi! link rstDirective Special
|
||||
hi! link rstSectionDelimiter Statement
|
||||
hi! link rstDirective PreProc
|
||||
hi! link rstHyperlinkReference Special
|
||||
hi! link rstFieldName Special
|
||||
hi! link rstFieldName Constant
|
||||
hi! link rstDelimiter Special
|
||||
hi! link rstInterpretedText Special
|
||||
hi! link rstCodeBlock Normal
|
||||
hi! link rstLiteralBlock rstCodeBlock
|
||||
hi! link markdownUrl String
|
||||
hi! link colortemplateKey Statement
|
||||
hi! link xmlTagName Statement
|
||||
hi! link javaScriptFunction Statement
|
||||
@@ -329,22 +362,49 @@ if s:t_Co >= 256
|
||||
hi! link shCommandSub Normal
|
||||
hi! link shDerefPattern shQuote
|
||||
hi! link shDerefOp Special
|
||||
hi! link phpStorageClass Statement
|
||||
hi! link phpStructure Statement
|
||||
hi! link phpInclude Statement
|
||||
hi! link phpDefine Statement
|
||||
hi! link phpSpecialFunction Normal
|
||||
hi! link phpParent Normal
|
||||
hi! link phpComparison Normal
|
||||
hi! link phpOperator Normal
|
||||
hi! link phpVarSelector Special
|
||||
hi! link phpMemberSelector Special
|
||||
hi! link phpDocCustomTags phpDocTags
|
||||
hi! link javaExternal Statement
|
||||
hi! link javaType Statement
|
||||
hi! link javaScopeDecl Statement
|
||||
hi! link javaClassDecl Statement
|
||||
hi! link javaStorageClass Statement
|
||||
hi! link javaDocParam PreProc
|
||||
hi! link csStorage Statement
|
||||
hi! link csAccessModifier Statement
|
||||
hi! link csClass Statement
|
||||
hi! link csModifier Statement
|
||||
hi! link csAsyncModifier Statement
|
||||
hi! link csLogicSymbols Normal
|
||||
hi! link csClassType Normal
|
||||
hi! link csType Statement
|
||||
hi! link Terminal Normal
|
||||
hi! link StatuslineTerm Statusline
|
||||
hi! link StatuslineTermNC StatuslineNC
|
||||
hi! link LineNrAbove LineNr
|
||||
hi! link LineNrBelow LineNr
|
||||
hi! link MessageWindow PMenu
|
||||
hi! link PopupNotification Todo
|
||||
if &background ==# 'dark'
|
||||
hi Normal ctermfg=251 ctermbg=16 cterm=NONE
|
||||
hi Statusline ctermfg=16 ctermbg=251 cterm=bold
|
||||
hi StatuslineNC ctermfg=16 ctermbg=243 cterm=NONE
|
||||
hi Statusline ctermfg=251 ctermbg=16 cterm=bold,reverse
|
||||
hi StatuslineNC ctermfg=243 ctermbg=16 cterm=reverse
|
||||
hi VertSplit ctermfg=243 ctermbg=243 cterm=NONE
|
||||
hi TabLine ctermfg=16 ctermbg=251 cterm=NONE
|
||||
hi TabLineFill ctermfg=NONE ctermbg=243 cterm=NONE
|
||||
hi TabLineSel ctermfg=231 ctermbg=16 cterm=bold
|
||||
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi ToolbarButton ctermfg=16 ctermbg=231 cterm=NONE
|
||||
hi QuickFixLine ctermfg=16 ctermbg=110 cterm=NONE
|
||||
hi QuickFixLine ctermfg=16 ctermbg=75 cterm=NONE
|
||||
hi CursorLineNr ctermfg=231 ctermbg=NONE cterm=bold
|
||||
hi LineNr ctermfg=240 ctermbg=NONE cterm=NONE
|
||||
hi NonText ctermfg=240 ctermbg=NONE cterm=NONE
|
||||
@@ -352,7 +412,7 @@ if s:t_Co >= 256
|
||||
hi EndOfBuffer ctermfg=240 ctermbg=NONE cterm=NONE
|
||||
hi SpecialKey ctermfg=240 ctermbg=NONE cterm=NONE
|
||||
hi Pmenu ctermfg=NONE ctermbg=234 cterm=NONE
|
||||
hi PmenuSel ctermfg=NONE ctermbg=22 cterm=NONE
|
||||
hi PmenuSel ctermfg=NONE ctermbg=238 cterm=NONE
|
||||
hi PmenuThumb ctermfg=NONE ctermbg=251 cterm=NONE
|
||||
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
@@ -360,7 +420,7 @@ if s:t_Co >= 256
|
||||
hi ErrorMsg ctermfg=231 ctermbg=203 cterm=NONE
|
||||
hi ModeMsg ctermfg=222 ctermbg=NONE cterm=reverse
|
||||
hi MoreMsg ctermfg=77 ctermbg=NONE cterm=NONE
|
||||
hi Question ctermfg=218 ctermbg=NONE cterm=NONE
|
||||
hi Question ctermfg=213 ctermbg=NONE cterm=NONE
|
||||
hi WarningMsg ctermfg=203 ctermbg=NONE cterm=NONE
|
||||
hi Todo ctermfg=116 ctermbg=16 cterm=reverse
|
||||
hi Search ctermfg=16 ctermbg=222 cterm=NONE
|
||||
@@ -379,17 +439,18 @@ if s:t_Co >= 256
|
||||
hi SpellBad ctermfg=203 ctermbg=NONE cterm=underline
|
||||
hi SpellCap ctermfg=73 ctermbg=NONE cterm=underline
|
||||
hi SpellLocal ctermfg=77 ctermbg=NONE cterm=underline
|
||||
hi SpellRare ctermfg=218 ctermbg=NONE cterm=underline
|
||||
hi Comment ctermfg=110 ctermbg=NONE cterm=NONE
|
||||
hi Constant ctermfg=222 ctermbg=NONE cterm=NONE
|
||||
hi SpellRare ctermfg=213 ctermbg=NONE cterm=underline
|
||||
hi Comment ctermfg=75 ctermbg=NONE cterm=NONE
|
||||
hi Constant ctermfg=213 ctermbg=NONE cterm=NONE
|
||||
hi String ctermfg=222 ctermbg=NONE cterm=NONE
|
||||
hi Identifier ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Statement ctermfg=255 ctermbg=NONE cterm=bold
|
||||
hi Type ctermfg=77 ctermbg=NONE cterm=bold
|
||||
hi PreProc ctermfg=137 ctermbg=NONE cterm=NONE
|
||||
hi Statement ctermfg=254 ctermbg=NONE cterm=bold
|
||||
hi Type ctermfg=77 ctermbg=NONE cterm=NONE
|
||||
hi PreProc ctermfg=116 ctermbg=NONE cterm=NONE
|
||||
hi Special ctermfg=73 ctermbg=NONE cterm=NONE
|
||||
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
|
||||
hi Title ctermfg=NONE ctermbg=NONE cterm=bold
|
||||
hi Directory ctermfg=116 ctermbg=NONE cterm=bold
|
||||
hi Directory ctermfg=75 ctermbg=NONE cterm=bold
|
||||
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi DiffAdd ctermfg=16 ctermbg=139 cterm=NONE
|
||||
@@ -398,8 +459,8 @@ if s:t_Co >= 256
|
||||
hi DiffDelete ctermfg=174 ctermbg=NONE cterm=NONE
|
||||
hi diffAdded ctermfg=77 ctermbg=NONE cterm=NONE
|
||||
hi diffRemoved ctermfg=174 ctermbg=NONE cterm=NONE
|
||||
hi diffSubname ctermfg=218 ctermbg=NONE cterm=NONE
|
||||
hi dirType ctermfg=175 ctermbg=NONE cterm=NONE
|
||||
hi diffSubname ctermfg=213 ctermbg=NONE cterm=NONE
|
||||
hi dirType ctermfg=176 ctermbg=NONE cterm=NONE
|
||||
hi dirPermissionUser ctermfg=71 ctermbg=NONE cterm=NONE
|
||||
hi dirPermissionGroup ctermfg=137 ctermbg=NONE cterm=NONE
|
||||
hi dirPermissionOther ctermfg=73 ctermbg=NONE cterm=NONE
|
||||
@@ -407,12 +468,11 @@ if s:t_Co >= 256
|
||||
hi dirGroup ctermfg=243 ctermbg=NONE cterm=NONE
|
||||
hi dirTime ctermfg=243 ctermbg=NONE cterm=NONE
|
||||
hi dirSize ctermfg=222 ctermbg=NONE cterm=NONE
|
||||
hi dirSizeMod ctermfg=175 ctermbg=NONE cterm=NONE
|
||||
hi dirSizeMod ctermfg=176 ctermbg=NONE cterm=NONE
|
||||
hi FilterMenuDirectorySubtle ctermfg=102 ctermbg=NONE cterm=NONE
|
||||
hi dirFilterMenuBookmarkPath ctermfg=102 ctermbg=NONE cterm=NONE
|
||||
hi dirFilterMenuHistoryPath ctermfg=102 ctermbg=NONE cterm=NONE
|
||||
hi FilterMenuLineNr ctermfg=102 ctermbg=NONE cterm=NONE
|
||||
hi CocMenuSel ctermfg=NONE ctermbg=22 cterm=NONE
|
||||
hi CocSearch ctermfg=222 ctermbg=NONE cterm=NONE
|
||||
else
|
||||
" Light background
|
||||
@@ -433,44 +493,45 @@ if s:t_Co >= 256
|
||||
hi EndOfBuffer ctermfg=247 ctermbg=NONE cterm=NONE
|
||||
hi SpecialKey ctermfg=247 ctermbg=NONE cterm=NONE
|
||||
hi Pmenu ctermfg=NONE ctermbg=255 cterm=NONE
|
||||
hi PmenuSel ctermfg=NONE ctermbg=151 cterm=NONE
|
||||
hi PmenuSel ctermfg=NONE ctermbg=251 cterm=NONE
|
||||
hi PmenuThumb ctermfg=NONE ctermbg=243 cterm=NONE
|
||||
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Error ctermfg=231 ctermbg=160 cterm=NONE
|
||||
hi ErrorMsg ctermfg=231 ctermbg=160 cterm=NONE
|
||||
hi ModeMsg ctermfg=186 ctermbg=16 cterm=reverse
|
||||
hi ModeMsg ctermfg=222 ctermbg=16 cterm=reverse
|
||||
hi MoreMsg ctermfg=28 ctermbg=NONE cterm=bold
|
||||
hi Question ctermfg=90 ctermbg=NONE cterm=bold
|
||||
hi Question ctermfg=127 ctermbg=NONE cterm=bold
|
||||
hi WarningMsg ctermfg=160 ctermbg=NONE cterm=bold
|
||||
hi Todo ctermfg=23 ctermbg=231 cterm=reverse
|
||||
hi Search ctermfg=16 ctermbg=186 cterm=NONE
|
||||
hi Todo ctermfg=30 ctermbg=231 cterm=reverse
|
||||
hi Search ctermfg=16 ctermbg=222 cterm=NONE
|
||||
hi IncSearch ctermfg=16 ctermbg=114 cterm=NONE
|
||||
hi CurSearch ctermfg=16 ctermbg=114 cterm=NONE
|
||||
hi WildMenu ctermfg=16 ctermbg=186 cterm=bold
|
||||
hi debugPC ctermfg=25 ctermbg=NONE cterm=reverse
|
||||
hi WildMenu ctermfg=16 ctermbg=222 cterm=bold
|
||||
hi debugPC ctermfg=26 ctermbg=NONE cterm=reverse
|
||||
hi debugBreakpoint ctermfg=23 ctermbg=NONE cterm=reverse
|
||||
hi Visual ctermfg=231 ctermbg=67 cterm=NONE
|
||||
hi MatchParen ctermfg=30 ctermbg=231 cterm=reverse
|
||||
hi VisualNOS ctermfg=231 ctermbg=37 cterm=NONE
|
||||
hi VisualNOS ctermfg=231 ctermbg=30 cterm=NONE
|
||||
hi CursorLine ctermfg=NONE ctermbg=254 cterm=NONE
|
||||
hi CursorColumn ctermfg=NONE ctermbg=254 cterm=NONE
|
||||
hi Folded ctermfg=243 ctermbg=255 cterm=NONE
|
||||
hi ColorColumn ctermfg=NONE ctermbg=255 cterm=NONE
|
||||
hi SpellBad ctermfg=88 ctermbg=NONE cterm=underline
|
||||
hi SpellBad ctermfg=124 ctermbg=NONE cterm=underline
|
||||
hi SpellCap ctermfg=23 ctermbg=NONE cterm=underline
|
||||
hi SpellLocal ctermfg=28 ctermbg=NONE cterm=underline
|
||||
hi SpellRare ctermfg=133 ctermbg=NONE cterm=underline
|
||||
hi Comment ctermfg=25 ctermbg=NONE cterm=NONE
|
||||
hi Constant ctermfg=88 ctermbg=NONE cterm=NONE
|
||||
hi Comment ctermfg=26 ctermbg=NONE cterm=NONE
|
||||
hi Constant ctermfg=127 ctermbg=NONE cterm=NONE
|
||||
hi String ctermfg=130 ctermbg=NONE cterm=NONE
|
||||
hi Identifier ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Statement ctermfg=16 ctermbg=NONE cterm=bold
|
||||
hi Type ctermfg=28 ctermbg=NONE cterm=bold
|
||||
hi PreProc ctermfg=94 ctermbg=NONE cterm=NONE
|
||||
hi Special ctermfg=23 ctermbg=NONE cterm=NONE
|
||||
hi Type ctermfg=28 ctermbg=NONE cterm=NONE
|
||||
hi PreProc ctermfg=23 ctermbg=NONE cterm=NONE
|
||||
hi Special ctermfg=30 ctermbg=NONE cterm=NONE
|
||||
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
|
||||
hi Title ctermfg=NONE ctermbg=NONE cterm=bold
|
||||
hi Directory ctermfg=25 ctermbg=NONE cterm=bold
|
||||
hi Directory ctermfg=26 ctermbg=NONE cterm=bold
|
||||
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi DiffAdd ctermfg=16 ctermbg=182 cterm=NONE
|
||||
@@ -479,23 +540,22 @@ if s:t_Co >= 256
|
||||
hi DiffDelete ctermfg=88 ctermbg=NONE cterm=NONE
|
||||
hi diffAdded ctermfg=28 ctermbg=NONE cterm=NONE
|
||||
hi diffRemoved ctermfg=160 ctermbg=NONE cterm=NONE
|
||||
hi diffSubname ctermfg=90 ctermbg=NONE cterm=NONE
|
||||
hi diffSubname ctermfg=127 ctermbg=NONE cterm=NONE
|
||||
hi dirType ctermfg=23 ctermbg=NONE cterm=NONE
|
||||
hi dirPermissionUser ctermfg=94 ctermbg=NONE cterm=NONE
|
||||
hi dirPermissionUser ctermfg=130 ctermbg=NONE cterm=NONE
|
||||
hi dirPermissionGroup ctermfg=28 ctermbg=NONE cterm=NONE
|
||||
hi dirPermissionOther ctermfg=90 ctermbg=NONE cterm=NONE
|
||||
hi dirPermissionOther ctermfg=127 ctermbg=NONE cterm=NONE
|
||||
hi dirOwner ctermfg=244 ctermbg=NONE cterm=NONE
|
||||
hi dirGroup ctermfg=244 ctermbg=NONE cterm=NONE
|
||||
hi dirTime ctermfg=244 ctermbg=NONE cterm=NONE
|
||||
hi dirSize ctermfg=88 ctermbg=NONE cterm=NONE
|
||||
hi dirSize ctermfg=124 ctermbg=NONE cterm=NONE
|
||||
hi dirSizeMod ctermfg=23 ctermbg=NONE cterm=NONE
|
||||
hi dirLink ctermfg=28 ctermbg=NONE cterm=bold
|
||||
hi dirFilterMenuBookmarkPath ctermfg=241 ctermbg=NONE cterm=NONE
|
||||
hi dirFilterMenuHistoryPath ctermfg=241 ctermbg=NONE cterm=NONE
|
||||
hi FilterMenuDirectorySubtle ctermfg=241 ctermbg=NONE cterm=NONE
|
||||
hi FilterMenuLineNr ctermfg=241 ctermbg=NONE cterm=NONE
|
||||
hi CocMenuSel ctermfg=NONE ctermbg=151 cterm=NONE
|
||||
hi CocSearch ctermfg=88 ctermbg=NONE cterm=NONE
|
||||
hi CocSearch ctermfg=124 ctermbg=NONE cterm=NONE
|
||||
endif
|
||||
unlet s:t_Co
|
||||
finish
|
||||
@@ -504,8 +564,8 @@ endif
|
||||
if s:t_Co >= 16
|
||||
if &background ==# 'dark'
|
||||
hi Normal ctermfg=grey ctermbg=black cterm=NONE
|
||||
hi Statusline ctermfg=black ctermbg=grey cterm=bold
|
||||
hi StatuslineNC ctermfg=black ctermbg=darkgrey cterm=NONE
|
||||
hi Statusline ctermfg=grey ctermbg=black cterm=bold,reverse
|
||||
hi StatuslineNC ctermfg=darkgrey ctermbg=black cterm=reverse
|
||||
hi VertSplit ctermfg=darkgrey ctermbg=darkgrey cterm=NONE
|
||||
hi TabLine ctermfg=black ctermbg=grey cterm=NONE
|
||||
hi TabLineFill ctermfg=NONE ctermbg=darkgrey cterm=NONE
|
||||
@@ -520,7 +580,7 @@ if s:t_Co >= 16
|
||||
hi EndOfBuffer ctermfg=grey ctermbg=NONE cterm=NONE
|
||||
hi SpecialKey ctermfg=grey ctermbg=NONE cterm=NONE
|
||||
hi Pmenu ctermfg=black ctermbg=darkgrey cterm=NONE
|
||||
hi PmenuSel ctermfg=black ctermbg=darkgreen cterm=NONE
|
||||
hi PmenuSel ctermfg=black ctermbg=darkcyan cterm=NONE
|
||||
hi PmenuThumb ctermfg=NONE ctermbg=grey cterm=NONE
|
||||
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
@@ -549,15 +609,16 @@ if s:t_Co >= 16
|
||||
hi SpellLocal ctermfg=green ctermbg=NONE cterm=underline
|
||||
hi SpellRare ctermfg=magenta ctermbg=NONE cterm=underline
|
||||
hi Comment ctermfg=blue ctermbg=NONE cterm=NONE
|
||||
hi Constant ctermfg=yellow ctermbg=NONE cterm=NONE
|
||||
hi Constant ctermfg=magenta ctermbg=NONE cterm=NONE
|
||||
hi String ctermfg=yellow ctermbg=NONE cterm=NONE
|
||||
hi Identifier ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Statement ctermfg=grey ctermbg=NONE cterm=bold
|
||||
hi Type ctermfg=green ctermbg=NONE cterm=bold
|
||||
hi PreProc ctermfg=darkyellow ctermbg=NONE cterm=NONE
|
||||
hi Type ctermfg=green ctermbg=NONE cterm=NONE
|
||||
hi PreProc ctermfg=cyan ctermbg=NONE cterm=NONE
|
||||
hi Special ctermfg=darkcyan ctermbg=NONE cterm=NONE
|
||||
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
|
||||
hi Title ctermfg=NONE ctermbg=NONE cterm=bold
|
||||
hi Directory ctermfg=cyan ctermbg=NONE cterm=bold
|
||||
hi Directory ctermfg=blue ctermbg=NONE cterm=bold
|
||||
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi DiffAdd ctermfg=black ctermbg=darkmagenta cterm=NONE
|
||||
@@ -567,6 +628,20 @@ if s:t_Co >= 16
|
||||
hi diffAdded ctermfg=green ctermbg=NONE cterm=NONE
|
||||
hi diffRemoved ctermfg=darkred ctermbg=NONE cterm=NONE
|
||||
hi diffSubname ctermfg=magenta ctermbg=NONE cterm=NONE
|
||||
hi dirType ctermfg=darkmagenta ctermbg=NONE cterm=NONE
|
||||
hi dirPermissionUser ctermfg=darkgreen ctermbg=NONE cterm=NONE
|
||||
hi dirPermissionGroup ctermfg=darkyellow ctermbg=NONE cterm=NONE
|
||||
hi dirPermissionOther ctermfg=darkcyan ctermbg=NONE cterm=NONE
|
||||
hi dirOwner ctermfg=darkgrey ctermbg=NONE cterm=NONE
|
||||
hi dirGroup ctermfg=darkgrey ctermbg=NONE cterm=NONE
|
||||
hi dirTime ctermfg=darkgrey ctermbg=NONE cterm=NONE
|
||||
hi dirSize ctermfg=yellow ctermbg=NONE cterm=NONE
|
||||
hi dirSizeMod ctermfg=darkmagenta ctermbg=NONE cterm=NONE
|
||||
hi FilterMenuDirectorySubtle ctermfg=grey ctermbg=NONE cterm=NONE
|
||||
hi dirFilterMenuBookmarkPath ctermfg=grey ctermbg=NONE cterm=NONE
|
||||
hi dirFilterMenuHistoryPath ctermfg=grey ctermbg=NONE cterm=NONE
|
||||
hi FilterMenuLineNr ctermfg=grey ctermbg=NONE cterm=NONE
|
||||
hi CocSearch ctermfg=yellow ctermbg=NONE cterm=NONE
|
||||
else
|
||||
" Light background
|
||||
hi Normal ctermfg=black ctermbg=white cterm=NONE
|
||||
@@ -586,7 +661,7 @@ if s:t_Co >= 16
|
||||
hi EndOfBuffer ctermfg=darkgrey ctermbg=NONE cterm=NONE
|
||||
hi SpecialKey ctermfg=darkgrey ctermbg=NONE cterm=NONE
|
||||
hi Pmenu ctermfg=black ctermbg=grey cterm=NONE
|
||||
hi PmenuSel ctermfg=black ctermbg=darkgreen cterm=NONE
|
||||
hi PmenuSel ctermfg=black ctermbg=darkcyan cterm=NONE
|
||||
hi PmenuThumb ctermfg=NONE ctermbg=darkgrey cterm=NONE
|
||||
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
@@ -596,7 +671,7 @@ if s:t_Co >= 16
|
||||
hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=bold
|
||||
hi Question ctermfg=darkmagenta ctermbg=NONE cterm=bold
|
||||
hi WarningMsg ctermfg=red ctermbg=NONE cterm=bold
|
||||
hi Todo ctermfg=darkcyan ctermbg=white cterm=reverse
|
||||
hi Todo ctermfg=cyan ctermbg=white cterm=reverse
|
||||
hi Search ctermfg=black ctermbg=yellow cterm=NONE
|
||||
hi IncSearch ctermfg=black ctermbg=green cterm=NONE
|
||||
hi CurSearch ctermfg=black ctermbg=green cterm=NONE
|
||||
@@ -615,12 +690,13 @@ if s:t_Co >= 16
|
||||
hi SpellLocal ctermfg=darkgreen ctermbg=NONE cterm=underline
|
||||
hi SpellRare ctermfg=magenta ctermbg=NONE cterm=underline
|
||||
hi Comment ctermfg=darkblue ctermbg=NONE cterm=NONE
|
||||
hi Constant ctermfg=darkred ctermbg=NONE cterm=NONE
|
||||
hi Constant ctermfg=darkmagenta ctermbg=NONE cterm=NONE
|
||||
hi String ctermfg=darkyellow ctermbg=NONE cterm=NONE
|
||||
hi Identifier ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Statement ctermfg=black ctermbg=NONE cterm=bold
|
||||
hi Type ctermfg=darkgreen ctermbg=NONE cterm=bold
|
||||
hi PreProc ctermfg=darkyellow ctermbg=NONE cterm=NONE
|
||||
hi Special ctermfg=darkcyan ctermbg=NONE cterm=NONE
|
||||
hi Type ctermfg=darkgreen ctermbg=NONE cterm=NONE
|
||||
hi PreProc ctermfg=darkcyan ctermbg=NONE cterm=NONE
|
||||
hi Special ctermfg=cyan ctermbg=NONE cterm=NONE
|
||||
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
|
||||
hi Title ctermfg=NONE ctermbg=NONE cterm=bold
|
||||
hi Directory ctermfg=darkblue ctermbg=NONE cterm=bold
|
||||
@@ -633,6 +709,21 @@ if s:t_Co >= 16
|
||||
hi diffAdded ctermfg=darkgreen ctermbg=NONE cterm=NONE
|
||||
hi diffRemoved ctermfg=red ctermbg=NONE cterm=NONE
|
||||
hi diffSubname ctermfg=darkmagenta ctermbg=NONE cterm=NONE
|
||||
hi dirType ctermfg=darkcyan ctermbg=NONE cterm=NONE
|
||||
hi dirPermissionUser ctermfg=darkyellow ctermbg=NONE cterm=NONE
|
||||
hi dirPermissionGroup ctermfg=darkgreen ctermbg=NONE cterm=NONE
|
||||
hi dirPermissionOther ctermfg=darkmagenta ctermbg=NONE cterm=NONE
|
||||
hi dirOwner ctermfg=grey ctermbg=NONE cterm=NONE
|
||||
hi dirGroup ctermfg=grey ctermbg=NONE cterm=NONE
|
||||
hi dirTime ctermfg=grey ctermbg=NONE cterm=NONE
|
||||
hi dirSize ctermfg=darkred ctermbg=NONE cterm=NONE
|
||||
hi dirSizeMod ctermfg=darkcyan ctermbg=NONE cterm=NONE
|
||||
hi dirLink ctermfg=darkgreen ctermbg=NONE cterm=bold
|
||||
hi dirFilterMenuBookmarkPath ctermfg=darkgrey ctermbg=NONE cterm=NONE
|
||||
hi dirFilterMenuHistoryPath ctermfg=darkgrey ctermbg=NONE cterm=NONE
|
||||
hi FilterMenuDirectorySubtle ctermfg=darkgrey ctermbg=NONE cterm=NONE
|
||||
hi FilterMenuLineNr ctermfg=darkgrey ctermbg=NONE cterm=NONE
|
||||
hi CocSearch ctermfg=darkred ctermbg=NONE cterm=NONE
|
||||
endif
|
||||
unlet s:t_Co
|
||||
finish
|
||||
@@ -656,10 +747,10 @@ if s:t_Co >= 8
|
||||
hi FoldColumn ctermfg=black ctermbg=NONE cterm=NONE
|
||||
hi EndOfBuffer ctermfg=black ctermbg=NONE cterm=NONE
|
||||
hi SpecialKey ctermfg=black ctermbg=NONE cterm=NONE
|
||||
hi Pmenu ctermfg=black ctermbg=grey cterm=NONE
|
||||
hi Pmenu ctermfg=NONE ctermbg=grey cterm=NONE
|
||||
hi PmenuThumb ctermfg=NONE ctermbg=darkgreen cterm=NONE
|
||||
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi PmenuSel ctermfg=black ctermbg=darkgreen cterm=NONE
|
||||
hi PmenuSel ctermfg=black ctermbg=darkcyan cterm=NONE
|
||||
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Error ctermfg=grey ctermbg=darkred cterm=NONE
|
||||
hi ErrorMsg ctermfg=grey ctermbg=darkred cterm=NONE
|
||||
@@ -674,7 +765,7 @@ if s:t_Co >= 8
|
||||
hi WildMenu ctermfg=black ctermbg=darkyellow cterm=bold
|
||||
hi debugPC ctermfg=darkblue ctermbg=NONE cterm=reverse
|
||||
hi debugBreakpoint ctermfg=darkcyan ctermbg=NONE cterm=reverse
|
||||
hi Visual ctermfg=black ctermbg=darkblue cterm=NONE
|
||||
hi Visual ctermfg=NONE ctermbg=NONE cterm=reverse
|
||||
hi MatchParen ctermfg=darkcyan ctermbg=black cterm=reverse
|
||||
hi VisualNOS ctermfg=black ctermbg=darkcyan cterm=NONE
|
||||
hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
|
||||
@@ -688,13 +779,13 @@ if s:t_Co >= 8
|
||||
hi Comment ctermfg=darkblue ctermbg=NONE cterm=NONE
|
||||
hi Constant ctermfg=darkred ctermbg=NONE cterm=NONE
|
||||
hi Identifier ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Statement ctermfg=black ctermbg=NONE cterm=bold
|
||||
hi Type ctermfg=darkgreen ctermbg=NONE cterm=bold
|
||||
hi PreProc ctermfg=darkyellow ctermbg=NONE cterm=NONE
|
||||
hi Statement ctermfg=grey ctermbg=NONE cterm=bold
|
||||
hi Type ctermfg=darkgreen ctermbg=NONE cterm=NONE
|
||||
hi PreProc ctermfg=darkcyan ctermbg=NONE cterm=NONE
|
||||
hi Special ctermfg=darkcyan ctermbg=NONE cterm=NONE
|
||||
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
|
||||
hi Title ctermfg=NONE ctermbg=NONE cterm=bold
|
||||
hi Directory ctermfg=darkcyan ctermbg=NONE cterm=bold
|
||||
hi Directory ctermfg=darkblue ctermbg=NONE cterm=bold
|
||||
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi DiffAdd ctermfg=black ctermbg=darkmagenta cterm=NONE
|
||||
@@ -719,10 +810,10 @@ if s:t_Co >= 8
|
||||
hi FoldColumn ctermfg=black ctermbg=NONE cterm=NONE
|
||||
hi EndOfBuffer ctermfg=black ctermbg=NONE cterm=NONE
|
||||
hi SpecialKey ctermfg=black ctermbg=NONE cterm=NONE
|
||||
hi Pmenu ctermfg=grey ctermbg=black cterm=NONE
|
||||
hi Pmenu ctermfg=NONE ctermbg=black cterm=NONE
|
||||
hi PmenuThumb ctermfg=NONE ctermbg=darkgreen cterm=NONE
|
||||
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi PmenuSel ctermfg=black ctermbg=darkgreen cterm=NONE
|
||||
hi PmenuSel ctermfg=NONE ctermbg=darkcyan cterm=NONE
|
||||
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Error ctermfg=grey ctermbg=darkred cterm=NONE
|
||||
hi ErrorMsg ctermfg=grey ctermbg=darkred cterm=NONE
|
||||
@@ -737,7 +828,7 @@ if s:t_Co >= 8
|
||||
hi WildMenu ctermfg=black ctermbg=darkyellow cterm=bold
|
||||
hi debugPC ctermfg=darkblue ctermbg=NONE cterm=reverse
|
||||
hi debugBreakpoint ctermfg=darkcyan ctermbg=NONE cterm=reverse
|
||||
hi Visual ctermfg=grey ctermbg=darkblue cterm=NONE
|
||||
hi Visual ctermfg=NONE ctermbg=NONE cterm=reverse
|
||||
hi MatchParen ctermfg=darkcyan ctermbg=grey cterm=reverse
|
||||
hi VisualNOS ctermfg=black ctermbg=darkcyan cterm=NONE
|
||||
hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
|
||||
@@ -752,12 +843,12 @@ if s:t_Co >= 8
|
||||
hi Constant ctermfg=darkred ctermbg=NONE cterm=NONE
|
||||
hi Identifier ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Statement ctermfg=black ctermbg=NONE cterm=bold
|
||||
hi Type ctermfg=darkgreen ctermbg=NONE cterm=bold
|
||||
hi PreProc ctermfg=darkyellow ctermbg=NONE cterm=NONE
|
||||
hi Type ctermfg=darkgreen ctermbg=NONE cterm=NONE
|
||||
hi PreProc ctermfg=darkcyan ctermbg=NONE cterm=NONE
|
||||
hi Special ctermfg=darkcyan ctermbg=NONE cterm=NONE
|
||||
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
|
||||
hi Title ctermfg=black ctermbg=NONE cterm=bold
|
||||
hi Directory ctermfg=darkcyan ctermbg=NONE cterm=bold
|
||||
hi Directory ctermfg=darkblue ctermbg=NONE cterm=bold
|
||||
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi DiffAdd ctermfg=black ctermbg=darkmagenta cterm=NONE
|
||||
@@ -848,14 +939,14 @@ endif
|
||||
" Color: color03 #AF875F 137 darkyellow
|
||||
" Color: color11 #FFD787 222 yellow
|
||||
" Color: color04 #5F87AF 67 darkblue
|
||||
" Color: color12 #87AFD7 110 blue
|
||||
" Color: color05 #D787AF 175 darkmagenta
|
||||
" Color: color13 #FFAFD7 218 magenta
|
||||
" Color: color12 #5FAFFF 75 blue
|
||||
" Color: color05 #D787D7 176 darkmagenta
|
||||
" Color: color13 #FF87FF 213 magenta
|
||||
" Color: color06 #5FAFAF 73 darkcyan
|
||||
" Color: color14 #5FD7D7 116 cyan
|
||||
" Color: color07 #C6C6C6 251 grey
|
||||
" Color: color15 #FFFFFF 231 white
|
||||
" Color: colorDimWhite #EEEEEE 255 grey
|
||||
" Color: colorDimWhite #E4E4E4 254 grey
|
||||
" Color: colorLine #262626 235 darkgrey
|
||||
" Color: colorB #1C1C1C 234 darkgrey
|
||||
" Color: colorNonT #585858 240 grey
|
||||
@@ -864,7 +955,7 @@ endif
|
||||
" Color: colorlC #FF5FFF 207 magenta
|
||||
" Color: colorV #005F87 24 darkblue
|
||||
" Color: colorMP #C5E7C5 30 darkcyan
|
||||
" Color: colorPMenuSel #005F00 22 darkgreen
|
||||
" Color: colorPMenuSel #444444 238 darkcyan
|
||||
" Color: colorDim #878787 102 grey
|
||||
" Color: diffAdd #AF87AF 139 darkmagenta
|
||||
" Color: diffDelete #D78787 174 darkred
|
||||
@@ -876,18 +967,18 @@ endif
|
||||
" Background: light
|
||||
" Color: color00 #000000 16 black
|
||||
" Color: color08 #767676 243 darkgrey
|
||||
" Color: color01 #870000 88 darkred
|
||||
" Color: color01 #AF0000 124 darkred
|
||||
" Color: color09 #D70000 160 red
|
||||
" Color: color02 #008700 28 darkgreen
|
||||
" Color: color10 #87D787 114 green
|
||||
" Color: color03 #875F00 94 darkyellow
|
||||
" Color: color11 #D7D787 186 yellow
|
||||
" Color: color04 #005FAF 25 darkblue
|
||||
" Color: color03 #AF5F00 130 darkyellow
|
||||
" Color: color11 #FFD787 222 yellow
|
||||
" Color: color04 #005FD7 26 darkblue
|
||||
" Color: color12 #0087D7 32 blue
|
||||
" Color: color05 #870087 90 darkmagenta
|
||||
" Color: color13 #AF00AF 133 magenta
|
||||
" Color: color05 #AF00AF 127 darkmagenta
|
||||
" Color: color13 #FF00FF 133 magenta
|
||||
" Color: color06 #005F5F 23 darkcyan
|
||||
" Color: color14 #00AFAF 37 cyan
|
||||
" Color: color14 #008787 30 cyan
|
||||
" Color: color07 #808080 244 grey
|
||||
" Color: color15 #FFFFFF 231 white
|
||||
" Color: colorLine #E4E4E4 254 grey
|
||||
@@ -898,7 +989,7 @@ endif
|
||||
" Color: colorlC #FF00FF 201 magenta
|
||||
" Color: colorV #5F87AF 67 darkblue
|
||||
" Color: colorMP #C5E7C5 30 darkcyan
|
||||
" Color: colorPMenuSel #AFD7AF 151 darkgreen
|
||||
" Color: colorPMenuSel #C6C6C6 251 darkcyan
|
||||
" Color: colorDim #626262 241 darkgrey
|
||||
" Color: diffAdd #D7AFD7 182 darkmagenta
|
||||
" Color: diffDelete #870000 88 darkred
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Original maintainer Bram Moolenaar <Bram@vim.org>
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Updated: Tue 23 Aug 2022 16:50:41 MSK
|
||||
" Last Updated: Fri 02 Sep 2022 09:46:24 MSK
|
||||
|
||||
" Generated by Colortemplate v2.2.0
|
||||
|
||||
@@ -26,6 +26,8 @@ hi! link CursorLineFold CursorLine
|
||||
hi! link CursorLineSign CursorLine
|
||||
hi! link StatuslineTerm Statusline
|
||||
hi! link StatuslineTermNC StatuslineNC
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi Normal guifg=#000000 guibg=#e4e4e4 gui=NONE cterm=NONE
|
||||
hi EndOfBuffer guifg=#0000ff guibg=#cccccc gui=bold cterm=bold
|
||||
hi Folded guifg=#00008b guibg=#d3d3d3 gui=NONE cterm=NONE
|
||||
@@ -96,6 +98,8 @@ if s:t_Co >= 256
|
||||
hi! link CursorLineSign CursorLine
|
||||
hi! link StatuslineTerm Statusline
|
||||
hi! link StatuslineTermNC StatuslineNC
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi Normal ctermfg=16 ctermbg=254 cterm=NONE
|
||||
hi EndOfBuffer ctermfg=21 ctermbg=252 cterm=bold
|
||||
hi Folded ctermfg=18 ctermbg=252 cterm=NONE
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Original maintainer Ron Aaron <ron@ronware.org>.
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Updated: Tue 23 Aug 2022 16:50:41 MSK
|
||||
" Last Updated: Fri 02 Sep 2022 09:47:20 MSK
|
||||
|
||||
" Generated by Colortemplate v2.2.0
|
||||
|
||||
@@ -26,6 +26,8 @@ hi! link CursorLineFold CursorLine
|
||||
hi! link CursorLineSign CursorLine
|
||||
hi! link StatusLineTerm StatusLine
|
||||
hi! link StatusLineTermNC StatusLineNC
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi Normal guifg=#87ff87 guibg=#000000 gui=NONE cterm=NONE
|
||||
hi EndOfBuffer guifg=#0000ff guibg=#000000 gui=NONE cterm=NONE
|
||||
hi StatusLine guifg=#ffffff guibg=#00008b gui=NONE cterm=NONE
|
||||
@@ -96,6 +98,8 @@ if s:t_Co >= 256
|
||||
hi! link CursorLineSign CursorLine
|
||||
hi! link StatusLineTerm StatusLine
|
||||
hi! link StatusLineTermNC StatusLineNC
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi Normal ctermfg=120 ctermbg=16 cterm=NONE
|
||||
hi EndOfBuffer ctermfg=21 ctermbg=16 cterm=NONE
|
||||
hi StatusLine ctermfg=231 ctermbg=18 cterm=NONE
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
" Maintainer: Original maintainerRon Aaron <ron@ronware.org>
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Updated: Tue 23 Aug 2022 16:50:42 MSK
|
||||
" Last Updated: Wed 14 Sep 2022 19:05:27 MSK
|
||||
|
||||
" Generated by Colortemplate v2.2.0
|
||||
|
||||
@@ -17,13 +17,15 @@ let s:t_Co = exists('&t_Co') && !has('gui_running') ? (&t_Co ?? 0) : -1
|
||||
if (has('termguicolors') && &termguicolors) || has('gui_running')
|
||||
let g:terminal_ansi_colors = ['#000000', '#cd0000', '#00cd00', '#cdcd00', '#0000ee', '#cd00cd', '#00cdcd', '#e5e5e5', '#7f7f7f', '#ff0000', '#00ff00', '#ffff00', '#5c5cff', '#ff00ff', '#00ffff', '#ffffff']
|
||||
endif
|
||||
hi Normal guifg=#ffffff guibg=#000000 gui=NONE cterm=NONE
|
||||
hi! link Terminal Normal
|
||||
hi! link StatusLineTerm StatusLine
|
||||
hi! link StatusLineTermNC StatusLineNC
|
||||
hi! link CurSearch Search
|
||||
hi! link CursorLineFold CursorLine
|
||||
hi! link CursorLineSign CursorLine
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi Normal guifg=#ffffff guibg=#000000 gui=NONE cterm=NONE
|
||||
hi Comment guifg=#808080 guibg=NONE gui=NONE cterm=NONE
|
||||
hi Constant guifg=#00ffff guibg=NONE gui=NONE cterm=NONE
|
||||
hi Identifier guifg=#00c0c0 guibg=NONE gui=NONE cterm=NONE
|
||||
@@ -88,13 +90,15 @@ hi DiffText guifg=#000000 guibg=#c6c6c6 gui=NONE cterm=NONE
|
||||
hi DiffDelete guifg=#ffffff guibg=#af5faf gui=NONE cterm=NONE
|
||||
|
||||
if s:t_Co >= 256
|
||||
hi Normal ctermfg=231 ctermbg=16 cterm=NONE
|
||||
hi! link Terminal Normal
|
||||
hi! link StatusLineTerm StatusLine
|
||||
hi! link StatusLineTermNC StatusLineNC
|
||||
hi! link CurSearch Search
|
||||
hi! link CursorLineFold CursorLine
|
||||
hi! link CursorLineSign CursorLine
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi Normal ctermfg=231 ctermbg=16 cterm=NONE
|
||||
hi Comment ctermfg=244 ctermbg=NONE cterm=NONE
|
||||
hi Constant ctermfg=51 ctermbg=NONE cterm=NONE
|
||||
hi Identifier ctermfg=37 ctermbg=NONE cterm=NONE
|
||||
@@ -117,7 +121,7 @@ if s:t_Co >= 256
|
||||
hi NonText ctermfg=63 ctermbg=NONE cterm=bold
|
||||
hi EndOfBuffer ctermfg=63 ctermbg=NONE cterm=bold
|
||||
hi ErrorMsg ctermfg=231 ctermbg=160 cterm=NONE
|
||||
hi WarningMsg ctermfg=224 ctermbg=NONE cterm=NONE
|
||||
hi WarningMsg ctermfg=196 ctermbg=NONE cterm=NONE
|
||||
hi SignColumn ctermfg=51 ctermbg=248 cterm=NONE
|
||||
hi ColorColumn ctermfg=NONE ctermbg=239 cterm=NONE
|
||||
hi FoldColumn ctermfg=102 ctermbg=236 cterm=NONE
|
||||
@@ -163,12 +167,6 @@ endif
|
||||
|
||||
if s:t_Co >= 16
|
||||
hi Normal ctermfg=white ctermbg=black cterm=NONE
|
||||
hi! link Terminal Normal
|
||||
hi! link StatusLineTerm StatusLine
|
||||
hi! link StatusLineTermNC StatusLineNC
|
||||
hi! link CurSearch Search
|
||||
hi! link CursorLineFold CursorLine
|
||||
hi! link CursorLineSign CursorLine
|
||||
hi Comment ctermfg=darkgrey ctermbg=NONE cterm=NONE
|
||||
hi Constant ctermfg=cyan ctermbg=NONE cterm=NONE
|
||||
hi Identifier ctermfg=darkcyan ctermbg=NONE cterm=NONE
|
||||
@@ -191,7 +189,7 @@ if s:t_Co >= 16
|
||||
hi NonText ctermfg=blue ctermbg=NONE cterm=bold
|
||||
hi EndOfBuffer ctermfg=blue ctermbg=NONE cterm=bold
|
||||
hi ErrorMsg ctermfg=white ctermbg=darkred cterm=NONE
|
||||
hi WarningMsg ctermfg=darkred ctermbg=NONE cterm=NONE
|
||||
hi WarningMsg ctermfg=red ctermbg=NONE cterm=NONE
|
||||
hi SignColumn ctermfg=cyan ctermbg=black cterm=NONE
|
||||
hi ColorColumn ctermfg=white ctermbg=darkgrey cterm=NONE
|
||||
hi FoldColumn ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
@@ -282,7 +280,6 @@ if s:t_Co >= 8
|
||||
hi SpellLocal ctermfg=darkmagenta ctermbg=darkyellow cterm=reverse
|
||||
hi SpellRare ctermfg=darkgreen ctermbg=NONE cterm=reverse
|
||||
hi Comment ctermfg=grey ctermbg=NONE cterm=bold
|
||||
hi Comment ctermfg=darkgrey ctermbg=NONE cterm=NONE
|
||||
hi Constant ctermfg=darkcyan ctermbg=NONE cterm=bold
|
||||
hi Identifier ctermfg=darkcyan ctermbg=NONE cterm=NONE
|
||||
hi Statement ctermfg=darkyellow ctermbg=NONE cterm=bold
|
||||
@@ -405,7 +402,7 @@ endif
|
||||
" Color: SpecialKey #00ffff 81 cyan
|
||||
" Color: StatusLineTerm #90ee90 121 darkgreen
|
||||
" Color: Title #ff00ff 225 magenta
|
||||
" Color: WarningMsg #ff0000 224 darkred
|
||||
" Color: WarningMsg #ff0000 196 red
|
||||
" Color: ToolbarLine #7f7f7f 242 darkgrey
|
||||
" Color: ToolbarButton #d3d3d3 254 grey
|
||||
" Color: Underlined #80a0ff 111 darkgreen
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Original maintainer David Ne\v{c}as (Yeti) <yeti@physics.muni.cz>
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Updated: Tue 23 Aug 2022 16:50:42 MSK
|
||||
" Last Updated: Fri 02 Sep 2022 09:50:02 MSK
|
||||
|
||||
" Generated by Colortemplate v2.2.0
|
||||
|
||||
@@ -24,6 +24,8 @@ hi! link LineNrBelow LineNr
|
||||
hi! link CurSearch Search
|
||||
hi! link CursorLineFold CursorLine
|
||||
hi! link CursorLineSign CursorLine
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi Normal guifg=#000000 guibg=#ffdab9 gui=NONE cterm=NONE
|
||||
hi Folded guifg=#000000 guibg=#e3c1a5 gui=NONE cterm=NONE
|
||||
hi CursorLine guifg=NONE guibg=#f5c195 gui=NONE cterm=NONE
|
||||
@@ -94,6 +96,8 @@ if s:t_Co >= 256
|
||||
hi! link CurSearch Search
|
||||
hi! link CursorLineFold CursorLine
|
||||
hi! link CursorLineSign CursorLine
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi Normal ctermfg=16 ctermbg=223 cterm=NONE
|
||||
hi Folded ctermfg=16 ctermbg=252 cterm=NONE
|
||||
hi CursorLine ctermfg=NONE ctermbg=180 cterm=NONE
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: neutaaaaan <neutaaaaan-gh@protonmail.com>
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Vim License (see `:help license`)`
|
||||
" Last Updated: Tue 23 Aug 2022 16:50:43 MSK
|
||||
" Last Updated: Fri 16 Sep 2022 09:52:50 MSK
|
||||
|
||||
" Generated by Colortemplate v2.2.0
|
||||
|
||||
@@ -16,6 +16,8 @@ let s:t_Co = exists('&t_Co') && !has('gui_running') ? (&t_Co ?? 0) : -1
|
||||
hi! link Terminal Normal
|
||||
hi! link StatusLineTerm StatusLine
|
||||
hi! link StatusLineTermNC StatusLineNC
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi! link Boolean Constant
|
||||
hi! link Character Constant
|
||||
hi! link Conditional Statement
|
||||
@@ -59,8 +61,8 @@ if &background ==# 'dark'
|
||||
hi DiffChange guifg=#87afd7 guibg=#080808 gui=reverse cterm=reverse
|
||||
hi DiffDelete guifg=#d75f5f guibg=#080808 gui=reverse cterm=reverse
|
||||
hi DiffText guifg=#d787d7 guibg=#080808 gui=reverse cterm=reverse
|
||||
hi Directory guifg=#dadada guibg=#080808 gui=NONE cterm=NONE
|
||||
hi EndOfBuffer guifg=#dadada guibg=#080808 gui=NONE cterm=NONE
|
||||
hi Directory guifg=#dadada guibg=NONE gui=NONE cterm=NONE
|
||||
hi EndOfBuffer guifg=#dadada guibg=NONE gui=NONE cterm=NONE
|
||||
hi ErrorMsg guifg=#dadada guibg=#080808 gui=reverse cterm=reverse
|
||||
hi FoldColumn guifg=#707070 guibg=NONE gui=NONE cterm=NONE
|
||||
hi Folded guifg=#707070 guibg=#080808 gui=NONE cterm=NONE
|
||||
@@ -84,13 +86,13 @@ if &background ==# 'dark'
|
||||
hi SpellLocal guifg=#d787d7 guibg=NONE guisp=#d787d7 gui=undercurl cterm=underline
|
||||
hi SpellRare guifg=#00afaf guibg=NONE guisp=#00afaf gui=undercurl cterm=underline
|
||||
hi StatusLine guifg=#080808 guibg=#dadada gui=bold cterm=bold
|
||||
hi StatusLineNC guifg=#707070 guibg=#080808 gui=underline cterm=underline
|
||||
hi TabLine guifg=#707070 guibg=#080808 gui=underline cterm=underline
|
||||
hi StatusLineNC guifg=#707070 guibg=#080808 gui=reverse cterm=reverse
|
||||
hi TabLine guifg=#707070 guibg=#080808 gui=reverse cterm=reverse
|
||||
hi TabLineFill guifg=#dadada guibg=NONE gui=NONE cterm=NONE
|
||||
hi TabLineSel guifg=#080808 guibg=#dadada gui=bold cterm=bold
|
||||
hi Title guifg=#dadada guibg=NONE gui=NONE cterm=NONE
|
||||
hi Title guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi VertSplit guifg=#707070 guibg=#080808 gui=NONE cterm=NONE
|
||||
hi Visual guifg=NONE guibg=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse
|
||||
hi Visual guifg=#ffaf00 guibg=#080808 gui=reverse cterm=reverse
|
||||
hi VisualNOS guifg=NONE guibg=#303030 gui=NONE cterm=NONE
|
||||
hi WarningMsg guifg=#dadada guibg=NONE gui=NONE cterm=NONE
|
||||
hi WildMenu guifg=#00afff guibg=#080808 gui=bold cterm=bold
|
||||
@@ -153,9 +155,9 @@ else
|
||||
hi TabLine guifg=#080808 guibg=#a8a8a8 gui=NONE cterm=NONE
|
||||
hi TabLineFill guifg=#080808 guibg=#d7d7d7 gui=NONE cterm=NONE
|
||||
hi TabLineSel guifg=#eeeeee guibg=#080808 gui=bold cterm=bold
|
||||
hi Title guifg=#080808 guibg=NONE gui=NONE cterm=NONE
|
||||
hi Title guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi VertSplit guifg=#626262 guibg=#d7d7d7 gui=NONE cterm=NONE
|
||||
hi Visual guifg=NONE guibg=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse
|
||||
hi Visual guifg=#ffaf00 guibg=#080808 gui=reverse cterm=reverse
|
||||
hi VisualNOS guifg=NONE guibg=#eeeeee gui=NONE cterm=NONE
|
||||
hi WarningMsg guifg=#080808 guibg=NONE gui=NONE cterm=NONE
|
||||
hi WildMenu guifg=#080808 guibg=#eeeeee gui=bold cterm=bold
|
||||
@@ -188,8 +190,8 @@ if s:t_Co >= 256
|
||||
hi DiffChange ctermfg=110 ctermbg=232 cterm=reverse
|
||||
hi DiffDelete ctermfg=167 ctermbg=232 cterm=reverse
|
||||
hi DiffText ctermfg=176 ctermbg=232 cterm=reverse
|
||||
hi Directory ctermfg=253 ctermbg=232 cterm=NONE
|
||||
hi EndOfBuffer ctermfg=253 ctermbg=232 cterm=NONE
|
||||
hi Directory ctermfg=253 ctermbg=NONE cterm=NONE
|
||||
hi EndOfBuffer ctermfg=253 ctermbg=NONE cterm=NONE
|
||||
hi ErrorMsg ctermfg=253 ctermbg=232 cterm=reverse
|
||||
hi FoldColumn ctermfg=242 ctermbg=NONE cterm=NONE
|
||||
hi Folded ctermfg=242 ctermbg=232 cterm=NONE
|
||||
@@ -213,13 +215,13 @@ if s:t_Co >= 256
|
||||
hi SpellLocal ctermfg=176 ctermbg=NONE cterm=underline
|
||||
hi SpellRare ctermfg=37 ctermbg=NONE cterm=underline
|
||||
hi StatusLine ctermfg=232 ctermbg=253 cterm=bold
|
||||
hi StatusLineNC ctermfg=242 ctermbg=232 cterm=underline
|
||||
hi TabLine ctermfg=242 ctermbg=232 cterm=underline
|
||||
hi StatusLineNC ctermfg=242 ctermbg=232 cterm=reverse
|
||||
hi TabLine ctermfg=242 ctermbg=232 cterm=reverse
|
||||
hi TabLineFill ctermfg=253 ctermbg=NONE cterm=NONE
|
||||
hi TabLineSel ctermfg=232 ctermbg=253 cterm=bold
|
||||
hi Title ctermfg=253 ctermbg=NONE cterm=NONE
|
||||
hi Title ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi VertSplit ctermfg=242 ctermbg=232 cterm=NONE
|
||||
hi Visual ctermfg=NONE ctermbg=NONE cterm=reverse
|
||||
hi Visual ctermfg=214 ctermbg=232 cterm=reverse
|
||||
hi VisualNOS ctermfg=NONE ctermbg=236 cterm=NONE
|
||||
hi WarningMsg ctermfg=253 ctermbg=NONE cterm=NONE
|
||||
hi WildMenu ctermfg=39 ctermbg=232 cterm=bold
|
||||
@@ -279,9 +281,9 @@ if s:t_Co >= 256
|
||||
hi TabLine ctermfg=232 ctermbg=248 cterm=NONE
|
||||
hi TabLineFill ctermfg=232 ctermbg=188 cterm=NONE
|
||||
hi TabLineSel ctermfg=255 ctermbg=232 cterm=bold
|
||||
hi Title ctermfg=232 ctermbg=NONE cterm=NONE
|
||||
hi Title ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi VertSplit ctermfg=241 ctermbg=188 cterm=NONE
|
||||
hi Visual ctermfg=NONE ctermbg=NONE cterm=reverse
|
||||
hi Visual ctermfg=214 ctermbg=232 cterm=reverse
|
||||
hi VisualNOS ctermfg=NONE ctermbg=255 cterm=NONE
|
||||
hi WarningMsg ctermfg=232 ctermbg=NONE cterm=NONE
|
||||
hi WildMenu ctermfg=232 ctermbg=255 cterm=bold
|
||||
@@ -348,7 +350,7 @@ if s:t_Co >= 16
|
||||
hi TabLineSel ctermfg=NONE ctermbg=NONE cterm=bold,reverse
|
||||
hi Title ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi VertSplit ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Visual ctermfg=NONE ctermbg=NONE cterm=reverse
|
||||
hi Visual ctermfg=darkyellow ctermbg=black cterm=reverse
|
||||
hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi WarningMsg ctermfg=NONE ctermbg=NONE cterm=standout
|
||||
hi WildMenu ctermfg=NONE ctermbg=NONE cterm=bold
|
||||
@@ -410,7 +412,7 @@ if s:t_Co >= 16
|
||||
hi TabLineSel ctermfg=NONE ctermbg=NONE cterm=bold,reverse
|
||||
hi Title ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi VertSplit ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Visual ctermfg=NONE ctermbg=NONE cterm=reverse
|
||||
hi Visual ctermfg=darkyellow ctermbg=black cterm=reverse
|
||||
hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi WarningMsg ctermfg=NONE ctermbg=NONE cterm=standout
|
||||
hi WildMenu ctermfg=NONE ctermbg=NONE cterm=bold
|
||||
@@ -477,7 +479,7 @@ if s:t_Co >= 8
|
||||
hi TabLineSel ctermfg=NONE ctermbg=NONE cterm=bold,reverse
|
||||
hi Title ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi VertSplit ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Visual ctermfg=NONE ctermbg=NONE cterm=reverse
|
||||
hi Visual ctermfg=darkyellow ctermbg=black cterm=reverse
|
||||
hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi WarningMsg ctermfg=NONE ctermbg=NONE cterm=standout
|
||||
hi WildMenu ctermfg=NONE ctermbg=NONE cterm=bold
|
||||
@@ -539,7 +541,7 @@ if s:t_Co >= 8
|
||||
hi TabLineSel ctermfg=NONE ctermbg=NONE cterm=bold,reverse
|
||||
hi Title ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi VertSplit ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Visual ctermfg=NONE ctermbg=NONE cterm=reverse
|
||||
hi Visual ctermfg=darkyellow ctermbg=black cterm=reverse
|
||||
hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi WarningMsg ctermfg=NONE ctermbg=NONE cterm=standout
|
||||
hi WildMenu ctermfg=NONE ctermbg=NONE cterm=bold
|
||||
@@ -650,7 +652,7 @@ endif
|
||||
" Color: diffred #d75f5f 167 darkred
|
||||
" Color: diffgreen #00af00 34 darkgreen
|
||||
" Color: diffblue #87afd7 110 darkblue
|
||||
" Color: diffpink #d787d7 176 darkmagenta
|
||||
" Color: diffpink #d787d7 176 darkmagenta
|
||||
" Color: uipink #ff00af 199 magenta
|
||||
" Color: uilime #afff00 154 green
|
||||
" Color: uiteal #00ffaf 49 green
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
" Maintainer: original maintainer Ron Aaron <ron@ronware.org>
|
||||
" Website: https://www.github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Updated: Tue 23 Aug 2022 16:50:45 MSK
|
||||
" Last Updated: Fri 02 Sep 2022 09:50:56 MSK
|
||||
|
||||
" Generated by Colortemplate v2.2.0
|
||||
|
||||
@@ -46,6 +46,8 @@ hi! link CursorLineFold CursorLine
|
||||
hi! link CursorLineSign CursorLine
|
||||
hi! link LineNrAbove LineNr
|
||||
hi! link LineNrBelow LineNr
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
|
||||
if (has('termguicolors') && &termguicolors) || has('gui_running')
|
||||
let g:terminal_ansi_colors = ['#000000', '#cd0000', '#00cd00', '#cdcd00', '#0000ee', '#cd00cd', '#00cdcd', '#e5e5e5', '#7f7f7f', '#ff0000', '#00ff00', '#ffff00', '#5c5cff', '#ff00ff', '#00ffff', '#ffffff']
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Original maintainer is Yasuhiro Matsumoto <mattn@mail.goo.ne.jp>
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Updated: Tue 23 Aug 2022 16:50:46 MSK
|
||||
" Last Updated: Fri 02 Sep 2022 09:51:42 MSK
|
||||
|
||||
" Generated by Colortemplate v2.2.0
|
||||
|
||||
@@ -28,6 +28,8 @@ hi! link EndOfBuffer NonText
|
||||
hi! link ErrorMsg Error
|
||||
hi! link Tag Special
|
||||
hi! link Operator Statement
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi Normal guifg=#000000 guibg=#ffffff gui=NONE cterm=NONE
|
||||
hi Folded guifg=#00008b guibg=#dadada gui=NONE cterm=NONE
|
||||
hi CursorLine guifg=NONE guibg=#dadada gui=NONE cterm=NONE
|
||||
@@ -104,6 +106,8 @@ if s:t_Co >= 256
|
||||
hi! link ErrorMsg Error
|
||||
hi! link Tag Special
|
||||
hi! link Operator Statement
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi Normal ctermfg=16 ctermbg=231 cterm=NONE
|
||||
hi Folded ctermfg=18 ctermbg=253 cterm=NONE
|
||||
hi CursorLine ctermfg=NONE ctermbg=253 cterm=NONE
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Original maintainer Ralph Amissah <ralph@amissah.com>
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Updated: Tue 23 Aug 2022 16:50:46 MSK
|
||||
" Last Updated: Fri 02 Sep 2022 09:52:25 MSK
|
||||
|
||||
" Generated by Colortemplate v2.2.0
|
||||
|
||||
@@ -24,6 +24,8 @@ hi! link LineNrBelow LineNr
|
||||
hi! link CurSearch Search
|
||||
hi! link CursorLineFold CursorLine
|
||||
hi! link CursorLineSign CursorLine
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi Normal guifg=#ffffff guibg=#262626 gui=NONE cterm=NONE
|
||||
hi EndOfBuffer guifg=#5f87d7 guibg=NONE gui=NONE cterm=NONE
|
||||
hi StatusLine guifg=#000000 guibg=#afaf87 gui=NONE cterm=NONE
|
||||
@@ -99,6 +101,8 @@ if s:t_Co >= 256
|
||||
hi! link CurSearch Search
|
||||
hi! link CursorLineFold CursorLine
|
||||
hi! link CursorLineSign CursorLine
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi Normal ctermfg=231 ctermbg=235 cterm=NONE
|
||||
hi EndOfBuffer ctermfg=68 ctermbg=NONE cterm=NONE
|
||||
hi StatusLine ctermfg=16 ctermbg=144 cterm=NONE
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Original maintainer Thorsten Maerz <info@netztorte.de>
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Updated: Tue 23 Aug 2022 16:50:47 MSK
|
||||
" Last Updated: Fri 02 Sep 2022 09:53:21 MSK
|
||||
|
||||
" Generated by Colortemplate v2.2.0
|
||||
|
||||
@@ -26,6 +26,8 @@ hi! link CursorLineFold CursorLine
|
||||
hi! link CursorLineSign CursorLine
|
||||
hi! link StatusLineTerm StatusLine
|
||||
hi! link StatusLineTermNC StatusLineNC
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi Normal guifg=#cccccc guibg=#000000 gui=NONE cterm=NONE
|
||||
hi Comment guifg=#80a0ff guibg=NONE gui=NONE cterm=NONE
|
||||
hi Constant guifg=#ffa0a0 guibg=NONE gui=NONE cterm=NONE
|
||||
@@ -97,6 +99,8 @@ if s:t_Co >= 256
|
||||
hi! link CursorLineSign CursorLine
|
||||
hi! link StatusLineTerm StatusLine
|
||||
hi! link StatusLineTermNC StatusLineNC
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi Normal ctermfg=251 ctermbg=16 cterm=NONE
|
||||
hi Comment ctermfg=111 ctermbg=NONE cterm=NONE
|
||||
hi Constant ctermfg=217 ctermbg=NONE cterm=NONE
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Original maintainer Ron Aaron <ron@ronware.org>
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Updated: Tue 23 Aug 2022 16:50:48 MSK
|
||||
" Last Updated: Fri 02 Sep 2022 09:54:15 MSK
|
||||
|
||||
" Generated by Colortemplate v2.2.0
|
||||
|
||||
@@ -24,6 +24,8 @@ hi! link LineNrBelow LineNr
|
||||
hi! link CurSearch Search
|
||||
hi! link CursorLineFold CursorLine
|
||||
hi! link CursorLineSign CursorLine
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi Normal guifg=#000000 guibg=#ffffff gui=NONE cterm=NONE
|
||||
hi Folded guifg=#00008b guibg=#d3d3d3 gui=NONE cterm=NONE
|
||||
hi CursorLine guifg=NONE guibg=#e5e5e5 gui=NONE cterm=NONE
|
||||
@@ -95,6 +97,8 @@ if s:t_Co >= 256
|
||||
hi! link CurSearch Search
|
||||
hi! link CursorLineFold CursorLine
|
||||
hi! link CursorLineSign CursorLine
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi Normal ctermfg=16 ctermbg=231 cterm=NONE
|
||||
hi Folded ctermfg=18 ctermbg=252 cterm=NONE
|
||||
hi CursorLine ctermfg=NONE ctermbg=254 cterm=NONE
|
||||
|
||||
@@ -115,6 +115,7 @@ DOCS = \
|
||||
todo.txt \
|
||||
uganda.txt \
|
||||
undo.txt \
|
||||
userfunc.txt \
|
||||
usr_01.txt \
|
||||
usr_02.txt \
|
||||
usr_03.txt \
|
||||
@@ -265,6 +266,7 @@ HTMLS = \
|
||||
todo.html \
|
||||
uganda.html \
|
||||
undo.html \
|
||||
userfunc.html \
|
||||
usr_01.html \
|
||||
usr_02.html \
|
||||
usr_03.html \
|
||||
|
||||
@@ -640,6 +640,8 @@ CmdwinLeave Before leaving the command-line window.
|
||||
|cmdwin-char|
|
||||
*ColorScheme*
|
||||
ColorScheme After loading a color scheme. |:colorscheme|
|
||||
Not triggered if the color scheme is not
|
||||
found.
|
||||
The pattern is matched against the
|
||||
colorscheme name. <afile> can be used for the
|
||||
name of the actual file where this option was
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*builtin.txt* For Vim version 9.0. Last change: 2022 Jun 27
|
||||
*builtin.txt* For Vim version 9.0. Last change: 2022 Sep 17
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -195,7 +195,7 @@ foldlevel({lnum}) Number fold level at {lnum}
|
||||
foldtext() String line displayed for closed fold
|
||||
foldtextresult({lnum}) String text for closed fold at {lnum}
|
||||
foreground() Number bring the Vim window to the foreground
|
||||
fullcommand({name}) String get full command from {name}
|
||||
fullcommand({name} [, {vim9}]) String get full command from {name}
|
||||
funcref({name} [, {arglist}] [, {dict}])
|
||||
Funcref reference to function {name}
|
||||
function({name} [, {arglist}] [, {dict}])
|
||||
@@ -325,6 +325,8 @@ js_encode({expr}) String encode JS style JSON
|
||||
json_decode({string}) any decode JSON
|
||||
json_encode({expr}) String encode JSON
|
||||
keys({dict}) List keys in {dict}
|
||||
keytrans({string}) String translate internal keycodes to a form
|
||||
that can be used by |:map|
|
||||
len({expr}) Number the length of {expr}
|
||||
libcall({lib}, {func}, {arg}) String call {func} in library {lib} with {arg}
|
||||
libcallnr({lib}, {func}, {arg}) Number idem, but return a Number
|
||||
@@ -471,7 +473,8 @@ remove({blob}, {idx} [, {end}]) Number/Blob
|
||||
remove bytes {idx}-{end} from {blob}
|
||||
remove({dict}, {key}) any remove entry {key} from {dict}
|
||||
rename({from}, {to}) Number rename (move) file from {from} to {to}
|
||||
repeat({expr}, {count}) String repeat {expr} {count} times
|
||||
repeat({expr}, {count}) List/Blob/String
|
||||
repeat {expr} {count} times
|
||||
resolve({filename}) String get filename a shortcut points to
|
||||
reverse({list}) List reverse {list} in-place
|
||||
round({expr}) Float round off {expr}
|
||||
@@ -750,8 +753,6 @@ abs({expr}) *abs()*
|
||||
Can also be used as a |method|: >
|
||||
Compute()->abs()
|
||||
|
||||
< {only available when compiled with the |+float| feature}
|
||||
|
||||
|
||||
acos({expr}) *acos()*
|
||||
Return the arc cosine of {expr} measured in radians, as a
|
||||
@@ -767,8 +768,6 @@ acos({expr}) *acos()*
|
||||
Can also be used as a |method|: >
|
||||
Compute()->acos()
|
||||
|
||||
< {only available when compiled with the |+float| feature}
|
||||
|
||||
|
||||
add({object}, {expr}) *add()*
|
||||
Append the item {expr} to |List| or |Blob| {object}. Returns
|
||||
@@ -901,8 +900,6 @@ asin({expr}) *asin()*
|
||||
|
||||
Can also be used as a |method|: >
|
||||
Compute()->asin()
|
||||
<
|
||||
{only available when compiled with the |+float| feature}
|
||||
|
||||
|
||||
assert_ functions are documented here: |assert-functions-details|
|
||||
@@ -922,8 +919,6 @@ atan({expr}) *atan()*
|
||||
|
||||
Can also be used as a |method|: >
|
||||
Compute()->atan()
|
||||
<
|
||||
{only available when compiled with the |+float| feature}
|
||||
|
||||
|
||||
atan2({expr1}, {expr2}) *atan2()*
|
||||
@@ -940,8 +935,6 @@ atan2({expr1}, {expr2}) *atan2()*
|
||||
|
||||
Can also be used as a |method|: >
|
||||
Compute()->atan2(1)
|
||||
<
|
||||
{only available when compiled with the |+float| feature}
|
||||
|
||||
|
||||
autocmd_add({acmds}) *autocmd_add()*
|
||||
@@ -1425,8 +1418,6 @@ ceil({expr}) *ceil()*
|
||||
|
||||
Can also be used as a |method|: >
|
||||
Compute()->ceil()
|
||||
<
|
||||
{only available when compiled with the |+float| feature}
|
||||
|
||||
|
||||
ch_ functions are documented here: |channel-functions-details|
|
||||
@@ -1671,7 +1662,7 @@ complete_info([{what}]) *complete_info()*
|
||||
typed text only, or the last completion after
|
||||
no item is selected when using the <Up> or
|
||||
<Down> keys)
|
||||
inserted Inserted string. [NOT IMPLEMENT YET]
|
||||
inserted Inserted string. [NOT IMPLEMENTED YET]
|
||||
|
||||
*complete_info_mode*
|
||||
mode values are:
|
||||
@@ -1798,8 +1789,6 @@ cos({expr}) *cos()*
|
||||
|
||||
Can also be used as a |method|: >
|
||||
Compute()->cos()
|
||||
<
|
||||
{only available when compiled with the |+float| feature}
|
||||
|
||||
|
||||
cosh({expr}) *cosh()*
|
||||
@@ -1815,8 +1804,6 @@ cosh({expr}) *cosh()*
|
||||
|
||||
Can also be used as a |method|: >
|
||||
Compute()->cosh()
|
||||
<
|
||||
{only available when compiled with the |+float| feature}
|
||||
|
||||
|
||||
count({comp}, {expr} [, {ic} [, {start}]]) *count()*
|
||||
@@ -2402,8 +2389,6 @@ exp({expr}) *exp()*
|
||||
|
||||
Can also be used as a |method|: >
|
||||
Compute()->exp()
|
||||
<
|
||||
{only available when compiled with the |+float| feature}
|
||||
|
||||
|
||||
expand({string} [, {nosuf} [, {list}]]) *expand()*
|
||||
@@ -2804,8 +2789,6 @@ float2nr({expr}) *float2nr()*
|
||||
|
||||
Can also be used as a |method|: >
|
||||
Compute()->float2nr()
|
||||
<
|
||||
{only available when compiled with the |+float| feature}
|
||||
|
||||
|
||||
floor({expr}) *floor()*
|
||||
@@ -2823,8 +2806,6 @@ floor({expr}) *floor()*
|
||||
|
||||
Can also be used as a |method|: >
|
||||
Compute()->floor()
|
||||
<
|
||||
{only available when compiled with the |+float| feature}
|
||||
|
||||
|
||||
fmod({expr1}, {expr2}) *fmod()*
|
||||
@@ -2845,8 +2826,6 @@ fmod({expr1}, {expr2}) *fmod()*
|
||||
|
||||
Can also be used as a |method|: >
|
||||
Compute()->fmod(1.22)
|
||||
<
|
||||
{only available when compiled with |+float| feature}
|
||||
|
||||
|
||||
fnameescape({string}) *fnameescape()*
|
||||
@@ -2964,14 +2943,20 @@ foreground() Move the Vim window to the foreground. Useful when sent from
|
||||
{only in the Win32, Motif and GTK GUI versions and the
|
||||
Win32 console version}
|
||||
|
||||
fullcommand({name}) *fullcommand()*
|
||||
fullcommand({name} [, {vim9}]) *fullcommand()*
|
||||
Get the full command name from a short abbreviated command
|
||||
name; see |20.2| for details on command abbreviations.
|
||||
|
||||
The string argument {name} may start with a `:` and can
|
||||
include a [range], these are skipped and not returned.
|
||||
Returns an empty string if a command doesn't exist or if it's
|
||||
ambiguous (for user-defined commands).
|
||||
Returns an empty string if a command doesn't exist, if it's
|
||||
ambiguous (for user-defined commands) or cannot be shortened
|
||||
this way. |vim9-no-shorten|
|
||||
|
||||
Without the {vim9} argument uses the current script version.
|
||||
If {vim9} is present and FALSE then legacy script rules are
|
||||
used. When {vim9} is present and TRUE then Vim9 rules are
|
||||
used, e.g. "en" is not a short form of "endif".
|
||||
|
||||
For example `fullcommand('s')`, `fullcommand('sub')`,
|
||||
`fullcommand(':%substitute')` all return "substitute".
|
||||
@@ -3038,10 +3023,10 @@ function({name} [, {arglist}] [, {dict}])
|
||||
Funcref. The extra arguments are appended to the list of
|
||||
arguments. Example: >
|
||||
func Callback(arg1, arg2, name)
|
||||
...
|
||||
"...
|
||||
let Func = function('Callback', ['one'])
|
||||
let Func2 = function(Func, ['two'])
|
||||
...
|
||||
"...
|
||||
call Func2('name')
|
||||
< Invokes the function as with: >
|
||||
call Callback('one', 'two', 'name')
|
||||
@@ -3051,22 +3036,23 @@ function({name} [, {arglist}] [, {dict}])
|
||||
function Callback() dict
|
||||
echo "called for " .. self.name
|
||||
endfunction
|
||||
...
|
||||
"...
|
||||
let context = {"name": "example"}
|
||||
let Func = function('Callback', context)
|
||||
...
|
||||
"...
|
||||
call Func() " will echo: called for example
|
||||
< The use of function() is not needed when there are no extra
|
||||
arguments, these two are equivalent: >
|
||||
arguments, these two are equivalent, if Callback() is defined
|
||||
as context.Callback(): >
|
||||
let Func = function('Callback', context)
|
||||
let Func = context.Callback
|
||||
|
||||
< The argument list and the Dictionary can be combined: >
|
||||
function Callback(arg1, count) dict
|
||||
...
|
||||
"...
|
||||
let context = {"name": "example"}
|
||||
let Func = function('Callback', ['one'], context)
|
||||
...
|
||||
"...
|
||||
call Func(500)
|
||||
< Invokes the function as with: >
|
||||
call context.Callback('one', 500)
|
||||
@@ -5040,8 +5026,6 @@ isinf({expr}) *isinf()*
|
||||
|
||||
Can also be used as a |method|: >
|
||||
Compute()->isinf()
|
||||
<
|
||||
{only available when compiled with the |+float| feature}
|
||||
|
||||
islocked({expr}) *islocked()* *E786*
|
||||
The result is a Number, which is |TRUE| when {expr} is the
|
||||
@@ -5070,8 +5054,6 @@ isnan({expr}) *isnan()*
|
||||
|
||||
Can also be used as a |method|: >
|
||||
Compute()->isnan()
|
||||
<
|
||||
{only available when compiled with the |+float| feature}
|
||||
|
||||
items({dict}) *items()*
|
||||
Return a |List| with all the key-value pairs of {dict}. Each
|
||||
@@ -5203,6 +5185,16 @@ keys({dict}) *keys()*
|
||||
Can also be used as a |method|: >
|
||||
mydict->keys()
|
||||
|
||||
keytrans({string}) *keytrans()*
|
||||
Turn the internal byte representation of keys into a form that
|
||||
can be used for |:map|. E.g. >
|
||||
:let xx = "\<C-Home>"
|
||||
:echo keytrans(xx)
|
||||
< <C-Home>
|
||||
|
||||
Can also be used as a |method|: >
|
||||
"\<C-Home>"->keytrans()
|
||||
|
||||
< *len()* *E701*
|
||||
len({expr}) The result is a Number, which is the length of the argument.
|
||||
When {expr} is a String or a Number the length in bytes is
|
||||
@@ -5490,8 +5482,6 @@ log({expr}) *log()*
|
||||
|
||||
Can also be used as a |method|: >
|
||||
Compute()->log()
|
||||
<
|
||||
{only available when compiled with the |+float| feature}
|
||||
|
||||
|
||||
log10({expr}) *log10()*
|
||||
@@ -5506,8 +5496,6 @@ log10({expr}) *log10()*
|
||||
|
||||
Can also be used as a |method|: >
|
||||
Compute()->log10()
|
||||
<
|
||||
{only available when compiled with the |+float| feature}
|
||||
|
||||
luaeval({expr} [, {expr}]) *luaeval()*
|
||||
Evaluate Lua expression {expr} and return its result converted
|
||||
@@ -5515,8 +5503,7 @@ luaeval({expr} [, {expr}]) *luaeval()*
|
||||
argument accessible as _A inside first {expr}.
|
||||
Strings are returned as they are.
|
||||
Boolean objects are converted to numbers.
|
||||
Numbers are converted to |Float| values if vim was compiled
|
||||
with |+float| and to numbers otherwise.
|
||||
Numbers are converted to |Float| values.
|
||||
Dictionaries and lists obtained by vim.eval() are returned
|
||||
as-is.
|
||||
Other objects are returned as zero without any errors.
|
||||
@@ -6238,8 +6225,26 @@ min({expr}) Return the minimum value of all items in {expr}. Example: >
|
||||
mkdir({name} [, {path} [, {prot}]])
|
||||
Create directory {name}.
|
||||
|
||||
If {path} is "p" then intermediate directories are created as
|
||||
necessary. Otherwise it must be "".
|
||||
If {path} contains "p" then intermediate directories are
|
||||
created as necessary. Otherwise it must be "".
|
||||
|
||||
If {path} contains "D" then {name} is deleted at the end of
|
||||
the current function, as with: >
|
||||
defer delete({name}, 'd')
|
||||
<
|
||||
If {path} contains "R" then {name} is deleted recursively at
|
||||
the end of the current function, as with: >
|
||||
defer delete({name}, 'rf')
|
||||
< Note that when {name} has more than one part and "p" is used
|
||||
some directories may already exist. Only the first one that
|
||||
is created and what it contains is scheduled to be deleted.
|
||||
E.g. when using: >
|
||||
call mkdir('subdir/tmp/autoload', 'pR')
|
||||
< and "subdir" already exists then "subdir/tmp" will be
|
||||
scheduled for deletion, like with: >
|
||||
defer delete('subdir/tmp', 'rf')
|
||||
< Note that if scheduling the defer fails the directory is not
|
||||
deleted. This should only happen when out of memory.
|
||||
|
||||
If {prot} is given it is used to set the protection bits of
|
||||
the new directory. The default is 0o755 (rwxr-xr-x: r/w for
|
||||
@@ -6445,8 +6450,6 @@ pow({x}, {y}) *pow()*
|
||||
|
||||
Can also be used as a |method|: >
|
||||
Compute()->pow(3)
|
||||
<
|
||||
{only available when compiled with the |+float| feature}
|
||||
|
||||
prevnonblank({lnum}) *prevnonblank()*
|
||||
Return the line number of the first line at or above {lnum}
|
||||
@@ -7275,8 +7278,8 @@ repeat({expr}, {count}) *repeat()*
|
||||
result. Example: >
|
||||
:let separator = repeat('-', 80)
|
||||
< When {count} is zero or negative the result is empty.
|
||||
When {expr} is a |List| the result is {expr} concatenated
|
||||
{count} times. Example: >
|
||||
When {expr} is a |List| or a |Blob| the result is {expr}
|
||||
concatenated {count} times. Example: >
|
||||
:let longlist = repeat(['a', 'b'], 3)
|
||||
< Results in ['a', 'b', 'a', 'b', 'a', 'b'].
|
||||
|
||||
@@ -7328,8 +7331,6 @@ round({expr}) *round()*
|
||||
|
||||
Can also be used as a |method|: >
|
||||
Compute()->round()
|
||||
<
|
||||
{only available when compiled with the |+float| feature}
|
||||
|
||||
rubyeval({expr}) *rubyeval()*
|
||||
Evaluate Ruby expression {expr} and return its result
|
||||
@@ -8498,8 +8499,6 @@ sin({expr}) *sin()*
|
||||
|
||||
Can also be used as a |method|: >
|
||||
Compute()->sin()
|
||||
<
|
||||
{only available when compiled with the |+float| feature}
|
||||
|
||||
|
||||
sinh({expr}) *sinh()*
|
||||
@@ -8515,8 +8514,6 @@ sinh({expr}) *sinh()*
|
||||
|
||||
Can also be used as a |method|: >
|
||||
Compute()->sinh()
|
||||
<
|
||||
{only available when compiled with the |+float| feature}
|
||||
|
||||
|
||||
slice({expr}, {start} [, {end}]) *slice()*
|
||||
@@ -8783,8 +8780,6 @@ sqrt({expr}) *sqrt()*
|
||||
|
||||
Can also be used as a |method|: >
|
||||
Compute()->sqrt()
|
||||
<
|
||||
{only available when compiled with the |+float| feature}
|
||||
|
||||
|
||||
srand([{expr}]) *srand()*
|
||||
@@ -8858,8 +8853,6 @@ str2float({string} [, {quoted}]) *str2float()*
|
||||
|
||||
Can also be used as a |method|: >
|
||||
let f = text->substitute(',', '', 'g')->str2float()
|
||||
<
|
||||
{only available when compiled with the |+float| feature}
|
||||
|
||||
str2list({string} [, {utf8}]) *str2list()*
|
||||
Return a list containing the number values which represent
|
||||
@@ -9605,8 +9598,6 @@ tan({expr}) *tan()*
|
||||
|
||||
Can also be used as a |method|: >
|
||||
Compute()->tan()
|
||||
<
|
||||
{only available when compiled with the |+float| feature}
|
||||
|
||||
|
||||
tanh({expr}) *tanh()*
|
||||
@@ -9622,8 +9613,6 @@ tanh({expr}) *tanh()*
|
||||
|
||||
Can also be used as a |method|: >
|
||||
Compute()->tanh()
|
||||
<
|
||||
{only available when compiled with the |+float| feature}
|
||||
|
||||
|
||||
tempname() *tempname()* *temp-file-name*
|
||||
@@ -9859,8 +9848,6 @@ trunc({expr}) *trunc()*
|
||||
Can also be used as a |method|: >
|
||||
Compute()->trunc()
|
||||
<
|
||||
{only available when compiled with the |+float| feature}
|
||||
|
||||
*type()*
|
||||
type({expr}) The result is a Number representing the type of {expr}.
|
||||
Instead of using the number directly, it is better to use the
|
||||
@@ -10448,34 +10435,43 @@ writefile({object}, {fname} [, {flags}])
|
||||
When {object} is a |List| write it to file {fname}. Each list
|
||||
item is separated with a NL. Each list item must be a String
|
||||
or Number.
|
||||
When {flags} contains "b" then binary mode is used: There will
|
||||
not be a NL after the last list item. An empty item at the
|
||||
end does cause the last line in the file to end in a NL.
|
||||
|
||||
When {object} is a |Blob| write the bytes to file {fname}
|
||||
unmodified.
|
||||
|
||||
When {flags} contains "a" then append mode is used, lines are
|
||||
appended to the file: >
|
||||
:call writefile(["foo"], "event.log", "a")
|
||||
:call writefile(["bar"], "event.log", "a")
|
||||
<
|
||||
When {flags} contains "s" then fsync() is called after writing
|
||||
the file. This flushes the file to disk, if possible. This
|
||||
takes more time but avoids losing the file if the system
|
||||
crashes.
|
||||
When {flags} does not contain "S" or "s" then fsync() is
|
||||
called if the 'fsync' option is set.
|
||||
When {flags} contains "S" then fsync() is not called, even
|
||||
when 'fsync' is set.
|
||||
|
||||
All NL characters are replaced with a NUL character.
|
||||
Inserting CR characters needs to be done before passing {list}
|
||||
to writefile().
|
||||
|
||||
When {object} is a |Blob| write the bytes to file {fname}
|
||||
unmodified, also when binary mode is not specified.
|
||||
|
||||
{flags} must be a String. These characters are recognized:
|
||||
|
||||
'b' Binary mode is used: There will not be a NL after the
|
||||
last list item. An empty item at the end does cause the
|
||||
last line in the file to end in a NL.
|
||||
|
||||
'a' Append mode is used, lines are appended to the file: >
|
||||
:call writefile(["foo"], "event.log", "a")
|
||||
:call writefile(["bar"], "event.log", "a")
|
||||
<
|
||||
'D' Delete the file when the current function ends. This
|
||||
works like: >
|
||||
:defer delete({fname})
|
||||
< Fails when not in a function. Also see |:defer|.
|
||||
|
||||
's' fsync() is called after writing the file. This flushes
|
||||
the file to disk, if possible. This takes more time but
|
||||
avoids losing the file if the system crashes.
|
||||
|
||||
'S' fsync() is not called, even when 'fsync' is set.
|
||||
|
||||
When {flags} does not contain "S" or "s" then fsync() is
|
||||
called if the 'fsync' option is set.
|
||||
|
||||
An existing file is overwritten, if possible.
|
||||
|
||||
When the write fails -1 is returned, otherwise 0. There is an
|
||||
error message if the file can't be created or when writing
|
||||
fails.
|
||||
|
||||
Also see |readfile()|.
|
||||
To copy a file byte for byte: >
|
||||
:let fl = readfile("foo", "b")
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*change.txt* For Vim version 9.0. Last change: 2022 May 26
|
||||
*change.txt* For Vim version 9.0. Last change: 2022 Sep 13
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1188,11 +1188,20 @@ used. If you do need it you can use |p| with another register. E.g., yank
|
||||
the text to copy, Visually select the text to replace and use "0p . You can
|
||||
repeat this as many times as you like, and the unnamed register will be
|
||||
changed each time.
|
||||
|
||||
When you use a blockwise Visual mode command and yank only a single line into
|
||||
a register, a paste on a visual selected area will paste that single line on
|
||||
each of the selected lines (thus replacing the blockwise selected region by a
|
||||
block of the pasted line).
|
||||
*blockwise-put*
|
||||
When a register contains text from one line (characterwise), using a
|
||||
blockwise Visual selection, putting that register will paste that text
|
||||
repeatedly in each of the selected lines, thus replacing the blockwise
|
||||
selected region by multiple copies of the register text. For example:
|
||||
- yank the word "TEXT" into a register with `yw`
|
||||
- select a visual block, marked with "v" in this text:
|
||||
aaavvaaa
|
||||
bbbvvbbb
|
||||
cccvvccc
|
||||
- press `p`, results in:
|
||||
aaaTEXTaaa
|
||||
bbbTEXTbbb
|
||||
cccTEXTccc
|
||||
|
||||
*blockwise-register*
|
||||
If you use a blockwise Visual mode command to get the text into the register,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*eval.txt* For Vim version 9.0. Last change: 2022 Jun 17
|
||||
*eval.txt* For Vim version 9.0. Last change: 2022 Sep 17
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -54,7 +54,6 @@ Number A 32 or 64 bit signed number. |expr-number|
|
||||
Examples: -123 0x10 0177 0o177 0b1011
|
||||
|
||||
Float A floating point number. |floating-point-format| *Float*
|
||||
{only when compiled with the |+float| feature} *E1076*
|
||||
Examples: 123.456 1.15e-6 -1.1e3
|
||||
|
||||
String A NUL terminated string of 8-bit unsigned characters (bytes).
|
||||
@@ -1441,7 +1440,6 @@ digits are ignored.
|
||||
{exp} is the exponent, power of 10.
|
||||
Only a decimal point is accepted, not a comma. No matter what the current
|
||||
locale is.
|
||||
{only when compiled with the |+float| feature}
|
||||
|
||||
Examples:
|
||||
123.456
|
||||
@@ -1718,6 +1716,9 @@ Recommendation: don't do this.
|
||||
Notice how execute() is used to execute an Ex command. That's ugly though.
|
||||
In Vim9 script you can use a command block, see |inline-function|.
|
||||
|
||||
Although you can use the loop variable of a `for` command, it must still exist
|
||||
when the closure is called, otherwise you get an error. *E1302*
|
||||
|
||||
Lambda expressions have internal names like '<lambda>42'. If you get an error
|
||||
for a lambda expression, you can find what it is with the following command: >
|
||||
:function <lambda>42
|
||||
@@ -2629,447 +2630,12 @@ help file: |builtin-functions|.
|
||||
5. Defining functions *user-functions*
|
||||
|
||||
New functions can be defined. These can be called just like builtin
|
||||
functions. The function executes a sequence of Ex commands. Normal mode
|
||||
commands can be executed with the |:normal| command.
|
||||
functions. The function takes arguments, executes a sequence of Ex commands
|
||||
and can return a value.
|
||||
|
||||
This section is about the legacy functions. For the Vim9 functions, which
|
||||
execute much faster, support type checking and more, see |vim9.txt|.
|
||||
|
||||
The function name must start with an uppercase letter, to avoid confusion with
|
||||
builtin functions. To prevent from using the same name in different scripts
|
||||
avoid obvious, short names. A good habit is to start the function name with
|
||||
the name of the script, e.g., "HTMLcolor()".
|
||||
|
||||
In legacy script it is also possible to use curly braces, see
|
||||
|curly-braces-names|.
|
||||
The |autoload| facility is useful to define a function only when it's called.
|
||||
|
||||
*local-function*
|
||||
A function local to a legacy script must start with "s:". A local script
|
||||
function can only be called from within the script and from functions, user
|
||||
commands and autocommands defined in the script. It is also possible to call
|
||||
the function from a mapping defined in the script, but then |<SID>| must be
|
||||
used instead of "s:" when the mapping is expanded outside of the script.
|
||||
There are only script-local functions, no buffer-local or window-local
|
||||
functions.
|
||||
|
||||
In |Vim9| script functions are local to the script by default, prefix "g:" to
|
||||
define a global function.
|
||||
|
||||
*:fu* *:function* *E128* *E129* *E123* *E454*
|
||||
:fu[nction] List all functions and their arguments.
|
||||
|
||||
:fu[nction] {name} List function {name}.
|
||||
{name} can also be a |Dictionary| entry that is a
|
||||
|Funcref|: >
|
||||
:function dict.init
|
||||
|
||||
:fu[nction] /{pattern} List functions with a name matching {pattern}.
|
||||
Example that lists all functions ending with "File": >
|
||||
:function /File$
|
||||
<
|
||||
*:function-verbose*
|
||||
When 'verbose' is non-zero, listing a function will also display where it was
|
||||
last defined. Example: >
|
||||
|
||||
:verbose function SetFileTypeSH
|
||||
function SetFileTypeSH(name)
|
||||
Last set from /usr/share/vim/vim-7.0/filetype.vim
|
||||
<
|
||||
See |:verbose-cmd| for more information.
|
||||
|
||||
*E124* *E125* *E853* *E884*
|
||||
:fu[nction][!] {name}([arguments]) [range] [abort] [dict] [closure]
|
||||
Define a new function by the name {name}. The body of
|
||||
the function follows in the next lines, until the
|
||||
matching |:endfunction|.
|
||||
*E1267*
|
||||
The name must be made of alphanumeric characters and
|
||||
'_', and must start with a capital or "s:" (see
|
||||
above). Note that using "b:" or "g:" is not allowed.
|
||||
(since patch 7.4.260 E884 is given if the function
|
||||
name has a colon in the name, e.g. for "foo:bar()".
|
||||
Before that patch no error was given).
|
||||
|
||||
{name} can also be a |Dictionary| entry that is a
|
||||
|Funcref|: >
|
||||
:function dict.init(arg)
|
||||
< "dict" must be an existing dictionary. The entry
|
||||
"init" is added if it didn't exist yet. Otherwise [!]
|
||||
is required to overwrite an existing function. The
|
||||
result is a |Funcref| to a numbered function. The
|
||||
function can only be used with a |Funcref| and will be
|
||||
deleted if there are no more references to it.
|
||||
*E127* *E122*
|
||||
When a function by this name already exists and [!] is
|
||||
not used an error message is given. There is one
|
||||
exception: When sourcing a script again, a function
|
||||
that was previously defined in that script will be
|
||||
silently replaced.
|
||||
When [!] is used, an existing function is silently
|
||||
replaced. Unless it is currently being executed, that
|
||||
is an error.
|
||||
NOTE: Use ! wisely. If used without care it can cause
|
||||
an existing function to be replaced unexpectedly,
|
||||
which is hard to debug.
|
||||
NOTE: In Vim9 script script-local functions cannot be
|
||||
deleted or redefined.
|
||||
|
||||
For the {arguments} see |function-argument|.
|
||||
|
||||
*:func-range* *a:firstline* *a:lastline*
|
||||
When the [range] argument is added, the function is
|
||||
expected to take care of a range itself. The range is
|
||||
passed as "a:firstline" and "a:lastline". If [range]
|
||||
is excluded, ":{range}call" will call the function for
|
||||
each line in the range, with the cursor on the start
|
||||
of each line. See |function-range-example|.
|
||||
The cursor is still moved to the first line of the
|
||||
range, as is the case with all Ex commands.
|
||||
*:func-abort*
|
||||
When the [abort] argument is added, the function will
|
||||
abort as soon as an error is detected.
|
||||
*:func-dict*
|
||||
When the [dict] argument is added, the function must
|
||||
be invoked through an entry in a |Dictionary|. The
|
||||
local variable "self" will then be set to the
|
||||
dictionary. See |Dictionary-function|.
|
||||
*:func-closure* *E932*
|
||||
When the [closure] argument is added, the function
|
||||
can access variables and arguments from the outer
|
||||
scope. This is usually called a closure. In this
|
||||
example Bar() uses "x" from the scope of Foo(). It
|
||||
remains referenced even after Foo() returns: >
|
||||
:function! Foo()
|
||||
: let x = 0
|
||||
: function! Bar() closure
|
||||
: let x += 1
|
||||
: return x
|
||||
: endfunction
|
||||
: return funcref('Bar')
|
||||
:endfunction
|
||||
|
||||
:let F = Foo()
|
||||
:echo F()
|
||||
< 1 >
|
||||
:echo F()
|
||||
< 2 >
|
||||
:echo F()
|
||||
< 3
|
||||
|
||||
*function-search-undo*
|
||||
The last used search pattern and the redo command "."
|
||||
will not be changed by the function. This also
|
||||
implies that the effect of |:nohlsearch| is undone
|
||||
when the function returns.
|
||||
|
||||
*:endf* *:endfunction* *E126* *E193* *W22* *E1151*
|
||||
:endf[unction] [argument]
|
||||
The end of a function definition. Best is to put it
|
||||
on a line by its own, without [argument].
|
||||
|
||||
[argument] can be:
|
||||
| command command to execute next
|
||||
\n command command to execute next
|
||||
" comment always ignored
|
||||
anything else ignored, warning given when
|
||||
'verbose' is non-zero
|
||||
The support for a following command was added in Vim
|
||||
8.0.0654, before that any argument was silently
|
||||
ignored.
|
||||
|
||||
To be able to define a function inside an `:execute`
|
||||
command, use line breaks instead of |:bar|: >
|
||||
:exe "func Foo()\necho 'foo'\nendfunc"
|
||||
<
|
||||
*:delf* *:delfunction* *E131* *E933* *E1084*
|
||||
:delf[unction][!] {name}
|
||||
Delete function {name}.
|
||||
{name} can also be a |Dictionary| entry that is a
|
||||
|Funcref|: >
|
||||
:delfunc dict.init
|
||||
< This will remove the "init" entry from "dict". The
|
||||
function is deleted if there are no more references to
|
||||
it.
|
||||
With the ! there is no error if the function does not
|
||||
exist.
|
||||
*:retu* *:return* *E133*
|
||||
:retu[rn] [expr] Return from a function. When "[expr]" is given, it is
|
||||
evaluated and returned as the result of the function.
|
||||
If "[expr]" is not given, the number 0 is returned.
|
||||
When a function ends without an explicit ":return",
|
||||
the number 0 is returned.
|
||||
In a :def function *E1095* is given if unreachable
|
||||
code follows after the `:return`.
|
||||
In legacy script there is no check for unreachable
|
||||
lines, thus there is no warning if commands follow
|
||||
`:return`.
|
||||
|
||||
If the ":return" is used after a |:try| but before the
|
||||
matching |:finally| (if present), the commands
|
||||
following the ":finally" up to the matching |:endtry|
|
||||
are executed first. This process applies to all
|
||||
nested ":try"s inside the function. The function
|
||||
returns at the outermost ":endtry".
|
||||
|
||||
*function-argument* *a:var*
|
||||
An argument can be defined by giving its name. In the function this can then
|
||||
be used as "a:name" ("a:" for argument).
|
||||
*a:0* *a:1* *a:000* *E740* *...*
|
||||
Up to 20 arguments can be given, separated by commas. After the named
|
||||
arguments an argument "..." can be specified, which means that more arguments
|
||||
may optionally be following. In the function the extra arguments can be used
|
||||
as "a:1", "a:2", etc. "a:0" is set to the number of extra arguments (which
|
||||
can be 0). "a:000" is set to a |List| that contains these arguments. Note
|
||||
that "a:1" is the same as "a:000[0]".
|
||||
*E742* *E1090*
|
||||
The a: scope and the variables in it cannot be changed, they are fixed.
|
||||
However, if a composite type is used, such as |List| or |Dictionary| , you can
|
||||
change their contents. Thus you can pass a |List| to a function and have the
|
||||
function add an item to it. If you want to make sure the function cannot
|
||||
change a |List| or |Dictionary| use |:lockvar|.
|
||||
|
||||
It is also possible to define a function without any arguments. You must
|
||||
still supply the () then.
|
||||
|
||||
It is allowed to define another function inside a function body.
|
||||
|
||||
*optional-function-argument*
|
||||
You can provide default values for positional named arguments. This makes
|
||||
them optional for function calls. When a positional argument is not
|
||||
specified at a call, the default expression is used to initialize it.
|
||||
This only works for functions declared with `:function` or `:def`, not for
|
||||
lambda expressions |expr-lambda|.
|
||||
|
||||
Example: >
|
||||
function Something(key, value = 10)
|
||||
echo a:key .. ": " .. a:value
|
||||
endfunction
|
||||
call Something('empty') "empty: 10"
|
||||
call Something('key', 20) "key: 20"
|
||||
|
||||
The argument default expressions are evaluated at the time of the function
|
||||
call, not definition. Thus it is possible to use an expression which is
|
||||
invalid the moment the function is defined. The expressions are also only
|
||||
evaluated when arguments are not specified during a call.
|
||||
*none-function_argument*
|
||||
You can pass |v:none| to use the default expression. Note that this means you
|
||||
cannot pass v:none as an ordinary value when an argument has a default
|
||||
expression.
|
||||
|
||||
Example: >
|
||||
function Something(a = 10, b = 20, c = 30)
|
||||
endfunction
|
||||
call Something(1, v:none, 3) " b = 20
|
||||
<
|
||||
*E989*
|
||||
Optional arguments with default expressions must occur after any mandatory
|
||||
arguments. You can use "..." after all optional named arguments.
|
||||
|
||||
It is possible for later argument defaults to refer to prior arguments,
|
||||
but not the other way around. They must be prefixed with "a:", as with all
|
||||
arguments.
|
||||
|
||||
Example that works: >
|
||||
:function Okay(mandatory, optional = a:mandatory)
|
||||
:endfunction
|
||||
Example that does NOT work: >
|
||||
:function NoGood(first = a:second, second = 10)
|
||||
:endfunction
|
||||
<
|
||||
When not using "...", the number of arguments in a function call must be at
|
||||
least equal to the number of mandatory named arguments. When using "...", the
|
||||
number of arguments may be larger than the total of mandatory and optional
|
||||
arguments.
|
||||
|
||||
*local-variables*
|
||||
Inside a function local variables can be used. These will disappear when the
|
||||
function returns. Global variables need to be accessed with "g:".
|
||||
|
||||
Example: >
|
||||
:function Table(title, ...)
|
||||
: echohl Title
|
||||
: echo a:title
|
||||
: echohl None
|
||||
: echo a:0 .. " items:"
|
||||
: for s in a:000
|
||||
: echon ' ' .. s
|
||||
: endfor
|
||||
:endfunction
|
||||
|
||||
This function can then be called with: >
|
||||
call Table("Table", "line1", "line2")
|
||||
call Table("Empty Table")
|
||||
|
||||
To return more than one value, return a |List|: >
|
||||
:function Compute(n1, n2)
|
||||
: if a:n2 == 0
|
||||
: return ["fail", 0]
|
||||
: endif
|
||||
: return ["ok", a:n1 / a:n2]
|
||||
:endfunction
|
||||
|
||||
This function can then be called with: >
|
||||
:let [success, div] = Compute(102, 6)
|
||||
:if success == "ok"
|
||||
: echo div
|
||||
:endif
|
||||
<
|
||||
*:cal* *:call* *E107*
|
||||
:[range]cal[l] {name}([arguments])
|
||||
Call a function. The name of the function and its arguments
|
||||
are as specified with `:function`. Up to 20 arguments can be
|
||||
used. The returned value is discarded.
|
||||
In |Vim9| script using `:call` is optional, these two lines do
|
||||
the same thing: >
|
||||
call SomeFunc(arg)
|
||||
SomeFunc(arg)
|
||||
< Without a range and for functions that accept a range, the
|
||||
function is called once. When a range is given the cursor is
|
||||
positioned at the start of the first line before executing the
|
||||
function.
|
||||
When a range is given and the function doesn't handle it
|
||||
itself, the function is executed for each line in the range,
|
||||
with the cursor in the first column of that line. The cursor
|
||||
is left at the last line (possibly moved by the last function
|
||||
call). The arguments are re-evaluated for each line. Thus
|
||||
this works:
|
||||
*function-range-example* >
|
||||
:function Mynumber(arg)
|
||||
: echo line(".") .. " " .. a:arg
|
||||
:endfunction
|
||||
:1,5call Mynumber(getline("."))
|
||||
<
|
||||
The "a:firstline" and "a:lastline" are defined anyway, they
|
||||
can be used to do something different at the start or end of
|
||||
the range.
|
||||
|
||||
Example of a function that handles the range itself: >
|
||||
|
||||
:function Cont() range
|
||||
: execute (a:firstline + 1) .. "," .. a:lastline .. 's/^/\t\\ '
|
||||
:endfunction
|
||||
:4,8call Cont()
|
||||
<
|
||||
This function inserts the continuation character "\" in front
|
||||
of all the lines in the range, except the first one.
|
||||
|
||||
When the function returns a composite value it can be further
|
||||
dereferenced, but the range will not be used then. Example: >
|
||||
:4,8call GetDict().method()
|
||||
< Here GetDict() gets the range but method() does not.
|
||||
|
||||
*E117*
|
||||
When a function cannot be found the error "E117: Unknown function" will be
|
||||
given. If the function was using an autoload path or an autoload import and
|
||||
the script is a |Vim9| script, this may also be caused by the function not
|
||||
being exported.
|
||||
|
||||
*E132*
|
||||
The recursiveness of user functions is restricted with the |'maxfuncdepth'|
|
||||
option.
|
||||
|
||||
It is also possible to use `:eval`. It does not support a range, but does
|
||||
allow for method chaining, e.g.: >
|
||||
eval GetList()->Filter()->append('$')
|
||||
|
||||
A function can also be called as part of evaluating an expression or when it
|
||||
is used as a method: >
|
||||
let x = GetList()
|
||||
let y = GetList()->Filter()
|
||||
|
||||
|
||||
AUTOMATICALLY LOADING FUNCTIONS ~
|
||||
*autoload-functions*
|
||||
When using many or large functions, it's possible to automatically define them
|
||||
only when they are used. There are two methods: with an autocommand and with
|
||||
the "autoload" directory in 'runtimepath'.
|
||||
|
||||
|
||||
Using an autocommand ~
|
||||
|
||||
This is introduced in the user manual, section |51.4|.
|
||||
|
||||
The autocommand is useful if you have a plugin that is a long Vim script file.
|
||||
You can define the autocommand and quickly quit the script with `:finish`.
|
||||
That makes Vim startup faster. The autocommand should then load the same file
|
||||
again, setting a variable to skip the `:finish` command.
|
||||
|
||||
Use the FuncUndefined autocommand event with a pattern that matches the
|
||||
function(s) to be defined. Example: >
|
||||
|
||||
:au FuncUndefined BufNet* source ~/vim/bufnetfuncs.vim
|
||||
|
||||
The file "~/vim/bufnetfuncs.vim" should then define functions that start with
|
||||
"BufNet". Also see |FuncUndefined|.
|
||||
|
||||
|
||||
Using an autoload script ~
|
||||
*autoload* *E746*
|
||||
This is introduced in the user manual, section |52.2|.
|
||||
|
||||
Using a script in the "autoload" directory is simpler, but requires using
|
||||
exactly the right file name. A function that can be autoloaded has a name
|
||||
like this: >
|
||||
|
||||
:call filename#funcname()
|
||||
|
||||
These functions are always global, in Vim9 script "g:" needs to be used: >
|
||||
:call g:filename#funcname()
|
||||
|
||||
When such a function is called, and it is not defined yet, Vim will search the
|
||||
"autoload" directories in 'runtimepath' for a script file called
|
||||
"filename.vim". For example "~/.vim/autoload/filename.vim". That file should
|
||||
then define the function like this: >
|
||||
|
||||
function filename#funcname()
|
||||
echo "Done!"
|
||||
endfunction
|
||||
|
||||
The file name and the name used before the # in the function must match
|
||||
exactly, and the defined function must have the name exactly as it will be
|
||||
called. In Vim9 script the "g:" prefix must be used: >
|
||||
function g:filename#funcname()
|
||||
|
||||
or for a compiled function: >
|
||||
def g:filename#funcname()
|
||||
|
||||
It is possible to use subdirectories. Every # in the function name works like
|
||||
a path separator. Thus when calling a function: >
|
||||
|
||||
:call foo#bar#func()
|
||||
|
||||
Vim will look for the file "autoload/foo/bar.vim" in 'runtimepath'.
|
||||
|
||||
This also works when reading a variable that has not been set yet: >
|
||||
|
||||
:let l = foo#bar#lvar
|
||||
|
||||
However, when the autoload script was already loaded it won't be loaded again
|
||||
for an unknown variable.
|
||||
|
||||
When assigning a value to such a variable nothing special happens. This can
|
||||
be used to pass settings to the autoload script before it's loaded: >
|
||||
|
||||
:let foo#bar#toggle = 1
|
||||
:call foo#bar#func()
|
||||
|
||||
Note that when you make a mistake and call a function that is supposed to be
|
||||
defined in an autoload script, but the script doesn't actually define the
|
||||
function, you will get an error message for the missing function. If you fix
|
||||
the autoload script it won't be automatically loaded again. Either restart
|
||||
Vim or manually source the script.
|
||||
|
||||
Also note that if you have two script files, and one calls a function in the
|
||||
other and vice versa, before the used function is defined, it won't work.
|
||||
Avoid using the autoload functionality at the toplevel.
|
||||
|
||||
In |Vim9| script you will get error *E1263* if you define a function with
|
||||
a "#" character in the name. You should use a name without "#" and use
|
||||
`:export`.
|
||||
|
||||
Hint: If you distribute a bunch of scripts you can pack them together with the
|
||||
|vimball| utility. Also read the user manual |distribute-script|.
|
||||
You can find most information about defining functions in |userfunc.txt|.
|
||||
For Vim9 functions, which execute much faster, support type checking and more,
|
||||
see |vim9.txt|.
|
||||
|
||||
==============================================================================
|
||||
6. Curly braces names *curly-braces-names*
|
||||
@@ -3832,7 +3398,8 @@ text...
|
||||
it will show for three seconds and avoid a
|
||||
|hit-enter| prompt. If you want to hide it before
|
||||
that, press Esc in Normal mode (when it would
|
||||
otherwise beep).
|
||||
otherwise beep). If it disappears too soon you can
|
||||
use `:messages` to see the text.
|
||||
The message window is available when Vim was compiled
|
||||
with the +timer and the +popupwin features.
|
||||
|
||||
|
||||
@@ -106,8 +106,7 @@ when you have got a new version):
|
||||
You can also install Vim in the "Send To" menu:
|
||||
1. Start a Windows Explorer
|
||||
2. Navigate to your sendto directory:
|
||||
Windows XP: C:\Documents and Settings\%user%\SendTo
|
||||
Windows Vista: C:\Users\%user%\AppData\Roaming\Microsoft\Windows\SendTo .
|
||||
C:\Users\%user%\AppData\Roaming\Microsoft\Windows\SendTo .
|
||||
3. Right-click in the file pane and select New->Shortcut
|
||||
4. Follow the shortcut wizard, using the full path to VIM/GVIM.
|
||||
|
||||
|
||||
@@ -141,6 +141,7 @@ Advanced editing ~
|
||||
|autocmd.txt| automatically executing commands on an event
|
||||
|eval.txt| expression evaluation, conditional commands
|
||||
|builtin.txt| builtin functions
|
||||
|userfunc.txt| defining user functions
|
||||
|channel.txt| Jobs, Channels, inter-process communication
|
||||
|fold.txt| hide (fold) ranges of lines
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*intro.txt* For Vim version 9.0. Last change: 2022 Apr 03
|
||||
*intro.txt* For Vim version 9.0. Last change: 2022 Sep 12
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -533,6 +533,10 @@ examples and use them directly. Or type them literally, including the '<' and
|
||||
'>' characters. This does NOT work for other commands, like ":set" and
|
||||
":autocmd"!
|
||||
|
||||
The notation can be used in a double quoted strings, using "\<" at the start,
|
||||
e.g. "\<C-Space>". This results in a special key code. To convert this back
|
||||
to readable text use `keytrans()`.
|
||||
|
||||
==============================================================================
|
||||
5. Modes, introduction *vim-modes-intro* *vim-modes*
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*map.txt* For Vim version 9.0. Last change: 2022 Jun 18
|
||||
*map.txt* For Vim version 9.0. Last change: 2022 Sep 12
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1583,7 +1583,7 @@ completion candidates as the return value.
|
||||
|
||||
For the "custom" argument, the function should return the completion
|
||||
candidates one per line in a newline separated string.
|
||||
|
||||
*E1303*
|
||||
For the "customlist" argument, the function should return the completion
|
||||
candidates as a Vim List. Non-string items in the list are ignored.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*mlang.txt* For Vim version 9.0. Last change: 2020 Aug 15
|
||||
*mlang.txt* For Vim version 9.0. Last change: 2022 Sep 17
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -82,9 +82,9 @@ use of "-" and "_".
|
||||
characters. This sets $LC_COLLATE.
|
||||
Without an argument all are set, and additionally
|
||||
$LANG is set.
|
||||
When compiled with the |+float| feature the LC_NUMERIC
|
||||
value will always be set to "C", so that floating
|
||||
point numbers use '.' as the decimal point.
|
||||
If available the LC_NUMERIC value will always be set
|
||||
to "C", so that floating point numbers use '.' as the
|
||||
decimal point.
|
||||
This will make a difference for items that depend on
|
||||
the language (some messages, time and date format).
|
||||
Not fully supported on all systems
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*options.txt* For Vim version 9.0. Last change: 2022 Jun 27
|
||||
*options.txt* For Vim version 9.0. Last change: 2022 Sep 09
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -7499,6 +7499,18 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
When on, splitting a window will put the new window right of the
|
||||
current one. |:vsplit|
|
||||
|
||||
*'splitscroll'* *'spsc'* *'nosplitscroll'* *'nospsc'*
|
||||
'splitscroll' 'spsc' boolean (default on)
|
||||
global
|
||||
The value of this option determines the scroll behavior when opening,
|
||||
closing or resizing horizontal splits. When "on", splitting a window
|
||||
horizontally will keep the same relative cursor position in the old and
|
||||
new window, as well windows that are resized. When "off", scrolling
|
||||
will be avoided to stabilize the window content. Instead, the cursor
|
||||
position will be changed when necessary. In this case, the jumplist
|
||||
will be populated with the previous cursor position. Scrolling cannot
|
||||
be guaranteed to be avoided when 'wrap' is enabled.
|
||||
|
||||
*'startofline'* *'sol'* *'nostartofline'* *'nosol'*
|
||||
'startofline' 'sol' boolean (default on)
|
||||
global
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*os_win32.txt* For Vim version 9.0. Last change: 2022 May 24
|
||||
*os_win32.txt* For Vim version 9.0. Last change: 2022 Sep 18
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by George Reilly
|
||||
@@ -7,8 +7,11 @@
|
||||
*win32* *Win32* *MS-Windows*
|
||||
This file documents the idiosyncrasies of the Win32 version of Vim.
|
||||
|
||||
The Win32 version of Vim works on Windows XP, Vista, 7, 8, 10 and 11. There are
|
||||
both console and GUI versions.
|
||||
The Win32 version of Vim works on Windows 7, 8, 10 and 11. There are both
|
||||
console and GUI versions.
|
||||
|
||||
If you have Windows XP or Vista then Vim 9.0 up to patch level 495 can be
|
||||
used.
|
||||
|
||||
The 32 bit version also runs on 64 bit MS-Windows systems.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*quickref.txt* For Vim version 9.0. Last change: 2022 May 05
|
||||
*quickref.txt* For Vim version 9.0. Last change: 2022 Sep 14
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -919,6 +919,7 @@ Short explanation of each option: *option-list*
|
||||
'spellsuggest' 'sps' method(s) used to suggest spelling corrections
|
||||
'splitbelow' 'sb' new window from split is below the current one
|
||||
'splitright' 'spr' new window is put right of the current one
|
||||
'splitscroll' 'spsc' determines scroll behavior for split windows
|
||||
'startofline' 'sol' commands move cursor to first non-blank in line
|
||||
'statusline' 'stl' custom format for the status line
|
||||
'suffixes' 'su' suffixes that are ignored with multiple match
|
||||
|
||||
@@ -1600,7 +1600,7 @@ CHECKCOMPOUNDTRIPLE (Hunspell) *spell-CHECKCOMPOUNDTRIPLE*
|
||||
Forbid three identical characters when compounding. Not
|
||||
supported.
|
||||
|
||||
CHECKSHARPS (Hunspell)) *spell-CHECKSHARPS*
|
||||
CHECKSHARPS (Hunspell) *spell-CHECKSHARPS*
|
||||
SS letter pair in uppercased (German) words may be upper case
|
||||
sharp s (ß). Not supported.
|
||||
|
||||
|
||||
143
runtime/doc/tags
143
runtime/doc/tags
@@ -718,7 +718,9 @@ $quote eval.txt /*$quote*
|
||||
'nospell' options.txt /*'nospell'*
|
||||
'nosplitbelow' options.txt /*'nosplitbelow'*
|
||||
'nosplitright' options.txt /*'nosplitright'*
|
||||
'nosplitscroll' options.txt /*'nosplitscroll'*
|
||||
'nospr' options.txt /*'nospr'*
|
||||
'nospsc' options.txt /*'nospsc'*
|
||||
'nosr' options.txt /*'nosr'*
|
||||
'nossl' options.txt /*'nossl'*
|
||||
'nosta' options.txt /*'nosta'*
|
||||
@@ -952,9 +954,11 @@ $quote eval.txt /*$quote*
|
||||
'spl' options.txt /*'spl'*
|
||||
'splitbelow' options.txt /*'splitbelow'*
|
||||
'splitright' options.txt /*'splitright'*
|
||||
'splitscroll' options.txt /*'splitscroll'*
|
||||
'spo' options.txt /*'spo'*
|
||||
'spr' options.txt /*'spr'*
|
||||
'sps' options.txt /*'sps'*
|
||||
'spsc' options.txt /*'spsc'*
|
||||
'sr' options.txt /*'sr'*
|
||||
'srr' options.txt /*'srr'*
|
||||
'ss' options.txt /*'ss'*
|
||||
@@ -1582,7 +1586,7 @@ $quote eval.txt /*$quote*
|
||||
-xrm gui_x11.txt /*-xrm*
|
||||
-y starting.txt /*-y*
|
||||
. repeat.txt /*.*
|
||||
... eval.txt /*...*
|
||||
... userfunc.txt /*...*
|
||||
.Xdefaults gui_x11.txt /*.Xdefaults*
|
||||
.aff spell.txt /*.aff*
|
||||
.dic spell.txt /*.dic*
|
||||
@@ -2260,8 +2264,8 @@ $quote eval.txt /*$quote*
|
||||
:caddfile quickfix.txt /*:caddfile*
|
||||
:caf quickfix.txt /*:caf*
|
||||
:cafter quickfix.txt /*:cafter*
|
||||
:cal eval.txt /*:cal*
|
||||
:call eval.txt /*:call*
|
||||
:cal userfunc.txt /*:cal*
|
||||
:call userfunc.txt /*:call*
|
||||
:cat eval.txt /*:cat*
|
||||
:catch eval.txt /*:catch*
|
||||
:cb quickfix.txt /*:cb*
|
||||
@@ -2405,13 +2409,14 @@ $quote eval.txt /*$quote*
|
||||
:def vim9.txt /*:def*
|
||||
:defc vim9.txt /*:defc*
|
||||
:defcompile vim9.txt /*:defcompile*
|
||||
:defer userfunc.txt /*:defer*
|
||||
:del change.txt /*:del*
|
||||
:delc map.txt /*:delc*
|
||||
:delcommand map.txt /*:delcommand*
|
||||
:delcr todo.txt /*:delcr*
|
||||
:delete change.txt /*:delete*
|
||||
:delf eval.txt /*:delf*
|
||||
:delfunction eval.txt /*:delfunction*
|
||||
:delf userfunc.txt /*:delf*
|
||||
:delfunction userfunc.txt /*:delfunction*
|
||||
:delm motion.txt /*:delm*
|
||||
:delmarks motion.txt /*:delmarks*
|
||||
:di change.txt /*:di*
|
||||
@@ -2488,10 +2493,10 @@ $quote eval.txt /*$quote*
|
||||
:endclass vim9.txt /*:endclass*
|
||||
:enddef vim9.txt /*:enddef*
|
||||
:endenum vim9.txt /*:endenum*
|
||||
:endf eval.txt /*:endf*
|
||||
:endf userfunc.txt /*:endf*
|
||||
:endfo eval.txt /*:endfo*
|
||||
:endfor eval.txt /*:endfor*
|
||||
:endfunction eval.txt /*:endfunction*
|
||||
:endfunction userfunc.txt /*:endfunction*
|
||||
:endif eval.txt /*:endif*
|
||||
:endinterface vim9.txt /*:endinterface*
|
||||
:endt eval.txt /*:endt*
|
||||
@@ -2553,13 +2558,13 @@ $quote eval.txt /*$quote*
|
||||
:foldo fold.txt /*:foldo*
|
||||
:foldopen fold.txt /*:foldopen*
|
||||
:for eval.txt /*:for*
|
||||
:fu eval.txt /*:fu*
|
||||
:func-abort eval.txt /*:func-abort*
|
||||
:func-closure eval.txt /*:func-closure*
|
||||
:func-dict eval.txt /*:func-dict*
|
||||
:func-range eval.txt /*:func-range*
|
||||
:function eval.txt /*:function*
|
||||
:function-verbose eval.txt /*:function-verbose*
|
||||
:fu userfunc.txt /*:fu*
|
||||
:func-abort userfunc.txt /*:func-abort*
|
||||
:func-closure userfunc.txt /*:func-closure*
|
||||
:func-dict userfunc.txt /*:func-dict*
|
||||
:func-range userfunc.txt /*:func-range*
|
||||
:function userfunc.txt /*:function*
|
||||
:function-verbose userfunc.txt /*:function-verbose*
|
||||
:g repeat.txt /*:g*
|
||||
:global repeat.txt /*:global*
|
||||
:go motion.txt /*:go*
|
||||
@@ -2599,6 +2604,8 @@ $quote eval.txt /*$quote*
|
||||
:his cmdline.txt /*:his*
|
||||
:history cmdline.txt /*:history*
|
||||
:history-indexing cmdline.txt /*:history-indexing*
|
||||
:hor windows.txt /*:hor*
|
||||
:horizontal windows.txt /*:horizontal*
|
||||
:i insert.txt /*:i*
|
||||
:ia map.txt /*:ia*
|
||||
:iabbrev map.txt /*:iabbrev*
|
||||
@@ -3049,8 +3056,8 @@ $quote eval.txt /*$quote*
|
||||
:ret change.txt /*:ret*
|
||||
:retab change.txt /*:retab*
|
||||
:retab! change.txt /*:retab!*
|
||||
:retu eval.txt /*:retu*
|
||||
:return eval.txt /*:return*
|
||||
:retu userfunc.txt /*:retu*
|
||||
:return userfunc.txt /*:return*
|
||||
:rew editing.txt /*:rew*
|
||||
:rewind editing.txt /*:rewind*
|
||||
:ri change.txt /*:ri*
|
||||
@@ -4078,13 +4085,12 @@ E1066 vim9.txt /*E1066*
|
||||
E1067 eval.txt /*E1067*
|
||||
E1068 vim9.txt /*E1068*
|
||||
E1069 vim9.txt /*E1069*
|
||||
E107 eval.txt /*E107*
|
||||
E107 userfunc.txt /*E107*
|
||||
E1071 vim9.txt /*E1071*
|
||||
E1072 eval.txt /*E1072*
|
||||
E1073 vim9.txt /*E1073*
|
||||
E1074 vim9.txt /*E1074*
|
||||
E1075 vim9.txt /*E1075*
|
||||
E1076 eval.txt /*E1076*
|
||||
E1077 vim9.txt /*E1077*
|
||||
E1078 autocmd.txt /*E1078*
|
||||
E1079 vim9.txt /*E1079*
|
||||
@@ -4093,18 +4099,18 @@ E1080 vim9.txt /*E1080*
|
||||
E1081 eval.txt /*E1081*
|
||||
E1082 vim9.txt /*E1082*
|
||||
E1083 editing.txt /*E1083*
|
||||
E1084 eval.txt /*E1084*
|
||||
E1084 userfunc.txt /*E1084*
|
||||
E1085 eval.txt /*E1085*
|
||||
E1087 vim9.txt /*E1087*
|
||||
E1088 vim9.txt /*E1088*
|
||||
E1089 eval.txt /*E1089*
|
||||
E109 eval.txt /*E109*
|
||||
E1090 eval.txt /*E1090*
|
||||
E1090 userfunc.txt /*E1090*
|
||||
E1091 vim9.txt /*E1091*
|
||||
E1092 various.txt /*E1092*
|
||||
E1093 eval.txt /*E1093*
|
||||
E1094 vim9.txt /*E1094*
|
||||
E1095 eval.txt /*E1095*
|
||||
E1095 userfunc.txt /*E1095*
|
||||
E1096 vim9.txt /*E1096*
|
||||
E1097 vim9.txt /*E1097*
|
||||
E1098 eval.txt /*E1098*
|
||||
@@ -4167,7 +4173,7 @@ E1148 eval.txt /*E1148*
|
||||
E1149 vim9.txt /*E1149*
|
||||
E115 eval.txt /*E115*
|
||||
E1150 vim9.txt /*E1150*
|
||||
E1151 eval.txt /*E1151*
|
||||
E1151 userfunc.txt /*E1151*
|
||||
E1152 vim9.txt /*E1152*
|
||||
E1153 eval.txt /*E1153*
|
||||
E1154 eval.txt /*E1154*
|
||||
@@ -4187,7 +4193,7 @@ E1166 eval.txt /*E1166*
|
||||
E1167 vim9.txt /*E1167*
|
||||
E1168 vim9.txt /*E1168*
|
||||
E1169 eval.txt /*E1169*
|
||||
E117 eval.txt /*E117*
|
||||
E117 userfunc.txt /*E117*
|
||||
E1170 vim9.txt /*E1170*
|
||||
E1171 vim9.txt /*E1171*
|
||||
E1172 vim9.txt /*E1172*
|
||||
@@ -4243,7 +4249,7 @@ E1216 builtin.txt /*E1216*
|
||||
E1217 vim9.txt /*E1217*
|
||||
E1218 vim9.txt /*E1218*
|
||||
E1219 vim9.txt /*E1219*
|
||||
E122 eval.txt /*E122*
|
||||
E122 userfunc.txt /*E122*
|
||||
E1220 vim9.txt /*E1220*
|
||||
E1221 vim9.txt /*E1221*
|
||||
E1222 vim9.txt /*E1222*
|
||||
@@ -4254,7 +4260,7 @@ E1226 vim9.txt /*E1226*
|
||||
E1227 vim9.txt /*E1227*
|
||||
E1228 vim9.txt /*E1228*
|
||||
E1229 eval.txt /*E1229*
|
||||
E123 eval.txt /*E123*
|
||||
E123 userfunc.txt /*E123*
|
||||
E1230 options.txt /*E1230*
|
||||
E1231 map.txt /*E1231*
|
||||
E1232 builtin.txt /*E1232*
|
||||
@@ -4264,7 +4270,7 @@ E1236 vim9.txt /*E1236*
|
||||
E1237 map.txt /*E1237*
|
||||
E1238 vim9.txt /*E1238*
|
||||
E1239 builtin.txt /*E1239*
|
||||
E124 eval.txt /*E124*
|
||||
E124 userfunc.txt /*E124*
|
||||
E1240 change.txt /*E1240*
|
||||
E1241 change.txt /*E1241*
|
||||
E1242 change.txt /*E1242*
|
||||
@@ -4275,7 +4281,7 @@ E1246 eval.txt /*E1246*
|
||||
E1247 cmdline.txt /*E1247*
|
||||
E1248 vim9.txt /*E1248*
|
||||
E1249 syntax.txt /*E1249*
|
||||
E125 eval.txt /*E125*
|
||||
E125 userfunc.txt /*E125*
|
||||
E1250 vim9.txt /*E1250*
|
||||
E1251 vim9.txt /*E1251*
|
||||
E1252 vim9.txt /*E1252*
|
||||
@@ -4286,18 +4292,18 @@ E1256 vim9.txt /*E1256*
|
||||
E1257 vim9.txt /*E1257*
|
||||
E1258 vim9.txt /*E1258*
|
||||
E1259 vim9.txt /*E1259*
|
||||
E126 eval.txt /*E126*
|
||||
E126 userfunc.txt /*E126*
|
||||
E1260 vim9.txt /*E1260*
|
||||
E1261 vim9.txt /*E1261*
|
||||
E1262 vim9.txt /*E1262*
|
||||
E1263 eval.txt /*E1263*
|
||||
E1263 userfunc.txt /*E1263*
|
||||
E1264 vim9.txt /*E1264*
|
||||
E1265 eval.txt /*E1265*
|
||||
E1266 if_pyth.txt /*E1266*
|
||||
E1267 eval.txt /*E1267*
|
||||
E1267 userfunc.txt /*E1267*
|
||||
E1268 vim9.txt /*E1268*
|
||||
E1269 vim9.txt /*E1269*
|
||||
E127 eval.txt /*E127*
|
||||
E127 userfunc.txt /*E127*
|
||||
E1270 change.txt /*E1270*
|
||||
E1271 vim9.txt /*E1271*
|
||||
E1272 vim9.txt /*E1272*
|
||||
@@ -4308,7 +4314,7 @@ E1276 builtin.txt /*E1276*
|
||||
E1277 channel.txt /*E1277*
|
||||
E1278 eval.txt /*E1278*
|
||||
E1279 eval.txt /*E1279*
|
||||
E128 eval.txt /*E128*
|
||||
E128 userfunc.txt /*E128*
|
||||
E1280 spell.txt /*E1280*
|
||||
E1281 pattern.txt /*E1281*
|
||||
E1282 eval.txt /*E1282*
|
||||
@@ -4319,7 +4325,7 @@ E1286 builtin.txt /*E1286*
|
||||
E1287 builtin.txt /*E1287*
|
||||
E1288 builtin.txt /*E1288*
|
||||
E1289 builtin.txt /*E1289*
|
||||
E129 eval.txt /*E129*
|
||||
E129 userfunc.txt /*E129*
|
||||
E1290 change.txt /*E1290*
|
||||
E1291 testing.txt /*E1291*
|
||||
E1292 cmdline.txt /*E1292*
|
||||
@@ -4328,10 +4334,18 @@ E1294 textprop.txt /*E1294*
|
||||
E1295 textprop.txt /*E1295*
|
||||
E1296 textprop.txt /*E1296*
|
||||
E1297 vim9.txt /*E1297*
|
||||
E1298 vim9.txt /*E1298*
|
||||
E1299 tagsrch.txt /*E1299*
|
||||
E13 message.txt /*E13*
|
||||
E131 eval.txt /*E131*
|
||||
E132 eval.txt /*E132*
|
||||
E133 eval.txt /*E133*
|
||||
E1300 userfunc.txt /*E1300*
|
||||
E1301 vim9.txt /*E1301*
|
||||
E1302 eval.txt /*E1302*
|
||||
E1303 map.txt /*E1303*
|
||||
E1304 vim9.txt /*E1304*
|
||||
E1305 textprop.txt /*E1305*
|
||||
E131 userfunc.txt /*E131*
|
||||
E132 userfunc.txt /*E132*
|
||||
E133 userfunc.txt /*E133*
|
||||
E134 change.txt /*E134*
|
||||
E135 autocmd.txt /*E135*
|
||||
E136 starting.txt /*E136*
|
||||
@@ -4396,7 +4410,7 @@ E19 message.txt /*E19*
|
||||
E190 message.txt /*E190*
|
||||
E191 motion.txt /*E191*
|
||||
E192 message.txt /*E192*
|
||||
E193 eval.txt /*E193*
|
||||
E193 userfunc.txt /*E193*
|
||||
E194 message.txt /*E194*
|
||||
E195 starting.txt /*E195*
|
||||
E196 various.txt /*E196*
|
||||
@@ -4675,7 +4689,7 @@ E450 popup.txt /*E450*
|
||||
E451 eval.txt /*E451*
|
||||
E452 eval.txt /*E452*
|
||||
E453 syntax.txt /*E453*
|
||||
E454 eval.txt /*E454*
|
||||
E454 userfunc.txt /*E454*
|
||||
E455 print.txt /*E455*
|
||||
E456 print.txt /*E456*
|
||||
E457 print.txt /*E457*
|
||||
@@ -4978,13 +4992,13 @@ E737 builtin.txt /*E737*
|
||||
E738 eval.txt /*E738*
|
||||
E739 builtin.txt /*E739*
|
||||
E74 message.txt /*E74*
|
||||
E740 eval.txt /*E740*
|
||||
E740 userfunc.txt /*E740*
|
||||
E741 eval.txt /*E741*
|
||||
E742 eval.txt /*E742*
|
||||
E742 userfunc.txt /*E742*
|
||||
E743 eval.txt /*E743*
|
||||
E744 netbeans.txt /*E744*
|
||||
E745 eval.txt /*E745*
|
||||
E746 eval.txt /*E746*
|
||||
E746 userfunc.txt /*E746*
|
||||
E747 editing.txt /*E747*
|
||||
E748 repeat.txt /*E748*
|
||||
E749 various.txt /*E749*
|
||||
@@ -5101,7 +5115,7 @@ E85 options.txt /*E85*
|
||||
E850 change.txt /*E850*
|
||||
E851 gui_x11.txt /*E851*
|
||||
E852 gui_x11.txt /*E852*
|
||||
E853 eval.txt /*E853*
|
||||
E853 userfunc.txt /*E853*
|
||||
E854 options.txt /*E854*
|
||||
E855 autocmd.txt /*E855*
|
||||
E856 testing.txt /*E856*
|
||||
@@ -5135,7 +5149,7 @@ E880 if_pyth.txt /*E880*
|
||||
E881 autocmd.txt /*E881*
|
||||
E882 builtin.txt /*E882*
|
||||
E883 builtin.txt /*E883*
|
||||
E884 eval.txt /*E884*
|
||||
E884 userfunc.txt /*E884*
|
||||
E885 sign.txt /*E885*
|
||||
E886 starting.txt /*E886*
|
||||
E887 if_pyth.txt /*E887*
|
||||
@@ -5188,8 +5202,8 @@ E929 starting.txt /*E929*
|
||||
E93 windows.txt /*E93*
|
||||
E930 builtin.txt /*E930*
|
||||
E931 message.txt /*E931*
|
||||
E932 eval.txt /*E932*
|
||||
E933 eval.txt /*E933*
|
||||
E932 userfunc.txt /*E932*
|
||||
E933 userfunc.txt /*E933*
|
||||
E934 sign.txt /*E934*
|
||||
E935 builtin.txt /*E935*
|
||||
E936 autocmd.txt /*E936*
|
||||
@@ -5250,7 +5264,7 @@ E985 eval.txt /*E985*
|
||||
E986 tagsrch.txt /*E986*
|
||||
E987 tagsrch.txt /*E987*
|
||||
E988 gui_w32.txt /*E988*
|
||||
E989 eval.txt /*E989*
|
||||
E989 userfunc.txt /*E989*
|
||||
E99 diff.txt /*E99*
|
||||
E990 eval.txt /*E990*
|
||||
E991 eval.txt /*E991*
|
||||
@@ -5572,7 +5586,7 @@ W18 syntax.txt /*W18*
|
||||
W19 autocmd.txt /*W19*
|
||||
W20 if_pyth.txt /*W20*
|
||||
W21 if_pyth.txt /*W21*
|
||||
W22 eval.txt /*W22*
|
||||
W22 userfunc.txt /*W22*
|
||||
WORD motion.txt /*WORD*
|
||||
WSL os_win32.txt /*WSL*
|
||||
WWW intro.txt /*WWW*
|
||||
@@ -5707,12 +5721,12 @@ a' motion.txt /*a'*
|
||||
a( motion.txt /*a(*
|
||||
a) motion.txt /*a)*
|
||||
a4 print.txt /*a4*
|
||||
a:0 eval.txt /*a:0*
|
||||
a:000 eval.txt /*a:000*
|
||||
a:1 eval.txt /*a:1*
|
||||
a:firstline eval.txt /*a:firstline*
|
||||
a:lastline eval.txt /*a:lastline*
|
||||
a:var eval.txt /*a:var*
|
||||
a:0 userfunc.txt /*a:0*
|
||||
a:000 userfunc.txt /*a:000*
|
||||
a:1 userfunc.txt /*a:1*
|
||||
a:firstline userfunc.txt /*a:firstline*
|
||||
a:lastline userfunc.txt /*a:lastline*
|
||||
a:var userfunc.txt /*a:var*
|
||||
a< motion.txt /*a<*
|
||||
a> motion.txt /*a>*
|
||||
aB motion.txt /*aB*
|
||||
@@ -5858,8 +5872,8 @@ autocommand-events autocmd.txt /*autocommand-events*
|
||||
autocommand-pattern autocmd.txt /*autocommand-pattern*
|
||||
autocommands autocmd.txt /*autocommands*
|
||||
autoformat change.txt /*autoformat*
|
||||
autoload eval.txt /*autoload*
|
||||
autoload-functions eval.txt /*autoload-functions*
|
||||
autoload userfunc.txt /*autoload*
|
||||
autoload-functions userfunc.txt /*autoload-functions*
|
||||
avoid-hit-enter version5.txt /*avoid-hit-enter*
|
||||
aw motion.txt /*aw*
|
||||
a{ motion.txt /*a{*
|
||||
@@ -5915,6 +5929,7 @@ blob-modification eval.txt /*blob-modification*
|
||||
blob2list() builtin.txt /*blob2list()*
|
||||
blockwise-examples visual.txt /*blockwise-examples*
|
||||
blockwise-operators visual.txt /*blockwise-operators*
|
||||
blockwise-put change.txt /*blockwise-put*
|
||||
blockwise-register change.txt /*blockwise-register*
|
||||
blockwise-visual visual.txt /*blockwise-visual*
|
||||
blowfish options.txt /*blowfish*
|
||||
@@ -6493,6 +6508,7 @@ decada_members ft_ada.txt /*decada_members*
|
||||
deepcopy() builtin.txt /*deepcopy()*
|
||||
defaults.vim starting.txt /*defaults.vim*
|
||||
defaults.vim-explained usr_05.txt /*defaults.vim-explained*
|
||||
define-function userfunc.txt /*define-function*
|
||||
definition-search tagsrch.txt /*definition-search*
|
||||
definitions intro.txt /*definitions*
|
||||
delete() builtin.txt /*delete()*
|
||||
@@ -7131,11 +7147,11 @@ ftplugins usr_05.txt /*ftplugins*
|
||||
fullcommand() builtin.txt /*fullcommand()*
|
||||
funcref() builtin.txt /*funcref()*
|
||||
function() builtin.txt /*function()*
|
||||
function-argument eval.txt /*function-argument*
|
||||
function-argument userfunc.txt /*function-argument*
|
||||
function-key intro.txt /*function-key*
|
||||
function-list usr_41.txt /*function-list*
|
||||
function-range-example eval.txt /*function-range-example*
|
||||
function-search-undo eval.txt /*function-search-undo*
|
||||
function-range-example userfunc.txt /*function-range-example*
|
||||
function-search-undo userfunc.txt /*function-search-undo*
|
||||
function_key intro.txt /*function_key*
|
||||
functions eval.txt /*functions*
|
||||
fuzzy-matching pattern.txt /*fuzzy-matching*
|
||||
@@ -8114,6 +8130,7 @@ keypad-page-up intro.txt /*keypad-page-up*
|
||||
keypad-plus intro.txt /*keypad-plus*
|
||||
keypad-point intro.txt /*keypad-point*
|
||||
keys() builtin.txt /*keys()*
|
||||
keytrans() builtin.txt /*keytrans()*
|
||||
known-bugs todo.txt /*known-bugs*
|
||||
l motion.txt /*l*
|
||||
l: eval.txt /*l:*
|
||||
@@ -8182,10 +8199,10 @@ lnum-variable eval.txt /*lnum-variable*
|
||||
load-plugins starting.txt /*load-plugins*
|
||||
load-vim-script repeat.txt /*load-vim-script*
|
||||
local-additions help.txt /*local-additions*
|
||||
local-function eval.txt /*local-function*
|
||||
local-function userfunc.txt /*local-function*
|
||||
local-options options.txt /*local-options*
|
||||
local-variable eval.txt /*local-variable*
|
||||
local-variables eval.txt /*local-variables*
|
||||
local-variables userfunc.txt /*local-variables*
|
||||
local_markfilelist pi_netrw.txt /*local_markfilelist*
|
||||
locale mbyte.txt /*locale*
|
||||
locale-name mbyte.txt /*locale-name*
|
||||
@@ -8797,7 +8814,7 @@ no_plugin_maps filetype.txt /*no_plugin_maps*
|
||||
nocombine syntax.txt /*nocombine*
|
||||
non-greedy pattern.txt /*non-greedy*
|
||||
non-zero-arg eval.txt /*non-zero-arg*
|
||||
none-function_argument eval.txt /*none-function_argument*
|
||||
none-function_argument userfunc.txt /*none-function_argument*
|
||||
none-variable eval.txt /*none-variable*
|
||||
normal-index index.txt /*normal-index*
|
||||
not-compatible usr_01.txt /*not-compatible*
|
||||
@@ -8851,7 +8868,7 @@ option-value-function options.txt /*option-value-function*
|
||||
option-window options.txt /*option-window*
|
||||
option_restore() todo.txt /*option_restore()*
|
||||
option_save() todo.txt /*option_save()*
|
||||
optional-function-argument eval.txt /*optional-function-argument*
|
||||
optional-function-argument userfunc.txt /*optional-function-argument*
|
||||
options options.txt /*options*
|
||||
options-changed version5.txt /*options-changed*
|
||||
options-in-terminal terminal.txt /*options-in-terminal*
|
||||
@@ -10326,6 +10343,7 @@ user-cmd-ambiguous map.txt /*user-cmd-ambiguous*
|
||||
user-commands map.txt /*user-commands*
|
||||
user-functions eval.txt /*user-functions*
|
||||
user-manual usr_toc.txt /*user-manual*
|
||||
userfunc.txt userfunc.txt /*userfunc.txt*
|
||||
using-<Plug> usr_51.txt /*using-<Plug>*
|
||||
using-menus gui.txt /*using-menus*
|
||||
using-scripts repeat.txt /*using-scripts*
|
||||
@@ -10705,6 +10723,7 @@ vim9-literal-dict vim9.txt /*vim9-literal-dict*
|
||||
vim9-mix vim9.txt /*vim9-mix*
|
||||
vim9-namespace vim9.txt /*vim9-namespace*
|
||||
vim9-no-dict-function vim9.txt /*vim9-no-dict-function*
|
||||
vim9-no-shorten vim9.txt /*vim9-no-shorten*
|
||||
vim9-rationale vim9.txt /*vim9-rationale*
|
||||
vim9-reload vim9.txt /*vim9-reload*
|
||||
vim9-s-namespace vim9.txt /*vim9-s-namespace*
|
||||
|
||||
@@ -889,13 +889,16 @@ like |CTRL-]|.
|
||||
|
||||
The function used for generating the taglist is specified by setting the
|
||||
'tagfunc' option. The function will be called with three arguments:
|
||||
a:pattern The tag identifier or pattern used during the tag search.
|
||||
a:flags String containing flags to control the function behavior.
|
||||
a:info Dict containing the following entries:
|
||||
pattern The tag identifier or pattern used during the tag search.
|
||||
flags String containing flags to control the function behavior.
|
||||
info Dict containing the following entries:
|
||||
buf_ffname Full filename which can be used for priority.
|
||||
user_data Custom data String, if stored in the tag
|
||||
stack previously by tagfunc.
|
||||
|
||||
Note that in a legacy function "a:" needs to be prepended to the argument name
|
||||
when using it.
|
||||
|
||||
Currently up to three flags may be passed to the tag function:
|
||||
'c' The function was invoked by a normal command being processed
|
||||
(mnemonic: the tag function may use the context around the
|
||||
@@ -931,6 +934,8 @@ If the function returns |v:null| instead of a List, a standard tag lookup will
|
||||
be performed instead.
|
||||
|
||||
It is not allowed to change the tagstack from inside 'tagfunc'. *E986*
|
||||
It is not allowed to close a window or change window from inside 'tagfunc'.
|
||||
*E1299*
|
||||
|
||||
The following is a hypothetical example of a function used for 'tagfunc'. It
|
||||
uses the output of |taglist()| to generate the result: a list of tags in the
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*textprop.txt* For Vim version 9.0. Last change: 2021 Nov 23
|
||||
*textprop.txt* For Vim version 9.0. Last change: 2022 Sep 17
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -142,9 +142,11 @@ prop_add({lnum}, {col}, {props})
|
||||
then "id" must not be present and will be set
|
||||
automatically to a negative number; otherwise
|
||||
zero is used
|
||||
*E1305*
|
||||
text text to be displayed before {col}, or after the
|
||||
line if {col} is zero; prepend and/or append
|
||||
spaces for padding with highlighting
|
||||
spaces for padding with highlighting; cannot
|
||||
be used with "length", "end_lnum" and "end_col"
|
||||
*E1294*
|
||||
text_align when "text" is present and {col} is zero;
|
||||
specifies where to display the text:
|
||||
@@ -153,9 +155,10 @@ prop_add({lnum}, {col}, {props})
|
||||
the text wraps to the next screen
|
||||
line)
|
||||
below in the next screen line
|
||||
above just above the line
|
||||
When omitted "after" is used. Only one
|
||||
"right" property can fit in each line, if
|
||||
there are two ore more these will go in a
|
||||
there are two or more these will go in a
|
||||
separate line (still right aligned).
|
||||
text_padding_left *E1296*
|
||||
used when "text" is present and {col} is zero;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*todo.txt* For Vim version 9.0. Last change: 2022 Jun 27
|
||||
*todo.txt* For Vim version 9.0. Last change: 2022 Sep 18
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -38,12 +38,47 @@ browser use: https://github.com/vim/vim/issues/1234
|
||||
*known-bugs*
|
||||
-------------------- Known bugs and current work -----------------------
|
||||
|
||||
cmdheight=0:
|
||||
- :g/pattern should not use message window #11012
|
||||
Closure created in for loop can use loop variable? #11094
|
||||
Nested loops do not work correctly yet.
|
||||
Would need to save vars for each block separately.
|
||||
|
||||
*.sil detection with FTsil() (lacygoill, Aug 25)
|
||||
Virtual text:
|
||||
- Virtual text below: padding is highlighted when 'number' is set #11138
|
||||
- Virtual text above: do not highlight until end of line? #11138
|
||||
- 'number' should be below "above" virtual text? Might be difficult to
|
||||
implement.
|
||||
- Add highlight for the gap before/after virtual text above/below?
|
||||
- option to hide virtual text?
|
||||
|
||||
Avoid using "Xfile" and "Xdir" in tests, use specific names.
|
||||
Fail with valgrind: test_edit
|
||||
Found errors in Test_edit_insertmode_ex_edit():
|
||||
Run 1, 01:19:51 - 01:20:01:
|
||||
command line..script /home/mool/vim/vim90/src/testdir/runtest.vim[469]..function RunTheTest[44]..Test_edit_insertmode_ex_edit[13]..WaitForAssert[2]..<SNR>6_WaitForCommon[11]..<lambda>4 line 1: Pattern '^-- INSERT --\\s*$' does not match ''
|
||||
|
||||
From test_global
|
||||
Found errors in Test_interrupt_global():
|
||||
Run 1, 02:16:22 - 02:16:27:
|
||||
command line..script /home/mool/vim/vim90/src/testdir/runtest.vim[469]..function RunTheTest[44]..Test_interrupt_global[13]..WaitForAssert[2]..<SNR>7_WaitForCommon[11]..<lambda>20 line 1: Pattern 'Interrupted' does not match 'Type :qa! and press...l changes and exit Vim 1,1 All'
|
||||
command line..script /home/mool/vim/vim90/src/testdir/runtest.vim[469]..function RunTheTest[44]..Test_interrupt_global[20]..WaitForAssert[2]..<SNR>7_WaitForCommon[11]..<lambda>21 line 1: Pattern 'Interrupted' does not match 'Entering Ex mode. Type "visual" to go to Normal mode.'
|
||||
|
||||
test_terminal3:
|
||||
Conditional jump or move depends on uninitialised value(s)
|
||||
==2819005== at 0x2E9134: jump_to_mouse (mouse.c:2015)
|
||||
==2819005== by 0x2E69E6: do_mouse (mouse.c:702)
|
||||
==2819005== by 0x2E95C2: nv_mouse (mouse.c:2166)
|
||||
|
||||
option_set(): "get a bit too much"
|
||||
- refactor to separate function
|
||||
- check for empty result
|
||||
|
||||
Use :defer command:
|
||||
- Use "D" flag of writefile() and mkdir() in tests.
|
||||
(testdir/test_c*.vim done)
|
||||
|
||||
When using :echomessage do use msg_row and msg_col, but save and restore.
|
||||
How to test any failure? If nothing fails perhaps it's OK alrady.
|
||||
|
||||
New Vim indent script: #11079 Not done yet.
|
||||
|
||||
Further Vim9 improvements, possibly after launch:
|
||||
- Use Vim9 for more runtime files.
|
||||
@@ -183,11 +218,6 @@ Terminal emulator window:
|
||||
- When 'encoding' is not utf-8, or the job is using another encoding, setup
|
||||
conversions.
|
||||
|
||||
Cleanup:
|
||||
- Remove FEAT_FOOTER ?
|
||||
|
||||
Add 'splitscroll' #10682 Useful? Any remaining trouble?
|
||||
|
||||
Autoconf: must use autoconf 2.69, later version generates lots of warnings
|
||||
- try using autoconf 2.71 and fix all "obsolete" warnings
|
||||
|
||||
@@ -196,6 +226,15 @@ Can deref_func_name() and deref_function_name() be merged?
|
||||
After patch 8.2.4915 w_botline is computed much more often. Can this be
|
||||
reduced?
|
||||
|
||||
Add BufDeletePost. #11041
|
||||
|
||||
Add a string to the 'display' option ("smoothscroll" ?) to make CTRL-E and
|
||||
CTRL-Y scroll one screen line, also if this means the first line doesn't start
|
||||
with the first character (like what happens with a last line that doesn't
|
||||
fit). Display "<<<" at the start of the first visible line (like "@@@" is
|
||||
displayed in the last line). (Arseny Nasokin, #5154)
|
||||
Neovim PR: https://github.com/neovim/neovim/pull/11014
|
||||
|
||||
NFA regexp does not handle composing characters well: #10286
|
||||
[ɔ̃] matches both ɔ and ɔ̃
|
||||
\(ɔ\|ɔ̃\) matches ɔ and not ɔ̃
|
||||
@@ -273,6 +312,7 @@ Adding "10" to 'spellsuggest' causes spell suggestions to become very slow.
|
||||
Also, z= in German on a long word can take a very long time, but CTRL-C to
|
||||
interrupt does not work. Where to add ui_breakcheck()?
|
||||
New English spell files also have very slow suggestions.
|
||||
French spell files don't work correctly. #4916
|
||||
|
||||
Make "g>" and "g<" in Visual mode move the text right or left.
|
||||
Also for a block selection. #8558
|
||||
@@ -554,12 +594,6 @@ Bug: script written with "-W scriptout" contains Key codes, while the script
|
||||
read with "-s scriptin" expects escape codes. Probably "scriptout" needs to
|
||||
be adjusted. (Daniel Steinberg, 2019 Feb 24, #4041)
|
||||
|
||||
Add a string to the 'display' option ("smoothscroll" ?) to make CTRL-E and
|
||||
CTRL-Y scroll one screen line, also if this means the first line doesn't start
|
||||
with the first character (like what happens with a last line that doesn't
|
||||
fit). Display "<<<" at the start of the first visible line (like "@@@" is
|
||||
displayed in the last line). (Arseny Nasokin, #5154)
|
||||
|
||||
Window size changes after closing a tab. (#4741)
|
||||
|
||||
Problem with colors in terminal window. (Jason Franklin, 2019 May 12)
|
||||
@@ -2644,6 +2678,11 @@ Better 'rightleft' or BIDI support:
|
||||
|
||||
|
||||
Spell checking:
|
||||
- List of common misspellings in English:
|
||||
https://en.wikipedia.org/wiki/Wikipedia:Lists_of_common_misspellings/For_machines
|
||||
German:
|
||||
https://de.wikipedia.org/wiki/Wikipedia:Liste_von_Tippfehlern/F%C3%BCr_Maschinen
|
||||
There are other languages.
|
||||
- [s does not find missing capital at start of the line. #10838
|
||||
Probably because the dot at the end of the previous line isn't seen.
|
||||
- When 'cursorline' is set and the first word should have SpellCap
|
||||
@@ -3753,6 +3792,7 @@ Syntax highlighting:
|
||||
- use treesitter, NeoVim uses it - Many people don't like it.
|
||||
After changes requires rebuilding the library.
|
||||
- use TextMate, vscode uses it. #9087 - Other people don't like it.
|
||||
https://github.com/icedman/vim-textmate
|
||||
Vscode is asked to switch to treesitter:
|
||||
https://github.com/microsoft/vscode/issues/50140
|
||||
- sublime grammar?
|
||||
|
||||
531
runtime/doc/userfunc.txt
Normal file
531
runtime/doc/userfunc.txt
Normal file
@@ -0,0 +1,531 @@
|
||||
*userfunc.txt* For Vim version 9.0. Last change: 2022 Sep 09
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
|
||||
|
||||
Defining and using functions.
|
||||
|
||||
This is introduced in section |41.7| of the user manual.
|
||||
|
||||
1. Defining a fuction |define-function|
|
||||
2. Calling a fuction |:call|
|
||||
3. Cleaning up in a function |:defer|
|
||||
4. Automatically loading functions |autoload-functions|
|
||||
|
||||
==============================================================================
|
||||
|
||||
1. Defining a function ~
|
||||
*define-function*
|
||||
New functions can be defined. These can be called just like builtin
|
||||
functions. The function executes a sequence of Ex commands. Normal mode
|
||||
commands can be executed with the |:normal| command.
|
||||
|
||||
The function name must start with an uppercase letter, to avoid confusion with
|
||||
builtin functions. To prevent from using the same name in different scripts
|
||||
make them script-local. If you do use a global function then avoid obvious,
|
||||
short names. A good habit is to start the function name with the name of the
|
||||
script, e.g., "HTMLcolor()".
|
||||
|
||||
In legacy script it is also possible to use curly braces, see
|
||||
|curly-braces-names|.
|
||||
|
||||
The |autoload| facility is useful to define a function only when it's called.
|
||||
|
||||
*local-function*
|
||||
A function local to a legacy script must start with "s:". A local script
|
||||
function can only be called from within the script and from functions, user
|
||||
commands and autocommands defined in the script. It is also possible to call
|
||||
the function from a mapping defined in the script, but then |<SID>| must be
|
||||
used instead of "s:" when the mapping is expanded outside of the script.
|
||||
There are only script-local functions, no buffer-local or window-local
|
||||
functions.
|
||||
|
||||
In |Vim9| script functions are local to the script by default, prefix "g:" to
|
||||
define a global function.
|
||||
|
||||
*:fu* *:function* *E128* *E129* *E123* *E454*
|
||||
:fu[nction] List all functions and their arguments.
|
||||
|
||||
:fu[nction] {name} List function {name}.
|
||||
{name} can also be a |Dictionary| entry that is a
|
||||
|Funcref|: >
|
||||
:function dict.init
|
||||
|
||||
:fu[nction] /{pattern} List functions with a name matching {pattern}.
|
||||
Example that lists all functions ending with "File": >
|
||||
:function /File$
|
||||
<
|
||||
*:function-verbose*
|
||||
When 'verbose' is non-zero, listing a function will also display where it was
|
||||
last defined. Example: >
|
||||
|
||||
:verbose function SetFileTypeSH
|
||||
function SetFileTypeSH(name)
|
||||
Last set from /usr/share/vim/vim-7.0/filetype.vim
|
||||
<
|
||||
See |:verbose-cmd| for more information.
|
||||
|
||||
*E124* *E125* *E853* *E884*
|
||||
:fu[nction][!] {name}([arguments]) [range] [abort] [dict] [closure]
|
||||
Define a new function by the name {name}. The body of
|
||||
the function follows in the next lines, until the
|
||||
matching |:endfunction|.
|
||||
*E1267*
|
||||
The name must be made of alphanumeric characters and
|
||||
'_', and must start with a capital or "s:" (see
|
||||
above). Note that using "b:" or "g:" is not allowed.
|
||||
(since patch 7.4.260 E884 is given if the function
|
||||
name has a colon in the name, e.g. for "foo:bar()".
|
||||
Before that patch no error was given).
|
||||
|
||||
{name} can also be a |Dictionary| entry that is a
|
||||
|Funcref|: >
|
||||
:function dict.init(arg)
|
||||
< "dict" must be an existing dictionary. The entry
|
||||
"init" is added if it didn't exist yet. Otherwise [!]
|
||||
is required to overwrite an existing function. The
|
||||
result is a |Funcref| to a numbered function. The
|
||||
function can only be used with a |Funcref| and will be
|
||||
deleted if there are no more references to it.
|
||||
*E127* *E122*
|
||||
When a function by this name already exists and [!] is
|
||||
not used an error message is given. There is one
|
||||
exception: When sourcing a script again, a function
|
||||
that was previously defined in that script will be
|
||||
silently replaced.
|
||||
When [!] is used, an existing function is silently
|
||||
replaced. Unless it is currently being executed, that
|
||||
is an error.
|
||||
NOTE: Use ! wisely. If used without care it can cause
|
||||
an existing function to be replaced unexpectedly,
|
||||
which is hard to debug.
|
||||
NOTE: In Vim9 script script-local functions cannot be
|
||||
deleted or redefined.
|
||||
|
||||
For the {arguments} see |function-argument|.
|
||||
|
||||
*:func-range* *a:firstline* *a:lastline*
|
||||
When the [range] argument is added, the function is
|
||||
expected to take care of a range itself. The range is
|
||||
passed as "a:firstline" and "a:lastline". If [range]
|
||||
is excluded, ":{range}call" will call the function for
|
||||
each line in the range, with the cursor on the start
|
||||
of each line. See |function-range-example|.
|
||||
The cursor is still moved to the first line of the
|
||||
range, as is the case with all Ex commands.
|
||||
*:func-abort*
|
||||
When the [abort] argument is added, the function will
|
||||
abort as soon as an error is detected.
|
||||
*:func-dict*
|
||||
When the [dict] argument is added, the function must
|
||||
be invoked through an entry in a |Dictionary|. The
|
||||
local variable "self" will then be set to the
|
||||
dictionary. See |Dictionary-function|.
|
||||
*:func-closure* *E932*
|
||||
When the [closure] argument is added, the function
|
||||
can access variables and arguments from the outer
|
||||
scope. This is usually called a closure. In this
|
||||
example Bar() uses "x" from the scope of Foo(). It
|
||||
remains referenced even after Foo() returns: >
|
||||
:function! Foo()
|
||||
: let x = 0
|
||||
: function! Bar() closure
|
||||
: let x += 1
|
||||
: return x
|
||||
: endfunction
|
||||
: return funcref('Bar')
|
||||
:endfunction
|
||||
|
||||
:let F = Foo()
|
||||
:echo F()
|
||||
< 1 >
|
||||
:echo F()
|
||||
< 2 >
|
||||
:echo F()
|
||||
< 3
|
||||
|
||||
*function-search-undo*
|
||||
The last used search pattern and the redo command "."
|
||||
will not be changed by the function. This also
|
||||
implies that the effect of |:nohlsearch| is undone
|
||||
when the function returns.
|
||||
|
||||
*:endf* *:endfunction* *E126* *E193* *W22* *E1151*
|
||||
:endf[unction] [argument]
|
||||
The end of a function definition. Best is to put it
|
||||
on a line by its own, without [argument].
|
||||
|
||||
[argument] can be:
|
||||
| command command to execute next
|
||||
\n command command to execute next
|
||||
" comment always ignored
|
||||
anything else ignored, warning given when
|
||||
'verbose' is non-zero
|
||||
The support for a following command was added in Vim
|
||||
8.0.0654, before that any argument was silently
|
||||
ignored.
|
||||
|
||||
To be able to define a function inside an `:execute`
|
||||
command, use line breaks instead of |:bar|: >
|
||||
:exe "func Foo()\necho 'foo'\nendfunc"
|
||||
<
|
||||
*:delf* *:delfunction* *E131* *E933* *E1084*
|
||||
:delf[unction][!] {name}
|
||||
Delete function {name}.
|
||||
{name} can also be a |Dictionary| entry that is a
|
||||
|Funcref|: >
|
||||
:delfunc dict.init
|
||||
< This will remove the "init" entry from "dict". The
|
||||
function is deleted if there are no more references to
|
||||
it.
|
||||
With the ! there is no error if the function does not
|
||||
exist.
|
||||
*:retu* *:return* *E133*
|
||||
:retu[rn] [expr] Return from a function. When "[expr]" is given, it is
|
||||
evaluated and returned as the result of the function.
|
||||
If "[expr]" is not given, the number 0 is returned.
|
||||
When a function ends without an explicit ":return",
|
||||
the number 0 is returned.
|
||||
In a :def function *E1095* is given if unreachable
|
||||
code follows after the `:return`.
|
||||
In legacy script there is no check for unreachable
|
||||
lines, thus there is no warning if commands follow
|
||||
`:return`.
|
||||
|
||||
If the ":return" is used after a |:try| but before the
|
||||
matching |:finally| (if present), the commands
|
||||
following the ":finally" up to the matching |:endtry|
|
||||
are executed first. This process applies to all
|
||||
nested ":try"s inside the function. The function
|
||||
returns at the outermost ":endtry".
|
||||
|
||||
*function-argument* *a:var*
|
||||
An argument can be defined by giving its name. In the function this can then
|
||||
be used as "a:name" ("a:" for argument).
|
||||
*a:0* *a:1* *a:000* *E740* *...*
|
||||
Up to 20 arguments can be given, separated by commas. After the named
|
||||
arguments an argument "..." can be specified, which means that more arguments
|
||||
may optionally be following. In the function the extra arguments can be used
|
||||
as "a:1", "a:2", etc. "a:0" is set to the number of extra arguments (which
|
||||
can be 0). "a:000" is set to a |List| that contains these arguments. Note
|
||||
that "a:1" is the same as "a:000[0]".
|
||||
*E742* *E1090*
|
||||
The a: scope and the variables in it cannot be changed, they are fixed.
|
||||
However, if a composite type is used, such as |List| or |Dictionary| , you can
|
||||
change their contents. Thus you can pass a |List| to a function and have the
|
||||
function add an item to it. If you want to make sure the function cannot
|
||||
change a |List| or |Dictionary| use |:lockvar|.
|
||||
|
||||
It is also possible to define a function without any arguments. You must
|
||||
still supply the () then.
|
||||
|
||||
It is allowed to define another function inside a function body.
|
||||
|
||||
*optional-function-argument*
|
||||
You can provide default values for positional named arguments. This makes
|
||||
them optional for function calls. When a positional argument is not
|
||||
specified at a call, the default expression is used to initialize it.
|
||||
This only works for functions declared with `:function` or `:def`, not for
|
||||
lambda expressions |expr-lambda|.
|
||||
|
||||
Example: >
|
||||
function Something(key, value = 10)
|
||||
echo a:key .. ": " .. a:value
|
||||
endfunction
|
||||
call Something('empty') "empty: 10"
|
||||
call Something('key', 20) "key: 20"
|
||||
|
||||
The argument default expressions are evaluated at the time of the function
|
||||
call, not definition. Thus it is possible to use an expression which is
|
||||
invalid the moment the function is defined. The expressions are also only
|
||||
evaluated when arguments are not specified during a call.
|
||||
*none-function_argument*
|
||||
You can pass |v:none| to use the default expression. Note that this means you
|
||||
cannot pass v:none as an ordinary value when an argument has a default
|
||||
expression.
|
||||
|
||||
Example: >
|
||||
function Something(a = 10, b = 20, c = 30)
|
||||
endfunction
|
||||
call Something(1, v:none, 3) " b = 20
|
||||
<
|
||||
*E989*
|
||||
Optional arguments with default expressions must occur after any mandatory
|
||||
arguments. You can use "..." after all optional named arguments.
|
||||
|
||||
It is possible for later argument defaults to refer to prior arguments,
|
||||
but not the other way around. They must be prefixed with "a:", as with all
|
||||
arguments.
|
||||
|
||||
Example that works: >
|
||||
:function Okay(mandatory, optional = a:mandatory)
|
||||
:endfunction
|
||||
Example that does NOT work: >
|
||||
:function NoGood(first = a:second, second = 10)
|
||||
:endfunction
|
||||
<
|
||||
When not using "...", the number of arguments in a function call must be at
|
||||
least equal to the number of mandatory named arguments. When using "...", the
|
||||
number of arguments may be larger than the total of mandatory and optional
|
||||
arguments.
|
||||
|
||||
*local-variables*
|
||||
Inside a function local variables can be used. These will disappear when the
|
||||
function returns. Global variables need to be accessed with "g:".
|
||||
Inside functions local variables are accessed without prepending anything.
|
||||
But you can also prepend "l:" if you like. This is required for some reserved
|
||||
names, such as "count".
|
||||
|
||||
Example: >
|
||||
:function Table(title, ...)
|
||||
: echohl Title
|
||||
: echo a:title
|
||||
: echohl None
|
||||
: echo a:0 .. " items:"
|
||||
: for s in a:000
|
||||
: echon ' ' .. s
|
||||
: endfor
|
||||
:endfunction
|
||||
|
||||
This function can then be called with: >
|
||||
call Table("Table", "line1", "line2")
|
||||
call Table("Empty Table")
|
||||
|
||||
To return more than one value, return a |List|: >
|
||||
:function Compute(n1, n2)
|
||||
: if a:n2 == 0
|
||||
: return ["fail", 0]
|
||||
: endif
|
||||
: return ["ok", a:n1 / a:n2]
|
||||
:endfunction
|
||||
|
||||
This function can then be called with: >
|
||||
:let [success, div] = Compute(102, 6)
|
||||
:if success == "ok"
|
||||
: echo div
|
||||
:endif
|
||||
<
|
||||
==============================================================================
|
||||
|
||||
2. Calling a function ~
|
||||
*:cal* *:call* *E107*
|
||||
:[range]cal[l] {name}([arguments])
|
||||
Call a function. The name of the function and its arguments
|
||||
are as specified with `:function`. Up to 20 arguments can be
|
||||
used. The returned value is discarded.
|
||||
In |Vim9| script using `:call` is optional, these two lines do
|
||||
the same thing: >
|
||||
call SomeFunc(arg)
|
||||
SomeFunc(arg)
|
||||
< Without a range and for functions that accept a range, the
|
||||
function is called once. When a range is given the cursor is
|
||||
positioned at the start of the first line before executing the
|
||||
function.
|
||||
When a range is given and the function doesn't handle it
|
||||
itself, the function is executed for each line in the range,
|
||||
with the cursor in the first column of that line. The cursor
|
||||
is left at the last line (possibly moved by the last function
|
||||
call). The arguments are re-evaluated for each line. Thus
|
||||
this works:
|
||||
*function-range-example* >
|
||||
:function Mynumber(arg)
|
||||
: echo line(".") .. " " .. a:arg
|
||||
:endfunction
|
||||
:1,5call Mynumber(getline("."))
|
||||
<
|
||||
The "a:firstline" and "a:lastline" are defined anyway, they
|
||||
can be used to do something different at the start or end of
|
||||
the range.
|
||||
|
||||
Example of a function that handles the range itself: >
|
||||
|
||||
:function Cont() range
|
||||
: execute (a:firstline + 1) .. "," .. a:lastline .. 's/^/\t\\ '
|
||||
:endfunction
|
||||
:4,8call Cont()
|
||||
<
|
||||
This function inserts the continuation character "\" in front
|
||||
of all the lines in the range, except the first one.
|
||||
|
||||
When the function returns a composite value it can be further
|
||||
dereferenced, but the range will not be used then. Example: >
|
||||
:4,8call GetDict().method()
|
||||
< Here GetDict() gets the range but method() does not.
|
||||
|
||||
*E117*
|
||||
When a function cannot be found the error "E117: Unknown function" will be
|
||||
given. If the function was using an autoload path or an autoload import and
|
||||
the script is a |Vim9| script, this may also be caused by the function not
|
||||
being exported.
|
||||
|
||||
*E132*
|
||||
The recursiveness of user functions is restricted with the |'maxfuncdepth'|
|
||||
option.
|
||||
|
||||
It is also possible to use `:eval`. It does not support a range, but does
|
||||
allow for method chaining, e.g.: >
|
||||
eval GetList()->Filter()->append('$')
|
||||
|
||||
A function can also be called as part of evaluating an expression or when it
|
||||
is used as a method: >
|
||||
let x = GetList()
|
||||
let y = GetList()->Filter()
|
||||
|
||||
==============================================================================
|
||||
|
||||
3. Cleaning up in a function ~
|
||||
*:defer*
|
||||
:defer {func}({args}) Call {func} when the current function is done.
|
||||
{args} are evaluated here.
|
||||
|
||||
Quite often a command in a function has a global effect, which must be undone
|
||||
when the function finishes. Handling this in all kinds of situations can be a
|
||||
hassle. Especially when an unexpected error is encountered. This can be done
|
||||
with `try` / `finally` blocks, but this gets complicated when there is more
|
||||
than one.
|
||||
|
||||
A much simpler solution is using `defer`. It schedules a function call when
|
||||
the function is returning, no matter if there is an error. Example: >
|
||||
func Filter(text) abort
|
||||
call writefile(a:text, 'Tempfile')
|
||||
call system('filter < Tempfile > Outfile')
|
||||
call Handle('Outfile')
|
||||
call delete('Tempfile')
|
||||
call delete('Outfile')
|
||||
endfunc
|
||||
|
||||
Here 'Tempfile' and 'Outfile' will not be deleted if something causes the
|
||||
function to abort. `:defer` can be used to avoid that: >
|
||||
func Filter(text) abort
|
||||
call writefile(a:text, 'Tempfile')
|
||||
defer delete('Tempfile')
|
||||
defer delete('Outfile')
|
||||
call system('filter < Tempfile > Outfile')
|
||||
call Handle('Outfile')
|
||||
endfunc
|
||||
|
||||
Note that deleting "Outfile" is scheduled before calling system(), since it
|
||||
can be created even when `system()` fails.
|
||||
|
||||
The deferred functions are called in reverse order, the last one added is
|
||||
executed first. A useless example: >
|
||||
func Useless() abort
|
||||
for s in range(3)
|
||||
defer execute('echomsg "number ' .. s .. '"')
|
||||
endfor
|
||||
endfunc
|
||||
|
||||
Now `:messages` shows:
|
||||
number 2
|
||||
number 1
|
||||
number 0
|
||||
|
||||
Any return value of the deferred function is discarded. The function cannot
|
||||
be followed by anything, such as "->func" or ".member". Currently `:defer
|
||||
GetArg()->TheFunc()` does not work, it may work in a later version.
|
||||
|
||||
Errors are reported but do not cause aborting execution of deferred functions.
|
||||
|
||||
No range is accepted. The function can be a partial with extra arguments, but
|
||||
not with a dictionary. *E1300*
|
||||
|
||||
==============================================================================
|
||||
|
||||
4. Automatically loading functions ~
|
||||
*autoload-functions*
|
||||
When using many or large functions, it's possible to automatically define them
|
||||
only when they are used. There are two methods: with an autocommand and with
|
||||
the "autoload" directory in 'runtimepath'.
|
||||
|
||||
In |Vim9| script there is also an autoload mechanism for imported scripts, see
|
||||
|import-autoload|.
|
||||
|
||||
|
||||
Using an autocommand ~
|
||||
|
||||
This is introduced in the user manual, section |51.4|.
|
||||
|
||||
The autocommand is useful if you have a plugin that is a long Vim script file.
|
||||
You can define the autocommand and quickly quit the script with `:finish`.
|
||||
That makes Vim startup faster. The autocommand should then load the same file
|
||||
again, setting a variable to skip the `:finish` command.
|
||||
|
||||
Use the FuncUndefined autocommand event with a pattern that matches the
|
||||
function(s) to be defined. Example: >
|
||||
|
||||
:au FuncUndefined BufNet* source ~/vim/bufnetfuncs.vim
|
||||
|
||||
The file "~/vim/bufnetfuncs.vim" should then define functions that start with
|
||||
"BufNet". Also see |FuncUndefined|.
|
||||
|
||||
|
||||
Using an autoload script ~
|
||||
*autoload* *E746*
|
||||
This is introduced in the user manual, section |52.2|.
|
||||
|
||||
Using a script in the "autoload" directory is simpler, but requires using
|
||||
exactly the right file name. A function that can be autoloaded has a name
|
||||
like this: >
|
||||
|
||||
:call filename#funcname()
|
||||
|
||||
These functions are always global, in Vim9 script "g:" needs to be used: >
|
||||
:call g:filename#funcname()
|
||||
|
||||
When such a function is called, and it is not defined yet, Vim will search the
|
||||
"autoload" directories in 'runtimepath' for a script file called
|
||||
"filename.vim". For example "~/.vim/autoload/filename.vim". That file should
|
||||
then define the function like this: >
|
||||
|
||||
function filename#funcname()
|
||||
echo "Done!"
|
||||
endfunction
|
||||
|
||||
The file name and the name used before the # in the function must match
|
||||
exactly, and the defined function must have the name exactly as it will be
|
||||
called. In Vim9 script the "g:" prefix must be used: >
|
||||
function g:filename#funcname()
|
||||
|
||||
or for a compiled function: >
|
||||
def g:filename#funcname()
|
||||
|
||||
It is possible to use subdirectories. Every # in the function name works like
|
||||
a path separator. Thus when calling a function: >
|
||||
|
||||
:call foo#bar#func()
|
||||
|
||||
Vim will look for the file "autoload/foo/bar.vim" in 'runtimepath'.
|
||||
|
||||
This also works when reading a variable that has not been set yet: >
|
||||
|
||||
:let l = foo#bar#lvar
|
||||
|
||||
However, when the autoload script was already loaded it won't be loaded again
|
||||
for an unknown variable.
|
||||
|
||||
When assigning a value to such a variable nothing special happens. This can
|
||||
be used to pass settings to the autoload script before it's loaded: >
|
||||
|
||||
:let foo#bar#toggle = 1
|
||||
:call foo#bar#func()
|
||||
|
||||
Note that when you make a mistake and call a function that is supposed to be
|
||||
defined in an autoload script, but the script doesn't actually define the
|
||||
function, you will get an error message for the missing function. If you fix
|
||||
the autoload script it won't be automatically loaded again. Either restart
|
||||
Vim or manually source the script.
|
||||
|
||||
Also note that if you have two script files, and one calls a function in the
|
||||
other and vice versa, before the used function is defined, it won't work.
|
||||
Avoid using the autoload functionality at the toplevel.
|
||||
|
||||
In |Vim9| script you will get error *E1263* if you define a function with
|
||||
a "#" character in the name. You should use a name without "#" and use
|
||||
`:export`.
|
||||
|
||||
Hint: If you distribute a bunch of scripts you can pack them together with the
|
||||
|vimball| utility. Also read the user manual |distribute-script|.
|
||||
|
||||
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
@@ -737,6 +737,8 @@ String manipulation: *string-functions*
|
||||
fnameescape() escape a file name for use with a Vim command
|
||||
tr() translate characters from one set to another
|
||||
strtrans() translate a string to make it printable
|
||||
keytrans() translate internal keycodes to a form that
|
||||
can be used by |:map|
|
||||
tolower() turn a string to lowercase
|
||||
toupper() turn a string to uppercase
|
||||
charclass() class of a character
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*various.txt* For Vim version 9.0. Last change: 2022 Jun 25
|
||||
*various.txt* For Vim version 9.0. Last change: 2022 Sep 17
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -381,7 +381,7 @@ N *+find_in_path* include file searches: |[I|, |:isearch|,
|
||||
N *+folding* |folding|
|
||||
*+footer* |gui-footer|
|
||||
*+fork* Unix only: |fork| shell commands
|
||||
*+float* Floating point support
|
||||
T *+float* Floating point support Always enabled since 9.0.0491
|
||||
N *+gettext* message translations |multi-lang|
|
||||
- *+GUI_Athena* Unix only: Athena |GUI|
|
||||
*+GUI_neXtaw* Unix only: neXtaw |GUI|
|
||||
|
||||
@@ -72,7 +72,7 @@ Command line completion in a popup menu ~
|
||||
Before there was the 'wildmenu' option, which uses the space of one line above
|
||||
the statusline to show matches. Only a few matches fit there.
|
||||
|
||||
Now a popup menu can be used by setting "wildoptions' to "pum". This allows
|
||||
Now a popup menu can be used by setting 'wildoptions' to "pum". This allows
|
||||
for showing many more matches. This requires redrawing more of the display,
|
||||
but since computers are fast enough that is not a problem.
|
||||
|
||||
@@ -336,7 +336,7 @@ Hide cursor when sleeping using |:sleep!|.
|
||||
Add "multispace" to 'listchars' to show two or more spaces no matter where
|
||||
they appear. Add "leadmultispace" to 'listchars' to show two or more leading
|
||||
spaces. Add "lead" to 'listchars' to set the character used to show leading
|
||||
spaces. Support specifying a character using the hexdecimal notation in
|
||||
spaces. Support specifying a character using the hexadecimal notation in
|
||||
'listchars' (\x, \u and \U).
|
||||
|
||||
Make 'listchars', 'virtualedit' and 'thesaurusfunc' global-local options.
|
||||
@@ -28248,7 +28248,7 @@ Files: runtime/doc/repeat.txt, src/scriptfile.c, src/vim9script.c,
|
||||
src/proto/vim9script.pro, src/testdir/test_source.vim
|
||||
|
||||
Patch 8.2.4608
|
||||
Problem: getcompletion() does not work properly when 'wildoptions
|
||||
Problem: getcompletion() does not work properly when 'wildoptions'
|
||||
contains "fuzzy".
|
||||
Solution: Do not use addstar(). (Yegappan Lakshmanan, closes #9992,
|
||||
closes #9986)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*vim9.txt* For Vim version 9.0. Last change: 2022 Jun 25
|
||||
*vim9.txt* For Vim version 9.0. Last change: 2022 Sep 15
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -107,7 +107,7 @@ script and `:def` functions; details are below:
|
||||
`:t`
|
||||
`:xit`
|
||||
- Some commands, especially those used for flow control, cannot be shortened.
|
||||
E.g., `:throw` cannot be written as `:th`.
|
||||
E.g., `:throw` cannot be written as `:th`. *vim9-no-shorten*
|
||||
- You cannot use curly-braces names.
|
||||
- A range before a command must be prefixed with a colon: >
|
||||
:%s/this/that
|
||||
@@ -1311,7 +1311,7 @@ Make sure to define the breakpoint before compiling the outer function.
|
||||
The "inloop" variable will exist only once, all closures put in the list refer
|
||||
to the same instance, which in the end will have the value 4. This is
|
||||
efficient, also when looping many times. If you do want a separate context
|
||||
for each closure call a function to define it: >
|
||||
for each closure, call a function to define it: >
|
||||
def GetClosure(i: number): func
|
||||
var infunc = i
|
||||
return () => infunc
|
||||
@@ -1327,6 +1327,29 @@ for each closure call a function to define it: >
|
||||
In some situations, especially when calling a Vim9 closure from legacy
|
||||
context, the evaluation will fail. *E1248*
|
||||
|
||||
Note that at the script level the loop variable will be invalid after the
|
||||
loop, also when used in a closure that is called later, e.g. with a timer.
|
||||
This will generate error |E1302|: >
|
||||
for n in range(4)
|
||||
timer_start(500 * n, (_) => {
|
||||
echowin n
|
||||
})
|
||||
endfor
|
||||
|
||||
You need to use a block and define a variable there, and use that one in the
|
||||
closure: >
|
||||
for n in range(4)
|
||||
{
|
||||
var nr = n
|
||||
timer_start(500 * n, (_) => {
|
||||
echowin nr
|
||||
})
|
||||
}
|
||||
endfor
|
||||
|
||||
Using `echowindow` is useful in a timer, the messages go into a popup and will
|
||||
not interfere with what the user is doing when it triggers.
|
||||
|
||||
|
||||
Converting a function from legacy to Vim9 ~
|
||||
*convert_legacy_function_to_vim9*
|
||||
@@ -1618,7 +1641,7 @@ type, it can not be used in Vim9 script.
|
||||
*E1211* *E1217* *E1218* *E1219* *E1220* *E1221*
|
||||
*E1222* *E1223* *E1224* *E1225* *E1226* *E1227*
|
||||
*E1228* *E1238* *E1250* *E1251* *E1252* *E1253*
|
||||
*E1256* *E1297* *E1298*
|
||||
*E1256* *E1297* *E1298* *E1301*
|
||||
Types are checked for most builtin functions to make it easier to spot
|
||||
mistakes.
|
||||
|
||||
@@ -1660,7 +1683,7 @@ deleted.
|
||||
|
||||
In Vim9 script the global "g:" namespace can still be used as before. And the
|
||||
"w:", "b:" and "t:" namespaces. These have in common that variables are not
|
||||
declared and they can be deleted.
|
||||
declared, have no specific type and they can be deleted. *E1304*
|
||||
|
||||
A side effect of `:vim9script` is that the 'cpoptions' option is set to the
|
||||
Vim default value, like with: >
|
||||
@@ -1801,7 +1824,7 @@ And using the "as name" form: >
|
||||
import "otherfile.vim9script" as that
|
||||
call s:that.OtherFunc()
|
||||
|
||||
However, the namespace cannot be resolved on it's own: >
|
||||
However, the namespace cannot be resolved on its own: >
|
||||
import "that.vim"
|
||||
echo s:that
|
||||
" ERROR: E1060: Expected dot after name: s:that
|
||||
|
||||
@@ -257,13 +257,13 @@ and 'winminwidth' are relevant.
|
||||
:vert[ical] {cmd}
|
||||
Execute {cmd}. If it contains a command that splits a window,
|
||||
it will be split vertically. For `vertical wincmd =` windows
|
||||
will be equialized only vertically.
|
||||
will be equalized only vertically.
|
||||
Doesn't work for |:execute| and |:normal|.
|
||||
|
||||
*:hor* *:horizontal*
|
||||
:hor[izontal] {cmd}
|
||||
Execute {cmd}. Currently only makes a difference for
|
||||
`horizontal wincmd =`, which will equal windows only
|
||||
`horizontal wincmd =`, which will equalize windows only
|
||||
horizontally.
|
||||
|
||||
:lefta[bove] {cmd} *:lefta* *:leftabove*
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim support file to detect file types
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2022 Jul 5
|
||||
" Last Change: 2022 Sep 11
|
||||
|
||||
" Listen very carefully, I will say this only once
|
||||
if exists("did_load_filetypes")
|
||||
@@ -448,6 +448,9 @@ endif
|
||||
" Lynx config files
|
||||
au BufNewFile,BufRead lynx.cfg setf lynx
|
||||
|
||||
" LyRiCs
|
||||
au BufNewFile,BufRead *.lrc setf lyrics
|
||||
|
||||
" Modula-3 configuration language (must be before *.cfg and *makefile)
|
||||
au BufNewFile,BufRead *.quake,cm3.cfg setf m3quake
|
||||
au BufNewFile,BufRead m3makefile,m3overrides setf m3build
|
||||
@@ -720,9 +723,16 @@ au BufNewFile,BufRead *.git/worktrees/*/config.worktree setf gitconfig
|
||||
au BufNewFile,BufRead .gitmodules,*.git/modules/*/config setf gitconfig
|
||||
if !empty($XDG_CONFIG_HOME)
|
||||
au BufNewFile,BufRead $XDG_CONFIG_HOME/git/config setf gitconfig
|
||||
au BufNewFile,BufRead $XDG_CONFIG_HOME/git/attributes setf gitattributes
|
||||
au BufNewFile,BufRead $XDG_CONFIG_HOME/git/ignore setf gitignore
|
||||
endif
|
||||
au BufNewFile,BufRead git-rebase-todo setf gitrebase
|
||||
au BufRead,BufNewFile .gitsendemail.msg.?????? setf gitsendemail
|
||||
au BufNewFile,BufRead .gitattributes,*.git/info/attributes setf gitattributes
|
||||
au BufNewFile,BufRead */.config/git/attributes setf gitattributes
|
||||
au BufNewFile,BufRead */etc/gitattributes setf gitattributes
|
||||
au BufNewFile,BufRead .gitignore,*.git/info/exclude setf gitignore
|
||||
au BufNewFile,BufRead */.config/git/ignore setf gitignore
|
||||
au BufNewFile,BufRead git-rebase-todo setf gitrebase
|
||||
au BufRead,BufNewFile .gitsendemail.msg.?????? setf gitsendemail
|
||||
au BufNewFile,BufRead *.git/*
|
||||
\ if getline(1) =~# '^\x\{40,\}\>\|^ref: ' |
|
||||
\ setf git |
|
||||
@@ -867,11 +877,11 @@ au BufNewFile,BufRead *.htt,*.htb setf httest
|
||||
|
||||
" i3
|
||||
au BufNewFile,BufRead */i3/config setf i3config
|
||||
au BufNewFile,BufRead */.i3/config setf i3config
|
||||
au BufNewFile,BufRead */.i3/config setf i3config
|
||||
|
||||
" sway
|
||||
au BufNewFile,BufRead */sway/config setf swayconfig
|
||||
au BufNewFile,BufRead */.sway/config setf swayconfig
|
||||
au BufNewFile,BufRead */.sway/config setf swayconfig
|
||||
|
||||
" Icon
|
||||
au BufNewFile,BufRead *.icn setf icon
|
||||
@@ -940,7 +950,7 @@ au BufNewFile,BufRead *.java,*.jav setf java
|
||||
au BufNewFile,BufRead *.jj,*.jjt setf javacc
|
||||
|
||||
" JavaScript, ECMAScript, ES module script, CommonJS script
|
||||
au BufNewFile,BufRead *.js,*.javascript,*.es,*.mjs,*.cjs setf javascript
|
||||
au BufNewFile,BufRead *.js,*.jsm,*.javascript,*.es,*.mjs,*.cjs setf javascript
|
||||
|
||||
" JavaScript with React
|
||||
au BufNewFile,BufRead *.jsx setf javascriptreact
|
||||
@@ -978,6 +988,9 @@ au BufNewFile,BufRead .babelrc,.eslintrc,.prettierrc,.firebaserc setf json
|
||||
" JSONC
|
||||
au BufNewFile,BufRead *.jsonc setf jsonc
|
||||
|
||||
" Jsonnet
|
||||
au BufNewFile,BufRead *.jsonnet,*.libjsonnet setf jsonnet
|
||||
|
||||
" Julia
|
||||
au BufNewFile,BufRead *.jl setf julia
|
||||
|
||||
@@ -1316,7 +1329,7 @@ au BufNewFile,BufRead *.or setf openroad
|
||||
au BufNewFile,BufRead *.[Oo][Pp][Ll] setf opl
|
||||
|
||||
" OpenSCAD
|
||||
au BufNewFile,BufRead *.scad setf openscad
|
||||
au BufNewFile,BufRead *.scad setf openscad
|
||||
|
||||
" Oracle config file
|
||||
au BufNewFile,BufRead *.ora setf ora
|
||||
@@ -1391,7 +1404,8 @@ au BufNewFile,BufRead *.pod setf pod
|
||||
" Also Phtml (was used for PHP 2 in the past).
|
||||
" Also .ctp for Cake template file.
|
||||
" Also .phpt for php tests.
|
||||
au BufNewFile,BufRead *.php,*.php\d,*.phtml,*.ctp,*.phpt setf php
|
||||
" Also .theme for Drupal theme files.
|
||||
au BufNewFile,BufRead *.php,*.php\d,*.phtml,*.ctp,*.phpt,*.theme setf php
|
||||
|
||||
" PHP config
|
||||
au BufNewFile,BufRead php.ini-* setf dosini
|
||||
@@ -1712,6 +1726,9 @@ au BufNewFile,BufRead *.sdl,*.pr setf sdl
|
||||
" sed
|
||||
au BufNewFile,BufRead *.sed setf sed
|
||||
|
||||
" SubRip
|
||||
au BufNewFile,BufRead *.srt setf srt
|
||||
|
||||
" svelte
|
||||
au BufNewFile,BufRead *.svelte setf svelte
|
||||
|
||||
@@ -2094,6 +2111,9 @@ au BufNewFile,BufRead */.config/upstart/*.override setf upstart
|
||||
" Vala
|
||||
au BufNewFile,BufRead *.vala setf vala
|
||||
|
||||
" VDF
|
||||
au BufNewFile,BufRead *.vdf setf vdf
|
||||
|
||||
" VDM
|
||||
au BufRead,BufNewFile *.vdmpp,*.vpp setf vdmpp
|
||||
au BufRead,BufNewFile *.vdmrt setf vdmrt
|
||||
@@ -2568,6 +2588,8 @@ au BufNewFile,BufRead *.txt
|
||||
\| setf text
|
||||
\| endif
|
||||
|
||||
" Blueprint markup files
|
||||
au BufNewFile,BufRead *.blp setf blueprint
|
||||
|
||||
" Use the filetype detect plugins. They may overrule any of the previously
|
||||
" detected filetypes.
|
||||
|
||||
16
runtime/ftplugin/crontab.vim
Normal file
16
runtime/ftplugin/crontab.vim
Normal file
@@ -0,0 +1,16 @@
|
||||
" Vim filetype plugin
|
||||
" Language: crontab
|
||||
" Maintainer: Keith Smiley <keithbsmiley@gmail.com>
|
||||
" Last Change: 2022 Sep 11
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
|
||||
" Don't load another plugin for this buffer
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let b:undo_ftplugin = "setl commentstring<"
|
||||
|
||||
setlocal commentstring=#\ %s
|
||||
@@ -3,6 +3,7 @@ vim9script
|
||||
# Vim filetype plugin file
|
||||
# Language: gdscript (Godot game engine scripting language)
|
||||
# Maintainer: Maxim Kim <habamax@gmail.com>
|
||||
# Website: https://github.com/habamax/vim-gdscript
|
||||
|
||||
if exists("b:did_ftplugin") | finish | endif
|
||||
|
||||
@@ -40,14 +41,19 @@ def GDScriptFoldLevel(): string
|
||||
enddef
|
||||
|
||||
|
||||
# Next/Previous section
|
||||
def NextSection(back: bool, cnt: number)
|
||||
for n in range(cnt)
|
||||
search('^\s*func\s', back ? 'bW' : 'W')
|
||||
endfor
|
||||
enddef
|
||||
if !exists("g:no_plugin_maps")
|
||||
# Next/Previous section
|
||||
def NextSection(back: bool, cnt: number)
|
||||
for n in range(cnt)
|
||||
search('^\s*func\s', back ? 'bW' : 'W')
|
||||
endfor
|
||||
enddef
|
||||
|
||||
nnoremap <silent><buffer> ]] <scriptcmd>NextSection(false, v:count1)<CR>
|
||||
nnoremap <silent><buffer> [[ <scriptcmd>NextSection(true, v:count1)<CR>
|
||||
xmap <silent><buffer><expr> ]] "\<esc>" .. v:count1 .. ']]m>gv'
|
||||
xmap <silent><buffer><expr> [[ "\<esc>" .. v:count1 .. '[[m>gv'
|
||||
nnoremap <silent><buffer> ]] <scriptcmd>NextSection(false, v:count1)<CR>
|
||||
nnoremap <silent><buffer> [[ <scriptcmd>NextSection(true, v:count1)<CR>
|
||||
xmap <buffer><expr> ]] $'<C-\><C-N>{v:count1}]]m>gv'
|
||||
xmap <buffer><expr> [[ $'<C-\><C-N>{v:count1}[[m>gv'
|
||||
b:undo_ftplugin ..=
|
||||
\ " | silent exe 'unmap <buffer> [['"
|
||||
\ .. " | silent exe 'unmap <buffer> ]]'"
|
||||
endif
|
||||
|
||||
@@ -3,6 +3,7 @@ vim9script
|
||||
# Vim filetype plugin file
|
||||
# Language: Godot shading language
|
||||
# Maintainer: Maxim Kim <habamax@gmail.com>
|
||||
# Website: https://github.com/habamax/vim-gdscript
|
||||
|
||||
if exists("b:did_ftplugin") | finish | endif
|
||||
b:did_ftplugin = 1
|
||||
|
||||
13
runtime/ftplugin/gitattributes.vim
Normal file
13
runtime/ftplugin/gitattributes.vim
Normal file
@@ -0,0 +1,13 @@
|
||||
" Vim filetype plugin
|
||||
" Language: git attributes
|
||||
" Maintainer: ObserverOfTime <chronobserver@disroot.org>
|
||||
" Last Change: 2022 Sep 08
|
||||
|
||||
if exists('b:did_ftplugin')
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
setl comments=:# commentstring=#\ %s
|
||||
|
||||
let b:undo_ftplugin = 'setl com< cms<'
|
||||
13
runtime/ftplugin/gitignore.vim
Normal file
13
runtime/ftplugin/gitignore.vim
Normal file
@@ -0,0 +1,13 @@
|
||||
" Vim filetype plugin
|
||||
" Language: git ignore
|
||||
" Maintainer: ObserverOfTime <chronobserver@disroot.org>
|
||||
" Last Change: 2022 Sep 10
|
||||
|
||||
if exists('b:did_ftplugin')
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
setl comments=:# commentstring=#\ %s
|
||||
|
||||
let b:undo_ftplugin = 'setl com< cms<'
|
||||
17
runtime/ftplugin/jsonnet.vim
Normal file
17
runtime/ftplugin/jsonnet.vim
Normal file
@@ -0,0 +1,17 @@
|
||||
" Vim filetype plugin
|
||||
" Language: Jsonnet
|
||||
" Maintainer: Cezary Drożak <cezary@drozak.net>
|
||||
" URL: https://github.com/google/vim-jsonnet
|
||||
" Last Change: 2022-09-08
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
|
||||
" Don't load another plugin for this buffer
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
setlocal commentstring=//\ %s
|
||||
|
||||
let b:undo_ftplugin = "setlocal commentstring<"
|
||||
@@ -1,46 +1,46 @@
|
||||
" Vim filetype plugin file.
|
||||
" Language: Lua
|
||||
" Language: Lua
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Previous Maintainer: Max Ischenko <mfi@ukr.net>
|
||||
" Last Change: 2021 Nov 15
|
||||
" Contributor: Dorai Sitaram <ds26@gte.com>
|
||||
" Last Change: 2022 Sep 05
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
|
||||
" Don't load another plugin for this buffer
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" Set 'formatoptions' to break comment lines but not other lines, and insert
|
||||
" the comment leader when hitting <CR> or using "o".
|
||||
setlocal comments=:--
|
||||
setlocal commentstring=--\ %s
|
||||
setlocal formatoptions-=t formatoptions+=croql
|
||||
|
||||
setlocal comments=:--
|
||||
setlocal commentstring=--%s
|
||||
let &l:define = '\<function\|\<local\%(\s\+function\)\='
|
||||
|
||||
setlocal suffixesadd=.lua
|
||||
|
||||
let b:undo_ftplugin = "setlocal fo< com< cms< sua<"
|
||||
let b:undo_ftplugin = "setlocal cms< com< def< fo< sua<"
|
||||
|
||||
if exists("loaded_matchit") && !exists("b:match_words")
|
||||
let b:match_ignorecase = 0
|
||||
let b:match_words =
|
||||
\ '\<\%(do\|function\|if\)\>:' .
|
||||
\ '\<\%(return\|else\|elseif\)\>:' .
|
||||
\ '\<end\>,' .
|
||||
\ '\<repeat\>:\<until\>,' .
|
||||
\ '\%(--\)\=\[\(=*\)\[:]\1]'
|
||||
let b:undo_ftplugin .= " | unlet! b:match_words b:match_ignorecase"
|
||||
\ '\<\%(do\|function\|if\)\>:' ..
|
||||
\ '\<\%(return\|else\|elseif\)\>:' ..
|
||||
\ '\<end\>,' ..
|
||||
\ '\<repeat\>:\<until\>,' ..
|
||||
\ '\%(--\)\=\[\(=*\)\[:]\1]'
|
||||
let b:undo_ftplugin ..= " | unlet! b:match_words b:match_ignorecase"
|
||||
endif
|
||||
|
||||
if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
|
||||
let b:browsefilter = "Lua Source Files (*.lua)\t*.lua\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
let b:undo_ftplugin .= " | unlet! b:browsefilter"
|
||||
let b:browsefilter = "Lua Source Files (*.lua)\t*.lua\n" ..
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
let b:undo_ftplugin ..= " | unlet! b:browsefilter"
|
||||
endif
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim: nowrap sw=2 sts=2 ts=8 noet:
|
||||
|
||||
29
runtime/ftplugin/lynx.vim
Normal file
29
runtime/ftplugin/lynx.vim
Normal file
@@ -0,0 +1,29 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: Lynx Web Browser Configuration
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2022 Sep 09
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
setlocal comments=:#
|
||||
setlocal commentstring=#\ %s
|
||||
setlocal formatoptions-=t formatoptions+=croql
|
||||
|
||||
let b:undo_ftplugin = "setl cms< com< fo<"
|
||||
|
||||
if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
|
||||
let b:browsefilter = "Lynx Configuration Files (lynx.cfg .lynxrc)\tlynx.cfg;.lynxrc\n" ..
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
let b:undo_ftplugin ..= " | unlet! b:browsefilter"
|
||||
endif
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim: nowrap sw=2 sts=2 ts=8 noet:
|
||||
@@ -1,12 +1,12 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: sh
|
||||
"
|
||||
" This runtime file is looking for a new maintainer.
|
||||
"
|
||||
" Former maintainer: Dan Sharp
|
||||
" Last Changed: 20 Jan 2009
|
||||
" Language: sh
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Previous Maintainer: Dan Sharp
|
||||
" Last Change: 2022 Sep 07
|
||||
|
||||
if exists("b:did_ftplugin") | finish | endif
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
" Make sure the continuation lines below do not cause problems in
|
||||
@@ -14,28 +14,35 @@ let b:did_ftplugin = 1
|
||||
let s:save_cpo = &cpo
|
||||
set cpo-=C
|
||||
|
||||
setlocal commentstring=#%s
|
||||
setlocal comments=:#
|
||||
setlocal commentstring=#\ %s
|
||||
setlocal formatoptions-=t formatoptions+=croql
|
||||
|
||||
let b:undo_ftplugin = "setl com< cms< fo<"
|
||||
|
||||
" Shell: thanks to Johannes Zellner
|
||||
if exists("loaded_matchit")
|
||||
let s:sol = '\%(;\s*\|^\s*\)\@<=' " start of line
|
||||
let b:match_words =
|
||||
\ s:sol.'if\>:' . s:sol.'elif\>:' . s:sol.'else\>:' . s:sol. 'fi\>,' .
|
||||
\ s:sol.'\%(for\|while\)\>:' . s:sol. 'done\>,' .
|
||||
\ s:sol.'case\>:' . s:sol. 'esac\>'
|
||||
if exists("loaded_matchit") && !exists("b:match_words")
|
||||
let b:match_ignorecase = 0
|
||||
let s:sol = '\%(;\s*\|^\s*\)\@<=' " start of line
|
||||
let b:match_words =
|
||||
\ s:sol .. 'if\>:' .. s:sol.'elif\>:' .. s:sol.'else\>:' .. s:sol .. 'fi\>,' ..
|
||||
\ s:sol .. '\%(for\|while\)\>:' .. s:sol .. 'done\>,' ..
|
||||
\ s:sol .. 'case\>:' .. s:sol .. 'esac\>'
|
||||
unlet s:sol
|
||||
let b:undo_ftplugin ..= " | unlet! b:match_ignorecase b:match_words"
|
||||
endif
|
||||
|
||||
" Change the :browse e filter to primarily show shell-related files.
|
||||
if has("gui_win32")
|
||||
let b:browsefilter="Bourne Shell Scripts (*.sh)\t*.sh\n" .
|
||||
\ "Korn Shell Scripts (*.ksh)\t*.ksh\n" .
|
||||
\ "Bash Shell Scripts (*.bash)\t*.bash\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
|
||||
let b:browsefilter = "Bourne Shell Scripts (*.sh)\t*.sh\n" ..
|
||||
\ "Korn Shell Scripts (*.ksh)\t*.ksh\n" ..
|
||||
\ "Bash Shell Scripts (*.bash)\t*.bash\n" ..
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
let b:undo_ftplugin ..= " | unlet! b:browsefilter"
|
||||
endif
|
||||
|
||||
" Undo the stuff we changed.
|
||||
let b:undo_ftplugin = "setlocal cms< | unlet! b:browsefilter b:match_words"
|
||||
|
||||
" Restore the saved compatibility options.
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: nowrap sw=2 sts=2 ts=8 noet:
|
||||
|
||||
14
runtime/ftplugin/vdf.vim
Normal file
14
runtime/ftplugin/vdf.vim
Normal file
@@ -0,0 +1,14 @@
|
||||
" Vim filetype plugin
|
||||
" Language: Valve Data Format
|
||||
" Maintainer: ObserverOfTime <chronobserver@disroot.org>
|
||||
" Last Change: 2022 Sep 15
|
||||
|
||||
if exists('b:did_ftplugin')
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
setl comments=:// commentstring=//\ %s
|
||||
setl foldmethod=syntax
|
||||
|
||||
let b:undo_ftplugin = 'setl com< cms< fdm<'
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim filetype plugin
|
||||
" Language: Vim
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2022 Aug 4
|
||||
" Last Change: 2022 Sep 09
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
@@ -48,17 +48,17 @@ setlocal isk+=#
|
||||
" Use :help to lookup the keyword under the cursor with K.
|
||||
setlocal keywordprg=:help
|
||||
|
||||
" Comments starts with # in Vim9 script. We have to guess which one to use.
|
||||
if "\n" .. getline(1, 10)->join("\n") =~# '\n\s*vim9\%[script]\>'
|
||||
" Set 'comments' to format dashed lists in comments
|
||||
setlocal com=sO:#\ -,mO:#\ \ ,eO:##,:#
|
||||
" Comments starts with # in Vim9 script
|
||||
setlocal commentstring=#%s
|
||||
else
|
||||
setlocal com=sO:\"\ -,mO:\"\ \ ,eO:\"\",:\"
|
||||
" Comments starts with a double quote in legacy script
|
||||
setlocal commentstring=\"%s
|
||||
endif
|
||||
|
||||
" Set 'comments' to format dashed lists in comments, both in Vim9 and legacy
|
||||
" script.
|
||||
setlocal com=sO:#\ -,mO:#\ \ ,eO:##,:#,sO:\"\ -,mO:\"\ \ ,eO:\"\",:\"
|
||||
|
||||
" set 'include' to recognize import commands
|
||||
setlocal include=\\v^\\s*import\\s*(autoload)?
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: Zimbu
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2021 Nov 12
|
||||
" Last Change: 2022 Sep 07
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
@@ -28,7 +28,7 @@ endif
|
||||
|
||||
" Set 'comments' to format dashed lists in comments.
|
||||
" And to keep Zudocu comment characters.
|
||||
setlocal comments=sO:#\ -,mO:#\ \ ,:#=,:#-,:#%,:#
|
||||
setlocal comments=sO:#\ -,mO:#\ \ ,exO:#/,s:/*,m:\ ,ex:*/,:#=,:#-,:#%,:#
|
||||
|
||||
setlocal errorformat^=%f\ line\ %l\ col\ %c:\ %m,ERROR:\ %m
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" Language: Zsh shell script
|
||||
" Maintainer: Christian Brabandt <cb@256bit.org>
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2020-09-01
|
||||
" Latest Revision: 2021-04-03
|
||||
" License: Vim (see :h license)
|
||||
" Repository: https://github.com/chrisbra/vim-zsh
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
" Maintainer: Eli Parra <eli@elzr.com> https://github.com/elzr/vim-json
|
||||
" Last Change: 2020 Aug 30
|
||||
" https://github.com/jakar/vim-json/commit/20b650e22aa750c4ab6a66aa646bdd95d7cd548a#diff-e81fc111b2052e306d126bd9989f7b7c
|
||||
" 2022 Sep 07: b:undo_indent added by Doug Kearns
|
||||
" Original Author: Rogerz Zhang <rogerz.zhang at gmail.com> http://github.com/rogerz/vim-json
|
||||
" Acknowledgement: Based off of vim-javascript maintained by Darrick Wiebe
|
||||
" http://www.vim.org/scripts/script.php?script_id=2765
|
||||
@@ -22,6 +23,8 @@ setlocal nosmartindent
|
||||
setlocal indentexpr=GetJSONIndent(v:lnum)
|
||||
setlocal indentkeys=0{,0},0),0[,0],!^F,o,O,e
|
||||
|
||||
let b:undo_indent = "setl inde< indk< si<"
|
||||
|
||||
" Only define the function once.
|
||||
if exists("*GetJSONIndent")
|
||||
finish
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
" Maintainer: Marcus Aurelius Farias <marcus.cf 'at' bol.com.br>
|
||||
" First Author: Max Ischenko <mfi 'at' ukr.net>
|
||||
" Last Change: 2017 Jun 13
|
||||
" 2022 Sep 07: b:undo_indent added by Doug Kearns
|
||||
|
||||
" Only load this indent file when no other was loaded.
|
||||
if exists("b:did_indent")
|
||||
@@ -18,6 +19,8 @@ setlocal indentkeys+=0=end,0=until
|
||||
|
||||
setlocal autoindent
|
||||
|
||||
let b:undo_indent = "setlocal autoindent< indentexpr< indentkeys<"
|
||||
|
||||
" Only define the function once.
|
||||
if exists("*GetLuaIndent")
|
||||
finish
|
||||
|
||||
@@ -11,6 +11,7 @@ syn on
|
||||
set nowrapscan
|
||||
set report=9999
|
||||
set modeline
|
||||
set debug=throw
|
||||
|
||||
au! SwapExists * call HandleSwapExists()
|
||||
func HandleSwapExists()
|
||||
@@ -84,7 +85,12 @@ for fname in glob('testdir/*.in', 1, 1)
|
||||
|
||||
exe start + 1
|
||||
if pattern == ''
|
||||
exe 'normal =' . (end - 1) . 'G'
|
||||
try
|
||||
exe 'normal =' . (end - 1) . 'G'
|
||||
catch
|
||||
call append(indent_at, 'ERROR: ' . v:exception)
|
||||
let failed = 1
|
||||
endtry
|
||||
else
|
||||
let lnum = search(pattern)
|
||||
if lnum <= 0
|
||||
@@ -99,7 +105,12 @@ for fname in glob('testdir/*.in', 1, 1)
|
||||
else
|
||||
exe lnum - 1
|
||||
endif
|
||||
normal ==
|
||||
try
|
||||
normal ==
|
||||
catch
|
||||
call append(indent_at, 'ERROR: ' . v:exception)
|
||||
let failed = 1
|
||||
endtry
|
||||
endif
|
||||
endif
|
||||
endwhile
|
||||
|
||||
@@ -36,6 +36,13 @@ let t = [
|
||||
\ },
|
||||
\ ]
|
||||
|
||||
def Func()
|
||||
var d = dd
|
||||
->extend({
|
||||
})
|
||||
eval 0
|
||||
enddef
|
||||
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
|
||||
@@ -36,6 +36,13 @@ let t = [
|
||||
\ },
|
||||
\ ]
|
||||
|
||||
def Func()
|
||||
var d = dd
|
||||
->extend({
|
||||
})
|
||||
eval 0
|
||||
enddef
|
||||
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
|
||||
@@ -33,7 +33,9 @@ function GetVimIndent()
|
||||
endtry
|
||||
endfunc
|
||||
|
||||
let s:lineContPat = '^\s*\(\\\|"\\ \)'
|
||||
" Legacy script line continuation and Vim9 script operators that must mean an
|
||||
" expression that continues from the previous line.
|
||||
let s:lineContPat = '^\s*\(\\\|"\\ \|->\)'
|
||||
|
||||
function GetVimIndentIntern()
|
||||
" If the current line has line continuation and the previous one too, use
|
||||
@@ -133,15 +135,15 @@ function GetVimIndentIntern()
|
||||
endif
|
||||
endif
|
||||
|
||||
" For a line starting with "}" find the matching "{". If it is at the start
|
||||
" of the line align with it, probably end of a block.
|
||||
" For a line starting with "}" find the matching "{". Align with that line,
|
||||
" it is either the matching block start or dictionary start.
|
||||
" Use the mapped "%" from matchit to find the match, otherwise we may match
|
||||
" a { inside a comment or string.
|
||||
if cur_text =~ '^\s*}'
|
||||
if maparg('%') != ''
|
||||
exe v:lnum
|
||||
silent! normal %
|
||||
if line('.') < v:lnum && getline('.') =~ '^\s*{'
|
||||
if line('.') < v:lnum
|
||||
let ind = indent('.')
|
||||
endif
|
||||
else
|
||||
@@ -149,19 +151,33 @@ function GetVimIndentIntern()
|
||||
endif
|
||||
endif
|
||||
|
||||
" Below a line starting with "}" find the matching "{". If it is at the
|
||||
" end of the line we must be below the end of a dictionary.
|
||||
if prev_text =~ '^\s*}'
|
||||
if maparg('%') != ''
|
||||
exe lnum
|
||||
silent! normal %
|
||||
if line('.') == lnum || getline('.') !~ '^\s*{'
|
||||
let ind = ind - shiftwidth()
|
||||
" Look back for a line to align with
|
||||
while lnum > 1
|
||||
" Below a line starting with "}" find the matching "{".
|
||||
if prev_text =~ '^\s*}'
|
||||
if maparg('%') != ''
|
||||
exe lnum
|
||||
silent! normal %
|
||||
if line('.') < lnum
|
||||
let lnum = line('.')
|
||||
let ind = indent(lnum)
|
||||
let prev_text = getline(lnum)
|
||||
else
|
||||
break
|
||||
endif
|
||||
else
|
||||
" todo: use searchpair() to find a match
|
||||
break
|
||||
endif
|
||||
elseif prev_text =~ s:lineContPat
|
||||
" looks like a continuation like, go back one line
|
||||
let lnum = lnum - 1
|
||||
let ind = indent(lnum)
|
||||
let prev_text = getline(lnum)
|
||||
else
|
||||
" todo: use searchpair() to find a match
|
||||
break
|
||||
endif
|
||||
endif
|
||||
endwhile
|
||||
|
||||
" Below a line starting with "]" we must be below the end of a list.
|
||||
" Include a "}" and "},} in case a dictionary ends too.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim indent file
|
||||
" Language: YAML
|
||||
" Maintainer: Nikolai Pavlov <zyx.vim@gmail.com>
|
||||
" Last Update: Lukas Reineke
|
||||
" Last Updates: Lukas Reineke, "lacygoill"
|
||||
" Last Change: 2022 Jun 17
|
||||
|
||||
" Only load this indent file when no other was loaded.
|
||||
@@ -29,8 +29,8 @@ function s:FindPrevLessIndentedLine(lnum, ...)
|
||||
let prevlnum = prevnonblank(a:lnum-1)
|
||||
let curindent = a:0 ? a:1 : indent(a:lnum)
|
||||
while prevlnum
|
||||
\&& indent(prevlnum) >= curindent
|
||||
\&& getline(prevlnum) !~# '^\s*#'
|
||||
\ && indent(prevlnum) >= curindent
|
||||
\ && getline(prevlnum) !~# '^\s*#'
|
||||
let prevlnum = prevnonblank(prevlnum-1)
|
||||
endwhile
|
||||
return prevlnum
|
||||
@@ -54,7 +54,7 @@ let s:c_ns_anchor_name = s:c_ns_anchor_char .. '+'
|
||||
let s:c_ns_anchor_property = '\v\&' .. s:c_ns_anchor_name
|
||||
|
||||
let s:ns_word_char = '\v[[:alnum:]_\-]'
|
||||
let s:ns_tag_char = '\v%(%\x\x|' .. s:ns_word_char .. '|[#/;?:@&=+$.~*''()])'
|
||||
let s:ns_tag_char = '\v%(\x\x|' .. s:ns_word_char .. '|[#/;?:@&=+$.~*''()])'
|
||||
let s:c_named_tag_handle = '\v\!' .. s:ns_word_char .. '+\!'
|
||||
let s:c_secondary_tag_handle = '\v\!\!'
|
||||
let s:c_primary_tag_handle = '\v\!'
|
||||
@@ -63,7 +63,7 @@ let s:c_tag_handle = '\v%(' .. s:c_named_tag_handle.
|
||||
\ '|' .. s:c_primary_tag_handle .. ')'
|
||||
let s:c_ns_shorthand_tag = '\v' .. s:c_tag_handle .. s:ns_tag_char .. '+'
|
||||
let s:c_non_specific_tag = '\v\!'
|
||||
let s:ns_uri_char = '\v%(%\x\x|' .. s:ns_word_char .. '\v|[#/;?:@&=+$,.!~*''()[\]])'
|
||||
let s:ns_uri_char = '\v%(\x\x|' .. s:ns_word_char .. '\v|[#/;?:@&=+$,.!~*''()[\]])'
|
||||
let s:c_verbatim_tag = '\v\!\<' .. s:ns_uri_char.. '+\>'
|
||||
let s:c_ns_tag_property = '\v' .. s:c_verbatim_tag.
|
||||
\ '\v|' .. s:c_ns_shorthand_tag.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" These commands create the option window.
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2022 Apr 07
|
||||
" Last Change: 2022 Sep 11
|
||||
|
||||
" If there already is an option window, jump to that one.
|
||||
let buf = bufnr('option-window')
|
||||
@@ -515,6 +515,8 @@ call <SID>AddOption("splitbelow", gettext("a new window is put below the current
|
||||
call <SID>BinOptionG("sb", &sb)
|
||||
call <SID>AddOption("splitright", gettext("a new window is put right of the current one"))
|
||||
call <SID>BinOptionG("spr", &spr)
|
||||
call <SID>AddOption("splitscroll", gettext("determines scroll behavior for split windows"))
|
||||
call <SID>BinOptionG("spsc", &spsc)
|
||||
call <SID>AddOption("scrollbind", gettext("this window scrolls together with other bound windows"))
|
||||
call append("$", "\t" .. s:local_to_window)
|
||||
call <SID>BinOptionL("scb")
|
||||
|
||||
@@ -2,12 +2,13 @@
|
||||
" Language: gdresource
|
||||
" Maintainer: Maxim Kim <habamax@gmail.com>
|
||||
" Filenames: *.tscn, *.tres
|
||||
" Website: https://github.com/habamax/vim-gdscript
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:keepcpo= &cpo
|
||||
let s:keepcpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
syn match gdResourceNumber "\<0x\%(_\=\x\)\+\>"
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||
" Vim syntax file for Godot gdscript
|
||||
" Language: gdscript
|
||||
" Maintainer: Maxim Kim <habamax@gmail.com>
|
||||
" Website: https://github.com/habamax/vim-gdscript
|
||||
" Filenames: *.gd
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:keepcpo= &cpo
|
||||
let s:keepcpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
syntax sync maxlines=100
|
||||
@@ -17,8 +18,6 @@ syn keyword gdscriptRepeat for while break continue
|
||||
|
||||
syn keyword gdscriptOperator is as not and or in
|
||||
|
||||
syn match gdscriptClass "\v<\u\w+>"
|
||||
syn match gdscriptConstant "\<[_A-Z]\+[0-9_A-Z]*\>"
|
||||
syn match gdscriptBlockStart ":\s*$"
|
||||
|
||||
syn keyword gdscriptKeyword null self owner parent tool
|
||||
@@ -32,14 +31,16 @@ syn keyword gdscriptStatement onready
|
||||
syn keyword gdscriptStatement class_name extends
|
||||
|
||||
syn keyword gdscriptType void bool int float String contained
|
||||
syn match gdscriptType ":\s*\zs\h\w*" contained
|
||||
syn match gdscriptType "->\s*\zs\h\w*" contained
|
||||
|
||||
syn keyword gdscriptStatement var nextgroup=gdscriptTypeDecl skipwhite
|
||||
syn keyword gdscriptStatement const nextgroup=gdscriptTypeDecl skipwhite
|
||||
syn match gdscriptTypeDecl "\h\w*\s*:\s*\h\w*" contains=gdscriptOperator,gdscriptType,gdscriptClass contained skipwhite
|
||||
syn match gdscriptTypeDecl "->\s*\h\w*" contains=gdscriptOperator,gdscriptType,gdscriptClass skipwhite
|
||||
syn match gdscriptTypeDecl "\h\w*\s*:\s*\h\w*" contains=gdscriptType contained skipwhite
|
||||
syn match gdscriptTypeDecl "->\s*\h\w*" contains=gdscriptType skipwhite
|
||||
|
||||
syn keyword gdscriptStatement export nextgroup=gdscriptExportTypeDecl skipwhite
|
||||
syn match gdscriptExportTypeDecl "(.\{-}[,)]" contains=gdscriptOperator,gdscriptType,gdscriptClass contained skipwhite
|
||||
syn match gdscriptExportTypeDecl "(.\{-}[,)]" contains=gdscriptOperator,gdscriptType contained skipwhite
|
||||
|
||||
syn keyword gdscriptStatement setget nextgroup=gdscriptSetGet,gdscriptSetGetSeparator skipwhite
|
||||
syn match gdscriptSetGet "\h\w*" nextgroup=gdscriptSetGetSeparator display contained skipwhite
|
||||
@@ -83,8 +84,6 @@ hi def link gdscriptOperator Operator
|
||||
hi def link gdscriptRepeat Repeat
|
||||
hi def link gdscriptSetGet Function
|
||||
hi def link gdscriptFunctionName Function
|
||||
hi def link gdscriptClass Type
|
||||
hi def link gdscriptConstant Constant
|
||||
hi def link gdscriptBuiltinStruct Typedef
|
||||
hi def link gdscriptComment Comment
|
||||
hi def link gdscriptString String
|
||||
|
||||
63
runtime/syntax/gitattributes.vim
Normal file
63
runtime/syntax/gitattributes.vim
Normal file
@@ -0,0 +1,63 @@
|
||||
" Vim syntax file
|
||||
" Language: git attributes
|
||||
" Maintainer: ObserverOfTime <chronobserver@disroot.org>
|
||||
" Filenames: .gitattributes, *.git/info/attributes
|
||||
" Last Change: 2022 Sep 09
|
||||
|
||||
if exists('b:current_syntax')
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpoptions
|
||||
set cpoptions&vim
|
||||
|
||||
" Comment
|
||||
syn keyword gitattributesTodo contained TODO FIXME XXX
|
||||
syn match gitattributesComment /^\s*#.*/ contains=gitattributesTodo
|
||||
|
||||
" Pattern
|
||||
syn match gitattributesPattern /^\s*#\@!\(".\+"\|\S\+\)/ skipwhite
|
||||
\ nextgroup=gitattributesAttrPrefixed,gitattributesAttrAssigned skipwhite
|
||||
\ contains=gitattributesGlob,gitattributesRange,gitattributesSeparator
|
||||
syn match gitattributesGlob /\\\@1<![?*]/ contained
|
||||
syn match gitattributesRange /\\\@1<!\[.\{-}\]/ contained
|
||||
syn match gitattributesSeparator '/' contained
|
||||
|
||||
" Attribute
|
||||
syn match gitattributesAttrPrefixed /[!-]\?[A-Za-z0-9_.][-A-Za-z0-9_.]*/
|
||||
\ transparent contained skipwhite
|
||||
\ nextgroup=gitattributesAttrPrefixed,gitattributesAttrAssigned
|
||||
\ contains=gitattributesPrefix,gitattributesName
|
||||
syn match gitattributesAttrAssigned /[A-Za-z0-9_.][-A-Za-z0-9_.]*=\S\+/
|
||||
\ transparent contained skipwhite
|
||||
\ nextgroup=gitattributesAttrPrefixed,gitattributesAttrAssigned
|
||||
\ contains=gitattributesName,gitattributesAssign,gitattributesBoolean,gitattributesString
|
||||
syn match gitattributesName /[A-Za-z0-9_.][-A-Za-z0-9_.]*/
|
||||
\ contained nextgroup=gitattributesAssign
|
||||
syn match gitattributesPrefix /[!-]/ contained
|
||||
\ nextgroup=gitAttributesName
|
||||
syn match gitattributesAssign '=' contained
|
||||
\ nextgroup=gitattributesBoolean,gitattributesString
|
||||
syn match gitattributesString /=\@1<=\S\+/ contained
|
||||
syn keyword gitattributesBoolean true false contained
|
||||
|
||||
" Macro
|
||||
syn match gitattributesMacro /^\s*\[attr\]\s*\S\+/
|
||||
\ nextgroup=gitattributesAttribute skipwhite
|
||||
|
||||
hi def link gitattributesAssign Operator
|
||||
hi def link gitattributesBoolean Boolean
|
||||
hi def link gitattributesComment Comment
|
||||
hi def link gitattributesGlob Special
|
||||
hi def link gitattributesMacro Define
|
||||
hi def link gitattributesName Identifier
|
||||
hi def link gitattributesPrefix SpecialChar
|
||||
hi def link gitattributesRange Special
|
||||
hi def link gitattributesSeparator Delimiter
|
||||
hi def link gitattributesString String
|
||||
hi def link gitattributesTodo Todo
|
||||
|
||||
let b:current_syntax = 'gitattributes'
|
||||
|
||||
let &cpoptions = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
29
runtime/syntax/gitignore.vim
Normal file
29
runtime/syntax/gitignore.vim
Normal file
@@ -0,0 +1,29 @@
|
||||
" Vim syntax file
|
||||
" Language: git ignore
|
||||
" Maintainer: ObserverOfTime <chronobserver@disroot.org>
|
||||
" Filenames: .gitignore, *.git/info/exclude
|
||||
" Last Change: 2022 Sep 10
|
||||
|
||||
if exists('b:current_syntax')
|
||||
finish
|
||||
endif
|
||||
|
||||
" Comment
|
||||
syn keyword gitignoreTodo contained TODO FIXME XXX
|
||||
syn match gitignoreComment /^#.*/ contains=gitignoreTodo
|
||||
|
||||
" Pattern
|
||||
syn match gitignorePattern /^#\@!.*$/ contains=gitignoreNegation,gitignoreGlob,gitignoreRange,gitignoreSeparator
|
||||
syn match gitignoreNegation /^!/ contained
|
||||
syn match gitignoreGlob /\\\@1<![?*]/ contained
|
||||
syn match gitignoreRange /\\\@1<!\[.\{-}\]/ contained
|
||||
syn match gitignoreSeparator '/' contained
|
||||
|
||||
hi def link gitignoreComment Comment
|
||||
hi def link gitignoreGlob Special
|
||||
hi def link gitignoreNegation SpecialChar
|
||||
hi def link gitignoreRange Special
|
||||
hi def link gitignoreSeparator Delimiter
|
||||
hi def link gitignoreTodo Todo
|
||||
|
||||
let b:current_syntax = 'gitignore'
|
||||
@@ -1,11 +1,12 @@
|
||||
" Vim syntax file
|
||||
" Language: Lua 4.0, Lua 5.0, Lua 5.1 and Lua 5.2
|
||||
" Maintainer: Marcus Aurelius Farias <masserahguard-lua 'at' yahoo com>
|
||||
" First Author: Carlos Augusto Teixeira Mendes <cmendes 'at' inf puc-rio br>
|
||||
" Last Change: 2022 Mar 31
|
||||
" Options: lua_version = 4 or 5
|
||||
" lua_subversion = 0 (4.0, 5.0) or 1 (5.1) or 2 (5.2)
|
||||
" default 5.2
|
||||
" Language: Lua 4.0, Lua 5.0, Lua 5.1, Lua 5.2 and Lua 5.3
|
||||
" Maintainer: Marcus Aurelius Farias <masserahguard-lua 'at' yahoo com>
|
||||
" First Author: Carlos Augusto Teixeira Mendes <cmendes 'at' inf puc-rio br>
|
||||
" Last Change: 2022 Sep 07
|
||||
" Options: lua_version = 4 or 5
|
||||
" lua_subversion = 0 (for 4.0 or 5.0)
|
||||
" or 1, 2, 3 (for 5.1, 5.2 or 5.3)
|
||||
" the default is 5.3
|
||||
|
||||
" quit when a syntax file was already loaded
|
||||
if exists("b:current_syntax")
|
||||
@@ -16,70 +17,78 @@ let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
if !exists("lua_version")
|
||||
" Default is lua 5.2
|
||||
" Default is lua 5.3
|
||||
let lua_version = 5
|
||||
let lua_subversion = 2
|
||||
let lua_subversion = 3
|
||||
elseif !exists("lua_subversion")
|
||||
" lua_version exists, but lua_subversion doesn't. So, set it to 0
|
||||
" lua_version exists, but lua_subversion doesn't. In this case set it to 0
|
||||
let lua_subversion = 0
|
||||
endif
|
||||
|
||||
syn case match
|
||||
|
||||
" syncing method
|
||||
syn sync minlines=100
|
||||
syn sync minlines=1000
|
||||
|
||||
" Comments
|
||||
syn keyword luaTodo contained TODO FIXME XXX
|
||||
syn match luaComment "--.*$" contains=luaTodo,@Spell
|
||||
if lua_version == 5 && lua_subversion == 0
|
||||
syn region luaComment matchgroup=luaComment start="--\[\[" end="\]\]" contains=luaTodo,luaInnerComment,@Spell
|
||||
syn region luaInnerComment contained transparent start="\[\[" end="\]\]"
|
||||
elseif lua_version > 5 || (lua_version == 5 && lua_subversion >= 1)
|
||||
" Comments in Lua 5.1: --[[ ... ]], [=[ ... ]=], [===[ ... ]===], etc.
|
||||
syn region luaComment matchgroup=luaComment start="--\[\z(=*\)\[" end="\]\z1\]" contains=luaTodo,@Spell
|
||||
if lua_version >= 5
|
||||
syn keyword luaMetaMethod __add __sub __mul __div __pow __unm __concat
|
||||
syn keyword luaMetaMethod __eq __lt __le
|
||||
syn keyword luaMetaMethod __index __newindex __call
|
||||
syn keyword luaMetaMethod __metatable __mode __gc __tostring
|
||||
endif
|
||||
|
||||
" First line may start with #!
|
||||
syn match luaComment "\%^#!.*"
|
||||
if lua_version > 5 || (lua_version == 5 && lua_subversion >= 1)
|
||||
syn keyword luaMetaMethod __mod __len
|
||||
endif
|
||||
|
||||
if lua_version > 5 || (lua_version == 5 && lua_subversion >= 2)
|
||||
syn keyword luaMetaMethod __pairs
|
||||
endif
|
||||
|
||||
if lua_version > 5 || (lua_version == 5 && lua_subversion >= 3)
|
||||
syn keyword luaMetaMethod __idiv __name
|
||||
syn keyword luaMetaMethod __band __bor __bxor __bnot __shl __shr
|
||||
endif
|
||||
|
||||
if lua_version > 5 || (lua_version == 5 && lua_subversion >= 4)
|
||||
syn keyword luaMetaMethod __close
|
||||
endif
|
||||
|
||||
" catch errors caused by wrong parenthesis and wrong curly brackets or
|
||||
" keywords placed outside their respective blocks
|
||||
syn region luaParen transparent start='(' end=')' contains=ALLBUT,luaParenError,luaTodo,luaSpecial,luaIfThen,luaElseifThen,luaElse,luaThenEnd,luaBlock,luaLoopBlock,luaIn,luaStatement
|
||||
syn region luaTableBlock transparent matchgroup=luaTable start="{" end="}" contains=ALLBUT,luaBraceError,luaTodo,luaSpecial,luaIfThen,luaElseifThen,luaElse,luaThenEnd,luaBlock,luaLoopBlock,luaIn,luaStatement
|
||||
|
||||
syn region luaParen transparent start='(' end=')' contains=TOP,luaParenError
|
||||
syn match luaParenError ")"
|
||||
syn match luaBraceError "}"
|
||||
syn match luaError "}"
|
||||
syn match luaError "\<\%(end\|else\|elseif\|then\|until\|in\)\>"
|
||||
|
||||
" function ... end
|
||||
syn region luaFunctionBlock transparent matchgroup=luaFunction start="\<function\>" end="\<end\>" contains=ALLBUT,luaTodo,luaSpecial,luaElseifThen,luaElse,luaThenEnd,luaIn
|
||||
|
||||
" if ... then
|
||||
syn region luaIfThen transparent matchgroup=luaCond start="\<if\>" end="\<then\>"me=e-4 contains=ALLBUT,luaTodo,luaSpecial,luaElseifThen,luaElse,luaIn nextgroup=luaThenEnd skipwhite skipempty
|
||||
|
||||
" then ... end
|
||||
syn region luaThenEnd contained transparent matchgroup=luaCond start="\<then\>" end="\<end\>" contains=ALLBUT,luaTodo,luaSpecial,luaThenEnd,luaIn
|
||||
|
||||
" elseif ... then
|
||||
syn region luaElseifThen contained transparent matchgroup=luaCond start="\<elseif\>" end="\<then\>" contains=ALLBUT,luaTodo,luaSpecial,luaElseifThen,luaElse,luaThenEnd,luaIn
|
||||
" Function declaration
|
||||
syn region luaFunctionBlock transparent matchgroup=luaFunction start="\<function\>" end="\<end\>" contains=TOP
|
||||
|
||||
" else
|
||||
syn keyword luaElse contained else
|
||||
syn keyword luaCondElse matchgroup=luaCond contained containedin=luaCondEnd else
|
||||
|
||||
" then ... end
|
||||
syn region luaCondEnd contained transparent matchgroup=luaCond start="\<then\>" end="\<end\>" contains=TOP
|
||||
|
||||
" elseif ... then
|
||||
syn region luaCondElseif contained containedin=luaCondEnd transparent matchgroup=luaCond start="\<elseif\>" end="\<then\>" contains=TOP
|
||||
|
||||
" if ... then
|
||||
syn region luaCondStart transparent matchgroup=luaCond start="\<if\>" end="\<then\>"me=e-4 contains=TOP nextgroup=luaCondEnd skipwhite skipempty
|
||||
|
||||
" do ... end
|
||||
syn region luaBlock transparent matchgroup=luaStatement start="\<do\>" end="\<end\>" contains=ALLBUT,luaTodo,luaSpecial,luaElseifThen,luaElse,luaThenEnd,luaIn
|
||||
|
||||
syn region luaBlock transparent matchgroup=luaStatement start="\<do\>" end="\<end\>" contains=TOP
|
||||
" repeat ... until
|
||||
syn region luaLoopBlock transparent matchgroup=luaRepeat start="\<repeat\>" end="\<until\>" contains=ALLBUT,luaTodo,luaSpecial,luaElseifThen,luaElse,luaThenEnd,luaIn
|
||||
syn region luaRepeatBlock transparent matchgroup=luaRepeat start="\<repeat\>" end="\<until\>" contains=TOP
|
||||
|
||||
" while ... do
|
||||
syn region luaLoopBlock transparent matchgroup=luaRepeat start="\<while\>" end="\<do\>"me=e-2 contains=ALLBUT,luaTodo,luaSpecial,luaIfThen,luaElseifThen,luaElse,luaThenEnd,luaIn nextgroup=luaBlock skipwhite skipempty
|
||||
syn region luaWhile transparent matchgroup=luaRepeat start="\<while\>" end="\<do\>"me=e-2 contains=TOP nextgroup=luaBlock skipwhite skipempty
|
||||
|
||||
" for ... do and for ... in ... do
|
||||
syn region luaLoopBlock transparent matchgroup=luaRepeat start="\<for\>" end="\<do\>"me=e-2 contains=ALLBUT,luaTodo,luaSpecial,luaIfThen,luaElseifThen,luaElse,luaThenEnd nextgroup=luaBlock skipwhite skipempty
|
||||
syn region luaFor transparent matchgroup=luaRepeat start="\<for\>" end="\<do\>"me=e-2 contains=TOP nextgroup=luaBlock skipwhite skipempty
|
||||
|
||||
syn keyword luaIn contained in
|
||||
syn keyword luaFor contained containedin=luaFor in
|
||||
|
||||
" other keywords
|
||||
syn keyword luaStatement return local break
|
||||
@@ -87,35 +96,59 @@ if lua_version > 5 || (lua_version == 5 && lua_subversion >= 2)
|
||||
syn keyword luaStatement goto
|
||||
syn match luaLabel "::\I\i*::"
|
||||
endif
|
||||
|
||||
" operators
|
||||
syn keyword luaOperator and or not
|
||||
|
||||
if (lua_version == 5 && lua_subversion >= 3) || lua_version > 5
|
||||
syn match luaSymbolOperator "[#<>=~^&|*/%+-]\|\.\{2,3}"
|
||||
elseif lua_version == 5 && (lua_subversion == 1 || lua_subversion == 2)
|
||||
syn match luaSymbolOperator "[#<>=~^*/%+-]\|\.\{2,3}"
|
||||
else
|
||||
syn match luaSymbolOperator "[<>=~^*/+-]\|\.\{2,3}"
|
||||
endif
|
||||
|
||||
" comments
|
||||
syn keyword luaTodo contained TODO FIXME XXX
|
||||
syn match luaComment "--.*$" contains=luaTodo,@Spell
|
||||
if lua_version == 5 && lua_subversion == 0
|
||||
syn region luaComment matchgroup=luaCommentDelimiter start="--\[\[" end="\]\]" contains=luaTodo,luaInnerComment,@Spell
|
||||
syn region luaInnerComment contained transparent start="\[\[" end="\]\]"
|
||||
elseif lua_version > 5 || (lua_version == 5 && lua_subversion >= 1)
|
||||
" Comments in Lua 5.1: --[[ ... ]], [=[ ... ]=], [===[ ... ]===], etc.
|
||||
syn region luaComment matchgroup=luaCommentDelimiter start="--\[\z(=*\)\[" end="\]\z1\]" contains=luaTodo,@Spell
|
||||
endif
|
||||
|
||||
" first line may start with #!
|
||||
syn match luaComment "\%^#!.*"
|
||||
|
||||
syn keyword luaConstant nil
|
||||
if lua_version > 4
|
||||
syn keyword luaConstant true false
|
||||
endif
|
||||
|
||||
" Strings
|
||||
if lua_version < 5
|
||||
syn match luaSpecial contained "\\[\\abfnrtv\'\"]\|\\[[:digit:]]\{,3}"
|
||||
elseif lua_version == 5
|
||||
" strings
|
||||
syn match luaSpecial contained #\\[\\abfnrtv'"[\]]\|\\[[:digit:]]\{,3}#
|
||||
if lua_version == 5
|
||||
if lua_subversion == 0
|
||||
syn match luaSpecial contained #\\[\\abfnrtv'"[\]]\|\\[[:digit:]]\{,3}#
|
||||
syn region luaString2 matchgroup=luaString start=+\[\[+ end=+\]\]+ contains=luaString2,@Spell
|
||||
syn region luaString2 matchgroup=luaStringDelimiter start=+\[\[+ end=+\]\]+ contains=luaString2,@Spell
|
||||
else
|
||||
if lua_subversion == 1
|
||||
syn match luaSpecial contained #\\[\\abfnrtv'"]\|\\[[:digit:]]\{,3}#
|
||||
else " Lua 5.2
|
||||
syn match luaSpecial contained #\\[\\abfnrtvz'"]\|\\x[[:xdigit:]]\{2}\|\\[[:digit:]]\{,3}#
|
||||
if lua_subversion >= 2
|
||||
syn match luaSpecial contained #\\z\|\\x[[:xdigit:]]\{2}#
|
||||
endif
|
||||
syn region luaString2 matchgroup=luaString start="\[\z(=*\)\[" end="\]\z1\]" contains=@Spell
|
||||
if lua_subversion >= 3
|
||||
syn match luaSpecial contained #\\u{[[:xdigit:]]\+}#
|
||||
endif
|
||||
syn region luaString2 matchgroup=luaStringDelimiter start="\[\z(=*\)\[" end="\]\z1\]" contains=@Spell
|
||||
endif
|
||||
endif
|
||||
syn region luaString start=+'+ end=+'+ skip=+\\\\\|\\'+ contains=luaSpecial,@Spell
|
||||
syn region luaString start=+"+ end=+"+ skip=+\\\\\|\\"+ contains=luaSpecial,@Spell
|
||||
syn region luaString matchgroup=luaStringDelimiter start=+'+ end=+'+ skip=+\\\\\|\\'+ contains=luaSpecial,@Spell
|
||||
syn region luaString matchgroup=luaStringDelimiter start=+"+ end=+"+ skip=+\\\\\|\\"+ contains=luaSpecial,@Spell
|
||||
|
||||
" integer number
|
||||
syn match luaNumber "\<\d\+\>"
|
||||
" floating point number, with dot, optional exponent
|
||||
syn match luaNumber "\<\d\+\.\d*\%([eE][-+]\=\d\+\)\=\>"
|
||||
syn match luaNumber "\<\d\+\.\d*\%([eE][-+]\=\d\+\)\="
|
||||
" floating point number, starting with a dot, optional exponent
|
||||
syn match luaNumber "\.\d\+\%([eE][-+]\=\d\+\)\=\>"
|
||||
" floating point number, without dot, with exponent
|
||||
@@ -130,8 +163,15 @@ if lua_version >= 5
|
||||
endif
|
||||
endif
|
||||
|
||||
" tables
|
||||
syn region luaTableBlock transparent matchgroup=luaTable start="{" end="}" contains=TOP,luaStatement
|
||||
|
||||
" methods
|
||||
syntax match luaFunc ":\@<=\k\+"
|
||||
|
||||
" built-in functions
|
||||
syn keyword luaFunc assert collectgarbage dofile error next
|
||||
syn keyword luaFunc print rawget rawset tonumber tostring type _VERSION
|
||||
syn keyword luaFunc print rawget rawset self tonumber tostring type _VERSION
|
||||
|
||||
if lua_version == 4
|
||||
syn keyword luaFunc _ALERT _ERRORMESSAGE gcinfo
|
||||
@@ -168,30 +208,26 @@ elseif lua_version == 5
|
||||
syn match luaFunc /\<package\.loaded\>/
|
||||
syn match luaFunc /\<package\.loadlib\>/
|
||||
syn match luaFunc /\<package\.path\>/
|
||||
syn match luaFunc /\<package\.preload\>/
|
||||
if lua_subversion == 1
|
||||
syn keyword luaFunc getfenv setfenv
|
||||
syn keyword luaFunc loadstring module unpack
|
||||
syn match luaFunc /\<package\.loaders\>/
|
||||
syn match luaFunc /\<package\.preload\>/
|
||||
syn match luaFunc /\<package\.seeall\>/
|
||||
elseif lua_subversion == 2
|
||||
elseif lua_subversion >= 2
|
||||
syn keyword luaFunc _ENV rawlen
|
||||
syn match luaFunc /\<package\.config\>/
|
||||
syn match luaFunc /\<package\.preload\>/
|
||||
syn match luaFunc /\<package\.searchers\>/
|
||||
syn match luaFunc /\<package\.searchpath\>/
|
||||
syn match luaFunc /\<bit32\.arshift\>/
|
||||
syn match luaFunc /\<bit32\.band\>/
|
||||
syn match luaFunc /\<bit32\.bnot\>/
|
||||
syn match luaFunc /\<bit32\.bor\>/
|
||||
syn match luaFunc /\<bit32\.btest\>/
|
||||
syn match luaFunc /\<bit32\.bxor\>/
|
||||
syn match luaFunc /\<bit32\.extract\>/
|
||||
syn match luaFunc /\<bit32\.lrotate\>/
|
||||
syn match luaFunc /\<bit32\.lshift\>/
|
||||
syn match luaFunc /\<bit32\.replace\>/
|
||||
syn match luaFunc /\<bit32\.rrotate\>/
|
||||
syn match luaFunc /\<bit32\.rshift\>/
|
||||
endif
|
||||
|
||||
if lua_subversion >= 3
|
||||
syn match luaFunc /\<coroutine\.isyieldable\>/
|
||||
endif
|
||||
if lua_subversion >= 4
|
||||
syn keyword luaFunc warn
|
||||
syn match luaFunc /\<coroutine\.close\>/
|
||||
endif
|
||||
syn match luaFunc /\<coroutine\.running\>/
|
||||
endif
|
||||
@@ -200,6 +236,7 @@ elseif lua_version == 5
|
||||
syn match luaFunc /\<coroutine\.status\>/
|
||||
syn match luaFunc /\<coroutine\.wrap\>/
|
||||
syn match luaFunc /\<coroutine\.yield\>/
|
||||
|
||||
syn match luaFunc /\<string\.byte\>/
|
||||
syn match luaFunc /\<string\.char\>/
|
||||
syn match luaFunc /\<string\.dump\>/
|
||||
@@ -218,6 +255,18 @@ elseif lua_version == 5
|
||||
syn match luaFunc /\<string\.match\>/
|
||||
syn match luaFunc /\<string\.reverse\>/
|
||||
endif
|
||||
if lua_subversion >= 3
|
||||
syn match luaFunc /\<string\.pack\>/
|
||||
syn match luaFunc /\<string\.packsize\>/
|
||||
syn match luaFunc /\<string\.unpack\>/
|
||||
syn match luaFunc /\<utf8\.char\>/
|
||||
syn match luaFunc /\<utf8\.charpattern\>/
|
||||
syn match luaFunc /\<utf8\.codes\>/
|
||||
syn match luaFunc /\<utf8\.codepoint\>/
|
||||
syn match luaFunc /\<utf8\.len\>/
|
||||
syn match luaFunc /\<utf8\.offset\>/
|
||||
endif
|
||||
|
||||
if lua_subversion == 0
|
||||
syn match luaFunc /\<table\.getn\>/
|
||||
syn match luaFunc /\<table\.setn\>/
|
||||
@@ -225,19 +274,40 @@ elseif lua_version == 5
|
||||
syn match luaFunc /\<table\.foreachi\>/
|
||||
elseif lua_subversion == 1
|
||||
syn match luaFunc /\<table\.maxn\>/
|
||||
elseif lua_subversion == 2
|
||||
elseif lua_subversion >= 2
|
||||
syn match luaFunc /\<table\.pack\>/
|
||||
syn match luaFunc /\<table\.unpack\>/
|
||||
if lua_subversion >= 3
|
||||
syn match luaFunc /\<table\.move\>/
|
||||
endif
|
||||
endif
|
||||
syn match luaFunc /\<table\.concat\>/
|
||||
syn match luaFunc /\<table\.sort\>/
|
||||
syn match luaFunc /\<table\.insert\>/
|
||||
syn match luaFunc /\<table\.sort\>/
|
||||
syn match luaFunc /\<table\.remove\>/
|
||||
|
||||
if lua_subversion == 2
|
||||
syn match luaFunc /\<bit32\.arshift\>/
|
||||
syn match luaFunc /\<bit32\.band\>/
|
||||
syn match luaFunc /\<bit32\.bnot\>/
|
||||
syn match luaFunc /\<bit32\.bor\>/
|
||||
syn match luaFunc /\<bit32\.btest\>/
|
||||
syn match luaFunc /\<bit32\.bxor\>/
|
||||
syn match luaFunc /\<bit32\.extract\>/
|
||||
syn match luaFunc /\<bit32\.lrotate\>/
|
||||
syn match luaFunc /\<bit32\.lshift\>/
|
||||
syn match luaFunc /\<bit32\.replace\>/
|
||||
syn match luaFunc /\<bit32\.rrotate\>/
|
||||
syn match luaFunc /\<bit32\.rshift\>/
|
||||
endif
|
||||
|
||||
syn match luaFunc /\<math\.abs\>/
|
||||
syn match luaFunc /\<math\.acos\>/
|
||||
syn match luaFunc /\<math\.asin\>/
|
||||
syn match luaFunc /\<math\.atan\>/
|
||||
syn match luaFunc /\<math\.atan2\>/
|
||||
if lua_subversion < 3
|
||||
syn match luaFunc /\<math\.atan2\>/
|
||||
endif
|
||||
syn match luaFunc /\<math\.ceil\>/
|
||||
syn match luaFunc /\<math\.sin\>/
|
||||
syn match luaFunc /\<math\.cos\>/
|
||||
@@ -251,25 +321,36 @@ elseif lua_version == 5
|
||||
if lua_subversion == 0
|
||||
syn match luaFunc /\<math\.mod\>/
|
||||
syn match luaFunc /\<math\.log10\>/
|
||||
else
|
||||
if lua_subversion == 1
|
||||
syn match luaFunc /\<math\.log10\>/
|
||||
endif
|
||||
elseif lua_subversion == 1
|
||||
syn match luaFunc /\<math\.log10\>/
|
||||
endif
|
||||
if lua_subversion >= 1
|
||||
syn match luaFunc /\<math\.huge\>/
|
||||
syn match luaFunc /\<math\.fmod\>/
|
||||
syn match luaFunc /\<math\.modf\>/
|
||||
syn match luaFunc /\<math\.cosh\>/
|
||||
syn match luaFunc /\<math\.sinh\>/
|
||||
syn match luaFunc /\<math\.tanh\>/
|
||||
if lua_subversion == 1 || lua_subversion == 2
|
||||
syn match luaFunc /\<math\.cosh\>/
|
||||
syn match luaFunc /\<math\.sinh\>/
|
||||
syn match luaFunc /\<math\.tanh\>/
|
||||
endif
|
||||
endif
|
||||
syn match luaFunc /\<math\.pow\>/
|
||||
syn match luaFunc /\<math\.rad\>/
|
||||
syn match luaFunc /\<math\.sqrt\>/
|
||||
syn match luaFunc /\<math\.frexp\>/
|
||||
syn match luaFunc /\<math\.ldexp\>/
|
||||
if lua_subversion < 3
|
||||
syn match luaFunc /\<math\.pow\>/
|
||||
syn match luaFunc /\<math\.frexp\>/
|
||||
syn match luaFunc /\<math\.ldexp\>/
|
||||
else
|
||||
syn match luaFunc /\<math\.maxinteger\>/
|
||||
syn match luaFunc /\<math\.mininteger\>/
|
||||
syn match luaFunc /\<math\.tointeger\>/
|
||||
syn match luaFunc /\<math\.type\>/
|
||||
syn match luaFunc /\<math\.ult\>/
|
||||
endif
|
||||
syn match luaFunc /\<math\.random\>/
|
||||
syn match luaFunc /\<math\.randomseed\>/
|
||||
syn match luaFunc /\<math\.pi\>/
|
||||
|
||||
syn match luaFunc /\<io\.close\>/
|
||||
syn match luaFunc /\<io\.flush\>/
|
||||
syn match luaFunc /\<io\.input\>/
|
||||
@@ -284,6 +365,7 @@ elseif lua_version == 5
|
||||
syn match luaFunc /\<io\.tmpfile\>/
|
||||
syn match luaFunc /\<io\.type\>/
|
||||
syn match luaFunc /\<io\.write\>/
|
||||
|
||||
syn match luaFunc /\<os\.clock\>/
|
||||
syn match luaFunc /\<os\.date\>/
|
||||
syn match luaFunc /\<os\.difftime\>/
|
||||
@@ -295,6 +377,7 @@ elseif lua_version == 5
|
||||
syn match luaFunc /\<os\.setlocale\>/
|
||||
syn match luaFunc /\<os\.time\>/
|
||||
syn match luaFunc /\<os\.tmpname\>/
|
||||
|
||||
syn match luaFunc /\<debug\.debug\>/
|
||||
syn match luaFunc /\<debug\.gethook\>/
|
||||
syn match luaFunc /\<debug\.getinfo\>/
|
||||
@@ -307,53 +390,49 @@ elseif lua_version == 5
|
||||
if lua_subversion == 1
|
||||
syn match luaFunc /\<debug\.getfenv\>/
|
||||
syn match luaFunc /\<debug\.setfenv\>/
|
||||
syn match luaFunc /\<debug\.getmetatable\>/
|
||||
syn match luaFunc /\<debug\.setmetatable\>/
|
||||
syn match luaFunc /\<debug\.getregistry\>/
|
||||
elseif lua_subversion == 2
|
||||
syn match luaFunc /\<debug\.getmetatable\>/
|
||||
syn match luaFunc /\<debug\.setmetatable\>/
|
||||
syn match luaFunc /\<debug\.getregistry\>/
|
||||
syn match luaFunc /\<debug\.getuservalue\>/
|
||||
syn match luaFunc /\<debug\.setuservalue\>/
|
||||
syn match luaFunc /\<debug\.upvalueid\>/
|
||||
syn match luaFunc /\<debug\.upvaluejoin\>/
|
||||
endif
|
||||
if lua_subversion >= 3
|
||||
"https://www.lua.org/manual/5.3/manual.html#6.5
|
||||
syn match luaFunc /\<utf8\.char\>/
|
||||
syn match luaFunc /\<utf8\.charpattern\>/
|
||||
syn match luaFunc /\<utf8\.codes\>/
|
||||
syn match luaFunc /\<utf8\.codepoint\>/
|
||||
syn match luaFunc /\<utf8\.len\>/
|
||||
syn match luaFunc /\<utf8\.offset\>/
|
||||
if lua_subversion >= 1
|
||||
syn match luaFunc /\<debug\.getmetatable\>/
|
||||
syn match luaFunc /\<debug\.setmetatable\>/
|
||||
syn match luaFunc /\<debug\.getregistry\>/
|
||||
if lua_subversion >= 2
|
||||
syn match luaFunc /\<debug\.getuservalue\>/
|
||||
syn match luaFunc /\<debug\.setuservalue\>/
|
||||
syn match luaFunc /\<debug\.upvalueid\>/
|
||||
syn match luaFunc /\<debug\.upvaluejoin\>/
|
||||
endif
|
||||
if lua_subversion >= 4
|
||||
syn match luaFunc /\<debug.setcstacklimit\>/
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
" Define the default highlighting.
|
||||
" Only when an item doesn't have highlighting yet
|
||||
|
||||
hi def link luaStatement Statement
|
||||
hi def link luaRepeat Repeat
|
||||
hi def link luaFor Repeat
|
||||
hi def link luaString String
|
||||
hi def link luaString2 String
|
||||
hi def link luaNumber Number
|
||||
hi def link luaOperator Operator
|
||||
hi def link luaIn Operator
|
||||
hi def link luaConstant Constant
|
||||
hi def link luaCond Conditional
|
||||
hi def link luaElse Conditional
|
||||
hi def link luaFunction Function
|
||||
hi def link luaComment Comment
|
||||
hi def link luaTodo Todo
|
||||
hi def link luaTable Structure
|
||||
hi def link luaError Error
|
||||
hi def link luaParenError Error
|
||||
hi def link luaBraceError Error
|
||||
hi def link luaSpecial SpecialChar
|
||||
hi def link luaFunc Identifier
|
||||
hi def link luaLabel Label
|
||||
hi def link luaStatement Statement
|
||||
hi def link luaRepeat Repeat
|
||||
hi def link luaFor Repeat
|
||||
hi def link luaString String
|
||||
hi def link luaString2 String
|
||||
hi def link luaStringDelimiter luaString
|
||||
hi def link luaNumber Number
|
||||
hi def link luaOperator Operator
|
||||
hi def link luaSymbolOperator luaOperator
|
||||
hi def link luaConstant Constant
|
||||
hi def link luaCond Conditional
|
||||
hi def link luaCondElse Conditional
|
||||
hi def link luaFunction Function
|
||||
hi def link luaMetaMethod Function
|
||||
hi def link luaComment Comment
|
||||
hi def link luaCommentDelimiter luaComment
|
||||
hi def link luaTodo Todo
|
||||
hi def link luaTable Structure
|
||||
hi def link luaError Error
|
||||
hi def link luaParenError Error
|
||||
hi def link luaSpecial SpecialChar
|
||||
hi def link luaFunc Identifier
|
||||
hi def link luaLabel Label
|
||||
|
||||
|
||||
let b:current_syntax = "lua"
|
||||
|
||||
43
runtime/syntax/lyrics.vim
Normal file
43
runtime/syntax/lyrics.vim
Normal file
@@ -0,0 +1,43 @@
|
||||
" Vim syntax file
|
||||
" Language: LyRiCs
|
||||
" Maintainer: ObserverOfTime <chronobserver@disroot.org>
|
||||
" Filenames: *.lrc
|
||||
" Last Change: 2022 Sep 18
|
||||
|
||||
if exists('b:current_syntax')
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpoptions
|
||||
set cpoptions&vim
|
||||
|
||||
syn case ignore
|
||||
|
||||
" Errors
|
||||
syn match lrcError /^.\+$/
|
||||
|
||||
" ID tags
|
||||
syn match lrcTag /^\s*\[\a\+:.\+\]\s*$/ contains=lrcTagName,lrcTagValue
|
||||
syn match lrcTagName contained nextgroup=lrcTagValue
|
||||
\ /\[\zs\(al\|ar\|au\|by\|encoding\|la\|id\|length\|offset\|re\|ti\|ve\)\ze:/
|
||||
syn match lrcTagValue /:\zs.\+\ze\]/ contained
|
||||
|
||||
" Lyrics
|
||||
syn match lrcLyricTime /^\s*\[\d\d:\d\d\.\d\d\]/
|
||||
\ contains=lrcNumber nextgroup=lrcLyricLine
|
||||
syn match lrcLyricLine /.*$/ contained contains=lrcWordTime,@Spell
|
||||
syn match lrcWordTime /<\d\d:\d\d\.\d\d>/ contained contains=lrcNumber,@NoSpell
|
||||
syn match lrcNumber /[+-]\=\d\+/ contained
|
||||
|
||||
hi def link lrcLyricTime Label
|
||||
hi def link lrcNumber Number
|
||||
hi def link lrcTag PreProc
|
||||
hi def link lrcTagName Identifier
|
||||
hi def link lrcTagValue String
|
||||
hi def link lrcWordTime Special
|
||||
hi def link lrcError Error
|
||||
|
||||
let b:current_syntax = 'lyrics'
|
||||
|
||||
let &cpoptions = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
@@ -2,8 +2,8 @@
|
||||
" Language: shell (sh) Korn shell (ksh) bash (sh)
|
||||
" Maintainer: Charles E. Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
|
||||
" Previous Maintainer: Lennart Schultz <Lennart.Schultz@ecmwf.int>
|
||||
" Last Change: Jun 29, 2022
|
||||
" Version: 202
|
||||
" Last Change: Jul 08, 2022
|
||||
" Version: 203
|
||||
" URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_SH
|
||||
" For options and settings, please use: :help ft-sh-syntax
|
||||
" This file includes many ideas from Eric Brunet (eric.brunet@ens.fr) and heredoc fixes from Felipe Contreras
|
||||
@@ -141,7 +141,7 @@ endif
|
||||
syn cluster shArithParenList contains=shArithmetic,shArithParen,shCaseEsac,shComment,shDeref,shDo,shDerefSimple,shEcho,shEscape,shNumber,shOperator,shPosnParm,shExSingleQuote,shExDoubleQuote,shHereString,shRedir,shSingleQuote,shDoubleQuote,shStatement,shVariable,shAlias,shTest,shCtrlSeq,shSpecial,shParen,bashSpecialVariables,bashStatement,shIf,shFor,shFunctionKey,shFunctionOne,shFunctionTwo
|
||||
syn cluster shArithList contains=@shArithParenList,shParenError
|
||||
syn cluster shCaseEsacList contains=shCaseStart,shCaseLabel,shCase,shCaseBar,shCaseIn,shComment,shDeref,shDerefSimple,shCaseCommandSub,shCaseExSingleQuote,shCaseSingleQuote,shCaseDoubleQuote,shCtrlSeq,@shErrorList,shStringSpecial,shCaseRange
|
||||
syn cluster shCaseList contains=@shCommandSubList,shCaseEsac,shColon,shCommandSub,shCommandSubBQ,shComment,shDo,shEcho,shExpr,shFor,shHereDoc,shIf,shHereString,shRedir,shSetList,shSource,shStatement,shVariable,shCtrlSeq
|
||||
syn cluster shCaseList contains=@shCommandSubList,shCaseEsac,shColon,shCommandSub,shCommandSubBQ,shComment,shDblBrace,shDo,shEcho,shExpr,shFor,shHereDoc,shIf,shHereString,shRedir,shSetList,shSource,shStatement,shVariable,shCtrlSeq
|
||||
if exists("b:is_kornshell") || exists("b:is_bash")
|
||||
syn cluster shCaseList add=shForPP
|
||||
endif
|
||||
|
||||
62
runtime/syntax/srt.vim
Normal file
62
runtime/syntax/srt.vim
Normal file
@@ -0,0 +1,62 @@
|
||||
" Vim syntax file
|
||||
" Language: SubRip
|
||||
" Maintainer: ObserverOfTime <chronobserver@disroot.org>
|
||||
" Filenames: *.srt
|
||||
" Last Change: 2022 Sep 12
|
||||
|
||||
if exists('b:current_syntax')
|
||||
finish
|
||||
endif
|
||||
|
||||
syn spell toplevel
|
||||
|
||||
syn cluster srtSpecial contains=srtBold,srtItalics,srtStrikethrough,srtUnderline,srtFont,srtTag,srtEscape
|
||||
|
||||
" Number
|
||||
syn match srtNumber /^\d\+$/ contains=@NoSpell
|
||||
|
||||
" Range
|
||||
syn match srtRange /\d\d:\d\d:\d\d[,.]\d\d\d --> \d\d:\d\d:\d\d[,.]\d\d\d/ skipwhite contains=srtArrow,srtTime nextgroup=srtCoordinates
|
||||
syn match srtArrow /-->/ contained contains=@NoSpell
|
||||
syn match srtTime /\d\d:\d\d:\d\d[,.]\d\d\d/ contained contains=@NoSpell
|
||||
syn match srtCoordinates /X1:\d\+ X2:\d\+ Y1:\d\+ Y2:\d\+/ contained contains=@NoSpell
|
||||
|
||||
" Bold
|
||||
syn region srtBold matchgroup=srtFormat start=+<b>+ end=+</b>+ contains=@srtSpecial
|
||||
syn region srtBold matchgroup=srtFormat start=+{b}+ end=+{/b}+ contains=@srtSpecial
|
||||
|
||||
" Italics
|
||||
syn region srtItalics matchgroup=srtFormat start=+<i>+ end=+</i>+ contains=@srtSpecial
|
||||
syn region srtItalics matchgroup=srtFormat start=+{i}+ end=+{/i}+ contains=@srtSpecial
|
||||
|
||||
" Strikethrough
|
||||
syn region srtStrikethrough matchgroup=srtFormat start=+<s>+ end=+</s>+ contains=@srtSpecial
|
||||
syn region srtStrikethrough matchgroup=srtFormat start=+{s}+ end=+{/s}+ contains=@srtSpecial
|
||||
|
||||
" Underline
|
||||
syn region srtUnderline matchgroup=srtFormat start=+<u>+ end=+</u>+ contains=@srtSpecial
|
||||
syn region srtUnderline matchgroup=srtFormat start=+{u}+ end=+{/u}+ contains=@srtSpecial
|
||||
|
||||
" Font
|
||||
syn region srtFont matchgroup=srtFormat start=+<font[^>]\{-}>+ end=+</font>+ contains=@srtSpecial
|
||||
|
||||
" ASS tags
|
||||
syn match srtTag /{\\[^}]\{1,}}/ contains=@NoSpell
|
||||
|
||||
" Special characters
|
||||
syn match srtEscape /\\[nNh]/ contains=@NoSpell
|
||||
|
||||
hi def link srtArrow Delimiter
|
||||
hi def link srtCoordinates Label
|
||||
hi def link srtEscape SpecialChar
|
||||
hi def link srtFormat Special
|
||||
hi def link srtNumber Number
|
||||
hi def link srtTag PreProc
|
||||
hi def link srtTime String
|
||||
|
||||
hi srtBold cterm=bold gui=bold
|
||||
hi srtItalics cterm=italic gui=italic
|
||||
hi srtStrikethrough cterm=strikethrough gui=strikethrough
|
||||
hi srtUnderline cterm=underline gui=underline
|
||||
|
||||
let b:current_syntax = 'srt'
|
||||
54
runtime/syntax/vdf.vim
Normal file
54
runtime/syntax/vdf.vim
Normal file
@@ -0,0 +1,54 @@
|
||||
" Vim syntax file
|
||||
" Language: Valve Data Format
|
||||
" Maintainer: ObserverOfTime <chronobserver@disroot.org>
|
||||
" Filenames: *.vdf
|
||||
" Last Change: 2022 Sep 15
|
||||
|
||||
if exists('b:current_syntax')
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpoptions
|
||||
set cpoptions&vim
|
||||
|
||||
" Comment
|
||||
syn keyword vdfTodo contained TODO FIXME XXX
|
||||
syn match vdfComment +//.*+ contains=vdfTodo
|
||||
|
||||
" Macro
|
||||
syn match vdfMacro /^\s*#.*/
|
||||
|
||||
" Tag
|
||||
syn region vdfTag start=/"/ skip=/\\"/ end=/"/
|
||||
\ nextgroup=vdfValue skipwhite oneline
|
||||
|
||||
" Section
|
||||
syn region vdfSection matchgroup=vdfBrace
|
||||
\ start=/{/ end=/}/ transparent fold
|
||||
\ contains=vdfTag,vdfSection,vdfComment,vdfConditional
|
||||
|
||||
" Conditional
|
||||
syn match vdfConditional /\[\$\w\{1,1021}\]/ nextgroup=vdfTag
|
||||
|
||||
" Value
|
||||
syn region vdfValue start=/"/ skip=/\\"/ end=/"/
|
||||
\ oneline contained contains=vdfVariable,vdfNumber,vdfEscape
|
||||
syn region vdfVariable start=/%/ skip=/\\%/ end=/%/ oneline contained
|
||||
syn match vdfEscape /\\[nt\\"]/ contained
|
||||
syn match vdfNumber /"-\?\d\+"/ contained
|
||||
|
||||
hi def link vdfBrace Delimiter
|
||||
hi def link vdfComment Comment
|
||||
hi def link vdfConditional Constant
|
||||
hi def link vdfEscape SpecialChar
|
||||
hi def link vdfMacro Macro
|
||||
hi def link vdfNumber Number
|
||||
hi def link vdfTag Keyword
|
||||
hi def link vdfTodo Todo
|
||||
hi def link vdfValue String
|
||||
hi def link vdfVariable Identifier
|
||||
|
||||
let b:current_syntax = 'vdf'
|
||||
|
||||
let &cpoptions = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
@@ -1,8 +1,8 @@
|
||||
" Vim syntax file
|
||||
" Language: Vim 9.0 script
|
||||
" Maintainer: Charles E. Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
|
||||
" Last Change: August 17, 2022
|
||||
" Version: 9.0-02
|
||||
" Last Change: September 14, 2022
|
||||
" Version: 9.0-05
|
||||
" URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_VIM
|
||||
" Automatically generated keyword lists: {{{1
|
||||
|
||||
@@ -19,34 +19,35 @@ syn keyword vimTodo contained COMBAK FIXME TODO XXX
|
||||
syn cluster vimCommentGroup contains=vimTodo,@Spell
|
||||
|
||||
" regular vim commands {{{2
|
||||
syn keyword vimCommand contained a al[l] arge[dit] bN[ext] bel[owright] bp[revious] bro[wse] cNf[ile] cadde[xpr] cbe[fore] cdo cg[etfile] checkt[ime] clo[se] co[py] con[tinue] cq[uit] cuna[bbrev] defc[ompile] deletl dep diffpu[t] dj[ump] dp earlier el[se] endenum ene[w] export filt[er] fo[ld] fu[nction] h[elp] hi if in iuna[bbrev] keepalt la[st] lan[guage] lbo[ttom] ld[o] lfdo lgrepa[dd] lma lo[adview] lop[en] lua m[ove] mes[sages] mod[e] nbs[tart] nor omapc[lear] packl[oadall] popu[p] profd[el] ptf[irst] pts[elect] py3f[ile] pyx r[ead] redrawt[abline] ri[ght] rundo sIl sal[l] sbf[irst] sc scp se[t] sg sgn sie sip sme snoremenu spelli[nfo] spr[evious] sri star[tinsert] sts[elect] sus[pend] syncbind tabN[ext] tabl[ast] tabr[ewind] tcld[o] tj[ump] tlu tno[remap] tu[nmenu] undol[ist] v vie[w] vne[w] win[size] wq xmapc[lear] xr[estore]
|
||||
syn keyword vimCommand contained ab ar[gs] argg[lobal] b[uffer] bf[irst] br[ewind] bufdo c[hange] caddf[ile] cbel[ow] ce[nter] cgetb[uffer] chi[story] cmapc[lear] col[der] conf[irm] cr[ewind] cw[indow] delc[ommand] deletp di[splay] diffs[plit] dl dr[op] ec elsei[f] endf[unction] enum exu[sage] fin[d] foldc[lose] go[to] ha[rdcopy] hid[e] ij[ump] inor j[oin] keepj[umps] lab[ove] lat lc[d] le[ft] lfir[st] lh[elpgrep] lmak[e] loadk lp[revious] luado ma[rk] mk[exrc] mz[scheme] new nore on[ly] pc[lose] pp[op] promptf[ind] ptj[ump] pu[t] py[thon] pyxdo rec[over] reg[isters] rightb[elow] rv[iminfo] sIn san[dbox] sbl[ast] scI scr[iptnames] setf[iletype] sgI sgp sig sir smenu so[urce] spellr[are] sr srl startg[replace] substitutepattern sv[iew] syntime tabc[lose] tabm[ove] tabs tclf[ile] tl[ast] tlunmenu to[pleft] tunma[p] unh[ide] var vim9[cmd] vs[plit] winc[md] wqa[ll] xme xunme
|
||||
syn keyword vimCommand contained abc[lear] arga[dd] argl[ocal] ba[ll] bl[ast] brea[k] buffers ca caf[ter] cbo[ttom] cex[pr] cgete[xpr] cl[ist] cn[ext] colo[rscheme] cons[t] cs d[elete] delel delf[unction] dif[fupdate] difft[his] dli[st] ds[earch] echoc[onsole] em[enu] endfo[r] eval f[ile] fina[lly] foldd[oopen] gr[ep] helpc[lose] his[tory] il[ist] interface ju[mps] keepp[atterns] lad[dexpr] later lch[dir] lefta[bove] lg[etfile] lhi[story] lmapc[lear] loadkeymap lpf[ile] luafile mak[e] mks[ession] mzf[ile] nmapc[lear] nos[wapfile] opt[ions] pe[rl] pre[serve] promptr[epl] ptl[ast] pw[d] pydo pyxfile red[o] res[ize] ru[ntime] sI sIp sav[eas] sbm[odified] sce scripte[ncoding] setg[lobal] sgc sgr sign sl[eep] smile sor[t] spellr[epall] srI srn startr[eplace] substituterepeat sw[apname] t tabd[o] tabn[ext] tags te[aroff] tlm tm[enu] tp[revious] type unl ve[rsion] vim9s[cript] wN[ext] windo wundo xmenu xunmenu
|
||||
syn keyword vimCommand contained abo[veleft] argd[elete] argu[ment] bad[d] bm[odified] breaka[dd] bun[load] cabc[lear] cal[l] cc cf[ile] changes cla[st] cnew[er] com cope[n] cscope debug delep dell diffg[et] dig[raphs] do dsp[lit] echoe[rr] en[dif] endinterface ex files fini[sh] folddoc[losed] grepa[dd] helpf[ind] i imapc[lear] intro k lN[ext] laddb[uffer] lb[uffer] lcl[ose] leg[acy] lgetb[uffer] ll lne[xt] loc[kmarks] lr[ewind] lv[imgrep] marks mksp[ell] n[ext] noa nu[mber] ownsyntax ped[it] prev[ious] ps[earch] ptn[ext] py3 pyf[ile] q[uit] redi[r] ret[ab] rub[y] sIc sIr sbN[ext] sbn[ext] scg scriptv[ersion] setl[ocal] sge sh[ell] sil[ent] sla[st] sn[ext] sp[lit] spellr[rare] src srp static sun[hide] sy tN[ext] tabe[dit] tabnew tc[d] ter[minal] tlmenu tma[p] tr[ewind] u[ndo] unlo[ckvar] verb[ose] vim[grep] w[rite] winp[os] wv[iminfo] xnoreme xwininfo
|
||||
syn keyword vimCommand contained abstract argded[upe] as[cii] balt bn[ext] breakd[el] bw[ipeout] cabo[ve] cat[ch] ccl[ose] cfdo chd[ir] class cnf[ile] comc[lear] cp[revious] cstag debugg[reedy] deletel delm[arks] diffo[ff] dir doau e[dit] echom[sg] endclass endt[ry] exi[t] filet fir[st] foldo[pen] gui helpg[rep] ia imp is[earch] kee[pmarks] lNf[ile] laddf[ile] lbe[fore] lcs lex[pr] lgete[xpr] lla[st] lnew[er] lockv[ar] ls lvimgrepa[dd] mat[ch] mkv[imrc] nb[key] noautocmd o[pen] p[rint] perld[o] pro ptN[ext] ptp[revious] py3do python3 qa[ll] redr[aw] retu[rn] rubyd[o] sIe sN[ext] sb[uffer] sbp[revious] sci scs sf[ind] sgi si sim[alt] sm[agic] sno[magic] spe[llgood] spellu[ndo] sre[wind] st[op] stj[ump] sunme syn ta[g] tabf[ind] tabo[nly] tch[dir] tf[irst] tln tmapc[lear] try una[bbreviate] uns[ilent] vert[ical] vimgrepa[dd] wa[ll] wn[ext] x[it] xnoremenu y[ank]
|
||||
syn keyword vimCommand contained addd argdo au bd[elete] bo[tright] breakl[ist] cN[ext] cad[dbuffer] cb[uffer] cd cfir[st] che[ckpath] cle[arjumps] cnor comp[iler] cpf[ile] cun def deletep delp diffp[atch] disa[ssemble] doaut ea echon enddef endw[hile] exp filetype fix[del] for gvim helpt[ags] iabc[lear] import isp[lit] keepa l[ist] laf[ter] lbel[ow] lcscope lf[ile] lgr[ep] lli[st] lnf[ile] lol[der] lt[ag] lw[indow] menut[ranslate] mkvie[w] nbc[lose] noh[lsearch] ol[dfiles] pa[ckadd] po[p] prof[ile] pta[g] ptr[ewind] py3f[ile] pythonx quita[ll] redraws[tatus] rew[ind] rubyf[ile] sIg sa[rgument] sba[ll] sbr[ewind] scl scscope sfir[st] sgl sic sin sm[ap] snoreme spelld[ump] spellw[rong] srg sta[g] stopi[nsert] sunmenu sync tab tabfir[st] tabp[revious] tcl th[row] tlnoremenu tn[ext] ts[elect] undoj[oin] up[date] vi[sual] viu[sage] wh[ile] wp[revious] xa[ll] xprop z[^.=]
|
||||
syn keyword vimCommand contained a ar[gs] argl[ocal] bad[d] bn[ext] breakl[ist] cNf[ile] cadde[xpr] cbe[fore] cdo cg[etfile] checkt[ime] clo[se] co[py] con[tinue] cq[uit] cuna[bbrev] defc[ompile] deletl dep diffpu[t] dj[ump] dp earlier echow[indow] enddef endinterface ex files fini[sh] folddoc[losed] go[to] ha[rdcopy] hid[e] if in iuna[bbrev] keepalt la[st] lan[guage] lbo[ttom] ld[o] lfdo lgrepa[dd] lma lo[adview] lop[en] lua m[ove] mes[sages] mod[e] nbs[tart] nor omapc[lear] packl[oadall] popu[p] profd[el] ptf[irst] pts[elect] py3f[ile] pyx r[ead] redrawt[abline] ri[ght] rundo sIl sal[l] sbf[irst] sc scp se[t] sg sgn sie sip sme snoremenu spelli[nfo] spr[evious] sri star[tinsert] sts[elect] sus[pend] syncbind tabN[ext] tabl[ast] tabr[ewind] tcld[o] tj[ump] tlu tno[remap] tu[nmenu] undol[ist] v vie[w] vne[w] win[size] wq xmapc[lear] xr[estore]
|
||||
syn keyword vimCommand contained ab arga[dd] argu[ment] balt bo[tright] bro[wse] c[hange] caddf[ile] cbel[ow] ce[nter] cgetb[uffer] chi[story] cmapc[lear] col[der] conf[irm] cr[ewind] cw[indow] delc[ommand] deletp di[splay] diffs[plit] dl dr[op] ec el[se] endenum endt[ry] exi[t] filet fir[st] foldo[pen] gr[ep] helpc[lose] his[tory] ij[ump] inor j[oin] keepj[umps] lab[ove] lat lc[d] le[ft] lfir[st] lh[elpgrep] lmak[e] loadk lp[revious] luado ma[rk] mk[exrc] mz[scheme] new nore on[ly] pc[lose] pp[op] promptf[ind] ptj[ump] pu[t] py[thon] pyxdo rec[over] reg[isters] rightb[elow] rv[iminfo] sIn san[dbox] sbl[ast] scI scr[iptnames] setf[iletype] sgI sgp sig sir smenu so[urce] spellr[are] sr srl startg[replace] substitutepattern sv[iew] syntime tabc[lose] tabm[ove] tabs tclf[ile] tl[ast] tlunmenu to[pleft] tunma[p] unh[ide] var vim9[cmd] vs[plit] winc[md] wqa[ll] xme xunme
|
||||
syn keyword vimCommand contained abc[lear] argd[elete] as[cii] bd[elete] bp[revious] bufdo ca caf[ter] cbo[ttom] cex[pr] cgete[xpr] cl[ist] cn[ext] colo[rscheme] cons[t] cs d[elete] delel delfunction dif[fupdate] difft[his] dli[st] ds[earch] echoc[onsole] elsei[f] endfo[r] endw[hile] exp filetype fix[del] for grepa[dd] helpf[ind] hor[izontal] il[ist] interface ju[mps] keepp[atterns] lad[dexpr] later lch[dir] lefta[bove] lg[etfile] lhi[story] lmapc[lear] loadkeymap lpf[ile] luafile mak[e] mks[ession] mzf[ile] nmapc[lear] nos[wapfile] opt[ions] pe[rl] pre[serve] promptr[epl] ptl[ast] pw[d] pydo pyxfile red[o] res[ize] ru[ntime] sI sIp sav[eas] sbm[odified] sce scripte[ncoding] setg[lobal] sgc sgr sign sl[eep] smile sor[t] spellr[epall] srI srn startr[eplace] substituterepeat sw[apname] t tabd[o] tabn[ext] tags te[aroff] tlm tm[enu] tp[revious] type unl ve[rsion] vim9s[cript] wN[ext] windo wundo xmenu xunmenu
|
||||
syn keyword vimCommand contained abo[veleft] argded[upe] au bel[owright] br[ewind] buffers cabc[lear] call cc cf[ile] changes cla[st] cnew[er] com cope[n] cscope debug delep dell diffg[et] dig[raphs] do dsp[lit] echoe[rr] em[enu] endfun ene[w] export filt[er] fo[ld] fun gui helpg[rep] i imapc[lear] intro k lN[ext] laddb[uffer] lb[uffer] lcl[ose] leg[acy] lgetb[uffer] ll lne[xt] loc[kmarks] lr[ewind] lv[imgrep] marks mksp[ell] n[ext] noa nu[mber] ownsyntax ped[it] prev[ious] ps[earch] ptn[ext] py3 pyf[ile] q[uit] redi[r] ret[ab] rub[y] sIc sIr sbN[ext] sbn[ext] scg scriptv[ersion] setl[ocal] sge sh[ell] sil[ent] sla[st] sn[ext] sp[lit] spellr[rare] src srp static sun[hide] sy tN[ext] tabe[dit] tabnew tc[d] ter[minal] tlmenu tma[p] tr[ewind] u[ndo] unlo[ckvar] verb[ose] vim[grep] w[rite] winp[os] wv[iminfo] xnoreme xwininfo
|
||||
syn keyword vimCommand contained abstract argdo bN[ext] bf[irst] brea[k] bun[load] cabo[ve] cat[ch] ccl[ose] cfdo chd[ir] class cnf[ile] comc[lear] cp[revious] cstag debugg[reedy] deletel delm[arks] diffo[ff] dir doau e[dit] echom[sg] en[dif] endfunc enum exu[sage] fin[d] foldc[lose] func gvim helpt[ags] ia imp is[earch] kee[pmarks] lNf[ile] laddf[ile] lbe[fore] lcs lex[pr] lgete[xpr] lla[st] lnew[er] lockv[ar] ls lvimgrepa[dd] mat[ch] mkv[imrc] nb[key] noautocmd o[pen] p[rint] perld[o] pro ptN[ext] ptp[revious] py3do python3 qa[ll] redr[aw] return rubyd[o] sIe sN[ext] sb[uffer] sbp[revious] sci scs sf[ind] sgi si sim[alt] sm[agic] sno[magic] spe[llgood] spellu[ndo] sre[wind] st[op] stj[ump] sunme syn ta[g] tabf[ind] tabo[nly] tch[dir] tf[irst] tln tmapc[lear] try una[bbreviate] uns[ilent] vert[ical] vimgrepa[dd] wa[ll] wn[ext] x[it] xnoremenu y[ank]
|
||||
syn keyword vimCommand contained addd arge[dit] b[uffer] bl[ast] breaka[dd] bw[ipeout] cad[dbuffer] cb[uffer] cd cfir[st] che[ckpath] cle[arjumps] cnor comp[iler] cpf[ile] cun def deletep delp diffp[atch] disa[ssemble] doaut ea echon endclass endfunction eval f[ile] fina[lly] foldd[oopen] function h[elp] hi iabc[lear] import isp[lit] keepa l[ist] laf[ter] lbel[ow] lcscope lf[ile] lgr[ep] lli[st] lnf[ile] lol[der] lt[ag] lw[indow] menut[ranslate] mkvie[w] nbc[lose] noh[lsearch] ol[dfiles] pa[ckadd] po[p] prof[ile] pta[g] ptr[ewind] py3f[ile] pythonx quita[ll] redraws[tatus] rew[ind] rubyf[ile] sIg sa[rgument] sba[ll] sbr[ewind] scl scscope sfir[st] sgl sic sin sm[ap] snoreme spelld[ump] spellw[rong] srg sta[g] stopi[nsert] sunmenu sync tab tabfir[st] tabp[revious] tcl th[row] tlnoremenu tn[ext] ts[elect] undoj[oin] up[date] vi[sual] viu[sage] wh[ile] wp[revious] xa[ll] xprop z[^.=]
|
||||
syn keyword vimCommand contained al[l] argg[lobal] ba[ll] bm[odified] breakd[el] cN[ext]
|
||||
syn match vimCommand contained "\<z[-+^.=]\=\>"
|
||||
syn keyword vimStdPlugin contained Arguments Asm Break Cfilter Clear Continue DiffOrig Evaluate Finish Gdb Lfilter Man N[ext] Over P[rint] Program Run S Source Step Stop Termdebug TermdebugCommand TOhtml Until Winbar XMLent XMLns
|
||||
|
||||
" vimOptions are caught only when contained in a vimSet {{{2
|
||||
syn keyword vimOption contained acd ambw arshape aw backupskip beval bk bri bufhidden cdh ci cinsd cms commentstring conceallevel cpt cscopetagorder csto cursorlineopt dg dir ed enc errorfile fcl fdn ffs fillchars fo foldmarker formatoptions gdefault gp guifontwide helpheight history hlsearch imaf ims includeexpr infercase iskeyword keywordprg laststatus lispwords lrm magic maxfuncdepth menuitems mm modifiable mousemev mps nu opendevice paste pex pmbfn printencoding pt pythonhome quoteescape renderoptions rlc ruf scb scrolloff selectmode shellquote shiftwidth showmode sj sn spellfile spo st su swf ta taglength tbis termguicolors textmode thesaurusfunc titlestring tpm ttimeoutlen ttyscroll tx undolevels vartabstop vfile virtualedit warn wfh wildchar wim winminheight wmh write
|
||||
syn keyword vimOption contained ai anti asd awa balloondelay bevalterm bkc briopt buflisted cdhome cin cinw co compatible confirm crb cscopeverbose csverb cwh dict directory edcompatible encoding errorformat fcs fdo fic fixendofline foldclose foldmethod formatprg gfm grepformat guiheadroom helplang hk ic imak imsearch incsearch insertmode isp km lazyredraw list ls makeef maxmapdepth mfd mmd modified mousemodel msm number operatorfunc pastetoggle pexpr popt printexpr pumheight pythonthreedll rdt report rnu ruler scf scrollopt sessionoptions shellredir shm showtabline slm so spelllang spr sta sua switchbuf tabline tagrelative tbs termwinkey textwidth tildeop tl tr ttm ttytype uc undoreload vb vi visualbell wb wfw wildcharm winaltkeys winminwidth wmnu writeany
|
||||
syn keyword vimOption contained akm antialias autochdir background ballooneval bex bl brk buftype cdpath cindent cinwords cocu complete copyindent cryptmethod csl cuc debug dictionary display ef endofline esckeys fdc fdt fileencoding fixeol foldcolumn foldminlines fp gfn grepprg guiligatures hf hkmap icon imc imsf inde is isprint kmp lbr listchars lsp makeencoding maxmem mh mmp more mousemoveevent mzq numberwidth opfunc patchexpr pfn pp printfont pumwidth pythonthreehome re restorescreen ro rulerformat scl scs sft shellslash shortmess shq sm softtabstop spelloptions sps stal suffixes sws tabpagemax tags tc termwinscroll tf timeout tm ts tty tw udf updatecount vbs viewdir vop wc wh wildignore wincolor winptydll wmw writebackup
|
||||
syn keyword vimOption contained al ar autoindent backspace balloonevalterm bexpr bo browsedir casemap cedit cink clipboard cole completefunc cot cscopepathcomp cspc cul deco diff dy efm eol et fde fen fileencodings fk foldenable foldnestmax fs gfs gtl guioptions hh hkmapp iconstring imcmdline imst indentexpr isf joinspaces kp lcs lm luadll makeprg maxmempattern mis mmt mouse mouses mzquantum nuw osfiletype patchmode ph preserveindent printheader pvh pyx readonly revins rop runtimepath scr sect sh shelltemp shortname si smartcase sol spellsuggest sr startofline suffixesadd sxe tabstop tagstack tcldll termwinsize tfu timeoutlen to tsl ttybuiltin twk udir updatetime vdir viewoptions vsts wcm whichwrap wildignorecase window winwidth wop writedelay
|
||||
syn keyword vimOption contained aleph arab autoread backup balloonexpr bg bomb bs cb cf cinkeys cm colorcolumn completeopt cp cscopeprg csprg culopt def diffexpr ea ei ep eventignore fdi fenc fileformat fkmap foldexpr foldopen fsync gfw gtt guipty hi hkp ignorecase imd imstatusfunc indentkeys isfname js langmap linebreak lmap lw mat maxmemtot mkspellmem mod mousef mouseshape mzschemedll odev pa path pheader previewheight printmbcharset pvp pyxversion redrawtime ri rs sb scroll sections shcf shelltype showbreak sidescroll smartindent sp spf srr statusline sw sxq tag tal tenc termwintype tgc title toolbar tsr ttyfast tws ul ur ve vif vts wcr wi wildmenu winfixheight wiv wrap ws
|
||||
syn keyword vimOption contained allowrevins arabic autoshelldir backupcopy bdir bh breakat bsdir cc cfu cino cmdheight columns completepopup cpo cscopequickfix csqf cursorbind define diffopt ead ek equalalways ex fdl fencs fileformats flp foldignore foldtext ft ghr guicursor guitablabel hid hl im imdisable imstyle indk isi key langmenu lines lnr lz matchpairs mco ml modeline mousefocus mouset mzschemegcdll oft packpath pdev pi previewpopup printmbfont pvw qe regexpengine rightleft rtp sbo scrollbind secure shell shellxescape showcmd sidescrolloff smarttab spc spl ss stl swapfile syn tagbsearch tb term terse tgst titlelen toolbariconsize tsrfu ttym twsl undodir ut verbose viminfo wa wd wic wildmode winfixwidth wiw wrapmargin ww
|
||||
syn keyword vimOption contained altkeymap arabicshape autowrite backupdir bdlay bin breakindent bsk ccv ch cinoptions cmdwinheight com completeslash cpoptions cscoperelative csre cursorcolumn delcombine digraph eadirection emo equalprg expandtab fdls fex fileignorecase fml foldlevel formatexpr gcr gli guifont guitabtooltip hidden hlg imactivatefunc imi inc inex isident keymap langnoremap linespace loadplugins ma matchtime mef mle modelineexpr mousehide mousetime nf ofu para penc pm previewwindow printoptions pw qftf relativenumber rightleftcmd ru sbr scrollfocus sel shellcmdflag shellxquote showfulltag signcolumn smc spell splitbelow ssl stmp swapsync synmaxcol tagcase tbi termbidi textauto thesaurus titleold top ttimeout ttymouse twt undofile varsofttabstop verbosefile viminfofile wak weirdinvert wig wildoptions winheight wm wrapscan xtermcodes
|
||||
syn keyword vimOption contained ambiwidth ari autowriteall backupext belloff binary breakindentopt bt cd charconvert cinscopedecls cmp comments concealcursor cpp cscopetag cst cursorline dex dip eb emoji errorbells exrc fdm ff filetype fmr foldlevelstart formatlistpat gd go guifontset helpfile highlight hls imactivatekey iminsert include inf isk keymodel langremap lisp lpl macatsui maxcombine menc mls modelines mousem mp nrformats omnifunc paragraphs perldll pmbcs printdevice prompt pythondll quickfixtextfunc remap rl rubydll sc scrolljump selection shellpipe shiftround showmatch siso smd spellcapcheck splitright ssop sts swb syntax tagfunc tbidi termencoding
|
||||
syn keyword vimOption contained acd ambw arshape aw backupskip beval bk bri bufhidden cdh ci cinsd cms commentstring conceallevel cpt cscopetagorder csto cursorlineopt dg dir ed enc errorfile fcl fdn ffs fillchars fo foldmarker formatoptions gdefault gp guifontwide helpheight history hlsearch imaf ims includeexpr infercase iskeyword keywordprg laststatus lispwords lrm magic maxfuncdepth menuitems mm modifiable mousemev mps nu opendevice paste pex pmbfn printencoding pt pythonhome quoteescape renderoptions rlc ruf scb scrolloff selectmode shellquote shiftwidth showmode sj sn spellfile splitscroll ssl stmp swapsync synmaxcol tagcase tbi termbidi textauto thesaurusfunc titlestring tpm ttimeoutlen ttyscroll tx undolevels vartabstop vfile virtualedit warn wfh wildchar wim winminheight wmh write
|
||||
syn keyword vimOption contained ai anti asd awa balloondelay bevalterm bkc briopt buflisted cdhome cin cinw co compatible confirm crb cscopeverbose csverb cwh dict directory edcompatible encoding errorformat fcs fdo fic fixendofline foldclose foldmethod formatprg gfm grepformat guiheadroom helplang hk ic imak imsearch incsearch insertmode isp km lazyredraw list ls makeef maxmapdepth mfd mmd modified mousemodel msm number operatorfunc pastetoggle pexpr popt printexpr pumheight pythonthreedll rdt report rnu ruler scf scrollopt sessionoptions shellredir shm showtabline slm so spelllang spo ssop sts swb syntax tagfunc tbidi termencoding textmode tildeop tl tr ttm ttytype uc undoreload vb vi visualbell wb wfw wildcharm winaltkeys winminwidth wmnu writeany
|
||||
syn keyword vimOption contained akm antialias autochdir background ballooneval bex bl brk buftype cdpath cindent cinwords cocu complete copyindent cryptmethod csl cuc debug dictionary display ef endofline esckeys fdc fdt fileencoding fixeol foldcolumn foldminlines fp gfn grepprg guiligatures hf hkmap icon imc imsf inde is isprint kmp lbr listchars lsp makeencoding maxmem mh mmp more mousemoveevent mzq numberwidth opfunc patchexpr pfn pp printfont pumwidth pythonthreehome re restorescreen ro rulerformat scl scs sft shellslash shortmess shq sm softtabstop spelloptions spr st su swf ta taglength tbis termguicolors textwidth timeout tm ts tty tw udf updatecount vbs viewdir vop wc wh wildignore wincolor winptydll wmw writebackup
|
||||
syn keyword vimOption contained al ar autoindent backspace balloonevalterm bexpr bo browsedir casemap cedit cink clipboard cole completefunc cot cscopepathcomp cspc cul deco diff dy efm eol et fde fen fileencodings fk foldenable foldnestmax fs gfs gtl guioptions hh hkmapp iconstring imcmdline imst indentexpr isf joinspaces kp lcs lm luadll makeprg maxmempattern mis mmt mouse mouses mzquantum nuw osfiletype patchmode ph preserveindent printheader pvh pyx readonly revins rop runtimepath scr sect sh shelltemp shortname si smartcase sol spellsuggest sps sta sua switchbuf tabline tagrelative tbs termwinkey tf timeoutlen to tsl ttybuiltin twk udir updatetime vdir viewoptions vsts wcm whichwrap wildignorecase window winwidth wop writedelay
|
||||
syn keyword vimOption contained aleph arab autoread backup balloonexpr bg bomb bs cb cf cinkeys cm colorcolumn completeopt cp cscopeprg csprg culopt def diffexpr ea ei ep eventignore fdi fenc fileformat fkmap foldexpr foldopen fsync gfw gtt guipty hi hkp ignorecase imd imstatusfunc indentkeys isfname js langmap linebreak lmap lw mat maxmemtot mkspellmem mod mousef mouseshape mzschemedll odev pa path pheader previewheight printmbcharset pvp pyxversion redrawtime ri rs sb scroll sections shcf shelltype showbreak sidescroll smartindent sp spf spsc stal suffixes sws tabpagemax tags tc termwinscroll tfu title toolbar tsr ttyfast tws ul ur ve vif vts wcr wi wildmenu winfixheight wiv wrap ws
|
||||
syn keyword vimOption contained allowrevins arabic autoshelldir backupcopy bdir bh breakat bsdir cc cfu cino cmdheight columns completepopup cpo cscopequickfix csqf cursorbind define diffopt ead ek equalalways ex fdl fencs fileformats flp foldignore foldtext ft ghr guicursor guitablabel hid hl im imdisable imstyle indk isi key langmenu lines lnr lz matchpairs mco ml modeline mousefocus mouset mzschemegcdll oft packpath pdev pi previewpopup printmbfont pvw qe regexpengine rightleft rtp sbo scrollbind secure shell shellxescape showcmd sidescrolloff smarttab spc spl sr startofline suffixesadd sxe tabstop tagstack tcldll termwinsize tgc titlelen toolbariconsize tsrfu ttym twsl undodir ut verbose viminfo wa wd wic wildmode winfixwidth wiw wrapmargin ww
|
||||
syn keyword vimOption contained altkeymap arabicshape autowrite backupdir bdlay bin breakindent bsk ccv ch cinoptions cmdwinheight com completeslash cpoptions cscoperelative csre cursorcolumn delcombine digraph eadirection emo equalprg expandtab fdls fex fileignorecase fml foldlevel formatexpr gcr gli guifont guitabtooltip hidden hlg imactivatefunc imi inc inex isident keymap langnoremap linespace loadplugins ma matchtime mef mle modelineexpr mousehide mousetime nf ofu para penc pm previewwindow printoptions pw qftf relativenumber rightleftcmd ru sbr scrollfocus sel shellcmdflag shellxquote showfulltag signcolumn smc spell splitbelow srr statusline sw sxq tag tal tenc termwintype tgst titleold top ttimeout ttymouse twt undofile varsofttabstop verbosefile viminfofile wak weirdinvert wig wildoptions winheight wm wrapscan xtermcodes
|
||||
syn keyword vimOption contained ambiwidth ari autowriteall backupext belloff binary breakindentopt bt cd charconvert cinscopedecls cmp comments concealcursor cpp cscopetag cst cursorline dex dip eb emoji errorbells exrc fdm ff filetype fmr foldlevelstart formatlistpat gd go guifontset helpfile highlight hls imactivatekey iminsert include inf isk keymodel langremap lisp lpl macatsui maxcombine menc mls modelines mousem mp nrformats omnifunc paragraphs perldll pmbcs printdevice prompt pythondll quickfixtextfunc remap rl rubydll sc scrolljump selection shellpipe shiftround showmatch siso smd spellcapcheck splitright ss stl swapfile syn tagbsearch tb term terse thesaurus
|
||||
|
||||
" vimOptions: These are the turn-off setting variants {{{2
|
||||
syn keyword vimOption contained noacd noallowrevins noantialias noarabic noarshape noautoindent noautowrite noawa noballoonevalterm nobin nobl nobri noci nocompatible nocp nocscopetag nocst nocul nocursorline nodg noea noedcompatible noemoji noequalalways noet noexrc nofileignorecase nofk nofs nogdefault nohidden nohkmapp nohlsearch noignorecase noimcmdline noincsearch noinsertmode nojs nolazyredraw nolisp noloadplugins nolz nomagic nomle nomodelineexpr nomore nomousefocus nonu noodev nopaste nopreserveindent noprompt noreadonly noremap norevins norightleft nornu nors noruler nosc noscf noscrollfocus nosecure noshellslash noshiftround noshowcmd noshowmatch nosi nosmartcase nosmarttab nosn nospell nosplitright nosr nosta nostmp noswf notagbsearch notagstack notbidi notermbidi notextauto notf notildeop notitle notop nottimeout nottyfast noudf novb nowa nowb nowfh nowic nowildmenu nowinfixwidth nowmnu nowrapscan nowriteany nows
|
||||
syn keyword vimOption contained noai noaltkeymap noar noarabicshape noasd noautoread noautowriteall nobackup nobeval nobinary nobomb nobuflisted nocin noconfirm nocrb nocscopeverbose nocsverb nocursorbind nodeco nodiff noeb noek noendofline noerrorbells noex nofen nofixendofline nofkmap nofsync noguipty nohk nohkp noic noim noimd noinf nois nolangnoremap nolbr nolist nolpl noma nomh nomod nomodifiable nomousef nomousehide nonumber noopendevice nopi nopreviewwindow nopvw norelativenumber norestorescreen nori norl noro noru nosb noscb noscrollbind noscs nosft noshelltemp noshortname noshowfulltag noshowmode nosm nosmartindent nosmd nosol nosplitbelow nospr nossl nostartofline noswapfile nota notagrelative notbi notbs noterse notextmode notgst notimeout noto notr nottybuiltin notx noundofile novisualbell nowarn noweirdinvert nowfw nowildignorecase nowinfixheight nowiv nowrap nowrite nowritebackup noxtermcodes
|
||||
syn keyword vimOption contained noakm noanti noarab noari noautochdir noautoshelldir noaw noballooneval nobevalterm nobk nobreakindent nocf nocindent nocopyindent nocscoperelative nocsre nocuc nocursorcolumn nodelcombine nodigraph noed noemo noeol noesckeys noexpandtab nofic nofixeol nofoldenable nogd nohid nohkmap nohls noicon noimc noimdisable noinfercase nojoinspaces nolangremap nolinebreak nolnr nolrm nomacatsui noml nomodeline nomodified
|
||||
syn keyword vimOption contained noacd noallowrevins noantialias noarabic noarshape noautoindent noautowrite noawa noballoonevalterm nobin nobl nobri noci nocompatible nocp nocscopetag nocst nocul nocursorline nodg noea noedcompatible noemoji noequalalways noet noexrc nofileignorecase nofk nofs nogdefault nohidden nohkmapp nohlsearch noignorecase noimcmdline noincsearch noinsertmode nojs nolazyredraw nolisp noloadplugins nolz nomagic nomle nomodelineexpr nomore nomousehide noodev nopaste nopreserveindent noprompt noreadonly noremap norevins norightleft nornu nors noruler nosc noscf noscrollfocus nosecure noshellslash noshiftround noshowcmd noshowmatch nosi nosmartcase nosmarttab nosn nospell nosplitright nospr nosr nosta nostmp noswf notagbsearch notagstack notbidi notermbidi notextauto notf notildeop notitle notop nottimeout nottyfast noudf novb nowa nowb nowfh nowic nowildmenu nowinfixwidth nowmnu nowrapscan nowriteany nows
|
||||
syn keyword vimOption contained noai noaltkeymap noar noarabicshape noasd noautoread noautowriteall nobackup nobeval nobinary nobomb nobuflisted nocin noconfirm nocrb nocscopeverbose nocsverb nocursorbind nodeco nodiff noeb noek noendofline noerrorbells noex nofen nofixendofline nofkmap nofsync noguipty nohk nohkp noic noim noimd noinf nois nolangnoremap nolbr nolist nolpl noma nomh nomod nomodifiable nomousef nonu noopendevice nopi nopreviewwindow nopvw norelativenumber norestorescreen nori norl noro noru nosb noscb noscrollbind noscs nosft noshelltemp noshortname noshowfulltag noshowmode nosm nosmartindent nosmd nosol nosplitbelow nosplitscroll nospsc nossl nostartofline noswapfile nota notagrelative notbi notbs noterse notextmode notgst notimeout noto notr nottybuiltin notx noundofile novisualbell nowarn noweirdinvert nowfw nowildignorecase nowinfixheight nowiv nowrap nowrite nowritebackup noxtermcodes
|
||||
syn keyword vimOption contained noakm noanti noarab noari noautochdir noautoshelldir noaw noballooneval nobevalterm nobk nobreakindent nocf nocindent nocopyindent nocscoperelative nocsre nocuc nocursorcolumn nodelcombine nodigraph noed noemo noeol noesckeys noexpandtab nofic nofixeol nofoldenable nogd nohid nohkmap nohls noicon noimc noimdisable noinfercase nojoinspaces nolangremap nolinebreak nolnr nolrm nomacatsui noml nomodeline nomodified nomousefocus nonumber
|
||||
|
||||
" vimOptions: These are the invertible variants {{{2
|
||||
syn keyword vimOption contained invacd invallowrevins invantialias invarabic invarshape invautoindent invautowrite invawa invballoonevalterm invbin invbl invbri invci invcompatible invcp invcscopetag invcst invcul invcursorline invdg invea invedcompatible invemoji invequalalways invet invexrc invfileignorecase invfk invfs invgdefault invhidden invhkmapp invhlsearch invignorecase invimcmdline invincsearch invinsertmode invjs invlazyredraw invlisp invloadplugins invlz invmagic invmle invmodelineexpr invmore invmousefocus invnu invodev invpaste invpreserveindent invprompt invreadonly invremap invrevins invrightleft invrnu invrs invruler invsc invscf invscrollfocus invsecure invshellslash invshiftround invshowcmd invshowmatch invsi invsmartcase invsmarttab invsn invspell invsplitright invsr invsta invstmp invswf invtagbsearch invtagstack invtbidi invtermbidi invtextauto invtf invtildeop invtitle invtop invttimeout invttyfast invudf invvb invwa invwb invwfh invwic invwildmenu invwinfixwidth invwmnu invwrapscan invwriteany invws
|
||||
syn keyword vimOption contained invai invaltkeymap invar invarabicshape invasd invautoread invautowriteall invbackup invbeval invbinary invbomb invbuflisted invcin invconfirm invcrb invcscopeverbose invcsverb invcursorbind invdeco invdiff inveb invek invendofline inverrorbells invex invfen invfixendofline invfkmap invfsync invguipty invhk invhkp invic invim invimd invinf invis invlangnoremap invlbr invlist invlpl invma invmh invmod invmodifiable invmousef invmousehide invnumber invopendevice invpi invpreviewwindow invpvw invrelativenumber invrestorescreen invri invrl invro invru invsb invscb invscrollbind invscs invsft invshelltemp invshortname invshowfulltag invshowmode invsm invsmartindent invsmd invsol invsplitbelow invspr invssl invstartofline invswapfile invta invtagrelative invtbi invtbs invterse invtextmode invtgst invtimeout invto invtr invttybuiltin invtx invundofile invvisualbell invwarn invweirdinvert invwfw invwildignorecase invwinfixheight invwiv invwrap invwrite invwritebackup invxtermcodes
|
||||
syn keyword vimOption contained invakm invanti invarab invari invautochdir invautoshelldir invaw invballooneval invbevalterm invbk invbreakindent invcf invcindent invcopyindent invcscoperelative invcsre invcuc invcursorcolumn invdelcombine invdigraph inved invemo inveol invesckeys invexpandtab invfic invfixeol invfoldenable invgd invhid invhkmap invhls invicon invimc invimdisable invinfercase invjoinspaces invlangremap invlinebreak invlnr invlrm invmacatsui invml invmodeline invmodified
|
||||
syn keyword vimOption contained invacd invallowrevins invantialias invarabic invarshape invautoindent invautowrite invawa invballoonevalterm invbin invbl invbri invci invcompatible invcp invcscopetag invcst invcul invcursorline invdg invea invedcompatible invemoji invequalalways invet invexrc invfileignorecase invfk invfs invgdefault invhidden invhkmapp invhlsearch invignorecase invimcmdline invincsearch invinsertmode invjs invlazyredraw invlisp invloadplugins invlz invmagic invmle invmodelineexpr invmore invmousehide invodev invpaste invpreserveindent invprompt invreadonly invremap invrevins invrightleft invrnu invrs invruler invsc invscf invscrollfocus invsecure invshellslash invshiftround invshowcmd invshowmatch invsi invsmartcase invsmarttab invsn invspell invsplitright invspr invsr invsta invstmp invswf invtagbsearch invtagstack invtbidi invtermbidi invtextauto invtf invtildeop invtitle invtop invttimeout invttyfast invudf invvb invwa invwb invwfh invwic invwildmenu invwinfixwidth invwmnu invwrapscan invwriteany invws
|
||||
syn keyword vimOption contained invai invaltkeymap invar invarabicshape invasd invautoread invautowriteall invbackup invbeval invbinary invbomb invbuflisted invcin invconfirm invcrb invcscopeverbose invcsverb invcursorbind invdeco invdiff inveb invek invendofline inverrorbells invex invfen invfixendofline invfkmap invfsync invguipty invhk invhkp invic invim invimd invinf invis invlangnoremap invlbr invlist invlpl invma invmh invmod invmodifiable invmousef invnu invopendevice invpi invpreviewwindow invpvw invrelativenumber invrestorescreen invri invrl invro invru invsb invscb invscrollbind invscs invsft invshelltemp invshortname invshowfulltag invshowmode invsm invsmartindent invsmd invsol invsplitbelow invsplitscroll invspsc invssl invstartofline invswapfile invta invtagrelative invtbi invtbs invterse invtextmode invtgst invtimeout invto invtr invttybuiltin invtx invundofile invvisualbell invwarn invweirdinvert invwfw invwildignorecase invwinfixheight invwiv invwrap invwrite invwritebackup invxtermcodes
|
||||
syn keyword vimOption contained invakm invanti invarab invari invautochdir invautoshelldir invaw invballooneval invbevalterm invbk invbreakindent invcf invcindent invcopyindent invcscoperelative invcsre invcuc invcursorcolumn invdelcombine invdigraph inved invemo inveol invesckeys invexpandtab invfic invfixeol invfoldenable invgd invhid invhkmap invhls invicon invimc invimdisable invinfercase invjoinspaces invlangremap invlinebreak invlnr invlrm invmacatsui invml invmodeline invmodified invmousefocus invnumber
|
||||
|
||||
" termcap codes (which can also be set) {{{2
|
||||
syn keyword vimOption contained t_8b t_8u t_AF t_AL t_bc t_BE t_ce t_cl t_Co t_Cs t_CV t_db t_DL t_Ds t_EI t_F2 t_F4 t_F6 t_F8 t_fd t_fs t_IE t_k1 t_k2 t_K3 t_K4 t_K5 t_K6 t_K7 t_K8 t_K9 t_kb t_KB t_kd t_KD t_KE t_KG t_KH t_KI t_KJ t_KK t_kl t_KL t_kN t_kP t_kr t_ks t_ku t_le t_mb t_md t_me t_mr t_ms t_nd t_op t_PE t_PS t_RB t_RC t_RF t_Ri t_RI t_RS t_RT t_RV t_Sb t_SC t_se t_Sf t_SH t_Si t_SI t_so t_sr t_SR t_ST t_te t_Te t_TE t_ti t_TI t_ts t_Ts t_u7 t_ue t_us t_Us t_ut t_vb t_ve t_vi t_vs t_VS t_WP t_WS t_xn t_xs t_ZH t_ZR
|
||||
@@ -73,17 +74,17 @@ syn keyword vimAutoEvent contained BufCreate BufEnter BufFilePre BufLeave BufNew
|
||||
syn keyword vimGroup contained Comment Constant String Character Number Boolean Float Identifier Function Statement Conditional Repeat Label Operator Keyword Exception PreProc Include Define Macro PreCondit Type StorageClass Structure Typedef Special SpecialChar Tag Delimiter SpecialComment Debug Underlined Ignore Error Todo
|
||||
|
||||
" Default highlighting groups {{{2
|
||||
syn keyword vimHLGroup contained ColorColumn CurSearch Cursor CursorColumn CursorIM CursorLine CursorLineFold CursorLineNr CursorLineSign DiffAdd DiffChange DiffDelete DiffText Directory EndOfBuffer ErrorMsg FoldColumn Folded IncSearch LineNr LineNrAbove LineNrBelow MatchParen Menu ModeMsg MoreMsg NonText Normal Pmenu PmenuSbar PmenuSel PmenuThumb Question QuickFixLine Scrollbar Search SignColumn SpecialKey SpellBad SpellCap SpellLocal SpellRare StatusLine StatusLineNC StatusLineTerm StatusLineTermNC TabLine TabLineFill TabLineSel Terminal Title Tooltip VertSplit Visual VisualNOS WarningMsg WildMenu
|
||||
syn keyword vimHLGroup contained ColorColumn CurSearch Cursor CursorColumn CursorIM CursorLine CursorLineFold CursorLineNr CursorLineSign DiffAdd DiffChange DiffDelete DiffText Directory EndOfBuffer ErrorMsg FoldColumn Folded IncSearch LineNr LineNrAbove LineNrBelow MatchParen Menu MessageWindow ModeMsg MoreMsg NonText Normal Pmenu PmenuSbar PmenuSel PmenuThumb Question QuickFixLine Scrollbar Search SignColumn SpecialKey SpellBad SpellCap SpellLocal SpellRare StatusLine StatusLineNC StatusLineTerm StatusLineTermNC TabLine TabLineFill TabLineSel Terminal Title Tooltip VertSplit Visual VisualNOS WarningMsg WildMenu
|
||||
syn match vimHLGroup contained "Conceal"
|
||||
syn case match
|
||||
|
||||
" Function Names {{{2
|
||||
syn keyword vimFuncName contained abs argc assert_equal assert_match atan balloon_show bufexists bufwinid ceil ch_canread ch_getbufnr ch_read ch_status complete_check count deletebufline digraph_set eval exists_compiled extendnew findfile fnameescape foldtextresult get getcharmod getcmdpos getcursorcharpos getftime getmarklist getreg gettagstack getwinvar haslocaldir hlexists indent inputrestore isabsolutepath job_getchannel join keys line2byte listener_flush luaeval mapnew matcharg matchlist min nr2char popup_beval popup_filter_menu popup_getpos popup_move pow prompt_setinterrupt prop_find prop_type_delete py3eval readblob reg_executing remote_expr remote_startserver reverse screenchars search searchpos setcellwidths setenv setpos settagstack sign_define sign_placelist sin soundfold spellsuggest str2float strchars string strtrans swapname synstack tabpagewinnr tempname term_getansicolors term_getscrolled terminalprops term_setapi term_wait test_garbagecollect_soon test_null_channel test_null_partial test_setmouse timer_info tolower type values winbufnr win_getid win_id2win winnr win_splitmove
|
||||
syn keyword vimFuncName contained acos argidx assert_equalfile assert_nobeep atan2 balloon_split buflisted bufwinnr changenr ch_close ch_getjob ch_readblob cindent complete_info cscope_connection did_filetype digraph_setlist eventhandler exp feedkeys flatten fnamemodify foreground getbufinfo getcharpos getcmdscreenpos getcwd getftype getmatches getreginfo gettext glob hasmapto hlget index inputsave isdirectory job_info js_decode len lispindent listener_remove map mapset matchdelete matchstr mkdir or popup_clear popup_filter_yesno popup_hide popup_notification prevnonblank prompt_setprompt prop_list prop_type_get pyeval readdir reg_recording remote_foreground remove round screencol searchcount server2client setcharpos setfperm setqflist setwinvar sign_getdefined sign_undefine sinh sound_playevent split str2list strdisplaywidth strlen strwidth synconcealed system tagfiles term_dumpdiff term_getattr term_getsize term_list term_setkill test_alloc_fail test_getvalue test_null_dict test_null_string test_settime timer_pause toupper typename virtcol wincol win_gettype winlayout winrestcmd winwidth
|
||||
syn keyword vimFuncName contained add arglistid assert_exception assert_notequal autocmd_add blob2list bufload byte2line char2nr ch_close_in ch_info ch_readraw clearmatches confirm cursor diff_filler echoraw executable expand filereadable flattennew foldclosed fullcommand getbufline getcharsearch getcmdtype getenv getimstatus getmousepos getregtype getwininfo glob2regpat histadd hlID indexof inputsecret isinf job_setoptions js_encode libcall list2blob localtime maparg match matchend matchstrpos mode pathshorten popup_close popup_findinfo popup_list popup_setoptions printf prop_add prop_remove prop_type_list pyxeval readdirex reltime remote_peek rename rubyeval screenpos searchdecl serverlist setcharsearch setline setreg sha256 sign_getplaced sign_unplace slice sound_playfile sqrt str2nr strftime strpart submatch synID systemlist taglist term_dumpload term_getcursor term_getstatus term_scrape term_setrestore test_autochdir test_gui_event test_null_function test_option_not_set test_srand_seed timer_start tr undofile virtcol2col windowsversion win_gotoid winline winrestview wordcount
|
||||
syn keyword vimFuncName contained and argv assert_fails assert_notmatch autocmd_delete browse bufloaded byteidx charclass chdir ch_log ch_sendexpr col copy debugbreak diff_hlID empty execute expandcmd filewritable float2nr foldclosedend funcref getbufvar getcharstr getcmdwintype getfontname getjumplist getpid gettabinfo getwinpos globpath histdel hlset input insert islocked job_start json_decode libcallnr list2str log mapcheck matchadd matchfuzzy max mzeval perleval popup_create popup_findpreview popup_locate popup_settext prompt_getprompt prop_add_list prop_type_add pum_getpos rand readfile reltimefloat remote_read repeat screenattr screenrow searchpair setbufline setcmdpos setloclist settabvar shellescape sign_jump sign_unplacelist sort sound_stop srand strcharlen strgetchar strptime substitute synIDattr tabpagebuflist tan term_dumpwrite term_getjob term_gettitle term_sendkeys term_setsize test_feedinput test_ignore_error test_null_job test_override test_unknown timer_stop trim undotree visualmode win_execute winheight win_move_separator winsaveview writefile
|
||||
syn keyword vimFuncName contained append asin assert_false assert_report autocmd_get browsedir bufname byteidxcomp charcol ch_evalexpr ch_logfile ch_sendraw complete cos deepcopy digraph_get environ exepath expr10 filter floor foldlevel function getchangelist getcmdcompltype getcompletion getfperm getline getpos gettabvar getwinposx has histget hostname inputdialog interrupt isnan job_status json_encode line listener_add log10 maplist matchaddpos matchfuzzypos menu_info nextnonblank popup_atcursor popup_dialog popup_getoptions popup_menu popup_show prompt_setcallback prop_clear prop_type_change pumvisible range reduce reltimestr remote_send resolve screenchar screenstring searchpairpos setbufvar setcursorcharpos setmatches settabwinvar shiftwidth sign_place simplify sound_clear spellbadword state strcharpart stridx strridx swapinfo synIDtrans tabpagenr tanh term_getaltscreen term_getline term_gettty term_setansicolors term_start test_garbagecollect_now test_null_blob test_null_list test_refcount test_void timer_stopall trunc uniq wildmenumode win_findbuf win_id2tabwin win_move_statusline win_screenpos xor
|
||||
syn keyword vimFuncName contained appendbufline assert_beeps assert_inrange assert_true balloon_gettext bufadd bufnr call charidx ch_evalraw ch_open ch_setoptions complete_add cosh delete digraph_getlist escape exists extend finddir fmod foldtext garbagecollect getchar getcmdline getcurpos getfsize getloclist getqflist gettabwinvar getwinposy has_key histnr iconv inputlist invert items job_stop
|
||||
syn keyword vimFuncName contained abs argc assert_equal assert_match atan balloon_show bufexists bufwinid ceil ch_canread ch_getbufnr ch_read ch_status complete_check count deletebufline digraph_set eval exists_compiled extendnew findfile fnameescape foldtextresult get getcharmod getcmdpos getcursorcharpos getftime getmarklist getreg gettabwinvar getwinposy has_key histnr iconv inputlist invert items job_stop keys line2byte listener_remove map mapset matchdelete matchstr mkdir or popup_clear popup_filter_yesno popup_hide popup_notification prevnonblank prompt_setprompt prop_list prop_type_get pyeval readdir reg_recording remote_foreground remove round screencol searchcount server2client setcharpos setenv setpos settagstack sign_define sign_placelist sin soundfold spellsuggest str2float strchars string strtrans swapname synstack tabpagewinnr tempname term_getansicolors term_getscrolled terminalprops term_setapi term_wait test_garbagecollect_soon test_null_channel test_null_partial test_setmouse timer_info tolower type values winbufnr win_getid win_id2win winnr win_splitmove
|
||||
syn keyword vimFuncName contained acos argidx assert_equalfile assert_nobeep atan2 balloon_split buflisted bufwinnr changenr ch_close ch_getjob ch_readblob cindent complete_info cscope_connection did_filetype digraph_setlist eventhandler exp feedkeys flatten fnamemodify foreground getbufinfo getcharpos getcmdscreenpos getcwd getftype getmatches getreginfo gettagstack getwinvar haslocaldir hlexists indent inputrestore isabsolutepath job_getchannel join keytrans lispindent localtime maparg match matchend matchstrpos mode pathshorten popup_close popup_findinfo popup_list popup_setoptions printf prop_add prop_remove prop_type_list pyxeval readdirex reltime remote_peek rename rubyeval screenpos searchdecl serverlist setcharsearch setfperm setqflist setwinvar sign_getdefined sign_undefine sinh sound_playevent split str2list strdisplaywidth strlen strwidth synconcealed system tagfiles term_dumpdiff term_getattr term_getsize term_list term_setkill test_alloc_fail test_getvalue test_null_dict test_null_string test_settime timer_pause toupper typename virtcol wincol win_gettype winlayout winrestcmd winwidth
|
||||
syn keyword vimFuncName contained add arglistid assert_exception assert_notequal autocmd_add blob2list bufload byte2line char2nr ch_close_in ch_info ch_readraw clearmatches confirm cursor diff_filler echoraw executable expand filereadable flattennew foldclosed fullcommand getbufline getcharsearch getcmdtype getenv getimstatus getmousepos getregtype gettext glob hasmapto hlget index inputsave isdirectory job_info js_decode len list2blob log mapcheck matchadd matchfuzzy max mzeval perleval popup_create popup_findpreview popup_locate popup_settext prompt_getprompt prop_add_list prop_type_add pum_getpos rand readfile reltimefloat remote_read repeat screenattr screenrow searchpair setbufline setcmdline setline setreg sha256 sign_getplaced sign_unplace slice sound_playfile sqrt str2nr strftime strpart submatch synID systemlist taglist term_dumpload term_getcursor term_getstatus term_scrape term_setrestore test_autochdir test_gui_event test_null_function test_option_not_set test_srand_seed timer_start tr undofile virtcol2col windowsversion win_gotoid winline winrestview wordcount
|
||||
syn keyword vimFuncName contained and argv assert_fails assert_notmatch autocmd_delete browse bufloaded byteidx charclass chdir ch_log ch_sendexpr col copy debugbreak diff_hlID empty execute expandcmd filewritable float2nr foldclosedend funcref getbufvar getcharstr getcmdwintype getfontname getjumplist getpid getscriptinfo getwininfo glob2regpat histadd hlID indexof inputsecret isinf job_setoptions js_encode libcall list2str log10 maplist matchaddpos matchfuzzypos menu_info nextnonblank popup_atcursor popup_dialog popup_getoptions popup_menu popup_show prompt_setcallback prop_clear prop_type_change pumvisible range reduce reltimestr remote_send resolve screenchar screenstring searchpairpos setbufvar setcmdpos setloclist settabvar shellescape sign_jump sign_unplacelist sort sound_stop srand strcharlen strgetchar strptime substitute synIDattr tabpagebuflist tan term_dumpwrite term_getjob term_gettitle term_sendkeys term_setsize test_feedinput test_ignore_error test_null_job test_override test_unknown timer_stop trim undotree visualmode win_execute winheight win_move_separator winsaveview writefile
|
||||
syn keyword vimFuncName contained append asin assert_false assert_report autocmd_get browsedir bufname byteidxcomp charcol ch_evalexpr ch_logfile ch_sendraw complete cos deepcopy digraph_get environ exepath expr10 filter floor foldlevel function getchangelist getcmdcompltype getcompletion getfperm getline getpos gettabinfo getwinpos globpath histdel hlset input insert islocked job_start json_decode libcallnr listener_add luaeval mapnew matcharg matchlist min nr2char popup_beval popup_filter_menu popup_getpos popup_move pow prompt_setinterrupt prop_find prop_type_delete py3eval readblob reg_executing remote_expr remote_startserver reverse screenchars search searchpos setcellwidths setcursorcharpos setmatches settabwinvar shiftwidth sign_place simplify sound_clear spellbadword state strcharpart stridx strridx swapinfo synIDtrans tabpagenr tanh term_getaltscreen term_getline term_gettty term_setansicolors term_start test_garbagecollect_now test_null_blob test_null_list test_refcount test_void timer_stopall trunc uniq wildmenumode win_findbuf win_id2tabwin win_move_statusline win_screenpos xor
|
||||
syn keyword vimFuncName contained appendbufline assert_beeps assert_inrange assert_true balloon_gettext bufadd bufnr call charidx ch_evalraw ch_open ch_setoptions complete_add cosh delete digraph_getlist escape exists extend finddir fmod foldtext garbagecollect getchar getcmdline getcurpos getfsize getloclist getqflist gettabvar getwinposx has histget hostname inputdialog interrupt isnan job_status json_encode line listener_flush
|
||||
|
||||
"--- syntax here and above generated by mkvimvim ---
|
||||
" Special Vim Highlighting (not automatic) {{{1
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" Language: Zsh shell script
|
||||
" Maintainer: Christian Brabandt <cb@256bit.org>
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2020-11-21
|
||||
" Latest Revision: 2022-07-26
|
||||
" License: Vim (see :h license)
|
||||
" Repository: https://github.com/chrisbra/vim-zsh
|
||||
|
||||
@@ -19,9 +19,9 @@ function! s:ContainedGroup()
|
||||
" vim-pandoc syntax defines the @langname cluster for embedded syntax languages
|
||||
" However, if no syntax is defined yet, `syn list @zsh` will return
|
||||
" "No syntax items defined", so make sure the result is actually a valid syn cluster
|
||||
for cluster in ['markdownHighlightzsh', 'zsh']
|
||||
for cluster in ['markdownHighlight_zsh', 'zsh']
|
||||
try
|
||||
" markdown syntax defines embedded clusters as @markdownhighlight<lang>,
|
||||
" markdown syntax defines embedded clusters as @markdownhighlight_<lang>,
|
||||
" pandoc just uses @<lang>, so check both for both clusters
|
||||
let a=split(execute('syn list @'. cluster), "\n")
|
||||
if len(a) == 2 && a[0] =~# '^---' && a[1] =~? cluster
|
||||
@@ -48,17 +48,28 @@ syn match zshPOSIXQuoted '\\u[0-9a-fA-F]\{1,4}'
|
||||
syn match zshPOSIXQuoted '\\U[1-9a-fA-F]\{1,8}'
|
||||
|
||||
syn region zshString matchgroup=zshStringDelimiter start=+"+ end=+"+
|
||||
\ contains=zshQuoted,@zshDerefs,@zshSubst fold
|
||||
\ contains=zshQuoted,@zshDerefs,@zshSubstQuoted fold
|
||||
syn region zshString matchgroup=zshStringDelimiter start=+'+ end=+'+ fold
|
||||
syn region zshPOSIXString matchgroup=zshStringDelimiter start=+\$'+
|
||||
\ skip=+\\[\\']+ end=+'+ contains=zshPOSIXQuoted,zshQuoted
|
||||
syn match zshJobSpec '%\(\d\+\|?\=\w\+\|[%+-]\)'
|
||||
|
||||
syn match zshNumber '[+-]\=\<\d\+\>'
|
||||
syn match zshNumber '[+-]\=\<0x\x\+\>'
|
||||
syn match zshNumber '[+-]\=\<0\o\+\>'
|
||||
syn match zshNumber '[+-]\=\d\+#[-+]\=\w\+\>'
|
||||
syn match zshNumber '[+-]\=\d\+\.\d\+\>'
|
||||
|
||||
syn keyword zshPrecommand noglob nocorrect exec command builtin - time
|
||||
|
||||
syn keyword zshDelimiter do done end
|
||||
|
||||
syn keyword zshConditional if then elif else fi case in esac select
|
||||
syn keyword zshConditional if then elif else fi esac select
|
||||
|
||||
syn keyword zshCase case nextgroup=zshCaseWord skipwhite
|
||||
syn match zshCaseWord /\S\+/ nextgroup=zshCaseIn skipwhite contained transparent
|
||||
syn keyword zshCaseIn in nextgroup=zshCasePattern skipwhite skipnl contained
|
||||
syn match zshCasePattern /\S[^)]*)/ contained
|
||||
|
||||
syn keyword zshRepeat while until repeat
|
||||
|
||||
@@ -73,9 +84,13 @@ syn match zshFunction '^\s*\k\+\ze\s*()'
|
||||
|
||||
syn match zshOperator '||\|&&\|;\|&!\='
|
||||
|
||||
syn match zshRedir '\d\=\(<\|<>\|<<<\|<&\s*[0-9p-]\=\)'
|
||||
syn match zshRedir '\d\=\(>\|>>\|>&\s*[0-9p-]\=\|&>\|>>&\|&>>\)[|!]\='
|
||||
syn match zshRedir '|&\='
|
||||
" <<<, <, <>, and variants.
|
||||
syn match zshRedir '\d\=\(<<<\|<&\s*[0-9p-]\=\|<>\?\)'
|
||||
" >, >>, and variants.
|
||||
syn match zshRedir '\d\=\(>&\s*[0-9p-]\=\|&>>\?\|>>\?&\?\)[|!]\='
|
||||
" | and |&, but only if it's not preceeded or
|
||||
" followed by a | to avoid matching ||.
|
||||
syn match zshRedir '|\@1<!|&\=|\@!'
|
||||
|
||||
syn region zshHereDoc matchgroup=zshRedir
|
||||
\ start='<\@<!<<\s*\z([^<]\S*\)'
|
||||
@@ -125,7 +140,7 @@ syn keyword zshCommands alias autoload bg bindkey break bye cap cd
|
||||
\ enable eval exec exit export false fc fg
|
||||
\ functions getcap getln getopts hash history
|
||||
\ jobs kill let limit log logout popd print
|
||||
\ printf pushd pushln pwd r read
|
||||
\ printf prompt pushd pushln pwd r read
|
||||
\ rehash return sched set setcap shift
|
||||
\ source stat suspend test times trap true
|
||||
\ ttyctl type ulimit umask unalias unfunction
|
||||
@@ -139,10 +154,120 @@ syn case ignore
|
||||
syn match zshOptStart
|
||||
\ /\v^\s*%(%(un)?setopt|set\s+[-+]o)/
|
||||
\ nextgroup=zshOption skipwhite
|
||||
syn match zshOption nextgroup=zshOption,zshComment skipwhite contained /\v
|
||||
\ <%(no_?)?%(
|
||||
\ auto_?cd|auto_?pushd|cdable_?vars|cd_?silent|chase_?dots|chase_?links|posix_?cd|pushd_?ignore_?dups|pushd_?minus|pushd_?silent|pushd_?to_?home|always_?last_?prompt|always_?to_?end|auto_?list|auto_?menu|auto_?name_?dirs|auto_?param_?keys|auto_?param_?slash|auto_?remove_?slash|bash_?auto_?list|complete_?aliases|complete_?in_?word|glob_?complete|hash_?list_?all|list_?ambiguous|list_?beep|list_?packed|list_?rows_?first|list_?types|menu_?complete|rec_?exact|bad_?pattern|bare_?glob_?qual|brace_?ccl|case_?glob|case_?match|case_?paths|csh_?null_?glob|equals|extended_?glob|force_?float|glob|glob_?assign|glob_?dots|glob_?star_?short|glob_?subst|hist_?subst_?pattern|ignore_?braces|ignore_?close_?braces|ksh_?glob|magic_?equal_?subst|mark_?dirs|multibyte|nomatch|null_?glob|numeric_?glob_?sort|rc_?expand_?param|rematch_?pcre|sh_?glob|unset|warn_?create_?global|warn_?nested_?var|warnnestedvar|append_?history|bang_?hist|extended_?history|hist_?allow_?clobber|hist_?beep|hist_?expire_?dups_?first|hist_?fcntl_?lock|hist_?find_?no_?dups|hist_?ignore_?all_?dups|hist_?ignore_?dups|hist_?ignore_?space|hist_?lex_?words|hist_?no_?functions|hist_?no_?store|hist_?reduce_?blanks|hist_?save_?by_?copy|hist_?save_?no_?dups|hist_?verify|inc_?append_?history|inc_?append_?history_?time|share_?history|all_?export|global_?export|global_?rcs|rcs|aliases|clobber|clobber_?empty|correct|correct_?all|dvorak|flow_?control|ignore_?eof|interactive_?comments|hash_?cmds|hash_?dirs|hash_?executables_?only|mail_?warning|path_?dirs|path_?script|print_?eight_?bit|print_?exit_?value|rc_?quotes|rm_?star_?silent|rm_?star_?wait|short_?loops|short_?repeat|sun_?keyboard_?hack|auto_?continue|auto_?resume|bg_?nice|check_?jobs|check_?running_?jobs|hup|long_?list_?jobs|monitor|notify|posix_?jobs|prompt_?bang|prompt_?cr|prompt_?sp|prompt_?percent|prompt_?subst|transient_?rprompt|alias_?func_?def|c_?bases|c_?precedences|debug_?before_?cmd|err_?exit|err_?return|eval_?lineno|exec|function_?argzero|local_?loops|local_?options|local_?patterns|local_?traps|multi_?func_?def|multios|octal_?zeroes|pipe_?fail|source_?trace|typeset_?silent|typeset_?to_?unset|verbose|xtrace|append_?create|bash_?rematch|bsd_?echo|continue_?on_?error|csh_?junkie_?history|csh_?junkie_?loops|csh_?junkie_?quotes|csh_?nullcmd|ksh_?arrays|ksh_?autoload|ksh_?option_?print|ksh_?typeset|ksh_?zero_?subscript|posix_?aliases|posix_?argzero|posix_?builtins|posix_?identifiers|posix_?strings|posix_?traps|sh_?file_?expansion|sh_?nullcmd|sh_?option_?letters|sh_?word_?split|traps_?async|interactive|login|privileged|restricted|shin_?stdin|single_?command|beep|combining_?chars|emacs|overstrike|single_?line_?zle|vi|zle|brace_?expand|dot_?glob|hash_?all|hist_?append|hist_?expand|log|mail_?warn|one_?cmd|physical|prompt_?vars|stdin|track_?all|no_?match
|
||||
\)>/
|
||||
syn keyword zshOption nextgroup=zshOption,zshComment skipwhite contained
|
||||
\ auto_cd no_auto_cd autocd noautocd auto_pushd no_auto_pushd autopushd noautopushd cdable_vars
|
||||
\ no_cdable_vars cdablevars nocdablevars cd_silent no_cd_silent cdsilent nocdsilent chase_dots
|
||||
\ no_chase_dots chasedots nochasedots chase_links no_chase_links chaselinks nochaselinks posix_cd
|
||||
\ posixcd no_posix_cd noposixcd pushd_ignore_dups no_pushd_ignore_dups pushdignoredups
|
||||
\ nopushdignoredups pushd_minus no_pushd_minus pushdminus nopushdminus pushd_silent no_pushd_silent
|
||||
\ pushdsilent nopushdsilent pushd_to_home no_pushd_to_home pushdtohome nopushdtohome
|
||||
\ always_last_prompt no_always_last_prompt alwayslastprompt noalwayslastprompt always_to_end
|
||||
\ no_always_to_end alwaystoend noalwaystoend auto_list no_auto_list autolist noautolist auto_menu
|
||||
\ no_auto_menu automenu noautomenu auto_name_dirs no_auto_name_dirs autonamedirs noautonamedirs
|
||||
\ auto_param_keys no_auto_param_keys autoparamkeys noautoparamkeys auto_param_slash
|
||||
\ no_auto_param_slash autoparamslash noautoparamslash auto_remove_slash no_auto_remove_slash
|
||||
\ autoremoveslash noautoremoveslash bash_auto_list no_bash_auto_list bashautolist nobashautolist
|
||||
\ complete_aliases no_complete_aliases completealiases nocompletealiases complete_in_word
|
||||
\ no_complete_in_word completeinword nocompleteinword glob_complete no_glob_complete globcomplete
|
||||
\ noglobcomplete hash_list_all no_hash_list_all hashlistall nohashlistall list_ambiguous
|
||||
\ no_list_ambiguous listambiguous nolistambiguous list_beep no_list_beep listbeep nolistbeep
|
||||
\ list_packed no_list_packed listpacked nolistpacked list_rows_first no_list_rows_first listrowsfirst
|
||||
\ nolistrowsfirst list_types no_list_types listtypes nolisttypes menu_complete no_menu_complete
|
||||
\ menucomplete nomenucomplete rec_exact no_rec_exact recexact norecexact bad_pattern no_bad_pattern
|
||||
\ badpattern nobadpattern bare_glob_qual no_bare_glob_qual bareglobqual nobareglobqual brace_ccl
|
||||
\ no_brace_ccl braceccl nobraceccl case_glob no_case_glob caseglob nocaseglob case_match
|
||||
\ no_case_match casematch nocasematch case_paths no_case_paths casepaths nocasepaths csh_null_glob
|
||||
\ no_csh_null_glob cshnullglob nocshnullglob equals no_equals noequals extended_glob no_extended_glob
|
||||
\ extendedglob noextendedglob force_float no_force_float forcefloat noforcefloat glob no_glob noglob
|
||||
\ glob_assign no_glob_assign globassign noglobassign glob_dots no_glob_dots globdots noglobdots
|
||||
\ glob_star_short no_glob_star_short globstarshort noglobstarshort glob_subst no_glob_subst globsubst
|
||||
\ noglobsubst hist_subst_pattern no_hist_subst_pattern histsubstpattern nohistsubstpattern
|
||||
\ ignore_braces no_ignore_braces ignorebraces noignorebraces ignore_close_braces
|
||||
\ no_ignore_close_braces ignoreclosebraces noignoreclosebraces ksh_glob no_ksh_glob kshglob nokshglob
|
||||
\ magic_equal_subst no_magic_equal_subst magicequalsubst nomagicequalsubst mark_dirs no_mark_dirs
|
||||
\ markdirs nomarkdirs multibyte no_multibyte nomultibyte nomatch no_nomatch nonomatch null_glob
|
||||
\ no_null_glob nullglob nonullglob numeric_glob_sort no_numeric_glob_sort numericglobsort
|
||||
\ nonumericglobsort rc_expand_param no_rc_expand_param rcexpandparam norcexpandparam rematch_pcre
|
||||
\ no_rematch_pcre rematchpcre norematchpcre sh_glob no_sh_glob shglob noshglob unset no_unset nounset
|
||||
\ warn_create_global no_warn_create_global warncreateglobal nowarncreateglobal warn_nested_var
|
||||
\ no_warn_nested_var warnnestedvar no_warnnestedvar append_history no_append_history appendhistory
|
||||
\ noappendhistory bang_hist no_bang_hist banghist nobanghist extended_history no_extended_history
|
||||
\ extendedhistory noextendedhistory hist_allow_clobber no_hist_allow_clobber histallowclobber
|
||||
\ nohistallowclobber hist_beep no_hist_beep histbeep nohistbeep hist_expire_dups_first
|
||||
\ no_hist_expire_dups_first histexpiredupsfirst nohistexpiredupsfirst hist_fcntl_lock
|
||||
\ no_hist_fcntl_lock histfcntllock nohistfcntllock hist_find_no_dups no_hist_find_no_dups
|
||||
\ histfindnodups nohistfindnodups hist_ignore_all_dups no_hist_ignore_all_dups histignorealldups
|
||||
\ nohistignorealldups hist_ignore_dups no_hist_ignore_dups histignoredups nohistignoredups
|
||||
\ hist_ignore_space no_hist_ignore_space histignorespace nohistignorespace hist_lex_words
|
||||
\ no_hist_lex_words histlexwords nohistlexwords hist_no_functions no_hist_no_functions
|
||||
\ histnofunctions nohistnofunctions hist_no_store no_hist_no_store histnostore nohistnostore
|
||||
\ hist_reduce_blanks no_hist_reduce_blanks histreduceblanks nohistreduceblanks hist_save_by_copy
|
||||
\ no_hist_save_by_copy histsavebycopy nohistsavebycopy hist_save_no_dups no_hist_save_no_dups
|
||||
\ histsavenodups nohistsavenodups hist_verify no_hist_verify histverify nohistverify
|
||||
\ inc_append_history no_inc_append_history incappendhistory noincappendhistory
|
||||
\ inc_append_history_time no_inc_append_history_time incappendhistorytime noincappendhistorytime
|
||||
\ share_history no_share_history sharehistory nosharehistory all_export no_all_export allexport
|
||||
\ noallexport global_export no_global_export globalexport noglobalexport global_rcs no_global_rcs
|
||||
\ globalrcs noglobalrcs rcs no_rcs norcs aliases no_aliases noaliases clobber no_clobber noclobber
|
||||
\ clobber_empty no_clobber_empty clobberempty noclobberempty correct no_correct nocorrect correct_all
|
||||
\ no_correct_all correctall nocorrectall dvorak no_dvorak nodvorak flow_control no_flow_control
|
||||
\ flowcontrol noflowcontrol ignore_eof no_ignore_eof ignoreeof noignoreeof interactive_comments
|
||||
\ no_interactive_comments interactivecomments nointeractivecomments hash_cmds no_hash_cmds hashcmds
|
||||
\ nohashcmds hash_dirs no_hash_dirs hashdirs nohashdirs hash_executables_only
|
||||
\ no_hash_executables_only hashexecutablesonly nohashexecutablesonly mail_warning no_mail_warning
|
||||
\ mailwarning nomailwarning path_dirs no_path_dirs pathdirs nopathdirs path_script no_path_script
|
||||
\ pathscript nopathscript print_eight_bit no_print_eight_bit printeightbit noprinteightbit
|
||||
\ print_exit_value no_print_exit_value printexitvalue noprintexitvalue rc_quotes no_rc_quotes
|
||||
\ rcquotes norcquotes rm_star_silent no_rm_star_silent rmstarsilent normstarsilent rm_star_wait
|
||||
\ no_rm_star_wait rmstarwait normstarwait short_loops no_short_loops shortloops noshortloops
|
||||
\ short_repeat no_short_repeat shortrepeat noshortrepeat sun_keyboard_hack no_sun_keyboard_hack
|
||||
\ sunkeyboardhack nosunkeyboardhack auto_continue no_auto_continue autocontinue noautocontinue
|
||||
\ auto_resume no_auto_resume autoresume noautoresume bg_nice no_bg_nice bgnice nobgnice check_jobs
|
||||
\ no_check_jobs checkjobs nocheckjobs check_running_jobs no_check_running_jobs checkrunningjobs
|
||||
\ nocheckrunningjobs hup no_hup nohup long_list_jobs no_long_list_jobs longlistjobs nolonglistjobs
|
||||
\ monitor no_monitor nomonitor notify no_notify nonotify posix_jobs posixjobs no_posix_jobs
|
||||
\ noposixjobs prompt_bang no_prompt_bang promptbang nopromptbang prompt_cr no_prompt_cr promptcr
|
||||
\ nopromptcr prompt_sp no_prompt_sp promptsp nopromptsp prompt_percent no_prompt_percent
|
||||
\ promptpercent nopromptpercent prompt_subst no_prompt_subst promptsubst nopromptsubst
|
||||
\ transient_rprompt no_transient_rprompt transientrprompt notransientrprompt alias_func_def
|
||||
\ no_alias_func_def aliasfuncdef noaliasfuncdef c_bases no_c_bases cbases nocbases c_precedences
|
||||
\ no_c_precedences cprecedences nocprecedences debug_before_cmd no_debug_before_cmd debugbeforecmd
|
||||
\ nodebugbeforecmd err_exit no_err_exit errexit noerrexit err_return no_err_return errreturn
|
||||
\ noerrreturn eval_lineno no_eval_lineno evallineno noevallineno exec no_exec noexec function_argzero
|
||||
\ no_function_argzero functionargzero nofunctionargzero local_loops no_local_loops localloops
|
||||
\ nolocalloops local_options no_local_options localoptions nolocaloptions local_patterns
|
||||
\ no_local_patterns localpatterns nolocalpatterns local_traps no_local_traps localtraps nolocaltraps
|
||||
\ multi_func_def no_multi_func_def multifuncdef nomultifuncdef multios no_multios nomultios
|
||||
\ octal_zeroes no_octal_zeroes octalzeroes nooctalzeroes pipe_fail no_pipe_fail pipefail nopipefail
|
||||
\ source_trace no_source_trace sourcetrace nosourcetrace typeset_silent no_typeset_silent
|
||||
\ typesetsilent notypesetsilent typeset_to_unset no_typeset_to_unset typesettounset notypesettounset
|
||||
\ verbose no_verbose noverbose xtrace no_xtrace noxtrace append_create no_append_create appendcreate
|
||||
\ noappendcreate bash_rematch no_bash_rematch bashrematch nobashrematch bsd_echo no_bsd_echo bsdecho
|
||||
\ nobsdecho continue_on_error no_continue_on_error continueonerror nocontinueonerror
|
||||
\ csh_junkie_history no_csh_junkie_history cshjunkiehistory nocshjunkiehistory csh_junkie_loops
|
||||
\ no_csh_junkie_loops cshjunkieloops nocshjunkieloops csh_junkie_quotes no_csh_junkie_quotes
|
||||
\ cshjunkiequotes nocshjunkiequotes csh_nullcmd no_csh_nullcmd cshnullcmd nocshnullcmd ksh_arrays
|
||||
\ no_ksh_arrays ksharrays noksharrays ksh_autoload no_ksh_autoload kshautoload nokshautoload
|
||||
\ ksh_option_print no_ksh_option_print kshoptionprint nokshoptionprint ksh_typeset no_ksh_typeset
|
||||
\ kshtypeset nokshtypeset ksh_zero_subscript no_ksh_zero_subscript kshzerosubscript
|
||||
\ nokshzerosubscript posix_aliases no_posix_aliases posixaliases noposixaliases posix_argzero
|
||||
\ no_posix_argzero posixargzero noposixargzero posix_builtins no_posix_builtins posixbuiltins
|
||||
\ noposixbuiltins posix_identifiers no_posix_identifiers posixidentifiers noposixidentifiers
|
||||
\ posix_strings no_posix_strings posixstrings noposixstrings posix_traps no_posix_traps posixtraps
|
||||
\ noposixtraps sh_file_expansion no_sh_file_expansion shfileexpansion noshfileexpansion sh_nullcmd
|
||||
\ no_sh_nullcmd shnullcmd noshnullcmd sh_option_letters no_sh_option_letters shoptionletters
|
||||
\ noshoptionletters sh_word_split no_sh_word_split shwordsplit noshwordsplit traps_async
|
||||
\ no_traps_async trapsasync notrapsasync interactive no_interactive nointeractive login no_login
|
||||
\ nologin privileged no_privileged noprivileged restricted no_restricted norestricted shin_stdin
|
||||
\ no_shin_stdin shinstdin noshinstdin single_command no_single_command singlecommand nosinglecommand
|
||||
\ beep no_beep nobeep combining_chars no_combining_chars combiningchars nocombiningchars emacs
|
||||
\ no_emacs noemacs overstrike no_overstrike nooverstrike single_line_zle no_single_line_zle
|
||||
\ singlelinezle nosinglelinezle vi no_vi novi zle no_zle nozle brace_expand no_brace_expand
|
||||
\ braceexpand nobraceexpand dot_glob no_dot_glob dotglob nodotglob hash_all no_hash_all hashall
|
||||
\ nohashall hist_append no_hist_append histappend nohistappend hist_expand no_hist_expand histexpand
|
||||
\ nohistexpand log no_log nolog mail_warn no_mail_warn mailwarn nomailwarn one_cmd no_one_cmd onecmd
|
||||
\ noonecmd physical no_physical nophysical prompt_vars no_prompt_vars promptvars nopromptvars stdin
|
||||
\ no_stdin nostdin track_all no_track_all trackall notrackall
|
||||
syn case match
|
||||
|
||||
syn keyword zshTypes float integer local typeset declare private readonly
|
||||
@@ -150,15 +275,12 @@ syn keyword zshTypes float integer local typeset declare private read
|
||||
" XXX: this may be too much
|
||||
" syn match zshSwitches '\s\zs--\=[a-zA-Z0-9-]\+'
|
||||
|
||||
syn match zshNumber '[+-]\=\<\d\+\>'
|
||||
syn match zshNumber '[+-]\=\<0x\x\+\>'
|
||||
syn match zshNumber '[+-]\=\<0\o\+\>'
|
||||
syn match zshNumber '[+-]\=\d\+#[-+]\=\w\+\>'
|
||||
syn match zshNumber '[+-]\=\d\+\.\d\+\>'
|
||||
|
||||
" TODO: $[...] is the same as $((...)), so add that as well.
|
||||
syn cluster zshSubst contains=zshSubst,zshOldSubst,zshMathSubst
|
||||
syn cluster zshSubstQuoted contains=zshSubstQuoted,zshOldSubst,zshMathSubst
|
||||
exe 'syn region zshSubst matchgroup=zshSubstDelim transparent start=/\$(/ skip=/\\)/ end=/)/ contains='.s:contained. ' fold'
|
||||
exe 'syn region zshSubstQuoted matchgroup=zshSubstDelim transparent start=/\$(/ skip=/\\)/ end=/)/ contains='.s:contained. ' fold'
|
||||
syn region zshSubstQuoted matchgroup=zshSubstDelim start='\${' skip='\\}' end='}' contains=@zshSubst,zshBrackets,zshQuoted fold
|
||||
syn region zshParentheses transparent start='(' skip='\\)' end=')' fold
|
||||
syn region zshGlob start='(#' end=')'
|
||||
syn region zshMathSubst matchgroup=zshSubstDelim transparent
|
||||
@@ -201,6 +323,8 @@ hi def link zshJobSpec Special
|
||||
hi def link zshPrecommand Special
|
||||
hi def link zshDelimiter Keyword
|
||||
hi def link zshConditional Conditional
|
||||
hi def link zshCase zshConditional
|
||||
hi def link zshCaseIn zshCase
|
||||
hi def link zshException Exception
|
||||
hi def link zshRepeat Repeat
|
||||
hi def link zshKeyword Keyword
|
||||
@@ -223,6 +347,7 @@ hi def link zshTypes Type
|
||||
hi def link zshSwitches Special
|
||||
hi def link zshNumber Number
|
||||
hi def link zshSubst PreProc
|
||||
hi def link zshSubstQuoted zshSubst
|
||||
hi def link zshMathSubst zshSubst
|
||||
hi def link zshOldSubst zshSubst
|
||||
hi def link zshSubstDelim zshSubst
|
||||
|
||||
98
src/GvimExt/Make_mvc.mak
Normal file
98
src/GvimExt/Make_mvc.mak
Normal file
@@ -0,0 +1,98 @@
|
||||
# Makefile for GvimExt, using MSVC
|
||||
# Options:
|
||||
# DEBUG=yes Build debug version (for VC7 and maybe later)
|
||||
# CPUARG= /arch:IA32/AVX/etc, call from main makefile to set
|
||||
# automatically from CPUNR
|
||||
#
|
||||
|
||||
TARGETOS = WINNT
|
||||
|
||||
!ifndef APPVER
|
||||
APPVER = 5.01
|
||||
!endif
|
||||
!ifndef WINVER
|
||||
WINVER = 0x0501
|
||||
!endif
|
||||
|
||||
!if "$(DEBUG)" != "yes"
|
||||
NODEBUG = 1
|
||||
!endif
|
||||
|
||||
!ifdef PROCESSOR_ARCHITECTURE
|
||||
# On Windows NT
|
||||
! ifndef CPU
|
||||
CPU = i386
|
||||
! if !defined(PLATFORM) && defined(TARGET_CPU)
|
||||
PLATFORM = $(TARGET_CPU)
|
||||
! endif
|
||||
! ifdef PLATFORM
|
||||
! if ("$(PLATFORM)" == "x64") || ("$(PLATFORM)" == "X64")
|
||||
CPU = AMD64
|
||||
! elseif ("$(PLATFORM)" == "arm64") || ("$(PLATFORM)" == "ARM64")
|
||||
CPU = ARM64
|
||||
! elseif ("$(PLATFORM)" != "x86") && ("$(PLATFORM)" != "X86")
|
||||
! error *** ERROR Unknown target platform "$(PLATFORM)". Make aborted.
|
||||
! endif
|
||||
! endif
|
||||
! endif
|
||||
!else
|
||||
CPU = i386
|
||||
!endif
|
||||
|
||||
!ifdef SDK_INCLUDE_DIR
|
||||
!include $(SDK_INCLUDE_DIR)\Win32.mak
|
||||
!elseif "$(USE_WIN32MAK)"=="yes"
|
||||
!include <Win32.mak>
|
||||
!else
|
||||
cc = cl
|
||||
link = link
|
||||
rc = rc
|
||||
cflags = -nologo -c
|
||||
lflags = -incremental:no -nologo
|
||||
rcflags = /r
|
||||
olelibsdll = ole32.lib uuid.lib oleaut32.lib user32.lib gdi32.lib advapi32.lib
|
||||
!endif
|
||||
|
||||
# include CPUARG
|
||||
cflags = $(cflags) $(CPUARG)
|
||||
|
||||
# set WINVER and _WIN32_WINNT
|
||||
cflags = $(cflags) -DWINVER=$(WINVER) -D_WIN32_WINNT=$(WINVER)
|
||||
|
||||
!if "$(CL)" == "/D_USING_V110_SDK71_"
|
||||
rcflags = $(rcflags) /D_USING_V110_SDK71_
|
||||
!endif
|
||||
|
||||
SUBSYSTEM = console
|
||||
!if "$(SUBSYSTEM_VER)" != ""
|
||||
SUBSYSTEM = $(SUBSYSTEM),$(SUBSYSTEM_VER)
|
||||
!endif
|
||||
|
||||
!if "$(CPU)" == "AMD64" || "$(CPU)" == "ARM64"
|
||||
OFFSET = 0x11C000000
|
||||
!else
|
||||
OFFSET = 0x1C000000
|
||||
!endif
|
||||
|
||||
all: gvimext.dll
|
||||
|
||||
gvimext.dll: gvimext.obj \
|
||||
gvimext.res
|
||||
$(link) $(lflags) -dll -def:gvimext.def -base:$(OFFSET) -out:$*.dll $** $(olelibsdll) shell32.lib comctl32.lib -subsystem:$(SUBSYSTEM)
|
||||
if exist $*.dll.manifest mt -nologo -manifest $*.dll.manifest -outputresource:$*.dll;2
|
||||
|
||||
gvimext.obj: gvimext.h
|
||||
|
||||
.cpp.obj:
|
||||
$(cc) $(cflags) -DFEAT_GETTEXT $(cvarsmt) $*.cpp
|
||||
|
||||
gvimext.res: gvimext.rc
|
||||
$(rc) /nologo $(rcflags) $(rcvars) gvimext.rc
|
||||
|
||||
clean:
|
||||
- if exist gvimext.dll del gvimext.dll
|
||||
- if exist gvimext.lib del gvimext.lib
|
||||
- if exist gvimext.exp del gvimext.exp
|
||||
- if exist gvimext.obj del gvimext.obj
|
||||
- if exist gvimext.res del gvimext.res
|
||||
- if exist gvimext.dll.manifest del gvimext.dll.manifest
|
||||
@@ -1,98 +1,4 @@
|
||||
# Makefile for GvimExt, using MSVC
|
||||
# Options:
|
||||
# DEBUG=yes Build debug version (for VC7 and maybe later)
|
||||
# CPUARG= /arch:IA32/AVX/etc, call from main makefile to set
|
||||
# automatically from CPUNR
|
||||
#
|
||||
!message This makefile is deprecated. Use Make_mvc.mak instead.
|
||||
!message
|
||||
|
||||
TARGETOS = WINNT
|
||||
|
||||
!ifndef APPVER
|
||||
APPVER = 5.01
|
||||
!endif
|
||||
!ifndef WINVER
|
||||
WINVER = 0x0501
|
||||
!endif
|
||||
|
||||
!if "$(DEBUG)" != "yes"
|
||||
NODEBUG = 1
|
||||
!endif
|
||||
|
||||
!ifdef PROCESSOR_ARCHITECTURE
|
||||
# On Windows NT
|
||||
! ifndef CPU
|
||||
CPU = i386
|
||||
! if !defined(PLATFORM) && defined(TARGET_CPU)
|
||||
PLATFORM = $(TARGET_CPU)
|
||||
! endif
|
||||
! ifdef PLATFORM
|
||||
! if ("$(PLATFORM)" == "x64") || ("$(PLATFORM)" == "X64")
|
||||
CPU = AMD64
|
||||
! elseif ("$(PLATFORM)" == "arm64") || ("$(PLATFORM)" == "ARM64")
|
||||
CPU = ARM64
|
||||
! elseif ("$(PLATFORM)" != "x86") && ("$(PLATFORM)" != "X86")
|
||||
! error *** ERROR Unknown target platform "$(PLATFORM)". Make aborted.
|
||||
! endif
|
||||
! endif
|
||||
! endif
|
||||
!else
|
||||
CPU = i386
|
||||
!endif
|
||||
|
||||
!ifdef SDK_INCLUDE_DIR
|
||||
!include $(SDK_INCLUDE_DIR)\Win32.mak
|
||||
!elseif "$(USE_WIN32MAK)"=="yes"
|
||||
!include <Win32.mak>
|
||||
!else
|
||||
cc = cl
|
||||
link = link
|
||||
rc = rc
|
||||
cflags = -nologo -c
|
||||
lflags = -incremental:no -nologo
|
||||
rcflags = /r
|
||||
olelibsdll = ole32.lib uuid.lib oleaut32.lib user32.lib gdi32.lib advapi32.lib
|
||||
!endif
|
||||
|
||||
# include CPUARG
|
||||
cflags = $(cflags) $(CPUARG)
|
||||
|
||||
# set WINVER and _WIN32_WINNT
|
||||
cflags = $(cflags) -DWINVER=$(WINVER) -D_WIN32_WINNT=$(WINVER)
|
||||
|
||||
!if "$(CL)" == "/D_USING_V110_SDK71_"
|
||||
rcflags = $(rcflags) /D_USING_V110_SDK71_
|
||||
!endif
|
||||
|
||||
SUBSYSTEM = console
|
||||
!if "$(SUBSYSTEM_VER)" != ""
|
||||
SUBSYSTEM = $(SUBSYSTEM),$(SUBSYSTEM_VER)
|
||||
!endif
|
||||
|
||||
!if "$(CPU)" == "AMD64" || "$(CPU)" == "ARM64"
|
||||
OFFSET = 0x11C000000
|
||||
!else
|
||||
OFFSET = 0x1C000000
|
||||
!endif
|
||||
|
||||
all: gvimext.dll
|
||||
|
||||
gvimext.dll: gvimext.obj \
|
||||
gvimext.res
|
||||
$(link) $(lflags) -dll -def:gvimext.def -base:$(OFFSET) -out:$*.dll $** $(olelibsdll) shell32.lib comctl32.lib -subsystem:$(SUBSYSTEM)
|
||||
if exist $*.dll.manifest mt -nologo -manifest $*.dll.manifest -outputresource:$*.dll;2
|
||||
|
||||
gvimext.obj: gvimext.h
|
||||
|
||||
.cpp.obj:
|
||||
$(cc) $(cflags) -DFEAT_GETTEXT $(cvarsmt) $*.cpp
|
||||
|
||||
gvimext.res: gvimext.rc
|
||||
$(rc) /nologo $(rcflags) $(rcvars) gvimext.rc
|
||||
|
||||
clean:
|
||||
- if exist gvimext.dll del gvimext.dll
|
||||
- if exist gvimext.lib del gvimext.lib
|
||||
- if exist gvimext.exp del gvimext.exp
|
||||
- if exist gvimext.obj del gvimext.obj
|
||||
- if exist gvimext.res del gvimext.res
|
||||
- if exist gvimext.dll.manifest del gvimext.dll.manifest
|
||||
!include Make_mvc.mak
|
||||
|
||||
@@ -12,7 +12,7 @@ this, then you will get the default behavior as is documented, which should
|
||||
be fine for most people.
|
||||
|
||||
This document assumes that you are building Vim for Win32 or later (Windows
|
||||
XP/2003/Vista/7/8/10). There are also instructions for pre-XP systems, but
|
||||
7/8/10/11). There are also instructions for pre-Vista and pre-XP systems, but
|
||||
they might no longer work.
|
||||
|
||||
The recommended way is to build a 32 bit Vim, also on 64 bit systems. You can
|
||||
@@ -42,9 +42,9 @@ Contents:
|
||||
|
||||
|
||||
The currently recommended way (that means it has been verified to work) is
|
||||
using the "Visual Studio Community 2015" installation. This includes the SDK
|
||||
needed to target Windows XP. But not older Windows versions (95, 98), see
|
||||
"OLDER VERSIONS" below for that.
|
||||
using the "Visual Studio Community 2015" installation. This doesn't include
|
||||
the SDK for older Windows versions (95, 98), see "OLDER VERSIONS" below for
|
||||
that.
|
||||
|
||||
|
||||
1. Microsoft Visual C++
|
||||
@@ -57,16 +57,17 @@ execute the installer from it.
|
||||
|
||||
When installing "Visual Studio Community 2015 with Update 3" or "Visual C++
|
||||
Build Tools for Visual Studio 2015 with Update 3" make sure to
|
||||
select "custom" and check "Windows XP Support for C++" and all checkboxes
|
||||
under "Universal Windows App Development Tools". Or whatever they are called
|
||||
now.
|
||||
select "custom" and check all checkboxes under "Universal Windows App
|
||||
Development Tools". Or whatever they are called now.
|
||||
(If you still want to target Windows XP, check also "Windows XP Support for
|
||||
C++". Note that this is no longer supported.)
|
||||
|
||||
|
||||
Visual Studio
|
||||
-------------
|
||||
|
||||
Building with Visual Studio (VS2010, VS2012, VS2013, VS2015, VS2017 and VS2019)
|
||||
is straightforward.
|
||||
Building with Visual Studio (VS2010, VS2012, VS2013, VS2015, VS2017, VS2019
|
||||
and VS2022) is straightforward.
|
||||
|
||||
To build Vim from the command line with MSVC, use Make_mvc.mak.
|
||||
Visual Studio installed a batch file called vcvars32.bat, which you must
|
||||
@@ -104,6 +105,9 @@ Vim with Make_mvc.mak.
|
||||
Targeting Windows XP with MSVC 2012 and later *new-msvc-windows-xp*
|
||||
---------------------------------------------
|
||||
|
||||
(The support for pre-Vista was removed in patch 9.0.0xxx. If you want to
|
||||
target Windows XP, use the source code before that.)
|
||||
|
||||
Beginning with Visual C++ 2012, Microsoft changed the behavior of LINK.EXE
|
||||
so that it targets Windows 6.0 (Vista) by default. In order to override
|
||||
this, the target Windows version number needs to be passed to LINK like
|
||||
@@ -141,9 +145,6 @@ compiler by using the "x64" option:
|
||||
The following Visual C++ team blog can serve as a reference page:
|
||||
http://blogs.msdn.com/b/vcblog/archive/2012/10/08/windows-xp-targeting-with-c-in-visual-studio-2012.aspx
|
||||
|
||||
VC 2019 dropped support for targeting Windows XP. If you want a binary that
|
||||
targeting Windows XP, use VC 2017 or earlier.
|
||||
|
||||
|
||||
Cross compile support for Windows on ARM64
|
||||
------------------------------------------
|
||||
@@ -156,7 +157,7 @@ The ARM64 support was provided by Leendert van Doorn.
|
||||
|
||||
OLDER VERSIONS
|
||||
|
||||
The minimal supported version is Windows XP. Building with older compilers
|
||||
The minimal supported version is Windows 7. Building with older compilers
|
||||
might still work, but these instructions might be outdated.
|
||||
|
||||
If you need the executable to run on Windows 98 or ME, use the 2005 one
|
||||
@@ -774,12 +775,12 @@ config.h and Ruby's DLL name. Here are the steps for working around them:
|
||||
nmake -f Make_mvc.mak
|
||||
RUBY=C:\Ruby24 DYNAMIC_RUBY=yes RUBY_VER=24 RUBY_API_VER_LONG=2.4.0
|
||||
RUBY_MSVCRT_NAME=msvcrt
|
||||
WINVER=0x501
|
||||
WINVER=0x601
|
||||
|
||||
For 64-bit version, replace RUBY=C:\Ruby24 with RUBY=C:\Ruby24-x64.
|
||||
|
||||
If you set WINVER explicitly, it must be set to >=0x500, when building
|
||||
with Ruby 2.1 or later. (Default is 0x501.)
|
||||
with Ruby 2.1 or later. (Default is 0x601.)
|
||||
When using this trick, you also need to set RUBY_MSVCRT_NAME to msvcrt
|
||||
which is used for the Ruby's DLL name.
|
||||
|
||||
@@ -790,11 +791,11 @@ After you install RubyInstaller, just type this (as one line):
|
||||
|
||||
mingw32-make -f Make_ming.mak
|
||||
RUBY=C:/Ruby24 DYNAMIC_RUBY=yes RUBY_VER=24 RUBY_API_VER_LONG=2.4.0
|
||||
WINVER=0x600
|
||||
WINVER=0x601
|
||||
|
||||
For 64-bit version, replace RUBY=C:/Ruby24 with RUBY=C:/Ruby24-x64.
|
||||
If you set WINVER explicitly, it must be set to >=0x500, when building with
|
||||
Ruby 2.1 or later. (Default is 0x600.)
|
||||
Ruby 2.1 or later. (Default is 0x601.)
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -87,10 +87,9 @@ POSTSCRIPT=no
|
||||
# Set to yes to enable OLE support.
|
||||
OLE=no
|
||||
|
||||
# Set the default $(WINVER). Use 0x0501 to make it work with WinXP.
|
||||
# Set the default $(WINVER). Use 0x0601 to make it work with Windows 7.
|
||||
ifndef WINVER
|
||||
# WINVER = 0x0501
|
||||
WINVER = 0x0600
|
||||
WINVER = 0x0601
|
||||
endif
|
||||
|
||||
# Set to yes to enable Cscope support.
|
||||
@@ -1149,7 +1148,7 @@ xxd/xxd.exe: xxd/xxd.c
|
||||
$(MAKE) -C xxd -f Make_ming.mak CC='$(CC)'
|
||||
|
||||
tee/tee.exe: tee/tee.c
|
||||
$(MAKE) -C tee CC='$(CC)'
|
||||
$(MAKE) -C tee -f Make_ming.mak CC='$(CC)'
|
||||
|
||||
GvimExt/gvimext.dll: GvimExt/gvimext.cpp GvimExt/gvimext.rc GvimExt/gvimext.h
|
||||
$(MAKE) -C GvimExt -f Make_ming.mak CROSS=$(CROSS) CROSS_COMPILE=$(CROSS_COMPILE) CXX='$(CXX)' STATIC_STDCPLUS=$(STATIC_STDCPLUS)
|
||||
@@ -1176,7 +1175,7 @@ ifdef MZSCHEME
|
||||
endif
|
||||
$(MAKE) -C GvimExt -f Make_ming.mak clean
|
||||
$(MAKE) -C xxd -f Make_ming.mak clean
|
||||
$(MAKE) -C tee clean
|
||||
$(MAKE) -C tee -f Make_ming.mak clean
|
||||
|
||||
# Run vim script to generate the Ex command lookup table.
|
||||
# This only needs to be run when a command name has been added or changed.
|
||||
@@ -1321,7 +1320,7 @@ ifeq (16, $(RUBY))
|
||||
endif
|
||||
|
||||
$(OUTDIR)/iscygpty.o: iscygpty.c $(CUI_INCL)
|
||||
$(CC) -c $(CFLAGS) iscygpty.c -o $(OUTDIR)/iscygpty.o -U_WIN32_WINNT -D_WIN32_WINNT=0x0600 -DUSE_DYNFILEID -DENABLE_STUB_IMPL
|
||||
$(CC) -c $(CFLAGS) iscygpty.c -o $@
|
||||
|
||||
$(OUTDIR)/main.o: main.c $(INCL) $(CUI_INCL)
|
||||
$(CC) -c $(CFLAGS) main.c -o $@
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Makefile for Vim on Win32 (Windows XP/2003/Vista/7/8/10) and Win64,
|
||||
# using the Microsoft Visual C++ compilers. Known to work with VC10 (VS2010),
|
||||
# VC11 (VS2012), VC12 (VS2013), VC14 (VS2015), VC14.1 (VS2017) and
|
||||
# VC14.2 (VS2019).
|
||||
# Makefile for Vim on Win32 (Windows 7/8/10/11) and Win64, using the Microsoft
|
||||
# Visual C++ compilers. Known to work with VC10 (VS2010), VC11 (VS2012), VC12
|
||||
# (VS2013), VC14 (VS2015), VC14.1 (VS2017), VC14.2 (VS2019) and VC14.3
|
||||
# (VS2022).
|
||||
#
|
||||
# To build using other Windows compilers, see INSTALLpc.txt
|
||||
#
|
||||
@@ -128,13 +128,13 @@
|
||||
#
|
||||
# Optimization: OPTIMIZE=[SPACE, SPEED, MAXSPEED] (default is MAXSPEED)
|
||||
#
|
||||
# Processor Version: CPUNR=[any, i586, i686, sse, sse2, avx, avx2] (default is
|
||||
# any)
|
||||
# Processor Version: CPUNR=[any, i686, sse, sse2, avx, avx2] (default is
|
||||
# sse2)
|
||||
# avx is available on Visual C++ 2010 and after.
|
||||
# avx2 is available on Visual C++ 2013 Update 2 and after.
|
||||
#
|
||||
# Version Support: WINVER=[0x0501, 0x0502, 0x0600, 0x0601, 0x0602,
|
||||
# 0x0603, 0x0A00] (default is 0x0501)
|
||||
# Version Support: WINVER=[0x0601, 0x0602, 0x0603, 0x0A00] (default is
|
||||
# 0x0601)
|
||||
# Supported versions depends on your target SDK, check SDKDDKVer.h
|
||||
# See https://docs.microsoft.com/en-us/cpp/porting/modifying-winver-and-win32-winnt
|
||||
#
|
||||
@@ -303,9 +303,9 @@ MSVCRT_NAME = msvcr$(MSVCRT_VER)
|
||||
MSVCRT_NAME = vcruntime$(MSVCRT_VER)
|
||||
!endif
|
||||
|
||||
### Set the default $(WINVER) to make it work with VC++7.0 (VS.NET)
|
||||
### Set the default $(WINVER) to make it work with Windows 7
|
||||
!ifndef WINVER
|
||||
WINVER = 0x0501
|
||||
WINVER = 0x0601
|
||||
!endif
|
||||
|
||||
# Use multiprocess build
|
||||
@@ -523,27 +523,27 @@ OUTDIR=$(OBJDIR)
|
||||
|
||||
### Validate CPUNR
|
||||
!ifndef CPUNR
|
||||
# default to untargeted code
|
||||
CPUNR = any
|
||||
!elseif "$(CPUNR)" == "i386" || "$(CPUNR)" == "i486"
|
||||
# alias i386 and i486 to i586
|
||||
# default to SSE2
|
||||
CPUNR = sse2
|
||||
!elseif "$(CPUNR)" == "i386" || "$(CPUNR)" == "i486" || "$(CPUNR)" == "i586"
|
||||
# alias i386, i486 and i586 to i686
|
||||
! message *** WARNING CPUNR=$(CPUNR) is not a valid target architecture.
|
||||
! message Windows XP is the minimum target OS, with a minimum target
|
||||
! message architecture of i586.
|
||||
! message Retargeting to i586
|
||||
CPUNR = i586
|
||||
! message Windows 7 is the minimum target OS, with a minimum target
|
||||
! message architecture of i686.
|
||||
! message Retargeting to i686
|
||||
CPUNR = i686
|
||||
!elseif "$(CPUNR)" == "pentium4"
|
||||
# alias pentium4 to sse2
|
||||
! message *** WARNING CPUNR=pentium4 is deprecated in favour of sse2.
|
||||
! message Retargeting to sse2.
|
||||
CPUNR = sse2
|
||||
!elseif "$(CPUNR)" != "any" && "$(CPUNR)" != "i586" && "$(CPUNR)" != "i686" && "$(CPUNR)" != "sse" && "$(CPUNR)" != "sse2" && "$(CPUNR)" != "avx" && "$(CPUNR)" != "avx2"
|
||||
!elseif "$(CPUNR)" != "any" && "$(CPUNR)" != "i686" && "$(CPUNR)" != "sse" && "$(CPUNR)" != "sse2" && "$(CPUNR)" != "avx" && "$(CPUNR)" != "avx2"
|
||||
! error *** ERROR Unknown target architecture "$(CPUNR)". Make aborted.
|
||||
!endif
|
||||
|
||||
# Convert processor ID to MVC-compatible number
|
||||
# IA32/SSE/SSE2 are only supported on x86
|
||||
!if "$(ASSEMBLY_ARCHITECTURE)" == "i386" && ("$(CPUNR)" == "i586" || "$(CPUNR)" == "i686" || "$(CPUNR)" == "any")
|
||||
!if "$(ASSEMBLY_ARCHITECTURE)" == "i386" && ("$(CPUNR)" == "i686" || "$(CPUNR)" == "any")
|
||||
# VC<11 generates fp87 code by default
|
||||
! if $(MSVC_MAJOR) < 11
|
||||
CPUARG =
|
||||
@@ -1400,7 +1400,7 @@ tee/tee.exe: tee/tee.c
|
||||
|
||||
GvimExt/gvimext.dll: GvimExt/gvimext.cpp GvimExt/gvimext.rc GvimExt/gvimext.h
|
||||
cd GvimExt
|
||||
$(MAKE) /NOLOGO -f Makefile $(MAKEFLAGS_GVIMEXT)
|
||||
$(MAKE) /NOLOGO -f Make_mvc.mak $(MAKEFLAGS_GVIMEXT)
|
||||
cd ..
|
||||
|
||||
|
||||
@@ -1441,7 +1441,7 @@ clean: testclean
|
||||
$(MAKE) /NOLOGO -f Make_mvc.mak clean
|
||||
cd ..
|
||||
cd GvimExt
|
||||
$(MAKE) /NOLOGO -f Makefile clean
|
||||
$(MAKE) /NOLOGO -f Make_mvc.mak clean
|
||||
cd ..
|
||||
|
||||
# Run vim script to generate the Ex command lookup table.
|
||||
@@ -1463,27 +1463,27 @@ nvcmdidxs: nv_cmds.h
|
||||
|
||||
test:
|
||||
cd testdir
|
||||
$(MAKE) /NOLOGO -f Make_dos.mak
|
||||
$(MAKE) /NOLOGO -f Make_mvc.mak
|
||||
cd ..
|
||||
|
||||
testgvim testgui:
|
||||
cd testdir
|
||||
$(MAKE) /NOLOGO -f Make_dos.mak VIMPROG=..\gvim
|
||||
$(MAKE) /NOLOGO -f Make_mvc.mak VIMPROG=..\gvim
|
||||
cd ..
|
||||
|
||||
testtiny:
|
||||
cd testdir
|
||||
$(MAKE) /NOLOGO -f Make_dos.mak tiny
|
||||
$(MAKE) /NOLOGO -f Make_mvc.mak tiny
|
||||
cd ..
|
||||
|
||||
testgvimtiny:
|
||||
cd testdir
|
||||
$(MAKE) /NOLOGO -f Make_dos.mak tiny VIMPROG=..\gvim
|
||||
$(MAKE) /NOLOGO -f Make_mvc.mak tiny VIMPROG=..\gvim
|
||||
cd ..
|
||||
|
||||
testclean:
|
||||
cd testdir
|
||||
$(MAKE) /NOLOGO -f Make_dos.mak clean
|
||||
$(MAKE) /NOLOGO -f Make_mvc.mak clean
|
||||
cd ..
|
||||
|
||||
# Run individual OLD style test.
|
||||
@@ -1491,8 +1491,8 @@ testclean:
|
||||
$(SCRIPTS_TINY):
|
||||
cd testdir
|
||||
- if exist $@.out del $@.out
|
||||
$(MAKE) /NOLOGO -f Make_dos.mak VIMPROG=..\$(VIMTESTTARGET) nolog
|
||||
$(MAKE) /NOLOGO -f Make_dos.mak VIMPROG=..\$(VIMTESTTARGET) $@.out
|
||||
$(MAKE) /NOLOGO -f Make_mvc.mak VIMPROG=..\$(VIMTESTTARGET) nolog
|
||||
$(MAKE) /NOLOGO -f Make_mvc.mak VIMPROG=..\$(VIMTESTTARGET) $@.out
|
||||
@ if exist test.log ( type test.log & exit /b 1 )
|
||||
cd ..
|
||||
|
||||
@@ -1501,9 +1501,9 @@ $(SCRIPTS_TINY):
|
||||
$(NEW_TESTS):
|
||||
cd testdir
|
||||
- if exist $@.res del $@.res
|
||||
$(MAKE) /NOLOGO -f Make_dos.mak VIMPROG=..\$(VIMTESTTARGET) nolog
|
||||
$(MAKE) /NOLOGO -f Make_dos.mak VIMPROG=..\$(VIMTESTTARGET) $@.res
|
||||
$(MAKE) /NOLOGO -f Make_dos.mak VIMPROG=..\$(VIMTESTTARGET) report
|
||||
$(MAKE) /NOLOGO -f Make_mvc.mak VIMPROG=..\$(VIMTESTTARGET) nolog
|
||||
$(MAKE) /NOLOGO -f Make_mvc.mak VIMPROG=..\$(VIMTESTTARGET) $@.res
|
||||
$(MAKE) /NOLOGO -f Make_mvc.mak VIMPROG=..\$(VIMTESTTARGET) report
|
||||
cd ..
|
||||
|
||||
# Run Vim9 tests.
|
||||
@@ -1511,9 +1511,9 @@ $(NEW_TESTS):
|
||||
test_vim9:
|
||||
cd testdir
|
||||
-del test_vim9_*.res
|
||||
$(MAKE) /NOLOGO -f Make_dos.mak VIMPROG=..\$(VIMTESTTARGET) nolog
|
||||
$(MAKE) /NOLOGO -f Make_dos.mak VIMPROG=..\$(VIMTESTTARGET) $(TEST_VIM9_RES)
|
||||
$(MAKE) /NOLOGO -f Make_dos.mak VIMPROG=..\$(VIMTESTTARGET) report
|
||||
$(MAKE) /NOLOGO -f Make_mvc.mak VIMPROG=..\$(VIMTESTTARGET) nolog
|
||||
$(MAKE) /NOLOGO -f Make_mvc.mak VIMPROG=..\$(VIMTESTTARGET) $(TEST_VIM9_RES)
|
||||
$(MAKE) /NOLOGO -f Make_mvc.mak VIMPROG=..\$(VIMTESTTARGET) report
|
||||
cd ..
|
||||
|
||||
###########################################################################
|
||||
@@ -1684,7 +1684,7 @@ $(OUTDIR)/if_tcl.obj: $(OUTDIR) if_tcl.c $(INCL)
|
||||
$(CC) $(CFLAGS_OUTDIR) $(TCL_INC) if_tcl.c
|
||||
|
||||
$(OUTDIR)/iscygpty.obj: $(OUTDIR) iscygpty.c $(CUI_INCL)
|
||||
$(CC) $(CFLAGS_OUTDIR) iscygpty.c -D_WIN32_WINNT=0x0600 -DUSE_DYNFILEID -DENABLE_STUB_IMPL
|
||||
$(CC) $(CFLAGS_OUTDIR) iscygpty.c
|
||||
|
||||
$(OUTDIR)/job.obj: $(OUTDIR) job.c $(INCL)
|
||||
|
||||
|
||||
@@ -4191,7 +4191,7 @@ objects/vim9type.o: vim9type.c vim.h protodef.h auto/config.h feature.h os_unix.
|
||||
auto/osdef.h ascii.h keymap.h termdefs.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h libvterm/include/vterm.h \
|
||||
libvterm/include/vterm_keycodes.h alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h errors.h
|
||||
globals.h errors.h vim9.h
|
||||
objects/viminfo.o: viminfo.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h termdefs.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h libvterm/include/vterm.h \
|
||||
|
||||
68
src/alloc.c
68
src/alloc.c
@@ -87,17 +87,17 @@ vim_mem_profile_dump(void)
|
||||
j = 0;
|
||||
for (i = 0; i < MEM_SIZES - 1; i++)
|
||||
{
|
||||
if (mem_allocs[i] || mem_frees[i])
|
||||
if (mem_allocs[i] == 0 && mem_frees[i] == 0)
|
||||
continue;
|
||||
|
||||
if (mem_frees[i] > mem_allocs[i])
|
||||
printf("\r\n%s", _("ERROR: "));
|
||||
printf("[%4d / %4lu-%-4lu] ", i + 1, mem_allocs[i], mem_frees[i]);
|
||||
j++;
|
||||
if (j > 3)
|
||||
{
|
||||
if (mem_frees[i] > mem_allocs[i])
|
||||
printf("\r\n%s", _("ERROR: "));
|
||||
printf("[%4d / %4lu-%-4lu] ", i + 1, mem_allocs[i], mem_frees[i]);
|
||||
j++;
|
||||
if (j > 3)
|
||||
{
|
||||
j = 0;
|
||||
printf("\r\n");
|
||||
}
|
||||
j = 0;
|
||||
printf("\r\n");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -332,22 +332,22 @@ mem_realloc(void *ptr, size_t size)
|
||||
void
|
||||
do_outofmem_msg(size_t size)
|
||||
{
|
||||
if (!did_outofmem_msg)
|
||||
{
|
||||
// Don't hide this message
|
||||
emsg_silent = 0;
|
||||
if (did_outofmem_msg)
|
||||
return;
|
||||
|
||||
// Must come first to avoid coming back here when printing the error
|
||||
// message fails, e.g. when setting v:errmsg.
|
||||
did_outofmem_msg = TRUE;
|
||||
// Don't hide this message
|
||||
emsg_silent = 0;
|
||||
|
||||
semsg(_(e_out_of_memory_allocating_nr_bytes), (long_u)size);
|
||||
// Must come first to avoid coming back here when printing the error
|
||||
// message fails, e.g. when setting v:errmsg.
|
||||
did_outofmem_msg = TRUE;
|
||||
|
||||
if (starting == NO_SCREEN)
|
||||
// Not even finished with initializations and already out of
|
||||
// memory? Then nothing is going to work, exit.
|
||||
mch_exit(123);
|
||||
}
|
||||
semsg(_(e_out_of_memory_allocating_nr_bytes), (long_u)size);
|
||||
|
||||
if (starting == NO_SCREEN)
|
||||
// Not even finished with initializations and already out of
|
||||
// memory? Then nothing is going to work, exit.
|
||||
mch_exit(123);
|
||||
}
|
||||
|
||||
#if defined(EXITFREE) || defined(PROTO)
|
||||
@@ -780,20 +780,20 @@ ga_concat_strings(garray_T *gap, char *sep)
|
||||
len += (int)STRLEN(((char_u **)(gap->ga_data))[i]) + sep_len;
|
||||
|
||||
s = alloc(len + 1);
|
||||
if (s != NULL)
|
||||
if (s == NULL)
|
||||
return NULL;
|
||||
|
||||
*s = NUL;
|
||||
p = s;
|
||||
for (i = 0; i < gap->ga_len; ++i)
|
||||
{
|
||||
*s = NUL;
|
||||
p = s;
|
||||
for (i = 0; i < gap->ga_len; ++i)
|
||||
if (p != s)
|
||||
{
|
||||
if (p != s)
|
||||
{
|
||||
STRCPY(p, sep);
|
||||
p += sep_len;
|
||||
}
|
||||
STRCPY(p, ((char_u **)(gap->ga_data))[i]);
|
||||
p += STRLEN(p);
|
||||
STRCPY(p, sep);
|
||||
p += sep_len;
|
||||
}
|
||||
STRCPY(p, ((char_u **)(gap->ga_data))[i]);
|
||||
p += STRLEN(p);
|
||||
}
|
||||
return s;
|
||||
}
|
||||
|
||||
544
src/arglist.c
544
src/arglist.c
@@ -105,25 +105,25 @@ alist_expand(int *fnum_list, int fnum_len)
|
||||
char_u *save_p_su = p_su;
|
||||
int i;
|
||||
|
||||
old_arg_files = ALLOC_MULT(char_u *, GARGCOUNT);
|
||||
if (old_arg_files == NULL)
|
||||
return;
|
||||
|
||||
// Don't use 'suffixes' here. This should work like the shell did the
|
||||
// expansion. Also, the vimrc file isn't read yet, thus the user
|
||||
// can't set the options.
|
||||
p_su = empty_option;
|
||||
old_arg_files = ALLOC_MULT(char_u *, GARGCOUNT);
|
||||
if (old_arg_files != NULL)
|
||||
for (i = 0; i < GARGCOUNT; ++i)
|
||||
old_arg_files[i] = vim_strsave(GARGLIST[i].ae_fname);
|
||||
old_arg_count = GARGCOUNT;
|
||||
if (expand_wildcards(old_arg_count, old_arg_files,
|
||||
&new_arg_file_count, &new_arg_files,
|
||||
EW_FILE|EW_NOTFOUND|EW_ADDSLASH|EW_NOERROR) == OK
|
||||
&& new_arg_file_count > 0)
|
||||
{
|
||||
for (i = 0; i < GARGCOUNT; ++i)
|
||||
old_arg_files[i] = vim_strsave(GARGLIST[i].ae_fname);
|
||||
old_arg_count = GARGCOUNT;
|
||||
if (expand_wildcards(old_arg_count, old_arg_files,
|
||||
&new_arg_file_count, &new_arg_files,
|
||||
EW_FILE|EW_NOTFOUND|EW_ADDSLASH|EW_NOERROR) == OK
|
||||
&& new_arg_file_count > 0)
|
||||
{
|
||||
alist_set(&global_alist, new_arg_file_count, new_arg_files,
|
||||
TRUE, fnum_list, fnum_len);
|
||||
FreeWild(old_arg_count, old_arg_files);
|
||||
}
|
||||
alist_set(&global_alist, new_arg_file_count, new_arg_files,
|
||||
TRUE, fnum_list, fnum_len);
|
||||
FreeWild(old_arg_count, old_arg_files);
|
||||
}
|
||||
p_su = save_p_su;
|
||||
}
|
||||
@@ -383,6 +383,57 @@ alist_add_list(
|
||||
vim_free(files[i]);
|
||||
}
|
||||
|
||||
/*
|
||||
* Delete the file names in 'alist_ga' from the argument list.
|
||||
*/
|
||||
static void
|
||||
arglist_del_files(garray_T *alist_ga)
|
||||
{
|
||||
regmatch_T regmatch;
|
||||
int didone;
|
||||
int i;
|
||||
char_u *p;
|
||||
int match;
|
||||
|
||||
// Delete the items: use each item as a regexp and find a match in the
|
||||
// argument list.
|
||||
regmatch.rm_ic = p_fic; // ignore case when 'fileignorecase' is set
|
||||
for (i = 0; i < alist_ga->ga_len && !got_int; ++i)
|
||||
{
|
||||
p = ((char_u **)alist_ga->ga_data)[i];
|
||||
p = file_pat_to_reg_pat(p, NULL, NULL, FALSE);
|
||||
if (p == NULL)
|
||||
break;
|
||||
regmatch.regprog = vim_regcomp(p, magic_isset() ? RE_MAGIC : 0);
|
||||
if (regmatch.regprog == NULL)
|
||||
{
|
||||
vim_free(p);
|
||||
break;
|
||||
}
|
||||
|
||||
didone = FALSE;
|
||||
for (match = 0; match < ARGCOUNT; ++match)
|
||||
if (vim_regexec(®match, alist_name(&ARGLIST[match]),
|
||||
(colnr_T)0))
|
||||
{
|
||||
didone = TRUE;
|
||||
vim_free(ARGLIST[match].ae_fname);
|
||||
mch_memmove(ARGLIST + match, ARGLIST + match + 1,
|
||||
(ARGCOUNT - match - 1) * sizeof(aentry_T));
|
||||
--ALIST(curwin)->al_ga.ga_len;
|
||||
if (curwin->w_arg_idx > match)
|
||||
--curwin->w_arg_idx;
|
||||
--match;
|
||||
}
|
||||
|
||||
vim_regfree(regmatch.regprog);
|
||||
vim_free(p);
|
||||
if (!didone)
|
||||
semsg(_(e_no_match_str_2), ((char_u **)alist_ga->ga_data)[i]);
|
||||
}
|
||||
ga_clear(alist_ga);
|
||||
}
|
||||
|
||||
/*
|
||||
* "what" == AL_SET: Redefine the argument list to 'str'.
|
||||
* "what" == AL_ADD: add files in 'str' to the argument list after "after".
|
||||
@@ -401,8 +452,6 @@ do_arglist(
|
||||
int exp_count;
|
||||
char_u **exp_files;
|
||||
int i;
|
||||
char_u *p;
|
||||
int match;
|
||||
int arg_escaped = TRUE;
|
||||
|
||||
if (check_arglist_locked() == FAIL)
|
||||
@@ -422,48 +471,7 @@ do_arglist(
|
||||
return FAIL;
|
||||
|
||||
if (what == AL_DEL)
|
||||
{
|
||||
regmatch_T regmatch;
|
||||
int didone;
|
||||
|
||||
// Delete the items: use each item as a regexp and find a match in the
|
||||
// argument list.
|
||||
regmatch.rm_ic = p_fic; // ignore case when 'fileignorecase' is set
|
||||
for (i = 0; i < new_ga.ga_len && !got_int; ++i)
|
||||
{
|
||||
p = ((char_u **)new_ga.ga_data)[i];
|
||||
p = file_pat_to_reg_pat(p, NULL, NULL, FALSE);
|
||||
if (p == NULL)
|
||||
break;
|
||||
regmatch.regprog = vim_regcomp(p, magic_isset() ? RE_MAGIC : 0);
|
||||
if (regmatch.regprog == NULL)
|
||||
{
|
||||
vim_free(p);
|
||||
break;
|
||||
}
|
||||
|
||||
didone = FALSE;
|
||||
for (match = 0; match < ARGCOUNT; ++match)
|
||||
if (vim_regexec(®match, alist_name(&ARGLIST[match]),
|
||||
(colnr_T)0))
|
||||
{
|
||||
didone = TRUE;
|
||||
vim_free(ARGLIST[match].ae_fname);
|
||||
mch_memmove(ARGLIST + match, ARGLIST + match + 1,
|
||||
(ARGCOUNT - match - 1) * sizeof(aentry_T));
|
||||
--ALIST(curwin)->al_ga.ga_len;
|
||||
if (curwin->w_arg_idx > match)
|
||||
--curwin->w_arg_idx;
|
||||
--match;
|
||||
}
|
||||
|
||||
vim_regfree(regmatch.regprog);
|
||||
vim_free(p);
|
||||
if (!didone)
|
||||
semsg(_(e_no_match_str_2), ((char_u **)new_ga.ga_data)[i]);
|
||||
}
|
||||
ga_clear(&new_ga);
|
||||
}
|
||||
arglist_del_files(&new_ga);
|
||||
else
|
||||
{
|
||||
i = expand_wildcards(new_ga.ga_len, (char_u **)new_ga.ga_data,
|
||||
@@ -566,49 +574,57 @@ ex_args(exarg_T *eap)
|
||||
alist_new();
|
||||
}
|
||||
|
||||
// ":args file ..": define new argument list, handle like ":next"
|
||||
// Also for ":argslocal file .." and ":argsglobal file ..".
|
||||
if (*eap->arg != NUL)
|
||||
{
|
||||
if (check_arglist_locked() == FAIL)
|
||||
return;
|
||||
// ":args file ..": define new argument list, handle like ":next"
|
||||
// Also for ":argslocal file .." and ":argsglobal file ..".
|
||||
ex_next(eap);
|
||||
return;
|
||||
}
|
||||
else if (eap->cmdidx == CMD_args)
|
||||
|
||||
// ":args": list arguments.
|
||||
if (eap->cmdidx == CMD_args)
|
||||
{
|
||||
// ":args": list arguments.
|
||||
if (ARGCOUNT > 0)
|
||||
{
|
||||
char_u **items = ALLOC_MULT(char_u *, ARGCOUNT);
|
||||
char_u **items;
|
||||
|
||||
if (items != NULL)
|
||||
{
|
||||
// Overwrite the command, for a short list there is no
|
||||
// scrolling required and no wait_return().
|
||||
gotocmdline(TRUE);
|
||||
if (ARGCOUNT <= 0)
|
||||
return; // empty argument list
|
||||
|
||||
for (i = 0; i < ARGCOUNT; ++i)
|
||||
items[i] = alist_name(&ARGLIST[i]);
|
||||
list_in_columns(items, ARGCOUNT, curwin->w_arg_idx);
|
||||
vim_free(items);
|
||||
}
|
||||
}
|
||||
items = ALLOC_MULT(char_u *, ARGCOUNT);
|
||||
if (items == NULL)
|
||||
return;
|
||||
|
||||
// Overwrite the command, for a short list there is no scrolling
|
||||
// required and no wait_return().
|
||||
gotocmdline(TRUE);
|
||||
|
||||
for (i = 0; i < ARGCOUNT; ++i)
|
||||
items[i] = alist_name(&ARGLIST[i]);
|
||||
list_in_columns(items, ARGCOUNT, curwin->w_arg_idx);
|
||||
vim_free(items);
|
||||
|
||||
return;
|
||||
}
|
||||
else if (eap->cmdidx == CMD_arglocal)
|
||||
|
||||
// ":argslocal": make a local copy of the global argument list.
|
||||
if (eap->cmdidx == CMD_arglocal)
|
||||
{
|
||||
garray_T *gap = &curwin->w_alist->al_ga;
|
||||
|
||||
// ":argslocal": make a local copy of the global argument list.
|
||||
if (GA_GROW_OK(gap, GARGCOUNT))
|
||||
for (i = 0; i < GARGCOUNT; ++i)
|
||||
if (GARGLIST[i].ae_fname != NULL)
|
||||
{
|
||||
AARGLIST(curwin->w_alist)[gap->ga_len].ae_fname =
|
||||
vim_strsave(GARGLIST[i].ae_fname);
|
||||
AARGLIST(curwin->w_alist)[gap->ga_len].ae_fnum =
|
||||
GARGLIST[i].ae_fnum;
|
||||
++gap->ga_len;
|
||||
}
|
||||
if (GA_GROW_FAILS(gap, GARGCOUNT))
|
||||
return;
|
||||
|
||||
for (i = 0; i < GARGCOUNT; ++i)
|
||||
if (GARGLIST[i].ae_fname != NULL)
|
||||
{
|
||||
AARGLIST(curwin->w_alist)[gap->ga_len].ae_fname =
|
||||
vim_strsave(GARGLIST[i].ae_fname);
|
||||
AARGLIST(curwin->w_alist)[gap->ga_len].ae_fnum =
|
||||
GARGLIST[i].ae_fnum;
|
||||
++gap->ga_len;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -908,77 +924,45 @@ alist_name(aentry_T *aep)
|
||||
}
|
||||
|
||||
/*
|
||||
* do_arg_all(): Open up to 'count' windows, one for each argument.
|
||||
* State used by the :all command to open all the files in the argument list in
|
||||
* separate windows.
|
||||
*/
|
||||
static void
|
||||
do_arg_all(
|
||||
int count,
|
||||
int forceit, // hide buffers in current windows
|
||||
int keep_tabs) // keep current tabs, for ":tab drop file"
|
||||
{
|
||||
int i;
|
||||
win_T *wp, *wpnext;
|
||||
typedef struct {
|
||||
alist_T *alist; // argument list to be used
|
||||
int had_tab;
|
||||
int keep_tabs;
|
||||
int forceit;
|
||||
|
||||
int use_firstwin; // use first window for arglist
|
||||
char_u *opened; // Array of weight for which args are open:
|
||||
// 0: not opened
|
||||
// 1: opened in other tab
|
||||
// 2: opened in curtab
|
||||
// 3: opened in curtab and curwin
|
||||
//
|
||||
int opened_len; // length of opened[]
|
||||
int use_firstwin = FALSE; // use first window for arglist
|
||||
int tab_drop_empty_window = FALSE;
|
||||
int split_ret = OK;
|
||||
int p_ea_save;
|
||||
alist_T *alist; // argument list to be used
|
||||
buf_T *buf;
|
||||
win_T *new_curwin;
|
||||
tabpage_T *new_curtab;
|
||||
} arg_all_state_T;
|
||||
|
||||
/*
|
||||
* Close all the windows containing files which are not in the argument list.
|
||||
* Used by the ":all" command.
|
||||
*/
|
||||
static void
|
||||
arg_all_close_unused_windows(arg_all_state_T *aall)
|
||||
{
|
||||
win_T *wp;
|
||||
win_T *wpnext;
|
||||
tabpage_T *tpnext;
|
||||
int had_tab = cmdmod.cmod_tab;
|
||||
win_T *old_curwin, *last_curwin;
|
||||
tabpage_T *old_curtab, *last_curtab;
|
||||
win_T *new_curwin = NULL;
|
||||
tabpage_T *new_curtab = NULL;
|
||||
int prev_arglist_locked = arglist_locked;
|
||||
|
||||
#ifdef FEAT_CMDWIN
|
||||
if (cmdwin_type != 0)
|
||||
{
|
||||
emsg(_(e_invalid_in_cmdline_window));
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
if (ARGCOUNT <= 0)
|
||||
{
|
||||
// Don't give an error message. We don't want it when the ":all"
|
||||
// command is in the .vimrc.
|
||||
return;
|
||||
}
|
||||
setpcmark();
|
||||
|
||||
opened_len = ARGCOUNT;
|
||||
opened = alloc_clear(opened_len);
|
||||
if (opened == NULL)
|
||||
return;
|
||||
|
||||
// Autocommands may do anything to the argument list. Make sure it's not
|
||||
// freed while we are working here by "locking" it. We still have to
|
||||
// watch out for its size to be changed.
|
||||
alist = curwin->w_alist;
|
||||
++alist->al_refcount;
|
||||
arglist_locked = TRUE;
|
||||
buf_T *buf;
|
||||
int i;
|
||||
win_T *old_curwin;
|
||||
tabpage_T *old_curtab;
|
||||
|
||||
old_curwin = curwin;
|
||||
old_curtab = curtab;
|
||||
|
||||
#ifdef FEAT_GUI
|
||||
need_mouse_correct = TRUE;
|
||||
#endif
|
||||
|
||||
// Try closing all windows that are not in the argument list.
|
||||
// Also close windows that are not full width;
|
||||
// When 'hidden' or "forceit" set the buffer becomes hidden.
|
||||
// Windows that have a changed buffer and can't be hidden won't be closed.
|
||||
// When the ":tab" modifier was used do this for all tab pages.
|
||||
if (had_tab > 0)
|
||||
if (aall->had_tab > 0)
|
||||
goto_tabpage_tp(first_tabpage, TRUE, TRUE);
|
||||
for (;;)
|
||||
{
|
||||
@@ -988,17 +972,18 @@ do_arg_all(
|
||||
wpnext = wp->w_next;
|
||||
buf = wp->w_buffer;
|
||||
if (buf->b_ffname == NULL
|
||||
|| (!keep_tabs && (buf->b_nwindows > 1
|
||||
|| (!aall->keep_tabs && (buf->b_nwindows > 1
|
||||
|| wp->w_width != Columns)))
|
||||
i = opened_len;
|
||||
i = aall->opened_len;
|
||||
else
|
||||
{
|
||||
// check if the buffer in this window is in the arglist
|
||||
for (i = 0; i < opened_len; ++i)
|
||||
for (i = 0; i < aall->opened_len; ++i)
|
||||
{
|
||||
if (i < alist->al_ga.ga_len
|
||||
&& (AARGLIST(alist)[i].ae_fnum == buf->b_fnum
|
||||
|| fullpathcmp(alist_name(&AARGLIST(alist)[i]),
|
||||
if (i < aall->alist->al_ga.ga_len
|
||||
&& (AARGLIST(aall->alist)[i].ae_fnum == buf->b_fnum
|
||||
|| fullpathcmp(alist_name(
|
||||
&AARGLIST(aall->alist)[i]),
|
||||
buf->b_ffname, TRUE, TRUE) & FPC_SAME))
|
||||
{
|
||||
int weight = 1;
|
||||
@@ -1010,26 +995,27 @@ do_arg_all(
|
||||
++weight;
|
||||
}
|
||||
|
||||
if (weight > (int)opened[i])
|
||||
if (weight > (int)aall->opened[i])
|
||||
{
|
||||
opened[i] = (char_u)weight;
|
||||
aall->opened[i] = (char_u)weight;
|
||||
if (i == 0)
|
||||
{
|
||||
if (new_curwin != NULL)
|
||||
new_curwin->w_arg_idx = opened_len;
|
||||
new_curwin = wp;
|
||||
new_curtab = curtab;
|
||||
if (aall->new_curwin != NULL)
|
||||
aall->new_curwin->w_arg_idx =
|
||||
aall->opened_len;
|
||||
aall->new_curwin = wp;
|
||||
aall->new_curtab = curtab;
|
||||
}
|
||||
}
|
||||
else if (keep_tabs)
|
||||
i = opened_len;
|
||||
else if (aall->keep_tabs)
|
||||
i = aall->opened_len;
|
||||
|
||||
if (wp->w_alist != alist)
|
||||
if (wp->w_alist != aall->alist)
|
||||
{
|
||||
// Use the current argument list for all windows
|
||||
// containing a file from it.
|
||||
alist_unlink(wp->w_alist);
|
||||
wp->w_alist = alist;
|
||||
wp->w_alist = aall->alist;
|
||||
++wp->w_alist->al_refcount;
|
||||
}
|
||||
break;
|
||||
@@ -1038,9 +1024,9 @@ do_arg_all(
|
||||
}
|
||||
wp->w_arg_idx = i;
|
||||
|
||||
if (i == opened_len && !keep_tabs)// close this window
|
||||
if (i == aall->opened_len && !aall->keep_tabs)// close this window
|
||||
{
|
||||
if (buf_hide(buf) || forceit || buf->b_nwindows > 1
|
||||
if (buf_hide(buf) || aall->forceit || buf->b_nwindows > 1
|
||||
|| !bufIsChanged(buf))
|
||||
{
|
||||
// If the buffer was changed, and we would like to hide it,
|
||||
@@ -1063,8 +1049,9 @@ do_arg_all(
|
||||
}
|
||||
// don't close last window
|
||||
if (ONE_WINDOW
|
||||
&& (first_tabpage->tp_next == NULL || !had_tab))
|
||||
use_firstwin = TRUE;
|
||||
&& (first_tabpage->tp_next == NULL
|
||||
|| !aall->had_tab))
|
||||
aall->use_firstwin = TRUE;
|
||||
else
|
||||
{
|
||||
win_close(wp, !buf_hide(buf) && !bufIsChanged(buf));
|
||||
@@ -1078,7 +1065,7 @@ do_arg_all(
|
||||
}
|
||||
|
||||
// Without the ":tab" modifier only do the current tab page.
|
||||
if (had_tab == 0 || tpnext == NULL)
|
||||
if (aall->had_tab == 0 || tpnext == NULL)
|
||||
break;
|
||||
|
||||
// check if autocommands removed the next tab page
|
||||
@@ -1087,54 +1074,56 @@ do_arg_all(
|
||||
|
||||
goto_tabpage_tp(tpnext, TRUE, TRUE);
|
||||
}
|
||||
}
|
||||
|
||||
// Open a window for files in the argument list that don't have one.
|
||||
// ARGCOUNT may change while doing this, because of autocommands.
|
||||
if (count > opened_len || count <= 0)
|
||||
count = opened_len;
|
||||
/*
|
||||
* Open upto "count" windows for the files in the argument list 'aall->alist'.
|
||||
*/
|
||||
static void
|
||||
arg_all_open_windows(arg_all_state_T *aall, int count)
|
||||
{
|
||||
win_T *wp;
|
||||
int tab_drop_empty_window = FALSE;
|
||||
int i;
|
||||
int split_ret = OK;
|
||||
int p_ea_save;
|
||||
|
||||
// Don't execute Win/Buf Enter/Leave autocommands here.
|
||||
++autocmd_no_enter;
|
||||
++autocmd_no_leave;
|
||||
last_curwin = curwin;
|
||||
last_curtab = curtab;
|
||||
win_enter(lastwin, FALSE);
|
||||
// ":tab drop file" should re-use an empty window to avoid "--remote-tab"
|
||||
// leaving an empty tab page when executed locally.
|
||||
if (keep_tabs && BUFEMPTY() && curbuf->b_nwindows == 1
|
||||
if (aall->keep_tabs && BUFEMPTY() && curbuf->b_nwindows == 1
|
||||
&& curbuf->b_ffname == NULL && !curbuf->b_changed)
|
||||
{
|
||||
use_firstwin = TRUE;
|
||||
aall->use_firstwin = TRUE;
|
||||
tab_drop_empty_window = TRUE;
|
||||
}
|
||||
|
||||
for (i = 0; i < count && !got_int; ++i)
|
||||
{
|
||||
if (alist == &global_alist && i == global_alist.al_ga.ga_len - 1)
|
||||
if (aall->alist == &global_alist && i == global_alist.al_ga.ga_len - 1)
|
||||
arg_had_last = TRUE;
|
||||
if (opened[i] > 0)
|
||||
if (aall->opened[i] > 0)
|
||||
{
|
||||
// Move the already present window to below the current window
|
||||
if (curwin->w_arg_idx != i)
|
||||
{
|
||||
FOR_ALL_WINDOWS(wpnext)
|
||||
FOR_ALL_WINDOWS(wp)
|
||||
{
|
||||
if (wpnext->w_arg_idx == i)
|
||||
if (wp->w_arg_idx == i)
|
||||
{
|
||||
if (keep_tabs)
|
||||
if (aall->keep_tabs)
|
||||
{
|
||||
new_curwin = wpnext;
|
||||
new_curtab = curtab;
|
||||
aall->new_curwin = wp;
|
||||
aall->new_curtab = curtab;
|
||||
}
|
||||
else if (wpnext->w_frame->fr_parent
|
||||
!= curwin->w_frame->fr_parent)
|
||||
else if (wp->w_frame->fr_parent
|
||||
!= curwin->w_frame->fr_parent)
|
||||
{
|
||||
emsg(_(e_window_layout_changed_unexpectedly));
|
||||
i = count;
|
||||
break;
|
||||
}
|
||||
else
|
||||
win_move_after(wpnext, curwin);
|
||||
win_move_after(wp, curwin);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -1145,7 +1134,7 @@ do_arg_all(
|
||||
// trigger events for tab drop
|
||||
if (tab_drop_empty_window && i == count - 1)
|
||||
--autocmd_no_enter;
|
||||
if (!use_firstwin) // split current window
|
||||
if (!aall->use_firstwin) // split current window
|
||||
{
|
||||
p_ea_save = p_ea;
|
||||
p_ea = TRUE; // use space from all windows
|
||||
@@ -1161,35 +1150,111 @@ do_arg_all(
|
||||
curwin->w_arg_idx = i;
|
||||
if (i == 0)
|
||||
{
|
||||
new_curwin = curwin;
|
||||
new_curtab = curtab;
|
||||
aall->new_curwin = curwin;
|
||||
aall->new_curtab = curtab;
|
||||
}
|
||||
(void)do_ecmd(0, alist_name(&AARGLIST(alist)[i]), NULL, NULL,
|
||||
ECMD_ONE,
|
||||
((buf_hide(curwin->w_buffer)
|
||||
|| bufIsChanged(curwin->w_buffer)) ? ECMD_HIDE : 0)
|
||||
+ ECMD_OLDBUF, curwin);
|
||||
(void)do_ecmd(0, alist_name(&AARGLIST(aall->alist)[i]), NULL, NULL,
|
||||
ECMD_ONE,
|
||||
((buf_hide(curwin->w_buffer)
|
||||
|| bufIsChanged(curwin->w_buffer)) ? ECMD_HIDE : 0)
|
||||
+ ECMD_OLDBUF, curwin);
|
||||
if (tab_drop_empty_window && i == count - 1)
|
||||
++autocmd_no_enter;
|
||||
if (use_firstwin)
|
||||
if (aall->use_firstwin)
|
||||
++autocmd_no_leave;
|
||||
use_firstwin = FALSE;
|
||||
aall->use_firstwin = FALSE;
|
||||
}
|
||||
ui_breakcheck();
|
||||
|
||||
// When ":tab" was used open a new tab for a new window repeatedly.
|
||||
if (had_tab > 0 && tabpage_index(NULL) <= p_tpm)
|
||||
if (aall->had_tab > 0 && tabpage_index(NULL) <= p_tpm)
|
||||
cmdmod.cmod_tab = 9999;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* do_arg_all(): Open up to "count" windows, one for each argument.
|
||||
*/
|
||||
static void
|
||||
do_arg_all(
|
||||
int count,
|
||||
int forceit, // hide buffers in current windows
|
||||
int keep_tabs) // keep current tabs, for ":tab drop file"
|
||||
{
|
||||
arg_all_state_T aall;
|
||||
win_T *last_curwin;
|
||||
tabpage_T *last_curtab;
|
||||
int prev_arglist_locked = arglist_locked;
|
||||
|
||||
#ifdef FEAT_CMDWIN
|
||||
if (cmdwin_type != 0)
|
||||
{
|
||||
emsg(_(e_invalid_in_cmdline_window));
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
if (ARGCOUNT <= 0)
|
||||
{
|
||||
// Don't give an error message. We don't want it when the ":all"
|
||||
// command is in the .vimrc.
|
||||
return;
|
||||
}
|
||||
setpcmark();
|
||||
|
||||
aall.use_firstwin = FALSE;
|
||||
aall.had_tab = cmdmod.cmod_tab;
|
||||
aall.new_curwin = NULL;
|
||||
aall.new_curtab = NULL;
|
||||
aall.forceit = forceit;
|
||||
aall.keep_tabs = keep_tabs;
|
||||
aall.opened_len = ARGCOUNT;
|
||||
aall.opened = alloc_clear(aall.opened_len);
|
||||
if (aall.opened == NULL)
|
||||
return;
|
||||
|
||||
// Autocommands may do anything to the argument list. Make sure it's not
|
||||
// freed while we are working here by "locking" it. We still have to
|
||||
// watch out for its size being changed.
|
||||
aall.alist = curwin->w_alist;
|
||||
++aall.alist->al_refcount;
|
||||
arglist_locked = TRUE;
|
||||
|
||||
#ifdef FEAT_GUI
|
||||
need_mouse_correct = TRUE;
|
||||
#endif
|
||||
|
||||
// Try closing all windows that are not in the argument list.
|
||||
// Also close windows that are not full width;
|
||||
// When 'hidden' or "forceit" set the buffer becomes hidden.
|
||||
// Windows that have a changed buffer and can't be hidden won't be closed.
|
||||
// When the ":tab" modifier was used do this for all tab pages.
|
||||
arg_all_close_unused_windows(&aall);
|
||||
|
||||
// Open a window for files in the argument list that don't have one.
|
||||
// ARGCOUNT may change while doing this, because of autocommands.
|
||||
if (count > aall.opened_len || count <= 0)
|
||||
count = aall.opened_len;
|
||||
|
||||
// Don't execute Win/Buf Enter/Leave autocommands here.
|
||||
++autocmd_no_enter;
|
||||
++autocmd_no_leave;
|
||||
last_curwin = curwin;
|
||||
last_curtab = curtab;
|
||||
win_enter(lastwin, FALSE);
|
||||
|
||||
/*
|
||||
* Open upto "count" windows.
|
||||
*/
|
||||
arg_all_open_windows(&aall, count);
|
||||
|
||||
// Remove the "lock" on the argument list.
|
||||
alist_unlink(alist);
|
||||
alist_unlink(aall.alist);
|
||||
arglist_locked = prev_arglist_locked;
|
||||
|
||||
--autocmd_no_enter;
|
||||
|
||||
// restore last referenced tabpage's curwin
|
||||
if (last_curtab != new_curtab)
|
||||
if (last_curtab != aall.new_curtab)
|
||||
{
|
||||
if (valid_tabpage(last_curtab))
|
||||
goto_tabpage_tp(last_curtab, TRUE, TRUE);
|
||||
@@ -1197,13 +1262,13 @@ do_arg_all(
|
||||
win_enter(last_curwin, FALSE);
|
||||
}
|
||||
// to window with first arg
|
||||
if (valid_tabpage(new_curtab))
|
||||
goto_tabpage_tp(new_curtab, TRUE, TRUE);
|
||||
if (win_valid(new_curwin))
|
||||
win_enter(new_curwin, FALSE);
|
||||
if (valid_tabpage(aall.new_curtab))
|
||||
goto_tabpage_tp(aall.new_curtab, TRUE, TRUE);
|
||||
if (win_valid(aall.new_curwin))
|
||||
win_enter(aall.new_curwin, FALSE);
|
||||
|
||||
--autocmd_no_leave;
|
||||
vim_free(opened);
|
||||
vim_free(aall.opened);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -1374,40 +1439,41 @@ f_argv(typval_T *argvars, typval_T *rettv)
|
||||
&& check_for_opt_number_arg(argvars, 1) == FAIL)))
|
||||
return;
|
||||
|
||||
if (argvars[0].v_type != VAR_UNKNOWN)
|
||||
if (argvars[0].v_type == VAR_UNKNOWN)
|
||||
{
|
||||
if (argvars[1].v_type == VAR_UNKNOWN)
|
||||
{
|
||||
arglist = ARGLIST;
|
||||
argcount = ARGCOUNT;
|
||||
}
|
||||
else if (argvars[1].v_type == VAR_NUMBER
|
||||
&& tv_get_number(&argvars[1]) == -1)
|
||||
{
|
||||
arglist = GARGLIST;
|
||||
argcount = GARGCOUNT;
|
||||
}
|
||||
else
|
||||
{
|
||||
win_T *wp = find_win_by_nr_or_id(&argvars[1]);
|
||||
get_arglist_as_rettv(ARGLIST, ARGCOUNT, rettv);
|
||||
return;
|
||||
}
|
||||
|
||||
if (wp != NULL)
|
||||
{
|
||||
// Use the argument list of the specified window
|
||||
arglist = WARGLIST(wp);
|
||||
argcount = WARGCOUNT(wp);
|
||||
}
|
||||
}
|
||||
|
||||
rettv->v_type = VAR_STRING;
|
||||
rettv->vval.v_string = NULL;
|
||||
idx = tv_get_number_chk(&argvars[0], NULL);
|
||||
if (arglist != NULL && idx >= 0 && idx < argcount)
|
||||
rettv->vval.v_string = vim_strsave(alist_name(&arglist[idx]));
|
||||
else if (idx == -1)
|
||||
get_arglist_as_rettv(arglist, argcount, rettv);
|
||||
if (argvars[1].v_type == VAR_UNKNOWN)
|
||||
{
|
||||
arglist = ARGLIST;
|
||||
argcount = ARGCOUNT;
|
||||
}
|
||||
else if (argvars[1].v_type == VAR_NUMBER
|
||||
&& tv_get_number(&argvars[1]) == -1)
|
||||
{
|
||||
arglist = GARGLIST;
|
||||
argcount = GARGCOUNT;
|
||||
}
|
||||
else
|
||||
get_arglist_as_rettv(ARGLIST, ARGCOUNT, rettv);
|
||||
{
|
||||
win_T *wp = find_win_by_nr_or_id(&argvars[1]);
|
||||
|
||||
if (wp != NULL)
|
||||
{
|
||||
// Use the argument list of the specified window
|
||||
arglist = WARGLIST(wp);
|
||||
argcount = WARGCOUNT(wp);
|
||||
}
|
||||
}
|
||||
|
||||
rettv->v_type = VAR_STRING;
|
||||
rettv->vval.v_string = NULL;
|
||||
idx = tv_get_number_chk(&argvars[0], NULL);
|
||||
if (arglist != NULL && idx >= 0 && idx < argcount)
|
||||
rettv->vval.v_string = vim_strsave(alist_name(&arglist[idx]));
|
||||
else if (idx == -1)
|
||||
get_arglist_as_rettv(arglist, argcount, rettv);
|
||||
}
|
||||
#endif
|
||||
|
||||
42
src/auto/configure
vendored
42
src/auto/configure
vendored
@@ -13379,48 +13379,6 @@ _ACEOF
|
||||
|
||||
fi
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for strtod() and other floating point functions" >&5
|
||||
$as_echo_n "checking for strtod() and other floating point functions... " >&6; }
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
|
||||
#ifdef HAVE_MATH_H
|
||||
# include <math.h>
|
||||
#endif
|
||||
#if STDC_HEADERS
|
||||
# include <stdlib.h>
|
||||
# include <stddef.h>
|
||||
#endif
|
||||
|
||||
int
|
||||
main ()
|
||||
{
|
||||
char *s; double d;
|
||||
d = strtod("1.1", &s);
|
||||
d = fabs(1.11);
|
||||
d = ceil(1.11);
|
||||
d = floor(1.11);
|
||||
d = log10(1.11);
|
||||
d = pow(1.11, 2.22);
|
||||
d = sqrt(1.11);
|
||||
d = sin(1.11);
|
||||
d = cos(1.11);
|
||||
d = atan(1.11);
|
||||
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
if ac_fn_c_try_link "$LINENO"; then :
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||
$as_echo "yes" >&6; }; $as_echo "#define HAVE_FLOAT_FUNCS 1" >>confdefs.h
|
||||
|
||||
else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
$as_echo "no" >&6; }
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext \
|
||||
conftest$ac_exeext conftest.$ac_ext
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for isinf()" >&5
|
||||
$as_echo_n "checking for isinf()... " >&6; }
|
||||
|
||||
@@ -1404,12 +1404,19 @@ open_line(
|
||||
int vreplace_mode;
|
||||
int did_append; // appended a new line
|
||||
int saved_pi = curbuf->b_p_pi; // copy of preserveindent setting
|
||||
#ifdef FEAT_PROP_POPUP
|
||||
int at_eol; // cursor after last character
|
||||
#endif
|
||||
|
||||
// make a copy of the current line so we can mess with it
|
||||
saved_line = vim_strsave(ml_get_curline());
|
||||
if (saved_line == NULL) // out of memory!
|
||||
return FALSE;
|
||||
|
||||
#ifdef FEAT_PROP_POPUP
|
||||
at_eol = curwin->w_cursor.col >= (int)STRLEN(saved_line);
|
||||
#endif
|
||||
|
||||
if (State & VREPLACE_FLAG)
|
||||
{
|
||||
// With MODE_VREPLACE we make a copy of the next line, which we will be
|
||||
@@ -2133,7 +2140,7 @@ open_line(
|
||||
if ((State & MODE_INSERT) && (State & VREPLACE_FLAG) == 0)
|
||||
// Properties after the split move to the next line.
|
||||
adjust_props_for_split(curwin->w_cursor.lnum, curwin->w_cursor.lnum,
|
||||
curwin->w_cursor.col + 1, 0);
|
||||
curwin->w_cursor.col + 1, 0, at_eol);
|
||||
#endif
|
||||
}
|
||||
else
|
||||
|
||||
@@ -3589,6 +3589,24 @@ channel_free_all(void)
|
||||
// Buffer size for reading incoming messages.
|
||||
#define MAXMSGSIZE 4096
|
||||
|
||||
/*
|
||||
* Check if there are remaining data that should be written for "in_part".
|
||||
*/
|
||||
static int
|
||||
is_channel_write_remaining(chanpart_T *in_part)
|
||||
{
|
||||
buf_T *buf = in_part->ch_bufref.br_buf;
|
||||
|
||||
if (in_part->ch_writeque.wq_next != NULL)
|
||||
return TRUE;
|
||||
if (buf == NULL)
|
||||
return FALSE;
|
||||
return in_part->ch_buf_append
|
||||
? (in_part->ch_buf_bot < buf->b_ml.ml_line_count)
|
||||
: (in_part->ch_buf_top <= in_part->ch_buf_bot
|
||||
&& in_part->ch_buf_top <= buf->b_ml.ml_line_count);
|
||||
}
|
||||
|
||||
#if defined(HAVE_SELECT)
|
||||
/*
|
||||
* Add write fds where we are waiting for writing to be possible.
|
||||
@@ -3604,8 +3622,7 @@ channel_fill_wfds(int maxfd_arg, fd_set *wfds)
|
||||
chanpart_T *in_part = &ch->ch_part[PART_IN];
|
||||
|
||||
if (in_part->ch_fd != INVALID_FD
|
||||
&& (in_part->ch_bufref.br_buf != NULL
|
||||
|| in_part->ch_writeque.wq_next != NULL))
|
||||
&& is_channel_write_remaining(in_part))
|
||||
{
|
||||
FD_SET((int)in_part->ch_fd, wfds);
|
||||
if ((int)in_part->ch_fd >= maxfd)
|
||||
@@ -3629,8 +3646,7 @@ channel_fill_poll_write(int nfd_in, struct pollfd *fds)
|
||||
chanpart_T *in_part = &ch->ch_part[PART_IN];
|
||||
|
||||
if (in_part->ch_fd != INVALID_FD
|
||||
&& (in_part->ch_bufref.br_buf != NULL
|
||||
|| in_part->ch_writeque.wq_next != NULL))
|
||||
&& is_channel_write_remaining(in_part))
|
||||
{
|
||||
in_part->ch_poll_idx = nfd;
|
||||
fds[nfd].fd = in_part->ch_fd;
|
||||
@@ -3865,8 +3881,6 @@ channel_read(channel_T *channel, ch_part_T part, char *func)
|
||||
// Store the read message in the queue.
|
||||
channel_save(channel, part, buf, len, FALSE, "RECV ");
|
||||
readlen += len;
|
||||
if (len < MAXMSGSIZE)
|
||||
break; // did read everything that's available
|
||||
}
|
||||
|
||||
// Reading a disconnection (readlen == 0), or an error.
|
||||
|
||||
@@ -943,19 +943,18 @@ vim_isprintc_strict(int c)
|
||||
init_chartabsize_arg(
|
||||
chartabsize_T *cts,
|
||||
win_T *wp,
|
||||
linenr_T lnum,
|
||||
linenr_T lnum UNUSED,
|
||||
colnr_T col,
|
||||
char_u *line,
|
||||
char_u *ptr)
|
||||
{
|
||||
CLEAR_POINTER(cts);
|
||||
cts->cts_win = wp;
|
||||
cts->cts_lnum = lnum;
|
||||
cts->cts_vcol = col;
|
||||
cts->cts_line = line;
|
||||
cts->cts_ptr = ptr;
|
||||
#ifdef FEAT_PROP_POPUP
|
||||
if (lnum > 0)
|
||||
if (lnum > 0 && !ignore_text_props)
|
||||
{
|
||||
char_u *prop_start;
|
||||
int count;
|
||||
@@ -1070,40 +1069,6 @@ lbr_chartabsize_adv(chartabsize_T *cts)
|
||||
return retval;
|
||||
}
|
||||
|
||||
#if defined(FEAT_PROP_POPUP) || defined(PROTO)
|
||||
/*
|
||||
* Return the cell size of virtual text after truncation.
|
||||
*/
|
||||
int
|
||||
textprop_size_after_trunc(
|
||||
win_T *wp,
|
||||
int below,
|
||||
int added,
|
||||
char_u *text,
|
||||
int *n_used_ptr)
|
||||
{
|
||||
int space = below ? wp->w_width : added;
|
||||
int len = (int)STRLEN(text);
|
||||
int strsize = 0;
|
||||
int n_used;
|
||||
|
||||
// if the remaining size is to small wrap
|
||||
// anyway and use the next line
|
||||
if (space < PROP_TEXT_MIN_CELLS)
|
||||
space += wp->w_width;
|
||||
for (n_used = 0; n_used < len; n_used += (*mb_ptr2len)(text + n_used))
|
||||
{
|
||||
int clen = ptr2cells(text + n_used);
|
||||
|
||||
if (strsize + clen > space)
|
||||
break;
|
||||
strsize += clen;
|
||||
}
|
||||
*n_used_ptr = n_used;
|
||||
return strsize;
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Return the screen size of the character indicated by "cts".
|
||||
* "cts->cts_cur_text_width" is set to the extra size for a text property that
|
||||
@@ -1143,6 +1108,7 @@ win_lbr_chartabsize(
|
||||
|
||||
#if defined(FEAT_PROP_POPUP)
|
||||
cts->cts_cur_text_width = 0;
|
||||
cts->cts_first_char = 0;
|
||||
#endif
|
||||
|
||||
#if defined(FEAT_LINEBREAK) || defined(FEAT_PROP_POPUP)
|
||||
@@ -1195,9 +1161,12 @@ win_lbr_chartabsize(
|
||||
if (tp->tp_id < 0
|
||||
&& ((tp->tp_col - 1 >= col
|
||||
&& tp->tp_col - 1 < col + charlen)
|
||||
|| (tp->tp_col == MAXCOL && (s[0] == NUL || s[1] == NUL)
|
||||
&& cts->cts_with_trailing))
|
||||
&& -tp->tp_id - 1 < gap->ga_len)
|
||||
|| (tp->tp_col == MAXCOL
|
||||
&& ((tp->tp_flags & TP_FLAG_ALIGN_ABOVE)
|
||||
? col == 0
|
||||
: (s[0] == NUL || s[1] == NUL)
|
||||
&& cts->cts_with_trailing)))
|
||||
&& tp->tp_id - 1 < gap->ga_len)
|
||||
{
|
||||
char_u *p = ((char_u **)gap->ga_data)[-tp->tp_id - 1];
|
||||
|
||||
@@ -1219,6 +1188,8 @@ win_lbr_chartabsize(
|
||||
else
|
||||
cells = vim_strsize(p);
|
||||
cts->cts_cur_text_width += cells;
|
||||
if (tp->tp_flags & TP_FLAG_ALIGN_ABOVE)
|
||||
cts->cts_first_char += cells;
|
||||
cts->cts_start_incl = tp->tp_flags & TP_FLAG_START_INCL;
|
||||
size += cells;
|
||||
if (*s == TAB)
|
||||
@@ -1309,6 +1280,9 @@ win_lbr_chartabsize(
|
||||
|
||||
numberextra = numberwidth;
|
||||
vcol += numberextra + mb_added;
|
||||
#ifdef FEAT_PROP_POPUP
|
||||
vcol -= wp->w_virtcol_first_char;
|
||||
#endif
|
||||
if (vcol >= (colnr_T)wp->w_width)
|
||||
{
|
||||
vcol -= wp->w_width;
|
||||
@@ -1565,6 +1539,11 @@ getvcol(
|
||||
#endif
|
||||
break;
|
||||
}
|
||||
#ifdef FEAT_PROP_POPUP
|
||||
if (cursor == &wp->w_virtcol && cts.cts_ptr == cts.cts_line)
|
||||
// do not count the virtual text above for w_curswant
|
||||
wp->w_virtcol_first_char = cts.cts_first_char;
|
||||
#endif
|
||||
|
||||
if (posptr != NULL && cts.cts_ptr >= posptr)
|
||||
// character at pos->col
|
||||
@@ -1600,6 +1579,9 @@ getvcol(
|
||||
if (((State & MODE_INSERT) == 0 || cts.cts_start_incl) && !on_NUL)
|
||||
// cursor is after inserted text, unless on the NUL
|
||||
vcol += cts.cts_cur_text_width;
|
||||
else
|
||||
// insertion also happens after the "above" virtual text
|
||||
vcol += cts.cts_first_char;
|
||||
#endif
|
||||
*cursor = vcol + head; // cursor at start
|
||||
}
|
||||
|
||||
@@ -423,9 +423,7 @@ cmdsrv_main(
|
||||
if (argtype == ARGTYPE_EDIT_WAIT)
|
||||
{
|
||||
int numFiles = *argc - i - 1;
|
||||
int j;
|
||||
char_u *done = alloc(numFiles);
|
||||
char_u *p;
|
||||
# ifdef FEAT_GUI_MSWIN
|
||||
NOTIFYICONDATA ni;
|
||||
int count = 0;
|
||||
@@ -450,6 +448,8 @@ cmdsrv_main(
|
||||
vim_memset(done, 0, numFiles);
|
||||
while (memchr(done, 0, numFiles) != NULL)
|
||||
{
|
||||
char_u *p;
|
||||
int j;
|
||||
# ifdef MSWIN
|
||||
p = serverGetReply(srv, NULL, TRUE, TRUE, 0);
|
||||
if (p == NULL)
|
||||
@@ -459,6 +459,7 @@ cmdsrv_main(
|
||||
break;
|
||||
# endif
|
||||
j = atoi((char *)p);
|
||||
vim_free(p);
|
||||
if (j >= 0 && j < numFiles)
|
||||
{
|
||||
# ifdef FEAT_GUI_MSWIN
|
||||
|
||||
@@ -2394,6 +2394,7 @@ expand_cmdline(
|
||||
|
||||
/*
|
||||
* Expand file or directory names.
|
||||
* Returns OK or FAIL.
|
||||
*/
|
||||
static int
|
||||
expand_files_and_dirs(
|
||||
|
||||
@@ -157,7 +157,6 @@
|
||||
#undef HAVE_FCHDIR
|
||||
#undef HAVE_FCHOWN
|
||||
#undef HAVE_FCHMOD
|
||||
#undef HAVE_FLOAT_FUNCS
|
||||
#undef HAVE_FSEEKO
|
||||
#undef HAVE_FSYNC
|
||||
#undef HAVE_FTRUNCATE
|
||||
|
||||
@@ -3952,32 +3952,8 @@ AC_LINK_IFELSE([AC_LANG_PROGRAM([
|
||||
AC_MSG_RESULT(yes); AC_DEFINE(HAVE_NL_LANGINFO_CODESET),
|
||||
AC_MSG_RESULT(no))
|
||||
|
||||
dnl Need various functions for floating point support. Only enable
|
||||
dnl floating point when they are all present.
|
||||
dnl Floating point support may require the "m" library
|
||||
AC_CHECK_LIB(m, strtod)
|
||||
AC_MSG_CHECKING([for strtod() and other floating point functions])
|
||||
AC_LINK_IFELSE([AC_LANG_PROGRAM([
|
||||
#ifdef HAVE_MATH_H
|
||||
# include <math.h>
|
||||
#endif
|
||||
#if STDC_HEADERS
|
||||
# include <stdlib.h>
|
||||
# include <stddef.h>
|
||||
#endif
|
||||
], [char *s; double d;
|
||||
d = strtod("1.1", &s);
|
||||
d = fabs(1.11);
|
||||
d = ceil(1.11);
|
||||
d = floor(1.11);
|
||||
d = log10(1.11);
|
||||
d = pow(1.11, 2.22);
|
||||
d = sqrt(1.11);
|
||||
d = sin(1.11);
|
||||
d = cos(1.11);
|
||||
d = atan(1.11);
|
||||
])],
|
||||
AC_MSG_RESULT(yes); AC_DEFINE(HAVE_FLOAT_FUNCS),
|
||||
AC_MSG_RESULT(no))
|
||||
|
||||
dnl isinf() and isnan() need to include header files and may need -lm.
|
||||
AC_MSG_CHECKING([for isinf()])
|
||||
|
||||
@@ -135,9 +135,14 @@ do_debug(char_u *cmd)
|
||||
ignore_script = TRUE;
|
||||
}
|
||||
|
||||
// don't debug any function call, e.g. from an expression mapping
|
||||
n = debug_break_level;
|
||||
debug_break_level = -1;
|
||||
|
||||
vim_free(cmdline);
|
||||
cmdline = getcmdline_prompt('>', NULL, 0, EXPAND_NOTHING, NULL);
|
||||
|
||||
debug_break_level = n;
|
||||
if (typeahead_saved)
|
||||
{
|
||||
restore_typeahead(&typeaheadbuf, TRUE);
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user