mirror of
https://github.com/zoriya/vim.git
synced 2025-12-24 16:15:21 +00:00
Compare commits
300 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1d478a6242 | ||
|
|
c79a5452ac | ||
|
|
ca63501fbc | ||
|
|
c1d20998d7 | ||
|
|
10ad1d90da | ||
|
|
5f1fea28f5 | ||
|
|
0a777ab989 | ||
|
|
02d803fc0c | ||
|
|
1d6328ca00 | ||
|
|
69b67f7e77 | ||
|
|
4d0c7bc74a | ||
|
|
b0262f239e | ||
|
|
3fe076f0fe | ||
|
|
8919554fe1 | ||
|
|
b8603882b1 | ||
|
|
0600f3511c | ||
|
|
7b256fe744 | ||
|
|
2455c4ede8 | ||
|
|
3b59755862 | ||
|
|
54f018cd59 | ||
|
|
9534680731 | ||
|
|
93c88e0f6a | ||
|
|
ed84b76021 | ||
|
|
e906c50207 | ||
|
|
43335ea394 | ||
|
|
5325b9bbae | ||
|
|
12969c04fe | ||
|
|
3cbe0c01ad | ||
|
|
a122b5e98a | ||
|
|
d8986fd914 | ||
|
|
aa23b37942 | ||
|
|
4a4b821085 | ||
|
|
a09a2c5857 | ||
|
|
7e2ec008f5 | ||
|
|
b58988b832 | ||
|
|
cf619daa8e | ||
|
|
ac360bf2ca | ||
|
|
615942452e | ||
|
|
544780248b | ||
|
|
8b5f65a527 | ||
|
|
5adfea1ac6 | ||
|
|
8667d66ca9 | ||
|
|
6017f3799d | ||
|
|
5df1ed2de3 | ||
|
|
37a8de17d4 | ||
|
|
d43f0951bc | ||
|
|
cdf0442d00 | ||
|
|
5ea87a0496 | ||
|
|
8e5f5b47c2 | ||
|
|
6ed535dbc0 | ||
|
|
8060687905 | ||
|
|
88774fdd23 | ||
|
|
80ce282107 | ||
|
|
0a38dd29d6 | ||
|
|
f6470c288c | ||
|
|
7e47d1ac6a | ||
|
|
e68c25c677 | ||
|
|
be83b73ddb | ||
|
|
3f188935ec | ||
|
|
b341dda575 | ||
|
|
7fb7d34caf | ||
|
|
670acbc70f | ||
|
|
8cba8ba3e0 | ||
|
|
3cfd5289ca | ||
|
|
1560d07045 | ||
|
|
8e8b486727 | ||
|
|
fc39ecf8de | ||
|
|
25c2f6783a | ||
|
|
cde8854730 | ||
|
|
bd8539aac3 | ||
|
|
8fee878fe2 | ||
|
|
901e58c243 | ||
|
|
89c17c02ca | ||
|
|
2288afed42 | ||
|
|
dd8a5286e1 | ||
|
|
73627d0bd4 | ||
|
|
382197865c | ||
|
|
dbd24b5967 | ||
|
|
fbd302ff38 | ||
|
|
204b93f958 | ||
|
|
9dd33af4ba | ||
|
|
75e6413546 | ||
|
|
bb86ebb0ef | ||
|
|
0bbcb5c8ef | ||
|
|
cc218ab3ca | ||
|
|
29bc9db36e | ||
|
|
43fe32900c | ||
|
|
f7bb86dc59 | ||
|
|
52e21cf057 | ||
|
|
278236000f | ||
|
|
829aef1eb4 | ||
|
|
6b9be1b6f2 | ||
|
|
31b259bf95 | ||
|
|
5f95f288a2 | ||
|
|
33c3a694fc | ||
|
|
dd1616e6ce | ||
|
|
b388be0abf | ||
|
|
d4a95c3bc5 | ||
|
|
f91328100d | ||
|
|
165bc69d1b | ||
|
|
6561d52ecb | ||
|
|
d51cb706a4 | ||
|
|
d113a80c77 | ||
|
|
9cac424d05 | ||
|
|
5cbb8dbc32 | ||
|
|
fb9bc4829a | ||
|
|
537443018d | ||
|
|
34d72d4b6c | ||
|
|
2cf6938706 | ||
|
|
2536d4f396 | ||
|
|
5d1bc78a2b | ||
|
|
fe6f186877 | ||
|
|
1db43b1145 | ||
|
|
3ec3261980 | ||
|
|
ae2fe73abc | ||
|
|
86ae720d75 | ||
|
|
694cac7a35 | ||
|
|
2c61ec65e8 | ||
|
|
efcabd6892 | ||
|
|
b6be1e2390 | ||
|
|
42a4512f62 | ||
|
|
ae94b7718a | ||
|
|
5c5c9801b1 | ||
|
|
5f1e68b7bc | ||
|
|
46fd4df719 | ||
|
|
2693ca21ce | ||
|
|
4392996461 | ||
|
|
fafeee6b9e | ||
|
|
92abe859ed | ||
|
|
9bb1930af9 | ||
|
|
6a57cce048 | ||
|
|
1f860d8590 | ||
|
|
4921c24b31 | ||
|
|
979243b990 | ||
|
|
e5401220b0 | ||
|
|
5081d20247 | ||
|
|
9514b1f9a1 | ||
|
|
fa67fbe6b8 | ||
|
|
b5c3265521 | ||
|
|
367fbf17da | ||
|
|
641e48c224 | ||
|
|
3a304b2382 | ||
|
|
74db34cc91 | ||
|
|
66312acf14 | ||
|
|
70b5a5f5b9 | ||
|
|
280a868a24 | ||
|
|
0e7c4b99c6 | ||
|
|
6a7e2a668b | ||
|
|
e2db6c975b | ||
|
|
b8c890035e | ||
|
|
01cf376da1 | ||
|
|
0fce425772 | ||
|
|
cf0213ef7e | ||
|
|
c004bc2726 | ||
|
|
a594d77ffc | ||
|
|
a7b7b1cef9 | ||
|
|
541f92d6cf | ||
|
|
c7a0d32c83 | ||
|
|
acc39888cd | ||
|
|
d710e0d247 | ||
|
|
6e8d3b0d41 | ||
|
|
b878bbbca6 | ||
|
|
e2e4b98622 | ||
|
|
d009e86826 | ||
|
|
d68f2219b5 | ||
|
|
f2571c61d5 | ||
|
|
d0d0fe09cf | ||
|
|
7098ee5c37 | ||
|
|
bc56336bb4 | ||
|
|
0481fee488 | ||
|
|
4270496716 | ||
|
|
9c60161888 | ||
|
|
1fd3e30ce9 | ||
|
|
659c94d483 | ||
|
|
7bc25aed33 | ||
|
|
4032cfdf17 | ||
|
|
73284b973a | ||
|
|
d59c099120 | ||
|
|
f300ad230b | ||
|
|
c4dc286fe6 | ||
|
|
81278efadf | ||
|
|
1cd5e613b0 | ||
|
|
cad2fc9935 | ||
|
|
2186ffa2c7 | ||
|
|
069dd08d8d | ||
|
|
ea98f8b4d6 | ||
|
|
1510f996c5 | ||
|
|
4c6b3b20dd | ||
|
|
7927836733 | ||
|
|
40ce3a4e1f | ||
|
|
77354e78a8 | ||
|
|
3cbac309f7 | ||
|
|
5b14f89164 | ||
|
|
bbc1a592a0 | ||
|
|
d82a2a990b | ||
|
|
f9bde2b152 | ||
|
|
d39a751280 | ||
|
|
ec45c4a6df | ||
|
|
ba172f2eab | ||
|
|
0a63dedf99 | ||
|
|
d5f6933d5c | ||
|
|
05b20fb14e | ||
|
|
9bc174b69d | ||
|
|
d94682ffb4 | ||
|
|
50ab994ab3 | ||
|
|
7c94ce910f | ||
|
|
83d1b19015 | ||
|
|
29d54df5cd | ||
|
|
5a5f45917d | ||
|
|
695baeefe1 | ||
|
|
de1502f2b4 | ||
|
|
f630387827 | ||
|
|
da6365774d | ||
|
|
d87c36ea5e | ||
|
|
478c46e50f | ||
|
|
1e7813a187 | ||
|
|
7d2757a472 | ||
|
|
0e462411ca | ||
|
|
e5c421cfd7 | ||
|
|
1ca2e361a8 | ||
|
|
09deeb7c94 | ||
|
|
dbcf19dc49 | ||
|
|
71371b1579 | ||
|
|
310f2d59b2 | ||
|
|
6383b92d8c | ||
|
|
f11ce667b0 | ||
|
|
a161e26d55 | ||
|
|
6c927557e2 | ||
|
|
eab316bdf9 | ||
|
|
77b7710d4e | ||
|
|
e7154eb5c3 | ||
|
|
5837f1f447 | ||
|
|
b5971141df | ||
|
|
4df702999d | ||
|
|
dcefba9934 | ||
|
|
3b7b83649c | ||
|
|
825e7ab423 | ||
|
|
fbc25b20cb | ||
|
|
b1fc2bf29c | ||
|
|
76feaf1bfe | ||
|
|
6b31467aa7 | ||
|
|
404c942fb8 | ||
|
|
438b64ab71 | ||
|
|
6c5bdb751c | ||
|
|
c7dc1f4a53 | ||
|
|
488eb26ec7 | ||
|
|
0f8dd840fc | ||
|
|
ab11a5914b | ||
|
|
d8b77f7dc0 | ||
|
|
b6c2735c56 | ||
|
|
a245bc79b4 | ||
|
|
e421450a5e | ||
|
|
4dcdf29910 | ||
|
|
4f36dc3bf7 | ||
|
|
5d3fbf3bfe | ||
|
|
cf48767cd1 | ||
|
|
f3c2afb77f | ||
|
|
2b8388bd01 | ||
|
|
bac203ea2d | ||
|
|
13cf77ba17 | ||
|
|
e25bb90b2e | ||
|
|
8da9bbfd02 | ||
|
|
ba17ed6797 | ||
|
|
c6b7217ff5 | ||
|
|
d45c07ac74 | ||
|
|
dfd7691bb8 | ||
|
|
c3bbad085c | ||
|
|
8fc6bc7126 | ||
|
|
46538ee46c | ||
|
|
1e997827f1 | ||
|
|
35e7594dd4 | ||
|
|
4653911950 | ||
|
|
05eb612ff3 | ||
|
|
f65aad5554 | ||
|
|
be20f9fa5d | ||
|
|
eaa330e8e9 | ||
|
|
4a42710695 | ||
|
|
c51b02d7d9 | ||
|
|
98f52500b6 | ||
|
|
8872ef1b4e | ||
|
|
494838a3fe | ||
|
|
eb2928595b | ||
|
|
24a6ff88bc | ||
|
|
9abd5c6507 | ||
|
|
a1d2c58985 | ||
|
|
168e04966c | ||
|
|
f554a3285e | ||
|
|
934b136193 | ||
|
|
b84634de30 | ||
|
|
9d49da8cbb | ||
|
|
0122c4070f | ||
|
|
c0a37b9db3 | ||
|
|
f2c03d7301 | ||
|
|
e71eea801e | ||
|
|
d7ce7a9ad2 | ||
|
|
70781ee403 | ||
|
|
e08dd4e49e | ||
|
|
b641df4965 | ||
|
|
016154919e | ||
|
|
2459a5ecaa |
2
.gitignore
vendored
2
.gitignore
vendored
@@ -69,5 +69,7 @@ src/testdir/lua.vim
|
||||
src/testdir/small.vim
|
||||
src/testdir/tiny.vim
|
||||
src/testdir/test*.out
|
||||
src/testdir/test*.failed
|
||||
src/testdir/test.log
|
||||
src/testdir/dostmp/*
|
||||
src/memfile_test
|
||||
|
||||
41
.travis.yml
Normal file
41
.travis.yml
Normal file
@@ -0,0 +1,41 @@
|
||||
language: c
|
||||
|
||||
compiler:
|
||||
- clang
|
||||
- gcc
|
||||
|
||||
env:
|
||||
- COVERAGE=yes CFLAGS=--coverage LDFLAGS=--coverage FEATURES=huge
|
||||
"CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-python3interp --enable-rubyinterp --enable-luainterp'"
|
||||
- COVERAGE=no FEATURES=small CONFOPT=
|
||||
- COVERAGE=no FEATURES=tiny CONFOPT=
|
||||
|
||||
sudo: false
|
||||
|
||||
branches:
|
||||
except:
|
||||
- /^v[0-9]/
|
||||
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- lcov
|
||||
- libperl-dev
|
||||
- python-dev
|
||||
- python3-dev
|
||||
- liblua5.1-0-dev
|
||||
- lua5.1
|
||||
|
||||
before_install:
|
||||
- pip install --user cpp-coveralls
|
||||
|
||||
script:
|
||||
- NPROC=$(getconf _NPROCESSORS_ONLN)
|
||||
- ./configure --with-features=$FEATURES $CONFOPT --enable-fail-if-missing && make -j$NPROC
|
||||
- ./src/vim --version
|
||||
- make test
|
||||
|
||||
after_success:
|
||||
- if [ x"$COVERAGE" = "xyes" ]; then ~/.local/bin/coveralls -b src -x .xs -e src/xxd -e src/if_perl.c --encodings utf-8 latin-1 EUC-KR; fi
|
||||
|
||||
# vim:set sts=2 sw=2 tw=0 et:
|
||||
54
CONTRIBUTING.md
Normal file
54
CONTRIBUTING.md
Normal file
@@ -0,0 +1,54 @@
|
||||
# Contributing to Vim
|
||||
|
||||
Patches are welcome in whatever form.
|
||||
Discussions about patches happen on the vim-dev maillist.
|
||||
If you create a pull request on GitHub it will be
|
||||
forwarded to the vim-dev maillist. You can also send your patch there
|
||||
directly. An attachment with a unified diff format is preferred.
|
||||
Information about the maillist can be found [on the Vim website].
|
||||
|
||||
[on the Vim website]: http://www.vim.org/maillist.php#vim-dev
|
||||
|
||||
Please consider adding a test. Test coverage isn't very good yet, this needs
|
||||
to improve. Look through recent patches for examples. The tests are located
|
||||
under "src/testdir".
|
||||
|
||||
|
||||
# Reporting issues
|
||||
|
||||
We use GitHub issues, but that is not a requirement. Writing to the Vim
|
||||
maillist is also fine.
|
||||
|
||||
Please use the GitHub issues only for actual issues. If you are not 100% sure
|
||||
that your problem is a Vim issue, please first discuss this on the Vim user
|
||||
maillist. Try reproducing the problem without any plugins or settings:
|
||||
|
||||
vim -N -u NONE
|
||||
|
||||
If you report an issue, please describe exactly how to reproduce it.
|
||||
For example, don't say "insert some text" but say what you did exactly:
|
||||
"ahere is some text<Esc>".
|
||||
Ideally, the steps you list can be used to write a test to verify the problem
|
||||
is fixed.
|
||||
|
||||
Feel free to report even the smallest problem, also typos in the documentation.
|
||||
|
||||
You can find known issues in the todo file: ":help todo".
|
||||
Or open [the todo file] on GitHub to see the latest version.
|
||||
|
||||
[the todo file]: https://github.com/vim/vim/blob/master/runtime/doc/todo.txt
|
||||
|
||||
|
||||
# Syntax, indent and other runtime files
|
||||
|
||||
The latest version of these files can be obtained from the repository.
|
||||
They are usually not updated with numbered patches.
|
||||
|
||||
If you find a problem with one of these files or have a suggestion for
|
||||
improvement, please first try to contact the maintainer directly.
|
||||
Look in the header of the file for the name and email address.
|
||||
|
||||
The maintainer will take care of issues and send updates to Bram for
|
||||
distribution with Vim.
|
||||
|
||||
If the maintainer does not react, contact the vim-dev maillist.
|
||||
4
Filelist
4
Filelist
@@ -4,6 +4,8 @@
|
||||
# source files for all source archives
|
||||
SRC_ALL = \
|
||||
.hgignore \
|
||||
.travis.yml \
|
||||
appveyor.yml \
|
||||
src/README.txt \
|
||||
src/arabic.c \
|
||||
src/arabic.h \
|
||||
@@ -481,6 +483,8 @@ SRC_EXTRA = \
|
||||
# runtime files for all distributions
|
||||
RT_ALL = \
|
||||
README.txt \
|
||||
README.md \
|
||||
CONTRIBUTING.md \
|
||||
runtime/bugreport.vim \
|
||||
runtime/doc/*.awk \
|
||||
runtime/doc/*.pl \
|
||||
|
||||
120
README.md
Normal file
120
README.md
Normal file
@@ -0,0 +1,120 @@
|
||||
`README.md` for version 7.4 of Vim: Vi IMproved.
|
||||
|
||||
|
||||
## What is VIM ##
|
||||
|
||||
Vim is an almost compatible version of the UNIX editor Vi. Many new features
|
||||
have been added: multi-level undo, syntax highlighting, command line history,
|
||||
on-line help, spell checking, filename completion, block operations, etc.
|
||||
There is also a Graphical User Interface (GUI) available. See
|
||||
`runtime/doc/vi_diff.txt` for differences with Vi.
|
||||
|
||||
This editor is very useful for editing programs and other plain text files.
|
||||
All commands are given with normal keyboard characters, so those who can type
|
||||
with ten fingers can work very fast. Additionally, function keys can be
|
||||
defined by the user, and the mouse can be used.
|
||||
|
||||
Vim runs under Amiga DOS, MS-DOS, MS-Windows (95, 98, Me, NT, 2000, XP, Vista,
|
||||
7), Atari MiNT, Macintosh, BeOS, VMS, RISC OS, OS/2 and almost all flavours of
|
||||
UNIX. Porting to other systems should not be very difficult.
|
||||
|
||||
|
||||
## Distribution ##
|
||||
|
||||
There are separate distributions for Unix, PC, Amiga and some other systems.
|
||||
This `README.md` file comes with the runtime archive. It includes the
|
||||
documentation, syntax files and other files that are used at runtime. To run
|
||||
Vim you must get either one of the binary archives or a source archive.
|
||||
Which one you need depends on the system you want to run it on and whether you
|
||||
want or must compile it yourself. Check http://www.vim.org/download.php for
|
||||
an overview of currently available distributions.
|
||||
|
||||
[](https://travis-ci.org/vim/vim)
|
||||
[](https://coveralls.io/github/vim/vim?branch=master)
|
||||
|
||||
|
||||
## Documentation ##
|
||||
|
||||
The vim tutor is a one hour training course for beginners. Mostly it can be
|
||||
started as `vimtutor`. See `:help tutor` for more information.
|
||||
|
||||
The best is to use `:help` in Vim. If you don't have an executable yet, read
|
||||
`runtime/doc/help.txt`. It contains pointers to the other documentation
|
||||
files. The User Manual reads like a book and is recommended to learn to use
|
||||
Vim. See `:help user-manual`.
|
||||
|
||||
|
||||
## Copying ##
|
||||
|
||||
Vim is Charityware. You can use and copy it as much as you like, but you are
|
||||
encouraged to make a donation to help orphans in Uganda. Please read the file
|
||||
`runtime/doc/uganda.txt` for details (do `:help uganda` inside Vim).
|
||||
|
||||
Summary of the license: There are no restrictions on using or distributing an
|
||||
unmodified copy of Vim. Parts of Vim may also be distributed, but the license
|
||||
text must always be included. For modified versions a few restrictions apply.
|
||||
The license is GPL compatible, you may compile Vim with GPL libraries and
|
||||
distribute it.
|
||||
|
||||
|
||||
## Sponsoring ##
|
||||
|
||||
Fixing bugs and adding new features takes a lot of time and effort. To show
|
||||
your appreciation for the work and motivate Bram and others to continue
|
||||
working on Vim please send a donation.
|
||||
|
||||
Since Bram is back to a paid job the money will now be used to help children
|
||||
in Uganda. See `runtime/doc/uganda.txt`. But at the same time donations
|
||||
increase Bram's motivation to keep working on Vim!
|
||||
|
||||
For the most recent information about sponsoring look on the Vim web site:
|
||||
http://www.vim.org/sponsor/
|
||||
|
||||
|
||||
## Compiling ##
|
||||
|
||||
If you obtained a binary distribution you don't need to compile Vim. If you
|
||||
obtained a source distribution, all the stuff for compiling Vim is in the
|
||||
`src` directory. See `src/INSTALL` for instructions.
|
||||
|
||||
|
||||
## Installation ##
|
||||
|
||||
See one of these files for system-specific instructions:
|
||||
|
||||
README_ami.txt Amiga
|
||||
README_unix.txt Unix
|
||||
README_dos.txt MS-DOS and MS-Windows
|
||||
README_os2.txt OS/2
|
||||
README_mac.txt Macintosh
|
||||
README_vms.txt VMS
|
||||
|
||||
There are more `README_*.txt` files, depending on the distribution you used.
|
||||
|
||||
|
||||
## Contributing ##
|
||||
|
||||
If you would like to help making Vim better, see the `CONTRIBUTING.md` file.
|
||||
|
||||
|
||||
## Information ##
|
||||
|
||||
The latest news about Vim can be found on the Vim home page:
|
||||
http://www.vim.org/
|
||||
|
||||
If you have problems, have a look at the Vim documentation or tips:
|
||||
http://www.vim.org/docs.php
|
||||
http://vim.wikia.com/wiki/Vim_Tips_Wiki
|
||||
|
||||
If you still have problems or any other questions, use one of the mailing
|
||||
lists to discuss them with Vim users and developers:
|
||||
http://www.vim.org/maillist.php
|
||||
|
||||
If nothing else works, report bugs directly:
|
||||
Bram Moolenaar <Bram@vim.org>
|
||||
|
||||
|
||||
## Main author ##
|
||||
|
||||
Send any other comments, patches, flowers and suggestions to:
|
||||
Bram Moolenaar <Bram@vim.org>
|
||||
@@ -94,8 +94,9 @@ INFORMATION
|
||||
The latest news about Vim can be found on the Vim home page:
|
||||
http://www.vim.org/
|
||||
|
||||
If you have problems, have a look at the Vim FAQ:
|
||||
http://vimdoc.sf.net/vimfaq.html
|
||||
If you have problems, have a look at the Vim documentation or tips:
|
||||
http://www.vim.org/docs.php
|
||||
http://vim.wikia.com/wiki/Vim_Tips_Wiki
|
||||
|
||||
If you still have problems or any other questions, use one of the mailing
|
||||
lists to discuss them with Vim users and developers:
|
||||
@@ -110,6 +111,3 @@ MAIN AUTHOR
|
||||
Send any other comments, patches, flowers and suggestions to:
|
||||
|
||||
Bram Moolenaar E-mail: Bram@vim.org
|
||||
Finsterruetihof 1
|
||||
8134 Adliswil
|
||||
Switzerland
|
||||
|
||||
15
appveyor.yml
Normal file
15
appveyor.yml
Normal file
@@ -0,0 +1,15 @@
|
||||
version: "{build}"
|
||||
|
||||
before_build:
|
||||
- '"C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64 /release'
|
||||
|
||||
build_script:
|
||||
- cd src
|
||||
- sed -e "s/\$(LINKARGS2)/\$(LINKARGS2) | sed -e 's#.*\\\\r.*##'/" Make_mvc.mak > Make_mvc2.mak
|
||||
- nmake -f Make_mvc2.mak CPU=AMD64 GUI=yes IME=yes MBYTE=yes ICONV=yes DEBUG=no PYTHON_VER=27 DYNAMIC_PYTHON=yes PYTHON=C:\Python27-x64 PYTHON3_VER=34 DYNAMIC_PYTHON3=yes PYTHON3=C:\Python34-x64
|
||||
- .\gvim -u NONE -c "redir @a | ver | 0put a | wq!" ver.txt
|
||||
- type ver.txt
|
||||
|
||||
test_script:
|
||||
- cd testdir
|
||||
- nmake -f Make_dos.mak VIMPROG=..\gvim
|
||||
@@ -3,7 +3,7 @@
|
||||
" Maintainer: Dávid Szabó ( complex857 AT gmail DOT com )
|
||||
" Previous Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl )
|
||||
" URL: https://github.com/shawncplus/phpcomplete.vim
|
||||
" Last Change: 2014 Dec 01
|
||||
" Last Change: 2015 Jul 13
|
||||
"
|
||||
" OPTIONS:
|
||||
"
|
||||
@@ -141,71 +141,80 @@ function! phpcomplete#CompletePHP(findstart, base) " {{{
|
||||
if a:base != ""
|
||||
let context = substitute(context, '\s*[$a-zA-Z_0-9\x7f-\xff]*$', '', '')
|
||||
end
|
||||
else
|
||||
let context = ''
|
||||
end
|
||||
|
||||
let [current_namespace, imports] = phpcomplete#GetCurrentNameSpace(getline(0, line('.')))
|
||||
try
|
||||
let winheight = winheight(0)
|
||||
let winnr = winnr()
|
||||
|
||||
if context =~? '^use\s'
|
||||
return phpcomplete#CompleteUse(a:base)
|
||||
endif
|
||||
let [current_namespace, imports] = phpcomplete#GetCurrentNameSpace(getline(0, line('.')))
|
||||
|
||||
if context =~ '\(->\|::\)$'
|
||||
" {{{
|
||||
" Get name of the class
|
||||
let classname = phpcomplete#GetClassName(line('.'), context, current_namespace, imports)
|
||||
if context =~? '^use\s' || context ==? 'use'
|
||||
return phpcomplete#CompleteUse(a:base)
|
||||
endif
|
||||
|
||||
" Get location of class definition, we have to iterate through all
|
||||
if classname != ''
|
||||
if classname =~ '\'
|
||||
" split the last \ segment as a classname, everything else is the namespace
|
||||
let classname_parts = split(classname, '\')
|
||||
let namespace = join(classname_parts[0:-2], '\')
|
||||
let classname = classname_parts[-1]
|
||||
if context =~ '\(->\|::\)$'
|
||||
" {{{
|
||||
" Get name of the class
|
||||
let classname = phpcomplete#GetClassName(line('.'), context, current_namespace, imports)
|
||||
|
||||
" Get location of class definition, we have to iterate through all
|
||||
if classname != ''
|
||||
if classname =~ '\'
|
||||
" split the last \ segment as a classname, everything else is the namespace
|
||||
let classname_parts = split(classname, '\')
|
||||
let namespace = join(classname_parts[0:-2], '\')
|
||||
let classname = classname_parts[-1]
|
||||
else
|
||||
let namespace = '\'
|
||||
endif
|
||||
let classlocation = phpcomplete#GetClassLocation(classname, namespace)
|
||||
else
|
||||
let namespace = '\'
|
||||
let classlocation = ''
|
||||
endif
|
||||
let classlocation = phpcomplete#GetClassLocation(classname, namespace)
|
||||
|
||||
if classlocation != ''
|
||||
if classlocation == 'VIMPHP_BUILTINOBJECT' && has_key(g:php_builtin_classes, tolower(classname))
|
||||
return phpcomplete#CompleteBuiltInClass(context, classname, a:base)
|
||||
endif
|
||||
|
||||
if filereadable(classlocation)
|
||||
let classfile = readfile(classlocation)
|
||||
let classcontent = ''
|
||||
let classcontent .= "\n".phpcomplete#GetClassContents(classlocation, classname)
|
||||
let sccontent = split(classcontent, "\n")
|
||||
let visibility = expand('%:p') == fnamemodify(classlocation, ':p') ? 'private' : 'public'
|
||||
|
||||
return phpcomplete#CompleteUserClass(context, a:base, sccontent, visibility)
|
||||
endif
|
||||
endif
|
||||
|
||||
return phpcomplete#CompleteUnknownClass(a:base, context)
|
||||
" }}}
|
||||
elseif context =~? 'implements'
|
||||
return phpcomplete#CompleteClassName(a:base, ['i'], current_namespace, imports)
|
||||
elseif context =~? 'extends\s\+.\+$' && a:base == ''
|
||||
return ['implements']
|
||||
elseif context =~? 'extends'
|
||||
let kinds = context =~? 'class\s' ? ['c'] : ['i']
|
||||
return phpcomplete#CompleteClassName(a:base, kinds, current_namespace, imports)
|
||||
elseif context =~? 'class [a-zA-Z_\x7f-\xff\\][a-zA-Z_0-9\x7f-\xff\\]*'
|
||||
" special case when you've typed the class keyword and the name too, only extends and implements allowed there
|
||||
return filter(['extends', 'implements'], 'stridx(v:val, a:base) == 0')
|
||||
elseif context =~? 'new'
|
||||
return phpcomplete#CompleteClassName(a:base, ['c'], current_namespace, imports)
|
||||
endif
|
||||
|
||||
if a:base =~ '^\$'
|
||||
return phpcomplete#CompleteVariable(a:base)
|
||||
else
|
||||
let classlocation = ''
|
||||
return phpcomplete#CompleteGeneral(a:base, current_namespace, imports)
|
||||
endif
|
||||
|
||||
if classlocation != ''
|
||||
if classlocation == 'VIMPHP_BUILTINOBJECT' && has_key(g:php_builtin_classes, tolower(classname))
|
||||
return phpcomplete#CompleteBuiltInClass(context, classname, a:base)
|
||||
endif
|
||||
|
||||
if filereadable(classlocation)
|
||||
let classfile = readfile(classlocation)
|
||||
let classcontent = ''
|
||||
let classcontent .= "\n".phpcomplete#GetClassContents(classlocation, classname)
|
||||
let sccontent = split(classcontent, "\n")
|
||||
let visibility = expand('%:p') == fnamemodify(classlocation, ':p') ? 'private' : 'public'
|
||||
|
||||
return phpcomplete#CompleteUserClass(context, a:base, sccontent, visibility)
|
||||
endif
|
||||
endif
|
||||
|
||||
return phpcomplete#CompleteUnknownClass(a:base, context)
|
||||
" }}}
|
||||
elseif context =~? 'implements'
|
||||
return phpcomplete#CompleteClassName(a:base, ['i'], current_namespace, imports)
|
||||
elseif context =~? 'extends\s\+.\+$'
|
||||
return ['implements']
|
||||
elseif context =~? 'extends'
|
||||
let kinds = context =~? 'class\s' ? ['c'] : ['i']
|
||||
return phpcomplete#CompleteClassName(a:base, kinds, current_namespace, imports)
|
||||
elseif context =~? 'class [a-zA-Z_\x7f-\xff\\][a-zA-Z_0-9\x7f-\xff\\]*'
|
||||
" special case when you've typed the class keyword and the name too, only extends and implements allowed there
|
||||
return filter(['extends', 'implements'], 'stridx(v:val, a:base) == 0')
|
||||
elseif context =~? 'new'
|
||||
return phpcomplete#CompleteClassName(a:base, ['c'], current_namespace, imports)
|
||||
endif
|
||||
|
||||
if a:base =~ '^\$'
|
||||
return phpcomplete#CompleteVariable(a:base)
|
||||
else
|
||||
return phpcomplete#CompleteGeneral(a:base, current_namespace, imports)
|
||||
endif
|
||||
finally
|
||||
silent! exec winnr.'resize '.winheight
|
||||
endtry
|
||||
endfunction
|
||||
" }}}
|
||||
|
||||
@@ -244,12 +253,13 @@ function! phpcomplete#CompleteUse(base) " {{{
|
||||
if has_key(tag, 'namespace')
|
||||
let patched_ctags_detected = 1
|
||||
endif
|
||||
|
||||
if tag.kind ==? 'n' && tag.name =~? '^'.namespace_match_pattern
|
||||
let patched_ctags_detected = 1
|
||||
call add(namespaced_matches, {'word': tag.name, 'kind': 'n', 'menu': tag.filename, 'info': tag.filename })
|
||||
elseif has_key(tag, 'namespace') && (tag.kind ==? 'c' || tag.kind ==? 'i') && tag.namespace ==? namespace_for_class
|
||||
elseif has_key(tag, 'namespace') && (tag.kind ==? 'c' || tag.kind ==? 'i' || tag.kind ==? 't') && tag.namespace ==? namespace_for_class
|
||||
call add(namespaced_matches, {'word': namespace_for_class.'\'.tag.name, 'kind': tag.kind, 'menu': tag.filename, 'info': tag.filename })
|
||||
elseif (tag.kind ==? 'c' || tag.kind ==? 'i')
|
||||
elseif (tag.kind ==? 'c' || tag.kind ==? 'i' || tag.kind ==? 't')
|
||||
call add(no_namespace_matches, {'word': namespace_for_class.'\'.tag.name, 'kind': tag.kind, 'menu': tag.filename, 'info': tag.filename })
|
||||
endif
|
||||
endfor
|
||||
@@ -272,6 +282,10 @@ function! phpcomplete#CompleteUse(base) " {{{
|
||||
endfor
|
||||
endif
|
||||
|
||||
for comp in res
|
||||
let comp.word = substitute(comp.word, '^\\', '', '')
|
||||
endfor
|
||||
|
||||
return res
|
||||
endfunction
|
||||
" }}}
|
||||
@@ -304,7 +318,7 @@ function! phpcomplete#CompleteGeneral(base, current_namespace, imports) " {{{
|
||||
\ '^&\?\zs[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*\ze')
|
||||
if f_name =~? '^'.substitute(a:base, '\\', '\\\\', 'g')
|
||||
let f_args = matchstr(i,
|
||||
\ '^&\?[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*\s*(\zs.\{-}\ze)\_s*\({\|$\)')
|
||||
\ '^&\?[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*\s*(\zs.\{-}\ze)\_s*\(;\|{\|$\)')
|
||||
let int_functions[f_name.'('] = f_args.')'
|
||||
endif
|
||||
endfor
|
||||
@@ -326,6 +340,7 @@ function! phpcomplete#CompleteGeneral(base, current_namespace, imports) " {{{
|
||||
let ext_functions = {}
|
||||
let ext_constants = {}
|
||||
let ext_classes = {}
|
||||
let ext_traits = {}
|
||||
let ext_interfaces = {}
|
||||
let ext_namespaces = {}
|
||||
|
||||
@@ -420,7 +435,7 @@ function! phpcomplete#CompleteGeneral(base, current_namespace, imports) " {{{
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
elseif tag.kind ==? 'c' || tag.kind ==? 'i'
|
||||
elseif tag.kind ==? 'c' || tag.kind ==? 'i' || tag.kind ==? 't'
|
||||
let info = ' - '.tag.filename
|
||||
|
||||
let key = ''
|
||||
@@ -441,6 +456,8 @@ function! phpcomplete#CompleteGeneral(base, current_namespace, imports) " {{{
|
||||
let ext_classes[key] = info
|
||||
elseif tag.kind ==? 'i'
|
||||
let ext_interfaces[key] = info
|
||||
elseif tag.kind ==? 't'
|
||||
let ext_traits[key] = info
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
@@ -463,7 +480,7 @@ function! phpcomplete#CompleteGeneral(base, current_namespace, imports) " {{{
|
||||
endfor
|
||||
for [interfacename, info] in items(g:php_builtin_interfacenames)
|
||||
if interfacename =~? '^'.base
|
||||
let builtin_interfaces[leading_slash.interfacename] = info
|
||||
let builtin_interfaces[leading_slash.g:php_builtin_interfaces[tolower(interfacename)].name] = info
|
||||
endif
|
||||
endfor
|
||||
endif
|
||||
@@ -511,6 +528,8 @@ function! phpcomplete#CompleteGeneral(base, current_namespace, imports) " {{{
|
||||
else
|
||||
let ext_interfaces[imported_name] = ' '.import.name.' - '.import.filename
|
||||
endif
|
||||
elseif import.kind ==? 't'
|
||||
let ext_traits[imported_name] = ' '.import.name.' - '.import.filename
|
||||
endif
|
||||
|
||||
" no builtin interfaces
|
||||
@@ -540,6 +559,9 @@ function! phpcomplete#CompleteGeneral(base, current_namespace, imports) " {{{
|
||||
" Add external interfaces
|
||||
call extend(all_values, ext_interfaces)
|
||||
|
||||
" Add external traits
|
||||
call extend(all_values, ext_traits)
|
||||
|
||||
" Add built-in classes
|
||||
call extend(all_values, builtin_classnames)
|
||||
|
||||
@@ -566,6 +588,8 @@ function! phpcomplete#CompleteGeneral(base, current_namespace, imports) " {{{
|
||||
elseif has_key(ext_interfaces, i) || has_key(builtin_interfaces, i)
|
||||
let info = has_key(ext_interfaces, i) ? ext_interfaces[i] : builtin_interfaces[i].' - builtin'
|
||||
let final_list += [{'word':i, 'kind': 'i', 'menu': info, 'info': i.info}]
|
||||
elseif has_key(ext_traits, i)
|
||||
let final_list += [{'word':i, 'kind': 't', 'menu': ext_traits[i], 'info': ext_traits[i]}]
|
||||
elseif has_key(int_constants, i) || has_key(builtin_constants, i)
|
||||
let info = has_key(int_constants, i) ? int_constants[i] : ' - builtin'
|
||||
let final_list += [{'word':i, 'kind': 'd', 'menu': info, 'info': i.info}]
|
||||
@@ -622,7 +646,7 @@ function! phpcomplete#CompleteUnknownClass(base, context) " {{{
|
||||
let f_name = matchstr(i,
|
||||
\ '^&\?\zs[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*\ze')
|
||||
let f_args = matchstr(i,
|
||||
\ '^&\?[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*\s*(\zs.\{-}\ze)\_s*\({\|$\)')
|
||||
\ '^&\?[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*\s*(\zs.\{-}\ze)\_s*\(;\|{\|$\)')
|
||||
|
||||
let int_functions[f_name.'('] = f_args.')'
|
||||
endfor
|
||||
@@ -784,7 +808,7 @@ function! phpcomplete#CompleteClassName(base, kinds, current_namespace, imports)
|
||||
|
||||
let tags = []
|
||||
if len(tag_match_pattern) >= g:phpcomplete_min_num_of_chars_for_namespace_completion
|
||||
let tags = phpcomplete#GetTaglist('^'.tag_match_pattern)
|
||||
let tags = phpcomplete#GetTaglist('^\c'.tag_match_pattern)
|
||||
endif
|
||||
|
||||
if len(tags)
|
||||
@@ -861,6 +885,39 @@ function! phpcomplete#CompareCompletionRow(i1, i2) " {{{
|
||||
endfunction
|
||||
" }}}
|
||||
|
||||
function! s:getNextCharWithPos(filelines, current_pos) " {{{
|
||||
let line_no = a:current_pos[0]
|
||||
let col_no = a:current_pos[1]
|
||||
let last_line = a:filelines[len(a:filelines) - 1]
|
||||
let end_pos = [len(a:filelines) - 1, strlen(last_line) - 1]
|
||||
if line_no > end_pos[0] || line_no == end_pos[0] && col_no > end_pos[1]
|
||||
return ['EOF', 'EOF']
|
||||
endif
|
||||
|
||||
" we've not reached the end of the current line break
|
||||
if col_no + 1 < strlen(a:filelines[line_no])
|
||||
let col_no += 1
|
||||
else
|
||||
" we've reached the end of the current line, jump to the next
|
||||
" non-blank line (blank lines have no position where we can read from,
|
||||
" not even a whitespace. The newline char does not positionable by vim
|
||||
let line_no += 1
|
||||
while strlen(a:filelines[line_no]) == 0
|
||||
let line_no += 1
|
||||
endwhile
|
||||
|
||||
let col_no = 0
|
||||
endif
|
||||
|
||||
" return 'EOF' string to signal end of file, normal results only one char
|
||||
" in length
|
||||
if line_no == end_pos[0] && col_no > end_pos[1]
|
||||
return ['EOF', 'EOF']
|
||||
endif
|
||||
|
||||
return [[line_no, col_no], a:filelines[line_no][col_no]]
|
||||
endfunction " }}}
|
||||
|
||||
function! phpcomplete#EvaluateModifiers(modifiers, required_modifiers, prohibited_modifiers) " {{{
|
||||
" if theres no modifier, and no modifier is allowed and no modifier is required
|
||||
if len(a:modifiers) == 0 && len(a:required_modifiers) == 0
|
||||
@@ -924,7 +981,7 @@ function! phpcomplete#CompleteUserClass(context, base, sccontent, visibility) "
|
||||
let f_name = matchstr(i,
|
||||
\ 'function\s*&\?\zs[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*\ze')
|
||||
let f_args = matchstr(i,
|
||||
\ 'function\s*&\?[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*\s*(\zs.\{-}\ze)\_s*\({\|\_$\)')
|
||||
\ 'function\s*&\?[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*\s*(\zs.\{-}\ze)\_s*\(;\|{\|\_$\)')
|
||||
if f_name != '' && stridx(f_name, '__') != 0
|
||||
let c_functions[f_name.'('] = f_args
|
||||
if g:phpcomplete_parse_docblock_comments
|
||||
@@ -1322,8 +1379,8 @@ function! phpcomplete#GetCallChainReturnType(classname_candidate, class_candidat
|
||||
" Get Structured information of all classes and subclasses including namespace and includes
|
||||
" try to find the method's return type in docblock comment
|
||||
for classstructure in classcontents
|
||||
let doclock_target_pattern = 'function\s\+&\?'.method.'\|\(public\|private\|protected\|var\).\+\$'.method
|
||||
let doc_str = phpcomplete#GetDocBlock(split(classstructure.content, '\n'), doclock_target_pattern)
|
||||
let docblock_target_pattern = 'function\s\+&\?'.method.'\|\(public\|private\|protected\|var\).\+\$'.method
|
||||
let doc_str = phpcomplete#GetDocBlock(split(classstructure.content, '\n'), docblock_target_pattern)
|
||||
if doc_str != ''
|
||||
break
|
||||
endif
|
||||
@@ -1475,21 +1532,19 @@ function! phpcomplete#GetClassName(start_line, context, current_namespace, impor
|
||||
return ''
|
||||
endif
|
||||
|
||||
if line =~? '\v^\s*(abstract\s+|final\s+)*\s*class'
|
||||
let class_name = matchstr(line, '\c\s*class\s*\zs'.class_name_pattern.'\ze')
|
||||
if line =~? '\v^\s*(abstract\s+|final\s+)*\s*class\s'
|
||||
let class_name = matchstr(line, '\cclass\s\+\zs'.class_name_pattern.'\ze')
|
||||
let extended_class = matchstr(line, '\cclass\s\+'.class_name_pattern.'\s\+extends\s\+\zs'.class_name_pattern.'\ze')
|
||||
|
||||
let classname_candidate = a:context =~? 'parent::' ? extended_class : class_name
|
||||
else
|
||||
let i += 1
|
||||
continue
|
||||
if classname_candidate != ''
|
||||
let [classname_candidate, class_candidate_namespace] = phpcomplete#GetCallChainReturnType(classname_candidate, class_candidate_namespace, class_candidate_imports, methodstack)
|
||||
" return absolute classname, without leading \
|
||||
return (class_candidate_namespace == '\' || class_candidate_namespace == '') ? classname_candidate : class_candidate_namespace.'\'.classname_candidate
|
||||
endif
|
||||
endif
|
||||
|
||||
if classname_candidate != ''
|
||||
let [classname_candidate, class_candidate_namespace] = phpcomplete#GetCallChainReturnType(classname_candidate, class_candidate_namespace, class_candidate_imports, methodstack)
|
||||
" return absolute classname, without leading \
|
||||
return (class_candidate_namespace == '\' || class_candidate_namespace == '') ? classname_candidate : class_candidate_namespace.'\'.classname_candidate
|
||||
endif
|
||||
let i += 1
|
||||
endwhile
|
||||
elseif a:context =~? '(\s*new\s\+'.class_name_pattern.'\s*)->'
|
||||
let classname_candidate = matchstr(a:context, '\cnew\s\+\zs'.class_name_pattern.'\ze')
|
||||
@@ -1602,26 +1657,26 @@ function! phpcomplete#GetClassName(start_line, context, current_namespace, impor
|
||||
endif
|
||||
endif
|
||||
|
||||
" in-file lookup for typehinted function arguments
|
||||
" - the function can have a name or be anonymous (e.g., function qux() { ... } vs. function () { ... })
|
||||
" - the type-hinted argument can be anywhere in the arguments list.
|
||||
if line =~? 'function\(\s\+'.function_name_pattern.'\)\?\s*(.\{-}'.class_name_pattern.'\s\+'.object && !object_is_array
|
||||
let f_args = matchstr(line, '\cfunction\(\s\+'.function_name_pattern.'\)\?\s*(\zs.\{-}\ze)')
|
||||
let args = split(f_args, '\s*\zs,\ze\s*')
|
||||
for arg in args
|
||||
if arg =~# object.'\(,\|$\)'
|
||||
let classname_candidate = matchstr(arg, '\s*\zs'.class_name_pattern.'\ze\s\+'.object)
|
||||
let [classname_candidate, class_candidate_namespace] = phpcomplete#ExpandClassName(classname_candidate, a:current_namespace, a:imports)
|
||||
" function declaration line
|
||||
if line =~? 'function\(\s\+'.function_name_pattern.'\)\?\s*('
|
||||
let function_lines = join(reverse(copy(lines)), " ")
|
||||
" search for type hinted arguments
|
||||
if function_lines =~? 'function\(\s\+'.function_name_pattern.'\)\?\s*(.\{-}'.class_name_pattern.'\s\+'.object && !object_is_array
|
||||
let f_args = matchstr(function_lines, '\cfunction\(\s\+'.function_name_pattern.'\)\?\s*(\zs.\{-}\ze)')
|
||||
let args = split(f_args, '\s*\zs,\ze\s*')
|
||||
for arg in args
|
||||
if arg =~# object.'\(,\|$\)'
|
||||
let classname_candidate = matchstr(arg, '\s*\zs'.class_name_pattern.'\ze\s\+'.object)
|
||||
let [classname_candidate, class_candidate_namespace] = phpcomplete#ExpandClassName(classname_candidate, a:current_namespace, a:imports)
|
||||
break
|
||||
endif
|
||||
endfor
|
||||
if classname_candidate != ''
|
||||
break
|
||||
endif
|
||||
endfor
|
||||
if classname_candidate != ''
|
||||
break
|
||||
endif
|
||||
endif
|
||||
|
||||
" if we see a function declaration, try loading the docblock for it and look for matching @params
|
||||
if line =~? 'function\(\s\+'.function_name_pattern.'\)\?\s*(.\{-}'.object
|
||||
" search for docblock for the function
|
||||
let match_line = substitute(line, '\\', '\\\\', 'g')
|
||||
let sccontent = getline(0, a:start_line - i)
|
||||
let doc_str = phpcomplete#GetDocBlock(sccontent, match_line)
|
||||
@@ -1641,13 +1696,16 @@ function! phpcomplete#GetClassName(start_line, context, current_namespace, impor
|
||||
endif
|
||||
|
||||
" assignment for the variable in question with a variable on the right hand side
|
||||
if line =~# '^\s*'.object.'\s*=&\?\s*'.variable_name_pattern
|
||||
if line =~# '^\s*'.object.'\s*=&\?\s\+\(clone\)\?\s*'.variable_name_pattern
|
||||
|
||||
" try to find the next non-comment or string ";" char
|
||||
let start_col = match(line, '^\s*'.object.'\C\s*=\zs&\?\s*'.variable_name_pattern)
|
||||
let filelines = reverse(lines)
|
||||
let [pos, char] = s:getNextCharWithPos(filelines, [a:start_line - i - 1, start_col])
|
||||
let start_col = match(line, '^\s*'.object.'\C\s*=\zs&\?\s\+\(clone\)\?\s*'.variable_name_pattern)
|
||||
let filelines = reverse(copy(lines))
|
||||
let [pos, char] = s:getNextCharWithPos(filelines, [len(filelines) - i, start_col])
|
||||
let chars_read = 1
|
||||
let last_pos = pos
|
||||
" function_boundary == 0 if we are not in a function
|
||||
let real_lines_offset = len(function_boundary) == 1 ? 1 : function_boundary[0][0]
|
||||
" read while end of the file
|
||||
while char != 'EOF' && chars_read < 1000
|
||||
let last_pos = pos
|
||||
@@ -1655,7 +1713,11 @@ function! phpcomplete#GetClassName(start_line, context, current_namespace, impor
|
||||
let chars_read += 1
|
||||
" we got a candidate
|
||||
if char == ';'
|
||||
let synIDName = synIDattr(synID(pos[0] + 1, pos[1] + 1, 0), 'name')
|
||||
" pos values is relative to the function's lines,
|
||||
" line 0 need to be offsetted with the line number
|
||||
" where te function was started to get the line number
|
||||
" in real buffer terms
|
||||
let synIDName = synIDattr(synID(real_lines_offset + pos[0], pos[1] + 1, 0), 'name')
|
||||
" it's not a comment or string, end search
|
||||
if synIDName !~? 'comment\|string'
|
||||
break
|
||||
@@ -1663,7 +1725,7 @@ function! phpcomplete#GetClassName(start_line, context, current_namespace, impor
|
||||
endif
|
||||
endwhile
|
||||
|
||||
let prev_context = phpcomplete#GetCurrentInstruction(last_pos[0] + 1, last_pos[1], b:phpbegin)
|
||||
let prev_context = phpcomplete#GetCurrentInstruction(real_lines_offset + last_pos[0], last_pos[1], b:phpbegin)
|
||||
if prev_context == ''
|
||||
" cannot get previous context give up
|
||||
return
|
||||
@@ -1683,12 +1745,14 @@ function! phpcomplete#GetClassName(start_line, context, current_namespace, impor
|
||||
|
||||
" assignment for the variable in question with a function on the right hand side
|
||||
if line =~# '^\s*'.object.'\s*=&\?\s*'.function_invocation_pattern
|
||||
|
||||
" try to find the next non-comment or string ";" char
|
||||
let start_col = match(line, '\C^\s*'.object.'\s*=\zs&\?\s*'.function_invocation_pattern)
|
||||
let filelines = reverse(lines)
|
||||
let [pos, char] = s:getNextCharWithPos(filelines, [a:start_line - i - 1, start_col])
|
||||
let filelines = reverse(copy(lines))
|
||||
let [pos, char] = s:getNextCharWithPos(filelines, [len(filelines) - i, start_col])
|
||||
let chars_read = 1
|
||||
let last_pos = pos
|
||||
" function_boundary == 0 if we are not in a function
|
||||
let real_lines_offset = len(function_boundary) == 1 ? 1 : function_boundary[0][0]
|
||||
" read while end of the file
|
||||
while char != 'EOF' && chars_read < 1000
|
||||
let last_pos = pos
|
||||
@@ -1696,7 +1760,11 @@ function! phpcomplete#GetClassName(start_line, context, current_namespace, impor
|
||||
let chars_read += 1
|
||||
" we got a candidate
|
||||
if char == ';'
|
||||
let synIDName = synIDattr(synID(pos[0] + 1, pos[1] + 1, 0), 'name')
|
||||
" pos values is relative to the function's lines,
|
||||
" line 0 need to be offsetted with the line number
|
||||
" where te function was started to get the line number
|
||||
" in real buffer terms
|
||||
let synIDName = synIDattr(synID(real_lines_offset + pos[0], pos[1] + 1, 0), 'name')
|
||||
" it's not a comment or string, end search
|
||||
if synIDName !~? 'comment\|string'
|
||||
break
|
||||
@@ -1704,7 +1772,7 @@ function! phpcomplete#GetClassName(start_line, context, current_namespace, impor
|
||||
endif
|
||||
endwhile
|
||||
|
||||
let prev_context = phpcomplete#GetCurrentInstruction(last_pos[0] + 1, last_pos[1], b:phpbegin)
|
||||
let prev_context = phpcomplete#GetCurrentInstruction(real_lines_offset + last_pos[0], last_pos[1], b:phpbegin)
|
||||
if prev_context == ''
|
||||
" cannot get previous context give up
|
||||
return
|
||||
@@ -1807,6 +1875,9 @@ function! phpcomplete#GetClassLocation(classname, namespace) " {{{
|
||||
if has_key(g:php_builtin_classes, tolower(a:classname)) && (a:namespace == '' || a:namespace == '\')
|
||||
return 'VIMPHP_BUILTINOBJECT'
|
||||
endif
|
||||
if has_key(g:php_builtin_interfaces, tolower(a:classname)) && (a:namespace == '' || a:namespace == '\')
|
||||
return 'VIMPHP_BUILTINOBJECT'
|
||||
endif
|
||||
|
||||
if a:namespace == '' || a:namespace == '\'
|
||||
let search_namespace = '\'
|
||||
@@ -1819,7 +1890,7 @@ function! phpcomplete#GetClassLocation(classname, namespace) " {{{
|
||||
let i = 1
|
||||
while i < line('.')
|
||||
let line = getline(line('.')-i)
|
||||
if line =~? '^\s*\(abstract\s\+\|final\s\+\)*\s*class\s*'.a:classname.'\(\s\+\|$\)' && tolower(current_namespace) == search_namespace
|
||||
if line =~? '^\s*\(abstract\s\+\|final\s\+\)*\s*\(class\|interface\|trait\)\s*'.a:classname.'\(\s\+\|$\|{\)' && tolower(current_namespace) == search_namespace
|
||||
return expand('%:p')
|
||||
else
|
||||
let i += 1
|
||||
@@ -1831,7 +1902,9 @@ function! phpcomplete#GetClassLocation(classname, namespace) " {{{
|
||||
let no_namespace_candidate = ''
|
||||
let tags = phpcomplete#GetTaglist('^'.a:classname.'$')
|
||||
for tag in tags
|
||||
if tag.kind == 'c' || tag.kind == 'i'
|
||||
" We'll allow interfaces and traits to be handled classes since you
|
||||
" can't have colliding names with different kinds anyway
|
||||
if tag.kind == 'c' || tag.kind == 'i' || tag.kind == 't'
|
||||
if !has_key(tag, 'namespace')
|
||||
let no_namespace_candidate = tag.filename
|
||||
else
|
||||
@@ -1981,7 +2054,7 @@ function! phpcomplete#GetClassContentsStructure(file_path, file_lines, class_nam
|
||||
|
||||
silent! below 1new
|
||||
silent! 0put =cfile
|
||||
call search('\(class\|interface\)\_s\+'.a:class_name.'\(\>\|$\)')
|
||||
call search('\c\(class\|interface\|trait\)\_s\+'.a:class_name.'\(\>\|$\)')
|
||||
let cfline = line('.')
|
||||
call search('{')
|
||||
let endline = line('.')
|
||||
@@ -1989,13 +2062,62 @@ function! phpcomplete#GetClassContentsStructure(file_path, file_lines, class_nam
|
||||
let content = join(getline(cfline, endline), "\n")
|
||||
" Catch extends
|
||||
if content =~? 'extends'
|
||||
let extends_class = matchstr(content, 'class\_s\+'.a:class_name.'\_s\+extends\_s\+\zs'.class_name_pattern.'\ze')
|
||||
let extends_string = matchstr(content, '\(class\|interface\)\_s\+'.a:class_name.'\_.\+extends\_s\+\zs\('.class_name_pattern.'\(,\|\_s\)*\)\+\ze\(extends\|{\)')
|
||||
let extended_classes = map(split(extends_string, '\(,\|\_s\)\+'), 'substitute(v:val, "\\_s\\+", "", "g")')
|
||||
else
|
||||
let extends_class = ''
|
||||
let extended_classes = ''
|
||||
endif
|
||||
|
||||
" Catch implements
|
||||
if content =~? 'implements'
|
||||
let implements_string = matchstr(content, 'class\_s\+'.a:class_name.'\_.\+implements\_s\+\zs\('.class_name_pattern.'\(,\|\_s\)*\)\+\ze')
|
||||
let implemented_interfaces = map(split(implements_string, '\(,\|\_s\)\+'), 'substitute(v:val, "\\_s\\+", "", "g")')
|
||||
else
|
||||
let implemented_interfaces = []
|
||||
endif
|
||||
call searchpair('{', '', '}', 'W')
|
||||
let classcontent = join(getline(cfline, line('.')), "\n")
|
||||
let class_closing_bracket_line = line('.')
|
||||
let classcontent = join(getline(cfline, class_closing_bracket_line), "\n")
|
||||
|
||||
let used_traits = []
|
||||
" move back to the line next to the class's definition
|
||||
call cursor(endline + 1, 1)
|
||||
let keep_searching = 1
|
||||
while keep_searching != 0
|
||||
" try to grab "use..." keywords
|
||||
let [lnum, col] = searchpos('\c^\s\+use\s\+'.class_name_pattern, 'cW', class_closing_bracket_line)
|
||||
let syn_name = synIDattr(synID(lnum, col, 0), "name")
|
||||
if syn_name =~? 'string\|comment'
|
||||
call cursor(lnum + 1, 1)
|
||||
continue
|
||||
endif
|
||||
|
||||
let trait_line = getline(lnum)
|
||||
if trait_line !~? ';'
|
||||
" try to find the next line containing ';'
|
||||
let l = lnum
|
||||
let search_line = trait_line
|
||||
|
||||
" add lines from the file until theres no ';' in them
|
||||
while search_line !~? ';' && l > 0
|
||||
" file lines are reversed so we need to go backwards
|
||||
let l += 1
|
||||
let search_line = getline(l)
|
||||
let trait_line .= ' '.substitute(search_line, '\(^\s\+\|\s\+$\)', '', 'g')
|
||||
endwhile
|
||||
endif
|
||||
let use_expression = matchstr(trait_line, '^\s*use\s\+\zs.\{-}\ze;')
|
||||
let use_parts = map(split(use_expression, '\s*,\s*'), 'substitute(v:val, "\\s+", " ", "g")')
|
||||
let used_traits += map(use_parts, 'substitute(v:val, "\\s", "", "g")')
|
||||
call cursor(lnum + 1, 1)
|
||||
|
||||
if [lnum, col] == [0, 0]
|
||||
let keep_searching = 0
|
||||
endif
|
||||
endwhile
|
||||
|
||||
silent! bw! %
|
||||
|
||||
let [current_namespace, imports] = phpcomplete#GetCurrentNameSpace(a:file_lines[0:cfline])
|
||||
" go back to original window
|
||||
exe phpcomplete_original_window.'wincmd w'
|
||||
@@ -2008,21 +2130,35 @@ function! phpcomplete#GetClassContentsStructure(file_path, file_lines, class_nam
|
||||
\ 'mtime': getftime(full_file_path),
|
||||
\ })
|
||||
|
||||
if extends_class != ''
|
||||
let [extends_class, namespace] = phpcomplete#ExpandClassName(extends_class, current_namespace, imports)
|
||||
if namespace == ''
|
||||
let namespace = '\'
|
||||
endif
|
||||
let classlocation = phpcomplete#GetClassLocation(extends_class, namespace)
|
||||
if classlocation == "VIMPHP_BUILTINOBJECT"
|
||||
let result += [phpcomplete#GenerateBuiltinClassStub(g:php_builtin_classes[tolower(extends_class)])]
|
||||
elseif classlocation != '' && filereadable(classlocation)
|
||||
let full_file_path = fnamemodify(classlocation, ':p')
|
||||
let result += phpcomplete#GetClassContentsStructure(full_file_path, readfile(full_file_path), extends_class)
|
||||
elseif tolower(current_namespace) == tolower(namespace)
|
||||
" try to find the declaration in the same file.
|
||||
let result += phpcomplete#GetClassContentsStructure(full_file_path, a:file_lines, extends_class)
|
||||
endif
|
||||
let all_extends = used_traits
|
||||
if len(extended_classes) > 0
|
||||
call extend(all_extends, extended_classes)
|
||||
endif
|
||||
if len(implemented_interfaces) > 0
|
||||
call extend(all_extends, implemented_interfaces)
|
||||
endif
|
||||
if len(all_extends) > 0
|
||||
for class in all_extends
|
||||
let [class, namespace] = phpcomplete#ExpandClassName(class, current_namespace, imports)
|
||||
if namespace == ''
|
||||
let namespace = '\'
|
||||
endif
|
||||
let classlocation = phpcomplete#GetClassLocation(class, namespace)
|
||||
if classlocation == "VIMPHP_BUILTINOBJECT"
|
||||
if has_key(g:php_builtin_classes, tolower(class))
|
||||
let result += [phpcomplete#GenerateBuiltinClassStub('class', g:php_builtin_classes[tolower(class)])]
|
||||
endif
|
||||
if has_key(g:php_builtin_interfaces, tolower(class))
|
||||
let result += [phpcomplete#GenerateBuiltinClassStub('interface', g:php_builtin_interfaces[tolower(class)])]
|
||||
endif
|
||||
elseif classlocation != '' && filereadable(classlocation)
|
||||
let full_file_path = fnamemodify(classlocation, ':p')
|
||||
let result += phpcomplete#GetClassContentsStructure(full_file_path, readfile(full_file_path), class)
|
||||
elseif tolower(current_namespace) == tolower(namespace) && match(join(a:file_lines, "\n"), '\c\(class\|interface\|trait\)\_s\+'.class.'\(\>\|$\)') != -1
|
||||
" try to find the declaration in the same file.
|
||||
let result += phpcomplete#GetClassContentsStructure(full_file_path, a:file_lines, class)
|
||||
endif
|
||||
endfor
|
||||
endif
|
||||
|
||||
return result
|
||||
@@ -2039,43 +2175,53 @@ function! phpcomplete#GetClassContents(classlocation, class_name) " {{{
|
||||
endfunction
|
||||
" }}}
|
||||
|
||||
function! phpcomplete#GenerateBuiltinClassStub(class_info) " {{{
|
||||
let re = 'class '.a:class_info['name']." {"
|
||||
for [name, initializer] in items(a:class_info.constants)
|
||||
let re .= "\n\tconst ".name." = ".initializer.";"
|
||||
endfor
|
||||
for [name, info] in items(a:class_info.properties)
|
||||
let re .= "\n\t// @var $".name." ".info.type
|
||||
let re .= "\n\tpublic $".name.";"
|
||||
endfor
|
||||
for [name, info] in items(a:class_info.static_properties)
|
||||
let re .= "\n\t// @var ".name." ".info.type
|
||||
let re .= "\n\tpublic static ".name." = ".info.initializer.";"
|
||||
endfor
|
||||
for [name, info] in items(a:class_info.methods)
|
||||
if name =~ '^__'
|
||||
continue
|
||||
endif
|
||||
let re .= "\n\t/**"
|
||||
let re .= "\n\t * ".name
|
||||
let re .= "\n\t *"
|
||||
let re .= "\n\t * @return ".info.return_type
|
||||
let re .= "\n\t */"
|
||||
let re .= "\n\tpublic function ".name."(".info.signature."){"
|
||||
let re .= "\n\t}"
|
||||
endfor
|
||||
for [name, info] in items(a:class_info.static_methods)
|
||||
let re .= "\n\t/**"
|
||||
let re .= "\n\t * ".name
|
||||
let re .= "\n\t *"
|
||||
let re .= "\n\t * @return ".info.return_type
|
||||
let re .= "\n\t */"
|
||||
let re .= "\n\tpublic static function ".name."(".info.signature."){"
|
||||
let re .= "\n\t}"
|
||||
endfor
|
||||
function! phpcomplete#GenerateBuiltinClassStub(type, class_info) " {{{
|
||||
let re = a:type.' '.a:class_info['name']." {"
|
||||
if has_key(a:class_info, 'constants')
|
||||
for [name, initializer] in items(a:class_info.constants)
|
||||
let re .= "\n\tconst ".name." = ".initializer.";"
|
||||
endfor
|
||||
endif
|
||||
if has_key(a:class_info, 'properties')
|
||||
for [name, info] in items(a:class_info.properties)
|
||||
let re .= "\n\t// @var $".name." ".info.type
|
||||
let re .= "\n\tpublic $".name.";"
|
||||
endfor
|
||||
endif
|
||||
if has_key(a:class_info, 'static_properties')
|
||||
for [name, info] in items(a:class_info.static_properties)
|
||||
let re .= "\n\t// @var ".name." ".info.type
|
||||
let re .= "\n\tpublic static ".name." = ".info.initializer.";"
|
||||
endfor
|
||||
endif
|
||||
if has_key(a:class_info, 'methods')
|
||||
for [name, info] in items(a:class_info.methods)
|
||||
if name =~ '^__'
|
||||
continue
|
||||
endif
|
||||
let re .= "\n\t/**"
|
||||
let re .= "\n\t * ".name
|
||||
let re .= "\n\t *"
|
||||
let re .= "\n\t * @return ".info.return_type
|
||||
let re .= "\n\t */"
|
||||
let re .= "\n\tpublic function ".name."(".info.signature."){"
|
||||
let re .= "\n\t}"
|
||||
endfor
|
||||
endif
|
||||
if has_key(a:class_info, 'static_methods')
|
||||
for [name, info] in items(a:class_info.static_methods)
|
||||
let re .= "\n\t/**"
|
||||
let re .= "\n\t * ".name
|
||||
let re .= "\n\t *"
|
||||
let re .= "\n\t * @return ".info.return_type
|
||||
let re .= "\n\t */"
|
||||
let re .= "\n\tpublic static function ".name."(".info.signature."){"
|
||||
let re .= "\n\t}"
|
||||
endfor
|
||||
endif
|
||||
let re .= "\n}"
|
||||
|
||||
return { 'class': a:class_info['name'],
|
||||
return { a:type : a:class_info['name'],
|
||||
\ 'content': re,
|
||||
\ 'namespace': '',
|
||||
\ 'imports': {},
|
||||
@@ -2099,8 +2245,11 @@ function! phpcomplete#GetDocBlock(sccontent, search) " {{{
|
||||
" start backward serch for the comment block
|
||||
while l != 0
|
||||
let line = a:sccontent[l]
|
||||
" if comment end found save line position and end search
|
||||
if line =~? '^\s*\*/'
|
||||
" if it's a one line docblock like comment and we can just return it right away
|
||||
if line =~? '^\s*\/\*\*.\+\*\/\s*$'
|
||||
return substitute(line, '\v^\s*(\/\*\*\s*)|(\s*\*\/)\s*$', '', 'g')
|
||||
"... or if comment end found save line position and end search
|
||||
elseif line =~? '^\s*\*/'
|
||||
let comment_end = l
|
||||
break
|
||||
" ... or the line doesn't blank (only whitespace or nothing) end search
|
||||
@@ -2122,6 +2271,7 @@ function! phpcomplete#GetDocBlock(sccontent, search) " {{{
|
||||
endif
|
||||
let l -= 1
|
||||
endwhile
|
||||
|
||||
" no docblock comment start found
|
||||
if comment_start == -1
|
||||
return ''
|
||||
@@ -2270,19 +2420,48 @@ endfunction!
|
||||
" }}}
|
||||
|
||||
function! phpcomplete#GetCurrentNameSpace(file_lines) " {{{
|
||||
let original_window = winnr()
|
||||
|
||||
silent! below 1new
|
||||
silent! 0put =a:file_lines
|
||||
normal! G
|
||||
|
||||
" clear out classes, functions and other blocks
|
||||
while 1
|
||||
let block_start_pos = searchpos('\c\(class\|trait\|function\|interface\)\s\+\_.\{-}\zs{', 'Web')
|
||||
if block_start_pos == [0, 0]
|
||||
break
|
||||
endif
|
||||
let block_end_pos = searchpairpos('{', '', '}\|\%$', 'W', 'synIDattr(synID(line("."), col("."), 0), "name") =~? "string\\|comment"')
|
||||
|
||||
if block_end_pos != [0, 0]
|
||||
" end of the block found, just delete it
|
||||
silent! exec block_start_pos[0].','.block_end_pos[0].'d _'
|
||||
else
|
||||
" block pair not found, use block start as beginning and the end
|
||||
" of the buffer instead
|
||||
silent! exec block_start_pos[0].',$d _'
|
||||
endif
|
||||
endwhile
|
||||
normal! G
|
||||
|
||||
" grab the remains
|
||||
let file_lines = reverse(getline(1, line('.') - 1))
|
||||
|
||||
silent! bw! %
|
||||
exe original_window.'wincmd w'
|
||||
|
||||
let namespace_name_pattern = '[a-zA-Z_\x7f-\xff\\][a-zA-Z_0-9\x7f-\xff\\]*'
|
||||
let file_lines = reverse(copy(a:file_lines))
|
||||
let i = 0
|
||||
let file_length = len(file_lines)
|
||||
let imports = {}
|
||||
|
||||
let current_namespace = '\'
|
||||
|
||||
while i < file_length
|
||||
let line = file_lines[i]
|
||||
|
||||
if line =~? '^\s*namespace\s*'.namespace_name_pattern
|
||||
let current_namespace = matchstr(line, '^\s*namespace\s*\zs'.namespace_name_pattern.'\ze')
|
||||
if line =~? '^\(<?php\)\?\s*namespace\s*'.namespace_name_pattern
|
||||
let current_namespace = matchstr(line, '\c^\(<?php\)\?\s*namespace\s*\zs'.namespace_name_pattern.'\ze')
|
||||
break
|
||||
endif
|
||||
|
||||
@@ -2303,11 +2482,11 @@ function! phpcomplete#GetCurrentNameSpace(file_lines) " {{{
|
||||
let use_line .= ' '.substitute(search_line, '\(^\s\+\|\s\+$\)', '', 'g')
|
||||
endwhile
|
||||
endif
|
||||
let use_expression = matchstr(use_line, '^\s*use\s\+\zs.\{-}\ze;')
|
||||
let use_expression = matchstr(use_line, '^\c\s*use\s\+\zs.\{-}\ze;')
|
||||
let use_parts = map(split(use_expression, '\s*,\s*'), 'substitute(v:val, "\\s+", " ", "g")')
|
||||
for part in use_parts
|
||||
if part =~? '\s\+as\s\+'
|
||||
let [object, name] = split(part, '\s\+as\s\+')
|
||||
let [object, name] = split(part, '\s\+as\s\+\c')
|
||||
let object = substitute(object, '^\\', '', '')
|
||||
let name = substitute(name, '^\\', '', '')
|
||||
else
|
||||
@@ -2343,7 +2522,7 @@ function! phpcomplete#GetCurrentNameSpace(file_lines) " {{{
|
||||
break
|
||||
endif
|
||||
" if the name matches with the extracted classname and namespace
|
||||
if (tag.kind == 'c' || tag.kind == 'i') && tag.name == classname
|
||||
if (tag.kind == 'c' || tag.kind == 'i' || tag.kind == 't') && tag.name == classname
|
||||
if has_key(tag, 'namespace')
|
||||
let patched_ctags_detected = 1
|
||||
if tag.namespace == namespace_for_classes
|
||||
@@ -2386,7 +2565,7 @@ function! phpcomplete#GetCurrentNameSpace(file_lines) " {{{
|
||||
let tags = phpcomplete#GetTaglist('^'.import['name'].'$')
|
||||
for tag in tags
|
||||
" search for the first matchin namespace, class, interface with no namespace
|
||||
if !has_key(tag, 'namespace') && (tag.kind == 'n' || tag.kind == 'c' || tag.kind == 'i')
|
||||
if !has_key(tag, 'namespace') && (tag.kind == 'n' || tag.kind == 'c' || tag.kind == 'i' || tag.kind == 't')
|
||||
call extend(import, tag)
|
||||
let import['builtin'] = 0
|
||||
break
|
||||
@@ -2445,7 +2624,7 @@ endfunction
|
||||
|
||||
function! phpcomplete#ExpandClassName(classname, current_namespace, imports) " {{{
|
||||
" if there's an imported class, just use that class's information
|
||||
if has_key(a:imports, a:classname) && (a:imports[a:classname].kind == 'c' || a:imports[a:classname].kind == 'i')
|
||||
if has_key(a:imports, a:classname) && (a:imports[a:classname].kind == 'c' || a:imports[a:classname].kind == 'i' || a:imports[a:classname].kind == 't')
|
||||
let namespace = has_key(a:imports[a:classname], 'namespace') ? a:imports[a:classname].namespace : ''
|
||||
return [a:imports[a:classname].name, namespace]
|
||||
endif
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
"python3complete.vim - Omni Completion for python
|
||||
" Maintainer: Aaron Griffin <aaronmgriffin@gmail.com>
|
||||
" Version: 0.9
|
||||
" Last Updated: 18 Jun 2009
|
||||
" Last Updated: 18 Jun 2009 (small fix 2015 Sep 14 from Debian)
|
||||
"
|
||||
" Roland Puntaier: this file contains adaptations for python3 and is parallel to pythoncomplete.vim
|
||||
"
|
||||
@@ -359,6 +359,7 @@ class PyParser:
|
||||
def __init__(self):
|
||||
self.top = Scope('global',0)
|
||||
self.scope = self.top
|
||||
self.parserline = 0
|
||||
|
||||
def _parsedotname(self,pre=None):
|
||||
#returns (dottedname, nexttoken)
|
||||
|
||||
@@ -75,6 +75,7 @@ DOCS = \
|
||||
pattern.txt \
|
||||
pi_getscript.txt \
|
||||
pi_gzip.txt \
|
||||
pi_logipat.txt \
|
||||
pi_netrw.txt \
|
||||
pi_paren.txt \
|
||||
pi_spec.txt \
|
||||
@@ -207,6 +208,7 @@ HTMLS = \
|
||||
pattern.html \
|
||||
pi_getscript.html \
|
||||
pi_gzip.html \
|
||||
pi_logipat.html \
|
||||
pi_netrw.html \
|
||||
pi_paren.html \
|
||||
pi_spec.html \
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*autocmd.txt* For Vim version 7.4. Last change: 2014 Sep 23
|
||||
*autocmd.txt* For Vim version 7.4. Last change: 2015 Aug 18
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -259,6 +259,7 @@ Name triggered by ~
|
||||
|Syntax| when the 'syntax' option has been set
|
||||
|EncodingChanged| after the 'encoding' option has been changed
|
||||
|TermChanged| after the value of 'term' has changed
|
||||
|OptionSet| after setting any option
|
||||
|
||||
Startup and exit
|
||||
|VimEnter| after doing all the startup stuff
|
||||
@@ -505,6 +506,8 @@ ColorScheme After loading a color scheme. |:colorscheme|
|
||||
CompleteDone After Insert mode completion is done. Either
|
||||
when something was completed or abandoning
|
||||
completion. |ins-completion|
|
||||
The |v:completed_item| variable contains
|
||||
information about the completed item.
|
||||
|
||||
*CursorHold*
|
||||
CursorHold When the user doesn't press a key for the time
|
||||
@@ -742,6 +745,29 @@ MenuPopup Just before showing the popup menu (under the
|
||||
o Operator-pending
|
||||
i Insert
|
||||
c Command line
|
||||
*OptionSet*
|
||||
OptionSet After setting an option. The pattern is
|
||||
matched against the long option name.
|
||||
The |v:option_old| variable indicates the
|
||||
old option value, |v:option_new| variable
|
||||
indicates the newly set value, the
|
||||
|v:option_type| variable indicates whether
|
||||
it's global or local scoped and |<amatch>|
|
||||
indicates what option has been set.
|
||||
|
||||
Is not triggered on startup and for the 'key'
|
||||
option for obvious reasons.
|
||||
|
||||
Usage example: Check for the existence of the
|
||||
directory in the 'backupdir' and 'undodir'
|
||||
options, create the directory if it doesn't
|
||||
exist yet.
|
||||
|
||||
Note: It's a bad idea to reset an option
|
||||
during this autocommand, this may break a
|
||||
plugin. You can always use `:noa` to prevent
|
||||
triggering this autocommand.
|
||||
|
||||
*QuickFixCmdPre*
|
||||
QuickFixCmdPre Before a quickfix command is run (|:make|,
|
||||
|:lmake|, |:grep|, |:lgrep|, |:grepadd|,
|
||||
@@ -933,6 +959,13 @@ WinLeave Before leaving a window. If the window to be
|
||||
==============================================================================
|
||||
6. Patterns *autocmd-patterns* *{pat}*
|
||||
|
||||
The {pat} argument can be a comma separated list. This works as if the
|
||||
command was given with each pattern separately. Thus this command: >
|
||||
:autocmd BufRead *.txt,*.info set et
|
||||
Is equivalent to: >
|
||||
:autocmd BufRead *.txt set et
|
||||
:autocmd BufRead *.info set et
|
||||
|
||||
The file pattern {pat} is tested for a match against the file name in one of
|
||||
two ways:
|
||||
1. When there is no '/' in the pattern, Vim checks for a match against only
|
||||
@@ -1039,7 +1072,7 @@ Instead of a pattern buffer-local autocommands use one of these forms:
|
||||
Examples: >
|
||||
:au CursorHold <buffer> echo 'hold'
|
||||
:au CursorHold <buffer=33> echo 'hold'
|
||||
:au CursorHold <buffer=abuf> echo 'hold'
|
||||
:au BufNewFile * au CursorHold <buffer=abuf> echo 'hold'
|
||||
|
||||
All the commands for autocommands also work with buffer-local autocommands,
|
||||
simply use the special string instead of the pattern. Examples: >
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*change.txt* For Vim version 7.4. Last change: 2015 Jan 27
|
||||
*change.txt* For Vim version 7.4. Last change: 2015 Sep 06
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -379,10 +379,43 @@ Adding and subtracting ~
|
||||
CTRL-A Add [count] to the number or alphabetic character at
|
||||
or after the cursor. {not in Vi}
|
||||
|
||||
*v_CTRL-A*
|
||||
{Visual}CTRL-A Add [count] to the number or alphabetic character in
|
||||
the highlighted text. {not in Vi}
|
||||
|
||||
*v_g_CTRL-A*
|
||||
{Visual}g CTRL-A Add [count] to the number or alphabetic character in
|
||||
the highlighted text. If several lines are
|
||||
highlighted, each one will be incremented by an
|
||||
additional [count] (so effectively creating a
|
||||
[count] incrementing sequence). {not in Vi}
|
||||
For Example, if you have this list of numbers:
|
||||
1. ~
|
||||
1. ~
|
||||
1. ~
|
||||
1. ~
|
||||
Move to the second "1." and Visually select three
|
||||
lines, pressing g CTRL-A results in:
|
||||
1. ~
|
||||
2. ~
|
||||
3. ~
|
||||
4. ~
|
||||
|
||||
*CTRL-X*
|
||||
CTRL-X Subtract [count] from the number or alphabetic
|
||||
character at or after the cursor. {not in Vi}
|
||||
|
||||
*v_CTRL-X*
|
||||
{Visual}CTRL-X Subtract [count] from the number or alphabetic
|
||||
character in the highlighted text. {not in Vi}
|
||||
|
||||
*v_g_CTRL-X*
|
||||
{Visual}g CTRL-X Subtract [count] from the number or alphabetic
|
||||
character in the highlighted text. If several lines
|
||||
are highlighted, each value will be decremented by an
|
||||
additional [count] (so effectively creating a [count]
|
||||
decrementing sequence). {not in Vi}
|
||||
|
||||
The CTRL-A and CTRL-X commands work for (signed) decimal numbers, unsigned
|
||||
octal and hexadecimal numbers and alphabetic characters. This depends on the
|
||||
'nrformats' option.
|
||||
@@ -399,6 +432,10 @@ octal and hexadecimal numbers and alphabetic characters. This depends on the
|
||||
under or after the cursor. This is useful to make lists with an alphabetic
|
||||
index.
|
||||
|
||||
For decimals a leading negative sign is considered for incrementing/
|
||||
decrementing, for octal and hex values, it won't be considered.
|
||||
To ignore the sign Visually select the number before using CTRL-A or CTRL-X.
|
||||
|
||||
For numbers with leading zeros (including all octal and hexadecimal numbers),
|
||||
Vim preserves the number of characters in the number when possible. CTRL-A on
|
||||
"0077" results in "0100", CTRL-X on "0x100" results in "0x0ff".
|
||||
@@ -597,9 +634,9 @@ For other systems the tmpnam() library function is used.
|
||||
may add [flags], see |:s_flags|.
|
||||
Note that after `:substitute` the '&' flag can't be
|
||||
used, it's recognized as a pattern separator.
|
||||
The space between `:substitute` and the 'c', 'g' and
|
||||
'r' flags isn't required, but in scripts it's a good
|
||||
idea to keep it to avoid confusion.
|
||||
The space between `:substitute` and the 'c', 'g',
|
||||
'i', 'I' and 'r' flags isn't required, but in scripts
|
||||
it's a good idea to keep it to avoid confusion.
|
||||
|
||||
:[range]~[&][flags] [count] *:~*
|
||||
Repeat last substitute with same substitute string
|
||||
@@ -1098,13 +1135,13 @@ Rationale: In Vi the "y" command followed by a backwards motion would
|
||||
With a linewise yank command the cursor is put in the first line, but the
|
||||
column is unmodified, thus it may not be on the first yanked character.
|
||||
|
||||
There are nine types of registers: *registers* *E354*
|
||||
There are ten types of registers: *registers* *E354*
|
||||
1. The unnamed register ""
|
||||
2. 10 numbered registers "0 to "9
|
||||
3. The small delete register "-
|
||||
4. 26 named registers "a to "z or "A to "Z
|
||||
5. three read-only registers ":, "., "%
|
||||
7. alternate buffer register "#
|
||||
6. alternate buffer register "#
|
||||
7. the expression register "=
|
||||
8. The selection and drop registers "*, "+ and "~
|
||||
9. The black hole register "_
|
||||
@@ -1192,12 +1229,14 @@ if none of buffers matches the given name.
|
||||
7. Expression register "= *quote_=* *quote=* *@=*
|
||||
This is not really a register that stores text, but is a way to use an
|
||||
expression in commands which use a register. The expression register is
|
||||
read-only; you cannot put text into it. After the '=', the cursor moves to
|
||||
the command-line, where you can enter any expression (see |expression|). All
|
||||
normal command-line editing commands are available, including a special
|
||||
history for expressions. When you end the command-line by typing <CR>, Vim
|
||||
computes the result of the expression. If you end it with <Esc>, Vim abandons
|
||||
the expression. If you do not enter an expression, Vim uses the previous
|
||||
read-write.
|
||||
|
||||
When typing the '=' after " or CTRL-R the cursor moves to the command-line,
|
||||
where you can enter any expression (see |expression|). All normal
|
||||
command-line editing commands are available, including a special history for
|
||||
expressions. When you end the command-line by typing <CR>, Vim computes the
|
||||
result of the expression. If you end it with <Esc>, Vim abandons the
|
||||
expression. If you do not enter an expression, Vim uses the previous
|
||||
expression (like with the "/" command).
|
||||
|
||||
The expression must evaluate to a String. A Number is always automatically
|
||||
@@ -1242,7 +1281,7 @@ Contains the most recent search-pattern. This is used for "n" and 'hlsearch'.
|
||||
It is writable with `:let`, you can change it to have 'hlsearch' highlight
|
||||
other matches without actually searching. You can't yank or delete into this
|
||||
register. The search direction is available in |v:searchforward|.
|
||||
Note that the valued is restored when returning from a function
|
||||
Note that the value is restored when returning from a function
|
||||
|function-search-undo|.
|
||||
{not in Vi}
|
||||
|
||||
@@ -1457,10 +1496,10 @@ When you hit Return in a C-comment, Vim will insert the middle comment leader
|
||||
for the new line: " * ". To close this comment you just have to type "/"
|
||||
before typing anything else on the new line. This will replace the
|
||||
middle-comment leader with the end-comment leader and apply any specified
|
||||
alignment, leaving just " */". There is no need to hit BackSpace first.
|
||||
alignment, leaving just " */". There is no need to hit Backspace first.
|
||||
|
||||
When there is a match with a middle part, but there also is a maching end part
|
||||
which is longer, the end part is used. This makes a C style comment work
|
||||
When there is a match with a middle part, but there also is a matching end
|
||||
part which is longer, the end part is used. This makes a C style comment work
|
||||
without requiring the middle part to end with a space.
|
||||
|
||||
Here is an example of alignment flags at work to make a comment stand out
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*cmdline.txt* For Vim version 7.4. Last change: 2014 Sep 06
|
||||
*cmdline.txt* For Vim version 7.4. Last change: 2015 Sep 25
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -511,6 +511,8 @@ followed by another Vim command:
|
||||
:argdo
|
||||
:autocmd
|
||||
:bufdo
|
||||
:cdo
|
||||
:cfdo
|
||||
:command
|
||||
:cscope
|
||||
:debug
|
||||
@@ -521,6 +523,8 @@ followed by another Vim command:
|
||||
:help
|
||||
:helpfind
|
||||
:lcscope
|
||||
:ldo
|
||||
:lfdo
|
||||
:make
|
||||
:normal
|
||||
:perl
|
||||
@@ -597,6 +601,7 @@ starts editing the three files "foo bar", "goes to" and "school ".
|
||||
When you want to use the special characters '"' or '|' in a command, or want
|
||||
to use '%' or '#' in a file name, precede them with a backslash. The
|
||||
backslash is not required in a range and in the ":substitute" command.
|
||||
See also |`=|.
|
||||
|
||||
*:_!*
|
||||
The '!' (bang) character after an Ex command makes the command behave in a
|
||||
@@ -749,13 +754,13 @@ to insert special things while typing you can use the CTRL-R command. For
|
||||
example, "%" stands for the current file name, while CTRL-R % inserts the
|
||||
current file name right away. See |c_CTRL-R|.
|
||||
|
||||
Note: If you want to avoid the special characters in a Vim script you may want
|
||||
to use |fnameescape()|.
|
||||
Note: If you want to avoid the effects of special characters in a Vim script
|
||||
you may want to use |fnameescape()|. Also see |`=|.
|
||||
|
||||
|
||||
In Ex commands, at places where a file name can be used, the following
|
||||
characters have a special meaning. These can also be used in the expression
|
||||
function expand() |expand()|.
|
||||
function |expand()|.
|
||||
% Is replaced with the current file name. *:_%* *c_%*
|
||||
# Is replaced with the alternate file name. *:_#* *c_#*
|
||||
This is remembered for every window.
|
||||
@@ -790,6 +795,7 @@ it, no matter how many backslashes.
|
||||
# alternate.file
|
||||
\# #
|
||||
\\# \#
|
||||
Also see |`=|.
|
||||
|
||||
*:<cword>* *:<cWORD>* *:<cfile>* *<cfile>*
|
||||
*:<sfile>* *<sfile>* *:<afile>* *<afile>*
|
||||
@@ -811,13 +817,13 @@ Note: these are typed literally, they are not special keys!
|
||||
<afile> only when the file name isn't used to match with
|
||||
(for FileType, Syntax and SpellFileMissing events).
|
||||
<sfile> When executing a ":source" command, is replaced with the
|
||||
file name of the sourced file. *E498*
|
||||
When executing a function, is replaced with
|
||||
"function {function-name}"; function call nesting is
|
||||
indicated like this:
|
||||
"function {function-name1}..{function-name2}". Note that
|
||||
filename-modifiers are useless when <sfile> is used inside
|
||||
a function.
|
||||
file name of the sourced file. *E498*
|
||||
When executing a function, is replaced with:
|
||||
"function {function-name}[{lnum}]"
|
||||
function call nesting is indicated like this:
|
||||
"function {function-name1}[{lnum}]..{function-name2}[{lnum}]"
|
||||
Note that filename-modifiers are useless when <sfile> is
|
||||
used inside a function.
|
||||
<slnum> When executing a ":source" command, is replaced with the
|
||||
line number. *E842*
|
||||
When executing a function it's the line number relative to
|
||||
@@ -880,7 +886,7 @@ These modifiers can be given, in this order:
|
||||
:gs?pat?sub?
|
||||
Substitute all occurrences of "pat" with "sub". Otherwise
|
||||
this works like ":s".
|
||||
:S Escape special characters for use with a shell command (see
|
||||
:S Escape special characters for use with a shell command (see
|
||||
|shellescape()|). Must be the last one. Examples: >
|
||||
:!dir <cfile>:S
|
||||
:call system('chmod +w -- ' . expand('%:S'))
|
||||
@@ -933,9 +939,8 @@ name). This is included for backwards compatibility with version 3.0, the
|
||||
|
||||
Note: Where a file name is expected wildcards expansion is done. On Unix the
|
||||
shell is used for this, unless it can be done internally (for speed).
|
||||
Backticks also work, like in >
|
||||
Unless in |restricted-mode|, backticks work also, like in >
|
||||
:n `echo *.c`
|
||||
(backtick expansion is not possible in |restricted-mode|)
|
||||
But expansion is only done if there are any wildcards before expanding the
|
||||
'%', '#', etc.. This avoids expanding wildcards inside a file name. If you
|
||||
want to expand the result of <cfile>, add a wildcard character to it.
|
||||
@@ -946,6 +951,7 @@ Examples: (alternate file name is "?readme?")
|
||||
:e #.* :e {files matching "?readme?.*"}
|
||||
:cd <cfile> :cd {file name under cursor}
|
||||
:cd <cfile>* :cd {file name under cursor plus "*" and then expanded}
|
||||
Also see |`=|.
|
||||
|
||||
When the expanded argument contains a "!" and it is used for a shell command
|
||||
(":!cmd", ":r !cmd" or ":w !cmd"), the "!" is escaped with a backslash to
|
||||
@@ -972,6 +978,8 @@ for the file "$home" in the root directory. A few examples:
|
||||
/\$home file "$home" in root directory
|
||||
\\$home file "\\", followed by expanded $home
|
||||
|
||||
Also see |`=|.
|
||||
|
||||
==============================================================================
|
||||
7. Command-line window *cmdline-window* *cmdwin*
|
||||
*command-line-window*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*diff.txt* For Vim version 7.4. Last change: 2014 Oct 31
|
||||
*diff.txt* For Vim version 7.4. Last change: 2015 Jul 03
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -132,8 +132,9 @@ file for a moment and come back to the same file and be in diff mode again.
|
||||
if the current window does not have 'diff' set then no options
|
||||
in it are changed.
|
||||
|
||||
The ":diffoff" command resets the relevant options to the values they had when
|
||||
using |:diffsplit|, |:diffpatch| , |:diffthis|. or starting Vim in diff mode.
|
||||
The `:diffoff` command resets the relevant options to the values they had when
|
||||
using `:diffsplit`, `:diffpatch` , `:diffthis`. or starting Vim in diff mode.
|
||||
When using `:diffoff` twice the last saved values are restored.
|
||||
Otherwise they are set to their default value:
|
||||
|
||||
'diff' off
|
||||
@@ -314,6 +315,19 @@ name or a part of a buffer name. Examples:
|
||||
|
||||
Also see |'diffopt'| and the "diff" item of |'fillchars'|.
|
||||
|
||||
*diff-slow* *diff_translations*
|
||||
For very long lines, the diff syntax highlighting might be slow, especially
|
||||
since it tries to match all different kind of localisations. To disable
|
||||
localisations and speed up the syntax highlighting, set the global variable
|
||||
g:diff_translations to zero: >
|
||||
|
||||
let g:diff_translations = 0
|
||||
<
|
||||
After setting this variable, Reload the syntax script: >
|
||||
|
||||
set syntax=diff
|
||||
<
|
||||
|
||||
|
||||
FINDING THE DIFFERENCES *diff-diffexpr*
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*editing.txt* For Vim version 7.4. Last change: 2015 Jan 04
|
||||
*editing.txt* For Vim version 7.4. Last change: 2015 Aug 25
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -304,7 +304,8 @@ CTRL-^ Edit the alternate file. Mostly the alternate file is
|
||||
Mnemonic: "goto file".
|
||||
Uses the 'isfname' option to find out which characters
|
||||
are supposed to be in a file name. Trailing
|
||||
punctuation characters ".,:;!" are ignored.
|
||||
punctuation characters ".,:;!" are ignored. Escaped
|
||||
spaces "\ " are reduced to a single space.
|
||||
Uses the 'path' option as a list of directory names to
|
||||
look for the file. See the 'path' option for details
|
||||
about relative directories and wildcards.
|
||||
@@ -411,25 +412,38 @@ Finds files:
|
||||
/usr/include/sys/types.h
|
||||
/usr/inc_old/types.h
|
||||
*backtick-expansion* *`-expansion*
|
||||
On Unix and a few other systems you can also use backticks in the file name,
|
||||
for example: >
|
||||
:e `find . -name ver\\*.c -print`
|
||||
The backslashes before the star are required to prevent "ver*.c" to be
|
||||
expanded by the shell before executing the find program.
|
||||
On Unix and a few other systems you can also use backticks for the file name
|
||||
argument, for example: >
|
||||
:next `find . -name ver\\*.c -print`
|
||||
:view `ls -t *.patch \| head -n1`
|
||||
The backslashes before the star are required to prevent the shell from
|
||||
expanding "ver*.c" prior to execution of the find program. The backslash
|
||||
before the shell pipe symbol "|" prevents Vim from parsing it as command
|
||||
termination.
|
||||
This also works for most other systems, with the restriction that the
|
||||
backticks must be around the whole item. It is not possible to have text
|
||||
directly before the first or just after the last backtick.
|
||||
|
||||
*`=*
|
||||
You can have the backticks expanded as a Vim expression, instead of an
|
||||
external command, by using the syntax `={expr}` e.g.: >
|
||||
You can have the backticks expanded as a Vim expression, instead of as an
|
||||
external command, by putting an equal sign right after the first backtick,
|
||||
e.g.: >
|
||||
:e `=tempname()`
|
||||
The expression can contain just about anything, thus this can also be used to
|
||||
avoid the special meaning of '"', '|', '%' and '#'. However, 'wildignore'
|
||||
does apply like to other wildcards.
|
||||
|
||||
Environment variables in the expression are expanded when evaluating the
|
||||
expression, thus this works: >
|
||||
:e `=$HOME . '/.vimrc'`
|
||||
This does not work, $HOME is inside a string and used literally: >
|
||||
:e `='$HOME' . '/.vimrc'`
|
||||
|
||||
If the expression returns a string then names are to be separated with line
|
||||
breaks. When the result is a |List| then each item is used as a name. Line
|
||||
breaks also separate names.
|
||||
Note that such expressions are only supported in places where a filename is
|
||||
expected as an argument to an Ex-command.
|
||||
|
||||
*++opt* *[++opt]*
|
||||
The [++opt] argument can be used to force the value of 'fileformat',
|
||||
@@ -854,7 +868,8 @@ USING THE ARGUMENT LIST
|
||||
each file.
|
||||
{not in Vi} {not available when compiled without the
|
||||
|+listcmds| feature}
|
||||
Also see |:windo|, |:tabdo| and |:bufdo|.
|
||||
Also see |:windo|, |:tabdo|, |:bufdo|, |:cdo|, |:ldo|,
|
||||
|:cfdo| and |:lfdo|
|
||||
|
||||
Example: >
|
||||
:args *.c
|
||||
@@ -1362,7 +1377,7 @@ There are a few things to remember when editing binary files:
|
||||
- <Nul> characters are shown on the screen as ^@. You can enter them with
|
||||
"CTRL-V CTRL-@" or "CTRL-V 000" {Vi cannot handle <Nul> characters in the
|
||||
file}
|
||||
- To insert a <NL> character in the file split up a line. When writing the
|
||||
- To insert a <NL> character in the file split a line. When writing the
|
||||
buffer to a file a <NL> will be written for the <EOL>.
|
||||
- Vim normally appends an <EOL> at the end of the file if there is none.
|
||||
Setting the 'binary' option prevents this. If you want to add the final
|
||||
@@ -1392,7 +1407,8 @@ reveal it to others. The 'viminfo' file is not encrypted.
|
||||
You could do this to edit very secret text: >
|
||||
:set noundofile viminfo=
|
||||
:noswapfile edit secrets.txt
|
||||
Keep in mind that without a swap file you risk losing your work in a crash.
|
||||
Keep in mind that without a swap file you risk losing your work in the event
|
||||
of a crash or a power failure.
|
||||
|
||||
WARNING: If you make a typo when entering the key and then write the file and
|
||||
exit, the text will be lost!
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*eval.txt* For Vim version 7.4. Last change: 2015 Jan 27
|
||||
*eval.txt* For Vim version 7.4. Last change: 2015 Sep 19
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -525,7 +525,7 @@ Funcref to a Dictionary, but the "self" variable is not available then.
|
||||
To avoid the extra name for the function it can be defined and directly
|
||||
assigned to a Dictionary in this way: >
|
||||
:let mydict = {'data': [0, 1, 2, 3]}
|
||||
:function mydict.len() dict
|
||||
:function mydict.len()
|
||||
: return len(self.data)
|
||||
:endfunction
|
||||
:echo mydict.len()
|
||||
@@ -1005,7 +1005,7 @@ function. Example: >
|
||||
|
||||
|
||||
|
||||
string *string* *expr-string* *E114*
|
||||
string *string* *String* *expr-string* *E114*
|
||||
------
|
||||
"string" string constant *expr-quote*
|
||||
|
||||
@@ -1021,7 +1021,7 @@ A string constant accepts these special characters:
|
||||
\X. same as \x.
|
||||
\u.... character specified with up to 4 hex numbers, stored according to the
|
||||
current value of 'encoding' (e.g., "\u02a4")
|
||||
\U.... same as \u....
|
||||
\U.... same as \u but allows up to 8 hex numbers.
|
||||
\b backspace <BS>
|
||||
\e escape <Esc>
|
||||
\f formfeed <FF>
|
||||
@@ -1330,6 +1330,12 @@ v:cmdbang Set like v:cmdarg for a file read/write command. When a "!"
|
||||
can only be used in autocommands. For user commands |<bang>|
|
||||
can be used.
|
||||
|
||||
*v:completed_item* *completed_item-variable*
|
||||
v:completed_item
|
||||
|Dictionary| containing the |complete-items| for the most
|
||||
recently completed word after |CompleteDone|. The
|
||||
|Dictionary| is empty if the completion failed.
|
||||
|
||||
*v:count* *count-variable*
|
||||
v:count The count given for the last Normal mode command. Can be used
|
||||
to get the count before a mapping. Read-only. Example: >
|
||||
@@ -1462,7 +1468,9 @@ v:hlsearch Variable that indicates whether search highlighting is on.
|
||||
requires |+extra_search|. Setting this variable to zero acts
|
||||
the like |:nohlsearch| command, setting it to one acts like >
|
||||
let &hlsearch = &hlsearch
|
||||
<
|
||||
< Note that the value is restored when returning from a
|
||||
function. |function-search-undo|.
|
||||
|
||||
*v:insertmode* *insertmode-variable*
|
||||
v:insertmode Used for the |InsertEnter| and |InsertChange| autocommand
|
||||
events. Values:
|
||||
@@ -1527,6 +1535,15 @@ v:oldfiles List of file names that is loaded from the |viminfo| file on
|
||||
than String this will cause trouble.
|
||||
{only when compiled with the |+viminfo| feature}
|
||||
|
||||
*v:option_new*
|
||||
v:option_new New value of the option. Valid while executing an |OptionSet|
|
||||
autocommand.
|
||||
*v:option_old*
|
||||
v:option_old Old value of the option. Valid while executing an |OptionSet|
|
||||
autocommand.
|
||||
*v:option_type*
|
||||
v:option_type Scope of the set command. Valid while executing an
|
||||
|OptionSet| autocommand. Can be either "global" or "local"
|
||||
*v:operator* *operator-variable*
|
||||
v:operator The last operator given in Normal mode. This is a single
|
||||
character except for commands starting with <g> or <z>,
|
||||
@@ -1730,7 +1747,7 @@ bufexists( {expr}) Number TRUE if buffer {expr} exists
|
||||
buflisted( {expr}) Number TRUE if buffer {expr} is listed
|
||||
bufloaded( {expr}) Number TRUE if buffer {expr} is loaded
|
||||
bufname( {expr}) String Name of the buffer {expr}
|
||||
bufnr( {expr}) Number Number of the buffer {expr}
|
||||
bufnr( {expr} [, {create}]) Number Number of the buffer {expr}
|
||||
bufwinnr( {expr}) Number window number of buffer {expr}
|
||||
byte2line( {byte}) Number line number at byte count {byte}
|
||||
byteidx( {expr}, {nr}) Number byte index of {nr}'th char in {expr}
|
||||
@@ -1805,6 +1822,7 @@ getbufvar( {expr}, {varname} [, {def}])
|
||||
any variable {varname} in buffer {expr}
|
||||
getchar( [expr]) Number get one character from the user
|
||||
getcharmod( ) Number modifiers for the last typed character
|
||||
getcharsearch() Dict last character search
|
||||
getcmdline() String return the current command-line
|
||||
getcmdpos() Number return cursor position in command-line
|
||||
getcmdtype() String return current command-line type
|
||||
@@ -1834,9 +1852,10 @@ getwinposx() Number X coord in pixels of GUI Vim window
|
||||
getwinposy() Number Y coord in pixels of GUI Vim window
|
||||
getwinvar( {nr}, {varname} [, {def}])
|
||||
any variable {varname} in window {nr}
|
||||
glob( {expr} [, {nosuf} [, {list}]])
|
||||
glob( {expr} [, {nosuf} [, {list} [, {alllinks}]]])
|
||||
any expand file wildcards in {expr}
|
||||
globpath( {path}, {expr} [, {nosuf} [, {list}]])
|
||||
glob2regpat( {expr}) String convert a glob pat into a search pat
|
||||
globpath( {path}, {expr} [, {nosuf} [, {list} [, {alllinks}]]])
|
||||
String do glob({expr}) for all dirs in {path}
|
||||
has( {feature}) Number TRUE if feature {feature} supported
|
||||
has_key( {dict}, {key}) Number TRUE if {dict} has entry {key}
|
||||
@@ -1953,6 +1972,7 @@ server2client( {clientid}, {string})
|
||||
Number send reply string
|
||||
serverlist() String get a list of available servers
|
||||
setbufvar( {expr}, {varname}, {val}) set {varname} in buffer {expr} to {val}
|
||||
setcharsearch( {dict}) Dict set character search from {dict}
|
||||
setcmdpos( {pos}) Number set cursor position in command-line
|
||||
setline( {lnum}, {line}) Number set line {lnum} to {line}
|
||||
setloclist( {nr}, {list}[, {action}])
|
||||
@@ -1984,7 +2004,7 @@ split( {expr} [, {pat} [, {keepempty}]])
|
||||
sqrt( {expr}) Float square root of {expr}
|
||||
str2float( {expr}) Float convert String to Float
|
||||
str2nr( {expr} [, {base}]) Number convert String to Number
|
||||
strchars( {expr}) Number character length of the String {expr}
|
||||
strchars( {expr} [, {skipcc}]) Number character length of the String {expr}
|
||||
strdisplaywidth( {expr} [, {col}]) Number display length of the String {expr}
|
||||
strftime( {format}[, {time}]) String time in specified format
|
||||
stridx( {haystack}, {needle}[, {start}])
|
||||
@@ -2960,6 +2980,8 @@ extend({expr1}, {expr2} [, {expr3}]) *extend()*
|
||||
{expr1} is changed when {expr2} is not empty. If necessary
|
||||
make a copy of {expr1} first.
|
||||
{expr2} remains unchanged.
|
||||
When {expr1} is locked and {expr2} is not empty the operation
|
||||
fails.
|
||||
Returns {expr1}.
|
||||
|
||||
|
||||
@@ -3314,7 +3336,7 @@ getchar([expr]) *getchar()*
|
||||
: endwhile
|
||||
:endfunction
|
||||
<
|
||||
You may also receive syntetic characters, such as
|
||||
You may also receive synthetic characters, such as
|
||||
|<CursorHold>|. Often you will want to ignore this and get
|
||||
another character: >
|
||||
:function GetKey()
|
||||
@@ -3341,6 +3363,26 @@ getcharmod() *getcharmod()*
|
||||
character itself are obtained. Thus Shift-a results in "A"
|
||||
without a modifier.
|
||||
|
||||
getcharsearch() *getcharsearch()*
|
||||
Return the current character search information as a {dict}
|
||||
with the following entries:
|
||||
|
||||
char character previously used for a character
|
||||
search (|t|, |f|, |T|, or |F|); empty string
|
||||
if no character search has been performed
|
||||
forward direction of character search; 1 for forward,
|
||||
0 for backward
|
||||
until type of character search; 1 for a |t| or |T|
|
||||
character search, 0 for an |f| or |F|
|
||||
character search
|
||||
|
||||
This can be useful to always have |;| and |,| search
|
||||
forward/backward regardless of the direction of the previous
|
||||
character search: >
|
||||
:nnoremap <expr> ; getcharsearch().forward ? ';' : ','
|
||||
:nnoremap <expr> , getcharsearch().forward ? ',' : ';'
|
||||
< Also see |setcharsearch()|.
|
||||
|
||||
getcmdline() *getcmdline()*
|
||||
Return the current command-line. Only works when the command
|
||||
line is being edited, thus requires use of |c_CTRL-\_e| or
|
||||
@@ -3638,7 +3680,7 @@ getwinvar({winnr}, {varname} [, {def}]) *getwinvar()*
|
||||
:let list_is_on = getwinvar(2, '&list')
|
||||
:echo "myvar = " . getwinvar(1, 'myvar')
|
||||
<
|
||||
glob({expr} [, {nosuf} [, {list}]]) *glob()*
|
||||
glob({expr} [, {nosuf} [, {list} [, {alllinks}]]]) *glob()*
|
||||
Expand the file wildcards in {expr}. See |wildcards| for the
|
||||
use of special characters.
|
||||
|
||||
@@ -3655,8 +3697,11 @@ glob({expr} [, {nosuf} [, {list}]]) *glob()*
|
||||
matches, they are separated by <NL> characters.
|
||||
|
||||
If the expansion fails, the result is an empty String or List.
|
||||
|
||||
A name for a non-existing file is not included. A symbolic
|
||||
link is only included if it points to an existing file.
|
||||
However, when the {alllinks} argument is present and it is
|
||||
non-zero then all symbolic links are included.
|
||||
|
||||
For most systems backticks can be used to get files names from
|
||||
any external command. Example: >
|
||||
@@ -3668,7 +3713,16 @@ glob({expr} [, {nosuf} [, {list}]]) *glob()*
|
||||
See |expand()| for expanding special Vim variables. See
|
||||
|system()| for getting the raw output of an external command.
|
||||
|
||||
globpath({path}, {expr} [, {nosuf} [, {list}]]) *globpath()*
|
||||
glob2regpat({expr}) *glob2regpat()*
|
||||
Convert a file pattern, as used by glob(), into a search
|
||||
pattern. The result can be used to match with a string that
|
||||
is a file name. E.g. >
|
||||
if filename =~ glob2regpat('Make*.mak')
|
||||
< This is equivalent to: >
|
||||
if filename =~ '^Make.*\.mak$'
|
||||
<
|
||||
*globpath()*
|
||||
globpath({path}, {expr} [, {nosuf} [, {list} [, {allinks}]]])
|
||||
Perform glob() on all directories in {path} and concatenate
|
||||
the results. Example: >
|
||||
:echo globpath(&rtp, "syntax/c.vim")
|
||||
@@ -3694,6 +3748,8 @@ globpath({path}, {expr} [, {nosuf} [, {list}]]) *globpath()*
|
||||
they are separated by <NL> characters. Example: >
|
||||
:echo globpath(&rtp, "syntax/c.vim", 0, 1)
|
||||
<
|
||||
{allinks} is used as with |glob()|.
|
||||
|
||||
The "**" item can be used to search in a directory tree.
|
||||
For example, to find all "README.txt" files in the directories
|
||||
in 'runtimepath' and below: >
|
||||
@@ -4371,7 +4427,7 @@ match({expr}, {pat}[, {start}[, {count}]]) *match()*
|
||||
done like 'magic' is set and 'cpoptions' is empty.
|
||||
|
||||
*matchadd()* *E798* *E799* *E801*
|
||||
matchadd({group}, {pattern}[, {priority}[, {id}]])
|
||||
matchadd({group}, {pattern}[, {priority}[, {id} [, {dict}]]])
|
||||
Defines a pattern to be highlighted in the current window (a
|
||||
"match"). It will be highlighted with {group}. Returns an
|
||||
identification number (ID), which can be used to delete the
|
||||
@@ -4379,6 +4435,8 @@ matchadd({group}, {pattern}[, {priority}[, {id}]])
|
||||
Matching is case sensitive and magic, unless case sensitivity
|
||||
or magicness are explicitly overridden in {pattern}. The
|
||||
'magic', 'smartcase' and 'ignorecase' options are not used.
|
||||
The "Conceal" value is special, it causes the match to be
|
||||
concealed.
|
||||
|
||||
The optional {priority} argument assigns a priority to the
|
||||
match. A match with a high priority will have its
|
||||
@@ -4396,9 +4454,18 @@ matchadd({group}, {pattern}[, {priority}[, {id}]])
|
||||
message will appear and the match will not be added. An ID
|
||||
is specified as a positive integer (zero excluded). IDs 1, 2
|
||||
and 3 are reserved for |:match|, |:2match| and |:3match|,
|
||||
respectively. If the {id} argument is not specified,
|
||||
respectively. If the {id} argument is not specified or -1,
|
||||
|matchadd()| automatically chooses a free ID.
|
||||
|
||||
The optional {dict} argmument allows for further custom
|
||||
values. Currently this is used to specify a match specifc
|
||||
conceal character that will be shown for |hl-Conceal|
|
||||
highlighted matches. The dict can have the following members:
|
||||
|
||||
conceal Special character to show instead of the
|
||||
match (only for |hl-Conceal| highlighed
|
||||
matches, see |:syn-cchar|)
|
||||
|
||||
The number of matches is not limited, as it is the case with
|
||||
the |:match| commands.
|
||||
|
||||
@@ -4412,7 +4479,7 @@ matchadd({group}, {pattern}[, {priority}[, {id}]])
|
||||
available from |getmatches()|. All matches can be deleted in
|
||||
one operation by |clearmatches()|.
|
||||
|
||||
matchaddpos({group}, {pos}[, {priority}[, {id}]]) *matchaddpos()*
|
||||
matchaddpos({group}, {pos}[, {priority}[, {id}[, {dict}]]]) *matchaddpos()*
|
||||
Same as |matchadd()|, but requires a list of positions {pos}
|
||||
instead of a pattern. This command is faster than |matchadd()|
|
||||
because it does not require to handle regular expressions and
|
||||
@@ -4766,6 +4833,7 @@ printf({fmt}, {expr1} ...) *printf()*
|
||||
s The text of the String argument is used. If a
|
||||
precision is specified, no more bytes than the number
|
||||
specified are used.
|
||||
*printf-S*
|
||||
S The text of the String argument is used. If a
|
||||
precision is specified, no more display cells than the
|
||||
number specified are used. Without the |+multi_byte|
|
||||
@@ -4827,7 +4895,7 @@ py3eval({expr}) *py3eval()*
|
||||
Evaluate Python expression {expr} and return its result
|
||||
converted to Vim data structures.
|
||||
Numbers and strings are returned as they are (strings are
|
||||
copied though, unicode strings are additionally converted to
|
||||
copied though, Unicode strings are additionally converted to
|
||||
'encoding').
|
||||
Lists are represented as Vim |List| type.
|
||||
Dictionaries are represented as Vim |Dictionary| type with
|
||||
@@ -4871,7 +4939,7 @@ readfile({fname} [, {binary} [, {max}]])
|
||||
separated with CR will result in a single long line (unless a
|
||||
NL appears somewhere).
|
||||
All NUL characters are replaced with a NL character.
|
||||
When {binary/append} contains "b" binary mode is used:
|
||||
When {binary} contains "b" binary mode is used:
|
||||
- When the last line ends in a NL an extra empty list item is
|
||||
added.
|
||||
- No CR characters are removed.
|
||||
@@ -5351,6 +5419,26 @@ setbufvar({expr}, {varname}, {val}) *setbufvar()*
|
||||
:call setbufvar("todo", "myvar", "foobar")
|
||||
< This function is not available in the |sandbox|.
|
||||
|
||||
setcharsearch({dict}) *setcharsearch()*
|
||||
Set the current character search information to {dict},
|
||||
which contains one or more of the following entries:
|
||||
|
||||
char character which will be used for a subsequent
|
||||
|,| or |;| command; an empty string clears the
|
||||
character search
|
||||
forward direction of character search; 1 for forward,
|
||||
0 for backward
|
||||
until type of character search; 1 for a |t| or |T|
|
||||
character search, 0 for an |f| or |F|
|
||||
character search
|
||||
|
||||
This can be useful to save/restore a user's character search
|
||||
from a script: >
|
||||
:let prevsearch = getcharsearch()
|
||||
:" Perform a command which clobbers user's search
|
||||
:call setcharsearch(prevsearch)
|
||||
< Also see |getcharsearch()|.
|
||||
|
||||
setcmdpos({pos}) *setcmdpos()*
|
||||
Set the cursor position in the command line to byte position
|
||||
{pos}. The first position is 1.
|
||||
@@ -5566,7 +5654,7 @@ setwinvar({nr}, {varname}, {val}) *setwinvar()*
|
||||
:call setwinvar(2, "myvar", "foobar")
|
||||
|
||||
sha256({string}) *sha256()*
|
||||
Returns a String with 64 hex charactes, which is the SHA256
|
||||
Returns a String with 64 hex characters, which is the SHA256
|
||||
checksum of {string}.
|
||||
{only available when compiled with the |+cryptv| feature}
|
||||
|
||||
@@ -5773,7 +5861,8 @@ split({expr} [, {pattern} [, {keepempty}]]) *split()*
|
||||
:let words = split(getline('.'), '\W\+')
|
||||
< To split a string in individual characters: >
|
||||
:for c in split(mystring, '\zs')
|
||||
< If you want to keep the separator you can also use '\zs': >
|
||||
< If you want to keep the separator you can also use '\zs' at
|
||||
the end of the pattern: >
|
||||
:echo split('abc:def:ghi', ':\zs')
|
||||
< ['abc:', 'def:', 'ghi'] ~
|
||||
Splitting a table where the first element can be empty: >
|
||||
@@ -5821,15 +5910,35 @@ str2nr( {expr} [, {base}]) *str2nr()*
|
||||
Text after the number is silently ignored.
|
||||
|
||||
|
||||
strchars({expr}) *strchars()*
|
||||
strchars({expr} [, {skipcc}]) *strchars()*
|
||||
The result is a Number, which is the number of characters
|
||||
String {expr} occupies. Composing characters are counted
|
||||
separately.
|
||||
in String {expr}.
|
||||
When {skipcc} is omitted or zero, composing characters are
|
||||
counted separately.
|
||||
When {skipcc} set to 1, Composing characters are ignored.
|
||||
Also see |strlen()|, |strdisplaywidth()| and |strwidth()|.
|
||||
|
||||
|
||||
{skipcc} is only available after 7.4.755. For backward
|
||||
compatibility, you can define a wrapper function: >
|
||||
if has("patch-7.4.755")
|
||||
function s:strchars(str, skipcc)
|
||||
return strchars(a:str, a:skipcc)
|
||||
endfunction
|
||||
else
|
||||
function s:strchars(str, skipcc)
|
||||
if a:skipcc
|
||||
return strlen(substitute(a:str, ".", "x", "g"))
|
||||
else
|
||||
return strchars(a:str)
|
||||
endif
|
||||
endfunction
|
||||
endif
|
||||
<
|
||||
|
||||
strdisplaywidth({expr}[, {col}]) *strdisplaywidth()*
|
||||
The result is a Number, which is the number of display cells
|
||||
String {expr} occupies on the screen when it starts a {col}.
|
||||
String {expr} occupies on the screen when it starts at {col}.
|
||||
When {col} is omitted zero is used. Otherwise it is the
|
||||
screen column where to start. This matters for Tab
|
||||
characters.
|
||||
@@ -5895,15 +6004,11 @@ string({expr}) Return {expr} converted to a String. If {expr} is a Number,
|
||||
*strlen()*
|
||||
strlen({expr}) The result is a Number, which is the length of the String
|
||||
{expr} in bytes.
|
||||
If you want to count the number of multi-byte characters (not
|
||||
counting composing characters) use something like this: >
|
||||
|
||||
:let len = strlen(substitute(str, ".", "x", "g"))
|
||||
<
|
||||
If the argument is a Number it is first converted to a String.
|
||||
For other types an error is given.
|
||||
Also see |len()|, |strchars()|, |strdisplaywidth()| and
|
||||
|strwidth()|.
|
||||
If you want to count the number of multi-byte characters use
|
||||
|strchars()|.
|
||||
Also see |len()|, |strdisplaywidth()| and |strwidth()|.
|
||||
|
||||
strpart({src}, {start}[, {len}]) *strpart()*
|
||||
The result is a String, which is part of {src}, starting from
|
||||
@@ -6017,6 +6122,9 @@ synID({lnum}, {col}, {trans}) *synID()*
|
||||
|
||||
{col} is 1 for the leftmost column, {lnum} is 1 for the first
|
||||
line. 'synmaxcol' applies, in a longer line zero is returned.
|
||||
Note that when the position is after the last character,
|
||||
that's where the cursor can be in Insert mode, synID() returns
|
||||
zero.
|
||||
|
||||
When {trans} is non-zero, transparent items are reduced to the
|
||||
item that they reveal. This is useful when wanting to know
|
||||
@@ -8279,7 +8387,7 @@ You can catch all Vim errors by the pattern >
|
||||
*catch-text*
|
||||
NOTE: You should never catch the error message text itself: >
|
||||
:catch /No such variable/
|
||||
only works in the english locale, but not when the user has selected
|
||||
only works in the English locale, but not when the user has selected
|
||||
a different language by the |:language| command. It is however helpful to
|
||||
cite the message text in a comment: >
|
||||
:catch /^Vim(\a\+):E108:/ " No such variable
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*farsi.txt* For Vim version 7.4. Last change: 2010 Aug 07
|
||||
*farsi.txt* For Vim version 7.4. Last change: 2015 Aug 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Mortaza Ghassab Shiran
|
||||
@@ -59,7 +59,7 @@ o Toggling between Farsi ISIR-3342 standard encoding and Vim Farsi via F9
|
||||
right-to-left mode, this function is also supported only in right-to-left
|
||||
mode.
|
||||
|
||||
Farsi Fonts *farsi fonts*
|
||||
Farsi Fonts *farsi-fonts*
|
||||
-----------
|
||||
|
||||
The following files are found in the subdirectories of the '$VIM/farsi/fonts'
|
||||
|
||||
@@ -365,7 +365,7 @@ zX Undo manually opened and closed folds: re-apply 'foldlevel'.
|
||||
Also forces recomputing folds, like |zx|.
|
||||
|
||||
*zm*
|
||||
zm Fold more: Subtract one from 'foldlevel'. If 'foldlevel' was
|
||||
zm Fold more: Subtract |v:count1| from 'foldlevel'. If 'foldlevel' was
|
||||
already zero nothing happens.
|
||||
'foldenable' will be set.
|
||||
|
||||
@@ -374,7 +374,7 @@ zM Close all folds: set 'foldlevel' to 0.
|
||||
'foldenable' will be set.
|
||||
|
||||
*zr*
|
||||
zr Reduce folding: Add one to 'foldlevel'.
|
||||
zr Reduce folding: Add |v:count1| to 'foldlevel'.
|
||||
|
||||
*zR*
|
||||
zR Open all folds. This sets 'foldlevel' to highest fold level.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*help.txt* For Vim version 7.4. Last change: 2012 Dec 06
|
||||
*help.txt* For Vim version 7.4. Last change: 2015 Jun 21
|
||||
|
||||
VIM - main help file
|
||||
k
|
||||
@@ -24,6 +24,7 @@ Get specific help: It is possible to go directly to whatever you want help
|
||||
Command-line editing c_ :help c_<Del>
|
||||
Vim command argument - :help -r
|
||||
Option ' :help 'textwidth'
|
||||
Regular expression / :help /[
|
||||
Search for help: Type ":help word", then hit CTRL-D to see matching
|
||||
help entries for "word".
|
||||
Or use ":helpgrep word". |:helpgrep|
|
||||
@@ -196,6 +197,7 @@ Remarks about specific systems ~
|
||||
Standard plugins ~
|
||||
|pi_getscript.txt| Downloading latest version of Vim scripts
|
||||
|pi_gzip.txt| Reading and writing compressed files
|
||||
|pi_logipat.txt| Logical operators on patterns
|
||||
|pi_netrw.txt| Reading and writing files over a network
|
||||
|pi_paren.txt| Highlight matching parens
|
||||
|pi_tar.txt| Tar file explorer
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*if_ruby.txt* For Vim version 7.4. Last change: 2012 Aug 02
|
||||
*if_ruby.txt* For Vim version 7.4. Last change: 2015 Feb 22
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Shugo Maeda
|
||||
@@ -120,9 +120,13 @@ VIM::command({cmd})
|
||||
*ruby-evaluate*
|
||||
VIM::evaluate({expr})
|
||||
Evaluates {expr} using the vim internal expression evaluator (see
|
||||
|expression|). Returns the expression result as a string.
|
||||
A |List| is turned into a string by joining the items and inserting
|
||||
line breaks.
|
||||
|expression|). Returns the expression result as:
|
||||
- a Integer if the Vim expression evaluates to a number
|
||||
- a Float if the Vim expression evaluates to a float
|
||||
- a String if the Vim expression evaluates to a string
|
||||
- a Array if the Vim expression evaluates to a Vim list
|
||||
- a Hash if the Vim expression evaluates to a Vim dictionary
|
||||
Dictionaries and lists are recursively expanded.
|
||||
|
||||
==============================================================================
|
||||
3. VIM::Buffer objects *ruby-buffer*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*index.txt* For Vim version 7.4. Last change: 2015 Jan 07
|
||||
*index.txt* For Vim version 7.4. Last change: 2015 Sep 08
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -702,12 +702,16 @@ tag char note action in Normal mode ~
|
||||
|g'| g'{mark} 1 like |'| but without changing the jumplist
|
||||
|g`| g`{mark} 1 like |`| but without changing the jumplist
|
||||
|gstar| g* 1 like "*", but without using "\<" and "\>"
|
||||
|g+| g+ go to newer text state N times
|
||||
|g,| g, 1 go to N newer position in change list
|
||||
|g-| g- go to older text state N times
|
||||
|g0| g0 1 when 'wrap' off go to leftmost character of
|
||||
the current line that is on the screen;
|
||||
when 'wrap' on go to the leftmost character
|
||||
of the current screen line
|
||||
|g8| g8 print hex value of bytes used in UTF-8
|
||||
character under the cursor
|
||||
|g;| g; 1 go to N older position in change list
|
||||
|g<| g< display previous command output
|
||||
|g?| g? 2 Rot13 encoding operator
|
||||
|g?g?| g?? 2 Rot13 encode current line
|
||||
@@ -736,6 +740,7 @@ tag char note action in Normal mode ~
|
||||
the screen; when 'wrap' on go to the
|
||||
leftmost non-white character of the current
|
||||
screen line
|
||||
|g_| g_ 1 cursor to the last CHAR N - 1 lines lower
|
||||
|ga| ga print ascii value of character under the
|
||||
cursor
|
||||
|gd| gd 1 go to definition of word under the cursor
|
||||
@@ -1133,6 +1138,8 @@ tag command action ~
|
||||
|:cc| :cc go to specific error
|
||||
|:cclose| :ccl[ose] close quickfix window
|
||||
|:cd| :cd change directory
|
||||
|:cdo| :cdo execute command in each valid error list entry
|
||||
|:cfdo| :cfd[o] execute command in each file in error list
|
||||
|:center| :ce[nter] format lines at the center
|
||||
|:cexpr| :cex[pr] read errors from expr and jump to first
|
||||
|:cfile| :cf[ile] read file with error messages and jump to first
|
||||
@@ -1291,6 +1298,8 @@ tag command action ~
|
||||
|:lchdir| :lch[dir] change directory locally
|
||||
|:lclose| :lcl[ose] close location window
|
||||
|:lcscope| :lcs[cope] like ":cscope" but uses location list
|
||||
|:ldo| :ld[o] execute command in valid location list entries
|
||||
|:lfdo| :lfd[o] execute command in each file in location list
|
||||
|:left| :le[ft] left align lines
|
||||
|:leftabove| :lefta[bove] make split window appear left or above
|
||||
|:let| :let assign a value to a variable or option
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*insert.txt* For Vim version 7.4. Last change: 2014 Aug 04
|
||||
*insert.txt* For Vim version 7.4. Last change: 2015 Sep 15
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -81,9 +81,11 @@ CTRL-W Delete the word before the cursor (see |i_backspacing| about
|
||||
joining lines). See the section "word motions",
|
||||
|word-motions|, for the definition of a word.
|
||||
*i_CTRL-U*
|
||||
CTRL-U Delete all entered characters in the current line (see
|
||||
|i_backspacing| about joining lines).
|
||||
|
||||
CTRL-U Delete all entered characters before the cursor in the current
|
||||
line. If there are no newly entered characters and
|
||||
'backspace' is not empty, delete all characters before the
|
||||
cursor in the current line.
|
||||
See |i_backspacing| about joining lines.
|
||||
*i_CTRL-I* *i_<Tab>* *i_Tab*
|
||||
<Tab> or CTRL-I Insert a tab. If the 'expandtab' option is on, the
|
||||
equivalent number of spaces is inserted (use CTRL-V <Tab> to
|
||||
@@ -150,7 +152,7 @@ CTRL-R CTRL-R {0-9a-z"%#*+/:.-=} *i_CTRL-R_CTRL-R*
|
||||
CTRL-R a results in "ac".
|
||||
CTRL-R CTRL-R a results in "ab^Hc".
|
||||
< Options 'textwidth', 'formatoptions', etc. still apply. If
|
||||
you also want to avoid these, use "<C-R><C-O>r", see below.
|
||||
you also want to avoid these, use CTRL-R CTRL-O, see below.
|
||||
The '.' register (last inserted text) is still inserted as
|
||||
typed. {not in Vi}
|
||||
|
||||
@@ -375,6 +377,9 @@ CTRL-O execute one command, return to Insert mode *i_CTRL-O*
|
||||
CTRL-\ CTRL-O like CTRL-O but don't move the cursor *i_CTRL-\_CTRL-O*
|
||||
CTRL-L when 'insertmode' is set: go to Normal mode *i_CTRL-L*
|
||||
CTRL-G u break undo sequence, start new change *i_CTRL-G_u*
|
||||
CTRL-G U don't break undo with next left/right cursor *i_CTRL-G_U*
|
||||
movement (but only if the cursor stays
|
||||
within same the line)
|
||||
-----------------------------------------------------------------------
|
||||
|
||||
Note: If the cursor keys take you out of Insert mode, check the 'noesckeys'
|
||||
@@ -414,6 +419,28 @@ that, with CTRL-O u. Another example: >
|
||||
This breaks undo at each line break. It also expands abbreviations before
|
||||
this.
|
||||
|
||||
An example for using CTRL-G U: >
|
||||
|
||||
inoremap <Left> <C-G>U<Left>
|
||||
inoremap <Right> <C-G>U<Right>
|
||||
inoremap <expr> <Home> col('.') == match(getline('.'), '\S') + 1 ?
|
||||
\ repeat('<C-G>U<Left>', col('.') - 1) :
|
||||
\ (col('.') < match(getline('.'), '\S') ?
|
||||
\ repeat('<C-G>U<Right>', match(getline('.'), '\S') + 0) :
|
||||
\ repeat('<C-G>U<Left>', col('.') - 1 - match(getline('.'), '\S')))
|
||||
inoremap <expr> <End> repeat('<C-G>U<Right>', col('$') - col('.'))
|
||||
inoremap ( ()<C-G>U<Left>
|
||||
|
||||
This makes it possible to use the cursor keys in Insert mode, without breaking
|
||||
the undo sequence and therefore using |.| (redo) will work as expected.
|
||||
Also entering a text like (with the "(" mapping from above): >
|
||||
|
||||
Lorem ipsum (dolor
|
||||
|
||||
will be repeatable by the |.|to the expected
|
||||
|
||||
Lorem ipsum (dolor)
|
||||
|
||||
Using CTRL-O splits undo: the text typed before and after it is undone
|
||||
separately. If you want to avoid this (e.g., in a mapping) you might be able
|
||||
to use CTRL-R = |i_CTRL-R|. E.g., to call a function: >
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*motion.txt* For Vim version 7.4. Last change: 2014 Feb 11
|
||||
*motion.txt* For Vim version 7.4. Last change: 2015 Jun 06
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -172,6 +172,8 @@ CTRL-H or *CTRL-H* *<BS>*
|
||||
l or *l*
|
||||
<Right> or *<Right>* *<Space>*
|
||||
<Space> [count] characters to the right. |exclusive| motion.
|
||||
See the 'whichwrap' option for adjusting the behavior
|
||||
at end of line
|
||||
|
||||
*0*
|
||||
0 To the first character of the line. |exclusive|
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*netbeans.txt* For Vim version 7.4. Last change: 2012 Jan 26
|
||||
*netbeans.txt* For Vim version 7.4. Last change: 2015 Mar 14
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Gordon Prieur et al.
|
||||
@@ -306,7 +306,12 @@ bufID Buffer number. A message may be either for a specific buffer
|
||||
or generic. Generic messages use a bufID of zero. NOTE: this
|
||||
buffer ID is assigned by the IDE, it is not Vim's buffer
|
||||
number. The bufID must be a sequentially rising number,
|
||||
starting at one.
|
||||
starting at one. When the 'switchbuf' option is set to
|
||||
"usetab" and the "bufID" buffer is not found in the current
|
||||
tab page, the netbeans commands and functions that set this
|
||||
buffer as the current buffer will jump to the first open
|
||||
window that contains this buffer in other tab pages instead of
|
||||
replacing the buffer in the current window.
|
||||
|
||||
seqno The IDE uses a sequence number for Commands and Functions. A
|
||||
Reply must use the sequence number of the Function that it is
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*options.txt* For Vim version 7.4. Last change: 2014 Dec 17
|
||||
*options.txt* For Vim version 7.4. Last change: 2015 Sep 15
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -50,9 +50,19 @@ achieve special effects. These options come in three forms:
|
||||
:se[t] {option}&vi Reset option to its Vi default value. {not in Vi}
|
||||
:se[t] {option}&vim Reset option to its Vim default value. {not in Vi}
|
||||
|
||||
:se[t] all& Set all options, except terminal options, to their
|
||||
default value. The values of 'term', 'lines' and
|
||||
'columns' are not changed. {not in Vi}
|
||||
:se[t] all& Set all options to their default value. The values of
|
||||
these options are not changed:
|
||||
all terminal options, starting with t_
|
||||
'columns'
|
||||
'cryptmethod'
|
||||
'encoding'
|
||||
'key'
|
||||
'lines'
|
||||
'term'
|
||||
'ttymouse'
|
||||
'ttytype'
|
||||
Warning: This may have a lot of side effects.
|
||||
{not in Vi}
|
||||
|
||||
*:set-args* *E487* *E521*
|
||||
:se[t] {option}={value} or
|
||||
@@ -536,11 +546,11 @@ number can be specified where "vim:" or "Vim:" is used:
|
||||
vim<{vers}: version before {vers}
|
||||
vim={vers}: version {vers}
|
||||
vim>{vers}: version after {vers}
|
||||
{vers} is 600 for Vim 6.0 (hundred times the major version plus minor).
|
||||
For example, to use a modeline only for Vim 6.0 and later:
|
||||
/* vim600: set foldmethod=marker: */ ~
|
||||
To use a modeline for Vim before version 5.7:
|
||||
/* vim<570: set sw=4: */ ~
|
||||
{vers} is 700 for Vim 7.0 (hundred times the major version plus minor).
|
||||
For example, to use a modeline only for Vim 7.0:
|
||||
/* vim700: set foldmethod=marker */ ~
|
||||
To use a modeline for Vim after version 7.2:
|
||||
/* vim>702: set cole=2: */ ~
|
||||
There can be no blanks between "vim" and the ":".
|
||||
|
||||
|
||||
@@ -786,7 +796,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
line.
|
||||
When 'smartindent' or 'cindent' is on the indent is changed in
|
||||
a different way.
|
||||
The 'autoindent' option is reset when the 'paste' option is set.
|
||||
The 'autoindent' option is reset when the 'paste' option is set and
|
||||
restored when 'paste' is reset.
|
||||
{small difference from Vi: After the indent is deleted when typing
|
||||
<Esc> or <CR>, the cursor position when moving up or down is after the
|
||||
deleted indent; Vi puts the cursor somewhere in the deleted indent}.
|
||||
@@ -1124,6 +1135,47 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
expression evaluates to a |List| this is equal to using each List item
|
||||
as a string and putting "\n" in between them.
|
||||
|
||||
*'belloff'* *'bo'*
|
||||
'belloff' 'bo' string (default "")
|
||||
global
|
||||
{not in Vi}
|
||||
Specifies for which events the bell will not be rung. It is a comma
|
||||
separated list of items. For each item that is present, the bell
|
||||
will be silenced. This is most useful to specify specific events in
|
||||
insert mode to be silenced.
|
||||
|
||||
item meaning when present ~
|
||||
all All events.
|
||||
backspace When hitting <BS> or <Del> and deleting results in an
|
||||
error.
|
||||
cursor Fail to move around using the cursor keys or
|
||||
<PageUp>/<PageDown> in |Insert-mode|.
|
||||
complete Error occurred when using |i_CTRL-X_CTRL-K| or
|
||||
|i_CTRL-X_CTRL-T|.
|
||||
copy Cannot copy char from insert mode using |i_CTRL-Y| or
|
||||
|i_CTRL-E|.
|
||||
ctrlg Unknown Char after <C-G> in Insert mode.
|
||||
error Other Error occurred (e.g. try to join last line)
|
||||
(mostly used in |Normal-mode| or |Cmdline-mode|).
|
||||
esc hitting <Esc> in |Normal-mode|.
|
||||
ex In |Visual-mode|, hitting |Q| results in an error.
|
||||
hangul Error occurred when using hangul input.
|
||||
insertmode Pressing <Esc> in 'insertmode'.
|
||||
lang Calling the beep module for Lua/Mzscheme/TCL.
|
||||
mess No output available for |g<|.
|
||||
showmatch Error occurred for 'showmatch' function.
|
||||
operator Empty region error |cpo-E|.
|
||||
register Unknown register after <C-R> in |Insert-mode|.
|
||||
shell Bell from shell output |:!|.
|
||||
spell Error happened on spell suggest.
|
||||
wildmode More matches in |cmdline-completion| available
|
||||
(depends on the 'wildmode' setting).
|
||||
|
||||
This is most useful, to fine tune when in insert mode the bell should
|
||||
be rung. For normal mode and ex commands, the bell is often rung to
|
||||
indicate that an error occurred. It can be silenced by adding the
|
||||
"error" keyword.
|
||||
|
||||
*'binary'* *'bin'* *'nobinary'* *'nobin'*
|
||||
'binary' 'bin' boolean (default off)
|
||||
local to buffer
|
||||
@@ -1316,6 +1368,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
nofile only: The buffer name is fixed, it is not handled like a
|
||||
file name. It is not modified in response to a |:cd|
|
||||
command.
|
||||
both: When using ":e bufname" and already editing "bufname"
|
||||
the buffer is made empty and autocommands are
|
||||
triggered as usual for |:edit|.
|
||||
*E676*
|
||||
"acwrite" implies that the buffer name is not related to a file, like
|
||||
"nofile", but it will be written. Thus, in contrast to "nofile" and
|
||||
@@ -1816,6 +1871,14 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
completion in the preview window. Only works in
|
||||
combination with "menu" or "menuone".
|
||||
|
||||
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.
|
||||
|
||||
noselect Do not select a match in the menu, force the user to
|
||||
select one from the menu. Only works in combination with
|
||||
"menu" or "menuone".
|
||||
|
||||
|
||||
*'concealcursor'* *'cocu'*
|
||||
'concealcursor' 'cocu' string (default: "")
|
||||
@@ -2660,15 +2723,16 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
local to buffer
|
||||
{not in Vi}
|
||||
When writing a file and this option is off and the 'binary' option
|
||||
is on, no <EOL> will be written for the last line in the file. This
|
||||
option is automatically set when starting to edit a new file, unless
|
||||
the file does not have an <EOL> for the last line in the file, in
|
||||
which case it is reset. Normally you don't have to set or reset this
|
||||
option. When 'binary' is off the value is not used when writing the
|
||||
file. When 'binary' is on it is used to remember the presence of a
|
||||
<EOL> for the last line in the file, so that when you write the file
|
||||
the situation from the original file can be kept. But you can change
|
||||
it if you want to.
|
||||
is on, or 'fixeol' option is off, no <EOL> will be written for the
|
||||
last line in the file. This option is automatically set or reset when
|
||||
starting to edit a new file, depending on whether file has an <EOL>
|
||||
for the last line in the file. Normally you don't have to set or
|
||||
reset this option.
|
||||
When 'binary' is off and 'fixeol' is on the value is not used when
|
||||
writing the file. When 'binary' is on or 'fixeol' is off it is used
|
||||
to remember the presence of a <EOL> for the last line in the file, so
|
||||
that when you write the file the situation from the original file can
|
||||
be kept. But you can change it if you want to.
|
||||
|
||||
*'equalalways'* *'ea'* *'noequalalways'* *'noea'*
|
||||
'equalalways' 'ea' boolean (default on)
|
||||
@@ -2709,7 +2773,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
makes a difference for error messages, the bell will be used always
|
||||
for a lot of errors without a message (e.g., hitting <Esc> in Normal
|
||||
mode). See 'visualbell' on how to make the bell behave like a beep,
|
||||
screen flash or do nothing.
|
||||
screen flash or do nothing. See 'belloff' to finetune when to ring the
|
||||
bell.
|
||||
|
||||
*'errorfile'* *'ef'*
|
||||
'errorfile' 'ef' string (Amiga default: "AztecC.Err",
|
||||
@@ -2771,6 +2836,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
<Tab>. Spaces are used in indents with the '>' and '<' commands and
|
||||
when 'autoindent' is on. To insert a real tab when 'expandtab' is
|
||||
on, use CTRL-V<Tab>. See also |:retab| and |ins-expandtab|.
|
||||
This option is reset when the 'paste' option is set and restored when
|
||||
the 'paste' option is reset.
|
||||
NOTE: This option is reset when 'compatible' is set.
|
||||
|
||||
*'exrc'* *'ex'* *'noexrc'* *'noex'*
|
||||
@@ -2948,8 +3015,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
2. If a <NL> is found and 'fileformats' includes "unix", 'fileformat'
|
||||
is set to "unix". Note that when a <NL> is found without a
|
||||
preceding <CR>, "unix" is preferred over "dos".
|
||||
3. If 'fileformat' has not yet been set, and if 'fileformats'
|
||||
includes "mac", 'fileformat' is set to "mac".
|
||||
3. If 'fileformat' has not yet been set, and if a <CR> is found, and
|
||||
if 'fileformats' includes "mac", 'fileformat' is set to "mac".
|
||||
This means that "mac" is only chosen when:
|
||||
"unix" is not present or no <NL> is found in the file, and
|
||||
"dos" is not present or no <CR><NL> is found in the file.
|
||||
@@ -3053,6 +3120,17 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
fold:c Folded |hl-Folded|
|
||||
diff:c DiffDelete |hl-DiffDelete|
|
||||
|
||||
*'fixendofline'* *'fixeol'* *'nofixendofline'* *'nofixeol'*
|
||||
'fixendofline' 'fixeol' boolean (default on)
|
||||
local to buffer
|
||||
{not in Vi}
|
||||
When writing a file and this option is on, <EOL> at the end of file
|
||||
will be restored if missing. Turn this option off if you want to
|
||||
preserve the situation from the original file.
|
||||
When the 'binary' option is set the value of this option doesn't
|
||||
matter.
|
||||
See the 'endofline' option.
|
||||
|
||||
*'fkmap'* *'fk'* *'nofkmap'* *'nofk'*
|
||||
'fkmap' 'fk' boolean (default off) *E198*
|
||||
global
|
||||
@@ -3417,7 +3495,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
the height of the cursor can be changed. This can be done by
|
||||
specifying a block cursor, or a percentage for a vertical or
|
||||
horizontal cursor.
|
||||
For a console the 't_SI' and 't_EI' escape sequences are used.
|
||||
For a console the 't_SI', 't_SR', and 't_EI' escape sequences are
|
||||
used.
|
||||
|
||||
The option is a comma separated list of parts. Each part consist of a
|
||||
mode-list and an argument-list:
|
||||
@@ -4713,33 +4792,38 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
{not in Vi}
|
||||
Strings to use in 'list' mode and for the |:list| command. It is a
|
||||
comma separated list of string settings.
|
||||
*lcs-eol*
|
||||
*lcs-eol*
|
||||
eol:c Character to show at the end of each line. When
|
||||
omitted, there is no extra character at the end of the
|
||||
line.
|
||||
*lcs-tab*
|
||||
*lcs-tab*
|
||||
tab:xy Two characters to be used to show a tab. The first
|
||||
char is used once. The second char is repeated to
|
||||
fill the space that the tab normally occupies.
|
||||
"tab:>-" will show a tab that takes four spaces as
|
||||
">---". When omitted, a tab is show as ^I.
|
||||
*lcs-trail*
|
||||
*lcs-space*
|
||||
space:c Character to show for a space. When omitted, spaces
|
||||
are left blank.
|
||||
*lcs-trail*
|
||||
trail:c Character to show for trailing spaces. When omitted,
|
||||
trailing spaces are blank.
|
||||
*lcs-extends*
|
||||
trailing spaces are blank. Overrides the "space"
|
||||
setting for trailing spaces.
|
||||
*lcs-extends*
|
||||
extends:c Character to show in the last column, when 'wrap' is
|
||||
off and the line continues beyond the right of the
|
||||
screen.
|
||||
*lcs-precedes*
|
||||
*lcs-precedes*
|
||||
precedes:c Character to show in the first column, when 'wrap'
|
||||
is off and there is text preceding the character
|
||||
visible in the first column.
|
||||
*lcs-conceal*
|
||||
*lcs-conceal*
|
||||
conceal:c Character to show in place of concealed text, when
|
||||
'conceallevel' is set to 1.
|
||||
*lcs-nbsp*
|
||||
nbsp:c Character to show for a non-breakable space (character
|
||||
0xA0, 160). Left blank when omitted.
|
||||
*lcs-nbsp*
|
||||
nbsp:c Character to show for a non-breakable space character
|
||||
(0xA0 (160 decimal) and U+202F). Left blank when
|
||||
omitted.
|
||||
|
||||
The characters ':' and ',' should not be used. UTF-8 characters can
|
||||
be used when 'encoding' is "utf-8", otherwise only printable
|
||||
@@ -4750,7 +4834,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
:set lcs=tab:>-,eol:<,nbsp:%
|
||||
:set lcs=extends:>,precedes:<
|
||||
< The "NonText" highlighting will be used for "eol", "extends" and
|
||||
"precedes". "SpecialKey" for "nbsp", "tab" and "trail".
|
||||
"precedes". "SpecialKey" for "nbsp", "space", "tab" and "trail".
|
||||
|hl-NonText| |hl-SpecialKey|
|
||||
|
||||
*'lpl'* *'nolpl'* *'loadplugins'* *'noloadplugins'*
|
||||
@@ -5331,19 +5415,21 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
When the 'paste' option is switched on (also when it was already on):
|
||||
- mapping in Insert mode and Command-line mode is disabled
|
||||
- abbreviations are disabled
|
||||
- 'textwidth' is set to 0
|
||||
- 'wrapmargin' is set to 0
|
||||
- 'autoindent' is reset
|
||||
- 'smartindent' is reset
|
||||
- 'softtabstop' is set to 0
|
||||
- 'expandtab' is reset
|
||||
- 'formatoptions' is used like it is empty
|
||||
- 'revins' is reset
|
||||
- 'ruler' is reset
|
||||
- 'showmatch' is reset
|
||||
- 'formatoptions' is used like it is empty
|
||||
- 'smartindent' is reset
|
||||
- 'smarttab' is reset
|
||||
- 'softtabstop' is set to 0
|
||||
- 'textwidth' is set to 0
|
||||
- 'wrapmargin' is set to 0
|
||||
These options keep their value, but their effect is disabled:
|
||||
- 'lisp'
|
||||
- 'indentexpr'
|
||||
- 'cindent'
|
||||
- 'indentexpr'
|
||||
- 'lisp'
|
||||
NOTE: When you start editing another file while the 'paste' option is
|
||||
on, settings from the modelines or autocommands may change the
|
||||
settings again, causing trouble when pasting text. You might want to
|
||||
@@ -5776,7 +5862,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
Inserting characters in Insert mode will work backwards. See "typing
|
||||
backwards" |ins-reverse|. This option can be toggled with the CTRL-_
|
||||
command in Insert mode, when 'allowrevins' is set.
|
||||
NOTE: This option is reset when 'compatible' or 'paste' is set.
|
||||
NOTE: This option is reset when 'compatible' is set.
|
||||
This option is reset when 'paste' is set and restored when 'paste' is
|
||||
reset.
|
||||
|
||||
*'rightleft'* *'rl'* *'norightleft'* *'norl'*
|
||||
'rightleft' 'rl' boolean (default off)
|
||||
@@ -5832,7 +5920,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
separated with a dash.
|
||||
For an empty line "0-1" is shown.
|
||||
For an empty buffer the line number will also be zero: "0,0-1".
|
||||
This option is reset when the 'paste' option is set.
|
||||
This option is reset when 'paste' is set and restored when 'paste' is
|
||||
reset.
|
||||
If you don't want to see the ruler all the time but want to know where
|
||||
you are, use "g CTRL-G" |g_CTRL-G|.
|
||||
NOTE: This option is reset when 'compatible' is set.
|
||||
@@ -6471,7 +6560,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
jump is only done if the match can be seen on the screen. The time to
|
||||
show the match can be set with 'matchtime'.
|
||||
A Beep is given if there is no match (no matter if the match can be
|
||||
seen or not). This option is reset when the 'paste' option is set.
|
||||
seen or not).
|
||||
This option is reset when 'paste' is set and restored when 'paste' is
|
||||
reset.
|
||||
When the 'm' flag is not included in 'cpoptions', typing a character
|
||||
will immediately move the cursor back to where it belongs.
|
||||
See the "sm" field in 'guicursor' for setting the cursor shape and
|
||||
@@ -6580,8 +6671,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
mapping: ":inoremap # X^H#", where ^H is entered with CTRL-V CTRL-H.
|
||||
When using the ">>" command, lines starting with '#' are not shifted
|
||||
right.
|
||||
NOTE: 'smartindent' is reset when 'compatible' is set. When 'paste'
|
||||
is set smart indenting is disabled.
|
||||
NOTE: 'smartindent' is reset when 'compatible' is set.
|
||||
This option is reset when 'paste' is set and restored when 'paste' is
|
||||
reset.
|
||||
|
||||
*'smarttab'* *'sta'* *'nosmarttab'* *'nosta'*
|
||||
'smarttab' 'sta' boolean (default off)
|
||||
@@ -6597,6 +6689,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
What gets inserted (a <Tab> or spaces) depends on the 'expandtab'
|
||||
option. Also see |ins-expandtab|. When 'expandtab' is not set, the
|
||||
number of spaces is minimized by using <Tab>s.
|
||||
This option is reset when 'paste' is set and restored when 'paste' is
|
||||
reset.
|
||||
NOTE: This option is reset when 'compatible' is set.
|
||||
|
||||
*'softtabstop'* *'sts'*
|
||||
@@ -6611,7 +6705,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
commands like "x" still work on the actual characters.
|
||||
When 'sts' is zero, this feature is off.
|
||||
When 'sts' is negative, the value of 'shiftwidth' is used.
|
||||
'softtabstop' is set to 0 when the 'paste' option is set.
|
||||
'softtabstop' is set to 0 when the 'paste' option is set and restored
|
||||
when 'paste' is reset.
|
||||
See also |ins-expandtab|. When 'expandtab' is not set, the number of
|
||||
spaces is minimized by using <Tab>s.
|
||||
The 'L' flag in 'cpoptions' changes how tabs are used when 'list' is
|
||||
@@ -7058,6 +7153,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
split If included, split the current window before loading
|
||||
a buffer for a |quickfix| command that display errors.
|
||||
Otherwise: do not split, use current window.
|
||||
vsplit Just like "split" but split vertically.
|
||||
newtab Like "split", but open a new tab page. Overrules
|
||||
"split" when both are present.
|
||||
|
||||
@@ -7314,14 +7410,12 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
the GUI it only applies to the keyboard ( 'encoding' is used for the
|
||||
display). Except for the Mac when 'macatsui' is off, then
|
||||
'termencoding' should be "macroman".
|
||||
In the Win32 console version the default value is the console codepage
|
||||
when it differs from the ANSI codepage.
|
||||
*E617*
|
||||
Note: This does not apply to the GTK+ 2 GUI. After the GUI has been
|
||||
successfully initialized, 'termencoding' is forcibly set to "utf-8".
|
||||
Any attempts to set a different value will be rejected, and an error
|
||||
message is shown.
|
||||
For the Win32 GUI 'termencoding' is not used for typed characters,
|
||||
For the Win32 GUI and console versions 'termencoding' is not used,
|
||||
because the Win32 system always passes Unicode characters.
|
||||
When empty, the same encoding is used as for the 'encoding' option.
|
||||
This is the normal value.
|
||||
@@ -7371,8 +7465,10 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
{not in Vi}
|
||||
Maximum width of text that is being inserted. A longer line will be
|
||||
broken after white space to get this width. A zero value disables
|
||||
this. 'textwidth' is set to 0 when the 'paste' option is set. When
|
||||
'textwidth' is zero, 'wrapmargin' may be used. See also
|
||||
this.
|
||||
'textwidth' is set to 0 when the 'paste' option is set and restored
|
||||
when 'paste' is reset.
|
||||
When 'textwidth' is zero, 'wrapmargin' may be used. See also
|
||||
'formatoptions' and |ins-textwidth|.
|
||||
When 'formatexpr' is set it will be used to break the line.
|
||||
NOTE: This option is set to 0 when 'compatible' is set.
|
||||
@@ -8394,6 +8490,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
Options that add a margin, such as 'number' and 'foldcolumn', cause
|
||||
the text width to be further reduced. This is Vi compatible.
|
||||
When 'textwidth' is non-zero, this option is not used.
|
||||
This option is set to 0 when 'paste' is set and restored when 'paste'
|
||||
is reset.
|
||||
See also 'formatoptions' and |ins-textwidth|. {Vi: works differently
|
||||
and less usefully}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*pattern.txt* For Vim version 7.4. Last change: 2014 Sep 06
|
||||
*pattern.txt* For Vim version 7.4. Last change: 2015 Mar 16
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -59,6 +59,8 @@ explanations are in chapter 27 |usr_27.txt|.
|
||||
|
||||
*n*
|
||||
n Repeat the latest "/" or "?" [count] times.
|
||||
If the cursor doesn't move the search is repeated with
|
||||
count + 1.
|
||||
|last-pattern| {Vi: no count}
|
||||
|
||||
*N*
|
||||
@@ -1058,7 +1060,10 @@ x A single character, with no special meaning, matches itself
|
||||
*E769*
|
||||
When the ']' is not there Vim will not give an error message but
|
||||
assume no collection is used. Useful to search for '['. However, you
|
||||
do get E769 for internal searching.
|
||||
do get E769 for internal searching. And be aware that in a
|
||||
`:substitute` command the whole command becomes the pattern. E.g.
|
||||
":s/[/x/" searches for "[/x" and replaces it with nothing. It does
|
||||
not search for "[" and replaces it with "x"!
|
||||
|
||||
If the sequence begins with "^", it matches any single character NOT
|
||||
in the collection: "[^xyz]" matches anything but 'x', 'y' and 'z'.
|
||||
|
||||
117
runtime/doc/pi_logipat.txt
Normal file
117
runtime/doc/pi_logipat.txt
Normal file
@@ -0,0 +1,117 @@
|
||||
*pi_logipat.txt* Logical Patterns Mar 13, 2013
|
||||
|
||||
Author: Charles E. Campbell <NdrOchip@ScampbellPfamily.AbizM>
|
||||
Copyright: (c) 2004-2013 by Charles E. Campbell *logipat-copyright*
|
||||
The VIM LICENSE applies to LogiPat.vim and LogiPat.txt
|
||||
(see |copyright|) except use "LogiPat" instead of "Vim"
|
||||
No warranty, express or implied. Use At-Your-Own-Risk.
|
||||
|
||||
==============================================================================
|
||||
1. Contents *logipat* *logipat-contents*
|
||||
|
||||
1. Contents.................: |logipat-contents|
|
||||
2. LogiPat Manual...........: |logipat-manual|
|
||||
3. LogiPat Examples.........: |logipat-examples|
|
||||
4. Caveat...................: |logipat-caveat|
|
||||
5. LogiPat History..........: |logipat-history|
|
||||
|
||||
==============================================================================
|
||||
2. LogiPat Manual *logipat-manual* *logipat-man*
|
||||
|
||||
|
||||
*logipat-arg* *logipat-input* *logipat-pattern* *logipat-operators*
|
||||
Boolean logic patterns are composed of
|
||||
|
||||
operators ! = not
|
||||
| = logical-or
|
||||
& = logical-and
|
||||
grouping ( ... )
|
||||
patterns "pattern"
|
||||
|
||||
:LogiPat {boolean-logic pattern} *:LogiPat*
|
||||
:LogiPat is a command which takes a boolean-logic
|
||||
argument (|logipat-arg|).
|
||||
|
||||
:LP {boolean-logic pattern} *:LP*
|
||||
:LP is a shorthand command version of :LogiPat
|
||||
(|:LogiPat|).
|
||||
|
||||
:ELP {boolean-logic pattern} *:ELP*
|
||||
No search is done, but the conversion from the
|
||||
boolean logic pattern to the regular expression
|
||||
is performed and echoed onto the display.
|
||||
|
||||
:LogiPatFlags {search flags} *LogiPat-flags*
|
||||
:LogiPatFlags {search flags}
|
||||
LogiPat uses the |search()| command. The flags
|
||||
passed to that call to search() may be specified
|
||||
by the :LogiPatFlags command.
|
||||
|
||||
:LPF {search flags} *:LPF*
|
||||
:LPF is a shorthand version of :LogiPatFlags.
|
||||
|
||||
:let pat=LogiPat({boolean-logic pattern}) *LogiPat()*
|
||||
If one calls LogiPat() directly, no search
|
||||
is done, but the transformation from the boolean
|
||||
logic pattern into a regular expression pattern
|
||||
is performed and returned.
|
||||
|
||||
To get a " inside a pattern, as opposed to having it delimit
|
||||
the pattern, double it.
|
||||
|
||||
==============================================================================
|
||||
3. LogiPat Examples *logipat-examples*
|
||||
|
||||
LogiPat takes Boolean logic arguments and produces a regular
|
||||
expression which implements the choices. A series of examples
|
||||
follows:
|
||||
>
|
||||
:LogiPat "abc"
|
||||
< will search for lines containing the string :abc:
|
||||
>
|
||||
:LogiPat "ab""cd"
|
||||
< will search for lines containing the string :ab"c:
|
||||
>
|
||||
:LogiPat !"abc"
|
||||
< will search for lines which don't contain the string :abc:
|
||||
>
|
||||
:LogiPat "abc"|"def"
|
||||
< will search for lines which contain either the string
|
||||
:abc: or the string :def:
|
||||
>
|
||||
:LogiPat !("abc"|"def")
|
||||
< will search for lines which don't contain either
|
||||
of the strings :abc: or :def:
|
||||
>
|
||||
:LogiPat "abc"&"def"
|
||||
< will search for lines which contain both of the strings
|
||||
:abc: and :def:
|
||||
>
|
||||
:let pat= LogiPat('!"abc"')
|
||||
< will return the regular expression which will match
|
||||
all lines not containing :abc: . The double quotes
|
||||
are needed to pass normal patterns to LogiPat, and
|
||||
differentiate such patterns from boolean logic
|
||||
operators.
|
||||
|
||||
|
||||
==============================================================================
|
||||
4. Caveat *logipat-caveat*
|
||||
|
||||
The "not" operator may be fragile; ie. it may not always play well
|
||||
with the & (logical-and) and | (logical-or) operators. Please try out
|
||||
your patterns, possibly with :set hls, to insure that what is matching
|
||||
is what you want.
|
||||
|
||||
==============================================================================
|
||||
3. LogiPat History *logipat-history*
|
||||
|
||||
v3 Sep 25, 2006 * LP_Or() fixed; it now encapsulates its output
|
||||
in \%(...\) parentheses
|
||||
Dec 12, 2011 * |:ELP| added
|
||||
* "" is mapped to a single " and left inside patterns
|
||||
v2 May 31, 2005 * LPF and LogiPatFlags commands weren't working
|
||||
v1 May 23, 2005 * initial release
|
||||
|
||||
==============================================================================
|
||||
vim:tw=78:ts=8:ft=help
|
||||
@@ -1,4 +1,4 @@
|
||||
*quickfix.txt* For Vim version 7.4. Last change: 2014 Mar 27
|
||||
*quickfix.txt* For Vim version 7.4. Last change: 2015 Sep 08
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -299,6 +299,75 @@ use this code: >
|
||||
au QuickfixCmdPost make call QfMakeConv()
|
||||
|
||||
|
||||
EXECUTE A COMMAND IN ALL THE BUFFERS IN QUICKFIX OR LOCATION LIST:
|
||||
*:cdo*
|
||||
:cdo[!] {cmd} Execute {cmd} in each valid entry in the quickfix list.
|
||||
It works like doing this: >
|
||||
:cfirst
|
||||
:{cmd}
|
||||
:cnext
|
||||
:{cmd}
|
||||
etc.
|
||||
< When the current file can't be |abandon|ed and the [!]
|
||||
is not present, the command fails.
|
||||
When an error is detected excecution stops.
|
||||
The last buffer (or where an error occurred) becomes
|
||||
the current buffer.
|
||||
{cmd} can contain '|' to concatenate several commands.
|
||||
|
||||
Only valid entries in the quickfix list are used.
|
||||
A range can be used to select entries, e.g.: >
|
||||
:10,$cdo cmd
|
||||
< To skip entries 1 to 9.
|
||||
|
||||
Note: While this command is executing, the Syntax
|
||||
autocommand event is disabled by adding it to
|
||||
'eventignore'. This considerably speeds up editing
|
||||
each buffer.
|
||||
{not in Vi} {not available when compiled without the
|
||||
|+listcmds| feature}
|
||||
Also see |:bufdo|, |:tabdo|, |:argdo|, |:windo|,
|
||||
|:ldo|, |:cfdo| and |:lfdo|.
|
||||
|
||||
*:cfdo*
|
||||
:cfdo[!] {cmd} Execute {cmd} in each file in the quickfix list.
|
||||
It works like doing this: >
|
||||
:cfirst
|
||||
:{cmd}
|
||||
:cnfile
|
||||
:{cmd}
|
||||
etc.
|
||||
< Otherwise it works the same as `:cdo`.
|
||||
{not in Vi} {not available when compiled without the
|
||||
|+listcmds| feature}
|
||||
|
||||
*:ldo*
|
||||
:ld[o][!] {cmd} Execute {cmd} in each valid entry in the location list
|
||||
for the current window.
|
||||
It works like doing this: >
|
||||
:lfirst
|
||||
:{cmd}
|
||||
:lnext
|
||||
:{cmd}
|
||||
etc.
|
||||
< Only valid entries in the location list are used.
|
||||
Otherwise it works the same as `:cdo`.
|
||||
{not in Vi} {not available when compiled without the
|
||||
|+listcmds| feature}
|
||||
|
||||
*:lfdo*
|
||||
:lfdo[!] {cmd} Execute {cmd} in each file in the location list for
|
||||
the current window.
|
||||
It works like doing this: >
|
||||
:lfirst
|
||||
:{cmd}
|
||||
:lnfile
|
||||
:{cmd}
|
||||
etc.
|
||||
< Otherwise it works the same as `:ldo`.
|
||||
{not in Vi} {not available when compiled without the
|
||||
|+listcmds| feature}
|
||||
|
||||
=============================================================================
|
||||
2. The error window *quickfix-window*
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*quickref.txt* For Vim version 7.4. Last change: 2014 Nov 19
|
||||
*quickref.txt* For Vim version 7.4. Last change: 2015 Jul 21
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -620,6 +620,7 @@ Short explanation of each option: *option-list*
|
||||
'balloondelay' 'bdlay' delay in mS before a balloon may pop up
|
||||
'ballooneval' 'beval' switch on balloon evaluation
|
||||
'balloonexpr' 'bexpr' expression to show in balloon
|
||||
'belloff' 'bo' do not ring the bell for these reasons
|
||||
'binary' 'bin' read/write/edit file in binary mode
|
||||
'bioskey' 'biosk' MS-DOS: use bios calls for input characters
|
||||
'bomb' prepend a Byte Order Mark to the file
|
||||
@@ -696,6 +697,7 @@ Short explanation of each option: *option-list*
|
||||
'fileignorecase' 'fic' ignore case when using file names
|
||||
'filetype' 'ft' type of file, used for autocommands
|
||||
'fillchars' 'fcs' characters to use for displaying special items
|
||||
'fixendofline' 'fixeol' make sure last line in file has <EOL>
|
||||
'fkmap' 'fk' Farsi keyboard mapping
|
||||
'foldclose' 'fcl' close a fold when the cursor leaves it
|
||||
'foldcolumn' 'fdc' width of the column used to indicate folds
|
||||
@@ -710,10 +712,10 @@ Short explanation of each option: *option-list*
|
||||
'foldnestmax' 'fdn' maximum fold depth
|
||||
'foldopen' 'fdo' for which commands a fold will be opened
|
||||
'foldtext' 'fdt' expression used to display for a closed fold
|
||||
'formatexpr' 'fex' expression used with "gq" command
|
||||
'formatlistpat' 'flp' pattern used to recognize a list header
|
||||
'formatoptions' 'fo' how automatic formatting is to be done
|
||||
'formatprg' 'fp' name of external program used with "gq" command
|
||||
'formatexpr' 'fex' expression used with "gq" command
|
||||
'fsync' 'fs' whether to invoke fsync() after file write
|
||||
'gdefault' 'gd' the ":substitute" flag 'g' is default on
|
||||
'grepformat' 'gfm' format of 'grepprg' output
|
||||
@@ -732,15 +734,15 @@ Short explanation of each option: *option-list*
|
||||
'helplang' 'hlg' preferred help languages
|
||||
'hidden' 'hid' don't unload buffer when it is |abandon|ed
|
||||
'highlight' 'hl' sets highlighting mode for various occasions
|
||||
'hlsearch' 'hls' highlight matches with last search pattern
|
||||
'history' 'hi' number of command-lines that are remembered
|
||||
'hkmap' 'hk' Hebrew keyboard mapping
|
||||
'hkmapp' 'hkp' phonetic Hebrew keyboard mapping
|
||||
'hlsearch' 'hls' highlight matches with last search pattern
|
||||
'icon' let Vim set the text of the window icon
|
||||
'iconstring' string to use for the Vim icon text
|
||||
'ignorecase' 'ic' ignore case in search patterns
|
||||
'imactivatekey' 'imak' key that activates the X input method
|
||||
'imactivatefunc' 'imaf' function to enable/disable the X input method
|
||||
'imactivatekey' 'imak' key that activates the X input method
|
||||
'imcmdline' 'imc' use IM when starting to edit a command line
|
||||
'imdisable' 'imd' do not use the IM in any mode
|
||||
'iminsert' 'imi' use :lmap or IM in Insert mode
|
||||
@@ -893,9 +895,9 @@ Short explanation of each option: *option-list*
|
||||
'switchbuf' 'swb' sets behavior when switching to another buffer
|
||||
'synmaxcol' 'smc' maximum column to find syntax items
|
||||
'syntax' 'syn' syntax to be loaded for current buffer
|
||||
'tabstop' 'ts' number of spaces that <Tab> in file uses
|
||||
'tabline' 'tal' custom format for the console tab pages line
|
||||
'tabpagemax' 'tpm' maximum number of tab pages for |-p| and "tab all"
|
||||
'tabstop' 'ts' number of spaces that <Tab> in file uses
|
||||
'tagbsearch' 'tbs' use binary searching in tags files
|
||||
'taglength' 'tl' number of significant characters for a tag
|
||||
'tagrelative' 'tr' file names in tag file are relative
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*remote.txt* For Vim version 7.4. Last change: 2008 May 24
|
||||
*remote.txt* For Vim version 7.4. Last change: 2015 Mar 01
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -36,7 +36,8 @@ The following command line arguments are available:
|
||||
The remote Vim is raised. If you don't want
|
||||
this use >
|
||||
vim --remote-send "<C-\><C-N>:n filename<CR>"
|
||||
< --remote-silent [+{cmd}] {file} ... *--remote-silent*
|
||||
<
|
||||
--remote-silent [+{cmd}] {file} ... *--remote-silent*
|
||||
As above, but don't complain if there is no
|
||||
server and the file is edited locally.
|
||||
--remote-wait [+{cmd}] {file} ... *--remote-wait*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*repeat.txt* For Vim version 7.4. Last change: 2015 Jan 07
|
||||
*repeat.txt* For Vim version 7.4. Last change: 2015 Apr 13
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -600,6 +600,7 @@ For example, to profile the one_script.vim script file: >
|
||||
|
||||
:prof[ile] start {fname} *:prof* *:profile* *E750*
|
||||
Start profiling, write the output in {fname} upon exit.
|
||||
"~/" and environment variables in {fname} will be expanded.
|
||||
If {fname} already exists it will be silently overwritten.
|
||||
The variable |v:profiling| is set to one.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*syntax.txt* For Vim version 7.4. Last change: 2015 Jan 07
|
||||
*syntax.txt* For Vim version 7.4. Last change: 2015 Aug 13
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -211,7 +211,8 @@ thing. These are then linked to a highlight group that specifies the color.
|
||||
A syntax group name doesn't specify any color or attributes itself.
|
||||
|
||||
The name for a highlight or syntax group must consist of ASCII letters, digits
|
||||
and the underscore. As a regexp: "[a-zA-Z0-9_]*"
|
||||
and the underscore. As a regexp: "[a-zA-Z0-9_]*". However, Vim does not give
|
||||
an error when using other characters.
|
||||
|
||||
To be able to allow each user to pick his favorite set of colors, there must
|
||||
be preferred names for highlight groups that are common for many languages.
|
||||
@@ -1135,6 +1136,8 @@ there are very long lines in the file. To disable translations: >
|
||||
|
||||
:let diff_translations = 0
|
||||
|
||||
Also see |diff-slow|.
|
||||
|
||||
|
||||
DIRCOLORS *dircolors.vim* *ft-dircolors-syntax*
|
||||
|
||||
@@ -3319,6 +3322,32 @@ must not click outside of the pixel strings, but feel free to improve it.
|
||||
It will look much better with a font in a quadratic cell size, e.g. for X: >
|
||||
:set guifont=-*-clean-medium-r-*-*-8-*-*-*-*-80-*
|
||||
|
||||
|
||||
YAML *yaml.vim* *ft-yaml-syntax*
|
||||
|
||||
*g:yaml_schema* *b:yaml_schema*
|
||||
A YAML schema is a combination of a set of tags and a mechanism for resolving
|
||||
non-specific tags. For user this means that YAML parser may, depending on
|
||||
plain scalar contents, treat plain scalar (which can actually be only string
|
||||
and nothing else) as a value of the other type: null, boolean, floating-point,
|
||||
integer. `g:yaml_schema` option determines according to which schema values
|
||||
will be highlighted specially. Supported schemas are
|
||||
|
||||
Schema Description ~
|
||||
failsafe No additional highlighting.
|
||||
json Supports JSON-style numbers, booleans and null.
|
||||
core Supports more number, boolean and null styles.
|
||||
pyyaml In addition to core schema supports highlighting timestamps,
|
||||
but there are some differences in what is recognized as
|
||||
numbers and many additional boolean values not present in core
|
||||
schema.
|
||||
|
||||
Default schema is `core`.
|
||||
|
||||
Note that schemas are not actually limited to plain scalars, but this is the
|
||||
only difference between schemas defined in YAML specification and the only
|
||||
difference defined in the syntax file.
|
||||
|
||||
==============================================================================
|
||||
5. Defining a syntax *:syn-define* *E410*
|
||||
|
||||
@@ -3416,7 +3445,7 @@ DEFINING KEYWORDS *:syn-keyword*
|
||||
:syntax keyword Type contained int long char
|
||||
:syntax keyword Type int long contained char
|
||||
:syntax keyword Type int long char contained
|
||||
< *E789*
|
||||
< *E789* *E890*
|
||||
When you have a keyword with an optional tail, like Ex commands in
|
||||
Vim, you can put the optional characters inside [], to define all the
|
||||
variations at once: >
|
||||
@@ -3670,6 +3699,7 @@ Whether or not it is actually concealed depends on the value of the
|
||||
'conceallevel' option. The 'concealcursor' option is used to decide whether
|
||||
concealable items in the current line are displayed unconcealed to be able to
|
||||
edit the line.
|
||||
Another way to conceal text with with |matchadd()|.
|
||||
|
||||
concealends *:syn-concealends*
|
||||
|
||||
@@ -4251,7 +4281,7 @@ If the "maxlines={N}" argument is given, the number of lines that are searched
|
||||
for a comment or syncing pattern is restricted to N lines backwards (after
|
||||
adding "minlines"). This is useful if you have few things to sync on and a
|
||||
slow machine. Example: >
|
||||
:syntax sync ccomment maxlines=500
|
||||
:syntax sync maxlines=500 ccomment
|
||||
<
|
||||
*:syn-sync-linebreaks*
|
||||
When using a pattern that matches multiple lines, a change in one line may
|
||||
@@ -4645,6 +4675,8 @@ ctermbg={color-nr} *highlight-ctermbg*
|
||||
Note that for some color terminals these names may result in the wrong
|
||||
colors!
|
||||
|
||||
You can also use "NONE" to remove the color.
|
||||
|
||||
*:hi-normal-cterm*
|
||||
When setting the "ctermfg" or "ctermbg" colors for the Normal group,
|
||||
these will become the colors used for the non-highlighted text.
|
||||
|
||||
@@ -202,23 +202,29 @@ REORDERING TAB PAGES:
|
||||
Move the current tab page to after tab page N. Use zero to
|
||||
make the current tab page the first one. Without N the tab
|
||||
page is made the last one. >
|
||||
:.tabmove " do nothing
|
||||
:-tabmove " move the tab page to the left
|
||||
:tabmove " move the tab page to the right
|
||||
:.tabmove " as above
|
||||
:+tabmove " as above
|
||||
:+tabmove " move the tab page to the right
|
||||
:0tabmove " move the tab page to the beginning of the tab
|
||||
" list
|
||||
:$tabmove " move the tab page to the end of the tab list
|
||||
<
|
||||
:tabmove 0 " as above
|
||||
:tabmove " move the tab page to the last
|
||||
:$tabmove " as above
|
||||
:tabmove $ " as above
|
||||
|
||||
:tabm[ove] +[N]
|
||||
:tabm[ove] -[N]
|
||||
Move the current tab page N places to the right (with +) or to
|
||||
the left (with -).
|
||||
the left (with -). >
|
||||
:tabmove - " move the tab page to the left
|
||||
:tabmove -1 " as above
|
||||
:tabmove + " move the tab page to the right
|
||||
:tabmove +1 " as above
|
||||
|
||||
|
||||
Note that although it is possible to move a tab behind the N-th one by using
|
||||
:Ntabmove, it is impossible to move it by N places by using :+Ntabmove. For
|
||||
clarification what +N means in this context see |[range]|.
|
||||
:Ntabmove. And move it by N places by using :+Ntabmove. For clarification what
|
||||
+N means in this context see |[range]|.
|
||||
|
||||
|
||||
LOOPING OVER TAB PAGES:
|
||||
@@ -242,7 +248,8 @@ LOOPING OVER TAB PAGES:
|
||||
{cmd} must not open or close tab pages or reorder them.
|
||||
{not in Vi} {not available when compiled without the
|
||||
|+listcmds| feature}
|
||||
Also see |:windo|, |:argdo| and |:bufdo|.
|
||||
Also see |:windo|, |:argdo|, |:bufdo|, |:cdo|, |:ldo|, |:cfdo|
|
||||
and |:lfdo|
|
||||
|
||||
==============================================================================
|
||||
3. Other items *tab-page-other*
|
||||
|
||||
@@ -76,6 +76,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
'bdir' options.txt /*'bdir'*
|
||||
'bdlay' options.txt /*'bdlay'*
|
||||
'beautify' vi_diff.txt /*'beautify'*
|
||||
'belloff' options.txt /*'belloff'*
|
||||
'beval' options.txt /*'beval'*
|
||||
'bex' options.txt /*'bex'*
|
||||
'bexpr' options.txt /*'bexpr'*
|
||||
@@ -89,6 +90,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
'bk' options.txt /*'bk'*
|
||||
'bkc' options.txt /*'bkc'*
|
||||
'bl' options.txt /*'bl'*
|
||||
'bo' options.txt /*'bo'*
|
||||
'bomb' options.txt /*'bomb'*
|
||||
'breakat' options.txt /*'breakat'*
|
||||
'breakindent' options.txt /*'breakindent'*
|
||||
@@ -246,6 +248,8 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
'fileignorecase' options.txt /*'fileignorecase'*
|
||||
'filetype' options.txt /*'filetype'*
|
||||
'fillchars' options.txt /*'fillchars'*
|
||||
'fixendofline' options.txt /*'fixendofline'*
|
||||
'fixeol' options.txt /*'fixeol'*
|
||||
'fk' options.txt /*'fk'*
|
||||
'fkmap' options.txt /*'fkmap'*
|
||||
'fl' vi_diff.txt /*'fl'*
|
||||
@@ -540,6 +544,8 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
'nofen' options.txt /*'nofen'*
|
||||
'nofic' options.txt /*'nofic'*
|
||||
'nofileignorecase' options.txt /*'nofileignorecase'*
|
||||
'nofixendofline' options.txt /*'nofixendofline'*
|
||||
'nofixeol' options.txt /*'nofixeol'*
|
||||
'nofk' options.txt /*'nofk'*
|
||||
'nofkmap' options.txt /*'nofkmap'*
|
||||
'nofoldenable' options.txt /*'nofoldenable'*
|
||||
@@ -929,9 +935,11 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
't_KJ' term.txt /*'t_KJ'*
|
||||
't_KK' term.txt /*'t_KK'*
|
||||
't_KL' term.txt /*'t_KL'*
|
||||
't_RB' term.txt /*'t_RB'*
|
||||
't_RI' term.txt /*'t_RI'*
|
||||
't_RV' term.txt /*'t_RV'*
|
||||
't_SI' term.txt /*'t_SI'*
|
||||
't_SR' term.txt /*'t_SR'*
|
||||
't_Sb' term.txt /*'t_Sb'*
|
||||
't_Sf' term.txt /*'t_Sf'*
|
||||
't_WP' term.txt /*'t_WP'*
|
||||
@@ -995,6 +1003,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
't_ve' term.txt /*'t_ve'*
|
||||
't_vi' term.txt /*'t_vi'*
|
||||
't_vs' term.txt /*'t_vs'*
|
||||
't_xn' term.txt /*'t_xn'*
|
||||
't_xs' term.txt /*'t_xs'*
|
||||
'ta' options.txt /*'ta'*
|
||||
'tabline' options.txt /*'tabline'*
|
||||
@@ -1835,6 +1844,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
:CompilerSet usr_41.txt /*:CompilerSet*
|
||||
:DiffOrig diff.txt /*:DiffOrig*
|
||||
:DoMatchParen pi_paren.txt /*:DoMatchParen*
|
||||
:ELP pi_logipat.txt /*:ELP*
|
||||
:Explore pi_netrw.txt /*:Explore*
|
||||
:GLVS pi_getscript.txt /*:GLVS*
|
||||
:GetLatestVimScripts_dat pi_getscript.txt /*:GetLatestVimScripts_dat*
|
||||
@@ -1842,7 +1852,10 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
:GnatPretty ft_ada.txt /*:GnatPretty*
|
||||
:GnatTags ft_ada.txt /*:GnatTags*
|
||||
:Hexplore pi_netrw.txt /*:Hexplore*
|
||||
:LP pi_logipat.txt /*:LP*
|
||||
:LPF pi_logipat.txt /*:LPF*
|
||||
:Lexplore pi_netrw.txt /*:Lexplore*
|
||||
:LogiPat pi_logipat.txt /*:LogiPat*
|
||||
:Man filetype.txt /*:Man*
|
||||
:MkVimball pi_vimball.txt /*:MkVimball*
|
||||
:N editing.txt /*:N*
|
||||
@@ -2002,11 +2015,13 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
:cclose quickfix.txt /*:cclose*
|
||||
:cd editing.txt /*:cd*
|
||||
:cd- editing.txt /*:cd-*
|
||||
:cdo quickfix.txt /*:cdo*
|
||||
:ce change.txt /*:ce*
|
||||
:center change.txt /*:center*
|
||||
:cex quickfix.txt /*:cex*
|
||||
:cexpr quickfix.txt /*:cexpr*
|
||||
:cf quickfix.txt /*:cf*
|
||||
:cfdo quickfix.txt /*:cfdo*
|
||||
:cfile quickfix.txt /*:cfile*
|
||||
:cfir quickfix.txt /*:cfir*
|
||||
:cfirst quickfix.txt /*:cfirst*
|
||||
@@ -2353,6 +2368,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
:lclose quickfix.txt /*:lclose*
|
||||
:lcs if_cscop.txt /*:lcs*
|
||||
:lcscope if_cscop.txt /*:lcscope*
|
||||
:ldo quickfix.txt /*:ldo*
|
||||
:le change.txt /*:le*
|
||||
:left change.txt /*:left*
|
||||
:lefta windows.txt /*:lefta*
|
||||
@@ -2371,6 +2387,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
:lex quickfix.txt /*:lex*
|
||||
:lexpr quickfix.txt /*:lexpr*
|
||||
:lf quickfix.txt /*:lf*
|
||||
:lfdo quickfix.txt /*:lfdo*
|
||||
:lfile quickfix.txt /*:lfile*
|
||||
:lfir quickfix.txt /*:lfir*
|
||||
:lfirst quickfix.txt /*:lfirst*
|
||||
@@ -4340,6 +4357,7 @@ E887 if_pyth.txt /*E887*
|
||||
E888 pattern.txt /*E888*
|
||||
E889 map.txt /*E889*
|
||||
E89 message.txt /*E89*
|
||||
E890 syntax.txt /*E890*
|
||||
E90 message.txt /*E90*
|
||||
E91 options.txt /*E91*
|
||||
E92 message.txt /*E92*
|
||||
@@ -4419,6 +4437,8 @@ L motion.txt /*L*
|
||||
Linux-backspace options.txt /*Linux-backspace*
|
||||
List eval.txt /*List*
|
||||
Lists eval.txt /*Lists*
|
||||
LogiPat() pi_logipat.txt /*LogiPat()*
|
||||
LogiPat-flags pi_logipat.txt /*LogiPat-flags*
|
||||
Lua if_lua.txt /*Lua*
|
||||
M motion.txt /*M*
|
||||
MDI starting.txt /*MDI*
|
||||
@@ -4465,6 +4485,7 @@ OffTheSpot mbyte.txt /*OffTheSpot*
|
||||
OnTheSpot mbyte.txt /*OnTheSpot*
|
||||
Operator-pending intro.txt /*Operator-pending*
|
||||
Operator-pending-mode intro.txt /*Operator-pending-mode*
|
||||
OptionSet autocmd.txt /*OptionSet*
|
||||
OverTheSpot mbyte.txt /*OverTheSpot*
|
||||
P change.txt /*P*
|
||||
PATHEXT eval.txt /*PATHEXT*
|
||||
@@ -4554,6 +4575,7 @@ SourcePre autocmd.txt /*SourcePre*
|
||||
SpellFileMissing autocmd.txt /*SpellFileMissing*
|
||||
StdinReadPost autocmd.txt /*StdinReadPost*
|
||||
StdinReadPre autocmd.txt /*StdinReadPre*
|
||||
String eval.txt /*String*
|
||||
SwapExists autocmd.txt /*SwapExists*
|
||||
Syntax autocmd.txt /*Syntax*
|
||||
T motion.txt /*T*
|
||||
@@ -4873,6 +4895,7 @@ b:current_syntax-variable syntax.txt /*b:current_syntax-variable*
|
||||
b:netrw_lastfile pi_netrw.txt /*b:netrw_lastfile*
|
||||
b:tex_stylish syntax.txt /*b:tex_stylish*
|
||||
b:var eval.txt /*b:var*
|
||||
b:yaml_schema syntax.txt /*b:yaml_schema*
|
||||
baan-folding syntax.txt /*baan-folding*
|
||||
baan-syntax syntax.txt /*baan-syntax*
|
||||
baan.vim syntax.txt /*baan.vim*
|
||||
@@ -5199,6 +5222,7 @@ complete_CTRL-E insert.txt /*complete_CTRL-E*
|
||||
complete_CTRL-Y insert.txt /*complete_CTRL-Y*
|
||||
complete_add() eval.txt /*complete_add()*
|
||||
complete_check() eval.txt /*complete_check()*
|
||||
completed_item-variable eval.txt /*completed_item-variable*
|
||||
completion-functions usr_41.txt /*completion-functions*
|
||||
complex-change change.txt /*complex-change*
|
||||
complex-repeat repeat.txt /*complex-repeat*
|
||||
@@ -5416,10 +5440,12 @@ diff-mode diff.txt /*diff-mode*
|
||||
diff-options diff.txt /*diff-options*
|
||||
diff-original-file diff.txt /*diff-original-file*
|
||||
diff-patchexpr diff.txt /*diff-patchexpr*
|
||||
diff-slow diff.txt /*diff-slow*
|
||||
diff.txt diff.txt /*diff.txt*
|
||||
diff.vim syntax.txt /*diff.vim*
|
||||
diff_filler() eval.txt /*diff_filler()*
|
||||
diff_hlID() eval.txt /*diff_hlID()*
|
||||
diff_translations diff.txt /*diff_translations*
|
||||
digraph digraph.txt /*digraph*
|
||||
digraph-arg change.txt /*digraph-arg*
|
||||
digraph-encoding digraph.txt /*digraph-encoding*
|
||||
@@ -5634,6 +5660,7 @@ extensions-improvements todo.txt /*extensions-improvements*
|
||||
f motion.txt /*f*
|
||||
faq intro.txt /*faq*
|
||||
farsi farsi.txt /*farsi*
|
||||
farsi-fonts farsi.txt /*farsi-fonts*
|
||||
farsi.txt farsi.txt /*farsi.txt*
|
||||
fasm.vim syntax.txt /*fasm.vim*
|
||||
fcs_choice-variable eval.txt /*fcs_choice-variable*
|
||||
@@ -5880,6 +5907,7 @@ ft-xhtml-omni insert.txt /*ft-xhtml-omni*
|
||||
ft-xml-omni insert.txt /*ft-xml-omni*
|
||||
ft-xml-syntax syntax.txt /*ft-xml-syntax*
|
||||
ft-xpm-syntax syntax.txt /*ft-xpm-syntax*
|
||||
ft-yaml-syntax syntax.txt /*ft-yaml-syntax*
|
||||
ft_ada.txt ft_ada.txt /*ft_ada.txt*
|
||||
ft_sql.txt ft_sql.txt /*ft_sql.txt*
|
||||
ftdetect filetype.txt /*ftdetect*
|
||||
@@ -6109,6 +6137,7 @@ g:vimsyn_folding syntax.txt /*g:vimsyn_folding*
|
||||
g:vimsyn_maxlines syntax.txt /*g:vimsyn_maxlines*
|
||||
g:vimsyn_minlines syntax.txt /*g:vimsyn_minlines*
|
||||
g:vimsyn_noerror syntax.txt /*g:vimsyn_noerror*
|
||||
g:yaml_schema syntax.txt /*g:yaml_schema*
|
||||
g:zip_nomax pi_zip.txt /*g:zip_nomax*
|
||||
g:zip_shq pi_zip.txt /*g:zip_shq*
|
||||
g:zip_unzipcmd pi_zip.txt /*g:zip_unzipcmd*
|
||||
@@ -6160,6 +6189,7 @@ getbufline() eval.txt /*getbufline()*
|
||||
getbufvar() eval.txt /*getbufvar()*
|
||||
getchar() eval.txt /*getchar()*
|
||||
getcharmod() eval.txt /*getcharmod()*
|
||||
getcharsearch() eval.txt /*getcharsearch()*
|
||||
getcmdline() eval.txt /*getcmdline()*
|
||||
getcmdpos() eval.txt /*getcmdpos()*
|
||||
getcmdtype() eval.txt /*getcmdtype()*
|
||||
@@ -6199,6 +6229,7 @@ gi insert.txt /*gi*
|
||||
gj motion.txt /*gj*
|
||||
gk motion.txt /*gk*
|
||||
glob() eval.txt /*glob()*
|
||||
glob2regpat() eval.txt /*glob2regpat()*
|
||||
global-ime mbyte.txt /*global-ime*
|
||||
global-local options.txt /*global-local*
|
||||
global-variable eval.txt /*global-variable*
|
||||
@@ -6516,6 +6547,7 @@ i_CTRL-G_<Down> insert.txt /*i_CTRL-G_<Down>*
|
||||
i_CTRL-G_<Up> insert.txt /*i_CTRL-G_<Up>*
|
||||
i_CTRL-G_CTRL-J insert.txt /*i_CTRL-G_CTRL-J*
|
||||
i_CTRL-G_CTRL-K insert.txt /*i_CTRL-G_CTRL-K*
|
||||
i_CTRL-G_U insert.txt /*i_CTRL-G_U*
|
||||
i_CTRL-G_j insert.txt /*i_CTRL-G_j*
|
||||
i_CTRL-G_k insert.txt /*i_CTRL-G_k*
|
||||
i_CTRL-G_u insert.txt /*i_CTRL-G_u*
|
||||
@@ -6725,6 +6757,7 @@ lcs-eol options.txt /*lcs-eol*
|
||||
lcs-extends options.txt /*lcs-extends*
|
||||
lcs-nbsp options.txt /*lcs-nbsp*
|
||||
lcs-precedes options.txt /*lcs-precedes*
|
||||
lcs-space options.txt /*lcs-space*
|
||||
lcs-tab options.txt /*lcs-tab*
|
||||
lcs-trail options.txt /*lcs-trail*
|
||||
left-right-motions motion.txt /*left-right-motions*
|
||||
@@ -6772,6 +6805,18 @@ location-list quickfix.txt /*location-list*
|
||||
location-list-window quickfix.txt /*location-list-window*
|
||||
log() eval.txt /*log()*
|
||||
log10() eval.txt /*log10()*
|
||||
logipat pi_logipat.txt /*logipat*
|
||||
logipat-arg pi_logipat.txt /*logipat-arg*
|
||||
logipat-caveat pi_logipat.txt /*logipat-caveat*
|
||||
logipat-contents pi_logipat.txt /*logipat-contents*
|
||||
logipat-copyright pi_logipat.txt /*logipat-copyright*
|
||||
logipat-examples pi_logipat.txt /*logipat-examples*
|
||||
logipat-history pi_logipat.txt /*logipat-history*
|
||||
logipat-input pi_logipat.txt /*logipat-input*
|
||||
logipat-man pi_logipat.txt /*logipat-man*
|
||||
logipat-manual pi_logipat.txt /*logipat-manual*
|
||||
logipat-operators pi_logipat.txt /*logipat-operators*
|
||||
logipat-pattern pi_logipat.txt /*logipat-pattern*
|
||||
long-lines version5.txt /*long-lines*
|
||||
love intro.txt /*love*
|
||||
lowercase change.txt /*lowercase*
|
||||
@@ -7415,6 +7460,7 @@ php3.vim syntax.txt /*php3.vim*
|
||||
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*
|
||||
@@ -7461,6 +7507,7 @@ printf() eval.txt /*printf()*
|
||||
printf-% eval.txt /*printf-%*
|
||||
printf-E eval.txt /*printf-E*
|
||||
printf-G eval.txt /*printf-G*
|
||||
printf-S eval.txt /*printf-S*
|
||||
printf-X eval.txt /*printf-X*
|
||||
printf-c eval.txt /*printf-c*
|
||||
printf-d eval.txt /*printf-d*
|
||||
@@ -7754,6 +7801,7 @@ session-file starting.txt /*session-file*
|
||||
set-option options.txt /*set-option*
|
||||
set-spc-auto spell.txt /*set-spc-auto*
|
||||
setbufvar() eval.txt /*setbufvar()*
|
||||
setcharsearch() eval.txt /*setcharsearch()*
|
||||
setcmdpos() eval.txt /*setcmdpos()*
|
||||
setline() eval.txt /*setline()*
|
||||
setloclist() eval.txt /*setloclist()*
|
||||
@@ -8095,9 +8143,11 @@ t_KI term.txt /*t_KI*
|
||||
t_KJ term.txt /*t_KJ*
|
||||
t_KK term.txt /*t_KK*
|
||||
t_KL term.txt /*t_KL*
|
||||
t_RB term.txt /*t_RB*
|
||||
t_RI term.txt /*t_RI*
|
||||
t_RV term.txt /*t_RV*
|
||||
t_SI term.txt /*t_SI*
|
||||
t_SR term.txt /*t_SR*
|
||||
t_Sb term.txt /*t_Sb*
|
||||
t_Sf term.txt /*t_Sf*
|
||||
t_WP term.txt /*t_WP*
|
||||
@@ -8200,6 +8250,7 @@ t_vb term.txt /*t_vb*
|
||||
t_ve term.txt /*t_ve*
|
||||
t_vi term.txt /*t_vi*
|
||||
t_vs term.txt /*t_vs*
|
||||
t_xn term.txt /*t_xn*
|
||||
t_xs term.txt /*t_xs*
|
||||
tab intro.txt /*tab*
|
||||
tab-page tabpage.txt /*tab-page*
|
||||
@@ -8458,6 +8509,7 @@ v:charconvert_from eval.txt /*v:charconvert_from*
|
||||
v:charconvert_to eval.txt /*v:charconvert_to*
|
||||
v:cmdarg eval.txt /*v:cmdarg*
|
||||
v:cmdbang eval.txt /*v:cmdbang*
|
||||
v:completed_item eval.txt /*v:completed_item*
|
||||
v:count eval.txt /*v:count*
|
||||
v:count1 eval.txt /*v:count1*
|
||||
v:ctype eval.txt /*v:ctype*
|
||||
@@ -8485,6 +8537,9 @@ v:mouse_lnum eval.txt /*v:mouse_lnum*
|
||||
v:mouse_win eval.txt /*v:mouse_win*
|
||||
v:oldfiles eval.txt /*v:oldfiles*
|
||||
v:operator eval.txt /*v:operator*
|
||||
v:option_new eval.txt /*v:option_new*
|
||||
v:option_old eval.txt /*v:option_old*
|
||||
v:option_type eval.txt /*v:option_type*
|
||||
v:prevcount eval.txt /*v:prevcount*
|
||||
v:profiling eval.txt /*v:profiling*
|
||||
v:progname eval.txt /*v:progname*
|
||||
@@ -8516,11 +8571,13 @@ v_<Esc> visual.txt /*v_<Esc>*
|
||||
v_= change.txt /*v_=*
|
||||
v_> change.txt /*v_>*
|
||||
v_C change.txt /*v_C*
|
||||
v_CTRL-A change.txt /*v_CTRL-A*
|
||||
v_CTRL-C visual.txt /*v_CTRL-C*
|
||||
v_CTRL-G visual.txt /*v_CTRL-G*
|
||||
v_CTRL-H change.txt /*v_CTRL-H*
|
||||
v_CTRL-O visual.txt /*v_CTRL-O*
|
||||
v_CTRL-V visual.txt /*v_CTRL-V*
|
||||
v_CTRL-X change.txt /*v_CTRL-X*
|
||||
v_CTRL-Z starting.txt /*v_CTRL-Z*
|
||||
v_CTRL-\_CTRL-G intro.txt /*v_CTRL-\\_CTRL-G*
|
||||
v_CTRL-\_CTRL-N intro.txt /*v_CTRL-\\_CTRL-N*
|
||||
@@ -8576,7 +8633,9 @@ v_gJ change.txt /*v_gJ*
|
||||
v_gN visual.txt /*v_gN*
|
||||
v_gV visual.txt /*v_gV*
|
||||
v_g] tagsrch.txt /*v_g]*
|
||||
v_g_CTRL-A change.txt /*v_g_CTRL-A*
|
||||
v_g_CTRL-G editing.txt /*v_g_CTRL-G*
|
||||
v_g_CTRL-X change.txt /*v_g_CTRL-X*
|
||||
v_g_CTRL-] tagsrch.txt /*v_g_CTRL-]*
|
||||
v_gf editing.txt /*v_gf*
|
||||
v_gn visual.txt /*v_gn*
|
||||
@@ -8881,6 +8940,7 @@ xterm-screens tips.txt /*xterm-screens*
|
||||
xterm-scroll-region term.txt /*xterm-scroll-region*
|
||||
xterm-shifted-keys term.txt /*xterm-shifted-keys*
|
||||
y change.txt /*y*
|
||||
yaml.vim syntax.txt /*yaml.vim*
|
||||
yank change.txt /*yank*
|
||||
ye-option-gone version4.txt /*ye-option-gone*
|
||||
year-2000 intro.txt /*year-2000*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*term.txt* For Vim version 7.4. Last change: 2014 May 13
|
||||
*term.txt* For Vim version 7.4. Last change: 2015 Jun 25
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -224,10 +224,11 @@ The options are listed below. The associated termcap code is always equal to
|
||||
the last two characters of the option name. Only one termcap code is
|
||||
required: Cursor motion, 't_cm'.
|
||||
|
||||
The options 't_da', 't_db', 't_ms', 't_xs' represent flags in the termcap.
|
||||
When the termcap flag is present, the option will be set to "y". But any
|
||||
non-empty string means that the flag is set. An empty string means that the
|
||||
flag is not set. 't_CS' works like this too, but it isn't a termcap flag.
|
||||
The options 't_da', 't_db', 't_ms', 't_xs', 't_xn' represent flags in the
|
||||
termcap. When the termcap flag is present, the option will be set to "y".
|
||||
But any non-empty string means that the flag is set. An empty string means
|
||||
that the flag is not set. 't_CS' works like this too, but it isn't a termcap
|
||||
flag.
|
||||
|
||||
OUTPUT CODES
|
||||
option meaning ~
|
||||
@@ -281,6 +282,9 @@ OUTPUT CODES
|
||||
t_vs cursor very visible *t_vs* *'t_vs'*
|
||||
*t_xs* *'t_xs'*
|
||||
t_xs if non-empty, standout not erased by overwriting (hpterm)
|
||||
*t_xn* *'t_xn'*
|
||||
t_xn if non-empty, writing a character at the last screen cell
|
||||
does not cause scrolling
|
||||
t_ZH italics mode *t_ZH* *'t_ZH'*
|
||||
t_ZR italics end *t_ZR* *'t_ZR'*
|
||||
|
||||
@@ -290,12 +294,15 @@ Added by Vim (there are no standard codes for these):
|
||||
t_WP set window position (Y, X) in pixels *t_WP* *'t_WP'*
|
||||
t_WS set window size (height, width) in characters *t_WS* *'t_WS'*
|
||||
t_SI start insert mode (bar cursor shape) *t_SI* *'t_SI'*
|
||||
t_EI end insert mode (block cursor shape) *t_EI* *'t_EI'*
|
||||
t_SR start replace mode (underline cursor shape) *t_SR* *'t_SR'*
|
||||
t_EI end insert or replace mode (block cursor shape) *t_EI* *'t_EI'*
|
||||
|termcap-cursor-shape|
|
||||
t_RV request terminal version string (for xterm) *t_RV* *'t_RV'*
|
||||
|xterm-8bit| |v:termresponse| |'ttymouse'| |xterm-codes|
|
||||
t_u7 request cursor position (for xterm) *t_u7* *'t_u7'*
|
||||
see |'ambiwidth'|
|
||||
t_RB request terminal background color *t_RB* *'t_RB'*
|
||||
see |'ambiwidth'|
|
||||
|
||||
KEY CODES
|
||||
Note: Use the <> form if possible
|
||||
@@ -434,13 +441,16 @@ If one of these is not available, 't_Sb' and 't_Sf' are used. 't_me' is used
|
||||
to reset to the default colors.
|
||||
|
||||
*termcap-cursor-shape* *termcap-cursor-color*
|
||||
When Vim enters Insert mode the 't_SI' escape sequence is sent. When leaving
|
||||
Insert mode 't_EI' is used. But only if both are defined. This can be used
|
||||
to change the shape or color of the cursor in Insert mode. These are not
|
||||
standard termcap/terminfo entries, you need to set them yourself.
|
||||
When Vim enters Insert mode the 't_SI' escape sequence is sent. When Vim
|
||||
enters Replace mode the 't_SR' escape sequence is sent if it is set, otherwise
|
||||
't_SI' is sent. When leaving Insert mode or Replace mode 't_EI' is used. This
|
||||
can be used to change the shape or color of the cursor in Insert or Replace
|
||||
mode. These are not standard termcap/terminfo entries, you need to set them
|
||||
yourself.
|
||||
Example for an xterm, this changes the color of the cursor: >
|
||||
if &term =~ "xterm"
|
||||
let &t_SI = "\<Esc>]12;purple\x7"
|
||||
let &t_SR = "\<Esc>]12;red\x7"
|
||||
let &t_EI = "\<Esc>]12;blue\x7"
|
||||
endif
|
||||
NOTE: When Vim exits the shape for Normal mode will remain. The shape from
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*todo.txt* For Vim version 7.4. Last change: 2015 Jan 23
|
||||
*todo.txt* For Vim version 7.4. Last change: 2015 Sep 25
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -35,8 +35,11 @@ not be repeated below, unless there is extra information.
|
||||
-------------------- Known bugs and current work -----------------------
|
||||
|
||||
Regexp problems:
|
||||
- The NFA engine does not implement the time limit passed to
|
||||
nfa_regexec_multi()
|
||||
- The regexp engines are not reentrant, causing havoc when interrupted by a
|
||||
remote expression or something else. Move global variables onto the stack
|
||||
or into an allocated struct.
|
||||
- The old engine does not find a match for "/\%#=1\(\)\{80}", the new engine
|
||||
matches everywhere.
|
||||
- Using win_linetabsize() can still be slow. Cache the result, store col and
|
||||
vcol. Reset them when moving to another line.
|
||||
- Very slow with a long line and Ruby highlighting. (John Whitley, 2014 Dec 4)
|
||||
@@ -53,24 +56,26 @@ Regexp problems:
|
||||
- Does not work with NFA regexp engine:
|
||||
\%u, \%x, \%o, \%d followed by a composing character
|
||||
- Bug relating to back references. (Ingo Karkat, 2014 Jul 24)
|
||||
- New RE does not give an error for empty group: "\(\)\{2}" (Dominique Pelle,
|
||||
2015 Feb 7)
|
||||
- Using back reference before the capturing group sometimes works with the old
|
||||
engine, can we do this with the new engine? E.g. with
|
||||
"/\%(<\1>\)\@<=.*\%(<\/\(\w\+\)>\)\@=" matching text inside HTML tags.
|
||||
This problem is probably the same: "\%(^\1.*$\n\)\@<=\(\d\+\).*$".
|
||||
(guotuofeng, 2015 Jun 22)
|
||||
- Strange matching with "\(Hello\n\)\@<=A". (Anas Syed, 2015 Feb 12)
|
||||
- Problem with \v(A)@<=b+\1c. (Issue 334)
|
||||
- Diff highlighting can be very slow. (Issue 309)
|
||||
- Using "{1,1000}" is much slower than it was with the old engine.
|
||||
(Dominique Pelle, 2015 Jan 22)
|
||||
- Using %> for a virtual column has a check based on 'tabsize'. Better would
|
||||
be to cache the result of win_linetabsize(col), storing both col and vcol,
|
||||
and use them to decide whether win_linetabsize() needs to be called. Reset
|
||||
col and vcol when moving to another line.
|
||||
- this doesn't work: "syntax match ErrorMsg /.\%9l\%>20c\&\%<28c/". Leaving
|
||||
out the \& works. Seems any column check after \& fails.
|
||||
|
||||
Still using freed memory after using setloclist(). (lcd, 2014 Jul 23)
|
||||
More info Jul 24. Not clear why.
|
||||
|
||||
Patch to make getregtype() return the right size for non-linux systems.
|
||||
(Yasuhiro Matsumoto, 2014 Jul 8)
|
||||
Breaks test_eval. Inefficient, can we only compute y_width when needed?
|
||||
|
||||
Problem that a previous silent ":throw" causes a following try/catch not to
|
||||
work. (ZyX, 2013 Sep 28)
|
||||
|
||||
@@ -79,95 +84,144 @@ Problem using ":try" inside ":execute". (ZyX, 2013 Sep 15)
|
||||
":cd C:\Windows\System32\drivers\etc*" does not work, even though the
|
||||
directory exists. (Sergio Gallelli, 2013 Dec 29)
|
||||
|
||||
Using ":windo" to set options in all windows has the side effect that it
|
||||
changes the window layout and the current window. Make a variant that saves
|
||||
and restores. Use in the matchparen plugin.
|
||||
Perhaps we can use ":silent window"?
|
||||
|
||||
Illegal memory access, requires ASAN to see. (Dominique Pelle, 2015 Jul 28)
|
||||
|
||||
Gvim: when both Tab and CTRL-I are mapped, use CTRL-I not for Tab.
|
||||
|
||||
Unexpected delay when using CTRL-O u. It's not timeoutlen.
|
||||
(Gary Johnson, 2015 Aug 28)
|
||||
|
||||
Can src/GvimExt/Make_cyg.mak be removed?
|
||||
Same for src/xxd/Make_cyg.mak
|
||||
|
||||
Python: ":py raw_input('prompt')" doesn't work. (Manu Hack)
|
||||
|
||||
2html update. (Ben Fritz, 2015 Sep 9)
|
||||
|
||||
MS-Windows: When editing a file with a leading space, writing it uses the
|
||||
wrong name. (Aram, 2014 Nov 7) Vim 7.4.
|
||||
|
||||
Can't recognize the $ProgramFiles(x86) environment variable. Recognize it
|
||||
specifically? First try with the parens, then without.
|
||||
|
||||
Value returned by virtcol() changes depending on how lines wrap. This is
|
||||
inconsistent with the documentation.
|
||||
|
||||
Better greek spell checking. Issue 299.
|
||||
Add bzl filetype support. (David Barnett, 2015 Aug 11)
|
||||
|
||||
Patch to fix slow valgrind highlighting. (Dominique, 2015 Jan 15)
|
||||
Does maintainer respond?
|
||||
When complete() first argument is before where insert started and 'backspace'
|
||||
is Vi compatible, the completion fails. (Hirohito Higashi, 2015 Feb 19)
|
||||
|
||||
Patch on issue 212: feedkeys() with dot doesn't work as expected.
|
||||
Test 44 fails when [[=A=]] is changed to [[=À=]]. Caused by getcmdline() not
|
||||
handling the 0x80 as a second byte correctly? (Dominique Pelle, 2015 Jun 10)
|
||||
|
||||
Patch to support hex values for setting option value.
|
||||
(Zyx, 2014 Nov 6)
|
||||
|
||||
Patch to fix problems with small screen sizes. (Christian Brabandt, 2015 Jan
|
||||
8)
|
||||
|
||||
":tabdo windo echo 'hi'" causes "* register not to be changed.
|
||||
(Salman Halim, 2015 Jan 17)
|
||||
Patch by Christian, 2015 Jan 20. There is another problem, wait a bit.
|
||||
|
||||
On MS-Windows running tests with Mercurial has problems when the fileformat of
|
||||
the input files are changed. (Ken Takata, Taro Muraoka, 2014 Sep 25)
|
||||
Update Nov 5.
|
||||
Weird encryption problems on Windows. (Ben Fritz, 2015 Feb 13)
|
||||
Goes away when disabling the swap file. (might1, Feb 16)
|
||||
|
||||
MS-Windows: Crash opening very long file name starting with "\\".
|
||||
(Christian Brock, 2012 Jun 29)
|
||||
|
||||
Patch for this from Marcin Szamotulski, 2014 Dec 28:
|
||||
8 Make the # register writable, so that it can be restored after jumping
|
||||
around in windows.
|
||||
The OptionSet autocommand event is not always triggered. (Rick Howe, 2015 Sep
|
||||
24): setwinvar(), :diffthis, :diffoff.
|
||||
|
||||
Using CTRL-L while popup menu is visible behaves like CTRL-P, which is wrong.
|
||||
Patch by Yasuhiro Matsumoto, 2015 Jan 5.
|
||||
Is this right? Comment from Amadeus Demarzi.
|
||||
Another patch from Christian, Jan 6.
|
||||
Comment from Hirohito Higashi, Jan 6.
|
||||
The argument for "-S" is not taken literally, the ":so" command expands
|
||||
wildcards. Add a ":nowild" command modifier? (ZyX, 2015 March 4)
|
||||
|
||||
Cursorline background color not mixed with character highlight.
|
||||
Patch by Yasuhiro Matsumoto, 2014 Dec 3.
|
||||
":set all&" still does not handle all side effects. Centralize handling side
|
||||
effects for when set by the user, on init and when reset to default.
|
||||
|
||||
Problem using diff syntax with cp932 encoding. Idea from Yasuhiro Matsumoto,
|
||||
patch from Ken Takata (2014 Nov 6)
|
||||
Proposal to make options.txt easier to read. (Arnaud Decara, 2015 Aug 5)
|
||||
Update Aug 14.
|
||||
|
||||
Patch for problem with restoring screen on Windows. (Nobuhiro Takasaki, 2015
|
||||
Sep 10)
|
||||
|
||||
Patch to be able to use hex numbers with :digraph. (Lcd, 2015 Sep 6)
|
||||
Update Sep 7. Update by Christian Brabandt, 2015 Sep 8.
|
||||
|
||||
Build with Python on Mac does not always use the right library.
|
||||
(Kazunobu Kuriyama, 2015 Mar 28)
|
||||
|
||||
Example in editing.txt uses $HOME with the expectating that it ends in a
|
||||
slash. For me it does, but perhaps not for everybody. Add a function that
|
||||
inserts a slash when needed? pathconcat(dir, path) (Thilo Six, 2015 Aug 12)
|
||||
|
||||
ml_updatechunk() is slow when retrying for another encoding. (John Little,
|
||||
2014 Sep 11)
|
||||
|
||||
Patch to add a different escape sequence for replace mode.
|
||||
(Omar Sandoval, 2014 Nov 30)
|
||||
Patch to fix checking global option value when not using it.
|
||||
(Arnaud Decara, 2015 Jul 23)
|
||||
|
||||
Patch on Issue 166, popup drawing with '$' in 'cpo'.
|
||||
When 'showbreak' is set repeating a Visual operation counts the size of the
|
||||
'showbreak' text as part of the operation. (Axel Bender, 2015 Jul 20)
|
||||
|
||||
Calling setreg() with an empty list doesn't work.
|
||||
Patch by Yasuhiro Matsumoto, 2014 Dec 14.
|
||||
Patch to apply 'fileformats' when starting Vim. (Mike Williams, 2015 Jul 22)
|
||||
|
||||
Patch for matchit plugin related to multibyte chars. (Ken Takata, 2015 Jul 22)
|
||||
|
||||
Patch for multi-byte characters in langmap and applying a mapping on them.
|
||||
(Christian Brabandt, 2015 Jun 12, update July 25)
|
||||
Is this the right solution?
|
||||
|
||||
Patch to add grepfile(). (Scott Prager, 2015 May 26)
|
||||
Work in progress.
|
||||
|
||||
Patch for global-local options consistency. (Arnaud Decara, 2015 Jul 22)
|
||||
Is this right?
|
||||
|
||||
Patch to have CTRL-A and CTRL-X update the '[ and '] marks.
|
||||
(Yukihiro Nakadaira, 2015 Aug 23)
|
||||
|
||||
Patch to make getregtype() return the right size for non-linux systems.
|
||||
(Yasuhiro Matsumoto, 2014 Jul 8)
|
||||
Breaks test_eval. Inefficient, can we only compute y_width when needed?
|
||||
|
||||
Patch to use different terminal mode settings for system(). (Hayaki Saito)
|
||||
Does this work for everybody?
|
||||
|
||||
Patch to fix that wide characters do not work properly after exiting.
|
||||
(Yasuhiro Matsumoto, 2015 May 24) Better patch to come.
|
||||
|
||||
Patch for man.vim. (SungHyun Nam, 2015 May 20)
|
||||
Doesn't work completely (Dominique Orban)
|
||||
|
||||
Patch to add a "literal" argument to bufnr(). (Olaf Dabrunz, 2015 Aug 4)
|
||||
|
||||
When a session file is created and there are "nofile" buffers, these are not
|
||||
filled. Need to trigger BufReadCmd autocommands. Also handle deleting the
|
||||
initial empty buffer better. (ZyX, 2015 March 8)
|
||||
|
||||
Extended file attributes lost on write (backupcopy=no). Issue 306.
|
||||
|
||||
Window height computed incorrectly when Vim is minimized.
|
||||
Patch to fix this. (Ingo Karkat, 2014 Dec 19)
|
||||
|
||||
Patch to allow values greater than 255 for ctermfg/ctermbg on Windows.
|
||||
(Yasuhiro Matsumoto, 2014 Dec 5)
|
||||
Patch to add :lockjumps. (Carlo Baldassi, 2015 May 25)
|
||||
OK to not block marks?
|
||||
|
||||
Mixup of highlighting when there is a match and SpellBad. (ZyX, 2015 Jan 1)
|
||||
|
||||
Problem caused by patch 7.3.638: window->open does not update window
|
||||
correctly. Issue 91. With patch.
|
||||
|
||||
Patch for drag&drop reordering of GUI tab pages reordering.
|
||||
(Ken Takata, 2013 Nov 22, second one, also by Masamichi Abe)
|
||||
|
||||
'ff' is wrong for one-line file without EOL. (Patch on Issue 77)
|
||||
|
||||
Patch on Issue 72: 'autochdir' causes problems for :vimgrep.
|
||||
|
||||
When 'balloonexpr' returns a list the result has a trailing newline.
|
||||
Just remove one trailing newline. (lcd, 2014 Oct 17)
|
||||
|
||||
When two SIGWINCH arrive very quickly, the second one may be lost.
|
||||
(Josh Triplett, 2015 Sep 17)
|
||||
|
||||
Make comments in the test Makefile silent. (Kartik Agaram, 2014 Sep 24)
|
||||
|
||||
Patch to add GUI colors to the terminal, when it supports it. (ZyX, 2013 Jan
|
||||
26, update 2013 Dec 14, another 2014 Nov 22)
|
||||
|
||||
Patch to improve behavior of dead keys on MS-Windows. (John Wellesz, 2015 Aug
|
||||
25) https://github.com/vim/vim/pull/399.diff
|
||||
|
||||
Result of systemlist() does not show whether text ended in line break.
|
||||
(Bjorn Linse, 2014 Nov 27)
|
||||
|
||||
@@ -181,6 +235,9 @@ lines. (Marco Hinz, 2014 Nov 2)
|
||||
|
||||
Adding "~" to 'cdpath' doesn't work for completion? (Davido, 2013 Aug 19)
|
||||
|
||||
Should be easy to highlight all matches with 'incsearch'. Idea by Itchyny,
|
||||
2015 Feb 6.
|
||||
|
||||
Plugins need to make a lot of effort, lots of mappings, to know what happened
|
||||
before pressing the key that triggers a plugin action. How about keeping the
|
||||
last N pressed keys, so that they do not need to be mapped?
|
||||
@@ -194,11 +251,24 @@ With test, Nov 23.
|
||||
Wrong scrolling when using incsearch. Patch by Christian Brabandt, 2014 Dec 4.
|
||||
Is this a good solution?
|
||||
|
||||
Patch to allow setting w:quickfix_title via setqflist() and setloclist()
|
||||
functions. (Christian Brabandt, 2013 May 8, update May 21)
|
||||
Patch to add getlocstack() / setlocstack(). (Christian Brabandt, 2013 May 14)
|
||||
Second one. Update May 22.
|
||||
Update by Daniel Hahler, 2014 Jul 4, Aug 14, Oct 14, Oct 15.
|
||||
|
||||
Patch: Let rare word highlighting overrule good word highlighting.
|
||||
(Jakson A. Aquino, 2010 Jul 30, again 2011 Jul 2)
|
||||
|
||||
Patch to add digits argument to round(). (Yasuhiro Matsumoto, 2015 Apr 26)
|
||||
|
||||
Can assign to s:type when a function s:type has been defined.
|
||||
Also the other way around: define a function while a variable with that name
|
||||
was already defined.
|
||||
(Yasuhiro Matsumoto, 2014 Nov 3)
|
||||
|
||||
Patch for ordered dict. (Ozaki Kiichi, 2015 May 7)
|
||||
|
||||
Patch to make closed folds line up. (Charles Campbell, 2014 Sep 12)
|
||||
Remark from Roland Eggner: does it cause crashes? (2014 Dec 12)
|
||||
Updated patch by Roland Eggner, Dec 16
|
||||
@@ -214,6 +284,9 @@ Delete old code in os_msdos.c, mch_FullName().
|
||||
Patch: On MS-Windows shellescape() may have to triple double quotes.
|
||||
(Ingo Karkat, 2015 Jan 16)
|
||||
|
||||
Patch for variable tabstops. On github (Christian Brabandt, 2014 May 15)
|
||||
Update 2015 Jul 25 (email).
|
||||
|
||||
Redo only remembers the last change. Could use "{count}g." to redo an older
|
||||
change. How does the user know which change? At least have a way to list
|
||||
them: ":repeats".
|
||||
@@ -238,13 +311,13 @@ Patch to add argument to :cquit. (Thinca, 2014 Oct 12)
|
||||
|
||||
No error for missing endwhile. (ZyX, 2014 Mar 20)
|
||||
|
||||
The entries added by matchaddpos() are returned by getmatches() but can't be
|
||||
set with setmatches(). (lcd47, 2014 Jun 29)
|
||||
Patch to make extend() fail early when it might fail at some point.
|
||||
(Olaf Dabrunz, 2015 May 2) Makes extend() slower, do we still want it?
|
||||
Perhaps only the checks that can be done without looping over the dict or
|
||||
arguments.
|
||||
|
||||
Patch to add :arglocal and :arglists. (Marcin Szamotulski, 2014 Aug 6)
|
||||
|
||||
PHP syntax is extremely slow. (Anhad Jai Singh, 2014 Jan 19)
|
||||
|
||||
Spell files use a latin single quote. Unicode also has another single quote:
|
||||
0x2019. (Ron Aaron, 2014 Apr 4)
|
||||
New OpenOffice spell files support this with ICONV. But they are not
|
||||
@@ -257,12 +330,6 @@ Update 2015 Jan 10.
|
||||
Win32: patch to use 64 bit stat() if possible. (Ken Takata, 2014 May 12)
|
||||
More tests May 14. Update May 29. Update Aug 10.
|
||||
|
||||
The garbage collector may use too much stack. Make set_ref_in_item()
|
||||
iterative instead of recursive. Test program by Marc Weber (2013 Dec 10)
|
||||
Patch by Ben Fritz, 2014 Jun 22. Update 2015 Jan 21.
|
||||
Related: Vim hangs when freeing a lot of objects. Patch by Yasuhiro
|
||||
Matsumoto, 2014 Aug 26.
|
||||
|
||||
Idea: For a window in the middle (has window above and below it), use
|
||||
right-mouse-drag on the status line to move a window up/down without changing
|
||||
its height? It's like dragging the status bar above it at the same time.
|
||||
@@ -272,6 +339,9 @@ What for systems that don't have unsetenv()?
|
||||
|
||||
Patch to add a :domodeline command. (Christian Brabandt, 2014 Oct 21)
|
||||
|
||||
Patch to add TabNew, TabNewEntered and TabClosed autocommand events.
|
||||
(Felipe Morales, 2015 Feb 1)
|
||||
|
||||
This does not give an error: (Andre Sihera, 2014 Mar 21)
|
||||
vim -u NONE 1 2 3 -c 'bufdo if 1 | echo 1'
|
||||
This neither: (ZyX)
|
||||
@@ -335,7 +405,7 @@ Editing an ascii file as ucs-2 or ucs-4 causes display errors.
|
||||
":Next 1 some-arg" does not complain about trailing argument. Also for
|
||||
various other commands. (ZyX, 2014 Mar 30)
|
||||
|
||||
patch to skip sort if no line matches the expression.
|
||||
Patch to skip sort if no line matches the expression.
|
||||
(Christian Brabandt, 2014 Jun 25)
|
||||
|
||||
Patch to add sortuniq(). (Cade Forester, 2014 Mar 19)
|
||||
@@ -362,8 +432,6 @@ Remark on the docs. Should not be a compile time feature. But then what?
|
||||
Completion of ":e" is ":earlier", should be ":edit". Complete to the matching
|
||||
command instead of doing this alphabetically. (Mikel Jorgensen)
|
||||
|
||||
Patch to add v:completed_item. (Shougo Matsu, 2013 Nov 29).
|
||||
|
||||
Patch to get MSVC version in a nicer way. (Ken Takata, 2014 Jul 24)
|
||||
|
||||
Patch to define macros for hardcoded values. (Elias Diem, 2013 Dec 14)
|
||||
@@ -371,10 +439,8 @@ Patch to define macros for hardcoded values. (Elias Diem, 2013 Dec 14)
|
||||
Several syntax file match "^\s*" which may get underlined if that's in the
|
||||
highlight group. Add a "\zs" after it?
|
||||
|
||||
Patch to fix temp directories for Windows, so that it works without tweaking.
|
||||
Issue 28.
|
||||
|
||||
Go through more coverity reports.
|
||||
The undo file name can get too long. (Issue 346)
|
||||
For the path use a hash instead of dir%dir%dir%name hash%name.
|
||||
|
||||
Patch to add ":undorecover", get as much text out of the undo file as
|
||||
possible. (Christian Brabandt, 2014 Mar 12, update Aug 22)
|
||||
@@ -426,9 +492,6 @@ When evaluating expression in backticks, autoload doesn't work.
|
||||
Using <nr>ifoobar<esc> can slow down Vim. Patch by Christian Brabandt, 2013
|
||||
Dec 13.
|
||||
|
||||
Fold can't be opened after ":move". (Ein Brown)
|
||||
Patch from Christian Brabandt doesn't fix it completely.
|
||||
|
||||
Patch from Christian Brabandt to preserve upper case marks when wiping out a
|
||||
buffer. (2013 Dec 9)
|
||||
|
||||
@@ -501,12 +564,6 @@ Dialog is too big on Linux too. (David Fishburn, 2013 Sep 2)
|
||||
Patch to check whether a buffer is quickfix or a location list.
|
||||
(Yasuhiro Matsumoto, 2014 Dec 9)
|
||||
|
||||
Patch to allow setting w:quickfix_title via setqflist() and setloclist()
|
||||
functions. (Christian Brabandt, 2013 May 8, update May 21)
|
||||
Patch to add getlocstack() / setlocstack(). (Christian Brabandt, 2013 May 14)
|
||||
Second one. Update May 22.
|
||||
Update by Daniel Hahler, 2014 Jul 4, Aug 14, Oct 14, Oct 15.
|
||||
|
||||
Patch to make fold updates much faster. (Christian Brabandt, 2012 Dec)
|
||||
|
||||
Issue 54: document behavior of -complete, also expands arg.
|
||||
@@ -555,10 +612,6 @@ signs? Patch by Christian Brabandt, 2013 Aug 22.
|
||||
|
||||
Patch to remove flicker from popup menu. (Yasuhiro Matsumoto, 2013 Aug 15)
|
||||
|
||||
Patch to add 'completeselect' option. Specifies how to select a candidate in
|
||||
insert completion. (Shougo, 2013 May 29)
|
||||
Update to add to existing 'completeopt'. 2013 May 30
|
||||
|
||||
Problem with refresh:always in completion. (Tyler Wade, 2013 Mar 17)
|
||||
|
||||
b:undo_ftplugin cannot call a script-local function. (Boris Danilov, 2013 Jan
|
||||
@@ -591,9 +644,6 @@ Win32: When 'autochdir' is on and 'encoding' is changed, files on the command
|
||||
line are opened again, but from the wrong directory. Apply 'autochdir' only
|
||||
after starting up?
|
||||
|
||||
Patch to add ":ldo" and ":cdo", execute commands over quickfix list and
|
||||
location list. (Yegappan Lakshmanan, 2013 Jun 2)
|
||||
|
||||
8 "stl" and "stlnc" in 'fillchars' don't work for multi-byte characters.
|
||||
Patch by Christian Wellenbrock, 2013 Jul 5.
|
||||
|
||||
@@ -777,9 +827,6 @@ Patch to make "z=" work when 'spell' is off. Does this have nasty side
|
||||
effects? (Christian Brabandt, 2012 Aug 5, Update 2013 Aug 12)
|
||||
Would also need to do this for spellbadword() and spellsuggest().
|
||||
|
||||
Patch for variable tabstops. On github (Christian Brabandt, 2014 May 15)
|
||||
Update Aug 16 (email).
|
||||
|
||||
On 64 bit MS-Windows "long" is only 32 bits, but we sometimes need to store a
|
||||
64 bits value. Change all number options to use nropt_T and define it to the
|
||||
right type.
|
||||
@@ -985,9 +1032,6 @@ Patch for GVimExt to show an icon. (Dominik Riebeling, 2010 Nov 7)
|
||||
When writing a file > 2Gbyte, the reported number of bytes is negative.
|
||||
(Antonio Colombo, 2010 Dec 18)
|
||||
|
||||
Patch: Let rare word highlighting overrule good word highlighting.
|
||||
(Jakson A. Aquino, 2010 Jul 30, again 2011 Jul 2)
|
||||
|
||||
When 'lines' is 25 and 'scrolloff' is 12, "j" scrolls zero or two lines
|
||||
instead of one. (Constantin Pan, 2010 Sep 10)
|
||||
|
||||
@@ -1045,8 +1089,8 @@ Dominique can't reproduce it.
|
||||
":function f(x) keepjumps" creates a function where every command is executed
|
||||
like it has ":keepjumps" before it.
|
||||
|
||||
Coverity: ask someone to create new user: Dominique.
|
||||
Check if there are new reported defects: http://scan.coverity.com/rung2.html
|
||||
Coverity: Check if there are new reported defects:
|
||||
https://scan.coverity.com/projects/241
|
||||
|
||||
Patch to support :undo absolute jump to file save number. (Christian Brabandt,
|
||||
2010 Nov 5)
|
||||
@@ -1082,7 +1126,7 @@ string value.
|
||||
|
||||
Invalid read error in Farsi mode. (Dominique Pelle, 2009 Aug 2)
|
||||
|
||||
For running gvim on an USB stick: avoid the OLE registration. Use a command
|
||||
For running gvim on a USB stick: avoid the OLE registration. Use a command
|
||||
line argument -noregister.
|
||||
|
||||
When using an expression in 'statusline' leading white space sometimes goes
|
||||
@@ -1396,6 +1440,7 @@ Kondakoff, 2009 May 13)
|
||||
|
||||
Problem with 'langmap' being used on the rhs of a mapping. (Nikolai Weibull,
|
||||
2008 May 14)
|
||||
Possibly related problem: Alexey Muranov, 2015 Apr 2
|
||||
|
||||
Problem with CTRL-F. (Charles Campbell, 2008 March 21)
|
||||
Only happens with "gvim -geometry "160x26+4+27" -u NONE -U NONE prop.c".
|
||||
@@ -1656,12 +1701,6 @@ Check for this and use iconv? (Edward L. Fox, 2007 Sep 12)
|
||||
Does the conversion in the other direction work when 'fileencodings' is set
|
||||
properly?
|
||||
|
||||
Add a few features to xxd. (Vadim Vygonets, 2013 Nov 11)
|
||||
Patches: 2013 Nov 19
|
||||
1: Add -e: little endian hexdump
|
||||
2: Add -o: add offset to displayed position
|
||||
3: Change displayed file position width to 8 chars
|
||||
|
||||
Cursor displayed in the wrong position when using 'numberwidth'. (James Vega,
|
||||
2007 Jun 21)
|
||||
|
||||
@@ -2106,8 +2145,6 @@ Awaiting updated patches:
|
||||
Search in 'runtimepath'?
|
||||
More docs needed about how to use this.
|
||||
How to get the messages into the .po files?
|
||||
strchars() Like strlen() and strwidth() but counting characters
|
||||
instead of bytes.
|
||||
confirm() add "flags" argument, with 'v' for vertical
|
||||
layout and 'c' for console dialog. (Haegg)
|
||||
Flemming Madsen has a patch for the 'c' flag
|
||||
@@ -4042,8 +4079,6 @@ Autocommands:
|
||||
8 Autocommand for when modified files have been found, when getting input
|
||||
focus again (e.g., FileChangedFocus).
|
||||
Check when: getting focus, jumping to another buffer, ...
|
||||
7 Autocommand for when an option is changed. Match buffer name or option
|
||||
name?
|
||||
8 Autocommands should not change registers. And marks? And the jumplist?
|
||||
And anything else? Add a command to save and restore these things.
|
||||
8 Add autocommands, user functions and user commands to ":mkvimrc".
|
||||
@@ -4657,7 +4692,6 @@ Searching:
|
||||
should be ignored (like "*/" or "#endif" inside /* */).
|
||||
Also: use "%" to jump from start to end of syntax region and back.
|
||||
Alternative: use matchit.vim
|
||||
8 "/:/e+1" gets stuck on a match at the end of the line. Do we care?
|
||||
8 A pattern like "\([^a]\+\)\+" takes an awful long time. Recognize that
|
||||
the recursive "\+" is meaningless and optimize for it.
|
||||
This one is also very slow on "/* some comment */": "^\/\*\(.*[^/]\)*$".
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*usr_02.txt* For Vim version 7.4. Last change: 2010 Jul 20
|
||||
*usr_02.txt* For Vim version 7.4. Last change: 2015 Apr 12
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@@ -527,9 +527,11 @@ Summary: *help-summary* >
|
||||
:help subject()
|
||||
< Function "subject". >
|
||||
:help -subject
|
||||
< Command-line option "-subject". >
|
||||
< Command-line argument "-subject". >
|
||||
:help +subject
|
||||
< Compile-time feature "+subject". >
|
||||
:help /*
|
||||
< Regular expression item "*" >
|
||||
:help EventName
|
||||
< Autocommand event "EventName". >
|
||||
:help digraphs.txt
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
VIM(1) VIM(1)
|
||||
VIM(1) General Commands Manual VIM(1)
|
||||
|
||||
|
||||
|
||||
@@ -21,13 +21,13 @@ DESCRIPTION
|
||||
to edit all kinds of plain text. It is especially useful for editing
|
||||
programs.
|
||||
|
||||
There are a lot of enhancements above Vi: multi level undo, multi win-
|
||||
There are a lot of enhancements above Vi: multi level undo, multi win‐
|
||||
dows and buffers, syntax highlighting, command line editing, filename
|
||||
completion, on-line help, visual selection, etc.. See ":help
|
||||
vi_diff.txt" for a summary of the differences between Vim and Vi.
|
||||
|
||||
While running Vim a lot of help can be obtained from the on-line help
|
||||
system, with the ":help" command. See the ON-LINE HELP section below.
|
||||
system, with the ":help" command. See the ON-LINE HELP section below.
|
||||
|
||||
Most often Vim is started to edit a single file with the command
|
||||
|
||||
@@ -38,44 +38,44 @@ DESCRIPTION
|
||||
vim [options] [filelist]
|
||||
|
||||
If the filelist is missing, the editor will start with an empty buffer.
|
||||
Otherwise exactly one out of the following four may be used to choose
|
||||
Otherwise exactly one out of the following four may be used to choose
|
||||
one or more files to be edited.
|
||||
|
||||
file .. A list of filenames. The first one will be the current
|
||||
file and read into the buffer. The cursor will be posi-
|
||||
file .. A list of filenames. The first one will be the current
|
||||
file and read into the buffer. The cursor will be posi‐
|
||||
tioned on the first line of the buffer. You can get to the
|
||||
other files with the ":next" command. To edit a file that
|
||||
other files with the ":next" command. To edit a file that
|
||||
starts with a dash, precede the filelist with "--".
|
||||
|
||||
- The file to edit is read from stdin. Commands are read
|
||||
- The file to edit is read from stdin. Commands are read
|
||||
from stderr, which should be a tty.
|
||||
|
||||
-t {tag} The file to edit and the initial cursor position depends on
|
||||
a "tag", a sort of goto label. {tag} is looked up in the
|
||||
a "tag", a sort of goto label. {tag} is looked up in the
|
||||
tags file, the associated file becomes the current file and
|
||||
the associated command is executed. Mostly this is used
|
||||
for C programs, in which case {tag} could be a function
|
||||
the associated command is executed. Mostly this is used
|
||||
for C programs, in which case {tag} could be a function
|
||||
name. The effect is that the file containing that function
|
||||
becomes the current file and the cursor is positioned on
|
||||
becomes the current file and the cursor is positioned on
|
||||
the start of the function. See ":help tag-commands".
|
||||
|
||||
-q [errorfile]
|
||||
Start in quickFix mode. The file [errorfile] is read and
|
||||
the first error is displayed. If [errorfile] is omitted,
|
||||
Start in quickFix mode. The file [errorfile] is read and
|
||||
the first error is displayed. If [errorfile] is omitted,
|
||||
the filename is obtained from the 'errorfile' option
|
||||
(defaults to "AztecC.Err" for the Amiga, "errors.err" on
|
||||
other systems). Further errors can be jumped to with the
|
||||
(defaults to "AztecC.Err" for the Amiga, "errors.err" on
|
||||
other systems). Further errors can be jumped to with the
|
||||
":cn" command. See ":help quickfix".
|
||||
|
||||
Vim behaves differently, depending on the name of the command (the exe-
|
||||
Vim behaves differently, depending on the name of the command (the exe‐
|
||||
cutable may still be the same file).
|
||||
|
||||
vim The "normal" way, everything is default.
|
||||
|
||||
ex Start in Ex mode. Go to Normal mode with the ":vi" command.
|
||||
ex Start in Ex mode. Go to Normal mode with the ":vi" command.
|
||||
Can also be done with the "-e" argument.
|
||||
|
||||
view Start in read-only mode. You will be protected from writing
|
||||
view Start in read-only mode. You will be protected from writing
|
||||
the files. Can also be done with the "-R" argument.
|
||||
|
||||
gvim gview
|
||||
@@ -87,102 +87,102 @@ DESCRIPTION
|
||||
be done with the "-y" argument.
|
||||
|
||||
rvim rview rgvim rgview
|
||||
Like the above, but with restrictions. It will not be possi-
|
||||
ble to start shell commands, or suspend Vim. Can also be
|
||||
Like the above, but with restrictions. It will not be possi‐
|
||||
ble to start shell commands, or suspend Vim. Can also be
|
||||
done with the "-Z" argument.
|
||||
|
||||
OPTIONS
|
||||
The options may be given in any order, before or after filenames.
|
||||
The options may be given in any order, before or after filenames.
|
||||
Options without an argument can be combined after a single dash.
|
||||
|
||||
+[num] For the first file the cursor will be positioned on line
|
||||
"num". If "num" is missing, the cursor will be positioned
|
||||
+[num] For the first file the cursor will be positioned on line
|
||||
"num". If "num" is missing, the cursor will be positioned
|
||||
on the last line.
|
||||
|
||||
+/{pat} For the first file the cursor will be positioned on the
|
||||
first occurrence of {pat}. See ":help search-pattern" for
|
||||
the available search patterns.
|
||||
+/{pat} For the first file the cursor will be positioned in the
|
||||
line with the first occurrence of {pat}. See ":help
|
||||
search-pattern" for the available search patterns.
|
||||
|
||||
+{command}
|
||||
|
||||
-c {command}
|
||||
{command} will be executed after the first file has been
|
||||
read. {command} is interpreted as an Ex command. If the
|
||||
{command} contains spaces it must be enclosed in double
|
||||
quotes (this depends on the shell that is used). Example:
|
||||
{command} will be executed after the first file has been
|
||||
read. {command} is interpreted as an Ex command. If the
|
||||
{command} contains spaces it must be enclosed in double
|
||||
quotes (this depends on the shell that is used). Example:
|
||||
Vim "+set si" main.c
|
||||
Note: You can use up to 10 "+" or "-c" commands.
|
||||
|
||||
-S {file} {file} will be sourced after the first file has been read.
|
||||
This is equivalent to -c "source {file}". {file} cannot
|
||||
-S {file} {file} will be sourced after the first file has been read.
|
||||
This is equivalent to -c "source {file}". {file} cannot
|
||||
start with '-'. If {file} is omitted "Session.vim" is used
|
||||
(only works when -S is the last argument).
|
||||
|
||||
--cmd {command}
|
||||
Like using "-c", but the command is executed just before
|
||||
processing any vimrc file. You can use up to 10 of these
|
||||
Like using "-c", but the command is executed just before
|
||||
processing any vimrc file. You can use up to 10 of these
|
||||
commands, independently from "-c" commands.
|
||||
|
||||
-A If Vim has been compiled with ARABIC support for editing
|
||||
right-to-left oriented files and Arabic keyboard mapping,
|
||||
this option starts Vim in Arabic mode, i.e. 'arabic' is
|
||||
-A If Vim has been compiled with ARABIC support for editing
|
||||
right-to-left oriented files and Arabic keyboard mapping,
|
||||
this option starts Vim in Arabic mode, i.e. 'arabic' is
|
||||
set. Otherwise an error message is given and Vim aborts.
|
||||
|
||||
-b Binary mode. A few options will be set that makes it pos-
|
||||
-b Binary mode. A few options will be set that makes it pos‐
|
||||
sible to edit a binary or executable file.
|
||||
|
||||
-C Compatible. Set the 'compatible' option. This will make
|
||||
Vim behave mostly like Vi, even though a .vimrc file
|
||||
-C Compatible. Set the 'compatible' option. This will make
|
||||
Vim behave mostly like Vi, even though a .vimrc file
|
||||
exists.
|
||||
|
||||
-d Start in diff mode. There should be two, three or four
|
||||
file name arguments. Vim will open all the files and show
|
||||
-d Start in diff mode. There should be two, three or four
|
||||
file name arguments. Vim will open all the files and show
|
||||
differences between them. Works like vimdiff(1).
|
||||
|
||||
-d {device} Open {device} for use as a terminal. Only on the Amiga.
|
||||
-d {device} Open {device} for use as a terminal. Only on the Amiga.
|
||||
Example: "-d con:20/30/600/150".
|
||||
|
||||
-D Debugging. Go to debugging mode when executing the first
|
||||
-D Debugging. Go to debugging mode when executing the first
|
||||
command from a script.
|
||||
|
||||
-e Start Vim in Ex mode, just like the executable was called
|
||||
-e Start Vim in Ex mode, just like the executable was called
|
||||
"ex".
|
||||
|
||||
-E Start Vim in improved Ex mode, just like the executable was
|
||||
called "exim".
|
||||
|
||||
-f Foreground. For the GUI version, Vim will not fork and
|
||||
-f Foreground. For the GUI version, Vim will not fork and
|
||||
detach from the shell it was started in. On the Amiga, Vim
|
||||
is not restarted to open a new window. This option should
|
||||
be used when Vim is executed by a program that will wait
|
||||
for the edit session to finish (e.g. mail). On the Amiga
|
||||
is not restarted to open a new window. This option should
|
||||
be used when Vim is executed by a program that will wait
|
||||
for the edit session to finish (e.g. mail). On the Amiga
|
||||
the ":sh" and ":!" commands will not work.
|
||||
|
||||
--nofork Foreground. For the GUI version, Vim will not fork and
|
||||
--nofork Foreground. For the GUI version, Vim will not fork and
|
||||
detach from the shell it was started in.
|
||||
|
||||
-F If Vim has been compiled with FKMAP support for editing
|
||||
right-to-left oriented files and Farsi keyboard mapping,
|
||||
this option starts Vim in Farsi mode, i.e. 'fkmap' and
|
||||
'rightleft' are set. Otherwise an error message is given
|
||||
and Vim aborts.
|
||||
|
||||
-g If Vim has been compiled with GUI support, this option
|
||||
enables the GUI. If no GUI support was compiled in, an
|
||||
error message is given and Vim aborts.
|
||||
|
||||
-h Give a bit of help about the command line arguments and
|
||||
options. After this Vim exits.
|
||||
|
||||
-H If Vim has been compiled with RIGHTLEFT support for editing
|
||||
right-to-left oriented files and Hebrew keyboard mapping,
|
||||
this option starts Vim in Hebrew mode, i.e. 'hkmap' and
|
||||
-F If Vim has been compiled with FKMAP support for editing
|
||||
right-to-left oriented files and Farsi keyboard mapping,
|
||||
this option starts Vim in Farsi mode, i.e. 'fkmap' and
|
||||
'rightleft' are set. Otherwise an error message is given
|
||||
and Vim aborts.
|
||||
|
||||
-g If Vim has been compiled with GUI support, this option
|
||||
enables the GUI. If no GUI support was compiled in, an
|
||||
error message is given and Vim aborts.
|
||||
|
||||
-h Give a bit of help about the command line arguments and
|
||||
options. After this Vim exits.
|
||||
|
||||
-H If Vim has been compiled with RIGHTLEFT support for editing
|
||||
right-to-left oriented files and Hebrew keyboard mapping,
|
||||
this option starts Vim in Hebrew mode, i.e. 'hkmap' and
|
||||
'rightleft' are set. Otherwise an error message is given
|
||||
and Vim aborts.
|
||||
|
||||
-i {viminfo}
|
||||
When using the viminfo file is enabled, this option sets
|
||||
the filename to use, instead of the default "~/.viminfo".
|
||||
When using the viminfo file is enabled, this option sets
|
||||
the filename to use, instead of the default "~/.viminfo".
|
||||
This can also be used to skip the use of the .viminfo file,
|
||||
by giving the name "NONE".
|
||||
|
||||
@@ -190,92 +190,92 @@ OPTIONS
|
||||
|
||||
-l Lisp mode. Sets the 'lisp' and 'showmatch' options on.
|
||||
|
||||
-m Modifying files is disabled. Resets the 'write' option.
|
||||
You can still modify the buffer, but writing a file is not
|
||||
-m Modifying files is disabled. Resets the 'write' option.
|
||||
You can still modify the buffer, but writing a file is not
|
||||
possible.
|
||||
|
||||
-M Modifications not allowed. The 'modifiable' and 'write'
|
||||
options will be unset, so that changes are not allowed and
|
||||
files can not be written. Note that these options can be
|
||||
-M Modifications not allowed. The 'modifiable' and 'write'
|
||||
options will be unset, so that changes are not allowed and
|
||||
files can not be written. Note that these options can be
|
||||
set to enable making modifications.
|
||||
|
||||
-N No-compatible mode. Reset the 'compatible' option. This
|
||||
will make Vim behave a bit better, but less Vi compatible,
|
||||
-N No-compatible mode. Reset the 'compatible' option. This
|
||||
will make Vim behave a bit better, but less Vi compatible,
|
||||
even though a .vimrc file does not exist.
|
||||
|
||||
-n No swap file will be used. Recovery after a crash will be
|
||||
impossible. Handy if you want to edit a file on a very
|
||||
slow medium (e.g. floppy). Can also be done with ":set
|
||||
-n No swap file will be used. Recovery after a crash will be
|
||||
impossible. Handy if you want to edit a file on a very
|
||||
slow medium (e.g. floppy). Can also be done with ":set
|
||||
uc=0". Can be undone with ":set uc=200".
|
||||
|
||||
-nb Become an editor server for NetBeans. See the docs for
|
||||
-nb Become an editor server for NetBeans. See the docs for
|
||||
details.
|
||||
|
||||
-o[N] Open N windows stacked. When N is omitted, open one window
|
||||
for each file.
|
||||
|
||||
-O[N] Open N windows side by side. When N is omitted, open one
|
||||
-O[N] Open N windows side by side. When N is omitted, open one
|
||||
window for each file.
|
||||
|
||||
-p[N] Open N tab pages. When N is omitted, open one tab page for
|
||||
each file.
|
||||
|
||||
-R Read-only mode. The 'readonly' option will be set. You
|
||||
can still edit the buffer, but will be prevented from acci-
|
||||
dently overwriting a file. If you do want to overwrite a
|
||||
file, add an exclamation mark to the Ex command, as in
|
||||
":w!". The -R option also implies the -n option (see
|
||||
below). The 'readonly' option can be reset with ":set
|
||||
-R Read-only mode. The 'readonly' option will be set. You
|
||||
can still edit the buffer, but will be prevented from acci‐
|
||||
dently overwriting a file. If you do want to overwrite a
|
||||
file, add an exclamation mark to the Ex command, as in
|
||||
":w!". The -R option also implies the -n option (see
|
||||
below). The 'readonly' option can be reset with ":set
|
||||
noro". See ":help 'readonly'".
|
||||
|
||||
-r List swap files, with information about using them for
|
||||
-r List swap files, with information about using them for
|
||||
recovery.
|
||||
|
||||
-r {file} Recovery mode. The swap file is used to recover a crashed
|
||||
editing session. The swap file is a file with the same
|
||||
-r {file} Recovery mode. The swap file is used to recover a crashed
|
||||
editing session. The swap file is a file with the same
|
||||
filename as the text file with ".swp" appended. See ":help
|
||||
recovery".
|
||||
|
||||
-s Silent mode. Only when started as "Ex" or when the "-e"
|
||||
-s Silent mode. Only when started as "Ex" or when the "-e"
|
||||
option was given before the "-s" option.
|
||||
|
||||
-s {scriptin}
|
||||
The script file {scriptin} is read. The characters in the
|
||||
file are interpreted as if you had typed them. The same
|
||||
The script file {scriptin} is read. The characters in the
|
||||
file are interpreted as if you had typed them. The same
|
||||
can be done with the command ":source! {scriptin}". If the
|
||||
end of the file is reached before the editor exits, further
|
||||
characters are read from the keyboard.
|
||||
|
||||
-T {terminal}
|
||||
Tells Vim the name of the terminal you are using. Only
|
||||
required when the automatic way doesn't work. Should be a
|
||||
terminal known to Vim (builtin) or defined in the termcap
|
||||
Tells Vim the name of the terminal you are using. Only
|
||||
required when the automatic way doesn't work. Should be a
|
||||
terminal known to Vim (builtin) or defined in the termcap
|
||||
or terminfo file.
|
||||
|
||||
-u {vimrc} Use the commands in the file {vimrc} for initializations.
|
||||
All the other initializations are skipped. Use this to
|
||||
edit a special kind of files. It can also be used to skip
|
||||
all initializations by giving the name "NONE". See ":help
|
||||
-u {vimrc} Use the commands in the file {vimrc} for initializations.
|
||||
All the other initializations are skipped. Use this to
|
||||
edit a special kind of files. It can also be used to skip
|
||||
all initializations by giving the name "NONE". See ":help
|
||||
initialization" within vim for more details.
|
||||
|
||||
-U {gvimrc} Use the commands in the file {gvimrc} for GUI initializa-
|
||||
tions. All the other GUI initializations are skipped. It
|
||||
can also be used to skip all GUI initializations by giving
|
||||
the name "NONE". See ":help gui-init" within vim for more
|
||||
-U {gvimrc} Use the commands in the file {gvimrc} for GUI initializa‐
|
||||
tions. All the other GUI initializations are skipped. It
|
||||
can also be used to skip all GUI initializations by giving
|
||||
the name "NONE". See ":help gui-init" within vim for more
|
||||
details.
|
||||
|
||||
-V[N] Verbose. Give messages about which files are sourced and
|
||||
for reading and writing a viminfo file. The optional num-
|
||||
-V[N] Verbose. Give messages about which files are sourced and
|
||||
for reading and writing a viminfo file. The optional num‐
|
||||
ber N is the value for 'verbose'. Default is 10.
|
||||
|
||||
-v Start Vim in Vi mode, just like the executable was called
|
||||
"vi". This only has effect when the executable is called
|
||||
-v Start Vim in Vi mode, just like the executable was called
|
||||
"vi". This only has effect when the executable is called
|
||||
"ex".
|
||||
|
||||
-w {scriptout}
|
||||
All the characters that you type are recorded in the file
|
||||
{scriptout}, until you exit Vim. This is useful if you
|
||||
want to create a script file to be used with "vim -s" or
|
||||
All the characters that you type are recorded in the file
|
||||
{scriptout}, until you exit Vim. This is useful if you
|
||||
want to create a script file to be used with "vim -s" or
|
||||
":source!". If the {scriptout} file exists, characters are
|
||||
appended.
|
||||
|
||||
@@ -285,27 +285,27 @@ OPTIONS
|
||||
-x Use encryption when writing files. Will prompt for a crypt
|
||||
key.
|
||||
|
||||
-X Don't connect to the X server. Shortens startup time in a
|
||||
terminal, but the window title and clipboard will not be
|
||||
-X Don't connect to the X server. Shortens startup time in a
|
||||
terminal, but the window title and clipboard will not be
|
||||
used.
|
||||
|
||||
-y Start Vim in easy mode, just like the executable was called
|
||||
"evim" or "eview". Makes Vim behave like a click-and-type
|
||||
"evim" or "eview". Makes Vim behave like a click-and-type
|
||||
editor.
|
||||
|
||||
-Z Restricted mode. Works like the executable starts with
|
||||
-Z Restricted mode. Works like the executable starts with
|
||||
"r".
|
||||
|
||||
-- Denotes the end of the options. Arguments after this will
|
||||
be handled as a file name. This can be used to edit a
|
||||
-- Denotes the end of the options. Arguments after this will
|
||||
be handled as a file name. This can be used to edit a
|
||||
filename that starts with a '-'.
|
||||
|
||||
--echo-wid GTK GUI only: Echo the Window ID on stdout.
|
||||
|
||||
--help Give a help message and exit, just like "-h".
|
||||
|
||||
--literal Take file name arguments literally, do not expand wild-
|
||||
cards. This has no effect on Unix where the shell expands
|
||||
--literal Take file name arguments literally, do not expand wild‐
|
||||
cards. This has no effect on Unix where the shell expands
|
||||
wildcards.
|
||||
|
||||
--noplugin Skip loading plugins. Implied by -u NONE.
|
||||
@@ -315,18 +315,18 @@ OPTIONS
|
||||
is given and the files are edited in the current Vim.
|
||||
|
||||
--remote-expr {expr}
|
||||
Connect to a Vim server, evaluate {expr} in it and print
|
||||
Connect to a Vim server, evaluate {expr} in it and print
|
||||
the result on stdout.
|
||||
|
||||
--remote-send {keys}
|
||||
Connect to a Vim server and send {keys} to it.
|
||||
|
||||
--remote-silent
|
||||
As --remote, but without the warning when no server is
|
||||
As --remote, but without the warning when no server is
|
||||
found.
|
||||
|
||||
--remote-wait
|
||||
As --remote, but Vim does not exit until the files have
|
||||
As --remote, but Vim does not exit until the files have
|
||||
been edited.
|
||||
|
||||
--remote-wait-silent
|
||||
@@ -337,31 +337,31 @@ OPTIONS
|
||||
List the names of all Vim servers that can be found.
|
||||
|
||||
--servername {name}
|
||||
Use {name} as the server name. Used for the current Vim,
|
||||
Use {name} as the server name. Used for the current Vim,
|
||||
unless used with a --remote argument, then it's the name of
|
||||
the server to connect to.
|
||||
|
||||
--socketid {id}
|
||||
GTK GUI only: Use the GtkPlug mechanism to run gvim in
|
||||
GTK GUI only: Use the GtkPlug mechanism to run gvim in
|
||||
another window.
|
||||
|
||||
--version Print version information and exit.
|
||||
|
||||
ON-LINE HELP
|
||||
Type ":help" in Vim to get started. Type ":help subject" to get help
|
||||
on a specific subject. For example: ":help ZZ" to get help for the
|
||||
"ZZ" command. Use <Tab> and CTRL-D to complete subjects (":help cmd-
|
||||
line-completion"). Tags are present to jump from one place to another
|
||||
Type ":help" in Vim to get started. Type ":help subject" to get help
|
||||
on a specific subject. For example: ":help ZZ" to get help for the
|
||||
"ZZ" command. Use <Tab> and CTRL-D to complete subjects (":help cmd‐
|
||||
line-completion"). Tags are present to jump from one place to another
|
||||
(sort of hypertext links, see ":help"). All documentation files can be
|
||||
viewed in this way, for example ":help syntax.txt".
|
||||
|
||||
FILES
|
||||
/usr/local/lib/vim/doc/*.txt
|
||||
The Vim documentation files. Use ":help doc-file-list"
|
||||
The Vim documentation files. Use ":help doc-file-list"
|
||||
to get the complete list.
|
||||
|
||||
/usr/local/lib/vim/doc/tags
|
||||
The tags file used for finding information in the docu-
|
||||
The tags file used for finding information in the docu‐
|
||||
mentation files.
|
||||
|
||||
/usr/local/lib/vim/syntax/syntax.vim
|
||||
@@ -381,7 +381,7 @@ FILES
|
||||
~/.gvimrc Your personal gvim initializations.
|
||||
|
||||
/usr/local/lib/vim/optwin.vim
|
||||
Script used for the ":options" command, a nice way to
|
||||
Script used for the ":options" command, a nice way to
|
||||
view and set options.
|
||||
|
||||
/usr/local/lib/vim/menu.vim
|
||||
@@ -391,11 +391,11 @@ FILES
|
||||
Script to generate a bug report. See ":help bugs".
|
||||
|
||||
/usr/local/lib/vim/filetype.vim
|
||||
Script to detect the type of a file by its name. See
|
||||
Script to detect the type of a file by its name. See
|
||||
":help 'filetype'".
|
||||
|
||||
/usr/local/lib/vim/scripts.vim
|
||||
Script to detect the type of a file by its contents.
|
||||
Script to detect the type of a file by its contents.
|
||||
See ":help 'filetype'".
|
||||
|
||||
/usr/local/lib/vim/print/*.ps
|
||||
@@ -410,8 +410,8 @@ SEE ALSO
|
||||
AUTHOR
|
||||
Most of Vim was made by Bram Moolenaar, with a lot of help from others.
|
||||
See ":help credits" in Vim.
|
||||
Vim is based on Stevie, worked on by: Tim Thompson, Tony Andrews and
|
||||
G.R. (Fred) Walter. Although hardly any of the original code remains.
|
||||
Vim is based on Stevie, worked on by: Tim Thompson, Tony Andrews and
|
||||
G.R. (Fred) Walter. Although hardly any of the original code remains.
|
||||
|
||||
BUGS
|
||||
Probably. See ":help todo" for a list of known problems.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*windows.txt* For Vim version 7.4. Last change: 2014 Dec 05
|
||||
*windows.txt* For Vim version 7.4. Last change: 2015 Aug 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -715,7 +715,8 @@ can also get to them with the buffer list commands, like ":bnext".
|
||||
{cmd} must not open or close windows or reorder them.
|
||||
{not in Vi} {not available when compiled without the
|
||||
|+listcmds| feature}
|
||||
Also see |:tabdo|, |:argdo| and |:bufdo|.
|
||||
Also see |:tabdo|, |:argdo|, |:bufdo|, |:cdo|, |:ldo|,
|
||||
|:cfdo| and |:lfdo|
|
||||
|
||||
*:bufdo*
|
||||
:[range]bufdo[!] {cmd} Execute {cmd} in each buffer in the buffer list or if
|
||||
@@ -743,7 +744,8 @@ can also get to them with the buffer list commands, like ":bnext".
|
||||
each buffer.
|
||||
{not in Vi} {not available when compiled without the
|
||||
|+listcmds| feature}
|
||||
Also see |:tabdo|, |:argdo| and |:windo|.
|
||||
Also see |:tabdo|, |:argdo|, |:windo|, |:cdo|, |:ldo|,
|
||||
|:cfdo| and |:lfdo|
|
||||
|
||||
Examples: >
|
||||
|
||||
@@ -986,9 +988,10 @@ A buffer can also be unlisted. This means it exists, but it is not in the
|
||||
list of buffers. |unlisted-buffer|
|
||||
|
||||
|
||||
:files[!] *:files*
|
||||
:buffers[!] *:buffers* *:ls*
|
||||
:ls[!] Show all buffers. Example:
|
||||
:files[!] [flags] *:files*
|
||||
:buffers[!] [flags] *:buffers* *:ls*
|
||||
:ls[!] [flags]
|
||||
Show all buffers. Example:
|
||||
|
||||
1 #h "/test/text" line 1 ~
|
||||
2u "asdf" line 0 ~
|
||||
@@ -998,8 +1001,8 @@ list of buffers. |unlisted-buffer|
|
||||
(the term "unlisted" is a bit confusing then...).
|
||||
|
||||
Each buffer has a unique number. That number will not change,
|
||||
so you can always go to a specific buffer with ":buffer N" or
|
||||
"N CTRL-^", where N is the buffer number.
|
||||
thus you can always go to a specific buffer with ":buffer N"
|
||||
or "N CTRL-^", where N is the buffer number.
|
||||
|
||||
Indicators (chars in the same column are mutually exclusive):
|
||||
u an unlisted buffer (only displayed when [!] is used)
|
||||
@@ -1014,6 +1017,21 @@ list of buffers. |unlisted-buffer|
|
||||
+ a modified buffer
|
||||
x a buffer with read errors
|
||||
|
||||
[flags] can be a combination of the following characters,
|
||||
which restrict the buffers to be listed:
|
||||
+ modified buffers
|
||||
- buffers with 'modifiable' off
|
||||
= readonly buffers
|
||||
a active buffers
|
||||
u unloaded buffers (overrides the "!")
|
||||
h hidden buffers
|
||||
x buffers with a read error
|
||||
% current buffer
|
||||
# alternate buffer
|
||||
Combining flags means they are "and"ed together, e.g.:
|
||||
h+ hidden buffers which are modified
|
||||
a+ active buffers which are modified
|
||||
|
||||
*:bad* *:badd*
|
||||
:bad[d] [+lnum] {fname}
|
||||
Add file name {fname} to the buffer list, without loading it.
|
||||
@@ -1099,13 +1117,13 @@ list of buffers. |unlisted-buffer|
|
||||
the current buffer remains being edited. See |:buffer-!| for
|
||||
[!]. This will also edit a buffer that is not in the buffer
|
||||
list, without setting the 'buflisted' flag.
|
||||
Also see ||+cmd|.
|
||||
Also see |+cmd|.
|
||||
|
||||
:[N]b[uffer][!] [+cmd] {bufname}
|
||||
Edit buffer for {bufname} from the buffer list. See
|
||||
|:buffer-!| for [!]. This will also edit a buffer that is not
|
||||
in the buffer list, without setting the 'buflisted' flag.
|
||||
Also see ||+cmd|.
|
||||
Also see |+cmd|.
|
||||
|
||||
:[N]sb[uffer] [+cmd] [N] *:sb* *:sbuffer*
|
||||
Split window and edit buffer [N] from the buffer list. If [N]
|
||||
@@ -1113,7 +1131,7 @@ list of buffers. |unlisted-buffer|
|
||||
"useopen" setting of 'switchbuf' when splitting. This will
|
||||
also edit a buffer that is not in the buffer list, without
|
||||
setting the 'buflisted' flag.
|
||||
Also see ||+cmd|.
|
||||
Also see |+cmd|.
|
||||
|
||||
:[N]sb[uffer] [+cmd] {bufname}
|
||||
Split window and edit buffer for {bufname} from the buffer
|
||||
@@ -1122,13 +1140,13 @@ list of buffers. |unlisted-buffer|
|
||||
Note: If what you want to do is split the buffer, make a copy
|
||||
under another name, you can do it this way: >
|
||||
:w foobar | sp #
|
||||
< Also see ||+cmd|.
|
||||
< Also see |+cmd|.
|
||||
|
||||
:[N]bn[ext][!] [+cmd] [N] *:bn* *:bnext* *E87*
|
||||
Go to [N]th next buffer in buffer list. [N] defaults to one.
|
||||
Wraps around the end of the buffer list.
|
||||
See |:buffer-!| for [!].
|
||||
Also see ||+cmd|.
|
||||
Also see |+cmd|.
|
||||
If you are in a help buffer, this takes you to the next help
|
||||
buffer (if there is one). Similarly, if you are in a normal
|
||||
(non-help) buffer, this takes you to the next normal buffer.
|
||||
@@ -1141,21 +1159,21 @@ list of buffers. |unlisted-buffer|
|
||||
:[N]sbn[ext] [+cmd] [N]
|
||||
Split window and go to [N]th next buffer in buffer list.
|
||||
Wraps around the end of the buffer list. Uses 'switchbuf'
|
||||
Also see ||+cmd|.
|
||||
Also see |+cmd|.
|
||||
|
||||
:[N]bN[ext][!] [+cmd] [N] *:bN* *:bNext* *:bp* *:bprevious* *E88*
|
||||
:[N]bp[revious][!] [+cmd] [N]
|
||||
Go to [N]th previous buffer in buffer list. [N] defaults to
|
||||
one. Wraps around the start of the buffer list.
|
||||
See |:buffer-!| for [!] and 'switchbuf'.
|
||||
Also see ||+cmd|.
|
||||
Also see |+cmd|.
|
||||
|
||||
:[N]sbN[ext] [+cmd] [N] *:sbN* *:sbNext* *:sbp* *:sbprevious*
|
||||
:[N]sbp[revious] [+cmd] [N]
|
||||
Split window and go to [N]th previous buffer in buffer list.
|
||||
Wraps around the start of the buffer list.
|
||||
Uses 'switchbuf'.
|
||||
Also see ||+cmd|.
|
||||
Also see |+cmd|.
|
||||
|
||||
:br[ewind][!] [+cmd] *:br* *:brewind*
|
||||
Go to first buffer in buffer list. If the buffer list is
|
||||
|
||||
@@ -76,6 +76,16 @@ Change the character encoding in the righthand column from ASCII to EBCDIC.
|
||||
This does not change the hexadecimal representation. The option is
|
||||
meaningless in combinations with \-r, \-p or \-i.
|
||||
.TP
|
||||
.IR \-e
|
||||
Switch to little-endian hexdump.
|
||||
This option treats byte groups as words in little-endian byte order.
|
||||
The default grouping of 4 bytes may be changed using
|
||||
.RI "" \-g .
|
||||
This option only applies to hexdump, leaving the ASCII (or EBCDIC)
|
||||
representation unchanged.
|
||||
The command line switches
|
||||
\-r, \-p, \-i do not work with this mode.
|
||||
.TP
|
||||
.IR "\-g bytes " | " \-groupsize bytes"
|
||||
separate the output of every
|
||||
.RI < bytes >
|
||||
@@ -84,7 +94,7 @@ Specify
|
||||
.I \-g 0
|
||||
to suppress grouping.
|
||||
.RI < Bytes "> defaults to " 2
|
||||
in normal mode and \fI1\fP in bits mode.
|
||||
in normal mode, \fI4\fP in little-endian mode and \fI1\fP in bits mode.
|
||||
Grouping does not apply to postscript or include style.
|
||||
.TP
|
||||
.IR \-h " | " \-help
|
||||
@@ -99,6 +109,11 @@ stop after writing
|
||||
.RI < len >
|
||||
octets.
|
||||
.TP
|
||||
.I \-o offset
|
||||
add
|
||||
.RI < offset >
|
||||
to the displayed file position.
|
||||
.TP
|
||||
.IR \-p " | " \-ps " | " \-postscript " | " \-plain
|
||||
output in postscript continuous hexdump style. Also known as plain hexdump
|
||||
style.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
XXD(1) XXD(1)
|
||||
XXD(1) General Commands Manual XXD(1)
|
||||
|
||||
|
||||
|
||||
@@ -14,30 +14,29 @@ DESCRIPTION
|
||||
xxd creates a hex dump of a given file or standard input. It can also
|
||||
convert a hex dump back to its original binary form. Like uuencode(1)
|
||||
and uudecode(1) it allows the transmission of binary data in a `mail-
|
||||
safe' ASCII representation, but has the advantage of decoding to stan-
|
||||
safe' ASCII representation, but has the advantage of decoding to stan‐
|
||||
dard output. Moreover, it can be used to perform binary file patching.
|
||||
|
||||
OPTIONS
|
||||
If no infile is given, standard input is read. If infile is specified
|
||||
as a `-' character, then input is taken from standard input. If no
|
||||
If no infile is given, standard input is read. If infile is specified
|
||||
as a `-' character, then input is taken from standard input. If no
|
||||
outfile is given (or a `-' character is in its place), results are sent
|
||||
to standard output.
|
||||
|
||||
Note that a "lazy" parser is used which does not check for more than
|
||||
the first option letter, unless the option is followed by a parameter.
|
||||
Spaces between a single option letter and its parameter are optional.
|
||||
Note that a "lazy" parser is used which does not check for more than
|
||||
the first option letter, unless the option is followed by a parameter.
|
||||
Spaces between a single option letter and its parameter are optional.
|
||||
Parameters to options can be specified in decimal, hexadecimal or octal
|
||||
notation. Thus -c8, -c 8, -c 010 and -cols 8 are all equivalent.
|
||||
|
||||
|
||||
-a | -autoskip
|
||||
toggle autoskip: A single '*' replaces nul-lines. Default off.
|
||||
toggle autoskip: A single '*' replaces nul-lines. Default off.
|
||||
|
||||
-b | -bits
|
||||
Switch to bits (binary digits) dump, rather than hexdump. This
|
||||
option writes octets as eight digits "1"s and "0"s instead of a
|
||||
normal hexadecimal dump. Each line is preceded by a line number
|
||||
in hexadecimal and followed by an ascii (or ebcdic) representa-
|
||||
in hexadecimal and followed by an ascii (or ebcdic) representa‐
|
||||
tion. The command line switches -r, -p, -i do not work with this
|
||||
mode.
|
||||
|
||||
@@ -50,25 +49,34 @@ OPTIONS
|
||||
to EBCDIC. This does not change the hexadecimal representation.
|
||||
The option is meaningless in combinations with -r, -p or -i.
|
||||
|
||||
-e Switch to little-endian hexdump. This option treats byte groups
|
||||
as words in little-endian byte order. The default grouping of 4
|
||||
bytes may be changed using -g. This option only applies to hex‐
|
||||
dump, leaving the ASCII (or EBCDIC) representation unchanged.
|
||||
The command line switches -r, -p, -i do not work with this mode.
|
||||
|
||||
-g bytes | -groupsize bytes
|
||||
separate the output of every <bytes> bytes (two hex characters
|
||||
or eight bit-digits each) by a whitespace. Specify -g 0 to sup-
|
||||
press grouping. <Bytes> defaults to 2 in normal mode and 1 in
|
||||
bits mode. Grouping does not apply to postscript or include
|
||||
style.
|
||||
or eight bit-digits each) by a whitespace. Specify -g 0 to sup‐
|
||||
press grouping. <Bytes> defaults to 2 in normal mode, 4 in lit‐
|
||||
tle-endian mode and 1 in bits mode. Grouping does not apply to
|
||||
postscript or include style.
|
||||
|
||||
-h | -help
|
||||
print a summary of available commands and exit. No hex dumping
|
||||
is performed.
|
||||
|
||||
-i | -include
|
||||
output in C include file style. A complete static array defini-
|
||||
output in C include file style. A complete static array defini‐
|
||||
tion is written (named after the input file), unless xxd reads
|
||||
from stdin.
|
||||
|
||||
-l len | -len len
|
||||
stop after writing <len> octets.
|
||||
|
||||
-o offset
|
||||
add <offset> to the displayed file position.
|
||||
|
||||
-p | -ps | -postscript | -plain
|
||||
output in postscript continuous hexdump style. Also known as
|
||||
plain hexdump style.
|
||||
@@ -76,8 +84,8 @@ OPTIONS
|
||||
-r | -revert
|
||||
reverse operation: convert (or patch) hexdump into binary. If
|
||||
not writing to stdout, xxd writes into its output file without
|
||||
truncating it. Use the combination -r -p to read plain hexadeci-
|
||||
mal dumps without line number information and without a particu-
|
||||
truncating it. Use the combination -r -p to read plain hexadeci‐
|
||||
mal dumps without line number information and without a particu‐
|
||||
lar column layout. Additional Whitespace and line-breaks are
|
||||
allowed anywhere.
|
||||
|
||||
@@ -101,7 +109,7 @@ OPTIONS
|
||||
CAVEATS
|
||||
xxd -r has some builtin magic while evaluating line number information.
|
||||
If the output file is seekable, then the linenumbers at the start of
|
||||
each hexdump line may be out of order, lines may be missing, or over-
|
||||
each hexdump line may be out of order, lines may be missing, or over‐
|
||||
lapping. In these cases xxd will lseek(2) to the next position. If the
|
||||
output file is not seekable, only gaps are allowed, which will be
|
||||
filled by null-bytes.
|
||||
@@ -112,8 +120,8 @@ CAVEATS
|
||||
input line after reading enough columns of hexadecimal data (see option
|
||||
-c). This also means, that changes to the printable ascii (or ebcdic)
|
||||
columns are always ignored. Reverting a plain (or postscript) style
|
||||
hexdump with xxd -r -p does not depend on the correct number of col-
|
||||
umns. Here anything that looks like a pair of hex-digits is inter-
|
||||
hexdump with xxd -r -p does not depend on the correct number of col‐
|
||||
umns. Here anything that looks like a pair of hex-digits is inter‐
|
||||
preted.
|
||||
|
||||
Note the difference between
|
||||
@@ -218,7 +226,6 @@ EXAMPLES
|
||||
% stty < /dev/term/b -echo -opost -isig -icanon min 1
|
||||
% echo -n foo > /dev/term/b
|
||||
|
||||
|
||||
RETURN VALUES
|
||||
The following error values are returned:
|
||||
|
||||
@@ -256,7 +263,4 @@ AUTHOR
|
||||
<tony@sctnugen.ppp.gu.edu.au> <T.Nugent@sct.gu.edu.au>
|
||||
Small changes by Bram Moolenaar. Edited by Juergen Weigert.
|
||||
|
||||
|
||||
|
||||
|
||||
Manual page for xxd August 1996 XXD(1)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim support file to detect file types
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2015 Jan 14
|
||||
" Last Change: 2015 Sep 22
|
||||
|
||||
" Listen very carefully, I will say this only once
|
||||
if exists("did_load_filetypes")
|
||||
@@ -143,7 +143,7 @@ au BufNewFile,BufRead .arch-inventory,=tagging-method setf arch
|
||||
au BufNewFile,BufRead *.art setf art
|
||||
|
||||
" AsciiDoc
|
||||
au BufNewFile,BufRead *.asciidoc setf asciidoc
|
||||
au BufNewFile,BufRead *.asciidoc,*.adoc setf asciidoc
|
||||
|
||||
" ASN.1
|
||||
au BufNewFile,BufRead *.asn,*.asn1 setf asn
|
||||
@@ -499,7 +499,7 @@ au BufNewFile,BufRead *.prg
|
||||
\ endif
|
||||
|
||||
" Clojure
|
||||
au BufNewFile,BufRead *.clj,*.cljs setf clojure
|
||||
au BufNewFile,BufRead *.clj,*.cljs,*.cljx,*.cljc setf clojure
|
||||
|
||||
" Cmake
|
||||
au BufNewFile,BufRead CMakeLists.txt,*.cmake,*.cmake.in setf cmake
|
||||
@@ -776,10 +776,9 @@ au BufNewFile,BufRead *.mo,*.gdmo setf gdmo
|
||||
au BufNewFile,BufRead *.ged,lltxxxxx.txt setf gedcom
|
||||
|
||||
" Git
|
||||
au BufNewFile,BufRead *.git/COMMIT_EDITMSG setf gitcommit
|
||||
au BufNewFile,BufRead *.git/MERGE_MSG setf gitcommit
|
||||
au BufNewFile,BufRead COMMIT_EDITMSG setf gitcommit
|
||||
au BufNewFile,BufRead MERGE_MSG setf gitcommit
|
||||
au BufNewFile,BufRead *.git/config,.gitconfig,.gitmodules setf gitconfig
|
||||
au BufNewFile,BufRead *.git/modules/*/COMMIT_EDITMSG setf gitcommit
|
||||
au BufNewFile,BufRead *.git/modules/*/config setf gitconfig
|
||||
au BufNewFile,BufRead */.config/git/config setf gitconfig
|
||||
if !empty($XDG_CONFIG_HOME)
|
||||
@@ -827,7 +826,7 @@ au BufNewFile,BufRead *.gs setf grads
|
||||
au BufNewFile,BufRead *.gretl setf gretl
|
||||
|
||||
" Groovy
|
||||
au BufNewFile,BufRead *.groovy setf groovy
|
||||
au BufNewFile,BufRead *.gradle,*.groovy setf groovy
|
||||
|
||||
" GNU Server Pages
|
||||
au BufNewFile,BufRead *.gsp setf gsp
|
||||
@@ -873,7 +872,7 @@ func! s:FThtml()
|
||||
setf xhtml
|
||||
return
|
||||
endif
|
||||
if getline(n) =~ '{%\s*\(extends\|block\|load\)\>'
|
||||
if getline(n) =~ '{%\s*\(extends\|block\|load\)\>\|{#\s\+'
|
||||
setf htmldjango
|
||||
return
|
||||
endif
|
||||
@@ -1169,7 +1168,7 @@ func! s:FTm()
|
||||
let n = 1
|
||||
while n < 10
|
||||
let line = getline(n)
|
||||
if line =~ '^\s*\(#\s*\(include\|import\)\>\|/\*\|//\)'
|
||||
if line =~ '^\s*\(#\s*\(include\|import\)\>\|@import\>\|/\*\|//\)'
|
||||
setf objc
|
||||
return
|
||||
endif
|
||||
@@ -1267,8 +1266,8 @@ au BufNewFile,BufRead */etc/modules.conf,*/etc/modules,*/etc/conf.modules setf m
|
||||
" Mplayer config
|
||||
au BufNewFile,BufRead mplayer.conf,*/.mplayer/config setf mplayerconf
|
||||
|
||||
" Moterola S record
|
||||
au BufNewFile,BufRead *.s19,*.s28,*.s37 setf srec
|
||||
" Motorola S record
|
||||
au BufNewFile,BufRead *.s19,*.s28,*.s37,*.mot,*.srec setf srec
|
||||
|
||||
" Mrxvtrc
|
||||
au BufNewFile,BufRead mrxvtrc,.mrxvtrc setf mrxvtrc
|
||||
@@ -1295,7 +1294,7 @@ au BufNewFile,BufRead *.mush setf mush
|
||||
au BufNewFile,BufRead Mutt{ng,}rc setf muttrc
|
||||
|
||||
" Nano
|
||||
au BufNewFile,BufRead */etc/nanorc,.nanorc setf nanorc
|
||||
au BufNewFile,BufRead */etc/nanorc,*.nanorc setf nanorc
|
||||
|
||||
" Nastran input/DMAP
|
||||
"au BufNewFile,BufRead *.dat setf nastran
|
||||
@@ -1337,7 +1336,7 @@ func! s:FTmm()
|
||||
let n = 1
|
||||
while n < 10
|
||||
let line = getline(n)
|
||||
if line =~ '^\s*\(#\s*\(include\|import\)\>\|/\*\)'
|
||||
if line =~ '^\s*\(#\s*\(include\|import\)\>\|@import\>\|/\*\)'
|
||||
setf objcpp
|
||||
return
|
||||
endif
|
||||
@@ -1859,7 +1858,7 @@ au BufNewFile,BufRead sgml.catalog* call s:StarSetf('catalog')
|
||||
|
||||
" Shell scripts (sh, ksh, bash, bash2, csh); Allow .profile_foo etc.
|
||||
" Gentoo ebuilds are actually bash scripts
|
||||
au BufNewFile,BufRead .bashrc*,bashrc,bash.bashrc,.bash_profile*,.bash_logout*,.bash_aliases*,*.bash,*.ebuild call SetFileTypeSH("bash")
|
||||
au BufNewFile,BufRead .bashrc*,bashrc,bash.bashrc,.bash[_-]profile*,.bash[_-]logout*,.bash[_-]aliases*,*.bash,*/{,.}bash[_-]completion{,.d,.sh}{,/*},*.ebuild,*.eclass call SetFileTypeSH("bash")
|
||||
au BufNewFile,BufRead .kshrc*,*.ksh call SetFileTypeSH("ksh")
|
||||
au BufNewFile,BufRead */etc/profile,.profile*,*.sh,*.env call SetFileTypeSH(getline(1))
|
||||
|
||||
@@ -2170,6 +2169,9 @@ au BufNewFile,BufRead *.tli setf tli
|
||||
" Telix Salt
|
||||
au BufNewFile,BufRead *.slt setf tsalt
|
||||
|
||||
" Tera Term Language
|
||||
au BufRead,BufNewFile *.ttl setf teraterm
|
||||
|
||||
" Terminfo
|
||||
au BufNewFile,BufRead *.ti setf terminfo
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" Language: J
|
||||
" Maintainer: David Bürgin <676c7473@gmail.com>
|
||||
" URL: https://github.com/glts/vim-j
|
||||
" Last Change: 2015-01-11
|
||||
" Last Change: 2015-03-27
|
||||
|
||||
if exists('b:did_ftplugin')
|
||||
finish
|
||||
@@ -16,12 +16,9 @@ setlocal iskeyword=48-57,A-Z,_,a-z
|
||||
setlocal comments=:NB.
|
||||
setlocal commentstring=NB.\ %s
|
||||
setlocal formatoptions-=t
|
||||
setlocal shiftwidth=2
|
||||
setlocal softtabstop=2
|
||||
setlocal expandtab
|
||||
setlocal matchpairs=(:)
|
||||
|
||||
let b:undo_ftplugin = 'setlocal matchpairs< expandtab< softtabstop< shiftwidth< formatoptions< commentstring< comments< iskeyword<'
|
||||
let b:undo_ftplugin = 'setlocal matchpairs< formatoptions< commentstring< comments< iskeyword<'
|
||||
|
||||
" Section movement with ]] ][ [[ []. The start/end patterns below are amended
|
||||
" inside the function in order to avoid matching on the current cursor line.
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
" Vim filetype plugin file
|
||||
" Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2008-07-09
|
||||
" Vim syntax file
|
||||
" Maintainer: Christian Brabandt <cb@256bit.org>
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2015-05-29
|
||||
" License: Vim (see :h license)
|
||||
" Repository: https://github.com/chrisbra/vim-kconfig
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
@@ -14,5 +18,10 @@ let b:undo_ftplugin = "setl com< cms< fo<"
|
||||
|
||||
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
|
||||
|
||||
" For matchit.vim
|
||||
if exists("loaded_matchit")
|
||||
let b:match_words = '^\<menu\>:\<endmenu\>,^\<if\>:\<endif\>,^\<choice\>:\<endchoice\>'
|
||||
endif
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" Filename: spec.vim
|
||||
" Maintainer: Igor Gnatenko i.gnatenko.brain@gmail.com
|
||||
" Former Maintainer: Gustavo Niemeyer <niemeyer@conectiva.com> (until March 2014)
|
||||
" Last Change: Sun Mar 2 11:24 MSK 2014 Igor Gnatenko
|
||||
" Last Change: Mon Jun 01 21:15 MSK 2015 Igor Gnatenko
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
@@ -18,13 +18,40 @@ if !exists("no_plugin_maps") && !exists("no_spec_maps")
|
||||
endif
|
||||
endif
|
||||
|
||||
noremap <buffer> <unique> <script> <Plug>SpecChangelog :call <SID>SpecChangelog("")<CR>
|
||||
if !hasmapto("call <SID>SpecChangelog(\"\")<CR>")
|
||||
noremap <buffer> <unique> <script> <Plug>SpecChangelog :call <SID>SpecChangelog("")<CR>
|
||||
endif
|
||||
|
||||
if !exists("*s:GetRelVer")
|
||||
function! s:GetRelVer()
|
||||
if has('python')
|
||||
python << PYEND
|
||||
import sys, datetime, shutil, tempfile
|
||||
import vim
|
||||
|
||||
try:
|
||||
import rpm
|
||||
except ImportError:
|
||||
pass
|
||||
else:
|
||||
specfile = vim.current.buffer.name
|
||||
if specfile:
|
||||
spec = rpm.spec(specfile)
|
||||
headers = spec.packages[0].header
|
||||
version = headers['Version']
|
||||
release = ".".join(headers['Release'].split(".")[:-1])
|
||||
vim.command("let ver = " + version)
|
||||
vim.command("let rel = " + release)
|
||||
PYEND
|
||||
endif
|
||||
endfunction
|
||||
endif
|
||||
|
||||
if !exists("*s:SpecChangelog")
|
||||
function s:SpecChangelog(format)
|
||||
if strlen(a:format) == 0
|
||||
if !exists("g:spec_chglog_format")
|
||||
let email = input("Email address: ")
|
||||
let email = input("Name <email address>: ")
|
||||
let g:spec_chglog_format = "%a %b %d %Y " . l:email
|
||||
echo "\r"
|
||||
endif
|
||||
@@ -69,6 +96,9 @@ if !exists("*s:SpecChangelog")
|
||||
else
|
||||
let include_release_info = 0
|
||||
endif
|
||||
|
||||
call s:GetRelVer()
|
||||
|
||||
if (chgline == -1)
|
||||
let option = confirm("Can't find %changelog. Create one? ","&End of file\n&Here\n&Cancel",3)
|
||||
if (option == 1)
|
||||
@@ -83,7 +113,7 @@ if !exists("*s:SpecChangelog")
|
||||
endif
|
||||
endif
|
||||
if (chgline != -1)
|
||||
let parsed_format = "* ".strftime(format)
|
||||
let parsed_format = "* ".strftime(format)." - ".ver."-".rel
|
||||
let release_info = "+ ".name."-".ver."-".rel
|
||||
let wrong_format = 0
|
||||
let wrong_release = 0
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: Zsh shell script
|
||||
" Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2011-01-23
|
||||
" Language: Zsh shell script
|
||||
" Maintainer: Christian Brabandt <cb@256bit.org>
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2015-05-29
|
||||
" License: Vim (see :h license)
|
||||
" Repository: https://github.com/chrisbra/vim-zsh
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" Header: "{{{
|
||||
" Maintainer: Bram Moolenaar
|
||||
" Original Author: Andy Wokula <anwoku@yahoo.de>
|
||||
" Last Change: 2015 Jan 11
|
||||
" Last Change: 2015 Sep 25
|
||||
" Version: 1.0
|
||||
" Description: HTML indent script with cached state for faster indenting on a
|
||||
" range of lines.
|
||||
@@ -94,7 +94,7 @@ func! HtmlIndent_CheckUserSettings()
|
||||
let autotags = g:html_indent_autotags
|
||||
endif
|
||||
let b:hi_removed_tags = {}
|
||||
if autotags
|
||||
if len(autotags) > 0
|
||||
call s:RemoveITags(b:hi_removed_tags, split(autotags, ","))
|
||||
endif
|
||||
|
||||
@@ -178,13 +178,15 @@ let s:countonly = 0
|
||||
" 3 "script"
|
||||
" 4 "style"
|
||||
" 5 comment start
|
||||
" 6 conditional comment start
|
||||
" -1 closing tag
|
||||
" -2 "/pre"
|
||||
" -3 "/script"
|
||||
" -4 "/style"
|
||||
" -5 comment end
|
||||
" -6 conditional comment end
|
||||
let s:indent_tags = {}
|
||||
let s:endtags = [0,0,0,0,0,0] " long enough for the highest index
|
||||
let s:endtags = [0,0,0,0,0,0,0] " long enough for the highest index
|
||||
"}}}
|
||||
|
||||
" Add a list of tag names for a pair of <tag> </tag> to "tags".
|
||||
@@ -245,6 +247,10 @@ call s:AddITags(s:indent_tags, [
|
||||
\ 'header', 'group', 'keygen', 'mark', 'math', 'meter', 'nav', 'output',
|
||||
\ 'progress', 'ruby', 'section', 'svg', 'texture', 'time', 'video',
|
||||
\ 'wbr', 'text'])
|
||||
|
||||
" Tags added for web components:
|
||||
call s:AddITags(s:indent_tags, [
|
||||
\ 'content', 'shadow', 'template'])
|
||||
"}}}
|
||||
|
||||
" Add Block Tags: these contain alien content
|
||||
@@ -253,6 +259,7 @@ call s:AddBlockTag('pre', 2)
|
||||
call s:AddBlockTag('script', 3)
|
||||
call s:AddBlockTag('style', 4)
|
||||
call s:AddBlockTag('<!--', 5, '-->')
|
||||
call s:AddBlockTag('<!--[', 6, '![endif]-->')
|
||||
"}}}
|
||||
|
||||
" Return non-zero when "tagname" is an opening tag, not being a block tag, for
|
||||
@@ -287,7 +294,7 @@ func! s:CountITags(text)
|
||||
let s:nextrel = 0 " relative indent steps for next line [unit &sw]:
|
||||
let s:block = 0 " assume starting outside of a block
|
||||
let s:countonly = 1 " don't change state
|
||||
call substitute(a:text, '<\zs/\=\w\+\>\|<!--\|-->', '\=s:CheckTag(submatch(0))', 'g')
|
||||
call substitute(a:text, '<\zs/\=\w\+\(-\w\+\)*\>\|<!--\[\|\[endif\]-->\|<!--\|-->', '\=s:CheckTag(submatch(0))', 'g')
|
||||
let s:countonly = 0
|
||||
endfunc "}}}
|
||||
|
||||
@@ -299,7 +306,7 @@ func! s:CountTagsAndState(text)
|
||||
let s:nextrel = 0 " relative indent steps for next line [unit &sw]:
|
||||
|
||||
let s:block = b:hi_newstate.block
|
||||
let tmp = substitute(a:text, '<\zs/\=\w\+\>\|<!--\|-->', '\=s:CheckTag(submatch(0))', 'g')
|
||||
let tmp = substitute(a:text, '<\zs/\=\w\+\(-\w\+\)*\>\|<!--\[\|\[endif\]-->\|<!--\|-->', '\=s:CheckTag(submatch(0))', 'g')
|
||||
if s:block == 3
|
||||
let b:hi_newstate.scripttype = s:GetScriptType(matchstr(tmp, '\C.*<SCRIPT\>\zs[^>]*'))
|
||||
endif
|
||||
@@ -311,6 +318,9 @@ func! s:CheckTag(itag)
|
||||
"{{{
|
||||
" Returns an empty string or "SCRIPT".
|
||||
" a:itag can be "tag" or "/tag" or "<!--" or "-->"
|
||||
if (s:CheckCustomTag(a:itag))
|
||||
return ""
|
||||
endif
|
||||
let ind = s:get_tag(a:itag)
|
||||
if ind == -1
|
||||
" closing tag
|
||||
@@ -365,6 +375,36 @@ func! s:CheckBlockTag(blocktag, ind)
|
||||
return ""
|
||||
endfunc "}}}
|
||||
|
||||
" Used by s:CheckTag().
|
||||
func! s:CheckCustomTag(ctag)
|
||||
"{{{
|
||||
" Returns 1 if ctag is the tag for a custom element, 0 otherwise.
|
||||
" a:ctag can be "tag" or "/tag" or "<!--" or "-->"
|
||||
let pattern = '\%\(\w\+-\)\+\w\+'
|
||||
if match(a:ctag, pattern) == -1
|
||||
return 0
|
||||
endif
|
||||
if matchstr(a:ctag, '\/\ze.\+') == "/"
|
||||
" closing tag
|
||||
if s:block != 0
|
||||
" ignore ctag within a block
|
||||
return 1
|
||||
endif
|
||||
if s:nextrel == 0
|
||||
let s:curind -= 1
|
||||
else
|
||||
let s:nextrel -= 1
|
||||
endif
|
||||
else
|
||||
" opening tag
|
||||
if s:block != 0
|
||||
return 1
|
||||
endif
|
||||
let s:nextrel += 1
|
||||
endif
|
||||
return 1
|
||||
endfunc "}}}
|
||||
|
||||
" Return the <script> type: either "javascript" or ""
|
||||
func! s:GetScriptType(str)
|
||||
"{{{
|
||||
@@ -388,7 +428,7 @@ func! s:FreshState(lnum)
|
||||
" State:
|
||||
" lnum last indented line == prevnonblank(a:lnum - 1)
|
||||
" block = 0 a:lnum located within special tag: 0:none, 2:<pre>,
|
||||
" 3:<script>, 4:<style>, 5:<!--
|
||||
" 3:<script>, 4:<style>, 5:<!--, 6:<!--[
|
||||
" baseindent use this indent for line a:lnum as a start - kind of
|
||||
" autoindent (if block==0)
|
||||
" scripttype = '' type attribute of a script tag (if block==3)
|
||||
@@ -427,10 +467,13 @@ func! s:FreshState(lnum)
|
||||
" FI
|
||||
|
||||
" look back for a blocktag
|
||||
call cursor(a:lnum, 1)
|
||||
let [stopline, stopcol] = searchpos('\c<\zs\/\=\%(pre\>\|script\>\|style\>\)', "bW")
|
||||
if stopline > 0
|
||||
" fugly ... why isn't there searchstr()
|
||||
let stopline2 = v:lnum + 1
|
||||
if has_key(b:hi_indent, 'block') && b:hi_indent.block > 5
|
||||
let [stopline2, stopcol2] = searchpos('<!--', 'bnW')
|
||||
endif
|
||||
let [stopline, stopcol] = searchpos('\c<\zs\/\=\%(pre\>\|script\>\|style\>\)', "bnW")
|
||||
if stopline > 0 && stopline < stopline2
|
||||
" ugly ... why isn't there searchstr()
|
||||
let tagline = tolower(getline(stopline))
|
||||
let blocktag = matchstr(tagline, '\/\=\%(pre\>\|script\>\|style\>\)', stopcol - 1)
|
||||
if blocktag[0] != "/"
|
||||
@@ -450,23 +493,29 @@ func! s:FreshState(lnum)
|
||||
" blocktag == "/..."
|
||||
let swendtag = match(tagline, '^\s*</') >= 0
|
||||
if !swendtag
|
||||
let [bline, bcol] = searchpos('<'.blocktag[1:].'\>', "bW")
|
||||
let [bline, bcol] = searchpos('<'.blocktag[1:].'\>', "bnW")
|
||||
call s:CountITags(tolower(getline(bline)[: bcol-2]))
|
||||
let state.baseindent = indent(bline) + (s:curind + s:nextrel) * s:ShiftWidth()
|
||||
return state
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
if stopline > stopline2
|
||||
let stopline = stopline2
|
||||
let stopcol = stopcol2
|
||||
endif
|
||||
|
||||
" else look back for comment
|
||||
call cursor(a:lnum, 1)
|
||||
let [comlnum, comcol, found] = searchpos('\(<!--\)\|-->', 'bpW', stopline)
|
||||
if found == 2
|
||||
let [comlnum, comcol, found] = searchpos('\(<!--\[\)\|\(<!--\)\|-->', 'bpnW', stopline)
|
||||
if found == 2 || found == 3
|
||||
" comment opener found, assume a:lnum within comment
|
||||
let state.block = 5
|
||||
let state.block = (found == 3 ? 5 : 6)
|
||||
let state.blocklnr = comlnum
|
||||
" check preceding tags in the line:
|
||||
call s:CountITags(tolower(getline(comlnum)[: comcol-2]))
|
||||
if found == 2
|
||||
let state.baseindent = b:hi_indent.baseindent
|
||||
endif
|
||||
let state.blocktagind = indent(comlnum) + (s:curind + s:nextrel) * s:ShiftWidth()
|
||||
return state
|
||||
endif
|
||||
@@ -782,6 +831,20 @@ func! s:Alien5()
|
||||
return indent(prevlnum)
|
||||
endfunc "}}}
|
||||
|
||||
" Return the indent for conditional comment: <!--[ ![endif]-->
|
||||
func! s:Alien6()
|
||||
"{{{
|
||||
let curtext = getline(v:lnum)
|
||||
if curtext =~ '\s*\zs<!\[endif\]-->'
|
||||
" current line starts with end of comment, line up with comment start.
|
||||
let lnum = search('<!--', 'bn')
|
||||
if lnum > 0
|
||||
return indent(lnum)
|
||||
endif
|
||||
endif
|
||||
return b:hi_indent.baseindent + s:ShiftWidth()
|
||||
endfunc "}}}
|
||||
|
||||
" When the "lnum" line ends in ">" find the line containing the matching "<".
|
||||
func! HtmlIndent_FindTagStart(lnum)
|
||||
"{{{
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim indent file
|
||||
" Language: Javascript
|
||||
" Maintainer: None! Wanna improve this?
|
||||
" Last Change: 2007 Jan 22
|
||||
" Maintainer: Going to be Darrick Wiebe
|
||||
" Last Change: 2015 Jun 09
|
||||
|
||||
" Only load this indent file when no other was loaded.
|
||||
if exists("b:did_indent")
|
||||
@@ -12,5 +12,7 @@ let b:did_indent = 1
|
||||
" C indenting is not too bad.
|
||||
setlocal cindent
|
||||
setlocal cinoptions+=j1,J1
|
||||
setlocal cinkeys-=0#
|
||||
setlocal cinkeys+=0]
|
||||
|
||||
let b:undo_indent = "setl cin<"
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
" Vim indent file
|
||||
" Language: R
|
||||
" Author: Jakson Alves de Aquino <jalvesaq@gmail.com>
|
||||
" Last Change: Fri Feb 15, 2013 08:11PM
|
||||
" Last Change: Thu Mar 26, 2015 05:36PM
|
||||
|
||||
|
||||
" Only load this indent file when no other was loaded.
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
finish
|
||||
endif
|
||||
let b:did_indent = 1
|
||||
|
||||
@@ -15,478 +15,501 @@ setlocal indentexpr=GetRIndent()
|
||||
|
||||
" Only define the function once.
|
||||
if exists("*GetRIndent")
|
||||
finish
|
||||
finish
|
||||
endif
|
||||
|
||||
" Options to make the indentation more similar to Emacs/ESS:
|
||||
if !exists("g:r_indent_align_args")
|
||||
let g:r_indent_align_args = 1
|
||||
let g:r_indent_align_args = 1
|
||||
endif
|
||||
if !exists("g:r_indent_ess_comments")
|
||||
let g:r_indent_ess_comments = 0
|
||||
let g:r_indent_ess_comments = 0
|
||||
endif
|
||||
if !exists("g:r_indent_comment_column")
|
||||
let g:r_indent_comment_column = 40
|
||||
let g:r_indent_comment_column = 40
|
||||
endif
|
||||
if ! exists("g:r_indent_ess_compatible")
|
||||
let g:r_indent_ess_compatible = 0
|
||||
let g:r_indent_ess_compatible = 0
|
||||
endif
|
||||
if ! exists("g:r_indent_op_pattern")
|
||||
let g:r_indent_op_pattern = '\(+\|-\|\*\|/\|=\|\~\|%\)$'
|
||||
endif
|
||||
|
||||
function s:RDelete_quotes(line)
|
||||
let i = 0
|
||||
let j = 0
|
||||
let line1 = ""
|
||||
let llen = strlen(a:line)
|
||||
while i < llen
|
||||
if a:line[i] == '"'
|
||||
let i += 1
|
||||
let line1 = line1 . 's'
|
||||
while !(a:line[i] == '"' && ((i > 1 && a:line[i-1] == '\' && a:line[i-2] == '\') || a:line[i-1] != '\')) && i < llen
|
||||
let i += 1
|
||||
endwhile
|
||||
if a:line[i] == '"'
|
||||
let i += 1
|
||||
endif
|
||||
else
|
||||
if a:line[i] == "'"
|
||||
let i += 1
|
||||
let line1 = line1 . 's'
|
||||
while !(a:line[i] == "'" && ((i > 1 && a:line[i-1] == '\' && a:line[i-2] == '\') || a:line[i-1] != '\')) && i < llen
|
||||
let i += 1
|
||||
endwhile
|
||||
if a:line[i] == "'"
|
||||
let i += 1
|
||||
endif
|
||||
else
|
||||
if a:line[i] == "`"
|
||||
let i += 1
|
||||
let line1 = line1 . 's'
|
||||
while a:line[i] != "`" && i < llen
|
||||
let i += 1
|
||||
endwhile
|
||||
if a:line[i] == "`"
|
||||
let i += 1
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
if i == llen
|
||||
break
|
||||
endif
|
||||
let line1 = line1 . a:line[i]
|
||||
let j += 1
|
||||
let i = 0
|
||||
let j = 0
|
||||
let line1 = ""
|
||||
let llen = strlen(a:line)
|
||||
while i < llen
|
||||
if a:line[i] == '"'
|
||||
let i += 1
|
||||
let line1 = line1 . 's'
|
||||
while !(a:line[i] == '"' && ((i > 1 && a:line[i-1] == '\' && a:line[i-2] == '\') || a:line[i-1] != '\')) && i < llen
|
||||
let i += 1
|
||||
endwhile
|
||||
return line1
|
||||
endwhile
|
||||
if a:line[i] == '"'
|
||||
let i += 1
|
||||
endif
|
||||
else
|
||||
if a:line[i] == "'"
|
||||
let i += 1
|
||||
let line1 = line1 . 's'
|
||||
while !(a:line[i] == "'" && ((i > 1 && a:line[i-1] == '\' && a:line[i-2] == '\') || a:line[i-1] != '\')) && i < llen
|
||||
let i += 1
|
||||
endwhile
|
||||
if a:line[i] == "'"
|
||||
let i += 1
|
||||
endif
|
||||
else
|
||||
if a:line[i] == "`"
|
||||
let i += 1
|
||||
let line1 = line1 . 's'
|
||||
while a:line[i] != "`" && i < llen
|
||||
let i += 1
|
||||
endwhile
|
||||
if a:line[i] == "`"
|
||||
let i += 1
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
if i == llen
|
||||
break
|
||||
endif
|
||||
let line1 = line1 . a:line[i]
|
||||
let j += 1
|
||||
let i += 1
|
||||
endwhile
|
||||
return line1
|
||||
endfunction
|
||||
|
||||
" Convert foo(bar()) int foo()
|
||||
function s:RDelete_parens(line)
|
||||
if s:Get_paren_balance(a:line, "(", ")") != 0
|
||||
return a:line
|
||||
endif
|
||||
let i = 0
|
||||
let j = 0
|
||||
let line1 = ""
|
||||
let llen = strlen(a:line)
|
||||
while i < llen
|
||||
let line1 = line1 . a:line[i]
|
||||
if a:line[i] == '('
|
||||
let nop = 1
|
||||
while nop > 0 && i < llen
|
||||
let i += 1
|
||||
if a:line[i] == ')'
|
||||
let nop -= 1
|
||||
else
|
||||
if a:line[i] == '('
|
||||
let nop += 1
|
||||
endif
|
||||
endif
|
||||
endwhile
|
||||
let line1 = line1 . a:line[i]
|
||||
endif
|
||||
if s:Get_paren_balance(a:line, "(", ")") != 0
|
||||
return a:line
|
||||
endif
|
||||
let i = 0
|
||||
let j = 0
|
||||
let line1 = ""
|
||||
let llen = strlen(a:line)
|
||||
while i < llen
|
||||
let line1 = line1 . a:line[i]
|
||||
if a:line[i] == '('
|
||||
let nop = 1
|
||||
while nop > 0 && i < llen
|
||||
let i += 1
|
||||
endwhile
|
||||
return line1
|
||||
if a:line[i] == ')'
|
||||
let nop -= 1
|
||||
else
|
||||
if a:line[i] == '('
|
||||
let nop += 1
|
||||
endif
|
||||
endif
|
||||
endwhile
|
||||
let line1 = line1 . a:line[i]
|
||||
endif
|
||||
let i += 1
|
||||
endwhile
|
||||
return line1
|
||||
endfunction
|
||||
|
||||
function! s:Get_paren_balance(line, o, c)
|
||||
let line2 = substitute(a:line, a:o, "", "g")
|
||||
let openp = strlen(a:line) - strlen(line2)
|
||||
let line3 = substitute(line2, a:c, "", "g")
|
||||
let closep = strlen(line2) - strlen(line3)
|
||||
return openp - closep
|
||||
let line2 = substitute(a:line, a:o, "", "g")
|
||||
let openp = strlen(a:line) - strlen(line2)
|
||||
let line3 = substitute(line2, a:c, "", "g")
|
||||
let closep = strlen(line2) - strlen(line3)
|
||||
return openp - closep
|
||||
endfunction
|
||||
|
||||
function! s:Get_matching_brace(linenr, o, c, delbrace)
|
||||
let line = SanitizeRLine(getline(a:linenr))
|
||||
if a:delbrace == 1
|
||||
let line = substitute(line, '{$', "", "")
|
||||
endif
|
||||
let pb = s:Get_paren_balance(line, a:o, a:c)
|
||||
let i = a:linenr
|
||||
while pb != 0 && i > 1
|
||||
let i -= 1
|
||||
let pb += s:Get_paren_balance(SanitizeRLine(getline(i)), a:o, a:c)
|
||||
endwhile
|
||||
return i
|
||||
let line = SanitizeRLine(getline(a:linenr))
|
||||
if a:delbrace == 1
|
||||
let line = substitute(line, '{$', "", "")
|
||||
endif
|
||||
let pb = s:Get_paren_balance(line, a:o, a:c)
|
||||
let i = a:linenr
|
||||
while pb != 0 && i > 1
|
||||
let i -= 1
|
||||
let pb += s:Get_paren_balance(SanitizeRLine(getline(i)), a:o, a:c)
|
||||
endwhile
|
||||
return i
|
||||
endfunction
|
||||
|
||||
" This function is buggy because there 'if's without 'else'
|
||||
" It must be rewritten relying more on indentation
|
||||
function! s:Get_matching_if(linenr, delif)
|
||||
" let filenm = expand("%")
|
||||
" call writefile([filenm], "/tmp/matching_if_" . a:linenr)
|
||||
let line = SanitizeRLine(getline(a:linenr))
|
||||
if a:delif
|
||||
let line = substitute(line, "if", "", "g")
|
||||
endif
|
||||
let elsenr = 0
|
||||
let i = a:linenr
|
||||
let ifhere = 0
|
||||
while i > 0
|
||||
let line2 = substitute(line, '\<else\>', "xxx", "g")
|
||||
let elsenr += strlen(line) - strlen(line2)
|
||||
if line =~ '.*\s*if\s*()' || line =~ '.*\s*if\s*()'
|
||||
let elsenr -= 1
|
||||
if elsenr == 0
|
||||
let ifhere = i
|
||||
break
|
||||
endif
|
||||
endif
|
||||
let i -= 1
|
||||
let line = SanitizeRLine(getline(i))
|
||||
endwhile
|
||||
if ifhere
|
||||
return ifhere
|
||||
else
|
||||
return a:linenr
|
||||
let line = SanitizeRLine(getline(a:linenr))
|
||||
if a:delif
|
||||
let line = substitute(line, "if", "", "g")
|
||||
endif
|
||||
let elsenr = 0
|
||||
let i = a:linenr
|
||||
let ifhere = 0
|
||||
while i > 0
|
||||
let line2 = substitute(line, '\<else\>', "xxx", "g")
|
||||
let elsenr += strlen(line) - strlen(line2)
|
||||
if line =~ '.*\s*if\s*()' || line =~ '.*\s*if\s*()'
|
||||
let elsenr -= 1
|
||||
if elsenr == 0
|
||||
let ifhere = i
|
||||
break
|
||||
endif
|
||||
endif
|
||||
let i -= 1
|
||||
let line = SanitizeRLine(getline(i))
|
||||
endwhile
|
||||
if ifhere
|
||||
return ifhere
|
||||
else
|
||||
return a:linenr
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! s:Get_last_paren_idx(line, o, c, pb)
|
||||
let blc = a:pb
|
||||
let line = substitute(a:line, '\t', s:curtabstop, "g")
|
||||
let theidx = -1
|
||||
let llen = strlen(line)
|
||||
let idx = 0
|
||||
while idx < llen
|
||||
if line[idx] == a:o
|
||||
let blc -= 1
|
||||
if blc == 0
|
||||
let theidx = idx
|
||||
endif
|
||||
else
|
||||
if line[idx] == a:c
|
||||
let blc += 1
|
||||
endif
|
||||
endif
|
||||
let idx += 1
|
||||
endwhile
|
||||
return theidx + 1
|
||||
let blc = a:pb
|
||||
let line = substitute(a:line, '\t', s:curtabstop, "g")
|
||||
let theidx = -1
|
||||
let llen = strlen(line)
|
||||
let idx = 0
|
||||
while idx < llen
|
||||
if line[idx] == a:o
|
||||
let blc -= 1
|
||||
if blc == 0
|
||||
let theidx = idx
|
||||
endif
|
||||
else
|
||||
if line[idx] == a:c
|
||||
let blc += 1
|
||||
endif
|
||||
endif
|
||||
let idx += 1
|
||||
endwhile
|
||||
return theidx + 1
|
||||
endfunction
|
||||
|
||||
" Get previous relevant line. Search back until getting a line that isn't
|
||||
" comment or blank
|
||||
function s:Get_prev_line(lineno)
|
||||
let lnum = a:lineno - 1
|
||||
let lnum = a:lineno - 1
|
||||
let data = getline( lnum )
|
||||
while lnum > 0 && (data =~ '^\s*#' || data =~ '^\s*$')
|
||||
let lnum = lnum - 1
|
||||
let data = getline( lnum )
|
||||
while lnum > 0 && (data =~ '^\s*#' || data =~ '^\s*$')
|
||||
let lnum = lnum - 1
|
||||
let data = getline( lnum )
|
||||
endwhile
|
||||
return lnum
|
||||
endwhile
|
||||
return lnum
|
||||
endfunction
|
||||
|
||||
" This function is also used by r-plugin/common_global.vim
|
||||
" Delete from '#' to the end of the line, unless the '#' is inside a string.
|
||||
function SanitizeRLine(line)
|
||||
let newline = s:RDelete_quotes(a:line)
|
||||
let newline = s:RDelete_parens(newline)
|
||||
let newline = substitute(newline, '#.*', "", "")
|
||||
let newline = substitute(newline, '\s*$', "", "")
|
||||
return newline
|
||||
let newline = s:RDelete_quotes(a:line)
|
||||
let newline = s:RDelete_parens(newline)
|
||||
let newline = substitute(newline, '#.*', "", "")
|
||||
let newline = substitute(newline, '\s*$', "", "")
|
||||
if &filetype == "rhelp" && newline =~ '^\\method{.*}{.*}(.*'
|
||||
let newline = substitute(newline, '^\\method{\(.*\)}{.*}', '\1', "")
|
||||
endif
|
||||
return newline
|
||||
endfunction
|
||||
|
||||
function GetRIndent()
|
||||
|
||||
let clnum = line(".") " current line
|
||||
let clnum = line(".") " current line
|
||||
|
||||
let cline = getline(clnum)
|
||||
if cline =~ '^\s*#'
|
||||
if g:r_indent_ess_comments == 1
|
||||
if cline =~ '^\s*###'
|
||||
return 0
|
||||
endif
|
||||
if cline !~ '^\s*##'
|
||||
return g:r_indent_comment_column
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
let cline = SanitizeRLine(cline)
|
||||
|
||||
if cline =~ '^\s*}' || cline =~ '^\s*}\s*)$'
|
||||
let indline = s:Get_matching_brace(clnum, '{', '}', 1)
|
||||
if indline > 0 && indline != clnum
|
||||
let iline = SanitizeRLine(getline(indline))
|
||||
if s:Get_paren_balance(iline, "(", ")") == 0 || iline =~ '(\s*{$'
|
||||
return indent(indline)
|
||||
else
|
||||
let indline = s:Get_matching_brace(indline, '(', ')', 1)
|
||||
return indent(indline)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
" Find the first non blank line above the current line
|
||||
let lnum = s:Get_prev_line(clnum)
|
||||
" Hit the start of the file, use zero indent.
|
||||
if lnum == 0
|
||||
let cline = getline(clnum)
|
||||
if cline =~ '^\s*#'
|
||||
if g:r_indent_ess_comments == 1
|
||||
if cline =~ '^\s*###'
|
||||
return 0
|
||||
endif
|
||||
if cline !~ '^\s*##'
|
||||
return g:r_indent_comment_column
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
let line = SanitizeRLine(getline(lnum))
|
||||
let cline = SanitizeRLine(cline)
|
||||
|
||||
if &filetype == "rhelp"
|
||||
if cline =~ '^\\dontshow{' || cline =~ '^\\dontrun{' || cline =~ '^\\donttest{' || cline =~ '^\\testonly{'
|
||||
return 0
|
||||
endif
|
||||
if line =~ '^\\examples{' || line =~ '^\\usage{' || line =~ '^\\dontshow{' || line =~ '^\\dontrun{' || line =~ '^\\donttest{' || line =~ '^\\testonly{'
|
||||
return 0
|
||||
endif
|
||||
if line =~ '^\\method{.*}{.*}(.*'
|
||||
let line = substitute(line, '^\\method{\(.*\)}{.*}', '\1', "")
|
||||
endif
|
||||
if cline =~ '^\s*}' || cline =~ '^\s*}\s*)$'
|
||||
let indline = s:Get_matching_brace(clnum, '{', '}', 1)
|
||||
if indline > 0 && indline != clnum
|
||||
let iline = SanitizeRLine(getline(indline))
|
||||
if s:Get_paren_balance(iline, "(", ")") == 0 || iline =~ '(\s*{$'
|
||||
return indent(indline)
|
||||
else
|
||||
let indline = s:Get_matching_brace(indline, '(', ')', 1)
|
||||
return indent(indline)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
if cline =~ '^\s*{'
|
||||
if g:r_indent_ess_compatible && line =~ ')$'
|
||||
let nlnum = lnum
|
||||
let nline = line
|
||||
while s:Get_paren_balance(nline, '(', ')') < 0
|
||||
let nlnum = s:Get_prev_line(nlnum)
|
||||
let nline = SanitizeRLine(getline(nlnum)) . nline
|
||||
endwhile
|
||||
if nline =~ '^\s*function\s*(' && indent(nlnum) == &sw
|
||||
return 0
|
||||
endif
|
||||
endif
|
||||
if s:Get_paren_balance(line, "(", ")") == 0
|
||||
return indent(lnum)
|
||||
endif
|
||||
" Find the first non blank line above the current line
|
||||
let lnum = s:Get_prev_line(clnum)
|
||||
" Hit the start of the file, use zero indent.
|
||||
if lnum == 0
|
||||
return 0
|
||||
endif
|
||||
|
||||
let line = SanitizeRLine(getline(lnum))
|
||||
|
||||
if &filetype == "rhelp"
|
||||
if cline =~ '^\\dontshow{' || cline =~ '^\\dontrun{' || cline =~ '^\\donttest{' || cline =~ '^\\testonly{'
|
||||
return 0
|
||||
endif
|
||||
|
||||
" line is an incomplete command:
|
||||
if line =~ '\<\(if\|while\|for\|function\)\s*()$' || line =~ '\<else$' || line =~ '<-$'
|
||||
return indent(lnum) + &sw
|
||||
if line =~ '^\\examples{' || line =~ '^\\usage{' || line =~ '^\\dontshow{' || line =~ '^\\dontrun{' || line =~ '^\\donttest{' || line =~ '^\\testonly{'
|
||||
return 0
|
||||
endif
|
||||
endif
|
||||
|
||||
" Deal with () and []
|
||||
if &filetype == "rnoweb" && line =~ "^<<.*>>="
|
||||
return 0
|
||||
endif
|
||||
|
||||
let pb = s:Get_paren_balance(line, '(', ')')
|
||||
if cline =~ '^\s*{'
|
||||
if g:r_indent_ess_compatible && line =~ ')$'
|
||||
let nlnum = lnum
|
||||
let nline = line
|
||||
while s:Get_paren_balance(nline, '(', ')') < 0
|
||||
let nlnum = s:Get_prev_line(nlnum)
|
||||
let nline = SanitizeRLine(getline(nlnum)) . nline
|
||||
endwhile
|
||||
if nline =~ '^\s*function\s*(' && indent(nlnum) == &sw
|
||||
return 0
|
||||
endif
|
||||
endif
|
||||
if s:Get_paren_balance(line, "(", ")") == 0
|
||||
return indent(lnum)
|
||||
endif
|
||||
endif
|
||||
|
||||
if line =~ '^\s*{$' || line =~ '(\s*{' || (pb == 0 && (line =~ '{$' || line =~ '(\s*{$'))
|
||||
return indent(lnum) + &sw
|
||||
" line is an incomplete command:
|
||||
if line =~ '\<\(if\|while\|for\|function\)\s*()$' || line =~ '\<else$' || line =~ '<-$'
|
||||
return indent(lnum) + &sw
|
||||
endif
|
||||
|
||||
" Deal with () and []
|
||||
|
||||
let pb = s:Get_paren_balance(line, '(', ')')
|
||||
|
||||
if line =~ '^\s*{$' || line =~ '(\s*{' || (pb == 0 && (line =~ '{$' || line =~ '(\s*{$'))
|
||||
return indent(lnum) + &sw
|
||||
endif
|
||||
|
||||
let s:curtabstop = repeat(' ', &tabstop)
|
||||
|
||||
if g:r_indent_align_args == 1
|
||||
if pb > 0 && line =~ '{$'
|
||||
return s:Get_last_paren_idx(line, '(', ')', pb) + &sw
|
||||
endif
|
||||
|
||||
let bb = s:Get_paren_balance(line, '[', ']')
|
||||
|
||||
let s:curtabstop = repeat(' ', &tabstop)
|
||||
if g:r_indent_align_args == 1
|
||||
|
||||
if pb == 0 && bb == 0 && (line =~ '.*[,&|\-\*+<>]$' || cline =~ '^\s*[,&|\-\*+<>]')
|
||||
return indent(lnum)
|
||||
endif
|
||||
|
||||
if pb > 0
|
||||
if &filetype == "rhelp"
|
||||
let ind = s:Get_last_paren_idx(line, '(', ')', pb)
|
||||
else
|
||||
let ind = s:Get_last_paren_idx(getline(lnum), '(', ')', pb)
|
||||
endif
|
||||
return ind
|
||||
endif
|
||||
|
||||
if pb < 0 && line =~ '.*[,&|\-\*+<>]$'
|
||||
let lnum = s:Get_prev_line(lnum)
|
||||
while pb < 1 && lnum > 0
|
||||
let line = SanitizeRLine(getline(lnum))
|
||||
let line = substitute(line, '\t', s:curtabstop, "g")
|
||||
let ind = strlen(line)
|
||||
while ind > 0
|
||||
if line[ind] == ')'
|
||||
let pb -= 1
|
||||
else
|
||||
if line[ind] == '('
|
||||
let pb += 1
|
||||
endif
|
||||
endif
|
||||
if pb == 1
|
||||
return ind + 1
|
||||
endif
|
||||
let ind -= 1
|
||||
endwhile
|
||||
let lnum -= 1
|
||||
endwhile
|
||||
return 0
|
||||
endif
|
||||
|
||||
if bb > 0
|
||||
let ind = s:Get_last_paren_idx(getline(lnum), '[', ']', bb)
|
||||
return ind
|
||||
endif
|
||||
if pb > 0
|
||||
if &filetype == "rhelp"
|
||||
let ind = s:Get_last_paren_idx(line, '(', ')', pb)
|
||||
else
|
||||
let ind = s:Get_last_paren_idx(getline(lnum), '(', ')', pb)
|
||||
endif
|
||||
return ind
|
||||
endif
|
||||
|
||||
let post_block = 0
|
||||
if line =~ '}$'
|
||||
let lnum = s:Get_matching_brace(lnum, '{', '}', 0)
|
||||
if pb < 0 && line =~ '.*[,&|\-\*+<>]$'
|
||||
let lnum = s:Get_prev_line(lnum)
|
||||
while pb < 1 && lnum > 0
|
||||
let line = SanitizeRLine(getline(lnum))
|
||||
if lnum > 0 && line =~ '^\s*{'
|
||||
let lnum = s:Get_prev_line(lnum)
|
||||
let line = SanitizeRLine(getline(lnum))
|
||||
endif
|
||||
let pb = s:Get_paren_balance(line, '(', ')')
|
||||
let post_block = 1
|
||||
endif
|
||||
|
||||
let post_fun = 0
|
||||
if pb < 0 && line !~ ')\s*[,&|\-\*+<>]$'
|
||||
let post_fun = 1
|
||||
while pb < 0 && lnum > 0
|
||||
let lnum -= 1
|
||||
let linepiece = SanitizeRLine(getline(lnum))
|
||||
let pb += s:Get_paren_balance(linepiece, "(", ")")
|
||||
let line = linepiece . line
|
||||
endwhile
|
||||
if line =~ '{$' && post_block == 0
|
||||
return indent(lnum) + &sw
|
||||
endif
|
||||
|
||||
" Now we can do some tests again
|
||||
if cline =~ '^\s*{'
|
||||
return indent(lnum)
|
||||
endif
|
||||
if post_block == 0
|
||||
let newl = SanitizeRLine(line)
|
||||
if newl =~ '\<\(if\|while\|for\|function\)\s*()$' || newl =~ '\<else$' || newl =~ '<-$'
|
||||
return indent(lnum) + &sw
|
||||
let line = substitute(line, '\t', s:curtabstop, "g")
|
||||
let ind = strlen(line)
|
||||
while ind > 0
|
||||
if line[ind] == ')'
|
||||
let pb -= 1
|
||||
else
|
||||
if line[ind] == '('
|
||||
let pb += 1
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
if cline =~ '^\s*else'
|
||||
if line =~ '<-\s*if\s*()'
|
||||
return indent(lnum) + &sw
|
||||
else
|
||||
if line =~ '\<if\s*()'
|
||||
return indent(lnum)
|
||||
else
|
||||
return indent(lnum) - &sw
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
if bb < 0 && line =~ '.*]'
|
||||
while bb < 0 && lnum > 0
|
||||
let lnum -= 1
|
||||
let linepiece = SanitizeRLine(getline(lnum))
|
||||
let bb += s:Get_paren_balance(linepiece, "[", "]")
|
||||
let line = linepiece . line
|
||||
endif
|
||||
if pb == 1
|
||||
return ind + 1
|
||||
endif
|
||||
let ind -= 1
|
||||
endwhile
|
||||
let line = s:RDelete_parens(line)
|
||||
let lnum -= 1
|
||||
endwhile
|
||||
return 0
|
||||
endif
|
||||
|
||||
let plnum = s:Get_prev_line(lnum)
|
||||
let ppost_else = 0
|
||||
if plnum > 0
|
||||
let pline = SanitizeRLine(getline(plnum))
|
||||
let ppost_block = 0
|
||||
if pline =~ '}$'
|
||||
let ppost_block = 1
|
||||
let plnum = s:Get_matching_brace(plnum, '{', '}', 0)
|
||||
let pline = SanitizeRLine(getline(plnum))
|
||||
if pline =~ '^\s*{$' && plnum > 0
|
||||
let plnum = s:Get_prev_line(plnum)
|
||||
let pline = SanitizeRLine(getline(plnum))
|
||||
endif
|
||||
endif
|
||||
|
||||
if pline =~ 'else$'
|
||||
let ppost_else = 1
|
||||
let plnum = s:Get_matching_if(plnum, 0)
|
||||
let pline = SanitizeRLine(getline(plnum))
|
||||
endif
|
||||
|
||||
if pline =~ '^\s*else\s*if\s*('
|
||||
let pplnum = s:Get_prev_line(plnum)
|
||||
let ppline = SanitizeRLine(getline(pplnum))
|
||||
while ppline =~ '^\s*else\s*if\s*(' || ppline =~ '^\s*if\s*()\s*\S$'
|
||||
let plnum = pplnum
|
||||
let pline = ppline
|
||||
let pplnum = s:Get_prev_line(plnum)
|
||||
let ppline = SanitizeRLine(getline(pplnum))
|
||||
endwhile
|
||||
while ppline =~ '\<\(if\|while\|for\|function\)\s*()$' || ppline =~ '\<else$' || ppline =~ '<-$'
|
||||
let plnum = pplnum
|
||||
let pline = ppline
|
||||
let pplnum = s:Get_prev_line(plnum)
|
||||
let ppline = SanitizeRLine(getline(pplnum))
|
||||
endwhile
|
||||
endif
|
||||
|
||||
let ppb = s:Get_paren_balance(pline, '(', ')')
|
||||
if ppb < 0 && (pline =~ ')\s*{$' || pline =~ ')$')
|
||||
while ppb < 0 && plnum > 0
|
||||
let plnum -= 1
|
||||
let linepiece = SanitizeRLine(getline(plnum))
|
||||
let ppb += s:Get_paren_balance(linepiece, "(", ")")
|
||||
let pline = linepiece . pline
|
||||
endwhile
|
||||
let pline = s:RDelete_parens(pline)
|
||||
endif
|
||||
if bb > 0
|
||||
let ind = s:Get_last_paren_idx(getline(lnum), '[', ']', bb)
|
||||
return ind
|
||||
endif
|
||||
endif
|
||||
|
||||
let ind = indent(lnum)
|
||||
let pind = indent(plnum)
|
||||
|
||||
if g:r_indent_align_args == 0 && pb != 0
|
||||
let ind += pb * &sw
|
||||
return ind
|
||||
let post_block = 0
|
||||
if line =~ '}$'
|
||||
let lnum = s:Get_matching_brace(lnum, '{', '}', 0)
|
||||
let line = SanitizeRLine(getline(lnum))
|
||||
if lnum > 0 && line =~ '^\s*{'
|
||||
let lnum = s:Get_prev_line(lnum)
|
||||
let line = SanitizeRLine(getline(lnum))
|
||||
endif
|
||||
let pb = s:Get_paren_balance(line, '(', ')')
|
||||
let post_block = 1
|
||||
endif
|
||||
|
||||
if g:r_indent_align_args == 0 && bb != 0
|
||||
let ind += bb * &sw
|
||||
return ind
|
||||
" Indent after operator pattern
|
||||
let olnum = s:Get_prev_line(lnum)
|
||||
let oline = getline(olnum)
|
||||
if olnum > 0
|
||||
if line =~ g:r_indent_op_pattern
|
||||
if oline =~ g:r_indent_op_pattern
|
||||
return indent(lnum)
|
||||
else
|
||||
return indent(lnum) + &sw
|
||||
endif
|
||||
else
|
||||
if oline =~ g:r_indent_op_pattern
|
||||
return indent(lnum) - &sw
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
if ind == pind || (ind == (pind + &sw) && pline =~ '{$' && ppost_else == 0)
|
||||
return ind
|
||||
endif
|
||||
|
||||
let pline = getline(plnum)
|
||||
let pbb = s:Get_paren_balance(pline, '[', ']')
|
||||
|
||||
while pind < ind && plnum > 0 && ppb == 0 && pbb == 0
|
||||
let ind = pind
|
||||
let plnum = s:Get_prev_line(plnum)
|
||||
let pline = getline(plnum)
|
||||
let ppb = s:Get_paren_balance(pline, '(', ')')
|
||||
let pbb = s:Get_paren_balance(pline, '[', ']')
|
||||
while pline =~ '^\s*else'
|
||||
let plnum = s:Get_matching_if(plnum, 1)
|
||||
let pline = getline(plnum)
|
||||
let ppb = s:Get_paren_balance(pline, '(', ')')
|
||||
let pbb = s:Get_paren_balance(pline, '[', ']')
|
||||
endwhile
|
||||
let pind = indent(plnum)
|
||||
if ind == (pind + &sw) && pline =~ '{$'
|
||||
return ind
|
||||
endif
|
||||
let post_fun = 0
|
||||
if pb < 0 && line !~ ')\s*[,&|\-\*+<>]$'
|
||||
let post_fun = 1
|
||||
while pb < 0 && lnum > 0
|
||||
let lnum -= 1
|
||||
let linepiece = SanitizeRLine(getline(lnum))
|
||||
let pb += s:Get_paren_balance(linepiece, "(", ")")
|
||||
let line = linepiece . line
|
||||
endwhile
|
||||
if line =~ '{$' && post_block == 0
|
||||
return indent(lnum) + &sw
|
||||
endif
|
||||
|
||||
" Now we can do some tests again
|
||||
if cline =~ '^\s*{'
|
||||
return indent(lnum)
|
||||
endif
|
||||
if post_block == 0
|
||||
let newl = SanitizeRLine(line)
|
||||
if newl =~ '\<\(if\|while\|for\|function\)\s*()$' || newl =~ '\<else$' || newl =~ '<-$'
|
||||
return indent(lnum) + &sw
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
if cline =~ '^\s*else'
|
||||
if line =~ '<-\s*if\s*()'
|
||||
return indent(lnum) + &sw
|
||||
else
|
||||
if line =~ '\<if\s*()'
|
||||
return indent(lnum)
|
||||
else
|
||||
return indent(lnum) - &sw
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
let bb = s:Get_paren_balance(line, '[', ']')
|
||||
if bb < 0 && line =~ '.*]'
|
||||
while bb < 0 && lnum > 0
|
||||
let lnum -= 1
|
||||
let linepiece = SanitizeRLine(getline(lnum))
|
||||
let bb += s:Get_paren_balance(linepiece, "[", "]")
|
||||
let line = linepiece . line
|
||||
endwhile
|
||||
let line = s:RDelete_parens(line)
|
||||
endif
|
||||
|
||||
let plnum = s:Get_prev_line(lnum)
|
||||
let ppost_else = 0
|
||||
if plnum > 0
|
||||
let pline = SanitizeRLine(getline(plnum))
|
||||
let ppost_block = 0
|
||||
if pline =~ '}$'
|
||||
let ppost_block = 1
|
||||
let plnum = s:Get_matching_brace(plnum, '{', '}', 0)
|
||||
let pline = SanitizeRLine(getline(plnum))
|
||||
if pline =~ '^\s*{$' && plnum > 0
|
||||
let plnum = s:Get_prev_line(plnum)
|
||||
let pline = SanitizeRLine(getline(plnum))
|
||||
endif
|
||||
endif
|
||||
|
||||
if pline =~ 'else$'
|
||||
let ppost_else = 1
|
||||
let plnum = s:Get_matching_if(plnum, 0)
|
||||
let pline = SanitizeRLine(getline(plnum))
|
||||
endif
|
||||
|
||||
if pline =~ '^\s*else\s*if\s*('
|
||||
let pplnum = s:Get_prev_line(plnum)
|
||||
let ppline = SanitizeRLine(getline(pplnum))
|
||||
while ppline =~ '^\s*else\s*if\s*(' || ppline =~ '^\s*if\s*()\s*\S$'
|
||||
let plnum = pplnum
|
||||
let pline = ppline
|
||||
let pplnum = s:Get_prev_line(plnum)
|
||||
let ppline = SanitizeRLine(getline(pplnum))
|
||||
endwhile
|
||||
while ppline =~ '\<\(if\|while\|for\|function\)\s*()$' || ppline =~ '\<else$' || ppline =~ '<-$'
|
||||
let plnum = pplnum
|
||||
let pline = ppline
|
||||
let pplnum = s:Get_prev_line(plnum)
|
||||
let ppline = SanitizeRLine(getline(pplnum))
|
||||
endwhile
|
||||
endif
|
||||
|
||||
let ppb = s:Get_paren_balance(pline, '(', ')')
|
||||
if ppb < 0 && (pline =~ ')\s*{$' || pline =~ ')$')
|
||||
while ppb < 0 && plnum > 0
|
||||
let plnum -= 1
|
||||
let linepiece = SanitizeRLine(getline(plnum))
|
||||
let ppb += s:Get_paren_balance(linepiece, "(", ")")
|
||||
let pline = linepiece . pline
|
||||
endwhile
|
||||
let pline = s:RDelete_parens(pline)
|
||||
endif
|
||||
endif
|
||||
|
||||
let ind = indent(lnum)
|
||||
let pind = indent(plnum)
|
||||
|
||||
if g:r_indent_align_args == 0 && pb != 0
|
||||
let ind += pb * &sw
|
||||
return ind
|
||||
endif
|
||||
|
||||
if g:r_indent_align_args == 0 && bb != 0
|
||||
let ind += bb * &sw
|
||||
return ind
|
||||
endif
|
||||
|
||||
if ind == pind || (ind == (pind + &sw) && pline =~ '{$' && ppost_else == 0)
|
||||
return ind
|
||||
endif
|
||||
|
||||
let pline = getline(plnum)
|
||||
let pbb = s:Get_paren_balance(pline, '[', ']')
|
||||
|
||||
while pind < ind && plnum > 0 && ppb == 0 && pbb == 0
|
||||
let ind = pind
|
||||
let plnum = s:Get_prev_line(plnum)
|
||||
let pline = getline(plnum)
|
||||
let ppb = s:Get_paren_balance(pline, '(', ')')
|
||||
let pbb = s:Get_paren_balance(pline, '[', ']')
|
||||
while pline =~ '^\s*else'
|
||||
let plnum = s:Get_matching_if(plnum, 1)
|
||||
let pline = getline(plnum)
|
||||
let ppb = s:Get_paren_balance(pline, '(', ')')
|
||||
let pbb = s:Get_paren_balance(pline, '[', ']')
|
||||
endwhile
|
||||
let pind = indent(plnum)
|
||||
if ind == (pind + &sw) && pline =~ '{$'
|
||||
return ind
|
||||
endif
|
||||
endwhile
|
||||
|
||||
return ind
|
||||
|
||||
endfunction
|
||||
|
||||
" vim: sw=4
|
||||
" vim: sw=2
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim indent file
|
||||
" Language: R Documentation (Help), *.Rd
|
||||
" Author: Jakson Alves de Aquino <jalvesaq@gmail.com>
|
||||
" Last Change: Wed Jul 09, 2014 07:34PM
|
||||
" Last Change: Thu Oct 16, 2014 07:07AM
|
||||
|
||||
|
||||
" Only load this indent file when no other was loaded.
|
||||
@@ -12,22 +12,18 @@ runtime indent/r.vim
|
||||
let s:RIndent = function(substitute(&indentexpr, "()", "", ""))
|
||||
let b:did_indent = 1
|
||||
|
||||
setlocal indentkeys=0{,0},:,!^F,o,O,e
|
||||
setlocal indentexpr=GetRHelpIndent()
|
||||
|
||||
" Only define the function once.
|
||||
if exists("*GetRHelpIndent")
|
||||
finish
|
||||
endif
|
||||
|
||||
setlocal noautoindent
|
||||
setlocal nocindent
|
||||
setlocal nosmartindent
|
||||
setlocal nolisp
|
||||
|
||||
setlocal indentkeys=0{,0},:,!^F,o,O,e
|
||||
setlocal indentexpr=GetCorrectRHelpIndent()
|
||||
|
||||
" Only define the functions once.
|
||||
if exists("*GetRHelpIndent")
|
||||
finish
|
||||
endif
|
||||
|
||||
function s:SanitizeRHelpLine(line)
|
||||
let newline = substitute(a:line, '\\\\', "x", "g")
|
||||
let newline = substitute(newline, '\\{', "x", "g")
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim indent file
|
||||
" Language: Rmd
|
||||
" Author: Jakson Alves de Aquino <jalvesaq@gmail.com>
|
||||
" Last Change: Wed Jul 09, 2014 07:33PM
|
||||
" Last Change: Thu Jul 10, 2014 07:11PM
|
||||
|
||||
|
||||
" Only load this indent file when no other was loaded.
|
||||
@@ -33,10 +33,10 @@ function GetMdIndent()
|
||||
endfunction
|
||||
|
||||
function GetRmdIndent()
|
||||
if getline(".") =~ '^```{r .*}$' || getline(".") =~ '^```$'
|
||||
if getline(".") =~ '^[ \t]*```{r .*}$' || getline(".") =~ '^[ \t]*```$'
|
||||
return 0
|
||||
endif
|
||||
if search('^```{r', "bncW") > search('^```$', "bncW")
|
||||
if search('^[ \t]*```{r', "bncW") > search('^[ \t]*```$', "bncW")
|
||||
return s:RIndent()
|
||||
else
|
||||
return GetMdIndent()
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim indent file
|
||||
" Language: Rnoweb
|
||||
" Author: Jakson Alves de Aquino <jalvesaq@gmail.com>
|
||||
" Last Change: Wed Jul 09, 2014 07:28PM
|
||||
" Last Change: Sun Mar 22, 2015 09:28AM
|
||||
|
||||
|
||||
" Only load this indent file when no other was loaded.
|
||||
@@ -23,7 +23,8 @@ if exists("*GetRnowebIndent")
|
||||
endif
|
||||
|
||||
function GetRnowebIndent()
|
||||
if getline(".") =~ "^<<.*>>=$"
|
||||
let curline = getline(".")
|
||||
if curline =~ '^<<.*>>=$' || curline =~ '^\s*@$'
|
||||
return 0
|
||||
endif
|
||||
if search("^<<", "bncW") > search("^@", "bncW")
|
||||
|
||||
@@ -1,8 +1,11 @@
|
||||
" Vim indent file
|
||||
" Language: Shell Script
|
||||
" Maintainer: Peter Aronoff <telemachus@arpinum.org>
|
||||
" Original Author: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2014-08-22
|
||||
" Language: Shell Script
|
||||
" Maintainer: Christian Brabandt <cb@256bit.org>
|
||||
" Previous Maintainer: Peter Aronoff <telemachus@arpinum.org>
|
||||
" Original Author: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2015-07-28
|
||||
" License: Vim (see :h license)
|
||||
" Repository: https://github.com/chrisbra/vim-sh-indent
|
||||
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
@@ -10,7 +13,7 @@ endif
|
||||
let b:did_indent = 1
|
||||
|
||||
setlocal indentexpr=GetShIndent()
|
||||
setlocal indentkeys+=0=then,0=do,0=else,0=elif,0=fi,0=esac,0=done,),0=;;,0=;&
|
||||
setlocal indentkeys+=0=then,0=do,0=else,0=elif,0=fi,0=esac,0=done,0=end,),0=;;,0=;&
|
||||
setlocal indentkeys+=0=fin,0=fil,0=fip,0=fir,0=fix
|
||||
setlocal indentkeys-=:,0#
|
||||
setlocal nosmartindent
|
||||
@@ -54,8 +57,8 @@ function! GetShIndent()
|
||||
|
||||
let ind = indent(lnum)
|
||||
let line = getline(lnum)
|
||||
if line =~ '^\s*\%(if\|then\|do\|else\|elif\|case\|while\|until\|for\|select\)\>'
|
||||
if line !~ '\<\%(fi\|esac\|done\)\>\s*\%(#.*\)\=$'
|
||||
if line =~ '^\s*\%(if\|then\|do\|else\|elif\|case\|while\|until\|for\|select\|foreach\)\>'
|
||||
if line !~ '\<\%(fi\|esac\|done\|end\)\>\s*\%(#.*\)\=$'
|
||||
let ind += s:indent_value('default')
|
||||
endif
|
||||
elseif s:is_case_label(line, pnum)
|
||||
@@ -76,7 +79,7 @@ function! GetShIndent()
|
||||
|
||||
let pine = line
|
||||
let line = getline(v:lnum)
|
||||
if line =~ '^\s*\%(then\|do\|else\|elif\|fi\|done\)\>' || line =~ '^\s*}'
|
||||
if line =~ '^\s*\%(then\|do\|else\|elif\|fi\|done\|end\)\>' || line =~ '^\s*}'
|
||||
let ind -= s:indent_value('default')
|
||||
elseif line =~ '^\s*esac\>' && s:is_case_empty(getline(v:lnum - 1))
|
||||
let ind -= s:indent_value('default')
|
||||
|
||||
67
runtime/indent/teraterm.vim
Normal file
67
runtime/indent/teraterm.vim
Normal file
@@ -0,0 +1,67 @@
|
||||
" Vim indent file
|
||||
" Language: Tera Term Language (TTL)
|
||||
" Based on Tera Term Version 4.86
|
||||
" Maintainer: Ken Takata
|
||||
" URL: https://github.com/k-takata/vim-teraterm
|
||||
" Last Change: 2015 Jun 4
|
||||
" Filenames: *.ttl
|
||||
" License: VIM License
|
||||
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
endif
|
||||
let b:did_indent = 1
|
||||
|
||||
setlocal nosmartindent
|
||||
setlocal noautoindent
|
||||
setlocal indentexpr=GetTeraTermIndent(v:lnum)
|
||||
setlocal indentkeys=!^F,o,O,e
|
||||
setlocal indentkeys+==elseif,=endif,=loop,=next,=enduntil,=endwhile
|
||||
|
||||
if exists("*GetTeraTermIndent")
|
||||
finish
|
||||
endif
|
||||
|
||||
" The shiftwidth() function is relatively new.
|
||||
" Don't require it to exist.
|
||||
if exists('*shiftwidth')
|
||||
function s:sw() abort
|
||||
return shiftwidth()
|
||||
endfunction
|
||||
else
|
||||
function s:sw() abort
|
||||
return &shiftwidth
|
||||
endfunction
|
||||
endif
|
||||
|
||||
function! GetTeraTermIndent(lnum)
|
||||
let l:prevlnum = prevnonblank(a:lnum-1)
|
||||
if l:prevlnum == 0
|
||||
" top of file
|
||||
return 0
|
||||
endif
|
||||
|
||||
" grab the previous and current line, stripping comments.
|
||||
let l:prevl = substitute(getline(l:prevlnum), ';.*$', '', '')
|
||||
let l:thisl = substitute(getline(a:lnum), ';.*$', '', '')
|
||||
let l:previ = indent(l:prevlnum)
|
||||
|
||||
let l:ind = l:previ
|
||||
|
||||
if l:prevl =~ '^\s*if\>.*\<then\s*$'
|
||||
" previous line opened a block
|
||||
let l:ind += s:sw()
|
||||
endif
|
||||
if l:prevl =~ '^\s*\%(elseif\|else\|do\|until\|while\|for\)\>'
|
||||
" previous line opened a block
|
||||
let l:ind += s:sw()
|
||||
endif
|
||||
if l:thisl =~ '^\s*\%(elseif\|else\|endif\|enduntil\|endwhile\|loop\|next\)\>'
|
||||
" this line closed a block
|
||||
let l:ind -= s:sw()
|
||||
endif
|
||||
|
||||
return l:ind
|
||||
endfunction
|
||||
|
||||
" vim: ts=8 sw=2 sts=2
|
||||
@@ -1,6 +1,7 @@
|
||||
" Vim indent file
|
||||
" Language: YAML
|
||||
" Maintainer: Nikolai Pavlov <zyx.vim@gmail.com>
|
||||
" Last Change: 2015 Sep 25
|
||||
|
||||
" Only load this indent file when no other was loaded.
|
||||
if exists('b:did_indent')
|
||||
@@ -115,8 +116,13 @@ function GetYAMLIndent(lnum)
|
||||
\ s:liststartregex))
|
||||
elseif line =~# s:mapkeyregex
|
||||
" Same for line containing mapping key
|
||||
return indent(s:FindPrevLEIndentedLineMatchingRegex(a:lnum,
|
||||
\ s:mapkeyregex))
|
||||
let prevmapline = s:FindPrevLEIndentedLineMatchingRegex(a:lnum,
|
||||
\ s:mapkeyregex)
|
||||
if getline(prevmapline) =~# '^\s*- '
|
||||
return indent(prevmapline) + 2
|
||||
else
|
||||
return indent(prevmapline)
|
||||
endif
|
||||
elseif prevline =~# '^\s*- '
|
||||
" - List with
|
||||
" multiline scalar
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
" Vim indent file
|
||||
" Language: Zsh Shell Script
|
||||
" Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2006-04-19
|
||||
" Language: Zsh shell script
|
||||
" Maintainer: Christian Brabandt <cb@256bit.org>
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2015-05-29
|
||||
" License: Vim (see :h license)
|
||||
" Repository: https://github.com/chrisbra/vim-zsh
|
||||
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
|
||||
104
runtime/keymap/russian-jcukenwintype.vim
Normal file
104
runtime/keymap/russian-jcukenwintype.vim
Normal file
@@ -0,0 +1,104 @@
|
||||
" Vim Keymap file for russian characters, layout 'jcuken', MS Windows variant
|
||||
" (slightly incompatible with XFree86 'ru' keymap - makes use of NUMERO SIGN)
|
||||
" Useful mainly with utf-8 but may work with other encodings
|
||||
|
||||
" Derived from russian-jcuken.vim by Artem Chuprina <ran@ran.pp.ru>
|
||||
" Typewriter variant of standart russian layout
|
||||
" Maintainer: Denis Proskurin <danwerspb@gmail.com>
|
||||
" Last Changed: 2015 May 15
|
||||
|
||||
" All characters are given literally, conversion to another encoding (e.g.,
|
||||
" UTF-8) should work.
|
||||
|
||||
scriptencoding utf-8
|
||||
|
||||
let b:keymap_name = "ru"
|
||||
|
||||
loadkeymap
|
||||
~ + CYRILLIC CAPITAL LETTER IO
|
||||
` | CYRILLIC SMALL LETTER IO
|
||||
F А CYRILLIC CAPITAL LETTER A
|
||||
< Б CYRILLIC CAPITAL LETTER BE
|
||||
D В CYRILLIC CAPITAL LETTER VE
|
||||
U Г CYRILLIC CAPITAL LETTER GHE
|
||||
L Д CYRILLIC CAPITAL LETTER DE
|
||||
T Е CYRILLIC CAPITAL LETTER IE
|
||||
: Ж CYRILLIC CAPITAL LETTER ZHE
|
||||
P З CYRILLIC CAPITAL LETTER ZE
|
||||
B И CYRILLIC CAPITAL LETTER I
|
||||
Q Й CYRILLIC CAPITAL LETTER SHORT I
|
||||
R К CYRILLIC CAPITAL LETTER KA
|
||||
K Л CYRILLIC CAPITAL LETTER EL
|
||||
V М CYRILLIC CAPITAL LETTER EM
|
||||
Y Н CYRILLIC CAPITAL LETTER EN
|
||||
J О CYRILLIC CAPITAL LETTER O
|
||||
G П CYRILLIC CAPITAL LETTER PE
|
||||
H Р CYRILLIC CAPITAL LETTER ER
|
||||
C С CYRILLIC CAPITAL LETTER ES
|
||||
N Т CYRILLIC CAPITAL LETTER TE
|
||||
E У CYRILLIC CAPITAL LETTER U
|
||||
A Ф CYRILLIC CAPITAL LETTER EF
|
||||
{ Х CYRILLIC CAPITAL LETTER HA
|
||||
W Ц CYRILLIC CAPITAL LETTER TSE
|
||||
X Ч CYRILLIC CAPITAL LETTER CHE
|
||||
I Ш CYRILLIC CAPITAL LETTER SHA
|
||||
O Щ CYRILLIC CAPITAL LETTER SHCHA
|
||||
} Ъ CYRILLIC CAPITAL LETTER HARD SIGN
|
||||
S Ы CYRILLIC CAPITAL LETTER YERU
|
||||
M Ь CYRILLIC CAPITAL LETTER SOFT SIGN
|
||||
\" Э CYRILLIC CAPITAL LETTER E
|
||||
> Ю CYRILLIC CAPITAL LETTER YU
|
||||
Z Я CYRILLIC CAPITAL LETTER YA
|
||||
f а CYRILLIC SMALL LETTER A
|
||||
, б CYRILLIC SMALL LETTER BE
|
||||
d в CYRILLIC SMALL LETTER VE
|
||||
u г CYRILLIC SMALL LETTER GHE
|
||||
l д CYRILLIC SMALL LETTER DE
|
||||
t е CYRILLIC SMALL LETTER IE
|
||||
; ж CYRILLIC SMALL LETTER ZHE
|
||||
p з CYRILLIC SMALL LETTER ZE
|
||||
b и CYRILLIC SMALL LETTER I
|
||||
q й CYRILLIC SMALL LETTER SHORT I
|
||||
r к CYRILLIC SMALL LETTER KA
|
||||
k л CYRILLIC SMALL LETTER EL
|
||||
v м CYRILLIC SMALL LETTER EM
|
||||
y н CYRILLIC SMALL LETTER EN
|
||||
j о CYRILLIC SMALL LETTER O
|
||||
g п CYRILLIC SMALL LETTER PE
|
||||
h р CYRILLIC SMALL LETTER ER
|
||||
c с CYRILLIC SMALL LETTER ES
|
||||
n т CYRILLIC SMALL LETTER TE
|
||||
e у CYRILLIC SMALL LETTER U
|
||||
a ф CYRILLIC SMALL LETTER EF
|
||||
[ х CYRILLIC SMALL LETTER HA
|
||||
w ц CYRILLIC SMALL LETTER TSE
|
||||
x ч CYRILLIC SMALL LETTER CHE
|
||||
i ш CYRILLIC SMALL LETTER SHA
|
||||
o щ CYRILLIC SMALL LETTER SHCHA
|
||||
] ъ CYRILLIC SMALL LETTER HARD SIGN
|
||||
s ы CYRILLIC SMALL LETTER YERU
|
||||
m ь CYRILLIC SMALL LETTER SOFT SIGN
|
||||
' э CYRILLIC SMALL LETTER E
|
||||
. ю CYRILLIC SMALL LETTER YU
|
||||
z я CYRILLIC SMALL LETTER YA
|
||||
@ "
|
||||
# № NUMERO SIGN
|
||||
$ ;
|
||||
^ :
|
||||
& ?
|
||||
/ ё
|
||||
? Ё
|
||||
1 №
|
||||
2 -
|
||||
3 /
|
||||
4 "
|
||||
5 :
|
||||
6 ,
|
||||
7 .
|
||||
8 _
|
||||
9 ?
|
||||
0 %
|
||||
- !
|
||||
= ;
|
||||
\\ )
|
||||
\| (
|
||||
@@ -303,7 +303,7 @@ fun! s:CleanUp(options, mode, startline, startcol, ...)
|
||||
let regexp = s:Wholematch(matchline, a:1, currcol-1)
|
||||
let endcol = matchend(matchline, regexp)
|
||||
if endcol > currcol " This is NOT off by one!
|
||||
execute "normal!" . (endcol - currcol) . "l"
|
||||
call cursor(0, endcol)
|
||||
endif
|
||||
endif " a:0
|
||||
endif " a:mode != "o" && etc.
|
||||
|
||||
@@ -177,6 +177,7 @@ SynMenu DE.Doxygen.C\ with\ doxygen:c.doxygen
|
||||
SynMenu DE.Doxygen.C++\ with\ doxygen:cpp.doxygen
|
||||
SynMenu DE.Doxygen.IDL\ with\ doxygen:idl.doxygen
|
||||
SynMenu DE.Doxygen.Java\ with\ doxygen:java.doxygen
|
||||
SynMenu DE.Doxygen.DataScript\ with\ doxygen:datascript.doxygen
|
||||
SynMenu DE.Dracula:dracula
|
||||
SynMenu DE.DSSSL:dsl
|
||||
SynMenu DE.DTD:dtd
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" These commands create the option window.
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2014 Nov 19
|
||||
" Last Change: 2015 Jul 22
|
||||
|
||||
" If there already is an option window, jump to that one.
|
||||
if bufwinnr("option-window") > 0
|
||||
@@ -705,6 +705,8 @@ call append("$", "errorbells\tring the bell for error messages")
|
||||
call <SID>BinOptionG("eb", &eb)
|
||||
call append("$", "visualbell\tuse a visual bell instead of beeping")
|
||||
call <SID>BinOptionG("vb", &vb)
|
||||
call append("$", "belloff\tdo not ring the bell for these reasons")
|
||||
call <SID>OptionG("belloff", &belloff)
|
||||
if has("multi_lang")
|
||||
call append("$", "helplang\tlist of preferred languages for finding help")
|
||||
call <SID>OptionG("hlg", &hlg)
|
||||
@@ -954,6 +956,9 @@ call <SID>BinOptionL("bin")
|
||||
call append("$", "endofline\tlast line in the file has an end-of-line")
|
||||
call append("$", "\t(local to buffer)")
|
||||
call <SID>BinOptionL("eol")
|
||||
call append("$", "fixendofline\tfixes missing end-of-line at end of text file")
|
||||
call append("$", "\t(local to buffer)")
|
||||
call <SID>BinOptionL("fixeol")
|
||||
if has("multi_byte")
|
||||
call append("$", "bomb\tprepend a Byte Order Mark to the file")
|
||||
call append("$", "\t(local to buffer)")
|
||||
|
||||
@@ -5,6 +5,7 @@ Look in the file for hints on how it can be disabled without deleting it.
|
||||
|
||||
getscriptPlugin.vim get latest version of Vim scripts
|
||||
gzip.vim edit compressed files
|
||||
logiPat.vim logical operators on patterns
|
||||
matchparen.vim highlight paren matching the one under the cursor
|
||||
netrwPlugin.vim edit files over a network and browse (remote) directories
|
||||
rrhelper.vim used for --remote-wait editing
|
||||
|
||||
335
runtime/plugin/logiPat.vim
Normal file
335
runtime/plugin/logiPat.vim
Normal file
@@ -0,0 +1,335 @@
|
||||
" LogiPat:
|
||||
" Author: Charles E. Campbell
|
||||
" Date: Mar 13, 2013
|
||||
" Version: 3
|
||||
" Purpose: to do Boolean-logic based regular expression pattern matching
|
||||
" Copyright: Copyright (C) 1999-2011 Charles E. Campbell {{{1
|
||||
" Permission is hereby granted to use and distribute this code,
|
||||
" with or without modifications, provided that this copyright
|
||||
" notice is copied with it. Like most anything else that's free,
|
||||
" LogiPat.vim is provided *as is* and comes with no warranty
|
||||
" of any kind, either expressed or implied. By using this
|
||||
" plugin, you agree that in no event will the copyright
|
||||
" holder be liable for any damages resulting from the use
|
||||
" of this software.
|
||||
"
|
||||
" Usage: {{{1
|
||||
" :LogiPat ...
|
||||
"
|
||||
" Boolean logic supported:
|
||||
" () grouping operators
|
||||
" ! not the following pattern
|
||||
" | logical or
|
||||
" & logical and
|
||||
" "..pattern.."
|
||||
" Example: {{{1
|
||||
" :LogiPat !("january"|"february")
|
||||
" would match all strings not containing the strings january
|
||||
" or february
|
||||
" GetLatestVimScripts: 1290 1 :AutoInstall: LogiPat.vim
|
||||
"
|
||||
" Behold, you will conceive in your womb, and bring forth a son, {{{1
|
||||
" and will call his name Jesus. He will be great, and will be
|
||||
" called the Son of the Most High. The Lord God will give him the
|
||||
" throne of his father, David, and he will reign over the house of
|
||||
" Jacob forever. There will be no end to his kingdom. (Luke 1:31-33 WEB)
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" Load Once: {{{1
|
||||
if &cp || exists("loaded_logipat")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_LogiPat = "v3"
|
||||
let s:keepcpo = &cpo
|
||||
set cpo&vim
|
||||
"DechoRemOn
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" Public Interface: {{{1
|
||||
com! -nargs=* LogiPat call LogiPat(<q-args>,1)
|
||||
silent! com -nargs=* LP call LogiPat(<q-args>,1)
|
||||
com! -nargs=+ ELP echomsg LogiPat(<q-args>)
|
||||
com! -nargs=+ LogiPatFlags let s:LogiPatFlags="<args>"
|
||||
silent! com -nargs=+ LPF let s:LogiPatFlags="<args>"
|
||||
|
||||
" =====================================================================
|
||||
" Functions: {{{1
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" LogiPat: this function interprets the boolean-logic pattern {{{2
|
||||
fun! LogiPat(pat,...)
|
||||
" call Dfunc("LogiPat(pat<".a:pat.">)")
|
||||
|
||||
" LogiPat(pat,dosearch)
|
||||
if a:0 > 0
|
||||
let dosearch= a:1
|
||||
else
|
||||
let dosearch= 0
|
||||
endif
|
||||
|
||||
let s:npatstack = 0
|
||||
let s:nopstack = 0
|
||||
let s:preclvl = 0
|
||||
let expr = a:pat
|
||||
|
||||
" Lexer/Parser
|
||||
while expr != ""
|
||||
" call Decho("expr<".expr.">")
|
||||
|
||||
if expr =~ '^"'
|
||||
" push a Pattern; accept "" as a single " in the pattern
|
||||
let expr = substitute(expr,'^\s*"','','')
|
||||
let pat = substitute(expr,'^\(\%([^"]\|\"\"\)\{-}\)"\([^"].*$\|$\)','\1','')
|
||||
let pat = substitute(pat,'""','"','g')
|
||||
let expr = substitute(expr,'^\(\%([^"]\|\"\"\)\{-}\)"\([^"].*$\|$\)','\2','')
|
||||
let expr = substitute(expr,'^\s*','','')
|
||||
" call Decho("pat<".pat."> expr<".expr.">")
|
||||
|
||||
call s:LP_PatPush('.*'.pat.'.*')
|
||||
|
||||
elseif expr =~ '^[!()|&]'
|
||||
" push an operator
|
||||
let op = strpart(expr,0,1)
|
||||
let expr = strpart(expr,strlen(op))
|
||||
" allow for those who can't resist doubling their and/or operators
|
||||
if op =~ '[|&]' && expr[0] == op
|
||||
let expr = strpart(expr,strlen(op))
|
||||
endif
|
||||
call s:LP_OpPush(op)
|
||||
|
||||
elseif expr =~ '^\s'
|
||||
" skip whitespace
|
||||
let expr= strpart(expr,1)
|
||||
|
||||
else
|
||||
echoerr "operator<".strpart(expr,0,1)."> not supported (yet)"
|
||||
let expr= strpart(expr,1)
|
||||
endif
|
||||
|
||||
endwhile
|
||||
|
||||
" Final Execution
|
||||
call s:LP_OpPush('Z')
|
||||
|
||||
let result= s:LP_PatPop(1)
|
||||
" call Decho("result=".result)
|
||||
|
||||
" sanity checks and cleanup
|
||||
if s:npatstack > 0
|
||||
echoerr s:npatstack." patterns left on stack!"
|
||||
let s:npatstack= 0
|
||||
endif
|
||||
if s:nopstack > 0
|
||||
echoerr s:nopstack." operators left on stack!"
|
||||
let s:nopstack= 0
|
||||
endif
|
||||
|
||||
" perform the indicated search
|
||||
if dosearch
|
||||
if exists("s:LogiPatFlags")
|
||||
" call Decho("search(result<".result."> LogiPatFlags<".s:LogiPatFlags.">)")
|
||||
call search(result,s:LogiPatFlags)
|
||||
else
|
||||
" call Decho("search(result<".result.">)")
|
||||
call search(result)
|
||||
endif
|
||||
let @/= result
|
||||
endif
|
||||
|
||||
" call Dret("LogiPat ".result)
|
||||
return result
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" s:String: Vim6.4 doesn't have string() {{{2
|
||||
func! s:String(str)
|
||||
return "'".escape(a:str, '"')."'"
|
||||
endfunc
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" LP_PatPush: {{{2
|
||||
fun! s:LP_PatPush(pat)
|
||||
" call Dfunc("LP_PatPush(pat<".a:pat.">)")
|
||||
let s:npatstack = s:npatstack + 1
|
||||
let s:patstack_{s:npatstack} = a:pat
|
||||
" call s:StackLook("patpush") "Decho
|
||||
" call Dret("LP_PatPush : npatstack=".s:npatstack)
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" LP_PatPop: pop a number/variable from LogiPat's pattern stack {{{2
|
||||
fun! s:LP_PatPop(lookup)
|
||||
" call Dfunc("LP_PatPop(lookup=".a:lookup.")")
|
||||
if s:npatstack > 0
|
||||
let ret = s:patstack_{s:npatstack}
|
||||
let s:npatstack = s:npatstack - 1
|
||||
else
|
||||
let ret= "---error---"
|
||||
echoerr "(LogiPat) invalid expression"
|
||||
endif
|
||||
" call s:StackLook("patpop") "Decho
|
||||
" call Dret("LP_PatPop ".ret)
|
||||
return ret
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" LP_OpPush: {{{2
|
||||
fun! s:LP_OpPush(op)
|
||||
" call Dfunc("LP_OpPush(op<".a:op.">)")
|
||||
|
||||
" determine new operator's precedence level
|
||||
if a:op == '('
|
||||
let s:preclvl= s:preclvl + 10
|
||||
let preclvl = s:preclvl
|
||||
elseif a:op == ')'
|
||||
let s:preclvl= s:preclvl - 10
|
||||
if s:preclvl < 0
|
||||
let s:preclvl= 0
|
||||
echoerr "too many )s"
|
||||
endif
|
||||
let preclvl= s:preclvl
|
||||
elseif a:op =~ '|'
|
||||
let preclvl= s:preclvl + 2
|
||||
elseif a:op =~ '&'
|
||||
let preclvl= s:preclvl + 4
|
||||
elseif a:op == '!'
|
||||
let preclvl= s:preclvl + 6
|
||||
elseif a:op == 'Z'
|
||||
let preclvl= -1
|
||||
else
|
||||
echoerr "expr<".expr."> not supported (yet)"
|
||||
let preclvl= s:preclvl
|
||||
endif
|
||||
" call Decho("new operator<".a:op."> preclvl=".preclvl)
|
||||
|
||||
" execute higher-precdence operators
|
||||
" call Decho("execute higher-precedence operators")
|
||||
call s:LP_Execute(preclvl)
|
||||
|
||||
" push new operator onto operator-stack
|
||||
" call Decho("push new operator<".a:op."> onto stack with preclvl=".preclvl." at nopstack=".(s:nopstack+1))
|
||||
if a:op =~ '!'
|
||||
let s:nopstack = s:nopstack + 1
|
||||
let s:opprec_{s:nopstack} = preclvl
|
||||
let s:opstack_{s:nopstack} = a:op
|
||||
elseif a:op =~ '|'
|
||||
let s:nopstack = s:nopstack + 1
|
||||
let s:opprec_{s:nopstack} = preclvl
|
||||
let s:opstack_{s:nopstack} = a:op
|
||||
elseif a:op == '&'
|
||||
let s:nopstack = s:nopstack + 1
|
||||
let s:opprec_{s:nopstack} = preclvl
|
||||
let s:opstack_{s:nopstack} = a:op
|
||||
endif
|
||||
|
||||
" call s:StackLook("oppush") "Decho
|
||||
" call Dret("LP_OpPush : s:preclvl=".s:preclvl)
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" LP_Execute: execute operators from opstack using pattern stack {{{2
|
||||
fun! s:LP_Execute(preclvl)
|
||||
" call Dfunc("LP_Execute(preclvl=".a:preclvl.") npatstack=".s:npatstack." nopstack=".s:nopstack)
|
||||
|
||||
" execute all higher precedence operators
|
||||
while s:nopstack > 0 && a:preclvl < s:opprec_{s:nopstack}
|
||||
let op= s:opstack_{s:nopstack}
|
||||
" call Decho("op<".op."> nop=".s:nopstack." [preclvl=".a:preclvl."] < [opprec_".s:nopstack."=".s:opprec_{s:nopstack}."]")
|
||||
|
||||
let s:nopstack = s:nopstack - 1
|
||||
|
||||
if op == '!'
|
||||
let n1= s:LP_PatPop(1)
|
||||
call s:LP_PatPush(s:LP_Not(n1))
|
||||
|
||||
elseif op == '|'
|
||||
let n1= s:LP_PatPop(1)
|
||||
let n2= s:LP_PatPop(1)
|
||||
call s:LP_PatPush(s:LP_Or(n2,n1))
|
||||
|
||||
elseif op =~ '&'
|
||||
let n1= s:LP_PatPop(1)
|
||||
let n2= s:LP_PatPop(1)
|
||||
call s:LP_PatPush(s:LP_And(n2,n1))
|
||||
endif
|
||||
|
||||
" call s:StackLook("execute") "Decho
|
||||
endwhile
|
||||
|
||||
" call Dret("LP_Execute")
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" LP_Not: writes a logical-not for a pattern {{{2
|
||||
fun! s:LP_Not(pat)
|
||||
" call Dfunc("LP_Not(pat<".a:pat.">)")
|
||||
if a:pat =~ '^\.\*' && a:pat =~ '\.\*$'
|
||||
let pat= substitute(a:pat,'^\.\*\(.*\)\.\*$','\1','')
|
||||
let ret= '^\%(\%('.pat.'\)\@!.\)*$'
|
||||
else
|
||||
let ret= '^\%(\%('.a:pat.'\)\@!.\)*$'
|
||||
endif
|
||||
" call Dret("LP_Not ".ret)
|
||||
return ret
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" LP_Or: writes a logical-or branch using two patterns {{{2
|
||||
fun! s:LP_Or(pat1,pat2)
|
||||
" call Dfunc("LP_Or(pat1<".a:pat1."> pat2<".a:pat2.">)")
|
||||
let ret= '\%('.a:pat1.'\|'.a:pat2.'\)'
|
||||
" call Dret("LP_Or ".ret)
|
||||
return ret
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" LP_And: writes a logical-and concat using two patterns {{{2
|
||||
fun! s:LP_And(pat1,pat2)
|
||||
" call Dfunc("LP_And(pat1<".a:pat1."> pat2<".a:pat2.">)")
|
||||
let ret= '\%('.a:pat1.'\&'.a:pat2.'\)'
|
||||
" call Dret("LP_And ".ret)
|
||||
return ret
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" StackLook: {{{2
|
||||
fun! s:StackLook(description)
|
||||
" call Dfunc("StackLook(description<".a:description.">)")
|
||||
let iop = 1
|
||||
let ifp = 1
|
||||
" call Decho("Pattern Operator")
|
||||
|
||||
" print both pattern and operator
|
||||
while ifp <= s:npatstack && iop <= s:nopstack
|
||||
let fp = s:patstack_{ifp}
|
||||
let op = s:opstack_{iop}." (P".s:opprec_{s:nopstack}.')'
|
||||
let fplen= strlen(fp)
|
||||
if fplen < 30
|
||||
let fp= fp.strpart(" ",1,30-fplen)
|
||||
endif
|
||||
" call Decho(fp.op)
|
||||
let ifp = ifp + 1
|
||||
let iop = iop + 1
|
||||
endwhile
|
||||
|
||||
" print just pattern
|
||||
while ifp <= s:npatstack
|
||||
let fp = s:patstack_{ifp}
|
||||
" call Decho(fp)
|
||||
let ifp = ifp + 1
|
||||
endwhile
|
||||
|
||||
" print just operator
|
||||
while iop <= s:nopstack
|
||||
let op = s:opstack_{iop}." (P".s:opprec_{s:nopstack}.')'
|
||||
" call Decho(" ".op)
|
||||
let iop = iop + 1
|
||||
endwhile
|
||||
" call Dret("StackLook")
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" Cleanup And Modeline: {{{1
|
||||
let &cpo= s:keepcpo
|
||||
unlet s:keepcpo
|
||||
" vim: ts=4 fdm=marker
|
||||
@@ -25,16 +25,16 @@ $SPELLDIR/br.utf-8.spl : $FILES
|
||||
#
|
||||
# Fetching the files from OpenOffice.org.
|
||||
#
|
||||
OODIR = http://extensions.libreoffice.org/extension-center/an-drouizig-breton-spellchecker/releases/0.11/
|
||||
:attr {fetch = $OODIR/%file%} dict-br-0.11.oxt
|
||||
OODIR = http://extensions.libreoffice.org/extension-center/an-drouizig-breton-spellchecker/releases/0.13/
|
||||
:attr {fetch = $OODIR/%file%} difazier-an-drouizig-0_13.oxt
|
||||
|
||||
# The files don't depend on the .zip file so that we can delete it.
|
||||
# Only download the zip file if the targets don't exist.
|
||||
br_FR.aff br_FR.dic: {buildcheck=}
|
||||
:assertpkg unzip patch
|
||||
:fetch dict-br-0.11.oxt
|
||||
:sys $UNZIP dict-br-0.11.oxt
|
||||
:delete dict-br-0.11.oxt
|
||||
:fetch difazier-an-drouizig-0_13.oxt
|
||||
:sys $UNZIP difazier-an-drouizig-0_13.oxt
|
||||
:delete difazier-an-drouizig-0_13.oxt
|
||||
:copy dictionaries/br_FR.aff br_FR.aff
|
||||
:copy dictionaries/br_FR.dic br_FR.dic
|
||||
# The br_FR.aff file contains a BOM, remove it.
|
||||
@@ -65,12 +65,12 @@ diff:
|
||||
|
||||
check:
|
||||
:assertpkg unzip diff
|
||||
:fetch dict-br-0.11.oxt
|
||||
:fetch difazier-an-drouizig-0_13.oxt
|
||||
:mkdir tmp
|
||||
:cd tmp
|
||||
@try:
|
||||
@import stat
|
||||
:sys $UNZIP ../dict-br-0.11.oxt
|
||||
:sys $UNZIP ../difazier-an-drouizig-0_13.oxt
|
||||
:sys {force} diff ../dictionaries/br_FR.aff br_FR.aff >d
|
||||
@if os.stat('d')[stat.ST_SIZE] > 0:
|
||||
:copy br_FR.aff ../br_FR.new.aff
|
||||
@@ -80,7 +80,7 @@ check:
|
||||
@finally:
|
||||
:cd ..
|
||||
:delete {r}{f}{q} tmp
|
||||
:delete dict-br-0.11.oxt
|
||||
:delete difazier-an-drouizig-0_13.oxt
|
||||
|
||||
|
||||
# vim: set sts=4 sw=4 :
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -161,6 +161,7 @@ an 50.30.290 &Syntax.DE.Doxygen.C\ with\ doxygen :cal SetSyn("c.doxygen")<CR>
|
||||
an 50.30.300 &Syntax.DE.Doxygen.C++\ with\ doxygen :cal SetSyn("cpp.doxygen")<CR>
|
||||
an 50.30.310 &Syntax.DE.Doxygen.IDL\ with\ doxygen :cal SetSyn("idl.doxygen")<CR>
|
||||
an 50.30.320 &Syntax.DE.Doxygen.Java\ with\ doxygen :cal SetSyn("java.doxygen")<CR>
|
||||
an 50.30.320 &Syntax.DE.Doxygen.DataScript\ with\ doxygen :cal SetSyn("datascript.doxygen")<CR>
|
||||
an 50.30.330 &Syntax.DE.Dracula :cal SetSyn("dracula")<CR>
|
||||
an 50.30.340 &Syntax.DE.DSSSL :cal SetSyn("dsl")<CR>
|
||||
an 50.30.350 &Syntax.DE.DTD :cal SetSyn("dtd")<CR>
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
" Vim syntax file
|
||||
" Language: Asterisk config file
|
||||
" Maintainer: brc007
|
||||
" Maintainer: Jean Aunis <jean.aunis@yahoo.fr>
|
||||
" Previous Maintainer: brc007
|
||||
" Updated for 1.2 by Tilghman Lesher (Corydon76)
|
||||
" Last Change: 2006 Mar 20
|
||||
" Last Change: 2015 Feb 27
|
||||
" version 0.4
|
||||
"
|
||||
if version < 600
|
||||
@@ -17,18 +18,19 @@ syn sync fromstart
|
||||
syn keyword asteriskTodo TODO contained
|
||||
syn match asteriskComment ";.*" contains=asteriskTodo
|
||||
syn match asteriskContext "\[.\{-}\]"
|
||||
syn match asteriskExten "^\s*exten\s*=>\?\s*[^,]\+" contains=asteriskPattern
|
||||
syn match asteriskExten "^\s*\zsexten\s*=>\?\s*[^,]\+\ze," contains=asteriskPattern nextgroup=asteriskPriority
|
||||
syn match asteriskExten "^\s*\zssame\s*=>\?\s*\ze" nextgroup=asteriskPriority
|
||||
syn match asteriskExten "^\s*\(register\|channel\|ignorepat\|include\|\(no\)\?load\)\s*=>\?"
|
||||
syn match asteriskPattern "_\(\[[[:alnum:]#*\-]\+\]\|[[:alnum:]#*]\)*\.\?" contained
|
||||
syn match asteriskPattern "[^A-Za-z0-9,]\zs[[:alnum:]#*]\+\ze" contained
|
||||
syn match asteriskApp ",\zs[a-zA-Z]\+\ze$"
|
||||
syn match asteriskApp ",\zs[a-zA-Z]\+\ze("
|
||||
" Digits plus oldlabel (newlabel)
|
||||
syn match asteriskPriority ",\zs[[:digit:]]\+\(+[[:alpha:]][[:alnum:]_]*\)\?\(([[:alpha:]][[:alnum:]_]*)\)\?\ze," contains=asteriskLabel
|
||||
syn match asteriskPriority "\zs[[:digit:]]\+\(+[[:alpha:]][[:alnum:]_]*\)\?\(([[:alpha:]][[:alnum:]_]*)\)\?\ze," contains=asteriskLabel
|
||||
" oldlabel plus digits (newlabel)
|
||||
syn match asteriskPriority ",\zs[[:alpha:]][[:alnum:]_]*+[[:digit:]]\+\(([[:alpha:]][[:alnum:]_]*)\)\?\ze," contains=asteriskLabel
|
||||
syn match asteriskPriority "\zs[[:alpha:]][[:alnum:]_]*+[[:digit:]]\+\(([[:alpha:]][[:alnum:]_]*)\)\?\ze," contains=asteriskLabel
|
||||
" s or n plus digits (newlabel)
|
||||
syn match asteriskPriority ",\zs[sn]\(+[[:digit:]]\+\)\?\(([[:alpha:]][[:alnum:]_]*)\)\?\ze," contains=asteriskLabel
|
||||
syn match asteriskPriority "\zs[sn]\(+[[:digit:]]\+\)\?\(([[:alpha:]][[:alnum:]_]*)\)\?\ze," contains=asteriskLabel
|
||||
syn match asteriskLabel "(\zs[[:alpha:]][[:alnum:]]*\ze)" contained
|
||||
syn match asteriskError "^\s*#\s*[[:alnum:]]*"
|
||||
syn match asteriskInclude "^\s*#\s*\(include\|exec\)\s.*"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim syntax file
|
||||
" Language: C
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2014 Nov 13
|
||||
" Last Change: 2015 Mar 05
|
||||
|
||||
" Quit when a (custom) syntax file was already loaded
|
||||
if exists("b:current_syntax")
|
||||
@@ -47,16 +47,17 @@ if !exists("c_no_cformat")
|
||||
endif
|
||||
|
||||
" cCppString: same as cString, but ends at end of line
|
||||
if s:ft ==# "cpp" && !exists("cpp_no_cpp11")
|
||||
if s:ft ==# "cpp" && !exists("cpp_no_cpp11") && !exists("c_no_cformat")
|
||||
" ISO C++11
|
||||
syn region cString start=+\(L\|u\|u8\|U\|R\|LR\|u8R\|uR\|UR\)\="+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,cFormat,@Spell extend
|
||||
syn region cCppString start=+\(L\|u\|u8\|U\|R\|LR\|u8R\|uR\|UR\)\="+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end='$' contains=cSpecial,cFormat,@Spell
|
||||
elseif s:ft ==# "c" && !exists("c_no_c11")
|
||||
elseif s:ft ==# "c" && !exists("c_no_c11") && !exists("c_no_cformat")
|
||||
" ISO C99
|
||||
syn region cString start=+\%(L\|U\|u8\)\="+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,cFormat,@Spell extend
|
||||
syn region cCppString start=+\%(L\|U\|u8\)\="+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end='$' contains=cSpecial,cFormat,@Spell
|
||||
else
|
||||
" older C or C++
|
||||
syn match cFormat display "%%" contained
|
||||
syn region cString start=+L\="+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,cFormat,@Spell extend
|
||||
syn region cCppString start=+L\="+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end='$' contains=cSpecial,cFormat,@Spell
|
||||
endif
|
||||
@@ -80,7 +81,11 @@ syn match cSpecialCharacter display "L'\\x\x\+'"
|
||||
|
||||
if (s:ft ==# "c" && !exists("c_no_c11")) || (s:ft ==# "cpp" && !exists("cpp_no_cpp11"))
|
||||
" ISO C11 or ISO C++ 11
|
||||
syn region cString start=+\%(U\|u8\=\)"+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,cFormat,@Spell extend
|
||||
if exists("c_no_cformat")
|
||||
syn region cString start=+\%(U\|u8\=\)"+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,@Spell extend
|
||||
else
|
||||
syn region cString start=+\%(U\|u8\=\)"+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,cFormat,@Spell extend
|
||||
endif
|
||||
syn match cCharacter "[Uu]'[^\\]'"
|
||||
syn match cCharacter "[Uu]'[^']*'" contains=cSpecial
|
||||
if exists("c_gnu")
|
||||
@@ -330,6 +335,8 @@ if !exists("c_no_ansi") || exists("c_ansi_constants") || exists("c_gnu")
|
||||
" POSIX 2001
|
||||
syn keyword cConstant SIGBUS SIGPOLL SIGPROF SIGSYS SIGURG
|
||||
syn keyword cConstant SIGVTALRM SIGXCPU SIGXFSZ
|
||||
" non-POSIX signals
|
||||
syn keyword cConstant SIGWINCH SIGINFO
|
||||
" Add POSIX errors as well
|
||||
syn keyword cConstant E2BIG EACCES EAGAIN EBADF EBADMSG EBUSY
|
||||
syn keyword cConstant ECANCELED ECHILD EDEADLK EDOM EEXIST EFAULT
|
||||
@@ -387,8 +394,13 @@ endif
|
||||
syn cluster cLabelGroup contains=cUserLabel
|
||||
syn match cUserCont display "^\s*\I\i*\s*:$" contains=@cLabelGroup
|
||||
syn match cUserCont display ";\s*\I\i*\s*:$" contains=@cLabelGroup
|
||||
syn match cUserCont display "^\s*\I\i*\s*:[^:]"me=e-1 contains=@cLabelGroup
|
||||
syn match cUserCont display ";\s*\I\i*\s*:[^:]"me=e-1 contains=@cLabelGroup
|
||||
if s:ft ==# 'cpp'
|
||||
syn match cUserCont display "^\s*\%(class\|struct\|enum\)\@!\I\i*\s*:[^:]"me=e-1 contains=@cLabelGroup
|
||||
syn match cUserCont display ";\s*\%(class\|struct\|enum\)\@!\I\i*\s*:[^:]"me=e-1 contains=@cLabelGroup
|
||||
else
|
||||
syn match cUserCont display "^\s*\I\i*\s*:[^:]"me=e-1 contains=@cLabelGroup
|
||||
syn match cUserCont display ";\s*\I\i*\s*:[^:]"me=e-1 contains=@cLabelGroup
|
||||
endif
|
||||
|
||||
syn match cUserLabel display "\I\i*" contained
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Language: CMake
|
||||
" Author: Andy Cedilnik <andy.cedilnik@kitware.com>
|
||||
" Maintainer: Karthik Krishnan <karthik.krishnan@kitware.com>
|
||||
" Last Change: 2012 Jun 01
|
||||
" Last Change: 2015 Sep 25
|
||||
" (Dominique Pelle added @Spell)
|
||||
" Version: $Revision: 1.10 $
|
||||
"
|
||||
@@ -31,9 +31,9 @@ syn region cmakeVariableValue start=/\${/ end=/}/
|
||||
\ contained oneline contains=CONTAINED,cmakeTodo
|
||||
syn region cmakeEnvironment start=/\$ENV{/ end=/}/
|
||||
\ contained oneline contains=CONTAINED,cmakeTodo
|
||||
syn region cmakeString start=/"/ end=/"/
|
||||
syn region cmakeString start=/"/ end=/"/
|
||||
\ contains=CONTAINED,cmakeTodo,cmakeOperators
|
||||
syn region cmakeArguments start=/(/ end=/)/
|
||||
syn region cmakeArguments start=/(/ end=/)/
|
||||
\ contains=ALLBUT,cmakeArguments,cmakeTodo
|
||||
syn keyword cmakeSystemVariables
|
||||
\ WIN32 UNIX APPLE CYGWIN BORLAND MINGW MSVC MSVC_IDE MSVC60 MSVC70 MSVC71 MSVC80 MSVC90
|
||||
@@ -44,11 +44,11 @@ syn keyword cmakeDeprecated ABSTRACT_FILES BUILD_NAME SOURCE_FILES SOURCE_FILES_
|
||||
\ nextgroup=cmakeArguments
|
||||
|
||||
" The keywords are generated as: cmake --help-command-list | tr "\n" " "
|
||||
syn keyword cmakeStatement
|
||||
syn keyword cmakeStatement
|
||||
\ ADD_CUSTOM_COMMAND ADD_CUSTOM_TARGET ADD_DEFINITIONS ADD_DEPENDENCIES ADD_EXECUTABLE ADD_LIBRARY ADD_SUBDIRECTORY ADD_TEST AUX_SOURCE_DIRECTORY BUILD_COMMAND BUILD_NAME CMAKE_MINIMUM_REQUIRED CONFIGURE_FILE CREATE_TEST_SOURCELIST ELSE ELSEIF ENABLE_LANGUAGE ENABLE_TESTING ENDFOREACH ENDFUNCTION ENDIF ENDMACRO ENDWHILE EXEC_PROGRAM EXECUTE_PROCESS EXPORT_LIBRARY_DEPENDENCIES FILE FIND_FILE FIND_LIBRARY FIND_PACKAGE FIND_PATH FIND_PROGRAM FLTK_WRAP_UI FOREACH FUNCTION GET_CMAKE_PROPERTY GET_DIRECTORY_PROPERTY GET_FILENAME_COMPONENT GET_SOURCE_FILE_PROPERTY GET_TARGET_PROPERTY GET_TEST_PROPERTY IF INCLUDE INCLUDE_DIRECTORIES INCLUDE_EXTERNAL_MSPROJECT INCLUDE_REGULAR_EXPRESSION INSTALL INSTALL_FILES INSTALL_PROGRAMS INSTALL_TARGETS LINK_DIRECTORIES LINK_LIBRARIES LIST LOAD_CACHE LOAD_COMMAND MACRO MAKE_DIRECTORY MARK_AS_ADVANCED MATH MESSAGE OPTION OUTPUT_REQUIRED_FILES PROJECT QT_WRAP_CPP QT_WRAP_UI REMOVE REMOVE_DEFINITIONS SEPARATE_ARGUMENTS SET SET_DIRECTORY_PROPERTIES SET_SOURCE_FILES_PROPERTIES SET_TARGET_PROPERTIES SET_TESTS_PROPERTIES SITE_NAME SOURCE_GROUP STRING SUBDIR_DEPENDS SUBDIRS TARGET_LINK_LIBRARIES TRY_COMPILE TRY_RUN UNSET USE_MANGLED_MESA UTILITY_SOURCE VARIABLE_REQUIRES VTK_MAKE_INSTANTIATOR VTK_WRAP_JAVA VTK_WRAP_PYTHON VTK_WRAP_TCL WHILE WRITE_FILE
|
||||
\ nextgroup=cmakeArguments
|
||||
syn keyword cmakeTodo
|
||||
\ TODO FIXME XXX
|
||||
syn keyword cmakeTodo
|
||||
\ TODO FIXME XXX
|
||||
\ contained
|
||||
|
||||
" Define the default highlighting.
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
" Vim syntax file
|
||||
" Language: COBOL
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.info>
|
||||
" Language: COBOL
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" (formerly Davyd Ondrejko <vondraco@columbus.rr.com>)
|
||||
" (formerly Sitaram Chamarty <sitaram@diac.com> and
|
||||
" James Mitchell <james_mitchell@acm.org>)
|
||||
" $Id: cobol.vim,v 1.2 2007/05/05 18:23:43 vimboss Exp $
|
||||
" James Mitchell <james_mitchell@acm.org>)
|
||||
" Last Change: 2015 Feb 13
|
||||
|
||||
" For version 5.x: Clear all syntax items
|
||||
" For version 6.x: Quit when a syntax file was already loaded
|
||||
@@ -145,7 +145,7 @@ syn match cobolString /'[^']*\('\|$\)/
|
||||
syn match cobolIndicator "\%7c[D-]" contained
|
||||
|
||||
if exists("cobol_legacy_code")
|
||||
syn region cobolCondFlow contains=ALLBUT,cobolLine start="\<\(IF\|INVALID\|END\|EOP\)\>" skip=/\('\|"\)[^"]\{-}\("\|'\|$\)/ end="\." keepend
|
||||
syn region cobolCondFlow contains=ALLBUT,cobolLine,cobolBadLine start="\<\(IF\|INVALID\|END\|EOP\)\>" skip=/\('\|"\)[^"]\{-}\("\|'\|$\)/ end="\." keepend
|
||||
endif
|
||||
|
||||
" many legacy sources have junk in columns 1-6: must be before others
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
" Vim syntax file
|
||||
" Language: C++
|
||||
" Current Maintainer: vim-jp (https://github.com/vim-jp/cpp-vim)
|
||||
" Current Maintainer: vim-jp (https://github.com/vim-jp/vim-cpp)
|
||||
" Previous Maintainer: Ken Shan <ccshan@post.harvard.edu>
|
||||
" Last Change: 2014 May 14
|
||||
" Last Change: 2015 May 04
|
||||
|
||||
" For version 5.x: Clear all syntax items
|
||||
" For version 6.x: Quit when a syntax file was already loaded
|
||||
@@ -32,14 +32,21 @@ syn match cppCast "\<\(const\|static\|dynamic\|reinterpret\)_cast\s*$"
|
||||
syn keyword cppStorageClass mutable
|
||||
syn keyword cppStructure class typename template namespace
|
||||
syn keyword cppBoolean true false
|
||||
syn keyword cppConstant __cplusplus
|
||||
|
||||
" C++ 11 extensions
|
||||
if !exists("cpp_no_cpp11")
|
||||
syn keyword cppType override final
|
||||
syn keyword cppExceptions noexcept
|
||||
syn keyword cppStorageClass constexpr decltype
|
||||
syn keyword cppStorageClass constexpr decltype thread_local
|
||||
syn keyword cppConstant nullptr
|
||||
syn region cppRawString matchgroup=cppRawDelimiter start=+\%(u8\|[uLU]\)\=R"\z([[:alnum:]_{}[\]#<>%:;.?*\+\-/\^&|~!=,"']\{,16}\)(+ end=+)\z1"+ contains=@Spell
|
||||
syn keyword cppConstant ATOMIC_FLAG_INIT ATOMIC_VAR_INIT
|
||||
syn keyword cppConstant ATOMIC_BOOL_LOCK_FREE ATOMIC_CHAR_LOCK_FREE
|
||||
syn keyword cppConstant ATOMIC_CHAR16_T_LOCK_FREE ATOMIC_CHAR32_T_LOCK_FREE
|
||||
syn keyword cppConstant ATOMIC_WCHAR_T_LOCK_FREE ATOMIC_SHORT_LOCK_FREE
|
||||
syn keyword cppConstant ATOMIC_INT_LOCK_FREE ATOMIC_LONG_LOCK_FREE
|
||||
syn keyword cppConstant ATOMIC_LLONG_LOCK_FREE ATOMIC_POINTER_LOCK_FREE
|
||||
syn region cppRawString matchgroup=cppRawStringDelimiter start=+\%(u8\|[uLU]\)\=R"\z([[:alnum:]_{}[\]#<>%:;.?*\+\-/\^&|~!=,"']\{,16}\)(+ end=+)\z1"+ contains=@Spell
|
||||
endif
|
||||
|
||||
" The minimum and maximum operators in GNU C++
|
||||
@@ -63,7 +70,7 @@ if version >= 508 || !exists("did_cpp_syntax_inits")
|
||||
HiLink cppStructure Structure
|
||||
HiLink cppBoolean Boolean
|
||||
HiLink cppConstant Constant
|
||||
HiLink cppRawDelimiter Delimiter
|
||||
HiLink cppRawStringDelimiter Delimiter
|
||||
HiLink cppRawString String
|
||||
delcommand HiLink
|
||||
endif
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
" Vim syntax file
|
||||
" Language: C-shell (csh)
|
||||
" Maintainer: Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz>
|
||||
" Version: 11
|
||||
" Last Change: Oct 23, 2014
|
||||
" Version: 11
|
||||
" URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_CSH
|
||||
|
||||
" For version 5.x: Clear all syntax items
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
" Nikolai Weibull (Add CSS2 support)
|
||||
" Maintainer: Jules Wang <w.jq0722@gmail.com>
|
||||
" URL: https://github.com/JulesWang/css.vim
|
||||
" Last Change: 2013 Nov.27
|
||||
" Last Change: 2015 Apr.17
|
||||
|
||||
" For version 5.x: Clear all syntax items
|
||||
" For version 6.x: Quit when a syntax file was already loaded
|
||||
@@ -26,18 +26,19 @@ set cpo&vim
|
||||
|
||||
syn case ignore
|
||||
|
||||
" All HTML4 tags
|
||||
syn keyword cssTagName abbr acronym address applet area a b base
|
||||
syn keyword cssTagName basefont bdo big blockquote body br button
|
||||
syn keyword cssTagName caption center cite code col colgroup dd del
|
||||
syn keyword cssTagName dfn dir div dl dt em fieldset font form frame
|
||||
syn keyword cssTagName frameset h1 h2 h3 h4 h5 h6 head hr html img i
|
||||
syn keyword cssTagName iframe img input ins isindex kbd label legend li
|
||||
syn keyword cssTagName link map menu meta noframes noscript ol optgroup
|
||||
syn keyword cssTagName option p param pre q s samp script select small
|
||||
syn keyword cssTagName span strike strong style sub sup table tbody td
|
||||
syn keyword cssTagName textarea tfoot th thead title tr tt ul u var
|
||||
" HTML4 tags
|
||||
syn keyword cssTagName abbr address area a b base
|
||||
syn keyword cssTagName bdo blockquote body br button
|
||||
syn keyword cssTagName caption cite code col colgroup dd del
|
||||
syn keyword cssTagName dfn div dl dt em fieldset form
|
||||
syn keyword cssTagName h1 h2 h3 h4 h5 h6 head hr html img i
|
||||
syn keyword cssTagName iframe input ins isindex kbd label legend li
|
||||
syn keyword cssTagName link map menu meta noscript ol optgroup
|
||||
syn keyword cssTagName option p param pre q s samp script small
|
||||
syn keyword cssTagName span strong sub sup tbody td
|
||||
syn keyword cssTagName textarea tfoot th thead title tr ul u var
|
||||
syn keyword cssTagName object svg
|
||||
syn match cssTagName /\<select\>\|\<style\>\|\<table\>/
|
||||
|
||||
" 34 HTML5 tags
|
||||
syn keyword cssTagName article aside audio bdi canvas command data
|
||||
@@ -47,8 +48,8 @@ syn keyword cssTagName output progress rt rp ruby section
|
||||
syn keyword cssTagName source summary time track video wbr
|
||||
|
||||
" Tags not supported in HTML5
|
||||
syn keyword cssDeprecated acronym applet basefont big center dir
|
||||
syn keyword cssDeprecated font frame frameset noframes strike tt
|
||||
" acronym applet basefont big center dir
|
||||
" font frame frameset noframes strike tt
|
||||
|
||||
syn match cssTagName "\*"
|
||||
|
||||
@@ -70,13 +71,13 @@ endtry
|
||||
" digits
|
||||
syn match cssValueInteger contained "[-+]\=\d\+" contains=cssUnitDecorators
|
||||
syn match cssValueNumber contained "[-+]\=\d\+\(\.\d*\)\=" contains=cssUnitDecorators
|
||||
syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=\(%\|mm\|cm\|in\|pt\|pc\|em\|ex\|px\|rem\|dpi\|dppx\|dpcm\)" contains=cssUnitDecorators
|
||||
syn match cssValueAngle contained "[-+]\=\d\+\(\.\d*\)\=\(deg\|grad\|rad\)" contains=cssUnitDecorators
|
||||
syn match cssValueTime contained "+\=\d\+\(\.\d*\)\=\(ms\|s\)" contains=cssUnitDecorators
|
||||
syn match cssValueFrequency contained "+\=\d\+\(\.\d*\)\=\(Hz\|kHz\)" contains=cssUnitDecorators
|
||||
syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=\(%\|mm\|cm\|in\|pt\|pc\|em\|ex\|px\|rem\|dpi\|dppx\|dpcm\)\>" contains=cssUnitDecorators
|
||||
syn match cssValueAngle contained "[-+]\=\d\+\(\.\d*\)\=\(deg\|grad\|rad\)\>" contains=cssUnitDecorators
|
||||
syn match cssValueTime contained "+\=\d\+\(\.\d*\)\=\(ms\|s\)\>" contains=cssUnitDecorators
|
||||
syn match cssValueFrequency contained "+\=\d\+\(\.\d*\)\=\(Hz\|kHz\)\>" contains=cssUnitDecorators
|
||||
|
||||
|
||||
syn match cssIncludeKeyword /@\(-[a-z]+-\)\=\(media\|keyframes\|import\|charset\|namespace\|page\)/ contained
|
||||
syn match cssIncludeKeyword /@\(-[a-z]\+-\)\=\(media\|keyframes\|import\|charset\|namespace\|page\)/ contained
|
||||
" @media
|
||||
syn region cssInclude start=/@media\>/ end=/\ze{/ skipwhite skipnl contains=cssMediaProp,cssValueLength,cssMediaKeyword,cssValueInteger,cssMediaAttr,cssVendor,cssMediaType,cssIncludeKeyword,cssMediaComma,cssComment nextgroup=cssMediaBlock
|
||||
syn keyword cssMediaType contained screen print aural braille embossed handheld projection tty tv speech all contained skipwhite skipnl
|
||||
@@ -86,7 +87,7 @@ syn match cssMediaComma "," skipwhite skipnl contained
|
||||
|
||||
" Reference: http://www.w3.org/TR/css3-mediaqueries/
|
||||
syn keyword cssMediaProp contained width height orientation scan grid
|
||||
syn match cssMediaProp contained /\(\(device\)-\)\=aspect-ratio/
|
||||
syn match cssMediaProp contained /\(\(max\|min\)-\)\=\(\(device\)-\)\=aspect-ratio/
|
||||
syn match cssMediaProp contained /\(\(max\|min\)-\)\=device-pixel-ratio/
|
||||
syn match cssMediaProp contained /\(\(max\|min\)-\)\=device-\(height\|width\)/
|
||||
syn match cssMediaProp contained /\(\(max\|min\)-\)\=\(height\|width\|resolution\|monochrome\|color\(-index\)\=\)/
|
||||
@@ -104,7 +105,7 @@ syn keyword cssPageProp contained orphans widows
|
||||
|
||||
" @keyframe
|
||||
" http://www.w3.org/TR/css3-animations/#keyframes
|
||||
syn match cssKeyFrame "@\(-[a-z]+-\)\=keyframes\>[^{]*{\@=" nextgroup=cssKeyFrameWrap contains=cssVendor,cssIncludeKeyword skipwhite skipnl transparent
|
||||
syn match cssKeyFrame "@\(-[a-z]\+-\)\=keyframes\>[^{]*{\@=" nextgroup=cssKeyFrameWrap contains=cssVendor,cssIncludeKeyword skipwhite skipnl transparent
|
||||
syn region cssKeyFrameWrap contained transparent matchgroup=cssBraces start="{" end="}" contains=cssKeyFrameSelector
|
||||
syn match cssKeyFrameSelector /\(\d*%\|from\|to\)\=/ contained skipwhite skipnl nextgroup=cssDefinition
|
||||
|
||||
@@ -116,15 +117,27 @@ syn region cssInclude start=/@namespace\>/ end=/\ze;/ transparent contains=cssSt
|
||||
" @font-face
|
||||
" http://www.w3.org/TR/css3-fonts/#at-font-face-rule
|
||||
syn match cssFontDescriptor "@font-face\>" nextgroup=cssFontDescriptorBlock skipwhite skipnl
|
||||
syn region cssFontDescriptorBlock contained transparent matchgroup=cssBraces start="{" end="}" contains=cssComment,cssError,cssUnicodeEscape,cssFontProp,cssFontAttr,cssCommonAttr,cssStringQ,cssStringQQ,cssFontDescriptorProp,cssValue.*,cssFontDescriptorFunction,cssUnicodeRange,cssFontDescriptorAttr
|
||||
"syn match cssFontDescriptorProp contained "\<\(unicode-range\|unit-per-em\|panose-1\|cap-height\|x-height\|definition-src\)\>"
|
||||
"syn keyword cssFontDescriptorProp contained src stemv stemh slope ascent descent widths bbox baseline centerline mathline topline
|
||||
syn region cssFontDescriptorBlock contained transparent matchgroup=cssBraces start="{" end="}" contains=cssComment,cssError,cssUnicodeEscape,cssCommonAttr,cssFontDescriptorProp,cssValue.*,cssFontDescriptorFunction,cssFontDescriptorAttr,cssNoise
|
||||
|
||||
syn match cssFontDescriptorProp contained "\<font-family\>"
|
||||
syn keyword cssFontDescriptorProp contained src
|
||||
syn match cssFontDescriptorProp contained "\<font-\(style\|weight\|stretch\)\>"
|
||||
syn match cssFontDescriptorProp contained "\<unicode-range\>"
|
||||
syn keyword cssFontDescriptorAttr contained all
|
||||
syn match cssFontDescriptorProp contained "\<font-\(variant\|feature-settings\)\>"
|
||||
|
||||
" src functions
|
||||
syn region cssFontDescriptorFunction contained matchgroup=cssFunctionName start="\<\(uri\|url\|local\|format\)\s*(" end=")" contains=cssStringQ,cssStringQQ oneline keepend
|
||||
syn match cssUnicodeRange contained "U+[0-9A-Fa-f?]\+"
|
||||
syn match cssUnicodeRange contained "U+\x\+-\x\+"
|
||||
" font-sytle and font-weight attributes
|
||||
syn keyword cssFontDescriptorAttr contained normal italic oblique bold
|
||||
" font-stretch attributes
|
||||
syn match cssFontDescriptorAttr contained "\<\(\(ultra\|extra\|semi\)-\)\=\(condensed\|expanded\)\>"
|
||||
" unicode-range attributes
|
||||
syn match cssFontDescriptorAttr contained "U+[0-9A-Fa-f?]\+"
|
||||
syn match cssFontDescriptorAttr contained "U+\x\+-\x\+"
|
||||
" font-feature-settings attributes
|
||||
syn keyword cssFontDescriptorAttr contained on off
|
||||
|
||||
|
||||
|
||||
" The 16 basic color names
|
||||
syn keyword cssColor contained aqua black blue fuchsia gray green lime maroon navy olive purple red silver teal yellow
|
||||
@@ -133,23 +146,23 @@ syn keyword cssColor contained aqua black blue fuchsia gray green lime maroon na
|
||||
syn keyword cssColor contained aliceblue antiquewhite aquamarine azure
|
||||
syn keyword cssColor contained beige bisque blanchedalmond blueviolet brown burlywood
|
||||
syn keyword cssColor contained cadetblue chartreuse chocolate coral cornflowerblue cornsilk crimson cyan
|
||||
syn match cssColor contained /dark\(blue\|cyan\|goldenrod\|gray\|green\|grey\|khaki\)/
|
||||
syn match cssColor contained /dark\(magenta\|olivegreen\|orange\|orchid\|red\|salmon\|seagreen\)/
|
||||
syn match cssColor contained /darkslate\(blue\|gray\|grey\)/
|
||||
syn match cssColor contained /dark\(turquoise\|violet\)/
|
||||
syn match cssColor contained /\<dark\(blue\|cyan\|goldenrod\|gray\|green\|grey\|khaki\)\>/
|
||||
syn match cssColor contained /\<dark\(magenta\|olivegreen\|orange\|orchid\|red\|salmon\|seagreen\)\>/
|
||||
syn match cssColor contained /\<darkslate\(blue\|gray\|grey\)\>/
|
||||
syn match cssColor contained /\<dark\(turquoise\|violet\)\>/
|
||||
syn keyword cssColor contained deeppink deepskyblue dimgray dimgrey dodgerblue firebrick
|
||||
syn keyword cssColor contained floralwhite forestgreen gainsboro ghostwhite gold
|
||||
syn keyword cssColor contained goldenrod greenyellow grey honeydew hotpink
|
||||
syn keyword cssColor contained indianred indigo ivory khaki lavender lavenderblush lawngreen
|
||||
syn keyword cssColor contained lemonchiffon limegreen linen magenta
|
||||
syn match cssColor contained /light\(blue\|coral\|cyan\|goldenrodyellow\|gray\|green\)/
|
||||
syn match cssColor contained /light\(grey\|pink\|salmon\|seagreen\|skyblue\|yellow\)/
|
||||
syn match cssColor contained /light\(slategray\|slategrey\|steelblue\)/
|
||||
syn match cssColor contained /medium\(aquamarine\|blue\|orchid\|purple\|seagreen\)/
|
||||
syn match cssColor contained /medium\(slateblue\|springgreen\|turquoise\|violetred\)/
|
||||
syn match cssColor contained /\<light\(blue\|coral\|cyan\|goldenrodyellow\|gray\|green\)\>/
|
||||
syn match cssColor contained /\<light\(grey\|pink\|salmon\|seagreen\|skyblue\|yellow\)\>/
|
||||
syn match cssColor contained /\<light\(slategray\|slategrey\|steelblue\)\>/
|
||||
syn match cssColor contained /\<medium\(aquamarine\|blue\|orchid\|purple\|seagreen\)\>/
|
||||
syn match cssColor contained /\<medium\(slateblue\|springgreen\|turquoise\|violetred\)\>/
|
||||
syn keyword cssColor contained midnightblue mintcream mistyrose moccasin navajowhite
|
||||
syn keyword cssColor contained oldlace olivedrab orange orangered orchid
|
||||
syn match cssColor contained /pale\(goldenrod\|green\|turquoise\|violetred\)/
|
||||
syn match cssColor contained /\<pale\(goldenrod\|green\|turquoise\|violetred\)\>/
|
||||
syn keyword cssColor contained papayawhip peachpuff peru pink plum powderblue
|
||||
syn keyword cssColor contained rosybrown royalblue saddlebrown salmon sandybrown
|
||||
syn keyword cssColor contained seagreen seashell sienna skyblue slateblue
|
||||
@@ -167,11 +180,12 @@ syn case ignore
|
||||
syn match cssImportant contained "!\s*important\>"
|
||||
|
||||
syn match cssColor contained "\<transparent\>"
|
||||
syn match cssColor contained "\<currentColor\>"
|
||||
syn match cssColor contained "\<white\>"
|
||||
syn match cssColor contained "#[0-9A-Fa-f]\{3\}\>" contains=cssUnitDecorators
|
||||
syn match cssColor contained "#[0-9A-Fa-f]\{6\}\>" contains=cssUnitDecorators
|
||||
|
||||
syn region cssURL contained matchgroup=cssFunctionName start="\<url\s*(" end=")" oneline extend
|
||||
syn region cssURL contained matchgroup=cssFunctionName start="\<url\s*(" end=")" contains=cssStringQ,cssStringQQ oneline
|
||||
syn region cssFunction contained matchgroup=cssFunctionName start="\<\(rgb\|clip\|attr\|counter\|rect\|cubic-bezier\|steps\)\s*(" end=")" oneline contains=cssValueInteger,cssValueNumber,cssValueLength,cssFunctionComma
|
||||
syn region cssFunction contained matchgroup=cssFunctionName start="\<\(rgba\|hsl\|hsla\|color-stop\|from\|to\)\s*(" end=")" oneline contains=cssColor,cssValueInteger,cssValueNumber,cssValueLength,cssFunctionComma,cssFunction
|
||||
syn region cssFunction contained matchgroup=cssFunctionName start="\<\(linear-\|radial-\)\=\gradient\s*(" end=")" oneline contains=cssColor,cssValueInteger,cssValueNumber,cssValueLength,cssFunction,cssGradientAttr,cssFunctionComma
|
||||
@@ -196,6 +210,9 @@ syn keyword cssAnimationAttr contained forwards backwards both
|
||||
|
||||
" animation-play-state attributes
|
||||
syn keyword cssAnimationAttr contained running paused
|
||||
|
||||
" animation-iteration-count attributes
|
||||
syn keyword cssAnimationAttr contained infinite
|
||||
"------------------------------------------------
|
||||
" CSS Backgrounds and Borders Module Level 3
|
||||
" http://www.w3.org/TR/css3-background/
|
||||
@@ -253,7 +270,7 @@ syn keyword cssDimensionProp contained width
|
||||
syn match cssFlexibleBoxProp contained "\<box-\(align\|direction\|flex\|ordinal-group\|orient\|pack\|shadow\|sizing\)\>"
|
||||
syn keyword cssFlexibleBoxAttr contained start end baseline
|
||||
syn keyword cssFlexibleBoxAttr contained reverse
|
||||
syn keyword cssFlexibleBoxAttr contained single mulitple
|
||||
syn keyword cssFlexibleBoxAttr contained single multiple
|
||||
syn keyword cssFlexibleBoxAttr contained horizontal
|
||||
syn match cssFlexibleBoxAttr contained "\<vertical\(-align\)\@!\>" "escape vertical-align
|
||||
syn match cssFlexibleBoxAttr contained "\<\(inline\|block\)-axis\>"
|
||||
@@ -261,6 +278,7 @@ syn match cssFlexibleBoxAttr contained "\<\(inline\|block\)-axis\>"
|
||||
" CSS Fonts Module Level 3
|
||||
" http://www.w3.org/TR/css-fonts-3/
|
||||
syn match cssFontProp contained "\<font\(-\(family\|\|feature-settings\|kerning\|language-override\|size\(-adjust\)\=\|stretch\|style\|synthesis\|variant\(-\(alternates\|caps\|east-asian\|ligatures\|numeric\|position\)\)\=\|weight\)\)\=\>"
|
||||
|
||||
" font attributes
|
||||
syn keyword cssFontAttr contained icon menu caption
|
||||
syn match cssFontAttr contained "\<small-\(caps\|caption\)\>"
|
||||
@@ -268,27 +286,21 @@ syn match cssFontAttr contained "\<message-box\>"
|
||||
syn match cssFontAttr contained "\<status-bar\>"
|
||||
syn keyword cssFontAttr contained larger smaller
|
||||
syn match cssFontAttr contained "\<\(x\{1,2\}-\)\=\(large\|small\)\>"
|
||||
|
||||
" font-family attributes
|
||||
syn match cssFontAttr contained "\<\(sans-\)\=serif\>"
|
||||
syn keyword cssFontAttr contained Antiqua Arial Black Book Charcoal Comic Courier Dingbats Gadget Geneva Georgia Grande Helvetica Impact Linotype Lucida MS Monaco Neue New Palatino Roboto Roman Symbol Tahoma Times Trebuchet Unicode Verdana Webdings Wingdings York Zapf
|
||||
syn keyword cssFontAttr contained Antiqua Arial Black Book Charcoal Comic Courier Dingbats Gadget Geneva Georgia Grande Helvetica Impact Linotype Lucida MS Monaco Neue New Palatino Roboto Roman Symbol Tahoma Times Trebuchet Verdana Webdings Wingdings York Zapf
|
||||
syn keyword cssFontAttr contained cursive fantasy monospace
|
||||
|
||||
" font-feature-settings attributes
|
||||
syn keyword cssFontAttr contained on off
|
||||
|
||||
" font-stretch attributes
|
||||
syn match cssFontAttr contained "\<\(\(ultra\|extra\|semi\)-\)\=\(condensed\|expanded\)\>"
|
||||
|
||||
" font-style attributes
|
||||
syn keyword cssFontAttr contained italic oblique
|
||||
|
||||
" font-variant-caps attributes
|
||||
syn match cssFontAttr contained "\<\(all-\)\=\(small-\|petite-\|titling-\)caps\>"
|
||||
syn keyword cssFontAttr contained unicase
|
||||
|
||||
" font-synthesis attributes
|
||||
syn keyword cssFontAttr contained weight style
|
||||
" font-weight attributes
|
||||
syn keyword cssFontAttr contained bold bolder lighter
|
||||
" TODO: font-variant-* attributes
|
||||
"------------------------------------------------
|
||||
|
||||
" Webkit specific property/attributes
|
||||
@@ -448,7 +460,7 @@ syn match cssMobileTextProp contained "\<text-size-adjust\>"
|
||||
|
||||
syn match cssBraces contained "[{}]"
|
||||
syn match cssError contained "{@<>"
|
||||
syn region cssDefinition transparent matchgroup=cssBraces start='{' end='}' contains=cssAttrRegion,css.*Prop,cssComment,cssValue.*,cssColor,cssURL,cssImportant,cssError,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,cssVendor,cssDefinition,cssHacks keepend fold
|
||||
syn region cssDefinition transparent matchgroup=cssBraces start='{' end='}' contains=cssAttrRegion,css.*Prop,cssComment,cssValue.*,cssColor,cssURL,cssImportant,cssError,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,cssVendor,cssDefinition,cssHacks,cssNoise fold
|
||||
syn match cssBraceError "}"
|
||||
syn match cssAttrComma ","
|
||||
|
||||
@@ -466,6 +478,9 @@ syn match cssPseudoClassId contained "\<selection\>"
|
||||
syn match cssPseudoClassId contained "\<focus\(-inner\)\=\>"
|
||||
syn match cssPseudoClassId contained "\<\(input-\)\=placeholder\>"
|
||||
|
||||
" Misc highlight groups
|
||||
syntax match cssUnitDecorators /\(#\|-\|%\|mm\|cm\|in\|pt\|pc\|em\|ex\|px\|ch\|rem\|vh\|vw\|vmin\|vmax\|dpi\|dppx\|dpcm\|Hz\|kHz\|s\|ms\|deg\|grad\|rad\)/ contained
|
||||
syntax match cssNoise contained /\(:\|;\|\/\)/
|
||||
|
||||
" Comment
|
||||
syn region cssComment start="/\*" end="\*/" contains=@Spell fold
|
||||
@@ -487,17 +502,13 @@ syn match cssVendor contained "\(-\(webkit\|moz\|o\|ms\)-\)"
|
||||
" http://www.paulirish.com/2009/browser-specific-css-hacks/
|
||||
syn match cssHacks contained /\(_\|*\)/
|
||||
|
||||
" Misc highlight groups
|
||||
syntax match cssUnitDecorators /\(#\|-\|%\|mm\|cm\|in\|pt\|pc\|em\|ex\|px\|rem\|dpi\|dppx\|dpcm\|Hz\|kHz\|s\|ms\|deg\|grad\|rad\)/ contained
|
||||
syntax match cssNoise contained /\(:\|;\|\/\)/
|
||||
|
||||
" Attr Enhance
|
||||
" Some keywords are both Prop and Attr, so we have to handle them
|
||||
syn region cssAttrRegion start=/:/ end=/;/ contained keepend contains=css.*Attr,cssColor,cssImportant,cssValue.*,cssFunction,cssString.*,cssURL,cssComment,cssUnicodeEscape,cssVendor,cssError,cssAttrComma,cssNoise
|
||||
syn region cssAttrRegion start=/:/ end=/\ze\(;\|)\|}\)/ contained contains=css.*Attr,cssColor,cssImportant,cssValue.*,cssFunction,cssString.*,cssURL,cssComment,cssUnicodeEscape,cssVendor,cssError,cssAttrComma,cssNoise
|
||||
|
||||
" Hack for transition
|
||||
" The 'transition' Prop has Props after ':'.
|
||||
syn region cssAttrRegion start=/transition\s*:/ end=/;/ contained keepend contains=css.*Prop,css.*Attr,cssColor,cssImportant,cssValue.*,cssFunction,cssString.*,cssURL,cssComment,cssUnicodeEscape,cssVendor,cssError,cssAttrComma,cssNoise
|
||||
" 'transition' has Props after ':'.
|
||||
syn region cssAttrRegion start=/transition\s*:/ end=/\ze\(;\|)\|}\)/ contained contains=css.*Prop,css.*Attr,cssColor,cssImportant,cssValue.*,cssFunction,cssString.*,cssURL,cssComment,cssUnicodeEscape,cssVendor,cssError,cssAttrComma,cssNoise
|
||||
|
||||
|
||||
if main_syntax == "css"
|
||||
@@ -635,7 +646,7 @@ if version >= 508 || !exists("did_css_syn_inits")
|
||||
HiLink cssAttr Constant
|
||||
HiLink cssUnitDecorators Number
|
||||
HiLink cssNoise Noise
|
||||
HiLink atKeyword Comment
|
||||
HiLink atKeyword PreProc
|
||||
delcommand HiLink
|
||||
endif
|
||||
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
" Vim syntax file
|
||||
" Language: Datascript
|
||||
" Language: DataScript
|
||||
" Maintainer: Dominique Pelle <dominique.pelle@gmail.com>
|
||||
" Last Change: 2014 Feb 26
|
||||
" Last Change: 2015 Jul 30
|
||||
"
|
||||
" DataScript is a formal language for modelling binary datatypes,
|
||||
" bitstreams or file formats. For more information, see:
|
||||
" http://datascript.berlios.de/DataScriptLanguageOverview.html
|
||||
"
|
||||
" http://dstools.sourceforge.net/DataScriptLanguageOverview.html
|
||||
|
||||
if version < 600
|
||||
syntax clear
|
||||
@@ -19,6 +20,8 @@ syn keyword dsPackage import package
|
||||
syn keyword dsType bit bool string
|
||||
syn keyword dsType int int8 int16 int32 int64
|
||||
syn keyword dsType uint8 uint16 uint32 uint64
|
||||
syn keyword dsType varint16 varint32 varint64
|
||||
syn keyword dsType varuint16 varuint32 varuint64
|
||||
syn keyword dsType leint16 leint32 leint64
|
||||
syn keyword dsType leuint16 leuint32 leuint64
|
||||
syn keyword dsEndian little big
|
||||
@@ -32,7 +35,8 @@ syn keyword dsOperator sizeof bitsizeof lengthof is sum forall in
|
||||
syn keyword dsStorageClass const
|
||||
syn keyword dsTodo contained TODO FIXME XXX
|
||||
syn keyword dsSql sql sql_table sql_database sql_pragma sql_index
|
||||
syn keyword dsSql sql_integer sql_metadata sql_key foreign_key
|
||||
syn keyword dsSql sql_integer sql_metadata sql_key sql_virtual
|
||||
syn keyword dsSql using reference_key foreign_key to
|
||||
|
||||
" dsCommentGroup allows adding matches for special things in comments.
|
||||
syn cluster dsCommentGroup contains=dsTodo
|
||||
@@ -61,6 +65,8 @@ syn region dsComment
|
||||
syn region dsString
|
||||
\ start=+L\="+ skip=+\\\\\|\\"+ end=+"+ contains=@Spell
|
||||
|
||||
syn sync ccomment dsComment
|
||||
|
||||
" Define the default highlighting.
|
||||
hi def link dsType Type
|
||||
hi def link dsEndian StorageClass
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
" Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
|
||||
" Former Maintainers: Gerfried Fuchs <alfie@ist.org>
|
||||
" Wichert Akkerman <wakkerma@debian.org>
|
||||
" Last Change: 2014 Jul 11
|
||||
" Last Change: 2015 Apr 30
|
||||
" URL: http://anonscm.debian.org/hg/pkg-vim/vim/raw-file/unstable/runtime/syntax/debchangelog.vim
|
||||
|
||||
" Standard syntax initialization
|
||||
@@ -16,10 +16,14 @@ endif
|
||||
" Case doesn't matter for us
|
||||
syn case ignore
|
||||
|
||||
let urgency='urgency=\(low\|medium\|high\|critical\)\( [^[:space:],][^,]*\)\='
|
||||
let binNMU='binary-only=yes'
|
||||
|
||||
" Define some common expressions we can use later on
|
||||
syn match debchangelogName contained "^[[:alnum:]][[:alnum:].+-]\+ "
|
||||
syn match debchangelogUrgency contained "; urgency=\(low\|medium\|high\|critical\|emergency\)\( \S.*\)\="
|
||||
syn match debchangelogTarget contained "\v %(frozen|unstable|%(testing|%(old)=stable)%(-proposed-updates|-security)=|experimental|squeeze-%(backports%(-sloppy)=|volatile)|wheezy-backports|%(devel|lucid|precise|trusty|utopic)%(-%(security|proposed|updates|backports|commercial|partner))=)+"
|
||||
exe 'syn match debchangelogFirstKV contained "; \('.urgency.'\|'.binNMU.'\)"'
|
||||
exe 'syn match debchangelogOtherKV contained ", \('.urgency.'\|'.binNMU.'\)"'
|
||||
syn match debchangelogTarget contained "\v %(frozen|unstable|sid|%(testing|%(old)=stable)%(-proposed-updates|-security)=|experimental|squeeze-%(backports%(-sloppy)=|volatile|lts|security)|wheezy-%(backports%(-sloppy)=|security)|jessie%(-backports|-security)=|stretch|%(devel|lucid|precise|trusty|utopic)%(-%(security|proposed|updates|backports|commercial|partner))=)+"
|
||||
syn match debchangelogVersion contained "(.\{-})"
|
||||
syn match debchangelogCloses contained "closes:\_s*\(bug\)\=#\=\_s\=\d\+\(,\_s*\(bug\)\=#\=\_s\=\d\+\)*"
|
||||
syn match debchangelogLP contained "\clp:\s\+#\d\+\(,\s*#\d\+\)*"
|
||||
@@ -27,7 +31,7 @@ syn match debchangelogEmail contained "[_=[:alnum:].+-]\+@[[:alnum:]./\-]\+"
|
||||
syn match debchangelogEmail contained "<.\{-}>"
|
||||
|
||||
" Define the entries that make up the changelog
|
||||
syn region debchangelogHeader start="^[^ ]" end="$" contains=debchangelogName,debchangelogUrgency,debchangelogTarget,debchangelogVersion oneline
|
||||
syn region debchangelogHeader start="^[^ ]" end="$" contains=debchangelogName,debchangelogFirstKV,debchangelogOtherKV,debchangelogTarget,debchangelogVersion,debchangelogBinNMU oneline
|
||||
syn region debchangelogFooter start="^ [^ ]" end="$" contains=debchangelogEmail oneline
|
||||
syn region debchangelogEntry start="^ " end="$" contains=debchangelogCloses,debchangelogLP oneline
|
||||
|
||||
@@ -45,7 +49,8 @@ if version >= 508 || !exists("did_debchangelog_syn_inits")
|
||||
HiLink debchangelogEntry Normal
|
||||
HiLink debchangelogCloses Statement
|
||||
HiLink debchangelogLP Statement
|
||||
HiLink debchangelogUrgency Identifier
|
||||
HiLink debchangelogFirstKV Identifier
|
||||
HiLink debchangelogOtherKV Identifier
|
||||
HiLink debchangelogName Comment
|
||||
HiLink debchangelogVersion Identifier
|
||||
HiLink debchangelogTarget Identifier
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
" Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
|
||||
" Former Maintainers: Gerfried Fuchs <alfie@ist.org>
|
||||
" Wichert Akkerman <wakkerma@debian.org>
|
||||
" Last Change: 2014 May 01
|
||||
" Last Change: 2014 Oct 08
|
||||
" URL: http://anonscm.debian.org/hg/pkg-vim/vim/raw-file/unstable/runtime/syntax/debcontrol.vim
|
||||
|
||||
" Standard syntax initialization
|
||||
@@ -50,7 +50,7 @@ syn match debcontrolDmUpload contained "\cyes"
|
||||
syn match debcontrolHTTPUrl contained "\vhttps?://[[:alnum:]][-[:alnum:]]*[[:alnum:]]?(\.[[:alnum:]][-[:alnum:]]*[[:alnum:]]?)*\.[[:alpha:]][-[:alnum:]]*[[:alpha:]]?(:\d+)?(/[^[:space:]]*)?$"
|
||||
syn match debcontrolVcsSvn contained "\vsvn%(\+ssh)?://[[:alnum:]][-[:alnum:]]*[[:alnum:]]?(\.[[:alnum:]][-[:alnum:]]*[[:alnum:]]?)*\.[[:alpha:]][-[:alnum:]]*[[:alpha:]]?(:\d+)?(/[^[:space:]]*)?$"
|
||||
syn match debcontrolVcsCvs contained "\v%(\-d *)?:pserver:[^@]+\@[[:alnum:]][-[:alnum:]]*[[:alnum:]]?(\.[[:alnum:]][-[:alnum:]]*[[:alnum:]]?)*\.[[:alpha:]][-[:alnum:]]*[[:alpha:]]?:/[^[:space:]]*%( [^[:space:]]+)?$"
|
||||
syn match debcontrolVcsGit contained "\v%(git|http)://[[:alnum:]][-[:alnum:]]*[[:alnum:]]?(\.[[:alnum:]][-[:alnum:]]*[[:alnum:]]?)*\.[[:alpha:]][-[:alnum:]]*[[:alpha:]]?(:\d+)?(/[^[:space:]]*)?%(\s+-b\s+[^ ~^:?*[\\]+)?$"
|
||||
syn match debcontrolVcsGit contained "\v%(git|https?)://[[:alnum:]][-[:alnum:]]*[[:alnum:]]?(\.[[:alnum:]][-[:alnum:]]*[[:alnum:]]?)*\.[[:alpha:]][-[:alnum:]]*[[:alpha:]]?(:\d+)?(/[^[:space:]]*)?%(\s+-b\s+[^ ~^:?*[\\]+)?$"
|
||||
|
||||
" An email address
|
||||
syn match debcontrolEmail "[_=[:alnum:]\.+-]\+@[[:alnum:]\./\-]\+"
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" Language: Debian sources.list
|
||||
" Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
|
||||
" Former Maintainer: Matthijs Mohlmann <matthijs@cacholong.nl>
|
||||
" Last Change: 2014 Jul 11
|
||||
" Last Change: 2015 May 25
|
||||
" URL: http://anonscm.debian.org/hg/pkg-vim/vim/raw-file/unstable/runtime/syntax/debsources.vim
|
||||
|
||||
" Standard syntax initialization
|
||||
@@ -21,15 +21,35 @@ syn match debsourcesKeyword /\(deb-src\|deb\|main\|contrib\|non-free\|res
|
||||
" Match comments
|
||||
syn match debsourcesComment /#.*/ contains=@Spell
|
||||
|
||||
let s:cpo = &cpo
|
||||
set cpo-=C
|
||||
let s:supported = [
|
||||
\ 'oldstable', 'stable', 'testing', 'unstable', 'experimental',
|
||||
\ 'squeeze', 'wheezy', 'jessie', 'stretch', 'sid', 'rc-buggy',
|
||||
\
|
||||
\ 'precise', 'trusty', 'utopic', 'vivid', 'wily', 'devel'
|
||||
\ ]
|
||||
let s:unsupported = [
|
||||
\ 'buzz', 'rex', 'bo', 'hamm', 'slink', 'potato',
|
||||
\ 'woody', 'sarge', 'etch', 'lenny',
|
||||
\
|
||||
\ 'warty', 'hoary', 'breezy', 'dapper', 'edgy', 'feisty',
|
||||
\ 'gutsy', 'hardy', 'intrepid', 'jaunty', 'karmic', 'lucid',
|
||||
\ 'maverick', 'natty', 'oneiric', 'quantal', 'raring', 'saucy'
|
||||
\ ]
|
||||
let &cpo=s:cpo
|
||||
|
||||
" Match uri's
|
||||
syn match debsourcesUri +\(http://\|ftp://\|[rs]sh://\|debtorrent://\|\(cdrom\|copy\|file\):\)[^' <>"]\++
|
||||
syn match debsourcesDistrKeyword +\([[:alnum:]_./]*\)\(squeeze\|wheezy\|jessie\|\(old\)\=stable\|testing\|unstable\|sid\|rc-buggy\|experimental\|devel\|lucid\|precise\|trusty\|utopic\)\([-[:alnum:]_./]*\)+
|
||||
exe 'syn match debsourcesDistrKeyword +\([[:alnum:]_./]*\)\('. join(s:supported, '\|'). '\)\([-[:alnum:]_./]*\)+'
|
||||
exe 'syn match debsourcesUnsupportedDistrKeyword +\([[:alnum:]_./]*\)\('. join(s:unsupported, '\|') .'\)\([-[:alnum:]_./]*\)+'
|
||||
|
||||
" Associate our matches and regions with pretty colours
|
||||
hi def link debsourcesLine Error
|
||||
hi def link debsourcesKeyword Statement
|
||||
hi def link debsourcesDistrKeyword Type
|
||||
hi def link debsourcesComment Comment
|
||||
hi def link debsourcesUri Constant
|
||||
hi def link debsourcesLine Error
|
||||
hi def link debsourcesKeyword Statement
|
||||
hi def link debsourcesDistrKeyword Type
|
||||
hi def link debsourcesUnsupportedDistrKeyword WarningMsg
|
||||
hi def link debsourcesComment Comment
|
||||
hi def link debsourcesUri Constant
|
||||
|
||||
let b:current_syntax = "debsources"
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" Language: Diff (context or unified)
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Translations by Jakson Alves de Aquino.
|
||||
" Last Change: 2015 Jan 07
|
||||
" Last Change: 2015 Feb 03
|
||||
|
||||
" Quit when a (custom) syntax file was already loaded
|
||||
if exists("b:current_syntax")
|
||||
@@ -123,13 +123,17 @@ syn match diffNoEOL "^\\ Non hai un salto de liña na fin da liña"
|
||||
syn match diffCommon "^Subdirectorios comúns: .* e .*"
|
||||
|
||||
" he
|
||||
syn match diffOnly "^.*-ב קר אצמנ .*"
|
||||
syn match diffIdentical "^םיהז םניה .*-ו .* םיצבקה$"
|
||||
syn match diffDiffer "^הזמ הז םינוש `.*'-ו `.*' םיצבקה$"
|
||||
syn match diffBDiffer "^הזמ הז םינוש `.*'-ו `.*' םיירניב םיצבק$"
|
||||
syn match diffIsA "^.* .*-ל .* .* תוושהל ןתינ אל$"
|
||||
syn match diffNoEOL "^\\ ץבוקה ףוסב השד.-הרוש ות רס."
|
||||
syn match diffCommon "^.*-ו .* :תוהז תויקית-תת$"
|
||||
" ^.* are expansive patterns for long lines, so disabled unless we can match
|
||||
" some specific hebrew chars
|
||||
if search('\%u05d5\|\%u05d1', 'nw', '', 100)
|
||||
syn match diffOnly "^.*-ב קר אצמנ .*"
|
||||
syn match diffIdentical "^םיהז םניה .*-ו .* םיצבקה$"
|
||||
syn match diffDiffer "^הזמ הז םינוש `.*'-ו `.*' םיצבקה$"
|
||||
syn match diffBDiffer "^הזמ הז םינוש `.*'-ו `.*' םיירניב םיצבק$"
|
||||
syn match diffIsA "^.* .*-ל .* .* תוושהל ןתינ אל$"
|
||||
syn match diffNoEOL "^\\ ץבוקה ףוסב השד.-הרוש ות רס."
|
||||
syn match diffCommon "^.*-ו .* :תוהז תויקית-תת$"
|
||||
endif
|
||||
|
||||
" hr
|
||||
syn match diffOnly "^Samo u .*"
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
" Vim syntax file
|
||||
" Language: gnuplot 4.7.0
|
||||
" Maintainer: Andrew Rasmussen andyras@users.sourceforge.net
|
||||
" Maintainer: Josh Wainwright <wainwright DOT ja AT gmail DOT com>
|
||||
" Last Maintainer: Andrew Rasmussen andyras@users.sourceforge.net
|
||||
" Original Maintainer: John Hoelzel johnh51@users.sourceforge.net
|
||||
" Last Change: 2014-02-24
|
||||
" Last Change: 2015-08-25
|
||||
" Filenames: *.gnu *.plt *.gpi *.gih *.gp *.gnuplot scripts: #!*gnuplot
|
||||
" URL: http://www.vim.org/scripts/script.php?script_id=4873
|
||||
" Original URL: http://johnh51.get.to/vim/syntax/gnuplot.vim
|
||||
@@ -364,18 +365,18 @@ syn keyword gnuplotKeyword samples
|
||||
" set size
|
||||
syn keyword gnuplotKeyword size square nosquare ratio noratio
|
||||
" set style
|
||||
syn keyword gnuplotKeyword style function data noborder rectangle arrow
|
||||
syn keyword gnuplotKeyword default nohead head heads size filled empty
|
||||
syn keyword gnuplotKeyword nofilled front back boxplot range fraction
|
||||
syn keyword gnuplotKeyword outliers nooutliers pointtype candlesticks
|
||||
syn keyword gnuplotKeyword separation labels off auto x x2 sorted unsorted
|
||||
syn keyword gnuplotKeyword fill empty transparent solid pattern border
|
||||
syn keyword gnuplotKeyword increment userstyles financebars line default
|
||||
syn keyword gnuplotKeyword linetype lt linecolor lc linewidth lw pointtype
|
||||
syn keyword gnuplotKeyword pt pointsize ps pointinterval pi palette circle
|
||||
syn keyword gnuplotKeyword radius graph screen wedge nowedge ellipse size
|
||||
syn keyword gnuplotKeyword units xx xy yy histogram line textbox opaque
|
||||
syn keyword gnuplotKeyword border noborder
|
||||
syn keyword gnuplotKeyword style arrow auto back border boxplot
|
||||
syn keyword gnuplotKeyword candlesticks circle clustered columnstacked data
|
||||
syn keyword gnuplotKeyword default ellipse empty fill[ed] financebars
|
||||
syn keyword gnuplotKeyword fraction front function gap graph head[s]
|
||||
syn keyword gnuplotKeyword histogram increment labels lc line linecolor
|
||||
syn keyword gnuplotKeyword linetype linewidth lt lw noborder nofilled
|
||||
syn keyword gnuplotKeyword nohead nooutliers nowedge off opaque outliers
|
||||
syn keyword gnuplotKeyword palette pattern pi pointinterval pointsize
|
||||
syn keyword gnuplotKeyword pointtype ps pt radius range rectangle
|
||||
syn keyword gnuplotKeyword rowstacked screen separation size solid sorted
|
||||
syn keyword gnuplotKeyword textbox transparent units unsorted userstyles
|
||||
syn keyword gnuplotKeyword wedge x x2 xx xy yy
|
||||
" set surface
|
||||
syn keyword gnuplotKeyword surface implicit explicit
|
||||
" set table
|
||||
@@ -496,8 +497,8 @@ syn keyword gnuplotTodo contained TODO FIXME XXX
|
||||
syn keyword gnuplotStatement cd call clear evaluate exit fit help history
|
||||
syn keyword gnuplotStatement load lower pause plot p print pwd quit raise
|
||||
syn keyword gnuplotStatement refresh replot rep reread reset save set show
|
||||
syn keyword gnuplotStatement shell splot spstats system test undefine unset
|
||||
syn keyword gnuplotStatement update
|
||||
syn keyword gnuplotStatement shell splot spstats stats system test undefine
|
||||
syn keyword gnuplotStatement unset update
|
||||
|
||||
" ---- Define the default highlighting ---- "
|
||||
" For version 5.7 and earlier: only when not done already
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
" Language: Groovy
|
||||
" Original Author: Alessio Pace <billy.corgan@tiscali.it>
|
||||
" Maintainer: Tobias Rapp <yahuxo@gmx.de>
|
||||
" Version: 0.1.13
|
||||
" Version: 0.1.14
|
||||
" URL: http://www.vim.org/scripts/script.php?script_id=945
|
||||
" Last Change: 2013 Apr 24
|
||||
" Last Change: 2015 Apr 21
|
||||
|
||||
" THE ORIGINAL AUTHOR'S NOTES:
|
||||
"
|
||||
@@ -157,7 +157,7 @@ syn match groovyOperator "\.\."
|
||||
syn match groovyOperator "<\{2,3}"
|
||||
syn match groovyOperator ">\{2,3}"
|
||||
syn match groovyOperator "->"
|
||||
syn match groovyExternal '^#!.*[/\\]groovy\>'
|
||||
syn match groovyLineComment '^\%1l#!.*' " Shebang line
|
||||
syn match groovyExceptions "\<Exception\>\|\<[A-Z]\{1,}[a-zA-Z0-9]*Exception\>"
|
||||
|
||||
" Groovy JDK stuff
|
||||
@@ -220,7 +220,6 @@ syn region groovyComment start="/\*" end="\*/" contains=@groovyCommen
|
||||
syn match groovyCommentStar contained "^\s*\*[^/]"me=e-1
|
||||
syn match groovyCommentStar contained "^\s*\*$"
|
||||
syn match groovyLineComment "//.*" contains=@groovyCommentSpecial2,groovyTodo,@Spell
|
||||
syn match groovyLineComment "#.*" contains=@groovyCommentSpecial2,groovyTodo,@Spell
|
||||
GroovyHiLink groovyCommentString groovyString
|
||||
GroovyHiLink groovyComment2String groovyString
|
||||
GroovyHiLink groovyCommentCharacter groovyCharacter
|
||||
|
||||
@@ -1,7 +1,29 @@
|
||||
" Vim syntax file
|
||||
" Language: Intel hex MCS51
|
||||
" Maintainer: Sams Ricahrd <sams@ping.at>
|
||||
" Last Change: 2003 Apr 25
|
||||
" Language: Intel HEX
|
||||
" Maintainer: Markus Heidelberg <markus.heidelberg@web.de>
|
||||
" Previous version: Sams Ricahrd <sams@ping.at>
|
||||
" Last Change: 2015 Feb 24
|
||||
|
||||
" Each record (line) is built as follows:
|
||||
"
|
||||
" field digits states
|
||||
"
|
||||
" +----------+
|
||||
" | start | 1 (':') hexRecStart
|
||||
" +----------+
|
||||
" | count | 2 hexDataByteCount
|
||||
" +----------+
|
||||
" | address | 4 hexNoAddress, hexDataAddress, (hexAddressFieldUnknown)
|
||||
" +----------+
|
||||
" | type | 2 hexRecType, (hexRecTypeUnknown)
|
||||
" +----------+
|
||||
" | data | 0..510 hexDataOdd, hexDataEven, hexExtendedAddress, hexStartAddress, (hexDataFieldUnknown, hexDataUnexpected)
|
||||
" +----------+
|
||||
" | checksum | 2 hexChecksum
|
||||
" +----------+
|
||||
"
|
||||
" States in parentheses in the upper format description indicate that they
|
||||
" should not appear in a valid file.
|
||||
|
||||
" For version 5.x: Clear all syntax items
|
||||
" For version 6.x: Quit when a syntax file was already loaded
|
||||
@@ -11,21 +33,39 @@ elseif exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
syn case ignore
|
||||
syn match hexRecStart "^:"
|
||||
|
||||
" storage types
|
||||
syn match hexDataByteCount "^:[0-9a-fA-F]\{2}" contains=hexRecStart nextgroup=hexAddress
|
||||
|
||||
syn match hexChecksum "[0-9a-fA-F]\{2}$"
|
||||
syn match hexAdress "^:[0-9a-fA-F]\{6}" contains=hexDataByteCount
|
||||
syn match hexRecType "^:[0-9a-fA-F]\{8}" contains=hexAdress
|
||||
syn match hexDataByteCount contained "^:[0-9a-fA-F]\{2}" contains=hexStart
|
||||
syn match hexStart contained "^:"
|
||||
syn match hexExtAdrRec "^:02000002[0-9a-fA-F]\{4}" contains=hexSpecRec
|
||||
syn match hexExtLinAdrRec "^:02000004[0-9a-fA-F]\{4}" contains=hexSpecRec
|
||||
syn match hexSpecRec contained "^:0[02]00000[124]" contains=hexStart
|
||||
syn match hexEOF "^:00000001" contains=hexStart
|
||||
syn match hexAddress "[0-9a-fA-F]\{4}" transparent contained nextgroup=hexRecTypeUnknown,hexRecType
|
||||
" The address field groups include the record type field in the last 2
|
||||
" characters, the proper match for highlighting follows below.
|
||||
syn match hexAddressFieldUnknown "^:[0-9a-fA-F]\{8}" contains=hexDataByteCount nextgroup=hexDataFieldUnknown,hexChecksum
|
||||
syn match hexDataAddress "^:[0-9a-fA-F]\{6}00" contains=hexDataByteCount nextgroup=hexDataOdd,hexChecksum
|
||||
syn match hexNoAddress "^:[0-9a-fA-F]\{6}01" contains=hexDataByteCount nextgroup=hexDataUnexpected,hexChecksum
|
||||
syn match hexNoAddress "^:[0-9a-fA-F]\{6}0[24]" contains=hexDataByteCount nextgroup=hexExtendedAddress
|
||||
syn match hexNoAddress "^:[0-9a-fA-F]\{6}0[35]" contains=hexDataByteCount nextgroup=hexStartAddress
|
||||
|
||||
syn case match
|
||||
syn match hexRecTypeUnknown "[0-9a-fA-F]\{2}" contained
|
||||
syn match hexRecType "0[0-5]" contained
|
||||
|
||||
syn match hexDataFieldUnknown "[0-9a-fA-F]\{2}" contained nextgroup=hexDataFieldUnknown,hexChecksum
|
||||
" alternating highlight per byte for easier reading
|
||||
syn match hexDataOdd "[0-9a-fA-F]\{2}" contained nextgroup=hexDataEven,hexChecksum
|
||||
syn match hexDataEven "[0-9a-fA-F]\{2}" contained nextgroup=hexDataOdd,hexChecksum
|
||||
" data bytes which should not exist
|
||||
syn match hexDataUnexpected "[0-9a-fA-F]\{2}" contained nextgroup=hexDataUnexpected,hexChecksum
|
||||
" Data digit pair regex usage also results in only highlighting the checksum
|
||||
" if the number of data characters is even.
|
||||
|
||||
" special data fields
|
||||
syn match hexExtendedAddress "[0-9a-fA-F]\{4}" contained nextgroup=hexDataUnexpected,hexChecksum
|
||||
syn match hexStartAddress "[0-9a-fA-F]\{8}" contained nextgroup=hexDataUnexpected,hexChecksum
|
||||
|
||||
syn match hexChecksum "[0-9a-fA-F]\{2}$" contained
|
||||
|
||||
" Folding Data Records below an Extended Segment/Linear Address Record
|
||||
syn region hexExtAdrBlock start="^:[0-9a-fA-F]\{7}[24]" skip="^:[0-9a-fA-F]\{7}0" end="^:"me=s-1 fold transparent
|
||||
|
||||
" Define the default highlighting.
|
||||
" For version 5.7 and earlier: only when not done already
|
||||
@@ -38,16 +78,21 @@ if version >= 508 || !exists("did_hex_syntax_inits")
|
||||
command -nargs=+ HiLink hi def link <args>
|
||||
endif
|
||||
|
||||
" The default methods for highlighting. Can be overridden later
|
||||
HiLink hexStart SpecialKey
|
||||
HiLink hexDataByteCount Constant
|
||||
HiLink hexAdress Comment
|
||||
HiLink hexRecType WarningMsg
|
||||
HiLink hexChecksum Search
|
||||
HiLink hexExtAdrRec hexAdress
|
||||
HiLink hexEOF hexSpecRec
|
||||
HiLink hexExtLinAdrRec hexAdress
|
||||
HiLink hexSpecRec DiffAdd
|
||||
" The default methods for highlighting. Can be overridden later
|
||||
HiLink hexRecStart hexRecType
|
||||
HiLink hexDataByteCount Constant
|
||||
hi def hexAddressFieldUnknown term=italic cterm=italic gui=italic
|
||||
HiLink hexDataAddress Comment
|
||||
HiLink hexNoAddress DiffAdd
|
||||
HiLink hexRecTypeUnknown hexRecType
|
||||
HiLink hexRecType WarningMsg
|
||||
hi def hexDataFieldUnknown term=italic cterm=italic gui=italic
|
||||
hi def hexDataOdd term=bold cterm=bold gui=bold
|
||||
hi def hexDataEven term=NONE cterm=NONE gui=NONE
|
||||
HiLink hexDataUnexpected Error
|
||||
HiLink hexExtendedAddress hexDataAddress
|
||||
HiLink hexStartAddress hexDataAddress
|
||||
HiLink hexChecksum DiffChange
|
||||
|
||||
delcommand HiLink
|
||||
endif
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" Language: Java
|
||||
" Maintainer: Claudio Fleiner <claudio@fleiner.com>
|
||||
" URL: http://www.fleiner.com/vim/syntax/java.vim
|
||||
" Last Change: 2012 Oct 05
|
||||
" Last Change: 2015 March 01
|
||||
|
||||
" Please check :help java.vim for comments on some of the options available.
|
||||
|
||||
@@ -30,7 +30,7 @@ endif
|
||||
|
||||
" some characters that cannot be in a java program (outside a string)
|
||||
syn match javaError "[\\@`]"
|
||||
syn match javaError "<<<\|\.\.\|=>\|||=\|&&=\|[^-]->\|\*\/"
|
||||
syn match javaError "<<<\|\.\.\|=>\|||=\|&&=\|\*\/"
|
||||
|
||||
syn match javaOK "\.\.\."
|
||||
|
||||
@@ -63,7 +63,7 @@ syn match javaTypedef "\.\s*\<class\>"ms=s+1
|
||||
syn keyword javaClassDecl enum
|
||||
syn match javaClassDecl "^class\>"
|
||||
syn match javaClassDecl "[^.]\s*\<class\>"ms=s+1
|
||||
syn match javaAnnotation "@\([_$a-zA-Z][_$a-zA-Z0-9]*\.\)*[_$a-zA-Z][_$a-zA-Z0-9]*\>"
|
||||
syn match javaAnnotation "@\([_$a-zA-Z][_$a-zA-Z0-9]*\.\)*[_$a-zA-Z][_$a-zA-Z0-9]*\>\(([^)]*)\)\=" contains=javaString
|
||||
syn match javaClassDecl "@interface\>"
|
||||
syn keyword javaBranch break continue nextgroup=javaUserLabelRef skipwhite
|
||||
syn match javaUserLabelRef "\k\+" contained
|
||||
@@ -121,7 +121,7 @@ if exists("java_space_errors")
|
||||
endif
|
||||
endif
|
||||
|
||||
syn region javaLabelRegion transparent matchgroup=javaLabel start="\<case\>" matchgroup=NONE end=":" contains=javaNumber,javaCharacter
|
||||
syn region javaLabelRegion transparent matchgroup=javaLabel start="\<case\>" matchgroup=NONE end=":" contains=javaNumber,javaCharacter,javaString
|
||||
syn match javaUserLabel "^\s*[_$a-zA-Z][_$a-zA-Z0-9_]*\s*:"he=e-1 contains=javaLabel
|
||||
syn keyword javaLabel default
|
||||
|
||||
@@ -188,10 +188,10 @@ syn region javaString start=+"+ end=+"+ end=+$+ contains=javaSpecialChar,javaS
|
||||
syn match javaCharacter "'[^']*'" contains=javaSpecialChar,javaSpecialCharError
|
||||
syn match javaCharacter "'\\''" contains=javaSpecialChar
|
||||
syn match javaCharacter "'[^\\]'"
|
||||
syn match javaNumber "\<\(0[0-7]*\|0[xX]\x\+\|\d\+\)[lL]\=\>"
|
||||
syn match javaNumber "\(\<\d\+\.\d*\|\.\d\+\)\([eE][-+]\=\d\+\)\=[fFdD]\="
|
||||
syn match javaNumber "\<\d\+[eE][-+]\=\d\+[fFdD]\=\>"
|
||||
syn match javaNumber "\<\d\+\([eE][-+]\=\d\+\)\=[fFdD]\>"
|
||||
syn match javaNumber "\<\(0[bB][0-1]\+\|0[0-7]*\|0[xX]\x\+\|\d\(\d\|_\d\)*\)[lL]\=\>"
|
||||
syn match javaNumber "\(\<\d\(\d\|_\d\)*\.\(\d\(\d\|_\d\)*\)\=\|\.\d\(\d\|_\d\)*\)\([eE][-+]\=\d\(\d\|_\d\)*\)\=[fFdD]\="
|
||||
syn match javaNumber "\<\d\(\d\|_\d\)*[eE][-+]\=\d\(\d\|_\d\)*[fFdD]\=\>"
|
||||
syn match javaNumber "\<\d\(\d\|_\d\)*\([eE][-+]\=\d\(\d\|_\d\)*\)\=[fFdD]\>"
|
||||
|
||||
" unicode characters
|
||||
syn match javaSpecial "\\u\d\{4\}"
|
||||
@@ -200,19 +200,21 @@ syn cluster javaTop add=javaString,javaCharacter,javaNumber,javaSpecial,javaStri
|
||||
|
||||
if exists("java_highlight_functions")
|
||||
if java_highlight_functions == "indent"
|
||||
syn match javaFuncDef "^\(\t\| \{8\}\)[_$a-zA-Z][_$a-zA-Z0-9_. \[\]]*([^-+*/()]*)" contains=javaScopeDecl,javaType,javaStorageClass,@javaClasses
|
||||
syn region javaFuncDef start=+^\(\t\| \{8\}\)[$_a-zA-Z][$_a-zA-Z0-9_. \[\]]*([^-+*/()]*,\s*+ end=+)+ contains=javaScopeDecl,javaType,javaStorageClass,@javaClasses
|
||||
syn match javaFuncDef "^ [$_a-zA-Z][$_a-zA-Z0-9_. \[\]]*([^-+*/()]*)" contains=javaScopeDecl,javaType,javaStorageClass,@javaClasses
|
||||
syn region javaFuncDef start=+^ [$_a-zA-Z][$_a-zA-Z0-9_. \[\]]*([^-+*/()]*,\s*+ end=+)+ contains=javaScopeDecl,javaType,javaStorageClass,@javaClasses
|
||||
syn match javaFuncDef "^\(\t\| \{8\}\)[_$a-zA-Z][_$a-zA-Z0-9_. \[\]<>]*([^-+*/]*)" contains=javaScopeDecl,javaType,javaStorageClass,@javaClasses,javaAnnotation
|
||||
syn region javaFuncDef start=+^\(\t\| \{8\}\)[$_a-zA-Z][$_a-zA-Z0-9_. \[\]<>]*([^-+*/]*,\s*+ end=+)+ contains=javaScopeDecl,javaType,javaStorageClass,@javaClasses,javaAnnotation
|
||||
syn match javaFuncDef "^ [$_a-zA-Z][$_a-zA-Z0-9_. \[\]<>]*([^-+*/]*)" contains=javaScopeDecl,javaType,javaStorageClass,@javaClasses,javaAnnotation
|
||||
syn region javaFuncDef start=+^ [$_a-zA-Z][$_a-zA-Z0-9_. \[\]<>]*([^-+*/]*,\s*+ end=+)+ contains=javaScopeDecl,javaType,javaStorageClass,@javaClasses,javaAnnotation
|
||||
else
|
||||
" This line catches method declarations at any indentation>0, but it assumes
|
||||
" two things:
|
||||
" 1. class names are always capitalized (ie: Button)
|
||||
" 2. method names are never capitalized (except constructors, of course)
|
||||
syn region javaFuncDef start=+^\s\+\(\(public\|protected\|private\|static\|abstract\|final\|native\|synchronized\)\s\+\)*\(\(void\|boolean\|char\|byte\|short\|int\|long\|float\|double\|\([A-Za-z_][A-Za-z0-9_$]*\.\)*[A-Z][A-Za-z0-9_$]*\)\(<[^>]*>\)\=\(\[\]\)*\s\+[a-z][A-Za-z0-9_$]*\|[A-Z][A-Za-z0-9_$]*\)\s*([^0-9]+ end=+)+ contains=javaScopeDecl,javaType,javaStorageClass,javaComment,javaLineComment,@javaClasses
|
||||
"syn region javaFuncDef start=+^\s\+\(\(public\|protected\|private\|static\|abstract\|final\|native\|synchronized\)\s\+\)*\(\(void\|boolean\|char\|byte\|short\|int\|long\|float\|double\|\([A-Za-z_][A-Za-z0-9_$]*\.\)*[A-Z][A-Za-z0-9_$]*\)\(<[^>]*>\)\=\(\[\]\)*\s\+[a-z][A-Za-z0-9_$]*\|[A-Z][A-Za-z0-9_$]*\)\s*([^0-9]+ end=+)+ contains=javaScopeDecl,javaType,javaStorageClass,javaComment,javaLineComment,@javaClasses
|
||||
syn region javaFuncDef start=+^\s\+\(\(public\|protected\|private\|static\|abstract\|final\|native\|synchronized\)\s\+\)*\(<.*>\s\+\)\?\(\(void\|boolean\|char\|byte\|short\|int\|long\|float\|double\|\([A-Za-z_][A-Za-z0-9_$]*\.\)*[A-Z][A-Za-z0-9_$]*\)\(<[^(){}]*>\)\=\(\[\]\)*\s\+[a-z][A-Za-z0-9_$]*\|[A-Z][A-Za-z0-9_$]*\)\s*(+ end=+)+ contains=javaScopeDecl,javaType,javaStorageClass,javaComment,javaLineComment,@javaClasses,javaAnnotation
|
||||
endif
|
||||
syn match javaLambdaDef "[a-zA-Z_][a-zA-Z0-9_]*\s*->"
|
||||
syn match javaBraces "[{}]"
|
||||
syn cluster javaTop add=javaFuncDef,javaBraces
|
||||
syn cluster javaTop add=javaFuncDef,javaBraces,javaLambdaDef
|
||||
endif
|
||||
|
||||
if exists("java_highlight_debug")
|
||||
@@ -266,18 +268,23 @@ if exists("java_mark_braces_in_parens_as_errors")
|
||||
endif
|
||||
|
||||
" catch errors caused by wrong parenthesis
|
||||
syn region javaParenT transparent matchgroup=javaParen start="(" end=")" contains=@javaTop,javaParenT1
|
||||
syn region javaParenT transparent matchgroup=javaParen start="(" end=")" contains=@javaTop,javaParenT1
|
||||
syn region javaParenT1 transparent matchgroup=javaParen1 start="(" end=")" contains=@javaTop,javaParenT2 contained
|
||||
syn region javaParenT2 transparent matchgroup=javaParen2 start="(" end=")" contains=@javaTop,javaParenT contained
|
||||
syn match javaParenError ")"
|
||||
" catch errors caused by wrong square parenthesis
|
||||
syn region javaParenT transparent matchgroup=javaParen start="\[" end="\]" contains=@javaTop,javaParenT1
|
||||
syn region javaParenT transparent matchgroup=javaParen start="\[" end="\]" contains=@javaTop,javaParenT1
|
||||
syn region javaParenT1 transparent matchgroup=javaParen1 start="\[" end="\]" contains=@javaTop,javaParenT2 contained
|
||||
syn region javaParenT2 transparent matchgroup=javaParen2 start="\[" end="\]" contains=@javaTop,javaParenT contained
|
||||
syn match javaParenError "\]"
|
||||
|
||||
JavaHiLink javaParenError javaError
|
||||
|
||||
if exists("java_highlight_functions")
|
||||
syn match javaLambdaDef "([a-zA-Z0-9_<>\[\], \t]*)\s*->"
|
||||
" needs to be defined after the parenthesis error catcher to work
|
||||
endif
|
||||
|
||||
if !exists("java_minlines")
|
||||
let java_minlines = 10
|
||||
endif
|
||||
@@ -288,6 +295,7 @@ if version >= 508 || !exists("did_java_syn_inits")
|
||||
if version < 508
|
||||
let did_java_syn_inits = 1
|
||||
endif
|
||||
JavaHiLink javaLambdaDef Function
|
||||
JavaHiLink javaFuncDef Function
|
||||
JavaHiLink javaVarArg Function
|
||||
JavaHiLink javaBraces Function
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
" Vim syntax file
|
||||
" Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2009-05-25
|
||||
" Maintainer: Christian Brabandt <cb@256bit.org>
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2015-05-29
|
||||
" License: Vim (see :h license)
|
||||
" Repository: https://github.com/chrisbra/vim-kconfig
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" Language: Makefile
|
||||
" Maintainer: Claudio Fleiner <claudio@fleiner.com>
|
||||
" URL: http://www.fleiner.com/vim/syntax/make.vim
|
||||
" Last Change: 2012 Oct 05
|
||||
" Last Change: 2015 Feb 28
|
||||
|
||||
" For version 5.x: Clear all syntax items
|
||||
" For version 6.x: Quit when a syntax file was already loaded
|
||||
@@ -43,8 +43,8 @@ syn region makeIdent start="\$(" skip="\\)\|\\\\" end=")" contains=makeStatement
|
||||
syn region makeIdent start="\${" skip="\\}\|\\\\" end="}" contains=makeStatement,makeIdent,makeSString,makeDString
|
||||
syn match makeIdent "\$\$\w*"
|
||||
syn match makeIdent "\$[^({]"
|
||||
syn match makeIdent "^ *\a\w*\s*[:+?!*]="me=e-2
|
||||
syn match makeIdent "^ *\a\w*\s*="me=e-1
|
||||
syn match makeIdent "^ *[^:#= \t]*\s*[:+?!*]="me=e-2
|
||||
syn match makeIdent "^ *[^:#= \t]*\s*="me=e-1
|
||||
syn match makeIdent "%"
|
||||
|
||||
" Makefile.in variables
|
||||
@@ -55,11 +55,11 @@ syn match makeConfig "@[A-Za-z0-9_]\+@"
|
||||
syn match makeImplicit "^\.[A-Za-z0-9_./\t -]\+\s*:$"me=e-1 nextgroup=makeSource
|
||||
syn match makeImplicit "^\.[A-Za-z0-9_./\t -]\+\s*:[^=]"me=e-2 nextgroup=makeSource
|
||||
|
||||
syn region makeTarget transparent matchgroup=makeTarget start="^[A-Za-z0-9_./$()%-][A-Za-z0-9_./\t $()%-]*:\{1,2}[^:=]"rs=e-1 end=";"re=e-1,me=e-1 end="[^\\]$" keepend contains=makeIdent,makeSpecTarget,makeNextLine skipnl nextGroup=makeCommands
|
||||
syn match makeTarget "^[A-Za-z0-9_./$()%*@-][A-Za-z0-9_./\t $()%*@-]*::\=\s*$" contains=makeIdent,makeSpecTarget skipnl nextgroup=makeCommands,makeCommandError
|
||||
syn region makeTarget transparent matchgroup=makeTarget start="^[~A-Za-z0-9_./$()%-][A-Za-z0-9_./\t $()%-]*:\{1,2}[^:=]"rs=e-1 end=";"re=e-1,me=e-1 end="[^\\]$" keepend contains=makeIdent,makeSpecTarget,makeNextLine,makeComment skipnl nextGroup=makeCommands
|
||||
syn match makeTarget "^[~A-Za-z0-9_./$()%*@-][A-Za-z0-9_./\t $()%*@-]*::\=\s*$" contains=makeIdent,makeSpecTarget,makeComment 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\)\>\s*:\{1,2}[^:=]"rs=e-1 end="[^\\]$" keepend contains=makeIdent,makeSpecTarget,makeNextLine 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\)\>\s*::\=\s*$" contains=makeIdent 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\)\>\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\)\>\s*::\=\s*$" contains=makeIdent,makeComment skipnl nextgroup=makeCommands,makeCommandError
|
||||
|
||||
syn match makeCommandError "^\s\+\S.*" contained
|
||||
syn region makeCommands start=";"hs=s+1 start="^\t" end="^[^\t#]"me=e-1,re=e-1 end="^$" contained contains=makeCmdNextLine,makeSpecial,makeComment,makeIdent,makePreCondit,makeDefine,makeDString,makeSString nextgroup=makeCommandError
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
" Vim syntax file
|
||||
" Language: Postfix main.cf configuration
|
||||
" Maintainer: KELEMEN Peter <Peter dot Kelemen at cern dot ch>
|
||||
" Last Update: Hong Xu
|
||||
" Last Change: 2011 May 14
|
||||
" Last Updates: Anton Shestakov, Hong Xu
|
||||
" Last Change: 2015 Feb 10
|
||||
" Version: 0.40
|
||||
" URL: http://cern.ch/fuji/vim/syntax/pfmain.vim
|
||||
" Comment: Based on Postfix 2.9 defaults.
|
||||
" Comment: Based on Postfix 2.12/3.0 postconf.5.html.
|
||||
|
||||
if version < 600
|
||||
syntax clear
|
||||
@@ -41,6 +41,7 @@ syntax keyword pfmainConf address_verify_relayhost
|
||||
syntax keyword pfmainConf address_verify_sender
|
||||
syntax keyword pfmainConf address_verify_sender_dependent_default_transport_maps
|
||||
syntax keyword pfmainConf address_verify_sender_dependent_relayhost_maps
|
||||
syntax keyword pfmainConf address_verify_sender_ttl
|
||||
syntax keyword pfmainConf address_verify_service_name
|
||||
syntax keyword pfmainConf address_verify_transport_maps
|
||||
syntax keyword pfmainConf address_verify_virtual_transport
|
||||
@@ -52,6 +53,7 @@ syntax keyword pfmainConf allow_min_user
|
||||
syntax keyword pfmainConf allow_percent_hack
|
||||
syntax keyword pfmainConf allow_untrusted_routing
|
||||
syntax keyword pfmainConf alternate_config_directories
|
||||
syntax keyword pfmainConf always_add_missing_headers
|
||||
syntax keyword pfmainConf always_bcc
|
||||
syntax keyword pfmainConf anvil_rate_time_unit
|
||||
syntax keyword pfmainConf anvil_status_update_time
|
||||
@@ -61,6 +63,7 @@ syntax keyword pfmainConf application_event_drain_time
|
||||
syntax keyword pfmainConf authorized_flush_users
|
||||
syntax keyword pfmainConf authorized_mailq_users
|
||||
syntax keyword pfmainConf authorized_submit_users
|
||||
syntax keyword pfmainConf authorized_verp_clients
|
||||
syntax keyword pfmainConf backwards_bounce_logfile_compatibility
|
||||
syntax keyword pfmainConf berkeley_db_create_buffer_size
|
||||
syntax keyword pfmainConf berkeley_db_read_buffer_size
|
||||
@@ -81,7 +84,9 @@ syntax keyword pfmainConf command_directory
|
||||
syntax keyword pfmainConf command_execution_directory
|
||||
syntax keyword pfmainConf command_expansion_filter
|
||||
syntax keyword pfmainConf command_time_limit
|
||||
syntax keyword pfmainConf compatibility_level
|
||||
syntax keyword pfmainConf config_directory
|
||||
syntax keyword pfmainConf confirm_delay_cleared
|
||||
syntax keyword pfmainConf connection_cache_protocol_timeout
|
||||
syntax keyword pfmainConf connection_cache_service_name
|
||||
syntax keyword pfmainConf connection_cache_status_update_time
|
||||
@@ -89,14 +94,17 @@ syntax keyword pfmainConf connection_cache_ttl_limit
|
||||
syntax keyword pfmainConf content_filter
|
||||
syntax keyword pfmainConf cyrus_sasl_config_path
|
||||
syntax keyword pfmainConf daemon_directory
|
||||
syntax keyword pfmainConf daemon_table_open_error_is_fatal
|
||||
syntax keyword pfmainConf daemon_timeout
|
||||
syntax keyword pfmainConf data_directory
|
||||
syntax keyword pfmainConf debug_peer_level
|
||||
syntax keyword pfmainConf debug_peer_list
|
||||
syntax keyword pfmainConf debugger_command
|
||||
syntax keyword pfmainConf default_database_type
|
||||
syntax keyword pfmainConf default_delivery_slot_cost
|
||||
syntax keyword pfmainConf default_delivery_slot_discount
|
||||
syntax keyword pfmainConf default_delivery_slot_loan
|
||||
syntax keyword pfmainConf default_delivery_status_filter
|
||||
syntax keyword pfmainConf default_destination_concurrency_failed_cohort_limit
|
||||
syntax keyword pfmainConf default_destination_concurrency_limit
|
||||
syntax keyword pfmainConf default_destination_concurrency_negative_feedback
|
||||
@@ -137,6 +145,7 @@ syntax keyword pfmainConf duplicate_filter_limit
|
||||
syntax keyword pfmainConf empty_address_default_transport_maps_lookup_key
|
||||
syntax keyword pfmainConf empty_address_recipient
|
||||
syntax keyword pfmainConf empty_address_relayhost_maps_lookup_key
|
||||
syntax keyword pfmainConf enable_errors_to
|
||||
syntax keyword pfmainConf enable_long_queue_ids
|
||||
syntax keyword pfmainConf enable_original_recipient
|
||||
syntax keyword pfmainConf error_notice_recipient
|
||||
@@ -144,6 +153,8 @@ syntax keyword pfmainConf error_service_name
|
||||
syntax keyword pfmainConf execution_directory_expansion_filter
|
||||
syntax keyword pfmainConf expand_owner_alias
|
||||
syntax keyword pfmainConf export_environment
|
||||
syntax keyword pfmainConf extract_recipient_limit
|
||||
syntax keyword pfmainConf fallback_relay
|
||||
syntax keyword pfmainConf fallback_transport
|
||||
syntax keyword pfmainConf fallback_transport_maps
|
||||
syntax keyword pfmainConf fast_flush_domains
|
||||
@@ -177,25 +188,33 @@ syntax keyword pfmainConf ipc_idle
|
||||
syntax keyword pfmainConf ipc_timeout
|
||||
syntax keyword pfmainConf ipc_ttl
|
||||
syntax keyword pfmainConf line_length_limit
|
||||
syntax keyword pfmainConf lmdb_map_size
|
||||
syntax keyword pfmainConf lmtp_address_preference
|
||||
syntax keyword pfmainConf lmtp_address_verify_target
|
||||
syntax keyword pfmainConf lmtp_assume_final
|
||||
syntax keyword pfmainConf lmtp_bind_address
|
||||
syntax keyword pfmainConf lmtp_bind_address6
|
||||
syntax keyword pfmainConf lmtp_body_checks
|
||||
syntax keyword pfmainConf lmtp_cache_connection
|
||||
syntax keyword pfmainConf lmtp_cname_overrides_servername
|
||||
syntax keyword pfmainConf lmtp_connect_timeout
|
||||
syntax keyword pfmainConf lmtp_connection_cache_destinations
|
||||
syntax keyword pfmainConf lmtp_connection_cache_on_demand
|
||||
syntax keyword pfmainConf lmtp_connection_cache_time_limit
|
||||
syntax keyword pfmainConf lmtp_connection_reuse_count_limit
|
||||
syntax keyword pfmainConf lmtp_connection_reuse_time_limit
|
||||
syntax keyword pfmainConf lmtp_data_done_timeout
|
||||
syntax keyword pfmainConf lmtp_data_init_timeout
|
||||
syntax keyword pfmainConf lmtp_data_xfer_timeout
|
||||
syntax keyword pfmainConf lmtp_defer_if_no_mx_address_found
|
||||
syntax keyword pfmainConf lmtp_delivery_status_filter
|
||||
syntax keyword pfmainConf lmtp_destination_concurrency_limit
|
||||
syntax keyword pfmainConf lmtp_destination_recipient_limit
|
||||
syntax keyword pfmainConf lmtp_discard_lhlo_keyword_address_maps
|
||||
syntax keyword pfmainConf lmtp_discard_lhlo_keywords
|
||||
syntax keyword pfmainConf lmtp_dns_reply_filter
|
||||
syntax keyword pfmainConf lmtp_dns_resolver_options
|
||||
syntax keyword pfmainConf lmtp_dns_support_level
|
||||
syntax keyword pfmainConf lmtp_enforce_tls
|
||||
syntax keyword pfmainConf lmtp_generic_maps
|
||||
syntax keyword pfmainConf lmtp_header_checks
|
||||
@@ -230,9 +249,11 @@ syntax keyword pfmainConf lmtp_sasl_security_options
|
||||
syntax keyword pfmainConf lmtp_sasl_tls_security_options
|
||||
syntax keyword pfmainConf lmtp_sasl_tls_verified_security_options
|
||||
syntax keyword pfmainConf lmtp_sasl_type
|
||||
syntax keyword pfmainConf lmtp_send_dummy_mail_auth
|
||||
syntax keyword pfmainConf lmtp_send_xforward_command
|
||||
syntax keyword pfmainConf lmtp_sender_dependent_authentication
|
||||
syntax keyword pfmainConf lmtp_skip_5xx_greeting
|
||||
syntax keyword pfmainConf lmtp_skip_quit_response
|
||||
syntax keyword pfmainConf lmtp_starttls_timeout
|
||||
syntax keyword pfmainConf lmtp_tcp_port
|
||||
syntax keyword pfmainConf lmtp_tls_CAfile
|
||||
@@ -248,6 +269,7 @@ syntax keyword pfmainConf lmtp_tls_enforce_peername
|
||||
syntax keyword pfmainConf lmtp_tls_exclude_ciphers
|
||||
syntax keyword pfmainConf lmtp_tls_fingerprint_cert_match
|
||||
syntax keyword pfmainConf lmtp_tls_fingerprint_digest
|
||||
syntax keyword pfmainConf lmtp_tls_force_insecure_host_tlsa_lookup
|
||||
syntax keyword pfmainConf lmtp_tls_key_file
|
||||
syntax keyword pfmainConf lmtp_tls_loglevel
|
||||
syntax keyword pfmainConf lmtp_tls_mandatory_ciphers
|
||||
@@ -262,10 +284,12 @@ syntax keyword pfmainConf lmtp_tls_secure_cert_match
|
||||
syntax keyword pfmainConf lmtp_tls_security_level
|
||||
syntax keyword pfmainConf lmtp_tls_session_cache_database
|
||||
syntax keyword pfmainConf lmtp_tls_session_cache_timeout
|
||||
syntax keyword pfmainConf lmtp_tls_trust_anchor_file
|
||||
syntax keyword pfmainConf lmtp_tls_verify_cert_match
|
||||
syntax keyword pfmainConf lmtp_use_tls
|
||||
syntax keyword pfmainConf lmtp_xforward_timeout
|
||||
syntax keyword pfmainConf local_command_shell
|
||||
syntax keyword pfmainConf local_delivery_status_filter
|
||||
syntax keyword pfmainConf local_destination_concurrency_limit
|
||||
syntax keyword pfmainConf local_destination_recipient_limit
|
||||
syntax keyword pfmainConf local_header_rewrite_clients
|
||||
@@ -287,17 +311,19 @@ syntax keyword pfmainConf mailq_path
|
||||
syntax keyword pfmainConf manpage_directory
|
||||
syntax keyword pfmainConf maps_rbl_domains
|
||||
syntax keyword pfmainConf maps_rbl_reject_code
|
||||
syntax keyword pfmainConf master_service_disable
|
||||
syntax keyword pfmainConf masquerade_classes
|
||||
syntax keyword pfmainConf masquerade_domains
|
||||
syntax keyword pfmainConf masquerade_exceptions
|
||||
syntax keyword pfmainConf master_service_disable
|
||||
syntax keyword pfmainConf max_idle
|
||||
syntax keyword pfmainConf max_use
|
||||
syntax keyword pfmainConf maximal_backoff_time
|
||||
syntax keyword pfmainConf maximal_queue_lifetime
|
||||
syntax keyword pfmainConf message_drop_headers
|
||||
syntax keyword pfmainConf message_reject_characters
|
||||
syntax keyword pfmainConf message_size_limit
|
||||
syntax keyword pfmainConf message_strip_characters
|
||||
syntax keyword pfmainConf meta_directory
|
||||
syntax keyword pfmainConf milter_command_timeout
|
||||
syntax keyword pfmainConf milter_connect_macros
|
||||
syntax keyword pfmainConf milter_connect_timeout
|
||||
@@ -335,10 +361,12 @@ syntax keyword pfmainConf newaliases_path
|
||||
syntax keyword pfmainConf non_fqdn_reject_code
|
||||
syntax keyword pfmainConf non_smtpd_milters
|
||||
syntax keyword pfmainConf notify_classes
|
||||
syntax keyword pfmainConf nullmx_reject_code
|
||||
syntax keyword pfmainConf owner_request_special
|
||||
syntax keyword pfmainConf parent_domain_matches_subdomains
|
||||
syntax keyword pfmainConf permit_mx_backup_networks
|
||||
syntax keyword pfmainConf pickup_service_name
|
||||
syntax keyword pfmainConf pipe_delivery_status_filter
|
||||
syntax keyword pfmainConf plaintext_reject_code
|
||||
syntax keyword pfmainConf postmulti_control_commands
|
||||
syntax keyword pfmainConf postmulti_start_commands
|
||||
@@ -362,7 +390,9 @@ syntax keyword pfmainConf postscreen_dnsbl_action
|
||||
syntax keyword pfmainConf postscreen_dnsbl_reply_map
|
||||
syntax keyword pfmainConf postscreen_dnsbl_sites
|
||||
syntax keyword pfmainConf postscreen_dnsbl_threshold
|
||||
syntax keyword pfmainConf postscreen_dnsbl_timeout
|
||||
syntax keyword pfmainConf postscreen_dnsbl_ttl
|
||||
syntax keyword pfmainConf postscreen_dnsbl_whitelist_threshold
|
||||
syntax keyword pfmainConf postscreen_enforce_tls
|
||||
syntax keyword pfmainConf postscreen_expansion_filter
|
||||
syntax keyword pfmainConf postscreen_forbidden_commands
|
||||
@@ -381,6 +411,8 @@ syntax keyword pfmainConf postscreen_post_queue_limit
|
||||
syntax keyword pfmainConf postscreen_pre_queue_limit
|
||||
syntax keyword pfmainConf postscreen_reject_footer
|
||||
syntax keyword pfmainConf postscreen_tls_security_level
|
||||
syntax keyword pfmainConf postscreen_upstream_proxy_protocol
|
||||
syntax keyword pfmainConf postscreen_upstream_proxy_timeout
|
||||
syntax keyword pfmainConf postscreen_use_tls
|
||||
syntax keyword pfmainConf postscreen_watchdog_timeout
|
||||
syntax keyword pfmainConf postscreen_whitelist_interfaces
|
||||
@@ -395,7 +427,9 @@ syntax keyword pfmainConf proxy_write_maps
|
||||
syntax keyword pfmainConf proxymap_service_name
|
||||
syntax keyword pfmainConf proxywrite_service_name
|
||||
syntax keyword pfmainConf qmgr_clog_warn_time
|
||||
syntax keyword pfmainConf qmgr_daemon_timeout
|
||||
syntax keyword pfmainConf qmgr_fudge_factor
|
||||
syntax keyword pfmainConf qmgr_ipc_timeout
|
||||
syntax keyword pfmainConf qmgr_message_active_limit
|
||||
syntax keyword pfmainConf qmgr_message_recipient_limit
|
||||
syntax keyword pfmainConf qmgr_message_recipient_minimum
|
||||
@@ -435,17 +469,21 @@ syntax keyword pfmainConf resolve_numeric_domain
|
||||
syntax keyword pfmainConf rewrite_service_name
|
||||
syntax keyword pfmainConf sample_directory
|
||||
syntax keyword pfmainConf send_cyrus_sasl_authzid
|
||||
syntax keyword pfmainConf sender_based_routing
|
||||
syntax keyword pfmainConf sender_bcc_maps
|
||||
syntax keyword pfmainConf sender_canonical_classes
|
||||
syntax keyword pfmainConf sender_canonical_maps
|
||||
syntax keyword pfmainConf sender_dependent_default_transport_maps
|
||||
syntax keyword pfmainConf sender_dependent_relayhost_maps
|
||||
syntax keyword pfmainConf sendmail_fix_line_endings
|
||||
syntax keyword pfmainConf sendmail_path
|
||||
syntax keyword pfmainConf service_throttle_time
|
||||
syntax keyword pfmainConf setgid_group
|
||||
syntax keyword pfmainConf shlib_directory
|
||||
syntax keyword pfmainConf show_user_unknown_table_name
|
||||
syntax keyword pfmainConf showq_service_name
|
||||
syntax keyword pfmainConf smtp_address_preference
|
||||
syntax keyword pfmainConf smtp_address_verify_target
|
||||
syntax keyword pfmainConf smtp_always_send_ehlo
|
||||
syntax keyword pfmainConf smtp_bind_address
|
||||
syntax keyword pfmainConf smtp_bind_address6
|
||||
@@ -455,16 +493,20 @@ syntax keyword pfmainConf smtp_connect_timeout
|
||||
syntax keyword pfmainConf smtp_connection_cache_destinations
|
||||
syntax keyword pfmainConf smtp_connection_cache_on_demand
|
||||
syntax keyword pfmainConf smtp_connection_cache_time_limit
|
||||
syntax keyword pfmainConf smtp_connection_reuse_count_limit
|
||||
syntax keyword pfmainConf smtp_connection_reuse_time_limit
|
||||
syntax keyword pfmainConf smtp_data_done_timeout
|
||||
syntax keyword pfmainConf smtp_data_init_timeout
|
||||
syntax keyword pfmainConf smtp_data_xfer_timeout
|
||||
syntax keyword pfmainConf smtp_defer_if_no_mx_address_found
|
||||
syntax keyword pfmainConf smtp_delivery_status_filter
|
||||
syntax keyword pfmainConf smtp_destination_concurrency_limit
|
||||
syntax keyword pfmainConf smtp_destination_recipient_limit
|
||||
syntax keyword pfmainConf smtp_discard_ehlo_keyword_address_maps
|
||||
syntax keyword pfmainConf smtp_discard_ehlo_keywords
|
||||
syntax keyword pfmainConf smtp_dns_reply_filter
|
||||
syntax keyword pfmainConf smtp_dns_resolver_options
|
||||
syntax keyword pfmainConf smtp_dns_support_level
|
||||
syntax keyword pfmainConf smtp_enforce_tls
|
||||
syntax keyword pfmainConf smtp_fallback_relay
|
||||
syntax keyword pfmainConf smtp_generic_maps
|
||||
@@ -479,6 +521,7 @@ syntax keyword pfmainConf smtp_mx_address_limit
|
||||
syntax keyword pfmainConf smtp_mx_session_limit
|
||||
syntax keyword pfmainConf smtp_nested_header_checks
|
||||
syntax keyword pfmainConf smtp_never_send_ehlo
|
||||
syntax keyword pfmainConf smtp_per_record_deadline
|
||||
syntax keyword pfmainConf smtp_pix_workaround_delay_time
|
||||
syntax keyword pfmainConf smtp_pix_workaround_maps
|
||||
syntax keyword pfmainConf smtp_pix_workaround_threshold_time
|
||||
@@ -500,8 +543,10 @@ syntax keyword pfmainConf smtp_sasl_security_options
|
||||
syntax keyword pfmainConf smtp_sasl_tls_security_options
|
||||
syntax keyword pfmainConf smtp_sasl_tls_verified_security_options
|
||||
syntax keyword pfmainConf smtp_sasl_type
|
||||
syntax keyword pfmainConf smtp_send_dummy_mail_auth
|
||||
syntax keyword pfmainConf smtp_send_xforward_command
|
||||
syntax keyword pfmainConf smtp_sender_dependent_authentication
|
||||
syntax keyword pfmainConf smtp_skip_4xx_greeting
|
||||
syntax keyword pfmainConf smtp_skip_5xx_greeting
|
||||
syntax keyword pfmainConf smtp_skip_quit_response
|
||||
syntax keyword pfmainConf smtp_starttls_timeout
|
||||
@@ -519,6 +564,7 @@ syntax keyword pfmainConf smtp_tls_enforce_peername
|
||||
syntax keyword pfmainConf smtp_tls_exclude_ciphers
|
||||
syntax keyword pfmainConf smtp_tls_fingerprint_cert_match
|
||||
syntax keyword pfmainConf smtp_tls_fingerprint_digest
|
||||
syntax keyword pfmainConf smtp_tls_force_insecure_host_tlsa_lookup
|
||||
syntax keyword pfmainConf smtp_tls_key_file
|
||||
syntax keyword pfmainConf smtp_tls_loglevel
|
||||
syntax keyword pfmainConf smtp_tls_mandatory_ciphers
|
||||
@@ -533,7 +579,9 @@ syntax keyword pfmainConf smtp_tls_secure_cert_match
|
||||
syntax keyword pfmainConf smtp_tls_security_level
|
||||
syntax keyword pfmainConf smtp_tls_session_cache_database
|
||||
syntax keyword pfmainConf smtp_tls_session_cache_timeout
|
||||
syntax keyword pfmainConf smtp_tls_trust_anchor_file
|
||||
syntax keyword pfmainConf smtp_tls_verify_cert_match
|
||||
syntax keyword pfmainConf smtp_tls_wrappermode
|
||||
syntax keyword pfmainConf smtp_use_tls
|
||||
syntax keyword pfmainConf smtp_xforward_timeout
|
||||
syntax keyword pfmainConf smtpd_authorized_verp_clients
|
||||
@@ -554,6 +602,7 @@ syntax keyword pfmainConf smtpd_delay_open_until_valid_rcpt
|
||||
syntax keyword pfmainConf smtpd_delay_reject
|
||||
syntax keyword pfmainConf smtpd_discard_ehlo_keyword_address_maps
|
||||
syntax keyword pfmainConf smtpd_discard_ehlo_keywords
|
||||
syntax keyword pfmainConf smtpd_dns_reply_filter
|
||||
syntax keyword pfmainConf smtpd_end_of_data_restrictions
|
||||
syntax keyword pfmainConf smtpd_enforce_tls
|
||||
syntax keyword pfmainConf smtpd_error_sleep_time
|
||||
@@ -565,14 +614,19 @@ syntax keyword pfmainConf smtpd_helo_required
|
||||
syntax keyword pfmainConf smtpd_helo_restrictions
|
||||
syntax keyword pfmainConf smtpd_history_flush_threshold
|
||||
syntax keyword pfmainConf smtpd_junk_command_limit
|
||||
syntax keyword pfmainConf smtpd_log_access_permit_actions
|
||||
syntax keyword pfmainConf smtpd_milters
|
||||
syntax keyword pfmainConf smtpd_noop_commands
|
||||
syntax keyword pfmainConf smtpd_null_access_lookup_key
|
||||
syntax keyword pfmainConf smtpd_peername_lookup
|
||||
syntax keyword pfmainConf smtpd_per_record_deadline
|
||||
syntax keyword pfmainConf smtpd_policy_service_default_action
|
||||
syntax keyword pfmainConf smtpd_policy_service_max_idle
|
||||
syntax keyword pfmainConf smtpd_policy_service_max_ttl
|
||||
syntax keyword pfmainConf smtpd_policy_service_request_limit
|
||||
syntax keyword pfmainConf smtpd_policy_service_retry_delay
|
||||
syntax keyword pfmainConf smtpd_policy_service_timeout
|
||||
syntax keyword pfmainConf smtpd_policy_service_try_limit
|
||||
syntax keyword pfmainConf smtpd_proxy_ehlo
|
||||
syntax keyword pfmainConf smtpd_proxy_filter
|
||||
syntax keyword pfmainConf smtpd_proxy_options
|
||||
@@ -583,13 +637,16 @@ syntax keyword pfmainConf smtpd_recipient_restrictions
|
||||
syntax keyword pfmainConf smtpd_reject_footer
|
||||
syntax keyword pfmainConf smtpd_reject_unlisted_recipient
|
||||
syntax keyword pfmainConf smtpd_reject_unlisted_sender
|
||||
syntax keyword pfmainConf smtpd_relay_restrictions
|
||||
syntax keyword pfmainConf smtpd_restriction_classes
|
||||
syntax keyword pfmainConf smtpd_sasl_application_name
|
||||
syntax keyword pfmainConf smtpd_sasl_auth_enable
|
||||
syntax keyword pfmainConf smtpd_sasl_authenticated_header
|
||||
syntax keyword pfmainConf smtpd_sasl_exceptions_networks
|
||||
syntax keyword pfmainConf smtpd_sasl_local_domain
|
||||
syntax keyword pfmainConf smtpd_sasl_path
|
||||
syntax keyword pfmainConf smtpd_sasl_security_options
|
||||
syntax keyword pfmainConf smtpd_sasl_service
|
||||
syntax keyword pfmainConf smtpd_sasl_tls_security_options
|
||||
syntax keyword pfmainConf smtpd_sasl_type
|
||||
syntax keyword pfmainConf smtpd_sender_login_maps
|
||||
@@ -628,21 +685,21 @@ syntax keyword pfmainConf smtpd_tls_security_level
|
||||
syntax keyword pfmainConf smtpd_tls_session_cache_database
|
||||
syntax keyword pfmainConf smtpd_tls_session_cache_timeout
|
||||
syntax keyword pfmainConf smtpd_tls_wrappermode
|
||||
syntax keyword pfmainConf smtpd_upstream_proxy_protocol
|
||||
syntax keyword pfmainConf smtpd_upstream_proxy_timeout
|
||||
syntax keyword pfmainConf smtpd_use_tls
|
||||
syntax keyword pfmainConf smtputf8_autodetect_classes
|
||||
syntax keyword pfmainConf smtputf8_enable
|
||||
syntax keyword pfmainConf soft_bounce
|
||||
syntax keyword pfmainConf stale_lock_time
|
||||
syntax keyword pfmainConf stress
|
||||
syntax keyword pfmainConf strict_7bit_headers
|
||||
syntax keyword pfmainConf strict_8bitmime
|
||||
syntax keyword pfmainConf strict_8bitmime_body
|
||||
syntax keyword pfmainConf strict_mime_encoding_domain
|
||||
syntax keyword pfmainConf strict_rfc821_envelopes
|
||||
syntax keyword pfmainConf strict_7bit_headers
|
||||
syntax keyword pfmainConf strict_8bitmime
|
||||
syntax keyword pfmainConf strict_8bitmime_body
|
||||
syntax keyword pfmainConf strict_mailbox_ownership
|
||||
syntax keyword pfmainConf strict_mime_encoding_domain
|
||||
syntax keyword pfmainConf strict_rfc821_envelopes
|
||||
syntax keyword pfmainConf strict_smtputf8
|
||||
syntax keyword pfmainConf sun_mailtool_compatibility
|
||||
syntax keyword pfmainConf swap_bangpath
|
||||
syntax keyword pfmainConf syslog_facility
|
||||
@@ -650,11 +707,15 @@ syntax keyword pfmainConf syslog_name
|
||||
syntax keyword pfmainConf tcp_windowsize
|
||||
syntax keyword pfmainConf tls_append_default_CA
|
||||
syntax keyword pfmainConf tls_daemon_random_bytes
|
||||
syntax keyword pfmainConf tls_dane_digest_agility
|
||||
syntax keyword pfmainConf tls_dane_digests
|
||||
syntax keyword pfmainConf tls_dane_trust_anchor_digest_enable
|
||||
syntax keyword pfmainConf tls_disable_workarounds
|
||||
syntax keyword pfmainConf tls_eecdh_strong_curve
|
||||
syntax keyword pfmainConf tls_eecdh_ultra_curve
|
||||
syntax keyword pfmainConf tls_export_cipherlist
|
||||
syntax keyword pfmainConf tls_high_cipherlist
|
||||
syntax keyword pfmainConf tls_legacy_public_key_fingerprints
|
||||
syntax keyword pfmainConf tls_low_cipherlist
|
||||
syntax keyword pfmainConf tls_medium_cipherlist
|
||||
syntax keyword pfmainConf tls_null_cipherlist
|
||||
@@ -664,6 +725,10 @@ syntax keyword pfmainConf tls_random_exchange_name
|
||||
syntax keyword pfmainConf tls_random_prng_update_period
|
||||
syntax keyword pfmainConf tls_random_reseed_period
|
||||
syntax keyword pfmainConf tls_random_source
|
||||
syntax keyword pfmainConf tls_session_ticket_cipher
|
||||
syntax keyword pfmainConf tls_ssl_options
|
||||
syntax keyword pfmainConf tls_wildcard_matches_multiple_labels
|
||||
syntax keyword pfmainConf tlsmgr_service_name
|
||||
syntax keyword pfmainConf tlsproxy_enforce_tls
|
||||
syntax keyword pfmainConf tlsproxy_service_name
|
||||
syntax keyword pfmainConf tlsproxy_tls_CAfile
|
||||
@@ -711,6 +776,7 @@ syntax keyword pfmainConf transport_recipient_limit
|
||||
syntax keyword pfmainConf transport_recipient_refill_delay
|
||||
syntax keyword pfmainConf transport_recipient_refill_limit
|
||||
syntax keyword pfmainConf transport_retry_time
|
||||
syntax keyword pfmainConf transport_time_limit
|
||||
syntax keyword pfmainConf trigger_timeout
|
||||
syntax keyword pfmainConf undisclosed_recipients_header
|
||||
syntax keyword pfmainConf unknown_address_reject_code
|
||||
@@ -731,10 +797,12 @@ syntax keyword pfmainConf unverified_sender_reject_code
|
||||
syntax keyword pfmainConf unverified_sender_reject_reason
|
||||
syntax keyword pfmainConf unverified_sender_tempfail_action
|
||||
syntax keyword pfmainConf verp_delimiter_filter
|
||||
syntax keyword pfmainConf virtual_alias_address_length_limit
|
||||
syntax keyword pfmainConf virtual_alias_domains
|
||||
syntax keyword pfmainConf virtual_alias_expansion_limit
|
||||
syntax keyword pfmainConf virtual_alias_maps
|
||||
syntax keyword pfmainConf virtual_alias_recursion_limit
|
||||
syntax keyword pfmainConf virtual_delivery_status_filter
|
||||
syntax keyword pfmainConf virtual_destination_concurrency_limit
|
||||
syntax keyword pfmainConf virtual_destination_recipient_limit
|
||||
syntax keyword pfmainConf virtual_gid_maps
|
||||
@@ -743,6 +811,7 @@ syntax keyword pfmainConf virtual_mailbox_domains
|
||||
syntax keyword pfmainConf virtual_mailbox_limit
|
||||
syntax keyword pfmainConf virtual_mailbox_lock
|
||||
syntax keyword pfmainConf virtual_mailbox_maps
|
||||
syntax keyword pfmainConf virtual_maps
|
||||
syntax keyword pfmainConf virtual_minimum_uid
|
||||
syntax keyword pfmainConf virtual_transport
|
||||
syntax keyword pfmainConf virtual_uid_maps
|
||||
@@ -765,6 +834,7 @@ syntax match pfmainRef "$\<address_verify_relayhost\>"
|
||||
syntax match pfmainRef "$\<address_verify_sender\>"
|
||||
syntax match pfmainRef "$\<address_verify_sender_dependent_default_transport_maps\>"
|
||||
syntax match pfmainRef "$\<address_verify_sender_dependent_relayhost_maps\>"
|
||||
syntax match pfmainRef "$\<address_verify_sender_ttl\>"
|
||||
syntax match pfmainRef "$\<address_verify_service_name\>"
|
||||
syntax match pfmainRef "$\<address_verify_transport_maps\>"
|
||||
syntax match pfmainRef "$\<address_verify_virtual_transport\>"
|
||||
@@ -776,6 +846,7 @@ syntax match pfmainRef "$\<allow_min_user\>"
|
||||
syntax match pfmainRef "$\<allow_percent_hack\>"
|
||||
syntax match pfmainRef "$\<allow_untrusted_routing\>"
|
||||
syntax match pfmainRef "$\<alternate_config_directories\>"
|
||||
syntax match pfmainRef "$\<always_add_missing_headers\>"
|
||||
syntax match pfmainRef "$\<always_bcc\>"
|
||||
syntax match pfmainRef "$\<anvil_rate_time_unit\>"
|
||||
syntax match pfmainRef "$\<anvil_status_update_time\>"
|
||||
@@ -785,6 +856,7 @@ syntax match pfmainRef "$\<application_event_drain_time\>"
|
||||
syntax match pfmainRef "$\<authorized_flush_users\>"
|
||||
syntax match pfmainRef "$\<authorized_mailq_users\>"
|
||||
syntax match pfmainRef "$\<authorized_submit_users\>"
|
||||
syntax match pfmainRef "$\<authorized_verp_clients\>"
|
||||
syntax match pfmainRef "$\<backwards_bounce_logfile_compatibility\>"
|
||||
syntax match pfmainRef "$\<berkeley_db_create_buffer_size\>"
|
||||
syntax match pfmainRef "$\<berkeley_db_read_buffer_size\>"
|
||||
@@ -805,7 +877,9 @@ syntax match pfmainRef "$\<command_directory\>"
|
||||
syntax match pfmainRef "$\<command_execution_directory\>"
|
||||
syntax match pfmainRef "$\<command_expansion_filter\>"
|
||||
syntax match pfmainRef "$\<command_time_limit\>"
|
||||
syntax match pfmainRef "$\<compatibility_level\>"
|
||||
syntax match pfmainRef "$\<config_directory\>"
|
||||
syntax match pfmainRef "$\<confirm_delay_cleared\>"
|
||||
syntax match pfmainRef "$\<connection_cache_protocol_timeout\>"
|
||||
syntax match pfmainRef "$\<connection_cache_service_name\>"
|
||||
syntax match pfmainRef "$\<connection_cache_status_update_time\>"
|
||||
@@ -813,14 +887,17 @@ syntax match pfmainRef "$\<connection_cache_ttl_limit\>"
|
||||
syntax match pfmainRef "$\<content_filter\>"
|
||||
syntax match pfmainRef "$\<cyrus_sasl_config_path\>"
|
||||
syntax match pfmainRef "$\<daemon_directory\>"
|
||||
syntax match pfmainRef "$\<daemon_table_open_error_is_fatal\>"
|
||||
syntax match pfmainRef "$\<daemon_timeout\>"
|
||||
syntax match pfmainRef "$\<data_directory\>"
|
||||
syntax match pfmainRef "$\<debug_peer_level\>"
|
||||
syntax match pfmainRef "$\<debug_peer_list\>"
|
||||
syntax match pfmainRef "$\<debugger_command\>"
|
||||
syntax match pfmainRef "$\<default_database_type\>"
|
||||
syntax match pfmainRef "$\<default_delivery_slot_cost\>"
|
||||
syntax match pfmainRef "$\<default_delivery_slot_discount\>"
|
||||
syntax match pfmainRef "$\<default_delivery_slot_loan\>"
|
||||
syntax match pfmainRef "$\<default_delivery_status_filter\>"
|
||||
syntax match pfmainRef "$\<default_destination_concurrency_failed_cohort_limit\>"
|
||||
syntax match pfmainRef "$\<default_destination_concurrency_limit\>"
|
||||
syntax match pfmainRef "$\<default_destination_concurrency_negative_feedback\>"
|
||||
@@ -861,6 +938,7 @@ syntax match pfmainRef "$\<duplicate_filter_limit\>"
|
||||
syntax match pfmainRef "$\<empty_address_default_transport_maps_lookup_key\>"
|
||||
syntax match pfmainRef "$\<empty_address_recipient\>"
|
||||
syntax match pfmainRef "$\<empty_address_relayhost_maps_lookup_key\>"
|
||||
syntax match pfmainRef "$\<enable_errors_to\>"
|
||||
syntax match pfmainRef "$\<enable_long_queue_ids\>"
|
||||
syntax match pfmainRef "$\<enable_original_recipient\>"
|
||||
syntax match pfmainRef "$\<error_notice_recipient\>"
|
||||
@@ -868,6 +946,8 @@ syntax match pfmainRef "$\<error_service_name\>"
|
||||
syntax match pfmainRef "$\<execution_directory_expansion_filter\>"
|
||||
syntax match pfmainRef "$\<expand_owner_alias\>"
|
||||
syntax match pfmainRef "$\<export_environment\>"
|
||||
syntax match pfmainRef "$\<extract_recipient_limit\>"
|
||||
syntax match pfmainRef "$\<fallback_relay\>"
|
||||
syntax match pfmainRef "$\<fallback_transport\>"
|
||||
syntax match pfmainRef "$\<fallback_transport_maps\>"
|
||||
syntax match pfmainRef "$\<fast_flush_domains\>"
|
||||
@@ -901,25 +981,33 @@ syntax match pfmainRef "$\<ipc_idle\>"
|
||||
syntax match pfmainRef "$\<ipc_timeout\>"
|
||||
syntax match pfmainRef "$\<ipc_ttl\>"
|
||||
syntax match pfmainRef "$\<line_length_limit\>"
|
||||
syntax match pfmainRef "$\<lmdb_map_size\>"
|
||||
syntax match pfmainRef "$\<lmtp_address_preference\>"
|
||||
syntax match pfmainRef "$\<lmtp_address_verify_target\>"
|
||||
syntax match pfmainRef "$\<lmtp_assume_final\>"
|
||||
syntax match pfmainRef "$\<lmtp_bind_address\>"
|
||||
syntax match pfmainRef "$\<lmtp_bind_address6\>"
|
||||
syntax match pfmainRef "$\<lmtp_body_checks\>"
|
||||
syntax match pfmainRef "$\<lmtp_cache_connection\>"
|
||||
syntax match pfmainRef "$\<lmtp_cname_overrides_servername\>"
|
||||
syntax match pfmainRef "$\<lmtp_connect_timeout\>"
|
||||
syntax match pfmainRef "$\<lmtp_connection_cache_destinations\>"
|
||||
syntax match pfmainRef "$\<lmtp_connection_cache_on_demand\>"
|
||||
syntax match pfmainRef "$\<lmtp_connection_cache_time_limit\>"
|
||||
syntax match pfmainRef "$\<lmtp_connection_reuse_count_limit\>"
|
||||
syntax match pfmainRef "$\<lmtp_connection_reuse_time_limit\>"
|
||||
syntax match pfmainRef "$\<lmtp_data_done_timeout\>"
|
||||
syntax match pfmainRef "$\<lmtp_data_init_timeout\>"
|
||||
syntax match pfmainRef "$\<lmtp_data_xfer_timeout\>"
|
||||
syntax match pfmainRef "$\<lmtp_defer_if_no_mx_address_found\>"
|
||||
syntax match pfmainRef "$\<lmtp_delivery_status_filter\>"
|
||||
syntax match pfmainRef "$\<lmtp_destination_concurrency_limit\>"
|
||||
syntax match pfmainRef "$\<lmtp_destination_recipient_limit\>"
|
||||
syntax match pfmainRef "$\<lmtp_discard_lhlo_keyword_address_maps\>"
|
||||
syntax match pfmainRef "$\<lmtp_discard_lhlo_keywords\>"
|
||||
syntax match pfmainRef "$\<lmtp_dns_reply_filter\>"
|
||||
syntax match pfmainRef "$\<lmtp_dns_resolver_options\>"
|
||||
syntax match pfmainRef "$\<lmtp_dns_support_level\>"
|
||||
syntax match pfmainRef "$\<lmtp_enforce_tls\>"
|
||||
syntax match pfmainRef "$\<lmtp_generic_maps\>"
|
||||
syntax match pfmainRef "$\<lmtp_header_checks\>"
|
||||
@@ -954,9 +1042,11 @@ syntax match pfmainRef "$\<lmtp_sasl_security_options\>"
|
||||
syntax match pfmainRef "$\<lmtp_sasl_tls_security_options\>"
|
||||
syntax match pfmainRef "$\<lmtp_sasl_tls_verified_security_options\>"
|
||||
syntax match pfmainRef "$\<lmtp_sasl_type\>"
|
||||
syntax match pfmainRef "$\<lmtp_send_dummy_mail_auth\>"
|
||||
syntax match pfmainRef "$\<lmtp_send_xforward_command\>"
|
||||
syntax match pfmainRef "$\<lmtp_sender_dependent_authentication\>"
|
||||
syntax match pfmainRef "$\<lmtp_skip_5xx_greeting\>"
|
||||
syntax match pfmainRef "$\<lmtp_skip_quit_response\>"
|
||||
syntax match pfmainRef "$\<lmtp_starttls_timeout\>"
|
||||
syntax match pfmainRef "$\<lmtp_tcp_port\>"
|
||||
syntax match pfmainRef "$\<lmtp_tls_CAfile\>"
|
||||
@@ -972,6 +1062,7 @@ syntax match pfmainRef "$\<lmtp_tls_enforce_peername\>"
|
||||
syntax match pfmainRef "$\<lmtp_tls_exclude_ciphers\>"
|
||||
syntax match pfmainRef "$\<lmtp_tls_fingerprint_cert_match\>"
|
||||
syntax match pfmainRef "$\<lmtp_tls_fingerprint_digest\>"
|
||||
syntax match pfmainRef "$\<lmtp_tls_force_insecure_host_tlsa_lookup\>"
|
||||
syntax match pfmainRef "$\<lmtp_tls_key_file\>"
|
||||
syntax match pfmainRef "$\<lmtp_tls_loglevel\>"
|
||||
syntax match pfmainRef "$\<lmtp_tls_mandatory_ciphers\>"
|
||||
@@ -982,11 +1073,16 @@ syntax match pfmainRef "$\<lmtp_tls_per_site\>"
|
||||
syntax match pfmainRef "$\<lmtp_tls_policy_maps\>"
|
||||
syntax match pfmainRef "$\<lmtp_tls_protocols\>"
|
||||
syntax match pfmainRef "$\<lmtp_tls_scert_verifydepth\>"
|
||||
syntax match pfmainRef "$\<lmtp_tls_secure_cert_match\>"
|
||||
syntax match pfmainRef "$\<lmtp_tls_security_level\>"
|
||||
syntax match pfmainRef "$\<lmtp_tls_session_cache_database\>"
|
||||
syntax match pfmainRef "$\<lmtp_tls_session_cache_timeout\>"
|
||||
syntax match pfmainRef "$\<lmtp_tls_trust_anchor_file\>"
|
||||
syntax match pfmainRef "$\<lmtp_tls_verify_cert_match\>"
|
||||
syntax match pfmainRef "$\<lmtp_use_tls\>"
|
||||
syntax match pfmainRef "$\<lmtp_xforward_timeout\>"
|
||||
syntax match pfmainRef "$\<local_command_shell\>"
|
||||
syntax match pfmainRef "$\<local_delivery_status_filter\>"
|
||||
syntax match pfmainRef "$\<local_destination_concurrency_limit\>"
|
||||
syntax match pfmainRef "$\<local_destination_recipient_limit\>"
|
||||
syntax match pfmainRef "$\<local_header_rewrite_clients\>"
|
||||
@@ -1008,17 +1104,19 @@ syntax match pfmainRef "$\<mailq_path\>"
|
||||
syntax match pfmainRef "$\<manpage_directory\>"
|
||||
syntax match pfmainRef "$\<maps_rbl_domains\>"
|
||||
syntax match pfmainRef "$\<maps_rbl_reject_code\>"
|
||||
syntax match pfmainRef "$\<master_service_disable\>"
|
||||
syntax match pfmainRef "$\<masquerade_classes\>"
|
||||
syntax match pfmainRef "$\<masquerade_domains\>"
|
||||
syntax match pfmainRef "$\<masquerade_exceptions\>"
|
||||
syntax match pfmainRef "$\<master_service_disable\>"
|
||||
syntax match pfmainRef "$\<max_idle\>"
|
||||
syntax match pfmainRef "$\<max_use\>"
|
||||
syntax match pfmainRef "$\<maximal_backoff_time\>"
|
||||
syntax match pfmainRef "$\<maximal_queue_lifetime\>"
|
||||
syntax match pfmainRef "$\<message_drop_headers\>"
|
||||
syntax match pfmainRef "$\<message_reject_characters\>"
|
||||
syntax match pfmainRef "$\<message_size_limit\>"
|
||||
syntax match pfmainRef "$\<message_strip_characters\>"
|
||||
syntax match pfmainRef "$\<meta_directory\>"
|
||||
syntax match pfmainRef "$\<milter_command_timeout\>"
|
||||
syntax match pfmainRef "$\<milter_connect_macros\>"
|
||||
syntax match pfmainRef "$\<milter_connect_timeout\>"
|
||||
@@ -1056,10 +1154,12 @@ syntax match pfmainRef "$\<newaliases_path\>"
|
||||
syntax match pfmainRef "$\<non_fqdn_reject_code\>"
|
||||
syntax match pfmainRef "$\<non_smtpd_milters\>"
|
||||
syntax match pfmainRef "$\<notify_classes\>"
|
||||
syntax match pfmainRef "$\<nullmx_reject_code\>"
|
||||
syntax match pfmainRef "$\<owner_request_special\>"
|
||||
syntax match pfmainRef "$\<parent_domain_matches_subdomains\>"
|
||||
syntax match pfmainRef "$\<permit_mx_backup_networks\>"
|
||||
syntax match pfmainRef "$\<pickup_service_name\>"
|
||||
syntax match pfmainRef "$\<pipe_delivery_status_filter\>"
|
||||
syntax match pfmainRef "$\<plaintext_reject_code\>"
|
||||
syntax match pfmainRef "$\<postmulti_control_commands\>"
|
||||
syntax match pfmainRef "$\<postmulti_start_commands\>"
|
||||
@@ -1083,7 +1183,9 @@ syntax match pfmainRef "$\<postscreen_dnsbl_action\>"
|
||||
syntax match pfmainRef "$\<postscreen_dnsbl_reply_map\>"
|
||||
syntax match pfmainRef "$\<postscreen_dnsbl_sites\>"
|
||||
syntax match pfmainRef "$\<postscreen_dnsbl_threshold\>"
|
||||
syntax match pfmainRef "$\<postscreen_dnsbl_timeout\>"
|
||||
syntax match pfmainRef "$\<postscreen_dnsbl_ttl\>"
|
||||
syntax match pfmainRef "$\<postscreen_dnsbl_whitelist_threshold\>"
|
||||
syntax match pfmainRef "$\<postscreen_enforce_tls\>"
|
||||
syntax match pfmainRef "$\<postscreen_expansion_filter\>"
|
||||
syntax match pfmainRef "$\<postscreen_forbidden_commands\>"
|
||||
@@ -1102,9 +1204,8 @@ syntax match pfmainRef "$\<postscreen_post_queue_limit\>"
|
||||
syntax match pfmainRef "$\<postscreen_pre_queue_limit\>"
|
||||
syntax match pfmainRef "$\<postscreen_reject_footer\>"
|
||||
syntax match pfmainRef "$\<postscreen_tls_security_level\>"
|
||||
syntax match pfmainRef "$\<lmtp_tls_secure_cert_match\>"
|
||||
syntax match pfmainRef "$\<lmtp_tls_security_level\>"
|
||||
syntax match pfmainRef "$\<lmtp_tls_session_cache_database\>"
|
||||
syntax match pfmainRef "$\<postscreen_upstream_proxy_protocol\>"
|
||||
syntax match pfmainRef "$\<postscreen_upstream_proxy_timeout\>"
|
||||
syntax match pfmainRef "$\<postscreen_use_tls\>"
|
||||
syntax match pfmainRef "$\<postscreen_watchdog_timeout\>"
|
||||
syntax match pfmainRef "$\<postscreen_whitelist_interfaces\>"
|
||||
@@ -1119,7 +1220,9 @@ syntax match pfmainRef "$\<proxy_write_maps\>"
|
||||
syntax match pfmainRef "$\<proxymap_service_name\>"
|
||||
syntax match pfmainRef "$\<proxywrite_service_name\>"
|
||||
syntax match pfmainRef "$\<qmgr_clog_warn_time\>"
|
||||
syntax match pfmainRef "$\<qmgr_daemon_timeout\>"
|
||||
syntax match pfmainRef "$\<qmgr_fudge_factor\>"
|
||||
syntax match pfmainRef "$\<qmgr_ipc_timeout\>"
|
||||
syntax match pfmainRef "$\<qmgr_message_active_limit\>"
|
||||
syntax match pfmainRef "$\<qmgr_message_recipient_limit\>"
|
||||
syntax match pfmainRef "$\<qmgr_message_recipient_minimum\>"
|
||||
@@ -1159,17 +1262,21 @@ syntax match pfmainRef "$\<resolve_numeric_domain\>"
|
||||
syntax match pfmainRef "$\<rewrite_service_name\>"
|
||||
syntax match pfmainRef "$\<sample_directory\>"
|
||||
syntax match pfmainRef "$\<send_cyrus_sasl_authzid\>"
|
||||
syntax match pfmainRef "$\<sender_based_routing\>"
|
||||
syntax match pfmainRef "$\<sender_bcc_maps\>"
|
||||
syntax match pfmainRef "$\<sender_canonical_classes\>"
|
||||
syntax match pfmainRef "$\<sender_canonical_maps\>"
|
||||
syntax match pfmainRef "$\<sender_dependent_default_transport_maps\>"
|
||||
syntax match pfmainRef "$\<sender_dependent_relayhost_maps\>"
|
||||
syntax match pfmainRef "$\<sendmail_fix_line_endings\>"
|
||||
syntax match pfmainRef "$\<sendmail_path\>"
|
||||
syntax match pfmainRef "$\<service_throttle_time\>"
|
||||
syntax match pfmainRef "$\<setgid_group\>"
|
||||
syntax match pfmainRef "$\<shlib_directory\>"
|
||||
syntax match pfmainRef "$\<show_user_unknown_table_name\>"
|
||||
syntax match pfmainRef "$\<showq_service_name\>"
|
||||
syntax match pfmainRef "$\<smtp_address_preference\>"
|
||||
syntax match pfmainRef "$\<smtp_address_verify_target\>"
|
||||
syntax match pfmainRef "$\<smtp_always_send_ehlo\>"
|
||||
syntax match pfmainRef "$\<smtp_bind_address\>"
|
||||
syntax match pfmainRef "$\<smtp_bind_address6\>"
|
||||
@@ -1179,16 +1286,20 @@ syntax match pfmainRef "$\<smtp_connect_timeout\>"
|
||||
syntax match pfmainRef "$\<smtp_connection_cache_destinations\>"
|
||||
syntax match pfmainRef "$\<smtp_connection_cache_on_demand\>"
|
||||
syntax match pfmainRef "$\<smtp_connection_cache_time_limit\>"
|
||||
syntax match pfmainRef "$\<smtp_connection_reuse_count_limit\>"
|
||||
syntax match pfmainRef "$\<smtp_connection_reuse_time_limit\>"
|
||||
syntax match pfmainRef "$\<smtp_data_done_timeout\>"
|
||||
syntax match pfmainRef "$\<smtp_data_init_timeout\>"
|
||||
syntax match pfmainRef "$\<smtp_data_xfer_timeout\>"
|
||||
syntax match pfmainRef "$\<smtp_defer_if_no_mx_address_found\>"
|
||||
syntax match pfmainRef "$\<smtp_delivery_status_filter\>"
|
||||
syntax match pfmainRef "$\<smtp_destination_concurrency_limit\>"
|
||||
syntax match pfmainRef "$\<smtp_destination_recipient_limit\>"
|
||||
syntax match pfmainRef "$\<smtp_discard_ehlo_keyword_address_maps\>"
|
||||
syntax match pfmainRef "$\<smtp_discard_ehlo_keywords\>"
|
||||
syntax match pfmainRef "$\<smtp_dns_reply_filter\>"
|
||||
syntax match pfmainRef "$\<smtp_dns_resolver_options\>"
|
||||
syntax match pfmainRef "$\<smtp_dns_support_level\>"
|
||||
syntax match pfmainRef "$\<smtp_enforce_tls\>"
|
||||
syntax match pfmainRef "$\<smtp_fallback_relay\>"
|
||||
syntax match pfmainRef "$\<smtp_generic_maps\>"
|
||||
@@ -1203,6 +1314,7 @@ syntax match pfmainRef "$\<smtp_mx_address_limit\>"
|
||||
syntax match pfmainRef "$\<smtp_mx_session_limit\>"
|
||||
syntax match pfmainRef "$\<smtp_nested_header_checks\>"
|
||||
syntax match pfmainRef "$\<smtp_never_send_ehlo\>"
|
||||
syntax match pfmainRef "$\<smtp_per_record_deadline\>"
|
||||
syntax match pfmainRef "$\<smtp_pix_workaround_delay_time\>"
|
||||
syntax match pfmainRef "$\<smtp_pix_workaround_maps\>"
|
||||
syntax match pfmainRef "$\<smtp_pix_workaround_threshold_time\>"
|
||||
@@ -1224,8 +1336,10 @@ syntax match pfmainRef "$\<smtp_sasl_security_options\>"
|
||||
syntax match pfmainRef "$\<smtp_sasl_tls_security_options\>"
|
||||
syntax match pfmainRef "$\<smtp_sasl_tls_verified_security_options\>"
|
||||
syntax match pfmainRef "$\<smtp_sasl_type\>"
|
||||
syntax match pfmainRef "$\<smtp_send_dummy_mail_auth\>"
|
||||
syntax match pfmainRef "$\<smtp_send_xforward_command\>"
|
||||
syntax match pfmainRef "$\<smtp_sender_dependent_authentication\>"
|
||||
syntax match pfmainRef "$\<smtp_skip_4xx_greeting\>"
|
||||
syntax match pfmainRef "$\<smtp_skip_5xx_greeting\>"
|
||||
syntax match pfmainRef "$\<smtp_skip_quit_response\>"
|
||||
syntax match pfmainRef "$\<smtp_starttls_timeout\>"
|
||||
@@ -1243,6 +1357,7 @@ syntax match pfmainRef "$\<smtp_tls_enforce_peername\>"
|
||||
syntax match pfmainRef "$\<smtp_tls_exclude_ciphers\>"
|
||||
syntax match pfmainRef "$\<smtp_tls_fingerprint_cert_match\>"
|
||||
syntax match pfmainRef "$\<smtp_tls_fingerprint_digest\>"
|
||||
syntax match pfmainRef "$\<smtp_tls_force_insecure_host_tlsa_lookup\>"
|
||||
syntax match pfmainRef "$\<smtp_tls_key_file\>"
|
||||
syntax match pfmainRef "$\<smtp_tls_loglevel\>"
|
||||
syntax match pfmainRef "$\<smtp_tls_mandatory_ciphers\>"
|
||||
@@ -1257,7 +1372,9 @@ syntax match pfmainRef "$\<smtp_tls_secure_cert_match\>"
|
||||
syntax match pfmainRef "$\<smtp_tls_security_level\>"
|
||||
syntax match pfmainRef "$\<smtp_tls_session_cache_database\>"
|
||||
syntax match pfmainRef "$\<smtp_tls_session_cache_timeout\>"
|
||||
syntax match pfmainRef "$\<smtp_tls_trust_anchor_file\>"
|
||||
syntax match pfmainRef "$\<smtp_tls_verify_cert_match\>"
|
||||
syntax match pfmainRef "$\<smtp_tls_wrappermode\>"
|
||||
syntax match pfmainRef "$\<smtp_use_tls\>"
|
||||
syntax match pfmainRef "$\<smtp_xforward_timeout\>"
|
||||
syntax match pfmainRef "$\<smtpd_authorized_verp_clients\>"
|
||||
@@ -1278,6 +1395,7 @@ syntax match pfmainRef "$\<smtpd_delay_open_until_valid_rcpt\>"
|
||||
syntax match pfmainRef "$\<smtpd_delay_reject\>"
|
||||
syntax match pfmainRef "$\<smtpd_discard_ehlo_keyword_address_maps\>"
|
||||
syntax match pfmainRef "$\<smtpd_discard_ehlo_keywords\>"
|
||||
syntax match pfmainRef "$\<smtpd_dns_reply_filter\>"
|
||||
syntax match pfmainRef "$\<smtpd_end_of_data_restrictions\>"
|
||||
syntax match pfmainRef "$\<smtpd_enforce_tls\>"
|
||||
syntax match pfmainRef "$\<smtpd_error_sleep_time\>"
|
||||
@@ -1289,14 +1407,19 @@ syntax match pfmainRef "$\<smtpd_helo_required\>"
|
||||
syntax match pfmainRef "$\<smtpd_helo_restrictions\>"
|
||||
syntax match pfmainRef "$\<smtpd_history_flush_threshold\>"
|
||||
syntax match pfmainRef "$\<smtpd_junk_command_limit\>"
|
||||
syntax match pfmainRef "$\<smtpd_log_access_permit_actions\>"
|
||||
syntax match pfmainRef "$\<smtpd_milters\>"
|
||||
syntax match pfmainRef "$\<smtpd_noop_commands\>"
|
||||
syntax match pfmainRef "$\<smtpd_null_access_lookup_key\>"
|
||||
syntax match pfmainRef "$\<smtpd_peername_lookup\>"
|
||||
syntax match pfmainRef "$\<smtpd_per_record_deadline\>"
|
||||
syntax match pfmainRef "$\<smtpd_policy_service_default_action\>"
|
||||
syntax match pfmainRef "$\<smtpd_policy_service_max_idle\>"
|
||||
syntax match pfmainRef "$\<smtpd_policy_service_max_ttl\>"
|
||||
syntax match pfmainRef "$\<smtpd_policy_service_request_limit\>"
|
||||
syntax match pfmainRef "$\<smtpd_policy_service_retry_delay\>"
|
||||
syntax match pfmainRef "$\<smtpd_policy_service_timeout\>"
|
||||
syntax match pfmainRef "$\<smtpd_policy_service_try_limit\>"
|
||||
syntax match pfmainRef "$\<smtpd_proxy_ehlo\>"
|
||||
syntax match pfmainRef "$\<smtpd_proxy_filter\>"
|
||||
syntax match pfmainRef "$\<smtpd_proxy_options\>"
|
||||
@@ -1307,13 +1430,16 @@ syntax match pfmainRef "$\<smtpd_recipient_restrictions\>"
|
||||
syntax match pfmainRef "$\<smtpd_reject_footer\>"
|
||||
syntax match pfmainRef "$\<smtpd_reject_unlisted_recipient\>"
|
||||
syntax match pfmainRef "$\<smtpd_reject_unlisted_sender\>"
|
||||
syntax match pfmainRef "$\<smtpd_relay_restrictions\>"
|
||||
syntax match pfmainRef "$\<smtpd_restriction_classes\>"
|
||||
syntax match pfmainRef "$\<smtpd_sasl_application_name\>"
|
||||
syntax match pfmainRef "$\<smtpd_sasl_auth_enable\>"
|
||||
syntax match pfmainRef "$\<smtpd_sasl_authenticated_header\>"
|
||||
syntax match pfmainRef "$\<smtpd_sasl_exceptions_networks\>"
|
||||
syntax match pfmainRef "$\<smtpd_sasl_local_domain\>"
|
||||
syntax match pfmainRef "$\<smtpd_sasl_path\>"
|
||||
syntax match pfmainRef "$\<smtpd_sasl_security_options\>"
|
||||
syntax match pfmainRef "$\<smtpd_sasl_service\>"
|
||||
syntax match pfmainRef "$\<smtpd_sasl_tls_security_options\>"
|
||||
syntax match pfmainRef "$\<smtpd_sasl_type\>"
|
||||
syntax match pfmainRef "$\<smtpd_sender_login_maps\>"
|
||||
@@ -1352,21 +1478,21 @@ syntax match pfmainRef "$\<smtpd_tls_security_level\>"
|
||||
syntax match pfmainRef "$\<smtpd_tls_session_cache_database\>"
|
||||
syntax match pfmainRef "$\<smtpd_tls_session_cache_timeout\>"
|
||||
syntax match pfmainRef "$\<smtpd_tls_wrappermode\>"
|
||||
syntax match pfmainRef "$\<smtpd_upstream_proxy_protocol\>"
|
||||
syntax match pfmainRef "$\<smtpd_upstream_proxy_timeout\>"
|
||||
syntax match pfmainRef "$\<smtpd_use_tls\>"
|
||||
syntax match pfmainRef "$\<smtputf8_autodetect_classes\>"
|
||||
syntax match pfmainRef "$\<smtputf8_enable\>"
|
||||
syntax match pfmainRef "$\<soft_bounce\>"
|
||||
syntax match pfmainRef "$\<stale_lock_time\>"
|
||||
syntax match pfmainRef "$\<stress\>"
|
||||
syntax match pfmainRef "$\<strict_7bit_headers\>"
|
||||
syntax match pfmainRef "$\<strict_8bitmime\>"
|
||||
syntax match pfmainRef "$\<strict_8bitmime_body\>"
|
||||
syntax match pfmainRef "$\<strict_mime_encoding_domain\>"
|
||||
syntax match pfmainRef "$\<strict_rfc821_envelopes\>"
|
||||
syntax match pfmainRef "$\<strict_7bit_headers\>"
|
||||
syntax match pfmainRef "$\<strict_8bitmime\>"
|
||||
syntax match pfmainRef "$\<strict_8bitmime_body\>"
|
||||
syntax match pfmainRef "$\<strict_mailbox_ownership\>"
|
||||
syntax match pfmainRef "$\<strict_mime_encoding_domain\>"
|
||||
syntax match pfmainRef "$\<strict_rfc821_envelopes\>"
|
||||
syntax match pfmainRef "$\<strict_smtputf8\>"
|
||||
syntax match pfmainRef "$\<sun_mailtool_compatibility\>"
|
||||
syntax match pfmainRef "$\<swap_bangpath\>"
|
||||
syntax match pfmainRef "$\<syslog_facility\>"
|
||||
@@ -1374,11 +1500,15 @@ syntax match pfmainRef "$\<syslog_name\>"
|
||||
syntax match pfmainRef "$\<tcp_windowsize\>"
|
||||
syntax match pfmainRef "$\<tls_append_default_CA\>"
|
||||
syntax match pfmainRef "$\<tls_daemon_random_bytes\>"
|
||||
syntax match pfmainRef "$\<tls_dane_digest_agility\>"
|
||||
syntax match pfmainRef "$\<tls_dane_digests\>"
|
||||
syntax match pfmainRef "$\<tls_dane_trust_anchor_digest_enable\>"
|
||||
syntax match pfmainRef "$\<tls_disable_workarounds\>"
|
||||
syntax match pfmainRef "$\<tls_eecdh_strong_curve\>"
|
||||
syntax match pfmainRef "$\<tls_eecdh_ultra_curve\>"
|
||||
syntax match pfmainRef "$\<tls_export_cipherlist\>"
|
||||
syntax match pfmainRef "$\<tls_high_cipherlist\>"
|
||||
syntax match pfmainRef "$\<tls_legacy_public_key_fingerprints\>"
|
||||
syntax match pfmainRef "$\<tls_low_cipherlist\>"
|
||||
syntax match pfmainRef "$\<tls_medium_cipherlist\>"
|
||||
syntax match pfmainRef "$\<tls_null_cipherlist\>"
|
||||
@@ -1388,6 +1518,10 @@ syntax match pfmainRef "$\<tls_random_exchange_name\>"
|
||||
syntax match pfmainRef "$\<tls_random_prng_update_period\>"
|
||||
syntax match pfmainRef "$\<tls_random_reseed_period\>"
|
||||
syntax match pfmainRef "$\<tls_random_source\>"
|
||||
syntax match pfmainRef "$\<tls_session_ticket_cipher\>"
|
||||
syntax match pfmainRef "$\<tls_ssl_options\>"
|
||||
syntax match pfmainRef "$\<tls_wildcard_matches_multiple_labels\>"
|
||||
syntax match pfmainRef "$\<tlsmgr_service_name\>"
|
||||
syntax match pfmainRef "$\<tlsproxy_enforce_tls\>"
|
||||
syntax match pfmainRef "$\<tlsproxy_service_name\>"
|
||||
syntax match pfmainRef "$\<tlsproxy_tls_CAfile\>"
|
||||
@@ -1435,6 +1569,7 @@ syntax match pfmainRef "$\<transport_recipient_limit\>"
|
||||
syntax match pfmainRef "$\<transport_recipient_refill_delay\>"
|
||||
syntax match pfmainRef "$\<transport_recipient_refill_limit\>"
|
||||
syntax match pfmainRef "$\<transport_retry_time\>"
|
||||
syntax match pfmainRef "$\<transport_time_limit\>"
|
||||
syntax match pfmainRef "$\<trigger_timeout\>"
|
||||
syntax match pfmainRef "$\<undisclosed_recipients_header\>"
|
||||
syntax match pfmainRef "$\<unknown_address_reject_code\>"
|
||||
@@ -1455,10 +1590,12 @@ syntax match pfmainRef "$\<unverified_sender_reject_code\>"
|
||||
syntax match pfmainRef "$\<unverified_sender_reject_reason\>"
|
||||
syntax match pfmainRef "$\<unverified_sender_tempfail_action\>"
|
||||
syntax match pfmainRef "$\<verp_delimiter_filter\>"
|
||||
syntax match pfmainRef "$\<virtual_alias_address_length_limit\>"
|
||||
syntax match pfmainRef "$\<virtual_alias_domains\>"
|
||||
syntax match pfmainRef "$\<virtual_alias_expansion_limit\>"
|
||||
syntax match pfmainRef "$\<virtual_alias_maps\>"
|
||||
syntax match pfmainRef "$\<virtual_alias_recursion_limit\>"
|
||||
syntax match pfmainRef "$\<virtual_delivery_status_filter\>"
|
||||
syntax match pfmainRef "$\<virtual_destination_concurrency_limit\>"
|
||||
syntax match pfmainRef "$\<virtual_destination_recipient_limit\>"
|
||||
syntax match pfmainRef "$\<virtual_gid_maps\>"
|
||||
@@ -1467,39 +1604,62 @@ syntax match pfmainRef "$\<virtual_mailbox_domains\>"
|
||||
syntax match pfmainRef "$\<virtual_mailbox_limit\>"
|
||||
syntax match pfmainRef "$\<virtual_mailbox_lock\>"
|
||||
syntax match pfmainRef "$\<virtual_mailbox_maps\>"
|
||||
syntax match pfmainRef "$\<virtual_maps\>"
|
||||
syntax match pfmainRef "$\<virtual_minimum_uid\>"
|
||||
syntax match pfmainRef "$\<virtual_transport\>"
|
||||
syntax match pfmainRef "$\<virtual_uid_maps\>"
|
||||
|
||||
syntax keyword pfmainWord accept
|
||||
syntax keyword pfmainWord all
|
||||
syntax keyword pfmainWord always
|
||||
syntax keyword pfmainWord check_address_map
|
||||
syntax keyword pfmainWord check_ccert_access
|
||||
syntax keyword pfmainWord check_client_a_access
|
||||
syntax keyword pfmainWord check_client_access
|
||||
syntax keyword pfmainWord check_client_mx_access
|
||||
syntax keyword pfmainWord check_client_ns_access
|
||||
syntax keyword pfmainWord check_etrn_access
|
||||
syntax keyword pfmainWord check_helo_a_access
|
||||
syntax keyword pfmainWord check_helo_access
|
||||
syntax keyword pfmainWord check_helo_mx_access
|
||||
syntax keyword pfmainWord check_helo_ns_access
|
||||
syntax keyword pfmainWord check_policy_service
|
||||
syntax keyword pfmainWord check_recipient_a_access
|
||||
syntax keyword pfmainWord check_recipient_access
|
||||
syntax keyword pfmainWord check_recipient_maps
|
||||
syntax keyword pfmainWord check_recipient_mx_access
|
||||
syntax keyword pfmainWord check_recipient_ns_access
|
||||
syntax keyword pfmainWord check_relay_domains
|
||||
syntax keyword pfmainWord check_reverse_client_hostname_a_access
|
||||
syntax keyword pfmainWord check_reverse_client_hostname_access
|
||||
syntax keyword pfmainWord check_reverse_client_hostname_mx_access
|
||||
syntax keyword pfmainWord check_reverse_client_hostname_ns_access
|
||||
syntax keyword pfmainWord check_sasl_access
|
||||
syntax keyword pfmainWord check_sender_a_access
|
||||
syntax keyword pfmainWord check_sender_access
|
||||
syntax keyword pfmainWord check_sender_mx_access
|
||||
syntax keyword pfmainWord check_sender_ns_access
|
||||
syntax keyword pfmainWord class
|
||||
syntax keyword pfmainWord client_address
|
||||
syntax keyword pfmainWord client_port
|
||||
syntax keyword pfmainWord dane
|
||||
syntax keyword pfmainWord dane-only
|
||||
syntax keyword pfmainWord defer
|
||||
syntax keyword pfmainWord defer_if_permit
|
||||
syntax keyword pfmainWord defer_if_reject
|
||||
syntax keyword pfmainWord defer_unauth_destination
|
||||
syntax keyword pfmainWord disabled
|
||||
syntax keyword pfmainWord dns
|
||||
syntax keyword pfmainWord dnssec
|
||||
syntax keyword pfmainWord drop
|
||||
syntax keyword pfmainWord dunno
|
||||
syntax keyword pfmainWord enabled
|
||||
syntax keyword pfmainWord encrypt
|
||||
syntax keyword pfmainWord enforce
|
||||
syntax keyword pfmainWord envelope_recipient
|
||||
syntax keyword pfmainWord envelope_sender
|
||||
syntax keyword pfmainWord export
|
||||
syntax keyword pfmainWord fingerprint
|
||||
syntax keyword pfmainWord header_recipient
|
||||
syntax keyword pfmainWord header_sender
|
||||
syntax keyword pfmainWord high
|
||||
@@ -1509,22 +1669,37 @@ syntax keyword pfmainWord ipv4
|
||||
syntax keyword pfmainWord ipv6
|
||||
syntax keyword pfmainWord localtime
|
||||
syntax keyword pfmainWord low
|
||||
syntax keyword pfmainWord may
|
||||
syntax keyword pfmainWord maybe
|
||||
syntax keyword pfmainWord medium
|
||||
syntax keyword pfmainWord native
|
||||
syntax keyword pfmainWord never
|
||||
syntax keyword pfmainWord no_address_mappings
|
||||
syntax keyword pfmainWord no_header_body_checks
|
||||
syntax keyword pfmainWord no_header_reply
|
||||
syntax keyword pfmainWord no_milters
|
||||
syntax keyword pfmainWord no_unknown_recipient_checks
|
||||
syntax keyword pfmainWord none
|
||||
syntax keyword pfmainWord null
|
||||
syntax keyword pfmainWord off
|
||||
syntax keyword pfmainWord on
|
||||
syntax keyword pfmainWord permit
|
||||
syntax keyword pfmainWord permit_auth_destination
|
||||
syntax keyword pfmainWord permit_dnswl_client
|
||||
syntax keyword pfmainWord permit_inet_interfaces
|
||||
syntax keyword pfmainWord permit_mx_backup
|
||||
syntax keyword pfmainWord permit_mynetworks
|
||||
syntax keyword pfmainWord permit_naked_ip_address
|
||||
syntax keyword pfmainWord permit_rhswl_client
|
||||
syntax keyword pfmainWord permit_sasl_authenticated
|
||||
syntax keyword pfmainWord permit_tls_all_clientcerts
|
||||
syntax keyword pfmainWord permit_tls_clientcerts
|
||||
syntax keyword pfmainWord quarantine
|
||||
syntax keyword pfmainWord reject
|
||||
syntax keyword pfmainWord reject_authenticated_sender_login_mismatch
|
||||
syntax keyword pfmainWord reject_invalid_helo_hostname
|
||||
syntax keyword pfmainWord reject_invalid_hostname
|
||||
syntax keyword pfmainWord reject_known_sender_login_mismatch
|
||||
syntax keyword pfmainWord reject_maps_rbl
|
||||
syntax keyword pfmainWord reject_multi_recipient_bounce
|
||||
syntax keyword pfmainWord reject_non_fqdn_helo_hostname
|
||||
@@ -1537,10 +1712,12 @@ syntax keyword pfmainWord reject_rbl_client
|
||||
syntax keyword pfmainWord reject_rhsbl_client
|
||||
syntax keyword pfmainWord reject_rhsbl_helo
|
||||
syntax keyword pfmainWord reject_rhsbl_recipient
|
||||
syntax keyword pfmainWord reject_rhsbl_reverse_client
|
||||
syntax keyword pfmainWord reject_rhsbl_sender
|
||||
syntax keyword pfmainWord reject_sender_login_mismatch
|
||||
syntax keyword pfmainWord reject_unauth_destination
|
||||
syntax keyword pfmainWord reject_unauth_pipelining
|
||||
syntax keyword pfmainWord reject_unauthenticated_sender_login_mismatch
|
||||
syntax keyword pfmainWord reject_unknown_address
|
||||
syntax keyword pfmainWord reject_unknown_client
|
||||
syntax keyword pfmainWord reject_unknown_client_hostname
|
||||
@@ -1554,11 +1731,15 @@ syntax keyword pfmainWord reject_unlisted_recipient
|
||||
syntax keyword pfmainWord reject_unlisted_sender
|
||||
syntax keyword pfmainWord reject_unverified_recipient
|
||||
syntax keyword pfmainWord reject_unverified_sender
|
||||
syntax keyword pfmainWord secure
|
||||
syntax keyword pfmainWord server_name
|
||||
syntax keyword pfmainWord sleep
|
||||
syntax keyword pfmainWord smtpd_access_maps
|
||||
syntax keyword pfmainWord server_name
|
||||
syntax keyword pfmainWord speed_adjust
|
||||
syntax keyword pfmainWord strong
|
||||
syntax keyword pfmainWord subnet
|
||||
syntax keyword pfmainWord tempfail
|
||||
syntax keyword pfmainWord ultra
|
||||
syntax keyword pfmainWord warn_if_reject
|
||||
syntax keyword pfmainWord CRYPTOPRO_TLSEXT_BUG
|
||||
syntax keyword pfmainWord DONT_INSERT_EMPTY_FRAGMENTS
|
||||
@@ -1574,7 +1755,7 @@ syntax keyword pfmainWord TLS_BLOCK_PADDING_BUG
|
||||
syntax keyword pfmainWord TLS_D5_BUG
|
||||
syntax keyword pfmainWord TLS_ROLLBACK_BUG
|
||||
|
||||
syntax keyword pfmainDict btree cidr environ hash nis pcre proxy regexp sdbm sdbm static tcp unix
|
||||
syntax keyword pfmainDict btree cidr environ hash nis pcre proxy regexp sdbm static tcp unix
|
||||
syntax keyword pfmainQueueDir incoming active deferred corrupt hold
|
||||
syntax keyword pfmainTransport smtp lmtp unix local relay uucp virtual
|
||||
syntax keyword pfmainLock fcntl flock dotlock
|
||||
@@ -1588,26 +1769,50 @@ syntax match pfmainVariable "\$\w\+" contains=pfmainRef
|
||||
|
||||
syntax match pfmainSpecial "\<alias\>"
|
||||
syntax match pfmainSpecial "\<canonical\>"
|
||||
syntax match pfmainSpecial "\<forward\>"
|
||||
syntax match pfmainSpecial "\<generic\>"
|
||||
syntax match pfmainSpecial "\<include\>"
|
||||
syntax match pfmainSpecial "\<virtual\>"
|
||||
|
||||
syntax match pfmainSpecial "\<delay_dotcrlf\>"
|
||||
syntax match pfmainSpecial "\<disable_esmtp\>"
|
||||
|
||||
syntax match pfmainSpecial "\<res_defnames\>"
|
||||
syntax match pfmainSpecial "\<res_dnsrch\>"
|
||||
|
||||
syntax match pfmainSpecial "\<command\>"
|
||||
syntax match pfmainSpecial "\<file\>"
|
||||
syntax match pfmainSpecial "\<forward\>"
|
||||
|
||||
syntax match pfmainSpecial "\<forward_secrecy\>"
|
||||
syntax match pfmainSpecial "\<mutual_auth\>"
|
||||
syntax match pfmainSpecial "\<noactive\>"
|
||||
syntax match pfmainSpecial "\<noanonymous\>"
|
||||
syntax match pfmainSpecial "\<nodictionary\>"
|
||||
syntax match pfmainSpecial "\<noplaintext\>"
|
||||
|
||||
syntax match pfmainSpecial "\<bounce\>"
|
||||
syntax match pfmainSpecial "\<2bounce\>"
|
||||
syntax match pfmainSpecial "\<data\>"
|
||||
syntax match pfmainSpecial "\<delay\>"
|
||||
syntax match pfmainSpecial "\<policy\>"
|
||||
syntax match pfmainSpecial "\<protocol\>"
|
||||
syntax match pfmainSpecial "\<resource\>"
|
||||
syntax match pfmainSpecial "\<software\>"
|
||||
|
||||
syntax match pfmainSpecial "\<bounce\>"
|
||||
syntax match pfmainSpecial "\<cleanup\>"
|
||||
syntax match pfmainSpecial "\<cyrus\>"
|
||||
syntax match pfmainSpecial "\<defer\>"
|
||||
syntax match pfmainSpecial "\<error\>"
|
||||
syntax match pfmainSpecial "\<flush\>"
|
||||
syntax match pfmainSpecial "\<notify\>"
|
||||
syntax match pfmainSpecial "\<pickup\>"
|
||||
syntax match pfmainSpecial "\<postdrop\>"
|
||||
syntax match pfmainSpecial "\<qmgr\>"
|
||||
syntax match pfmainSpecial "\<qmqpd\>"
|
||||
syntax match pfmainSpecial "\<rewrite\>"
|
||||
syntax match pfmainSpecial "\<scache\>"
|
||||
syntax match pfmainSpecial "\<sendmail\>"
|
||||
syntax match pfmainSpecial "\<showq\>"
|
||||
syntax match pfmainSpecial "\<smtpd\>"
|
||||
syntax match pfmainSpecial "\<trace\>"
|
||||
syntax match pfmainSpecial "\<verify\>"
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
" Vim syntax file
|
||||
" Language: php PHP 3/4/5
|
||||
" Maintainer: Jason Woofenden <jason@jasonwoof.com>
|
||||
" Last Change: Sep 18, 2014
|
||||
" URL: https://gitorious.org/jasonwoof/vim-syntax/blobs/master/php.vim
|
||||
" Last Change: Mar 24, 2015
|
||||
" URL: https://jasonwoof.com/gitweb/?p=vim-syntax.git;a=blob;f=php.vim;hb=HEAD
|
||||
" Former Maintainers: Peter Hodge <toomuchphp-vim@yahoo.com>
|
||||
" Debian VIM Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
|
||||
"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim syntax file
|
||||
" Language: po (gettext)
|
||||
" Maintainer: Dwayne Bailey <dwayne@translate.org.za>
|
||||
" Last Change: 2012 Apr 30
|
||||
" Last Change: 2015 Jun 07
|
||||
" Contributors: Dwayne Bailey (Most advanced syntax highlighting)
|
||||
" Leonardo Fontenelle (Spell checking)
|
||||
" Nam SungHyun <namsh@kldp.org> (Original maintainer)
|
||||
@@ -52,6 +52,9 @@ syn match poCommentTranslator "^# .*$" contains=poCopyrightUnset
|
||||
syn match poCommentAutomatic "^#\..*$"
|
||||
syn match poCommentSources "^#:.*$"
|
||||
syn match poCommentFlags "^#,.*$" contains=poFlagFuzzy
|
||||
syn match poDiffOld '\(^#| "[^{]*+}\|{+[^}]*+}\|{+[^}]*\|"$\)' contained
|
||||
syn match poDiffNew '\(^#| "[^{]*-}\|{-[^}]*-}\|{-[^}]*\|"$\)' contained
|
||||
syn match poCommentDiff "^#|.*$" contains=poDiffOld,poDiffNew
|
||||
|
||||
" Translations (also includes header fields as they appear in a translation msgstr)
|
||||
syn region poCommentKDE start=+"_: +ms=s+1 end="\\n" end="\"\n^msgstr"me=s-1 contained
|
||||
@@ -94,8 +97,11 @@ if version >= 508 || !exists("did_po_syn_inits")
|
||||
HiLink poCommentAutomatic Comment
|
||||
HiLink poCommentTranslator Comment
|
||||
HiLink poCommentFlags Special
|
||||
HiLink poCommentDiff Comment
|
||||
HiLink poCopyrightUnset Todo
|
||||
HiLink poFlagFuzzy Todo
|
||||
HiLink poDiffOld Todo
|
||||
HiLink poDiffNew Special
|
||||
HiLink poObsolete Comment
|
||||
|
||||
HiLink poStatementMsgid Statement
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
" Vim syntax file
|
||||
" Language: Python
|
||||
" Maintainer: Neil Schemenauer <nas@python.ca>
|
||||
" Last Change: 2014 Jul 16
|
||||
" Credits: Zvezdan Petkovic <zpetkovic@acm.org>
|
||||
" Neil Schemenauer <nas@python.ca>
|
||||
" Maintainer: Zvezdan Petkovic <zpetkovic@acm.org>
|
||||
" Last Change: 2015 Sep 15
|
||||
" Credits: Neil Schemenauer <nas@python.ca>
|
||||
" Dmitry Vasiliev
|
||||
"
|
||||
" This version is a major rewrite by Zvezdan Petkovic.
|
||||
@@ -52,24 +51,26 @@ set cpo&vim
|
||||
|
||||
" Keep Python keywords in alphabetical order inside groups for easy
|
||||
" comparison with the table in the 'Python Language Reference'
|
||||
" http://docs.python.org/reference/lexical_analysis.html#keywords.
|
||||
" https://docs.python.org/2/reference/lexical_analysis.html#keywords,
|
||||
" https://docs.python.org/3/reference/lexical_analysis.html#keywords.
|
||||
" Groups are in the order presented in NAMING CONVENTIONS in syntax.txt.
|
||||
" Exceptions come last at the end of each group (class and def below).
|
||||
"
|
||||
" Keywords 'with' and 'as' are new in Python 2.6
|
||||
" (use 'from __future__ import with_statement' in Python 2.5).
|
||||
"
|
||||
" Some compromises had to be made to support both Python 3.0 and 2.6.
|
||||
" We include Python 3.0 features, but when a definition is duplicated,
|
||||
" Some compromises had to be made to support both Python 3 and 2.
|
||||
" We include Python 3 features, but when a definition is duplicated,
|
||||
" the last definition takes precedence.
|
||||
"
|
||||
" - 'False', 'None', and 'True' are keywords in Python 3.0 but they are
|
||||
" built-ins in 2.6 and will be highlighted as built-ins below.
|
||||
" - 'exec' is a built-in in Python 3.0 and will be highlighted as
|
||||
" - 'False', 'None', and 'True' are keywords in Python 3 but they are
|
||||
" built-ins in 2 and will be highlighted as built-ins below.
|
||||
" - 'exec' is a built-in in Python 3 and will be highlighted as
|
||||
" built-in below.
|
||||
" - 'nonlocal' is a keyword in Python 3.0 and will be highlighted.
|
||||
" - 'print' is a built-in in Python 3.0 and will be highlighted as
|
||||
" built-in below (use 'from __future__ import print_function' in 2.6)
|
||||
" - 'nonlocal' is a keyword in Python 3 and will be highlighted.
|
||||
" - 'print' is a built-in in Python 3 and will be highlighted as
|
||||
" built-in below (use 'from __future__ import print_function' in 2)
|
||||
" - async and await were added in Python 3.5 and are soft keywords.
|
||||
"
|
||||
syn keyword pythonStatement False, None, True
|
||||
syn keyword pythonStatement as assert break continue del exec global
|
||||
@@ -80,6 +81,7 @@ syn keyword pythonRepeat for while
|
||||
syn keyword pythonOperator and in is not or
|
||||
syn keyword pythonException except finally raise try
|
||||
syn keyword pythonInclude from import
|
||||
syn keyword pythonAsync async await
|
||||
|
||||
" Decorators (new in Python 2.4)
|
||||
syn match pythonDecorator "@" display nextgroup=pythonFunction skipwhite
|
||||
@@ -95,16 +97,16 @@ syn match pythonComment "#.*$" contains=pythonTodo,@Spell
|
||||
syn keyword pythonTodo FIXME NOTE NOTES TODO XXX contained
|
||||
|
||||
" Triple-quoted strings can contain doctests.
|
||||
syn region pythonString
|
||||
syn region pythonString matchgroup=pythonQuotes
|
||||
\ start=+[uU]\=\z(['"]\)+ end="\z1" skip="\\\\\|\\\z1"
|
||||
\ contains=pythonEscape,@Spell
|
||||
syn region pythonString
|
||||
syn region pythonString matchgroup=pythonTripleQuotes
|
||||
\ start=+[uU]\=\z('''\|"""\)+ end="\z1" keepend
|
||||
\ contains=pythonEscape,pythonSpaceError,pythonDoctest,@Spell
|
||||
syn region pythonRawString
|
||||
syn region pythonRawString matchgroup=pythonQuotes
|
||||
\ start=+[uU]\=[rR]\z(['"]\)+ end="\z1" skip="\\\\\|\\\z1"
|
||||
\ contains=@Spell
|
||||
syn region pythonRawString
|
||||
syn region pythonRawString matchgroup=pythonTripleQuotes
|
||||
\ start=+[uU]\=[rR]\z('''\|"""\)+ end="\z1" keepend
|
||||
\ contains=pythonSpaceError,pythonDoctest,@Spell
|
||||
|
||||
@@ -113,7 +115,7 @@ syn match pythonEscape "\\\o\{1,3}" contained
|
||||
syn match pythonEscape "\\x\x\{2}" contained
|
||||
syn match pythonEscape "\%(\\u\x\{4}\|\\U\x\{8}\)" contained
|
||||
" Python allows case-insensitive Unicode IDs: http://www.unicode.org/charts/
|
||||
syn match pythonEscape "\\N{.\{-}}" contained
|
||||
syn match pythonEscape "\\N{\a\+\%(\s\a\+\)*}" contained
|
||||
syn match pythonEscape "\\$"
|
||||
|
||||
if exists("python_highlight_all")
|
||||
@@ -148,7 +150,8 @@ endif
|
||||
" - 08e0 or 08j are highlighted,
|
||||
"
|
||||
" and so on, as specified in the 'Python Language Reference'.
|
||||
" http://docs.python.org/reference/lexical_analysis.html#numeric-literals
|
||||
" https://docs.python.org/2/reference/lexical_analysis.html#numeric-literals
|
||||
" https://docs.python.org/3/reference/lexical_analysis.html#numeric-literals
|
||||
if !exists("python_no_number_highlight")
|
||||
" numbers (including longs and complex)
|
||||
syn match pythonNumber "\<0[oO]\=\o\+[Ll]\=\>"
|
||||
@@ -160,54 +163,58 @@ if !exists("python_no_number_highlight")
|
||||
syn match pythonNumber
|
||||
\ "\<\d\+\.\%([eE][+-]\=\d\+\)\=[jJ]\=\%(\W\|$\)\@="
|
||||
syn match pythonNumber
|
||||
\ "\%(^\|\W\)\@<=\d*\.\d\+\%([eE][+-]\=\d\+\)\=[jJ]\=\>"
|
||||
\ "\%(^\|\W\)\zs\d*\.\d\+\%([eE][+-]\=\d\+\)\=[jJ]\=\>"
|
||||
endif
|
||||
|
||||
" Group the built-ins in the order in the 'Python Library Reference' for
|
||||
" easier comparison.
|
||||
" http://docs.python.org/library/constants.html
|
||||
" http://docs.python.org/library/functions.html
|
||||
" http://docs.python.org/library/functions.html#non-essential-built-in-functions
|
||||
" https://docs.python.org/2/library/constants.html
|
||||
" https://docs.python.org/3/library/constants.html
|
||||
" http://docs.python.org/2/library/functions.html
|
||||
" http://docs.python.org/3/library/functions.html
|
||||
" http://docs.python.org/2/library/functions.html#non-essential-built-in-functions
|
||||
" http://docs.python.org/3/library/functions.html#non-essential-built-in-functions
|
||||
" Python built-in functions are in alphabetical order.
|
||||
if !exists("python_no_builtin_highlight")
|
||||
" built-in constants
|
||||
" 'False', 'True', and 'None' are also reserved words in Python 3.0
|
||||
" 'False', 'True', and 'None' are also reserved words in Python 3
|
||||
syn keyword pythonBuiltin False True None
|
||||
syn keyword pythonBuiltin NotImplemented Ellipsis __debug__
|
||||
" built-in functions
|
||||
syn keyword pythonBuiltin abs all any bin bool chr classmethod
|
||||
syn keyword pythonBuiltin compile complex delattr dict dir divmod
|
||||
syn keyword pythonBuiltin enumerate eval filter float format
|
||||
syn keyword pythonBuiltin abs all any bin bool bytearray callable chr
|
||||
syn keyword pythonBuiltin classmethod compile complex delattr dict dir
|
||||
syn keyword pythonBuiltin divmod enumerate eval filter float format
|
||||
syn keyword pythonBuiltin frozenset getattr globals hasattr hash
|
||||
syn keyword pythonBuiltin help hex id input int isinstance
|
||||
syn keyword pythonBuiltin issubclass iter len list locals map max
|
||||
syn keyword pythonBuiltin min next object oct open ord pow print
|
||||
syn keyword pythonBuiltin property range repr reversed round set
|
||||
syn keyword pythonBuiltin memoryview min next object oct open ord pow
|
||||
syn keyword pythonBuiltin print property range repr reversed round set
|
||||
syn keyword pythonBuiltin setattr slice sorted staticmethod str
|
||||
syn keyword pythonBuiltin sum super tuple type vars zip __import__
|
||||
" Python 2.6 only
|
||||
syn keyword pythonBuiltin basestring callable cmp execfile file
|
||||
" Python 2 only
|
||||
syn keyword pythonBuiltin basestring cmp execfile file
|
||||
syn keyword pythonBuiltin long raw_input reduce reload unichr
|
||||
syn keyword pythonBuiltin unicode xrange
|
||||
" Python 3.0 only
|
||||
syn keyword pythonBuiltin ascii bytearray bytes exec memoryview
|
||||
" non-essential built-in functions; Python 2.6 only
|
||||
" Python 3 only
|
||||
syn keyword pythonBuiltin ascii bytes exec
|
||||
" non-essential built-in functions; Python 2 only
|
||||
syn keyword pythonBuiltin apply buffer coerce intern
|
||||
endif
|
||||
|
||||
" From the 'Python Library Reference' class hierarchy at the bottom.
|
||||
" http://docs.python.org/library/exceptions.html
|
||||
" http://docs.python.org/2/library/exceptions.html
|
||||
" http://docs.python.org/3/library/exceptions.html
|
||||
if !exists("python_no_exception_highlight")
|
||||
" builtin base exceptions (only used as base classes for other exceptions)
|
||||
" builtin base exceptions (used mostly as base classes for other exceptions)
|
||||
syn keyword pythonExceptions BaseException Exception
|
||||
syn keyword pythonExceptions ArithmeticError EnvironmentError
|
||||
syn keyword pythonExceptions ArithmeticError BufferError
|
||||
syn keyword pythonExceptions LookupError
|
||||
" builtin base exception removed in Python 3.0
|
||||
syn keyword pythonExceptions StandardError
|
||||
" builtin base exceptions removed in Python 3
|
||||
syn keyword pythonExceptions EnvironmentError StandardError
|
||||
" builtin exceptions (actually raised)
|
||||
syn keyword pythonExceptions AssertionError AttributeError BufferError
|
||||
syn keyword pythonExceptions AssertionError AttributeError
|
||||
syn keyword pythonExceptions EOFError FloatingPointError GeneratorExit
|
||||
syn keyword pythonExceptions IOError ImportError IndentationError
|
||||
syn keyword pythonExceptions ImportError IndentationError
|
||||
syn keyword pythonExceptions IndexError KeyError KeyboardInterrupt
|
||||
syn keyword pythonExceptions MemoryError NameError NotImplementedError
|
||||
syn keyword pythonExceptions OSError OverflowError ReferenceError
|
||||
@@ -215,13 +222,27 @@ if !exists("python_no_exception_highlight")
|
||||
syn keyword pythonExceptions SystemError SystemExit TabError TypeError
|
||||
syn keyword pythonExceptions UnboundLocalError UnicodeError
|
||||
syn keyword pythonExceptions UnicodeDecodeError UnicodeEncodeError
|
||||
syn keyword pythonExceptions UnicodeTranslateError ValueError VMSError
|
||||
syn keyword pythonExceptions WindowsError ZeroDivisionError
|
||||
syn keyword pythonExceptions UnicodeTranslateError ValueError
|
||||
syn keyword pythonExceptions ZeroDivisionError
|
||||
" builtin OS exceptions in Python 3
|
||||
syn keyword pythonExceptions BlockingIOError BrokenPipeError
|
||||
syn keyword pythonExceptions ChildProcessError ConnectionAbortedError
|
||||
syn keyword pythonExceptions ConnectionError ConnectionRefusedError
|
||||
syn keyword pythonExceptions ConnectionResetError FileExistsError
|
||||
syn keyword pythonExceptions FileNotFoundError InterruptedError
|
||||
syn keyword pythonExceptions IsADirectoryError NotADirectoryError
|
||||
syn keyword pythonExceptions PermissionError ProcessLookupError
|
||||
syn keyword pythonExceptions RecursionError StopAsyncIteration
|
||||
syn keyword pythonExceptions TimeoutError
|
||||
" builtin exceptions deprecated/removed in Python 3
|
||||
syn keyword pythonExceptions IOError VMSError WindowsError
|
||||
" builtin warnings
|
||||
syn keyword pythonExceptions BytesWarning DeprecationWarning FutureWarning
|
||||
syn keyword pythonExceptions ImportWarning PendingDeprecationWarning
|
||||
syn keyword pythonExceptions RuntimeWarning SyntaxWarning UnicodeWarning
|
||||
syn keyword pythonExceptions UserWarning Warning
|
||||
" builtin warnings in Python 3
|
||||
syn keyword pythonExceptions ResourceWarning
|
||||
endif
|
||||
|
||||
if exists("python_space_error_highlight")
|
||||
@@ -268,12 +289,15 @@ if version >= 508 || !exists("did_python_syn_inits")
|
||||
HiLink pythonOperator Operator
|
||||
HiLink pythonException Exception
|
||||
HiLink pythonInclude Include
|
||||
HiLink pythonAsync Statement
|
||||
HiLink pythonDecorator Define
|
||||
HiLink pythonFunction Function
|
||||
HiLink pythonComment Comment
|
||||
HiLink pythonTodo Todo
|
||||
HiLink pythonString String
|
||||
HiLink pythonRawString String
|
||||
HiLink pythonQuotes String
|
||||
HiLink pythonTripleQuotes pythonQuotes
|
||||
HiLink pythonEscape Special
|
||||
if !exists("python_no_number_highlight")
|
||||
HiLink pythonNumber Number
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
" Vim syntax file
|
||||
" Language: M$ Resource files (*.rc)
|
||||
" Maintainer: Heiko Erhardt <Heiko.Erhardt@munich.netsurf.de>
|
||||
" Last Change: 2001 May 09
|
||||
" Maintainer: Christian Brabandt
|
||||
" Last Change: 2015-05-29
|
||||
" Repository: https://github.com/chrisbra/vim-rc-syntax
|
||||
" License: Vim (see :h license)
|
||||
" Previous Maintainer: Heiko Erhardt <Heiko.Erhardt@munich.netsurf.de>
|
||||
|
||||
" This file is based on the c.vim
|
||||
|
||||
@@ -21,7 +24,7 @@ syn keyword rcMainObject MENU ACCELERATORS TOOLBAR DIALOG
|
||||
syn keyword rcMainObject STRINGTABLE MESSAGETABLE RCDATA DLGINIT DESIGNINFO
|
||||
|
||||
syn keyword rcSubObject POPUP MENUITEM SEPARATOR
|
||||
syn keyword rcSubObject CONTROL LTEXT CTEXT EDITTEXT
|
||||
syn keyword rcSubObject CONTROL LTEXT CTEXT RTEXT EDITTEXT
|
||||
syn keyword rcSubObject BUTTON PUSHBUTTON DEFPUSHBUTTON GROUPBOX LISTBOX COMBOBOX
|
||||
syn keyword rcSubObject FILEVERSION PRODUCTVERSION FILEFLAGSMASK FILEFLAGS FILEOS
|
||||
syn keyword rcSubObject FILETYPE FILESUBTYPE
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" Language: reStructuredText documentation format
|
||||
" Maintainer: Marshall Ward <marshall.ward@gmail.com>
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2014-10-03
|
||||
" Latest Revision: 2015-09-07
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
@@ -81,7 +81,7 @@ syn region rstHyperlinkTarget matchgroup=rstDirective
|
||||
execute 'syn region rstExDirective contained matchgroup=rstDirective' .
|
||||
\ ' start=+' . s:ReferenceName . '::\_s+' .
|
||||
\ ' skip=+^$+' .
|
||||
\ ' end=+^\s\@!+ contains=@rstCruft'
|
||||
\ ' end=+^\s\@!+ contains=@rstCruft,rstLiteralBlock'
|
||||
|
||||
execute 'syn match rstSubstitutionDefinition contained' .
|
||||
\ ' /|' . s:ReferenceName . '|\_s\+/ nextgroup=@rstDirectives'
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
" Vim syntax file
|
||||
" Language: screen(1) configuration file
|
||||
" Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2010-01-03
|
||||
" Language: screen(1) configuration file
|
||||
" Maintainer: Dmitri Vereshchagin <dmitri.vereshchagin@gmail.com>
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2015-09-24
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
@@ -76,12 +77,16 @@ syn keyword screenCommands
|
||||
\ break
|
||||
\ breaktype
|
||||
\ bufferfile
|
||||
\ bumpleft
|
||||
\ bumpright
|
||||
\ c1
|
||||
\ caption
|
||||
\ chacl
|
||||
\ charset
|
||||
\ chdir
|
||||
\ cjkwidth
|
||||
\ clear
|
||||
\ collapse
|
||||
\ colon
|
||||
\ command
|
||||
\ compacthist
|
||||
@@ -104,6 +109,7 @@ syn keyword screenCommands
|
||||
\ deflogin
|
||||
\ defmode
|
||||
\ defmonitor
|
||||
\ defmousetrack
|
||||
\ defnonblock
|
||||
\ defobuflimit
|
||||
\ defscrollback
|
||||
@@ -113,6 +119,7 @@ syn keyword screenCommands
|
||||
\ defutf8
|
||||
\ defwrap
|
||||
\ defwritelock
|
||||
\ defzombie
|
||||
\ detach
|
||||
\ digraph
|
||||
\ dinfo
|
||||
@@ -126,7 +133,9 @@ syn keyword screenCommands
|
||||
\ fit
|
||||
\ flow
|
||||
\ focus
|
||||
\ focusminsize
|
||||
\ gr
|
||||
\ group
|
||||
\ hardcopy
|
||||
\ hardcopy_append
|
||||
\ hardcopydir
|
||||
@@ -155,6 +164,7 @@ syn keyword screenCommands
|
||||
\ maxwin
|
||||
\ meta
|
||||
\ monitor
|
||||
\ mousetrack
|
||||
\ msgminwait
|
||||
\ msgwait
|
||||
\ multiuser
|
||||
@@ -182,6 +192,7 @@ syn keyword screenCommands
|
||||
\ register
|
||||
\ remove
|
||||
\ removebuf
|
||||
\ rendition
|
||||
\ reset
|
||||
\ resize
|
||||
\ screen
|
||||
@@ -197,6 +208,7 @@ syn keyword screenCommands
|
||||
\ sleep
|
||||
\ slowpaste
|
||||
\ sorendition
|
||||
\ sort
|
||||
\ source
|
||||
\ split
|
||||
\ startup_message
|
||||
@@ -210,6 +222,7 @@ syn keyword screenCommands
|
||||
\ time
|
||||
\ title
|
||||
\ umask
|
||||
\ unbindall
|
||||
\ unsetenv
|
||||
\ utf8
|
||||
\ vbell
|
||||
@@ -228,6 +241,7 @@ syn keyword screenCommands
|
||||
\ xon
|
||||
\ zmodem
|
||||
\ zombie
|
||||
\ zombie_timeout
|
||||
|
||||
hi def link screenEscape Special
|
||||
hi def link screenComment Comment
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
" Language: shell (sh) Korn shell (ksh) bash (sh)
|
||||
" Maintainer: Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz>
|
||||
" Previous Maintainer: Lennart Schultz <Lennart.Schultz@ecmwf.int>
|
||||
" Last Change: Jan 08, 2015
|
||||
" Version: 134
|
||||
" Last Change: May 29, 2015
|
||||
" Version: 137
|
||||
" URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_SH
|
||||
" For options and settings, please use: :help ft-sh-syntax
|
||||
" This file includes many ideas from ?ric Brunet (eric.brunet@ens.fr)
|
||||
@@ -17,7 +17,7 @@ elseif exists("b:current_syntax")
|
||||
endif
|
||||
|
||||
" AFAICT "." should be considered part of the iskeyword. Using iskeywords in
|
||||
" syntax is dicey, so the following code permits the user to prevent/override
|
||||
" syntax is dicey, so the following code permits the user to
|
||||
" g:sh_isk set to a string : specify iskeyword.
|
||||
" g:sh_noisk exists : don't change iskeyword
|
||||
" g:sh_noisk does not exist : (default) append "." to iskeyword
|
||||
@@ -104,12 +104,11 @@ syn cluster shErrorList contains=shDoError,shIfError,shInError,shCaseError,shEsa
|
||||
if exists("b:is_kornshell")
|
||||
syn cluster ErrorList add=shDTestError
|
||||
endif
|
||||
syn cluster shArithParenList contains=shArithmetic,shCaseEsac,shComment,shDeref,shDerefSimple,shDo,shEcho,shEscape,shIf,shFor,shNumber,shOperator,shPosnParm,shExSingleQuote,shExDoubleQuote,shRedir,shSingleQuote,shDoubleQuote,shStatement,shVariable,shAlias,shTest,shCtrlSeq,shSpecial,shParen,bashSpecialVariables,bashStatement
|
||||
syn cluster shArithParenList contains=shArithmetic,shCaseEsac,shComment,shDeref,shDo,shDerefSimple,shEcho,shEscape,shNumber,shOperator,shPosnParm,shExSingleQuote,shExDoubleQuote,shRedir,shSingleQuote,shDoubleQuote,shStatement,shVariable,shAlias,shTest,shCtrlSeq,shSpecial,shParen,bashSpecialVariables,bashStatement,shIf,shFor
|
||||
syn cluster shArithList contains=@shArithParenList,shParenError
|
||||
syn cluster shCaseEsacList contains=shCaseStart,shCase,shCaseBar,shCaseIn,shComment,shDeref,shDerefSimple,shCaseCommandSub,shCaseExSingleQuote,shCaseSingleQuote,shCaseDoubleQuote,shCtrlSeq,@shErrorList,shStringSpecial,shCaseRange
|
||||
syn cluster shCaseList contains=@shCommandSubList,shCaseEsac,shColon,shCommandSub,shComment,shDo,shEcho,shExpr,shFor,shHereDoc,shIf,shRedir,shSetList,shSource,shStatement,shVariable,shCtrlSeq
|
||||
"syn cluster shColonList contains=@shCaseList
|
||||
syn cluster shCommandSubList contains=shArithmetic,shDeref,shDerefSimple,shEcho,shEscape,shNumber,shOption,shPosnParm,shExSingleQuote,shSingleQuote,shExDoubleQuote,shDoubleQuote,shStatement,shVariable,shSubSh,shAlias,shTest,shCtrlSeq,shSpecial,shCmdParenRegion
|
||||
syn cluster shCommandSubList contains=shAlias,shArithmetic,shCmdParenRegion,shCtrlSeq,shDeref,shDerefSimple,shDoubleQuote,shEcho,shEscape,shExDoubleQuote,shExpr,shExSingleQuote,shNumber,shOperator,shOption,shPosnParm,shSingleQuote,shSpecial,shStatement,shSubSh,shTest,shVariable
|
||||
syn cluster shCurlyList contains=shNumber,shComma,shDeref,shDerefSimple,shDerefSpecial
|
||||
syn cluster shDblQuoteList contains=shCommandSub,shDeref,shDerefSimple,shEscape,shPosnParm,shCtrlSeq,shSpecial
|
||||
syn cluster shDerefList contains=shDeref,shDerefSimple,shDerefVar,shDerefSpecial,shDerefWordError,shDerefPPS
|
||||
@@ -127,9 +126,9 @@ syn cluster shHereList contains=shBeginHere,shHerePayload
|
||||
syn cluster shHereListDQ contains=shBeginHere,@shDblQuoteList,shHerePayload
|
||||
syn cluster shIdList contains=shCommandSub,shWrapLineOperator,shSetOption,shDeref,shDerefSimple,shRedir,shExSingleQuote,shExDoubleQuote,shSingleQuote,shDoubleQuote,shExpr,shCtrlSeq,shStringSpecial,shAtExpr
|
||||
syn cluster shIfList contains=@shLoopList,shDblBrace,shDblParen,shFunctionKey,shFunctionOne,shFunctionTwo
|
||||
syn cluster shLoopList contains=@shCaseList,shIf,shFor,shForPP,shTestOpr,shExpr,shDblBrace,shConditional,shCaseEsac,shTest,@shErrorList,shSet,shOption
|
||||
syn cluster shLoopList contains=@shCaseList,@shErrorList,shCaseEsac,shConditional,shDblBrace,shExpr,shFor,shForPP,shIf,shOption,shSet,shTest,shTestOpr
|
||||
syn cluster shSubShList contains=@shCommandSubList,shCaseEsac,shColon,shCommandSub,shComment,shDo,shEcho,shExpr,shFor,shIf,shRedir,shSetList,shSource,shStatement,shVariable,shCtrlSeq,shOperator
|
||||
syn cluster shTestList contains=shCharClass,shComment,shCommandSub,shDeref,shDerefSimple,shExDoubleQuote,shDoubleQuote,shExpr,shNumber,shOperator,shExSingleQuote,shSingleQuote,shTestOpr,shTest,shCtrlSeq
|
||||
syn cluster shTestList contains=shCharClass,shCommandSub,shComment,shCtrlSeq,shDeref,shDerefSimple,shDoubleQuote,shExDoubleQuote,shExpr,shExSingleQuote,shNumber,shOperator,shSingleQuote,shTest,shTestOpr
|
||||
" Echo: {{{1
|
||||
" ====
|
||||
" This one is needed INSIDE a CommandSub, so that `echo bla` be correct
|
||||
@@ -182,7 +181,7 @@ syn match shRedir "\d<<-\="
|
||||
syn match shOperator "<<\|>>" contained
|
||||
syn match shOperator "[!&;|]" contained
|
||||
syn match shOperator "\[[[^:]\|\]]" contained
|
||||
syn match shOperator "!\==" skipwhite nextgroup=shPattern
|
||||
syn match shOperator "[-=/*+%]\==" skipwhite nextgroup=shPattern
|
||||
syn match shPattern "\<\S\+\())\)\@=" contained contains=shExSingleQuote,shSingleQuote,shExDoubleQuote,shDoubleQuote,shDeref
|
||||
|
||||
" Subshells: {{{1
|
||||
@@ -194,16 +193,15 @@ syn region shSubSh transparent matchgroup=shSubShRegion start="[^(]\zs(" end=")"
|
||||
"=======
|
||||
syn region shExpr matchgroup=shRange start="\[" skip=+\\\\\|\\$\|\[+ end="\]" contains=@shTestList,shSpecial
|
||||
syn region shTest transparent matchgroup=shStatement start="\<test\s" skip=+\\\\\|\\$+ matchgroup=NONE end="[;&|]"me=e-1 end="$" contains=@shExprList1
|
||||
syn match shTestOpr contained '[^-+/%]\zs=' skipwhite nextgroup=shTestDoubleQuote,shTestSingleQuote,shTestPattern
|
||||
syn match shTestOpr contained "<=\|>=\|!=\|==\|-.\>\|-\(nt\|ot\|ef\|eq\|ne\|lt\|le\|gt\|ge\)\>\|[!<>]"
|
||||
syn match shTestOpr contained '=' skipwhite nextgroup=shTestDoubleQuote,shTestSingleQuote,shTestPattern
|
||||
syn match shTestPattern contained '\w\+'
|
||||
syn region shTestDoubleQuote contained start='"' skip='\\"' end='"' contains=shBQpairs
|
||||
syn region shTestDoubleQuote contained start='\%(\%(\\\\\)*\\\)\@<!"' skip=+\\\\\|\\"+ end='"'
|
||||
syn match shTestSingleQuote contained '\\.'
|
||||
syn match shTestSingleQuote contained "'[^']*'"
|
||||
syn match shBQpairs contained '\\\\'
|
||||
if exists("b:is_kornshell") || exists("b:is_bash")
|
||||
syn region shDblBrace matchgroup=Delimiter start="\[\[" skip=+\\\\\|\\$+ end="\]\]" contains=@shTestList
|
||||
syn region shDblParen matchgroup=Delimiter start="((" skip=+\\\\\|\\$+ end="))" contains=@shTestList
|
||||
syn region shDblBrace matchgroup=Delimiter start="\[\[" skip=+\\\\\|\\$+ end="\]\]" contains=@shTestList,shComment
|
||||
syn region shDblParen matchgroup=Delimiter start="((" skip=+\\\\\|\\$+ end="))" contains=@shTestList,shComment
|
||||
endif
|
||||
|
||||
" Character Class In Range: {{{1
|
||||
@@ -213,15 +211,16 @@ syn match shCharClass contained "\[:\(backspace\|escape\|return\|xdigit\|alnum
|
||||
" Loops: do, if, while, until {{{1
|
||||
" ======
|
||||
if s:sh_fold_ifdofor
|
||||
syn region shDo fold transparent matchgroup=shConditional start="\<do\>" matchgroup=shConditional end="\<done\>" contains=@shLoopList
|
||||
syn region shIf fold transparent matchgroup=shConditional start="\<if\_s" matchgroup=shConditional skip=+-fi\>+ end="\<;\_s*then\>" end="\<fi\>" contains=@shIfList
|
||||
syn region shFor fold matchgroup=shLoop start="\<for\ze\_s\s*\%(((\)\@!" end="\<in\_s" end="\<do\>"me=e-2 contains=@shLoopList,shDblParen skipwhite nextgroup=shCurlyIn
|
||||
syn region shDo fold transparent matchgroup=shConditional start="\<do\>" matchgroup=shConditional end="\<done\>" contains=@shLoopList
|
||||
syn region shIf fold transparent matchgroup=shConditional start="\<if\_s" matchgroup=shConditional skip=+-fi\>+ end="\<;\_s*then\>" end="\<fi\>" contains=@shIfList
|
||||
syn region shFor fold matchgroup=shLoop start="\<for\ze\_s\s*\%(((\)\@!" end="\<in\_s" end="\<do\>"me=e-2 contains=@shLoopList,shDblParen skipwhite nextgroup=shCurlyIn
|
||||
syn region shForPP fold matchgroup=shLoop start='\<for\>\_s*((' end='))' contains=shTestOpr
|
||||
else
|
||||
syn region shDo transparent matchgroup=shConditional start="\<do\>" matchgroup=shConditional end="\<done\>" contains=@shLoopList
|
||||
syn region shIf transparent matchgroup=shConditional start="\<if\_s" matchgroup=shConditional skip=+-fi\>+ end="\<;\_s*then\>" end="\<fi\>" contains=@shIfList
|
||||
syn region shFor matchgroup=shLoop start="\<for\ze\_s\s*\%(((\)\@!" end="\<in\>" end="\<do\>"me=e-2 contains=@shLoopList,shDblParen skipwhite nextgroup=shCurlyIn
|
||||
syn region shDo transparent matchgroup=shConditional start="\<do\>" matchgroup=shConditional end="\<done\>" contains=@shLoopList
|
||||
syn region shIf transparent matchgroup=shConditional start="\<if\_s" matchgroup=shConditional skip=+-fi\>+ end="\<;\_s*then\>" end="\<fi\>" contains=@shIfList
|
||||
syn region shFor matchgroup=shLoop start="\<for\ze\_s\s*\%(((\)\@!" end="\<in\>" end="\<do\>"me=e-2 contains=@shLoopList,shDblParen skipwhite nextgroup=shCurlyIn
|
||||
syn region shForPP matchgroup=shLoop start='\<for\>\_s*((' end='))' contains=shTestOpr
|
||||
endif
|
||||
syn region shForPP matchgroup=shLoop start='\<for\>\_s*((' end='))' contains=shTestOpr
|
||||
if exists("b:is_kornshell") || exists("b:is_bash")
|
||||
syn cluster shCaseList add=shRepeat
|
||||
syn cluster shFunctionList add=shRepeat
|
||||
@@ -322,12 +321,13 @@ elseif !exists("g:sh_no_error")
|
||||
endif
|
||||
syn region shSingleQuote matchgroup=shQuote start=+'+ end=+'+ contains=@Spell
|
||||
syn region shDoubleQuote matchgroup=shQuote start=+\%(\%(\\\\\)*\\\)\@<!"+ skip=+\\"+ end=+"+ contains=@shDblQuoteList,shStringSpecial,@Spell
|
||||
"syn region shDoubleQuote matchgroup=shQuote start=+"+ skip=+\\"+ end=+"+ contains=@shDblQuoteList,shStringSpecial,@Spell
|
||||
syn match shStringSpecial "[^[:print:] \t]" contained
|
||||
syn region shDoubleQuote matchgroup=shQuote start=+"+ skip=+\\"+ end=+"+ contains=@shDblQuoteList,shStringSpecial,@Spell
|
||||
syn match shStringSpecial "[^[:print:] \t]" contained
|
||||
syn match shStringSpecial "\%(\\\\\)*\\[\\"'`$()#]"
|
||||
syn match shSpecial "[^\\]\zs\%(\\\\\)*\\[\\"'`$()#]" nextgroup=shMoreSpecial,shComment
|
||||
syn match shSpecial "^\%(\\\\\)*\\[\\"'`$()#]" nextgroup=shComment
|
||||
syn match shMoreSpecial "\%(\\\\\)*\\[\\"'`$()#]" nextgroup=shMoreSpecial contained
|
||||
" COMBAK: why is ,shComment on next line???
|
||||
syn match shSpecial "[^\\]\zs\%(\\\\\)*\\[\\"'`$()#]" nextgroup=shMoreSpecial,shComment
|
||||
syn match shSpecial "^\%(\\\\\)*\\[\\"'`$()#]" nextgroup=shComment
|
||||
syn match shMoreSpecial "\%(\\\\\)*\\[\\"'`$()#]" nextgroup=shMoreSpecial contained
|
||||
|
||||
" Comments: {{{1
|
||||
"==========
|
||||
@@ -341,42 +341,42 @@ syn match shQuickComment contained "#.*$"
|
||||
" Here Documents: {{{1
|
||||
" =========================================
|
||||
if version < 600
|
||||
syn region shHereDoc matchgroup=shRedir01 start="<<\s*\**END[a-zA-Z_0-9]*\**" matchgroup=shRedir01 end="^END[a-zA-Z_0-9]*$" contains=@shDblQuoteList
|
||||
syn region shHereDoc matchgroup=shRedir02 start="<<-\s*\**END[a-zA-Z_0-9]*\**" matchgroup=shRedir02 end="^\s*END[a-zA-Z_0-9]*$" contains=@shDblQuoteList
|
||||
syn region shHereDoc matchgroup=shRedir03 start="<<\s*\**EOF\**" matchgroup=shRedir03 end="^EOF$" contains=@shDblQuoteList
|
||||
syn region shHereDoc matchgroup=shRedir04 start="<<-\s*\**EOF\**" matchgroup=shRedir04 end="^\s*EOF$" contains=@shDblQuoteList
|
||||
syn region shHereDoc matchgroup=shRedir05 start="<<\s*\**\.\**" matchgroup=shRedir05 end="^\.$" contains=@shDblQuoteList
|
||||
syn region shHereDoc matchgroup=shRedir06 start="<<-\s*\**\.\**" matchgroup=shRedir06 end="^\s*\.$" contains=@shDblQuoteList
|
||||
syn region shHereDoc matchgroup=shHereDoc01 start="<<\s*\**END[a-zA-Z_0-9]*\**" matchgroup=shHereDoc01 end="^END[a-zA-Z_0-9]*$" contains=@shDblQuoteList
|
||||
syn region shHereDoc matchgroup=shHereDoc02 start="<<-\s*\**END[a-zA-Z_0-9]*\**" matchgroup=shHereDoc02 end="^\s*END[a-zA-Z_0-9]*$" contains=@shDblQuoteList
|
||||
syn region shHereDoc matchgroup=shHereDoc03 start="<<\s*\**EOF\**" matchgroup=shHereDoc03 end="^EOF$" contains=@shDblQuoteList
|
||||
syn region shHereDoc matchgroup=shHereDoc04 start="<<-\s*\**EOF\**" matchgroup=shHereDoc04 end="^\s*EOF$" contains=@shDblQuoteList
|
||||
syn region shHereDoc matchgroup=shHereDoc05 start="<<\s*\**\.\**" matchgroup=shHereDoc05 end="^\.$" contains=@shDblQuoteList
|
||||
syn region shHereDoc matchgroup=shHereDoc06 start="<<-\s*\**\.\**" matchgroup=shHereDoc06 end="^\s*\.$" contains=@shDblQuoteList
|
||||
|
||||
elseif s:sh_fold_heredoc
|
||||
syn region shHereDoc matchgroup=shRedir07 fold start="<<\s*\z([^ \t|]*\)" matchgroup=shRedir07 end="^\z1\s*$" contains=@shDblQuoteList
|
||||
syn region shHereDoc matchgroup=shRedir08 fold start="<<\s*\"\z([^ \t|]*\)\"" matchgroup=shRedir08 end="^\z1\s*$"
|
||||
syn region shHereDoc matchgroup=shRedir09 fold start="<<\s*'\z([^ \t|]*\)'" matchgroup=shRedir09 end="^\z1\s*$"
|
||||
syn region shHereDoc matchgroup=shRedir10 fold start="<<-\s*\z([^ \t|]*\)" matchgroup=shRedir10 end="^\s*\z1\s*$" contains=@shDblQuoteList
|
||||
syn region shHereDoc matchgroup=shRedir11 fold start="<<-\s*\"\z([^ \t|]*\)\"" matchgroup=shRedir11 end="^\s*\z1\s*$"
|
||||
syn region shHereDoc matchgroup=shRedir12 fold start="<<-\s*'\z([^ \t|]*\)'" matchgroup=shRedir12 end="^\s*\z1\s*$"
|
||||
syn region shHereDoc matchgroup=shRedir13 fold start="<<\s*\\\_$\_s*\z([^ \t|]*\)" matchgroup=shRedir13 end="^\z1\s*$"
|
||||
syn region shHereDoc matchgroup=shRedir14 fold start="<<\s*\\\_$\_s*\"\z([^ \t|]*\)\"" matchgroup=shRedir14 end="^\z1\s*$"
|
||||
syn region shHereDoc matchgroup=shRedir15 fold start="<<-\s*\\\_$\_s*'\z([^ \t|]*\)'" matchgroup=shRedir15 end="^\s*\z1\s*$"
|
||||
syn region shHereDoc matchgroup=shRedir16 fold start="<<-\s*\\\_$\_s*\z([^ \t|]*\)" matchgroup=shRedir16 end="^\s*\z1\s*$"
|
||||
syn region shHereDoc matchgroup=shRedir17 fold start="<<-\s*\\\_$\_s*\"\z([^ \t|]*\)\"" matchgroup=shRedir17 end="^\s*\z1\s*$"
|
||||
syn region shHereDoc matchgroup=shRedir18 fold start="<<\s*\\\_$\_s*'\z([^ \t|]*\)'" matchgroup=shRedir18 end="^\z1\s*$"
|
||||
syn region shHereDoc matchgroup=shRedir19 fold start="<<\\\z([^ \t|]*\)" matchgroup=shRedir19 end="^\z1\s*$"
|
||||
syn region shHereDoc matchgroup=shHereDoc07 fold start="<<\s*\z([^ \t|]*\)" matchgroup=shHereDoc07 end="^\z1\s*$" contains=@shDblQuoteList
|
||||
syn region shHereDoc matchgroup=shHereDoc08 fold start="<<\s*\"\z([^ \t|]*\)\"" matchgroup=shHereDoc08 end="^\z1\s*$"
|
||||
syn region shHereDoc matchgroup=shHereDoc09 fold start="<<\s*'\z([^ \t|]*\)'" matchgroup=shHereDoc09 end="^\z1\s*$"
|
||||
syn region shHereDoc matchgroup=shHereDoc10 fold start="<<-\s*\z([^ \t|]*\)" matchgroup=shHereDoc10 end="^\s*\z1\s*$" contains=@shDblQuoteList
|
||||
syn region shHereDoc matchgroup=shHereDoc11 fold start="<<-\s*\"\z([^ \t|]*\)\"" matchgroup=shHereDoc11 end="^\s*\z1\s*$"
|
||||
syn region shHereDoc matchgroup=shHereDoc12 fold start="<<-\s*'\z([^ \t|]*\)'" matchgroup=shHereDoc12 end="^\s*\z1\s*$"
|
||||
syn region shHereDoc matchgroup=shHereDoc13 fold start="<<\s*\\\_$\_s*\z([^ \t|]*\)" matchgroup=shHereDoc13 end="^\z1\s*$"
|
||||
syn region shHereDoc matchgroup=shHereDoc14 fold start="<<\s*\\\_$\_s*\"\z([^ \t|]*\)\"" matchgroup=shHereDoc14 end="^\z1\s*$"
|
||||
syn region shHereDoc matchgroup=shHereDoc15 fold start="<<-\s*\\\_$\_s*'\z([^ \t|]*\)'" matchgroup=shHereDoc15 end="^\s*\z1\s*$"
|
||||
syn region shHereDoc matchgroup=shHereDoc16 fold start="<<-\s*\\\_$\_s*\z([^ \t|]*\)" matchgroup=shHereDoc16 end="^\s*\z1\s*$"
|
||||
syn region shHereDoc matchgroup=shHereDoc17 fold start="<<-\s*\\\_$\_s*\"\z([^ \t|]*\)\"" matchgroup=shHereDoc17 end="^\s*\z1\s*$"
|
||||
syn region shHereDoc matchgroup=shHereDoc18 fold start="<<\s*\\\_$\_s*'\z([^ \t|]*\)'" matchgroup=shHereDoc18 end="^\z1\s*$"
|
||||
syn region shHereDoc matchgroup=shHereDoc19 fold start="<<\\\z([^ \t|]*\)" matchgroup=shHereDoc19 end="^\z1\s*$"
|
||||
|
||||
else
|
||||
syn region shHereDoc matchgroup=shRedir20 start="<<\s*\\\=\z([^ \t|]*\)" matchgroup=shRedir20 end="^\z1\s*$" contains=@shDblQuoteList
|
||||
syn region shHereDoc matchgroup=shRedir21 start="<<\s*\"\z([^ \t|]*\)\"" matchgroup=shRedir21 end="^\z1\s*$"
|
||||
syn region shHereDoc matchgroup=shRedir22 start="<<-\s*\z([^ \t|]*\)" matchgroup=shRedir22 end="^\s*\z1\s*$" contains=@shDblQuoteList
|
||||
syn region shHereDoc matchgroup=shRedir23 start="<<-\s*'\z([^ \t|]*\)'" matchgroup=shRedir23 end="^\s*\z1\s*$"
|
||||
syn region shHereDoc matchgroup=shRedir24 start="<<\s*'\z([^ \t|]*\)'" matchgroup=shRedir24 end="^\z1\s*$"
|
||||
syn region shHereDoc matchgroup=shRedir25 start="<<-\s*\"\z([^ \t|]*\)\"" matchgroup=shRedir25 end="^\s*\z1\s*$"
|
||||
syn region shHereDoc matchgroup=shRedir26 start="<<\s*\\\_$\_s*\z([^ \t|]*\)" matchgroup=shRedir26 end="^\z1\s*$"
|
||||
syn region shHereDoc matchgroup=shRedir27 start="<<-\s*\\\_$\_s*\z([^ \t|]*\)" matchgroup=shRedir27 end="^\s*\z1\s*$"
|
||||
syn region shHereDoc matchgroup=shRedir28 start="<<-\s*\\\_$\_s*'\z([^ \t|]*\)'" matchgroup=shRedir28 end="^\s*\z1\s*$"
|
||||
syn region shHereDoc matchgroup=shRedir29 start="<<\s*\\\_$\_s*'\z([^ \t|]*\)'" matchgroup=shRedir29 end="^\z1\s*$"
|
||||
syn region shHereDoc matchgroup=shRedir30 start="<<\s*\\\_$\_s*\"\z([^ \t|]*\)\"" matchgroup=shRedir30 end="^\z1\s*$"
|
||||
syn region shHereDoc matchgroup=shRedir31 start="<<-\s*\\\_$\_s*\"\z([^ \t|]*\)\"" matchgroup=shRedir31 end="^\s*\z1\s*$"
|
||||
syn region shHereDoc matchgroup=shRedir32 start="<<\\\z([^ \t|]*\)" matchgroup=shRedir32 end="^\z1\s*$"
|
||||
syn region shHereDoc matchgroup=shHereDoc20 start="<<\s*\\\=\z([^ \t|]*\)" matchgroup=shHereDoc20 end="^\z1\s*$" contains=@shDblQuoteList
|
||||
syn region shHereDoc matchgroup=shHereDoc21 start="<<\s*\"\z([^ \t|]*\)\"" matchgroup=shHereDoc21 end="^\z1\s*$"
|
||||
syn region shHereDoc matchgroup=shHereDoc22 start="<<-\s*\z([^ \t|]*\)" matchgroup=shHereDoc22 end="^\s*\z1\s*$" contains=@shDblQuoteList
|
||||
syn region shHereDoc matchgroup=shHereDoc23 start="<<-\s*'\z([^ \t|]*\)'" matchgroup=shHereDoc23 end="^\s*\z1\s*$"
|
||||
syn region shHereDoc matchgroup=shHereDoc24 start="<<\s*'\z([^ \t|]*\)'" matchgroup=shHereDoc24 end="^\z1\s*$"
|
||||
syn region shHereDoc matchgroup=shHereDoc25 start="<<-\s*\"\z([^ \t|]*\)\"" matchgroup=shHereDoc25 end="^\s*\z1\s*$"
|
||||
syn region shHereDoc matchgroup=shHereDoc26 start="<<\s*\\\_$\_s*\z([^ \t|]*\)" matchgroup=shHereDoc26 end="^\z1\s*$"
|
||||
syn region shHereDoc matchgroup=shHereDoc27 start="<<-\s*\\\_$\_s*\z([^ \t|]*\)" matchgroup=shHereDoc27 end="^\s*\z1\s*$"
|
||||
syn region shHereDoc matchgroup=shHereDoc28 start="<<-\s*\\\_$\_s*'\z([^ \t|]*\)'" matchgroup=shHereDoc28 end="^\s*\z1\s*$"
|
||||
syn region shHereDoc matchgroup=shHereDoc29 start="<<\s*\\\_$\_s*'\z([^ \t|]*\)'" matchgroup=shHereDoc29 end="^\z1\s*$"
|
||||
syn region shHereDoc matchgroup=shHereDoc30 start="<<\s*\\\_$\_s*\"\z([^ \t|]*\)\"" matchgroup=shHereDoc30 end="^\z1\s*$"
|
||||
syn region shHereDoc matchgroup=shHereDoc31 start="<<-\s*\\\_$\_s*\"\z([^ \t|]*\)\"" matchgroup=shHereDoc31 end="^\s*\z1\s*$"
|
||||
syn region shHereDoc matchgroup=shHereDoc32 start="<<\\\z([^ \t|]*\)" matchgroup=shHereDoc32 end="^\z1\s*$"
|
||||
endif
|
||||
|
||||
" Here Strings: {{{1
|
||||
@@ -389,8 +389,8 @@ endif
|
||||
" Identifiers: {{{1
|
||||
"=============
|
||||
syn match shSetOption "\s\zs[-+][a-zA-Z0-9]\+\>" contained
|
||||
syn match shVariable "\<\([bwglsav]:\)\=[a-zA-Z0-9.!@_%+,]*\ze=" nextgroup=shSetIdentifier
|
||||
syn match shSetIdentifier "=" contained nextgroup=shCmdParenRegion,shPattern,shDeref,shDerefSimple,shDoubleQuote,shExDoubleQuote,shSingleQuote,shExSingleQuote
|
||||
syn match shVariable "\<\([bwglsav]:\)\=[a-zA-Z0-9.!@_%+,]*\ze=" nextgroup=shVarAssign
|
||||
syn match shVarAssign "=" contained nextgroup=shCmdParenRegion,shPattern,shDeref,shDerefSimple,shDoubleQuote,shExDoubleQuote,shSingleQuote,shExSingleQuote
|
||||
syn region shAtExpr contained start="@(" end=")" contains=@shIdList
|
||||
if exists("b:is_bash")
|
||||
syn region shSetList oneline matchgroup=shSet start="\<\(declare\|typeset\|local\|export\|unset\)\>\ze[^/]" end="$" matchgroup=shSetListDelim end="\ze[}|);&]" matchgroup=NONE end="\ze\s\+#\|=" contains=@shIdList
|
||||
@@ -409,19 +409,27 @@ endif
|
||||
|
||||
if exists("b:is_bash")
|
||||
if s:sh_fold_functions
|
||||
syn region shFunctionOne fold matchgroup=shFunction start="^\s*\h[-a-zA-Z_0-9]*\s*()\_s*{" end="}" contains=@shFunctionList skipwhite skipnl nextgroup=shFunctionStart,shQuickComment
|
||||
syn region shFunctionTwo fold matchgroup=shFunction start="\h[-a-zA-Z_0-9]*\s*\%(()\)\=\_s*{" end="}" contains=shFunctionKey,@shFunctionList contained skipwhite skipnl nextgroup=shFunctionStart,shQuickComment
|
||||
syn region shFunctionOne fold matchgroup=shFunction start="^\s*\h[-a-zA-Z_0-9]*\s*()\_s*{" end="}" contains=@shFunctionList skipwhite skipnl nextgroup=shFunctionStart,shQuickComment
|
||||
syn region shFunctionTwo fold matchgroup=shFunction start="\h[-a-zA-Z_0-9]*\s*\%(()\)\=\_s*{" end="}" contains=shFunctionKey,@shFunctionList contained skipwhite skipnl nextgroup=shFunctionStart,shQuickComment
|
||||
syn region shFunctionThree fold matchgroup=shFunction start="^\s*\h[-a-zA-Z_0-9]*\s*()\_s*(" end=")" contains=@shFunctionList skipwhite skipnl nextgroup=shFunctionStart,shQuickComment
|
||||
syn region shFunctionFour fold matchgroup=shFunction start="\h[-a-zA-Z_0-9]*\s*\%(()\)\=\_s*)" end=")" contains=shFunctionKey,@shFunctionList contained skipwhite skipnl nextgroup=shFunctionStart,shQuickComment
|
||||
else
|
||||
syn region shFunctionOne matchgroup=shFunction start="^\s*\h[-a-zA-Z_0-9]*\s*()\_s*{" end="}" contains=@shFunctionList
|
||||
syn region shFunctionTwo matchgroup=shFunction start="\h[-a-zA-Z_0-9]*\s*\%(()\)\=\_s*{" end="}" contains=shFunctionKey,@shFunctionList contained
|
||||
syn region shFunctionOne matchgroup=shFunction start="^\s*\h[-a-zA-Z_0-9]*\s*()\_s*{" end="}" contains=@shFunctionList
|
||||
syn region shFunctionTwo matchgroup=shFunction start="\h[-a-zA-Z_0-9]*\s*\%(()\)\=\_s*{" end="}" contains=shFunctionKey,@shFunctionList contained
|
||||
syn region shFunctionThree matchgroup=shFunction start="^\s*\h[-a-zA-Z_0-9]*\s*()\_s*(" end=")" contains=@shFunctionList
|
||||
syn region shFunctionFour matchgroup=shFunction start="\h[-a-zA-Z_0-9]*\s*\%(()\)\=\_s*(" end=")" contains=shFunctionKey,@shFunctionList contained
|
||||
endif
|
||||
else
|
||||
if s:sh_fold_functions
|
||||
syn region shFunctionOne fold matchgroup=shFunction start="^\s*\h\w*\s*()\_s*{" end="}" contains=@shFunctionList skipwhite skipnl nextgroup=shFunctionStart,shQuickComment
|
||||
syn region shFunctionTwo fold matchgroup=shFunction start="\h\w*\s*\%(()\)\=\_s*{" end="}" contains=shFunctionKey,@shFunctionList contained skipwhite skipnl nextgroup=shFunctionStart,shQuickComment
|
||||
syn region shFunctionOne fold matchgroup=shFunction start="^\s*\h\w*\s*()\_s*{" end="}" contains=@shFunctionList skipwhite skipnl nextgroup=shFunctionStart,shQuickComment
|
||||
syn region shFunctionTwo fold matchgroup=shFunction start="\h\w*\s*\%(()\)\=\_s*{" end="}" contains=shFunctionKey,@shFunctionList contained skipwhite skipnl nextgroup=shFunctionStart,shQuickComment
|
||||
syn region shFunctionThree fold matchgroup=shFunction start="^\s*\h\w*\s*()\_s*(" end=")" contains=@shFunctionList skipwhite skipnl nextgroup=shFunctionStart,shQuickComment
|
||||
syn region shFunctionFour fold matchgroup=shFunction start="\h\w*\s*\%(()\)\=\_s*(" end=")" contains=shFunctionKey,@shFunctionList contained skipwhite skipnl nextgroup=shFunctionStart,shQuickComment
|
||||
else
|
||||
syn region shFunctionOne matchgroup=shFunction start="^\s*\h\w*\s*()\_s*{" end="}" contains=@shFunctionList
|
||||
syn region shFunctionTwo matchgroup=shFunction start="\h\w*\s*\%(()\)\=\_s*{" end="}" contains=shFunctionKey,@shFunctionList contained
|
||||
syn region shFunctionOne matchgroup=shFunction start="^\s*\h\w*\s*()\_s*{" end="}" contains=@shFunctionList
|
||||
syn region shFunctionTwo matchgroup=shFunction start="\h\w*\s*\%(()\)\=\_s*{" end="}" contains=shFunctionKey,@shFunctionList contained
|
||||
syn region shFunctionThree matchgroup=shFunction start="^\s*\h\w*\s*()\_s*(" end=")" contains=@shFunctionList
|
||||
syn region shFunctionFour matchgroup=shFunction start="\h\w*\s*\%(()\)\=\_s*(" end=")" contains=shFunctionKey,@shFunctionList contained
|
||||
endif
|
||||
endif
|
||||
|
||||
@@ -577,7 +585,7 @@ hi def link shDoubleQuote shString
|
||||
hi def link shEcho shString
|
||||
hi def link shEchoDelim shOperator
|
||||
hi def link shEchoQuote shString
|
||||
"hi def link shForPP shLoop
|
||||
hi def link shForPP shLoop
|
||||
hi def link shEmbeddedEcho shString
|
||||
hi def link shEscape shCommandSub
|
||||
hi def link shExDoubleQuote shDoubleQuote
|
||||
@@ -604,7 +612,6 @@ hi def link shTestOpr shConditional
|
||||
hi def link shTestPattern shString
|
||||
hi def link shTestDoubleQuote shString
|
||||
hi def link shTestSingleQuote shString
|
||||
hi def link shBQpairs shString
|
||||
hi def link shVariable shSetList
|
||||
hi def link shWrapLineOperator shOperator
|
||||
|
||||
@@ -661,38 +668,38 @@ hi def link shStatement Statement
|
||||
hi def link shString String
|
||||
hi def link shTodo Todo
|
||||
hi def link shAlias Identifier
|
||||
hi def link shRedir01 shRedir
|
||||
hi def link shRedir02 shRedir
|
||||
hi def link shRedir03 shRedir
|
||||
hi def link shRedir04 shRedir
|
||||
hi def link shRedir05 shRedir
|
||||
hi def link shRedir06 shRedir
|
||||
hi def link shRedir07 shRedir
|
||||
hi def link shRedir08 shRedir
|
||||
hi def link shRedir09 shRedir
|
||||
hi def link shRedir10 shRedir
|
||||
hi def link shRedir11 shRedir
|
||||
hi def link shRedir12 shRedir
|
||||
hi def link shRedir13 shRedir
|
||||
hi def link shRedir14 shRedir
|
||||
hi def link shRedir15 shRedir
|
||||
hi def link shRedir16 shRedir
|
||||
hi def link shRedir17 shRedir
|
||||
hi def link shRedir18 shRedir
|
||||
hi def link shRedir19 shRedir
|
||||
hi def link shRedir20 shRedir
|
||||
hi def link shRedir21 shRedir
|
||||
hi def link shRedir22 shRedir
|
||||
hi def link shRedir23 shRedir
|
||||
hi def link shRedir24 shRedir
|
||||
hi def link shRedir25 shRedir
|
||||
hi def link shRedir26 shRedir
|
||||
hi def link shRedir27 shRedir
|
||||
hi def link shRedir28 shRedir
|
||||
hi def link shRedir29 shRedir
|
||||
hi def link shRedir30 shRedir
|
||||
hi def link shRedir31 shRedir
|
||||
hi def link shRedir32 shRedir
|
||||
hi def link shHereDoc01 shRedir
|
||||
hi def link shHereDoc02 shRedir
|
||||
hi def link shHereDoc03 shRedir
|
||||
hi def link shHereDoc04 shRedir
|
||||
hi def link shHereDoc05 shRedir
|
||||
hi def link shHereDoc06 shRedir
|
||||
hi def link shHereDoc07 shRedir
|
||||
hi def link shHereDoc08 shRedir
|
||||
hi def link shHereDoc09 shRedir
|
||||
hi def link shHereDoc10 shRedir
|
||||
hi def link shHereDoc11 shRedir
|
||||
hi def link shHereDoc12 shRedir
|
||||
hi def link shHereDoc13 shRedir
|
||||
hi def link shHereDoc14 shRedir
|
||||
hi def link shHereDoc15 shRedir
|
||||
hi def link shHereDoc16 shRedir
|
||||
hi def link shHereDoc17 shRedir
|
||||
hi def link shHereDoc18 shRedir
|
||||
hi def link shHereDoc19 shRedir
|
||||
hi def link shHereDoc20 shRedir
|
||||
hi def link shHereDoc21 shRedir
|
||||
hi def link shHereDoc22 shRedir
|
||||
hi def link shHereDoc23 shRedir
|
||||
hi def link shHereDoc24 shRedir
|
||||
hi def link shHereDoc25 shRedir
|
||||
hi def link shHereDoc26 shRedir
|
||||
hi def link shHereDoc27 shRedir
|
||||
hi def link shHereDoc28 shRedir
|
||||
hi def link shHereDoc29 shRedir
|
||||
hi def link shHereDoc30 shRedir
|
||||
hi def link shHereDoc31 shRedir
|
||||
hi def link shHereDoc32 shRedir
|
||||
|
||||
" Set Current Syntax: {{{1
|
||||
" ===================
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
" Vim syntax file
|
||||
" Language: sendmail
|
||||
" Maintainer: Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz>
|
||||
" Last Change: Jan 13, 2015
|
||||
" Version: 6
|
||||
" Last Change: Oct 23, 2014
|
||||
" Version: 7
|
||||
" URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_SM
|
||||
|
||||
if exists("b:current_syntax")
|
||||
|
||||
96
runtime/syntax/srec.vim
Normal file
96
runtime/syntax/srec.vim
Normal file
@@ -0,0 +1,96 @@
|
||||
" Vim syntax file
|
||||
" Language: Motorola S-Record
|
||||
" Maintainer: Markus Heidelberg <markus.heidelberg@web.de>
|
||||
" Last Change: 2015 Feb 24
|
||||
|
||||
" Each record (line) is built as follows:
|
||||
"
|
||||
" field digits states
|
||||
"
|
||||
" +----------+
|
||||
" | start | 1 ('S') srecRecStart
|
||||
" +----------+
|
||||
" | type | 1 srecRecType, (srecRecTypeUnknown)
|
||||
" +----------+
|
||||
" | count | 2 srecByteCount
|
||||
" +----------+
|
||||
" | address | 4/6/8 srecNoAddress, srecDataAddress, srecRecCount, srecStartAddress, (srecAddressFieldUnknown)
|
||||
" +----------+
|
||||
" | data | 0..504/502/500 srecDataOdd, srecDataEven, (srecDataUnexpected)
|
||||
" +----------+
|
||||
" | checksum | 2 srecChecksum
|
||||
" +----------+
|
||||
"
|
||||
" States in parentheses in the upper format description indicate that they
|
||||
" should not appear in a valid file.
|
||||
|
||||
" For version 5.x: Clear all syntax items
|
||||
" For version 6.x: Quit when a syntax file was already loaded
|
||||
if version < 600
|
||||
syntax clear
|
||||
elseif exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
syn match srecRecStart "^S"
|
||||
|
||||
syn match srecRecTypeUnknown "^S." contains=srecRecStart
|
||||
syn match srecRecType "^S[0-35-9]" contains=srecRecStart
|
||||
|
||||
syn match srecByteCount "^S.[0-9a-fA-F]\{2}" contains=srecRecTypeUnknown nextgroup=srecAddressFieldUnknown,srecChecksum
|
||||
syn match srecByteCount "^S[0-35-9][0-9a-fA-F]\{2}" contains=srecRecType
|
||||
|
||||
syn match srecAddressFieldUnknown "[0-9a-fA-F]\{2}" contained nextgroup=srecAddressFieldUnknown,srecChecksum
|
||||
|
||||
syn match srecNoAddress "^S0[0-9a-fA-F]\{6}" contains=srecByteCount nextgroup=srecDataOdd,srecChecksum
|
||||
syn match srecDataAddress "^S1[0-9a-fA-F]\{6}" contains=srecByteCount nextgroup=srecDataOdd,srecChecksum
|
||||
syn match srecDataAddress "^S2[0-9a-fA-F]\{8}" contains=srecByteCount nextgroup=srecDataOdd,srecChecksum
|
||||
syn match srecDataAddress "^S3[0-9a-fA-F]\{10}" contains=srecByteCount nextgroup=srecDataOdd,srecChecksum
|
||||
syn match srecRecCount "^S5[0-9a-fA-F]\{6}" contains=srecByteCount nextgroup=srecDataUnexpected,srecChecksum
|
||||
syn match srecRecCount "^S6[0-9a-fA-F]\{8}" contains=srecByteCount nextgroup=srecDataUnexpected,srecChecksum
|
||||
syn match srecStartAddress "^S7[0-9a-fA-F]\{10}" contains=srecByteCount nextgroup=srecDataUnexpected,srecChecksum
|
||||
syn match srecStartAddress "^S8[0-9a-fA-F]\{8}" contains=srecByteCount nextgroup=srecDataUnexpected,srecChecksum
|
||||
syn match srecStartAddress "^S9[0-9a-fA-F]\{6}" contains=srecByteCount nextgroup=srecDataUnexpected,srecChecksum
|
||||
|
||||
" alternating highlight per byte for easier reading
|
||||
syn match srecDataOdd "[0-9a-fA-F]\{2}" contained nextgroup=srecDataEven,srecChecksum
|
||||
syn match srecDataEven "[0-9a-fA-F]\{2}" contained nextgroup=srecDataOdd,srecChecksum
|
||||
" data bytes which should not exist
|
||||
syn match srecDataUnexpected "[0-9a-fA-F]\{2}" contained nextgroup=srecDataUnexpected,srecChecksum
|
||||
" Data digit pair regex usage also results in only highlighting the checksum
|
||||
" if the number of data characters is even.
|
||||
|
||||
syn match srecChecksum "[0-9a-fA-F]\{2}$" contained
|
||||
|
||||
" Define the default highlighting.
|
||||
" For version 5.7 and earlier: only when not done already
|
||||
" For version 5.8 and later: only when an item doesn't have highlighting yet
|
||||
if version >= 508 || !exists("did_srec_syntax_inits")
|
||||
if version < 508
|
||||
let did_srec_syntax_inits = 1
|
||||
command -nargs=+ HiLink hi link <args>
|
||||
else
|
||||
command -nargs=+ HiLink hi def link <args>
|
||||
endif
|
||||
|
||||
" The default methods for highlighting. Can be overridden later
|
||||
HiLink srecRecStart srecRecType
|
||||
HiLink srecRecTypeUnknown srecRecType
|
||||
HiLink srecRecType WarningMsg
|
||||
HiLink srecByteCount Constant
|
||||
hi def srecAddressFieldUnknown term=italic cterm=italic gui=italic
|
||||
HiLink srecNoAddress DiffAdd
|
||||
HiLink srecDataAddress Comment
|
||||
HiLink srecRecCount srecNoAddress
|
||||
HiLink srecStartAddress srecDataAddress
|
||||
hi def srecDataOdd term=bold cterm=bold gui=bold
|
||||
hi def srecDataEven term=NONE cterm=NONE gui=NONE
|
||||
HiLink srecDataUnexpected Error
|
||||
HiLink srecChecksum DiffChange
|
||||
|
||||
delcommand HiLink
|
||||
endif
|
||||
|
||||
let b:current_syntax = "srec"
|
||||
|
||||
" vim: ts=8
|
||||
@@ -60,8 +60,8 @@ fun! s:SynSet()
|
||||
endfun
|
||||
|
||||
|
||||
" Handle adding doxygen to other languages (C, C++, C#, IDL)
|
||||
au Syntax c,cpp,cs,idl,php
|
||||
" Handle adding doxygen to other languages (C, C++, C#, IDL, java, php, DataScript)
|
||||
au Syntax c,cpp,cs,idl,java,php,datascript
|
||||
\ if (exists('b:load_doxygen_syntax') && b:load_doxygen_syntax)
|
||||
\ || (exists('g:load_doxygen_syntax') && g:load_doxygen_syntax)
|
||||
\ | runtime! syntax/doxygen.vim
|
||||
|
||||
139
runtime/syntax/teraterm.vim
Normal file
139
runtime/syntax/teraterm.vim
Normal file
@@ -0,0 +1,139 @@
|
||||
" Vim syntax file
|
||||
" Language: Tera Term Language (TTL)
|
||||
" Based on Tera Term Version 4.86
|
||||
" Maintainer: Ken Takata
|
||||
" URL: https://github.com/k-takata/vim-teraterm
|
||||
" Last Change: 2015 Jun 24
|
||||
" Filenames: *.ttl
|
||||
" License: VIM License
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
syn case ignore
|
||||
|
||||
syn region ttlComment start=";" end="$" contains=@Spell
|
||||
syn region ttlComment start="/\*" end="\*/" contains=@Spell
|
||||
syn region ttlFirstComment start="/\*" end="\*/" contained contains=@Spell
|
||||
\ nextgroup=ttlStatement,ttlFirstComment
|
||||
|
||||
syn match ttlCharacter "#\%(\d\+\|\$\x\+\)\>"
|
||||
syn match ttlNumber "\%(\<\d\+\|\$\x\+\)\>"
|
||||
syn match ttlString "'[^']*'" contains=@Spell
|
||||
syn match ttlString '"[^"]*"' contains=@Spell
|
||||
syn cluster ttlConstant contains=ttlCharacter,ttlNumber,ttlString
|
||||
|
||||
syn match ttlLabel ":\s*\w\{1,32}\>"
|
||||
|
||||
syn keyword ttlOperator and or xor not
|
||||
|
||||
syn match ttlVar "\<groupmatchstr\d\>"
|
||||
syn match ttlVar "\<param\d\>"
|
||||
syn keyword ttlVar inputstr matchstr paramcnt result timeout mtimeout
|
||||
|
||||
|
||||
syn match ttlLine nextgroup=ttlStatement "^"
|
||||
syn match ttlStatement contained "\s*"
|
||||
\ nextgroup=ttlIf,ttlElseIf,ttlConditional,ttlRepeat,
|
||||
\ ttlFirstComment,ttlComment,ttlLabel,@ttlCommand
|
||||
|
||||
syn cluster ttlCommand contains=ttlControlCommand,ttlCommunicationCommand,
|
||||
\ ttlStringCommand,ttlFileCommand,ttlPasswordCommand,
|
||||
\ ttlMiscCommand
|
||||
|
||||
|
||||
syn keyword ttlIf contained nextgroup=ttlIfExpression if
|
||||
syn keyword ttlElseIf contained nextgroup=ttlElseIfExpression elseif
|
||||
|
||||
syn match ttlIfExpression contained "\s.*"
|
||||
\ contains=@ttlConstant,ttlVar,ttlOperator,ttlComment,ttlThen,
|
||||
\ @ttlCommand
|
||||
syn match ttlElseIfExpression contained "\s.*"
|
||||
\ contains=@ttlConstant,ttlVar,ttlOperator,ttlComment,ttlThen
|
||||
|
||||
syn keyword ttlThen contained then
|
||||
syn keyword ttlConditional contained else endif
|
||||
|
||||
syn keyword ttlRepeat contained for next until enduntil while endwhile
|
||||
syn match ttlRepeat contained
|
||||
\ "\<\%(do\|loop\)\%(\s\+\%(while\|until\)\)\?\>"
|
||||
syn keyword ttlControlCommand contained
|
||||
\ break call continue end execcmnd exit goto include
|
||||
\ mpause pause return
|
||||
|
||||
|
||||
syn keyword ttlCommunicationCommand contained
|
||||
\ bplusrecv bplussend callmenu changedir clearscreen
|
||||
\ closett connect cygconnect disconnect dispstr
|
||||
\ enablekeyb flushrecv gethostname getmodemstatus
|
||||
\ gettitle kmtfinish kmtget kmtrecv kmtsend loadkeymap
|
||||
\ logautoclosemode logclose loginfo logopen logpause
|
||||
\ logrotate logstart logwrite quickvanrecv
|
||||
\ quickvansend recvln restoresetup scprecv scpsend
|
||||
\ send sendbreak sendbroadcast sendfile sendkcode
|
||||
\ sendln sendlnbroadcast sendmulticast setbaud
|
||||
\ setdebug setdtr setecho setmulticastname setrts
|
||||
\ setsync settitle showtt testlink unlink wait
|
||||
\ wait4all waitevent waitln waitn waitrecv waitregex
|
||||
\ xmodemrecv xmodemsend ymodemrecv ymodemsend
|
||||
\ zmodemrecv zmodemsend
|
||||
syn keyword ttlStringCommand contained
|
||||
\ code2str expandenv int2str regexoption sprintf
|
||||
\ sprintf2 str2code str2int strcompare strconcat
|
||||
\ strcopy strinsert strjoin strlen strmatch strremove
|
||||
\ strreplace strscan strspecial strsplit strtrim
|
||||
\ tolower toupper
|
||||
syn keyword ttlFileCommand contained
|
||||
\ basename dirname fileclose fileconcat filecopy
|
||||
\ filecreate filedelete filelock filemarkptr fileopen
|
||||
\ filereadln fileread filerename filesearch fileseek
|
||||
\ fileseekback filestat filestrseek filestrseek2
|
||||
\ filetruncate fileunlock filewrite filewriteln
|
||||
\ findfirst findnext findclose foldercreate
|
||||
\ folderdelete foldersearch getdir getfileattr makepath
|
||||
\ setdir setfileattr
|
||||
syn keyword ttlPasswordCommand contained
|
||||
\ delpassword getpassword ispassword passwordbox
|
||||
\ setpassword
|
||||
syn keyword ttlMiscCommand contained
|
||||
\ beep bringupbox checksum8 checksum8file checksum16
|
||||
\ checksum16file checksum32 checksum32file closesbox
|
||||
\ clipb2var crc16 crc16file crc32 crc32file exec
|
||||
\ dirnamebox filenamebox getdate getenv getipv4addr
|
||||
\ getipv6addr getspecialfolder gettime getttdir getver
|
||||
\ ifdefined inputbox intdim listbox messagebox random
|
||||
\ rotateleft rotateright setdate setdlgpos setenv
|
||||
\ setexitcode settime show statusbox strdim uptime
|
||||
\ var2clipb yesnobox
|
||||
|
||||
|
||||
hi def link ttlCharacter Character
|
||||
hi def link ttlNumber Number
|
||||
hi def link ttlComment Comment
|
||||
hi def link ttlFirstComment Comment
|
||||
hi def link ttlString String
|
||||
hi def link ttlLabel Label
|
||||
hi def link ttlIf Conditional
|
||||
hi def link ttlElseIf Conditional
|
||||
hi def link ttlThen Conditional
|
||||
hi def link ttlConditional Conditional
|
||||
hi def link ttlRepeat Repeat
|
||||
hi def link ttlControlCommand Keyword
|
||||
hi def link ttlVar Identifier
|
||||
hi def link ttlOperator Operator
|
||||
hi def link ttlCommunicationCommand Keyword
|
||||
hi def link ttlStringCommand Keyword
|
||||
hi def link ttlFileCommand Keyword
|
||||
hi def link ttlPasswordCommand Keyword
|
||||
hi def link ttlMiscCommand Keyword
|
||||
|
||||
let b:current_syntax = "teraterm"
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: ts=8 sw=2 sts=2
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user