Compare commits
127 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1c2b258250 | ||
|
|
40daa1358c | ||
|
|
031919c7ac | ||
|
|
fbbaa6ebe9 | ||
|
|
470317f78b | ||
|
|
839fd94265 | ||
|
|
b156588eb7 | ||
|
|
f35bd76b31 | ||
|
|
32f2bb6e1e | ||
|
|
cf7f01252f | ||
|
|
babdb0554a | ||
|
|
d62377386c | ||
|
|
2137710b43 | ||
|
|
d2079cff48 | ||
|
|
cbe53191d0 | ||
|
|
10f69298b4 | ||
|
|
4ec93fec12 | ||
|
|
836b87d699 | ||
|
|
906f306812 | ||
|
|
f4b1a60dd1 | ||
|
|
3cbd7f18e3 | ||
|
|
3956c5b53c | ||
|
|
c98250377d | ||
|
|
829eda7d38 | ||
|
|
d4dbf822dc | ||
|
|
cf665ccd37 | ||
|
|
6f6c0dba9f | ||
|
|
eded33621b | ||
|
|
bc27b6e34f | ||
|
|
ab2fe65fbf | ||
|
|
0e59e67a63 | ||
|
|
c8ce81b0dc | ||
|
|
d82f3cae39 | ||
|
|
5c84d12df1 | ||
|
|
ec032de646 | ||
|
|
06a41ad084 | ||
|
|
9b171bdfd6 | ||
|
|
b0e19f9e1b | ||
|
|
96a0b2a6d5 | ||
|
|
f9f53f5a8f | ||
|
|
520a2c7852 | ||
|
|
0b540c6f38 | ||
|
|
7517a8cadf | ||
|
|
b71f1309a2 | ||
|
|
2525573de7 | ||
|
|
adcfb6caeb | ||
|
|
e370141bf4 | ||
|
|
5ce1e4ad4a | ||
|
|
b87620466c | ||
|
|
2ffb4d0298 | ||
|
|
00b927b295 | ||
|
|
2afdb3a65b | ||
|
|
9cd6d82fbb | ||
|
|
9adb310cf3 | ||
|
|
88d41ab270 | ||
|
|
c54a8eb258 | ||
|
|
221927b2bf | ||
|
|
ba73766788 | ||
|
|
8daae6fea9 | ||
|
|
d22f43111b | ||
|
|
2f5a8c0b5b | ||
|
|
d84cbdb5a3 | ||
|
|
9aa120f7ad | ||
|
|
b8d5c85099 | ||
|
|
2a6be83512 | ||
|
|
d211558044 | ||
|
|
6fa62085ff | ||
|
|
f16d8b2dda | ||
|
|
3e50a28a03 | ||
|
|
6099db9a60 | ||
|
|
e74ec3f523 | ||
|
|
c1e019247d | ||
|
|
df68419ba0 | ||
|
|
a359c9c25e | ||
|
|
7fb90815a0 | ||
|
|
8293574c8b | ||
|
|
e4e4d1c381 | ||
|
|
7f518e044f | ||
|
|
9301b437bc | ||
|
|
de8f8f732a | ||
|
|
7b6add0b4a | ||
|
|
2f4aa50c91 | ||
|
|
71f17fdd5f | ||
|
|
4ac995bf93 | ||
|
|
b1d6db0be5 | ||
|
|
20393bc02d | ||
|
|
1c2f475850 | ||
|
|
583f5aee96 | ||
|
|
f13c856154 | ||
|
|
c6336acfe3 | ||
|
|
649a237bc8 | ||
|
|
53fed23cb7 | ||
|
|
e9a369f9c3 | ||
|
|
a580761a45 | ||
|
|
bb8e5ddb97 | ||
|
|
1054b18291 | ||
|
|
f2b16986a1 | ||
|
|
90e52490b3 | ||
|
|
0dc9a0bc60 | ||
|
|
0980e41161 | ||
|
|
722fbd1554 | ||
|
|
532c5aec6f | ||
|
|
aa68f8a095 | ||
|
|
ce80c59bfd | ||
|
|
c5aad6cca5 | ||
|
|
5a307c361c | ||
|
|
e06b2aea43 | ||
|
|
88d75934c3 | ||
|
|
757c37da6d | ||
|
|
29d11a8326 | ||
|
|
45377e2096 | ||
|
|
7d8e7df551 | ||
|
|
4f9b1243e3 | ||
|
|
d9b82cfe84 | ||
|
|
35cb38d34b | ||
|
|
14dec7b204 | ||
|
|
9943d4790e | ||
|
|
06774a271a | ||
|
|
4dd17a90ee | ||
|
|
08283b28af | ||
|
|
f9f4e27ad7 | ||
|
|
052b86ba63 | ||
|
|
721be7fd0b | ||
|
|
038be2701d | ||
|
|
9d5487f6fd | ||
|
|
20e46fa65b | ||
|
|
7746348c5d |
14
.github/MAINTAINERS
vendored
14
.github/MAINTAINERS
vendored
@@ -149,6 +149,7 @@ runtime/ftplugin/csv.vim @habamax
|
||||
runtime/ftplugin/cucumber.vim @tpope
|
||||
runtime/ftplugin/cuda.vim @ribru17
|
||||
runtime/ftplugin/dart.vim @ribru17
|
||||
runtime/ftplugin/dax.vim @anarion80
|
||||
runtime/ftplugin/deb822sources.vim @jamessan
|
||||
runtime/ftplugin/debchangelog.vim @jamessan
|
||||
runtime/ftplugin/debcontrol.vim @jamessan
|
||||
@@ -179,7 +180,7 @@ runtime/ftplugin/gitconfig.vim @tpope
|
||||
runtime/ftplugin/gitignore.vim @ObserverOfTime
|
||||
runtime/ftplugin/gitrebase.vim @tpope
|
||||
runtime/ftplugin/gitsendemail.vim @tpope
|
||||
runtime/ftplugin/gleam.vim @trilowy
|
||||
runtime/ftplugin/gleam.vim @kirillmorozov
|
||||
runtime/ftplugin/go.vim @dbarnett
|
||||
runtime/ftplugin/goaccess.vim @meonkeys
|
||||
runtime/ftplugin/gomod.vim @yu-yk
|
||||
@@ -221,6 +222,7 @@ runtime/ftplugin/ldapconf.vim @ribru17
|
||||
runtime/ftplugin/leo.vim @ribru17
|
||||
runtime/ftplugin/less.vim @genoma
|
||||
runtime/ftplugin/lex.vim @ribru17
|
||||
runtime/ftplugin/lf.vim @andis-sprinkis
|
||||
runtime/ftplugin/liquid.vim @tpope
|
||||
runtime/ftplugin/lua.vim @dkearns
|
||||
runtime/ftplugin/lc.vim @ribru17
|
||||
@@ -229,6 +231,7 @@ runtime/ftplugin/m17ndb.vim @dseomn
|
||||
runtime/ftplugin/m3build.vim @dkearns
|
||||
runtime/ftplugin/m3quake.vim @dkearns
|
||||
runtime/ftplugin/markdown.vim @tpope
|
||||
runtime/ftplugin/mbsync.vim @fymyte
|
||||
runtime/ftplugin/mediawiki.vim @avidseeker
|
||||
runtime/ftplugin/meson.vim @Liambeguin
|
||||
runtime/ftplugin/modula2.vim @dkearns
|
||||
@@ -254,6 +257,7 @@ runtime/ftplugin/plsql.vim @lee-lindley
|
||||
runtime/ftplugin/pod.vim @petdance @dkearns
|
||||
runtime/ftplugin/poefilter.vim @ObserverOfTime
|
||||
runtime/ftplugin/postscr.vim @mrdubya
|
||||
runtime/ftplugin/pq.vim @anarion80
|
||||
runtime/ftplugin/prisma.vim @ribru17
|
||||
runtime/ftplugin/proto.vim @Limero
|
||||
runtime/ftplugin/ps1.vim @heaths
|
||||
@@ -267,6 +271,7 @@ runtime/ftplugin/qml.vim @ChaseKnowlden
|
||||
runtime/ftplugin/racket.vim @benknoble
|
||||
runtime/ftplugin/rasi.vim @fymyte
|
||||
runtime/ftplugin/readline.vim @dkearns
|
||||
runtime/ftplugin/remind.vim @joereynolds
|
||||
runtime/ftplugin/rescript.vim @ribru17
|
||||
runtime/ftplugin/routeros.vim @zainin
|
||||
runtime/ftplugin/rst.vim @marshallward
|
||||
@@ -412,6 +417,8 @@ runtime/indent/xml.vim @chrisbra
|
||||
runtime/indent/zsh.vim @chrisbra
|
||||
runtime/keymap/armenian-eastern_utf-8.vim @blinskey
|
||||
runtime/keymap/armenian-western_utf-8.vim @blinskey
|
||||
runtime/keymap/brazilian_portuguese-abnt.vim @LuMarquesIlva
|
||||
runtime/keymap/brazilian_portuguese-compact.vim @LuMarquesIlva
|
||||
runtime/keymap/russian-typograph.vim @RestorerZ
|
||||
runtime/keymap/tamil_tscii.vim @yegappan
|
||||
runtime/keymap/ukrainian-enhanced.vim @Dolfost
|
||||
@@ -457,6 +464,7 @@ runtime/syntax/cucumber.vim @tpope
|
||||
runtime/syntax/d.vim @JesseKPhillips
|
||||
runtime/syntax/dart.vim @pr3d4t0r
|
||||
runtime/syntax/datascript.vim @dpelle
|
||||
runtime/syntax/dax.vim @anarion80
|
||||
runtime/syntax/deb822sources.vim @jamessan
|
||||
runtime/syntax/debchangelog.vim @jamessan
|
||||
runtime/syntax/debcontrol.vim @jamessan
|
||||
@@ -547,6 +555,7 @@ runtime/syntax/mailcap.vim @dkearns
|
||||
runtime/syntax/make.vim @rohieb
|
||||
runtime/syntax/mallard.vim @jhradilek
|
||||
runtime/syntax/markdown.vim @tpope
|
||||
runtime/syntax/mbsync.vim @fymyte
|
||||
runtime/syntax/mason.vim @petdance
|
||||
runtime/syntax/mediawiki.vim @avidseeker
|
||||
runtime/syntax/meson.vim @Liambeguin
|
||||
@@ -562,6 +571,8 @@ runtime/syntax/ninja.vim @nico
|
||||
runtime/syntax/nix.vim @equill
|
||||
runtime/syntax/nroff.vim @jmarshall
|
||||
runtime/syntax/nsis.vim @k-takata
|
||||
runtime/syntax/odin.vim @habamax
|
||||
runtime/syntax/omnimark.vim @kennypete
|
||||
runtime/syntax/ondir.vim @jparise
|
||||
runtime/syntax/opencl.vim @Freed-Wu
|
||||
runtime/syntax/openvpn.vim @ObserverOfTime
|
||||
@@ -576,6 +587,7 @@ runtime/syntax/plsql.vim @lee-lindley
|
||||
runtime/syntax/pod.vim @petdance
|
||||
runtime/syntax/poefilter.vim @ObserverOfTime
|
||||
runtime/syntax/postscr.vim @mrdubya
|
||||
runtime/syntax/pq.vim @anarion80
|
||||
runtime/syntax/privoxy.vim @dkearns
|
||||
runtime/syntax/progress.vim @rdnlsmith
|
||||
runtime/syntax/prolog.vim @XVilka
|
||||
|
||||
25
.github/workflows/ci.yml
vendored
25
.github/workflows/ci.yml
vendored
@@ -266,6 +266,12 @@ jobs:
|
||||
"${SRCDIR}"/vim --version
|
||||
"${SRCDIR}"/vim -u NONE -i NONE --not-a-term -esNX -V1 -S ci/if_ver-1.vim -c quit
|
||||
"${SRCDIR}"/vim -u NONE -i NONE --not-a-term -esNX -V1 -S ci/if_ver-2.vim -c quit
|
||||
if ${{ matrix.features == 'huge' }}; then
|
||||
# Also check that optional and dynamic features are configured and working
|
||||
"${SRCDIR}"/vim -u NONE -i NONE --not-a-term -esNX -V1 \
|
||||
-c "let g:required=['gettext', 'sodium', 'sound', 'perl', 'python3', 'lua', 'ruby', 'tcl']" \
|
||||
-S ci/if_feat_check.vim -c quit
|
||||
fi
|
||||
|
||||
- name: Test
|
||||
if: matrix.architecture != 'arm64'
|
||||
@@ -349,7 +355,7 @@ jobs:
|
||||
if: matrix.runner == 'macos-15'
|
||||
run: |
|
||||
# Xcode 16 has compiler bugs which are fixed in 16.2+
|
||||
sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer
|
||||
sudo xcode-select -s /Applications/Xcode_16.3.app/Contents/Developer
|
||||
|
||||
- name: Set up environment
|
||||
run: |
|
||||
@@ -392,6 +398,12 @@ jobs:
|
||||
"${SRCDIR}"/vim --version
|
||||
"${SRCDIR}"/vim -u NONE -i NONE --not-a-term -esNX -V1 -S ci/if_ver-1.vim -c quit
|
||||
"${SRCDIR}"/vim -u NONE -i NONE --not-a-term -esNX -V1 -S ci/if_ver-2.vim -c quit
|
||||
if ${{ matrix.features == 'huge' }}; then
|
||||
# Also check that optional and dynamic features are configured and working
|
||||
"${SRCDIR}"/vim -u NONE -i NONE --not-a-term -esNX -V1 \
|
||||
-c "let g:required=['sound', 'perl', 'python3', 'lua', 'ruby', 'tcl']" \
|
||||
-S ci/if_feat_check.vim -c quit
|
||||
fi
|
||||
|
||||
- name: Install packages for testing
|
||||
run: |
|
||||
@@ -608,11 +620,13 @@ jobs:
|
||||
DYNAMIC_PYTHON=yes PYTHON=%PYTHON_DIR% ^
|
||||
DYNAMIC_PYTHON3=yes PYTHON3=%PYTHON3_DIR% ^
|
||||
DYNAMIC_PYTHON3_STABLE_ABI=%PYTHON3_STABLE% ^
|
||||
DYNAMIC_SODIUM=yes SODIUM=%SODIUM_DIR%
|
||||
DYNAMIC_SODIUM=yes SODIUM=%SODIUM_DIR% ^
|
||||
CI_FLAGS=/we4267
|
||||
) else (
|
||||
nmake -nologo -f Make_mvc.mak ^
|
||||
FEATURES=${{ matrix.features }} ^
|
||||
GUI=%GUI% IME=yes ICONV=yes VIMDLL=${{ matrix.VIMDLL }}
|
||||
GUI=%GUI% IME=yes ICONV=yes VIMDLL=${{ matrix.VIMDLL }} ^
|
||||
CI_FLAGS=/we4267
|
||||
)
|
||||
|
||||
- name: Build (MinGW)
|
||||
@@ -663,6 +677,11 @@ jobs:
|
||||
src\vim --version || exit 1
|
||||
src\vim -u NONE -i NONE --not-a-term -esNX -V1 -S ci/if_ver-1.vim -c quit
|
||||
src\vim -u NONE -i NONE --not-a-term -esNX -V1 -S ci/if_ver-2.vim -c quit
|
||||
if "${{ matrix.features }}"=="HUGE" (
|
||||
src\vim -u NONE -i NONE --not-a-term -esNX -V1 ^
|
||||
-c "let g:required=['gettext', 'sodium', 'sound', 'python3', 'lua']" ^
|
||||
-S ci/if_feat_check.vim -c quit
|
||||
)
|
||||
)
|
||||
|
||||
#- name: Prepare Artifact
|
||||
|
||||
@@ -21,6 +21,31 @@ Contributions will be distributed with Vim under the Vim license. Providing a
|
||||
change to be included implies that you agree with this and your contribution
|
||||
does not cause us trouble with trademarks or patents. There is no CLA to sign.
|
||||
|
||||
## Signing-off commits
|
||||
|
||||
While not required, it's recommended to use **Signed-off commits** to ensure
|
||||
transparency, accountability, and compliance with open-source best practices.
|
||||
Signed-off commits follow the [Developer Certificate of Origin (DCO)][15],
|
||||
which confirms that contributors have the right to submit their changes under
|
||||
the project's license. This process adds a `Signed-off-by` line to commit
|
||||
messages, verifying that the contributor agrees to the project's licensing
|
||||
terms. To sign off a commit, simply use the -s flag when committing:
|
||||
|
||||
```sh
|
||||
git commit -s
|
||||
```
|
||||
|
||||
This ensures that every contribution is properly documented and traceable,
|
||||
aligning with industry standards used in projects like the Linux Kernel or
|
||||
the git project. By making Signed-off commits a standard practice, we help
|
||||
maintain a legally compliant and well-governed codebase while fostering trust
|
||||
within our contributor community.
|
||||
|
||||
When merging PRs into Vim, the current maintainer @chrisbra usually adds missing
|
||||
`Signed-off-by` trailers for the author user name and email address as well for
|
||||
anybody that explicitly *ACK*s a pull request as a statement that those
|
||||
approvers are happy with that particular change.
|
||||
|
||||
# Reporting issues
|
||||
|
||||
We use GitHub issues, but that is not a requirement. Writing to the Vim
|
||||
@@ -113,3 +138,4 @@ mailing list. For other questions please use the [Vi Stack Exchange][8] website,
|
||||
[12]: https://github.com/vim/vim/blob/master/src/testdir/test_filetype.vim
|
||||
[13]: https://github.com/vim/vim/blob/master/runtime/doc/filetype.txt
|
||||
[14]: https://github.com/vim/vim/blob/master/runtime/doc/syntax.txt
|
||||
[15]: https://en.wikipedia.org/wiki/Developer_Certificate_of_Origin
|
||||
|
||||
1
Filelist
1
Filelist
@@ -23,6 +23,7 @@ SRC_ALL = \
|
||||
ci/appveyor.bat \
|
||||
ci/config.mk*.sed \
|
||||
ci/if_ver*.vim \
|
||||
ci/if_feat_check.vim \
|
||||
ci/setup-xvfb.sh \
|
||||
ci/remove_snap.sh \
|
||||
src/Make_all.mak \
|
||||
|
||||
@@ -71,7 +71,7 @@ cd src
|
||||
echo "Building MSVC 64bit console Version"
|
||||
nmake -f Make_mvc.mak CPU=AMD64 ^
|
||||
OLE=no GUI=no IME=yes ICONV=yes DEBUG=no ^
|
||||
FEATURES=%FEATURE%
|
||||
FEATURES=%FEATURE% CI_CFLAGS=/we4267
|
||||
if not exist vim.exe (
|
||||
echo Build failure.
|
||||
exit 1
|
||||
@@ -85,11 +85,11 @@ if "%FEATURE%" == "HUGE" (
|
||||
OLE=no GUI=yes IME=yes ICONV=yes DEBUG=no POSTSCRIPT=yes ^
|
||||
PYTHON_VER=27 DYNAMIC_PYTHON=yes PYTHON=C:\Python27-x64 ^
|
||||
PYTHON3_VER=%PYTHON3_VER% DYNAMIC_PYTHON3=yes PYTHON3=%PYTHON3_DIR% ^
|
||||
FEATURES=%FEATURE%
|
||||
FEATURES=%FEATURE% CI_CFLAGS=/we4267
|
||||
) ELSE (
|
||||
nmake -f Make_mvc.mak CPU=AMD64 ^
|
||||
OLE=no GUI=yes IME=yes ICONV=yes DEBUG=no ^
|
||||
FEATURES=%FEATURE%
|
||||
FEATURES=%FEATURE% CI_CFLAGS=/we4267
|
||||
)
|
||||
if not exist gvim.exe (
|
||||
echo Build failure.
|
||||
|
||||
15
ci/if_feat_check.vim
Normal file
15
ci/if_feat_check.vim
Normal file
@@ -0,0 +1,15 @@
|
||||
if 1 " This prevents it from being run in tiny versions
|
||||
" Check for required features
|
||||
if exists("g:required")
|
||||
for feature in g:required
|
||||
if !has(feature)
|
||||
echo "Error: Feature '" .. feature .. "' not found"
|
||||
echo ''
|
||||
cquit
|
||||
endif
|
||||
endfor
|
||||
echo "\nChecked features: " .. string(g:required)
|
||||
echo ''
|
||||
endif
|
||||
endif
|
||||
" vim: sts=2 sw=2 et
|
||||
@@ -1,6 +1,6 @@
|
||||
" Print all interface versions for Ubuntu. Part 1.
|
||||
" Print all interface versions. Part 1.
|
||||
|
||||
if 1
|
||||
if 1 " This prevents it from being run in tiny versions
|
||||
execute 'source' expand('<sfile>:h') .. '/if_ver-cmd.vim'
|
||||
|
||||
echo "*** Interface versions ***\n"
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
" Print py3 interface versions for Ubuntu. Part 2.
|
||||
" Print py3 interface versions. Part 2.
|
||||
" This is done separately from part 1 because Vim cannot concurrently load
|
||||
" Python 2 and 3 together.
|
||||
|
||||
if 1
|
||||
if 1 " This prevents it from being run in tiny versions
|
||||
execute 'source' expand('<sfile>:h') .. '/if_ver-cmd.vim'
|
||||
|
||||
echo 'Python 3:'
|
||||
|
||||
69
runtime/autoload/dist/ft.vim
vendored
69
runtime/autoload/dist/ft.vim
vendored
@@ -3,7 +3,7 @@ vim9script
|
||||
# Vim functions for file type detection
|
||||
#
|
||||
# Maintainer: The Vim Project <https://github.com/vim/vim>
|
||||
# Last Change: 2025 Jan 25
|
||||
# Last Change: 2025 Apr 15
|
||||
# Former Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
|
||||
# These functions are moved here from runtime/filetype.vim to make startup
|
||||
@@ -557,17 +557,47 @@ export def FTm()
|
||||
enddef
|
||||
|
||||
export def FTmake()
|
||||
# Check if it is a Microsoft Makefile
|
||||
unlet! b:make_microsoft
|
||||
# Check if it is a BSD, GNU, or Microsoft Makefile
|
||||
unlet! b:make_flavor
|
||||
|
||||
# 1. filename
|
||||
if expand('%:t') == 'BSDmakefile'
|
||||
b:make_flavor = 'bsd'
|
||||
setf make
|
||||
return
|
||||
elseif expand('%:t') == 'GNUmakefile'
|
||||
b:make_flavor = 'gnu'
|
||||
setf make
|
||||
return
|
||||
endif
|
||||
|
||||
# 2. user's setting
|
||||
if exists('g:make_flavor')
|
||||
b:make_flavor = g:make_flavor
|
||||
setf make
|
||||
return
|
||||
elseif get(g:, 'make_microsoft')
|
||||
echom "make_microsoft is deprecated; try g:make_flavor = 'microsoft' instead"
|
||||
b:make_flavor = 'microsoft'
|
||||
setf make
|
||||
return
|
||||
endif
|
||||
|
||||
# 3. try to detect a flavor from file content
|
||||
var n = 1
|
||||
while n < 1000 && n <= line('$')
|
||||
var line = getline(n)
|
||||
if line =~? '^\s*!\s*\(ifn\=\(def\)\=\|include\|message\|error\)\>'
|
||||
b:make_microsoft = 1
|
||||
b:make_flavor = 'microsoft'
|
||||
break
|
||||
elseif line =~ '^ *ifn\=\(eq\|def\)\>' || line =~ '^ *[-s]\=include\s'
|
||||
elseif line =~ '^\.\%(export\|error\|for\|if\%(n\=\%(def\|make\)\)\=\|info\|warning\)\>'
|
||||
b:make_flavor = 'bsd'
|
||||
break
|
||||
elseif line =~ '^ *\w\+\s*[!?:+]='
|
||||
elseif line =~ '^ *\%(ifn\=\%(eq\|def\)\|define\|override\)\>'
|
||||
b:make_flavor = 'gnu'
|
||||
break
|
||||
elseif line =~ '\$[({][a-z-]\+\s\+\S\+' # a function call, e.g. $(shell pwd)
|
||||
b:make_flavor = 'gnu'
|
||||
break
|
||||
endif
|
||||
n += 1
|
||||
@@ -595,11 +625,15 @@ enddef
|
||||
# This function checks if one of the first five lines start with a dot. In
|
||||
# that case it is probably an nroff file: 'filetype' is set and 1 is returned.
|
||||
export def FTnroff(): number
|
||||
if getline(1)[0] .. getline(2)[0] .. getline(3)[0]
|
||||
.. getline(4)[0] .. getline(5)[0] =~ '\.'
|
||||
setf nroff
|
||||
return 1
|
||||
endif
|
||||
var n = 1
|
||||
while n < 5
|
||||
var line = getline(n)
|
||||
if line =~ '^\.\S\S\?'
|
||||
setf nroff
|
||||
return 1
|
||||
endif
|
||||
n += 1
|
||||
endwhile
|
||||
return 0
|
||||
enddef
|
||||
|
||||
@@ -875,16 +909,16 @@ export def SetFileTypeSH(name: string, setft = true): string
|
||||
if setft && expand("<amatch>") =~ g:ft_ignore_pat
|
||||
return ''
|
||||
endif
|
||||
if name =~ '\<csh\>'
|
||||
if name =~ '^csh$' || name =~ '^#!.\{-2,}\<csh\>'
|
||||
# Some .sh scripts contain #!/bin/csh.
|
||||
return SetFileTypeShell("csh", setft)
|
||||
elseif name =~ '\<tcsh\>'
|
||||
elseif name =~ '^tcsh$' || name =~ '^#!.\{-2,}\<tcsh\>'
|
||||
# Some .sh scripts contain #!/bin/tcsh.
|
||||
return SetFileTypeShell("tcsh", setft)
|
||||
elseif name =~ '\<zsh\>'
|
||||
elseif name =~ '^zsh$' || name =~ '^#!.\{-2,}\<zsh\>'
|
||||
# Some .sh scripts contain #!/bin/zsh.
|
||||
return SetFileTypeShell("zsh", setft)
|
||||
elseif name =~ '\<ksh\>'
|
||||
elseif name =~ '^ksh$' || name =~ '^#!.\{-2,}\<ksh\>'
|
||||
b:is_kornshell = 1
|
||||
if exists("b:is_bash")
|
||||
unlet b:is_bash
|
||||
@@ -892,7 +926,8 @@ export def SetFileTypeSH(name: string, setft = true): string
|
||||
if exists("b:is_sh")
|
||||
unlet b:is_sh
|
||||
endif
|
||||
elseif exists("g:bash_is_sh") || name =~ '\<bash\>' || name =~ '\<bash2\>'
|
||||
elseif exists("g:bash_is_sh") || name =~ '^bash2\=$' ||
|
||||
\ name =~ '^#!.\{-2,}\<bash2\=\>'
|
||||
b:is_bash = 1
|
||||
if exists("b:is_kornshell")
|
||||
unlet b:is_kornshell
|
||||
@@ -900,7 +935,7 @@ export def SetFileTypeSH(name: string, setft = true): string
|
||||
if exists("b:is_sh")
|
||||
unlet b:is_sh
|
||||
endif
|
||||
elseif name =~ '\<sh\>' || name =~ '\<dash\>'
|
||||
elseif name =~ '^\%(da\)\=sh$' || name =~ '^#!.\{-2,}\<\%(da\)\=sh\>'
|
||||
# Ubuntu links "sh" to "dash", thus it is expected to work the same way
|
||||
b:is_sh = 1
|
||||
if exists("b:is_kornshell")
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
" Author: Stephen Sugden <stephen@stephensugden.com>
|
||||
" Last Modified: 2023-09-11
|
||||
" Last Change: 2025 Mar 31 by Vim project (rename s:RustfmtConfigOptions())
|
||||
"
|
||||
" Adapted from https://github.com/fatih/vim-go
|
||||
" For bugs, patches and license go to https://github.com/rust-lang/rust.vim
|
||||
@@ -61,7 +62,7 @@ function! s:RustfmtWriteMode()
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! s:RustfmtConfigOptions()
|
||||
function! rustfmt#RustfmtConfigOptions()
|
||||
let l:rustfmt_toml = findfile('rustfmt.toml', expand('%:p:h') . ';')
|
||||
if l:rustfmt_toml !=# ''
|
||||
return '--config-path '.shellescape(fnamemodify(l:rustfmt_toml, ":p"))
|
||||
@@ -84,7 +85,7 @@ function! s:RustfmtCommandRange(filename, line1, line2)
|
||||
|
||||
let l:arg = {"file": shellescape(a:filename), "range": [a:line1, a:line2]}
|
||||
let l:write_mode = s:RustfmtWriteMode()
|
||||
let l:rustfmt_config = s:RustfmtConfigOptions()
|
||||
let l:rustfmt_config = rustfmt#RustfmtConfigOptions()
|
||||
|
||||
" FIXME: When --file-lines gets to be stable, add version range checking
|
||||
" accordingly.
|
||||
@@ -99,7 +100,7 @@ endfunction
|
||||
|
||||
function! s:RustfmtCommand()
|
||||
let write_mode = g:rustfmt_emit_files ? '--emit=stdout' : '--write-mode=display'
|
||||
let config = s:RustfmtConfigOptions()
|
||||
let config = rustfmt#RustfmtConfigOptions()
|
||||
return join([g:rustfmt_command, write_mode, config, g:rustfmt_options])
|
||||
endfunction
|
||||
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
" 2025 Mar 02 by Vim Project: escape the filename before using :read
|
||||
" 2025 Mar 02 by Vim Project: determine the compression using readblob()
|
||||
" instead of shelling out to file(1)
|
||||
" 2025 Apr 16 by Vim Project: decouple from netrw by adding s:WinPath()
|
||||
"
|
||||
" Contains many ideas from Michael Toren's <tar.vim>
|
||||
"
|
||||
@@ -146,7 +147,7 @@ fun! tar#Browse(tarfile)
|
||||
let lastline= line("$")
|
||||
call setline(lastline+1,'" tar.vim version '.g:loaded_tar)
|
||||
call setline(lastline+2,'" Browsing tarfile '.a:tarfile)
|
||||
call setline(lastline+3,'" Select a file with cursor and press ENTER')
|
||||
call setline(lastline+3,'" Select a file with cursor and press ENTER, "x" to extract a file')
|
||||
keepj $put =''
|
||||
keepj sil! 0d
|
||||
keepj $
|
||||
@@ -615,7 +616,7 @@ fun! tar#Extract()
|
||||
let tarball = expand("%")
|
||||
let tarbase = substitute(tarball,'\..*$','','')
|
||||
|
||||
let extractcmd= netrw#WinPath(g:tar_extractcmd)
|
||||
let extractcmd= s:WinPath(g:tar_extractcmd)
|
||||
if filereadable(tarbase.".tar")
|
||||
call system(extractcmd." ".shellescape(tarbase).".tar ".shellescape(fname))
|
||||
if v:shell_error != 0
|
||||
@@ -765,6 +766,25 @@ fun! s:Header(fname)
|
||||
return "unknown"
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" s:WinPath: {{{2
|
||||
fun! s:WinPath(path)
|
||||
if (!g:netrw_cygwin || &shell !~ '\%(\<bash\>\|\<zsh\>\)\%(\.exe\)\=$') && has("win32")
|
||||
" remove cygdrive prefix, if present
|
||||
let path = substitute(a:path, '/cygdrive/\(.\)', '\1:', '')
|
||||
" remove trailing slash (Win95)
|
||||
let path = substitute(path, '\(\\\|/\)$', '', 'g')
|
||||
" remove escaped spaces
|
||||
let path = substitute(path, '\ ', ' ', 'g')
|
||||
" convert slashes to backslashes
|
||||
let path = substitute(path, '/', '\', 'g')
|
||||
else
|
||||
let path = a:path
|
||||
endif
|
||||
|
||||
return path
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" tar#Vimuntar: installs a tarball in the user's .vim / vimfiles directory {{{2
|
||||
fun! tar#Vimuntar(...)
|
||||
@@ -786,7 +806,7 @@ fun! tar#Vimuntar(...)
|
||||
|
||||
if simplify(curdir) != simplify(vimhome)
|
||||
" copy (possibly compressed) tarball to .vim/vimfiles
|
||||
call system(netrw#WinPath(g:tar_copycmd)." ".shellescape(tartail)." ".shellescape(vimhome))
|
||||
call system(s:WinPath(g:tar_copycmd)." ".shellescape(tartail)." ".shellescape(vimhome))
|
||||
exe "cd ".fnameescape(vimhome)
|
||||
endif
|
||||
|
||||
@@ -808,7 +828,7 @@ fun! tar#Vimuntar(...)
|
||||
else
|
||||
call vimball#Decompress(tartail,0)
|
||||
endif
|
||||
let extractcmd= netrw#WinPath(g:tar_extractcmd)
|
||||
let extractcmd= s:WinPath(g:tar_extractcmd)
|
||||
call system(extractcmd." ".shellescape(tarbase.".tar"))
|
||||
|
||||
" set up help
|
||||
|
||||
@@ -107,6 +107,7 @@ if 1
|
||||
\ let line = line("'\"")
|
||||
\ | if line >= 1 && line <= line("$") && &filetype !~# 'commit'
|
||||
\ && index(['xxd', 'gitrebase', 'tutor'], &filetype) == -1
|
||||
\ && !&diff
|
||||
\ | execute "normal! g`\""
|
||||
\ | endif
|
||||
|
||||
|
||||
@@ -142,7 +142,9 @@ os_win32.txt:
|
||||
touch $@
|
||||
|
||||
pi_netrw.txt: ../pack/dist/opt/netrw/doc/netrw.txt
|
||||
cp ../pack/dist/opt/netrw/doc/netrw.txt $@
|
||||
cp ../pack/dist/opt/netrw/doc/netrw.txt $@.tmp
|
||||
sed -e '1s/$$/ *pi_netrw.txt*/' $@.tmp > $@ && \
|
||||
rm -f $@.tmp
|
||||
|
||||
vietnamese.txt:
|
||||
touch $@
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*autocmd.txt* For Vim version 9.1. Last change: 2025 Mar 12
|
||||
*autocmd.txt* For Vim version 9.1. Last change: 2025 Apr 04
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -593,7 +593,8 @@ BufWriteCmd Before writing the whole buffer to a file.
|
||||
The buffer contents should not be changed.
|
||||
When the command resets 'modified' the undo
|
||||
information is adjusted to mark older undo
|
||||
states as 'modified', like |:write| does.
|
||||
states as 'modified', like |:write| does. Use
|
||||
the |'[| and |']| marks for the range of lines.
|
||||
|Cmd-event|
|
||||
*BufWritePost*
|
||||
BufWritePost After writing the whole buffer to a file
|
||||
@@ -886,14 +887,14 @@ FileType When the 'filetype' option has been set. The
|
||||
FileWriteCmd Before writing to a file, when not writing the
|
||||
whole buffer. Should do the writing to the
|
||||
file. Should not change the buffer. Use the
|
||||
'[ and '] marks for the range of lines.
|
||||
|'[| and |']| marks for the range of lines.
|
||||
|Cmd-event|
|
||||
*FileWritePost*
|
||||
FileWritePost After writing to a file, when not writing the
|
||||
whole buffer.
|
||||
*FileWritePre*
|
||||
FileWritePre Before writing to a file, when not writing the
|
||||
whole buffer. Use the '[ and '] marks for the
|
||||
whole buffer. Use the |'[| and |']| marks for the
|
||||
range of lines.
|
||||
*FilterReadPost*
|
||||
FilterReadPost After reading a file from a filter command.
|
||||
@@ -1480,6 +1481,13 @@ WinScrolled After any window in the current tab page
|
||||
or changed width or height. See
|
||||
|win-scrolled-resized|.
|
||||
|
||||
Note: This can not be skipped with
|
||||
`:noautocmd`, because it triggers after
|
||||
processing normal commands when Vim is back in
|
||||
the main loop. If you want to disable this,
|
||||
consider setting the 'eventignore' option
|
||||
instead.
|
||||
|
||||
The pattern is matched against the |window-ID|
|
||||
of the first window that scrolled or resized.
|
||||
Both <amatch> and <afile> are set to the
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*builtin.txt* For Vim version 9.1. Last change: 2025 Mar 24
|
||||
*builtin.txt* For Vim version 9.1. Last change: 2025 Mar 30
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -8336,13 +8336,14 @@ py3eval({expr} [, {locals}]) *py3eval()*
|
||||
converted to Vim data structures.
|
||||
If a {locals} |Dictionary| is given, it defines set of local
|
||||
variables available in the expression. The keys are variable
|
||||
names and the values are the variable values. |Dictionary| and
|
||||
|List| values are referenced, and may be updated by the
|
||||
expression (as if |python-bindeval| was used).
|
||||
names and the values are the variable values. |Dictionary|,
|
||||
|List| and |Tuple| values are referenced, and may be updated
|
||||
by the expression (as if |python-bindeval| was used).
|
||||
Numbers and strings are returned as they are (strings are
|
||||
copied though, Unicode strings are additionally converted to
|
||||
'encoding').
|
||||
Lists are represented as Vim |List| type.
|
||||
Tuples are represented as Vim |Tuple| type.
|
||||
Dictionaries are represented as Vim |Dictionary| type with
|
||||
keys converted to strings.
|
||||
Note that in a `:def` function local variables are not visible
|
||||
@@ -8364,6 +8365,7 @@ pyeval({expr} [, {locals}]) *pyeval()*
|
||||
Numbers and strings are returned as they are (strings are
|
||||
copied though).
|
||||
Lists are represented as Vim |List| type.
|
||||
Tuples are represented as Vim |Tuple| type.
|
||||
Dictionaries are represented as Vim |Dictionary| type,
|
||||
non-string keys result in error.
|
||||
Note that in a `:def` function local variables are not visible
|
||||
@@ -11921,7 +11923,7 @@ trunc({expr}) *trunc()*
|
||||
Return type: |Float|
|
||||
|
||||
|
||||
tuple2list({list}) *tuple2list()*
|
||||
tuple2list({tuple}) *tuple2list()*
|
||||
Create a List from a shallow copy of the tuple items.
|
||||
Examples: >
|
||||
tuple2list((1, 2, 3)) returns [1, 2, 3]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*change.txt* For Vim version 9.1. Last change: 2025 Mar 18
|
||||
*change.txt* For Vim version 9.1. Last change: 2025 Apr 03
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -156,8 +156,8 @@ only after a '.').
|
||||
The 'B' and 'M' flags in 'formatoptions' change the behavior for inserting
|
||||
spaces before and after a multibyte character |fo-table|.
|
||||
|
||||
The '[ mark is set at the end of the first line that was joined, '] at the end
|
||||
of the resulting line.
|
||||
The |'[| mark is set at the end of the first line that was joined, |']| at the
|
||||
end of the resulting line.
|
||||
|
||||
|
||||
==============================================================================
|
||||
@@ -1188,8 +1188,8 @@ the ":put" command, Vim always inserts the text in the next line. You can
|
||||
exchange two characters with the command sequence "xp". You can exchange two
|
||||
lines with the command sequence "ddp". You can exchange two words with the
|
||||
command sequence "deep" (start with the cursor in the blank space before the
|
||||
first word). You can use the "']" or "`]" command after the put command to
|
||||
move the cursor to the end of the inserted text, or use "'[" or "`[" to move
|
||||
first word). You can use the |']| or |`]| command after the put command to
|
||||
move the cursor to the end of the inserted text, or use |'[| or |`[| to move
|
||||
the cursor to the start.
|
||||
|
||||
*put-Visual-mode* *v_p* *v_P*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*diff.txt* For Vim version 9.1. Last change: 2024 Feb 01
|
||||
*diff.txt* For Vim version 9.1. Last change: 2025 Mar 28
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -226,14 +226,28 @@ The diffs are highlighted with these groups:
|
||||
|hl-DiffAdd| DiffAdd Added (inserted) lines. These lines exist in
|
||||
this buffer but not in another.
|
||||
|hl-DiffChange| DiffChange Changed lines.
|
||||
|hl-DiffText| DiffText Changed text inside a Changed line. Vim
|
||||
finds the first character that is different,
|
||||
and the last character that is different
|
||||
(searching from the end of the line). The
|
||||
text in between is highlighted. This means
|
||||
that parts in the middle that are still the
|
||||
same are highlighted anyway. The 'diffopt'
|
||||
flags "iwhite" and "icase" are used here.
|
||||
|hl-DiffText| DiffText Changed text inside a Changed line. Exact
|
||||
behavior depends on the `inline:` setting in
|
||||
'diffopt'.
|
||||
With `inline:` set to "simple", Vim finds the
|
||||
first character that is different, and the
|
||||
last character that is different (searching
|
||||
from the end of the line). The text in
|
||||
between is highlighted. This means that parts
|
||||
in the middle that are still the same are
|
||||
highlighted anyway. The 'diffopt' flags
|
||||
"iwhite" and "icase" are used here.
|
||||
With `inline:` set to "char" or "word", Vim
|
||||
uses the internal diff library to perform a
|
||||
detailed diff between the changed blocks and
|
||||
highlight the exact difference between the
|
||||
two. Will respect any 'diffopt' flag that
|
||||
affects internal diff.
|
||||
Not used when `inline:` is set to "none".
|
||||
|hl-DiffTextAdd| DiffTextAdd Added text inside a Changed line. Similar to
|
||||
DiffText, but used when there is no
|
||||
corresponding text in other buffers. Not used
|
||||
when `inline:` is set to "simple" or "none".
|
||||
|hl-DiffDelete| DiffDelete Deleted lines. Also called filler lines,
|
||||
because they don't really exist in this
|
||||
buffer.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*editing.txt* For Vim version 9.1. Last change: 2024 Oct 14
|
||||
*editing.txt* For Vim version 9.1. Last change: 2025 Apr 03
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -974,8 +974,9 @@ Note: When the 'write' option is off, you are not able to write any file.
|
||||
executed like with ":!{cmd}", any '!' is replaced with
|
||||
the previous command |:!|.
|
||||
|
||||
The default [range] for the ":w" command is the whole buffer (1,$). If you
|
||||
write the whole buffer, it is no longer considered changed. When you
|
||||
The default [range] for the ":w" command is the whole buffer (1,$). The |'[|
|
||||
and |']| marks will be set to the [range] being used for the write command.
|
||||
If you write the whole buffer, it is no longer considered changed. When you
|
||||
write it to a different file with ":w somefile" it depends on the "+" flag in
|
||||
'cpoptions'. When included, the write command will reset the 'modified' flag,
|
||||
even though the buffer itself may still be different from its file.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*eval.txt* For Vim version 9.1. Last change: 2025 Mar 23
|
||||
*eval.txt* For Vim version 9.1. Last change: 2025 Apr 02
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -541,7 +541,8 @@ example, to add up all the numbers in a list: >
|
||||
A Tuple is an ordered sequence of items. An item can be of any type. Items
|
||||
can be accessed by their index number. A Tuple is immutable.
|
||||
|
||||
A Tuple uses less memory compared to a List and provides O(1) lookup time.
|
||||
A Tuple is similar to a List but uses less memory and provides O(1) lookup
|
||||
time for an item.
|
||||
|
||||
Tuple creation ~
|
||||
*E1526* *E1527*
|
||||
@@ -579,6 +580,15 @@ is not available it returns zero or the default value you specify: >
|
||||
:echo get(mytuple, idx, "NONE")
|
||||
|
||||
|
||||
Tuple modification ~
|
||||
*tuple-modification*
|
||||
A tuple is immutable and items cannot be added or removed from a tuple. But
|
||||
List and Dict items within a tuple can be modified: >
|
||||
:let tuple = (1, [2, 3], {'a': 4})
|
||||
:let tuple[1][0] = 10
|
||||
:let tuple[2]['a'] = 20
|
||||
|
||||
|
||||
Tuple concatenation ~
|
||||
*tuple-concatenation*
|
||||
Two tuples can be concatenated with the "+" operator: >
|
||||
@@ -5139,7 +5149,7 @@ executable. It takes the following arguments:
|
||||
filetype string
|
||||
executable string
|
||||
|
||||
*dist#vim9#Open()* *:Open*
|
||||
*dist#vim9#Open()* *:Open* *:URLOpen*
|
||||
*g:Openprg* *gx*
|
||||
dist#vim9#Open(file: string) ~
|
||||
|
||||
@@ -5147,6 +5157,8 @@ Opens `path` with the system default handler (macOS `open`, Windows
|
||||
`explorer.exe`, Linux `xdg-open`, …). If the variable |g:Openprg| exists the
|
||||
string specified in the variable is used instead.
|
||||
|
||||
The |:Open| user command uses file completion for its argument.
|
||||
|
||||
This function is by default called using the gx mapping. In visual mode
|
||||
tries to open the visually selected text.
|
||||
|
||||
@@ -5165,13 +5177,18 @@ Usage: >vim
|
||||
:call dist#vim9#Open(<path>)
|
||||
:Open <path>
|
||||
<
|
||||
*package-open*
|
||||
The |:Open| and |:Launch| command are provided by the included plugin
|
||||
$VIMRUNTIME/plugin/openPlugin.vim
|
||||
|
||||
*dist#vim9#Launch()* *:Launch*
|
||||
*dist#vim9#Launch()* *:Launch*
|
||||
dist#vim9#Launch(file: string) ~
|
||||
|
||||
Launches <args> with the appropriate system programs. Intended for launching
|
||||
GUI programs within Vim.
|
||||
|
||||
The |:Launch| user command uses shell completion for its first argument.
|
||||
|
||||
NOTE: escaping of <args> is left to the user
|
||||
|
||||
Examples: >vim
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*filetype.txt* For Vim version 9.1. Last change: 2025 Mar 15
|
||||
*filetype.txt* For Vim version 9.1. Last change: 2025 Apr 16
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -158,6 +158,8 @@ variables can be used to overrule the filetype used for certain extensions:
|
||||
*.inc g:filetype_inc
|
||||
*.lsl g:filetype_lsl
|
||||
*.m g:filetype_m |ft-mathematica-syntax|
|
||||
*[mM]makefile,*.mk,*.mak,[mM]akefile*
|
||||
g:make_flavor |ft-make-syntax|
|
||||
*.markdown,*.mdown,*.mkd,*.mkdn,*.mdwn,*.md
|
||||
g:filetype_md |ft-pandoc-syntax|
|
||||
*.mod g:filetype_mod
|
||||
@@ -660,6 +662,16 @@ possibilities: >
|
||||
The `:Cycle` command is also mapped to the CTRL-A and CTRL-X keys.
|
||||
For details, see `git-rebase --help`.
|
||||
|
||||
GLEAM *ft-gleam-plugin*
|
||||
|
||||
By default the following options are set for the recommended gleam style: >
|
||||
|
||||
setlocal expandtab shiftwidth=2 softtabstop=2
|
||||
|
||||
To disable this behavior, set the following variable in your vimrc: >
|
||||
|
||||
let g:gleam_recommended_style = 0
|
||||
|
||||
GO *ft-go-plugin*
|
||||
|
||||
By default the following options are set, based on Golang official docs: >
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*helphelp.txt* For Vim version 9.1. Last change: 2025 Jan 11
|
||||
*helphelp.txt* For Vim version 9.1. Last change: 2025 Apr 08
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -471,8 +471,13 @@ highlighting. So do these:
|
||||
You can find the details in $VIMRUNTIME/syntax/help.vim
|
||||
|
||||
|
||||
GENDER NEUTRAL LANGUAGE
|
||||
FILETYPE COMPLETION *ft-help-omni*
|
||||
|
||||
To get completion for help tags when writing a tag reference, you can use the
|
||||
|i_CTRL-X_CTRL-O| command.
|
||||
|
||||
|
||||
GENDER NEUTRAL LANGUAGE
|
||||
*gender-neutral* *inclusion*
|
||||
Vim is for everybody, no matter race, gender or anything. For new or updated
|
||||
help text, gender neutral language is recommended. Some of the help text is
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*if_pyth.txt* For Vim version 9.1. Last change: 2024 Nov 09
|
||||
*if_pyth.txt* For Vim version 9.1. Last change: 2025 Mar 26
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Paul Moore
|
||||
@@ -184,8 +184,9 @@ vim.eval(str) *python-eval*
|
||||
evaluator (see |expression|). Returns the expression result as:
|
||||
- a string if the Vim expression evaluates to a string or number
|
||||
- a list if the Vim expression evaluates to a Vim list
|
||||
- a tuple if the Vim expression evaluates to a Vim tuple
|
||||
- a dictionary if the Vim expression evaluates to a Vim dictionary
|
||||
Dictionaries and lists are recursively expanded.
|
||||
Dictionaries, lists and tuples are recursively expanded.
|
||||
Examples: >
|
||||
:" value of the 'textwidth' option
|
||||
:py text_width = vim.eval("&tw")
|
||||
@@ -196,6 +197,8 @@ vim.eval(str) *python-eval*
|
||||
:" Result is a string! Use string.atoi() to convert to a number.
|
||||
:py str = vim.eval("12+12")
|
||||
:
|
||||
:py tuple = vim.eval('(1, 2, 3)')
|
||||
:
|
||||
:py tagList = vim.eval('taglist("eval_expr")')
|
||||
< The latter will return a python list of python dicts, for instance:
|
||||
[{'cmd': '/^eval_expr(arg, nextcmd)$/', 'static': 0, 'name': ~
|
||||
@@ -207,8 +210,8 @@ vim.eval(str) *python-eval*
|
||||
|
||||
vim.bindeval(str) *python-bindeval*
|
||||
Like |python-eval|, but returns special objects described in
|
||||
|python-bindeval-objects|. These python objects let you modify (|List|
|
||||
or |Dictionary|) or call (|Funcref|) vim objects.
|
||||
|python-bindeval-objects|. These python objects let you modify
|
||||
(|List|, |Tuple| or |Dictionary|) or call (|Funcref|) vim objects.
|
||||
|
||||
vim.strwidth(str) *python-strwidth*
|
||||
Like |strwidth()|: returns number of display cells str occupies, tab
|
||||
@@ -688,6 +691,22 @@ vim.List object *python-List*
|
||||
print isinstance(l, vim.List) # True
|
||||
class List(vim.List): # Subclassing
|
||||
|
||||
vim.Tuple object *python-Tuple*
|
||||
Sequence-like object providing access to vim |Tuple| type.
|
||||
Supports `.locked` attribute, see |python-.locked|. Also supports the
|
||||
following methods:
|
||||
Method Description ~
|
||||
__new__(), __new__(iterable)
|
||||
You can use `vim.Tuple()` to create new vim tuples.
|
||||
Without arguments constructs empty list.
|
||||
Examples: >
|
||||
t = vim.Tuple("abc") # Constructor, result: ('a', 'b', 'c')
|
||||
print t[1:] # slicing
|
||||
print t[0] # getting item
|
||||
for i in t: # iteration
|
||||
print isinstance(t, vim.Tuple) # True
|
||||
class Tuple(vim.Tuple): # Subclassing
|
||||
|
||||
vim.Function object *python-Function*
|
||||
Function-like object, acting like vim |Funcref| object. Accepts special
|
||||
keyword argument `self`, see |Dictionary-function|. You can also use
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*insert.txt* For Vim version 9.1. Last change: 2025 Mar 09
|
||||
*insert.txt* For Vim version 9.1. Last change: 2025 Apr 14
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1167,6 +1167,9 @@ For example, the function can contain this: >
|
||||
let matches = ... list of words ...
|
||||
return {'words': matches, 'refresh': 'always'}
|
||||
<
|
||||
If looking for matches is time-consuming, |complete_check()| may be used to
|
||||
maintain responsiveness.
|
||||
|
||||
*complete-items*
|
||||
Each list item can either be a string or a Dictionary. When it is a string it
|
||||
is used as the completion. When it is a Dictionary it can contain these
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*motion.txt* For Vim version 9.1. Last change: 2024 Dec 17
|
||||
*motion.txt* For Vim version 9.1. Last change: 2025 Apr 03
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -895,12 +895,12 @@ Numbered mark should be stored. See |viminfo-file-marks|.
|
||||
|
||||
|
||||
*'[* *`[*
|
||||
'[ `[ To the first character of the previously changed
|
||||
or yanked text.
|
||||
'[ `[ To the first character of the previously changed,
|
||||
or yanked text. Also set when writing the buffer.
|
||||
|
||||
*']* *`]*
|
||||
'] `] To the last character of the previously changed or
|
||||
yanked text.
|
||||
yanked text. Also set when writing the buffer.
|
||||
|
||||
After executing an operator the Cursor is put at the beginning of the text
|
||||
that was operated upon. After a put command ("p" or "P") the cursor is
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*options.txt* For Vim version 9.1. Last change: 2025 Mar 14
|
||||
*options.txt* For Vim version 9.1. Last change: 2025 Apr 15
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -212,7 +212,7 @@ A few examples: >
|
||||
:set makeprg=make,file results in "make,file"
|
||||
:set makeprg=make\\,file results in "make\,file"
|
||||
:set tags=tags,file results in "tags" and "file"
|
||||
:set tags=tags\\,file results in "tags,file"
|
||||
:set tags=tags\\,file results in "tags\,file"
|
||||
:let &tags='tags\,file' (same as above)
|
||||
|
||||
The "|" character separates a ":set" command from a following command. To
|
||||
@@ -1717,6 +1717,19 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
This option cannot be set from a |modeline| or in the |sandbox|, for
|
||||
security reasons.
|
||||
|
||||
*'chistory'* *'chi'*
|
||||
'chistory' 'chi' number (default: 10)
|
||||
global
|
||||
{only available when compiled with the |+quickfix|
|
||||
feature}
|
||||
Number of quickfix lists that should be remembered for the quickfix
|
||||
stack. Must be between 1 and 100. If the option is set to a value
|
||||
that is lower than the amount of entries in the quickfix list stack,
|
||||
entries will be removed starting from the oldest one. If the current
|
||||
quickfix list was removed, then the quickfix list at top of the stack
|
||||
(the most recently created) will be used in its place. For additional
|
||||
info, see |quickfix-stack|.
|
||||
|
||||
*'cindent'* *'cin'* *'nocindent'* *'nocin'*
|
||||
'cindent' 'cin' boolean (default off)
|
||||
local to buffer
|
||||
@@ -2072,6 +2085,28 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
|i_CTRL-X_CTRL-D|
|
||||
] tag completion
|
||||
t same as "]"
|
||||
f{func} call the function {func}. Multiple "f" flags may be specified.
|
||||
Refer to |complete-functions| for details on how the function
|
||||
is invoked and what it should return. The value can be the
|
||||
name of a function or a |Funcref|. For |Funcref| values,
|
||||
spaces must be escaped with a backslash ('\'), and commas with
|
||||
double backslashes ('\\') (see |option-backslash|).
|
||||
If the Dict returned by the {func} includes {"refresh": "always"},
|
||||
the function will be invoked again whenever the leading text
|
||||
changes.
|
||||
Completion matches are always inserted at the keyword
|
||||
boundary, regardless of the column returned by {func} when
|
||||
a:findstart is 1. This ensures compatibility with other
|
||||
completion sources.
|
||||
To make further modifications to the inserted text, {func}
|
||||
can make use of |CompleteDonePre|.
|
||||
If generating matches is potentially slow, |complete_check()|
|
||||
should be used to avoid blocking and preserve editor
|
||||
responsiveness.
|
||||
f equivalent to using "f{func}", where the function is taken from
|
||||
the 'completefunc' option.
|
||||
o equivalent to using "f{func}", where the function is taken from
|
||||
the 'omnifunc' option.
|
||||
|
||||
Unloaded buffers are not loaded, thus their autocmds |:autocmd| are
|
||||
not executed, this may lead to unexpected completions from some files
|
||||
@@ -2166,6 +2201,10 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
Useful when there is additional information about the
|
||||
match, e.g., what file it comes from.
|
||||
|
||||
nearest Matches are presented in order of proximity to the cursor
|
||||
position. This applies only to matches from the current
|
||||
buffer. No effect if "fuzzy" is present.
|
||||
|
||||
noinsert Do not insert any text for a match until the user selects
|
||||
a match from the menu. Only works in combination with
|
||||
"menu" or "menuone". No effect if "longest" is present.
|
||||
@@ -2655,7 +2694,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
*E1193* *E1194* *E1195* *E1196* *E1230*
|
||||
*E1197* *E1198* *E1199* *E1200* *E1201*
|
||||
xchacha20 XChaCha20 Cipher with Poly1305 Message Authentication
|
||||
Code. Medium strong till strong encryption.
|
||||
Code. Medium strong to strong encryption.
|
||||
Encryption is provided by the libsodium library, it
|
||||
requires Vim to be built with |+sodium|.
|
||||
It adds a seed and a message authentication code (MAC)
|
||||
@@ -2910,7 +2949,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
security reasons.
|
||||
|
||||
*'dip'* *'diffopt'*
|
||||
'diffopt' 'dip' string (default "internal,filler,closeoff")
|
||||
'diffopt' 'dip' string (default
|
||||
"internal,filler,closeoff,inline:simple")
|
||||
global
|
||||
{not available when compiled without the |+diff|
|
||||
feature}
|
||||
@@ -2975,6 +3015,24 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
Use the indent heuristic for the internal
|
||||
diff library.
|
||||
|
||||
inline:{text} Highlight inline differences within a change.
|
||||
See |view-diffs|. Supported values are:
|
||||
|
||||
none Do not perform inline highlighting.
|
||||
simple Highlight from first different
|
||||
character to the last one in each
|
||||
line. This is the default if no
|
||||
`inline:` value is set.
|
||||
char Use internal diff to perform a
|
||||
character-wise diff and highlight the
|
||||
difference.
|
||||
word Use internal diff to perform a
|
||||
|word|-wise diff and highlight the
|
||||
difference. Non-alphanumeric
|
||||
multi-byte characters such as emoji
|
||||
and CJK characters are considered
|
||||
individual words.
|
||||
|
||||
internal Use the internal diff library. This is
|
||||
ignored when 'diffexpr' is set. *E960*
|
||||
When running out of memory when writing a
|
||||
@@ -3571,8 +3629,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
*'fillchars'* *'fcs'*
|
||||
'fillchars' 'fcs' string (default "vert:|,fold:-,eob:~,lastline:@")
|
||||
global or local to window |global-local|
|
||||
Characters to fill the statuslines, vertical separators and special
|
||||
lines in the window.
|
||||
Characters to fill the statuslines, vertical separators, special
|
||||
lines in the window and truncated text in the |ins-completion-menu|.
|
||||
It is a comma-separated list of items. Each item has a name, a colon
|
||||
and the value of that item: |E1511|
|
||||
|
||||
@@ -3587,6 +3645,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
diff '-' deleted lines of the 'diff' option
|
||||
eob '~' empty lines below the end of a buffer
|
||||
lastline '@' 'display' contains lastline/truncate
|
||||
trunc '>' truncated text in the
|
||||
|ins-completion-menu|.
|
||||
truncrl '<' same as "trunc' in 'rightleft' mode
|
||||
|
||||
Any one that is omitted will fall back to the default.
|
||||
|
||||
@@ -3603,9 +3664,15 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
stlnc StatusLineNC |hl-StatusLineNC|
|
||||
vert VertSplit |hl-VertSplit|
|
||||
fold Folded |hl-Folded|
|
||||
foldopen FoldColumn |hl-FoldColumn|
|
||||
foldclose FoldColumn |hl-FoldColumn|
|
||||
foldsep FoldColumn |hl-FoldColumn|
|
||||
diff DiffDelete |hl-DiffDelete|
|
||||
eob EndOfBuffer |hl-EndOfBuffer|
|
||||
lastline NonText |hl-NonText|
|
||||
trunc one of the many Popup menu highlighting groups like
|
||||
|hl-PmenuSel|
|
||||
truncrl same as "trunc"
|
||||
|
||||
*'findfunc'* *'ffu'* *E1514*
|
||||
'findfunc' 'ffu' string (default empty)
|
||||
@@ -4392,10 +4459,10 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
v:Visual,V:VisualNOS,w:WarningMsg,
|
||||
W:WildMenu,f:Folded,F:FoldColumn,
|
||||
A:DiffAdd,C:DiffChange,D:DiffDelete,
|
||||
T:DiffText,>:SignColumn,-:Conceal,
|
||||
B:SpellBad,P:SpellCap,R:SpellRare,
|
||||
L:SpellLocal,+:Pmenu,=:PmenuSel,
|
||||
k:PmenuMatch,<:PmenuMatchSel,
|
||||
T:DiffText,E:DiffTextAdd,>:SignColumn,
|
||||
-:Conceal,B:SpellBad,P:SpellCap,
|
||||
R:SpellRare, L:SpellLocal,+:Pmenu,
|
||||
=:PmenuSel, k:PmenuMatch,<:PmenuMatchSel,
|
||||
[:PmenuKind,]:PmenuKindSel,
|
||||
{:PmenuExtra,}:PmenuExtraSel,
|
||||
x:PmenuSbar,X:PmenuThumb,*:TabLine,
|
||||
@@ -4447,7 +4514,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
|hl-DiffAdd| A added line in diff mode
|
||||
|hl-DiffChange| C changed line in diff mode
|
||||
|hl-DiffDelete| D deleted line in diff mode
|
||||
|hl-DiffText| T inserted text in diff mode
|
||||
|hl-DiffText| T changed text in diff mode
|
||||
|hl-DiffTextAdd| E inserted text in diff mode
|
||||
|hl-SignColumn| > column used for |signs|
|
||||
|hl-Conceal| - the placeholders used for concealed characters
|
||||
(see 'conceallevel')
|
||||
@@ -5296,6 +5364,18 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
temporarily when performing an operation where redrawing may cause
|
||||
flickering or cause a slowdown.
|
||||
|
||||
*'lhistory'* *'lhi'*
|
||||
'lhistory' 'lhi' number (default: 10)
|
||||
local to window
|
||||
{only available when compiled with the |+quickfix|
|
||||
feature}
|
||||
Like 'chistory', but for the location list stack associated with a
|
||||
window. If the option is changed in either the location list window
|
||||
itself or the window that is associated with the location list stack,
|
||||
the new value will also be applied to the other one. This means this
|
||||
value will always be the same for a given location list window and its
|
||||
corresponding window. See |quickfix-stack| for additional info.
|
||||
|
||||
*'linebreak'* *'lbr'* *'nolinebreak'* *'nolbr'*
|
||||
'linebreak' 'lbr' boolean (default off)
|
||||
local to window
|
||||
@@ -6459,6 +6539,17 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
global
|
||||
Determines the maximum number of items to show in the popup menu for
|
||||
Insert mode completion. When zero as much space as available is used.
|
||||
|ins-completion-menu|.
|
||||
|
||||
*'pummaxwidth'* *'pmw'*
|
||||
'pummaxwidth' 'pmw' number (default 0)
|
||||
global
|
||||
Determines the maximum width to use for the popup menu for completion.
|
||||
When zero, there is no maximum width limit, otherwise the popup menu
|
||||
will never be wider than this value. Truncated text will be indicated
|
||||
by "trunc" value of 'fillchars' option.
|
||||
|
||||
This option takes precedence over 'pumwidth'.
|
||||
|ins-completion-menu|.
|
||||
|
||||
*'pumwidth'* *'pw'*
|
||||
@@ -9575,55 +9666,65 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
*'wildmode'* *'wim'*
|
||||
'wildmode' 'wim' string (Vim default: "full")
|
||||
global
|
||||
Completion mode that is used for the character specified with
|
||||
'wildchar'. It is a comma-separated list of up to four parts. Each
|
||||
part specifies what to do for each consecutive use of 'wildchar'. The
|
||||
first part specifies the behavior for the first use of 'wildchar',
|
||||
The second part for the second use, etc.
|
||||
Completion mode used for the character specified with 'wildchar'.
|
||||
This option is a comma-separated list of up to four parts,
|
||||
corresponding to the first, second, third, and fourth presses of
|
||||
'wildchar'. Each part is a colon-separated list of completion
|
||||
behaviors, which are applied simultaneously during that phase.
|
||||
|
||||
Each part consists of a colon separated list consisting of the
|
||||
following possible values:
|
||||
"" Complete only the first match.
|
||||
"full" Complete the next full match. After the last match,
|
||||
the original string is used and then the first match
|
||||
again. Will also start 'wildmenu' if it is enabled.
|
||||
"longest" Complete till longest common string. If this doesn't
|
||||
result in a longer string, use the next part.
|
||||
"list" When more than one match, list all matches.
|
||||
"lastused" When completing buffer names and more than one buffer
|
||||
matches, sort buffers by time last used (other than
|
||||
the current buffer).
|
||||
"noselect" Do not pre-select first menu item and start 'wildmenu'
|
||||
if it is enabled.
|
||||
When there is only a single match, it is fully completed in all cases
|
||||
except when "noselect" is present.
|
||||
The possible behavior values are:
|
||||
"" Only complete (insert) the first match. No further
|
||||
matches are cycled or listed.
|
||||
"full" Complete the next full match. Cycles through all
|
||||
matches, returning to the original input after the
|
||||
last match. If 'wildmenu' is enabled, it will be
|
||||
shown.
|
||||
"longest" Complete to the longest common substring. If this
|
||||
doesn't extend the input, the next 'wildmode' part is
|
||||
used.
|
||||
"list" If multiple matches are found, list all of them.
|
||||
"lastused" When completing buffer names, sort them by most
|
||||
recently used (excluding the current buffer). Only
|
||||
applies to buffer name completion.
|
||||
"noselect" If 'wildmenu' is enabled, show the menu but do not
|
||||
preselect the first item.
|
||||
If only one match exists, it is completed fully, unless "noselect" is
|
||||
specified.
|
||||
|
||||
Examples of useful colon-separated values:
|
||||
"longest:full" Like "longest", but also start 'wildmenu' if it is
|
||||
enabled. Will not complete to the next full match.
|
||||
"list:full" When more than one match, list all matches and
|
||||
complete first match.
|
||||
"list:longest" When more than one match, list all matches and
|
||||
complete till longest common string.
|
||||
"list:lastused" When more than one buffer matches, list all matches
|
||||
and sort buffers by time last used (other than the
|
||||
current buffer).
|
||||
Some useful combinations of colon-separated values:
|
||||
"longest:full" Start with the longest common string and show
|
||||
'wildmenu' (if enabled). Does not cycle
|
||||
through full matches.
|
||||
"list:full" List all matches and complete first match.
|
||||
"list:longest" List all matches and complete till the longest
|
||||
common prefix.
|
||||
"list:lastused" List all matches. When completing buffers,
|
||||
sort them by most recently used (excluding the
|
||||
current buffer).
|
||||
"noselect:lastused" Do not preselect the first item in 'wildmenu'
|
||||
if it is active. When completing buffers,
|
||||
sort them by most recently used (excluding the
|
||||
current buffer).
|
||||
|
||||
Examples: >
|
||||
:set wildmode=full
|
||||
< Complete first full match, next match, etc. (the default) >
|
||||
< Complete full match on every press (default behavior) >
|
||||
:set wildmode=longest,full
|
||||
< Complete longest common string, then each full match >
|
||||
< First press: longest common substring
|
||||
Second press: cycle through full matches >
|
||||
:set wildmode=list:full
|
||||
< List all matches and complete each full match >
|
||||
< First press: list all matches and complete the first one >
|
||||
:set wildmode=list,full
|
||||
< List all matches without completing, then each full match >
|
||||
< First press: list matches only
|
||||
Second press: complete full matches >
|
||||
:set wildmode=longest,list
|
||||
< Complete longest common string, then list alternatives >
|
||||
< First press: longest common substring
|
||||
Second press: list all matches >
|
||||
:set wildmode=noselect:full
|
||||
< Display 'wildmenu' without completing, then each full match >
|
||||
< Show 'wildmenu' without completing or selecting on first press
|
||||
Cycle full matches on second press >
|
||||
:set wildmode=noselect:lastused,full
|
||||
< Same as above, but sort buffers by time last used.
|
||||
< Same as above, but buffer matches are sorted by time last used
|
||||
More info here: |cmdline-completion|.
|
||||
|
||||
*'wildoptions'* *'wop'*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*pattern.txt* For Vim version 9.1. Last change: 2025 Mar 21
|
||||
*pattern.txt* For Vim version 9.1. Last change: 2025 Mar 28
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1222,7 +1222,8 @@ x A single character, with no special meaning, matches itself
|
||||
\o40 octal number of character up to 0o377
|
||||
\x20 hexadecimal number of character up to 0xff
|
||||
\u20AC hex. number of multibyte character up to 0xffff
|
||||
\U1234 hex. number of multibyte character up to 0xffffffff
|
||||
\U1234 hex. number of multibyte character up to 8 characters
|
||||
0xffffffff |E1541|
|
||||
NOTE: The other backslash codes mentioned above do not work inside
|
||||
[]!
|
||||
- Matching with a collection can be slow, because each character in
|
||||
@@ -1263,7 +1264,8 @@ x A single character, with no special meaning, matches itself
|
||||
\%u20AC Matches the character specified with up to four hexadecimal
|
||||
characters.
|
||||
\%U1234abcd Matches the character specified with up to eight hexadecimal
|
||||
characters, up to 0x7fffffff
|
||||
characters, up to 0x7fffffff (the maximum allowed value is INT_MAX
|
||||
|E1541|, but the maximum valid Unicode codepoint is U+10FFFF).
|
||||
|
||||
==============================================================================
|
||||
7. Ignoring case in a pattern */ignorecase*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*netrw.txt*
|
||||
*netrw.txt* *pi_netrw.txt*
|
||||
|
||||
------------------------------------------------
|
||||
NETRW REFERENCE MANUAL by Charles E. Campbell
|
||||
@@ -431,17 +431,6 @@ settings are described below, in |netrw-browser-options|, and in
|
||||
*g:netrw_silent* =0 : transfers done normally
|
||||
=1 : transfers done silently
|
||||
|
||||
*g:netrw_use_errorwindow* =2: messages from netrw will use a popup window
|
||||
Move the mouse and pause to remove the popup window.
|
||||
(default value if popup windows are available)
|
||||
=1 : messages from netrw will use a separate one
|
||||
line window. This window provides reliable
|
||||
delivery of messages.
|
||||
(default value if popup windows are not available)
|
||||
=0 : messages from netrw will use echoerr ;
|
||||
messages don't always seem to show up this
|
||||
way, but one doesn't have to quit the window.
|
||||
|
||||
*g:netrw_cygwin* =1 assume scp under windows is from cygwin. Also
|
||||
permits network browsing to use ls with time and
|
||||
size sorting (default if windows)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*pi_tar.txt* For Vim version 9.1. Last change: 2024 May 11
|
||||
*pi_tar.txt* For Vim version 9.1. Last change: 2025 Mar 16
|
||||
|
||||
+====================+
|
||||
| Tar File Interface |
|
||||
@@ -74,6 +74,15 @@ Copyright 2005-2017: *tar-copyright*
|
||||
let g:loaded_tarPlugin= 1
|
||||
let g:loaded_tar = 1
|
||||
<
|
||||
*tar-mappings*
|
||||
MAPPINGS~
|
||||
|
||||
The following (buffer-local) mappings are available in a tar buffer:
|
||||
|
||||
<CR> Open selected file for editing, any changes will be
|
||||
written back to the archive.
|
||||
<LeftMouse> same as <CR>
|
||||
x Extract selected file.
|
||||
|
||||
==============================================================================
|
||||
3. Options *tar-options*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*pi_zip.txt* For Vim version 9.1. Last change: 2023 Nov 05
|
||||
*pi_zip.txt* For Vim version 9.1. Last change: 2025 Apr 02
|
||||
|
||||
+====================+
|
||||
| Zip File Interface |
|
||||
@@ -100,12 +100,14 @@ Copyright: Copyright (C) 2005-2015 Charles E Campbell *zip-copyright*
|
||||
should be treated as zip files.
|
||||
|
||||
Alternatively, one may change *g:zipPlugin_ext* in one's .vimrc.
|
||||
Currently (11/30/15) it holds: >
|
||||
Currently (as of April 2025) it holds: >
|
||||
|
||||
let g:zipPlugin_ext= '*.zip,*.jar,*.xpi,*.ja,*.war,*.ear,*.celzip,
|
||||
\ *.oxt,*.kmz,*.wsz,*.xap,*.docx,*.docm,*.dotx,*.dotm,*.potx,*.potm,
|
||||
\ *.ppsx,*.ppsm,*.pptx,*.pptm,*.ppam,*.sldx,*.thmx,*.xlam,*.xlsx,*.xlsm,
|
||||
\ *.xlsb,*.xltx,*.xltm,*.xlam,*.crtx,*.vdw,*.glox,*.gcsx,*.gqsx,*.epub'
|
||||
let g:zipPlugin_ext='*.aar,*.apk,*.celzip,*.crtx,*.docm,*.docx,
|
||||
\ *.dotm,*.dotx,*.ear,*.epub,*.gcsx,*.glox,*.gqsx,*.ja,*.jar,*.kmz,
|
||||
\ *.odb,*.odc,*.odf,*.odg,*.odi,*.odm,*.odp,*.ods,*.odt,*.otc,*.otf,
|
||||
\ *.otg,*.oth,*.oti,*.otp,*.ots,*.ott,*.oxt,*.potm,*.potx,*.ppam,
|
||||
\ *.ppsm,*.ppsx,*.pptm,*.pptx,*.sldx,*.thmx,*.vdw,*.war,*.whl,*.wsz,
|
||||
\ *.xap,*.xlam,*.xlsb,*.xlsm,*.xlsx,*.xltm,*.xltx,*.xpi,*.zip'
|
||||
|
||||
==============================================================================
|
||||
4. History *zip-history* {{{1
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*quickfix.txt* For Vim version 9.1. Last change: 2025 Mar 11
|
||||
*quickfix.txt* For Vim version 9.1. Last change: 2025 Apr 06
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -43,12 +43,12 @@ From inside Vim an easy way to run a command and handle the output is with the
|
||||
The 'errorformat' option should be set to match the error messages from your
|
||||
compiler (see |errorformat| below).
|
||||
|
||||
*quickfix-ID*
|
||||
*quickfix-stack* *quickfix-ID*
|
||||
Each quickfix list has a unique identifier called the quickfix ID and this
|
||||
number will not change within a Vim session. The |getqflist()| function can be
|
||||
used to get the identifier assigned to a list. There is also a quickfix list
|
||||
number which may change whenever more than ten lists are added to a quickfix
|
||||
stack.
|
||||
number which may change whenever more than 'chistory' lists are added to a
|
||||
quickfix stack.
|
||||
|
||||
*location-list* *E776*
|
||||
A location list is a window-local quickfix list. You get one after commands
|
||||
@@ -860,10 +860,12 @@ using these functions are below:
|
||||
=============================================================================
|
||||
3. Using more than one list of errors *quickfix-error-lists*
|
||||
|
||||
So far has been assumed that there is only one list of errors. Actually the
|
||||
ten last used lists are remembered. When starting a new list, the previous
|
||||
ones are automatically kept. Two commands can be used to access older error
|
||||
lists. They set one of the existing error lists as the current one.
|
||||
So far it has been assumed that there is only one list of errors. Actually
|
||||
there can be multiple used lists that are remembered; see 'chistory' and
|
||||
'lhistory'.
|
||||
When starting a new list, the previous ones are automatically kept. Two
|
||||
commands can be used to access older error lists. They set one of the
|
||||
existing error lists as the current one.
|
||||
|
||||
*:colder* *:col* *E380*
|
||||
:col[der] [count] Go to older error list. When [count] is given, do
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*quickref.txt* For Vim version 9.1. Last change: 2025 Feb 08
|
||||
*quickref.txt* For Vim version 9.1. Last change: 2025 Apr 06
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -639,6 +639,7 @@ Short explanation of each option: *option-list*
|
||||
'cdpath' 'cd' list of directories searched with ":cd"
|
||||
'cedit' key used to open the command-line window
|
||||
'charconvert' 'ccv' expression for character encoding conversion
|
||||
'chistory' 'chi' maximum number of quickfix lists in history
|
||||
'cindent' 'cin' do C program indenting
|
||||
'cinkeys' 'cink' keys that trigger indent when 'cindent' is set
|
||||
'cinoptions' 'cino' how to do indenting when 'cindent' is set
|
||||
@@ -786,6 +787,7 @@ Short explanation of each option: *option-list*
|
||||
'langremap' 'lrm' do apply 'langmap' to mapped characters
|
||||
'laststatus' 'ls' tells when last window has status lines
|
||||
'lazyredraw' 'lz' don't redraw while executing macros
|
||||
'lhistory' 'lhi' maximum number of location lists in history
|
||||
'linebreak' 'lbr' wrap long lines at a blank
|
||||
'lines' number of lines in the display
|
||||
'linespace' 'lsp' number of pixel lines to use between characters
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*syntax.txt* For Vim version 9.1. Last change: 2025 Mar 21
|
||||
*syntax.txt* For Vim version 9.1. Last change: 2025 Apr 15
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -2202,12 +2202,12 @@ cycles for such a feature to become either integrated into the platform or
|
||||
withdrawn from this effort. To cater for early adopters, there is optional
|
||||
support in Vim for syntax related preview features that are implemented. You
|
||||
can request it by specifying a list of preview feature numbers as follows: >
|
||||
:let g:java_syntax_previews = [455, 476]
|
||||
:let g:java_syntax_previews = [488, 494]
|
||||
|
||||
The supported JEP numbers are to be drawn from this table:
|
||||
`430`: String Templates [JDK 21]
|
||||
`455`: Primitive types in Patterns, instanceof, and switch
|
||||
`476`: Module Import Declarations
|
||||
`488`: Primitive types in Patterns, instanceof, and switch
|
||||
`494`: Module Import Declarations
|
||||
|
||||
Note that as soon as the particular preview feature will have been integrated
|
||||
into the Java platform, its entry will be removed from the table and related
|
||||
@@ -2393,11 +2393,16 @@ Comments are also highlighted by default. You can turn this off by using: >
|
||||
|
||||
:let make_no_comments = 1
|
||||
|
||||
Microsoft Makefile handles variable expansion and comments differently
|
||||
(backslashes are not used for escape). If you see any wrong highlights
|
||||
because of this, you can try this: >
|
||||
There are various Make implementations, which add extensions other than the
|
||||
POSIX specification and thus are mutually incompatible. If the filename is
|
||||
BSDmakefile or GNUmakefile, the corresponding implementation is automatically
|
||||
determined; otherwise vim tries to detect it by the file contents. If you see
|
||||
any wrong highlights because of this, you can enforce a flavor by setting one
|
||||
of the following: >
|
||||
|
||||
:let make_microsoft = 1
|
||||
:let g:make_flavor = 'bsd' " or
|
||||
:let g:make_flavor = 'gnu' " or
|
||||
:let g:make_flavor = 'microsoft'
|
||||
|
||||
|
||||
MAPLE *maple.vim* *ft-maple-syntax*
|
||||
@@ -2451,6 +2456,12 @@ have the following in your .vimrc: >
|
||||
|
||||
let filetype_m = "mma"
|
||||
|
||||
MBSYNC *mbsync.vim* *ft-mbsync-syntax*
|
||||
|
||||
The mbsync application uses a configuration file to setup mailboxes names,
|
||||
user and password. All files ending with `.mbsyncrc` or with the name
|
||||
`isyncrc` will be recognized as mbsync configuration files.
|
||||
|
||||
MEDIAWIKI *ft-mediawiki-syntax*
|
||||
|
||||
By default, syntax highlighting includes basic HTML tags like style and
|
||||
@@ -5832,6 +5843,9 @@ DiffChange Diff mode: Changed line. |diff.txt|
|
||||
DiffDelete Diff mode: Deleted line. |diff.txt|
|
||||
*hl-DiffText*
|
||||
DiffText Diff mode: Changed text within a changed line. |diff.txt|
|
||||
*hl-DiffTextAdd*
|
||||
DiffTextAdd Diff mode: Added text within a changed line. Linked to
|
||||
|hl-DiffText| by default. |diff.txt|
|
||||
*hl-EndOfBuffer*
|
||||
EndOfBuffer Filler lines (~) after the last line in the buffer.
|
||||
By default, this is highlighted like |hl-NonText|.
|
||||
|
||||
@@ -134,6 +134,8 @@ $quote eval.txt /*$quote*
|
||||
'ch' options.txt /*'ch'*
|
||||
'character' intro.txt /*'character'*
|
||||
'charconvert' options.txt /*'charconvert'*
|
||||
'chi' options.txt /*'chi'*
|
||||
'chistory' options.txt /*'chistory'*
|
||||
'ci' options.txt /*'ci'*
|
||||
'cia' options.txt /*'cia'*
|
||||
'cin' options.txt /*'cin'*
|
||||
@@ -463,6 +465,8 @@ $quote eval.txt /*$quote*
|
||||
'lazyredraw' options.txt /*'lazyredraw'*
|
||||
'lbr' options.txt /*'lbr'*
|
||||
'lcs' options.txt /*'lcs'*
|
||||
'lhi' options.txt /*'lhi'*
|
||||
'lhistory' options.txt /*'lhistory'*
|
||||
'linebreak' options.txt /*'linebreak'*
|
||||
'lines' options.txt /*'lines'*
|
||||
'linespace' options.txt /*'linespace'*
|
||||
@@ -843,6 +847,7 @@ $quote eval.txt /*$quote*
|
||||
'pm' options.txt /*'pm'*
|
||||
'pmbcs' options.txt /*'pmbcs'*
|
||||
'pmbfn' options.txt /*'pmbfn'*
|
||||
'pmw' options.txt /*'pmw'*
|
||||
'popt' options.txt /*'popt'*
|
||||
'pp' options.txt /*'pp'*
|
||||
'preserveindent' options.txt /*'preserveindent'*
|
||||
@@ -860,6 +865,7 @@ $quote eval.txt /*$quote*
|
||||
'prompt' options.txt /*'prompt'*
|
||||
'pt' options.txt /*'pt'*
|
||||
'pumheight' options.txt /*'pumheight'*
|
||||
'pummaxwidth' options.txt /*'pummaxwidth'*
|
||||
'pumwidth' options.txt /*'pumwidth'*
|
||||
'pvh' options.txt /*'pvh'*
|
||||
'pvp' options.txt /*'pvp'*
|
||||
@@ -2186,6 +2192,7 @@ $quote eval.txt /*$quote*
|
||||
:TermdebugCommand terminal.txt /*:TermdebugCommand*
|
||||
:Texplore pi_netrw.txt /*:Texplore*
|
||||
:Tutor pi_tutor.txt /*:Tutor*
|
||||
:URLOpen eval.txt /*:URLOpen*
|
||||
:Until terminal.txt /*:Until*
|
||||
:Up terminal.txt /*:Up*
|
||||
:UseVimball pi_vimball.txt /*:UseVimball*
|
||||
@@ -4619,6 +4626,7 @@ E1538 eval.txt /*E1538*
|
||||
E1539 vim9.txt /*E1539*
|
||||
E154 helphelp.txt /*E154*
|
||||
E1540 eval.txt /*E1540*
|
||||
E1541 vi_diff.txt /*E1541*
|
||||
E155 sign.txt /*E155*
|
||||
E156 sign.txt /*E156*
|
||||
E157 sign.txt /*E157*
|
||||
@@ -7380,12 +7388,14 @@ ft-fvwm-syntax syntax.txt /*ft-fvwm-syntax*
|
||||
ft-gdscript-plugin filetype.txt /*ft-gdscript-plugin*
|
||||
ft-gitcommit-plugin filetype.txt /*ft-gitcommit-plugin*
|
||||
ft-gitrebase-plugin filetype.txt /*ft-gitrebase-plugin*
|
||||
ft-gleam-plugin filetype.txt /*ft-gleam-plugin*
|
||||
ft-go-plugin filetype.txt /*ft-go-plugin*
|
||||
ft-gprof-plugin filetype.txt /*ft-gprof-plugin*
|
||||
ft-groff-syntax syntax.txt /*ft-groff-syntax*
|
||||
ft-gsp-syntax syntax.txt /*ft-gsp-syntax*
|
||||
ft-hare filetype.txt /*ft-hare*
|
||||
ft-haskell-syntax syntax.txt /*ft-haskell-syntax*
|
||||
ft-help-omni helphelp.txt /*ft-help-omni*
|
||||
ft-html-indent indent.txt /*ft-html-indent*
|
||||
ft-html-omni insert.txt /*ft-html-omni*
|
||||
ft-html-syntax syntax.txt /*ft-html-syntax*
|
||||
@@ -7421,6 +7431,7 @@ ft-markdown-syntax syntax.txt /*ft-markdown-syntax*
|
||||
ft-masm-syntax syntax.txt /*ft-masm-syntax*
|
||||
ft-mathematica-syntax syntax.txt /*ft-mathematica-syntax*
|
||||
ft-matlab-indent indent.txt /*ft-matlab-indent*
|
||||
ft-mbsync-syntax syntax.txt /*ft-mbsync-syntax*
|
||||
ft-mediawiki-syntax syntax.txt /*ft-mediawiki-syntax*
|
||||
ft-metafont ft_mp.txt /*ft-metafont*
|
||||
ft-metafont-intro ft_mp.txt /*ft-metafont-intro*
|
||||
@@ -7757,7 +7768,6 @@ g:netrw_sshport pi_netrw.txt /*g:netrw_sshport*
|
||||
g:netrw_timefmt pi_netrw.txt /*g:netrw_timefmt*
|
||||
g:netrw_tmpfile_escape pi_netrw.txt /*g:netrw_tmpfile_escape*
|
||||
g:netrw_uid pi_netrw.txt /*g:netrw_uid*
|
||||
g:netrw_use_errorwindow pi_netrw.txt /*g:netrw_use_errorwindow*
|
||||
g:netrw_use_noswf pi_netrw.txt /*g:netrw_use_noswf*
|
||||
g:netrw_use_nt_rcp pi_netrw.txt /*g:netrw_use_nt_rcp*
|
||||
g:netrw_usetab pi_netrw.txt /*g:netrw_usetab*
|
||||
@@ -8205,6 +8215,7 @@ hl-DiffAdd syntax.txt /*hl-DiffAdd*
|
||||
hl-DiffChange syntax.txt /*hl-DiffChange*
|
||||
hl-DiffDelete syntax.txt /*hl-DiffDelete*
|
||||
hl-DiffText syntax.txt /*hl-DiffText*
|
||||
hl-DiffTextAdd syntax.txt /*hl-DiffTextAdd*
|
||||
hl-Directory syntax.txt /*hl-Directory*
|
||||
hl-EndOfBuffer syntax.txt /*hl-EndOfBuffer*
|
||||
hl-ErrorMsg syntax.txt /*hl-ErrorMsg*
|
||||
@@ -8844,6 +8855,7 @@ matlab-indent indent.txt /*matlab-indent*
|
||||
matlab-indenting indent.txt /*matlab-indenting*
|
||||
max() builtin.txt /*max()*
|
||||
maxcol-variable eval.txt /*maxcol-variable*
|
||||
mbsync.vim syntax.txt /*mbsync.vim*
|
||||
mbyte-IME mbyte.txt /*mbyte-IME*
|
||||
mbyte-XIM mbyte.txt /*mbyte-XIM*
|
||||
mbyte-combining mbyte.txt /*mbyte-combining*
|
||||
@@ -9444,6 +9456,7 @@ package-hlyank usr_05.txt /*package-hlyank*
|
||||
package-justify usr_25.txt /*package-justify*
|
||||
package-matchit usr_05.txt /*package-matchit*
|
||||
package-nohlsearch usr_05.txt /*package-nohlsearch*
|
||||
package-open eval.txt /*package-open*
|
||||
package-termdebug terminal.txt /*package-termdebug*
|
||||
package-translate_example repeat.txt /*package-translate_example*
|
||||
package-translation repeat.txt /*package-translation*
|
||||
@@ -9522,6 +9535,7 @@ phtml.vim syntax.txt /*phtml.vim*
|
||||
pi_getscript.txt pi_getscript.txt /*pi_getscript.txt*
|
||||
pi_gzip.txt pi_gzip.txt /*pi_gzip.txt*
|
||||
pi_logipat.txt pi_logipat.txt /*pi_logipat.txt*
|
||||
pi_netrw.txt pi_netrw.txt /*pi_netrw.txt*
|
||||
pi_paren.txt pi_paren.txt /*pi_paren.txt*
|
||||
pi_spec.txt pi_spec.txt /*pi_spec.txt*
|
||||
pi_tar.txt pi_tar.txt /*pi_tar.txt*
|
||||
@@ -9683,6 +9697,7 @@ python-2-and-3 if_pyth.txt /*python-2-and-3*
|
||||
python-Dictionary if_pyth.txt /*python-Dictionary*
|
||||
python-Function if_pyth.txt /*python-Function*
|
||||
python-List if_pyth.txt /*python-List*
|
||||
python-Tuple if_pyth.txt /*python-Tuple*
|
||||
python-VIM_SPECIAL_PATH if_pyth.txt /*python-VIM_SPECIAL_PATH*
|
||||
python-_get_paths if_pyth.txt /*python-_get_paths*
|
||||
python-bindeval if_pyth.txt /*python-bindeval*
|
||||
@@ -9760,6 +9775,7 @@ quickfix-pandoc quickfix.txt /*quickfix-pandoc*
|
||||
quickfix-parse quickfix.txt /*quickfix-parse*
|
||||
quickfix-perl quickfix.txt /*quickfix-perl*
|
||||
quickfix-size quickfix.txt /*quickfix-size*
|
||||
quickfix-stack quickfix.txt /*quickfix-stack*
|
||||
quickfix-title quickfix.txt /*quickfix-title*
|
||||
quickfix-valid quickfix.txt /*quickfix-valid*
|
||||
quickfix-window quickfix.txt /*quickfix-window*
|
||||
@@ -10666,6 +10682,7 @@ tar-contents pi_tar.txt /*tar-contents*
|
||||
tar-copyright pi_tar.txt /*tar-copyright*
|
||||
tar-history pi_tar.txt /*tar-history*
|
||||
tar-manual pi_tar.txt /*tar-manual*
|
||||
tar-mappings pi_tar.txt /*tar-mappings*
|
||||
tar-options pi_tar.txt /*tar-options*
|
||||
tar-usage pi_tar.txt /*tar-usage*
|
||||
tcl if_tcl.txt /*tcl*
|
||||
@@ -10931,6 +10948,7 @@ tuple-concatenation eval.txt /*tuple-concatenation*
|
||||
tuple-functions usr_41.txt /*tuple-functions*
|
||||
tuple-identity eval.txt /*tuple-identity*
|
||||
tuple-index eval.txt /*tuple-index*
|
||||
tuple-modification eval.txt /*tuple-modification*
|
||||
tuple-type vim9.txt /*tuple-type*
|
||||
tuple2list() builtin.txt /*tuple2list()*
|
||||
tutor usr_01.txt /*tutor*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*testing.txt* For Vim version 9.1. Last change: 2025 Mar 23
|
||||
*testing.txt* For Vim version 9.1. Last change: 2025 Mar 25
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -68,7 +68,7 @@ test_feedinput({string}) *test_feedinput()*
|
||||
|
||||
|
||||
test_garbagecollect_now() *test_garbagecollect_now()*
|
||||
Like garbagecollect(), but executed right away. This must
|
||||
Like |garbagecollect()|, but executed right away. This must
|
||||
only be called directly to avoid any structure to exist
|
||||
internally, and |v:testing| must have been set before calling
|
||||
any function. *E1142*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*todo.txt* For Vim version 9.1. Last change: 2025 Mar 08
|
||||
*todo.txt* For Vim version 9.1. Last change: 2025 Mar 27
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -357,8 +357,6 @@ https://github.com/vim/vim/pull/5566
|
||||
|
||||
PR #11579 to add visualtext(), return Visually selected text.
|
||||
|
||||
PR #12032: Support Python 3 stable ABI.
|
||||
|
||||
PR #11860: Add more info to 'colorcolumn': display a character and highlight
|
||||
for each separate entry. Disadvantage: option value gets very complicated
|
||||
with multiple entries, e.g. every 8 columns.
|
||||
@@ -706,8 +704,6 @@ find them. (Max Kukartsev, #6218)
|
||||
|
||||
Enable 'termbidi' if $VTE_VERSION >= 5703 ?
|
||||
|
||||
Python 3.8 doesn't work. (Antonios Hadjigeorgalis, #5509)
|
||||
|
||||
"--cleanFOO" does not result in an error. (#5537)
|
||||
|
||||
Output from assert_equalfile() doesn't give a hint about what's different.
|
||||
@@ -1490,8 +1486,6 @@ github with a URL like this:
|
||||
https://github.com/vim/vim/compare/v7.4.920%5E...v7.4.920.diff
|
||||
Diff for version.c contains more context, can't skip a patch.
|
||||
|
||||
Python: ":py raw_input('prompt')" doesn't work. (Manu Hack)
|
||||
|
||||
Comparing nested structures with "==" uses a different comparator than when
|
||||
comparing individual items.
|
||||
|
||||
@@ -1514,9 +1508,6 @@ C highlighting: modern C allows: /* comment */ #ifdef
|
||||
and also line continuation after #include.
|
||||
I can't recommend it though.
|
||||
|
||||
Build with Python on Mac does not always use the right library.
|
||||
(Kazunobu Kuriyama, 2015 Mar 28)
|
||||
|
||||
To support Thai (and other languages) word boundaries, include the ICU
|
||||
library: http://userguide.icu-project.org/boundaryanalysis
|
||||
|
||||
@@ -1793,13 +1784,6 @@ Problem with refresh:always in completion. (Tyler Wade, 2013 Mar 17)
|
||||
b:undo_ftplugin cannot call a script-local function. (Boris Danilov, 2013 Jan
|
||||
7)
|
||||
|
||||
Win32: The Python interface only works with one version of Python, selected at
|
||||
compile time. Can this be made to work with version 2.1 and 2.2 dynamically?
|
||||
|
||||
Python: Be able to define a Python function that can be called directly from
|
||||
Vim script. Requires converting the arguments and return value, like with
|
||||
vim.bindeval().
|
||||
|
||||
Patch for :tabcloseleft, after closing a tab go to left tab. (William Bowers,
|
||||
2012 Aug 4)
|
||||
|
||||
@@ -2912,6 +2896,20 @@ Quickfix/Location List:
|
||||
7 Add a command that goes back to the position from before jumping to the
|
||||
first quickfix location.
|
||||
|
||||
|
||||
Python Interface:
|
||||
- Python 3.8 doesn't work. (Antonios Hadjigeorgalis, #5509)
|
||||
- Python: ":py raw_input('prompt')" doesn't work. (Manu Hack)
|
||||
- Build with Python on Mac does not always use the right library.
|
||||
(Kazunobu Kuriyama, 2015 Mar 28)
|
||||
- Win32: The Python interface only works with one version of Python,
|
||||
selected at compile time. Can this be made to work with version 2.1 and
|
||||
2.2 dynamically?
|
||||
- Be able to define a Python function that can be called directly from Vim
|
||||
script. Requires converting the arguments and return value, like with
|
||||
vim.bindeval().
|
||||
|
||||
|
||||
Vi incompatibility:
|
||||
- Try new POSIX tests, made after my comments. (Geoff Clare, 2005 April 7)
|
||||
Version 1.5 is in ~/src/posix/1.5. (Lynne Canal)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*usr_05.txt* For Vim version 9.1. Last change: 2025 Mar 22
|
||||
*usr_05.txt* For Vim version 9.1. Last change: 2025 Apr 10
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@@ -307,23 +307,27 @@ This switches on three very clever mechanisms:
|
||||
filetypes. See |:filetype-indent-on| and 'indentexpr'.
|
||||
|
||||
|
||||
*restore-cursor* *last-position-jump* >
|
||||
*restore-cursor* *last-position-jump* >vim
|
||||
augroup RestoreCursor
|
||||
autocmd!
|
||||
autocmd BufReadPost *
|
||||
\ let line = line("'\"")
|
||||
\ | if line >= 1 && line <= line("$") && &filetype !~# 'commit'
|
||||
\ && index(['xxd', 'gitrebase'], &filetype) == -1
|
||||
\ && !&diff
|
||||
\ | execute "normal! g`\""
|
||||
\ | endif
|
||||
augroup END
|
||||
|
||||
Another autocommand. This time it is used after reading any file. The
|
||||
complicated stuff after it checks if the '" mark is defined, and jumps to it
|
||||
if so. It doesn't do that for a commit or rebase message, which are likely
|
||||
a different one than last time, and when using xxd(1) to filter and edit
|
||||
binary files, which transforms input files back and forth, causing them to
|
||||
have dual nature, so to speak. See also |using-xxd|.
|
||||
if so. It doesn't do that when:
|
||||
- editing a commit or rebase message, which are likely a different one than
|
||||
last time,
|
||||
- using xxd(1) to filter and edit binary files, which transforms input files
|
||||
back and forth, causing them to have dual nature, so to speak (see also
|
||||
|using-xxd|) and
|
||||
- Vim is in diff mode
|
||||
|
||||
The backslash at the start of a line is used to continue the command from the
|
||||
previous line. That avoids a line getting very long. See |line-continuation|.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*usr_41.txt* For Vim version 9.1. Last change: 2025 Mar 23
|
||||
*usr_41.txt* For Vim version 9.1. Last change: 2025 Mar 30
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@@ -862,7 +862,7 @@ Tuple manipulation: *tuple-functions*
|
||||
reverse() reverse the order of items in a Tuple
|
||||
slice() take a slice of a Tuple
|
||||
string() string representation of a Tuple
|
||||
tuple2list() convert a Tuple of items into a list
|
||||
tuple2list() convert a Tuple into a List
|
||||
|
||||
Dictionary manipulation: *dict-functions*
|
||||
get() get an entry without an error for a wrong key
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*version9.txt* For Vim version 9.1. Last change: 2025 Mar 23
|
||||
*version9.txt* For Vim version 9.1. Last change: 2025 Apr 15
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -41553,6 +41553,18 @@ Enum support for Vim9 script |:enum|
|
||||
|
||||
Support for protected _new() method
|
||||
|
||||
Add support for object<{type}> as variable data type |vim9-types|
|
||||
|
||||
Diff mode ~
|
||||
---------
|
||||
Include the "linematch" algorithm for the 'diffopt' setting. This aligns
|
||||
changes between buffers on similar lines improving the diff highlighting in
|
||||
Vim
|
||||
|
||||
Improve the diff highlighting for changes within a line. Configurable using
|
||||
the "inline" sub option value for the 'diffopt' setting, with "inline:simple"
|
||||
being added to the default "diffopt" value (but this does not change how diff
|
||||
mode works).
|
||||
*new-other-9.2*
|
||||
Other new features ~
|
||||
------------------
|
||||
@@ -41570,10 +41582,6 @@ Support highlighting the matched text and the completion kind for insert-mode
|
||||
completion and command-line completion in |ins-completion-menu|, see
|
||||
|complete-items|
|
||||
|
||||
Include the "linematch" algorithm for the 'diffopt' setting. This aligns
|
||||
changes between buffers on similar lines improving the diff highlighting in
|
||||
Vim
|
||||
|
||||
Support for the |Tuple| data type in Vim script and Vim9 script.
|
||||
|
||||
*changed-9.2*
|
||||
@@ -41590,7 +41598,6 @@ Default values: ~
|
||||
- the default value of the 'keyprotocol' option has been updated and support
|
||||
for the ghostty terminal emulator (using kitty protocol) has been added
|
||||
|
||||
|
||||
Completion: ~
|
||||
- allow to complete directories from 'cdpath' for |:cd| and similar commands,
|
||||
add the "cd_in_path" completion type for e.g. |:command-complete| and
|
||||
@@ -41606,10 +41613,15 @@ Completion: ~
|
||||
- New option value for 'completeopt':
|
||||
"nosort" - do not sort completion results
|
||||
"preinsert" - highlight to be inserted values
|
||||
- handle multi-line completion as expected
|
||||
"nearest" - sort completion results by distance to cursor
|
||||
- handle multi-line completion items as expected
|
||||
- improved commandline completion for the |:hi| command
|
||||
- New option value for 'wildmode':
|
||||
"noselect" - do not auto select an entry in the wildmenu
|
||||
- New flags for 'complete':
|
||||
"f{func}" - complete using given function
|
||||
"f" - complete using 'completefunc'
|
||||
"o" - complete using 'omnifunc'
|
||||
|
||||
Options: ~
|
||||
- the default for 'commentstring' contains whitespace padding to have
|
||||
@@ -41622,6 +41634,9 @@ Options: ~
|
||||
- 'rulerformat' now supports the |stl-%!| item
|
||||
- use 'smoothscroll' logic for CTRL-F / CTRL-B for pagewise scrolling
|
||||
and CTRL-D / CTRL-U for half-pagewise scrolling
|
||||
- New option value for 'fillchars':
|
||||
"trunc" - configure truncation indicator, 'pummaxwidth'
|
||||
"truncrl" - like "trunc" but in 'rl' mode, 'pummaxwidth'
|
||||
|
||||
Ex commands: ~
|
||||
- allow to specify a priority when defining a new sign |:sign-define|
|
||||
@@ -41702,7 +41717,8 @@ Autocommands: ~
|
||||
|
||||
Highlighting: ~
|
||||
|
||||
|hl-ComplMatchIns| matched text of the currently inserted completion.
|
||||
|hl-ComplMatchIns| matched text of the currently inserted completion
|
||||
|hl-DiffTextAdd| added text within a changed line
|
||||
|hl-MsgArea| highlighting of the Command-line and messages area
|
||||
|hl-PmenuMatch| Popup menu: highlighting of matched text
|
||||
|hl-PmenuMatchSel| Popup menu: highlighting of matched text in selected
|
||||
@@ -41720,6 +41736,7 @@ Ex-Commands: ~
|
||||
|
||||
Options: ~
|
||||
|
||||
'chistory' Size of the quickfix stack |quickfix-stack|.
|
||||
'completefuzzycollect' Enable fuzzy collection of candiates for (some)
|
||||
|ins-completion| modes
|
||||
'completeitemalign' Order of |complete-items| in Insert mode completion
|
||||
@@ -41727,11 +41744,13 @@ Options: ~
|
||||
'eventignorewin' autocommand events that are ignored in a window
|
||||
'findfunc' Vim function to obtain the results for a |:find|
|
||||
command
|
||||
'lhistory' Size of the location list stack |quickfix-stack|.
|
||||
'messagesopt' configure |:messages| and |hit-enter| prompt
|
||||
'winfixbuf' Keep buffer focused in a window
|
||||
'pummaxwidth' maximum width for the completion popup menu
|
||||
'tabclose' Which tab page to focus after closing a tab page
|
||||
't_xo' Terminal uses XON/XOFF handshaking (e.g. vt420)
|
||||
't_CF' Support for alternate font highlighting terminal code
|
||||
'winfixbuf' Keep buffer focused in a window
|
||||
|
||||
==============================================================================
|
||||
INCOMPATIBLE CHANGES *incompatible-9.2*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*vi_diff.txt* For Vim version 9.1. Last change: 2024 Nov 10
|
||||
*vi_diff.txt* For Vim version 9.1. Last change: 2025 Mar 28
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -91,8 +91,11 @@ Maximum display width Unix and Win32: 1024 characters, otherwise 255
|
||||
Maximum lhs of a mapping 50 characters.
|
||||
Number of different highlighting types: over 30000
|
||||
Range of a Number variable: -2147483648 to 2147483647 (might be more on 64
|
||||
bit systems)
|
||||
bit systems) See also: |v:numbermax|,
|
||||
|v:numbermin| and |v:numbersize|
|
||||
Maximum length of a line in a tags file: 512 bytes.
|
||||
*E1541*
|
||||
Maximum value for |/\U| and |/\%U|: 2147483647 (for 32bit integer).
|
||||
|
||||
Information for undo and text in registers is kept in memory, thus when making
|
||||
(big) changes the amount of (virtual) memory available limits the number of
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*vim9.txt* For Vim version 9.1. Last change: 2025 Mar 23
|
||||
*vim9.txt* For Vim version 9.1. Last change: 2025 Apr 03
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1467,6 +1467,7 @@ The following builtin types are supported:
|
||||
blob
|
||||
list<{type}>
|
||||
dict<{type}>
|
||||
object<{type}>
|
||||
job
|
||||
channel
|
||||
tuple<{type}>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*vim9class.txt* For Vim version 9.1. Last change: 2025 Feb 16
|
||||
*vim9class.txt* For Vim version 9.1. Last change: 2025 Apr 13
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -641,8 +641,8 @@ class, then the type of the variable is set.
|
||||
|
||||
The following reserved keyword names cannot be used as an object or class
|
||||
variable name: "super", "this", "true", "false", "null", "null_blob",
|
||||
"null_dict", "null_function", "null_list", "null_partial", "null_string",
|
||||
"null_channel" and "null_job".
|
||||
"null_channel", "null_class", "null_dict", "null_function", "null_job",
|
||||
"null_list", "null_object", "null_partial" and "null_string".
|
||||
|
||||
Extending a class ~
|
||||
*extends*
|
||||
@@ -1067,6 +1067,22 @@ The above enum definition is equivalent to the following class definition: >
|
||||
public const ordinal: number
|
||||
endclass
|
||||
<
|
||||
A enum can contain object variables and methods just like a regular
|
||||
class: >
|
||||
|
||||
enum Color
|
||||
Cyan([0, 255, 255]),
|
||||
Magenta([255, 0, 255]),
|
||||
Gray([128, 128, 128])
|
||||
|
||||
var rgb_values: list<number>
|
||||
|
||||
def Get_RGB(): list<number>
|
||||
return this.rgb_values
|
||||
enddef
|
||||
endenum
|
||||
echo Color.Magenta.Get_RGB()
|
||||
<
|
||||
==============================================================================
|
||||
|
||||
9. Rationale
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim support file to detect file types
|
||||
"
|
||||
" Maintainer: The Vim Project <https://github.com/vim/vim>
|
||||
" Last Change: 2025 Mar 18
|
||||
" Last Change: 2025 Apr 15
|
||||
" Former Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
|
||||
" Listen very carefully, I will say this only once
|
||||
@@ -53,7 +53,7 @@ endfunc
|
||||
|
||||
" Vim help file, set ft explicitly, because 'modeline' might be off
|
||||
au BufNewFile,BufRead */doc/*.txt
|
||||
\ if getline('$') =~ '\(^\|\s\)vim:.*\<\(ft\|filetype\)=help\>'
|
||||
\ if getline('$') =~ '\%(^\|\s\)vim:\%(.*\%(:\|\s\)\)\?\%(ft\|filetype\)=help\%(:\|\s\|$\)'
|
||||
\| setf help
|
||||
\| endif
|
||||
|
||||
@@ -561,6 +561,9 @@ au BufNewFile,BufRead *.cu,*.cuh setf cuda
|
||||
" Cue
|
||||
au BufNewFile,BufRead *.cue setf cue
|
||||
|
||||
" DAX
|
||||
au BufNewFile,BufRead *.dax setf dax
|
||||
|
||||
" Debian devscripts
|
||||
au BufNewFile,BufRead devscripts.conf,.devscripts setf sh
|
||||
|
||||
@@ -1551,7 +1554,7 @@ au BufNewFile,BufRead *.nb,*.wl setf mma
|
||||
au BufNewFile,BufRead *.mel setf mel
|
||||
|
||||
" mbsync
|
||||
au BufNewFile,BufRead .mbsyncrc setf conf
|
||||
au BufNewFile,BufRead *.mbsyncrc,isyncrc setf mbsync
|
||||
|
||||
" mcmeta
|
||||
au BufNewFile,BufRead *.mcmeta setf json
|
||||
@@ -1723,7 +1726,7 @@ au BufNewFile,BufRead *.me
|
||||
\ setf nroff |
|
||||
\ endif
|
||||
au BufNewFile,BufRead *.tr,*.nr,*.roff,*.tmac,*.mom setf nroff
|
||||
au BufNewFile,BufRead *.[1-9] call dist#ft#FTnroff()
|
||||
au BufNewFile,BufRead *.[0-9],*.[013]p,*.[1-8]x,*.3{am,perl,pm,posix,type},*.[nlop] call dist#ft#FTnroff()
|
||||
|
||||
" Nroff or Objective C++
|
||||
au BufNewFile,BufRead *.mm call dist#ft#FTmm()
|
||||
@@ -1964,6 +1967,9 @@ au BufNewFile,BufRead *.ps1,*.psd1,*.psm1,*.pssc setf ps1
|
||||
au BufNewFile,BufRead *.ps1xml setf ps1xml
|
||||
au BufNewFile,BufRead *.cdxml,*.psc1 setf xml
|
||||
|
||||
" Power Query M
|
||||
au BufNewFile,BufRead *.pq setf pq
|
||||
|
||||
" Printcap and Termcap
|
||||
au BufNewFile,BufRead *printcap
|
||||
\ let b:ptcap_type = "print" | setf ptcap
|
||||
@@ -3180,7 +3186,7 @@ au BufNewFile,BufRead */etc/sensors.d/[^.]* call s:StarSetf('sensors')
|
||||
au BufNewFile,BufRead */etc/logcheck/*.d*/* call s:StarSetf('logcheck')
|
||||
|
||||
" Makefile
|
||||
au BufNewFile,BufRead [mM]akefile* call s:StarSetf('make')
|
||||
au BufNewFile,BufRead [mM]akefile* if expand('<afile>:t') !~ g:ft_ignore_pat | call dist#ft#FTmake() | endif
|
||||
|
||||
" Ruby Makefile
|
||||
au BufNewFile,BufRead [rR]akefile* call s:StarSetf('ruby')
|
||||
|
||||
16
runtime/ftplugin/dax.vim
Normal file
16
runtime/ftplugin/dax.vim
Normal file
@@ -0,0 +1,16 @@
|
||||
" Vim filetype plugin
|
||||
" Language: Data Analysis Expressions (DAX)
|
||||
" Maintainer: Anarion Dunedain <anarion80@gmail.com>
|
||||
" Last Change: 2025 Apr 2
|
||||
|
||||
if exists('b:did_ftplugin')
|
||||
finish
|
||||
endif
|
||||
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,://
|
||||
|
||||
setlocal commentstring=//\ %s
|
||||
|
||||
let b:undo_ftplugin = 'setl com< cms<'
|
||||
@@ -2,9 +2,12 @@
|
||||
" Language: fstab file
|
||||
" Maintainer: Radu Dineiu <radu.dineiu@gmail.com>
|
||||
" URL: https://raw.github.com/rid9/vim-fstab/master/ftplugin/fstab.vim
|
||||
" Last Change: 2021 Jan 02
|
||||
" 2024 May 23 by Riley Bruins <ribru17@gmail.com> ('commentstring')
|
||||
" Version: 1.0
|
||||
" Last Change: 2025 Mar 31
|
||||
" Version: 1.0.1
|
||||
"
|
||||
" Changelog:
|
||||
" - 2024 May 23 by Riley Bruins <ribru17@gmail.com> ('commentstring')
|
||||
" - 2025 Mar 31 added setlocal formatoptions-=t
|
||||
"
|
||||
" Credits:
|
||||
" Subhaditya Nath <sn03.general@gmail.com>
|
||||
@@ -15,6 +18,8 @@ endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
setlocal commentstring=#\ %s
|
||||
let b:undo_ftplugin = "setlocal commentstring<"
|
||||
setlocal formatoptions-=t
|
||||
|
||||
let b:undo_ftplugin = "setlocal commentstring< formatoptions<"
|
||||
|
||||
" vim: ts=8 ft=vim
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: Gleam
|
||||
" Maintainer: Trilowy (https://github.com/trilowy)
|
||||
" Last Change: 2024 Oct 13
|
||||
" Language: Gleam
|
||||
" Maintainer: Kirill Morozov <kirill@robotix.pro>
|
||||
" Previous Maintainer: Trilowy (https://github.com/trilowy)
|
||||
" Last Change: 2025 Apr 16
|
||||
|
||||
if exists('b:did_ftplugin')
|
||||
finish
|
||||
@@ -10,7 +11,15 @@ let b:did_ftplugin = 1
|
||||
|
||||
setlocal comments=://,:///,:////
|
||||
setlocal commentstring=//\ %s
|
||||
setlocal formatprg=gleam\ format\ --stdin
|
||||
|
||||
let b:undo_ftplugin = "setlocal comments< commentstring<"
|
||||
let b:undo_ftplugin = "setlocal com< cms< fp<"
|
||||
|
||||
if get(g:, "gleam_recommended_style", 1)
|
||||
setlocal expandtab
|
||||
setlocal shiftwidth=2
|
||||
setlocal softtabstop=2
|
||||
let b:undo_ftplugin ..= " | setlocal et< sw< sts<"
|
||||
endif
|
||||
|
||||
" vim: sw=2 sts=2 et
|
||||
|
||||
@@ -5,12 +5,16 @@
|
||||
" 2024 Jul 16 by Vim Project (add recommended indent style)
|
||||
" 2025 Mar 07 by Vim Project (add formatprg and keywordprg option #16804)
|
||||
" 2025 Mar 18 by Vim Project (use :term for 'keywordprg' #16911)
|
||||
" 2025 Apr 16 by Vim Project (set 'cpoptions' for line continuation, #17121)
|
||||
|
||||
if exists('b:did_ftplugin')
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
setlocal formatoptions-=t
|
||||
setlocal formatprg=gofmt
|
||||
|
||||
@@ -45,4 +49,7 @@ if !exists('*' .. expand('<SID>') .. 'GoKeywordPrg')
|
||||
endfunc
|
||||
endif
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim: sw=2 sts=2 et
|
||||
|
||||
@@ -2,12 +2,16 @@
|
||||
" Language: HEEx
|
||||
" Maintainer: Mitchell Hanberg <vimNOSPAM@mitchellhanberg.com>
|
||||
" Last Change: 2022 Sep 21
|
||||
" 2025 Apr 16 by Vim Project (set 'cpoptions' for line continuation, #17121)
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
setlocal shiftwidth=2 softtabstop=2 expandtab
|
||||
|
||||
setlocal comments=:<%!--
|
||||
@@ -25,3 +29,6 @@ if exists("loaded_matchit") && !exists("b:match_words")
|
||||
\ '<\@<=\([^/!][^ \t>]*\)[^>]*\%(>\|$\):<\@<=/\1>'
|
||||
let b:undo_ftplugin ..= " | unlet! b:match_ignorecase b:match_words"
|
||||
endif
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: Vim help file
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2018-12-29
|
||||
" Last Change: 2025 Apr 08
|
||||
" 2025 Apr 08 by Vim project (set 'omnifunc' and 'iskeyword', #17073)
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
@@ -11,12 +12,33 @@ let b:did_ftplugin = 1
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
let b:undo_ftplugin = "setl fo< tw< cole< cocu< keywordprg<"
|
||||
let b:undo_ftplugin = "setl isk< fo< tw< cole< cocu< keywordprg< omnifunc<"
|
||||
|
||||
setlocal formatoptions+=tcroql textwidth=78 keywordprg=:help
|
||||
setlocal formatoptions+=tcroql textwidth=78 keywordprg=:help omnifunc=s:HelpComplete
|
||||
let &l:iskeyword='!-~,^*,^|,^",192-255'
|
||||
if has("conceal")
|
||||
setlocal cole=2 cocu=nc
|
||||
endif
|
||||
|
||||
if !exists('*s:HelpComplete')
|
||||
func s:HelpComplete(findstart, base)
|
||||
if a:findstart
|
||||
let colnr = col('.') - 1 " Get the column number before the cursor
|
||||
let line = getline('.')
|
||||
for i in range(colnr - 1, 0, -1)
|
||||
if line[i] ==# '|'
|
||||
return i + 1 " Don't include the `|` in base
|
||||
elseif line[i] ==# "'"
|
||||
return i " Include the `'` in base
|
||||
endif
|
||||
endfor
|
||||
else
|
||||
return taglist('^' .. a:base)
|
||||
\ ->map({_, item -> #{word: item->get('name'), kind: item->get('kind')}})
|
||||
\ ->extend(getcompletion(a:base, 'help'))
|
||||
endif
|
||||
endfunc
|
||||
endif
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
22
runtime/ftplugin/lf.vim
Normal file
22
runtime/ftplugin/lf.vim
Normal file
@@ -0,0 +1,22 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: lf file manager configuration file (lfrc)
|
||||
" Maintainer: Andis Sprinkis <andis@sprinkis.com>
|
||||
" URL: https://github.com/andis-sprinkis/lf-vim
|
||||
" Last Change: 6 Apr 2025
|
||||
|
||||
if exists("b:did_ftplugin") | finish | endif
|
||||
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
let b:undo_ftplugin = "setlocal comments< commentstring< formatoptions<"
|
||||
|
||||
setlocal comments=:#
|
||||
setlocal commentstring=#\ %s
|
||||
|
||||
setlocal formatoptions-=t formatoptions+=rol
|
||||
|
||||
let &cpo = s:cpo
|
||||
unlet s:cpo
|
||||
@@ -2,7 +2,9 @@
|
||||
" Language: LambdaProlog (Teyjus)
|
||||
" Maintainer: Markus Mottl <markus.mottl@gmail.com>
|
||||
" URL: http://www.ocaml.info/vim/ftplugin/lprolog.vim
|
||||
" Last Change: 2023 Aug 28 - added undo_ftplugin (Vim Project)
|
||||
" Last Change: 2025 Apr 16
|
||||
" 2025 Apr 16 - set 'cpoptions' for line continuation
|
||||
" 2023 Aug 28 - added undo_ftplugin (Vim Project)
|
||||
" 2006 Feb 05
|
||||
" 2001 Sep 16 - fixed 'no_mail_maps'-bug (MM)
|
||||
" 2001 Sep 02 - initial release (MM)
|
||||
@@ -12,6 +14,9 @@ if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" Don't do other file type settings for this buffer
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
@@ -43,3 +48,6 @@ if !exists("no_plugin_maps") && !exists("no_lprolog_maps")
|
||||
vnoremap <buffer> <Plug>BUncomOn <ESC>:'<,'><CR>`<O<ESC>0i/*<ESC>`>o<ESC>0i*/<ESC>`<
|
||||
vnoremap <buffer> <Plug>BUncomOff <ESC>:'<,'><CR>`<dd`>dd`<
|
||||
endif
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
" Vim filetype plugin file.
|
||||
|
||||
" Language: Lua
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Previous Maintainer: Max Ischenko <mfi@ukr.net>
|
||||
@@ -6,7 +7,8 @@
|
||||
" C.D. MacEachern <craig.daniel.maceachern@gmail.com>
|
||||
" Tyler Miller <tmillr@proton.me>
|
||||
" Phạm Bình An <phambinhanctb2004@gmail.com>
|
||||
" Last Change: 2025 Feb 27
|
||||
" @konfekt
|
||||
" Last Change: 2025 Apr 04
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
@@ -61,7 +63,7 @@ endif
|
||||
|
||||
if has("folding") && get(g:, "lua_folding", 0)
|
||||
setlocal foldmethod=expr
|
||||
setlocal foldexpr=s:LuaFold(v:lnum)
|
||||
setlocal foldexpr=s:LuaFold()
|
||||
let b:lua_lasttick = -1
|
||||
let b:undo_ftplugin ..= " | setl foldexpr< foldmethod< | unlet! b:lua_lasttick b:lua_foldlists"
|
||||
endif
|
||||
@@ -97,9 +99,9 @@ let s:patterns = [
|
||||
\ ['local\s+function\s+.+', 'end'],
|
||||
\ ]
|
||||
|
||||
function s:LuaFold(lnum) abort
|
||||
function s:LuaFold() abort
|
||||
if b:lua_lasttick == b:changedtick
|
||||
return b:lua_foldlists[a:lnum - 1]
|
||||
return b:lua_foldlists[v:lnum - 1]
|
||||
endif
|
||||
let b:lua_lasttick = b:changedtick
|
||||
|
||||
@@ -108,26 +110,78 @@ function s:LuaFold(lnum) abort
|
||||
let buf = getline(1, "$")
|
||||
for line in buf
|
||||
for t in s:patterns
|
||||
let open = 0
|
||||
let end = 0
|
||||
let tagopen = '\v^\s*' .. t[0] ..'\s*$'
|
||||
let tagclose = '\v^\s*' .. t[1] ..'\s*$'
|
||||
let tagend = '\v^\s*' .. t[1] ..'\s*$'
|
||||
if line =~# tagopen
|
||||
call add(foldlist, t)
|
||||
let open = 1
|
||||
break
|
||||
elseif line =~# tagclose
|
||||
elseif line =~# tagend
|
||||
if len(foldlist) > 0 && line =~# foldlist[-1][1]
|
||||
call remove(foldlist, -1)
|
||||
let end = 1
|
||||
else
|
||||
let foldlist = []
|
||||
endif
|
||||
break
|
||||
endif
|
||||
endfor
|
||||
call add(b:lua_foldlists, len(foldlist))
|
||||
let prefix = ""
|
||||
if open == 1 | let prefix = ">" | endif
|
||||
if end == 1 | let prefix = "<" | endif
|
||||
let b:lua_foldlists += [prefix..(len(foldlist) + end)]
|
||||
endfor
|
||||
|
||||
return lua_foldlists[a:lnum - 1]
|
||||
return b:lua_foldlists[v:lnum - 1]
|
||||
endfunction
|
||||
|
||||
if !has('vim9script')
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
finish
|
||||
endif
|
||||
|
||||
delfunction! s:LuaFold
|
||||
def s:LuaFold(): string
|
||||
if b:lua_lasttick == b:changedtick
|
||||
return b:lua_foldlists[v:lnum - 1]
|
||||
endif
|
||||
b:lua_lasttick = b:changedtick
|
||||
|
||||
b:lua_foldlists = []
|
||||
var foldlist = []
|
||||
var buf = getline(1, "$")
|
||||
for line in buf
|
||||
var open = 0
|
||||
var end = 0
|
||||
for t in patterns
|
||||
var tagopen = '\v^\s*' .. t[0] .. '\s*$'
|
||||
var tagend = '\v^\s*' .. t[1] .. '\s*$'
|
||||
if line =~# tagopen
|
||||
add(foldlist, t)
|
||||
open = 1
|
||||
break
|
||||
elseif line =~# tagend
|
||||
if len(foldlist) > 0 && line =~# foldlist[-1][1]
|
||||
end = 1
|
||||
remove(foldlist, -1)
|
||||
else
|
||||
foldlist = []
|
||||
endif
|
||||
break
|
||||
endif
|
||||
endfor
|
||||
var prefix = ""
|
||||
if open == 1 | prefix = ">" | endif
|
||||
if end == 1 | prefix = "<" | endif
|
||||
b:lua_foldlists += [prefix .. (len(foldlist) + end)]
|
||||
endfor
|
||||
return b:lua_foldlists[v:lnum - 1]
|
||||
enddef
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
|
||||
13
runtime/ftplugin/mbsync.vim
Normal file
13
runtime/ftplugin/mbsync.vim
Normal file
@@ -0,0 +1,13 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: mbsync configuration file
|
||||
" Maintainer: Pierrick Guillaume <pguillaume@fymyte.com>
|
||||
" Last Change: 2025 Apr 13
|
||||
|
||||
if (exists('b:did_ftplugin'))
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let b:undo_ftplugin = "setlocal commentstring<"
|
||||
|
||||
setlocal commentstring=#\ %s
|
||||
@@ -3,6 +3,7 @@
|
||||
" Home: http://en.wikipedia.org/wiki/Wikipedia:Text_editor_support#Vim
|
||||
" Last Change: 2024 Jul 14
|
||||
" Credits: chikamichi
|
||||
" 2025 Apr 16 by Vim Project (set 'cpoptions' for line continuation, #17121)
|
||||
"
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
@@ -10,6 +11,9 @@ if exists("b:did_ftplugin")
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" Many MediaWiki wikis prefer line breaks only at the end of paragraphs
|
||||
" (like in a text processor), which results in long, wrapping lines.
|
||||
setlocal wrap linebreak
|
||||
@@ -40,3 +44,6 @@ setlocal foldmethod=expr
|
||||
|
||||
let b:undo_ftplugin = "setl commentstring< comments< formatoptions< foldexpr< foldmethod<"
|
||||
let b:undo_ftplugin += " matchpairs< linebreak< wrap< textwidth<"
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
@@ -2,12 +2,16 @@
|
||||
" Language: Mojo
|
||||
" Maintainer: Riley Bruins <ribru17@gmail.com>
|
||||
" Last Change: 2024 Jul 07
|
||||
" 2025 Apr 16 by Vim Project (set 'cpoptions' for line continuation, #17121)
|
||||
|
||||
if exists('b:did_ftplugin')
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
setlocal include=^\\s*\\(from\\\|import\\)
|
||||
setlocal define=^\\s*\\(\\(async\\s\\+\\)\\?def\\\|class\\)
|
||||
|
||||
@@ -39,3 +43,6 @@ let b:undo_ftplugin = 'setlocal include<'
|
||||
\ . '|setlocal suffixesadd<'
|
||||
\ . '|setlocal comments<'
|
||||
\ . '|setlocal commentstring<'
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
@@ -7,12 +7,16 @@
|
||||
" Last Changes:
|
||||
" 2024 May 24 by Riley Bruins <ribru17@gmail.com> ('commentstring' #14843)
|
||||
" 2025 Feb 12 by Wu, Zhenyu <wuzhenyu@ustc.edu> (matchit configuration #16619)
|
||||
" 2025 Apr 16 by Eisuke Kawashima (cpoptions #17121)
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
setlocal commentstring=.\\\"\ %s
|
||||
setlocal comments=:.\\\"
|
||||
setlocal sections+=Sh
|
||||
@@ -30,3 +34,6 @@ if exists('loaded_matchit')
|
||||
\ . ',^\.\s*FS\>:^\.\s*FE\>'
|
||||
let b:undo_ftplugin .= "| unlet b:match_words"
|
||||
endif
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
16
runtime/ftplugin/pq.vim
Normal file
16
runtime/ftplugin/pq.vim
Normal file
@@ -0,0 +1,16 @@
|
||||
" Vim filetype plugin
|
||||
" Language: Power Query M
|
||||
" Maintainer: Anarion Dunedain <anarion80@gmail.com>
|
||||
" Last Change: 2025 Apr 3
|
||||
|
||||
if exists('b:did_ftplugin')
|
||||
finish
|
||||
endif
|
||||
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,://
|
||||
|
||||
setlocal commentstring=//\ %s
|
||||
|
||||
let b:undo_ftplugin = 'setl com< cms<'
|
||||
14
runtime/ftplugin/remind.vim
Normal file
14
runtime/ftplugin/remind.vim
Normal file
@@ -0,0 +1,14 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: Remind - a sophisticated calendar and alarm
|
||||
" Maintainer: Joe Reynolds <joereynolds952@gmail.com>
|
||||
" Latest Revision: 2025 April 08
|
||||
" License: Vim (see :h license)
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
setlocal comments=:# commentstring=#\ %s
|
||||
|
||||
let b:undo_ftplugin = "setl cms< com<"
|
||||
@@ -3,6 +3,7 @@
|
||||
" Maintainer: Chris Morgan <me@chrismorgan.info>
|
||||
" Last Change: 2024 Mar 17
|
||||
" 2024 May 23 by Riley Bruins <ribru17@gmail.com ('commentstring')
|
||||
" 2025 Mar 31 by Vim project (set 'formatprg' option)
|
||||
" For bugs, patches and license go to https://github.com/rust-lang/rust.vim
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
@@ -57,6 +58,19 @@ setlocal includeexpr=rust#IncludeExpr(v:fname)
|
||||
|
||||
setlocal suffixesadd=.rs
|
||||
|
||||
if executable(get(g:, 'rustfmt_command', 'rustfmt'))
|
||||
if get(g:, "rustfmt_fail_silently", 0)
|
||||
augroup rust.vim.FailSilently
|
||||
autocmd! * <buffer>
|
||||
autocmd ShellFilterPost <buffer> if v:shell_error | execute 'echom "shell filter returned error " . v:shell_error . ", undoing changes"' | undo | endif
|
||||
augroup END
|
||||
endif
|
||||
|
||||
let &l:formatprg = get(g:, 'rustfmt_command', 'rustfmt') . ' ' .
|
||||
\ get(g:, 'rustfmt_options', '') . ' ' .
|
||||
\ rustfmt#RustfmtConfigOptions()
|
||||
endif
|
||||
|
||||
if exists("g:ftplugin_rust_source_path")
|
||||
let &l:path=g:ftplugin_rust_source_path . ',' . &l:path
|
||||
endif
|
||||
@@ -149,7 +163,7 @@ endif
|
||||
|
||||
let b:undo_ftplugin = "
|
||||
\ compiler make |
|
||||
\ setlocal formatoptions< comments< commentstring< include< includeexpr< suffixesadd<
|
||||
\ setlocal formatoptions< comments< commentstring< include< includeexpr< suffixesadd< formatprg<
|
||||
\|if exists('b:rust_set_style')
|
||||
\|setlocal tabstop< shiftwidth< softtabstop< expandtab< textwidth<
|
||||
\|endif
|
||||
|
||||
@@ -1,13 +1,40 @@
|
||||
" Vim filetype plugin
|
||||
" Language: svelte
|
||||
" Maintainer: Igor Lacerda <igorlafarsi@gmail.com>
|
||||
" Last Change: 2024 Jun 09
|
||||
" Last Change: 2025 Apr 06
|
||||
|
||||
if exists('b:did_ftplugin')
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
setl commentstring=<!--\ %s\ -->
|
||||
let s:cpo_sav = &cpo
|
||||
set cpo&vim
|
||||
|
||||
let b:undo_ftplugin = 'setl cms<'
|
||||
setlocal matchpairs+=<:>
|
||||
setlocal commentstring=<!--\ %s\ -->
|
||||
setlocal comments=s:<!--,m:\ \ \ \ ,e:-->
|
||||
|
||||
let b:undo_ftplugin = 'setlocal comments< commentstring< matchpairs<'
|
||||
|
||||
if exists('&omnifunc')
|
||||
setlocal omnifunc=htmlcomplete#CompleteTags
|
||||
call htmlcomplete#DetectOmniFlavor()
|
||||
let b:undo_ftplugin ..= " | setlocal omnifunc<"
|
||||
endif
|
||||
|
||||
if exists("loaded_matchit") && !exists("b:match_words")
|
||||
let b:match_ignorecase = 1
|
||||
let b:match_words = '<:>,' .
|
||||
\ '<\@<=[ou]l\>[^>]*\%(>\|$\):<\@<=li\>:<\@<=/[ou]l>,' .
|
||||
\ '<\@<=dl\>[^>]*\%(>\|$\):<\@<=d[td]\>:<\@<=/dl>,' .
|
||||
\ '<\@<=\([^/][^ \t>]*\)[^>]*\%(>\|$\):<\@<=/\1>,' .
|
||||
\ '{#\(if\|each\)[^}]*}:{\:else[^}]*}:{\/\(if\|each\)},' .
|
||||
\ '{#await[^}]*}:{\:then[^}]*}:{\:catch[^}]*}:{\/await},' .
|
||||
\ '{#snippet[^}]*}:{\/snippet},' .
|
||||
\ '{#key[^}]*}:{\/key}'
|
||||
let b:html_set_match_words = 1
|
||||
let b:undo_ftplugin ..= " | unlet! b:match_ignorecase b:match_words b:html_set_match_words"
|
||||
endif
|
||||
let &cpo = s:cpo_sav
|
||||
unlet! s:cpo_sav
|
||||
|
||||
@@ -2,12 +2,16 @@
|
||||
" Language: Tera
|
||||
" Maintainer: Muntasir Mahmud <muntasir.joypurhat@gmail.com>
|
||||
" Last Change: 2025 Mar 08
|
||||
" 2025 Apr 16 by Vim Project (set 'cpoptions' for line continuation, #17121)
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
setlocal autoindent
|
||||
|
||||
setlocal commentstring={#\ %s\ #}
|
||||
@@ -28,3 +32,6 @@ setlocal softtabstop=2
|
||||
let b:undo_ftplugin = "setlocal autoindent< commentstring< comments< " ..
|
||||
\ "includeexpr< suffixesadd< expandtab< shiftwidth< softtabstop<"
|
||||
let b:undo_ftplugin .= "|unlet! b:match_ignorecase b:match_words"
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
@@ -2,11 +2,14 @@
|
||||
" Language: Cucumber
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" Last Change: 2023 Dec 28
|
||||
" 2025 Apr 16 by Vim Project (set 'cpoptions' for line continuation, #17121)
|
||||
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
endif
|
||||
let b:did_indent = 1
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
setlocal autoindent
|
||||
setlocal indentexpr=GetCucumberIndent()
|
||||
@@ -95,4 +98,7 @@ function! GetCucumberIndent(...) abort
|
||||
return prev.indent < 0 ? 0 : prev.indent
|
||||
endfunction
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim:set sts=2 sw=2:
|
||||
|
||||
70
runtime/keymap/brazilian_portuguese-abnt.vim
Normal file
70
runtime/keymap/brazilian_portuguese-abnt.vim
Normal file
@@ -0,0 +1,70 @@
|
||||
" Vim Keymap file for Brazilian Portuguese - ABNT (without altgr because that would be ABNT2)
|
||||
|
||||
" Maintainer: Elsarques
|
||||
" Last Changed: 2025-04-06
|
||||
|
||||
scriptencoding utf-8
|
||||
|
||||
let b:keymap_name = "abnt"
|
||||
|
||||
loadkeymap
|
||||
[[ ´ LATIN ACUTE ACCENT
|
||||
[a á LATIN SMALL LETTER A WITH ACUTE
|
||||
[e é LATIN SMALL LETTER E WITH ACUTE
|
||||
[u ú LATIN SMALL LETTER U WITH ACUTE
|
||||
[i í LATIN SMALL LETTER I WITH ACUTE
|
||||
[o ó LATIN SMALL LETTER O WITH ACUTE
|
||||
[A Á LATIN CAPITAL LETTER A WITH ACUTE
|
||||
[E É LATIN CAPITAL LETTER E WITH ACUTE
|
||||
[U Ú LATIN CAPITAL LETTER U WITH ACUTE
|
||||
[I Í LATIN CAPITAL LETTER I WITH ACUTE
|
||||
[O Ó LATIN CAPITAL LETTER O WITH ACUTE
|
||||
{{ ` GRAVE
|
||||
{e è LATIN SMALL LETTER E WITH GRAVE
|
||||
{a à LATIN SMALL LETTER A WITH GRAVE
|
||||
{u ù LATIN SMALL LETTER U WITH GRAVE
|
||||
{i ì LATIN SMALL LETTER I WITH GRAVE
|
||||
{o ò LATIN SMALL LETTER O WITH GRAVE
|
||||
{u ù LATIN SMALL LETTER U WITH GRAVE
|
||||
{E È LATIN CAPITAL LETTER E WITH GRAVE
|
||||
{A À LATIN CAPITAL LETTER A WITH GRAVE
|
||||
{U Ù LATIN CAPITAL LETTER U WITH GRAVE
|
||||
{I Ì LATIN CAPITAL LETTER I WITH GRAVE
|
||||
{O Ò LATIN CAPITAL LETTER O WITH GRAVE
|
||||
{U Ù LATIN CAPITAL LETTER U WITH GRAVE
|
||||
] [ ASCII OPENING BRACKETS
|
||||
} { ASCII OPENING CURLY BRACKETS
|
||||
; ç LATIN SMALL LETTER C WITH CEDILLA
|
||||
: Ç LATIN CAPITAL LETTER C WITH CEDILLA
|
||||
' ~ ASCII TILDE
|
||||
'a ã LATIN SMALL LETTER A WITH TILDE
|
||||
'e ẽ LATIN SMALL LETTER E WITH TILDE
|
||||
'i ĩ LATIN SMALL LETTER I WITH TILDE
|
||||
'o õ LATIN SMALL LETTER O WITH TILDE
|
||||
'u ũ LATIN SMALL LETTER U WITH TILDE
|
||||
'A Ã LATIN CAPITAL LETTER A WITH TILDE
|
||||
'E Ẽ LATIN CAPITAL LETTER E WITH TILDE
|
||||
'I Ĩ LATIN CAPITAL LETTER I WITH TILDE
|
||||
'O Õ LATIN CAPITAL LETTER O WITH TILDE
|
||||
'U Ũ LATIN CAPITAL LETTER U WITH TILDE
|
||||
\" ^ ASCII CIRCUMFLEX
|
||||
\"a â LATIN SMALL LETTER A WITH CIRCUMFLEX
|
||||
\"e ê LATIN SMALL LETTER E WITH CIRCUMFLEX
|
||||
\"i î LATIN SMALL LETTER I WITH CIRCUMFLEX
|
||||
\"o ô LATIN SMALL LETTER O WITH CIRCUMFLEX
|
||||
\"u û LATIN SMALL LETTER U WITH CIRCUMFLEX
|
||||
\"A Â LATIN CAPITAL LETTER A WITH CIRCUMFLEX
|
||||
\"E Ê LATIN CAPITAL LETTER E WITH CIRCUMFLEX
|
||||
\"I Î LATIN CAPITAL LETTER I WITH CIRCUMFLEX
|
||||
\"O Ô LATIN CAPITAL LETTER O WITH CIRCUMFLEX
|
||||
\"U Û LATIN CAPITAL LETTER U WITH CIRCUMFLEX
|
||||
[- | ASCII VERTICAL-BAR
|
||||
\\ ] ASCII CLOSING BRACKETS
|
||||
| } ASCII CLOSING CURLY BRACKETS
|
||||
/ ; ASCII SEMICOLON
|
||||
? : ASCII COLON
|
||||
~ " ASCII DOUBLE QUOTES
|
||||
¬ \\ ASCII BACKSLASH
|
||||
® | ASCII HORIZONTAL SLASH
|
||||
[= / ASCII SLASH
|
||||
'= ? ASCII INTEROGATION
|
||||
71
runtime/keymap/brazilian_portuguese-compact.vim
Normal file
71
runtime/keymap/brazilian_portuguese-compact.vim
Normal file
@@ -0,0 +1,71 @@
|
||||
" Vim Keymap file for Brazilian Portuguese - ABNT Compact (for keyboards
|
||||
" with less keys and without altgr because that would be ABNT2)
|
||||
|
||||
" Maintainer: Elsarques
|
||||
" Last Changed: 2025-04-06
|
||||
|
||||
scriptencoding utf-8
|
||||
|
||||
let b:keymap_name = "abnt-compact"
|
||||
|
||||
loadkeymap
|
||||
[[ ´ LATIN ACUTE ACCENT
|
||||
[a á LATIN SMALL LETTER A WITH ACUTE
|
||||
[e é LATIN SMALL LETTER E WITH ACUTE
|
||||
[u ú LATIN SMALL LETTER U WITH ACUTE
|
||||
[i í LATIN SMALL LETTER I WITH ACUTE
|
||||
[o ó LATIN SMALL LETTER O WITH ACUTE
|
||||
[A Á LATIN CAPITAL LETTER A WITH ACUTE
|
||||
[E É LATIN CAPITAL LETTER E WITH ACUTE
|
||||
[U Ú LATIN CAPITAL LETTER U WITH ACUTE
|
||||
[I Í LATIN CAPITAL LETTER I WITH ACUTE
|
||||
[O Ó LATIN CAPITAL LETTER O WITH ACUTE
|
||||
{{ ` GRAVE
|
||||
{e è LATIN SMALL LETTER E WITH GRAVE
|
||||
{a à LATIN SMALL LETTER A WITH GRAVE
|
||||
{u ù LATIN SMALL LETTER U WITH GRAVE
|
||||
{i ì LATIN SMALL LETTER I WITH GRAVE
|
||||
{o ò LATIN SMALL LETTER O WITH GRAVE
|
||||
{u ù LATIN SMALL LETTER U WITH GRAVE
|
||||
{E È LATIN CAPITAL LETTER E WITH GRAVE
|
||||
{A À LATIN CAPITAL LETTER A WITH GRAVE
|
||||
{U Ù LATIN CAPITAL LETTER U WITH GRAVE
|
||||
{I Ì LATIN CAPITAL LETTER I WITH GRAVE
|
||||
{O Ò LATIN CAPITAL LETTER O WITH GRAVE
|
||||
{U Ù LATIN CAPITAL LETTER U WITH GRAVE
|
||||
] [ ASCII OPENING BRACKETS
|
||||
} { ASCII OPENING CURLY BRACKETS
|
||||
; ç LATIN SMALL LETTER C WITH CEDILLA
|
||||
: Ç LATIN CAPITAL LETTER C WITH CEDILLA
|
||||
' ~ ASCII TILDE
|
||||
'a ã LATIN SMALL LETTER A WITH TILDE
|
||||
'e ẽ LATIN SMALL LETTER E WITH TILDE
|
||||
'i ĩ LATIN SMALL LETTER I WITH TILDE
|
||||
'o õ LATIN SMALL LETTER O WITH TILDE
|
||||
'u ũ LATIN SMALL LETTER U WITH TILDE
|
||||
'A Ã LATIN CAPITAL LETTER A WITH TILDE
|
||||
'E Ẽ LATIN CAPITAL LETTER E WITH TILDE
|
||||
'I Ĩ LATIN CAPITAL LETTER I WITH TILDE
|
||||
'O Õ LATIN CAPITAL LETTER O WITH TILDE
|
||||
'U Ũ LATIN CAPITAL LETTER U WITH TILDE
|
||||
[- \\ ASCII BACKSLASH
|
||||
[= / ASCII SLASH
|
||||
\" ^ ASCII CIRCUMFLEX
|
||||
\"a â LATIN SMALL LETTER A WITH CIRCUMFLEX
|
||||
\"e ê LATIN SMALL LETTER E WITH CIRCUMFLEX
|
||||
\"i î LATIN SMALL LETTER I WITH CIRCUMFLEX
|
||||
\"o ô LATIN SMALL LETTER O WITH CIRCUMFLEX
|
||||
\"u û LATIN SMALL LETTER U WITH CIRCUMFLEX
|
||||
\"A Â LATIN CAPITAL LETTER A WITH CIRCUMFLEX
|
||||
\"E Ê LATIN CAPITAL LETTER E WITH CIRCUMFLEX
|
||||
\"I Î LATIN CAPITAL LETTER I WITH CIRCUMFLEX
|
||||
\"O Ô LATIN CAPITAL LETTER O WITH CIRCUMFLEX
|
||||
\"U Û LATIN CAPITAL LETTER U WITH CIRCUMFLEX
|
||||
\"- | ASCII VERTICAL-BAR
|
||||
\\ ] ASCII CLOSING BRACKETS
|
||||
| } ASCII CLOSING CURLY BRACKETS
|
||||
/ ; ASCII SEMICOLON
|
||||
? : ASCII COLON
|
||||
~ " ASCII DOUBLE QUOTES
|
||||
'- ? ASCII EXCLAMATION
|
||||
'= | ASCII VERTICAL SLASH
|
||||
@@ -1,7 +1,7 @@
|
||||
" These commands create the option window.
|
||||
"
|
||||
" Maintainer: The Vim Project <https://github.com/vim/vim>
|
||||
" Last Change: 2025 Mar 07
|
||||
" Last Change: 2025 Apr 07
|
||||
" Former Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
|
||||
" If there already is an option window, jump to that one.
|
||||
@@ -371,7 +371,7 @@ call <SID>AddOption("sidescrolloff", gettext("minimal number of columns to keep
|
||||
call append("$", " \tset siso=" . &siso)
|
||||
call <SID>AddOption("display", gettext("include \"lastline\" to show the last line even if it doesn't fit\ninclude \"uhex\" to show unprintable characters as a hex number"))
|
||||
call <SID>OptionG("dy", &dy)
|
||||
call <SID>AddOption("fillchars", gettext("characters to use for the status line, folds and filler lines"))
|
||||
call <SID>AddOption("fillchars", gettext("characters to use for the status line, folds, diffs, buffer text, filler lines and truncation in the completion menu"))
|
||||
call <SID>OptionG("fcs", &fcs)
|
||||
call <SID>AddOption("cmdheight", gettext("number of lines used for the command-line"))
|
||||
call append("$", " \tset ch=" . &ch)
|
||||
@@ -405,6 +405,13 @@ if has("linebreak")
|
||||
call append("$", "\t" .. s:local_to_window)
|
||||
call <SID>OptionL("nuw")
|
||||
endif
|
||||
if has("quickfix")
|
||||
call <SID>AddOption("chistory", gettext("maximum number of quickfix lists that can be stored in history"))
|
||||
call <SID>OptionL("chi")
|
||||
call <SID>AddOption("lhistory", gettext("maximum number of location lists that can be stored in history"))
|
||||
call append("$", "\t" .. s:local_to_window)
|
||||
call <SID>OptionL("lhi")
|
||||
endif
|
||||
if has("conceal")
|
||||
call <SID>AddOption("conceallevel", gettext("controls whether concealable text is hidden"))
|
||||
call append("$", "\t" .. s:local_to_window)
|
||||
@@ -863,6 +870,8 @@ if has("insert_expand")
|
||||
call <SID>OptionG("ph", &ph)
|
||||
call <SID>AddOption("pumwidth", gettext("minimum width of the popup menu"))
|
||||
call <SID>OptionG("pw", &pw)
|
||||
call <SID>AddOption("pummaxwidth", gettext("maximum width of the popup menu"))
|
||||
call <SID>OptionG("pmw", &pmw)
|
||||
call <SID>AddOption("completefunc", gettext("user defined function for Insert mode completion"))
|
||||
call append("$", "\t" .. s:local_to_buffer)
|
||||
call <SID>OptionL("cfu")
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
vim9script
|
||||
|
||||
# Maintainer: Maxim Kim <habamax@gmail.com>
|
||||
# Last Update: 2025 Mar 21
|
||||
# Last Update: 2025-03-30
|
||||
#
|
||||
# Toggle comments
|
||||
# Usage:
|
||||
@@ -107,8 +107,8 @@ export def ObjComment(inner: bool)
|
||||
|
||||
# Search for the beginning of the comment block
|
||||
if IsComment()
|
||||
if search('\v%(\S+)|$', 'bW', 0, 200, IsComment) > 0
|
||||
search('\v%(\S)|$', 'W', 0, 200, () => !IsComment())
|
||||
if search('\v%(\S+)|%(^\s*$)', 'bW', 0, 200, IsComment) > 0
|
||||
search('\v%(\S)|%(^\s*$)', 'W', 0, 200, () => !IsComment())
|
||||
else
|
||||
cursor(1, 1)
|
||||
search('\v\S+', 'cW', 0, 200)
|
||||
@@ -130,11 +130,11 @@ export def ObjComment(inner: bool)
|
||||
if pos_init[1] > pos_start[1]
|
||||
cursor(pos_init[1], pos_init[2])
|
||||
endif
|
||||
if search('\v%(\S+)|$', 'W', 0, 200, IsComment) > 0
|
||||
if search('\v%(\S+)|%(^\s*$)', 'W', 0, 200, IsComment) > 0
|
||||
search('\S', 'beW', 0, 200, () => !IsComment())
|
||||
else
|
||||
if search('\%$', 'W', 0, 200) > 0
|
||||
search('\ze\S', 'beW', 0, 200, () => !IsComment())
|
||||
search('\ze\S', 'beW', line('.'), 200, () => !IsComment())
|
||||
endif
|
||||
endif
|
||||
|
||||
@@ -144,20 +144,23 @@ export def ObjComment(inner: bool)
|
||||
var spaces = matchstr(getline(pos_end[1]), '\%>.c\s*')
|
||||
pos_end[2] += spaces->len()
|
||||
if getline(pos_end[1])[pos_end[2] : ] =~ '^\s*$'
|
||||
&& (pos_start[2] == 1 || getline(pos_start[1])[ : pos_start[2]] =~ '^\s*$')
|
||||
&& (pos_start[2] <= 1 || getline(pos_start[1])[ : pos_start[2]] =~ '^\s*$')
|
||||
if search('\v\s*\_$(\s*\n)+', 'eW', 0, 200) > 0
|
||||
pos_end = getcurpos()
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
if (pos_end[2] == (getline(pos_end[1])->len() ?? 1)) && pos_start[2] == 1
|
||||
if (pos_end[2] == (getline(pos_end[1])->len() ?? 1)) && pos_start[2] <= 1
|
||||
cursor(pos_end[1], 1)
|
||||
normal! V
|
||||
cursor(pos_start[1], 1)
|
||||
else
|
||||
cursor(pos_end[1], pos_end[2])
|
||||
normal! v
|
||||
if &selection == 'exclusive'
|
||||
normal! lo
|
||||
endif
|
||||
cursor(pos_start[1], pos_start[2])
|
||||
endif
|
||||
enddef
|
||||
|
||||
183
runtime/pack/dist/opt/netrw/autoload/netrw.vim
vendored
183
runtime/pack/dist/opt/netrw/autoload/netrw.vim
vendored
@@ -19,7 +19,7 @@ if &cp || exists("g:loaded_netrw")
|
||||
finish
|
||||
endif
|
||||
|
||||
let g:loaded_netrw = "v179"
|
||||
let g:loaded_netrw = "v180"
|
||||
|
||||
if !has("patch-9.1.1054") && !has('nvim')
|
||||
echoerr 'netrw needs Vim v9.1.1054'
|
||||
@@ -58,70 +58,8 @@ function! netrw#ErrorMsg(level, msg, errnum)
|
||||
let level = "**note** (netrw) "
|
||||
endif
|
||||
|
||||
if g:netrw_use_errorwindow == 2 && exists("*popup_atcursor")
|
||||
" use popup window
|
||||
if type(a:msg) == 3
|
||||
let msg = [level]+a:msg
|
||||
else
|
||||
let msg = level.a:msg
|
||||
endif
|
||||
let s:popuperr_id = popup_atcursor(msg, {})
|
||||
let s:popuperr_text = ""
|
||||
elseif has('nvim')
|
||||
if has('nvim')
|
||||
call v:lua.vim.notify(level . a:msg, a:level + 2)
|
||||
elseif g:netrw_use_errorwindow
|
||||
" (default) netrw creates a one-line window to show error/warning
|
||||
" messages (reliably displayed)
|
||||
|
||||
" record current window number
|
||||
let s:winBeforeErr = winnr()
|
||||
" call Decho("s:winBeforeErr=".s:winBeforeErr,'~'.expand("<slnum>"))
|
||||
|
||||
" getting messages out reliably is just plain difficult!
|
||||
" This attempt splits the current window, creating a one line window.
|
||||
if bufexists("NetrwMessage") && bufwinnr("NetrwMessage") > 0
|
||||
" call Decho("write to NetrwMessage buffer",'~'.expand("<slnum>"))
|
||||
exe bufwinnr("NetrwMessage")."wincmd w"
|
||||
" call Decho("setl ma noro",'~'.expand("<slnum>"))
|
||||
setl ma noro
|
||||
if type(a:msg) == 3
|
||||
for msg in a:msg
|
||||
NetrwKeepj call setline(line("$")+1,level.msg)
|
||||
endfor
|
||||
else
|
||||
NetrwKeepj call setline(line("$")+1,level.a:msg)
|
||||
endif
|
||||
NetrwKeepj $
|
||||
else
|
||||
" call Decho("create a NetrwMessage buffer window",'~'.expand("<slnum>"))
|
||||
bo 1split
|
||||
sil! call s:NetrwEnew()
|
||||
sil! NetrwKeepj call s:NetrwOptionsSafe(1)
|
||||
setl bt=nofile
|
||||
NetrwKeepj file NetrwMessage
|
||||
" call Decho("setl ma noro",'~'.expand("<slnum>"))
|
||||
setl ma noro
|
||||
if type(a:msg) == 3
|
||||
for msg in a:msg
|
||||
NetrwKeepj call setline(line("$")+1,level.msg)
|
||||
endfor
|
||||
else
|
||||
NetrwKeepj call setline(line("$"),level.a:msg)
|
||||
endif
|
||||
NetrwKeepj $
|
||||
endif
|
||||
" call Decho("wrote msg<".level.a:msg."> to NetrwMessage win#".winnr(),'~'.expand("<slnum>"))
|
||||
if &fo !~ '[ta]'
|
||||
syn clear
|
||||
syn match netrwMesgNote "^\*\*note\*\*"
|
||||
syn match netrwMesgWarning "^\*\*warning\*\*"
|
||||
syn match netrwMesgError "^\*\*error\*\*"
|
||||
hi link netrwMesgWarning WarningMsg
|
||||
hi link netrwMesgError Error
|
||||
endif
|
||||
" call Decho("setl noma ro bh=wipe",'~'.expand("<slnum>"))
|
||||
setl ro nomod noma bh=wipe
|
||||
|
||||
else
|
||||
" (optional) netrw will show messages using echomsg. Even if the
|
||||
" message doesn't appear, at least it'll be recallable via :messages
|
||||
@@ -129,15 +67,15 @@ function! netrw#ErrorMsg(level, msg, errnum)
|
||||
if a:level == s:WARNING
|
||||
echohl WarningMsg
|
||||
elseif a:level == s:ERROR
|
||||
echohl Error
|
||||
echohl ErrorMsg
|
||||
endif
|
||||
|
||||
if type(a:msg) == 3
|
||||
for msg in a:msg
|
||||
unsilent echomsg level.msg
|
||||
echomsg level.msg
|
||||
endfor
|
||||
else
|
||||
unsilent echomsg level.a:msg
|
||||
echomsg level.a:msg
|
||||
endif
|
||||
|
||||
echohl None
|
||||
@@ -186,21 +124,13 @@ let s:has_balloon = !has('nvim') &&
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" Default option values: {{{2
|
||||
let g:netrw_localcopycmdopt = ""
|
||||
let g:netrw_localcopydircmdopt = ""
|
||||
let g:netrw_localmkdiropt = ""
|
||||
let g:netrw_localmovecmdopt = ""
|
||||
call s:NetrwInit("g:netrw_localcopycmdopt","")
|
||||
call s:NetrwInit("g:netrw_localcopydircmdopt","")
|
||||
call s:NetrwInit("g:netrw_localmkdiropt","")
|
||||
call s:NetrwInit("g:netrw_localmovecmdopt","")
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" Default values for netrw's global protocol variables {{{2
|
||||
if exists("*popup_atcursor")
|
||||
\ && has("syntax")
|
||||
\ && exists("g:syntax_on")
|
||||
\ && has("mouse")
|
||||
call s:NetrwInit("g:netrw_use_errorwindow",2)
|
||||
else
|
||||
call s:NetrwInit("g:netrw_use_errorwindow",1)
|
||||
endif
|
||||
|
||||
if !exists("g:netrw_dav_cmd")
|
||||
if executable("cadaver")
|
||||
@@ -404,7 +334,7 @@ if !exists("g:netrw_localcopycmd")
|
||||
let g:netrw_localcopycmd= "cp"
|
||||
else
|
||||
let g:netrw_localcopycmd = expand("$COMSPEC", v:true)
|
||||
let g:netrw_localcopycmdopt= " /c copy"
|
||||
call s:NetrwInit("g:netrw_localcopycmdopt"," /c copy")
|
||||
endif
|
||||
elseif has("unix") || has("macunix")
|
||||
let g:netrw_localcopycmd= "cp"
|
||||
@@ -416,17 +346,17 @@ if !exists("g:netrw_localcopydircmd")
|
||||
if has("win32")
|
||||
if g:netrw_cygwin
|
||||
let g:netrw_localcopydircmd = "cp"
|
||||
let g:netrw_localcopydircmdopt= " -R"
|
||||
call s:NetrwInit("g:netrw_localcopydircmdopt"," -R")
|
||||
else
|
||||
let g:netrw_localcopydircmd = expand("$COMSPEC", v:true)
|
||||
let g:netrw_localcopydircmdopt= " /c xcopy /e /c /h /i /k"
|
||||
call s:NetrwInit("g:netrw_localcopydircmdopt"," /c xcopy /e /c /h /i /k")
|
||||
endif
|
||||
elseif has("unix")
|
||||
let g:netrw_localcopydircmd = "cp"
|
||||
let g:netrw_localcopydircmdopt= " -R"
|
||||
call s:NetrwInit("g:netrw_localcopydircmdopt"," -R")
|
||||
elseif has("macunix")
|
||||
let g:netrw_localcopydircmd = "cp"
|
||||
let g:netrw_localcopydircmdopt= " -R"
|
||||
call s:NetrwInit("g:netrw_localcopydircmdopt"," -R")
|
||||
else
|
||||
let g:netrw_localcopydircmd= ""
|
||||
endif
|
||||
@@ -439,8 +369,8 @@ if has("win32")
|
||||
if g:netrw_cygwin
|
||||
call s:NetrwInit("g:netrw_localmkdir","mkdir")
|
||||
else
|
||||
let g:netrw_localmkdir = expand("$COMSPEC", v:true)
|
||||
let g:netrw_localmkdiropt= " /c mkdir"
|
||||
call s:NetrwInit("g:netrw_localmkdir",expand("$COMSPEC", v:true))
|
||||
call s:NetrwInit("g:netrw_localmkdiropt"," /c mkdir")
|
||||
endif
|
||||
else
|
||||
call s:NetrwInit("g:netrw_localmkdir","mkdir")
|
||||
@@ -458,7 +388,7 @@ if !exists("g:netrw_localmovecmd")
|
||||
let g:netrw_localmovecmd= "mv"
|
||||
else
|
||||
let g:netrw_localmovecmd = expand("$COMSPEC", v:true)
|
||||
let g:netrw_localmovecmdopt= " /c move"
|
||||
call s:NetrwInit("g:netrw_localmovecmdopt"," /c move")
|
||||
endif
|
||||
elseif has("unix") || has("macunix")
|
||||
let g:netrw_localmovecmd= "mv"
|
||||
@@ -2223,7 +2153,7 @@ fun! netrw#NetRead(mode,...)
|
||||
endif
|
||||
if s:FileReadable(tmpfile) && tmpfile !~ '.tar.bz2$' && tmpfile !~ '.tar.gz$' && tmpfile !~ '.zip' && tmpfile !~ '.tar' && readcmd != 't' && tmpfile !~ '.tar.xz$' && tmpfile !~ '.txz'
|
||||
" call Decho("cleanup by deleting tmpfile<".tmpfile.">",'~'.expand("<slnum>"))
|
||||
NetrwKeepj call s:NetrwDelete(tmpfile)
|
||||
call netrw#fs#Remove(tmpfile)
|
||||
endif
|
||||
NetrwKeepj call s:NetrwOptionsRestore("w:")
|
||||
|
||||
@@ -2591,7 +2521,7 @@ fun! netrw#NetWrite(...) range
|
||||
" call Decho("cleanup",'~'.expand("<slnum>"))
|
||||
if s:FileReadable(tmpfile)
|
||||
" call Decho("tmpfile<".tmpfile."> readable, will now delete it",'~'.expand("<slnum>"))
|
||||
call s:NetrwDelete(tmpfile)
|
||||
call netrw#fs#Remove(tmpfile)
|
||||
endif
|
||||
call s:NetrwOptionsRestore("w:")
|
||||
|
||||
@@ -6424,7 +6354,7 @@ fun! s:NetrwMarkFileCopy(islocal,...)
|
||||
NetrwKeepj call s:NetrwUpload(localfiles,s:netrwmftgt)
|
||||
if getcwd() == tmpdir
|
||||
for fname in s:netrwmarkfilelist_{bufnr('%')}
|
||||
NetrwKeepj call s:NetrwDelete(fname)
|
||||
call netrw#fs#Remove(fname)
|
||||
endfor
|
||||
if s:NetrwLcd(curdir)
|
||||
" call Dret("s:NetrwMarkFileCopy : lcd failure")
|
||||
@@ -7631,7 +7561,9 @@ fun! s:NetrwMenu(domenu)
|
||||
elseif !a:domenu
|
||||
let s:netrwcnt = 0
|
||||
let curwin = winnr()
|
||||
windo if getline(2) =~# "Netrw" | let s:netrwcnt= s:netrwcnt + 1 | endif
|
||||
keepjumps windo if getline(2) =~# "Netrw"
|
||||
let s:netrwcnt = s:netrwcnt + 1
|
||||
endif
|
||||
exe curwin."wincmd w"
|
||||
|
||||
if s:netrwcnt <= 1
|
||||
@@ -10291,7 +10223,7 @@ function! s:NetrwLocalRmFile(path, fname, all)
|
||||
|
||||
if !dir && (all || empty(ok))
|
||||
" This works because delete return 0 if successful
|
||||
if s:NetrwDelete(rmfile)
|
||||
if netrw#fs#Remove(rmfile)
|
||||
call netrw#ErrorMsg(s:ERROR, printf("unable to delete <%s>!", rmfile), 103)
|
||||
else
|
||||
" Remove file only if there are no pending changes
|
||||
@@ -10740,51 +10672,6 @@ fun! s:RestoreRegister(dict)
|
||||
endfor
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" s:NetrwDelete: Deletes a file. {{{2
|
||||
" Uses Steve Hall's idea to insure that Windows paths stay
|
||||
" acceptable. No effect on Unix paths.
|
||||
" Examples of use: let result= s:NetrwDelete(path)
|
||||
function! s:NetrwDelete(path)
|
||||
let path = netrw#fs#WinPath(a:path)
|
||||
|
||||
if !g:netrw_cygwin && has("win32") && exists("+shellslash")
|
||||
let sskeep = &shellslash
|
||||
setl noshellslash
|
||||
let result = delete(path)
|
||||
let &shellslash = sskeep
|
||||
else
|
||||
let result = delete(path)
|
||||
endif
|
||||
|
||||
if result < 0
|
||||
NetrwKeepj call netrw#ErrorMsg(s:WARNING, "delete(".path.") failed!", 71)
|
||||
endif
|
||||
|
||||
return result
|
||||
endfunction
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" s:NetrwBufRemover: removes a buffer that: {{{2s
|
||||
" has buffer-id > 1
|
||||
" is unlisted
|
||||
" is unnamed
|
||||
" does not appear in any window
|
||||
fun! s:NetrwBufRemover(bufid)
|
||||
" call Dfunc("s:NetrwBufRemover(".a:bufid.")")
|
||||
" call Decho("buf#".a:bufid." ".((a:bufid > 1)? ">" : "≯")." must be >1 for removal","~".expand("<slnum>"))
|
||||
" call Decho("buf#".a:bufid." is ".(buflisted(a:bufid)? "listed" : "unlisted"),"~".expand("<slnum>"))
|
||||
" call Decho("buf#".a:bufid." has name <".bufname(a:bufid).">","~".expand("<slnum>"))
|
||||
" call Decho("buf#".a:bufid." has winid#".bufwinid(a:bufid),"~".expand("<slnum>"))
|
||||
|
||||
if a:bufid > 1 && !buflisted(a:bufid) && bufloaded(a:bufid) && bufname(a:bufid) == "" && bufwinid(a:bufid) == -1
|
||||
" call Decho("(s:NetrwBufRemover) removing buffer#".a:bufid,"~".expand("<slnum>"))
|
||||
exe "sil! bd! ".a:bufid
|
||||
endif
|
||||
|
||||
" call Dret("s:NetrwBufRemover")
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" s:NetrwEnew: opens a new buffer, passes netrw buffer variables through {{{2
|
||||
fun! s:NetrwEnew(...)
|
||||
@@ -10794,7 +10681,10 @@ fun! s:NetrwEnew(...)
|
||||
" Clean out the last buffer:
|
||||
" Check if the last buffer has # > 1, is unlisted, is unnamed, and does not appear in a window
|
||||
" If so, delete it.
|
||||
call s:NetrwBufRemover(bufnr("$"))
|
||||
let bufid = bufnr('$')
|
||||
if bufid > 1 && !buflisted(bufid) && bufloaded(bufid) && bufname(bufid) == "" && bufwinid(bufid) == -1
|
||||
execute printf("silent! bdelete! %s", bufid)
|
||||
endif
|
||||
|
||||
" grab a function-local-variable copy of buffer variables
|
||||
" call Decho("make function-local copy of netrw variables",'~'.expand("<slnum>"))
|
||||
@@ -11489,23 +11379,6 @@ endfun
|
||||
|
||||
" Deprecated: {{{1
|
||||
|
||||
function! netrw#Launch(args)
|
||||
call netrw#msg#Deprecate('netrw#Launch', 'v180', {'vim': 'dist#vim9#Launch', 'nvim': 'vim.system'})
|
||||
if !has('nvim')
|
||||
call dist#vim9#Launch(args)
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! netrw#Open(file)
|
||||
call netrw#msg#Deprecate('netrw#Open', 'v180', {'vim': 'dist#vim9#Open', 'nvim': 'vim.ui.open'})
|
||||
call netrw#os#Open(a:file)
|
||||
endfunction
|
||||
|
||||
function! netrw#WinPath(path)
|
||||
call netrw#msg#Deprecate('netrw#WinPath', 'v180', {})
|
||||
call netrw#fs#WinPath(a:path)
|
||||
endfunction
|
||||
|
||||
" }}}
|
||||
" Settings Restoration: {{{1
|
||||
" ==========================
|
||||
|
||||
@@ -162,6 +162,30 @@ function! netrw#fs#WinPath(path)
|
||||
return path
|
||||
endfunction
|
||||
|
||||
" }}}
|
||||
" netrw#fs#Remove: deletes a file. {{{
|
||||
" Uses Steve Hall's idea to insure that Windows paths stay
|
||||
" acceptable. No effect on Unix paths.
|
||||
|
||||
function! netrw#fs#Remove(path)
|
||||
let path = netrw#fs#WinPath(a:path)
|
||||
|
||||
if !g:netrw_cygwin && has("win32") && exists("+shellslash")
|
||||
let sskeep = &shellslash
|
||||
setl noshellslash
|
||||
let result = delete(path)
|
||||
let &shellslash = sskeep
|
||||
else
|
||||
let result = delete(path)
|
||||
endif
|
||||
|
||||
if result < 0
|
||||
call netrw#ErrorMsg(netrw#LogLevel('WARNING'), printf('delete("%s") failed!', path), 71)
|
||||
endif
|
||||
|
||||
return result
|
||||
endfunction
|
||||
|
||||
" }}}
|
||||
|
||||
" vim:ts=8 sts=4 sw=4 et fdm=marker
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
" BREAKAGES IF USED OUTSIDE OF NETRW.VIM ARE EXPECTED.
|
||||
|
||||
let s:deprecation_msgs = []
|
||||
function! netrw#own#Deprecate(name, version, alternatives)
|
||||
function! netrw#msg#Deprecate(name, version, alternatives)
|
||||
" If running on neovim use vim.deprecate
|
||||
if has('nvim')
|
||||
let s:alternative = a:alternatives->get('nvim', v:null)
|
||||
|
||||
@@ -15,7 +15,7 @@ if &cp || exists("g:loaded_netrwSettings")
|
||||
finish
|
||||
endif
|
||||
|
||||
let g:loaded_netrwSettings = "v179"
|
||||
let g:loaded_netrwSettings = "v180"
|
||||
|
||||
" NetrwSettings: {{{
|
||||
|
||||
|
||||
11
runtime/pack/dist/opt/netrw/doc/netrw.txt
vendored
11
runtime/pack/dist/opt/netrw/doc/netrw.txt
vendored
@@ -431,17 +431,6 @@ settings are described below, in |netrw-browser-options|, and in
|
||||
*g:netrw_silent* =0 : transfers done normally
|
||||
=1 : transfers done silently
|
||||
|
||||
*g:netrw_use_errorwindow* =2: messages from netrw will use a popup window
|
||||
Move the mouse and pause to remove the popup window.
|
||||
(default value if popup windows are available)
|
||||
=1 : messages from netrw will use a separate one
|
||||
line window. This window provides reliable
|
||||
delivery of messages.
|
||||
(default value if popup windows are not available)
|
||||
=0 : messages from netrw will use echoerr ;
|
||||
messages don't always seem to show up this
|
||||
way, but one doesn't have to quit the window.
|
||||
|
||||
*g:netrw_cygwin* =1 assume scp under windows is from cygwin. Also
|
||||
permits network browsing to use ls with time and
|
||||
size sorting (default if windows)
|
||||
|
||||
@@ -15,7 +15,7 @@ if &cp || exists("g:loaded_netrwPlugin")
|
||||
finish
|
||||
endif
|
||||
|
||||
let g:loaded_netrwPlugin = "v179"
|
||||
let g:loaded_netrwPlugin = "v180"
|
||||
|
||||
let s:keepcpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
" Vim plugin for showing matching parens
|
||||
" Maintainer: The Vim Project <https://github.com/vim/vim>
|
||||
" Last Change: 2025 Mar 14
|
||||
" Last Change: 2025 Apr 08
|
||||
" Former Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
|
||||
" Exit quickly when:
|
||||
|
||||
@@ -3,12 +3,20 @@ vim9script
|
||||
# Vim runtime support library
|
||||
#
|
||||
# Maintainer: The Vim Project <https://github.com/vim/vim>
|
||||
# Last Change: 2025 Feb 01
|
||||
# Last Change: 2025 Apr 02
|
||||
|
||||
if exists("g:loaded_openPlugin") || &cp
|
||||
finish
|
||||
endif
|
||||
g:loaded_openPlugin = 1
|
||||
|
||||
import autoload 'dist/vim9.vim'
|
||||
|
||||
command -complete=shellcmd -nargs=1 Launch vim9.Launch(trim(<q-args>))
|
||||
command -complete=file -nargs=1 Open vim9.Open(trim(<q-args>))
|
||||
|
||||
# technically, -nargs=1 is correct, but this throws E480: No match
|
||||
# when the argument contains a wildchar on Windows
|
||||
command -complete=file -nargs=* Open vim9.Open(trim(<q-args>))
|
||||
|
||||
const no_gx = get(g:, "nogx", get(g:, "netrw_nogx", false))
|
||||
if !no_gx
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
" Date: Dec 07, 2021
|
||||
" Maintainer: This runtime file is looking for a new maintainer.
|
||||
" Former Maintainer: Charles E Campbell
|
||||
" Last Change:
|
||||
" 2025 Apr 02 by Vim Project: add *.whl to list of zip extensions (#17038)
|
||||
" License: Vim License (see vim's :help license)
|
||||
" Copyright: Copyright (C) 2005-2016 Charles E. Campbell {{{1
|
||||
" Permission is hereby granted to use and distribute this code,
|
||||
@@ -28,7 +30,7 @@ set cpo&vim
|
||||
" ---------------------------------------------------------------------
|
||||
" Options: {{{1
|
||||
if !exists("g:zipPlugin_ext")
|
||||
let g:zipPlugin_ext='*.aar,*.apk,*.celzip,*.crtx,*.docm,*.docx,*.dotm,*.dotx,*.ear,*.epub,*.gcsx,*.glox,*.gqsx,*.ja,*.jar,*.kmz,*.odb,*.odc,*.odf,*.odg,*.odi,*.odm,*.odp,*.ods,*.odt,*.otc,*.otf,*.otg,*.oth,*.oti,*.otp,*.ots,*.ott,*.oxt,*.potm,*.potx,*.ppam,*.ppsm,*.ppsx,*.pptm,*.pptx,*.sldx,*.thmx,*.vdw,*.war,*.wsz,*.xap,*.xlam,*.xlsb,*.xlsm,*.xlsx,*.xltm,*.xltx,*.xpi,*.zip'
|
||||
let g:zipPlugin_ext='*.aar,*.apk,*.celzip,*.crtx,*.docm,*.docx,*.dotm,*.dotx,*.ear,*.epub,*.gcsx,*.glox,*.gqsx,*.ja,*.jar,*.kmz,*.odb,*.odc,*.odf,*.odg,*.odi,*.odm,*.odp,*.ods,*.odt,*.otc,*.otf,*.otg,*.oth,*.oti,*.otp,*.ots,*.ott,*.oxt,*.potm,*.potx,*.ppam,*.ppsm,*.ppsx,*.pptm,*.pptx,*.sldx,*.thmx,*.vdw,*.war,*.whl,*.wsz,*.xap,*.xlam,*.xlsb,*.xlsm,*.xlsx,*.xltm,*.xltx,*.xpi,*.zip'
|
||||
endif
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
" Maintainer: Avid Seeker <avidseeker7@protonmail.com>
|
||||
" Andy Hammerlindl
|
||||
" Last Change: 2022 Jan 05
|
||||
" 2025 Apr 16 by Vim Project (set 'cpoptions' for line continuation, #17121)
|
||||
|
||||
" Hacked together from Bram Moolenaar's C syntax file, and Claudio Fleiner's
|
||||
" Java syntax file.
|
||||
@@ -11,6 +12,9 @@ if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" useful C/C++/Java keywords
|
||||
syn keyword asyStatement break return continue unravel
|
||||
syn keyword asyConditional if else
|
||||
@@ -241,3 +245,5 @@ hi def link asyTodo Todo
|
||||
hi def link asyPathSpec Statement
|
||||
|
||||
let b:current_syntax = "asy"
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
151
runtime/syntax/dax.vim
Normal file
151
runtime/syntax/dax.vim
Normal file
@@ -0,0 +1,151 @@
|
||||
" Vim syntax file
|
||||
" Language: Data Analysis Expressions (DAX)
|
||||
" Maintainer: Anarion Dunedain <anarion80@gmail.com>
|
||||
" Last Change:
|
||||
" 2025 Mar 28 First version
|
||||
|
||||
" quit when a syntax file was already loaded
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
let s:keepcpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" There are DAX functions with dot in the name (like VARX.S)
|
||||
setlocal iskeyword+=.
|
||||
" DAX is case insensitive
|
||||
syn case ignore
|
||||
|
||||
" DAX statements
|
||||
syn keyword daxStatement DEFINE EVALUATE MEASURE RETURN VAR
|
||||
syn match daxStatement "ORDER\ BY"
|
||||
syn match daxStatement "START\ AT"
|
||||
|
||||
" TODO
|
||||
syn keyword daxTodo FIXME NOTE TODO OPTIMIZE XXX HACK contained
|
||||
|
||||
" DAX functions
|
||||
syn keyword daxFunction
|
||||
\ ABS ACCRINT ACCRINTM ACOS ACOSH ACOT ACOTH
|
||||
\ ADDCOLUMNS ADDMISSINGITEMS ALL ALLCROSSFILTERED ALLEXCEPT ALLNOBLANKROW ALLSELECTED
|
||||
\ AMORDEGRC AMORLINC AND APPROXIMATEDISTINCTCOUNT ASIN ASINH ATAN
|
||||
\ ATANH AVERAGE AVERAGEA AVERAGEX BETA.DIST BETA.INV BITAND
|
||||
\ BITLSHIFT BITOR BITRSHIFT BITXOR BLANK CALCULATE CALCULATETABLE
|
||||
\ CALENDAR CALENDARAUTO CEILING CHISQ.DIST CHISQ.DIST.RT CHISQ.INV CHISQ.INV.RT
|
||||
\ CLOSINGBALANCEMONTH CLOSINGBALANCEQUARTER CLOSINGBALANCEYEAR COALESCE COLUMNSTATISTICS COMBIN COMBINA
|
||||
\ COMBINEVALUES CONCATENATE CONCATENATEX CONFIDENCE.NORM CONFIDENCE.T CONTAINSROW
|
||||
\ CONTAINSSTRING CONTAINSSTRINGEXACT CONVERT COS COSH COT COTH
|
||||
\ COUNT COUNTA COUNTAX COUNTBLANK COUNTROWS COUNTX COUPDAYBS
|
||||
\ COUPDAYS COUPDAYSNC COUPNCD COUPNUM COUPPCD CROSSFILTER CROSSJOIN
|
||||
\ CUMIPMT CUMPRINC CURRENCY CURRENTGROUP CUSTOMDATA DATATABLE DATE
|
||||
\ DATEADD DATEDIFF DATESBETWEEN DATESINPERIOD DATESMTD DATESQTD DATESYTD
|
||||
\ DATEVALUE DAY DB DDB DEGREES DETAILROWS DISC
|
||||
\ DISTINCT column DISTINCT table DISTINCTCOUNT DISTINCTCOUNTNOBLANK DIVIDE DOLLARDE DOLLARFR
|
||||
\ DURATION EARLIER EARLIEST EDATE EFFECT ENDOFMONTH ENDOFQUARTER
|
||||
\ ENDOFYEAR EOMONTH ERROR EVALUATEANDLOG EVEN EXACT EXCEPT
|
||||
\ EXP EXPON.DIST FACT FALSE FILTER FILTERS FIND
|
||||
\ FIRST FIRSTDATE FIXED FLOOR FORMAT FV GCD
|
||||
\ GENERATE GENERATEALL GENERATESERIES GEOMEAN GEOMEANX GROUPBY HASONEFILTER
|
||||
\ HASONEVALUE HOUR IF IF.EAGER IFERROR IGNORE INDEX
|
||||
\ INFO.ALTERNATEOFDEFINITIONS INFO.ANNOTATIONS INFO.ATTRIBUTEHIERARCHIES INFO.ATTRIBUTEHIERARCHYSTORAGES INFO.CALCDEPENDENCY INFO.CALCULATIONGROUPS INFO.CALCULATIONITEMS
|
||||
\ INFO.CATALOGS INFO.CHANGEDPROPERTIES INFO.COLUMNPARTITIONSTORAGES INFO.COLUMNPERMISSIONS INFO.COLUMNS INFO.COLUMNSTORAGES INFO.CSDLMETADATA
|
||||
\ INFO.CULTURES INFO.DATACOVERAGEDEFINITIONS INFO.DATASOURCES INFO.DELTATABLEMETADATASTORAGES INFO.DEPENDENCIES INFO.DETAILROWSDEFINITIONS INFO.DICTIONARYSTORAGES
|
||||
\ INFO.EXCLUDEDARTIFACTS INFO.EXPRESSIONS INFO.EXTENDEDPROPERTIES INFO.FORMATSTRINGDEFINITIONS INFO.FUNCTIONS INFO.GENERALSEGMENTMAPSEGMENTMETADATASTORAGES INFO.GROUPBYCOLUMNS
|
||||
\ INFO.HIERARCHIES INFO.HIERARCHYSTORAGES INFO.KPIS INFO.LEVELS INFO.LINGUISTICMETADATA INFO.MEASURES INFO.MODEL
|
||||
\ INFO.OBJECTTRANSLATIONS INFO.PARQUETFILESTORAGES INFO.PARTITIONS INFO.PARTITIONSTORAGES INFO.PERSPECTIVECOLUMNS INFO.PERSPECTIVEHIERARCHIES INFO.PERSPECTIVEMEASURES
|
||||
\ INFO.PERSPECTIVES INFO.PERSPECTIVETABLES INFO.PROPERTIES INFO.QUERYGROUPS INFO.REFRESHPOLICIES INFO.RELATEDCOLUMNDETAILS INFO.RELATIONSHIPINDEXSTORAGES
|
||||
\ INFO.RELATIONSHIPS INFO.RELATIONSHIPSTORAGES INFO.ROLEMEMBERSHIPS INFO.ROLES INFO.SEGMENTMAPSTORAGES INFO.SEGMENTSTORAGES INFO.STORAGEFILES
|
||||
\ INFO.STORAGEFOLDERS INFO.STORAGETABLECOLUMNS INFO.STORAGETABLECOLUMNSEGMENTS INFO.STORAGETABLES INFO.TABLEPERMISSIONS INFO.TABLES INFO.TABLESTORAGES
|
||||
\ INFO.VARIATIONS INFO.VIEW.COLUMNS INFO.VIEW.MEASURES INFO.VIEW.RELATIONSHIPS INFO.VIEW.TABLES INT INTERSECT
|
||||
\ INTRATE IPMT ISAFTER ISBLANK ISCROSSFILTERED ISEMPTY ISERROR
|
||||
\ ISEVEN ISFILTERED ISINSCOPE ISLOGICAL ISNONTEXT ISNUMBER ISO.CEILING
|
||||
\ ISODD ISONORAFTER ISPMT ISSELECTEDMEASURE ISSUBTOTAL ISTEXT KEEPFILTERS
|
||||
\ LAST LASTDATE LCM LEFT LEN LINEST LINESTX
|
||||
\ LN LOG LOG10 LOOKUPVALUE LOWER MATCHBY MAX
|
||||
\ MAXA MAXX MDURATION MEDIAN MEDIANX MID MIN
|
||||
\ MINA MINUTE MINX MOD MONTH MOVINGAVERAGE MROUND
|
||||
\ NATURALINNERJOIN NATURALLEFTOUTERJOIN NETWORKDAYS NEXT NEXTDAY NEXTMONTH NEXTQUARTER
|
||||
\ NEXTYEAR NOMINAL NONVISUAL NORM.DIST NORM.INV NORM.S.DIST NORM.S.INV
|
||||
\ NOT NOW NPER ODD ODDFPRICE ODDFYIELD ODDLPRICE
|
||||
\ ODDLYIELD OFFSET OPENINGBALANCEMONTH OPENINGBALANCEQUARTER OPENINGBALANCEYEAR OR ORDERBY
|
||||
\ PARALLELPERIOD PARTITIONBY PATH PATHCONTAINS PATHITEM PATHITEMREVERSE PATHLENGTH
|
||||
\ PDURATION PERCENTILE.EXC PERCENTILE.INC PERCENTILEX.EXC PERCENTILEX.INC PERMUT PI
|
||||
\ PMT POISSON.DIST POWER PPMT PREVIOUS PREVIOUSDAY PREVIOUSMONTH
|
||||
\ PREVIOUSQUARTER PREVIOUSYEAR PRICE PRICEDISC PRICEMAT PRODUCT PRODUCTX
|
||||
\ PV QUARTER QUOTIENT RADIANS RAND RANDBETWEEN RANGE
|
||||
\ RANK RANK.EQ RANKX RATE RECEIVED RELATED RELATEDTABLE
|
||||
\ REMOVEFILTERS REPLACE REPT RIGHT ROLLUP ROLLUPADDISSUBTOTAL ROLLUPGROUP
|
||||
\ ROLLUPISSUBTOTAL ROUND ROUNDDOWN ROUNDUP ROW ROWNUMBER RRI
|
||||
\ RUNNINGSUM SAMEPERIODLASTYEAR SAMPLE SEARCH SECOND SELECTCOLUMNS SELECTEDMEASURE
|
||||
\ SELECTEDMEASUREFORMATSTRING SELECTEDMEASURENAME SELECTEDVALUE SIGN SIN SINH SLN
|
||||
\ SQRT SQRTPI STARTOFMONTH STARTOFQUARTER STARTOFYEAR STDEV.P STDEV.S
|
||||
\ STDEVX.P STDEVX.S SUBSTITUTE SUBSTITUTEWITHINDEX SUM SUMMARIZE SUMMARIZECOLUMNS
|
||||
\ SUMX SWITCH SYD T.DIST T.DIST.2T T.DIST.RT T.INV
|
||||
\ T.INV.2t TAN TANH TBILLEQ TBILLPRICE TBILLYIELD TIME
|
||||
\ TIMEVALUE TOCSV TODAY TOJSON TOPN TOTALMTD TOTALQTD
|
||||
\ TOTALYTD TREATAS TRIM TRUE TRUNC Table Constructor UNICHAR
|
||||
\ UNICODE UNION UPPER USERCULTURE USERELATIONSHIP USERNAME USEROBJECTID
|
||||
\ USERPRINCIPALNAME UTCNOW UTCTODAY VALUE VALUES VAR.P VAR.S
|
||||
\ VARX.P VARX.S VDB WEEKDAY WEEKNUM WINDOW XIRR
|
||||
\ XNPV YEAR YEARFRAC YIELD YIELDDISC YIELDMAT
|
||||
|
||||
" CONTAINS is a vim syntax keyword and can't be a defined keyword
|
||||
syn match daxFunction "CONTAINS"
|
||||
|
||||
" Numbers
|
||||
" integer number, or floating point number without a dot.
|
||||
syn match daxNumber "\<\d\+\>"
|
||||
" floating point number, with dot
|
||||
syn match daxNumber "\<\d\+\.\d*\>"
|
||||
|
||||
syn match daxFloat "[-+]\=\<\d\+[eE][\-+]\=\d\+"
|
||||
syn match daxFloat "[-+]\=\<\d\+\.\d*\([eE][\-+]\=\d\+\)\="
|
||||
syn match daxFloat "[-+]\=\<\.\d\+\([eE][\-+]\=\d\+\)\="
|
||||
|
||||
" String and Character constants
|
||||
syn region daxString start=+"+ end=+"+
|
||||
|
||||
" DAX Table and Column names
|
||||
syn region daxTable start=+'+ms=s+1 end=+'+me=e-1
|
||||
syn region daxColumn matchgroup=daxParen start=/\[/ end=/\]/
|
||||
|
||||
" Operators
|
||||
syn match daxOperator "+"
|
||||
syn match daxOperator "-"
|
||||
syn match daxOperator "*"
|
||||
syn match daxOperator "/"
|
||||
syn match daxOperator "\^"
|
||||
syn match daxOperator "\ NOT(\s\|\\)"
|
||||
syn match daxOperator "\ IN\ "
|
||||
syn match daxOperator "&&"
|
||||
syn match daxOperator "&"
|
||||
syn match daxOperator "\\|\\|"
|
||||
syn match daxOperator "[<>]=\="
|
||||
syn match daxOperator "<>"
|
||||
syn match daxOperator "="
|
||||
syn match daxOperator ">"
|
||||
syn match daxOperator "<"
|
||||
|
||||
" Comments
|
||||
syn region daxComment start="\(^\|\s\)\//" end="$" contains=daxTodo
|
||||
syn region daxComment start="/\*" end="\*/" contains=daxTodo
|
||||
|
||||
" Define highlighting
|
||||
hi def link daxComment Comment
|
||||
hi def link daxNumber Number
|
||||
hi def link daxFloat Float
|
||||
hi def link daxString String
|
||||
hi def link daxStatement Keyword
|
||||
hi def link daxOperator Operator
|
||||
hi def link daxFunction Function
|
||||
hi def link daxTable Number
|
||||
hi def link daxColumn Statement
|
||||
hi def link daxParen Delimiter
|
||||
hi def link daxTodo Todo
|
||||
|
||||
let b:current_syntax = "dax"
|
||||
|
||||
let &cpo = s:keepcpo
|
||||
unlet! s:keepcpo
|
||||
|
||||
" vim: ts=8
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim syntax file generator
|
||||
" Language: Vim script
|
||||
" Maintainer: Hirohito Higashi (h_east)
|
||||
" Last Change: 2025 Mar 09
|
||||
" Last Change: 2025 Apr 10
|
||||
|
||||
let s:keepcpo= &cpo
|
||||
set cpo&vim
|
||||
@@ -284,14 +284,22 @@ function s:get_vim_command_type(cmd_name)
|
||||
enum
|
||||
execute
|
||||
export
|
||||
filter
|
||||
final
|
||||
for
|
||||
function
|
||||
grep
|
||||
grepadd
|
||||
helpgrep
|
||||
if
|
||||
interface
|
||||
insert
|
||||
let
|
||||
loadkeymap
|
||||
lhelpgrep
|
||||
lvimgrep
|
||||
lvimgrepadd
|
||||
make
|
||||
map
|
||||
mapclear
|
||||
match
|
||||
@@ -300,6 +308,7 @@ function s:get_vim_command_type(cmd_name)
|
||||
normal
|
||||
popup
|
||||
public
|
||||
redir
|
||||
return
|
||||
set
|
||||
setglobal
|
||||
@@ -307,6 +316,7 @@ function s:get_vim_command_type(cmd_name)
|
||||
sleep
|
||||
smagic
|
||||
snomagic
|
||||
sort
|
||||
static
|
||||
substitute
|
||||
syntax
|
||||
@@ -317,6 +327,8 @@ function s:get_vim_command_type(cmd_name)
|
||||
unmap
|
||||
var
|
||||
vim9script
|
||||
vimgrep
|
||||
vimgrepadd
|
||||
while
|
||||
EOL
|
||||
" Required for original behavior
|
||||
@@ -733,9 +745,9 @@ function s:update_syntax_vim_file(vim_info)
|
||||
let lnum = s:search_and_check('vimVarName', base_fname, str_info)
|
||||
let lnum = s:append_syn_any(lnum, str_info, li)
|
||||
|
||||
" vimUserAttrbCmplt
|
||||
" vimUserAttrComplete
|
||||
let li = a:vim_info.compl_name
|
||||
let lnum = s:search_and_check('vimUserCmdAttrCmplt', base_fname, str_info)
|
||||
let lnum = s:search_and_check('vimUserCmdAttrComplete', base_fname, str_info)
|
||||
let lnum = s:append_syn_any(lnum, str_info, li)
|
||||
|
||||
" vimUserAttrbAddr
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" Language: Vim script
|
||||
" Maintainer: Hirohito Higashi <h.east.727 ATMARK gmail.com>
|
||||
" Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2025 Mar 17
|
||||
" Last Change: 2025 Apr 10
|
||||
" Former Maintainer: Charles E. Campbell
|
||||
|
||||
" DO NOT CHANGE DIRECTLY.
|
||||
@@ -230,7 +230,7 @@ syn match vimNumber '\<0z\%(\x\x\)\+\%(\.\%(\x\x\)\+\)*' skipwhite nextgroup=vim
|
||||
syn case match
|
||||
|
||||
" All vimCommands are contained by vimIsCommand. {{{2
|
||||
syn cluster vimCmdList contains=vimAbb,vimAddress,vimAutoCmd,vimAugroup,vimBehave,vimCall,vimCatch,vimConst,vimDebuggreedy,vimDef,vimDefFold,vimDelcommand,@vimEcho,vimEnddef,vimEndfunction,vimExecute,vimIsCommand,vimExtCmd,vimFor,vimFunction,vimFuncFold,vimGlobal,vimHighlight,vimLet,vimLoadkeymap,vimLockvar,vimMap,vimMark,vimMatch,vimNotFunc,vimNormal,vimSet,vimSleep,vimSyntax,vimThrow,vimUnlet,vimUnlockvar,vimUnmap,vimUserCmd,vimMenu,vimMenutranslate,@vim9CmdList,@vimExUserCmdList
|
||||
syn cluster vimCmdList contains=vimAbb,vimAddress,vimAutoCmd,vimAugroup,vimBehave,vimCall,vimCatch,vimConst,vimDebuggreedy,vimDef,vimDefFold,vimDelcommand,@vimEcho,vimEnddef,vimEndfunction,vimExecute,vimIsCommand,vimExtCmd,vimExFilter,vimFor,vimFunction,vimFuncFold,vimGrep,vimGrepAdd,vimGlobal,vimHelpgrep,vimHighlight,vimLet,vimLoadkeymap,vimLockvar,vimMake,vimMap,vimMark,vimMatch,vimNotFunc,vimNormal,vimRedir,vimSet,vimSleep,vimSort,vimSyntax,vimThrow,vimUnlet,vimUnlockvar,vimUnmap,vimUserCmd,vimVimgrep,vimVimgrepadd,vimMenu,vimMenutranslate,@vim9CmdList,@vimExUserCmdList
|
||||
syn cluster vim9CmdList contains=vim9Abstract,vim9Class,vim9Const,vim9Enum,vim9Export,vim9Final,vim9For,vim9Interface,vim9Type,vim9Var
|
||||
syn match vimCmdSep "\\\@1<!|" skipwhite nextgroup=@vimCmdList,vimSubst1,vimFunc
|
||||
syn match vimCmdSep ":\+" skipwhite nextgroup=@vimCmdList,vimSubst1
|
||||
@@ -361,28 +361,22 @@ syn cluster vimOperContinue contains=vimOperContinue,vimOperContinueComment
|
||||
" Lambda Expressions: {{{2
|
||||
" ==================
|
||||
syn match vimLambdaOperator contained "->" skipwhite nextgroup=@vimExprList
|
||||
syn region vimLambda contained matchgroup=Delimiter start="{\ze[[:space:][:alnum:]_.,]*->" end="}" end="$" skip=+\s*\n\s*\\\|\s*\n\s*"\\ + contains=@vimContinue,@vimExprList,vimLambdaParams
|
||||
syn match vimLambdaParams contained "{\@1<=.\{-}\%(->\)\@=" nextgroup=vimLambdaOperator contains=vimFuncParam
|
||||
syn region vimLambda contained
|
||||
\ matchgroup=vimLambdaBrace
|
||||
\ start=+{\ze[[:space:][:alnum:]_.,]*\%(\n\s*\%(\\[[:space:][:alnum:]_.,]*\|"\\ .*\)\)*->+
|
||||
\ skip=+\n\s*\%(\\\|"\\ \)+
|
||||
\ end="}" end="$"
|
||||
\ contains=@vimContinue,@vimExprList,vimLambdaParams
|
||||
syn match vimLambdaParams contained "\%({\n\=\)\@1<=\_.\{-}\%(->\)\@=" nextgroup=vimLambdaOperator contains=@vimContinue,vimFuncParam
|
||||
|
||||
syn match vim9LambdaOperator contained "=>" skipwhite skipempty nextgroup=@vimExprList,vim9LambdaBlock,vim9LambdaOperatorComment
|
||||
syn match vim9LambdaParamsParen contained "[()]"
|
||||
syn region vim9LambdaParams contained
|
||||
\ matchgroup=vim9LambdaParamsParen
|
||||
\ start="(\ze\s*\(\.\.\.\)\=\h\w*[,:]\%(\s\|$\)"
|
||||
\ start="(\ze\s*\n
|
||||
"\ line continuations
|
||||
\\%(\s*\%(#\\ .*\|\\\s*\)\n\)*\s*\\\s*
|
||||
"\ parameter names
|
||||
\\(\.\.\.\)\=\h\w*[,:]\%(\s\|$\)"
|
||||
\ end=")\ze\%(:\s\|\s\+=>\)"
|
||||
\ matchgroup=vimContinue
|
||||
\ end="^\s*\\\ze\s\+=>"
|
||||
\ skipwhite nextgroup=vim9LambdaReturnType,vim9LambdaOperator
|
||||
\ contains=@vim9Continue,vimDefParam,vim9LambdaParamsParen
|
||||
syn match vim9LambdaParams contained "(\s*)\|(\s*\(\.\.\.\)\=\h\w*\s*)\ze\%(:\s\|\s\+=>\)" skipwhite nextgroup=vim9LambdaReturnType,vim9LambdaOperator contains=vimDefParam,vim9LambdaParamsParen
|
||||
|
||||
syn region vim9LambdaReturnType contained start=":\s" end="$" end="\ze#" end="\ze=>" skipwhite skipempty nextgroup=vim9LambdaOperator,vim9LamdaOperatorComment contains=vimTypeSep transparent
|
||||
syn region vim9LambdaBlock contained matchgroup=vimSep start="{" end="^\s*\zs}" contains=@vimDefBodyList
|
||||
syn match vim9LambdaOperator contained "=>" skipwhite skipempty nextgroup=@vimExprList,vim9LambdaBlock,vim9LambdaOperatorComment
|
||||
syn match vim9LambdaParen contained "[()]"
|
||||
syn match vim9LambdaParams contained
|
||||
\ "(\%(\<func(\|[^(]\)*\%(\n\s*\\\%(\<func(\|[^(]\)*\|\n\s*#\\ .*\)*\ze\s\+=>"
|
||||
\ skipwhite nextgroup=vim9LambdaOperator
|
||||
\ contains=@vim9Continue,vimDefParam,vim9LambdaParen,vim9LambdaReturnType
|
||||
syn region vim9LambdaReturnType contained start=")\@<=:\s" end="\ze\s*#" end="\ze\s*=>" contains=@vim9Continue,@vimType transparent
|
||||
syn region vim9LambdaBlock contained matchgroup=vimSep start="{" end="^\s*\zs}" contains=@vimDefBodyList
|
||||
|
||||
syn match vim9LambdaOperatorComment contained "#.*" skipwhite skipempty nextgroup=@vimExprList,vim9LambdaBlock,vim9LambdaOperatorComment
|
||||
|
||||
@@ -457,9 +451,10 @@ syn match vimParamType contained ":\s" skipwhite skipnl nextgroup=@vimType conta
|
||||
|
||||
syn match vimTypeSep contained ":\%(\s\|\n\)\@=" skipwhite nextgroup=@vimType
|
||||
syn keyword vimType contained any blob bool channel float job number string void
|
||||
syn match vimType contained "\<func\>"
|
||||
syn region vimCompoundType contained matchgroup=vimType start="\<func(" end=")" nextgroup=vimTypeSep contains=@vimType oneline transparent
|
||||
syn region vimCompoundType contained matchgroup=vimType start="\<\%(list\|dict\)<" end=">" contains=@vimType oneline transparent
|
||||
syn match vimType contained "\<\%(func\)\>"
|
||||
syn region vimCompoundType contained matchgroup=vimType start="\<func(" end=")" nextgroup=vimTypeSep contains=@vim9Continue,@vimType transparent
|
||||
syn region vimCompoundType contained matchgroup=vimType start="\<tuple<" end=">" contains=@vim9Continue,@vimType transparent
|
||||
syn region vimCompoundType contained matchgroup=vimType start="\<\%(list\|dict\)<" end=">" contains=@vimType oneline transparent
|
||||
syn match vimUserType contained "\<\%(\h\w*\.\)*\u\w*\>"
|
||||
|
||||
syn cluster vimType contains=vimType,vimCompoundType,vimUserType
|
||||
@@ -619,22 +614,30 @@ syn match vimSpecFileMod "\(:[phtre]\)\+" contained
|
||||
" User-Specified Commands: {{{2
|
||||
" =======================
|
||||
syn cluster vimUserCmdList contains=@vimCmdList,vimCmplxRepeat,@vimComment,vimCtrlChar,vimEscapeBrace,vimFunc,vimNotation,vimNumber,vimOper,vimRegister,vimSpecFile,vimString,vimSubst,vimSubstRep,vimSubstRange
|
||||
syn keyword vimUserCmdKey contained com[mand]
|
||||
syn match vimUserCmdName contained "\<\u[[:alnum:]]*\>" skipwhite nextgroup=vimUserCmdBlock
|
||||
syn match vimUserCmd "\<com\%[mand]\>!\=.*$" contains=vimUserCmdKey,vimBang,vimUserCmdAttr,vimUserCmdAttrError,vimUserCmdName,@vimUserCmdList,vimComFilter
|
||||
syn match vimUserCmdAttrError contained "-\a\+\ze\%(\s\|=\)"
|
||||
syn match vimUserCmdAttr contained "-addr=" contains=vimUserCmdAttrKey nextgroup=vimUserCmdAttrAddr
|
||||
syn match vimUserCmdAttr contained "-bang\>" contains=vimUserCmdAttrKey
|
||||
syn match vimUserCmdAttr contained "-bar\>" contains=vimUserCmdAttrKey
|
||||
syn match vimUserCmdAttr contained "-buffer\>" contains=vimUserCmdAttrKey
|
||||
syn match vimUserCmdAttr contained "-complete=" contains=vimUserCmdAttrKey nextgroup=vimUserCmdAttrCmplt,vimUserCmdError
|
||||
syn match vimUserCmdAttr contained "-count\>" contains=vimUserCmdAttrKey
|
||||
syn match vimUserCmdAttr contained "-count=" contains=vimUserCmdAttrKey nextgroup=vimNumber
|
||||
syn match vimUserCmdAttr contained "-keepscript\>" contains=vimUserCmdAttrKey
|
||||
syn match vimUserCmdAttr contained "-nargs=" contains=vimUserCmdAttrKey nextgroup=vimUserCmdAttrNargs
|
||||
syn match vimUserCmdAttr contained "-range\>" contains=vimUserCmdAttrKey
|
||||
syn match vimUserCmdAttr contained "-range=" contains=vimUserCmdAttrKey nextgroup=vimNumber,vimUserCmdAttrRange
|
||||
syn match vimUserCmdAttr contained "-register\>" contains=vimUserCmdAttrKey
|
||||
|
||||
syn match vimUserCmd "\<com\%[mand]\>!\=" skipwhite nextgroup=vimUserCmdAttrs,vimUserCmdName contains=vimBang
|
||||
syn match vimUserCmd +\<com\%[mand]\>!\=\ze\s*\n\s*\%(\\\|["#]\\ \)+ skipwhite skipnl nextgroup=vimUserCmdAttrs,vimUserCmdName contains=vimBang
|
||||
|
||||
syn region vimUserCmdAttrs contained
|
||||
\ start="-\l"
|
||||
\ start=+^\s*\%(\\\|["#]\\ \)+
|
||||
\ end="\ze\s\u"
|
||||
\ skipwhite nextgroup=vimUserCmdName
|
||||
\ contains=@vimContinue,vimUserCmdAttr,vimUserCmdAttrError
|
||||
\ transparent
|
||||
syn match vimUserCmdAttrError contained "-\a\+\ze\%(\s\|=\)"
|
||||
syn match vimUserCmdAttr contained "-addr=" contains=vimUserCmdAttrKey nextgroup=vimUserCmdAttrAddr
|
||||
syn match vimUserCmdAttr contained "-bang\>" contains=vimUserCmdAttrKey
|
||||
syn match vimUserCmdAttr contained "-bar\>" contains=vimUserCmdAttrKey
|
||||
syn match vimUserCmdAttr contained "-buffer\>" contains=vimUserCmdAttrKey
|
||||
syn match vimUserCmdAttr contained "-complete=" contains=vimUserCmdAttrKey nextgroup=vimUserCmdAttrComplete,vimUserCmdError
|
||||
syn match vimUserCmdAttr contained "-count\>" contains=vimUserCmdAttrKey
|
||||
syn match vimUserCmdAttr contained "-count=" contains=vimUserCmdAttrKey nextgroup=vimNumber
|
||||
syn match vimUserCmdAttr contained "-keepscript\>" contains=vimUserCmdAttrKey
|
||||
syn match vimUserCmdAttr contained "-nargs=" contains=vimUserCmdAttrKey nextgroup=vimUserCmdAttrNargs
|
||||
syn match vimUserCmdAttr contained "-range\>" contains=vimUserCmdAttrKey
|
||||
syn match vimUserCmdAttr contained "-range=" contains=vimUserCmdAttrKey nextgroup=vimNumber,vimUserCmdAttrRange
|
||||
syn match vimUserCmdAttr contained "-register\>" contains=vimUserCmdAttrKey
|
||||
|
||||
syn match vimUserCmdAttrNargs contained "[01*?+]"
|
||||
syn match vimUserCmdAttrRange contained "%"
|
||||
@@ -645,17 +648,34 @@ endif
|
||||
|
||||
syn case ignore
|
||||
syn keyword vimUserCmdAttrKey contained a[ddr] ban[g] bar bu[ffer] com[plete] cou[nt] k[eepscript] n[args] ra[nge] re[gister]
|
||||
" GEN_SYN_VIM: vimUserCmdAttrCmplt, START_STR='syn keyword vimUserCmdAttrCmplt contained', END_STR=''
|
||||
syn keyword vimUserCmdAttrCmplt contained custom customlist nextgroup=vimUserCmdAttrCmpltFunc,vimUserCmdError
|
||||
syn match vimUserCmdAttrCmpltFunc contained ",\%([sS]:\|<[sS][iI][dD]>\)\=\%(\h\w*\%([.#]\h\w*\)\+\|\h\w*\)"hs=s+1 nextgroup=vimUserCmdError
|
||||
|
||||
" GEN_SYN_VIM: vimUserCmdAttrComplete, START_STR='syn keyword vimUserCmdAttrComplete contained', END_STR=''
|
||||
syn keyword vimUserCmdAttrComplete contained arglist augroup behave breakpoint buffer color command compiler cscope diff_buffer dir dir_in_path environment event expression file file_in_path filetype function help highlight history keymap locale mapclear mapping menu messages option packadd runtime scriptnames shellcmd shellcmdline sign syntax syntime tag tag_listfiles user var
|
||||
syn keyword vimUserCmdAttrComplete contained custom customlist nextgroup=vimUserCmdAttrCompleteFunc,vimUserCmdError
|
||||
syn match vimUserCmdAttrCompleteFunc contained ",\%([bwglstav]:\|<[sS][iI][dD]>\)\=\h\w*\%([.#]\h\w*\)*"hs=s+1 nextgroup=vimUserCmdError contains=vimVarScope,vimFuncSID
|
||||
|
||||
" GEN_SYN_VIM: vimUserCmdAttrAddr, START_STR='syn keyword vimUserCmdAttrAddr contained', END_STR=''
|
||||
syn match vimUserCmdAttrAddr contained "?"
|
||||
syn keyword vimUserCmdAttrAddr contained arguments arg buffers buf lines line loaded_buffers load other quickfix qf tabs tab windows win
|
||||
syn match vimUserCmdAttrAddr contained "?"
|
||||
syn case match
|
||||
|
||||
syn region vimUserCmdBlock contained matchgroup=vimSep start="{" end="^\s*\zs}" contains=@vimDefBodyList
|
||||
syn match vimUserCmdName contained "\<\u[[:alnum:]]*\>" skipwhite nextgroup=vimUserCmdBlock,vimUserCmdReplacement
|
||||
syn match vimUserCmdName contained +\<\u[[:alnum:]]*\>\ze\s*\n\s*\%(\\\|["#]\\ \)+ skipwhite skipnl nextgroup=vimUserCmdBlock,vimUserCmdReplacement
|
||||
syn region vimUserCmdReplacement contained
|
||||
\ start="\S"
|
||||
\ start=+^\s*\%(\\\|["#]\\ \)+
|
||||
\ skip=+\n\s*\%(\\\|["#]\\ \)+
|
||||
\ end="$"
|
||||
\ contains=@vimContinue,@vimUserCmdList,vimComFilter
|
||||
syn region vimUserCmdBlock contained
|
||||
\ matchgroup=vimSep
|
||||
\ start="{"
|
||||
\ end="^\s*\zs}"
|
||||
\ contains=@vimDefBodyList
|
||||
|
||||
syn match vimDelcommand "\<delc\%[ommand]\>" skipwhite nextgroup=vimDelcommandAttr
|
||||
syn match vimDelcommandAttr contained "-buffer\>"
|
||||
syn match vimDelcommand "\<delc\%[ommand]\>" skipwhite nextgroup=vimDelcommandAttr,vimDelcommandName
|
||||
syn match vimDelcommandAttr contained "-buffer\>" skipwhite nextgroup=vimDelcommandName
|
||||
syn match vimDelcommandName contained "\<\u[[:alnum:]]*\>"
|
||||
|
||||
" Lower Priority Comments: after some vim commands... {{{2
|
||||
" =======================
|
||||
@@ -776,12 +796,31 @@ syn match vimCmplxRepeat '@[0-9a-z".=@:]\ze\($\|[^a-zA-Z]\>\)'
|
||||
|
||||
" Set command and associated set-options (vimOptions) with comment {{{2
|
||||
syn match vimSet "\<\%(setl\%[ocal]\|setg\%[lobal]\|se\%[t]\)\>" skipwhite nextgroup=vimSetBang,vimSetArgs
|
||||
syn region vimSetArgs contained start="\S" skip=+\\|\|\n\s*\\\|\n\s*["#]\\ + matchgroup=vimCmdSep end="|" end="$" matchgroup=vimNotation end="<[cC][rR]>" keepend contains=@vimComment,@vimContinue,vimErrSetting,vimOption,vimSetAll,vimSetTermcap
|
||||
syn region vimSetEqual contained matchgroup=vimOper start="[=:]\|[-+^]=" skip=+\\|\|\\\s\|\n\s*\\\|\n\s*["#]\\ \|^\s*\\\|^\s*["#]\\ + matchgroup=vimCmdSep end="|" end="\ze\s" end="$" contains=@vimContinue,vimCtrlChar,vimEnvvar,vimNotation,vimSetSep
|
||||
syn region vimSetComment contained start=+"+ skip=+\n\s*\%(\\\||"\\ \)+ end="$" contains=@vimCommentGroup,vimCommentString extend
|
||||
syn match vimSetCmdSep contained "|" skipwhite nextgroup=@vimCmdList,vimSubst1,vimFunc
|
||||
syn match vimSetEscape contained "\\\%(\\[|"]\|.\)"
|
||||
syn match vimSetBarEscape contained "\\|"
|
||||
syn match vimSetQuoteEscape contained +\\"+
|
||||
syn region vimSetArgs contained
|
||||
\ start="\S"
|
||||
\ skip=+\n\s*\%(\\\|["#]\\ \)\|^\s*"\\ +
|
||||
\ end=+\ze\\\@1<![|"]+
|
||||
"\ assume this isn't an escaped char with backslash on the previous line
|
||||
\ end=+^\s*\\\ze[|"]+
|
||||
\ end="\ze\s#"
|
||||
\ end="$"
|
||||
\ nextgroup=vimSetCmdSep,vimSetComment,vim9Comment
|
||||
\ contains=@vimContinue,vimErrSetting,vimOption,vimSetAll,vimSetTermcap
|
||||
\ keepend
|
||||
syn region vimSetEqual contained
|
||||
\ matchgroup=vimOper
|
||||
\ start="[=:]\|[-+^]="
|
||||
\ skip=+\\\s\|^\s*\%(\\\|["#]\\ \)+
|
||||
\ end="\ze\s"
|
||||
\ contains=@vimContinue,vimCtrlChar,vimEnvvar,vimNotation,vimSetSep,vimSetEscape,vimSetBarEscape,vimSetQuoteEscape
|
||||
syn match vimSetBang contained "\a\@1<=!" skipwhite nextgroup=vimSetAll,vimSetTermcap
|
||||
syn keyword vimSetAll contained all nextgroup=vimSetMod
|
||||
syn keyword vimSetTermcap contained termcap
|
||||
syn region vimSetString contained start=+="+hs=s+1 skip=+\\\\\|\\"+ end=+"+ contains=vimCtrlChar
|
||||
syn match vimSetSep contained "[,:]"
|
||||
syn match vimSetMod contained "\a\@1<=\%(&vim\=\|[!&?<]\)"
|
||||
|
||||
@@ -884,6 +923,93 @@ syn cluster vimEcho contains=vimEcho,vimEchohl
|
||||
|
||||
syn region vimExecute matchgroup=vimCommand start="\<exe\%[cute]\>" skip=+\\|\|\n\s*\\\|\n\s*"\\ + matchgroup=vimCmdSep end="|" excludenl end="$" contains=@vimContinue,@vimExprList transparent
|
||||
|
||||
" Filter: {{{2
|
||||
" ======
|
||||
syn match vimExFilter "\<filt\%[er]\>" skipwhite nextgroup=vimExFilterBang,vimExFilterPattern
|
||||
syn match vimExFilterBang contained "\a\@1<=!" skipwhite nextgroup=vimExFilterPattern
|
||||
syn region vimExFilterPattern contained
|
||||
\ start="[[:ident:]]"
|
||||
\ end="\ze[[:space:]\n]"
|
||||
\ skipwhite nextgroup=@vimCmdList
|
||||
\ contains=@vimSubstList
|
||||
\ oneline
|
||||
syn region vimExFilterPattern contained
|
||||
\ matchgroup=Delimiter
|
||||
\ start="\z([^[:space:][:ident:]|"]\)"
|
||||
\ skip="\\\\\|\\\z1"
|
||||
\ end="\z1"
|
||||
\ skipwhite nextgroup=@vimCmdList
|
||||
\ contains=@vimSubstList
|
||||
\ oneline
|
||||
|
||||
" Grep and Make: {{{2
|
||||
" =============
|
||||
" | is the command separator, escaped with \| all other backslashes are passed through literally, no tail comments
|
||||
syn match vimGrep "\<l\=gr\%[ep]\>" skipwhite nextgroup=vimGrepBang,vimGrepArgs,vimCmdSep
|
||||
syn match vimGrepadd "\<l\=grepa\%[dd]\>" skipwhite nextgroup=vimGrepBang,vimGrepArgs,vimCmdSep
|
||||
syn region vimGrepArgs contained
|
||||
\ start="|\@!\S"
|
||||
\ skip=+\n\s*\%(\\\|[#"]\\ \)+
|
||||
\ matchgroup=vimCmdSep
|
||||
\ end="|"
|
||||
\ end="$"
|
||||
"\ TODO: include vimSpecFile
|
||||
\ contains=vimGrepBarEscape
|
||||
syn match vimGrepBarEscape contained "\\|"
|
||||
syn match vimGrepBang contained "\a\@1<=!" skipwhite nextgroup=vimGrepArgs,vimCmdSep
|
||||
|
||||
syn match vimMake "\<l\=make\=\>" skipwhite nextgroup=vimMakeBang,vimMakeArgs,vimCmdSep
|
||||
syn region vimMakeArgs contained
|
||||
\ start="|\@!\S"
|
||||
\ skip=+\n\s*\%(\\\|[#"]\\ \)+
|
||||
\ matchgroup=vimCmdSep
|
||||
\ end="|"
|
||||
\ end="$"
|
||||
"\ TODO: include vimSpecFile
|
||||
\ contains=vimMakeBarEscape
|
||||
syn match vimMakeBarEscape contained "\\|"
|
||||
syn match vimMakeBang contained "\a\@1<=!" skipwhite nextgroup=vimMakeArgs,vimCmdSep
|
||||
|
||||
syn match vimHelpgrep "\<l\=helpg\%[rep]\>" skipwhite nextgroup=vimHelpgrepBang,vimHelpgrepPattern
|
||||
syn region vimHelpgrepPattern contained
|
||||
\ start="\S"
|
||||
\ matchgroup=Special
|
||||
\ end="@\w\w\>"
|
||||
\ end="$"
|
||||
\ contains=@vimSubstList
|
||||
\ oneline
|
||||
|
||||
" Vimgrep: {{{2
|
||||
" =======
|
||||
syn match vimVimgrep "\<l\=vim\%[grep]\>" skipwhite nextgroup=vimVimgrepBang,vimVimgrepPattern
|
||||
syn match vimVimgrepadd "\<l\=vimgrepa\%[dd]\>" skipwhite nextgroup=vimVimgrepBang,vimVimgrepPattern
|
||||
syn match vimVimgrepBang contained "\a\@1<=!" skipwhite nextgroup=vimVimgrepPattern
|
||||
syn region vimVimgrepPattern contained
|
||||
\ start="[[:ident:]]"
|
||||
\ end="\ze[[:space:]\n]"
|
||||
\ skipwhite nextgroup=vimVimgrepFile,vimCmdSep
|
||||
\ contains=@vimSubstList
|
||||
\ oneline
|
||||
syn region vimVimgrepPattern contained
|
||||
\ matchgroup=Delimiter
|
||||
\ start="\z([^[:space:][:ident:]|"]\)"
|
||||
\ skip="\\\\\|\\\z1"
|
||||
\ end="\z1"
|
||||
\ skipwhite nextgroup=vimVimgrepFlags,vimVimgrepFile,vimCmdSep
|
||||
\ contains=@vimSubstList
|
||||
\ oneline
|
||||
syn match vimVimgrepEscape contained "\\\%(\\|\|.\)"
|
||||
syn match vimVimgrepBarEscape contained "\\|"
|
||||
syn region vimVimgrepFile contained
|
||||
\ start="|\@!\S"
|
||||
\ matchgroup=vimCmdSep
|
||||
\ end="|"
|
||||
\ end="\ze\s"
|
||||
\ end="$"
|
||||
\ skipwhite nextgroup=vimVimgrepFile
|
||||
\ contains=vimSpecFile,vimVimgrepEscape,vimVimgrepBarEscape
|
||||
syn match vimVimgrepFlags contained "\<[gjf]\{,3\}\>" skipwhite nextgroup=vimVimgrepfile
|
||||
|
||||
" Maps: {{{2
|
||||
" ====
|
||||
" GEN_SYN_VIM: vimCommand map, START_STR='syn keyword vimMap', END_STR='skipwhite nextgroup=vimMapMod,vimMapLhs'
|
||||
@@ -1004,12 +1130,47 @@ syn region vimMatchPattern contained matchgroup=Delimiter start="\z([!#$%&'()*+,
|
||||
syn match vimNormal "\<norm\%[al]\>!\=" skipwhite nextgroup=vimNormalArg contains=vimBang
|
||||
syn region vimNormalArg contained start="\S" skip=+\n\s*\\\|\n\s*["#]\\ + end="$" contains=@vimContinue
|
||||
|
||||
" Redir: {{{2
|
||||
" =====
|
||||
syn match vimRedir "\<redir\=\>" skipwhite nextgroup=vimRedirBang,vimRedirFileOperator,vimRedirVariableOperator,vimRedirRegister,vimRedirEnd
|
||||
syn match vimRedirBang contained "\a\@1<=!" skipwhite nextgroup=vimRedirFileOperator
|
||||
|
||||
syn match vimRedirFileOperator contained ">>\=" skipwhite nextgroup=vimRedirFile
|
||||
syn region vimRedirFile contained
|
||||
\ start="\S"
|
||||
\ matchgroup=Normal
|
||||
\ end="\s*$"
|
||||
\ end="\s*\ze[|"]"
|
||||
\ nextgroup=vimCmdSep,vimComment
|
||||
\ contains=vimSpecFile
|
||||
syn match vimRedirRegisterOperator contained ">>\="
|
||||
syn match vimRedirRegister contained "@[a-zA-Z*+"]" nextgroup=vimRedirRegisterOperator
|
||||
syn match vimRedirVariableOperator contained "=>>\=" skipwhite nextgroup=vimVar
|
||||
syn keyword vimRedirEnd contained END
|
||||
|
||||
" Sleep: {{{2
|
||||
" =====
|
||||
syn keyword vimSleep sl[eep] skipwhite nextgroup=vimSleepBang,vimSleepArg
|
||||
syn match vimSleepBang contained "\a\@1<=!" skipwhite nextgroup=vimSleepArg
|
||||
syn match vimSleepArg contained "\<\%(\d\+\)\=m\=\>"
|
||||
|
||||
" Sort: {{{2
|
||||
" ====
|
||||
syn match vimSort "\<sort\=\>" skipwhite nextgroup=vimSortBang,@vimSortOptions,vimSortPattern,vimCmdSep
|
||||
syn match vimSortBang contained "\a\@1<=!" skipwhite nextgroup=@vimSortOptions,vimSortPattern,vimCmdSep
|
||||
syn match vimSortOptionsError contained "\a\+"
|
||||
syn match vimSortOptions contained "\<[ilur]*[nfxob]\=[ilur]*\>" skipwhite nextgroup=vimSortPattern,vimCmdSep
|
||||
syn region vimSortPattern contained
|
||||
\ matchgroup=Delimiter
|
||||
\ start="\z([^[:space:][:alpha:]|]\)"
|
||||
\ skip="\\\\\|\\\z1"
|
||||
\ end="\z1"
|
||||
\ skipwhite nextgroup=@vimSortOptions,vimCmdSep
|
||||
\ contains=@vimSubstList
|
||||
\ oneline
|
||||
|
||||
syn cluster vimSortOptions contains=vimSortOptions,vimSortOptionsError
|
||||
|
||||
" Syntax: {{{2
|
||||
"=======
|
||||
syn match vimGroupList contained "[^[:space:],]\+\%(\s*,\s*[^[:space:],]\+\)*" contains=vimGroupSpecial
|
||||
@@ -1468,6 +1629,7 @@ if !exists("skip_vim_syntax_inits")
|
||||
hi def link vimHiKeyError vimError
|
||||
hi def link vimMapModErr vimError
|
||||
hi def link vimShebangError vimError
|
||||
hi def link vimSortOptionsError Error
|
||||
hi def link vimSubstFlagErr vimError
|
||||
hi def link vimSynCaseError vimError
|
||||
hi def link vimSyncError vimError
|
||||
@@ -1524,6 +1686,8 @@ if !exists("skip_vim_syntax_inits")
|
||||
hi def link vimEnvvar PreProc
|
||||
hi def link vimError Error
|
||||
hi def link vimEscape Special
|
||||
hi def link vimExFilter vimCommand
|
||||
hi def link vimExFilterBang vimCommand
|
||||
hi def link vimFBVar vimVar
|
||||
hi def link vimFgBgAttrib vimHiAttrib
|
||||
hi def link vimFuncEcho vimCommand
|
||||
@@ -1541,11 +1705,15 @@ if !exists("skip_vim_syntax_inits")
|
||||
hi def link vimFuncParamEquals vimOper
|
||||
hi def link vimFuncScope vimVarScope
|
||||
hi def link vimFuncSID vimNotation
|
||||
hi def link vimGrep vimCommand
|
||||
hi def link vimGrepadd vimCommand
|
||||
hi def link vimGrepBang vimBang
|
||||
hi def link vimGroupAdd vimSynOption
|
||||
hi def link vimGroupName Normal
|
||||
hi def link vimGroupRem vimSynOption
|
||||
hi def link vimGroupSpecial Special
|
||||
hi def link vimGroup Type
|
||||
hi def link vimHelpgrep vimCommand
|
||||
hi def link vimHiAttrib PreProc
|
||||
hi def link vimHiBang vimBang
|
||||
hi def link vimHiClear Type
|
||||
@@ -1569,13 +1737,17 @@ if !exists("skip_vim_syntax_inits")
|
||||
hi def link vim9KeymapLineComment vimKeymapLineComment
|
||||
hi def link vimKeymapLineComment vimComment
|
||||
hi def link vimKeymapTailComment vimComment
|
||||
hi def link vimLambdaBrace Delimiter
|
||||
hi def link vimLambdaOperator vimOper
|
||||
hi def link vimLet vimCommand
|
||||
hi def link vimLetHereDoc vimString
|
||||
hi def link vimLetHereDocStart Special
|
||||
hi def link vimLetHereDocStop Special
|
||||
hi def link vimLetRegister Special
|
||||
hi def link vimLetRegister vimRegister
|
||||
hi def link vimLineComment vimComment
|
||||
hi def link vimMake vimCommand
|
||||
hi def link vimMakeadd vimCommand
|
||||
hi def link vimMakeBang vimBang
|
||||
hi def link vimMapBang vimBang
|
||||
hi def link vimMapLeader vimBracket
|
||||
hi def link vimMapLeaderKey vimNotation
|
||||
@@ -1620,6 +1792,13 @@ if !exists("skip_vim_syntax_inits")
|
||||
hi def link vimPlainMark vimMark
|
||||
hi def link vimPlainRegister vimRegister
|
||||
hi def link vimQuoteEscape vimEscape
|
||||
hi def link vimRedir vimCommand
|
||||
hi def link vimRedirBang vimBang
|
||||
hi def link vimRedirFileOperator vimOper
|
||||
hi def link vimRedirRegisterOperator vimOper
|
||||
hi def link vimRedirVariableOperator vimOper
|
||||
hi def link vimRedirEnd Special
|
||||
hi def link vimRedirRegister vimRegister
|
||||
hi def link vimRegister SpecialChar
|
||||
hi def link vimScriptDelim Comment
|
||||
hi def link vimSearch vimString
|
||||
@@ -1628,14 +1807,17 @@ if !exists("skip_vim_syntax_inits")
|
||||
hi def link vimSet vimCommand
|
||||
hi def link vimSetAll vimOption
|
||||
hi def link vimSetBang vimBang
|
||||
hi def link vimSetComment vimComment
|
||||
hi def link vimSetMod vimOption
|
||||
hi def link vimSetSep vimSep
|
||||
hi def link vimSetString vimString
|
||||
hi def link vimSetTermcap vimOption
|
||||
hi def link vimShebang PreProc
|
||||
hi def link vimSleep vimCommand
|
||||
hi def link vimSleepArg Constant
|
||||
hi def link vimSleepBang vimBang
|
||||
hi def link vimSort vimCommand
|
||||
hi def link vimSortBang vimBang
|
||||
hi def link vimSortOptions Special
|
||||
hi def link vimSpecFile Identifier
|
||||
hi def link vimSpecFileMod vimSpecFile
|
||||
hi def link vimSpecial Type
|
||||
@@ -1689,8 +1871,10 @@ if !exists("skip_vim_syntax_inits")
|
||||
hi def link vimUnlet vimCommand
|
||||
hi def link vimUnletBang vimBang
|
||||
hi def link vimUnmap vimMap
|
||||
hi def link vimUserCmd vimCommand
|
||||
hi def link vimUserCmdAttrAddr vimSpecial
|
||||
hi def link vimUserCmdAttrCmplt vimSpecial
|
||||
hi def link vimUserCmdAttrComplete vimSpecial
|
||||
hi def link vimUserCmdAttrCompleteFunc vimVar
|
||||
hi def link vimUserCmdAttrNargs vimSpecial
|
||||
hi def link vimUserCmdAttrRange vimSpecial
|
||||
hi def link vimUserCmdAttrKey vimUserCmdAttr
|
||||
@@ -1701,6 +1885,10 @@ if !exists("skip_vim_syntax_inits")
|
||||
hi def link vimUserFunc Normal
|
||||
hi def link vimVar Normal
|
||||
hi def link vimVarScope Identifier
|
||||
hi def link vimVimgrep vimCommand
|
||||
hi def link vimVimgrepadd vimCommand
|
||||
hi def link vimVimgrepBang vimBang
|
||||
hi def link vimVimgrepFlags Special
|
||||
hi def link vimVimVar Identifier
|
||||
hi def link vimVimVarName Identifier
|
||||
hi def link vimWarn WarningMsg
|
||||
@@ -1725,7 +1913,7 @@ if !exists("skip_vim_syntax_inits")
|
||||
hi def link vim9Interface vimCommand
|
||||
hi def link vim9LambdaOperator vimOper
|
||||
hi def link vim9LambdaOperatorComment vim9Comment
|
||||
hi def link vim9LambdaParamsParen vimParenSep
|
||||
hi def link vim9LambdaParen vimParenSep
|
||||
hi def link vim9LhsRegister vimLetRegister
|
||||
hi def link vim9LhsVariable vimVar
|
||||
hi def link vim9LineComment vimComment
|
||||
|
||||
@@ -1,11 +1,14 @@
|
||||
" Vim syntax file
|
||||
" Language: hyprlang
|
||||
" Maintainer: Luca Saccarola <github.e41mv@aleeas.com>
|
||||
" Last Change: 2025 Jan 29
|
||||
" Last Change: 2025 Mar 26
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
let s:cpo= &cpo
|
||||
set cpo&vim
|
||||
|
||||
let b:current_syntax = "hyprlang"
|
||||
|
||||
syn case ignore
|
||||
@@ -56,4 +59,6 @@ hi def link hyprString String
|
||||
hi def link hyprColor Structure
|
||||
hi def link hyprCommand Keyword
|
||||
|
||||
let &cpo = s:cpo
|
||||
unlet s:cpo
|
||||
" vim: ts=8 sts=2 sw=2 et
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
" Maintainer: Aliaksei Budavei <0x000c70 AT gmail DOT com>
|
||||
" Former Maintainer: Claudio Fleiner <claudio@fleiner.com>
|
||||
" Repository: https://github.com/zzzyxwvut/java-vim.git
|
||||
" Last Change: 2025 Jan 02
|
||||
" Last Change: 2025 Mar 26
|
||||
|
||||
" Please check ":help java.vim" for comments on some of the options
|
||||
" available.
|
||||
@@ -46,8 +46,10 @@ function! s:ff.RightConstant(x, y) abort
|
||||
return a:y
|
||||
endfunction
|
||||
|
||||
function! s:ff.IsRequestedPreviewFeature(n) abort
|
||||
return exists("g:java_syntax_previews") && index(g:java_syntax_previews, a:n) + 1
|
||||
function! s:ff.IsAnyRequestedPreviewFeatureOf(ns) abort
|
||||
return exists("g:java_syntax_previews") &&
|
||||
\ !empty(filter(a:ns, printf('index(%s, v:val) + 1',
|
||||
\ string(g:java_syntax_previews))))
|
||||
endfunction
|
||||
|
||||
if !exists("*s:ReportOnce")
|
||||
@@ -108,7 +110,7 @@ syn keyword javaTypedef this super
|
||||
syn keyword javaOperator new instanceof
|
||||
syn match javaOperator "\<var\>\%(\s*(\)\@!"
|
||||
|
||||
if s:ff.IsRequestedPreviewFeature(476)
|
||||
if s:ff.IsAnyRequestedPreviewFeatureOf([476, 494])
|
||||
" Module imports can be used in any source file.
|
||||
syn match javaExternal "\<import\s\+module\>" contains=javaModuleImport
|
||||
syn keyword javaModuleImport contained module
|
||||
@@ -262,8 +264,12 @@ if exists("g:java_highlight_all") || exists("g:java_highlight_java") || exists("
|
||||
syn keyword javaC_JavaLang Class InheritableThreadLocal ThreadLocal Enum ClassValue
|
||||
endif
|
||||
|
||||
" As of JDK 21, java.lang.Compiler is no more (deprecated in JDK 9).
|
||||
syn keyword javaLangDeprecated Compiler
|
||||
" As of JDK 24, SecurityManager is rendered non-functional
|
||||
" (JDK-8338625).
|
||||
" (Note that SecurityException and RuntimePermission are still
|
||||
" not deprecated.)
|
||||
" As of JDK 21, Compiler is no more (JDK-8205129).
|
||||
syn keyword javaLangDeprecated Compiler SecurityManager
|
||||
syn cluster javaClasses add=javaC_JavaLang
|
||||
hi def link javaC_JavaLang javaC_Java
|
||||
syn keyword javaE_JavaLang AbstractMethodError ClassCircularityError ClassFormatError Error IllegalAccessError IncompatibleClassChangeError InstantiationError InternalError LinkageError NoClassDefFoundError NoSuchFieldError NoSuchMethodError OutOfMemoryError StackOverflowError ThreadDeath UnknownError UnsatisfiedLinkError VerifyError VirtualMachineError ExceptionInInitializerError UnsupportedClassVersionError AssertionError BootstrapMethodError
|
||||
@@ -311,7 +317,7 @@ endif
|
||||
|
||||
exec 'syn match javaUserLabel "^\s*\<\K\k*\>\%(\<default\>\)\@' . s:ff.Peek('7', '') . '<!\s*::\@!"he=e-1'
|
||||
|
||||
if s:ff.IsRequestedPreviewFeature(455)
|
||||
if s:ff.IsAnyRequestedPreviewFeatureOf([455, 488])
|
||||
syn region javaLabelRegion transparent matchgroup=javaLabel start="\<case\>" matchgroup=NONE end=":\|->" contains=javaBoolean,javaNumber,javaCharacter,javaString,javaConstant,@javaClasses,javaGenerics,javaType,javaLabelDefault,javaLabelVarType,javaLabelWhenClause
|
||||
else
|
||||
syn region javaLabelRegion transparent matchgroup=javaLabel start="\<case\>" matchgroup=NONE end=":\|->" contains=javaLabelCastType,javaLabelNumber,javaCharacter,javaString,javaConstant,@javaClasses,javaGenerics,javaLabelDefault,javaLabelVarType,javaLabelWhenClause
|
||||
@@ -609,7 +615,7 @@ syn region javaString start=+"+ end=+"+ end=+$+ contains=javaSpecialChar,javaS
|
||||
syn region javaString start=+"""[ \t\x0c\r]*$+hs=e+1 end=+"""+he=s-1 contains=javaSpecialChar,javaSpecialError,javaTextBlockError,@Spell
|
||||
syn match javaTextBlockError +"""\s*"""+
|
||||
|
||||
if s:ff.IsRequestedPreviewFeature(430)
|
||||
if s:ff.IsAnyRequestedPreviewFeatureOf([430])
|
||||
syn region javaStrTemplEmbExp contained matchgroup=javaStrTempl start="\\{" end="}" contains=TOP
|
||||
exec 'syn region javaStrTempl start=+\%(\.[[:space:]\n]*\)\@' . s:ff.Peek('80', '') . '<="+ end=+"+ contains=javaStrTemplEmbExp,javaSpecialChar,javaSpecialError,@Spell'
|
||||
exec 'syn region javaStrTempl start=+\%(\.[[:space:]\n]*\)\@' . s:ff.Peek('80', '') . '<="""[ \t\x0c\r]*$+hs=e+1 end=+"""+he=s-1 contains=javaStrTemplEmbExp,javaSpecialChar,javaSpecialError,javaTextBlockError,@Spell'
|
||||
@@ -688,7 +694,7 @@ if exists("g:java_highlight_debug")
|
||||
syn region javaDebugString contained start=+"+ end=+"+ contains=javaDebugSpecial
|
||||
syn region javaDebugString contained start=+"""[ \t\x0c\r]*$+hs=e+1 end=+"""+he=s-1 contains=javaDebugSpecial,javaDebugTextBlockError
|
||||
|
||||
if s:ff.IsRequestedPreviewFeature(430)
|
||||
if s:ff.IsAnyRequestedPreviewFeatureOf([430])
|
||||
" The highlight groups of java{StrTempl,Debug{,Paren,StrTempl}}\,
|
||||
" share one colour by default. Do not conflate unrelated parens.
|
||||
syn region javaDebugStrTemplEmbExp contained matchgroup=javaDebugStrTempl start="\\{" end="}" contains=javaComment,javaLineComment,javaDebug\%(Paren\)\@!.*
|
||||
|
||||
@@ -3,12 +3,16 @@
|
||||
" Maintainer: Vito <vito.blog@gmail.com>
|
||||
" Last Change: 2024 Apr 17
|
||||
" Upstream: https://github.com/vito-c/jq.vim
|
||||
" 2025 Apr 16 by Vim Project (set 'cpoptions' for line continuation, #17121)
|
||||
"
|
||||
" Quit when a (custom) syntax file was already loaded
|
||||
if exists('b:current_syntax')
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" syn include @jqHtml syntax/html.vim " Doc comment HTML
|
||||
|
||||
" jqTodo
|
||||
@@ -128,3 +132,6 @@ hi def link jqString String
|
||||
hi def link jqInterpolationDelimiter Delimiter
|
||||
hi def link jqConditional Conditional
|
||||
hi def link jqNumber Number
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
@@ -2,235 +2,236 @@
|
||||
" Language: lf file manager configuration file (lfrc)
|
||||
" Maintainer: Andis Sprinkis <andis@sprinkis.com>
|
||||
" Former Maintainer: Cameron Wright
|
||||
" Former URL: https://github.com/andis-sprinkis/lf-vim
|
||||
" Last Change: 13 October 2024
|
||||
" URL: https://github.com/andis-sprinkis/lf-vim
|
||||
" Last Change: 5 Apr 2025
|
||||
"
|
||||
" The shell syntax highlighting is configurable. See $VIMRUNTIME/doc/syntax.txt
|
||||
" lf version: 32
|
||||
" lf version: 34
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
if exists("b:current_syntax") | finish | endif
|
||||
|
||||
let s:cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
let b:current_syntax = "lf"
|
||||
|
||||
"{{{ Comment Matching
|
||||
syn match lfComment '#.*$'
|
||||
syn match lfComment '#.*$'
|
||||
"}}}
|
||||
|
||||
"{{{ String Matching
|
||||
syn match lfString "'.*'"
|
||||
syn match lfString '".*"' contains=lfVar,lfSpecial
|
||||
"}}}
|
||||
|
||||
"{{{ Match lf Variables
|
||||
syn match lfVar '\$f\|\$fx\|\$fs\|\$id'
|
||||
syn match lfString "'.*'"
|
||||
syn match lfString '".*"' contains=lfSpecial
|
||||
"}}}
|
||||
|
||||
"{{{ Keywords
|
||||
syn keyword lfKeyword set setlocal cmd map cmap skipwhite
|
||||
syn keyword lfKeyword set setlocal cmd map cmap skipwhite
|
||||
"}}}
|
||||
|
||||
"{{{ Options Keywords
|
||||
syn keyword lfOptions
|
||||
\ quit
|
||||
\ up
|
||||
\ half-up
|
||||
\ page-up
|
||||
\ scroll-up
|
||||
\ down
|
||||
\ half-down
|
||||
\ page-down
|
||||
\ scroll-down
|
||||
\ updir
|
||||
\ open
|
||||
\ jump-next
|
||||
\ jump-prev
|
||||
\ top
|
||||
\ bottom
|
||||
\ high
|
||||
\ middle
|
||||
\ low
|
||||
\ toggle
|
||||
\ invert
|
||||
\ invert-below
|
||||
\ unselect
|
||||
\ glob-select
|
||||
\ glob-unselect
|
||||
\ calcdirsize
|
||||
\ clearmaps
|
||||
\ copy
|
||||
\ cut
|
||||
\ paste
|
||||
\ clear
|
||||
\ sync
|
||||
\ draw
|
||||
\ redraw
|
||||
\ load
|
||||
\ reload
|
||||
\ echo
|
||||
\ echomsg
|
||||
\ echoerr
|
||||
\ cd
|
||||
\ select
|
||||
\ delete
|
||||
\ rename
|
||||
\ source
|
||||
\ push
|
||||
\ read
|
||||
\ shell
|
||||
\ shell-pipe
|
||||
\ shell-wait
|
||||
\ shell-async
|
||||
\ find
|
||||
\ find-back
|
||||
\ find-next
|
||||
\ find-prev
|
||||
\ search
|
||||
\ search-back
|
||||
\ search-next
|
||||
\ search-prev
|
||||
\ filter
|
||||
\ setfilter
|
||||
\ mark-save
|
||||
\ mark-load
|
||||
\ mark-remove
|
||||
\ tag
|
||||
\ tag-toggle
|
||||
\ cmd-escape
|
||||
\ cmd-complete
|
||||
\ cmd-menu-complete
|
||||
\ cmd-menu-complete-back
|
||||
\ cmd-menu-accept
|
||||
\ cmd-enter
|
||||
\ cmd-interrupt
|
||||
\ cmd-history-next
|
||||
\ cmd-history-prev
|
||||
\ cmd-left
|
||||
\ cmd-right
|
||||
\ cmd-home
|
||||
\ cmd-end
|
||||
\ cmd-delete
|
||||
\ cmd-delete-back
|
||||
\ cmd-delete-home
|
||||
\ cmd-delete-end
|
||||
\ cmd-delete-unix-word
|
||||
\ cmd-yank
|
||||
\ cmd-transpose
|
||||
\ cmd-transpose-word
|
||||
\ cmd-word
|
||||
\ cmd-word-back
|
||||
\ cmd-delete-word
|
||||
\ cmd-delete-word-back
|
||||
\ cmd-capitalize-word
|
||||
\ cmd-uppercase-word
|
||||
\ cmd-lowercase-word
|
||||
\ anchorfind
|
||||
\ autoquit
|
||||
\ borderfmt
|
||||
\ cleaner
|
||||
\ copyfmt
|
||||
\ cursoractivefmt
|
||||
\ cursorparentfmt
|
||||
\ cursorpreviewfmt
|
||||
\ cutfmt
|
||||
\ dircache
|
||||
\ dircounts
|
||||
\ dirfirst
|
||||
\ dironly
|
||||
\ dirpreviews
|
||||
\ drawbox
|
||||
\ dupfilefmt
|
||||
\ errorfmt
|
||||
\ filesep
|
||||
\ findlen
|
||||
\ globfilter
|
||||
\ globsearch
|
||||
\ hidden
|
||||
\ hiddenfiles
|
||||
\ hidecursorinactive
|
||||
\ history
|
||||
\ icons
|
||||
\ ifs
|
||||
\ ignorecase
|
||||
\ ignoredia
|
||||
\ incfilter
|
||||
\ incsearch
|
||||
\ info
|
||||
\ infotimefmtnew
|
||||
\ infotimefmtold
|
||||
\ mouse
|
||||
\ number
|
||||
\ numberfmt
|
||||
\ period
|
||||
\ preserve
|
||||
\ preview
|
||||
\ previewer
|
||||
\ promptfmt
|
||||
\ ratios
|
||||
\ relativenumber
|
||||
\ reverse
|
||||
\ roundbox
|
||||
\ ruler
|
||||
\ rulerfmt
|
||||
\ scrolloff
|
||||
\ selectfmt
|
||||
\ selmode
|
||||
\ shell
|
||||
\ shellflag
|
||||
\ shellopts
|
||||
\ sixel
|
||||
\ smartcase
|
||||
\ smartdia
|
||||
\ sortby
|
||||
\ statfmt
|
||||
\ tabstop
|
||||
\ tagfmt
|
||||
\ tempmarks
|
||||
\ timefmt
|
||||
\ truncatechar
|
||||
\ truncatepct
|
||||
\ waitmsg
|
||||
\ wrapscan
|
||||
\ wrapscroll
|
||||
\ pre-cd
|
||||
\ on-cd
|
||||
\ on-select
|
||||
\ on-redraw
|
||||
\ on-quit
|
||||
syn keyword lfOptions
|
||||
\ anchorfind
|
||||
\ autoquit
|
||||
\ borderfmt
|
||||
\ bottom
|
||||
\ calcdirsize
|
||||
\ cd
|
||||
\ cleaner
|
||||
\ clear
|
||||
\ clearmaps
|
||||
\ cmaps
|
||||
\ cmd-capitalize-word
|
||||
\ cmd-complete
|
||||
\ cmd-delete
|
||||
\ cmd-delete-back
|
||||
\ cmd-delete-end
|
||||
\ cmd-delete-home
|
||||
\ cmd-delete-unix-word
|
||||
\ cmd-delete-word
|
||||
\ cmd-delete-word-back
|
||||
\ cmd-end
|
||||
\ cmd-enter
|
||||
\ cmd-escape
|
||||
\ cmd-history-next
|
||||
\ cmd-history-prev
|
||||
\ cmd-home
|
||||
\ cmd-interrupt
|
||||
\ cmd-left
|
||||
\ cmd-lowercase-word
|
||||
\ cmd-menu-accept
|
||||
\ cmd-menu-complete
|
||||
\ cmd-menu-complete-back
|
||||
\ cmd-right
|
||||
\ cmd-transpose
|
||||
\ cmd-transpose-word
|
||||
\ cmd-uppercase-word
|
||||
\ cmd-word
|
||||
\ cmd-word-back
|
||||
\ cmd-yank
|
||||
\ cmds
|
||||
\ copy
|
||||
\ copyfmt
|
||||
\ cursoractivefmt
|
||||
\ cursorparentfmt
|
||||
\ cursorpreviewfmt
|
||||
\ cut
|
||||
\ cutfmt
|
||||
\ delete
|
||||
\ dircache
|
||||
\ dircounts
|
||||
\ dirfirst
|
||||
\ dironly
|
||||
\ dirpreviews
|
||||
\ doc
|
||||
\ down
|
||||
\ draw
|
||||
\ drawbox
|
||||
\ dupfilefmt
|
||||
\ echo
|
||||
\ echoerr
|
||||
\ echomsg
|
||||
\ errorfmt
|
||||
\ filesep
|
||||
\ filter
|
||||
\ find
|
||||
\ find-back
|
||||
\ find-next
|
||||
\ find-prev
|
||||
\ findlen
|
||||
\ glob-select
|
||||
\ glob-unselect
|
||||
\ globfilter
|
||||
\ globsearch
|
||||
\ half-down
|
||||
\ half-up
|
||||
\ hidden
|
||||
\ hiddenfiles
|
||||
\ high
|
||||
\ history
|
||||
\ icons
|
||||
\ ifs
|
||||
\ ignorecase
|
||||
\ ignoredia
|
||||
\ incfilter
|
||||
\ incsearch
|
||||
\ info
|
||||
\ infotimefmtnew
|
||||
\ infotimefmtold
|
||||
\ invert
|
||||
\ invert-below
|
||||
\ jump-next
|
||||
\ jump-prev
|
||||
\ load
|
||||
\ locale
|
||||
\ low
|
||||
\ maps
|
||||
\ mark-load
|
||||
\ mark-remove
|
||||
\ mark-save
|
||||
\ middle
|
||||
\ mouse
|
||||
\ number
|
||||
\ numberfmt
|
||||
\ on-cd
|
||||
\ on-focus-gained
|
||||
\ on-focus-lost
|
||||
\ on-init
|
||||
\ on-quit
|
||||
\ on-redraw
|
||||
\ on-select
|
||||
\ open
|
||||
\ page-down
|
||||
\ page-up
|
||||
\ paste
|
||||
\ period
|
||||
\ pre-cd
|
||||
\ preserve
|
||||
\ preview
|
||||
\ previewer
|
||||
\ promptfmt
|
||||
\ push
|
||||
\ quit
|
||||
\ ratios
|
||||
\ read
|
||||
\ redraw
|
||||
\ relativenumber
|
||||
\ reload
|
||||
\ rename
|
||||
\ reverse
|
||||
\ roundbox
|
||||
\ rulerfmt
|
||||
\ scroll-down
|
||||
\ scroll-up
|
||||
\ scrolloff
|
||||
\ search
|
||||
\ search-back
|
||||
\ search-next
|
||||
\ search-prev
|
||||
\ select
|
||||
\ selectfmt
|
||||
\ selmode
|
||||
\ setfilter
|
||||
\ shell
|
||||
\ shell-async
|
||||
\ shell-pipe
|
||||
\ shell-wait
|
||||
\ shellflag
|
||||
\ shellopts
|
||||
\ showbinds
|
||||
\ sixel
|
||||
\ smartcase
|
||||
\ smartdia
|
||||
\ sortby
|
||||
\ source
|
||||
\ statfmt
|
||||
\ sync
|
||||
\ tabstop
|
||||
\ tag
|
||||
\ tag-toggle
|
||||
\ tagfmt
|
||||
\ tempmarks
|
||||
\ timefmt
|
||||
\ toggle
|
||||
\ top
|
||||
\ truncatechar
|
||||
\ truncatepct
|
||||
\ unselect
|
||||
\ up
|
||||
\ updir
|
||||
\ waitmsg
|
||||
\ watch
|
||||
\ wrapscan
|
||||
\ wrapscroll
|
||||
"}}}
|
||||
|
||||
"{{{ Special Matching
|
||||
syn match lfSpecial '<.*>\|\\.'
|
||||
syn match lfSpecial '\v\<[^>]+\>'
|
||||
syn match lfSpecial '\v\\(["\\abfnrtv]|\o+)'
|
||||
"}}}
|
||||
|
||||
"{{{ Shell Script Matching for cmd
|
||||
let s:shell_syntax = get(g:, 'lf_shell_syntax', "syntax/sh.vim")
|
||||
let s:shell_syntax = get(b:, 'lf_shell_syntax', s:shell_syntax)
|
||||
|
||||
unlet b:current_syntax
|
||||
exe 'syn include @Shell '.s:shell_syntax
|
||||
let b:current_syntax = "lf"
|
||||
syn region lfIgnore start=".{{\n" end="^}}"
|
||||
\ keepend contains=lfExternalShell,lfExternalPatch
|
||||
syn match lfShell '\$[a-zA-Z].*$
|
||||
\\|:[a-zA-Z].*$
|
||||
\\|%[a-zA-Z].*$
|
||||
\\|![a-zA-Z].*$
|
||||
\\|&[a-zA-Z].*$'
|
||||
\ transparent contains=@Shell,lfExternalPatch
|
||||
syn match lfExternalShell "^.*$" transparent contained contains=@Shell
|
||||
syn match lfExternalPatch "^\s*cmd\ .*\ .{{$\|^}}$" contained
|
||||
|
||||
syn region lfCommand matchgroup=lfCommandMarker start=' \zs:\ze' end='$' keepend transparent
|
||||
syn region lfCommand matchgroup=lfCommandMarker start=' \zs:{{\ze' end='}}' keepend transparent
|
||||
syn region lfShell matchgroup=lfShellMarker start=' \zs[$!%&]\ze' end='$' keepend contains=@Shell
|
||||
syn region lfShell matchgroup=lfShellMarker start=' \zs[$!%&]{{\ze' end='}}' keepend contains=@Shell
|
||||
"}}}
|
||||
|
||||
"{{{ Link Highlighting
|
||||
hi def link lfComment Comment
|
||||
hi def link lfVar Type
|
||||
hi def link lfSpecial Special
|
||||
hi def link lfString String
|
||||
hi def link lfKeyword Statement
|
||||
hi def link lfOptions Constant
|
||||
hi def link lfConstant Constant
|
||||
hi def link lfExternalShell Normal
|
||||
hi def link lfExternalPatch Special
|
||||
hi def link lfIgnore Special
|
||||
hi def link lfComment Comment
|
||||
hi def link lfSpecial SpecialChar
|
||||
hi def link lfString String
|
||||
hi def link lfKeyword Statement
|
||||
hi def link lfOptions Constant
|
||||
hi def link lfCommandMarker Special
|
||||
hi def link lfShellMarker Special
|
||||
"}}}
|
||||
|
||||
let &cpo = s:cpo
|
||||
unlet s:cpo
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
" Previous Maintainer: Claudio Fleiner <claudio@fleiner.com>
|
||||
" URL: https://github.com/vim/vim/blob/master/runtime/syntax/make.vim
|
||||
" Last Change: 2022 Nov 06
|
||||
" 2025 Apr 15 by Vim project: rework Make flavor detection (#17089)
|
||||
|
||||
" quit when a syntax file was already loaded
|
||||
if exists("b:current_syntax")
|
||||
@@ -13,6 +14,9 @@ endif
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" enable GNU extension when b:make_flavor is not set—detection failed or Makefile is POSIX-compliant
|
||||
let s:make_flavor = 'gnu'
|
||||
|
||||
" some special characters
|
||||
syn match makeSpecial "^\s*[@+-]\+"
|
||||
syn match makeNextLine "\\\n\s*"
|
||||
@@ -21,14 +25,16 @@ syn match makeNextLine "\\\n\s*"
|
||||
syn region makeDefine start="^\s*define\s" end="^\s*endef\s*\(#.*\)\?$"
|
||||
\ contains=makeStatement,makeIdent,makePreCondit,makeDefine
|
||||
|
||||
" Microsoft Makefile specials
|
||||
syn case ignore
|
||||
syn match makeInclude "^!\s*include\s.*$"
|
||||
syn match makePreCondit "^!\s*\(cmdswitches\|error\|message\|include\|if\|ifdef\|ifndef\|else\|else\s*if\|else\s*ifdef\|else\s*ifndef\|endif\|undef\)\>"
|
||||
syn case match
|
||||
if get(b:, 'make_flavor', s:make_flavor) == 'microsoft'
|
||||
" Microsoft Makefile specials
|
||||
syn case ignore
|
||||
syn match makeInclude "^!\s*include\s.*$"
|
||||
syn match makePreCondit "^!\s*\(cmdswitches\|error\|message\|include\|if\|ifdef\|ifndef\|else\|else\s*if\|else\s*ifdef\|else\s*ifndef\|endif\|undef\)\>"
|
||||
syn case match
|
||||
endif
|
||||
|
||||
" identifiers
|
||||
if exists("b:make_microsoft") || exists("make_microsoft")
|
||||
if get(b:, 'make_flavor', s:make_flavor) == 'microsoft'
|
||||
syn region makeIdent start="\$(" end=")" contains=makeStatement,makeIdent
|
||||
syn region makeIdent start="\${" end="}" contains=makeStatement,makeIdent
|
||||
else
|
||||
@@ -59,13 +65,31 @@ syn match makeTarget "^[~A-Za-z0-9_./$(){}%*@-][A-Za-z0-9_./\t $(){}%*
|
||||
\ skipnl nextgroup=makeCommands,makeCommandError
|
||||
|
||||
syn region makeSpecTarget transparent matchgroup=makeSpecTarget
|
||||
\ start="^\.\(SUFFIXES\|PHONY\|DEFAULT\|PRECIOUS\|IGNORE\|SILENT\|EXPORT_ALL_VARIABLES\|KEEP_STATE\|LIBPATTERNS\|NOTPARALLEL\|DELETE_ON_ERROR\|INTERMEDIATE\|POSIX\|SECONDARY\|ONESHELL\)\>\s*:\{1,2}[^:=]"rs=e-1
|
||||
\ start="^\.\(SUFFIXES\|PHONY\|DEFAULT\|PRECIOUS\|IGNORE\|SILENT\|NOTPARALLEL\|POSIX\)\>\s*:\{1,2}[^:=]"rs=e-1
|
||||
\ end="[^\\]$" keepend
|
||||
\ contains=makeIdent,makeSpecTarget,makeNextLine,makeComment skipnl nextGroup=makeCommands
|
||||
syn match makeSpecTarget "^\.\(SUFFIXES\|PHONY\|DEFAULT\|PRECIOUS\|IGNORE\|SILENT\|EXPORT_ALL_VARIABLES\|KEEP_STATE\|LIBPATTERNS\|NOTPARALLEL\|DELETE_ON_ERROR\|INTERMEDIATE\|POSIX\|SECONDARY\|ONESHELL\)\>\s*::\=\s*$"
|
||||
syn match makeSpecTarget "^\.\(SUFFIXES\|PHONY\|DEFAULT\|PRECIOUS\|IGNORE\|SILENT\|NOTPARALLEL\|POSIX\)\>\s*::\=\s*$"
|
||||
\ contains=makeIdent,makeComment
|
||||
\ skipnl nextgroup=makeCommands,makeCommandError
|
||||
|
||||
if get(b:, 'make_flavor', s:make_flavor) == 'bsd'
|
||||
syn region makeSpecTarget transparent matchgroup=makeSpecTarget
|
||||
\ start="^\.DELETE_ON_ERROR\>\s*:\{1,2}[^:=]"rs=e-1
|
||||
\ end="[^\\]$" keepend
|
||||
\ contains=makeIdent,makeSpecTarget,makeNextLine,makeComment skipnl nextGroup=makeCommands
|
||||
syn match makeSpecTarget "^\.DELETE_ON_ERROR\>\s*::\=\s*$"
|
||||
\ contains=makeIdent,makeComment
|
||||
\ skipnl nextgroup=makeCommands,makeCommandError
|
||||
elseif get(b:, 'make_flavor', s:make_flavor) == 'gnu'
|
||||
syn region makeSpecTarget transparent matchgroup=makeSpecTarget
|
||||
\ start="^\.\(EXPORT_ALL_VARIABLES\|DELETE_ON_ERROR\|INTERMEDIATE\|KEEP_STATE\|LIBPATTERNS\|ONESHELL\|SECONDARY\)\>\s*:\{1,2}[^:=]"rs=e-1
|
||||
\ end="[^\\]$" keepend
|
||||
\ contains=makeIdent,makeSpecTarget,makeNextLine,makeComment skipnl nextGroup=makeCommands
|
||||
syn match makeSpecTarget "^\.\(EXPORT_ALL_VARIABLES\|DELETE_ON_ERROR\|INTERMEDIATE\|KEEP_STATE\|LIBPATTERNS\|ONESHELL\|SECONDARY\)\>\s*::\=\s*$"
|
||||
\ contains=makeIdent,makeComment
|
||||
\ skipnl nextgroup=makeCommands,makeCommandError
|
||||
endif
|
||||
|
||||
syn match makeCommandError "^\s\+\S.*" contained
|
||||
syn region makeCommands contained start=";"hs=s+1 start="^\t"
|
||||
\ end="^[^\t#]"me=e-1,re=e-1 end="^$"
|
||||
@@ -74,17 +98,19 @@ syn region makeCommands contained start=";"hs=s+1 start="^\t"
|
||||
syn match makeCmdNextLine "\\\n."he=e-1 contained
|
||||
|
||||
" some directives
|
||||
syn match makePreCondit "^ *\(ifn\=\(eq\|def\)\>\|else\(\s\+ifn\=\(eq\|def\)\)\=\>\|endif\>\)"
|
||||
syn match makeInclude "^ *[-s]\=include\s.*$"
|
||||
syn match makeStatement "^ *vpath"
|
||||
syn match makeExport "^ *\(export\|unexport\)\>"
|
||||
syn match makeOverride "^ *override\>"
|
||||
" Statements / Functions (GNU make)
|
||||
syn match makeStatement contained "(\(abspath\|addprefix\|addsuffix\|and\|basename\|call\|dir\|error\|eval\|file\|filter-out\|filter\|findstring\|firstword\|flavor\|foreach\|guile\|if\|info\|join\|lastword\|notdir\|or\|origin\|patsubst\|realpath\|shell\|sort\|strip\|subst\|suffix\|value\|warning\|wildcard\|word\|wordlist\|words\)\>"ms=s+1
|
||||
if get(b:, 'make_flavor', s:make_flavor) == 'gnu'
|
||||
" Statements / Functions (GNU make)
|
||||
syn match makePreCondit "^ *\(ifn\=\(eq\|def\)\>\|else\(\s\+ifn\=\(eq\|def\)\)\=\>\|endif\>\)"
|
||||
syn match makeStatement "^ *vpath\>"
|
||||
syn match makeOverride "^ *override\>"
|
||||
syn match makeStatement contained "[({]\(abspath\|addprefix\|addsuffix\|and\|basename\|call\|dir\|error\|eval\|file\|filter-out\|filter\|findstring\|firstword\|flavor\|foreach\|guile\|if\|info\|intcmp\|join\|lastword\|let\|notdir\|or\|origin\|patsubst\|realpath\|shell\|sort\|strip\|subst\|suffix\|value\|warning\|wildcard\|word\|wordlist\|words\)\>"ms=s+1
|
||||
endif
|
||||
|
||||
" Comment
|
||||
if !exists("make_no_comments")
|
||||
if exists("b:make_microsoft") || exists("make_microsoft")
|
||||
if get(b:, 'make_flavor', s:make_flavor) == 'microsoft'
|
||||
syn match makeComment "#.*" contains=@Spell,makeTodo
|
||||
else
|
||||
syn region makeComment start="#" end="^$" end="[^\\]$" keepend contains=@Spell,makeTodo
|
||||
|
||||
218
runtime/syntax/mbsync.vim
Normal file
218
runtime/syntax/mbsync.vim
Normal file
@@ -0,0 +1,218 @@
|
||||
" Vim syntax file
|
||||
" Language: mbsyncrc
|
||||
" Maintainer: Pierrick Guillaume <pguillaume@fymyte.com>
|
||||
" Last Change: 2025 Apr 13
|
||||
"
|
||||
" Syntax support for mbsync config file
|
||||
|
||||
" This file is based on the mbsync manual (isync v1.4.4)
|
||||
" https://isync.sourceforge.io/mbsync.html
|
||||
|
||||
if exists('b:current_syntax')
|
||||
finish
|
||||
endif
|
||||
|
||||
let b:current_syntax = 'mbsync'
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
syn match mbsError '.*'
|
||||
|
||||
syn match mbsCommentL '^#.*$'
|
||||
|
||||
" Properties {{{
|
||||
|
||||
syn match mbsNumber '[0-9]\+' display contained
|
||||
syn match mbsPath '\%([A-Za-z0-9/._+#$%~=\\{}\[\]:@!-]\|\\.\)\+' display contained
|
||||
syn match mbsPath '"\%([A-Za-z0-9/._+#$%~=\\{}\[\]:@! -]\|\\.\)\+"' display contained
|
||||
syn match mbsName '\%([A-Za-z0-9/._+#$%~=\\{}\[\]:@!-]\|\\.\)\+' display contained
|
||||
syn match mbsName '"\%([A-Za-z0-9/._+#$%~=\\{}\[\]:@! -]\|\\.\)\+"' display contained
|
||||
syn match mbsCommand '+\?.*$' display contained contains=mbsCommandPrompt
|
||||
syn match mbsCommandPrompt '+' display contained
|
||||
syn region mbsString start=+"+ skip=+\\"+ end=+"+ display contained
|
||||
syn match mbsSizeUnit '[kKmMbB]' display contained
|
||||
syn match mbsSize '[0-9]\+' display contained contains=mbsNumber nextgroup=mbsSizeUnit
|
||||
syn keyword mbsBool yes no contained
|
||||
|
||||
" }}}
|
||||
|
||||
|
||||
" Stores {{{
|
||||
" Global Store Config Items
|
||||
syn match mbsGlobConfPath '^Path\s\+\ze.*$' contains=mbsGlobConfItemK contained nextgroup=mbsPath transparent
|
||||
syn match mbsGlobConfMaxSize '^MaxSize\s\+\ze.*$' contains=mbsGlobConfItemK contained nextgroup=mbsSize transparent
|
||||
syn match mbsGlobConfMapInbox '^MapInbox\s\+\ze.*$' contains=mbsGlobConfItemK contained nextgroup=mbsPath transparent
|
||||
syn match mbsGlobConfFlatten '^Flatten\s\+\ze.*$' contains=mbsGlobConfItemK contained nextgroup=mbsPath transparent
|
||||
syn match mbsGlobConfTrash '^Trash\s\+\ze.*$' contains=mbsGlobConfItemK contained nextgroup=mbsPath transparent
|
||||
syn match mbsGlobConfTrashNO '^TrashNewOnly\s\+\ze.*$' contains=mbsGlobConfItemK contained nextgroup=mbsBool transparent
|
||||
syn match mbsGlobConfTrashRN '^TrashRemoteNew\s\+\ze.*$' contains=mbsGlobConfItemK contained nextgroup=mbsBool transparent
|
||||
syn keyword mbsGlobConfItemK Path MaxSize MapInbox Flatten Trash TrashNewOnly TrashRemoteNew contained
|
||||
|
||||
syn cluster mbsGlobConfItem contains=mbsGlobConfPath,mbsGlobConfMaxSize,mbsGlobConfMapInbox,mbsGlobConfFlatten,mbsCommentL,mbsGlobConfTrash.*
|
||||
|
||||
|
||||
" MaildirStore
|
||||
syn match mbsMdSConfStMaildirStore '^MaildirStore\s\+\ze.*$' contains=mbsMdSConfItemK contained nextgroup=mbsName transparent
|
||||
syn match mbsMdSConfStAltMap '^AltMap\s\+\ze.*$' contains=mbsMdSConfItemK contained nextgroup=mbsBool transparent
|
||||
syn match mbsMdsConfStInbox '^Inbox\s\+\ze.*$' contains=mbsMdSConfItemK contained nextgroup=mbsPath transparent
|
||||
syn match mbsMdsConfStInfoDelimiter '^InfoDelimiter\s\+\ze.*$' contains=mbsMdSConfItemK contained nextgroup=mbsPath transparent
|
||||
syn keyword mbsMdSConfSubFoldersOpt Verbatim Legacy contained
|
||||
syn match mbsMdSConfSubFoldersOpt 'Maildir++' display contained
|
||||
syn match mbsMdsConfStSubFolders '^SubFolders\s\+\ze.*$' contains=mbsMdSConfItemK contained nextgroup=mbsMdSConfSubFoldersOpt transparent
|
||||
|
||||
syn cluster mbsMdSConfItem contains=mbsMdSConfSt.*
|
||||
|
||||
syn keyword mbsMdSConfItemK MaildirStore AltMap Inbox InfoDelimiter SubFolders contained
|
||||
|
||||
syn region mbsMaildirStore start="^MaildirStore" end="^$" end='\%$' contains=@mbsGlobConfItem,mbsCommentL,@mbsMdSConfItem,mbsError transparent
|
||||
|
||||
|
||||
" IMAP4Accounts
|
||||
syn match mbsIAConfStIMAPAccount '^IMAPAccount\s\+\ze.*$' contains=mbsIAConfItemK contained nextgroup=mbsName transparent
|
||||
syn match mbsIAConfStHost '^Host\s\+\ze.*$' contains=mbsIAConfItemK contained nextgroup=mbsPath transparent
|
||||
syn match mbsIAConfStPort '^Port\s\+\ze.*$' contains=mbsIAConfItemK contained nextgroup=mbsNumber transparent
|
||||
syn match mbsIAConfStTimeout '^Timeout\s\+\ze.*$' contains=mbsIAConfItemK contained nextgroup=mbsNumber transparent
|
||||
syn match mbsIAConfStUser '^User\s\+\ze.*$' contains=mbsIAConfItemK contained nextgroup=mbsPath transparent
|
||||
syn match mbsIAConfStUserCmd '^UserCmd\s\+\ze.*$' contains=mbsIAConfItemK contained nextgroup=mbsCommand transparent
|
||||
syn match mbsIAConfStPass '^Pass\s\+\ze.*$' contains=mbsIAConfItemK contained nextgroup=mbsPath transparent
|
||||
syn match mbsIAConfStPassCmd '^PassCmd\s\+\ze.*$' contains=mbsIAConfItemK contained nextgroup=mbsCommand transparent
|
||||
syn match mbsIAConfStUseKeychain '^UseKeychain\s\+\ze.*$' contains=mbsIAConfItemK contained nextgroup=mbsBool transparent
|
||||
syn match mbsIAConfStTunnel '^Tunnel\s\+\ze.*$' contains=mbsIAConfItemK contained nextgroup=mbsCommand transparent
|
||||
syn match mbsIAConfStAuthMechs '^AuthMechs\s\+\ze.*$' contains=mbsIAConfItemK contained nextgroup=mbsPath transparent
|
||||
syn keyword mbsIAConfSSLTypeOpt None STARTTLS IMAPS contained
|
||||
syn match mbsIAConfStSSLType '^SSLType\s\+\ze.*$' contains=mbsIAConfItemK contained nextgroup=mbsIAConfSSLTypeOpt transparent
|
||||
syn match mbsIAConfSSLVersionsOpt '\%(SSLv3\|TLSv1\%(.[123]\)\?\)\%(\s\+\%(SSLv3\|TLSv1\%(.[123]\)\?\)\)*' contained
|
||||
syn match mbsIAConfStSSLVersions '^SSLVersions\s\+\ze.*$' contains=mbsIAConfItemK contained nextgroup=mbsIAConfSSLVersionsOpt transparent
|
||||
syn match mbsIAConfStSystemCertificates '^SystemCertificates\s\+\ze.*$' contains=mbsIAConfItemK contained nextgroup=mbsBool transparent
|
||||
syn match mbsIAConfStCertificateFile '^CertificateFile\s\+\ze.*$' contains=mbsIAConfItemK contained nextgroup=mbsPath transparent
|
||||
syn match mbsIAConfStClientCertificate '^ClientCertificate\s\+\ze.*$' contains=mbsIAConfItemK contained nextgroup=mbsPath transparent
|
||||
syn match mbsIAConfStClientKey '^ClientKey\s\+\ze.*$' contains=mbsIAConfItemK contained nextgroup=mbsPath transparent
|
||||
syn match mbsIAConfStCipherString '^CipherString\s\+\ze.*$' contains=mbsIAConfItemK contained nextgroup=mbsString transparent
|
||||
syn match mbsIAConfStPipelineDepth '^PipelineDepth\s\+\ze.*$' contains=mbsIAConfItemK contained nextgroup=mbsNumber transparent
|
||||
syn match mbsIAConfStDisableExtensions '^DisableExtensions\?\s\+\ze.*$' contains=mbsIAConfItemK contained nextgroup=mbsPath transparent
|
||||
|
||||
syn cluster mbsIAConfItem contains=mbsIAConfSt.*
|
||||
|
||||
syn keyword mbsIAConfItemK
|
||||
\ IMAPAccount Host Port Timeout User UserCmd Pass PassCmd UseKeychain Tunnel
|
||||
\ AuthMechs SSLType SSLVersions SystemCertificates CertificateFile ClientCertificate
|
||||
\ ClientKey CipherString PipelineDepth DisableExtension[s] contained
|
||||
|
||||
syn region mbsIMAP4AccontsStore start="^IMAPAccount" end="^$" end="\%$" contains=@mbsGlobConfItem,mbsCommentL,@mbsIAConfItem,mbsError transparent
|
||||
|
||||
|
||||
" IMAPStores
|
||||
syn match mbsISConfStIMAPStore '^IMAPStore\s\+\ze.*$' contains=mbsISConfItemK contained nextgroup=mbsName transparent
|
||||
syn match mbsISConfStAccount '^Account\s\+\ze.*$' contains=mbsISConfItemK contained nextgroup=mbsName transparent
|
||||
syn match mbsISConfStUseNamespace '^UseNamespace\s\+\ze.*$' contains=mbsISConfItemK contained nextgroup=mbsBool transparent
|
||||
syn match mbsISConfStPathDelimiter '^PathDelimiter\s\+\ze.*$' contains=mbsISConfItemK contained nextgroup=mbsPath transparent
|
||||
syn match mbsISConfStSubscribedOnly '^SubscribedOnly\s\+\ze.*$' contains=mbsISConfItemK contained nextgroup=mbsBool transparent
|
||||
|
||||
syn cluster mbsISConfItem contains=mbsISConfSt.*
|
||||
|
||||
syn keyword mbsISConfItemK IMAPStore Account UseNamespace PathDelimiter SubscribedOnly contained
|
||||
|
||||
syn region mbsIMAPStore start="^IMAPStore" end="^$" end="\%$" contains=@mbsGlobConfItem,mbsCommentL,@mbsISConfItem,mbsError transparent
|
||||
|
||||
" }}}
|
||||
|
||||
" Channels {{{
|
||||
|
||||
syn match mbsCConfStChannel '^Channel\s\+\ze.*$' contains=mbsCConfItemK contained nextgroup=mbsName transparent
|
||||
syn region mbsCConfProxOpt matchgroup=mbsCConfProxOptOp start=':' matchgroup=mbsCConfProxOptOp end=':' contained contains=mbsName nextgroup=mbsPath keepend
|
||||
syn match mbsCConfStFar '^Far\s\+\ze.*$' contains=mbsCConfItemK contained nextgroup=mbsCConfProxOpt transparent
|
||||
syn match mbsCConfStNear '^Near\s\+\ze.*$' contains=mbsCConfItemK contained nextgroup=mbsCConfProxOpt transparent
|
||||
syn match mbsCConfPatternOptOp '[*%!]' display contained
|
||||
syn match mbsCConfPatternOpt '.*$' display contained contains=mbsCConfPatternOptOp
|
||||
syn match mbsCConfStPattern '^Patterns\?\s\+\ze.*$' contains=mbsCConfItemK contained nextgroup=mbsCConfPatternOpt transparent
|
||||
syn match mbsCConfStMaxSize '^MaxSize\s\+\ze.*$' contains=mbsCConfItemK contained nextgroup=mbsSize transparent
|
||||
syn match mbsCConfStMaxMessages '^MaxMessages\s\+\ze.*$' contains=mbsCConfItemK contained nextgroup=mbsNumber transparent
|
||||
syn match mbsCConfStExpireUnread '^ExpireUnread\s\+\ze.*$' contains=mbsCConfItemK contained nextgroup=mbsBool transparent
|
||||
syn match mbsCConfSyncOpt 'None\|All\|\%(\s\+\%(Pull\|Push\|New\|ReNew\|Delete\|Flags\)\)\+' display contained
|
||||
syn match mbsCConfStSync '^Sync\s\+\ze.*$' contains=mbsCConfItemK contained nextgroup=mbsCConfSyncOpt transparent
|
||||
syn keyword mbsCConfManipOpt None Far Near Both contained
|
||||
syn match mbsCConfStCreate '^Create\s\+\ze.*$' contains=mbsCConfItemK contained nextgroup=mbsCConfManipOpt transparent
|
||||
syn match mbsCConfStRemove '^Remove\s\+\ze.*$' contains=mbsCConfItemK contained nextgroup=mbsCConfManipOpt transparent
|
||||
syn match mbsCConfStExpunge '^Expunge\s\+\ze.*$' contains=mbsCConfItemK contained nextgroup=mbsCConfManipOpt transparent
|
||||
syn match mbsCConfStCopyArrivalDate '^CopyArrivalDate\s\+\ze.*$' contains=mbsCConfItemK contained nextgroup=mbsBool transparent
|
||||
syn match mbsCConfSyncStateOpt '\*\|.*$' display contained contains=mbsCConfSyncStateOptOp,mbsPath transparent
|
||||
syn match mbsCConfSyncStateOptOp '\*' display contained
|
||||
syn match mbsCConfStSyncState '^SyncState\s\+\ze.*$' contains=mbsCConfItemK contained nextgroup=mbsCConfSyncStateOpt transparent
|
||||
|
||||
syn cluster mbsCConfItem contains=mbsCConfSt.*
|
||||
|
||||
syn keyword mbsCConfItemK
|
||||
\ Channel Far Near Pattern[s] MaxSize MaxMessages ExpireUnread Sync Create
|
||||
\ Remove Expunge CopyArrivalDate SyncState contained
|
||||
|
||||
syn region mbsChannel start="^Channel" end="^$" end="\%$" contains=@mbsCConfItem,mbsCommentL,mbsError transparent
|
||||
|
||||
" }}}
|
||||
|
||||
" Groups {{{
|
||||
|
||||
syn match mbsGConfGroupOpt '\%([A-Za-z0-9/._+#$%~=\\{}\[\]:@!-]\|\\.\)\+' display contained contains=mbsName nextgroup=mbsGConfChannelOpt
|
||||
syn match mbsGConfStGroup '^Group\s\+\ze.*$' contains=mbsGConfItemK contained nextgroup=mbsGConfGroupOpt transparent
|
||||
syn match mbsGConfChannelOpt '.*$' display contained
|
||||
syn match mbsGConfStChannel '^Channels\?\s\+\ze.*$' contains=mbsGConfItemK contained nextgroup=mbsGConfChannelOpt transparent
|
||||
|
||||
syn cluster mbsGConfItem contains=mbsGConfSt.*
|
||||
|
||||
syn keyword mbsGConfItemK Group Channel[s] contained
|
||||
|
||||
syn region mbsGroup start="^Group" end="^$" end="\%$" contains=@mbsGConfItem,mbsError transparent
|
||||
|
||||
" }}}
|
||||
|
||||
" Global Options {{{
|
||||
|
||||
syn match mbsFSync '^FSync\s\+\ze.*$' contains=mbsGlobOptItemK nextgroup=mbsBool transparent
|
||||
syn match mbsFieldDelimiter '^FieldDelimiter\s\+\ze.*$' contains=mbsGlobOptItemK nextgroup=mbsPath transparent
|
||||
syn match mbsBufferLimit '^BufferLimit\s\+\ze.*$' contains=mbsGlobOptItemK nextgroup=mbsSize transparent
|
||||
|
||||
syn keyword mbsGlobOptItemK FSync FieldDelimiter BufferLimit contained
|
||||
" }}}
|
||||
|
||||
" Highlights {{{
|
||||
|
||||
hi def link mbsError Error
|
||||
|
||||
hi def link mbsCommentL Comment
|
||||
|
||||
hi def link mbsNumber Number
|
||||
hi def link mbsSizeUnit Type
|
||||
hi def link mbsPath String
|
||||
hi def link mbsString String
|
||||
hi def link mbsCommand String
|
||||
hi def link mbsCommandPrompt Operator
|
||||
hi def link mbsName Constant
|
||||
hi def link mbsBool Boolean
|
||||
|
||||
hi def link mbsGlobConfItemK Statement
|
||||
|
||||
hi def link mbsMdSConfItemK Statement
|
||||
hi def link mbsMdSConfSubFoldersOpt Keyword
|
||||
|
||||
hi def link mbsIAConfItemK Statement
|
||||
hi def link mbsIAConfSSLTypeOpt Keyword
|
||||
hi def link mbsIAConfSSLVersionsOpt Keyword
|
||||
|
||||
hi def link mbsISConfItemK Statement
|
||||
|
||||
hi def link mbsCConfItemK Statement
|
||||
hi def link mbsCConfProxOptOp Operator
|
||||
hi def link mbsCConfPatternOpt String
|
||||
hi def link mbsCConfPatternOptOp Operator
|
||||
hi def link mbsCConfSyncOpt Keyword
|
||||
hi def link mbsCConfManipOpt Keyword
|
||||
hi def link mbsCConfSyncStateOptOp Operator
|
||||
|
||||
hi def link mbsGConfItemK Statement
|
||||
hi def link mbsGConfChannelOpt String
|
||||
|
||||
hi def link mbsGlobOptItemK Statement
|
||||
" }}}
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
@@ -3,14 +3,21 @@
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Previous Maintainer: pf@artcom0.north.de (Peter Funk)
|
||||
" Last Change: 2024 Jan 04
|
||||
" 2025 Apr 16 by Vim Project (set 'cpoptions' for line continuation, #17121)
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
let dialect = modula2#GetDialect()
|
||||
exe "runtime! syntax/modula2/opt/" .. dialect .. ".vim"
|
||||
|
||||
let b:current_syntax = "modula2"
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim: nowrap sw=2 sts=2 ts=8 noet:
|
||||
|
||||
@@ -1,24 +1,25 @@
|
||||
vim9script
|
||||
|
||||
# Vim indent plugin file
|
||||
# Vim syntax file
|
||||
# Language: Odin
|
||||
# Maintainer: Maxim Kim <habamax@gmail.com>
|
||||
# Website: https://github.com/habamax/vim-odin
|
||||
# Last Change: 2024-01-15
|
||||
# Last Change: 2025-03-28
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
syntax keyword odinKeyword using transmute cast distinct opaque where dynamic
|
||||
syntax keyword odinKeyword using transmute cast auto_cast distinct opaque where dynamic
|
||||
syntax keyword odinKeyword struct enum union const bit_field bit_set
|
||||
syntax keyword odinKeyword package proc map import export foreign
|
||||
syntax keyword odinKeyword size_of offset_of type_info_of typeid_of type_of align_of
|
||||
syntax keyword odinKeyword return defer
|
||||
syntax keyword odinKeyword or_return or_else
|
||||
syntax keyword odinKeyword inline no_inline
|
||||
syntax keyword odinKeyword asm context
|
||||
|
||||
syntax keyword odinConditional if when else do for switch case continue break
|
||||
syntax keyword odinConditional if when else do for switch case fallthrough
|
||||
syntax keyword odinConditional continue or_continue break or_break or_return or_else
|
||||
syntax keyword odinType string cstring bool b8 b16 b32 b64 rune any rawptr
|
||||
syntax keyword odinType f16 f32 f64 f16le f16be f32le f32be f64le f64be
|
||||
syntax keyword odinType u8 u16 u32 u64 u128 u16le u32le u64le u128le u16be
|
||||
|
||||
@@ -1,106 +1,833 @@
|
||||
" Vim syntax file
|
||||
" Language: Omnimark
|
||||
" Maintainer: Paul Terray <mailto:terray@4dconcept.fr>
|
||||
" Last Change: 11 Oct 2000
|
||||
|
||||
" quit when a syntax file was already loaded
|
||||
vim9script
|
||||
# Vim syntax file
|
||||
# Language: OmniMark
|
||||
# Maintainer: Peter Kenny <kennypete.t2o3y@aleeas.com>
|
||||
# Previous Maintainer: Paul Terray <mailto:terray@4dconcept.fr>
|
||||
# Last Change: 2025-03-23
|
||||
# License: Vim (see :help license)
|
||||
# History: 2000-10-11 Vintage minimal syntax file (Paul Terray)
|
||||
#
|
||||
# - Syntax is grouped, generally, by type (action to rule), using the
|
||||
# version 12 headings. Refer:
|
||||
# https://developers.stilo.com/docs/html/keyword/type.html
|
||||
# - Deprecated/legacy syntax back to version 4 is included.
|
||||
# - OmniMark is largely case insensitive, with handled exceptions (e.g., %g)
|
||||
# ----------------------------------------------------------------------------
|
||||
syntax case ignore
|
||||
# Current syntax exists: finish {{{
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
setlocal iskeyword=@,48-57,_,128-167,224-235,-
|
||||
|
||||
syn keyword omnimarkKeywords ACTIVATE AGAIN
|
||||
syn keyword omnimarkKeywords CATCH CLEAR CLOSE COPY COPY-CLEAR CROSS-TRANSLATE
|
||||
syn keyword omnimarkKeywords DEACTIVATE DECLARE DECREMENT DEFINE DISCARD DIVIDE DO DOCUMENT-END DOCUMENT-START DONE DTD-START
|
||||
syn keyword omnimarkKeywords ELEMENT ELSE ESCAPE EXIT
|
||||
syn keyword omnimarkKeywords FAIL FIND FIND-END FIND-START FORMAT
|
||||
syn keyword omnimarkKeywords GROUP
|
||||
syn keyword omnimarkKeywords HALT HALT-EVERYTHING
|
||||
syn keyword omnimarkKeywords IGNORE IMPLIED INCLUDE INCLUDE-END INCLUDE-START INCREMENT INPUT
|
||||
syn keyword omnimarkKeywords JOIN
|
||||
syn keyword omnimarkKeywords LINE-END LINE-START LOG LOOKAHEAD
|
||||
syn keyword omnimarkKeywords MACRO
|
||||
syn keyword omnimarkKeywords MACRO-END MARKED-SECTION MARKUP-COMMENT MARKUP-ERROR MARKUP-PARSER MASK MATCH MINUS MODULO
|
||||
syn keyword omnimarkKeywords NEW NEWLINE NEXT
|
||||
syn keyword omnimarkKeywords OPEN OUTPUT OUTPUT-TO OVER
|
||||
syn keyword omnimarkKeywords PROCESS PROCESS-END PROCESS-START PROCESSING-INSTRUCTION PROLOG-END PROLOG-IN-ERROR PUT
|
||||
syn keyword omnimarkKeywords REMOVE REOPEN REPEAT RESET RETHROW RETURN
|
||||
syn keyword omnimarkKeywords WHEN WHITE-SPACE
|
||||
syn keyword omnimarkKeywords SAVE SAVE-CLEAR SCAN SELECT SET SGML SGML-COMMENT SGML-DECLARATION-END SGML-DTD SGML-DTDS SGML-ERROR SGML-IN SGML-OUT SGML-PARSE SGML-PARSER SHIFT SUBMIT SUCCEED SUPPRESS
|
||||
syn keyword omnimarkKeywords SYSTEM-CALL
|
||||
syn keyword omnimarkKeywords TEST-SYSTEM THROW TO TRANSLATE
|
||||
syn keyword omnimarkKeywords UC UL UNLESS UP-TRANSLATE
|
||||
syn keyword omnimarkKeywords XML-PARSE
|
||||
|
||||
syn keyword omnimarkCommands ACTIVE AFTER ANCESTOR AND ANOTHER ARG AS ATTACHED ATTRIBUTE ATTRIBUTES
|
||||
syn keyword omnimarkCommands BASE BEFORE BINARY BINARY-INPUT BINARY-MODE BINARY-OUTPUT BREAK-WIDTH BUFFER BY
|
||||
syn keyword omnimarkCommands CASE CHILDREN CLOSED COMPILED-DATE COMPLEMENT CONREF CONTENT CONTEXT-TRANSLATE COUNTER CREATED CREATING CREATOR CURRENT
|
||||
syn keyword omnimarkCommands DATA-ATTRIBUTE DATA-ATTRIBUTES DATA-CONTENT DATA-LETTERS DATE DECLARED-CONREF DECLARED-CURRENT DECLARED-DEFAULTED DECLARED-FIXED DECLARED-IMPLIED DECLARED-REQUIRED
|
||||
syn keyword omnimarkCommands DEFAULT-ENTITY DEFAULTED DEFAULTING DELIMITER DIFFERENCE DIRECTORY DOCTYPE DOCUMENT DOCUMENT-ELEMENT DOMAIN-FREE DOWN-TRANSLATE DTD DTD-END DTDS
|
||||
syn keyword omnimarkCommands ELEMENTS ELSEWHERE EMPTY ENTITIES ENTITY EPILOG-START EQUAL EXCEPT EXISTS EXTERNAL EXTERNAL-DATA-ENTITY EXTERNAL-ENTITY EXTERNAL-FUNCTION EXTERNAL-OUTPUT-FUNCTION
|
||||
syn keyword omnimarkCommands EXTERNAL-TEXT-ENTITY
|
||||
syn keyword omnimarkCommands FALSE FILE FUNCTION FUNCTION-LIBRARY
|
||||
syn keyword omnimarkCommands GENERAL GLOBAL GREATER-EQUAL GREATER-THAN GROUPS
|
||||
syn keyword omnimarkCommands HAS HASNT HERALDED-NAMES
|
||||
syn keyword omnimarkCommands ID ID-CHECKING IDREF IDREFS IN IN-LIBRARY INCLUSION INITIAL INITIAL-SIZE INSERTION-BREAK INSTANCE INTERNAL INVALID-DATA IS ISNT ITEM
|
||||
syn keyword omnimarkCommands KEY KEYED
|
||||
syn keyword omnimarkCommands LAST LASTMOST LC LENGTH LESS-EQUAL LESS-THAN LETTERS LIBRARY LITERAL LOCAL
|
||||
syn keyword omnimarkCommands MATCHES MIXED MODIFIABLE
|
||||
syn keyword omnimarkCommands NAME NAME-LETTERS NAMECASE NAMED NAMES NDATA-ENTITY NEGATE NESTED-REFERENTS NMTOKEN NMTOKENS NO NO-DEFAULT-IO NON-CDATA NON-IMPLIED NON-SDATA NOT NOTATION NUMBER-OF NUMBERS
|
||||
syn keyword omnimarkCommands NUTOKEN NUTOKENS
|
||||
syn keyword omnimarkCommands OCCURRENCE OF OPAQUE OPTIONAL OR
|
||||
syn keyword omnimarkCommands PARAMETER PARENT PAST PATTERN PLUS PREPARENT PREVIOUS PROPER PUBLIC
|
||||
syn keyword omnimarkCommands READ-ONLY READABLE REFERENT REFERENTS REFERENTS-ALLOWED REFERENTS-DISPLAYED REFERENTS-NOT-ALLOWED REMAINDER REPEATED REPLACEMENT-BREAK REVERSED
|
||||
syn keyword omnimarkCommands SILENT-REFERENT SIZE SKIP SOURCE SPECIFIED STATUS STREAM SUBDOC-ENTITY SUBDOCUMENT SUBDOCUMENTS SUBELEMENT SWITCH SYMBOL SYSTEM
|
||||
syn keyword omnimarkCommands TEXT-MODE THIS TIMES TOKEN TRUE
|
||||
syn keyword omnimarkCommands UNANCHORED UNATTACHED UNION USEMAP USING
|
||||
syn keyword omnimarkCommands VALUE VALUED VARIABLE
|
||||
syn keyword omnimarkCommands WITH WRITABLE
|
||||
syn keyword omnimarkCommands XML XML-DTD XML-DTDS
|
||||
syn keyword omnimarkCommands YES
|
||||
syn keyword omnimarkCommands #ADDITIONAL-INFO #APPINFO #CAPACITY #CHARSET #CLASS #COMMAND-LINE-NAMES #CONSOLE #CURRENT-INPUT #CURRENT-OUTPUT #DATA #DOCTYPE #DOCUMENT #DTD #EMPTY #ERROR #ERROR-CODE
|
||||
syn keyword omnimarkCommands #FILE-NAME #FIRST #GROUP #IMPLIED #ITEM #LANGUAGE-VERSION #LAST #LIBPATH #LIBRARY #LIBVALUE #LINE-NUMBER #MAIN-INPUT #MAIN-OUTPUT #MARKUP-ERROR-COUNT #MARKUP-ERROR-TOTAL
|
||||
syn keyword omnimarkCommands #MARKUP-PARSER #MARKUP-WARNING-COUNT #MARKUP-WARNING-TOTAL #MESSAGE #NONE #OUTPUT #PLATFORM-INFO #PROCESS-INPUT #PROCESS-OUTPUT #RECOVERY-INFO #SGML #SGML-ERROR-COUNT
|
||||
syn keyword omnimarkCommands #SGML-ERROR-TOTAL #SGML-WARNING-COUNT #SGML-WARNING-TOTAL #SUPPRESS #SYNTAX #!
|
||||
|
||||
syn keyword omnimarkPatterns ANY ANY-TEXT
|
||||
syn keyword omnimarkPatterns BLANK
|
||||
syn keyword omnimarkPatterns CDATA CDATA-ENTITY CONTENT-END CONTENT-START
|
||||
syn keyword omnimarkPatterns DIGIT
|
||||
syn keyword omnimarkPatterns LETTER
|
||||
syn keyword omnimarkPatterns NUMBER
|
||||
syn keyword omnimarkPatterns PCDATA
|
||||
syn keyword omnimarkPatterns RCDATA
|
||||
syn keyword omnimarkPatterns SDATA SDATA-ENTITY SPACE
|
||||
syn keyword omnimarkPatterns TEXT
|
||||
syn keyword omnimarkPatterns VALUE-END VALUE-START
|
||||
syn keyword omnimarkPatterns WORD-END WORD-START
|
||||
|
||||
syn region omnimarkComment start=";" end="$"
|
||||
|
||||
" strings
|
||||
syn region omnimarkString matchgroup=Normal start=+'+ end=+'+ skip=+%'+ contains=omnimarkEscape
|
||||
syn region omnimarkString matchgroup=Normal start=+"+ end=+"+ skip=+%"+ contains=omnimarkEscape
|
||||
syn match omnimarkEscape contained +%.+
|
||||
syn match omnimarkEscape contained +%[0-9][0-9]#+
|
||||
|
||||
"syn sync maxlines=100
|
||||
syn sync minlines=2000
|
||||
|
||||
" Define the default highlighting.
|
||||
" Only when an item doesn't have highlighting yet
|
||||
|
||||
hi def link omnimarkCommands Statement
|
||||
hi def link omnimarkKeywords Identifier
|
||||
hi def link omnimarkString String
|
||||
hi def link omnimarkPatterns Macro
|
||||
" hi def link omnimarkNumber Number
|
||||
hi def link omnimarkComment Comment
|
||||
hi def link omnimarkEscape Special
|
||||
|
||||
|
||||
let b:current_syntax = "omnimark"
|
||||
|
||||
" vim: ts=8
|
||||
|
||||
# }}}
|
||||
# Keyword characters {{{
|
||||
# !#%&*+-/0123456789<=>@
|
||||
# ABCDEFGHIJKLMNOPQRSTUVWXYZ
|
||||
# \_abcdefghijklmnopqrstuvwxyz|~
|
||||
setlocal iskeyword=33,35,37-38,42-43,45,47-57,60-62,64-90,92,95,97-122,124,126
|
||||
# }}}
|
||||
# _ action {{{
|
||||
syntax keyword omnimarkAction activate
|
||||
syntax keyword omnimarkAction assert
|
||||
syntax keyword omnimarkAction clear
|
||||
syntax keyword omnimarkAction close
|
||||
syntax keyword omnimarkAction collect-garbage
|
||||
syntax match omnimarkAction "\v\c<%(copy)%(-clear)?"
|
||||
syntax keyword omnimarkAction deactivate
|
||||
syntax keyword omnimarkAction decrement
|
||||
syntax keyword omnimarkAction discard
|
||||
syntax keyword omnimarkAction flush
|
||||
syntax match omnimarkAction "\v\c<%(halt)%(-everything)?"
|
||||
syntax keyword omnimarkAction increment
|
||||
syntax keyword omnimarkAction log
|
||||
syntax keyword omnimarkAction log-message
|
||||
syntax keyword omnimarkAction match
|
||||
syntax keyword omnimarkAction new
|
||||
# new takes before and after (as in new x{"wilma"} after [2])
|
||||
syntax keyword omnimarkAction after
|
||||
syntax keyword omnimarkAction before
|
||||
# This is the only way 'next' is used (and it cannot be 'isnt'):
|
||||
syntax match omnimarkAction "\v\c<%(next\s+group\s+is)"
|
||||
syntax keyword omnimarkAction not-reached
|
||||
syntax keyword omnimarkAction open
|
||||
syntax match omnimarkAction "\v\c<%(output)%(-to)?"
|
||||
syntax keyword omnimarkAction put
|
||||
# When alone, 'referent' is nearly always 'put...referent,' which is an action
|
||||
syntax keyword omnimarkAction referent
|
||||
syntax match omnimarkAction "\v\c<%(remove)%(\s+key\s+of)?"
|
||||
syntax keyword omnimarkAction reopen
|
||||
syntax keyword omnimarkAction reset
|
||||
syntax keyword omnimarkAction return
|
||||
# 'scan' because it can start a line in a block of 'do *-parse ... done'
|
||||
syntax keyword omnimarkAction scan
|
||||
syntax match omnimarkAction "\v\c<%(set)%(\s+%(buffer|creator\s+of|external-function|file|function-library|key\s+of|new|referent|stream))?"
|
||||
syntax keyword omnimarkAction sgml-in
|
||||
syntax keyword omnimarkAction sgml-out
|
||||
syntax keyword omnimarkAction signal
|
||||
syntax keyword omnimarkAction submit
|
||||
syntax keyword omnimarkAction suppress
|
||||
syntax keyword omnimarkAction throw
|
||||
syntax keyword omnimarkAction void
|
||||
# }}}
|
||||
# _ built-in data type {{{
|
||||
# attribute-declaration: Every attribute-declaration instance has two
|
||||
# properties: attribute-default-declaration and
|
||||
# attribute-value-declaration
|
||||
# attribute-default-declaration: is the abstract type of declared defaults for
|
||||
# unspecified attribute values. Its concrete
|
||||
# instances can be obtained with the following
|
||||
# four constants:
|
||||
syntax keyword omnimarkConstant attribute-declared-conref
|
||||
syntax keyword omnimarkConstant attribute-declared-current
|
||||
syntax keyword omnimarkConstant attribute-declared-implied
|
||||
syntax keyword omnimarkConstant attribute-declared-required
|
||||
# and with two operators which take a string
|
||||
# default value argument:
|
||||
syntax match omnimarkOperator "\v\c<%(attribute-declared-defaulted\s+to)"
|
||||
syntax match omnimarkOperator "\v\c<%(attribute-declared-fixed to)"
|
||||
# attribute-value-declaration: is the abstract type of values that an
|
||||
# attribute is declared to accept. Its concrete
|
||||
# instances can be obtained with the following
|
||||
# constants:
|
||||
syntax match omnimarkConstant "\v\c<%(attribute-declared-fixed to)"
|
||||
syntax keyword omnimarkConstant attribute-declared-id
|
||||
syntax keyword omnimarkConstant attribute-declared-idref
|
||||
syntax keyword omnimarkConstant attribute-declared-idrefs
|
||||
syntax keyword omnimarkConstant attribute-declared-name
|
||||
syntax keyword omnimarkConstant attribute-declared-names
|
||||
syntax keyword omnimarkConstant attribute-declared-nmtoken
|
||||
syntax keyword omnimarkConstant attribute-declared-nmtokens
|
||||
syntax keyword omnimarkConstant attribute-declared-number
|
||||
syntax keyword omnimarkConstant attribute-declared-numbers
|
||||
syntax keyword omnimarkConstant attribute-declared-nutoken
|
||||
syntax keyword omnimarkConstant attribute-declared-nutokens
|
||||
# and with one operator that takes a string shelf
|
||||
# argument listing all the values allowed for the
|
||||
# attribute:
|
||||
syntax keyword omnimarkOperator attribute-declared-group
|
||||
# content-model - the following six constants are the only possible values:
|
||||
syntax keyword omnimarkConstant any-content-model
|
||||
syntax keyword omnimarkConstant cdata-content-model
|
||||
syntax keyword omnimarkConstant element-content-model
|
||||
syntax keyword omnimarkConstant empty-content-model
|
||||
syntax keyword omnimarkConstant mixed-content-model
|
||||
syntax keyword omnimarkConstant rcdata-content-model
|
||||
# refer also:
|
||||
# developers.stilo.com/docs/html/keyword/create-element-declaration.html
|
||||
#
|
||||
# declared-attribute is and abstract type with subtypes:
|
||||
# implied-attribute
|
||||
# specified-attribute
|
||||
# dtd abstract data type has subtypes:
|
||||
# sgml-dtd
|
||||
# xml-dtd
|
||||
# element-declaration
|
||||
# entity-declaration
|
||||
# markup-element-event
|
||||
# markup-event has subtypes:
|
||||
# markup-point-event
|
||||
# markup-region-event
|
||||
# }}}
|
||||
# _ built-in entity {{{
|
||||
syntax match omnimarkBuiltinEntity "\v\c<%(#capacity)"
|
||||
syntax match omnimarkBuiltinEntity "\v\c<%(#charset)"
|
||||
syntax match omnimarkBuiltinEntity "\v\c<%(#document)"
|
||||
syntax match omnimarkBuiltinEntity "\v\c<%(#dtd)"
|
||||
syntax match omnimarkBuiltinEntity "\v\c<%(#implied)"
|
||||
syntax match omnimarkBuiltinEntity "\v\c<%(#schema)"
|
||||
syntax match omnimarkBuiltinEntity "\v\c<%(#syntax)"
|
||||
# }}}
|
||||
# _ built-in shelf {{{
|
||||
syntax match omnimarkBuiltinShelf "\v\c<%(#additional-info)"
|
||||
syntax match omnimarkBuiltinShelf "\v\c<%(#appinfo)"
|
||||
syntax match omnimarkBuiltinShelf "\v\c<%(#args)"
|
||||
syntax match omnimarkBuiltinShelf "\v\c<%(#class)"
|
||||
syntax match omnimarkBuiltinShelf "\v\c<%(#command-line-names)"
|
||||
syntax match omnimarkBuiltinShelf "\v\c<%(#console)"
|
||||
syntax match omnimarkBuiltinShelf "\v\c<%(#content)"
|
||||
syntax match omnimarkBuiltinShelf "\v\c<%(#current-dtd)"
|
||||
syntax match omnimarkBuiltinShelf "\v\c<%(#current-input)"
|
||||
syntax match omnimarkBuiltinShelf "\v\c<%(#current-markup-event)"
|
||||
syntax match omnimarkBuiltinShelf "\v\c<%(#current-output)"
|
||||
syntax match omnimarkBuiltinShelf "\v\c<%(#doctype)"
|
||||
syntax match omnimarkBuiltinShelf "\v\c<%(#error)"
|
||||
syntax match omnimarkBuiltinShelf "\v\c<%(#error-code)"
|
||||
syntax match omnimarkBuiltinShelf "\v\c<%(#file-name)"
|
||||
syntax match omnimarkBuiltinShelf "\v\c<%(#language-version)"
|
||||
syntax match omnimarkBuiltinShelf "\v\c<%(#libpath)"
|
||||
syntax match omnimarkBuiltinShelf "\v\c<%(#library)"
|
||||
syntax match omnimarkBuiltinShelf "\v\c<%(#libvalue)"
|
||||
syntax match omnimarkBuiltinShelf "\v\c<%(#line-number)"
|
||||
syntax match omnimarkBuiltinShelf "\v\c<%(#log)"
|
||||
syntax match omnimarkBuiltinShelf "\v\c<%(#main-input)"
|
||||
syntax match omnimarkBuiltinShelf "\v\c<%(#main-output)"
|
||||
syntax match omnimarkBuiltinShelf "\v\c<%(#markup-error-count)"
|
||||
syntax match omnimarkBuiltinShelf "\v\c<%(#markup-error-total)"
|
||||
syntax match omnimarkBuiltinShelf "\v\c<%(#markup-parser)"
|
||||
syntax match omnimarkBuiltinShelf "\v\c<%(#markup-warning-count)"
|
||||
syntax match omnimarkBuiltinShelf "\v\c<%(#markup-warning-total)"
|
||||
syntax match omnimarkBuiltinShelf "\v\c<%(#message)"
|
||||
syntax match omnimarkBuiltinShelf "\v\c<%(#output)"
|
||||
syntax match omnimarkBuiltinShelf "\v\c<%(#platform-info)"
|
||||
syntax match omnimarkBuiltinShelf "\v\c<%(#process-input)"
|
||||
syntax match omnimarkBuiltinShelf "\v\c<%(#process-output)"
|
||||
syntax match omnimarkBuiltinShelf "\v\c<%(#recovery-info)"
|
||||
syntax match omnimarkBuiltinShelf "\v\c<%(#sgml)"
|
||||
syntax match omnimarkBuiltinShelf "\v\c<%(#sgml-error-count)"
|
||||
syntax match omnimarkBuiltinShelf "\v\c<%(#sgml-error-total)"
|
||||
syntax match omnimarkBuiltinShelf "\v\c<%(#sgml-warning-count)"
|
||||
syntax match omnimarkBuiltinShelf "\v\c<%(#sgml-warning-total)"
|
||||
syntax match omnimarkBuiltinShelf "\v\c<%(#suppress)"
|
||||
syntax match omnimarkBuiltinShelf "\v\c<%(#xmlns-names)"
|
||||
syntax keyword omnimarkBuiltinShelf attributes
|
||||
syntax match omnimarkBuiltinShelf "\v\c<%(current)%(\s+%(element%(s)?|dtd|sgml-dtd))"
|
||||
syntax keyword omnimarkBuiltinShelf data-attributes
|
||||
syntax keyword omnimarkBuiltinShelf referents
|
||||
syntax keyword omnimarkBuiltinShelf sgml-dtds
|
||||
# deprecated synonym for sgml-dtds:
|
||||
syntax keyword omnimarkBuiltinShelf dtds
|
||||
syntax keyword omnimarkBuiltinShelf xml-dtds
|
||||
syntax match omnimarkBuiltinShelf "\v\c<%(specified\s+attributes)"
|
||||
# }}}
|
||||
# _ catch name {{{
|
||||
syntax match omnimarkCatchName "\v\c<%(#external-exception)"
|
||||
# external exception parameters
|
||||
syntax keyword omnimarkCatchName identity
|
||||
syntax keyword omnimarkCatchName message
|
||||
syntax keyword omnimarkCatchName location
|
||||
syntax match omnimarkCatchName "\v\c<%(#markup-end)"
|
||||
syntax match omnimarkCatchName "\v\c<%(#markup-point)"
|
||||
syntax match omnimarkCatchName "\v\c<%(#markup-start)"
|
||||
syntax match omnimarkCatchName "\v\c<%(#program-error)"
|
||||
# }}}
|
||||
# _ constant {{{
|
||||
syntax keyword omnimarkConstant false
|
||||
syntax keyword omnimarkConstant true
|
||||
# Example: local stream u initial {unattached}
|
||||
syntax keyword omnimarkConstant unattached
|
||||
# }}}
|
||||
# _ control structure {{{
|
||||
syntax match omnimarkControlStructure "\v\c<%(#first)"
|
||||
syntax match omnimarkControlStructure "\v\c<%(#group)"
|
||||
syntax match omnimarkControlStructure "\v\c<%(#item)"
|
||||
syntax match omnimarkControlStructure "\v\c<%(#last)"
|
||||
syntax match omnimarkControlStructure "\v%(\s)?%(-\>)%(\s)?"
|
||||
syntax keyword omnimarkControlStructure again
|
||||
syntax keyword omnimarkControlStructure always
|
||||
syntax keyword omnimarkControlStructure as
|
||||
syntax keyword omnimarkControlStructure case
|
||||
syntax keyword omnimarkControlStructure catch
|
||||
syntax match omnimarkControlStructure "\v\c<%(do)>%(%(\s|\n)+%((markup|sgml|xml)-parse|scan|select|select-type|skip%(\s+over)?|unless|when))?"
|
||||
# with id-checking and with utf-8, example:
|
||||
# do sgml-parse document with id-checking false scan file "my.sgml"
|
||||
syntax keyword omnimarkControlStructure id-checking
|
||||
syntax keyword omnimarkControlStructure utf-8
|
||||
syntax keyword omnimarkControlStructure with
|
||||
syntax keyword omnimarkControlStructure done
|
||||
syntax keyword omnimarkControlStructure else
|
||||
syntax keyword omnimarkControlStructure exit
|
||||
syntax match omnimarkControlStructure "\v\c<%(repeat)>%(\s+%(for|over%(\s+current elements)?|scan|to))?"
|
||||
# Example: repeat over reversed
|
||||
syntax keyword omnimarkControlStructure reversed
|
||||
# Note: repeat over attribute(s) not needed - handled separately
|
||||
# Note: repeat over data-attribute(s) not needed - handled separately
|
||||
# Note: repeat over referents not needed - handled separately
|
||||
syntax keyword omnimarkControlStructure rethrow
|
||||
syntax keyword omnimarkControlStructure select
|
||||
syntax keyword omnimarkControlStructure unless
|
||||
syntax match omnimarkControlStructure "\v\c<%(using)%( %(%(data-)?attribute%(s)?|catch|group|input as|nested-referents|output\s+as|referents))?"
|
||||
syntax keyword omnimarkControlStructure when
|
||||
# }}}
|
||||
# _ data type {{{
|
||||
# (not a v12 heading)
|
||||
syntax keyword omnimarkDataType bcd
|
||||
syntax keyword omnimarkDataType counter
|
||||
# db.database data type - refer omdb, below, for library functions
|
||||
syntax match omnimarkDataType "\v\c<%(db)%([.])?%(database)"
|
||||
syntax keyword omnimarkDataType document
|
||||
syntax keyword omnimarkDataType float
|
||||
syntax keyword omnimarkDataType instance
|
||||
syntax match omnimarkDataType "\v\c<%(int32)"
|
||||
syntax keyword omnimarkDataType integer
|
||||
syntax match omnimarkDataType "\v\c<%(markup\s+sink)"
|
||||
syntax match omnimarkDataType "\v\c<%(markup\s+source)"
|
||||
syntax keyword omnimarkDataType pattern
|
||||
syntax keyword omnimarkDataType string
|
||||
syntax match omnimarkDataType "\v\c<%(string\s+sink)"
|
||||
syntax match omnimarkDataType "\v\c<%(string\s+source)"
|
||||
syntax keyword omnimarkDataType stream
|
||||
syntax keyword omnimarkDataType string
|
||||
syntax keyword omnimarkDataType subdocument
|
||||
syntax keyword omnimarkDataType switch
|
||||
# }}}
|
||||
# _ declaration/definition {{{
|
||||
syntax keyword omnimarkDeclaration constant
|
||||
syntax keyword omnimarkDeclaration context-translate
|
||||
syntax keyword omnimarkDeclaration created by
|
||||
syntax keyword omnimarkDeclaration cross-translate
|
||||
syntax keyword omnimarkDeclaration declare
|
||||
syntax match omnimarkDeclaration "\v\c<%(declare)%(\s+%(data-letters|function-library|heralded-names|markup-identification))?"
|
||||
# Note: declare #error, #main-input, #main-output, #process-input,
|
||||
# #process-output, catch, data-letters, function-library, letters,
|
||||
# name-letters, no-default-io, opaque, record
|
||||
# - Those are all handed as separate keywords/matches
|
||||
syntax match omnimarkDeclaration "\v\c<%(define\s+conversion-function)"
|
||||
syntax match omnimarkDeclaration "\v\c<%(define\s+external)\s+%(source\s+)?%(function)"
|
||||
# in function-library is part of an external function
|
||||
syntax match omnimarkDeclaration "\v\c<%(in\s+function-library)"
|
||||
syntax match omnimarkDeclaration "\v\c<%(define\s+external\s+output)"
|
||||
syntax match omnimarkDeclaration "\v\c<%(define\s+function)"
|
||||
syntax match omnimarkDeclaration "\v\c<%(define\s+\w+function)"
|
||||
# Example: define integer function add (value integer x, value ...)
|
||||
syntax keyword omnimarkDeclaration value
|
||||
syntax match omnimarkDeclaration "\v\c<%(define\s+infix-function)"
|
||||
syntax match omnimarkDeclaration "\v\c<%(define\s+overloaded\s+function)"
|
||||
syntax match omnimarkDeclaration "\v\c<%(define\s+string\s+sink\s+function)"
|
||||
syntax match omnimarkDeclaration "\v\c<%(define\s+string\s+source\s+function)"
|
||||
# Some combinations are missed, so the general, 'define', is needed too:
|
||||
syntax match omnimarkDeclaration "\v\c<%(define\s+)"
|
||||
syntax keyword omnimarkDeclaration delimiter
|
||||
syntax keyword omnimarkDeclaration domain-bound
|
||||
syntax keyword omnimarkDeclaration down-translate
|
||||
syntax keyword omnimarkDeclaration dynamic
|
||||
syntax keyword omnimarkDeclaration elsewhere
|
||||
syntax keyword omnimarkDeclaration escape
|
||||
syntax match omnimarkDeclaration "\v\c<%(export\s+as\s+opaque)"
|
||||
syntax keyword omnimarkDeclaration export
|
||||
syntax keyword omnimarkDeclaration field
|
||||
syntax keyword omnimarkDeclaration function
|
||||
syntax keyword omnimarkDeclaration global
|
||||
syntax match omnimarkDeclaration "\v\c<%(group)%(s)?"
|
||||
syntax keyword omnimarkDeclaration import
|
||||
syntax match omnimarkDeclaration "\v\c<%(include)%(-guard)?"
|
||||
syntax match omnimarkDeclaration "\v\c<%(initial)%(-size)?"
|
||||
syntax keyword omnimarkDeclaration letters
|
||||
syntax keyword omnimarkDeclaration library
|
||||
syntax keyword omnimarkDeclaration local
|
||||
syntax match omnimarkDeclaration "\v\c<%(macro)%(-end)?"
|
||||
# macros can take an arg and/or a token (or args or tokens)
|
||||
syntax keyword omnimarkDeclaration arg
|
||||
syntax keyword omnimarkDeclaration token
|
||||
syntax keyword omnimarkDeclaration modifiable
|
||||
syntax keyword omnimarkDeclaration module
|
||||
syntax keyword omnimarkDeclaration name-letters
|
||||
syntax match omnimarkDeclaration "\v\c<%(namecase\s+entity)"
|
||||
syntax match omnimarkDeclaration "\v\c<%(namecase\s+general)"
|
||||
syntax keyword omnimarkDeclaration newline
|
||||
syntax keyword omnimarkDeclaration no-default-io
|
||||
syntax keyword omnimarkDeclaration opaque
|
||||
syntax keyword omnimarkDeclaration optional
|
||||
syntax keyword omnimarkDeclaration overriding
|
||||
syntax match omnimarkDeclaration "\v\c<%(prefixed\s+by)"
|
||||
syntax keyword omnimarkDeclaration read-only
|
||||
syntax keyword omnimarkDeclaration record
|
||||
syntax keyword omnimarkDeclaration remainder
|
||||
syntax keyword omnimarkDeclaration require
|
||||
syntax keyword omnimarkDeclaration save
|
||||
syntax keyword omnimarkDeclaration save-clear
|
||||
syntax keyword omnimarkDeclaration silent-referent
|
||||
syntax keyword omnimarkDeclaration size
|
||||
syntax keyword omnimarkDeclaration supply
|
||||
syntax keyword omnimarkDeclaration symbol
|
||||
syntax keyword omnimarkDeclaration unprefixed
|
||||
syntax keyword omnimarkDeclaration up-translate
|
||||
syntax keyword omnimarkDeclaration use
|
||||
syntax keyword omnimarkDeclaration variable
|
||||
syntax keyword omnimarkDeclaration write-only
|
||||
# }}}
|
||||
# _ element qualifier {{{
|
||||
syntax keyword omnimarkElementQualifier ancestor
|
||||
syntax keyword omnimarkElementQualifier doctype
|
||||
syntax keyword omnimarkElementQualifier document-element
|
||||
syntax match omnimarkElementQualifier "\v\c<%(open\s+element)"
|
||||
syntax keyword omnimarkElementQualifier parent
|
||||
syntax keyword omnimarkElementQualifier preparent
|
||||
syntax keyword omnimarkElementQualifier previous
|
||||
# }}}
|
||||
# _ modifier {{{
|
||||
syntax match omnimarkModifier "\v\c<%(#base)"
|
||||
syntax match omnimarkModifier "\v\c<%(#full)"
|
||||
syntax match omnimarkModifier "\v\c<%(#xmlns)"
|
||||
syntax keyword omnimarkModifier append
|
||||
syntax keyword omnimarkModifier binary-input
|
||||
syntax keyword omnimarkModifier binary-mode
|
||||
syntax keyword omnimarkModifier binary-output
|
||||
syntax keyword omnimarkModifier break-width
|
||||
syntax keyword omnimarkModifier buffered
|
||||
syntax match omnimarkModifier "\v\c<%(declare\s+#main-output\s+has\s+domain-free)"
|
||||
syntax keyword omnimarkModifier defaulting
|
||||
syntax keyword omnimarkModifier domain-free
|
||||
syntax keyword omnimarkModifier notation
|
||||
# of may be standalone, e.g., data-attribute colwidth of (attribute name)
|
||||
syntax match omnimarkModifier "\v\c<%(of)%(\s%(ancestor|doctype|element|open element|%(pre)?parent))?"
|
||||
syntax keyword omnimarkModifier referents-allowed
|
||||
syntax keyword omnimarkModifier referents-displayed
|
||||
syntax keyword omnimarkModifier referents-not-allowed
|
||||
syntax keyword omnimarkModifier text-mode
|
||||
syntax keyword omnimarkModifier unbuffered
|
||||
# : (field selection operator) [not included]
|
||||
# ` (keyword access character) [not included]
|
||||
# }}}
|
||||
# _ operator {{{
|
||||
syntax keyword omnimarkOperator !
|
||||
syntax keyword omnimarkOperator not
|
||||
syntax keyword omnimarkOperator !=
|
||||
# 'isnt equal' is handled by separate keywords
|
||||
syntax keyword omnimarkOperator !==
|
||||
syntax match omnimarkOperator "\%(#!\)"
|
||||
syntax match omnimarkOperator "\v\c<%(#empty)"
|
||||
# Example: usemap is #none:
|
||||
syntax match omnimarkOperator "\v\c<%(#none)"
|
||||
syntax keyword omnimarkOperator %
|
||||
syntax keyword omnimarkOperator format
|
||||
syntax keyword omnimarkOperator &
|
||||
syntax keyword omnimarkOperator and
|
||||
syntax keyword omnimarkOperator *
|
||||
syntax keyword omnimarkOperator times
|
||||
syntax keyword omnimarkOperator **
|
||||
syntax keyword omnimarkOperator power
|
||||
syntax keyword omnimarkOperator +
|
||||
syntax keyword omnimarkOperator plus
|
||||
syntax keyword omnimarkOperator -
|
||||
syntax keyword omnimarkOperator minus
|
||||
syntax keyword omnimarkOperator negate
|
||||
syntax keyword omnimarkOperator /
|
||||
syntax keyword omnimarkOperator divide
|
||||
syntax keyword omnimarkOperator <
|
||||
syntax keyword omnimarkOperator less-than
|
||||
syntax keyword omnimarkOperator greater-equal
|
||||
syntax keyword omnimarkOperator <=
|
||||
syntax keyword omnimarkOperator less-equal
|
||||
syntax keyword omnimarkOperator =
|
||||
syntax keyword omnimarkOperator equal
|
||||
# 'is equal' is handled by separate keywords
|
||||
syntax keyword omnimarkOperator ==
|
||||
syntax match omnimarkOperator "\v<[=][>]\s*"
|
||||
syntax keyword omnimarkOperator >
|
||||
syntax keyword omnimarkOperator greater-than
|
||||
syntax keyword omnimarkOperator >=
|
||||
syntax keyword omnimarkOperator greater-equal
|
||||
syntax keyword omnimarkOperator abs
|
||||
syntax keyword omnimarkOperator active
|
||||
syntax keyword omnimarkOperator attribute
|
||||
# attribute is defaulted, implied, specified: split to single keywords
|
||||
# because it can be isnt too. Similarly for ancestor (is/isnt)
|
||||
# with ancestor being an element qualifier.
|
||||
# Tests for element attributes, e.g.:
|
||||
# do when attribute myid is (id | idref | idrefs)
|
||||
# cdata (already omnimarkPattern)
|
||||
# name (already omnimarkOperator)
|
||||
syntax keyword omnimarkAttributeType names
|
||||
# number: match rather than keyword since "number of" is an operator
|
||||
syntax match omnimarkAttributeType "\v\c<%(number)"
|
||||
syntax keyword omnimarkAttributeType numbers
|
||||
syntax keyword omnimarkAttributeType nmtoken
|
||||
syntax keyword omnimarkAttributeType nmtokens
|
||||
syntax keyword omnimarkAttributeType nutoken
|
||||
syntax keyword omnimarkAttributeType nutokens
|
||||
syntax keyword omnimarkAttributeType id
|
||||
syntax keyword omnimarkAttributeType idref
|
||||
syntax keyword omnimarkAttributeType idrefs
|
||||
# notation (already omnimarkModifier)
|
||||
# entity (already omnimarkOperator)
|
||||
# entities (already omnimarkOperator)
|
||||
syntax keyword omnimarkOperator base
|
||||
syntax keyword omnimarkOperator binary
|
||||
syntax keyword omnimarkOperator cast
|
||||
syntax keyword omnimarkOperator ceiling
|
||||
syntax keyword omnimarkOperator children
|
||||
syntax keyword omnimarkOperator compiled-date
|
||||
syntax keyword omnimarkOperator complement
|
||||
syntax match omnimarkOperator "\v\c<%(content\s+of)"
|
||||
syntax keyword omnimarkOperator create-attribute-declaration
|
||||
syntax keyword omnimarkOperator create-element-declaration
|
||||
syntax keyword omnimarkOperator create-element-event
|
||||
syntax keyword omnimarkOperator create-processing-instruction-event
|
||||
syntax keyword omnimarkOperator create-specified-attribute
|
||||
syntax keyword omnimarkOperator create-unspecified-attribute
|
||||
syntax keyword omnimarkOperator creating
|
||||
syntax match omnimarkOperator "\v\c<%(creator\s+of)"
|
||||
syntax keyword omnimarkOperator data-attribute
|
||||
syntax keyword omnimarkOperator date
|
||||
syntax match omnimarkOperator "\v\c<%(declaration\s+of)"
|
||||
syntax keyword omnimarkOperator declared-elements
|
||||
syntax keyword omnimarkOperator declared-general-entities
|
||||
syntax keyword omnimarkOperator declared-parameter-entities
|
||||
syntax keyword omnimarkOperator defaulted
|
||||
syntax keyword omnimarkOperator difference
|
||||
syntax match omnimarkOperator "\v\c<%(doctype\s+is)"
|
||||
syntax keyword omnimarkOperator drop
|
||||
syntax match omnimarkOperator "\v\c<%(element\s+is)"
|
||||
syntax match omnimarkOperator "\v\c<%(elements\s+of)"
|
||||
syntax match omnimarkOperator "\v\c<%(entity\s+is)"
|
||||
syntax keyword omnimarkOperator except
|
||||
syntax keyword omnimarkOperator exists
|
||||
syntax keyword omnimarkOperator exp
|
||||
syntax keyword omnimarkOperator external-function
|
||||
syntax keyword omnimarkOperator file
|
||||
syntax keyword omnimarkOperator floor
|
||||
syntax match omnimarkOperator "\v\c<%(function-library\s+of)"
|
||||
syntax keyword omnimarkOperator has
|
||||
syntax keyword omnimarkOperator hasnt
|
||||
# 'has'/'hasnt' (before 'key'/'^' or 'item'/'@' (other obscure things too?):
|
||||
syntax keyword omnimarkOperator key
|
||||
syntax match omnimarkOperator "\v[\^]"
|
||||
# 'item' is addressed elsewhere - @ needs to be a match, not keyword
|
||||
syntax match omnimarkOperator "\v<[@]"
|
||||
syntax keyword omnimarkOperator implied
|
||||
syntax keyword omnimarkOperator in-codes
|
||||
syntax keyword omnimarkOperator is
|
||||
syntax keyword omnimarkOperator isnt
|
||||
# 'is'/'isnt' (usually before, or sometime after, e.g., 'content isnt'):
|
||||
syntax keyword omnimarkOperator attached
|
||||
syntax keyword omnimarkOperator buffer
|
||||
syntax keyword omnimarkOperator catchable
|
||||
syntax keyword omnimarkOperator cdata-entity
|
||||
syntax keyword omnimarkOperator closed
|
||||
syntax keyword omnimarkOperator conref
|
||||
syntax keyword omnimarkOperator content
|
||||
# 'content is' ... empty, any, cdata, rcdata, mixed, conref
|
||||
syntax keyword omnimarkOperator default-entity
|
||||
syntax keyword omnimarkOperator directory
|
||||
# 'entity'/'entities', e.g., 'attribute x is (entity | entities)'
|
||||
syntax match omnimarkOperator "\v\c<%(entit)%(y|ies)"
|
||||
syntax keyword omnimarkOperator external
|
||||
# E.g., 'open s as external-output-function' (v. buffer, etc.) '-call'?
|
||||
syntax match omnimarkOperator "\v\c<%(external-output-function)%(-call)?"
|
||||
syntax keyword omnimarkOperator file
|
||||
syntax keyword omnimarkOperator general
|
||||
syntax keyword omnimarkOperator in-library
|
||||
syntax keyword omnimarkOperator internal
|
||||
syntax keyword omnimarkOperator keyed
|
||||
syntax keyword omnimarkOperator markup-parser
|
||||
syntax keyword omnimarkOperator ndata-entity
|
||||
# These are not to be confused with the omnimarkAction, 'open'
|
||||
syntax match omnimarkOperator "\v\c<%(is\s+open)"
|
||||
syntax match omnimarkOperator "\v\c<%(isnt\s+open)"
|
||||
syntax keyword omnimarkOperator parameter
|
||||
syntax keyword omnimarkOperator past
|
||||
syntax keyword omnimarkOperator public
|
||||
syntax keyword omnimarkOperator readable
|
||||
# These are not to be confused with the omnimarkAction, 'referent'
|
||||
syntax match omnimarkOperator "\v\c<%(is\s+referent)"
|
||||
syntax match omnimarkOperator "\v\c<%(isnt\s+referent)"
|
||||
syntax keyword omnimarkOperator sdata-entity
|
||||
# Deprecated form - markup-parser is recommended
|
||||
syntax keyword omnimarkOperator sgml-parser
|
||||
syntax keyword omnimarkOperator subdoc-entity
|
||||
syntax keyword omnimarkOperator system
|
||||
syntax keyword omnimarkOperator thrown
|
||||
syntax match omnimarkOperator "\v\c<%(item)%(\sof)?%(\s%(data-)?attributes)?"
|
||||
syntax match omnimarkOperator "\v\c<%(key\s+of)"
|
||||
# 'key of attribute'/s not needed: 'key of' and 'attribute' are separate
|
||||
# 'key of data-attribute'/s not needed: 'key of' &c. are separate
|
||||
# 'key of referents' not needed: 'key of' and 'referents' are separate
|
||||
syntax keyword omnimarkOperator last
|
||||
syntax keyword omnimarkOperator lastmost
|
||||
syntax match omnimarkOperator "\v\c<%(length\s*of)"
|
||||
syntax keyword omnimarkOperator literal
|
||||
syntax keyword omnimarkOperator ln
|
||||
syntax keyword omnimarkOperator log10
|
||||
syntax keyword omnimarkOperator lookahead
|
||||
# 'lookahead not' not needed: 'lookahead' and 'not' are separate
|
||||
syntax keyword omnimarkOperator mask
|
||||
syntax keyword omnimarkOperator matches
|
||||
syntax keyword omnimarkOperator modulo
|
||||
syntax match omnimarkOperator "\v\c<%(name)>%(\s+of)?%(\s+current)?%(\s+element)?"
|
||||
syntax keyword omnimarkOperator named
|
||||
syntax match omnimarkOperator "\v\c<%(notation\s+equals)"
|
||||
syntax match omnimarkOperator "\v\c<%(number\s+of)"
|
||||
# 'number of attribute'/s not needed: 'number of' and 'attribute' are separate
|
||||
# 'number of current elements' is not needed: 'number of' &c. are separate
|
||||
syntax match omnimarkOperator "\v\c<%(number\s+of\s+current\s+subdocuments)"
|
||||
# 'number of data-attribute'/s not needed: 'number of' &c. are separate
|
||||
# 'number of referents' not needed: 'number of' and 'referents' are separate
|
||||
syntax keyword omnimarkOperator occurrence
|
||||
syntax match omnimarkOperator "\v\c<%(open\s+element\s+is)"
|
||||
syntax match omnimarkOperator "\v\c<%(parent\s+is)"
|
||||
syntax match omnimarkOperator "\v\c<%(preparent\s+is)"
|
||||
syntax match omnimarkOperator "\v\c<%(previous\s+is)"
|
||||
syntax match omnimarkOperator "\v\c<%(public-identifier\s+of)"
|
||||
syntax match omnimarkOperator "\v\c<%(referents\s+has\s+key)"
|
||||
syntax match omnimarkOperator "\v\c<%(referents\s+is\s+attached)"
|
||||
syntax keyword omnimarkOperator round
|
||||
syntax keyword omnimarkOperator shift
|
||||
syntax keyword omnimarkOperator specified
|
||||
syntax keyword omnimarkOperator sqrt
|
||||
# E.g., last proper? subelement _element-qualifier_ is/isnt
|
||||
syntax keyword omnimarkOperator subelement
|
||||
syntax keyword omnimarkOperator system-call
|
||||
syntax match omnimarkOperator "\v\c<%(system-identifier\s+of)"
|
||||
syntax keyword omnimarkOperator status
|
||||
# E.g., 'status ... is (proper | inclusion)'
|
||||
syntax keyword omnimarkOperator inclusion
|
||||
syntax keyword omnimarkOperator proper
|
||||
# E.g., 'last content {element-qualifier} is #DATA'
|
||||
syntax match omnimarkOperator "\v\c<%(#data)"
|
||||
syntax keyword omnimarkOperator take
|
||||
# 'this' only appears before 'referent', so requires no standalone 'this'
|
||||
syntax match omnimarkOperator "\v\c<%(this\s*referent)"
|
||||
syntax keyword omnimarkOperator to
|
||||
syntax keyword omnimarkOperator truncate
|
||||
syntax keyword omnimarkOperator ul
|
||||
syntax keyword omnimarkOperator union
|
||||
syntax keyword omnimarkOperator usemap
|
||||
syntax keyword omnimarkOperator valued
|
||||
syntax keyword omnimarkOperator writable
|
||||
syntax keyword omnimarkOperator xmlns-name
|
||||
syntax match omnimarkOperator "\v%(\s)%([\\])%(\s)"
|
||||
syntax match omnimarkOperator "\v%(\s)([_])%(\s)"
|
||||
syntax match omnimarkOperator "\v%(\s)([\|])%(\s)"
|
||||
syntax keyword omnimarkOperator or
|
||||
syntax match omnimarkOperator "\v%(\s)([\|][\|])%(\s)"
|
||||
syntax keyword omnimarkOperator join
|
||||
syntax match omnimarkOperator "\v%(\s)([\|][\|][\*])%(\s)"
|
||||
syntax keyword omnimarkOperator repeated
|
||||
syntax match omnimarkOperator "\v%(\s)([~])"
|
||||
# }}}
|
||||
# _ pattern {{{
|
||||
syntax match omnimarkPattern "\v%(\s)%(\=\|)"
|
||||
syntax match omnimarkPattern "\v\c<%(any)%(\+%(\+)?|*%(*)?|\?)?"
|
||||
syntax match omnimarkPattern "\v\c<%(any-text)%(\+|*|\?)?"
|
||||
syntax match omnimarkPattern "\v\c<%(blank)%(\+|*|\?)?"
|
||||
syntax keyword omnimarkPattern cdata
|
||||
syntax keyword omnimarkPattern content-end
|
||||
syntax keyword omnimarkPattern content-start
|
||||
syntax match omnimarkPattern "\v\c<%(digit)%(\+|*|\?)?"
|
||||
syntax keyword omnimarkPattern empty
|
||||
syntax match omnimarkPattern "\v\c<%(lc)%(\+|*|\?)?"
|
||||
syntax match omnimarkPattern "\v\c<%(letter)%(\+|*|\?)?"
|
||||
syntax keyword omnimarkPattern line-end
|
||||
syntax keyword omnimarkPattern line-start
|
||||
syntax keyword omnimarkPattern mixed
|
||||
syntax keyword omnimarkPattern non-cdata
|
||||
syntax keyword omnimarkPattern non-sdata
|
||||
syntax keyword omnimarkPattern null
|
||||
syntax keyword omnimarkPattern pcdata
|
||||
syntax keyword omnimarkPattern rcdata
|
||||
syntax keyword omnimarkPattern sdata
|
||||
syntax match omnimarkPattern "\v\c<%(space)%(\+|*|\?)?"
|
||||
syntax match omnimarkPattern "\v\c<%(text)%([[:space:]\n])"
|
||||
syntax match omnimarkPattern "\v\c<%(uc)%(\+|*|\?)?"
|
||||
syntax keyword omnimarkPattern unanchored
|
||||
syntax keyword omnimarkPattern value-end
|
||||
syntax keyword omnimarkPattern value-start
|
||||
syntax match omnimarkPattern "\v\c<%(white-space)%(\+|*|\?)?"
|
||||
syntax keyword omnimarkPattern word-end
|
||||
syntax keyword omnimarkPattern word-start
|
||||
syntax match omnimarkPattern "\v%(\s)%(\|\=)"
|
||||
# }}}
|
||||
# _ rule {{{
|
||||
syntax keyword omnimarkRule data-content
|
||||
syntax keyword omnimarkRule document-end
|
||||
syntax keyword omnimarkRule document-start
|
||||
syntax keyword omnimarkRule document-type-declaration
|
||||
syntax keyword omnimarkRule dtd-end
|
||||
syntax keyword omnimarkRule dtd-start
|
||||
syntax keyword omnimarkRule element
|
||||
syntax keyword omnimarkRule epilog-start
|
||||
syntax keyword omnimarkRule external-entity
|
||||
syntax keyword omnimarkRule external-data-entity
|
||||
syntax keyword omnimarkRule external-text-entity
|
||||
syntax match omnimarkRule "\v\c<%(external-text-entity\s+#document)"
|
||||
syntax keyword omnimarkRule find
|
||||
syntax keyword omnimarkRule find-end
|
||||
syntax keyword omnimarkRule find-start
|
||||
syntax keyword omnimarkRule insertion-break
|
||||
syntax keyword omnimarkRule invalid-data
|
||||
syntax match omnimarkRule "\v\c<%(marked-section)%(\s+%(cdata|ignore|include-%(end|start)|rcdata))?"
|
||||
syntax keyword omnimarkRule markup-comment
|
||||
syntax keyword omnimarkRule markup-error
|
||||
syntax keyword omnimarkRule process
|
||||
syntax keyword omnimarkRule process-end
|
||||
syntax keyword omnimarkRule processing-instruction
|
||||
syntax keyword omnimarkRule process-start
|
||||
syntax keyword omnimarkRule prolog-end
|
||||
syntax keyword omnimarkRule prolog-in-error
|
||||
syntax keyword omnimarkRule replacement-break
|
||||
syntax keyword omnimarkRule sgml-comment
|
||||
syntax keyword omnimarkRule sgml-declaration-end
|
||||
syntax keyword omnimarkRule sgml-error
|
||||
syntax keyword omnimarkRule translate
|
||||
syntax keyword omnimarkRule xmlns-change
|
||||
# }}}
|
||||
# Libraries {{{
|
||||
# ombase64
|
||||
syntax match omnimarkLibrary "\v\c<%(base64[.])%([orw])%([[:print:]])+"
|
||||
# ombcd
|
||||
# (NB: abs, ceiling, exp, floor, ln, log10, round, sqrt, and truncate
|
||||
# are all operators)
|
||||
syntax match omnimarkLibrary "\v\c<%(ombcd-version)"
|
||||
# ombessel
|
||||
syntax match omnimarkLibrary "\v\c<%(j0|j1|jn|y0|y1|yn)"
|
||||
# ombig5
|
||||
syntax match omnimarkLibrary "\v\c<%(big5[.])%([orw])%([[:print:]])+"
|
||||
# omblowfish and omffblowfish
|
||||
syntax match omnimarkLibrary "\v\c<%(blowfish[.])%([deorsw])%(\a|-)+"
|
||||
# omcgi
|
||||
syntax match omnimarkLibrary "\v\c<%(cgiGet)%([EQ])\a+"
|
||||
# omff8859
|
||||
syntax match omnimarkLibrary "\v\c<%(iso8859[.])%([iorw])%([[:print:]])+"
|
||||
# omfloat
|
||||
# (NB: uses same operator names as ombcd except for the following)
|
||||
syntax match omnimarkLibrary "\v\c<%(is-nan)"
|
||||
syntax match omnimarkLibrary "\v\c<%(omfloat-version)"
|
||||
# omdate
|
||||
syntax match omnimarkLibrary "\v\c<%(add-to-ymdhms)"
|
||||
syntax match omnimarkLibrary "\v\c<%(arpadate-to-ymdhms)"
|
||||
syntax match omnimarkLibrary "\v\c<%(format-ymdhms)"
|
||||
syntax match omnimarkLibrary "\v\c<%(now-as-ymdhms)"
|
||||
syntax match omnimarkLibrary "\v\c<%(round-down-ymdhms)"
|
||||
syntax match omnimarkLibrary "\v\c<%(round-up-ymdhms)"
|
||||
syntax match omnimarkLibrary "\v\c<%(ymdhms-)%([adjmst])%(\a|-)+"
|
||||
syntax match omnimarkLibrary "\v\c<%(ymd-weekday)"
|
||||
# omdb
|
||||
syntax match omnimarkLibrary "\v\c<%(db[.])%([acdefimopqrstuw])%(\a|-|1)+"
|
||||
# omffeuc
|
||||
syntax match omnimarkLibrary "\v\c<%(euc[.])%([orw])%(\a|-)+"
|
||||
# omffjis
|
||||
syntax match omnimarkLibrary "\v\c<%(jis[.])%([orw])%(\a|-)+"
|
||||
# omffutf16 and omffutf32
|
||||
syntax match omnimarklibrary "\v\c<%(utf)%(16|32)%([.])%([orw])%(\a|-)+"
|
||||
# omfloat
|
||||
syntax match omnimarklibrary "\v\C<%(FP_)%([a-z])+\d?"
|
||||
# omfsys
|
||||
syntax match omnimarkLibrary "\v\C<%(FS_)%([CDGLMR])\a+"
|
||||
# omftp
|
||||
syntax match omnimarkLibrary "\v\c<%(FTP)%([CIL])\a+"
|
||||
# omhttp
|
||||
syntax match omnimarkLibrary "\v\c<%(Http)%([CORS])\a+"
|
||||
# omiobuf
|
||||
syntax match omnimarkLibrary "\v\c<%(iobuf[.])%([brw])\a+"
|
||||
# omldap
|
||||
syntax match omnimarkLibrary "\v\c<%(ldap[.])%([acdemnors])%(\a|-)+"
|
||||
# omprocess
|
||||
syntax match omnimarkLibrary "\v\c<%(command-line)"
|
||||
syntax match omnimarkLibrary "\v\c<%(executable-name)"
|
||||
syntax match omnimarkLibrary "\v\c<%(execute)"
|
||||
syntax match omnimarkLibrary "\v\c<%(glob)"
|
||||
syntax match omnimarkLibrary "\v\c<%(omprocess-version)"
|
||||
# omrandom
|
||||
syntax match omnimarkLibrary "\v\c<%(random[.])%([eosu])%(\a|-)+"
|
||||
# omunicode
|
||||
syntax match omnimarkLibrary "\v\c<%(unicode[.])%([bgo])%(\a|-)+"
|
||||
# omutf8
|
||||
syntax match omnimarkLibrary "\v\c<%(utf8[.])%([bceilmos])%(\a|8|-)+"
|
||||
# omioe/omfio
|
||||
syntax match omnimarkLibrary "\v\c<%(get-exception-status)"
|
||||
syntax match omnimarkLibrary "\v\c<%(io-exception-text)"
|
||||
syntax match omnimarkLibrary "\v\c<%(new-io-exception)"
|
||||
syntax match omnimarkLibrary "\v\c<%(set-voluntary-end-exception)"
|
||||
syntax match omnimarkLibrary "\v\c<%(%(Big5|euc|jis|sjis|utf16)%(-))?%(%(in|out)put-file)"
|
||||
# omioprotocol
|
||||
syntax match omnimarkLibrary "\v\c<%(IOProtocol)%([EILMS])\a+"
|
||||
# ommail
|
||||
syntax match omnimarkLibrary "\v\c<%(Mail)%([ILO]\a+)"
|
||||
# omtrig
|
||||
syntax match omnimarkLibrary "\v\c<%(a)?%(cos%(h)?|sin%(h)?|tan%(h|2)?|hypot)"
|
||||
# omnetutl
|
||||
syntax match omnimarkLibrary "\v\c<%(from-net-long)"
|
||||
syntax match omnimarkLibrary "\v\c<%(net-long)"
|
||||
syntax match omnimarkLibrary "\v\c<%(NET)%([GIL]\a+)"
|
||||
syntax match omnimarkLibrary "\v\c<%(to-net-long)"
|
||||
# omnetutil
|
||||
syntax match omnimarkLibrary "\v\c<%(netutil[.])%([fhnot]%(\a|3|2|-)+)"
|
||||
# omoci
|
||||
syntax match omnimarkLibrary "\v\c<%(OCI_)%([GLoS]\a+)"
|
||||
# omodbc
|
||||
syntax match omnimarkLibrary "\v\c<%(SQL)%([_])?%([ABCDEFGLMNPRST][[:alpha:]]+)"
|
||||
# omsocat
|
||||
syntax match omnimarkLibrary "\v\c<%(socat-[clr-])%([[:alpha:]]+)"
|
||||
# omsort
|
||||
syntax match omnimarkLibrary "\v\c<%(sort[.][os])%(\a|-)+"
|
||||
# omutil
|
||||
syntax match omnimarkLibrary "\v\c<%(UTIL[_.][EGLmopRSU])%(\a|-)+"
|
||||
# omvfs
|
||||
syntax match omnimarkLibrary "\v\c<%(vfs[.][cdflmorstuw])%(\a|-)+"
|
||||
# tcp
|
||||
syntax match omnimarkLibrary "\v\c<%(TCP)%([.])?%([acdegilmoprstw][[:alpha:]-]+)"
|
||||
# uri
|
||||
syntax match omnimarkLibrary "\v\c<%(uri[.])%([ceopr])%(\a|-)+"
|
||||
# wsb
|
||||
syntax match omnimarkLibrary "\v\c<%(wsb[.])%([acdfhrsw])%(\a|-)+"
|
||||
# }}}
|
||||
# Comments {{{
|
||||
# -------
|
||||
syntax region omnimarkComment start=";" end="$"
|
||||
# }}}
|
||||
# Strings and format-modifiers {{{
|
||||
syntax region omnimarkString matchgroup=Normal start=+'+ end=+'+ skip=+%'+ contains=omnimarkEscape
|
||||
syntax region omnimarkString matchgroup=Normal start=+"+ end=+"+ skip=+%"+ contains=omnimarkEscape
|
||||
# This handles format items inside strings:
|
||||
# NB: escape _quoted-character_ allows a new character to be used to
|
||||
# indicate a special character or a format item, rather than the normal %.
|
||||
# The use of escape is deprecated in general, because it leads to
|
||||
# non-standard OmniMark code that can be difficult to understand. It has
|
||||
# not be handled here as it would be almost impossible to do so.
|
||||
# dynamic: %a %b %d %g %i %p %q %v %x %w %y
|
||||
# a - integer data type formatting
|
||||
# b - integer data type formatting
|
||||
# c - parsed data formatting
|
||||
# d - integer data type formatting, BCD data type formatting
|
||||
# g - string data formatting
|
||||
# i - integer data type formatting
|
||||
# p - parsed data formatting
|
||||
# q - parsed data formatting
|
||||
# v - parsed data formatting
|
||||
# x - deprecated format command used instead of g
|
||||
# y - symbol declaration
|
||||
# @ - macro arguments
|
||||
# static: %% %_ %n %t %# %) %" %' %/ %[ %] %@%%
|
||||
# %% - insert an explicit percent sign
|
||||
# %_ - insert an explicit space character
|
||||
# %n - insert an explicit newline character
|
||||
# %t - insert an explicit tab character
|
||||
# %0# through to %255# - insert an explicit byte with given value
|
||||
# %{...}—a sequence of characters, e.g., %16r{0d, 0a}
|
||||
# %#—insert an explicit octothorpe character (#)
|
||||
# %)—insert an explicit closing parenthesis
|
||||
# %"—insert an explicit double quote character
|
||||
# %'—insert an explicit single quote character
|
||||
# %/—indicates a point where line breaking can occur
|
||||
# %[ and %]—protect the delimited text from line breaking
|
||||
# %@%—insert an explicit percent sign inside a macro expansion
|
||||
# % format-modifier a
|
||||
syntax match omnimarkEscape contained =\v\C%(\%%(%(%(\d)*%(f))?%(j|k|l|u|w)*)?a)=
|
||||
# % format-modifier b
|
||||
syntax match omnimarkEscape contained =\v\C%(\%%(%(%(\d)*%(f))?%(\d)?)?b)=
|
||||
# % format-modifier c
|
||||
syntax match omnimarkEscape contained =\v\C%(%(\%%(h|l|u|s|z)*c))=
|
||||
# % format-modifier d
|
||||
syntax match omnimarkEscape contained =\v\C%(\%%(%(%(\d)*%(f|r|s)?)*%(j|k|l|u|z)*)?d)=
|
||||
# % format-modifier g
|
||||
syntax match omnimarkEscape contained =\v\C%(\%%(%(%(\d)*%(f|r|s)?)*%(j|k|l|u|z)*)?g)=
|
||||
# % format-modifier
|
||||
syntax match omnimarkEscape contained =\v\C%(%(\%[abdgipqvxwy%_nt#)"'/\[\]])|%(\%\@\%)|%(\%\d+#)|\%%(\d+r[{]%([0-9A-z, ]+)}))+=
|
||||
# }}}
|
||||
# Number {{{
|
||||
syntax match omnimarkNumber "\v([[:alpha:]]+)@<![-]?\d+([.]\d+)?"
|
||||
# }}}
|
||||
# Define default highlighting {{{
|
||||
highlight default link omnimarkAction Statement
|
||||
highlight default link omnimarkAttributeType Structure
|
||||
highlight default link omnimarkDataType Type
|
||||
highlight default link omnimarkBuiltinEntity Identifier
|
||||
highlight default link omnimarkBuiltinShelf Identifier
|
||||
highlight default link omnimarkCatchName Exception
|
||||
highlight default link omnimarkConstant Constant
|
||||
highlight default link omnimarkControlStructure Conditional
|
||||
highlight default link omnimarkDeclaration Keyword
|
||||
highlight default link omnimarkElementQualifier Type
|
||||
highlight default link omnimarkLibrary Function
|
||||
highlight default link omnimarkModifier Keyword
|
||||
highlight default link omnimarkOperator Operator
|
||||
highlight default link omnimarkPattern Label
|
||||
highlight default link omnimarkRule Keyword
|
||||
highlight default link omnimarkString String
|
||||
highlight default link omnimarkNumber Number
|
||||
highlight default link omnimarkComment Comment
|
||||
highlight default link omnimarkEscape Special
|
||||
highlight default link omnimarkNormal Statement
|
||||
# }}}
|
||||
syntax sync fromstart
|
||||
b:current_syntax = "omnimark"
|
||||
# vim: cc=+1 et fdm=marker ft=vim sta sw=2 ts=8 tw=79
|
||||
|
||||
@@ -2,11 +2,15 @@
|
||||
" Language: pacman.log
|
||||
" Maintainer: Ronan Pigott <ronan@rjp.ie>
|
||||
" Last Change: 2023 Dec 04
|
||||
" 2025 Apr 16 by Vim Project (set 'cpoptions' for line continuation, #17121)
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
syn sync maxlines=1
|
||||
syn region pacmanlogMsg start='\S' end='$' keepend contains=pacmanlogTransaction,pacmanlogALPMMsg
|
||||
syn region pacmanlogTag start='\['hs=s+1 end='\]'he=e-1 keepend nextgroup=pacmanlogMsg
|
||||
@@ -39,3 +43,6 @@ hi def link pacmanlogPackageName Normal
|
||||
hi def link pacmanlogPackageVersion Comment
|
||||
|
||||
let b:current_syntax = "pacmanlog"
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
337
runtime/syntax/pq.vim
Normal file
337
runtime/syntax/pq.vim
Normal file
@@ -0,0 +1,337 @@
|
||||
" Vim syntax file
|
||||
" Language: Power Query M
|
||||
" Maintainer: Anarion Dunedain <anarion80@gmail.com>
|
||||
" Last Change:
|
||||
" 2025 Apr 03 First version
|
||||
|
||||
" quit when a syntax file was already loaded
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:keepcpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" There are Power Query functions with dot or hash in the name
|
||||
setlocal iskeyword+=.
|
||||
setlocal iskeyword+=#
|
||||
|
||||
setlocal foldmethod=syntax
|
||||
setlocal foldtext=getline(v:foldstart)
|
||||
|
||||
" DAX is case sensitive
|
||||
syn case match
|
||||
|
||||
" Any Power Query identifier
|
||||
syn match pqIdentifier "\<[a-zA-Z0-9$_#]*\>"
|
||||
|
||||
" Fold on parenthesis
|
||||
syn region pqParenthesisFold start="(" end=")" transparent fold
|
||||
|
||||
" Power Query keywords
|
||||
syn keyword pqKeyword section sections shared
|
||||
syn region pqKeyword start="\<let\>\c" end="\<in\>\c\%(\_s*$\)"me=s-2 transparent fold keepend containedin=ALLBUT,pqString,pqComment
|
||||
|
||||
" Power Query types
|
||||
syn keyword pqType null logical number time date datetime datetimezone duration text binary type list record table function anynonnull none
|
||||
|
||||
" Power Query conditionals
|
||||
syn keyword pqConditional if then else each
|
||||
|
||||
" Power Query constants
|
||||
syn keyword pqConstant
|
||||
\ Number.E Number.Epsilon Number.NaN
|
||||
\ Number.NegativeInfinity Number.PI Number.PositiveInfinity
|
||||
|
||||
" TODO
|
||||
syn keyword pqTodo FIXME NOTE TODO OPTIMIZE XXX HACK contained
|
||||
|
||||
" Numbers
|
||||
" integer number, or floating point number without a dot.
|
||||
syn match pqNumber "\<\d\+\>"
|
||||
" floating point number, with dot
|
||||
syn match pqNumber "\<\d\+\.\d*\>"
|
||||
|
||||
syn match pqFloat "[-+]\=\<\d\+[eE][\-+]\=\d\+"
|
||||
syn match pqFloat "[-+]\=\<\d\+\.\d*\([eE][\-+]\=\d\+\)\="
|
||||
syn match pqFloat "[-+]\=\<\.\d\+\([eE][\-+]\=\d\+\)\="
|
||||
|
||||
" String and Character constants
|
||||
syn region pqString start=+"+ end=+"+
|
||||
|
||||
" Power Query Record
|
||||
syn region pqRecord matchgroup=pqParen start=/\[/ end=/\]/ contains=ALLBUT,pqIdentifier
|
||||
|
||||
" Power Query List
|
||||
syn region pqList matchgroup=pqParen start=/{/ end=/}/ contains=ALLBUT,pqIdentifier
|
||||
|
||||
" Operators
|
||||
syn match pqOperator "+"
|
||||
syn match pqOperator "-"
|
||||
syn match pqOperator "*"
|
||||
syn match pqOperator "/"
|
||||
syn match pqOperator "\<\(NOT\|AND\|OR\|AS\|IS\|META\)\>\c"
|
||||
syn match pqOperator "??"
|
||||
syn match pqOperator "&&"
|
||||
syn match pqOperator "&"
|
||||
syn match pqOperator "[<>]=\="
|
||||
syn match pqOperator "<>"
|
||||
syn match pqOperator "="
|
||||
syn match pqOperator ">"
|
||||
syn match pqOperator "<"
|
||||
|
||||
" Comments
|
||||
syn region pqComment start="\(^\|\s\)\//" end="$" contains=pqTodo
|
||||
syn region pqComment start="/\*" end="\*/" contains=pqTodo
|
||||
|
||||
" Power Query functions
|
||||
syn keyword pqFunction
|
||||
\ #binary #date #datetime #datetimezone #duration #table #time
|
||||
\ Access.Database AccessControlEntry.ConditionToIdentities Action.WithErrorContext
|
||||
\ ActiveDirectory.Domains AdoDotNet.DataSource AdoDotNet.Query AdobeAnalytics.Cubes
|
||||
\ AnalysisServices.Database AnalysisServices.Databases AzureStorage.BlobContents
|
||||
\ AzureStorage.Blobs AzureStorage.DataLake AzureStorage.DataLakeContents
|
||||
\ AzureStorage.Tables Binary.ApproximateLength Binary.Buffer
|
||||
\ Binary.Combine Binary.Compress Binary.Decompress
|
||||
\ Binary.From Binary.FromList Binary.FromText
|
||||
\ Binary.InferContentType Binary.Length Binary.Range
|
||||
\ Binary.Split Binary.ToList Binary.ToText
|
||||
\ Binary.View Binary.ViewError Binary.ViewFunction
|
||||
\ BinaryFormat.7BitEncodedSignedInteger BinaryFormat.7BitEncodedUnsignedInteger BinaryFormat.Binary
|
||||
\ BinaryFormat.Byte BinaryFormat.ByteOrder BinaryFormat.Choice
|
||||
\ BinaryFormat.Decimal BinaryFormat.Double BinaryFormat.Group
|
||||
\ BinaryFormat.Length BinaryFormat.List BinaryFormat.Null
|
||||
\ BinaryFormat.Record BinaryFormat.SignedInteger16 BinaryFormat.SignedInteger32
|
||||
\ BinaryFormat.SignedInteger64 BinaryFormat.Single BinaryFormat.Text
|
||||
\ BinaryFormat.Transform BinaryFormat.UnsignedInteger16 BinaryFormat.UnsignedInteger32
|
||||
\ BinaryFormat.UnsignedInteger64 Byte.From Byte.Type Cdm.Contents
|
||||
\ Character.FromNumber Character.ToNumber Combiner.CombineTextByDelimiter
|
||||
\ Combiner.CombineTextByEachDelimiter Combiner.CombineTextByLengths Combiner.CombineTextByPositions
|
||||
\ Combiner.CombineTextByRanges Comparer.Equals Comparer.FromCulture
|
||||
\ Comparer.Ordinal Comparer.OrdinalIgnoreCase Csv.Document
|
||||
\ Cube.AddAndExpandDimensionColumn Cube.AddMeasureColumn Cube.ApplyParameter
|
||||
\ Cube.AttributeMemberId Cube.AttributeMemberProperty Cube.CollapseAndRemoveColumns
|
||||
\ Cube.Dimensions Cube.DisplayFolders Cube.MeasureProperties
|
||||
\ Cube.MeasureProperty Cube.Measures Cube.Parameters
|
||||
\ Cube.Properties Cube.PropertyKey Cube.ReplaceDimensions
|
||||
\ Cube.Transform Currency.From Currency.Type DB2.Database
|
||||
\ Date.AddDays Date.AddMonths Date.AddQuarters
|
||||
\ Date.AddWeeks Date.AddYears Date.Day
|
||||
\ Date.DayOfWeek Date.DayOfWeekName Date.DayOfYear
|
||||
\ Date.DaysInMonth Date.EndOfDay Date.EndOfMonth
|
||||
\ Date.EndOfQuarter Date.EndOfWeek Date.EndOfYear
|
||||
\ Date.From Date.FromText Date.IsInCurrentDay
|
||||
\ Date.IsInCurrentMonth Date.IsInCurrentQuarter Date.IsInCurrentWeek
|
||||
\ Date.IsInCurrentYear Date.IsInNextDay Date.IsInNextMonth
|
||||
\ Date.IsInNextNDays Date.IsInNextNMonths Date.IsInNextNQuarters
|
||||
\ Date.IsInNextNWeeks Date.IsInNextNYears Date.IsInNextQuarter
|
||||
\ Date.IsInNextWeek Date.IsInNextYear Date.IsInPreviousDay
|
||||
\ Date.IsInPreviousMonth Date.IsInPreviousNDays Date.IsInPreviousNMonths
|
||||
\ Date.IsInPreviousNQuarters Date.IsInPreviousNWeeks Date.IsInPreviousNYears
|
||||
\ Date.IsInPreviousQuarter Date.IsInPreviousWeek Date.IsInPreviousYear
|
||||
\ Date.IsInYearToDate Date.IsLeapYear Date.Month
|
||||
\ Date.MonthName Date.QuarterOfYear Date.StartOfDay
|
||||
\ Date.StartOfMonth Date.StartOfQuarter Date.StartOfWeek
|
||||
\ Date.StartOfYear Date.ToRecord Date.ToText
|
||||
\ Date.WeekOfMonth Date.WeekOfYear Date.Year
|
||||
\ DateTime.AddZone DateTime.Date DateTime.FixedLocalNow
|
||||
\ DateTime.From DateTime.FromFileTime DateTime.FromText
|
||||
\ DateTime.IsInCurrentHour DateTime.IsInCurrentMinute DateTime.IsInCurrentSecond
|
||||
\ DateTime.IsInNextHour DateTime.IsInNextMinute DateTime.IsInNextNHours
|
||||
\ DateTime.IsInNextNMinutes DateTime.IsInNextNSeconds DateTime.IsInNextSecond
|
||||
\ DateTime.IsInPreviousHour DateTime.IsInPreviousMinute DateTime.IsInPreviousNHours
|
||||
\ DateTime.IsInPreviousNMinutes DateTime.IsInPreviousNSeconds DateTime.IsInPreviousSecond
|
||||
\ DateTime.LocalNow DateTime.Time DateTime.ToRecord
|
||||
\ DateTime.ToText DateTimeZone.FixedLocalNow DateTimeZone.FixedUtcNow
|
||||
\ DateTimeZone.From DateTimeZone.FromFileTime DateTimeZone.FromText
|
||||
\ DateTimeZone.LocalNow DateTimeZone.RemoveZone DateTimeZone.SwitchZone
|
||||
\ DateTimeZone.ToLocal DateTimeZone.ToRecord DateTimeZone.ToText
|
||||
\ DateTimeZone.ToUtc DateTimeZone.UtcNow DateTimeZone.ZoneHours
|
||||
\ DateTimeZone.ZoneMinutes Decimal.From Decimal.Type DeltaLake.Metadata
|
||||
\ DeltaLake.Table Diagnostics.ActivityId Diagnostics.CorrelationId
|
||||
\ Diagnostics.Trace DirectQueryCapabilities.From Double.From Double.Type
|
||||
\ Duration.Days Duration.From Duration.FromText
|
||||
\ Duration.Hours Duration.Minutes Duration.Seconds
|
||||
\ Duration.ToRecord Duration.ToText Duration.TotalDays
|
||||
\ Duration.TotalHours Duration.TotalMinutes Duration.TotalSeconds
|
||||
\ Embedded.Value Error.Record Essbase.Cubes
|
||||
\ Excel.CurrentWorkbook Excel.ShapeTable Excel.Workbook
|
||||
\ Exchange.Contents Expression.Constant Expression.Evaluate
|
||||
\ Expression.Identifier File.Contents Folder.Contents
|
||||
\ Folder.Files Function.From Function.Invoke
|
||||
\ Function.InvokeAfter Function.InvokeWithErrorContext Function.IsDataSource
|
||||
\ Function.ScalarVector Geography.FromWellKnownText Geography.ToWellKnownText
|
||||
\ GeographyPoint.From Geometry.FromWellKnownText Geometry.ToWellKnownText
|
||||
\ GeometryPoint.From GoogleAnalytics.Accounts Graph.Nodes
|
||||
\ Guid.From Guid.Type HdInsight.Containers HdInsight.Contents
|
||||
\ HdInsight.Files Hdfs.Contents Hdfs.Files
|
||||
\ Html.Table Identity.From Identity.IsMemberOf
|
||||
\ IdentityProvider.Default Informix.Database Int16.From Int16.Type
|
||||
\ Int32.From Int32.Type Int64.From Int64.Type Int8.From Int8.Type
|
||||
\ ItemExpression.From ItemExpression.Item Json.Document
|
||||
\ Json.FromValue Json.FromValue Lines.FromBinary
|
||||
\ Lines.FromText Lines.ToBinary Lines.ToText
|
||||
\ List.Accumulate List.AllTrue List.Alternate
|
||||
\ List.AnyTrue List.Average List.Buffer
|
||||
\ List.Combine List.ConformToPageReader List.Contains
|
||||
\ List.ContainsAll List.ContainsAny List.Count
|
||||
\ List.Covariance List.DateTimeZones List.DateTimes
|
||||
\ List.Dates List.Difference List.Distinct
|
||||
\ List.Durations List.FindText List.First
|
||||
\ List.FirstN List.Generate List.InsertRange
|
||||
\ List.Intersect List.IsDistinct List.IsEmpty
|
||||
\ List.Last List.LastN List.MatchesAll
|
||||
\ List.MatchesAny List.Max List.MaxN
|
||||
\ List.Median List.Min List.MinN
|
||||
\ List.Mode List.Modes List.NonNullCount
|
||||
\ List.Numbers List.Percentile List.PositionOf
|
||||
\ List.PositionOfAny List.Positions List.Product
|
||||
\ List.Random List.Range List.RemoveFirstN
|
||||
\ List.RemoveItems List.RemoveLastN List.RemoveMatchingItems
|
||||
\ List.RemoveNulls List.RemoveRange List.Repeat
|
||||
\ List.ReplaceMatchingItems List.ReplaceRange List.ReplaceValue
|
||||
\ List.Reverse List.Select List.Single
|
||||
\ List.SingleOrDefault List.Skip List.Sort
|
||||
\ List.Split List.StandardDeviation List.Sum
|
||||
\ List.Times List.Transform List.TransformMany
|
||||
\ List.Union List.Zip Logical.From
|
||||
\ Logical.FromText Logical.ToText Module.Versions
|
||||
\ MySQL.Database Number.Abs Number.Acos
|
||||
\ Number.Asin Number.Atan Number.Atan2
|
||||
\ Number.BitwiseAnd Number.BitwiseNot Number.BitwiseOr
|
||||
\ Number.BitwiseShiftLeft Number.BitwiseShiftRight Number.BitwiseXor
|
||||
\ Number.Combinations Number.Cos Number.Cosh
|
||||
\ Number.Exp Number.Factorial Number.From
|
||||
\ Number.FromText Number.IntegerDivide Number.IsEven
|
||||
\ Number.IsNaN Number.IsOdd Number.Ln
|
||||
\ Number.Log Number.Log10 Number.Mod
|
||||
\ Number.Permutations Number.Power Number.Random
|
||||
\ Number.RandomBetween Number.Round Number.RoundAwayFromZero
|
||||
\ Number.RoundDown Number.RoundTowardZero Number.RoundUp
|
||||
\ Number.Sign Number.Sin Number.Sinh
|
||||
\ Number.Sqrt Number.Tan Number.Tanh
|
||||
\ Number.ToText Number.Type OData.Feed Odbc.DataSource
|
||||
\ Odbc.InferOptions Odbc.Query OleDb.DataSource
|
||||
\ OleDb.Query Oracle.Database Pdf.Tables
|
||||
\ Percentage.From Percentage.Type PostgreSQL.Database Progress.DataSourceProgress
|
||||
\ RData.FromBinary Record.AddField Record.Combine
|
||||
\ Record.Field Record.FieldCount Record.FieldNames
|
||||
\ Record.FieldOrDefault Record.FieldValues Record.FromList
|
||||
\ Record.FromTable Record.HasFields Record.RemoveFields
|
||||
\ Record.RenameFields Record.ReorderFields Record.SelectFields
|
||||
\ Record.ToList Record.ToTable Record.TransformFields Record.Type
|
||||
\ Replacer.ReplaceText Replacer.ReplaceValue RowExpression.Column
|
||||
\ RowExpression.From RowExpression.Row Salesforce.Data
|
||||
\ Salesforce.Reports SapBusinessWarehouse.Cubes SapHana.Database
|
||||
\ SharePoint.Contents SharePoint.Files SharePoint.Tables
|
||||
\ Single.From Single.Type Soda.Feed Splitter.SplitByNothing
|
||||
\ Splitter.SplitTextByAnyDelimiter Splitter.SplitTextByCharacterTransition Splitter.SplitTextByDelimiter
|
||||
\ Splitter.SplitTextByEachDelimiter Splitter.SplitTextByLengths Splitter.SplitTextByPositions
|
||||
\ Splitter.SplitTextByRanges Splitter.SplitTextByRepeatedLengths Splitter.SplitTextByWhitespace
|
||||
\ Sql.Database Sql.Databases SqlExpression.SchemaFrom
|
||||
\ SqlExpression.ToExpression Sybase.Database Table.AddColumn
|
||||
\ Table.AddFuzzyClusterColumn Table.AddIndexColumn Table.AddJoinColumn
|
||||
\ Table.AddKey Table.AddRankColumn Table.AggregateTableColumn
|
||||
\ Table.AlternateRows Table.ApproximateRowCount Table.Buffer
|
||||
\ Table.Column Table.ColumnCount Table.ColumnNames
|
||||
\ Table.ColumnsOfType Table.Combine Table.CombineColumns
|
||||
\ Table.CombineColumnsToRecord Table.ConformToPageReader Table.Contains
|
||||
\ Table.ContainsAll Table.ContainsAny Table.DemoteHeaders
|
||||
\ Table.Distinct Table.DuplicateColumn Table.ExpandListColumn
|
||||
\ Table.ExpandRecordColumn Table.ExpandTableColumn Table.FillDown
|
||||
\ Table.FillUp Table.FilterWithDataTable Table.FindText
|
||||
\ Table.First Table.FirstN Table.FirstValue
|
||||
\ Table.FromColumns Table.FromList Table.FromPartitions
|
||||
\ Table.FromRecords Table.FromRows Table.FromValue
|
||||
\ Table.FuzzyGroup Table.FuzzyJoin Table.FuzzyNestedJoin
|
||||
\ Table.Group Table.HasColumns Table.InsertRows
|
||||
\ Table.IsDistinct Table.IsEmpty Table.Join
|
||||
\ Table.Keys Table.Last Table.LastN
|
||||
\ Table.MatchesAllRows Table.MatchesAnyRows Table.Max
|
||||
\ Table.MaxN Table.Min Table.MinN
|
||||
\ Table.NestedJoin Table.Partition Table.PartitionValues
|
||||
\ Table.PartitionValues Table.Pivot Table.PositionOf
|
||||
\ Table.PositionOfAny Table.PrefixColumns Table.Profile
|
||||
\ Table.PromoteHeaders Table.Range Table.RemoveColumns
|
||||
\ Table.RemoveFirstN Table.RemoveLastN Table.RemoveMatchingRows
|
||||
\ Table.RemoveRows Table.RemoveRowsWithErrors Table.RenameColumns
|
||||
\ Table.ReorderColumns Table.Repeat Table.ReplaceErrorValues
|
||||
\ Table.ReplaceKeys Table.ReplaceMatchingRows Table.ReplaceRelationshipIdentity
|
||||
\ Table.ReplaceRows Table.ReplaceValue Table.ReverseRows
|
||||
\ Table.RowCount Table.Schema Table.SelectColumns
|
||||
\ Table.SelectRows Table.SelectRowsWithErrors Table.SingleRow
|
||||
\ Table.Skip Table.Sort Table.Split
|
||||
\ Table.SplitAt Table.SplitColumn Table.StopFolding
|
||||
\ Table.ToColumns Table.ToList Table.ToRecords
|
||||
\ Table.ToRows Table.TransformColumnNames Table.TransformColumnTypes
|
||||
\ Table.TransformColumns Table.TransformRows Table.Transpose
|
||||
\ Table.Unpivot Table.UnpivotOtherColumns Table.View
|
||||
\ Table.ViewError Table.ViewFunction Table.WithErrorContext
|
||||
\ Tables.GetRelationships Teradata.Database Text.AfterDelimiter
|
||||
\ Text.At Text.BeforeDelimiter Text.BetweenDelimiters
|
||||
\ Text.Clean Text.Combine Text.Contains
|
||||
\ Text.End Text.EndsWith Text.From
|
||||
\ Text.FromBinary Text.InferNumberType Text.Insert
|
||||
\ Text.Length Text.Lower Text.Middle
|
||||
\ Text.NewGuid Text.PadEnd Text.PadStart
|
||||
\ Text.PositionOf Text.PositionOfAny Text.Proper
|
||||
\ Text.Range Text.Remove Text.RemoveRange
|
||||
\ Text.Repeat Text.Replace Text.ReplaceRange
|
||||
\ Text.Reverse Text.Select Text.Split
|
||||
\ Text.SplitAny Text.Start Text.StartsWith
|
||||
\ Text.ToBinary Text.ToList Text.Trim
|
||||
\ Text.TrimEnd Text.TrimStart Text.Upper
|
||||
\ Time.EndOfHour Time.From Time.FromText
|
||||
\ Time.Hour Time.Minute Time.Second
|
||||
\ Time.StartOfHour Time.ToRecord Time.ToText
|
||||
\ Type.AddTableKey Type.ClosedRecord Type.Facets
|
||||
\ Type.ForFunction Type.ForRecord Type.FunctionParameters
|
||||
\ Type.FunctionRequiredParameters Type.FunctionReturn Type.Is
|
||||
\ Type.IsNullable Type.IsOpenRecord Type.ListItem
|
||||
\ Type.NonNullable Type.OpenRecord Type.RecordFields
|
||||
\ Type.ReplaceFacets Type.ReplaceTableKeys Type.TableColumn
|
||||
\ Type.TableKeys Type.TableRow Type.TableSchema
|
||||
\ Type.Union Uri.BuildQueryString Uri.Combine
|
||||
\ Uri.EscapeDataString Uri.Parts Value.Add
|
||||
\ Value.Alternates Value.As Value.Compare
|
||||
\ Value.Divide Value.Equals Value.Expression
|
||||
\ Value.Firewall Value.FromText Value.Is
|
||||
\ Value.Lineage Value.Metadata Value.Multiply
|
||||
\ Value.NativeQuery Value.NullableEquals Value.Optimize
|
||||
\ Value.RemoveMetadata Value.ReplaceMetadata Value.ReplaceType
|
||||
\ Value.Subtract Value.Traits Value.Type
|
||||
\ Value.VersionIdentity Value.Versions Value.ViewError
|
||||
\ Value.ViewFunction Variable.Value Web.BrowserContents
|
||||
\ Web.Contents Web.Headers Web.Page
|
||||
\ WebAction.Request Xml.Document Xml.Tables
|
||||
|
||||
|
||||
" Fold on let/in
|
||||
" syn region pqLetFold start="\<let\>\c" end="\<in\>\c" transparent fold
|
||||
|
||||
" Define highlighting
|
||||
hi def link pqComment Comment
|
||||
hi def link pqNumber Number
|
||||
hi def link pqFloat Float
|
||||
hi def link pqString String
|
||||
hi def link pqKeyword Keyword
|
||||
hi def link pqOperator Operator
|
||||
hi def link pqFunction Delimiter
|
||||
hi def link pqTable Number
|
||||
hi def link pqRecord Statement
|
||||
hi def link pqList Delimiter
|
||||
hi def link pqParen Delimiter
|
||||
hi def link pqTodo Todo
|
||||
hi def link pqConditional Conditional
|
||||
hi def link pqNull Const
|
||||
hi def link pqType Type
|
||||
hi def link pqIdentifier Number
|
||||
hi def link pqConstant Constant
|
||||
hi def link pqLetFold Constant
|
||||
|
||||
let b:current_syntax = "pq"
|
||||
|
||||
let &cpo = s:keepcpo
|
||||
unlet! s:keepcpo
|
||||
|
||||
" vim: ts=8
|
||||
@@ -2,6 +2,7 @@
|
||||
" Language: rasi (Rofi Advanced Style Information)
|
||||
" Maintainer: Pierrick Guillaume <pierguill@gmail.com>
|
||||
" Last Change: 2024 May 21
|
||||
" 2025 Apr 16 by Vim Project (set 'cpoptions' for line continuation, #17121)
|
||||
"
|
||||
" Syntax support for rasi config file
|
||||
|
||||
@@ -12,6 +13,8 @@ if exists('b:current_syntax')
|
||||
finish
|
||||
endif
|
||||
let b:current_syntax = 'rasi'
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" String {{{
|
||||
syn region rasiString start=+"+ skip=+\\"+ end=+"+ oneline contained
|
||||
@@ -295,4 +298,7 @@ hi def link rasiInvPropertyId rasiError
|
||||
hi def link rasiInvPropertyVal rasiError
|
||||
" }}}
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim:ts=8
|
||||
|
||||
@@ -8,6 +8,8 @@
|
||||
" 2025 Jan 06 add $PS0 to bashSpecialVariables (#16394)
|
||||
" 2025 Jan 18 add bash coproc, remove duplicate syn keywords (#16467)
|
||||
" 2025 Mar 21 update shell capability detection (#16939)
|
||||
" 2025 Apr 03 command substitution opening paren at EOL (#17026)
|
||||
" 2025 Apr 10 improve shell detection (#17084)
|
||||
" Version: 208
|
||||
" Former URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_SH
|
||||
" For options and settings, please use: :help ft-sh-syntax
|
||||
@@ -22,11 +24,13 @@ endif
|
||||
let b:is_sh = 1
|
||||
|
||||
" If the shell script itself specifies which shell to use, use it
|
||||
if getline(1) =~ '\<ksh\>'
|
||||
let s:shebang = getline(1)
|
||||
|
||||
if s:shebang =~ '^#!.\{-2,}\<ksh\>'
|
||||
let b:is_kornshell = 1
|
||||
elseif getline(1) =~ '\<bash\>'
|
||||
elseif s:shebang =~ '^#!.\{-2,}\<bash\>'
|
||||
let b:is_bash = 1
|
||||
elseif getline(1) =~ '\<dash\>'
|
||||
elseif s:shebang =~ '^#!.\{-2,}\<dash\>'
|
||||
let b:is_dash = 1
|
||||
" handling /bin/sh with is_kornshell/is_sh {{{1
|
||||
" b:is_sh will be set when "#! /bin/sh" is found;
|
||||
@@ -69,6 +73,8 @@ elseif !exists("b:is_kornshell") && !exists("b:is_bash") && !exists("b:is_posix"
|
||||
endif
|
||||
endif
|
||||
|
||||
unlet s:shebang
|
||||
|
||||
" if b:is_dash, set b:is_posix too
|
||||
if exists("b:is_dash")
|
||||
let b:is_posix= 1
|
||||
@@ -389,7 +395,7 @@ syn match shEscape contained '\%(^\)\@!\%(\\\\\)*\\.' nextgroup=shComment
|
||||
" systems too, however, so the following syntax will flag $(..) as
|
||||
" an Error under /bin/sh. By consensus of vimdev'ers!
|
||||
if exists("b:is_kornshell") || exists("b:is_bash") || exists("b:is_posix")
|
||||
syn region shCommandSub matchgroup=shCmdSubRegion start="\$(\ze[^(]" skip='\\\\\|\\.' end=")" contains=@shCommandSubList
|
||||
syn region shCommandSub matchgroup=shCmdSubRegion start="\$((\@!" skip='\\\\\|\\.' end=")" contains=@shCommandSubList
|
||||
if exists("b:is_kornshell")
|
||||
syn region shSubshare matchgroup=shCmdSubRegion start="\${\ze[ \t\n<]" skip='\\\\\|\\.' end="\zs[ \t\n;]}" contains=@shCommandSubList
|
||||
syn region shValsub matchgroup=shCmdSubRegion start="\${|" skip='\\\\\|\\.' end="}" contains=@shCommandSubList
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim syntax file
|
||||
" Language: Debian version information
|
||||
" Maintainer: Debian Vim Maintainers
|
||||
" Last Change: 2024 Nov 04
|
||||
" Last Change: 2025 Mar 29
|
||||
" URL: https://salsa.debian.org/vim-team/vim-debian/blob/main/syntax/shared/debversions.vim
|
||||
|
||||
let s:cpo = &cpo
|
||||
@@ -9,7 +9,7 @@ set cpo-=C
|
||||
|
||||
let g:debSharedSupportedVersions = [
|
||||
\ 'oldstable', 'stable', 'testing', 'unstable', 'experimental', 'sid', 'rc-buggy',
|
||||
\ 'bullseye', 'bookworm', 'trixie', 'forky',
|
||||
\ 'bullseye', 'bookworm', 'trixie', 'forky', 'duke',
|
||||
\
|
||||
\ 'focal', 'jammy', 'noble', 'oracular', 'plucky',
|
||||
\ 'devel'
|
||||
|
||||
@@ -2,10 +2,11 @@
|
||||
" Language: Solidity
|
||||
" Maintainer: Cothi (jiungdev@gmail.com)
|
||||
" Original Author: tomlion (https://github.com/tomlion/vim-solidity/blob/master/syntax/solidity.vim)
|
||||
" Last Change: 2022 Sep 27
|
||||
" Last Change: 2025 Mar 25
|
||||
"
|
||||
" Contributors:
|
||||
" Modified by thesis (https://github.com/thesis/vim-solidity/blob/main/indent/solidity.vim)
|
||||
" Modified by S0AndS0 (https://github.com/S0AndS0/vim/blob/syntax-solidity-updates/runtime/syntax/solidity.vim)
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
@@ -15,7 +16,7 @@ endif
|
||||
syn keyword solKeyword abstract anonymous as break calldata case catch constant constructor continue default switch revert require
|
||||
syn keyword solKeyword ecrecover addmod mulmod keccak256
|
||||
syn keyword solKeyword delete do else emit enum external final for function if immutable import in indexed inline
|
||||
syn keyword solKeyword interface internal is let match memory modifier new of payable pragma private public pure override virtual
|
||||
syn keyword solKeyword interface internal is let match memory modifier new of payable pragma private public pure override virtual transient
|
||||
syn keyword solKeyword relocatable return returns static storage struct throw try type typeof using
|
||||
syn keyword solKeyword var view while
|
||||
|
||||
@@ -158,6 +159,15 @@ hi def link solEvent Type
|
||||
hi def link solEventName Function
|
||||
hi def link solEventArgSpecial Label
|
||||
|
||||
" Error
|
||||
syn match solError /\<error\>/ nextgroup=solErrorName,solErrorArgs skipwhite
|
||||
syn match solErrorName contained /\<[a-zA-Z_$][0-9a-zA-Z_$]*/ nextgroup=solErrorArgs skipwhite
|
||||
syn region solErrorArgs contained matchgroup=solFuncParens start='(' end=')' contains=solErrorArgCommas,solBuiltinType skipwhite skipempty
|
||||
syn match solErrorArgCommas contained ','
|
||||
|
||||
hi def link solError Type
|
||||
hi def link solErrorName Function
|
||||
|
||||
" Comment
|
||||
syn keyword solCommentTodo TODO FIXME XXX TBD contained
|
||||
syn match solNatSpec contained /@title\|@author\|@notice\|@dev\|@param\|@inheritdoc\|@return/
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
>/+0#0000e05#ffffff0@1| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |l|e|t| |g|:|j|a|v|a|_|s|y|n|t|a|x|_|p|r|e|v|i|e|w|s| |=| |[|4|5@1|]| +0#0000000&@22
|
||||
>/+0#0000e05#ffffff0@1| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |l|e|t| |g|:|j|a|v|a|_|s|y|n|t|a|x|_|p|r|e|v|i|e|w|s| |=| |[|4|5@1|,| |4|8@1|]| +0#0000000&@17
|
||||
@75
|
||||
@75
|
||||
@75
|
||||
|
||||
20
runtime/syntax/testdir/dumps/sh_13_00.dump
Normal file
20
runtime/syntax/testdir/dumps/sh_13_00.dump
Normal file
@@ -0,0 +1,20 @@
|
||||
>#+0#0000e05#ffffff0|!|/|b|i|n|/|d|a|s|h| +0#0000000&@63
|
||||
|#+0#0000e05&| |I|s@1|u|e| |#|1|7|0|2|6| |(|b|a|s|h| |h|i|g|h|l|i|g|h|t|i|n|g| |r|e|q|u|i|r|e|s| |s|p|a|c|e| |a|f|t|e|r| |$|(|)@1| +0#0000000&@15
|
||||
|#+0#0000e05&| |h|t@1|p|s|:|/@1|g|i|t|h|u|b|.|c|o|m|/|v|i|m|/|v|i|m|/|i|s@1|u|e|s|/|1|7|0|2|6|#|i|s@1|u|e|c|o|m@1|e|n|t|-|2|7@1|4|1@1|2@1|8|4| +0#0000000&@9
|
||||
@75
|
||||
|_|c|o|m|p|_|c|o|m|p|g|e|n|_|s|p|l|i|t| |-+0#e000e06&|l| +0#0000000&|-+0#e000e06&@1| +0#0000000&|"+0#af5f00255&|$+0#e000e06&|(| +0#0000000&@45
|
||||
| +0#e000e06&@3|t|m|u|x| |l|i|s|t|-|c|o|m@1|a|n|d|s| |-|F| |"+0#af5f00255&|#+0#e000002&|{|c|o|m@1|a|n|d|_|l|i|s|t|_|n|a|m|e|}|"+0#af5f00255&| +0#0000000&@26
|
||||
| +0#e000e06&@3|t|m|u|x| |l|i|s|t|-|c|o|m@1|a|n|d|s| |-|F| |"+0#af5f00255&|#+0#e000002&|{|c|o|m@1|a|n|d|_|l|i|s|t|_|a|l|i|a|s|}|"+0#af5f00255&| +0#0000000&@25
|
||||
|)+0#e000e06&|"+0#af5f00255&| +0#0000000&@72
|
||||
@75
|
||||
|~+0#4040ff13&| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|i+0#0000000&|s|_|d|a|s|h|:| |1|,| |i|s|_|p|o|s|i|x|:| |1|,| |i|s|_|s|h|:| |1|,| @22|1|,|1| @10|A|l@1|
|
||||
@@ -1,4 +1,7 @@
|
||||
>v+0#af5f00255#ffffff0|i|m|9|s|c|r|i|p|t| +0#0000000&@64
|
||||
|#+0#0000e05&| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |h|i| |l|i|n|k| |v|i|m|9|L|a|m|b|d|a|O|p|e|r|a|t|o|r| |T|o|d|o| +0#0000000&@26
|
||||
|#+0#0000e05&| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |h|i| |l|i|n|k| |v|i|m|9|L|a|m|b|d|a|P|a|r|e|n| |T|o|d|o| +0#0000000&@29
|
||||
@75
|
||||
@75
|
||||
|#+0#0000e05&| |V|i|m| |9| |l|a|m|b|d|a| |e|x|p|r|e|s@1|i|o|n|s| +0#0000000&@48
|
||||
@75
|
||||
@@ -6,15 +9,12 @@
|
||||
|v+0#af5f00255&|a|r| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&|=+0#af5f00255&| +0#0000000&|0+0#e000002&| +0#0000000&@62
|
||||
@75
|
||||
|#+0#0000e05&| |w|i|t|h|o|u|t| |r|e|t|u|r|n| |t|y|p|e| +0#0000000&@53
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#e000e06&|)| +0#0000000&|=+0#af5f00255&|>| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@58
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#e000e06&|_+0#00e0e07&|)+0#e000e06&| +0#0000000&|=+0#af5f00255&|>| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@57
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#e000e06&|x+0#00e0e07&|)+0#e000e06&| +0#0000000&|=+0#af5f00255&|>| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@57
|
||||
@75
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#e000e06&|.+0#0000000&@2|y+0#00e0e07&|)+0#e000e06&| +0#0000000&|=+0#af5f00255&|>| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@54
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#e000e06&|_+0#00e0e07&|,+0#0000000&| |.@2|y+0#00e0e07&|)+0#e000e06&| +0#0000000&|=+0#af5f00255&|>| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@51
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#e000e06&|x+0#00e0e07&|,+0#0000000&| |.@2|y+0#00e0e07&|)+0#e000e06&| +0#0000000&|=+0#af5f00255&|>| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@51
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#0000001#ffff4012|)| +0#0000000#ffffff0|=+0#0000001#ffff4012|>| +0#0000000#ffffff0|e+0#00e0e07&|x|p|r| +0#0000000&@58
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#0000001#ffff4012|_+0#00e0e07#ffffff0|)+0#0000001#ffff4012| +0#0000000#ffffff0|=+0#0000001#ffff4012|>| +0#0000000#ffffff0|e+0#00e0e07&|x|p|r| +0#0000000&@57
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#0000001#ffff4012|x+0#00e0e07#ffffff0|)+0#0000001#ffff4012| +0#0000000#ffffff0|=+0#0000001#ffff4012|>| +0#0000000#ffffff0|e+0#00e0e07&|x|p|r| +0#0000000&@57
|
||||
@75
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#e000e06&|x+0#00e0e07&|,+0#0000000&| |y+0#00e0e07&|)+0#e000e06&| +0#0000000&|=+0#af5f00255&|>| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@54
|
||||
@75
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#e000e06&|_+0#00e0e07&|:+0#0000000&| |n+0#00e0003&|u|m|b|e|r|)+0#e000e06&| +0#0000000&|=+0#af5f00255&|>| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@49
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#0000001#ffff4012|.+0#0000000#ffffff0@2|y+0#00e0e07&|)+0#0000001#ffff4012| +0#0000000#ffffff0|=+0#0000001#ffff4012|>| +0#0000000#ffffff0|e+0#00e0e07&|x|p|r| +0#0000000&@54
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#0000001#ffff4012|_+0#00e0e07#ffffff0|,+0#0000000&| |.@2|y+0#00e0e07&|)+0#0000001#ffff4012| +0#0000000#ffffff0|=+0#0000001#ffff4012|>| +0#0000000#ffffff0|e+0#00e0e07&|x|p|r| +0#0000000&@51
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#0000001#ffff4012|x+0#00e0e07#ffffff0|,+0#0000000&| |.@2|y+0#00e0e07&|)+0#0000001#ffff4012| +0#0000000#ffffff0|=+0#0000001#ffff4012|>| +0#0000000#ffffff0|e+0#00e0e07&|x|p|r| +0#0000000&@51
|
||||
@57|1|,|1| @10|T|o|p|
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
|F+0#00e0e07#ffffff0|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#e000e06&|_+0#00e0e07&|,+0#0000000&| |.@2|y+0#00e0e07&|)+0#e000e06&| +0#0000000&|=+0#af5f00255&|>| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@51
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#e000e06&|x+0#00e0e07&|,+0#0000000&| |.@2|y+0#00e0e07&|)+0#e000e06&| +0#0000000&|=+0#af5f00255&|>| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@51
|
||||
|F+0#00e0e07#ffffff0|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#0000001#ffff4012|_+0#00e0e07#ffffff0|)+0#0000001#ffff4012| +0#0000000#ffffff0|=+0#0000001#ffff4012|>| +0#0000000#ffffff0|e+0#00e0e07&|x|p|r| +0#0000000&@57
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#0000001#ffff4012|x+0#00e0e07#ffffff0|)+0#0000001#ffff4012| +0#0000000#ffffff0|=+0#0000001#ffff4012|>| +0#0000000#ffffff0|e+0#00e0e07&|x|p|r| +0#0000000&@57
|
||||
@75
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#e000e06&|x+0#00e0e07&|,+0#0000000&| |y+0#00e0e07&|)+0#e000e06&| +0#0000000&|=+0#af5f00255&|>| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@54
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#0000001#ffff4012|.+0#0000000#ffffff0@2|y+0#00e0e07&|)+0#0000001#ffff4012| +0#0000000#ffffff0|=+0#0000001#ffff4012|>| +0#0000000#ffffff0|e+0#00e0e07&|x|p|r| +0#0000000&@54
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#0000001#ffff4012|_+0#00e0e07#ffffff0|,+0#0000000&| |.@2|y+0#00e0e07&|)+0#0000001#ffff4012| +0#0000000#ffffff0|=+0#0000001#ffff4012|>| +0#0000000#ffffff0|e+0#00e0e07&|x|p|r| +0#0000000&@51
|
||||
>F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#0000001#ffff4012|x+0#00e0e07#ffffff0|,+0#0000000&| |.@2|y+0#00e0e07&|)+0#0000001#ffff4012| +0#0000000#ffffff0|=+0#0000001#ffff4012|>| +0#0000000#ffffff0|e+0#00e0e07&|x|p|r| +0#0000000&@51
|
||||
@75
|
||||
>F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#e000e06&|_+0#00e0e07&|:+0#0000000&| |n+0#00e0003&|u|m|b|e|r|)+0#e000e06&| +0#0000000&|=+0#af5f00255&|>| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@49
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#e000e06&|x+0#00e0e07&|:+0#0000000&| |n+0#00e0003&|u|m|b|e|r|)+0#e000e06&| +0#0000000&|=+0#af5f00255&|>| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@49
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#0000001#ffff4012|x+0#00e0e07#ffffff0|,+0#0000000&| |y+0#00e0e07&|)+0#0000001#ffff4012| +0#0000000#ffffff0|=+0#0000001#ffff4012|>| +0#0000000#ffffff0|e+0#00e0e07&|x|p|r| +0#0000000&@54
|
||||
@75
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#e000e06&|.+0#0000000&@2|y+0#00e0e07&|:+0#0000000&| |l+0#00e0003&|i|s|t|<|n|u|m|b|e|r|>|)+0#e000e06&| +0#0000000&|=+0#af5f00255&|>| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@40
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#e000e06&|_+0#00e0e07&|:+0#0000000&| |n+0#00e0003&|u|m|b|e|r|,+0#0000000&| |.@2|y+0#00e0e07&|:+0#0000000&| |l+0#00e0003&|i|s|t|<|n|u|m|b|e|r|>|)+0#e000e06&| +0#0000000&|=+0#af5f00255&|>| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@29
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#e000e06&|x+0#00e0e07&|:+0#0000000&| |n+0#00e0003&|u|m|b|e|r|,+0#0000000&| |.@2|y+0#00e0e07&|:+0#0000000&| |l+0#00e0003&|i|s|t|<|n|u|m|b|e|r|>|)+0#e000e06&| +0#0000000&|=+0#af5f00255&|>| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@29
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#0000001#ffff4012|_+0#00e0e07#ffffff0|:+0#0000000&| |n+0#00e0003&|u|m|b|e|r|)+0#0000001#ffff4012| +0#0000000#ffffff0|=+0#0000001#ffff4012|>| +0#0000000#ffffff0|e+0#00e0e07&|x|p|r| +0#0000000&@49
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#0000001#ffff4012|x+0#00e0e07#ffffff0|:+0#0000000&| |n+0#00e0003&|u|m|b|e|r|)+0#0000001#ffff4012| +0#0000000#ffffff0|=+0#0000001#ffff4012|>| +0#0000000#ffffff0|e+0#00e0e07&|x|p|r| +0#0000000&@49
|
||||
@75
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#e000e06&|x+0#00e0e07&|:+0#0000000&| |n+0#00e0003&|u|m|b|e|r|,+0#0000000&| |y+0#00e0e07&|:+0#0000000&| |n+0#00e0003&|u|m|b|e|r|)+0#e000e06&| +0#0000000&|=+0#af5f00255&|>| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@38
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#0000001#ffff4012|.+0#0000000#ffffff0@2|y+0#00e0e07&|:+0#0000000&| |l+0#00e0003&|i|s|t|<|n|u|m|b|e|r|>|)+0#0000001#ffff4012| +0#0000000#ffffff0|=+0#0000001#ffff4012|>| +0#0000000#ffffff0|e+0#00e0e07&|x|p|r| +0#0000000&@40
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#0000001#ffff4012|_+0#00e0e07#ffffff0|:+0#0000000&| |n+0#00e0003&|u|m|b|e|r|,+0#0000000&| |.@2|y+0#00e0e07&|:+0#0000000&| |l+0#00e0003&|i|s|t|<|n|u|m|b|e|r|>|)+0#0000001#ffff4012| +0#0000000#ffffff0|=+0#0000001#ffff4012|>| +0#0000000#ffffff0|e+0#00e0e07&|x|p|r| +0#0000000&@29
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#0000001#ffff4012|x+0#00e0e07#ffffff0|:+0#0000000&| |n+0#00e0003&|u|m|b|e|r|,+0#0000000&| |.@2|y+0#00e0e07&|:+0#0000000&| |l+0#00e0003&|i|s|t|<|n|u|m|b|e|r|>|)+0#0000001#ffff4012| +0#0000000#ffffff0|=+0#0000001#ffff4012|>| +0#0000000#ffffff0|e+0#00e0e07&|x|p|r| +0#0000000&@29
|
||||
@75
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#0000001#ffff4012|x+0#00e0e07#ffffff0|:+0#0000000&| |n+0#00e0003&|u|m|b|e|r|,+0#0000000&| |y+0#00e0e07&|:+0#0000000&| |n+0#00e0003&|u|m|b|e|r|)+0#0000001#ffff4012| +0#0000000#ffffff0|=+0#0000001#ffff4012|>| +0#0000000#ffffff0|e+0#00e0e07&|x|p|r| +0#0000000&@38
|
||||
@75
|
||||
|#+0#0000e05&| |w|i|t|h| |r|e|t|u|r|n| |t|y|p|e| +0#0000000&@56
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#e000e06&|)|:+0#0000000&| |n+0#00e0003&|u|m|b|e|r| +0#0000000&|=+0#af5f00255&|>| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@50
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#e000e06&|_+0#00e0e07&|)+0#e000e06&|:+0#0000000&| |n+0#00e0003&|u|m|b|e|r| +0#0000000&|=+0#af5f00255&|>| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@49
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#e000e06&|x+0#00e0e07&|)+0#e000e06&|:+0#0000000&| |n+0#00e0003&|u|m|b|e|r| +0#0000000&|=+0#af5f00255&|>| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@49
|
||||
@75
|
||||
@57|1|9|,|1| @9|1|3|%|
|
||||
@57|1|9|,|1| @10|9|%|
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
| +0&#ffffff0@74
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#e000e06&|.+0#0000000&@2|y+0#00e0e07&|)+0#e000e06&|:+0#0000000&| |n+0#00e0003&|u|m|b|e|r| +0#0000000&|=+0#af5f00255&|>| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@46
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#e000e06&|_+0#00e0e07&|,+0#0000000&| |.@2|y+0#00e0e07&|)+0#e000e06&|:+0#0000000&| |n+0#00e0003&|u|m|b|e|r| +0#0000000&|=+0#af5f00255&|>| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@43
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#e000e06&|x+0#00e0e07&|,+0#0000000&| |.@2|y+0#00e0e07&|)+0#e000e06&|:+0#0000000&| |n+0#00e0003&|u|m|b|e|r| +0#0000000&|=+0#af5f00255&|>| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@43
|
||||
|#+0#0000e05#ffffff0| |w|i|t|h| |r|e|t|u|r|n| |t|y|p|e| +0#0000000&@56
|
||||
@75
|
||||
>F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#e000e06&|x+0#00e0e07&|,+0#0000000&| |y+0#00e0e07&|)+0#e000e06&|:+0#0000000&| |n+0#00e0003&|u|m|b|e|r| +0#0000000&|=+0#af5f00255&|>| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@46
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#0000001#ffff4012|)|:+0#0000000#ffffff0| |n+0#00e0003&|u|m|b|e|r| +0#0000000&|=+0#0000001#ffff4012|>| +0#0000000#ffffff0|e+0#00e0e07&|x|p|r| +0#0000000&@50
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#0000001#ffff4012|_+0#00e0e07#ffffff0|)+0#0000001#ffff4012|:+0#0000000#ffffff0| |n+0#00e0003&|u|m|b|e|r| +0#0000000&|=+0#0000001#ffff4012|>| +0#0000000#ffffff0|e+0#00e0e07&|x|p|r| +0#0000000&@49
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#0000001#ffff4012|x+0#00e0e07#ffffff0|)+0#0000001#ffff4012|:+0#0000000#ffffff0| |n+0#00e0003&|u|m|b|e|r| +0#0000000&|=+0#0000001#ffff4012|>| +0#0000000#ffffff0|e+0#00e0e07&|x|p|r| +0#0000000&@49
|
||||
> @74
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#0000001#ffff4012|.+0#0000000#ffffff0@2|y+0#00e0e07&|)+0#0000001#ffff4012|:+0#0000000#ffffff0| |n+0#00e0003&|u|m|b|e|r| +0#0000000&|=+0#0000001#ffff4012|>| +0#0000000#ffffff0|e+0#00e0e07&|x|p|r| +0#0000000&@46
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#0000001#ffff4012|_+0#00e0e07#ffffff0|,+0#0000000&| |.@2|y+0#00e0e07&|)+0#0000001#ffff4012|:+0#0000000#ffffff0| |n+0#00e0003&|u|m|b|e|r| +0#0000000&|=+0#0000001#ffff4012|>| +0#0000000#ffffff0|e+0#00e0e07&|x|p|r| +0#0000000&@43
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#0000001#ffff4012|x+0#00e0e07#ffffff0|,+0#0000000&| |.@2|y+0#00e0e07&|)+0#0000001#ffff4012|:+0#0000000#ffffff0| |n+0#00e0003&|u|m|b|e|r| +0#0000000&|=+0#0000001#ffff4012|>| +0#0000000#ffffff0|e+0#00e0e07&|x|p|r| +0#0000000&@43
|
||||
@75
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#e000e06&|_+0#00e0e07&|:+0#0000000&| |n+0#00e0003&|u|m|b|e|r|)+0#e000e06&|:+0#0000000&| |n+0#00e0003&|u|m|b|e|r| +0#0000000&|=+0#af5f00255&|>| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@41
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#e000e06&|x+0#00e0e07&|:+0#0000000&| |n+0#00e0003&|u|m|b|e|r|)+0#e000e06&|:+0#0000000&| |n+0#00e0003&|u|m|b|e|r| +0#0000000&|=+0#af5f00255&|>| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@41
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#0000001#ffff4012|x+0#00e0e07#ffffff0|,+0#0000000&| |y+0#00e0e07&|)+0#0000001#ffff4012|:+0#0000000#ffffff0| |n+0#00e0003&|u|m|b|e|r| +0#0000000&|=+0#0000001#ffff4012|>| +0#0000000#ffffff0|e+0#00e0e07&|x|p|r| +0#0000000&@46
|
||||
@75
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#e000e06&|.+0#0000000&@2|y+0#00e0e07&|:+0#0000000&| |l+0#00e0003&|i|s|t|<|n|u|m|b|e|r|>|)+0#e000e06&|:+0#0000000&| |n+0#00e0003&|u|m|b|e|r| +0#0000000&|=+0#af5f00255&|>| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@32
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#e000e06&|_+0#00e0e07&|:+0#0000000&| |n+0#00e0003&|u|m|b|e|r|,+0#0000000&| |.@2|y+0#00e0e07&|:+0#0000000&| |l+0#00e0003&|i|s|t|<|n|u|m|b|e|r|>|)+0#e000e06&|:+0#0000000&| |n+0#00e0003&|u|m|b|e|r| +0#0000000&|=+0#af5f00255&|>| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@21
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#e000e06&|x+0#00e0e07&|:+0#0000000&| |n+0#00e0003&|u|m|b|e|r|,+0#0000000&| |.@2|y+0#00e0e07&|:+0#0000000&| |l+0#00e0003&|i|s|t|<|n|u|m|b|e|r|>|)+0#e000e06&|:+0#0000000&| |n+0#00e0003&|u|m|b|e|r| +0#0000000&|=+0#af5f00255&|>| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@21
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#0000001#ffff4012|_+0#00e0e07#ffffff0|:+0#0000000&| |n+0#00e0003&|u|m|b|e|r|)+0#0000001#ffff4012|:+0#0000000#ffffff0| |n+0#00e0003&|u|m|b|e|r| +0#0000000&|=+0#0000001#ffff4012|>| +0#0000000#ffffff0|e+0#00e0e07&|x|p|r| +0#0000000&@41
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#0000001#ffff4012|x+0#00e0e07#ffffff0|:+0#0000000&| |n+0#00e0003&|u|m|b|e|r|)+0#0000001#ffff4012|:+0#0000000#ffffff0| |n+0#00e0003&|u|m|b|e|r| +0#0000000&|=+0#0000001#ffff4012|>| +0#0000000#ffffff0|e+0#00e0e07&|x|p|r| +0#0000000&@41
|
||||
@75
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#e000e06&|x+0#00e0e07&|:+0#0000000&| |n+0#00e0003&|u|m|b|e|r|,+0#0000000&| |y+0#00e0e07&|:+0#0000000&| |n+0#00e0003&|u|m|b|e|r|)+0#e000e06&|:+0#0000000&| |n+0#00e0003&|u|m|b|e|r| +0#0000000&|=+0#af5f00255&|>| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@30
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#0000001#ffff4012|.+0#0000000#ffffff0@2|y+0#00e0e07&|:+0#0000000&| |l+0#00e0003&|i|s|t|<|n|u|m|b|e|r|>|)+0#0000001#ffff4012|:+0#0000000#ffffff0| |n+0#00e0003&|u|m|b|e|r| +0#0000000&|=+0#0000001#ffff4012|>| +0#0000000#ffffff0|e+0#00e0e07&|x|p|r| +0#0000000&@32
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#0000001#ffff4012|_+0#00e0e07#ffffff0|:+0#0000000&| |n+0#00e0003&|u|m|b|e|r|,+0#0000000&| |.@2|y+0#00e0e07&|:+0#0000000&| |l+0#00e0003&|i|s|t|<|n|u|m|b|e|r|>|)+0#0000001#ffff4012|:+0#0000000#ffffff0| |n+0#00e0003&|u|m|b|e|r| +0#0000000&|=+0#0000001#ffff4012|>| +0#0000000#ffffff0|e+0#00e0e07&|x|p|r| +0#0000000&@21
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#0000001#ffff4012|x+0#00e0e07#ffffff0|:+0#0000000&| |n+0#00e0003&|u|m|b|e|r|,+0#0000000&| |.@2|y+0#00e0e07&|:+0#0000000&| |l+0#00e0003&|i|s|t|<|n|u|m|b|e|r|>|)+0#0000001#ffff4012|:+0#0000000#ffffff0| |n+0#00e0003&|u|m|b|e|r| +0#0000000&|=+0#0000001#ffff4012|>| +0#0000000#ffffff0|e+0#00e0e07&|x|p|r| +0#0000000&@21
|
||||
@75
|
||||
@75
|
||||
|#+0#0000e05&| |p|o|s|t| |o|p|e|r|a|t|o|r| |c|o|m@1|e|n|t|s| +0#0000000&@50
|
||||
@75
|
||||
@57|3|7|,|1| @9|3|1|%|
|
||||
@57|3|7|,|0|-|1| @7|2|1|%|
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
| +0&#ffffff0@74
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#e000e06&|)| +0#0000000&|=+0#af5f00255&|>| +0#0000000&|#+0#0000e05&| |c|o|m@1|e|n|t| +0#0000000&@53
|
||||
@2|e+0#00e0e07&|x|p|r| +0#0000000&@68
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#e000e06&|)| +0#0000000&|=+0#af5f00255&|>| +0#0000000&@63
|
||||
@2|#+0#0000e05&| |c|o|m@1|e|n|t| +0#0000000&@63
|
||||
@2>e+0#00e0e07&|x|p|r| +0#0000000&@68
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#e000e06&|)| +0#0000000&|=+0#af5f00255&|>| +0#0000000&@63
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#0000001#ffff4012|x+0#00e0e07#ffffff0|:+0#0000000&| |n+0#00e0003&|u|m|b|e|r|,+0#0000000&| |y+0#00e0e07&|:+0#0000000&| |n+0#00e0003&|u|m|b|e|r|)+0#0000001#ffff4012|:+0#0000000#ffffff0| |n+0#00e0003&|u|m|b|e|r| +0#0000000&|=+0#0000001#ffff4012|>| +0#0000000#ffffff0|e+0#00e0e07&|x|p|r| +0#0000000&@30
|
||||
@75
|
||||
@2|#+0#0000e05&| |c|o|m@1|e|n|t| +0#0000000&@63
|
||||
|#+0#0000e05&| |w|i|t|h| |c|o|m|p|o|u|n|d| |r|e|t|u|r|n| |t|y|p|e| +0#0000000&@47
|
||||
@75
|
||||
@2|e+0#00e0e07&|x|p|r| +0#0000000&@68
|
||||
>F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#0000001#ffff4012|)|:+0#0000000#ffffff0| |l+0#00e0003&|i|s|t|<|n|u|m|b|e|r|>| +0#0000000&|=+0#0000001#ffff4012|>| +0#0000000#ffffff0|e+0#00e0e07&|x|p|r| +0#0000000&@44
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#0000001#ffff4012|_+0#00e0e07#ffffff0|)+0#0000001#ffff4012|:+0#0000000#ffffff0| |l+0#00e0003&|i|s|t|<|n|u|m|b|e|r|>| +0#0000000&|=+0#0000001#ffff4012|>| +0#0000000#ffffff0|e+0#00e0e07&|x|p|r| +0#0000000&@43
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#0000001#ffff4012|x+0#00e0e07#ffffff0|)+0#0000001#ffff4012|:+0#0000000#ffffff0| |l+0#00e0003&|i|s|t|<|n|u|m|b|e|r|>| +0#0000000&|=+0#0000001#ffff4012|>| +0#0000000#ffffff0|e+0#00e0e07&|x|p|r| +0#0000000&@43
|
||||
@75
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#0000001#ffff4012|.+0#0000000#ffffff0@2|y+0#00e0e07&|)+0#0000001#ffff4012|:+0#0000000#ffffff0| |l+0#00e0003&|i|s|t|<|n|u|m|b|e|r|>| +0#0000000&|=+0#0000001#ffff4012|>| +0#0000000#ffffff0|e+0#00e0e07&|x|p|r| +0#0000000&@40
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#0000001#ffff4012|_+0#00e0e07#ffffff0|,+0#0000000&| |.@2|y+0#00e0e07&|)+0#0000001#ffff4012|:+0#0000000#ffffff0| |l+0#00e0003&|i|s|t|<|n|u|m|b|e|r|>| +0#0000000&|=+0#0000001#ffff4012|>| +0#0000000#ffffff0|e+0#00e0e07&|x|p|r| +0#0000000&@37
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#0000001#ffff4012|x+0#00e0e07#ffffff0|,+0#0000000&| |.@2|y+0#00e0e07&|)+0#0000001#ffff4012|:+0#0000000#ffffff0| |l+0#00e0003&|i|s|t|<|n|u|m|b|e|r|>| +0#0000000&|=+0#0000001#ffff4012|>| +0#0000000#ffffff0|e+0#00e0e07&|x|p|r| +0#0000000&@37
|
||||
@75
|
||||
|#+0#0000e05&| |l|i|n|e| |c|o|n|t|i|n|u|a|t|i|o|n|s| +0#0000000&@54
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#0000001#ffff4012|x+0#00e0e07#ffffff0|,+0#0000000&| |y+0#00e0e07&|)+0#0000001#ffff4012|:+0#0000000#ffffff0| |l+0#00e0003&|i|s|t|<|n|u|m|b|e|r|>| +0#0000000&|=+0#0000001#ffff4012|>| +0#0000000#ffffff0|e+0#00e0e07&|x|p|r| +0#0000000&@40
|
||||
@75
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#e000e06&|x+0#00e0e07&|:+0#0000000&| |s+0#00e0003&|t|r|i|n|g|,+0#0000000&| @57
|
||||
@6|\+0#e000e06&| +0#0000000&|y+0#00e0e07&|:+0#0000000&| |n+0#00e0003&|u|m|b|e|r|,+0#0000000&| @56
|
||||
@6|\+0#e000e06&| +0#0000000&|z+0#00e0e07&|:+0#0000000&| |b+0#00e0003&|o@1|l|)+0#e000e06&|:+0#0000000&| |n+0#00e0003&|u|m|b|e|r| +0#0000000&|=+0#af5f00255&|>| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@42
|
||||
|#+0#0000e05&| |F+0#0000001#ffff4012|I|X|M|E| +0#0000000#ffffff0@67
|
||||
@57|5@1|,|3| @9|5|0|%|
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#0000001#ffff4012|_+0#00e0e07#ffffff0|:+0#0000000&| |n+0#00e0003&|u|m|b|e|r|)+0#0000001#ffff4012|:+0#0000000#ffffff0| |l+0#00e0003&|i|s|t|<|n|u|m|b|e|r|>| +0#0000000&|=+0#0000001#ffff4012|>| +0#0000000#ffffff0|e+0#00e0e07&|x|p|r| +0#0000000&@35
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#0000001#ffff4012|x+0#00e0e07#ffffff0|:+0#0000000&| |n+0#00e0003&|u|m|b|e|r|)+0#0000001#ffff4012|:+0#0000000#ffffff0| |l+0#00e0003&|i|s|t|<|n|u|m|b|e|r|>| +0#0000000&|=+0#0000001#ffff4012|>| +0#0000000#ffffff0|e+0#00e0e07&|x|p|r| +0#0000000&@35
|
||||
@75
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#0000001#ffff4012|.+0#0000000#ffffff0@2|y+0#00e0e07&|:+0#0000000&| |l+0#00e0003&|i|s|t|<|n|u|m|b|e|r|>|)+0#0000001#ffff4012|:+0#0000000#ffffff0| |l+0#00e0003&|i|s|t|<|n|u|m|b|e|r|>| +0#0000000&|=+0#0000001#ffff4012|>| +0#0000000#ffffff0|e+0#00e0e07&|x|p|r| +0#0000000&@26
|
||||
@57|5@1|,|1| @9|3|4|%|
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
|#+0#0000e05#ffffff0| |F+0#0000001#ffff4012|I|X|M|E| +0#0000000#ffffff0@67
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#e000e06&|x+0#00e0e07&|:+0#0000000&| |s+0#00e0003&|t|r|i|n|g|,+0#0000000&| @57
|
||||
@6|\+0#e000e06&| +0#0000000&|y+0#00e0e07&|:+0#0000000&| |n+0#00e0003&|u|m|b|e|r|,+0#0000000&| @56
|
||||
@6|\+0#e000e06&| +0#0000000&|z+0#00e0e07&|:+0#0000000&| |b+0#00e0003&|o@1|l|)+0#e000e06&|:+0#0000000&| |n+0#00e0003&|u|m|b|e|r| +0#0000000&@50
|
||||
@6|\| |=+0#af5f00255&|>| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@59
|
||||
|F+0#00e0e07#ffffff0|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#0000001#ffff4012|.+0#0000000#ffffff0@2|y+0#00e0e07&|:+0#0000000&| |l+0#00e0003&|i|s|t|<|n|u|m|b|e|r|>|)+0#0000001#ffff4012|:+0#0000000#ffffff0| |l+0#00e0003&|i|s|t|<|n|u|m|b|e|r|>| +0#0000000&|=+0#0000001#ffff4012|>| +0#0000000#ffffff0|e+0#00e0e07&|x|p|r| +0#0000000&@26
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#0000001#ffff4012|_+0#00e0e07#ffffff0|:+0#0000000&| |n+0#00e0003&|u|m|b|e|r|,+0#0000000&| |.@2|y+0#00e0e07&|:+0#0000000&| |l+0#00e0003&|i|s|t|<|n|u|m|b|e|r|>|)+0#0000001#ffff4012|:+0#0000000#ffffff0| |l+0#00e0003&|i|s|t|<|n|u|m|b|e|r|>| +0#0000000&|=+0#0000001#ffff4012|>| +0#0000000#ffffff0|e+0#00e0e07&|x|p|r| +0#0000000&@15
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#0000001#ffff4012|x+0#00e0e07#ffffff0|:+0#0000000&| |n+0#00e0003&|u|m|b|e|r|,+0#0000000&| |.@2|y+0#00e0e07&|:+0#0000000&| |l+0#00e0003&|i|s|t|<|n|u|m|b|e|r|>|)+0#0000001#ffff4012|:+0#0000000#ffffff0| |l+0#00e0003&|i|s|t|<|n|u|m|b|e|r|>| +0#0000000&|=+0#0000001#ffff4012|>| +0#0000000#ffffff0|e+0#00e0e07&|x|p|r| +0#0000000&@15
|
||||
@75
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#0000001#ffff4012|x+0#00e0e07#ffffff0|:+0#0000000&| |n+0#00e0003&|u|m|b|e|r|,+0#0000000&| |y+0#00e0e07&|:+0#0000000&| |n+0#00e0003&|u|m|b|e|r|)+0#0000001#ffff4012|:+0#0000000#ffffff0| |l+0#00e0003&|i|s|t|<|n|u|m|b|e|r|>| +0#0000000&|=+0#0000001#ffff4012|>| +0#0000000#ffffff0|e+0#00e0e07&|x|p|r| +0#0000000&@24
|
||||
> @74
|
||||
@75
|
||||
|#+0#0000e05&| |f|u|n|c|r|e|f| |c|a|l@1| +0#0000000&@60
|
||||
|#+0#0000e05&| |p|o|s|t| |o|p|e|r|a|t|o|r| |c|o|m@1|e|n|t|s| +0#0000000&@50
|
||||
@75
|
||||
|e+0#af5f00255&|c|h|o| +0#0000000&|(+0#e000e06&@1|)| +0#0000000&|=+0#af5f00255&|>| +0#0000000&|4+0#e000002&|2|)+0#e000e06&|(|)| +0#0000000&@57
|
||||
|e+0#af5f00255&|c|h|o| +0#0000000&|(+0#e000e06&@1|x+0#00e0e07&|:+0#0000000&| |s+0#00e0003&|t|r|i|n|g|)+0#e000e06&|:+0#0000000&| |n+0#00e0003&|u|m|b|e|r| +0#0000000&|=+0#af5f00255&|>| +0#0000000&|4+0#e000002&|2|)+0#e000e06&|(|"+0#e000002&|f|o@1|"|)+0#e000e06&| +0#0000000&@35
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#0000001#ffff4012|)| +0#0000000#ffffff0|=+0#0000001#ffff4012|>| +0#0000000#ffffff0|#+0#0000e05&| |c|o|m@1|e|n|t| +0#0000000&@53
|
||||
@2|e+0#00e0e07&|x|p|r| +0#0000000&@68
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#0000001#ffff4012|)| +0#0000000#ffffff0|=+0#0000001#ffff4012|>| +0#0000000#ffffff0@63
|
||||
@2|#+0#0000e05&| |c|o|m@1|e|n|t| +0#0000000&@63
|
||||
@2|e+0#00e0e07&|x|p|r| +0#0000000&@68
|
||||
|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#0000001#ffff4012|)| +0#0000000#ffffff0|=+0#0000001#ffff4012|>| +0#0000000#ffffff0@63
|
||||
@75
|
||||
@2|#+0#0000e05&| |c|o|m@1|e|n|t| +0#0000000&@63
|
||||
@75
|
||||
|#+0#0000e05&| |:|h|e|l|p| |v|i|m|9|-|l|a|m|b|d|a| +0#0000000&@55
|
||||
@75
|
||||
|v+0#af5f00255&|a|r| +0#0000000&|l+0#00e0e07&|i|s|t| +0#0000000&|=+0#af5f00255&| +0#0000000&|[+0#e000e06&|1+0#e000002&|,+0#0000000&| |2+0#e000002&|,+0#0000000&| |3+0#e000002&|]+0#e000e06&| +0#0000000&@54
|
||||
|e+0#af5f00255&|c|h|o| +0#0000000&|f+0#00e0e07&|i|l|t|e|r|(+0#e000e06&|l+0#00e0e07&|i|s|t|,+0#0000000&| |(+0#e000e06&|k+0#00e0e07&|,+0#0000000&| |v+0#00e0e07&|)+0#e000e06&| +0#0000000&|=+0#af5f00255&|>| +0#0000000&@47
|
||||
@16|v+0#00e0e07&| +0#0000000&|>+0#af5f00255&| +0#0000000&|0+0#e000002&|)+0#e000e06&| +0#0000000&@52
|
||||
|e+0#af5f00255&|c|h|o| +0#0000000&|f+0#00e0e07&|i|l|t|e|r|(+0#e000e06&|l+0#00e0e07&|i|s|t|,+0#0000000&| |(+0#e000e06&|k+0#00e0e07&|,+0#0000000&| @53
|
||||
@57|7|3|,|0|-|1| @7|6|9|%|
|
||||
@2|e+0#00e0e07&|x|p|r| +0#0000000&@68
|
||||
@57|7|3|,|0|-|1| @7|4|6|%|
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user